УДК 004.891.2

УМНЫЙ ДОМ НА БАЗЕ КАСКАДА НЕЙРОСЕТЕВЫХ РЕШЕНИЙ

№40,

Технические науки

Ульев Андрей Дмитриевич


Научный руководитель: Орлова Ю.А., д.т.н., доцент.


Ключевые слова: ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ; УМНЫЙ ДОМ; КОНТРОЛЬ БЕЗОПАСНОСТИ; УПРАВЛЕНИЕ ДОМОМ; ARTIFICIAL INTELLIGENCE; SMART HOME; SECURITY CONTROL; HOME MANAGEMENT.


Аннотация: В данной работе представлен метод, позволяющий с помощью каскада нейронных сетей, а также группы wifi-контроллеров и ip-камеры реализовать систему идентификации гостей, систему голосового управления бытовой техникой, а также искусственный интеллект, способный поддерживать разговор. Описана архитектура такой системы. Приведены описания модулей системы.

Введение

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

Общая архитектура и основной функционал.

Разрабатываемая система умного дома должна обладать следующими функциональными возможностями:

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

— Распознавание речи. Указанный модуль необходим для приема голосовых команд.

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

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

— Генерация ответов. Этот модуль сможет поддерживать базовый диалог с умным домом.

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

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

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

— Группа модулей безопасности. Эти модули отправят «письмо опасности» на почту/SMS/вызов владельцу системы в случае многократной не идентификации (игнорирования сообщений об опасности) лицом или получения звукового сигнала об утечке газа/воды/дыма. Все модули системы работают параллельно, в многопоточном режиме, обмениваясь данными друг с другом.


Рис. 1. Общая архитектура системы.

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


Рис. 2. Алгоритм работы системы в многопоточном режиме.

Модуль классификации по голосу

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

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

Модуль идентификации личности по видеоизображению

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

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

Для идентификации личности гостей по базе предлагается использовать нейронную сеть FaceRecognition.

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

Модуль захвата аудио и голосового воспроизведения.

Для захвата аудио и перевода голосовой команды в текст используется библиотеки SpeechRecognition, работающая в фоновом режиме. Для воспроизведения голосовых команд были проанализированы несколько бесплатных/частично бесплатных технологий. Однако, такие библиотеки, как pyttsx3, gTTS, windows синтезатор генерируют аудио с механическим оттенток. Ввиду чего было принято решение использовать голосовые функции Яндекс Алиса API. Минимальный тариф позволяет генерировать до 100 000 символов в месяц за 12 рублей. Однако, базовые ответы от Алисы будут сохраняться на жестком диске и в бд. Таким образом, перед запросами к Алисе будет производиться локальный поиск в базе данных указанных голосовых ответов. Такой подходят позволит сократить повторяющиеся запросы к Алисе и увеличить количество генерируемых голосовых ответов.

Модуль интеллектуальных ответов

Для генерации интеллектуальных ответов мы предлагаем использовать модуль DialogFlow. Этот сервис принадлежит корпорации гугл и позволяет разработать свою нейронную сеть (чат бота), способную поддерживать разговор. Подключение к сервису будет осуществляться на основе API. Однако необходимо заранее внести в систему базовые ответы и служебные команды, после чего запустить обучение. Обучение и все вычисления происходят на серверах гугл. Отдельно стоит отметить, что типы входных данный можно группировать. Таким образом мы можем формировать отдельные группы датасетов на каждую тему и дообучать нейронную сеть по мере работы программы.

Модуль контроля безопасности

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

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

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

Развлекательный модуль

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

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

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

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

Модуль контроля освещения

Для контроля яркости и цвета освещения предлагается использовать rgb светодиодные ленты и rgb контроллеры MagicHome. Управление через указанные контроллеры осуществляется путем работы через wifi. Каждый контроллер имеет локальный ip адрес, к которому происходит обращение. Для управления такими контроллерами (как через локальную сеть, так и через интернет) имеется мобильное приложение. Однако, стоит отметить, что существует библиотека на язык программирования python Pyton-MagicHome, с помощью которой также можно осуществлять управление wifi контроллерами. В систему заносятся цвета в текстовом формате и их rgb аналоги. Таким образом, если через модуль голосового управления поступила команда «включить синий цвет», то на wifi контроллер будет отправлен запрос для установки цвета rgb(0, 0, 255).

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

Выводы

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

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


Список литературы

  1. Nevmerzhitsky V. L. Smart home // the Management of innovation: theory, methodology, practice. 2016. Vol. 16, No. 3, P. 93-101
  2. Averin A. I. Intelligent home management. «Smart house» // European science. 2015. No. 4 (5), P. 5-7.
  3. Yandex Alisa. Retrieved from https://dialogs.yandex.ru/store/essentials
  4. HomePod station. Retrieved from https://www.apple.com/homepod/
  5. Cao Z., Simon T., Wei S.-E., Sheikh Y. (2016). Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields. CoRR, abs/1611.08050. Retrieved from http://arxiv.org/abs/1611.08050. DOI: 10.1109/cvpr.2017.143.
  6. Kanazawa A., Black M., Jacobs D., Malik J. End-to-end Recovery of Human Shape and Pose. Retrieved from https://www.researchgate.net/publication/321902575_Endtoend_Recovery_of_Human_Shape_and_Pose?discoverMore=1. DOI: 10.1109/cvpr.2018.00744.
  7. Babkin D. V., Zhigalov K. Yu. Research on the reliability of speech recognition by the system Google Voice Search // Cloud of science. 2015. Vol. 2, No. 3, P. 465-472.
  8. Manoshin D. A. Programming of artificial intelligence // Colloquium-journal. 2019. No. 12 (36), P. 21-23. DOI:10.24411/2520-6990-2019-10331.
  9. Lin C., Auvray V., Elkind. D.. Dialog Simulation with Realistic Variations for Training Goal-Oriented Conversational Systems. CoRR, abs/2011.08243. Retrieved from https://arxiv.org/abs/2011.08243
  10. Polishchuk S., Poznyak A. System of multi-channel lighting and decorative illumination / / Technical Sciences — from theory to practice. 2016. No. 4 (52), P. 143-149.
  11. Bobkov S.A., Rozaliev V.L. Fuzzification of data describing the movement of a person. Open semantic technologies for the design of intelligent systems (OSTIS-2011): mater. intern. scientifictechn. conf. (Minsk, Feb. 10-12. 2011). 2011. P. 483-486
  12. Soleymani S.,Chaudhary B., Dabouei A.. (2020). Realtime Differential Morphed Face Detection Using Deep Siamese Networks. CoRR, abs/ 2012.01541. Retrieved from http://arxiv.org/abs/2012.01541