首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 中使用 dlib+opencv 实现动态人脸检测功能

1 概述 完成 Android 相机预览功能以后,在此基础上我使用 dlib 与 opencv 库做了一个关于人脸检测 demo。...具体实现原理如下: 采用双层 View,底层 TextureView 用于预览,程序 TextureView 中获取预览帧数据,然后调用 dlib 库对帧数据进行处理,最后将检测结果绘制在顶层 SurfaceView...dlib 中同样提供了 CNN 方法来进行人脸检测,效果好于 HOG,不过需要使用 GPU 加速,不然程序运行会非常慢。...(env, size); for (int i = 0; i < size; i++) { // 对检测每一个人脸创建对应实例对象,然后插入数组 jobject jDetRet = JNI_VisionDetRet...7 Demo 源码 Github:https://github.com/lightweh/FaceDetection 总结 以上所述是小编给大家介绍Android 中使用 dlib+opencv 实现动态人脸检测功能

2.9K10
您找到你想要的搜索结果了吗?
是的
没有找到

OpenCV vs Dlib 人脸检测比较分析

缺点 作者认为没有什么大缺点^_^ (52CV君不敢妄提缺点,但认为不能使用NVIDIA GPU绝对是个遗憾) 3. Dlib HoG人脸检测 代码示例: ?...缺点 1)CPU速度很慢; 2)不能检测小脸,因为它训练数据最小人脸尺寸为80×80,但是用户可以用较小尺寸的人脸数据自己训练检测器; 3)人脸包围框甚至小于DLib HoG人脸检测器。 5....可以看到Dlib两种方法效果都不怎么好,作者发现原来Dlib训练使用数据集的人脸包围框较小,导致按照FDDB评价标准不公平。 ? ? ? 另外,Dlib无法检测小脸也拉低了分数。 6....8 总结推荐 如何在应用中选择人脸检测算法呢?作者认为应该首先尝试OpenCV DNN方法与Dlib HOG方法,然后再做决定。 一般情况 在大多数应用程序中,我们无法知道图像中人脸尺寸大小。...”微信公众号对话界面回复“人脸检测比较”,即可收到该文代码、模型与使用数据百度云下载地址。

4.4K10

用40行Python代码 实践高大上的人脸识别

其实如果如果你不是非要深究其中原理,只是要实现这一工作的话,人脸识别也没那么难。今天我们就来看看如何在40行代码以内简单地实现人脸识别。...Dlib是基于现代C++一个跨平台通用框架,作者非常勤奋,一直在保持更新。Dlib内容涵盖机器学习、图像处理、数值算法、数据压缩等等,涉猎甚广。更重要是,Dlib文档非常完善,例子非常丰富。...人脸识别 之所以用 Dlib 来实现人脸识别,是因为它已经替我们做好了绝大部分工作,我们只需要去调用就行了。Dlib里面有人脸检测器,有训练好的人脸关键点检测器,也有训练好的人脸识别模型。...detector = dlib.get_frontal_face_detector() # 2.加载人脸关键点检测器 sp = dlib.shape_predictor(predictor_path)...加载人脸识别模型 facerec = dlib.face_recognition_model_v1(face_rec_model_path) # win = dlib.image_window()

54800

40行代码的人脸识别实践

这些人里包括曾经我自己。其实如果如果你不是非要深究其中原理,只是要实现这一工作的话,人脸识别也没那么难。今天我们就来看看如何在40行代码以内简单地实现人脸识别。...Dlib是基于现代C++一个跨平台通用框架,作者非常勤奋,一直在保持更新。Dlib内容涵盖机器学习、图像处理、数值算法、数据压缩等等,涉猎甚广。更重要是,Dlib文档非常完善,例子非常丰富。...人脸识别 之所以用Dlib来实现人脸识别,是因为它已经替我们做好了绝大部分工作,我们只需要去调用就行了。Dlib里面有人脸检测器,有训练好的人脸关键点检测器,也有训练好的人脸识别模型。...detector = dlib.get_frontal_face_detector() # 2.加载人脸关键点检测器 sp = dlib.shape_predictor(predictor_path)...加载人脸识别模型 facerec = dlib.face_recognition_model_v1(face_rec_model_path) # win = dlib.image_window() #

931100

40行代码的人脸识别实践

