Нейронная сеть научилась идентифицировать человека по походке

Искусственный интеллект научили распознавать личность человека по походке

Каждый человек обладает своим уникальным стилем ходьбы. Зная об этом, исследователи из Манчестерского университета разработали новую систему распознавания шагов SfootBD, которая опирается на работу искусственного интеллекта (ИИ).

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

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

Обратите внимание

Как говорит ведущий автор исследования из Манчестерского университета Омар Кастильо Рейс (Omar Costilla Reyes), во время ходьбы каждого человека можно выделить примерно 24 различных параметра движения. Проще говоря, каждый человек действительно обладает уникальной моделью перемещения.

Разрабатывая систему, исследовательская группа под руководством Рейса собрала базу данных, состоящую из 20 тысяч “сигнальных” шагов от более чем 120 человек. (На сегодняшний день она является самой большой базой данных шагов.)

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

То есть людям не нужно снимать обувь при ходьбе по полу, оборудованному датчиками, чтобы система смогла по походке вычислить личность человека.

Как правило, другие подобные методы изучают походку человека без обуви.

Система искусственного интеллекта под названием глубинные остаточные нейронные сети (deep residual neural network) анализировала данные, изучая распределение веса, скорость походки и трёхмерные показатели каждого стиля походки. Важно, что система рассматривала именно особенности походки, а не форму “следа”.

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

Чтобы проверить систему SfootBD в действии, исследовательская группа изучала участников эксперимента в трёх различных сценариях: контрольно-пропускной пункт охраны в аэропорту, рабочее место и дом. Исследователи также работали с контрольной группой людей, которые пытались подделать походку другого человека. Таким образом, специалисты хотели понять, сможет ли ИИ отличить таких “самозванцев”.

Результаты показали, что в среднем система выдавала 100-процентную точность при идентификации людей, а частота ошибок составила всего 0,07 процента.

Важно

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

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

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

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

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

Результаты исследования и описание новой разработки представлены в научном издании IEEE Transactions on Pattern Analysis and Machine Intelligence.

Ранее авторы проекта “Вести.Наука” (nauka.vesti.ru) рассказывали о других системах, помогающих распознавать личность человека. Так, томский инженер придумал, как распознавать людей в видеопотоке по любым “плоским” изображениям.

К слову, специалисты всё чаще стали прибегать к услугам ИИ, поскольку точность идентификации преступников очевидцами поставлена под сомнение.

Совет

Не менее важно изучать и способы обмана таких программ. А их уже немало: к примеру, созданы необычные очки, которые заставят программу считать, что вы Милла Йовович, а также одежда с особым рисунком, которая скрывает человека от систем распознавания лиц.

Источник

Источник: http://www.elentur.com.ua/iskysstvennyi-intellekt-naychili-raspoznavat-lichnost-cheloveka-po-pohodke/

Нейронную сеть научили распознавать лица на видео по одной фотографии-образцу

Системы распознавания лиц в последние несколько лет переживают бурное развитие. Подобные технологии верификации и идентификации используется сегодня в самых разных сферах – от борьбы с терроризмом до соцсетей и мобильных приложений.

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

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

) точность алгоритмов уже давно достигла результатов, сопоставимых с человеческими.

А вот добиться высокой точности при распознавании видеоданных, которые собираются в неконтролируемых условиях с варьируемым освещением, ракурсом и размером все еще непросто.

«Сеть может со 100% точностью распознать, например, известного актера (число изображений которого в сети исчисляются миллионами).

Но это совсем не значит, что при переносе знаний, накопленных в нейронной сети, она адаптируется и распознает человека, для которого в качестве образца доступна только одна фотография», — поясняет профессор кафедры информационных систем и технологий НИУ ВШЭ в Нижнем Новгороде Андрей Савченко.

Для того, чтобы решить эту задачу, исследователи ВШЭ использовали теорию нечетких множеств и теорию вероятности.

Они разработали алгоритм, который позволяет существенно повысить точность (на 2-6% по сравнению с ранее проведенными экспериментами) идентификации лиц по видео в режиме реального времени при наличии ограниченного числа изображений. Это решение работает с нейросетевыми архитектурами VGGFace, VGGFace2, ResFace и LightCNN.

В качестве тестовой базы исследователи использовали несколько традиционных наборов данных для оценки методов распознавания лиц на видео – IJB-A (IARPA Janus Benchmark A) и YTF (YouTube Faces).

