В последние годы машинное обучение становится все более популярным, особенно как часть новой дисциплины науки о данных. В связи с этим несколько инструментов и API (интерфейс прикладных программ) по машинному обучению стали доступны для неспециалистов. Microsoft, например, разработала набор машинного обучения Azure и сделала несколько API-интерфейсов доступными в Cortana Analytics Gallery, которые позволяют разработчикам относительно легко работать с машинным обучением.

Проект Оксфорд

Одним из API-интерфейсов, доступных в Cortana Analytics Gallery, является Face API от Microsoft Project Oxford. Project Oxford состоит из набора API-интерфейсов на основе машинного обучения, которые имеют дело с компьютерным зрением, распознаванием речи и обработкой естественного языка. Face API может обнаруживать и распознавать человеческие лица на изображении.

Наша цель состояла в том, чтобы использовать Face API для приложения, которое может обнаруживать людей в конференц-зале по видеопотоку и распознавать этих людей по набору эталонных изображений. Если эти эталонные изображения нужно было связать с дополнительные сведения о человеке, которые затем можно вывести на экран.

Как работает наше приложение для распознавания лиц…

В созданном нами приложении лица обнаруживаются в прямом эфире с веб-камеры. Одним нажатием кнопки кадр захватывается как изображение, а затем через API загружается в сервис. Это возвращает объект лица, который содержит более двух десятков обнаруженных «ориентиров» лица, таких как положение глаз, носа, бровей и губ, а также атрибуты, такие как возраст, пол, детали волос на лице и улыбается ли человек на изображении.

Если API получает два отдельных объекта лиц, он вычисляет сходство между двумя лицами и затем может определить, принадлежат ли эти два лица одному и тому же человеку. Он вернет значение достоверности от 0 до 1, которое количественно определяет сходство между двумя людьми. При значениях выше 0,5 два лица помечаются как принадлежащие одному и тому же человеку, а при значениях ниже этого совпадения между двумя лицами нет.

В нашем приложении изображение неподвижного кадра с веб-камеры затем сравнивается с набором эталонных изображений, которые были обработаны заранее. Затем мы отображаем лица, которые были обнаружены на захваченном изображении, вместе с совпавшим лицом в эталонном наборе и значением достоверности.

На данный момент эти эталонные изображения находятся в локальной папке, но можно представить себе получение их из базы данных или другого удаленного источника. Обратите внимание, что вам потребуется согласие людей, чьи данные будут обрабатываться API Project Oxford, и необходима политика конфиденциальности, в которой указано, что вы собираетесь делать с данными.

Результаты

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

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

Project Oxford Face API дает нам очень надежный инструмент распознавания лиц и показывает, что инструменты компьютерного зрения, основанные на машинном обучении, начинают развиваться. Теперь, когда становится доступно все больше и больше инструментов для реализации не только компьютерного зрения, но и Кроме того, распознавание речи и обработка естественного языка откроют перед разработчиками и учеными новые возможности для автоматизации процессов, которые раньше могли выполняться только реальными людьми.

Если у вас есть какие-либо вопросы или вы можете придумать некоторые предложения, пожалуйста, прокомментируйте ниже или порекомендуйте это.

Автор Йорик Бохимен | Консультант, RedPixie | Посмотреть его профиль в LinkedIn

Этот блог первоначально появился на странице www.redpixie.com/blog