其实如果如果你不是非要深究其中原理,只是要实现这一工作的话,人脸识别也没那么难。今天我们就来看看如何在40行代码以内简单地实现人脸识别。...Dlib是基于现代C++一个跨平台通用框架,作者非常勤奋,一直在保持更新。Dlib内容涵盖机器学习、图像处理、数值算法、数据压缩等等,涉猎甚广。更重要是,Dlib文档非常完善,例子非常丰富。...人脸识别 之所以用 Dlib 来实现人脸识别,是因为它已经替我们做好了绝大部分工作,我们只需要去调用就行了。Dlib里面有人脸检测器,有训练好的人脸关键点检测器,也有训练好的人脸识别模型。...2.识别流程 数据准备完毕,接下来就是代码了。识别的大致流程是这样: 先对候选人进行人脸检测、关键点提取、描述子生成后,把候选人描述子保存起来。...detector = dlib.get_frontal_face_detector() # 2.加载人脸关键点检测器 sp = dlib.shape_predictor(predictor_path)

6.6K40

使用OpenCV,Python和深度学习进行人脸识别

安装不支持GPUdlib 如果没有GPU,则可以使用pip 安装 dlib: $ workon# optional $ pip install dlib 或者你可以源代码编译: $ workon <...如果你是: 在CPU上运行人脸识别代码 或者你使用树莓派 ……你要把–detection-method设置为hog,因为CNN人脸检测没有GPU很慢,并且树莓派没有足够内存来运行任意CNN。...稍后在实际的人脸识别步骤中我们需要这些数据。 然后,在第6行和第7行,我们加载并将输入图像转换为rgb颜色通道排序。 然后我们继续检测输入图像中所有人脸并计算其128维编码 在 第14-16行。...name变量将保留penson字符串-现在,在没有“votes”(可以理解为票数)情况下,我们把它保存为 “Unknown” (7行)。...未来,我会讨论如何在树莓派上运行人脸识别,敬请期待!

10K71

使用Python+OpenCV+dlib人脸生成口罩

目前,可用于训练和评估人脸识别系统图像数据集是有限。据报道,美国国家标准与技术研究所(NIST)研究通过将口罩(各种颜色、大小和位置)叠加在没有带口罩人脸图像上来解决这个问题。...在这篇文章中,我们使用dlib人脸检测器。 dlib正面人脸检测器是基于方向梯度直方图(HOG)和线性SVM。 ?...我们使用dlib正面人脸检测来首先检测人脸,然后使用面部标志点预测器dlib.shape_predictor检测人脸关键点。...下颚线:点[0,16] 请注意,标志点0开始 dlib人脸关键点检测器就是在这个数据集上训练:https://ibug.doc.ic.ac.uk/resources/facial-point-annotations...当与另一个产生不同对齐框的人脸检测器(基于CNNmmod_human_face_detector.dat )一起使用时,结果不会很好。

1.7K11

40行代码的人脸识别实践

本文来自CSDN博客专家 ID:xingchenbingbuyu 今天我们就来看看如何在40行代码以内简单地实现人脸识别。...Dlib是基于现代C++一个跨平台通用框架,作者非常勤奋,一直在保持更新。Dlib内容涵盖机器学习、图像处理、数值算法、数据压缩等等,涉猎甚广。更重要是,Dlib文档非常完善,例子非常丰富。...人脸识别 之所以用Dlib来实现人脸识别,是因为它已经替我们做好了绝大部分工作,我们只需要去调用就行了。Dlib里面有人脸检测器,有训练好的人脸关键点检测器,也有训练好的人脸识别模型。...= sys.argv[4] 15# 1.加载正脸检测器 16detector = dlib.get_frontal_face_detector() 17# 2.加载人脸关键点检测器 18sp = dlib.shape_predictor...加载人脸识别模型 20facerec = dlib.face_recognition_model_v1(face_rec_model_path) 21# win = dlib.image_window(

65440

这一次,我拒绝了Python,选择了Go

没有在 Go 语言中找到人脸识别的有关库,因此用 Go 语言实现这样一个应用,对于整个社区而言,都是一件有趣又有帮助事。 ▌选择合适框架 如前所述,神经网络以及相应实现框架如今正被广泛地使用。...因此,在这里我使用 libjpeg 来编写自己图像加载器。由于大多数照片都以该格式存储,因此这种格式加载器足以胜任大部分需要,以后有需要我还会添加其他格式图像加载器。...在最简单情况下,你可以通过比较未知描述符与所有已知描述符之间欧几里德距离。但这并不完美,即使是当前最先进的人脸识别技术也会得到错误答案。.../bin/go-face-example 由于在 dlib 代码中大量使用了 C++ 模板,因此需要一些时间来编译 go-face (在我 i7 上大约需要运行 1 分钟)。...人脸提取特征向量是一个强大概念,因为你不需要收集自己训练数据,这也是一项非常艰巨任务 (Davis 曾提到创建 dlib 中 ResNet 模型所用到 300 万张人脸数据集),但为了获得更高识别性能这可能也是无法避免