Эти наборы включали находящиеся в свободном доступе изображения известных людей (актеры, политики, общественные деятели), которые собирались из открытых источников в неконтролируемых условиях в разное время.

Алгоритм должен был распознать лица на видео с YouTube, используя в качестве образцов несколько фотографий тех же людей из другого набора данных – LFW (Labeled Faces in the Wild). В LFW использовалось более высокое разрешение, а сами фотографии были сделаны в разное время, начиная с 1970-х до 2010-х годов.

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

Связь (расстояние в математической модели) между похожими людьми меньше, между непохожими — больше.

Знание того, насколько люди друг от друга отличаются, позволяет системе скорректировать ошибки в процессе распознавания видео кадров.

«Алгоритм оценивает насколько один кадр ближе к одному человеку, другой — к другому. Затем сравнивает, насколько похожи эти два человека между собой. После чего добавляет третьего человека и оценивает, с кем он ближе — с первым или вторым. Исходя из этой близости, еще раз корректирует ошибки распознавания», — говорит профессор Савченко.

Обратите внимание

Сейчас этот алгоритм уже реализован для стационарных компьютеров на Python, что позволяет в фотоальбомах находить и группировать лица разных людей, оценивать год рождения, пол и другие параметры. Разработан прототип приложения для Android, которое определяет возраст и пол людей на фотографиях и видео.

  Анализ фото-галереи дает возможность автоматически оценить степень социальной активности пользователя, выделить его близких друзей и родственников. Для современных смартфонов прототип приложения обрабатывает 15 кадров в секунду.

Исследователи утверждают, что благодаря разработанному алгоритму распознание лиц может происходить точнее.

3 июля, 2018 г.

Высокие технологии высокие технологии научный эксперимент нейросети

Подпишись на IQ.HSE<\p>

Источник: https://iq.hse.ru/news/221101747.html

Технология распознавания по походке

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

По сравнению с другими биометрическими моделями первого поколения, то бишь распознавание отпечатков пальцев или радужки глаз или там геометрии руки, походка имеет особенное кое-какое важное преимущество, такое как – ненавязчивость, незаметность – «оператор не попросит вас приложить ладонь к жутко зелёному сканеру, пограничник не будет смотреть пронизывающим взглядом, охранник тоже, не надо замирать перед каким то сканером. Все двери откроются загодя ¬перед вами, если, конечно, это позволено местной системой, узнают по походке». Очень располагающая к себе технология.

И это вот самое узнавание не потребует физического контакта с предметом, то есть с вами, – мне, компьютеру, не потребуется пожать вам руку или посмотреть в глаза, паспорт ваш тоже не нужен, вы вошли в здание, прошли 2 метра и¬ в данном случае с вами…
Аутентификация по походке, то есть узнавание по походке, основано на представлении о том, что каждый человек имеет своеобразный и индивидуальный способ передвижения / ходьбы, который можно легко отличить от других людей, с биомеханической точки зрения. Движение человека состоит из синхронных движений сотен мышц и суставов, и хотя все мы ходим одинаково, суть есть «идти пешком» – это вечное падение вперёд, наклон вперёд, упор на ногу, перестановка ног. Но все мы ходим по-разному. Основные модели движения похожи, мы не говорим о беге, но и варьируются они с точки зрения времени и по величине.
Как следствие, незначительные вариации стиля походки могут использоваться в качестве биометрического идентификатора для распознавания людей.
Рассматриваем такие математические функции.… То есть особенности, пространственно-временные параметры, такие как

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

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

  • Первое – распознавание походки на основе автоматического анализа видеоизображений. Этот подход является наиболее популярным подходом к изучению и включает в себя анализ видеоматериалов движения субъекта и траекторий передвижений его суставов и создаваемых углов. Создается математическая модель движения ( определяются точки сгиба, их «марш», это если человек идёт по прямой линии ) и затем сравнивается с другими образцами для определения идентичности.
  • Второй метод использует нейросети, обучающиеся системы, регистрирующие цикл походки, ( человек не всегда ходит строго по прямой линии ) предугадывающие движение различных частей тела субъекта то, как дёргание, рывок, приседание. Затем эти данные сравниваются с другими образцами для идентификации. В этот момент наблюдаются другие индивидуальные черты, как ЭКГ, теплограмма, но об этом в следующих статьях.В обеих моделях анализ человеческого тела измеряется (незаметно) движения тела, механика и активность конкретных групп мышц, используются технические инструменты, нам не нравится слово «скрытно», но что поделать, – человек в этот момент естественен.
