关键词不能为空

当前您在: 主页 > 英语 >

浅谈Openv中人脸识别类FaceRecognizer

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-10 06:10
tags:

-

2021年2月10日发(作者:lucas是什么意思)



浅谈


Openv


中人 脸识别类


FaceRecognizer


opencv2.4


版本中封装了可用于人脸识别的类


FaceRecognize r



其对应代码在动态链接库


open cv_



(


我用的是

< br>opencv2.4.9


版本


)


,这个动态链接库在


opencv


安装目录

下可以找到,要想使用


FaceRecognizer


,首 先要保证上述动态链接库正确配置。在此关于


opencv


的配 置问题多说几句,


就是建议大家尽量使用


VS2010


及以上版本来配置


opencv




为在最新的


opencv2.4.9


版本中已经添加了对


vs2010


及以上版本的自动 支持,无需再用


CMaker















< br>之






VS2008









opencv_


这个库时总提 示编译出错,如果你也遇到了这个问题,建议你换装


vs2010


版本吧,至于具体如何配置网上有很多教程,这里不再赘述。



FaceRecognizer


这个类目前包


含三种人脸识< /p>


别方法:


基于


PCA


换的人脸


识别


(EigenFa ceRecognizer)


、基于


Fisher


变换的人脸识别


(FisherFaceRecognizer)

< p>
、基于局部二值模


式的人脸识别


(LBPHFac eRecognizer)



对于像我这样的人脸识别初学者,


对人脸识别理论了解


得不是很透彻,但并不影响对函数的使用, 下面就


EigenFaceRecognizer


来详细的谈一 下


opencv


人脸识别的实现。


< /p>


首先简单说一下


PCA


变换原理。在人脸 识别过程中,一般把图片看成是向量进行处理,


高等数学中我们接触的一般都是二维或三 维向量,


向量的维数是根据组成向量的变量个数来


定的,例如< /p>


X


?


?


a


,b


?


?


就是一个二 维向量,因为其有


a


,


b


两个参量。而在将一幅图像抽象


为一个向量的过程中,


我们把图像的每个像素定为一维,


对于一幅


92


?


112


的普通图像来说,


最后抽象为一个


92


?


112


?


10304


维的高维向量,

< br>如此庞大的维数对于后续图像计算式来说


相当困难,因此有必要在尽可能不丢失重 要信息的前提下降低图像维数,


PCA


就是降低图像

< p>
维数的一种方法。


图像在经过


PCA


变换之后,


可以保留任意数量的对图像特征贡献较大的维

数分量,


也就是你可以选择降维到


30

维或者


90


维或者其他,


当然最后 保留的维数越多,



像丢失的信息越少,


但计算越复杂。


至于具体


PCA


变换 的原理,网上有很多好的博客,


也有


很多专业论文来论证,有兴 趣的可以查阅。



下面来谈一谈具体如何使用这个人脸识别类。


首先需要一个人脸库,


因为你想让计算机


识别人脸,


首先得让计算机知道不同的人长什么样不同的脸。


网上有很多现成的人脸数据库,


我在做实验时选用了


ORL


数据库。


数据库中包含


40


个人的人脸图像,


每人十张,



400


张,



bmp



png


两种格式,大小均为


92


?


112


。数据库中有光照变化< /p>


(


中心光照、左侧光照、


右侧光照


)


、表情变化


(


开心 、正常、悲伤、瞌睡、惊讶、眨眼


)


、眼镜

(


戴眼镜或者没戴


)


,且


包含男性图片和女性图片,


比较适合做人脸识别的仿真实验。

< p>
唯一的不足就是照片中全部为


外国人,


如果你想开 发出一套人脸识别系统在国内用,


建议还是费点功夫自己建一个合适的

< br>人脸数据库吧。





人脸库确定之后需要进行训练,即让计算机


“学习”这些人脸样本。


这时面临的一个


问题就是如何把训练样本读进内存中。


opencv


手册中明确说明


EigenFaceR ecognizer


的训练




函数的入口参数是一个图像容器,


容器中包含所有训练图像。


那么如何创建一个这样的容器


并把训练样本全部放进去呢?方法有很多, 我在实验中采用


CSV


文件读取方法。首先创建


一个包含所有文件路径名的


CSV


文件,也就是一个文 本文件。假设


ORL


数据库存放地址为:



E:ORL



;在


DOS


窗口下输入命令:


E:ORL>dir /b/s *.bmp >


,执行成功后发现在


ORL


文件夹下出现一个文本文件



,里面内容如下< /p>


(


分号后面的标签是人为添加的


)




E:;1


E:;1


E:;1


E:;1


E:;1


E:;1


E:;1


E:;1


E:;1


E:;1


E:;10


E:;10


E:;10


E:;10


E:;10


E:;10


E:;10


E:;10


E:;10


E:;10


CSV


文件创建成功后, 可以在程序中读取文件了,网上有一段比较好的


CSV


读取代码 ,


如下所示:










-


-


-


-


-


-


-


-



本文更新与2021-02-10 06:10,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/626965.html

浅谈Openv中人脸识别类FaceRecognizer的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文