Как проверить, содержит ли изображение лицо и достаточно ли оно видно - PullRequest
13 голосов
/ 26 ноября 2010

Я не уверен, что это решаемо, но я все равно спрошу.

В моей компании мы работаем с огромными лагерями приема, где небольшие команды из 5-10 человек идут в деревню и регистрируют людей.,Регистрация включает в себя ввод некоторых данных, захват отпечатков пальцев и фотографирование конечного пользователя с помощью веб-камеры.Понятно, что регистрация осуществляется внешними поставщиками, которым мы передали деятельность на аутсорсинг.

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

Я знаю, что «Хорошее качество» - это неопределенный термин, который нельзяпереведено на программное решение.Однако, пытаясь определить для себя Хорошее качество, я обнаружил следующее: http://en.wikipedia.org/wiki/Image_quality

Теперь, наконец, возник вопрос, какие части этих проверок качества изображения можно автоматизировать.

Примечание: Фотографии будут напечатаны на смарт-карте размером с марку.Они едва ли будут размером 100x125 пикселей с разрешением 300 точек на дюйм.

Cheers, Raghu

Ответы [ 4 ]

7 голосов
/ 26 ноября 2010

Алгоритм Виолы-Джонса является классическим. Здесь вы можете найти статью о его реализации, но вы найдете много ресурсов там.

Моя любимая картинка:

alt text

Здесь вы можете найти платформу для .Net, реализующую алгоритм. (это бесплатно)

PS: обратите внимание, что некоторые внеземные формы жизни могут возвращать ложные срабатывания.

6 голосов
/ 26 ноября 2010
4 голосов
/ 26 ноября 2010

Библиотека openCV имеет отличный код для обнаружения лиц.Вы могли бы что-то подстроить, используя обнаружение лица openCV в качестве порога качества изображения - если оно успешно распознает лицо, это, вероятно, довольно хорошо?http://sourceforge.net/projects/opencvlibrary/

2 голосов
/ 29 ноября 2010

Распознавание лиц - очень активная тема исследований и статей, которые постоянно публикуются на конференциях по компьютерному зрению, таких как ECCV, ICCV. В эти годы ECCV2010 даже проводил семинар по распознаванию лиц . Так что да, это решаемо в разумных пределах.

На вашем месте я бы построил что-то довольно простое, но оно могло бы справиться с основами освещения, цвета кожи и различий в обрамлении. Вам не понадобится что-то сложное, например, Viola-Jones, если вы знаете, что фотографии, как правило, будут громкими. Вам следует создать систему проверки фотографии (выглядит ли эта фотография как фотография?), А не систему обнаружения лиц (где находятся лица на этом изображении?).

Во-первых, просто проверьте основы на изображении - например, с помощью гистограммы интенсивности, чтобы убедиться, что освещение в порядке (не слишком яркое; слишком темное), что изображение имеет контраст (разные оттенки) и т. Д.

Затем вы можете создать систему проверки лица / фотографии - создать пространство лица, как в классической статье " Eigenfaces for Recognition ", и затем определить, достаточно ли каждая фотография в этом подпространстве. , (Это довольно простая методика, и в Интернете доступно много кода).

...