人脸检测方法有许多,比如opencv自带的人脸Haar特征分类器和dlib人脸检测方法等。对于opencv的人脸检测方法,有点是简单,快速;存在的问题是人脸检测效果不好。正面/垂直/光线较好的人脸,该方法可以检测出来,而侧面/歪斜/光线不好的人脸,无法检测。因此,该方法不适合现场应用。对于dlib人脸检测方法 ,效果好于opencv的方法,但是检测力度也难以达到现场应用标准。

MTCNN是基于深度学习的人脸检测方法,对自然环境中光线,角度和人脸表情变化更具有鲁棒性,人脸检测效果更好;同时,内存消耗不大,可以实现实时人脸检测。

代码如下:

from scipy import misc

import tensorflow as tf

import detect_face

import cv2

import matplotlib.pyplot as plt

%pylab inline

minsize = 20 # minimum size of face

threshold = [ 0.6, 0.7, 0.7 ] # three steps's threshold

factor = 0.709 # scale factor

gpu_memory_fraction=1.0

print('Creating networks and loading parameters')

with tf.Graph().as_default():

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=gpu_memory_fraction)

sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options, log_device_placement=False))

with sess.as_default():

pnet, rnet, onet = detect_face.create_mtcnn(sess, None)

image_path = '/home/cqh/faceData/multi_face/multi_face3.jpg'

img = misc.imread(image_path)

bounding_boxes, _ = detect_face.detect_face(img, minsize, pnet, rnet, onet, threshold, factor)

nrof_faces = bounding_boxes.shape[0]#人脸数目

print('找到人脸数目为:{}'.format(nrof_faces))

print(bounding_boxes)

crop_faces=[]

for face_position in bounding_boxes:

face_position=face_position.astype(int)

print(face_position[0:4])

cv2.rectangle(img, (face_position[0], face_position[1]), (face_position[2], face_position[3]), (0, 255, 0), 2)

crop=img[face_position[1]:face_position[3],

face_position[0]:face_position[2],]

crop = cv2.resize(crop, (96, 96), interpolation=cv2.INTER_CUBIC )

print(crop.shape)

crop_faces.append(crop)

plt.imshow(crop)

plt.show()

plt.imshow(img)

plt.show()

实验效果如下:

再上一组效果图:

关于MTCNN,更多资料可以点击链接

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

mtcnn人脸检测python_基于MTCNN/TensorFlow实现人脸检测相关推荐

  1. mtcnn人脸检测python_基于mtcnn和facenet的实时人脸检测与识别系统开发

    简介:本文主要介绍了实时人脸检测与识别系统的详细方法.该系统基于python/opencv2/tensorflow环境,实现了从摄像头读取视频,检测人脸,识别人脸的功能.本系统代码地址:real ti ...

  2. OpenCV + python 实现人脸检测(基于照片和视频进行检测)

    OpenCV + python 实现人脸检测(基于照片和视频进行检测) Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征 ...

  3. Python人脸识别教程 - 基于Python的开源人脸识别库:离线识别率高达99.38%

    Python人脸识别教程 - 基于Python的开源人脸识别库:离线识别率高达99.38% 仅用 Python 和命令行就可以实现人脸识别的库开源了.该库使用 dlib 顶尖的深度学习人脸识别技术构建 ...

  4. [系统安全] 三十三.恶意代码检测(3)基于机器学习的恶意代码检测技术

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  5. 离群点、异常点检测及Python实现(正态分布3∂,Z-score 异常值检测,基于MAD的Z-score 异常值检测,杠杆值点、DFFITS值、SR学生化残差、cook距离和covratio值)

    有一些准则可以检测离群点,如:正态分布3∂,Z-score 异常值检测,基于MAD的Z-score 异常值检测 以上部分详情与代码请参考:https://blog.csdn.net/weixin_35 ...

  6. 【人脸识别】基于dlib库实现人脸特征值提取

    一.Dlib库介绍与安装 1. Dlib库简介 Dlib库是一个机器学习的开源库,包含了机器学习的很多算法,使用起来很方便,直接包含头文件即可,并且不依赖于其他库(自带图像编解码库源码).Dlib可以 ...

  7. 【人脸识别】基于主成分分析PCA算法人脸识别门禁系统含Matlab源码

    1 简介 人脸是反应人身份的最直接的,最可靠的信息资源.通过人脸我们可以很快辨识一个人,这就是所谓的人脸识别.最初的人脸研究人员是一些从事社会心理学的工作者,从20世纪50年代开始有一些文献资料陆续发 ...

  8. 【雷达检测】基于matlab模拟海洋监视雷达检测仿真【含Matlab源码 2268期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达检测]基于matlab模拟海洋监视雷达检测仿真[含Matlab源码 2268期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  9. 精简 opencv python_基于Python的OpenCV人脸检测!简直不要太简单!

    一.文章概述 注意:本文只是人脸检测,人脸识别的实现请参见本人另一篇博客:基于OpenCV+TensorFlow+Keras实现人脸识别 本文将要讲述的是Python环境下如何用OpenCV检测人脸, ...

最新文章

  1. Linux文本搜索工具grep
  2. canvas之特丑时钟
  3. java Servlet学习笔记(一)
  4. Oracle 随机取某一列的值
  5. sqlalchemy mysql配置中怎么设置utf8_在SqlAlchemy中,我想要一个列是UTF8?
  6. 【机器学习】 - 目标检测 - VOC格式数据集介绍与自己制作
  7. ifix怎么装服务器系统上,ifix服务器和客户端配置
  8. linux 切换目录技巧,Lnux入门教程:Linux目录切换技巧
  9. 面试必问:如何实现Redis分布式锁
  10. 连昌宫词 [唐] 元稹
  11. 解决easyui textarea 值不显示及获取textarea的值
  12. Unity中Debug打印信息的颜色设置
  13. “21天好习惯”第一期-6
  14. Unity美术字体教程--BMFont美术字体的制作流程以及在unity中美术字体的生成
  15. python贪吃蛇的实验报告_贪吃蛇游戏程序设计实验报告.doc
  16. cad 打开硬件加速卡_CAD如何根据已知条件设计图形
  17. 【雷达】毫米波雷达和激光雷达
  18. 欧姆字符的编码c语言,欧姆符号怎么打
  19. 爬取Google网站的图片
  20. mysql 减去一月_sql – 如何从日期列中减去一个月

热门文章

  1. VIP邮箱有什么好处,北京外贸邮箱品牌原来这个最好用?
  2. Maven Nexus 私库的搭建
  3. luogu 1049
  4. webscraper 中文教程
  5. linux定时任务每小时_linux 后台运行,linux定时脚本任务,定时(每分钟),每小时...
  6. Linux 下的ps命令
  7. CSS:标签显示模式与盒子模型
  8. 弘辽科技:淘宝人气新品是什么意思?人气新品权重包含哪些?
  9. Zotero 的下载与配置(综合版)
  10. Flutter 精品项目之基于SQLite本地数据的日常支出手帐App(教程含源码)