Порівняння ефективності роботи нейронної мережі для розпізнавання зображень на мікроконтролерах

Основний зміст сторінки статті

Ростислав Дмитрович Шаруєв
https://orcid.org/0009-0007-9644-6865
к.т.н. доц. Павло Васильович Попович
https://orcid.org/0000-0002-1572-3127

Анотація

Статтю присвячено порівнянню двох популярних моделей 32 бітних мікроконтролерів для роботи з нейромережами для розпізнавання об’єктів. Як цільові пристрої використано мікроконтролери ESP32 та STM32, на яких було розгорнуто штучну нейронну мережу, написану за допомогою мови програмування Python та бібліотеки TensorFlow. В якості операційної системи для мікроконтролерів обрано Micropython. У роботі виконано порівняння продуктивності мікроконтролерів ESP32 та STM32 для виявлення об’єктів за допомогою нейронної мережі та їх класифікації. Порівняння проведено за часом розпізнавання зображень та відсотком правильно класифікованих об’єктів в залежності від кількості шарів нейронів та кількості епох навчання в рамках даних мереж. У статті показано, що кількість шарів та епох навчання напряму впливає на точність класифікації об’єктів на зображенні. Отримані результати показують, що збільшення кількості шарів нейронної мережі збільшує загальну точність розпізнавання об’єктів за допомогою вивченої нейронної мережі, збільшення кількості навчальних епох логарифмічно збільшує точність розпізнавання та класифікації в рамках нейромережі, але при цьому збільшення кількості шарів нейронів призводить до збільшення загального часу розпізнавання. Аналіз отриманих даних показав, що різниця точності розпізнавання зображень на мікроконтролерах відрізняється в межах 5%, що не є суттєвим, проте відмінність у затраченому часі в середньому склала 2 рази. Під час проведення експерименту помічено, що максимальна кількість шарів нейромережі є обмеженою до 8 для мікроконтролера STM32 через брак постійної та оперативної пам’яті. Через це обмеження повні можливості мікроконтролера ESP32 не було розкрито, тож теоретично система з використанням ESP32 може бути більш ефективною для задач розпізнавання та класифікації об’єктів на зображеннях. Проведений експеримент показав, що збільшення кількості епох навчання збільшує точність, а кількість шарів моделі впливає на початкове значення точності.

Блок інформації про статтю

Як цитувати
[1]
Р. Д. Шаруєв і П. В. Попович, «Порівняння ефективності роботи нейронної мережі для розпізнавання зображень на мікроконтролерах», Мікросист., Електрон. та Акуст., т. 29, вип. 2, с. 300851.1–300851.7, Лип 2024.
Розділ
Електронні системи та сигнали

Посилання

THE ELEC, "Samsung starts development of ‘Galaxy Ring’," THE ELEC, Korea Electronics Industry Media, 19 07 2023. [Online]. Available: https://www.thelec.net/news/articleView.html?idxno=4595. [Accessed 05 02 2024].

Red Hat, "What is a CI/CD pipeline?," Red Hat, Inc., 11 05 2022. [Online]. Available: https://www.redhat.com/en/topics/devops/what-cicd-pipeline. [Accessed 07 02 2024].

STMicroelectronics, "STMicroelectronics website," STMicroelectronics, [Online]. Available: https://www.st.com/content/st_com/en.html. [Accessed 07 02 2024].

ARM, "Cortex-M33," Arm Limited, [Online]. Available: https://www.arm.com/products/silicon-ip-cpu/cortex-m/cortex-m33. [Accessed 12 02 2024].

STMicroelectronics, "STM32H5 Series," STMicroelectronics, [Online]. Available: https://www.st.com/en/microcontrollers-microprocessors/stm32h5-series.html. [Accessed 07 02 2024].

V. Chandra and A. Hareendran, Artificial Intelligence and Machine Learning, Delhi: PHI Learning, 2014.

Alldatasheet, "Broadcom BCM2711," Alldatasheet, [Online]. Available: https://www.alldatasheet.com/datasheet-pdf/pdf/1283902/ETC1/BCM2711.html. [Accessed 07 02 2024].

Raspberry Pi, "Raspberry Pi website," Raspberry, [Online]. Available: https://www.raspberrypi.com/. [Accessed 07 02 2024].

Raspberry Pi, "Raspberry Pi 4 Model B," Raspberry Pi, [Online]. Available: https://www.raspberrypi.com/products/raspberry-pi-4-model-b/. [Accessed 07 02 2024].

R. Sharuiev and P. Popovich, "Research of the Characteristics of a Convolutional Neural Network on the ESP32-CAM Microcontroller," [Online]. DOI: https://doi.org/10.20535/2523-4455.mea.277487

H. Miao and F. X. Lin, "Towards Out-of-core Neural Networks on Microcontrollers," IEEE , 02 01 2023. [Online]. DOI: https://doi.org/10.1109/SEC54971.2022.00008

T. Garbay, P. Dobias, W. Dron, P. Lusich and I. Khalis, "CNN Inference Costs Estimation on Microcontrollers:," Sorbonne Universite, 17 12 2021. [Online]. DOI: https://doi.org/10.1109/ICECS53924.2021.9665540.

P. Warden and D. Situnayake, TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers, "O'Reilly Media, 2019.

X. Jiang, A. Hadidp, Y. Pang, E. Granger and X. Feng, Deep Learning in Object Detection and Recognition, Texas: Computer Science and Engineering Department, University of Texas at Arlington, 2019. DOI: https://doi.org/10.1007/978-981-10-5152-4

R. O. Duda, P. E. Hart and D. G. Stork, Pattern Classification, Toronto: A Wiley Interscience publication John Wiley & Sons, 1973.

U. Kern, "Convolutional neural network (CNN)," [Online]. Available: https://ujjwalkarn.me/2016/08/11/intuitive-explanation-convnets/. [Accessed 17 04 2023].

A. H. Habibi and H. E. Jahani, Guide to Convolutional Neural Networks, Spain: Springer International Publishing, 2017. DOI: https://doi.org/10.1007/978-3-319-57550-6

Python organization, "Python official webpage," Python.org, [Online]. Available: https://www.python.org/. [Accessed 09 02 2024].

Micropython organization, "Micro Python," [Online]. Available: https://micropython.org/download/esp32/. [Accessed 09 02 2024].

Tensorflow organization, "Tensorflow official webpage," Google incorporated, [Online]. Available: https://www.tensorflow.org/?hl=ru. [Accessed 07 02 2024].

Tensorflow organization, "Tensorflow lite compiler," Google incorporated, [Online]. Available: https://www.tensorflow.org/lite?hl=en. [Accessed 07 02 2024].

Stanford University, "ImageNet website," Stanford Vision Lab, 11 03 2021. [Online]. Available: https://www.image-net.org/. [Accessed 15 02 2024].

AI-Thinker, "ESP-32 CAM datasheet," [Online]. Available: https://docs.ai-thinker.com/_media/esp32/docs/esp32-cam_product_specification_zh.pdf. [Accessed 14 02 2023].

STM32 base org., "STM32 Smart V2.0," [Online]. Available: https://stm32-base.org/boards/STM32F103C8T6-STM32-Smart-V2.0.html. [Accessed 09 02 2024].

B. Dickson, "TinyML is bringing neural networks to microcontrollers," TechTalks, 17 01 2022. [Online]. Available: https://bdtechtalks.com/2022/01/17/mcunetv2-tinyml-deep-learning-microcontrollers/. [Accessed 07 03 2024].