Как определить лицевое боковое изображение Левое ухо, боковое нос, боковое зрение в приложении iOS с использованием OpenCV?

Мне нужна помощь при профилировании лица через изображение в приложении iOS.

Я пытаюсь обнаружить левое ухо, нос и рот в данном изображении. Пока я пробовал OpenCV, я нашел классификаторы voila haar, но этот классификатор хара не обнаружил левое ухо.

Мне нужно выполнить это обнаружение, не переходя на сервер/онлайн.

Является ли OpenCV хорошим выбором для этого? Любой образец кода, который вы можете использовать для достижения этой функциональности, будет отличным.

Какими могут быть другие варианты для достижения этой функциональности?

Ответ 1

Я думаю, что только использование шаблонов частей (например, альфа-хауров-классификаторов) не будет работать в вашем случае. Части, которые вы хотите обнаружить, очень малы и будут полностью/частично закрыты большую часть времени. Мое предложение было бы использовать методы на основе графических моделей, то есть активные модели внешнего вида, графические структуры и т.д. Это позволит не только использовать пространственные ограничения (т.е. Рот всегда должен быть ниже носа и т.д.), Но также работает, когда одна или несколько частей закрыты. Вероятно, вы можете начать со следующих общедоступных кодов:

Оба кода находятся на С++ и позволят вам обнаружить части тела лица, но я думаю, что уши не включены в оба. Возможно, вы можете попробовать добавить дополнительные части, слегка изменив исходный код, а также обучить свои собственные шаблоны частей для отсутствующих частей.

PS. Я не разработчик iOS, поэтому я не уверен, что iOS может позволить себе такие модели, но на обычных компьютерах они достаточно реального времени для изображений нормального размера.