Pull to refresh

Comments 20

Спасибо за интересную статью!
Есть только пара моментов, которые хочется уточнить:
1. Насколько мне помниться (поправьте меня, если я ошибаюсь) база colorFERET содержит по несколько фотографий одного лица: с гримасами + с поворотами головы. Какие именно изображения использовались для построения обучающей выборки, а какие для тестирования?
2. Достигался ли FAR более низких значений (ниже 0.01%), и если да, то какой в этом случае был показатель ошибок первого рода (FRR)?
Спасибо за проявленный интерес.

1. Вы правы по поводу базы colorFERET. Для построения обучающей и тестовой выборок использовались условно фронтальные изображения лиц (допускалось незначительное отклонение от ракурса анфас) с нейтральным выражением лица либо легкой улыбкой. Такие условия были допустимы, поскольку алгоритм разрабатывался для СКУД, где человек вынужден смотреть прямо в камеру.
Стоит отметить, что алгоритм не устойчив к существенным отклонениям от фронтального ракурса, поскольку в этом случае происходят заметные изменения в текстурных особенностях областей изображения лица.

2. Для достижения более низкого FAR = 0.001%, использовалась модифицированная версия алгоритма (см. P.S. в статье). Значение FRR = 4%. Объем используемой обучающей выборки был на порядок выше (здесь уже не colorFERET, а кадры с ip-камеры на объекте).
здесь уже не colorFERET, а кадры с ip-камеры на объекте

т.е. сразу на «боевом» объекте? Не боитесь тогда «заточить» систему только на определенное помещение и освещение?
А так — молодцы. Если эти цифры действительно правда (уж простите, слишком много в нашей области любителей «подкрутить» показатели FAR/FRR), то это отличная разработка!

PS: патентуется, или будет открытая лицензия?
PPS: на чём писался код? Использовался OpenCV или нет?
Заточить систему под определенное освещение и помещение не боялись, поскольку данные с объекта приходили с нескольких пропускных пунктов и настройки той же экспозиции камеры несколько отличались. Более того регистрируемые люди по-разному вели себя перед камерой, что также дает некоторую вариабельность данных. Фон съемки никак не влияет в виду кадрирования изображения лица.
Реально на объекте рассмотренный алгоритм работает в паре с другим алгоритмом (на основе фильтров Габора).
Разработка не патентуется, но является собственностью гос. заказчика.
Приведенные результаты не завышены. В противном случа нас бы покарали.

Реализация на C++, OpenCV также использовался. LBP, рассчеты мер близости и т.д. были реализованы самостоятельно.
И последнее: интересна скорость работы при распознавании с IP камеры, при каком-то адекватном (на сегодняшний день) разрешении.

Простите за уйму вопросов, просто у самого была дипломная работа по распознаванию лиц, правда я использовал за основу фрактальное сжатие.
Скорость работы складывается еще и из алгоритмов поиска лица и пары глаз в кадре, поиска центров зрачков, и только потом идет кадрирование и вычисление ЛБШ и расстяний. С детектором лица и пары глаз все просто -OpenCV-шная реализация. Детектор зрачков — предмет отдельной статьи. Для детектора лиц и пары глаз кадр масштабировался с коэффициентом 0.25 от исходного размера (fullHD). В итоге, с учетом того, что в реальных условиях видеопотока детекторы лица и глаз вместе дают порядка 70% положительных срабатываний, то получилась обработка (уже всей системы) в режиме реального времени.
Но здесь важно, что OpenCV была собрана с TBB, и кое-где внутри самописных алгоритмов использовался parallel_for. ПК на базе Core i5.
использовался parallel_for

Ох, завидую я вам. У меня была чёткая установка от руководства: хотим, чтобы все работало даже на пылесосе, следовательно, никаких parallel_for…
Прошу прощения. Только сейчас заметил опечатку в ответе на Ваш первый комментарий. FRR не 4%, а 14%. Ошибся, т.к. с телефона на ходу писал. Характеристики в дальнейшем были улучшены при добавлении второго алгоритма, который я упоминал.
Таки ошибаетесь. В данном случае «Насколько мне помнится»
Прошу прощения, весь мозг был в работе.
А данный алгоритм сравнивали с другими, например Виола-Джонса?
Алгоритм Виолы-Джонса используется для обнаружения объектов на изображении (скользящее окно и каскадный классификатор). В статье же идет речь о верификации и идентификации личности по изображению лица.
Ну вообще-то можно построить классификаторы для каждого «валидного» лица. Но это занятие муторное и не стоящее, особенно с Виолой-Джонсом.
Я не очень Вас понимаю. Верификация — сравнение 1:1, идентификация — 1:n. При этом, как задачу классификации на «своих» и «чужих» можно рассматривать только верификацию.
Или Вы просто имеете ввиду использование Хааро-подобных признаков вместо ЛБШ?
Именно. Но это та ещё задачка создать адекватный классификатор для каждого лица. Боюсь предположить даже сколько изображений понадобится.
А самое интересное-то — это как раз нормализация изображений! Я так понимаю, что нормализация была сделана для каждого изображения вручную?
Так сильно нормализированные изображения можно чуть ли не kNN-ом распознавать с высокой точностью. Жаль что не было сравнения с таким простым методом.
UPD: Похоже, я упустил при первом прочтении, что изображения были взяты из открытой базы.
Нормализация производилась не по разметке базы colorFERET, а с помощью детектора зрачков. А в данной статье я хотел сделать акцент именно на некоторых подходах к решению задачи верификации и идентификации личности по изображению лица с помощью ЛБШ. Тем не менее, если будет определенный интерес у некоторого числа людей, то я готов описать алгоритм обнаружения зрачков.
Вы не пробовали базировать сетку разбиения на найденные реперы-зрачки, и масштабировать в терминах межзрачкового расстояния — то есть менять и шаг и радиус ЛБШ пропорционально. Это, по идее, должно помочь отстроиться от ситуаций, когда характерные особенности лица находятся на границе ячеек сетки, и связанных с этим ошибок
Вообще говоря, я не вижу смысла менять шаг и радиус ЛБШ, поскольку на основе межзрачкового расстояния нормализуется само изображение лица. Кроме того, на границах сетки разбиения теряется совсем незначительное число признаков в сравнении с их общим числом.
Sign up to leave a comment.

Articles