Rockchip NPU on a Budget: A Look at the Lockfox Max Pro Board for Computer Vision
0:01 Introduction: The video explores the Lockfox Max Pro, a budget-friendly board (under $10) featuring a Rockchip NPU, potentially capable of running Yolov5 at 15 FPS.
1:00 Quick Spoiler: The presenter reveals that the initial promises of the board don't fully hold up, Ubuntu doesn't work well with the Rockchip NPU, Python support is limited, actual performance is closer to 12 FPS with int8 quantization and without non-maximum suppression, and available memory is less than the advertised 128MB.
2:02 System Installation: Installation on Windows is demonstrated using the Rockchip Soc Toolkit, which is described as poorly written and prone to issues with SD card readers. An alternative Linux installation method is mentioned but not tested. Buildroot, a Linux-based system, was attempted but encountered SSH connection problems, which were solved through a system update not mentioned in the official guides.
4:29 Ubuntu vs. Buildroot & Python vs. C++: Ubuntu is deemed unsuitable for utilizing the Rockchip NPU, as many official Rockchip examples and pre-built Python libraries don't function correctly. Buildroot and C++ are presented as more viable options for this board.
5:23 Cross-compilation: Setting up a cross-compilation environment is simpler than initially anticipated. It involves using a specific version of Ubuntu (22.04) on Windows via WSL or Docker on Linux, along with cloning the Lockfox SDK and RKNN repositories.
6:57 Inference with RKNN: Inference on the Rockchip NPU is only possible through C++ and the RKNN framework. While documentation suggests int16 quantization is supported, the Rockchip NPU only supports int8.
8:08 Yolov5 Inference: The official examples showcase Yolov5s quantized to int8, achieving decent speed. However, replicating this with the official Yolov5s repository led to a larger model (9MB instead of 7MB), exceeding the available memory. This memory limitation is attributed to the system reserving half the memory for camera emulation.
9:38 Memory Workarounds: Two potential solutions for the memory issue are presented: rebuilding the system without camera support (untested) or using a 256MB version of the board. Yolov5n (a smaller variant) was successfully tested and achieved an inference time of 63ms.
11:22 Alternative Boards: Several other recently released boards with NPUs are showcased as potential alternatives for future testing.
12:21 Energy Consumption: The board's idle power consumption is around 0.55 watts, while inference increases it to approximately 1 watt.