## 2 Related Work
### Classification by the Sensor Implemented in the Vision System  
According to the sensor implemented in the vision system, we divided the embedded vision system into two types:  
1. Web Cam systems;
2. OV2640 Color CMOS systems. Tables 5 and 6 illustrate the given classification and show the hardware characteristics that allow the interconnection of a webcam and vision sensor to achieve image capture in real time. The systems can capture image frames per second and process them depending  
Figure 2: Block diagram of Kendryte K210 SoC. on the hardware characteristics. The frame capture rate determines whether the system can process video in real time or only one frame in an elapsed time. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
\begin{tabular}{c} Object color recognition, \\ Object edges recognition, \\ tracking object \\ \end{tabular} \\ \hline \hline \end{tabular}
\end{table} 
Table 6: Embedded vision system with OV2640 Color CMOS support. Figure 3: Block diagram of ARM Cortex M7 SoC. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
\begin{tabular}{c} Object color \\ recognition, Object \\ edges recognition, \\ tracking object \\ \end{tabular} \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Embedded vision system with webcam support. Figures 4 and 5 show an example of real-time video capture using the two main devices mentioned in the vision system classification. Systems that implement a webcam, such as the Raspberry Pi board, among others, can display data on the video image in real time, such as the coordinates in pixels of the location of the center of an object (in this case, a blue sphere), as well as the frames per second (FPS) and the total time in seconds that it takes for the algorithm to perform the detection for each frame thoroughly. However, for embedding that is compatible with the OV2640 system, such as the ESP32 or the Raspberry Pi Pico, among others, it is only possible to view the detected objects and highlight them in real time without being able to place the coordinates time and FPS data. It is known by experts in the area of embedded vision that the performance results obtained when performing real-time image processing tasks, such as object detection and classification, as well as many others related to security systems, AI applications, and TinyML, among others, depending on the algorithmic architecture with which the image processing actions are being carried out. However, the image capture device's characteristics can also take a relevant role in performing the tasks mentioned above. For applications that use embedded systems to solve tasks involving image processing in real time, as happens in mobile robotics, it is important to mention aspects such as the number of frames per second that the system can process, even the amount of grayscale tones or colors, as well as edges and reliefs, is determined by the quality of the sensor that captures the image and brings the entire spectrum of data composed of color spaces, sizes, shapes, or fine details like edges and textures. Previous works, such as those by [14; 64], have used a 1280 \(\times\) 720-pixel resolution webcam for image capture and the Raspberry Pi model 3B+ for data processing. The image processing algorithm achieved good object detection performance due to the webcam's capabilities. Similarly, in [66], they utilized a 1080p full-HD camera with a pixel resolution \(640\times 480\), leading to accurate line edge detection. It is worth noting that these works executed the image processing algorithm on a computer, not an embedded system, highlighting the difference in hardware limitations. Many others reported using the OV2640 Color CMOS UXGA vision sensor to capture images and carry out processing tasks within hardware-constrained embedded systems because the OV2640 device allows communication with the processing system in a native way through I2c interfaces or SPI protocol.