Читайте также:  Искусственный интеллект привлекут для расследования нераскрытых преступлений

Такие технологии прогнозируются для использования в системах уголовного правосудия и национальной безопасности. В настоящее время технология разрабатывается в Технологическом институте Джорджии, Массачусетском институте и университете Лаппеенранты.

До сих пор нет никаких баз по данной технологии, в связи с сложностью вычислений данных.

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

Источник: https://bio-metria.ru/blog/tehnologiia-raspoznavaniia-pohodki

Распознавание лиц: сверточная нейронная сеть в действии

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

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

R&D отдел компании Azoft имеет опыт создания подобных систем: в настоящее время мы заняты разработкой решения для распознавания лиц.

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

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

В ходе подготовки мы записали по 300 оригинальных изображений каждого человека, которого система должна распознавать как “своего”. Кадры, сделанные с разными выражениями лица и положениями головы, были приведены к общему виду (нормализированы).

На базе этой информации создан набор данных для обучения нейросети с вариациями в виде искажений и цветовых фильтров. В итоге мы получили 1500-2000 сэмплов для тренировки сети на каждого человека.

Важно

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

Мы опробовали несколько вариантов нормализации имеющихся данных. Система находит черты лица: глаза, нос, подбородок и скулы, — используя классификатор Хаара.

Анализируя угол между глазами, мы можем компенсировать поворот головы и выделить интересующую нас область.

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

Выравнивание лица

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

Приведенные к одной гистограмме изображения с искажениями

Как инструмент для непосредственного распознавания мы используем внутреннюю реализацию Convolutional Neural Networks (Сверточные Нейронные Сети) — один из наиболее актуальных сейчас вариантов нейронных сетей, который уже зарекомендовал себя в классификации изображений и распознавании символов.

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

Структура нашей нейронной сети

Для того, чтобы видеть влияние этих параметров на работу сети, мы сделали Debug-вывод изображений, формируемых при распознавании. Это направление можно расширить, применив De-Сonvolutional Neural Network — технику, которая позволяет визуализировать вклад разных частей входного изображения в карты характерных черт.

Фрагмент Debug-вывода

Совет

Наш текущий прототип системы распознавания лиц обучен на распознавание “неизвестных” системе лиц, а также 10 сотрудников компании.
В качестве обучающего сета “неизвестных” была использована база данных Labeled Faces in the Wild, а также 6 сетов лиц сотрудников. Тестирование проводилось с использованием камеры D-Link DCS 2230 с расстояния 1-4м.

По результатам тестирования, при хорошем освещении наш прототип устойчиво распознает лица, на которые обучен, и успешно определяет “незнакомцев”.

Однако нейронная сеть осталась чувствительной к изменениям направления освещения и общему понижению освещенности.

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

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

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

Еще одно препятствие, которое предстоит преодолеть, — долгое время обучения сверточной сети. Даже для скромных по размеру сетов данных оно может приближаться к суткам. В ближайших планах — перенос обучения сети на GPU.

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

Источник: http://www.azoft.ru/blog/raspoznavanie-lic-svertochnaya-nejronnaya-set/

Как мы научили нейронку распознавать пол и возраст | Rusbase

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

Пока доступна только альфа-версия платформы, но уже сейчас на ней есть много интересных моделей.

В этой статье мы расскажем об одной такой модели, которая уже доступна на платформе: это самая простая нейронная архитектура из всех демо-моделей, но даже в этой сети найдётся немало трюков, о которых стоит поговорить подробнее. Итак, вперёд!

Интуитивно? Не думаю..

Исследователи искусственного интеллекта склонны подвергать сомнению природу интуитивного. Как только вы зададитесь вопросом, как компьютер может повторить то, что кажется простым для людей, вы заметите: то, что кажется «интуитивно понятным» для нас, может быть очень сложно формализовать. Наше визуальное восприятие человеческого возраста и пола — хороший пример такого тонкого качества.

Элиезер Юдковский — один из важнейших современных авторов для нас, AI-гиков.

Юдковский известен как исследователь безопасности сильного искусственного интеллекта и автор самого популярного фанфика к «Гарри Поттеру», «Гарри Поттер и методы рационального мышления».

