I'm implementing a face tracker on Android, and as a literature study, would like to identify the underlying technique of Android's FaceDetector.
我正在Android上实现一个人脸跟踪器,作为一项文献研究,我想确定Android的FaceDetector的底层技术。
Simply put: I want to understand how the android.media.FaceDetector
classifier works.
简单地说:我想了解android。media。FaceDetector分类器。
A brief Google search didn't yield anything informative, so I thought I'd take a look at the code.
简短的谷歌搜索没有提供任何有用的信息,所以我想看看代码。
By looking at the Java source code, FaceDetector.java
, there isn't much to be learned: FaceDetector
is simply a class that is provided the image dimensions and number of faces, then returns an array of faces.
通过查看Java源代码,FaceDetector。java,没有什么可学的:face检测器只是一个类,它提供了图像的维度和面孔的数量,然后返回一系列的面孔。
The Android source contains the JNI code for this class. I followed through the function calls, where, reduced to the bare essentials, I learned:
Android源代码包含这个类的JNI代码。我接着通过函数调用,在那里,减少到最基本的东西,我学到了:
- The "FaceFinder" is created in
FaceFinder.c:75
- “FaceFinder”是在FaceFinder中创建的
- On line 90,
bbs_MemSeg_alloc
returns abtk_HFaceFinder
object (which contains the function to actually find faces), essentially copying it thehsdkA->contextE.memTblE.espArrE
array of the originalbtk_HSDK
object initialized within initialize() (FaceDetector_jni.cpp:145
) bybtk_SDK_create()
- 在第90行,bbs_MemSeg_alloc返回一个btk_HFaceFinder对象(它包含查找人脸的函数),本质上将其复制为初始化()中的原始btk_HSDK对象的context . memtble.esparre数组(facedetector_jni.145)。
- It appears that a maze of functions provide each other with pointers and instances of
btk_HSDK
, but nowhere can I find a concrete instantiation ofsdk->contextE.memTblE.espArrE[0]
that supposedly contains the magic. - 看起来,错综复杂的函数为彼此提供了btk_HSDK的指针和实例,但我找不到一个具体的sdk实例——>context . memtble.esparre[0],它应该包含了魔法。
What I have discovered, is a little clue: the JNI code references a FFTEm library that I can't find the source code for. By the looks of it, however, FFT is Fast Fourier Transform, which is probably used together with a pre-trained neural network. The only literature I can find that aligns with this theory is a paper by Ben-Yacoub et al.
我发现了一点线索:JNI代码引用了一个FFTEm库,我找不到它的源代码。但是,通过它的外观,FFT是快速傅里叶变换,它可能与预先训练的神经网络一起使用。我能找到的唯一与这个理论一致的文献是Ben-Yacoub等人的一篇论文。
I don't even really know if I'm set on the right path, so any suggestions at all would undoubtedly help.
我甚至不知道我是否在正确的道路上,所以任何建议都毫无疑问会有所帮助。
Edit: I've added a +100 bounty for anybody who can give any insight.
编辑:我为任何有洞察力的人增加了+100奖励。
3 个解决方案
#1
3
I'm on a phone, so can't respond extensively, but Google keywords "neven vision algorithm" pull up some useful papers...
我在打电话,所以不能广泛响应,但是谷歌关键字“neven vision算法”找到一些有用的文件…
Also, US patent 6222939 is related.
此外,美国专利6222939也有关系。
Possibly also some of the links on http://peterwilliams97.blogspot.com/2008/09/google-picasa-to-have-face-recognition.html might be handy...
也有可能是http://peterwilliams97.blogspot.com/2008/09/google-picasa-to have-face-recognition.html上的一些链接可能很方便……
#2
4
I Found a couple of links too...Not sure if it would help you...
我也找到了一些链接……不确定是否能帮到你……
http://code.google.com/p/android-playground-erdao/source/browse/#svn/trunk/SnapFace
http://code.google.com/p/android-playground-erdao/source/browse/ svn /箱子/ SnapFace
http://code.google.com/p/jjil/
http://code.google.com/p/jjil/
http://benosteen.wordpress.com/2010/03/03/face-recognition-much-easier-than-expected/
http://benosteen.wordpress.com/2010/03/03/face-recognition-much-easier-than-expected/
#3
0
have a look at this: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1562271
看看这个:http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?
I think I once saw some matlab code doing this in a presentation. Maybe it's somewhere online.
我记得我在一次演示中见过一些matlab代码。也许是在线的地方。
Greetings, Lars
问候,拉尔斯
#1
3
I'm on a phone, so can't respond extensively, but Google keywords "neven vision algorithm" pull up some useful papers...
我在打电话,所以不能广泛响应,但是谷歌关键字“neven vision算法”找到一些有用的文件…
Also, US patent 6222939 is related.
此外,美国专利6222939也有关系。
Possibly also some of the links on http://peterwilliams97.blogspot.com/2008/09/google-picasa-to-have-face-recognition.html might be handy...
也有可能是http://peterwilliams97.blogspot.com/2008/09/google-picasa-to have-face-recognition.html上的一些链接可能很方便……
#2
4
I Found a couple of links too...Not sure if it would help you...
我也找到了一些链接……不确定是否能帮到你……
http://code.google.com/p/android-playground-erdao/source/browse/#svn/trunk/SnapFace
http://code.google.com/p/android-playground-erdao/source/browse/ svn /箱子/ SnapFace
http://code.google.com/p/jjil/
http://code.google.com/p/jjil/
http://benosteen.wordpress.com/2010/03/03/face-recognition-much-easier-than-expected/
http://benosteen.wordpress.com/2010/03/03/face-recognition-much-easier-than-expected/
#3
0
have a look at this: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1562271
看看这个:http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?
I think I once saw some matlab code doing this in a presentation. Maybe it's somewhere online.
我记得我在一次演示中见过一些matlab代码。也许是在线的地方。
Greetings, Lars
问候,拉尔斯