2010-07-28 2 views
28

Я использую Face Tracker на Android, и, как исследование литературы, хотел бы определить базовую технику FaceDetector от Android.Базовая технология FaceDetector от Android

Проще говоря: Я хочу понять, как работает классификатор android.media.FaceDetector.

Краткий поиск Google не дал ничего информативного, поэтому я подумал, что взглянул на код.

Изучив исходный код Java, FaceDetector.java, не так много узнать: FaceDetector - это просто класс, которому предоставляются размеры изображения и количество граней, а затем возвращается массив лиц.

Android-источник contains the JNI code for this class. Я последовал через вызовы функций, где, сводится к самым необходимым, я узнал:

  1. «FaceFinder» создан в FaceFinder.c:75
  2. На линии 90, bbs_MemSeg_alloc возвращает btk_HFaceFinder объект (который содержит функцию на самом деле найти лицо), по сути, скопировав его в hsdkA->contextE.memTblE.espArrE массиве исходного btk_HSDK объекта инициализируется в Initialize() (FaceDetector_jni.cpp:145) по btk_SDK_create()
  3. оказывается, что лабиринт функций предоставляет друг друг с указателями и экземплярами btk_HSDK, но нигде не могу я найти concr ete от sdk->contextE.memTblE.espArrE[0], который якобы содержит магию.

Что есть обнаружил, немного подсказка: код JNI ссылается на библиотеку FFTEm, что я не могу найти исходный код. По внешнему виду, однако, FFT это Быстрое преобразование Фурье, которое, вероятно, используется вместе с предварительно обученной нейронной сетью. Единственная литература, которую я могу найти, согласуется с этой теорией: a paper by Ben-Yacoub et al.

Я даже не знаю, настроен ли я на правильном пути, поэтому любые предложения, несомненно, помогут.

Редактировать: Я добавил +100 щедростей для всех, кто может дать какое-либо понимание.

+0

libFFTEm не ссылается из слоя обнаружения лица Android, на самом деле это скомпилированный вывод всех источников внешних/Невно – ognian

+0

Это объясняет, почему я не удалось найти исходный код! Благодаря; это предполагает, что если он действительно использует Быстрое Преобразование Фурье, должно быть некоторое доказательство этого в 'neven'. Однако на меня ничего не выпрыгивает. –

+2

Похоже, что «Em» в 'libFFTEm' может ссылаться на« максимизацию ожиданий », статистический метод, используемый при обнаружении скина на основе цвета. – Justin

ответ

3

Я по телефону, так что не может ответить широко, но Google ключевые слова «Невен алгоритм видение» подтянуть некоторые полезные документы ...

Кроме того, патент США 6222939 связан.

Возможна также некоторые ссылки на http://peterwilliams97.blogspot.com/2008/09/google-picasa-to-have-face-recognition.html может быть удобно ...

+0

Похоже, Google приобрел Neven Vision, технологию распознавания объектов, основанную на различных патентах, поданных Хартмутом Невеном. Я не нашел подробного описания алгоритма, но последующее наблюдение за патентом дает небольшую информацию. –

+0

[различные патенты, перечисленные на этом сайте] (http://www.seobythesea.com/?p=267) дают некоторое представление о технике. Кажется, он полагает, что он в значительной степени полагается на [Gabor Wavelets] (http://en.wikipedia.org/wiki/Gabor_filter#Wavelet_space). –

4
+0

Благодарим вас за ваш ответ, и это действительно интересные проекты, но я ищу некоторые сведения о том, как работает встроенный * детектор лица Android ('android.media.FaceDetector'). –

0

взглянуть на это: http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1562271

Я думаю, что когда-то видел какой-то код matlab, делающий это в презентации. Может быть, это где-то в Интернете.

Привет, Lars

+0

Я googled эта ссылка здесь: Может быть, это код. Я не знаю, у меня нет matlab или scilab, чтобы попробовать. Возможно, у вас есть: http://download.cnet.com/Face-Recognition-in-Fourier-Space/3000-2053_4-10878312.html – Lars

+0

Боюсь, я не вижу никаких доказательств того, что это метод, который На основе Neven Vision. –