98640

OpenCV实现人脸检测和68点定位

要实现人脸对比,首先要实现人脸检测,在摄像头拍摄到一张图片中,正确检测人脸位置,并且将人脸提取出来。...4 步骤详解 4.1 OpenCV实现人脸检测 首先将图片转换成灰色:使用 OpenCV cvtColor() 转换图片颜色。...:在使用 OpenCV 的人脸检测之前,需要一个人脸训练模型,格式是 xml ,本实验中使用是 OpenCV 提供好的人脸分类模型 xml:haarcascade_frontalface_alt_tree.xml...4.2 人脸68点定位 除了使用 OpenCV 实现人脸检测之外,也可以借助比 OpenCV 更加精准图片人脸检测 Dlib 库实现人脸 68 点定位。 首先导入需要调用库。...可以发现,dlib检测人脸包括双眼、鼻子、嘴巴在内并用68点标注过图片如下所示,并可以精准定位检测人脸。 ? ---- 欢迎留言,一起学习交流~ 感谢阅读 END

4.4K20

40行代码的人脸识别实践

这些人里包括曾经我自己。其实如果如果你不是非要深究其中原理,只是要实现这一工作的话,人脸识别也没那么难。今天我们就来看看如何在40行代码以内简单地实现人脸识别。...Dlib是基于现代C++一个跨平台通用框架,作者非常勤奋,一直在保持更新。Dlib内容涵盖机器学习、图像处理、数值算法、数据压缩等等,涉猎甚广。更重要是,Dlib文档非常完善,例子非常丰富。...人脸识别 之所以用 Dlib 来实现人脸识别,是因为它已经替我们做好了绝大部分工作,我们只需要去调用就行了。Dlib里面有人脸检测器,有训练好的人脸关键点检测器,也有训练好的人脸识别模型。...detector = dlib.get_frontal_face_detector() # 2.加载人脸关键点检测器 sp = dlib.shape_predictor(predictor_path)...加载人脸识别模型 facerec = dlib.face_recognition_model_v1(face_rec_model_path) # win = dlib.image_window()

1.1K80

你们都用 Python 做人脸识别,我就偏要用 Go!

没有在 Go 语言中找到人脸识别的有关库,因此用 Go 语言实现这样一个应用,对于整个社区而言,都是一件有趣又有帮助事。 ▌选择合适框架 如前所述,神经网络以及相应实现框架如今正被广泛地使用。...因此,在这里我使用 libjpeg 来编写自己图像加载器。由于大多数照片都以该格式存储,因此这种格式加载器足以胜任大部分需要,以后有需要我还会添加其他格式图像加载器。...在最简单情况下,你可以通过比较未知描述符与所有已知描述符之间欧几里德距离。但这并不完美,即使是当前最先进的人脸识别技术也会得到错误答案。.../bin/go-face-example 由于在 dlib 代码中大量使用了 C++ 模板,因此需要一些时间来编译 go-face (在我 i7 上大约需要运行 1 分钟)。...人脸提取特征向量是一个强大概念,因为你不需要收集自己训练数据,这也是一项非常艰巨任务 (Davis 曾提到创建 dlib 中 ResNet 模型所用到 300 万张人脸数据集),但为了获得更高识别性能这可能也是无法避免

2.1K20

如何用OpenCV在Python中实现人脸检测

我们将通过以下方法实现人脸检测使用 OpenCV Haar 级联分类器 使用 Dlib 方向梯度直方图 使用 Dlib 卷积神经网络 本文代码 Github 库(以及作者其他博客代码)链接...这样我们仅使用 4 个数组值就计算出了矩形 D 值。 ? 人们应该知道矩形在实际中是非常简单特征,但对于人脸检测已经足够了。当涉及复杂问题时,可调滤波器往往更灵活多变。 ?...对图像每个区域给予等同注意力是没有意义,因为我们应该主要关注最有可能包含人脸区域。Viola 和 Jone 使用级联分类器在减少了计算时间同时,实现了更高检测率。...YouTube 视频演示: Dlib 方向梯度直方图(HOG) 第二种常用的人脸检测工具由 Dlib 提供,它使用了方向梯度直方图(HOG)概念。...考虑到实时人脸检测速度,我在个人项目中使用了 HOG。 希望这个关于 OpenCV 和 Dlib人脸检测快速教程能对你有所帮助。

1.4K30

精通 Python OpenCV4:第三、四部分