Любопытно, что именно в Гарри Поттере появляется прекрасный пример для нашего тезиса, артефакт, который кажется интуитивно понятным:

Обратите внимание

Альбус Дамблдор провёл «Линию Возраста» вокруг «Кубка огня», чтобы к нему не смог приблизиться никто младше семнадцати лет. Магия Линии Возраста была настолько сильной, что даже зелье старения не могло обмануть её.

Даже Юдковский не особенно вникал в механику Линии Возраста в свойственной ему дотошной манере, но сегодня мы попробуем, а заодно ещё и решим задачу определения пола по фотографии.

Как обычно в компьютерном зрении, мы начнём со сверточных нейронных сетей.

Свёрточные нейронные сети

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

Нейронная сеть состоит из простых обучаемых элементов — искусственных нейронов, или перцептронов.

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

В настоящее время практически всё компьютерное зрение основано на свёрточных нейронных сетях (convolutional neural networks, CNN). CNN — это многослойные (глубокие) нейронные сети, в которых каждый нейрон «видит» только очень маленькое «окно» выходов предыдущего уровня.

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

этот пост, который мы всецело рекомендуем прочитать полностью):

В конце концов, после нескольких (иногда нескольких сотен) слоёв мы получаем глобальные функции, которые «смотрят» на всё исходное изображение, и теперь их можно комбинировать относительно просто, чтобы получить метки классов (например понять, является ли изображение собакой, кошкой, самосвалом или Гарри Поттером).

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

Важно

Рассмотрим простой пример фильтра: обнаружение краёв в изображениях. В этом случае вход для такого фильтра — это изображение, где каждый пиксель определяется тремя числами: интенсивностью красного, зелёного и синего цветов.

Мы строим специальное ядро, которое будет применяться к каждому пикселю изображения; выход представляет собой новый «образ», который показывает результаты этого ядра. В принципе, ядро здесь представляет собой небольшую матрицу.

Вот как это работает:

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

Если идея фильтров и ядер стала немного понятной, свёрточные слои в нейронных сетях тоже легко объяснить.

Свёрточный слой — это по сути свёртка, как в примере обнаружения края выше, но теперь мы не задаём матрицу сами, а настраиваем, «натаскиваем» её в процессе обучения сети.

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

Этапы работы модели

Оценка пола и возраста звучит как самая классическая задача машинного обучения: бинарная классификация для полов (боюсь углубляться в дискуссии на эту тему, но да, наши модели живут в бинарном мире) и регрессия для возраста.

Но прежде чем мы сможем решить эти задачи, нам нужно найти лица на фотографии! Классификация не будет работать на картинке в целом, потому что на фотографии может быть, например, сразу несколько лиц.

Совет

А значит, проблема оценки возраста и пола обычно разбивается на два этапа: сначала поиск лиц на фотографии, а затем оценка пола и возраста для каждого из них:

Читайте также:  Socibot-mini: многоликий интерактивный робот

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

Поиск лиц

Поиск лица на фотографии — классическая задача в компьютерном зрении. Её решали вполне успешно ещё до революции глубокого обучения, в начале 2000-х годов, так называемым алгоритмом Виола-Джонса. Это было одно из самых известных применений каскадов Хаара в качестве признаков; но эти дни давно прошли…

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

Но в реальных проектах по машинному обучению надо учитывать и другие свойства модели, помимо качества результатов; было бы хорошо, чтобы модель была достаточно простой, а вывод в модели — достаточно быстрым.

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

Наша модель обнаружения лица использует метод опорных векторов (SVM, классический метод машинного обучения; пожалуй, поля этой статьи слишком узки, так что просто оставим ссылку), который запускается на HOG + SIFT представлении изображения.

Представления HOG и SIFT — это тщательно вручную подобранные функциии, ставшие результатом многолетнего опыта в создании систем распознавания образов.

Оказалось, что это представление хорошо работает с ядерными методами, в том числе и с методом опорных векторов.

Оценка возраста

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

Метод в нашем демо использует архитектуру так называемых «широких остаточных сетей» (Wide Residual Networks, WRN), одну из последних разработок в области распознавания образов, которая достигает лучших результатов быстрее, чем другие ведущие архитектуры. Давайте посмотрим, что такое остаточные сети и почему они так хорошо работают.

Проект ImageNet представляет собой большую базу данных изображений, предназначенную для использования в моделях компьютерного зрения. Революция глубокого обучения в приложении к компьютерному зрению началась в 2010 году именно с резкого продвижения в решении ImageNet Challenge.

Обратите внимание

Результаты на ImageNet были признаны не только в академическом сообществе, но и на практике, а ImageNet стал и до сих пор остаётся самым популярным датасетом общего назначения в компьютерном зрении.

Не вдаваясь в подробности, давайте просто посмотрим на график, сравнивающий победителей нескольких последних лет:

На графике горизонтальная ось показывает, насколько вычислительно сложна модель, круг указывает число параметров, а по вертикали показан собственно результат. Как видно, архитектуры ResNet (это и есть остаточные сети, residual networks) показывают отличные результаты, но при этом ещё и очень эффективны. В чём же их секрет?

Известно, что более глубокие нейронные сети теоретически могут работать лучше, чем более мелкие модели, они более выразительны.

Но оптимизация в глубоких моделях — большая проблема: более глубокие модели труднее оптимизировать из-за особенностей того, как градиенты распространяются от верхних слоёв к нижним (надеюсь, в один прекрасный день мы подробно объясним всё это).

Остаточные соединения — отличное решение этой проблемы: они добавляют «обходные» соединения, и поток градиента теперь способен «пропускать» лишние слои во время обратного распространения ошибки, что приводит к гораздо более быстрой сходимости и более качественному обучению:

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

Материалы по теме:

Системы распознавания лиц не различают азиатов. Как IT-компании с этим борются

Технологии вместо наркотиков: ученые создают «галлюциногенную машину»

ИИ научился определять суицидальные наклонности по снимкам мозга

Хорошие и плохие способы использовать машинное обучение в предвыборной кампании

В нашем Instagram @rusbase сегодня есть на что посмотреть! Подписаться

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Источник: https://rb.ru/opinion/big-brother-is-studying-you/

Нейросетевая идентификация типа личности человека по клавиатурному почерку – международный студенческий научный вестник (электронный научный журнал)

1Жашкова Т.В. 1 Шарунова О.М. 1 Исянова Э.Ш. 11 Пензенский государственный технологический университет1. MathWorks – MATLAB and Simulink for Technical Computing. Режим доступа: http://www.mathworks.com/, свободный.2. Брюхомицкий Ю.А., Казарин М.Н.

Программа аутентификации личности по динамике клавиатурного почерка / Программа для ЭВМ. Рег.№ 2003610944 (17.04.2003). об «Программы для ЭВМ, базы данных, топологии интегральных микросхем», № 2, 2003.3. Гинце А. Новые технологии в СКУД // Системы безопасности. – 2007.4. Типы личности в психологии.

Социальные, психологические и конфиктные типы личности. Определение типа личности. Режим доступа: http://www.psyhodic.ru/arc.php?page=3597/, свободный.5. Горелик А.Л., Скрипкин В.А. Методы распознавания. – М.: Высшая школа, 1984. – 94 с.

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

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

Важно

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

Многие особенности рукописного почерка при работе на компьютере сопоставлять бесполезно, ведь клавиатура и драйверы стандартизируют написание букв.

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

Под типом личности будем понимать совокупность социально значимых личностных характеристик индивида.

В психологии тип личности [4] – это некая абстрактная модель, включающая совокупность характеристик индивида, которые проявляются с определенным постоянством, являясь ответной реакцией на воздействие окружающей социальной среды.

В статье тип личности будет классифицироваться на интровертов и экстравертов.

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

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

Таким образом, объектом исследования в статье является задача идентификации характера человека по клавиатурному почерку с использованием микрофона, для записи сигнала интенсивности удара по клавишам.

Совет

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

В литературе описано два основных математических подхода к решению задачи распознавания клавиатурного почерка пользователя ЭВМ [5]:

– вероятностно-статистический;

– на основе нейросетевых алгоритмов.

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

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

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

Для представления процедуры идентификации рассмотрим диаграмму последовательности (рис. 1), которая раскрывает процессы, происходящие в данной предметной области.

Рис. 1. Диаграмма последовательности

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

Рассмотрим диаграмму состояний подсистемы идентификации описывающая действия при разных вариантах событий (рис. 2).

Рис. 2. Диаграмма состояния подсистемы идентификации

Обратите внимание

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

