Проблема:
У меня есть база данных изображений «лиц» для нескольких человек, в которой для каждого человека у меня есть несколько изображений (у каждого есть что-то свое с точки зрения выражения лица, такого как улыбка, мышление, простота и т. д.).
Во время тестирования у меня есть набор тестовых данных «изображение улыбающегося лица» людей, для которых изображение уже существует в базе данных, но изображения в базе данных и тестовом наборе данных не совсем одинаковы (т.е. два изображения одного и того же человек, улыбающийся в разное время, из которых один находится в базе данных, а другой — в тестовом наборе данных).
Теперь проблема в том, что мое приложение правильно определяет человека, но в выражениях лица не совпадает например: вместо "улыбающееся лицо" иногда выдает "простое лицо".
PS: Эффективность поиска точного человека составляет 100%, но несоответствие выражений лица является проблемой.
Алгоритм, который я использую:
- Нормализация и улучшение изображения
- Обнаружение функций SURF и сопоставление
Может ли кто-нибудь предложить, что могло пойти не так или что может быть лучшим алгоритмом/подходом для решения этой проблемы?
Есть ли алгоритм для сравнения двух изображений лучше, чем SURF??