This reference design implements Convolutional Neural Network (CNN)based human face identification on Lattice’s low power ECP5 FPGA using an image sensor. The training process is completed on a GPU-powered machine to sharpen the CNN to detect points in human face to measure and distinguish the difference between people. This design can be used for identification of other objects by modifying the training database.
The design implemented on hardware includes an SPI, DDR memory interface blocks, an image signal processing engine, 8 CNN acceleration engines and a counting and overlay engine to show registration and identification results. It is optimized for the ECP5 85K LUT FPGA.
When the design is deployed on the FPGA, a person can register their face during the registration phase by extracting and storing 256 16-bit values representing distinguishing characteristics. In the identification phase if a registered person stands in front of the hardware 256 16-bit values are extracted and compared to the stored list of values for verification.