At the RSCA Conference 2023, I presented a project evaluating the performance of various microcomputers, specifically the AML-S905X-CC and the Raspberry Pi 4 Model B, in running Python-based computer vision algorithms. The primary goal was to identify an affordable and readily available microcomputer solution amid the component shortages caused by the pandemic.
We created three color recognition programs designed to detect colors in pictures, videos, and through a webcam to conduct the evaluation. Each program measured execution time, CPU usage, and memory usage, with tests performed under consistent conditions—machines connected to power—and each program ran ten times to calculate averages. For video tests, we capped program execution at 30 seconds to standardize data collection. Unfortunately, we could not run picture tests on the Raspberry Pi due to hardware issues, so that data was excluded.
We used VirtualBox to standardize performance evaluation for computer vision algorithms. We configured virtual machines to match the Raspberry Pi 4 specifications, utilizing 2000MB of base memory and a quad-core CPU. This setup allowed us to create a baseline for comparison.
We focused on three distinct Reduced Instruction Set Computers (RISC):
Raspberry Pi 4 Model B: Features a Broadcom BCM2711 SoC with a quad-core Cortex-A72 CPU clocked at 1.5 GHz and 2GB of RAM.
Raspberry Pi 3: Equipped with a quad-core ARM Cortex-A53 CPU and 1GB of RAM.
Le Potato: Manufactured by Libre Computer, it includes a quad-core ARM Cortex-A53, a Mali-450 MP3 GPU, and 2GB of RAM.
The results from the video tests are summarized as follows:
Video 1: A solid color cycling through various hues:
Lowest average execution time: Intel(R) Core(TM) i7-11800H @ 2.30GHz with 30.018 seconds.
Highest execution time: Intel(R) Core(TM) i7-13700H @ 2.90GHz with 30.5 seconds.
Lowest average CPU usage: ARMv8 Cortex-A72 @ 1.8GHz with 0.76%.
Highest average CPU usage: Intel i7-1165G7 @ 2.80GHz with 14.01%.
Lowest average memory usage: ARMv8 Cortex-A72 with 57.19%.
Highest memory usage: Intel i7-1165G7 with 73.80%.
Video 2: Involves liquid colors appearing and mixing underwater, with results emphasizing variations in performance due to the complexity of the visual data.
Webcam Testing: Live feed where devices displayed video and detected specific colors:
Highest average execution time: Intel i7-1165G7 with 30.375 seconds.
Lowest average execution time: Intel i7-13700H with 30.018 seconds.
Lowest average CPU usage: ARMv8 Cortex-A72 with 0.47%.
Highest average CPU usage: Intel i7-1165G7 with 1.73%.
Lowest average memory usage: Intel i7-11800H with 50.34%.
Highest average memory usage: Intel i7-1165G7 with 68.43%.
The study highlighted the strengths and limitations of each microcomputer for embedded computer vision applications, demonstrating that the Raspberry Pi 4 performs competitively, especially in video processing tasks. The evaluation underscored the impact of hardware differences on execution time and resource usage, providing insights for selecting optimal platforms for specific computer vision applications. This experience enriched my skills in performance benchmarking, microcomputer architecture, and optimizing applications for real-world constraints.