OpenNCC入门:实现人脸检测

OpenNCC入门:实现人脸检测

在OpenNCC的开发包中提供了一个"OpenNCC View"工具,通过这个工具,即使你完全不了解算法实现原理,也能轻松的使用OpenNCC去运行各种AI算法。它里面内置了10种不同的模型检测算法,可以直接上手使用,学习成本大大降低,今天我先尝试运行下人脸检测模型算法:face-detection-retail-0004,测试一下检测的准确性。使用的预训练模型来自于OpenVINO下的Free Open model zoo,感兴趣的朋友可以去了解下,传送门

首先把OpenNCC相机通过usb数据线插到电脑上,打开view 软件,加载要测试的face-detection-retail-0004模型,检测最低分数为默认的50%,满分100%。这个分数的意思是,算法会尝试在场景中找出人脸,并打分,觉得符合人脸特征时得分就很高,特征不明显得分就偏低,设置最低分为50%后,只有算法识别出的人脸分数大于50%时,才会在画面中框选出来。,参数就按默认值,选择好后,start running model。没使用过OpenNCC View的可以参考官方的使用文档
OpenNCC入门:实现人脸检测

首先测试下 模型算法对于单个人脸检测的准确性

a.正常人脸,出现在镜头中
OpenNCC入门:实现人脸检测

在正常人脸出现在镜头中,检测很稳定,能很准确的捕捉到人脸信息,得分基本在100%

b.人脸被遮挡

OpenNCC入门:实现人脸检测

我戴着口罩测试下来,人脸检测也很稳定,能很准确的捕捉到人脸信息,基本和不戴口罩检测结果保持一致。

c.侧脸/背对镜头

OpenNCC入门:实现人脸检测

这张图片中(偷拍工作中的同事????),右边同事其实也不算侧脸了,只露出了小部分面部信息,而且还戴了口罩,这对算法的考验还是挺大的,可以看出,我们算法还是能够识别出来的,只不过分数有所下降,到了70%,

而对于左边完全背对着镜头的同事,就无法检测到人脸信息了,无法识别,毕竟是人脸检测嘛,咱不能对算法过于苛刻,也合理。

d.暗光环境下:

OpenNCC入门:实现人脸检测
在实验室暗光下,照度只有10lux,下图中的人脸肉眼都已经很难看清,但算法还是识别出来了人脸,暗光环境下表现很好。

e.远距离测试

OpenNCC入门:实现人脸检测

这张图片是在距离镜头6m左右的位置,人脸图像已经有点模糊,算法检测分数在60%左右,再远的位置就很难检测到人脸了。这个结果有点出乎我的意料,因为从图像上看,人脸轮廓还是能分辨出来,算法应该不难检测出来,希望后续能更新优化算法能力,发挥更好的性能。

接下来,我测试画面有多张人脸时的检测能力(谢谢办公室的小伙伴们友情出演[]( ̄▽ ̄)*)

OpenNCC入门:实现人脸检测

看来多张人脸也不成问题,办公室人少,我想测试算法检测人脸的上限。

于是我从网上找到一张图片,40张人脸,在显示器上展示图片,用ncc相机对着显示器,结果出乎我的意料:照片中一共40张人脸全部都被识别到了!厉害,我原以为算法最多能识别10个左右人脸,看来我错了,算法很厉害????

OpenNCC入门:实现人脸检测

测试下来的结果,还是挺令我惊喜的,检测准确率很高。但令我感触最深的是,OpenNCC相机让“AI算法“,”人脸检测“,这些在我以前的认知中遥不可及的词汇,变得似乎不再那么遥远,可以用手指触碰得到。我希望OpenNCC能一扇新的大门,引导更多的开发者接触ai算法领域。说不定在未来的某一天,ai的力量就像空气一样遍布在我们的生活中。
OpenNCC入门:实现人脸检测

参考链接:
OpenNCC官网:https://www.openncc.com.cn
OpenVINO官网:https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit.html