论文部分内容阅读
随着电子信息技术的迅速发展,嵌入式技术也得到飞速的发展,传统的SOC系统由于其内部各个模块已经事先固定等因素使其已经很难满足当前设计的各种要求,例如在系统的灵活性、资源、开发周期以及成本等各个方面。而SOPC可编程片上系统即是对这些设计问题比较好的解决方案。本系统所使用的Zedboard开发板即是基于Zynq-7000架构的将ARM Cortex-A9处理器与可编程逻辑集成到一起的全可编程SOPC器件。此类架构的器件具有功耗低、开发周期短、面积小、可动态重配置等特点。同时由于可编程逻辑资源本质上是并行的,使得许多图像处理算法能够在硬件上实现。本系统利用软硬件协同设计的方法将图像预处理算法在FPGA的可编程逻辑资源中实现,在此架构上实现一个简易的实时的人脸识别系统。 本设计所完成的主要工作如下: (1)在Zedboard开发板上搭建了嵌入式Linux开发系统,包括linux内核、设备树、u-boot启动文件以及文件系统,并且移植了OpenCV和Qt的库。 (2)研究了相关图像预处理的算法、Adaboost算法、LBP算法、SVM算法等来实现简单的人脸检测以及识别的功能。 (3)应用软硬件协同设计的方法对系统进行软硬件划分。将图像预处理部分的算法采用FPGA的可编程逻辑资源实现,将其余部分的算法通过纯软件实现并在CPU运行。 (4)利用Vivado HLS工具将软件代码的图像预处理部分通过高层综合生成硬件模块,使用FPGA的可编程逻辑资源自定义生成HDMI接口模块,在Vivado工具中搭建本系统的硬件工程,然后将生成的图像预处理部分的硬件模块以及HDMI接口模块添加到系统的硬件工程中。 (5)系统启动,实验结果显示图像预处理部分使用FPGA硬件实现的速度大约是使用纯软件算法实现速度的3倍左右,处理速度得到较大的提高,达到了本系统设计的目的。