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

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

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

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

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

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

    软件设计包括了:人脸定位、人眼定位、样本存储以及人脸识别。其中样本由DSP自动选取,根据人眼定位和人脸标记方框的大小共同决定,选取一部分大小相等且眼距相同的图片作为训练样本以及待识别样本。在主分量分析过程中,提取出主分量构成特征脸空间,将原样本投影到该空间内一点,再输送到KNN分类器中进行分类。该设备携带方便,功耗低并可通过软件设计将其应用到其他领域,如运动识别、动态跟踪等。 

   1 人脸检测的算法

    人脸检测系统可以分为人脸检测和人脸识别模块,这两大模块又进一步可划分为人脸检测与定位、规范化、特征提取和人脸识别4个模块。其详细结构,如图1所示。

   1.1 人脸的定位

    通过已获得的样本来判断人脸的位置,选取合适的人脸,截取出做样本是重要的步骤。人脸特征定位与特征提取质量的好坏对于人脸图像识别效果有直接的影响。首先确定人眼的坐标(x1,y1)和(x2,y2),由此可间接得到正方形人脸的左上顶点和右下顶点的坐标,设其分别为(X1,Y1)和(X2,Y2),其详细计算方法如下所示

    式中,RH和RV均为经验常数,在设计过程中将其分别取值为2.0和3.5。如此可在原图中得到人脸的区域座标,其尺寸随眼距Widtheyes的大小而变化,但是作为PCA的输入,要求输入样本的维数相同,所以必须对图片进行归一化处理。在设计中将所得人脸区域样本均缩放至24×24。此外还需要对图片进行对比度调节和直方图均衡等操作,以提高识别的准确性。 
 
    1.2 人脸特征提取

    在设计人脸识别分类器时,通常将一幅图片看成一个一维向量。虽然这与传统的将图片看成矩阵形式有差别,但是却能为采用主分量分析(PCA)进行特征脸提取创造有利条件。 
 
    特征脸分类的方法是将一幅图像投影到一个特定“脸空间”的一个点。这个“脸空间”由一股互相正交的向量组成。这些向量便是表征各个人脸聚类的重要组成部分。不同人脸的图片在此空间的相差较远,相同人脸的不同图片在此空间上的投影相距较近。因此可以使用PCA的方法为整个人脸识别系统打下基础。 

    第一步,采集到N个样本用作训练集X,求出样本平均值m,如式(1)所示 

    其中,xi∈样本训练集X=(x1,x2,…,xN)。
    第二步,求出散布矩阵S,如式(2)所示

    根据PCA的基本原理,必须求出散布矩阵的特征值λi和对应的特征向量ei。其中,ei便是主分量,且其对应的特征值的大小代表它包含信息的多少。所以需要将特征值从大到小依次排列λ1,λ2,…。如图2所示,左边是由λ1对应的特征向量重建的人脸图像,基本能分辨出人脸的轮廓,右边是由λ100对应的特征向量重建的图像,看起来更像是噪声,如果将其应用到系统中,对识别是不利的。

    假设取出p个值,λ1,λ2,…,λp可以确定出脸空间E=(e1,e2,…,eP),在此脸空间上,训练样本X中,每个元素投影到该空间的点可以由式(3)得到

    由上式得到的是将原向量经过PCA降维后的p维向量,下一步便是将其输入KNN分类器进行分类。 
 
    1.3 KNN分类器的构建

    KNN的实现分训练和识别两步。训练时,把每类样本降维后的结果作为KNN的输入。K近邻算法将一个测试点x分类为与它最接近的K个近邻中出现最多的那个类别,从测试样本点开始生长,不断扩大区域,直到包含进K个训练样本点为止,并且把测试样本点的类别归为这最近K个训练样本点中出现频率最大的类别。如图3所示,圆圈表示待识别数据所处的位置,选择K值为3时,选中实线圆中的3个数据,识别结果为三角形代表的类;选择K值为5时,选中虚线圆中的5个数据,识别结果为正方形代表的类。所以选取恰当的K值对分类的结果有很大影响。如果K值选取过大时,可能能较正确地分类,但是同时牺牲了性能,提高了计算复杂度。如果K值选取过小,则大大降低了计算复杂度,但是可能会影响分类的准确性。

    2 系统硬件设计

    系统设计时选用TMS320C6713,这是TI公司生产的C6000系列的浮点处理器,其采用了VLIW体系结构,指令运行的等效周期数较低,运行速度较快。图像的采集采用了PAL制式输出的普通摄像头加上TI公司生产的图像编码芯片TVP5147,该芯片支持多种制式,多种接口输入,并可以输出YUV格式的视频数据,同时提供行同步信号和垂直同步信号等。数据暂存使用CPLD和SRAM实现。设计系统构成,如图4所示。 

    2.1 TVP5147芯片 

更多

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

推荐文章

论坛热帖