Обнаружение лиц с LBPH - функции извлечения - PullRequest
1 голос
/ 18 июня 2020

Я создал структуру системы, которая делает снимок, преобразует его в изображение LBPH, а затем получает гистограммы из каждой плитки сетки (8x8). Я слежу за этой бумагой, но не понимаю, что делать дальше, чтобы идентифицировать особенности после шага 4. Я просто сравниваю каждый квадрат сетки с набором квадратов известных характеристик и нахожу наиболее близкое соответствие ? Это моя первая программа по распознаванию лиц, поэтому я новичок в ней.

1 Ответ

0 голосов
/ 18 июня 2020

Итак, обработка изображений работает примерно так. Значения интенсивности пикселей слишком вариативны и неинформативны сами по себе, чтобы быть полезными для алгоритмов, чтобы понять изображение. Гораздо более полезными являются локальные отношения между значениями интенсивности пикселей. Таким образом, обработка изображений для распознавания, обнаружение - это в основном двухэтапный процесс. -уровень, высокая дисперсия, неинформативные функции, такие как интенсивность пикселей в высокоуровневый, более низкий уровень дисперсии, более информативный набор функций (например, края, визуальные узоры и т. д. c.), это называется извлечение признаков . За прошедшие годы был предложен ряд механизмов извлечения признаков, таких как обнаружение краев с помощью фильтров Собеля, гистограмма ориентированных градиентов (HOG), функции, подобные Хаару, функции, инвариантные к масштабированию (SIFTS) и LBPH, которые вы пытаетесь использовать. (Обратите внимание, что в большинстве современных приложений, которые не ограничены в вычислительном отношении, сверточные нейронные сети (CNN) используются на этапе извлечения признаков, потому что эмпирически они работают намного лучше.

Используйте Преобразованные функции - после того, как будет извлечена дополнительная полезная информация (более информативный набор функций), вам необходимо использовать эти функции для выполнения логической операции, которую вы надеетесь выполнить sh. На этом этапе вы подбираете модель (аппроксиматор функций), так что, учитывая ваши высокоуровневые функции в качестве входных данных, модель выводит нужную информацию (в данном случае классификация того, содержит ли изображение лицо, я думаю). Таким образом, вам необходимо выбрать и подогнать модель, которая может использовать высокоуровневые функции для классификации. Некоторые подходы classi c к этому включают деревья решений, опорные векторные машины и нейронные сети. По сути, подгонка модели является стандартной проблемой машинного обучения, и для нее потребуется маркированный набор обучающие данные для «обучения» модели тому, как будет выглядеть высокоуровневый набор функций для изображения, содержащего лицо, по сравнению с изображением, которое не содержит.

Это звучит как ваш код в текущем состоянии отсутствует вторая деталь. В качестве хорошей отправной точки изучите использование пакета дерева решений sci-kit learn.

...