問題タブ [ransac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
image-processing - RANSACアルゴリズム
RANSAC アルゴリズムを使用して、特定の部分が重複している 2 つの画像の共通の特徴点を選択する方法を教えてください。問題は、機能ベースの画像スティッチングから発生しました。
c++ - RANSAC の間違った外れ値を使用した findHomography
features2d (ORB、SIFT など) を使用してオブジェクト検出を行っています。
私は RANSAC でホモグラフィーをさらに調査しています。多くの良い点が誤って外れ値としてマークされていることがわかりました。
オブジェクト (本) 内には外れ値であってはならない外れ値がたくさんあります
しきい値を 10 まで上げようとしましたが、結果はほとんど同じです。この状況を改善するために何かできることはありますか?
RANSAC で壊れたものはありますか?
c++ - opencvwarpAffineの外れ値の数をテストしています
私はopencvを使用して2つの画像間のアフィン変換を推定しています(これをAとBと呼び、AからBまで推定したい)。可能な限り最良の推定を行うには、RANSACを実装する必要があります。これまでのところ、RANSACのフレームワーク(両方の画像とそれらの間の一致のキーポイントがすでにあることを考慮して):
1:ランダムに一致するものを3つ選択し、AとBの一致点を関数getAffineTransformへの入力として使用します。
2:関数warpAffineを使用してAからのポイントをワープし、結果をBのポイントと比較して、外れ値の割合を取得します。
3:サンプルのサイズが3ポイント(getAffineTransformは変換を見つけるために3ポイントが必要)であり、外れ値eの割合があることを考慮すると、RANSACを実行する必要がある回数を見つけることができます。 N回である良い推定;
4:最小の外れ値率で変換を維持しながらステップ1と2をN回再実行します。
基本的な考え方は問題ないようですが、実行、特にステップ2で問題が発生しています。問題は、外れ値の数をテストする方法がわからないことです。ワープアフィンを使用してAからBのポイントをマッピングすることを考えましたが、関数がポイントのマット(Mx2マットであり、Mはポイントの数であり、マップしたいポイントのセットではなく、画像としてポイントの座標xとyを列に並べます。これどうやってするの?
私はc++でopencv2.4.2を使用しています。
algorithm - RANSAC アルゴリズムのパラメータ設定
RANSAC アルゴリズムは、コンピューター ビジョンなどの工学分野で広く使用されています。しかし、よく理解すれば、このアルゴリズムを使用する際に設定するパラメータが 2 つあります。1 つは反復回数に関連し、もう 1 つは推定モデルのしきい値に関連しています。例として、直線推定問題を取り上げます。
写真の青い点はインライアを表し、赤い点は外れ値を表します。
反復回数は、適切なライン モデルを見つけるまでに何回試行する必要があるかを示しています。試行すればするほど、適切なモデルを取得できる可能性が高くなります。ただし、消費時間も増加します。さらに、反復回数は、データセット内の外れ値の割合にも関連しています。外れ値が少ないほど、期待できる反復が少なくなります。
モデルのしきい値は、当面の問題によって異なります。厳密に設定しすぎると、モデルに適合するデータが役に立たなくなり、不正確な推定につながります。さらに、厳密なモデルのしきい値も間違ったモデルにつながる可能性があります。設定が緩すぎると、外れ値が現れて役割を果たす可能性があります。
とりあえず、これら 2 つのパラメーターの設定に対する私の解決策は次のとおりです。それ以外の場合、反復回数は比較的低く設定されます。2) モデルのしきい値: 最初に比較的大きなしきい値ホールドが設定され、その後、モデルへの近さに基づいてインライアに重みが付けられます。外れ値がたまたまインライアになっても、モデルの推定に劇的な影響を与えることはありません。RANSAC パラメータ設定に他の解決策が存在するかどうか疑問に思っていました。ありがとう!
3d - スプラインフィッティング用RANSAC
ノイズの多い 3D 点群からスプラインまたはポリラインを決定できる RANSAC スキームで使用できるモデルを作成する方法があるかどうか疑問に思っています。
私が持っているのは、各 XY 平面に一連のポイントを含むボリュームで、Z 方向に 400 個あり、3D 空間でプロットされたデータを見ているだけでスプライン形状が視覚的に現れます。エラーが単純な距離測定によって決定されるライン フィッティング RANSAC スキームを既に持っていますが、スプライン/ポリラインのモデルを決定する方法について頭を悩ませることができません。
c#-4.0 - ビデオ ストリームの評価によるビデオ ソースの位置の特定について
手順は何ですか
a) センサー データ (つまり、深度ストリーム、ビデオ ストリーム、オーディオ ストリーム) を評価して、kinect の位置を取得します。
b)センサーデータ(つまり、ビデオストリーム)を評価して、通常のカメラの位置を取得します
opencv - OpenCVCVfindHomographyアサーションエラー-カウンター=>4
現在、関心点検出器の評価ツールを完成させています。最後のステップで、紛らわしいエラーを見つけました。
およびは、一致したキーポイントの対応するポイントを格納しますsrcPoints
。これまでのところ特別なことは何もありません-それはチュートリアルのようです。dstPoints
vector<Points2f>
しかし、RANSACを使用しvector<Points2f>
、範囲が[0、...、4]の場合、カウンターが4以上である必要があるよりもアサーションエラーが発生します。
質問1:アルゴリズムは、現在のモデルに属するものかどうかを記述し、コンセンサスを作成するために、少なくとも4つのポイントを必要としますか?
質問2:これに関するドキュメントはありますか?(私はドキュメントとチュートリアルを見ました。)
私はすでにこの質問を見たことがあることに注意してください。しかし、RANSACの振る舞いについて満足のいく答えはありません。それとも、ホモグラフィを見つけるためにこの方法には少なくとも4つのポイントが必要であることを受け入れる必要がありますか?
ご協力いただきありがとうございます。
opencv - 得られたホモグラフィ行列が良いかどうかを確認する方法は?
この質問はすでに尋ねられていますが、まだわかりません。cv::findHomography
点の集合から呼び出してホモグラフィ行列を取得します。該当するかどうかを確認する必要があります。
提案された方法は、インライアの最大再投影誤差を計算し、それをしきい値と比較することです。しかし、そのようなフィルタリングの後、オブジェクトの境界ボックスがほぼ直線またはいくつかの奇妙な非凸四角形に変換され、自己交差などで非常識な変換が行われ続けます。
ホモグラフィ行列自体が適切かどうかを確認するには、どのような制約を使用できますか?
c++ - findHomography によって返されるマスク パラメーターの値は何を表していますか?
findHomography
キーポイントのセットにリンクされた2つの画像を関連付けるホモグラフィを見つけるために、RANSACメソッドでOpenCVの機能を使用しています。
主な問題は、関数が出力するマスク行列の値をまだどこにも見つけることができなかったことです。
私が知っている唯一の情報は、0 の値は異常値であり、0 以外の値はインライアであるということです。しかし、インライア値とはどういう意味ですか? 誰か知っていますか?
私が呼び出すコードの一部findHomography
: