图像人脸区域隐私保护系统设计.docx
《图像人脸区域隐私保护系统设计.docx》由会员分享,可在线阅读,更多相关《图像人脸区域隐私保护系统设计.docx(18页珍藏版)》请在冰豆网上搜索。
图像人脸区域隐私保护系统设计
课程设计说明书
题
课
目:
程:
图像人脸区域隐私保护系统设计
数字图像处理课程设计
院(部):
信息与电气工程学院
专
班
业:
级:
电子信息工程
学生姓名:
学
号:
指导教师:
完成日期:
山东建筑大学信息与电气工程学院课程设计说明书
摘要……………………………………………………………………………………………………………31设计目的…………………………………………………………………………………………………42设计要求………………………………………………………………………………………………….53设计内容………………………………………………………………………………………………….6
3.1、具体设计………………………………………………………………………………………….63.1.1、图像输入设计………………………………………………………………………63.1.2、图像肤色区分设计………………………………………………………………7
3.1.3、对肤色图进行修补处理设计………………………………………………73.1.4、网格标记图像设计………………………………………………………………72.1、5、人脸识别标记………………………………………………………………………93.1.6、对原图像进行脸部模糊处理………………………………………………10
总结与致谢…………………………………………………………………………………………………11参考文献………………………………………………………………………………………………………12附录………………………………………………………………………………………..13
摘要
近年来随着科技和人们的生活水平的提高,生物特征识别技术在近几十年中飞速发展。
作为人的一种内在属性,并且具有很强的自身稳定性及个体差异性,生物特征成为了自动身份验证的最理想依据。
人脸识别由于具有直接,友好,方便的特点,使用者易于为用户所接受,从而得到了广泛的研究与应用。
除此之外,我们还能够对人脸识别的结果作进一步的分析,得到有关人的性别,表情,年龄等诸多额外的丰富信息,扩展了人脸识别的应用前景。
人脸是准确鉴定一个人的身份,推断出一个人的种族、地域,地位等信息的重要依据。
科学界从图像处理、计算机视觉等多个学科对人脸进行研究。
人脸识别在满足人工智能应用和保护信息安全方面都有重要的意义,是当今信息化时代必须解决的问题。
本设计用MATLAB对图像的读取,在识别前,先对图像进行处理,再通过肤色获得可能的脸部区域,最后根据人脸固有眼睛的对称性来确定是否就是人脸,同时采用高斯平滑来消除图像的噪声,再进行二值化,二值化主要采用局域取阈值方法,接下来就进行定位、提取特征值和识别等操作。
经过测试,图像预处理模块对图像的处理达到了较好的效果,提高了定位和识别的正确率。
为保护当事人或行人的隐私权,需要将图像中当事人的人脸区域作模糊,实现图像中人脸区域隐私保护。
2
山东建筑大学信息与电气工程学院课程设计说明书
关键词:
人脸识别;图像处理;图像模糊
1设计目的
随着社会的发展和技术的进步,特别是近年来计算机在软硬件方面性能的飞速提升,各应用领域对快速高效的身份验证的要求日益迫切。
由于生物特征是人的内在属性,具有很强的自身稳定性和个体差异性,因此成为身份验证的最理想依据。
其中,利用人脸特征进行身份验证又是最自然最直接的手段。
人脸识别系统与指纹、虹膜、掌纹等其他人体生物特征识别系统相比,更加友好、方便,更易于为用户所接受。
所谓人脸识别(FaceRecognition),分析人脸图像,从中提取有效的识别信息,用来辨别身份的一门技术。
即,对己知人脸进行标准化处理后,通过某种方法和数据库中的人脸标本进行匹配,寻找库中对应人脸及该人脸的相关信息。
人脸识别技术应用背景十分广泛,可用于公安系统刑侦破案的罪犯身份识别、身份证及驾驶执照等证件验证、银行及海关的监控、自动门卫系统、视频会议、机器人的智能化研究以及医学等方面。
人身辨别方法主要是通过人身标识物品和人身标识知识两种方式来实现的。
常见的人身标示物品有钥匙、证件等各种标识,人身标示知识有用户
3
山东建筑大学信息与电气工程学院课程设计说明书
名、密码等。
众周知,像钥匙、证件标识等人身标识物品很容易丢失或被伪造,而标识知识容易遗忘或记错,更为严重的是传统身份识别系统往往无法区分标识物品真正的拥有者和取得标识物品的冒充者,一旦他人获得标识物品,也可以拥有相同的权力,电视采访、街景地图等应用中,为保护当事人或行人的隐私权,需要将图像中当事人的人脸区域作模糊或马赛克处理。
因此具有广阔的应用前景和商业价值。
2设计要求
1、读取人物图像。
2、对图像进行数字图像处理。
1、对人脸识别。
2、对人脸进行模糊或者马赛克处理。
3设计内容
本设计的系统总方案设计方框图如图1所示。
4
山东建筑大学信息与电气工程学院课程设计说明书
图1系统总设计方框图
3.1、具体设计
3.1.1、图像输入设计:
RGB=imread('gaoyuanyuan.jpg');%face02,04,06YCbCr=rgb2ycbcr(RGB);%将RGB色彩值变换为YcbCr色彩空间(将
RGB真彩色图像转化为YcbCr色彩空间中相等的图像)
Y=YCbCr(:
:
1);%这三行分别是Ycbcr空间的y,cb,cr对应矩
阵
Cb=YCbCr(:
:
2);
Cr=YCbCr(:
:
3);
imshow(RGB);title('原始图像RGB');%原始图像figure,imshow(YCbCr);
title('YcbCr色彩空间的图像');%进行将RGB色彩值变换为YcbCr
色彩空间的图像
如图2所示:
5
山东建筑大学信息与电气工程学院课程设计说明书
6
山东建筑大学信息与电气工程学院课程设计说明书
图2原图像与YCbCr图
3.1.2、图像肤色区分设计:
I=RGB;
W=size(YCbCr,1);%y对应矩阵宽大小H=size(YCbCr,2);%y对应矩阵高大小
k=(2.53/180)*pi;
m=sin(k);n=cos(k);%正余弦噪声
%%%111111*********111111111111
cx=109.38;cy=152.02;ecx=1.60;
ecy=2.41;a=25.39;b=14.03;%(cb=(100,140),cr=(70,160)这是阈值,这个阈值应该是人脸肤色的范围
fori=1:
W
forj=1:
H
ifY(i,j)<110
7
山东建筑大学信息与电气工程学院课程设计说明书
I(i,j,:
)=0;
elseif(Y(i,j)<=200&Y(i,j)>=110)
x=(double(Cb(i,j))-cx)*n+(double(Cr(i,j))-cy)*m;
y=(double(Cr(i,j))-cy)*n-(double(Cb(i,j))-cx)*m;
if((x-ecx)^2/a^2+(y-ecy)^2/b^2)<=1
I(i,j,:
)=255;
elseI(i,j,:
)=0;
end
elseifY(i,j)>200
x=(double(Cb(i,j))-cx)*n+(double(Cr(i,j))-cy)*m;
y=(double(Cr(i,j))-cy)*n-(double(Cb(i,j))-cx)*m;
if((x-ecx)^2/(1.1*a)^2+(y-ecy)^2/(1.1*b)^2)<=1I(i,j,:
)=255;%肤色部分变为白色
elseI(i,j,:
)=0;%其余转成黑色
end
end
end
end
figure,imshow(I);title('肤色区分后的图像');%进行将肤色识别
后的黑白图像
如图3所示:
8
山东建筑大学信息与电气工程学院课程设计说明书
图3肤色区分后的图像
3.1.3、对肤色图进行修补处理设计:
se1=strel('square',35);%这个函数可以创建边长35的方形元素f0=imclose(I,se1);%利用上面创建的方形元素,弥补imshow(I)
中人脸中以及其他部分残留的小块黑色
figure,imshow(f0);
title('修补漏洞后的人脸');%显示修补漏洞后的人脸
如图4所示:
9
山东建筑大学信息与电气工程学院课程设计说明书
图4修补漏洞后的人脸图
3.1.4、网格标记图像设计:
BW=im2bw(f0,graythresh(f0));%二值化
figure,imshow(RGB);
title('网格标记图像','FontWeight','Bold');
holdon;
[xt,yt]=meshgrid(round(linspace(1,size(I,1),10)),...round(linspace(1,size(I,2),10)));
mesh(yt,xt,zeros(size(xt)),'FaceColor',...
'None','LineWidth',3,...
'EdgeColor','r');
如图5所示:
10
山东建筑大学信息与电气工程学院课程设计说明书
图5网格标记图像图
3.1.5、人脸识别标记:
[n1,n2]=size(BW);
r=floor(n1/10);%分成10块,行
c=floor(n2/10);%分成10块,列
x1=1;x2=r;%对应行初始化
s=r*c;%块面积
fori=1:
10
y1=1;y2=c;%对应列初始化
forj=1:
10
if(y2<=c||y2>=9*c)||(x1==1||x2==r*10)%如果是在四周区域
loc=find(BW(x1:
x2,y1:
y2)==0);
[p,q]=size(loc);
pr=p/s*100;%黑色像素所占的比例数
ifpr<=100
f1(x1:
x2,y1:
y2)=0;
end
end
y1=y1+c;%列跳跃
11
山东建筑大学信息与电气工程学院课程设计说明书
y2=y2+c;%列跳跃
end
x1=x1+r;%行跳跃
x2=x2+r;%行跳跃
end
[L,num]=bwlabel(BW,8);%区域标记
stats=regionprops(L,'BoundingBox');%得到包围矩形框
Bd=cat(1,stats.BoundingBox);
[s1,s2]=size(Bd);
mx=0;
fork=1:
s1
p=Bd(k,3)*Bd(k,4);%宽*高
ifp>mx&&(Bd(k,3)/Bd(k,4))<1.8%%%如果满足面积块大,而且宽/
高<1.8
mx=p;
j=k;
end
end
figure,imshow(RGB);holdon;
rectangle('Position',Bd(j,:
),...
'EdgeColor','r','LineWidth',3);
title('标记图像','FontWeight','Bold');
如图6所示:
图6人脸识别标记图
12
山东建筑大学信息与电气工程学院课程设计说明书
3.1.6、对原图像进行脸部模糊处理:
h1=ones(40,40)/1600;
I2=imfilter(RGB,h1);%对原图像进行全部模糊%figure,imshow(I2);
a=Bd(j,:
);%脸部标记的矩形框的四个坐标
fori=a
(2)-0.5:
a
(2)-0.5+a(4);
forj=a
(1)-0.5:
a
(1)-0.5+a(3);
RGB(i,j,:
)=I2(i,j,:
);%部分模糊的替换
end
end
figure,imshow(RGB);title('模糊后的人脸图像');%显示模糊后的人脸如图7所示:
图7人脸模糊隐私保护图
13
山东建筑大学信息与电气工程学院课程设计说明书
总结与致谢
这一次做的图像人脸区域隐私保护系统设计。
原理看似简单,但过程让我深深感受到再简单的图像处理,理论与实际也会有一定的差入。
在参考书设计原理的基础上经过了个人的改进,让功能更完善,特别是程序的调试,花的时间最多,也是最难的一个地方。
通过本次设计,培养了创新意识和综合素质,更好地掌握了数字图像处理设计,提高个人基本能力、实验及设计能力和独立工作能力,基本知识更加牢固,会编程调试、会查资料在设计的过程和设计说明书的撰写过程中,老师给予了我热心的帮助和大力的支持,给我提了诸多的宝贵意见,拓宽了我的思路。
在此我向张运楚、杨红娟、张君捧老师致以崇高的敬意和衷心的感谢!
14
[1]
[2]
[3]
山东建筑大学信息与电气工程学院课程设计说明书
参考文献
王科俊,姚向辉.人脸图像检测与识别方法综述[J].自动化技术与应用.2004,23(12).
邢藏菊,曲延锋,王守觉.静态灰度图像中的人脸快速检测[J].计算机辅助设计与图形学学报.V01.14,No.May,2002.
周杰,卢春雨,张长水,等.人脸自动识别方法综述[J].电子学报,2004(4):
102-106.
[4]简(JainA.K.)[美],韩博,徐枫著.数字图像处理基础[M].北京:
清华大学出版社,2006.
[5]冈萨雷斯.数字图像处理(MATLAB)中文版[M].北京:
电子工业出版社,2007.[6]Castleman,K.R.[美]著,朱志刚等译.数字图像处理[M].北京:
电子工业出版
社,2002.
[7]朱虹.数字图像处理基础[M].北京:
科学出版社,2005.
[8]
刘志敏,扬杰,施鹏飞.数学形态学的图像分割算法[D].计算机工程与科学,1998,20(4):
21.
[9]章毓晋.图像分割.北京:
科学出版社,2001.
[10]王树伟,杨鸲.Matlab6.5辅助图像处理[M].电子工业出版社,2003.
15
山东建筑大学信息与电气工程学院课程设计说明书
附录:
系统设计程序
RGB=imread('face06.jpg');%face02,04,06
YCbCr=rgb2ycbcr(RGB);%将RGB色彩值变换为YcbCr色彩空间(将RGB真彩色图像转化为YcbCr色彩空间中相等的图像)
Y=YCbCr(:
:
1);%这三行分别是Ycbcr空间的y,cb,cr对应矩阵Cb=YCbCr(:
:
2);
Cr=YCbCr(:
:
3);
imshow(RGB);title('原始图像RGB');%原始图像figure,imshow(YCbCr);title('YcbCr色彩空间的图像');%进行将RGB色彩值变换为YcbCr色彩空间的图像
I=RGB;
W=size(YCbCr,1);%y对应矩阵宽大小
H=size(YCbCr,2);%y对应矩阵高大小
k=(2.53/180)*pi;
m=sin(k);n=cos(k);%正余弦噪声
%%%111111*********111111111111
cx=109.38;cy=152.02;ecx=1.60;
ecy=2.41;a=25.39;b=14.03;%(cb=(100,140),cr=(70,160)这是阈值,这个阈值应该是人脸肤色的范围
fori=1:
W
forj=1:
H
ifY(i,j)<110
I(i,j,:
)=0;
elseif(Y(i,j)<=200&&Y(i,j)>=110)
x=(double(Cb(i,j))-cx)*n+(double(Cr(i,j))-cy)*m;
y=(double(Cr(i,j))-cy)*n-(double(Cb(i,j))-cx)*m;
if((x-ecx)^2/a^2+(y-ecy)^2/b^2)<=1
I(i,j,:
)=255;
elseI(i,j,:
)=0;
end
elseifY(i,j)>200
x=(double(Cb(i,j))-cx)*n+(double(Cr(i,j))-cy)*m;
y=(double(Cr(i,j))-cy)*n-(double(Cb(i,j))-cx)*m;
if((x-ecx)^2/(1.1*a)^2+(y-ecy)^2/(1.1*b)^2)<=1
I(i,j,:
)=255;%肤色部分变为白色
elseI(i,j,:
)=0;%其余转成黑色
end
end
end
end
figure,imshow(I);title('肤色区分后的图像');%进行将肤色识别后的黑白图像
16
山东建筑大学信息与电气工程学院课程设计说明书
%%%111111*********1111
%%%%%%%%%找到人脸区域并设为白色%%%%(r=35)
se1=strel('square',35);%这个函数可以创建边长35的方形元素
f0=imclose(I,se1);%利用上面创建的方形元素,弥补imshow(I)中人脸中以及其他部分残留的小块黑色
figure,imshow(f0);title('修补漏洞后的人脸');%显示修补漏洞后的人脸%%%44444444444444444444444444444
BW=im2bw(f0,graythresh(f0));%二值化
figure,imshow(RGB);
title('网格标记图像','FontWeight','Bold');
holdon;
[xt,yt]=meshgrid(round(linspace(1,size(I,1),10)),...
round(linspace(1,size(I,2),10)));
mesh(yt,xt,zeros(size(xt)),'FaceColor',...
'None','LineWidth',3,...
'EdgeColor','r');
[n1,n2]=size(BW);
r=floor(n1/10);%分成10块,行
c=floor(n2/10);%分成10块,列
x1=1;x2=r;%对应行初始化
s=r*c;%块面积
fori=1:
10
y1=1;y2=c;%对应列初始化
forj=1:
10
if(y2<=c||y2>=9*c)||(x1==1||x2==r*10)
%如果是在四周区域
loc=find(BW(x1:
x2,y1:
y2)==0);
[p,q]=size(loc);
pr=p/s*100;%黑色像素所占的比例数
ifpr<=100
f1(x1:
x2,y1:
y2)=0;
end
end
y1=y1+c;%列跳跃
y2=y2+c;%列跳跃
end
x1=x1+r;%行跳跃
x2=x2+r;%行跳跃
end
[L,num]=bwlabel(BW,8);%区域标记
stats=regionprops(L,'BoundingBox');%得到包围矩形框
Bd=cat(1,stats.BoundingBox);
17
山东建筑大学信息与电气工程学院课程设计说明书
[s1,s2]=size(Bd);
mx=0;
fork=1:
s1
p=Bd(k,3)*Bd(k,4);%宽*高
ifp>mx&&(Bd(k,3)/Bd(k,4))<1.8
%%%如果满足面积块大,而且宽/高<1.8
mx=p;
j=k;
end
end
figure,imshow(RGB);holdon;
rectangle('Position',Bd(j,:
),...
'EdgeColor','r','LineWidth',3);
title('标记图像','FontWeight','Bold');
%%%44444444444444444444444444444%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%下面为图像局部模糊h1=ones(40,40)/1600;
I2=imfilter(RGB,h1);%对原图像进行全部模糊
%figure,imshow(I2);
a=Bd(j,:
);%脸部标记的矩形框的四个坐标
fori=a
(2)-0.5:
a
(2)-0.5+a(4);
forj=a
(1)-0.5:
a
(1)-0.5+a(3);
%fori=60:
233;%60:
233
%forj=257:
400;%257:
400
RGB(i,j,:
)=I2(i,j,:
);%部分模糊的替换
end
end
figure,imshow(RGB);title('模糊后的人脸图像');%显示模糊后的人脸
18