Это введение в「ax Facial Features」, модель машинного обучения, которую можно использовать с ailia SDK. Вы можете легко использовать эту модель для создания приложений ИИ с помощью ailia SDK, а также многих других готовых к использованию AIlia MODELS.

Обзор

Топор Инк. исследовали и разработали классификацию век (одинарные или двойные), плотности ресниц (густые, умеренные, редкие) и обнаружение растительности на лице (усы, борода и/или наличие волос по бокам рта) с помощью нейронных сетей с ограниченными ресурсами. Результаты показывают многообещающий потенциал в достижении высокой точности с большим набором данных.

Набор данных и архитектура модели

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

Веки

Набор данных век состоит из 615 изображений области глаз, 479 из которых аннотированы как двойные веки, а остальные 136 — как одиночные веки. Что касается архитектуры, используется ResNet50 с новой полностью подключенной головкой. Модель принимает на вход изображение области глаз, обрезанное с помощью ориентиров лица Face Mesh.

Ресницы

Набор данных о ресницах состоит из 253 изображений области глаз (таких же, как те, которые используются для классификации век) со 118 густыми, 126 средними и 9 редкими ресницами. Примеры категорий, показанные выше, использовались в качестве основы для маркировки изображений. Этот набор данных было особенно сложно собрать, поскольку для четкого анализа плотности ресниц требуются изображения с высоким разрешением. Архитектура представляет собой ResNet50 с новой полностью подключенной головкой. Как и в случае с моделью век, на вход модели ресниц подается изображение области глаз, обрезанное с помощью ориентиров лица Face Mesh.

Волосы на лице

Обнаружение волос на лице отличается от двух предыдущих задач тем, что это классификация с несколькими метками, т. е. каждое изображение может иметь ноль или более меток. Набор данных о волосах на лице состоит из 522 изображений лиц, из них 442 изображения без каких-либо меток и 80 изображений с хотя бы одной меткой (некоторые образцы показаны выше). Среди 80 изображений есть 68 этикеток для усов, 76 этикеток для бороды и 37 этикеток для волос со стороны рта. Архитектура снова представляет собой ResNet50 с новой полностью подключенной головкой. На вход модели подается изображение лица, обрезанное с помощью ориентиров лица Face Mesh.

Полученные результаты

Модели, предварительно обученные в ImageNet, были настроены с использованием 90 % наборов данных, а оставшиеся 10 % используются для проверки. Результаты для каждой задачи подробно описаны ниже.

Веки

Несмотря на то, что набор данных чрезвычайно мал, достигается точность около 98%. Эти результаты являются многообещающими и предполагают, что более высокая точность и обобщение потенциально могут быть достигнуты с использованием большего количества данных.

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

Ресницы

Количество сэмплов для класса Sparse крайне мало и поэтому модель не может быть хорошо обучена на нем. Более того, густота ресниц является непрерывным (а не дискретным) признаком, поэтому понятно, что модель (даже человека) легче спутать с категориями. Хотя результаты неудовлетворительны (точность ~ 69%), все еще есть место для дальнейших исследований с использованием большего количества данных для достижения более высокой точности.

Волосы на лице

Опять же, несмотря на то, что набор данных чрезвычайно мал, показатель Хэмминга (рассчитанный на выборках с хотя бы одной ненулевой истинной меткой или прогнозом) достигается около 72%, и все истинные метки прогнозируются правильно, хотя есть несколько ложных срабатываний. Тем не менее, результаты являются многообещающими, и дальнейшее исследование с большим количеством данных потенциально может привести к еще более высокой производительности.

Применение

Вы можете использовать ax Facial Features с ailia SDK для выполнения классификации черт лица (веки, ресницы и волосы на лице) на изображении с помощью следующей команды.

$ python3 ax_facial_features.py -i path_to_image


Ниже приведен пример вывода на следующем изображении.

Модель также можно применить к видеопотоку с веб-камеры с помощью следующей команды.

$ python3 ax_facial_features.py -v 0

Топор Инк. разработал ailia SDK, который обеспечивает кросс-платформенный быстрый вывод на основе графического процессора.

ax Inc. предоставляет широкий спектр услуг от консалтинга и создания моделей до разработки приложений и SDK на основе ИИ. Не стесняйтесь связаться с нами для любого запроса.