深度学习实战篇之 ( 三) -- 初识人脸检测

科普知识

归一化是一种无量纲处理手段,使物理系统数值的绝对值变成某种相对值关系。简化计算,缩小量值的有效办法。 例如,滤波器中各个频率值以截止频率作归一化后,频率都是截止频率的相对值,没有了量纲。阻抗以电源内阻作归一化后,各个阻抗都成了一种相对阻抗值,“欧姆”这个量纲也没有了。等各种运算都结束后,反归一化一切都复原了。信号处理工具箱中经常使用的是nyquist频率,它被定义为采样频率的二分之一,在滤波器的阶数选择和设计中的截止频率均使用nyquist频率进行归一化处理。例如对于一个采样频率为500hz的系统,400hz的归一化频率就为400/500=0.8,归一化频率范围在[0,1]之间。如果将归一化频率转换为角频率,则将归一化频率乘以2*pi,如果将归一化频率转换为hz,则将归一化频率乘以采样频率的一半。

前言

新年伊始,春节各位老铁们一定玩的很开心吧,玩耍归玩耍,终将会过去,却不能忘记我们的本职工作哦。本次文章为2021小编的第一篇文章,从本周以后,小编将会彻底拉开深度学习实战篇文章的序幕,当然,对于深度学习理论篇,我们故事终将继续,因为小编相信,深度学习将会是人工智能时代的启明星,它的光芒将会照射到过去和未来。深度学习实战篇文章重点在于实战,主要内容用代码提现,通过在常见深度学习框架上的代码实践,逐步深入学习,最终熟练的掌握在常见的深度学习框架上的深度学习代码开发,后期也会分享一些简单demo的部署方法,我们一同期待。

01

人脸检测

01

作为深度学习实战篇文章的正式开篇文章,今天小编仅仅给大家展示一个开源的demo,让大家能够真切的看到深度学习或者说人工智能可以带给我们的实体感受是什么,同时也为了让大家不至于被深度学习实战所吓到,增加大家的学习兴趣,因此,今天的文章,小编找了一个非常简单且实际的应用例程给大家展示,人脸检测作为各种人脸任务的基础,它的存在尤为重要,由于人工智能的普及,当前的人脸检测方法已经被深度学习占领了,当然,在深度学习以前,也就是传统方法中也有做人脸检测的方法,主要包括以下方法:

1.通过人脸的轮廓,眼睑轮廓,嘴角轮廓等来确定人脸的位置。

2.人脸肤色特征,可以通过RGB,HSV等颜色空间来对人脸区域检测,通常来说,每个物体都具有自己独特的RGB和HSV的颜色空间表示。

3.就要模板的匹配,实现给定人脸的模板,之后在真实的场景中,分别计算人脸模板中存在属性的相关性,例如鼻子,眼睛,嘴唇等等,当相关性在一定阈值范围内,即可认为与模板匹配,进而得出人脸区域是否存在。

当前,人脸检测在深度学习中,属于目标检测的内容,在训练阶段,需要收集人脸在实际图像中的真实坐标位置(可以是上下左右四个坐标,也可以是左上和右下两个坐标),神经网络在训练过程中不断预测出人脸坐标,与真实的人脸左边位置进行比较,最终模型将会预测出趋近于真实人脸坐标位置的坐标,随后预测最好的模型输出人脸坐标即可在真实图像中绘制各个人脸框,进而实现人脸检测。

1.1 人脸检测步骤

1.收集人脸图像,尽可能清晰,同时在中标注每一幅人脸的坐标位置(四个或两个)

2.目标检测神经网络的设计

3.训练调优,保存表现最好的训练模型

4.模型预测与绘制人脸检测框

鉴于今天是第一篇文章,更快的增加视觉体验,我们仅仅分享步骤四中的内容,而真正目标检测的内容,我们将会在理论篇给大家进行分享。

由于只分享第四部分的内容,因此,需要明确以下问题:

1.所用预测模型是之前的模型已经训练好的,不需要重新训练,拿来即可用

2.得到预测模型的输出结果(也就是每个人脸的坐标位置),使用opencv等视觉库在实际的人脸图像中绘制出人脸位置(通常表现为人脸框)。

1.2 代码实践

1.预测模型我们采用caffe框架开源的人脸检测预训练模型,改模型十分轻量,对于人脸检测实现了速度和精度的提升,对于小型计算设备十分受用。

2.根据模型得出的坐标,采用OpenCV的cv2.rectangle()函数进行人脸区域画框。

获取人脸坐标:

人脸区域画框:

总体代码:

备注:以上代码不全,仅是关键代码,如需全部代码请后台回复:文章名+代码

1.3 实验展示

待检测图像:

实验结果:

结语:

以上就是今天的分享内容了,通过上面的实验我们可以看到图像中的每一个人脸都检测到了,说明预测算法的精度还是值得认可的,后期我们可以人脸检测作为基础任务扩展到例如人脸识别,人脸关键点检测,人脸化妆等等任务上。文章中代码部分小编仅仅做了简单注释,相信大家看懂不成问题,下一次文章,小编将会从深度学习的基础框架开始分享(今天的代码采用的是caffe框架所训练的模型,随后转换为支持OpenCV的模型,由此我们不用搭建caffe环境),后期我们不用这个,主要是keras和tensorflow1.0。

2020已过去两个月了,我们的落款日期已经悄悄的变成了2021,还记得小编对日期有概念的日子是2003,一晃便是十数载,说不尽的故事,道不尽的过往。新的一年,愿各位粉丝朋友们与我们公众号一同成长,进步学习,学会挥手告别过去,曾经的开森与不开森,优秀与不优秀都让其随风飘散,新的一年,希望各位从“零”开始,做更好的自己。

编辑:玥怡居士|审核:小圈圈居士

深度学习实战篇之(一)----- Python感知机实现

深度学习实战篇之(二)----- 梯度下降算法代码实现

过去的一年,我们都做了啥:

2020总结:【年终总结】2021,辞旧迎新再出发

2019总结:【年终总结】辞旧迎新,2020,我们再出发

扫码关注我们

IT进阶之旅

嗨,你还在看吗?

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值