Основываясь на распознавании жестов, бесконтактный интеллектуальный торговый автомат
Smart Vendor: умный, бесконтактный торговый автомат на основе статического распознавания жестов
Авторы: Лян Сиди, Лю И, Лю Ицюн.
Этот проект является конкурсным проектом конкурса по проектированию встроенных чипов и систем 2022 года. В национальном финале он получил вторую национальную премию.
_____ __ __ _____ _______ __ ________ _ _ _____ ____ _____
/ ____| \/ | /\ | __ \__ __| \ \ / / ____| \ | | __ \ / __ \| __ \
| (___ | \ / | / \ | |__) | | | \ \ / /| |__ | \| | | | | | | | |__) |
\___ \| |\/| | / /\ \ | _ / | | \ \/ / | __| | . ` | | | | | | | _ /
____) | | | |/ ____ \| | \ \ | | \ / | |____| |\ | |__| | |__| | | \ \
|_____/|_| |_/_/ \_\_| \_\ |_| \/ |______|_| \_|_____/ \____/|_| \_\
Авторские права (c) 2022 Лян Сиди, Лю И, Лю Ицюн.
Эта работа лицензируется в соответствии с лицензией Apache версии 2.0 (лицензия); вы не можете использовать этот файл, кроме как в соответствии с условиями лицензии. Вы можете получить копию лицензии по адресу:
http://www.apache.org/licenses/LICENSE-2.0
Программное обеспечение, распространяемое в соответствии с Лицензией, распространяется на условиях «КАК ЕСТЬ», без каких-либо гарантий или условий любого рода, явных или подразумеваемых. См. лицензию для конкретного языка, регулирующего разрешения и ограничения в рамках лицензии.
./device/soc/hisilicon/hi3516dv300/sdk_linux/sample/taurus/smart_vendor_ai
: модуль машинного зрения и распознавания жестов (программное обеспечение для разработки платы Hi3516DV300)../applications/sample/wifi-iot
: датчики, привод двигателя и модуль связи IoT (программное обеспечение для платы разработки Hi3861V100)../miniprogram_ui
: модуль визуализации интерфейса (мини-программа WeChat)../management_miniprogram
: модуль управления фоном (мини-программа WeChat)../dl
: модель статического распознавания жестов и часть кода обучения.Сначала объедините все содержимое папки device
в папку OpenHarmony. Можно использовать IDE инструмента DevEco Device Tool от Huawei или командную строку. Ниже приведены инструкции по командной строке.
Сначала перейдите в каталог OpenHarmony:
cd OpenHarmony
Используйте инструмент hb для компиляции:
hb set .
ipcamera_hispark_taurus_linux/ipcamera_hispark_taurus
hb build -f
Результаты компиляции находятся в ./out/hispark_taurus/ipcamera_hispark_taurus/bin/smart_vendor_main
.
См. официальный документ OpenHarmony.
gesture_classification_v6.wk
из каталога dl
на плату разработки Hi3516DV300 в каталог /userdata/models/smart_vendor_ai
.hand_detect.wk
из каталога dl
на плату разработки Hi3516DV300 в каталог /userdata/models/hand_classify/
.smart_vendor_main
, полученный после компиляции, на плату разработки Hi3516DV300.На плате разработки Hi3516DV300 сначала включите драйвер hi_mipi_tx
:
insmod /ko/hi_mipi_tx.ko
Запустите программу:
./smart_vendor_main
Этот проект был представлен на конкурсе по проектированию встраиваемых чипов и систем в 2022 году и занял второе место на национальном финале. Торговые автоматы стали широко использоваться с момента их изобретения, принося людям большое удобство. Однако в контексте нынешней эпидемии COVID-19 торговые автоматы с кнопками и сенсорными экранами требуют от пользователей прямого контакта с устройством, что создаёт определённый риск распространения инфекции, поэтому необходимо разработать бесконтактный способ взаимодействия, чтобы снизить риск распространения инфекции и защитить здоровье пользователей[1]. В этом проекте используется машинное зрение и Hi3516DV300 для распознавания жестов вместе с Hi3861V100 WiFi-IoT для датчиков, привода двигателя и модуля связи IoT. Разработка комплекта: интеллектуальный торговый автомат с использованием жестов
Разработан торговый автомат, который использует жесты для взаимодействия. Жесты позволяют выбирать товары и оплачивать покупки бесконтактным способом. Это обеспечивает безопасность и удобство использования.
Проект сочетает технологии интернета вещей (IoT) и дизайн-концепции. Реализованы функции передачи данных, анализа данных и удалённого обновления данных.
Область применения
Торговый автомат имеет широкий ассортимент товаров и прост в установке и обслуживании. Он обладает низкой стоимостью и может быть использован в различных общественных местах. Торговый автомат способствует повышению общей производительности и экономическому развитию.
Благодаря бесконтактному взаимодействию, торговый автомат особенно подходит для больниц, аэропортов и вокзалов, где требуется высокая степень гигиены и безопасности. Автомат обеспечивает личную безопасность клиентов и снижает риск распространения инфекционных заболеваний.
Основные технические особенности
В проекте используется глубокое обучение для распознавания статических жестов. Для этого используется собственная обученная сеть Resnet18, которая распознаёт статические жесты. Распознавание жестов основано на платформе SVP интеллектуального визуального восприятия Hi3516DV300. Видеосъёмка и обработка данных выполняются на самой плате без необходимости передачи видеопотока на сервер. Это позволяет экономить пропускную способность и обеспечивает низкую задержку при использовании.
Система основана на облачной платформе (например, облачной коммуникационной платформе Tencent IoT). Данные передаются через протокол связи IoT MQTT. Используется технология «теневых устройств» для синхронизации данных. Система характеризуется лёгкостью, стабильностью и быстрой передачей данных.
Инновационный подход к торговому автомату заключается в использовании распознавания статических жестов для бесконтактного взаимодействия. Это удовлетворяет потребности торговых автоматов в бесконтактном взаимодействии во время пандемии COVID-19. При этом сохраняется простота использования.
Для распознавания жестов используются Yolo v2 и Resnet18. Собран набор данных из примерно 30 000 изображений статических жестов. Данные разделены на обучающий, проверочный и тестовый наборы в соотношении примерно 6:2:2. В процессе обучения применяются методы увеличения данных, такие как случайное кадрирование, снижение скорости обучения и стохастический градиентный спуск (SGD).
Дизайн основан на облачных технологиях и IoT. Используется протокол связи MQTT для обмена данными между облаком и различными модулями. Это обеспечивает интеллектуальность торгового автомата и гибкость для различных масштабов развёртывания.
Внешний вид и структура торгового автомата разработаны самостоятельно. Учитывается не только функциональность, но и эстетика и практичность.
Ключевые показатели производительности
Точность модели глубокого обучения для распознавания жестов составляет около 92%. В большинстве случаев модель быстро и точно распознаёт жесты пользователей. Модель устойчива к изменениям окружающей среды.
При хорошей сетевой связи система демонстрирует хорошую стабильность.
Состав системы и описание функций
Проект состоит из пяти основных модулей:
Модуль машинного зрения получает видеопоток в реальном времени и выполняет обработку данных на плате. Модуль управляет датчиками, двигателями и связью IoT через последовательный порт UART. Модуль также обменивается данными с облачной платформой IoT через MQTT.
Визуальный интерфейс отображает информацию о доступных товарах и взаимодействует с облачной платформой через MQTT. Мини-программа WeChat предоставляет функции управления, такие как запрос оставшегося количества товаров и изменение информации о товарах.
Облачная платформа IoT обеспечивает управление и контроль над системой. Между сторонами должна осуществляться передача данных. Учитывая эффективность передачи, сложность структуры и другие факторы, наша команда разработала собственный коммуникационный протокол, используя последовательный порт UART для передачи данных.
Одновременно с обеспечением эффективности и надёжности передачи мы стремимся сделать аппаратную часть системы более компактной.
Инфракрасные датчики человеческого тела
Интеллектуальные торговые автоматы используют инфракрасные датчики человеческого тела для обнаружения приближения клиентов. Когда пользователь приближается, запускается процесс распознавания, что снижает энергопотребление системы. Датчики обнаруживают движение человека на основе принципа электротермического преобразования, и когда кто-то входит в зону обнаружения, они выдают сигнал высокого уровня, как показано на рисунке 10.
Рисунок 10: Инфракрасный датчик человеческого тела
Облачная связь на основе протокола MQTT для интернета вещей
Wi-Fi подключение Наша команда эффективно использует модуль Wi-Fi на Hi3861V100, вызывая собственный API для подключения к Wi-Fi в месте установки. Мы внедрили самодиагностику платформы Pegasus для сети, и при возникновении колебаний сигнала или нестабильности соединения система автоматически восстанавливается и повторно подключается к сети для обеспечения нормальной работы. Устройство оснащено индикатором сетевого подключения для удобства управления со стороны персонала.
Облачная интеграция В этом проекте мы используем платформу облачной связи Tencent IoT для удалённого управления и временного хранения данных. Pegasus выступает в роли центрального узла системы, способного передавать информацию о товарах из модуля 3516 на облако. Для быстрой и стабильной передачи данных мы применяем протокол MQTT. Что касается приёма данных с облака, мы создали отдельный поток для мониторинга облака, который позволяет Pegasus быстро анализировать и реагировать на полученные данные. Многопоточная архитектура ускоряет обработку задач и предотвращает взаимное вмешательство между задачами, обеспечивая высокую эффективность и надёжность системы.
Рисунок 12: Архитектура программной системы платформы Pegasus
Рисунок 13: Пользовательский визуализированный интерфейс
Рисунок 14: Интерфейс бэкенд-управления
В нашем проекте мы используем сервис «Тень устройства» от Tencent Cloud в качестве посредника для взаимодействия между устройствами и пользовательскими приложениями, позволяя пользователям просматривать и обновлять состояние устройств. Связь между устройством, пользовательским приложением и тенью устройства осуществляется через две специальные темы:
$shadow/operation/${productId}/${deviceName}
: используется для отправки сообщений (вверх), позволяя выполнять операции get/update для данных тени устройства.
$shadow/operation/result/${productId}/${deviceName}
: служит для подписки (вниз) на сообщения, отправленные службой теней устройства в ответ на запросы или уведомления.
Рисунок 16: Передача данных через сервис «Тень устройства»
Рисунок 17: Фотография прототипа
Мы успешно завершили разработку всех модулей и провели интеграционное тестирование, достигнув полной функциональности проекта и соответствия всем техническим требованиям. Ниже представлено состояние завершения по каждому модулю.
Этот модуль полностью разработан, и все функции реализованы. Точность распознавания и задержка системы соответствуют проектным целям.
Результаты тестирования показывают, что точность облегчённой модели распознавания жестов составляет около 92%. Хотя это немного ниже точности модели, обученной с использованием фреймворка Pytorch, учитывая потери точности в процессе облегчения, 92% всё ещё находится в пределах ожидаемого диапазона.
Рисунок 19: Изменение потерь (loss) в процессе обучения Рисунок 20: Изменение точности (accuracy) в процессе обучения
Программное обеспечение платформы Pegasus было полностью разработано и может работать на плате разработки Hi3861V100. Программа способна распознавать жесты человеческого тела, обмениваться данными с облачной платформой и управлять электродвигателями.
Аппаратная сборка и подключение успешно завершены, и система работает нормально. Физический вид представлен на рисунках 21 и 22.
Рисунок 21: Аппаратный вид Рисунок 22: Аппаратный вид
Мы завершили сборку торгового автомата и установили все модули. Также были проведены функциональные проверки для всех модулей, включая визуализированные интерфейсы, модули бэкенд-управления и связь с облачной платформой интернета вещей. Мы успешно выполнили все этапы процесса, включая обновление информации на бэкенд-панели управления и её автоматическую синхронизацию с облачным сервисом «Тень устройства», а затем отображение обновлённых данных на визуализированном интерфейсе торгового автомата.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )