2

iPhone用のアプリケーションを作成しようとしていますが、openCVとiOSの両方の新しい開発者です。50 を超えるオブジェクト画像があり、カメラからのシーン画像が 1 つあります。毎回、シーンにこれらのオブジェクトの 1 つがあります。sift アルゴリズムを使用して単一のオブジェクトを見つけることができましたが、いくつかのオブジェクトが非常に似ているため、オブジェクト間で比較するための信頼度を計算する方法を見つけることができませんでした。私はfindHomography関数を使用しましたが、まだ信頼を得る方法がわかりません。これはopenCVライブラリから見つけました。

    struct CV_EXPORTS MatchesInfo
{
    MatchesInfo();
    MatchesInfo(const MatchesInfo &other);
    const MatchesInfo& operator =(const MatchesInfo &other);

    int src_img_idx, dst_img_idx;       // Images indices (optional)
    std::vector<DMatch> matches;
    std::vector<uchar> inliers_mask;    // Geometrically consistent matches mask
    int num_inliers;                    // Number of geometrically consistent matches
    Mat H;                              // Estimated homography
    double confidence;                  // Confidence two images are from the same panorama
};

しかし、私はそれを使用する方法がわかりません。

ありがとう

4

2 に答える 2

0

使用する画像の例をいくつか提供する必要があります。SIFT は、実行しようとしていることに適切である場合とそうでない場合があります。このタスクにはさまざまなアプローチがあります。

ホモグラフィは P2 から P2 への可逆マッピングであることに注意してください。これは基本的に、平面オブジェクト (または遠く離れたシーン) に対して正確であることを意味し、オブジェクトは (おそらく) 平面ではないため、近似です。

おそらく、この信頼度を測定する方法はたくさん考えられるでしょう。基本的に重要なのは、ホモグラフィーのサポート (つまり、ホモグラフィーを計算する必要があったすべての SIFT 一致から RANSAC によって選択されたポイントの数) と、これらの「インライア」ポイントがホモグラフィーによってどれだけうまくマッピングされるかです。スコアを見つけるには、ホモグラフィを使用して点を 2 番目の画像に投影し、元の点からの再投影の累積距離を見つけます。スコアが低いほど、一致は良好です (ポイント数で正規化する必要があることに注意してください。そうしないと、通信の数が少ないと、より良いスコアが得られますが、これは望ましい結果ではありません)。

これが役に立てば幸いです、アレックス

于 2013-06-19T04:52:47.263 に答える