Распознавание лиц: сверточная нейронная сеть в действии |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2018-08-01 11:40 новости нейронных сетей, распознавание образов, искусственный интеллект Искусственные нейронные сети стали важной частью нашей жизни и активно используются во всех областях, где традиционные алгоритмические решения работают не так хорошо или же не работают вовсе. Нейронные сети отлично справляются с распознаванием текстов, им доверяют работу по фильтрации спама, игру на биржах и работу с контекстной рекламой в интернете. Одной из наиболее значимых и перспективных сфер, в которой развивается эта технология, является безопасность: здесь речь идет как об отслеживании подозрительных банковских операций, так и о системах видеонаблюдения. R&D отдел компании Azoft имеет опыт создания подобных систем: в настоящее время мы заняты разработкой решения для распознавания лиц. В соответствии с требованиями заказчика система должна быть в достаточной степени инвариантна к освещению, положению в пространстве и изменению выражения лица. Система работает через камеру безопасности на относительно небольшом (десятки) количестве людей и должна стабильно отличать незнакомцев от тех, на ком она обучена. Работа над решением включает три компонента: подготовку данных, обучение нейросети и распознавание. В ходе подготовки мы записали по 300 оригинальных изображений каждого человека, которого система должна распознавать как “своего”. Кадры, сделанные с разными выражениями лица и положениями головы, были приведены к общему виду (нормализированы). На базе этой информации создан набор данных для обучения нейросети с вариациями в виде искажений и цветовых фильтров. В итоге мы получили 1500-2000 сэмплов для тренировки сети на каждого человека. Каждый раз, когда система распознает лицо, она приводит изображение к наибольшему соответствию с сэмплами, на которых проходило обучение. Мы опробовали несколько вариантов нормализации имеющихся данных. Система находит черты лица: глаза, нос, подбородок и скулы, — используя классификатор Хаара. Анализируя угол между глазами, мы можем компенсировать поворот головы и выделить интересующую нас область. Информация о наклоне головы в предыдущем кадре позволяет удерживать регион лица при изменении положения, поворачивая изображение с камеры на нужный угол до передачи классификатору. Выравнивание лица После экспериментов с цветовыми фильтрами мы остановились на методе, который выравнивает яркость и контраст, находит усредненную гистограмму по нашему набору данных и применяет ее к каждому изображению индивидуально (включая изображение, использующееся для распознавания). Кроме того, к нашим изображениям применяются искажения в виде небольших поворотов, растягивания и смещений, а также зеркальное отражение. В совокупности с нормализацией это значительно понижает чувствительность системы к изменениям положения лица. Приведенные к одной гистограмме изображения с искажениями Как инструмент для непосредственного распознавания мы используем внутреннюю реализацию Convolutional Neural Networks (Сверточные Нейронные Сети) — один из наиболее актуальных сейчас вариантов нейронных сетей, который уже зарекомендовал себя в классификации изображений и распознавании символов. Основными преимуществами этой сети являются инвариантность к небольшим смещениям и то, что в процессе обучения нейронная сеть извлекает набор характерных черт (feature maps) для каждого класса, сохраняя их относительное расположение в пространстве. Мы можем менять архитектуру сверточной сети, контролируя количество слоев, их размеры и количество карт с характерными чертами для каждого слоя. Структура нашей нейронной сети Для того, чтобы видеть влияние этих параметров на работу сети, мы сделали Debug-вывод изображений, формируемых при распознавании. Это направление можно расширить, применив De-Сonvolutional Neural Network — технику, которая позволяет визуализировать вклад разных частей входного изображения в карты характерных черт. Фрагмент Debug-вывода Наш текущий прототип системы распознавания лиц обучен на распознавание "неизвестных" системе лиц, а также 10 сотрудников компании. По результатам тестирования, при хорошем освещении наш прототип устойчиво распознает лица, на которые обучен, и успешно определяет “незнакомцев”.
Однако нейронная сеть осталась чувствительной к изменениям направления освещения и общему понижению освещенности. Для более продвинутой компенсации освещения мы планируем сделать реконструкцию лица на 3D-каркас, используя небольшое количество фотографий и позиции основных черт лица. Наш сет будет включать себя разные варианты поворота головы при разном, искусственно сгенерированном освещении (поверхность и локальные тени). В планы команды Azoft также входит доработка локализации лица (сейчас используются стандартные каскады OpenCV) и тесты с использованием другой камеры, качество и скорость записи которой не будут отрицательно влиять на детекцию черт лица и стабильность распознавания. Еще одно препятствие, которое предстоит преодолеть, — долгое время обучения сверточной сети. Даже для скромных по размеру сетов данных оно может приближаться к суткам. В ближайших планах — перенос обучения сети на GPU. Это позволит гораздо быстрее получать и анализировать результаты изменений в архитектуре и данных. За счет этого мы сможем провести больше экспериментов, ведущих к оптимальному соотношению формата данных и архитектуры сети. Источник: www.azoft.ru Комментарии: |
|