TinyissimoYOLO lightweight visual inspection algorithm for MCU

Publisher:EEWorld资讯Latest update time:2023-06-06 Source: EEWORLDKeywords:MCU Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

While artificial intelligence (AI) algorithms running on larger, more powerful hardware often get the spotlight, the importance of AI at the edge should not be underestimated. Edge AI refers to deploying artificial intelligence algorithms on local devices such as smartphones, cameras, sensors and other IoT devices, rather than relying solely on cloud-based solutions. This decentralized approach offers many benefits and unlocks a wider application space.


One of the key benefits of edge AI is reduced latency. By processing data locally, edge AI eliminates the need for trips to the cloud, resulting in faster response times. This real-time capability is critical in immediate decision-making scenarios such as self-driving vehicles, industrial automation, and critical infrastructure monitoring. Additionally, edge AI enhances privacy and security as sensitive data remains local on the device, reducing the risk of data breaches and ensuring user privacy.


Despite the numerous advantages, running resource-intensive algorithms, such as complex object detection or deep learning models, on edge devices remains a significant challenge. Edge computing devices typically have limited computing power, memory, and power consumption compared to cloud-based hardware. Striking a balance between algorithm accuracy and device limitations is critical to ensuring efficient operation. Optimizations such as model compression, quantization, and efficient inference techniques are necessary to make these algorithms run well on edge devices.


Since understanding and identifying objects in images or videos is a fundamental task in visual perception, object detection algorithms are of special importance across various industries and applications. Currently, great progress has been made in object detection in the field of resource-constrained edge devices, such as Edge Impulse's FOMO algorithm, which runs 30 times faster than MobileNet SSD and requires less than 200 KB of memory. 


For such an important and diverse application area, there is still a lot of room for development.


The latest entry into the field is a study from ETH Zurich. They developed a highly flexible, memory-efficient, and ultra-lightweight object detection network they call TinyissimoYOLO. The optimizations applied to this model make it ideal for running on low-power microcontrollers.


TinyissimoYOLO is a convolutional neural network (CNN) based on the popular YOLO algorithm architecture. It consists of quantized convolutional layers with 3 x 3 kernels and a fully connected output layer. Both convolutional layers and fully connected linear layers have been heavily optimized in hardware and software toolchains for modern devices, giving TinyissimoYOLO improvements in speed and efficiency. It is a general object detection network that can be applied to a wide range of tasks and requires no more than 512 KB of space to store model parameters.


The model can be deployed on almost any hardware that meets its very modest requirements, including platforms with Arm Cortex-M processors or AI hardware accelerators. A variety of devices were tested using TinyissimoYOLO, including ADI MAX78000, Greenwaves GAP9, Sony Spresense and Syntiant TinyML.


While evaluating their approach, the team found that they could run object detection on the MAX78000 board at an astonishing 180 frames per second. This outstanding performance is accompanied by ultra-low power consumption of only 196 µJ per inference. Surprisingly, the tiny model also performed on par with larger object detection algorithms.


However, achieving this functionality requires reducing the size of the target, for example, the image input size is limited to 88 x 88 pixels. This may not be enough resolution for many purposes. Furthermore, as the number of objects increases, the multi-class object detection problem becomes more difficult, so each image supports up to three detected objects.


Despite these limitations, TinyissimoYOLO's versatility, accuracy, and minimal hardware requirements make it one of the options for those looking to perform object detection at the edge.


Keywords:MCU Reference address:TinyissimoYOLO lightweight visual inspection algorithm for MCU

Previous article:Mouser Now Available Microchip Technology WBZ451 Curiosity Development Board for Prototyping Wireless Applications
Next article:Rejecting involution, GigaDevice flexes its muscles at the Munich Shanghai Electronics Show

Recommended ReadingLatest update time:2024-11-23 18:24

Using the microcontroller development board to make temperature-controlled fan PWM speed regulation
The PWM speed regulation principle can be used to control the speed of the system's control object (DC motor). When the temperature is lower than the lower limit of the system-set temperature, the DC motor stops working. When it reaches between the lower and upper limits of the set temperature, it works at a speed of
[Microcontroller]
Summary of MCS-51 MCU instruction system
The MCS-51 single-chip microcomputer instruction system has a total of 111 instructions, which are divided into five categories according to their functions: (1) Data transmission class 28 (2) Arithmetic operations 24 (3) Logical operations 25 (4) Control transfer category 17 (5) Bit operation class 17 (1) Data tran
[Microcontroller]
LED bar graph display and single chip microcomputer interface technology
1 Introduction Bar graph display is also called light column display. The bar graph display method composed of bar graph display is another new type of analog display method different from pointer display. It can not only display the size of the measured value, but also intuitively reflect the change, change tr
[Microcontroller]
Table lookup and shifting problems in single chip microcomputer using C language
The first one is the table lookup method. For example, I have three data char code table={0x01,0x02,0x03} corresponding to 0xa,0xb,0xc respectively. How can I use C language to implement the table lookup to find the corresponding value? Please write a specific syntax implementation for me, and it should be concise and
[Microcontroller]
Closed-loop linear speed control system based on single-chip microcomputer and rotary encoder
O Introduction In cable production lines, it is usually necessary to detect the cable running speed to control the speed of the take-up motor and calculate the length of the cable. The stability of the cabling process parameters is directly related to In this project, the model of the rota
[Industrial Control]
Closed-loop linear speed control system based on single-chip microcomputer and rotary encoder
AVR MCU Program Development and Design without Emulator
When developing single-chip microcomputer programs, many people rely on emulators. Once they leave the emulator, they feel at a loss. In fact, for FLASH memory single-chip microcomputers, programs can be developed quickly and conveniently without emulators. Specifically, you can start from the following aspects: 1.
[Microcontroller]
Intelligent combination control device for various kitchen equipment using PIC microcontroller as main control chip
    This paper introduces the software and hardware design method of vacuum fluorescent screen display in multifunctional kitchen control system. The system uses PIC16F72 single-chip microcomputer as the main control chip to process the collected signals of peripheral sensor detection module and key scanning circuit,
[Microcontroller]
Intelligent combination control device for various kitchen equipment using PIC microcontroller as main control chip
Understanding the classification and performance requirements of automotive control chips (MCU) in one article
01 Introduction to control chips Control chips mainly refer to MCU (Microcontroller Unit), which is a microcontroller, also known as a single-chip microcomputer. It appropriately reduces the CPU's main frequency and specifications, and integrates multiple functional modules and interfaces such as memory, t
[Embedded]
Understanding the classification and performance requirements of automotive control chips (MCU) in one article
Latest Microcontroller Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号