基于Nios Ⅱ软核的人脸检测系统设计
引言
本文引用地址:http://www.amcfsurvey.com/article/190744.htm人脸检测跟踪是计算机视觉中十分重要的研究领域,正受到越来越多的关注。传统基于PC平台的人脸检测跟踪系统体积大,不能满足便携的要求,更不适合露天使用;而采用通用的DSP芯片组成的系统,外围电路较复杂,设计与调试都需要较长的时间,且系统的可扩展性和移植性不好。利用32位Nios Ⅱ软核处理器在FPGA上完成设计,减小了系统的体积,而且在PC上开发的程序可移植到Nios Ⅱ处理器上,实现了片上系统。采用Nios Ⅱ处理器的自定义指令,用硬件实现部分算法,大大提高了数据的处理速度,保证了较好的实时性。在外围电路不变的情况下,通过更新FPGA内部的电路设计,能使系统功能升级和增强。
系统组成及工作原理
人脸检测跟踪系统根据具体应用场合可以定制为不同的功能,而且不同的功能只需要在Nios中写入相应的C语言程序即可,不需要再做硬件板,非常方便。下面介绍一种比较通用的人脸检测跟踪系统。系统的结构如图1所示。
本文设计的人脸检测跟踪系统主要包括三个模块:图像采集模块,人脸检测跟踪模块以及数据通信模块。
图像采集模块
该模块主要包括摄像头和外扩SRAM。本系统采用的图像传感器是OV7620,OV7620是美国OmniVision 公司开发的1/ 3英寸,30 万像素CMOS 彩色图像传感器,该芯片将CMOS 光感应核与外围辅助电路集成在一起,具有可编程控制与视频模/ 数混合输出等功能。该芯片的主要特性有:最大分辨率为664 ×492 ,同时支持VGA (640 ×480 分辨率) 和QVGA(320 ×240 分辨率) 两种模式。输出帧频在0.5fps~30fps 之间可调。输出窗口尺寸在4 ×2~ 664 ×492 之间可调。图像数据输出格式可以为8 位/ 16 位的YCrCb 4 : 2 :2 ITU2656 、IR2601GRB 4 :2 :2或RGB Raw Data。能工作在逐行/隔行扫描方式下,也能工作在彩色/ 黑白模式下。上述的所有性能,用户可以根据自己的需要,通过SC2CB 接口设置芯片内相应的寄存器进行选择。
人脸检测跟踪模块
该模块采用的FPGA选择Altera公司Stratix系列的EP1S25。该芯片的片上资源比较丰富,有25660个逻辑单元(LE),1944576 bit的RAM,10个DSP模块,6个数字锁相环(DPLL),用户可用的I/O最多达到702个。在EP1S25中嵌入Nios软核,控制连接在外部总线上的SRAM和Flash,用它的以太网模块单元控制以太网接口芯片LAN91C11。
其中FPGA 是主芯片,在1 片FPGA 中包含了Nios 处理器、SRAM 控制器、SDRAM 控制器、Flash控制器、UART 以及摄像头和外扩SRAM 控制器的用户逻辑模块。这正体现了Nios 的优势,将很多资源集中在FPGA中为设计PCB 带来了便利, 而且对系统的更改也变得非常容易,只要重新在FPGA 中添加不同的模块就可以了。SRAM 中存储嵌入式系统所用的向量表、数据和程序。Flash 用于在系统掉电的情况下存储程序和数据。
评论