Система видеомониторинга в удаленных труднодоступных районах с использованием автономных аппаратных платформ и алгоритмов машинного обучения
Доклад магистранта 2 г.о. Бутылкина А.И.
В современном мире применение машинного обучения становится повсеместным. Решаются не только примитивные задачи, но и более сложные, как, например, автопилот для автомобиля. Увеличивается количество и качество данных, на которых можно обучать модели машинного обучения. На ряду с машинным обучением также стремительно развивается, позволяя получать все более сложные системы в одном устройстве, область микроэлектроники. Появляются микроконтроллеры, обладающие памятью в несколько мегабайт и тактовой частотой порядка 480 мегагерц. При этом микроконтроллеры остаются такими же компактным и энергоэффективными.
Совмещение машинного обучения и микроконтроллеров позволяет создавать принципиально новые устройства, способные решать различные задачи. Одним из таких устройств является умная камера, которую можно применять для распознавания различных изображений. Предварительная обработка изображений и видеопотока внутри камеры дает ряд преимуществ: обеспечивается большая автономность системы, уменьшается нагрузка на хост-устройство, уменьшаются потери данных из-за перебоев в связи. А использование технологии LoRa для передачи информации по маломощной сети позволяет увеличить количество способов использования, ведь тогда умной камере не будет требоваться интернет.
Основой устройства является микроконтроллер STM32U575ZI, на базе которого построена отладочная плата NUCLEO-U575ZI-Q. В качестве датчиков выступают: HC-SR501 - инфракрасный датчик движения, OV2640 - модуль камеры, и 2 платы TurtleBoard для модуляции LoRa.Модули LoRa представляет собой низкоскоростной канал связи, и предназначен для передачи информации между камерой и сервером. Один из датчиков подключен к отладочной плате, и получает с нее информацию по интерфейсу UART, другой используется на шлюзе, с которым общается также по UART.Модуль камеры OV2640, использует несколько интерфейсов:1. I2C - предназначен для инициализации модуля, и его настройки.2. DCMI (Digital Camera Memory Interface) - предназначен для получения графических данных с камеры. Основная плата обладает прямым доступом к памяти (DMA), для получения данных по DCMI и отправки данных через интерфейсы UART и I2C. На плате развернута сверточная нейронная сеть, минимизированная с помощью библиотеки TensorFlowLite, целью которой является классификация полученных с камеры изображений.