Методы искусственного интеллекта для распознавания лиц

Может ли кто-нибудь все разные техники использовать при распознавании лиц? Такие методы, как нейронные сети, опорные векторные машины, собственные лица и т. Д.

Какие еще есть?


person Harry    schedule 15.04.2010    source источник


Ответы (3)


техника, о которой я собираюсь говорить, больше ориентирована на машинное обучение; на мой взгляд, довольно увлекательный, хотя и не совсем недавний: он был описан в статье Виолы и Джонса «Надежное обнаружение лиц в реальном времени». Я использовал реализацию OpenCV для университетского проекта.

Он основан на функциях типа «хаар», которые заключаются в сложении и вычитании интенсивности пикселей в прямоугольных областях изображения. Это можно сделать очень быстро, используя процедуру, называемую интегральным изображением, для которой также существуют реализации GPGPU (иногда называемые «префиксным сканированием»). После вычисления интегрального изображения за линейное время любой объект типа «хаара» можно оценить за постоянное время. Функция - это в основном функция, которая берет подокно 24x24 изображения S и вычисляет характеристику значения (S); триплет (признак, порог, полярность) называется слабым классификатором, потому что

полярность * характеристика (S) ‹полярность * порог

верно для одних изображений и ложно для других; ожидается, что слабый классификатор будет работать немного лучше, чем случайное предположение (например, он должен иметь точность не менее 51-52%).

Полярность либо -1, либо +1.

Пространство функций велико (~ 160 000 функций), но ограничено.

Несмотря на то, что порог в принципе может быть любым числом, из простых соображений по обучающей выборке оказывается, что если есть N примеров, только N + 1 порог для каждой полярности и для каждой особенности должен быть исследован, чтобы найти тот, который выполняется. лучшая точность. Таким образом, лучший слабый классификатор может быть найден путем исчерпывающего поиска в пространстве триплетов.

По сути, сильный классификатор может быть собран путем итеративного выбора наилучшего из возможных слабых классификаторов с использованием алгоритма, называемого «адаптивное усиление» или AdaBoost; на каждой итерации больше взвешиваются примеры, которые были неправильно классифицированы на предыдущей итерации. Сильный классификатор характеризуется собственным глобальным порогом, вычисляемым AdaBoost.

Несколько сильных классификаторов объединены в каскад внимания; идея каскада внимания состоит в том, что субокна 24x24, которые явно не являются лицами, на первых этапах отбрасываются; сильный классификатор обычно содержит только несколько слабых классификаторов (например, 30 или 40), поэтому его очень быстро вычислить. Каждый этап должен иметь очень высокий уровень отзыва, в то время как количество ложных срабатываний не очень важно. если имеется 10 стадий с частотой отзыва 0,99 и 0,3 ложных срабатываний, последний каскад будет иметь 0,9 отзыва и крайне низкую частоту ложных срабатываний. По этой причине обычно настраивают сильный классификатор, чтобы увеличить отзыв и частоту ложных срабатываний. Настройка в основном включает в себя снижение глобального порога, вычисляемого AdaBoost.

Подокно, которое проходит до конца каскада, считается лицом.

Необходимо протестировать несколько дополнительных окон в исходном изображении, которые в конечном итоге перекрываются, а в конечном итоге после масштабирования изображения.

person damix911    schedule 11.08.2010

Возникающим, но довольно эффективным подходом к широкому классу проблем со зрением, включая обнаружение лиц, является использование Иерархическая временная память (HTM), концепция / технология, разработанная Numenta.

В общем, это подход, похожий на нейронную сеть. Этот тип сети имеет форму дерева, где количество узлов значительно уменьшается на каждом уровне. HTM моделирует некоторые структурные и алгоритмические свойства неокортекса. В [возможном] отклонении от неокортекса алгоритм классификации, реализованный на уровне каждого узла, использует байесовский алгоритм. Модель HTM основана на теории предсказания памяти функции мозга и во многом полагается на временную природу входных данных; это может объяснить его способность справляться с проблемами зрения, поскольку они обычно временны (или могут быть сделаны таковыми), а также требуют терпимости к шуму и «нечеткости».

В то время как Numemta в течение некоторого времени выпускала комплекты технического зрения и демонстрационные приложения, Vitamin D недавно произвела - я думаю - первый коммерческое применение технологии HTM, по крайней мере, в области приложений машинного зрения.

person mjv    schedule 15.04.2010
comment
Ооо, это метод, основанный на книге Джеффа Хокинса «Об интеллекте», верно? Спасибо, как-то совсем забыл об этом, несмотря на то, что прочитал книгу. Ой. - person Harry; 16.04.2010
comment
@harry: да, действительно, HTM или, скорее, характеристики коры головного мозга, на которых основана / вдохновлена ​​HTM, были описаны Джеффом Хокинсом в его книге Об интеллекте. - person mjv; 16.04.2010

Если вам это нужно не только как теоретические вещи, но вы действительно хотите использовать распознавание лиц, я рекомендую вам найти уже реализованные решения.

Существует множество протестированных библиотек для разных языков, и они широко используются для этой цели. Посмотрите эту ветку SO для получения дополнительной информации: Библиотека распознавания лиц.

person Roman    schedule 15.04.2010
comment
Извините, да, это чисто теоретически. - person Harry; 16.04.2010