3

私は、Web カメラと機能マッチングを備えたイメージング システムを構築しました。カメラの動きを追跡できます。入力としてウェブカメラ フレームを使用することを除いて、hereと同様のことを行っています。

「良い」画像では非常にうまく機能しますが、非常に暗い場所で画像を撮影すると、多くのノイズが発生し (カメラのゲインが高くなります)、特徴の検出とマッチングが混乱します。基本的に、良い特徴は検出されません。検出された場合でも、フレーム間で正しく一致させることはできません。

誰かがこれに対する良い解決策を知っていますか? フィーチャの検索と照合に使用される他の方法は?

以下に、機能が非常に低い 2 つの画像の例を示します。

フレーム 1

フレーム 2

4

1 に答える 1

3

ここでは、位相相関が最善の策になると思います。これは、2 つの画像間の位相シフト (つまり、平行移動) を示すように設計されています。周波数空間で動作するため、特徴検出よりもノイズに対してはるかに回復力があります (ただし、耐性はありません)。一方、特徴検出器は空間的に動作します。もう 1 つの利点は、特徴検出方法と比較して非常に高速であることです。ここにあるサブピクセル精度の OpenCV トランクで利用可能な実装があります。

ただし、画像は中央の折り目を除いてほとんど「特徴がない」ため、位相相関でさえ問題が発生する可能性があります。吹雪の中で翻訳を検出しようとするようなものだと考えてください。白いものしか見えない場合は、翻訳したことがまったくわからないため、ホワイトアウトという用語が使用されます。あなたの場合、アルゴリズムは「グリーンアウト」に悩まされる可能性があります:)

カメラの設定を調整して、暗い場所でうまく機能するようにできますか? アイリスを全開にしていますか?低いフレームレートで生活できますか? 露出時間を長く設定すると、カメラはより多くの光を集めることができるため、モーション ブラーを追加することを犠牲にして、より多くの機能を利用できます。または、低照度がデフォルトの環境である場合、IR カメラのようにこの環境向けに設計されたものが必要になる可能性がありますが、それらは高価になる可能性があります。それ以外には、大きなレンズと長時間露光があなたの友達です:)

画像のコントラストを改善するには、ヒストグラムの均等化が重要な場合があります。ただし、ノイズを増幅するだけの場合もあります。OpenCV には、 equalizeHistと呼ばれるグローバル ヒストグラム均等化関数があります。よりローカライズされた実装については、Contrast Limited Adaptive Histogram Equalization (略してCLAHE)を参照してください。ここにそれに関する良い記事があります。このページには、いくつかの良い例といくつかのコードがあります。

于 2012-02-24T14:07:47.587 に答える