4

2 つの画像を比較して外れ値を破棄するのに最適な方法はどれですか? find_obj.cpp opencv の例では、FLANN を使用していますが、外れ値は破棄していません。

Kmeans やグラフを使用するようないくつかの方法を見てきました。

4

1 に答える 1

2

ノイズの多いポイントを拒否し、関心のあるポイント間の変換を決定するための、かなり信頼性が高く効率的な方法があります。外れ値を拒否するために通常使用されるアルゴリズムは RANSAC (http://en.wikipedia.org/wiki/RANSAC) として知られており、変換を決定するために使用されるアルゴリズムにはいくつかの形式がありますが、最新の技術これは 5 ポイント アルゴリズムとして知られており、ここで見つけることができます。MATLAB の実装はここで見つけることができます。2 つの画像間の正確な回転を気にしなくても、変換を決定する必要があることに注意してください。これが異常値の識別方法です。

残念ながら、これらの両方を組み合わせた成熟した実装については知りません。RANSAC を実装して 5 ポイント アルゴリズムと統合するには、おそらく独自の作業を行う必要があります。

OpenCV には、あなたのタスクには過剰な実装があります (つまり、動作しますが、必要以上に時間がかかります) が、すぐに動作する準備ができています。対象の関数は cv::findFundamentalMat (http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html#cv-findfundamentalmat) と呼ばれます。

于 2011-08-09T16:03:05.170 に答える