1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/sidi762-smart-vendor

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
readme.md 31 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 07:27 8aacf1c

Основываясь на распознавании жестов, бесконтактный интеллектуальный торговый автомат

Smart Vendor: умный, бесконтактный торговый автомат на основе статического распознавания жестов

Авторы: Лян Сиди, Лю И, Лю Ицюн.

Этот проект является конкурсным проектом конкурса по проектированию встроенных чипов и систем 2022 года. В национальном финале он получил вторую национальную премию.

  _____ __  __          _____ _______  __      ________ _   _ _____   ____  _____  
 / ____|  \/  |   /\   |  __ \__   __| \ \    / /  ____| \ | |  __ \ / __ \|  __ \  
| (___ | \  / |  /  \  | |__) | | |     \ \  / /| |__  |  \| | |  | | |  | | |__) |  
 \___ \| |\/| | / /\ \ |  _  /  | |      \ \/ / |  __| | . ` | |  | | |  | |  _  /  
 ____) | |  | |/ ____ \| | \ \  | |       \  /  | |____| |\  | |__| | |__| | | \ \  
|_____/|_|  |_/_/    \_\_|  \_\ |_|        \/   |______|_| \_|_____/ \____/|_|  \_\  

license
linux OHOS miniprogram
JavaScript Style Guide

Авторские права (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: модель статического распознавания жестов и часть кода обучения.

Установка и запуск

Модуль машинного зрения и распознавания жестов

Требования к среде

  • Комплект разработки Taurus AI от Hi3516DV300.
  • Среда компиляции и исходный код OpenHarmony v3.1 для небольших систем (можно обратиться к официальному документу OpenHarmony для настройки).

Компиляция

Сначала объедините все содержимое папки 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.

Установка

  1. Скопируйте модель gesture_classification_v6.wk из каталога dl на плату разработки Hi3516DV300 в каталог /userdata/models/smart_vendor_ai.
  2. Скопируйте модель hand_detect.wk из каталога dl на плату разработки Hi3516DV300 в каталог /userdata/models/hand_classify/.
  3. Скопируйте двоичный файл smart_vendor_main, полученный после компиляции, на плату разработки Hi3516DV300.

Запуск

На плате разработки Hi3516DV300 сначала включите драйвер hi_mipi_tx:

insmod /ko/hi_mipi_tx.ko

Запустите программу:

./smart_vendor_main

Датчики, привод двигателя и модуль связи IoT

Требования к среде

  • Комплект разработки Wi-Fi IoT от Hi3861V100.
  • Среда компиляции и исходный код OpenHarmony v3.1 для лёгких систем (можно обратиться к официальному документу OpenHarmony для настройки).

Обзор дизайна

Этот проект был представлен на конкурсе по проектированию встраиваемых чипов и систем в 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%. В большинстве случаев модель быстро и точно распознаёт жесты пользователей. Модель устойчива к изменениям окружающей среды.

При хорошей сетевой связи система демонстрирует хорошую стабильность.

Состав системы и описание функций

Проект состоит из пяти основных модулей:

  • Модуль машинного зрения на основе платформы Hi3516DV300 Taurus AI для распознавания жестов;
  • Модуль датчиков, двигателей и связи IoT на базе комплекта Pegasus WiFi-IoT Hi3861V100;
  • Интерфейс управления и визуализации на основе мини-программы WeChat для управления и отображения информации о товарах;
  • Облачная платформа IoT для связи и управления.

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

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

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

Одновременно с обеспечением эффективности и надёжности передачи мы стремимся сделать аппаратную часть системы более компактной.

Инфракрасные датчики человеческого тела

Интеллектуальные торговые автоматы используют инфракрасные датчики человеческого тела для обнаружения приближения клиентов. Когда пользователь приближается, запускается процесс распознавания, что снижает энергопотребление системы. Датчики обнаруживают движение человека на основе принципа электротермического преобразования, и когда кто-то входит в зону обнаружения, они выдают сигнал высокого уровня, как показано на рисунке 10.

Рисунок 10: Инфракрасный датчик человеческого тела

Облачная связь на основе протокола MQTT для интернета вещей

  1. Wi-Fi подключение Наша команда эффективно использует модуль Wi-Fi на Hi3861V100, вызывая собственный API для подключения к Wi-Fi в месте установки. Мы внедрили самодиагностику платформы Pegasus для сети, и при возникновении колебаний сигнала или нестабильности соединения система автоматически восстанавливается и повторно подключается к сети для обеспечения нормальной работы. Устройство оснащено индикатором сетевого подключения для удобства управления со стороны персонала.

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

Рисунок 12: Архитектура программной системы платформы Pegasus

  1. Визуализированный интерфейсный модуль Визуализированный интерфейс реализован через мини-программу WeChat, которая отображается на устройстве, поддерживающем работу этой программы. В дизайне интерфейса мы уделяем особое внимание чёткому представлению информации о продуктах, разделяя страницу на четыре равные части, каждая из которых отображает название и цену товара. Цены выделены красным цветом для акцента. При успешной оплате клиентом, терминал отправляет сигнал «success» на облако, после чего облако перенаправляет его на Pegasus, запуская процесс выдачи товаров. После каждой транзакции терминал обновляет информацию о товарах, извлекая её из облака и отображая на интерфейсе. Это обеспечивает синхронизацию данных.

Рисунок 13: Пользовательский визуализированный интерфейс

  1. Модуль управления бэкендом В бэкенд-управлении торгового автомата мы использовали аналогичную структуру дизайна, выделяя изменяемые элементы синим цветом для удобства обслуживания. Кроме того, мы разработали набор жестов для облегчения обучения работе с этим типом торговых автоматов. Жесты представляют собой стандартные движения для каждого канала товаров, снижая затраты на обучение при первом использовании. Бэкенд-управление также использует протокол MQTT для обмена данными с облаком. При изменении информации о товарах бэкенд немедленно извлекает новые данные и обновляет их. Во время пополнения запасов можно изменять информацию о товарах через интерфейс. Обновлённые данные сразу же передаются на облако для синхронизации. Рисунок 14 представляет интерфейс бэкенд-управления.

Рисунок 14: Интерфейс бэкенд-управления

  1. Модуль облачной платформы интернета вещей Мы используем облачную платформу Tencent IoT в качестве системы управления облачными данными и кратковременного хранилища. Мы выбрали протокол MQTT для связи между различными модулями и облаком, обеспечивая надёжную передачу данных. Различные модули подписываются на разные темы для взаимодействия с облаком, а внутри облачной платформы Tencent IoT мы используем их механизм правил для маршрутизации данных между темами, предотвращая конфликты и обеспечивая надёжность передачи. Структура связи нашей облачной платформы IoT представлена на рисунке 15.

В нашем проекте мы используем сервис «Тень устройства» от Tencent Cloud в качестве посредника для взаимодействия между устройствами и пользовательскими приложениями, позволяя пользователям просматривать и обновлять состояние устройств. Связь между устройством, пользовательским приложением и тенью устройства осуществляется через две специальные темы:

$shadow/operation/${productId}/${deviceName}: используется для отправки сообщений (вверх), позволяя выполнять операции get/update для данных тени устройства. $shadow/operation/result/${productId}/${deviceName}: служит для подписки (вниз) на сообщения, отправленные службой теней устройства в ответ на запросы или уведомления.

Рисунок 16: Передача данных через сервис «Тень устройства»

  1. Аппаратная конструкция проекта На этапе проектирования торгового автомата мы использовали программное обеспечение CAD для моделирования и определения материалов. Прозрачные акриловые панели были выбраны из-за их хорошей прозрачности, что позволяет видеть внутреннюю структуру торгового автомата. Однако мы обнаружили, что акриловые панели вызывают серьёзные отражения света и фоновые помехи. Поэтому во второй версии мы решили комбинировать белые непрозрачные и прозрачные акриловые панели, чтобы не только наблюдать за работой торгового автомата, но и значительно улучшить ситуацию с отражением внутри устройства.

Рисунок 17: Фотография прототипа

Состояние завершения и параметры производительности

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

1. Модуль машинного зрения и распознавания жестов

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

Результаты тестирования показывают, что точность облегчённой модели распознавания жестов составляет около 92%. Хотя это немного ниже точности модели, обученной с использованием фреймворка Pytorch, учитывая потери точности в процессе облегчения, 92% всё ещё находится в пределах ожидаемого диапазона.

Рисунок 19: Изменение потерь (loss) в процессе обучения Рисунок 20: Изменение точности (accuracy) в процессе обучения

2. Сенсорный модуль, управление электродвигателем и связь через интернет вещей

Программное обеспечение

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

Аппаратное обеспечение

Аппаратная сборка и подключение успешно завершены, и система работает нормально. Физический вид представлен на рисунках 21 и 22.

Рисунок 21: Аппаратный вид Рисунок 22: Аппаратный вид

3. Визуализированные интерфейсные модули, бэкенд-модули управления, облачная платформа интернета вещей и аппаратная конструкция

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

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/sidi762-smart-vendor.git
git@api.gitlife.ru:oschina-mirror/sidi762-smart-vendor.git
oschina-mirror
sidi762-smart-vendor
sidi762-smart-vendor
master