Таким образом, для идентификации типа личности человека по клавиатурному почерку будет использована нейронная сеть типа GRNN.

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

Для идентификации типа личности человека по клавиатурному почерку необходимо разработать модель идентификации. Синтез модели производился с использованием среды имитационного моделирования Matlab/Simulink и библиотеки Neural Network Bloсkset.

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

Описание блоков представлено в табл. 1.

Рис. 3. Подсистема источников сигнала

Таблица 1

Описание блоков

Наименование блока Назначение
From Аudio Device Записывает сигнал (звук) с микрофона
Gaussian Filter Фильтр, используемый для устранения шумов
To Workspace Блок записывает данные, поступающие на его вход, в рабочую область Matlab

На основе собранных данных создается обобщенная регрессионная сеть GRNN. Сеть была обучена с помощью сигналов блока Source, в котором хранятся сигналы с разной вероятностью отклонения от допустимого значения, а сами сигналы мы получили с микрофона.

Разработанная модель по результатам идентификации выдает вероятность распознавания типа личности человека по клавиатурному почерку (рис. 4).

В данной модели (рис. 4) номер сигнала задается в блоке Constant. После запуска модели в блоке Source выбирается сигнал хранящийся в базе данных. Сигнал преобразуется в блоке Transform для нормального восприятия его нейронной сетью.

Важно

Итак, у нас есть эталонный сигнал интроверта – вероятность равная 1, данный сигнал получен с микрофона и сравнивается с образцами, записанными в предварительно обученной нейронной сети Generalized Regression Neural Network. Блок Display показывает результат идентификации.

Читайте также:  К 2030 году все авто будут управляться искусственным интеллектом

Показания дисплея и величина отклонения приведены в табл. 2.

Рис. 4. Модель подсистемы идентификации сигналов

Таблица 2

Соответствия показаний дисплея и величины отклонения

№ сигнала Показание дисплея Величина отклонения
1 0,7 30%
2 1 норма
3 0,2 80 %

Таким образом, по величине отклонения мы можем судить, какой человек перед нами. Если отклонение больше 50 %, то перед нами экстраверт, меньше – интроверт. По нашим показаниям видно, что первый сигнал принадлежит человеку с типом личности, присущим интровертам, третий сигнал говорит о том, что здесь тип личности – экстраверт. Результат распознавания достигает 95 %.

Библиографическая ссылка

Жашкова Т.В., Шарунова О.М., Исянова Э.Ш. НЕЙРОСЕТЕВАЯ ИДЕНТИФИКАЦИЯ ТИПА ЛИЧНОСТИ ЧЕЛОВЕКА ПО КЛАВИАТУРНОМУ ПОЧЕРКУ // Международный студенческий научный вестник. – 2015. – № 3-1.;
URL: http://eduherald.ru/ru/article/view?id=12087 (дата обращения: 25.02.2019).

Источник: https://eduherald.ru/ru/article/view?id=12087

Распознавание человека на фотографии с помощью dlib

Глубокие нейронные сети можно использовать для проведения биометрической идентификации человека по лицу. Такая идентификация удобна, потому что она выполняется быстро и не требует от человека каких-либо специальных действий. Кроме того, лицо у человека всегда с собой, его нельзя забыть дома или потерять.

Идентификация по лицу применяется во многих системах безопасности и обслуживания. Давайте рассмотрим пример из банковской отрасли. Клиент приходит в банк и показывает паспорт.

Сотруднику банка нужно определить, что паспорт принадлежит именно этому человеку. Эта задача называется верификацией.

Она не так проста, как может показаться, потому что люди в жизни иногда выглядят совсем не так, как на фотографии в паспорте. Например, я с возрастом изменился (хотя и не очень сильно):

Примеры более серьезных изменений можно найти на сайте adme.ru.

Задачу верификации можно решать автоматически, если сфотографировать клиента на web-камеру (это сейчас делают многие банки) и сравнить полученное изображение с фотографией в паспорте. Давайте посмотрим как это можно сделать с помощью глубоких нейронных сетей.

Библиотека машинного обучения dlib

Для распознавания человека на фотографии мы будем использовать библиотеку машинного обучения dlib, которая содержит удобные средства распознавания лиц. Библиотека написана на C++, но у нее есть Python API, который мы и будем использовать.

Установить dlib проще всего вместе с Anaconda. Установите Anaconda для своей операционной системы, а затем выполните команду:

