-
山
东
大
学
学生姓名:
陈呈举
学号:
2
专业班级:
物联网
工作单位:
信息工程学院
数据图像处理大作业
2015.6.8
p>
基于
YCrCb
颜色空间的人脸检测
1.1
背景及研究意义
人脸检测
(FaceDetect
ion)
是指在输入图像中确定所有人脸
(
如果存在
)
的位置、大小和位
姿的
过程,
人脸检测的研究目的是使计算机具有类似人脸的脸像识别能力
,
系统输入可能包
含人脸的图像,
输出关于图像中是否存在人脸以及人脸的数目、位置、
尺度、
位姿等信息的
参数化描述。具体地说,就是根据一定的算法确定输入图像是否存在人脸;
如果存在的话,
标出人脸的位置作为人脸检测系统的输出。
人脸检测问题最初来源于人脸识别
(
Face
Recognition)
.
。人脸识别的研究可以追溯到
20
世纪
60
—
70
年代
,
经过几十年的曲折发展已日趋成熟
。
人脸检测是自动人脸识别系统
p>
中的一个关键环节
,
但是由于早期对人脸
识别的研究主要针对约束条件较强的人脸图像
(
如静止的无背景的图像
) ,
常常假设的人脸位置已知或很容易获得
,
因此人脸检测问题
并没有受到大家的重视。
近几年来随着电
子商务应用的快速发展
,
人脸识别逐渐成为最有潜
力的生物身份验证手段。
人脸作为人的特征之一
,
它同虹膜、视网膜
,
和指纹一样具有不可
更改性和唯一性。同时,
人脸提供
了大量丰富的信息,同其他生物特征识别技术相比,
它作
为一个
信息极丰富的模式集合,
是人们之间互相判别、认识、
记忆的主
要标志。人脸识别技
术具有例如操作方便、结果直观、隐蔽性好的优势,是一种非常有潜
力的身份验证途径,也
是近年来机器视觉、图像处理、模式识别、神经网络等领域非常热
门的课题之一。
人脸是一类具有相当复杂的细节变化的自然结构模式
,
此类目标的检测问题的难点在
于
:
( 1)
人脸由于外貌、表情、肤色等不同
,
具有模式的可变性
; ( 2)
一般意义下的人
脸上
,
可能存在眼镜、
胡须等附属物
;(
3)
作为三维物体的人脸的影像不可避免地受由光照
产生的阴影的影响
.
因此
,
我们如果能够找到方法解决这些问题
,
成功构造出人脸检测系
统
,
就可以为
解决其它类似的复杂模式检测问题提供重要的基础。
<
/p>
虽然人脸作为一种自然形体具有很强的共性,但是,由于个体的外貌差异、表情变化以
p>
及图像在采集时所受光照、
角度等因素的影响,
使得我们所得到的人脸图像是有着复杂而细
致的模式变化的,
这就加大了人脸检测的复杂性。
现在,
我们还没有找到一种能
够适应各种
情况的通用检测方法,那些已有的算法和软件对使用环境都有着太多的要求。
1.2
人脸检测技术研究现状
人脸检测作为人脸信息处理中的一项关键技术,
具有着广阔的应用前景
,
它越来越受到
研究者们的关注。当今国外从事人脸检测研究机
构非常多,比较著名的有
MIT
,
CMU
等;
国
内的有清华大学、
中科院计算所和自动化所等。
p>
并且
MPEG
标准组织已经建立了人脸
识别草
案小组,
人脸检测算法也是一项征集的内容。
近年来人脸检测技术的研究已经取得了很大进
步,
研究出了许多新的人脸检测方法。
目前人脸检测的方法主要分为四类:
< br>基于知识的方法、
基于特征的方法、基于模板匹配的方法和基于外观学习的方法。
1.3
人脸检测技术路线
1
)将基于彩色空间的
RGB
模型转换为
YCbCr
模型(考虑到人脸的生理特征,只采
取
了
Cr
分量作为辅助)
2
)阈值分割,根据多次实验发现,正常黄种人的
Cr
分量大约在
140~·
160
之间
3
)滤波,本实验采用性能较好的中值滤波
4<
/p>
)特征区域提取,利用
matlab
的<
/p>
bwlabel
函数
< br>5
)对标记的特征区域利用高宽度之比和面积两个指数来进一步简化特征区域
p>
1.4
具体实验代码及开发说明
p>
1
)
rgb->ycbcr
%
公式
Y
=
0.2990*R
+
0.5780*G
+
0.1140*B
+
0
%
公式
Cr
=
0.5000*R
-
0.4187*G
-
0.0813*B
+
128
%
公式
Cb
=
-0.1687*R
-
0.3313*G
+
0.5000*B
+
128
本实验直接采用
mtalab
自带函数
rgb2ycbcr()
p>
转换就
OK
了。
I1=imread('blue_');
si=size(I1);
m=si(1);n=si(2);
img1=rgb2ycbcr(I1);
cr1=img1
(:,:,3);%
大小为
mxn
的二
维矩阵
2
)阈值分割
cr3=cr1;
for i=1:m
for j=1:n
if(cr3(i,j)>140&&c
r3(i,j)<160)%140~160
为本人实验多次得到的
合理值
cr3(i,j)=255;
else
cr3(i,j)=0;
end
end
end
3
)中值滤波器(采用的是
5x5
的子模板)
c_r=cr3;
for i=3:m-2
for j=3:n-2;
tem
p=cr3(i-2:i+2,j-2:j+2);%
提取
5x
5
区域
temp1=sort(temp);%
排序
c_r(i,j)=temp1(13);%
中值
end
end
4
)利用
bwlabel
进行特征区域提取
关于
matla
b
函数
bwlabel:[L,
num]
=
bwlabel(BW,
n);
<
/p>
根据领域的链接性质,
将整个区域分为
n
um
个子区域,
L
为一矩阵,
其中每个
子区域在此矩阵中的值为子区域的序号。值得注意的是,序号为
0
的情况(我
理解为背景,直接弃之不
用)。
n
指的是领域性质,
4
邻域
or8
邻域。
举个例子,
BW =
logical ([1 1 1 0 0 0 0
0
1 1 1 0
1 1 0 0
1
1 1 0 1 1 0 0
1 1 1 0 0 0 1 0
1 1 1 0
0 0 1 0
1
1 1 0 0 0 1 0
1 1 1 0 0 1 1 0
1 1 1 0
0 0 0 0]);
3
种背景颜
色分别表示
3
个子区域,剩下的即为区域
0
,理解为背景吧。
对应生成的<
/p>
L
矩阵即为
%
L = bwlabel(BW,4)
;
L =
1 1 1 0 0 0 0 0
1 1 1 0 2 2
0 0
1 1 1 0 2
2 0 0
1 1 1 0
0 0 3 0
1 1 1
0 0 0 3 0
1 1
1 0 0 0 3 0
1
1 1 0 0 3 3 0
1 1 1 0 0 0 0 0
我的做法是在当前路径下重新定义了一个子函数
findlimit()
。
function
[l,kk]=findlimit(I)
%l
为已分类有序矩阵
%kk
为特征区域的序号
tt=size(size(I));
if tt(2)==3
%
若
p>
I
为
3
维矩阵,则
需要转换为灰度图像
J=rgb2gray(I);
else
%I
为
p>
3
维矩阵
J=I;
end
%[m,n]=size(J);
[l,num]=bwlabel(J,8);
area=z
eros(1,num+1);%
面积
zhonghengbi=zeros(1,num+1);%
比例
< br>
%re=zeros(num+1,4);
re1=zeros(num+1,2);
for
k=0:num
[r,c]= find(l==k);
% re(k+1,1)=min(r);
%
垂直方向最小值(上)
% re(k+1,2)=max(r);
%
垂直方向最大值(下)
% re(k+1,3)=min(c);
%
水平方向最小值(左)
% re(k+1,4)=max(c);
%
水平方向最大值(右)
re1(k+1,1)=max(r)-min(r);%
高度
re1(k+1,2)=max(c)-min(c);%
宽度
zhonghengbi(k+1)=re1(k+1,1)/re1(k+
1,2);%
高宽比
if(re1(k+1,2)==0) zhonghengbi(k+1)=0;end%
防止出现单条
垂直线的情况
area(k+1)=re1(k+1,1)*re1(k+1,2);
end
j=1;
for
i=1:num+1
if
zhonghengbi
(i)>0.2&&zhonghengbi(i)<3.0&&area(i)>1000
< br>%
高宽比设置为
0.2~3.0
之间,面积认为大于
1000
,注意面积为随机项,
与图片大小有很大的关系
kk(j)=i-1;
j=j+1;
end
end
5
)把特征区域整个提取出来
在此之前定义了一个判断序号是否在提取出的特征区域内的
isson
()
函数,如
下:
function x=isson(y,I)
x=0;
z=size(I);
for i=1:z(2)
-
-
-
-
-
-
-
-
-
上一篇:家具行业英汉翻译词汇
下一篇:塑胶行业英文专业用语