资源描述:
《基于JavaCV的视频人脸识别的实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SoftwareDevelopment·软件开发基于JavaCV的视频人脸识别的实现文/王崟ᱟ摘本文主要介绍了基于JavaCV㿶仁ࡠ䗮ᴰਾ˛的视频人脸识别系统的实现原理要和方法。⇿䳄ᤷᇊᰦ䰤ਆаᕐ㿶仁ᡚമ䇶࡛Ӫ㝨˄བྷҾ亴䇮Ⲵቪረ˅ˈ亴༴⨶Ӫ㝨ˈӪ㝨䇑ᮠ【关键词】人脸识别视频JavaCVӪ㝨䇑ᮠ>=100ᱟ1引言ሩਆᗇⲴ100ᕐӪ㝨䘋㹼ᆖҐˈ⭏ᡀᆖҐ᮷ԦˈӪ㝨䇑ᮠ䴦人脸识别技术是基于人的脸部特征,对输入的人脸图像或者视频流。首先判断其是否存在人脸,如果存在人脸,则进一步给出每个⭘༴⨶䗷Ⲵⴞḷമ⡷䐏ᆖҐ᮷Ԧ䘋㹼ሩ∄ˈࠪ㖞ؑᓖᴰབྷⲴӪ㝨脸的
2、位置、大小和各个主要面部器官的位置信息。并依据这些信息,进一步提取每个人脸中所蕴涵的身份特征,并将其与已知的人脸进行㖞ؑᓖ>=⭘ᡧ䇮㖞对比,从而识别每个人脸的身份。JavaCV是一款开源的视觉处理库,基ᱟ于GPLv2协议。JavaCV是对各种常用计算ᨀ⽪ࡠˈᒦᱮ⽪机视觉库的封装后的一组jar包,其中封装了图2ᱟOpenCV、libdc1394、OpenKinect、videoInput⭘ᡧ䘈㾱㔗㔝ੇ˛和ARToolKitPlus等计算机视觉编程人员常用3.3视频识别库的接口,可以通过其中的utility类方便的在包括Android在内的
3、Java平台上调用这些接㿶仁䇶࡛㔃ᶏ如图1所示,从视频开始的位置,每隔口。指定时间取一张视频截图,对这张图进行人脸2视频人脸识别的实现原理图1:视频识别流程识别,截出每个人脸,对人脸进行灰度化、统一大小、高斯平滑等预处理。每到100个人脸视频识别根据视频的长度截取期中若干进行一次学习和特征值计算,将处理后的目标IplImagedest=opencv_core.帧图片,对每副图片进行人脸识别、预处理、图片跟学习文件进行比对,找出置信度大于阈cvCreateImage(size,opencv_core.IPL_图片学习。用目标人脸图片跟视频中的人
4、脸进值的人脸,取最高置信度的人脸返回,作为备DEPTH_8U,1);行比对,找到目标人物。选图片显示在界面上,同时显示其在视频中出opencv_imgproc.cvCvtColor(src,dest,人脸识别主要采用主成分分析(PCA)方现的时间。如果没有大于阈值的人脸,继续从opencv_imgproc.CV_BGR2GRAY);//灰度化法,将人脸图像区域处理成一种随机向量,利视频中截取下100张人脸,重复上述动作,直CvSizesize2=newCvSize(150,150);用K-L变换得到正交变换基,对应较大特征至视频扫描完毕。当找
5、到了大于阈值的人脸后,IplImagedest2=opencv_core.值的基底具有与人脸相似的形状。利用基底的用户可以选择继续在视频中寻找,或者停止寻cvCreateImage(size2,dest.depth(),dest.线性组合来实现人脸图像的特征提取和特征选找。nChannels());择。opencv_imgproc.cvResize(dest,dest2,opencv_3.4结果展示将视频中每N张人脸进行预处理和特征imgproc.CV_INTER_CUBIC);//缩放大小值计算,通过变换矩阵,投射到子空间,实现IplIma
6、gedest3=opencv_core.如图2所示,用户可以查看识别的结果,数据降维;学习文件输出。再将目标图片进行cvCreateImage(size2,dest.depth(),dest.即该人脸出现在视频中的原图和时间。如果有预处理后和学习文件进行对比,选出均方差之nChannels());多个结果,用户可以使用按钮前后预览。和最小的一个计算置信度,置信度高于判决门opencv_imgproc.cvSmooth(dest2,dest3,限则认定找到,返回原图片和出现时间,否则4总结opencv_imgproc.CV_GAUSSIAN,3
7、,3,0,0);//认为找不到。平滑本文介绍了一种基于JavaCV的视频人脸3视频人脸识别的实现过程识别系统的设计与实现,重点介绍了视频识别3.2视频加载的流程,展示了系统运行结果。3.1图片预处理用户选择一个视频文件,然后设置3个程序首先对目标图片中的人脸进行识别,参数:作者简介如果存在多个人脸,保留最大的那个。截取到(1)视频识别间隔:该参数用来决定多王崟(1981-),女,硕士研究生学历。现为人脸后,对该图片进行灰度化处理,将其大小少毫秒对视频进行一次采样。南京信息职业技术学院计算机与软件学院讲调整成150*150,然后对图片进行高斯平
8、滑处(2)置信度:该参数在0-1.0之间,如师。研究方向为数据交换。理。果该值设置的比较低,误识率会比较高。如果//设置源图像ROI值比较大,某些匹配的结果会被丢弃