conda install -c conda-forge dlib

Если вы не используете Anaconda, то можно установит dlib вручную по инструкции. Однако этот процесс значительно дольше и сложнее.

Алгоритм верификации

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

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

Такие дескрипторы мы извлечем из фотографии клиента в паспорте и с web-камеры.

Совет

dlib использует модифицированный вариант сети ResNet34. Эта сеть выдает дескрипторы из 128 чисел. Сеть обучена специальным образом так, чтобы дескрипторы фотографий одного человека находились рядом друг с другом, а дескрипторы фотографий разных людей – далеко друг от друга.

Чтобы оценить близость дескрипторов в dlib используется Евклидово расстояние. Если значение Евклидова расстояния между дескрипторами меньше 0.6, то считается, что на фотографиях один и тот же человек. С использованием такой метрики dlib обеспечивает точность 99.38% на тесте распознавания лиц Labeled Faces in the Wild.

Загрузка предварительно обученных моделей

Для работы нам понадобятся предварительно обученные модели для выделения лица на фотографии и извлечения дескрипторов из лица. Эти модели можно скачать с сайта dlib:

Скачанные файлы нужно разархивировать и скопировать в каталог с программой распознавания лиц.

Реализация верификации человека на фотографии

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

import dlib
from skimage import io
from scipy.spatial import distance

Подключаем библиотеку dlib, модуль io из библиотеки scikit-image для загрузки фотографий из файлов, а также модуль distance из библиотеки SciPy, который будет использоваться для рассчета Евклидова расстояния.

Создаем модели для распознавания лиц на основе ранее загруженных файлов:

sp = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
facerec = dlib.face_recognition_model_v1('dlib_face_recognition_resnet_model_v1.dat')
detector = dlib.get_frontal_face_detector()

Загружаем и показываем первую фотографию. Это будет фотография из паспорта:

img = io.imread('sozykin_passport.jpg')
win1 = dlib.image_window()
win1.clear_overlay()
win1.set_image(img)

Фотография выглядит следующим образом:

Находим на фотографии лицо по 68 ключевым точкам с помощью алгоритма, описанного в статье One Millisecond Face Alignment with an Ensemble of Regression Trees:

dets = detector(img, 1)
for k, d in enumerate(dets): print(“Detection {}: Left: {} Top: {} Right: {} Bottom: {}”.format( k, d.left(), d.top(), d.right(), d.bottom())) shape = sp(img, d) win1.clear_overlay() win1.add_overlay(d) win1.add_overlay(shape)

Найденное лицо и ключевые точки на нем будут показаны на фотографии:

Извлекаем дескриптор из найденного лица:

face_descriptor1 = facerec.compute_face_descriptor(img, shape)

Можно напечатать дескриптор и посмотреть, как он выглядит:

Теперь сделаем все то же самое для фотографии с web-камеры:

img = io.imread('sozykin_webcam.jpg')
win2 = dlib.image_window()
win2.clear_overlay()
win2.set_image(img)
dets_webcam = detector(img, 1)
for k, d in enumerate(dets_webcam): print(“Detection {}: Left: {} Top: {} Right: {} Bottom: {}”.format( k, d.left(), d.top(), d.right(), d.bottom())) shape = sp(img, d) win2.clear_overlay() win2.add_overlay(d) win2.add_overlay(shape)
face_descriptor2 = facerec.compute_face_descriptor(img, shape)

Вот так выглядит фотография с выделенным лицом и ключевыми точками на нем:

Теперь у нас есть два дескриптора лиц с разных фотографий face_descriptor1 и face_descriptor2. Чтобы определить, один и тот же человек на фотографиях, или нет, нам нужно найти Евклидово расстояние между дескрипторами:

a = distance.euclidean(face_descriptor1, face_descriptor2)
print(a)

Результат рассчета расстояния:

Евклидово расстояние меньше 0.6, значит две фотографии принадлежат одному человеку.

Фотографии разных людей

Давайте попробуем сравнить фотографии разных людей. Загружаем фотографию другого человека и выделяем ее дескриптор:

img = io.imread('foto.jpg')
win2 = dlib.image_window()
win2.clear_overlay()
win2.set_image(img)
dets_webcam = detector(img, 1)
for k, d in enumerate(dets_webcam): print(“Detection {}: Left: {} Top: {} Right: {} Bottom: {}”.format( k, d.left(), d.top(), d.right(), d.bottom())) shape = sp(img, d) win2.clear_overlay() win2.add_overlay(d) win2.add_overlay(shape)
face_descriptor2 = facerec.compute_face_descriptor(img, shape)

