人脸检测系统的SoPC设计
发布时间:2008/5/26 0:00:00 访问次数:550
    
    
    作者:西安电子科技大学电路cad研究所 孙莹涛 李玉山
    
    引言
    
    人脸检测跟踪是计算机视觉中十分重要的研究领域,正受到越来越多的关注。传统基于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 用于在系统掉电的情况下存储程序和数据。
    
    数据通信模块
    
    根据实际情况选择用以太网或gprs把人脸检测跟踪后的结果发送到主控制站。在有以太网连接的条件下优先选用以太网连接,可以提供较高的传输速率和可靠性,在没有以太网的条件下选用gprs进行通信。同时,如果用户需要,也可以直接在lcd上显示。
    
    
    
    图1 基于nios ⅱ软核的人脸检测系统设计
    
    人脸检测跟踪算法的实现
    
    在实现人脸检测跟踪算法之前,图像的预处理很重要。图像预处理主要有噪声滤除和图像增强,提高图像的质量。本系统采用中值滤波进行噪声滤除。与其它滤波方法相比,中值滤波不仅能有效滤除图像中的孤立噪声点,还能保护边界信息。图像增强技术主要包括直方图修改处理、图像平滑处理和图像锐化处理等。所以,实际的人脸检测系统采用图像增强来消除光照影响。
&nb
    
    
    作者:西安电子科技大学电路cad研究所 孙莹涛 李玉山
    
    引言
    
    人脸检测跟踪是计算机视觉中十分重要的研究领域,正受到越来越多的关注。传统基于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 用于在系统掉电的情况下存储程序和数据。
    
    数据通信模块
    
    根据实际情况选择用以太网或gprs把人脸检测跟踪后的结果发送到主控制站。在有以太网连接的条件下优先选用以太网连接,可以提供较高的传输速率和可靠性,在没有以太网的条件下选用gprs进行通信。同时,如果用户需要,也可以直接在lcd上显示。
    
    
    
    图1 基于nios ⅱ软核的人脸检测系统设计
    
    人脸检测跟踪算法的实现
    
    在实现人脸检测跟踪算法之前,图像的预处理很重要。图像预处理主要有噪声滤除和图像增强,提高图像的质量。本系统采用中值滤波进行噪声滤除。与其它滤波方法相比,中值滤波不仅能有效滤除图像中的孤立噪声点,还能保护边界信息。图像增强技术主要包括直方图修改处理、图像平滑处理和图像锐化处理等。所以,实际的人脸检测系统采用图像增强来消除光照影响。
&nb