发 帖  
原厂入驻New

[经验] 【大联大世平Intel®神经计算棒NCS2试用体验】人脸识别系统(结项)

2020-9-9 01:23:14  109
分享
0
发现一个非常奇怪的事情,那就是我的帖子真的不见了。。。
以下是重发的。。。
在疫情期间,大家都戴着口罩,又不希望频繁触摸指纹打卡机,我们方案的目标是借助NCS2实现快速打卡功能。
一、原理
Openvino的长处在于通过已经训练好的模型来快速神经计算,实现检测(Detection)、分类(ClassIFication)和分割(Segmentation),我们先来看看例程,“object_detection_sample”,其中代码
图片1.png
可以定位出需要的“块”,画出物件周围的边界框,并且初步检测出这个“块”大致是什么内容,但已有模型显然不满足我们需求,检测出“人”已经是其极限了。要识别人脸,需要引入新的模型。
使用Openvino的IE(inference-engine)功能,大致流程如下:
图片2.png
可以根据输入模型来判定最优可能性,其代码来自“classification_results.h”:
图片3.png
二、项目实现的功能
通过将带有口罩的人脸从图中分隔出来,存成图片文件,图片格式为png。
单独识别切出的“人脸”,在例程代码中可以看到,识别出的结果存在概率,也就是说,代码本身就允许设置置信区间。
考虑到用于打卡,将识别的置信区间设置在85%,换句话说,识别低于85%的人物照片,将不被认可。在实际操作中,这也是符合习惯的,我们可以要求反复读取摄像头前的人物,直到认出为止。只要选择高清晰度的摄像头就可以做到这一点了。
因为打卡相关的代码还未编写,暂时只实现了显示出“最有可能”的人的名字。当程序判断“脸”的人物存疑(比如概率为75%),我们直接显示识别失败。
三、测试
同事的照片实在不太好调用,但网上明星的照片很多,于是采用网上照片进行训练,分别选取了4位明星(周冬雨、陈伟霆、薛之谦、朱一龙),其男女比例为3:1,相对符合公司人员比例,大约下载了2500张照片(总数)进行学习,生成模型应用,并运行代码进行测试,结果如下:
结果.png
6幅图中人脸已正确获取3幅,但(图片代号5)
识别出3幅,只有2幅正确,1幅识别错误,其它无法识别,人脸截取正确率超过80%。
附:
原图
1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg
口罩人脸特写
1-f.png 2-f.png 3-f.png 4-f.png 5-f.png 6-f.png
分析
从这些图上可以看到基本可以将人脸单独分离出来,并根据识别结果给出回应。
本项目原计划在一个数千人的公司中可以直接识别出每个人,来完成无接触打卡工作,但从目前仅有4个人物的模型看来,正确率都不足35%,显然难以胜任。
背景熊玩偶都能识别成带口罩的人脸,那么可想而知,多人识别的“切脸”多半是会出现错误的。而且脸型识别也不太可靠,后续准备进一步研究“步态识别”,放上阿汤哥的经典片段截图:
截图20200909011831.png
截图20200909011942.png



只有小组成员才能发言,加入小组>>

72个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表