1.开源地址
GitHub - Town-Hong/HLS_FaceDetect
2.主要工作
采用Vivado工具软硬件协同开发的方法,将摄像头实时画面采集、人脸肤色检测IP核和VGA显示集成在一个Zedboard嵌入式平台上,完成了系统测试及结果分析。主要工作如下:
(1)使用Vivado高层次综合工具(High-Level Synthesis,HLS)利用C++高级语言在ZYNQ可编程逻辑部分(Programmable Logic,PL)对人脸肤色检测IP核进行编码实现,主要包括:创建YCrCb高斯肤色模型计算肤色相似概率、大津法(OTSU)计算二值化阈值、形态学开运算和IP核硬件端口设计。最终利用HLS针对复杂系统的算术逻辑、资源调用和时间调度提供的优化手段,对人脸肤色检测IP核进行优化。
(2)使用Vivado工具对人脸肤色检测系统进行软硬件协同设计,添加OV7725摄像头图像采集IP、硬件加速的人脸肤色检测IP、DDR3存储IP和VGA显示IP并进行参数配置和端口连线,在ZYNQ处理系统部分(Processing System,PS)使用Vivado SDK进行软件设计,最终搭建了一套完整的实时视频检测通路。
(3)在Zedboard开发板上进行实物连接,对系统进行板上测试和分析检测效果,并通过集成逻辑分析器技术(Integrated Logic Analyzer, ILA)对检测效果做进一步的量化分析和效率评估。最终结果表明,本系统能对人脸肤色区域进行准确的检测,系统稳定且效果良好;提取效率只受工作时钟的影响,在100MHz工作频率下,处理每一帧图像(分辨率640×480)需要3.26ms,已经接近极限效率。