我正在Android上实现一个人脸跟踪器,作为一个文献研究,想要确定Android的FaceDetector的基础技术。
简单地说:我想了解android.media.FaceDetector
分类器的工作原理。
简短的Google搜索没有提供任何信息,所以我想我会看一下代码。
通过查看Java源代码FaceDetector.java
,没有太多需要学习的内容:FaceDetector
只是一个提供图像尺寸和面数的类,然后返回一个数组面孔。
Android来源contains the JNI code for this class。我接着进行了函数调用,在那里,简化为基本要素,我学到了:
FaceFinder.c:75
bbs_MemSeg_alloc
返回一个btk_HFaceFinder
对象(包含实际查找面的函数),基本上将其复制到原始hsdkA->contextE.memTblE.espArrE
对象的btk_HSDK
数组中通过btk_SDK_create()
FaceDetector_jni.cpp:145
)内初始化
btk_HSDK
的指针和实例,但我无处可找到sdk->contextE.memTblE.espArrE[0]
的具体实例,据说其中包含了魔法。我发现的内容,有点线索:JNI代码引用了一个我无法找到源代码的FFTEm库。然而,从它的外观来看,FFT是快速傅立叶变换,它可能与预训练的神经网络一起使用。我能找到的唯一符合这一理论的文献是a paper by Ben-Yacoub et al.
我甚至不知道自己是否走上了正确的道路,所以任何建议都无疑会有所帮助。
编辑:我为任何可以提供任何见解的人添加了+100赏金。
答案 0 :(得分: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/
答案 1 :(得分:3)
我正在打电话,所以无法做出广泛的回应,但谷歌关键词“neven vision algorithm”拉出了一些有用的论文......
此外,US patent 6222939也是相关的。
http://peterwilliams97.blogspot.com/2008/09/google-picasa-to-have-face-recognition.html上的某些链接可能也很方便......
答案 2 :(得分:0)
看看这个: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1562271
我想我曾经在演示文稿中看到过一些matlab代码。 也许它在网上某处。
问候, 拉斯