2

カメラからいくつかのオブジェクト (車のハンドル、車のホイール) を認識する Android アプリを作成する必要があります。Haar 分類器を試してみましたが、成功せず、時間がなくなりました (これは学校のプロジェクトです)。そこで、別の方法を探すことにしました。私の目標 - ORB のためのいくつかの他の方法を見つけました。この回答で何をすべきかを見つけました。私の問題は、物事が頭の中でめちゃくちゃになっていることです。私が与えたリンクの質問からの答えを実装するために何をすべきかについて、段階的な答えを教えてください:

特徴点の抽出から KD ツリーのトレーニング、カメラからのすべてのフレームでの使用まで。

おまけの質問: 特徴点の定義を教えてください。さっぱり理解できなかったものです。ORBを使用すると検出が遅くなりますか? OpenCV がネイティブ android で使用できることは知っていますが、それによって処理が速くなるのではないでしょうか?

できるだけ早くこのアプリを作成する必要があります。助けてください!

4

1 に答える 1

6

私は現在、同様のアプリケーションを開発しています。いくつかの理由から、最初に単一の参照画像で何かを動作させることをお勧めします。

  1. 始めたばかりの方が理解しやすく、後で変更することもできます。
  2. Android アプリケーションの場合、処理能力が制限されているため、画像が多いほど fps が低くなります。

非常に役立つOpenCV チュートリアルをご覧ください。「OpenCV for Android SDK」セクションを読み、3 つのチュートリアルを理解すると、ビデオ フィードを分析できる機能を簡単に追加できます。

アプリを作成するときに従うことをお勧めする基本的なロジック パスは次のとおりです。

  1. 参照イメージを読み取ります。
  2. FeatureDetector、DescriptorExtractor、および DescriptorMatcher を作成して使用します。
  3. 上記を使用してキーポイントを検出し、キーポイントを記述します (最初の 2 つ。マットに変換してからグレースケールに変換することを忘れないでください)。
  4. カメラからフレームを取得するたびに、ステップ 3. を繰り返し、画像のキーポイントを比較します (2. の 3 番目の部分と)。
  5. 結果を使用して、一致するかどうかを判断します (一致する場合は、その周りにボックスを描画します)。
  6. 新しいフレームを入手してください。

単一のオブジェクトで機能するようにしてから、後で他のオブジェクトを追加してみてください。もう 1 つ追加できるのは、ユーザーが検索したいものを選択できるようにする最初の画面です。

また、ORB は、特に SIFT や SURF と比較して、かなり高速です。単一の参照画像を使用して、HTC One で約 3 fps を取得します。

于 2014-12-05T00:47:22.273 に答える