使用 Dlib人脸检测 您可以使用dlib.get_frontal_face_detector()创建正面检测器,该检测器基于定向梯度直方图(HOG)特征和滑动窗口检测方法中线性分类器。...您可以使用dlib.cnn_face_detection_model_v1()创建 CNN 人脸检测器。 构造器文件中加载人脸检测模型。 您可以从这里下载预训练模型(712 KB)。...API Python 使用 Dlib 检测人脸标志 另一种选择是使用dlib库来检测人脸标志。...在landmarks_detection_dlib.py脚本中,我们使用dlib检测人脸标志。 更具体地说,我们使用网络摄像头拍摄图像使用dlib正面人脸检测进行人脸检测。...使用基于 Dlib DCF 跟踪器的人脸跟踪 在face_tracking_correlation_filters.py脚本中,我们使用 Dlib 正面人脸检测器进行初始化,并使用基于dlib DCF

1.3K10

【人工智能】使用Pythondlib库实现人脸识别技术

本文将介绍人脸识别技术发展历程,并展示如何使用Python和dlib库实现简单的人脸识别。 二、传统人脸识别技术 1....卷积神经网络(CNN) CNN通过层层卷积操作,图像中提取出高层次特征,使得人脸识别更加准确和鲁棒。 经典模型LeNet、AlexNet、VGG、ResNet等在图像识别任务中表现优异。 2....四、使用Python和dlib库实现人脸识别 接下来,我们将展示如何使用Python和dlib库实现简单的人脸识别。 1....人脸检测与识别代码 import cv2 import dlib # 加载dlib人脸检测器 detector = dlib.get_frontal_face_detector() # 加载dlib人脸特征提取器...实现效果 五、总结 人脸识别技术传统几何特征和模板匹配方法,发展到如今基于深度学习高精度识别,经历了巨大演变。通过使用Python和dlib库,我们可以轻松实现高效的人脸识别系统。

7510

用Python实现一个简单——人脸相似度对比

总体来说,AI门槛还是比较高,不仅要学会使用框架实现,更重要是,需要有一定数学基础,线性代数,矩阵,微积分等。 幸庆是,国内外许多大神都已经给我们造好“轮子”,我们可以直接来使用某些模型。...使用第三方模块和模型: 1、模块:os,dlib,glob,numpy; 2、模型:人脸关键点检测器,人脸识别模型。 第一步:导入需要模型。...在这里,这两个参数文件就对应了不同功能(它们对应神经网络结构也不同): shape_predictor.dat这个是为了检测人脸关键点,比如眼睛,嘴巴等等;dlib_face_recognition.dat...是在前面检测关键点基础上,生成人脸特征值。...当你做完这一步之后,输出列表descriptors看一下,可以看到类似这样数组,每一个数组代表就是每一张图片特征量(128维)。然后我们可以使用L2范式(欧式距离),来计算两者间距离。

3.3K30

如何用OpenCV在Python中实现人脸检测

我们将通过以下方法实现人脸检测使用 OpenCV Haar 级联分类器 使用 Dlib 方向梯度直方图 使用 Dlib 卷积神经网络 本文代码 Github 库(以及作者其他博客代码)链接...这样我们仅使用 4 个数组值就计算出了矩形 D 值。 ? 人们应该知道矩形在实际中是非常简单特征,但对于人脸检测已经足够了。当涉及复杂问题时,可调滤波器往往更灵活多变。 ?...对图像每个区域给予等同注意力是没有意义,因为我们应该主要关注最有可能包含人脸区域。Viola 和 Jone 使用级联分类器在减少了计算时间同时,实现了更高检测率。...YouTube 视频演示: Dlib 方向梯度直方图(HOG) 第二种常用的人脸检测工具由 Dlib 提供,它使用了方向梯度直方图(HOG)概念。...CNN 还是用来处理带有网格状拓扑数据特殊神经网络。它架构灵感来自动物视觉皮层。 以前方法中,很大一部分工作是选择滤波器来创建特征,以便尽图像中可能多地提取信息。

1.5K20

使用Python进行人脸聚类详细教程

在这里,我将帮助你编写两个Python脚本: 一个用于提取和量化数据集中的人脸 另一个是对面部进行聚类,其中每个结果聚类(理想情况下)代表一个独特个体 然后,我们将在样本数据集上运行我们的人脸聚类管道并检查结果...我还要提到是,如果你认为这个脚本运行缓慢,或者你希望在没有GPU情况下实时运行人脸聚类,可以将–detection-method设置为hog ,替代cnn。...虽然CNN脸检测更准确,但在没有GPU运行实时检测速度太慢。...将data处理为NumPy数组(第6行)。 data中提取128维编码 ,将它们放在一个列表中(第7行)。...在循环第一部分内,我们: 磁盘加载image并使用在我们面部嵌入步骤中找到边界框坐标提取face ROI(第4-6行)。

5.9K30
领券