Я использую Face Tracker на Android, и, как исследование литературы, хотел бы определить базовую технику FaceDetector от Android.Базовая технология FaceDetector от Android
Проще говоря: Я хочу понять, как работает классификатор android.media.FaceDetector
.
Краткий поиск Google не дал ничего информативного, поэтому я подумал, что взглянул на код.
Изучив исходный код Java, FaceDetector.java
, не так много узнать: FaceDetector
- это просто класс, которому предоставляются размеры изображения и количество граней, а затем возвращается массив лиц.
Android-источник contains the JNI code for this class. Я последовал через вызовы функций, где, сводится к самым необходимым, я узнал:
- «FaceFinder» создан в
FaceFinder.c:75
- На линии 90,
bbs_MemSeg_alloc
возвращаетbtk_HFaceFinder
объект (который содержит функцию на самом деле найти лицо), по сути, скопировав его вhsdkA->contextE.memTblE.espArrE
массиве исходногоbtk_HSDK
объекта инициализируется в Initialize() (FaceDetector_jni.cpp:145
) поbtk_SDK_create()
- оказывается, что лабиринт функций предоставляет друг друг с указателями и экземплярами
btk_HSDK
, но нигде не могу я найти concr ete отsdk->contextE.memTblE.espArrE[0]
, который якобы содержит магию.
Что есть обнаружил, немного подсказка: код JNI ссылается на библиотеку FFTEm, что я не могу найти исходный код. По внешнему виду, однако, FFT это Быстрое преобразование Фурье, которое, вероятно, используется вместе с предварительно обученной нейронной сетью. Единственная литература, которую я могу найти, согласуется с этой теорией: a paper by Ben-Yacoub et al.
Я даже не знаю, настроен ли я на правильном пути, поэтому любые предложения, несомненно, помогут.
Редактировать: Я добавил +100 щедростей для всех, кто может дать какое-либо понимание.
libFFTEm не ссылается из слоя обнаружения лица Android, на самом деле это скомпилированный вывод всех источников внешних/Невно – ognian
Это объясняет, почему я не удалось найти исходный код! Благодаря; это предполагает, что если он действительно использует Быстрое Преобразование Фурье, должно быть некоторое доказательство этого в 'neven'. Однако на меня ничего не выпрыгивает. –
Похоже, что «Em» в 'libFFTEm' может ссылаться на« максимизацию ожиданий », статистический метод, используемый при обнаружении скина на основе цвета. – Justin