这是学习笔记的第 2205 篇文章
读完需要
9
分钟速读仅需7分钟
昨天无意中看到一条比较有意思的文章,是可以通过Python程序给照片里的人戴上口罩,看到之后,还是挺惊喜的,也想拿过来试试。
项目是face-mask,说法是可以直接pip install face-mask安装即可。
但是自己尝试的时候,刚开始就翻船,在Windows本机测试就失败了,换了台云主机,也失败了,试了一台本机的Linux虚机和Ubuntu环境,都相继失败了,这时候内心有些凌乱,想要不算了,只是好奇而已。
在下午的时候,脑海里又闪现出这件事情,好像这些年这样放弃的事情有很多,花费了时间,但是最后没有任何结果,完全又回到了原地。
于是开始认真梳理,查找了很多资料,发现绝大多数的问题在于dlib的安装,网上一找问题一大片。dlib是什么东东,原来是一个C++工具箱,其中包含用于在C++中创建复杂软件,是可以解决实际问题的机器学习算法和工具,所以重中之重就是它了。
怎么安装部署呢,这是我的攻略。
首先安装Python软件,我是在本机Windows环境测试的。其中Python版本不能过高,也不能过低,我最开始的版本是3.8最后发现找不到相应的wheel包,比较尴尬,最后退回到3.6版本。
接下来是安装cmake和boost, 如果通过官网下载的话,因为网络原因会比较慢,可以使用豆瓣的源。
pip install cmake -i https://pypi.doubanio.com/simple/
pip install boost -i https://pypi.doubanio.com/simple/
这个安装基本没有什么可说的,相对来说是比较顺利的。
接下来重点是dlib,Windows安装是肯定会失败的,有一个间接的实现是下载wheel文件安装,可以通过这个路径下载。
https://pypi.doubanio.com/simple/dlib
我下载的wheel文件是:
dlib-19.8.1-cp36-cp36m-win_amd64
接着使用pip install 即可。
对于辅助的软件,可以安装opencv和numpy
pip install opencv-python -i https://pypi.doubanio.com/simple/
pip install numpy -i https://pypi.doubanio.com/simple/
此外还有Pillow,为了和项目face-mask的版本兼容,可以安装7.0.0版本。
pip install Pillow==7.0.0
接着是关键的环节,决定成败的一个软件,face_recongnition,豆瓣源暂且找不到,我们通过默认方式下载
pip install face_recongnition==1.2.3
完成之后就完成了90%的工作,哪怕没有face-mask也可以写程序玩了。
对于face-mask使用pip下载比较慢,我们可以使用源码安装。
可以使用项目地址:https://github.com/Prodesire/face-mask
然后使用python setup.py install来安装即可。
有了前面的铺垫,整个过程就顺利得多了。
我先后给自己的身份证带上了口罩,给我家孩子的百天照带上口罩,给幼儿园的小朋友们带上口罩,甚至包括技术大会的嘉宾。
这是一个样例,个人比较喜欢《武林外传》,原图是:
给他们戴上口罩,使用如下的命令:
face-mask c:\jeanron\group6.jpg --red --show
其中face_recognition是关键,我们可以通过这个库来对比两张图片,看看是否是同一个人,做了些测试,感觉至少有60%的概率吧。
-
import face_recognition
-
known_image = face_recognition.load_image_file("test.jpg")
-
unknown_image = face_recognition.load_image_file("test2.jpg")
-
-
-
biden_encoding = face_recognition.face_encodings(known_image)[0]
-
unknown_encoding = face_recognition.face_encodings(unknown_image)[0]
-
-
-
results = face_recognition.compare_faces([biden_encoding], unknown_encoding)
-
print(results)
-
-
如果程序输出True即为匹配,在此就不额外秀图了。
QQ群号:763628645
QQ群二维码如下, 添加请注明:姓名+地区+职位,否则不予通过
订阅我的微信公众号“杨建荣的学习笔记”,第一时间免费收到文章更新。别忘了加星标,以免错过新推送提示。
1
近期热文
你可能也会对以下话题感兴趣。点击链接就可以查看。
2
转载热文
你可能也会对以下话题感兴趣,文章来源于转载,点击链接就可以查看。
转载:https://blog.csdn.net/yangjianrong1985/article/details/104744521