2012-06-12 2 views
3

На изображении есть лицо, которое слегка наклонено и имеет небольшую вариацию позы. Используя opencv, я обнаружил координаты глаз, носа и рта. Используя эти 4 очка, можно ли перевести это лицо в идеальное лобное лицо? Я пробовал преобразование перспективы, которое работало для нескольких изображений, но дало ужасные результаты для большинства фото. Есть ли другой способ повторного выравнивания изображения в идеальном лицевом лице без изменения наклона или позы?Нахождение изменения формы лица с помощью Opencv

+0

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

ответ

2

Я думаю, вы можете сослаться на Procrustes Analysis, чтобы получить дополнительную помощь. Идея заключалась бы в том, чтобы найти жесткую матрицу преобразования от идеального человеческого лица до фактического человеческого лица, используя набор известных точек. Затем используйте обратную матрицу преобразования для каждой точки реального человеческого лица, чтобы вернуть идеальную.

Здесь у вас есть набор известных точек (два глаза, кончик носа и рта). Вы можете взять на себя идеальную позицию для них. Из обнаружения изображения с использованием OpenCV вы получаете 4 соответствующие точки. Также вы можете обратиться к Kabsch algorithm, если вы можете предположить, что возможны только повороты, которые, я думаю, могут иметь смысл в вашем случае. Есть хороший вопрос here, объясняющий вышеуказанные темы. Я надеюсь, что приведенные выше рекомендации помогут вам.

+0

Thanx для помощи Unni. Я не очень много знаю об этих двух алгоритмах, но буду ссылаться и на них, и попытаться это выработать ... !! – cameo

+0

Удачи, камея. Я никогда не работал в этой конкретной проблеме, но мог бы работать над чем-то подобным в ближайшем будущем. Надеюсь, я тоже смогу использовать это позже. – PermanentGuest

Смежные вопросы