«Умное зеркало» с функциями распознавания пользователя и персонализации контента на базе GNU-Linux (OSSDEVCONF-2019)
Материал из 0x1.tv
- Докладчик
- Денис Кульбеда
Рассмотрен проект встраиваемого в зеркало информационного табло на базе Raspberry-подобных одноплатных систем и GNU/Linux. Представлена архитектура системы, персональная агрегация контента, а также средства идентификации пользователей на основе распознавания лиц и радио-меток ближнего действия. Рассмотрены варианты конфигурирования устройства с помощью мгновенных сообщений и QR-кодов.
Содержание
Видео
Презентация
Thesis
Интеллектуальные информационные устройства — агрегаторы информационного контента с функцией автоматической идентификации пользователей — находятся в рамках технологии персональных цифровых помощников, которая получила дополнительное ускорение в последние годы, выйдя за пределы более традиционных наладонных компьютеров и смартфонов, с появлением стационарных домашних «виртуальных ассистентов» типа Amazon Alexa[1].
Основой предлагаемой разработки является встраивание такого виртуального ассистента в элементы интерьера, и идентификация пользователя, взаимодействующего с данными элементами интерьера, для выдачи ему персонализованных визуальных оповещений.
В качестве элемента интерьера для встраивания системы предлагается зеркало Гезелла [2]. Зеркала Гезелла в действительности представляют собой стёкла, покрытые тонким слоем металла — так, что часть падающего на поверхность стекла света отражается, а часть проходит насквозь. При этом насквозь свет проходит в обоих направлениях. Принцип действия зеркала и пример использования для системы вывода информации представлен на рисунке:
Использование первых полупрозрачных стёкол относят на счёт американского психолога А. Л. Гезелла. Впоследствии усовершенствованные полупрозрачные зеркальные стёкла получили его имя. Такие стёкла часто используются архитекторами в конструкции новых зданий. Также они активно применяются для оборудования переговорных комнат, комнат служб безопасности и др.
В основе устройства в нашем случае находится одноплатная система 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-код на основе выбранных пользователем опций настройки и выводящего его на экран для «показа».
Примечания и ссылки
- Low J. Two-Way Mirrors http://www.jimloy.com/physics/mirror0.htm
- ↑ Echo & Alexa — Amazon Devices, https://www.amazon.com/Amazon-Echo-And-Alexa-Devices/b?ie=UTF8&node=9818047011 — 8.04.2018.
- ↑ P. Viola, M.J. Jones Robust real-time face detection // International Journal of Computer Vision, vol. 57, no. 2, 2004., pp.137–154.
- ↑ 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.
- ↑ См. также О возможностях применения в вузах аутентификации на основе персональных устройств (Дмитрий Костюк, OSEDUCONF-2018)
Plays:178 Comments:0