人脸检测(dlib和opencv)
mark一下,感谢作者分享!
https://zhuanlan.zhihu.com/p/32781218
50行代码实现人脸检测
现在的人脸识别技术已经得到了非常广泛的应用,支付领域、身份验证、美颜相机里都有它的应用。用iPhone的同学们应该对下面的功能比较熟悉
iPhone的照片中有一个“人物”的功能,能够将照片里的人脸识别出来并分类,背后的原理也是人脸识别技术。
这篇文章主要介绍怎样用Python实现人脸检测。人脸检测是人脸识别的基础。人脸检测的目的是识别出照片里的人脸并定位面部特征点,人脸识别是在人脸检测的基础上进一步告诉你这个人是谁。
好了,介绍就到这里。接下来,开始准备我们的环境。
准备工作
本文的人脸检测基于dlib,dlib依赖Boost和cmake,所以首先需要安装这些包,以Ubuntu为例:
$ sudo apt-get install build-essential cmake
$ sudo apt-get install libgtk-3-dev
$ sudo apt-get install libboost-all-dev
我们的程序中还用到numpy,opencv,所以也需要安装这些库:
$ pip install numpy
$ pip install scipy
$ pip install opencv-python
$ pip install dlib
人脸检测基于事先训练好的模型数据,从这里可以下到模型数据
http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
下载到本地路径后解压,记下解压后的文件路径,程序中会用到。
dlib的人脸特征点
上面下载的模型数据是用来估计人脸上68个特征点(x, y)的坐标位置,这68个坐标点的位置如下图所示:
我们的程序将包含两个步骤:
第一步,在照片中检测人脸的区域
第二部,在检测到的人脸区域中,进一步检测器官(眼睛、鼻子、嘴巴、下巴、眉毛)
人脸检测代码
我们先来定义几个工具函数:
def rect_to_bb(rect): x = rect.left() y = rect.top() w = rect.right() - x h = rect.bottom() - y return (x, y, w, h)
这个函数里的rect是dlib脸部区域检测的输出。这里将rect转换成一个序列,序列的内容是矩形区域的边界信息。
def shape_to_np(shape, dtype="int"): coords = np.zeros((68, 2), dtype=dtype) for i in range(0, 68): coords[i] = (shape.part(i).x, shape.part(i).y)
http://www.taodudu.cc/news/show-4666237.html
相关文章:
- Asp.net Core3.0-------------------EntityFrameWork DbFirst
- eMMC工具dumpe2fs
- RHEL4.5 for x86的ORACLE SGA扩展
- docker学习笔记2
- iOS 支付宝支付
- 8.redis哨兵部署
- angular.js-服务-http-路由(5)
- gb28181简单解包rtp ps流,推出rtmp(java版基于springboot):六、解包rtp ps流,推出rtmp
- javaCV简单解析gb28181的rtp ps流,并推流到rtmp服务
- springboot杂谈
- 【Win10 UWP】URI Scheme(一):Windows Store协议的解析和使用
- python向es写入大量数据_使用Python-elasticsearch-bulk批量快速向elasticsearch插入数据_李谦的博客-CSDN博客...
- php 加载 java.so,请教,php扩展加载第三方.so文件时出错
- WSL中的ubuntu安装最新的Cmake及其使用(win11)
- Apache shiro 权限
- Windows Store协议(ms-windows-store)解析和使用
- java常用工具类和Hutool常用的工具类整理
- “百思不得姐,2021最新Java面试笔试题目分享
- 表白小游戏教程:制作一个小游戏送给喜欢的TA(不会编程也能学会哦)
- 马斯克反悔:毫米波雷达重新上车,最快下个月就发布
- 网页设计参考资料一波
- 叉姐的魔法训练小结(未完结)
- 一种基于滑动平均的时间序列滤波方法(Java实现)
- opencv3 6.2非线性滤波
- 宝儿姐告诉我学习数据库这一篇就差不离了
- 这波啊,是王心凌技术男孩
- css波纹动画在移动端,利用css实现波纹动画效果实例
- matlab噪声滤波分析,应用Matlab对含噪声语音信号进行频谱分析及滤波
- python进行图像滤波_Python图像滤波处理操作示例【基于ImageFilter类】
- 【程序员面试系列】手把手教你如何面试,你要的我都有(工作项目篇)
人脸检测(dlib和opencv)相关推荐
- 视频人脸检测——Dlib版(六)
往期目录 视频人脸检测--Dlib版(六) OpenCV添加中文(五) 图片人脸检测--Dlib版(四) 视频人脸检测--OpenCV版(三) 图片人脸检测--OpenCV版(二) OpenCV环境搭 ...
- 图片人脸检测——Dlib版(四)
上几篇给大家讲了OpenCV的图片人脸检测,而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库. 往期目录 视频人脸检测--Dlib版(六) OpenCV添加中文(五) 图片人脸检测- ...
- dlib php,图片人脸检测——Dlib版(四)
上几篇给大家讲了OpenCV的图片人脸检测,而本文给大家带来的是比OpenCV更加精准的图片人脸检测Dlib库. 往期目录 dlib与OpenCV对比 识别精准度:Dlib >= OpenCV ...
- 人脸检测dlib, mtcnnx对比,FDDB测试对比
前面一直做人脸检测相关内容,然后对比了下dib以及MTCNN的人脸检测效果主要是速度,以及FDDB准确率.最后给出生成FDDB测试文件的C++代码. FDDB 测试结果 注本文的MTCNN效果检测准确 ...
- 图片人脸检测——Dlib
马上就五一了,发呆的时候想到了之前接触过一点儿的Dlib,在c++下的使用,正好今天有人问起了会不会OpenCV,于是- dlib与OpenCV对比:识别精准度:Dlib >= OpenCV,D ...
- python视频人脸检测_Python基于OpenCV实现视频的人脸检测
本文实例为大家分享了基于OpenCV实现视频的人脸检测具体代码,供大家参考,具体内容如下 前提条件 1.摄像头 2.已安装Python和OpenCV3 代码 import cv2 import sys ...
- python人脸检测代码_python3+openCV实现图片的人脸人眼检测,原理+参数+源代码
上学时候用matlab学过一些图像处理的基础知识,当时课程作业是用haar实现人脸检测 but当时是心思根本不在图像处理上,so找了个同学帮忙做的,自己没上心 然鹅天道好轮回,现在捡起来了原来的算法一 ...
- 机器视觉毕业设计 深度学习疲劳驾驶人脸检测系统 - python opencv
文章目录 0 前言 1 课题背景 2 Dlib人脸识别 2.1 简介 2.2 Dlib优点 2.3 相关代码 2.4 人脸数据库 2.5 人脸录入加识别效果 3 疲劳检测算法 3.1 眼睛检测算法 3 ...
- 如何用OpenCV在Python中实现人脸检测
选自towardsdatascience 作者:Maël Fabien 机器之心编译 参与:高璇.张倩.淑婷 本教程将介绍如何使用 OpenCV 和 Dlib 在 Python 中创建和运行人脸检测算 ...
- 视频人脸检测——OpenCV版(三)
视频人脸检测是图片人脸检测的高级版本,图片检测详情点击查看我的上一篇<图片人脸检测--OpenCV版(二)> 实现思路: 调用电脑的摄像头,把摄像的信息逐帧分解成图片,基于图片检测标识出人 ...
最新文章
- 内存文件系统——sysfs
- 对于百川SDK签名验证的问题
- Android开发之Android studio代码版本回退教程
- 在 alpine 中使用 NPOI
- django 1.8 官方文档翻译: 3-2-1 内建的视图
- ubuntu没有进入图形界面解决办法
- php等待参数跳转,Thinkphp页面跳转设置跳转等待时间的操作
- 在Windows平台下载及安装 TensorFlow
- 在vue中实现锚点定位功能
- 浅析View的事件分发机制
- 外资公司章程标准范本
- sql 语句高级用法常用合集
- abap SD 定价公式(例程,即Formula)
- Linux系统之查找文件和打包压缩文件
- python画出心形图
- 3dmax:3dmax三维VR渲染设置之摄像机设置案例应用之自由摄影打造动画效果之图文教程
- java的数据库连接编程(jdbc)技术_Java的数据库连接编程(JDBC)技术
- NLP with Python-Chapter1 language Processiong and Python--1.1 compute with Language :texts and words
- 金纳米棒Aunanorods长径比可调|水溶液呈现出蓝色、棕色、棕红色等颜色
- 令人相见恨晚的PPT技巧,熟练掌握后,工作效率提升10倍
热门文章
- 水热耦合模型SHAW驱动数据说明和运行方法
- JAVA简单实现坦克对战(只有坦克和子弹)
- vue下载二进制流文件转为Excel文件
- MySQL 采用Xtrabackupex进行全库备份过程汇总
- pytest—pytest.mark.parametrize的使用
- abb机器人旋转六轴角度指令_ABB-120型号机器人的6个轴运动的角度范围各是多少?...
- matlab2017硬件加速,现场影像增强中的硬件加速机制研究
- 计算机应用数字多媒体,多媒体技术基础计算机应用专业系列教材 主讲:薛文涛【精品-ppt】.ppt...
- 多种深度模型实现手写字母MNIST的识别(CNN,RNN,DNN,逻辑回归,CRNN,LSTM/Bi-LSTM,GRU/Bi-GRU)
- PDF文件带有密码如何解除?