
新人弱弱的问一下opencv的人脸识别率怎么样
还行的。
其实有很多办法,我说一种简单办法的思路吧,如果编码的话,代码量有些大。
[思路]识别出某个人的脸(1)你先准备好这个人的几张或几十张的图片让程序来“学习”(2)[程序分为两部分]第一部分:[学习这个人的脸]把这些图片逐个读入程序,然后对每个图片进行以下处理:a.初步降噪:可以用cvErode或更好级别的算法来对图像完成初步降噪(opencv这块有几个挺好的算法,自己是依据需求和场景来定用哪个吧)b.用ROI或其他方法划定出人脸区域c.为ROI圈定的区域 建立histogram(3)这样你就有了几十个histogram,然后自己写个算法来提取这几十张histogram 的通用特点[也就是模糊的找到这个人的脸部特征](4)然后再依据提取的特征建立一个histogram(5)[程序第二部分]:[识别人脸]a.从摄像头,读入人脸b.初步降噪c.ROI划定区域d.建立一个histograme.用这个histogram与之前[学习中]的histogram进行比较,如果差异小于你规定的阀值 ,则确定识别成功。
---------------------------------------------------------------------------------以上功能只能做到:如果这个人出现在摄像头前,则能认出这个人来了,如果其他人出现在摄像头前则输出“这个人不是要找的人”。
---------------------------------------------------------------------------------上面的算法应该算是最简单的啦,所以效果应该不会太好,opencv中还可以对图像进行划分,然后定点五官,这个方法可能更好一些。
---------------------------------------------------------------------------------如果你要让它能识别出多人,那么思路一样,只不过要对每个人进行上面提到的“机器学习”的过程,也就是建立一个自己的识别库的过程。
opencv从初学到学会人脸识别需要多久,一年之类能学会吗
你是学生,or工作
。
。
其实差不多用空余时间的话学的话(假设每天两小时,包括写代码和调试),以我的经验,,有点久远了,嗯,好像两个月差不多了,其实那东西一通就通的,多看看人家的代码,反正就是弄好架构套函数嘛,我是这样理解的,至于里面更深的算法思想,我现在也没搞清,不过不影响我们用这些函数就对了~当然楼上说的对的,前提是学过编程~
人脸识别这块,tensorflow+opencv有好的例子吗
如果某个识别对象和训练库中的某一个很匹配,那么就会有很高的相似度。
如果识别对象不在训练库中,那么就算是返回了结果,相似度也不会很高,只不过是数值上的最优解。
所以,设置一个相似度的阀值(THREADHOLD), 最匹配误差(leastDistSq)大于这个阀值就可以判断为不在训练库中