Вот результат обнаружения лица (это фотография моей жены):

Рассчитываем Евклидово расстояние:

a = distance.euclidean(face_descriptor1, face_descriptor2)
print(a)
0.8440052856492404

Расстояние больше 0.6, значит на фотографиях разные люди.

Изменение позы человека на фотографии

Может возникнуть вопрос: зачем выделять ключевые точки на лице? Почему нельзя просто извлекать дескриптор сразу из фотографии лица? Дело в том, что человек может смотреть не прямо в камеру, а в сторону. Например, так:

Если извлекать дескриптор из фотографии повернутого лица, он может сильно отличаться от дескриптора фотографии лица в фас.

Чтобы решить эту проблему, dlib использует афинное преобразование фотографии с использованием ключевых точек.

Обратите внимание

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

Расстояние между дескрипторами на фотографии из паспорта и фотографии, на которой я смотрю в сторону от камеры:

Расстояние больше, чем для фотографии, на которой я смотрю прямо в камеру, но все равно меньше 0.6. Значит на фото один и тот же человек.

Тестирование точности верификации

Пока все работает хорошо. Давайте протестируем более сложный случай: сравним фотографии похожих людей. Я нашел фотографию похожего на меня человека с помощью сервиса FindFace:

Видно, что сходство действительно большое. Расстояние между дескриптором из этой фотографии и дескриптором из фотографии моего паспорта:

Расстояние меньше рекомендуемого dlib значения 0.6, хотя на фотографиях разные люди. Это означает, что не всегда можно использовать значения расстояния, рекомендованные dlib или другой аналогичной библиотекой. Возможно для вашей системы, чтобы добиться необходимой точности, придется снизить границу расстояния до 0.5 или другого значения.

Итоги

Итак, мы научились проводить верификацию человека на фотографии с помощью библиотеки dlib. На первом шаге мы находим на фотографии лицо и его ключевые точки.

Если человек смотрит в сторону, то ключевые точки переносятся таким образом, чтобы лицо было направлено прямо в камеру. Затем из выделенного лица извлекается дескриптор из 128 чисел с помощью предварительно обученной сети ResNet34.

Для определения близости дескрипторов используем Евклидово расстояние.

По рекомендации dlib, если Евклидово расстояние меньше 0.6, значит на фотографиях один и тот же человек. Однако, как мы убедились, если использовать значение 0.

6, то возможны ложные положительные срабатывания на фотографиях похожих людей.

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

Полный текст примера программы верификации человека по лицу в Jupyter Notebook есть в репозитории на github.

Полезные ссылки

Источник: https://www.asozykin.ru/deep_learning/2017/08/11/Foto-Verification-with-Dlib.html

Создана нейросеть, определяющая сексуальную ориентацию по фотографии

Представляющие Стэнфордский университет Михал Косински (Michal Kosinski) и Йилун Вонг (Yilun Wang) разместили в репозитории PsyArXiv небезынтересный материал, посвященный их новому творению — нейронной сети, способной с высокой точностью определять ориентацию человека по чертам лица. Исследователи говорят о высокой научной ценности своей разработки, однако опасаются, что она может выступить инструментом вторжения в личную жизнь человека.

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

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

Важно

На сайте просто не нашли достаточное количество геев и лесбиянок с другим цветом кожи.

Нейронную сеть научили сравнивать фото двух случайно выбранных людей, один из которых был гомосексуалом. Уже по одной фотографии нейросеть демонстрировала правильный результат для мужчин в 81% случаев, а для женщин — в 74%.

Если же число фотографий увеличивали до пяти, то показатель составлял 91% и 83% соответственно. Нейронная сеть справлялась намного лучше людей, перед которыми ставили такую же задачу.

При определении по одному фото их показатели составили 61% и 54%, чего явно недостаточно для успешного распознавания ориентации.

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

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

Взаимосвязь между чертами лица и сексуальной ориентацией / ©Michal Kosinski, Yilun Wang

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

Источник: https://naked-science.ru/article/sci/sozdana-neyroset-opredelyayushchaya

Ссылка на основную публикацию
Adblock
detector