该项目在quartus下使用VHDL进行开发。
本项目的重点是创建一个并行的硬件人脸检测实现,使用原始的Viola-Jones(VJ)人脸检测算法在现场可编程门阵列(FPGA)上创建一个并行的硬件人脸检测实现。
为原始VJ算法的软件实现创建单线程和多线程的版本,以便进行性能
比较。硬件系统必须在FPGA上完全实现,捕获帧大小为320x240的实时视频。大小为320x240的实时视频,确定是否有人脸存在,然后输出一个带有方框的视频流 表示检测到的人脸的位置。软件实现分析的静态图像有 单一人脸、6个人脸和53个人脸的图像,图像尺寸为320x240、640x480和1280x960,然后产生一个带有人脸指示器的增强图像。脸部指标的增强图像。这些基准允许在320x240的图像上进行可比的 这些基准允许在320x240的图像上对单个人脸进行性能/成本分析,并允许推断预测FPGA在更高层次的性能。在更高的图像尺寸下,FPGA的性能有更多的可用资源。
主要目标是比较性能,以每秒处理的帧数(FPS)计算,一个低成本的硬件系统与另一个高成本的硬件系统进行比较。低成本的硬件系统与昂贵得多的通用CPU软件系统进行比较。对于320x240的图像,FPGA系统能够以4.4FPS的速度实现检测。相比之下,单线程的软件实现单线程软件实现了有效的7.7、2.6、0.7 FPS,而多线程的实现320x240、640x480和1280x960的图像尺寸下,一张脸的有效FPS为12.9