ただ興味があるだけ。私はここで新しいので、私のややお粗末な質問に配慮してください。
私が画像認識を使用してAndroidアプリケーションを実行しているとしましょう。ここでは、計算量の多いすべてのプロセスがモバイルデバイスのCPUで実行される必要があります。
私はすでに画像を処理し、画像からいくつかの特徴を抽出した段階にあります。画像のセットは、関心のある特定のオブジェクト(さまざまな窓、写真、遺物、建物の外)を認識する必要がある1つの建物からのみ取得されます。つまり、これはクローズドドメインであり、さまざまな角度からのオブジェクトの十分な写真を提供できます。ニューラルネットワークをトレーニングして、画像マッチングアルゴリズムの代わりにアプリに提供する予定です。
私のアイデアは、キーポイントを抽出し、記述子を計算し(キーポイントにはFREAKを使用し、記述子にはORBを使用)、それらの記述子から、次のような単一のファイルまたは配列になりたいと考えています。
Desc1 Desc2 Desc3 Desc4 DescN......... Class
_________________________________________________________________________________
Picture 1 0.121 0.923 0.553 0.22 0.28 "object1"
Picture 2 0.22 0.53 0.54 0.55 0.32 .........."object1" (different scale, angle)
Picture 3 .... ... ... ... .. .........."object2"
Picture N
Picture N+1
トレーニングのためにニューラルネットワークに渡すことができますが、Matrice(Class Mat-openCV)でバイナリ機能/記述子がどのように表されているのかわからないため、行き詰まりました。そして、これらのバイナリ記述子を正規化して、トレーニングのためにニューラルネット(多層パーセプトロン)にフィードする方法を教えてください。(擬似コードでさえ大いに役立ちます)