0

交差点の停止線の前に道路上の決定された領域内の車両の存在を検出するためにカメラを使用するプログラムを書く必要があります(誘導ループのように)。出力は、その地域の車両の可視性に基づいて真または偽になります。カメラは、道路に垂直に、または道路の上に設置することができます。現在私はアルゴリズムが必要です。停止線の前の車両を検出するための強力なアルゴリズム

次の画像が交差点内の車両を検出するために、サンプル実装である:

enter image description here

この分野でいくつかの研究の後、私は、この手法を実現するバックグラウンド減算、プログラムモデルの背景とするときであります車両がそのエリア内に入ったら、それが検出されます。しかし、この定義では、自動車がセンサー上で50%〜60%停止した場合(信号灯が赤色になる場合)、移動する車両を検出するとしていますか?彼らは背景になるのだろうか?彼らはいつも検出されていますか?

BSフィールドでは、Mixture of Gaussianのようなアルゴリズムをいくつか見てきましたが、上記の問題のため実際の状況ではうまく動作しません。

現在、私はLinuxでOpenCVを使って平均化するようないくつかの方法をプログラムしています。プログラムは、その長方形内のピクセル平均を計算し、この値をバッファ内に保存し、モードを計算し、現在のフレームと比較します。しかし、夜間の車両のライト、日中の車両のシャドウ、赤信号のためにセンサー上の車を止めるなどの問題があります。

+0

からもデータセットをダウンロードすることができます。あなたの入力は何ですか?どの矩形について話していますか?真偽の出力はどういう意味ですか?あなたは違う色で交通信号の存在を推測しようとしていますか?入力と出力を宣言する関数プロトタイプを記述してください。また、いくつかの図を与えてください。 – ShitalShah

+0

質問が編集されました。私は、私の意図をはっきりと示す写真を追加しました。見られるように、検出された領域は白い境界線で示されている。 – SAMPro

答えて

0

フォアグラウンドをバックグラウンドから分離するよりも、車両の検出をよくすることをお勧めします。多くのライト条件の問題があり、それは古いファッションです。 opencvでは、ハーパーカスケードやLBPを使用して、車両の迅速かつ簡単な検出を行うことができます。 opencv 3.1には、検出器を学習するために2つのユーティリティがあります。 検出器を使用するのは簡単です。

同じ In this tutorial

としても、あなたが車を検出するために、すでにpretrainedカスケードをダウンロードすることができ、ウェブ上のいくつかのソースがあります。

検出のコードOpencvは簡単でわかりやすい 私のブログで例を見つけることができます。また、私は2000台の車陽性サンプルを含む1台の車のデータセットを持っています。これは、bashでpositivaサンプルのリストにリストし、ユーティリティを使用してサンプルとtraincascadeを作成します。 LBPカスケードは、同等の性能で少し速くなります..

私はLinux上でもカスケードを学びました。違いはプログラムを実行することです。また、トレーニング(vec.vec bg.datデータは、サンプル作成ユーティリティで作成する必要があります。データセットをお持ちの場合は、トレーニングの準備に20分かかります)問題はデータを見つける場所です。私のブログにはデータセットがあります。 。スクリプトを理解して私の32 -h 64 -wパラメータは、人物検出のためのものであるドール車は-w 32 -h 32

./opencv_traincascadeのようなものより優れていると

opencv_traincascade.exe -data V5パラメータ。 - vec vec.vec -bg bg.dat -numPos 540 -numNeg 700 -numStages 11 numThreads 4 -stageType BOOST -featureType LBP -w 32 -h 64 -minHitRate 0.999995 -maxFalseAlarmRate 0.2 -maxDepth 10 -maxWeakCount 120-mode ALL

私はまたsomを集める検出器を訓練するためのデータセット。 あなたはより多くの問題を明確に定義する必要がDataset

Car dataset

関連する問題