欢迎光临散文网 会员登陆 & 注册

face_recognition____win10命令行使用记录

2020-08-12 22:39 作者:学的很杂的一个人  | 我要投稿

face_recognition的Github地址:

https://github.com/ageitgey/face_recognition/blob/master/README_Simplified_Chinese.md


在本地建立一个"known_people"文件夹(用于存放已知名的单人照片),如:

和一个"unknown_pictures"文件夹(用于存放希望识别的若干图片)如:

一、使用命令行工具

基本命令:

1、face_recognition - 在单张图片或一个图片文件夹中认出是谁的脸。

执行命令:face_recognition ./known_people/ ./unknown_pictures

可以看到face_recognition命令跟着的是我建立的两个文件夹,显示的结果,从上往下看:

(1)、是0.jpg检测到2个人脸

人脸一:unknow_person(不认识);

人脸二:克林顿。

结果评价:正确,因为我没在known_people文件夹放入奥巴马的照片。

(2)、是1.jpg检测到5个人脸

人脸1:克林顿。

人脸2至人脸5都是:unknow_person(不认识);

结果评价:正确,确实有五个人,也有克林顿在里面,另外的不认识。

(3)、以下以此类推,但到7.jpg开始就马云和成龙傻傻分不清了。

甚至7.jpg怎么会认出两张脸?亚洲人测不准?

2、face_detection - 在单张图片或一个图片文件夹中定位人脸位置。

试试单人多图的:

face_detection ./known_people/

以上结果,能成功输出定位位置(像素定位)。

试试多人多图的:

face_detection ./unknown_pictures

可以看到0~1的图片没检测出位置。

3、其他

(1)调整人脸识别的容错率和敏感度

如果一张脸识别出不止一个结果,那么这意味着他和其他人长的太像了(本项目对于小孩和亚洲人的人脸识别准确率有待提升)。你可以把容错率调低一些,使识别结果更加严格。

通过传入参数 --tolerance 来实现这个功能,默认的容错率是0.6,容错率越低,识别越严格准确。

face_recognition --tolerance 0.54 ./known_people/ ./unknown_pictures

结果相比好一点。

(2)人脸匹配的具体数值,可以传入参数 --show-distance true:

face_recognition --show-distance true ./known_people/ ./unknown_pictures

(3)加速人脸识别运算

如果你的CPU是多核的,你可以通过并行运算加速人脸识别。例如,如果你的CPU有四个核心,那么你可以通过并行运算提升大概四倍的运算速度。

执行:face_recognition --cpus 4 ./known_people/ ./unknown_pictures

忘了我的是双核cpu:Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz

运行后,差点没把我卡死…….改成双核的试试

执行:face_recognition --cpus 2 ./known_people/ ./unknown_pictures

没出现卡顿,感觉上是快了点,可能要数据大一点这才好发现差距。

(4)只想知道文件夹中的图片里有谁,可以用这个管道命令

face_recognition ./known_people/ ./unknown_pictures | cut -d ',' -f2

win10貌似没有管道命令,这个是linux使用的。

以上都是根据github的ageitgey /face_recognition说明操作的,我的话,命令行用的方面不多,主要是Python方面的多一点,下节将记录python使用face_recognition的运行情况。


face_recognition____win10命令行使用记录的评论 (共 条)

分享到微博请遵守国家法律