31

我正在 Android 上实现人脸跟踪器,作为文献研究,我想确定 Android 的 FaceDetector 的底层技术。

简单地说:我想了解android.media.FaceDetector分类器是如何工作的。

一个简短的谷歌搜索没有产生任何信息,所以我想我会看看代码。

通过查看 Java 源代码,FaceDetector.java没有什么要学习的:FaceDetector只是一个提供图像尺寸和人脸数量的类,然后返回一个人脸数组。

Android 源代码包含此类的 JNI 代码。我跟踪了函数调用,在那里,我学到了最基本的东西:

  1. “FaceFinder”创建于FaceFinder.c:75
  2. 在第 90 行,bbs_MemSeg_alloc返回一个btk_HFaceFinder对象(其中包含实际查找人脸的函数),本质上是将它复制到在 initialize() ( ) 中通过以下方式初始化hsdkA->contextE.memTblE.espArrE的原始对象的数组btk_HSDKFaceDetector_jni.cpp:145btk_SDK_create()
  3. 似乎错综复杂的函数相互提供了 的指针和实例btk_HSDK,但我在任何地方都找不到sdk->contextE.memTblE.espArrE[0]所谓的包含魔法的具体实例。

发现的是一个小线索:JNI 代码引用了一个我找不到源代码的 FFTEm 库。然而,从表面上看,FFT 是快速傅里叶变换,它可能与预训练的神经网络一起使用。我能找到的唯一符合这一理论的文献是 Ben-Yacoub 等人的论文。

我什至不知道我是否走在正确的道路上,所以任何建议无疑都会有所帮助。

编辑:我为任何可以提供任何见解的人添加了 +100 赏金。

4

3 回答 3

3

我在打电话,所以不能广泛回应,但谷歌关键词“neven vision algorithm”拉出了一些有用的论文......

此外,美国专利 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 回答