拡張現実のためのサーフィンとシフト代替オブジェクト追跡アルゴリズム
-
19-09-2019 - |
質問
尋ねた後 ここ サーフィンとシフトの両方を試してみると、どちらもカメラからストリームを追跡するのに十分な速さを生成するのに十分な効率的であるため、縫い目はありません。
たとえば、サーフは約3秒かかり、画像の関心ポイントを生成します。これは、Webカムからのビデオを追跡するには遅すぎます。携帯電話で使用するとさらに悪化します。
特定の領域、そのスケール、傾きなどを追跡するアルゴリズムが必要で、その上に構築できます。
ありがとう
解決
あなたのサーフの使用は何らかの変更が必要になるかもしれないと思いますか?
これがリンクです モバイルデバイスで拡張現実アプリケーションにサーフを使用するためのMITペーパーに。
抜粋:
このセクションでは、サーフアルゴリズムの実装と携帯電話への適応を提示します。次に、正確性が最も近いneighborの検索の速度に与える影響について説明し、一致する精度に最小限の影響を与えると、桁違いの速度を達成できることを示します。最後に、パイプラインに一致する画像の電話の実装の詳細を議論します。電話でのパフォーマンス、メモリの使用、帯域幅の消費を研究します。
また、OpenCVのアルゴリズムを試してテストしているため、調べたい場合もあります。
に応じて 制約 アプリケーションのうち、これらのアルゴリズムの一般的性を減らして、画像内の既知のPOIとマーカーを探すことができる場合があります。
一部の 追跡 POIは、2D画像のあるポイントから別の点にベクトルを推定し、オプションで(ピクセル特性を介して)そこに存在することをオプションで確認します。同じアプローチを使用して、POIおよびPOIグループ/オブジェクトの視点と回転の変化のために(画像全体を再スキャンするのではなく)追跡するために使用できます。
2Dプロジェクションでオブジェクトを追跡するためのオンラインでたくさんの論文があります(多くの場合、Servereのゆがんでいます)。
幸運を!
他のヒント
高速検出器を試してみてください
私たちはプロジェクトにサーフィンを使用しています、そして私たちは見つけました opensurf 生の速度とパフォーマンスでのOPENCVのサーフ実装を上回ります。再現性と精度をまだテストしていませんが、それははるかに高速です。
更新:各フレームでサーフマッチステップを実行する必要がないことを指摘したかっただけです。他のすべてのフレームを実行し、サーフィンを実行しないフレーム内のオブジェクトの位置を補間することができます。
追跡したい領域をより厳密に制限する場合は、よりシンプルなアルゴリズムを使用できます。確かにご存知のように、Artoolkitは非常に高速ですが、非常に明確なフレームで白黒マーカーのみを追跡します。
(多少)汎用トラッカーが必要な場合は、PTAMを確認することができます。サイト (http://www.robots.ox.ac.uk/~gk/ptam/)現在ダウンしていますが、これがiPhoneで作業しているおしゃれなビデオです(http://www.youtube.com/watch?v=pbi5hwitbx4)
他の人が言及したように、3秒は異常に長いようです。のサーフ実装のテスト中 マホタ 図書館では、かなり大きな画像(1024x768など)であっても、平均して0.36秒かかりました。そして、それはPythonとCが組み合わされているので、他の純粋な純粋な実装がさらに高速になると思います。
各機能検出アルゴリズムのこの素晴らしい比較を見つけました http://computer-vision-talks.com/2011/01/comparison-of-the-opencvs-feature-detection-algorithms-2/
見てください。便利かもしれません!
その比較によれば、そしてMirror2Imageも示唆しているように、Fastが最良の選択です。しかし、それはあなたが本当に達成したいことに依存します。
制約された組み込みシステムで使用したオプションの1つは、単純な関心ポイント検出器を使用することです。たとえば、高速またはShi-Tomasiです。 FPGAを標的にしていて、大きなバッファリングを必要とせずにピクセルレートで簡単に実行できるため、Shi-Tomasiを使用しました。
次に、SURFを使用して、識別された機能の周りの画像パッチの記述子を生成し、それらを一致および追跡目的に使用します。