Python人脸识别——人脸检测(libfacedetection)

Python人脸识别——人脸检测(libfacedetection)

前言

好早就想自己捣鼓捣鼓实现个人脸识别了,目前在装修,想买个人脸识别的门铃,看了市场上比较火的两款,评价和测评里说不尽人意,就想自己用树莓派实现一个,再加上个语音识别,距离感应啥的,想想就激动…扯远了,不过要实现我想的这些功能,就以我新手的角度来看,需要实现的有:人脸检测(有无人脸)、人脸识别(这脸是谁)、眼睛检测、眼睛识别(闭眼识别)、人机交互界面、语义识别、声纹识别、语音合成等等,也不知道我能走到哪一步,先实现个人脸检测吧。

人脸检测

环境Windows10+Pycharm+Python3.6+opencv
看了一些教程和示例
Face_recognition
(这个是国外大神制作的库,能实现人脸识别,但是对亚裔人和小孩的识别率不太好,本来想重新训练模型,但是据说要数以千万级的数据才有效,我光是利用爬虫下载20,000张明星人脸就花了将近两天,想想还是搁浅了,等大神解救)

树莓派的人脸识别示例
(说的挺详细的,很容易就能实现人脸识别了,但是用的是opencv自带的人脸检测库haarcascade***.xml,据说重新训练这个库也挺麻烦,要正向和负向样本,数据集小了也不行,好多人失败了,(有没有在现有的haarcascade***.xml库的基础上继续训练的方法,欢迎讨论),这也就引出了今天我要写的这个库libfacedetection)

libfacedetection
该库于2019年3月份左右宣布开源,可用于商业开发。据说识别率和速度都比opencv自带的库要好,于是就想用一下,结果发现是基于C++的,没有python接口,这让我一个学机械的咋整,再捣鼓捣鼓C++?,放过我吧…
黄天不负有心人,第二天的上午,让我找到了Github上的大神做好的接口,有三四个,其中一个叫PyFaceDet的项目居然能用pip安装,于是就试了试。
根据文档说明先安装PyFaceDet,

pip install PyFaceDet

如果是Pycharm也可以在设置里安装(清华源)。
由于官方没有示例,让我这菜鸟鼓捣了一会儿,才简单实现功能,下面是我的代码:

from PyFaceDet import facedetectcnn
import cv2

path=(r'D:\Users\BC\PycharmProjects\F_C_05_PyFaceDet(libfacedetection)\000010.jpg')
img=cv2.imread(path)
Faces=facedetectcnn.facedetect_cnn(path)
x=Faces[0][0]
y=Faces[0][1]
L=Faces[0][2]
W=Faces[0][3]
confidence=Faces[0][4]
angle=Faces[0][5]
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.rectangle(img,(x,y),(x+L,y+W),(255,0,0),2)
roi_color = img[y:y+W, x:x+L]
cv2.putText(img, str(confidence), (x+5, y-5), font, 1, (0, 0, 255), 1)
cv2.imshow('camera', img)
k = cv2.waitKey(10)

实现其实很简单,最后看看效果
在这里插入图片描述
在这里插入图片描述
貌似还可以,侧脸也能认出来,一会儿自己接上摄像头试试
PS:以上两图均为明星,本文仅供读者免费阅读,禁止进行商业活动,如有侵权请通知本人,本人立即修改,邮箱834584812@qq.com

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值