«Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019)

Материал из 0x1.tv

(перенаправлено с «20190829C»)
Докладчик
Денис Кульбеда

Рассмотрен проект встраиваемого в зеркало информационного табло на базе Raspberry-подобных одноплатных систем и GNU/Linux. Представлена архитектура системы, персональная агрегация контента, а также средства идентификации пользователей на основе распознавания лиц и радио-меток ближнего действия. Рассмотрены варианты конфигурирования устройства с помощью мгновенных сообщений и QR-кодов.

Видео

on youtube


Презентация

«Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf «Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019).pdf


Thesis

Интеллектуальные информационные устройства — агрегаторы информационного контента с функцией автоматической идентификации пользователей — находятся в рамках технологии персональных цифровых помощников, которая получила дополнительное ускорение в последние годы, выйдя за пределы более традиционных наладонных компьютеров и смартфонов, с появлением стационарных домашних «виртуальных ассистентов» типа Amazon Alexa[1].

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

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

Умное зеркало OSSDEVCONF-2019 kulbeda1.png
Умное зеркало OSSDEVCONF-2019 kulbeda2.png

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

В основе устройства в нашем случае находится одноплатная система Raspberry Pi 3 c 7-дюймовым дисплеем, входившим в официальную поставку. Альтернативой является подключение большего дисплея по интерфейсу HDMI; однако, поскольку дисплей закрепляется с обратной стороны зеркала и обеспечивает собственно вывод информации для пользователя, ему необходим достаточный запас яркости, и наш опыт попыток применения для этой цели более дешевых дисплеев говорит о необходимости осторожного отношения к выбору данного компонента.

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

Доступ в сеть для обмена данными — загрузки персонализованного контента для конкретного пользователя – устройству обеспечивается посредством WiFi, а также в системе предусмотрена возможность подключения USB-модема с сим-картой.

В качестве программной платформы выбрана GNU/Linux (использован дистрибутив Raspbian) и библиотека Qt. Для определения лица в системе применяется функционал библиотеки OpenCV. На этапе обнаружения используется метод Виолы-Джонса, когда окно установленного размера движется по изображению, и для каждой области изображения, над которой проходит окно, рассчитывается признак Хаара. Наличие или отсутствие предмета в окне определяется разницей между значением признака и обучаемым порогом[2][3]

Кроме того, в проекте опробовано распознавание пользователя по Bluetooth-устройствам ближнего действия и по RFID-метке[4] (распознавание RFID-меток выполняется считывателем RFID RC522, подключенным к GPIO):

Идентификация пользователя

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

  • использование управляющих команд в приходящих на модем SMS-сообщениях (этот же канал, наряду с RSS, может служить источником персонализованных данных);
  • применение QR-кодов, считываемых камерой устройства.

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

«Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019)!.jpg

Примечания и ссылки


  1. Echo & Alexa — Amazon Devices, https://www.amazon.com/Amazon-Echo-And-Alexa-Devices/b?ie=UTF8&node=9818047011 — 8.04.2018.
  2. P. Viola, M.J. Jones Robust real-time face detection // International Journal of Computer Vision, vol. 57, no. 2, 2004., pp.137–154.
  3. P. Viola, M.J. Jones Rapid Object Detection using a Boosted Cascade of Simple Features // Proceedings IEEE Conf. on Computer Vision and Pattern Recognition (CVPR 2001), 2001.
  4. См. также О возможностях применения в вузах аутентификации на основе персональных устройств (Дмитрий Костюк, OSEDUCONF-2018)