1.一种人脸识别系统,其特征在于,包括人脸读取模块、人脸处理模块、人脸识别模块、人脸建模模块、人脸数据库和外置的摄像头;
其中,所述人脸读取模块包括图像传输带,所述人脸读取模块通过所述外置的摄像头读取人脸图像,读取的人脸图像为BMP格式,读取完毕后将所述人脸图像传输到图像传输带中,所述图像传输带作为人脸读取模块的数据存储缓存器,用于将BMP格式的人脸图像转换为DIB格式的人脸图像;
所述人脸处理模块负责对DIB格式的人脸图像进行处理,得到非线性转换后的DIB格式的人脸图像,并将处理后的人脸图像发送至人脸建模模块;
所述人脸建模模块根据每一幅非线性转换后的DIB格式的人脸图像中人脸皮肤颜色进行建模,并对建模后的人脸图像消除噪声,然后存入人脸数据库中;
所述人脸识别模块用于对人脸数据库中的人脸图像进行特征提取以及识别;
所述图像传输带包含M个存储区块,所述存储区块之间使用哈希指针连接,所述哈希指针连接为具有先后顺序的单向连接;所述存储区块包含数据存储区和校验区,每一个存储区块的数据存储区中只放置一个BMP格式的图像,在每一个存储区块的校验区中包含有校验数,一个存储区块中的校验数用于对在已使用哈希指针进行单向连接排列在该存储区块之前的所有存储区块进行校验,即校验数用于检验在已使用哈希指针进行单向连接排列在该存储区块之前的所有存储区块中是否存储了BMP格式的人脸图像,检验单向连接排列在该存储区块之前的所有存储区块中的校验区中的校验数是否都为1,如果所有单向连接排列在该存储区块之前的所有存储区块中的数据存储区里都存储了BMP格式的图像并且所有单向连接排列在该存储区块之前的所有存储区块中的校验区里校验数为1,则在该存储区块的校验区中存放数值为1的校验数,校验数的初始值为0;首个产生的存储区块中校验区中的校验数默认为1;
所述人脸读取模块将读取BMP格式的人脸图像的时间作为时间戳加盖到存储该BMP格式的人脸图像的所述存储区块上,并按照时间戳的先后顺序将BMP格式的人脸图像分别存储在1~M个存储区块中,即读取时间最早的人脸图像存储在第一个存储区块中,接着按照读取时间的先后一一存储在存储区块中;
所述人脸读取模块通过校验数开始对新的存储区块之前的M‑1个存储区块进行校验,校验之前的M‑1个存储区块中的校验数是否为1,只有为1时,才以固定的频率将在图像传输带中首个存储区块中的数据存储区中的BMP格式的人脸图像取出,并转换成DIB格式的人脸图像,发送到人脸处理模块,然后所述人脸读取模块将首个存储区块销毁,并在所述图像传输带的尾部加入一个新的存储区块,将通过外置的摄像头读取的人脸图像放入新的存储区块中的数据存储区中;
所述人脸处理模块负责对DIB格式的人脸图像进行处理,得到非线性转换后的DIB格式的人脸图像,并将处理后的人脸图像发送至人脸建模模块,具体步骤包括:
步骤a1,所述人脸处理模块对DIB格式的人脸图像进行光线补偿,即将DIB格式的人脸图像的像素从高到低排列,将排列在前X%的DIB格式的人脸图像的像素提取出来,对排列在前X%的DIB格式的人脸图像的像素进行线性放大,直至所述DIB格式的人脸图像的平均像素到达255;在所述人脸处理模块中内置分布式单元,在每次线性放大前都使用分布式单元进行存储排列在前X%的DIB格式的人脸图像的像素;
步骤a2,人脸处理模块对经过步骤a1处理后的DIB格式的人脸图像进行非线性转换,在非线性转换的过程中,在DIB格式的人脸图像上划分转换区域,每个转换区域为在所述DIB格式的人脸图像上划分的面积范围,使每个转换区域都面积相等,而且互相不重叠,对每个转换区域进行非线性转换,直至所有转换区域都非线性转换完毕,得到非线性转换后的DIB格式的人脸图像;其中,转换区域为规则的正方形或长方形;
所述分布式单元包含两个以上的分布式节点,分布式节点能够再组成分布式节点群,其中,一个分布式节点群中的分布式节点的个数不少于M个,每一个分布式节点存储每一次放大的排列在前X%的DIB格式的人脸图像的像素,设定时间周期T,使用时钟进行计时,计时起点为0,开始往所述分布式节点中存储每一次放大的排列在前X%的DIB格式的人脸图像的像素,存储完毕后再存储到另一个分布式节点中,当时钟的时间为T时,将从时间0到T内被存储过的分布式节点组成一个分布式节点群;
在下一个时间周期T内,再将每一次放大的排列在前X%的DIB格式的人脸图像的像素存储进没有被使用过的分布式节点中,并将存储过的分布式节点组成新的一个分布式节点群;往分布式节点中存储的过程以一个时间周期T内为周期循环反复,并且每个周期前都将时钟清零;并且,在每个分布式节点群中,都会指定一个主节点,所述主节点中只存储每个分布式节点群开始存储的时间与结束存储的时间;
所述人脸建模模块根据每一幅非线性转换后的DIB格式的人脸图像中人脸皮肤颜色进行建模,并对建模后的人脸图像消除噪声,然后存入人脸数据库中,具体步骤包括:
所述人脸建模模块根据每一幅非线性转换后的DIB格式的人脸图像中人脸皮肤颜色进行建模,在建模前对所述非线性转换后的DIB格式的人脸图像进行编码,编码的形式为DIB格式的人脸图像所在分布式节点群中的主节点中存储的开始存储的时间后跟结束存储的时间,在此基础上后跟所述非线性转换后的DIB格式的人脸图像的编号,编号为大于0的正整数,从1开始顺序增加,将编码表示成二进制数,作为正式编码;所述人脸建模模块建模的过程为:将人脸图像从颜色分量相关性高的RGB空间转换到颜色分量相关性低的YCbCr颜色空间,再对人脸图像进行分段线性色彩变换,最后将人脸图像投影到二维子空间,得到肤色聚类模型,从而得到建模后的人脸图像;最后将所述正式编码放入P个数据段中,P为大于1的整数,每个数据段设置一个主键,将所述主键与所述正式编码一一对应;
所述人脸建模模块对建模后的人脸图像消除噪声,消除噪声的方式为膨胀消除方法和腐蚀消除方法,所述膨胀消除方法和腐蚀消除方法同时进行,在建模后的人脸图像中建立N级划分带,N级划分带包含第一级划分带、第二级划分带,…,第N级划分带;所述第一级划分带为直接在所述建模后的人脸图像上进行划分,划分为N个面积相等的矩形区域,在所述矩形区域中,进行膨胀消除方法,即如果矩形区域内的所有像素中只有一个白像素,就将该白像素变为黑像素,并同时进行腐蚀消除方法,即如果矩形区域内的所有像素中只有一个黑像素,就将该黑像素变为白像素;第二级划分带为在所述第一级划分带的基础上进行划分,在第一级划分带划分的面积相等的矩形区域中再划分为N个面积相等的矩形区域,在所述矩形区域中,进行膨胀消除方法,即如果矩形区域内的所有像素中只有一个白像素,就将该白像素变为黑像素,并同时进行腐蚀消除方法,即如果矩形区域内的所有像素中只有一个黑像素,就将该黑像素变为白像素;以及类推,第N级划分带是在第N‑1级划分带划分的面积相等的矩形区域中再划分N个面积相等的矩形区域,并进行膨胀消除方法和腐蚀消除方法,最终得到处理后的人脸图像,并将所述处理后的人脸图像存入人脸数据库中;
所述人脸识别模块用于对人脸数据库中的人脸图像进行特征提取以及识别,具体步骤包括:
步骤b1,对人脸数据库中的人脸图像进行几何归一化处理、灰度化处理;
步骤b2,在人脸识别模块中放置数据存储器,数据存储器能够调用转换函数β,转换函数β用于运行K‑L算法;将一组人脸数据库中的人脸图像表示成n*m的向量A,向量A由m个列向量组成,每个列向量表示人脸图像的非负灰度值,向量A作为输入,输入到数据存储器中,数据存储器被划分为m个数据段,每个数据段具有一个逻辑地址,将列向量分发到各个数据段中;逻辑地址为连续的,即相邻的数据段的逻辑地址也是连续的,并且,相邻数据段中存储的列向量在向量A中为连续的,所有数据段中存储的列向量组成一个n*m的向量A;其中,n为人脸图像的宽度,单位为像素,m为人脸图像的长度,单位为像素;
当向量A作为输入时,发出一个输入信号,当转换函数β收到输入信号,才能被激活,激活后,转换函数β内含的K‑L算法开始运行,运行后转换函数β输出一个成功信号,数据存储器收到成功信号,将所有数据段中存储的列向量清除,运行K‑L算法后,输出人脸图像的生成矩阵,根据人脸图像的生成矩阵进行奇异值分解,得到人脸图像的特征向量,特征向量在主分析方法上存在正向关系与反向关系,正向关系为特征向量利用主分析方法成功地投影,反向关系为特征向量利用主分析方法投影失败,对错误进行标注,当特征向量在主分析方法上存在正向关系,即将投影映射为一组坐标系数,对坐标系数进行标记,标记为k,k初始等于1,标记后,k=k+1,将坐标新手存入人脸数据库中;
步骤b3,当人脸读取模块读取到新的人脸图像时,先将该人脸图像转换为DIB格式的人脸图像,再对DIB格式的人脸图像进行处理,得到非线性转换后的DIB格式的人脸图像,再对人脸图像中人脸皮肤颜色进行建模,并对建模后的人脸图像消除噪声,最后通过人脸识别模块进行特征提取,从而得到新的人脸图像的坐标系数a,将新的人脸图像的坐标系数a与人脸数据库中坐标系数进行比较,坐标系数越相似,表示两幅图像的相似度越高,则人脸数据库中与坐标系数a最接近的坐标系数所对应的人脸图像为与新的人脸图像最相似的图像。