基于dilib人脸识别

五一出行时在动车进站、出站口的时候,突然发现人脸识别这个应用很是好玩,仔细想来人脸检测应用也很广的,所以回来后就想知道这些识别都是用什么原理的定位人脸的,这正好是图像处理中的一个小进阶课题,就花时间捣鼓了一下。
在网上查了一下资料,发现主流的人脸识别算法主要有Dilb,OpenCV,OpenFace,MTCNN,其中dlib是根据模型数据来估计人脸的68个特征点的坐标的,而人脸68个特征点如下:
在这里插入图片描述
这里训练模型是人脸识别的关键,关系到检测结果的好坏,庆幸的是万能的开源社区已经有训练好的模型,可以在dlib社区上下载得到,就不用很麻烦的采集数据了。。。(又想到公司之前让我们干了好久的无聊采集数据工作- -)。
先上效果图:
突然不想放我妹妹在网了,读者自己想象
我无辜的妹妹哈哈哈哈哈,不过效果还真不错~
人脸检测代码部分:

在这里插入图片描述
这个函数参数是dlib脸部区域检测的输出,返回的是在我妹脸上的矩形框的信息~
在这里插入图片描述
上面将68个特征点转化为numpy_array的形式,在后面方便遍历描点~

在这里插入图片描述
这里初始化人脸区域检测的detector和人脸特征检测的predictor(分别返回detector和predictor对象)。而shape_predictor中的参数就是在dlib社区下载的数据集地址~
在这里插入图片描述
读入我可爱滴妹妹的照片,顺便做一下预处理~

在这里插入图片描述
这里循环遍历rects容器(虽然这里检测到的只有我妹妹一个,循环只跑一次…)
shape是dlib脸部特征检测的输出,里包含了前面说到的脸部特征的68个点~
在这里插入图片描述
可以看到该算法在多人的情况下也是适用的,效果还不错~ 但缺陷还是有的,就是动漫人物的头像不能很好地识别,可能是得单独训练动漫人物的人脸数据集才行 = =
这周感觉有点摸鱼了,在外面玩得贼开心,好久没出去了呜呜呜,下周开始回归状态,学习学习加油加油~

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值