基于TMS320C6713的人脸识别系统设计 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

基于TMS320C6713的人脸识别系统设计

来源:电子网  作者:姜钰 丁万山 南京航空航天大  发布时间:2010-07-12 17:33:53  字体:[ ]

关键字:人脸识别  识别系统  人脸检测  芯片  

摘   要:为了人脸识别的相关算法能快速运行,选择了TI公司的DSP处理器,另附加键盘模块和PAL制式输出模块,可以脱离PC独立对PAL视频信号进行采集和处理,并独立运行人脸的定位,特征抽取以及人脸的识别。硬件方面,系统采用了存储器切换系统,使得图像数据缓存和读取分别由CPLD和DSP独立且同时执行,缩短了数据的处理周期,保证了系统的实时运行。


    系统上电时,TMS320C6713首先对TVP5147初始化,其通过I2C总线实现,DSP自带I2C总线控制器。芯片I2C地址是由芯片引脚I2CA的电平控制的,如该引脚接高电平,则I2C写地址为0xB8,否则为OxBB。

    假如系统初始化为从Y[9..O]端口输出10位的YUV混合视频数据,则可知道其输出符合以下时序,如图5所示。

    图中第一行为DATACLK信号,其为TVP5147芯片提供的数据时钟信号,第二行为数据Y[9…0],当每一行图像开始之前,会有4个SAV信号,同样,结束之后也有4个EAV信号,如图5所示,数据是YCbCr格式,每个像素点的数据为4个数据组成,一次为Cb,Y,Cr,Y。而由图5中可以看出AVID信号为高电平时,表明当前的数据为有效数据。这为CPLD采集有效数据提供了参考信号。同时TVP5147芯片还输出FID信号,该信号为奇偶场指示信号。 
 
    2.2 CPLD读写SRAM

    存储器选择了DS1265AB,它是SRAM存储器,具有存储速度快的优点,并能够在系统掉电时保存数据10年。DS1265具有1 MB的容量,20根地址线,8根数据线,另有WE,OE,CE信号输入端。 

    CPLD选用EPM7128具有价格便宜、计数频率高等优点。将存储器SRAM接到CPLD的IO引脚上,配合时序便能达到对SRAM读写的要求,原理图,如图6所示。 
 

    编写CPLD程序使得输出时序满足SRAM的存储要求,当然对于设计的具体要求,利用两片SRAM分别存储奇偶场的数据,SRAM的切换是由奇偶场信号FID控制多片74HC245实现的,详细过程,如图7所示。当FID处于高电平时,此时M1和M4使能,此时CPLD将地址信号CPLDaddr输入SRAM1中,DSP将地址信号DSPaddr输入至SRAM2中,同时M6和M8使能,由图中可以看出,此时CPLD正向SRAM1写入数据,而DSP正从SRAM2中读取数据,同时M10使能,CPLD的信号CPLDctl控制SRAM1的读写,而DSP的信号DSPctl控制SRAM2的读写,当FID转为低电平时,正好将SRAM1和SRAM2实现了交换。

    以这种方式构建的系统,能同时将视频的两场数据同时记录下来,实现了CPLD和DSP的有机结合。至此CPLD的任务就是将有效的图像数据存储到对应的SRAM中,当TVP5147芯片AVID引脚上升沿时,置地址为初始值00h,即从首地址依次往后写入。每一个数据时钟信号DATACLK上升沿时将TVP5147输出的Y[9…2]存储到当前地址单元,Y0和Y1位舍弃,因为所选择的SRAM数据位为8位,当放弃Y0和Y1位后,降低了图像数据的精度,但对识别效果的影响却很小,然后随着DATACLK每次上升沿的来临,CPLD将地址单元加1,这样实现每一场数据的写入。当切换至另一场数据时,执行的过程相同,只是存储的对象被74HC245强制更改,如此循环,便可将每场数据记录下来。

    2.3 图像输出系统的设计

    系统设计时为了减轻负担,采用电视监控的方法,将小型电视机通过TI公司的视频编码芯片THS8135连接至DSP总线,将得到的YUV数据通过THS8135直接输出至电视AV的视频接收端,并且通过DSP可以将一些信息显示到电视屏幕上,这样使得识别的过程更加人性化。 
 
    3 系统软件设计

    系统硬件调试成功后,需要提供一定的软件算法等,以实现软件和硬件的结合,在此设计中,SRAM是扩展在DSP处理器EMIF上的,DSP处理器通过读信号的触发将有效奇偶场数据分别存储为两个一维数组,以供处理。 
 
    3.1 DSP的图像预处理

    TVP5147芯片输出的图像数据并非RGB格式,而是以YUV格式输出的。需要通过DSP处理器转换成RGB格式,才能进行图像的预处理,转换公式如式(4)所示

    DSP将图像数据读入内存空间,然后对其进行运算,将得到的RGB分别放到对应的存储单元,并算出灰度值Gray,运算公式如式(5)所示

    将最后得到的灰度值存放到对应的数组当中。每张图片由两场图片构成,所以完整的图片分辨率为720×576。但是对于系统本身无需对其每一个像素都进行转换,所以截取其中320×240进行存储,这样每场的分辨率为320×120,大大降低了由YUV到灰度图像预处理和脸部定位的时间,提高了系统的性能。
 

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