Justin Status Report 1/31

1/31

This week, I made significant progress by identifying which model we would use and why it is well suited for this board. I selected YOLOv3-tiny because it is small enough to fit within the board’s resource constraints while still maintaining good accuracy when quantized to INT8. It also performs well for real-time video processing, which makes it a strong fit for our application.

In addition, I spent time studying the YOLOv3 model in more detail and analyzing how it would map onto an RTL implementation. From this analysis, I expect the design to primarily require MAC units that will be composed into convolution modules, BRAM for on-chip storage, and support for operations such as Leaky ReLU, Batch Normalization, and Max Pooling. Some pre- and post-processing will likely be handled in software. I am also working on a block-level diagram of the model so I can walk through each layer and determine how to properly parameterize the corresponding RTL modules.

I also explored potential use cases for our design and reviewed several related research papers this week, which helped inform both the architectural choices and application focus.

Paper 1: FPGA Implementation of CNN Accelerator with Pruning for ADAS Applications 

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=10544357&tag=1

 

Paper 2: QuantLaneNet: A 640-FPS and 34-GOPS/W FPGA-Based CNN Accelerator for Lane Detection 

https://pmc.ncbi.nlm.nih.gov/articles/PMC10422460/pdf/sensors-23-06661.pdf

 

Paper 3: A Survey of FPGA-Based Vision Systems for Autonomous Cars 

https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9991145&tag=1

Paper 4: Agricultural machinery automatic navigation technology

https://www.sciencedirect.com/science/article/pii/S2589004223027918

 

Papers 1, 2, and 3 were helpful in expanding the scope of our project and clarifying the eventual use case: a delivery robot that can quickly recognize objects and people in real time.

I also found a GitHub repository where someone implemented a similar approach. This was useful for understanding what data they trained on and how they deployed the model on a board similar to ours.

https://github.com/Yu-Zhewen/Tiny_YOLO_v3_ZYNQ

By next week I hope to start doing the RTL and also researching and starting training the model.  This has to be done as soon as possible.