31

私は Android にフェイス トラッカーを実装しており、文献調査として、Android の FaceDetector の基礎となる技術を特定したいと考えています。

android.media.FaceDetector簡単に言えば、分類器がどのように機能するかを理解したいのです。

Google で簡単に検索しても有益な情報は得られなかったので、コードを調べてみようと思いました。

Java ソース コード を見ると、FaceDetector.java学ぶべきことはあまりありません。FaceDetectorは、画像のサイズと顔の数を指定して、顔の配列を返す単純なクラスです。

Android ソースには、このクラスの JNI コードが含まれています。私は関数呼び出しをたどりました。ここで、最低限の本質に還元されて、次のことを学びました。

  1. 「FaceFinder」はFaceFinder.c:75
  2. 90 行目で、オブジェクト (実際に顔を検出する関数を含む) をbbs_MemSeg_alloc返します。これは、基本的に、 initialize() ( ) によって初期化された元のオブジェクトの配列をコピーします。btk_HFaceFinderhsdkA->contextE.memTblE.espArrEbtk_HSDKFaceDetector_jni.cpp:145btk_SDK_create()
  3. 関数の迷路が のポインターとインスタンスを相互に提供しているように見えますが、魔法が含まれていると思われるbtk_HSDKの具体的なインスタンス化はどこにも見つかりません。sdk->contextE.memTblE.espArrE[0]

発見したのは、ちょっとした手がかりです。JNI コードは、ソース コードが見つからない FFTEm ライブラリを参照しています。ただし、一見すると、FFT はFast Fourier Transformであり、事前にトレーニングされたニューラル ネットワークと一緒に使用される可能性があります。この理論と一致する唯一の文献は、Ben-Yacoub らによる論文です。

私が正しい道を歩んでいるかどうかさえ本当にわからないので、どんな提案でも間違いなく役に立ちます。

編集:洞察を与えることができる人には、+100 の報奨金を追加しました。

4

3 に答える 3

4

私もいくつかのリンクを見つけました...それがあなたに役立つかどうかはわかりません...

http://code.google.com/p/android-playground-erdao/source/browse/#svn/trunk/SnapFace

http://code.google.com/p/jjil/

http://benosteen.wordpress.com/2010/03/03/face-recognition-much-easier-than-expected/

于 2010-08-12T14:50:41.530 に答える
3

私は電話中なので、広範囲に応答することはできませんが、Google のキーワード「nevenvision アルゴリズム」は、いくつかの有用な論文を引き出します...

また、米国特許第 6222939 号も関連しています。

おそらくhttp://peterwilliams97.blogspot.com/2008/09/google-picasa-to-have-face-recognition.htmlのリンクのいくつかも便利かもしれません...

于 2010-08-14T08:10:16.040 に答える
0

これを見てください: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1562271

プレゼンテーションでこれを行うmatlabコードを見たことがあると思います。多分それはオンラインのどこかにあるでしょう。

こんにちは、ラース

于 2010-08-13T11:28:41.647 に答える