Кейс: мобильное приложение на основе технологии компьютерного зрения

Мы первыми разработали приложение, которое распознает ложь по мимике

Научить приложение понимать, лжете вы или нет — задача нелегкая. Для этой цели мы использовали самые современные технологии мобильной разработки. Во-первых, это компьютерное зрение, которое распознает лица. Во-вторых, искусственный интеллект, который анализирует лица. В-третьих, машинное обучение, которое наделяет приложение «опытом» распознавания лжи.
Это вкратце.
Какие есть аналоги?
Если посмотреть в магазинах приложений, то на первый взгляд можно найти аналоги нашему. Однако это не совсем так. Точнее, совсем не так. Дело в том, что наше приложение — это скорее попытка создать инновационный научный продукт, нежели развлекательную игрушку. Все остальные мобильные детекторы принадлежат именно ко второй категории и выносят вердикты, не основанные на реальных данных. Мы же постарались сделать так, чтоб ответы были максимально правдивы.
Далее про то, как мы это сделали.

Какие еще решения мы исследовали кроме компьютерного зрения?

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

Компьютерное зрение в действии

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

приложение на основе компьютерного зрения
У нас было несколько задач по возможностям приложения, и вот как мы их решили:

1. Распознавание лица и мимики

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

приложение распознавание лица

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

2. Наглядность движения мимических мышц

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

3. Отслеживание других факторов кроме мимики

Чтобы ответ был наиболее достоверным, мы расширили количество проверяемых метрик. Добавили к мимике отслеживание движения зрачков и пульс. С пульсом, как мы писали в начале, все было не так просто. Раз использование дополнительных гаджетов оказалось плохой идеей, мы решили измерять изменения пульса по изменению цвета лба, так как известно, что гемоглобин поглощает свет, а значит, цвет лица меняется, когда человек нервничает. Здесь возникла новая проблема — качество света в помещении, где идет запись. Для помощи пользователям мы добавили индикатор света на экран записи, который загорается желтым цветом, когда недостаточно света или трясется телефон, и красным, когда совсем темно. Фактор пульса учитывается как второстепенный, так как редко получается добиться идеального освещения.

4. Искусственный интеллект приложения выносит вердикт

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

приложение с искусственным интеллектом

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

5. Обмани приложение

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

6. Обучение распознаванию лжи

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

приложение опрос

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

7. Публикация ответа в соцсетях

Мы интегрировали приложение с соцсетями и добавили функцию «поделиться результатом». В ленте записей пользователя появится скриншот записи с вердиктом. Мы добавили такую возможность, чтобы пользователи могли легко показывать свои результаты друзьям, а возможно и обнародовать чью-то ложь или доказать правоту.
На сегодняшний день приложение Verity выпущено для двух платформ — iOS и Android. В будущем планируем выпустить версию для desktop.

Если у вас есть идеи, как применить мобильные технологии для вашего бизнеса, заходите к нам на сайт и оставляйте заявку или сразу пишите на info@punicapp.com.

Мы первыми разработали приложение, которое распознает ложь по мимике

Научить приложение понимать, лжете вы или нет — задача нелегкая. Для этой цели мы использовали самые современные технологии мобильной разработки. Во-первых, это компьютерное зрение, которое распознает лица. Во-вторых, искусственный интеллект, который анализирует лица. В-третьих, машинное обучение, которое наделяет приложение «опытом» распознавания лжи.
Это вкратце.
Какие есть аналоги?
Если посмотреть в магазинах приложений, то на первый взгляд можно найти аналоги нашему. Однако это не совсем так. Точнее, совсем не так. Дело в том, что наше приложение — это скорее попытка создать инновационный научный продукт, нежели развлекательную игрушку. Все остальные мобильные детекторы принадлежат именно ко второй категории и выносят вердикты, не основанные на реальных данных. Мы же постарались сделать так, чтоб ответы были максимально правдивы.
Далее про то, как мы это сделали.

Какие еще решения мы исследовали кроме компьютерного зрения?

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

Компьютерное зрение в действии

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

приложение на основе компьютерного зрения
У нас было несколько задач по возможностям приложения, и вот как мы их решили:

1. Распознавание лица и мимики

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

приложение распознавание лица

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

2. Наглядность движения мимических мышц

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

3. Отслеживание других факторов кроме мимики

Чтобы ответ был наиболее достоверным, мы расширили количество проверяемых метрик. Добавили к мимике отслеживание движения зрачков и пульс. С пульсом, как мы писали в начале, все было не так просто. Раз использование дополнительных гаджетов оказалось плохой идеей, мы решили измерять изменения пульса по изменению цвета лба, так как известно, что гемоглобин поглощает свет, а значит, цвет лица меняется, когда человек нервничает. Здесь возникла новая проблема — качество света в помещении, где идет запись. Для помощи пользователям мы добавили индикатор света на экран записи, который загорается желтым цветом, когда недостаточно света или трясется телефон, и красным, когда совсем темно. Фактор пульса учитывается как второстепенный, так как редко получается добиться идеального освещения.

4. Искусственный интеллект приложения выносит вердикт

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

приложение с искусственным интеллектом

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

5. Обмани приложение

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

6. Обучение распознаванию лжи

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

приложение опрос

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

7. Публикация ответа в соцсетях

Мы интегрировали приложение с соцсетями и добавили функцию «поделиться результатом». В ленте записей пользователя появится скриншот записи с вердиктом. Мы добавили такую возможность, чтобы пользователи могли легко показывать свои результаты друзьям, а возможно и обнародовать чью-то ложь или доказать правоту.
На сегодняшний день приложение Verity выпущено для двух платформ — iOS и Android. В будущем планируем выпустить версию для desktop.

Если у вас есть идеи, как применить мобильные технологии для вашего бизнеса, заходите к нам на сайт и оставляйте заявку или сразу пишите на info@punicapp.com.

Читайте также