Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >详解OpenVINO 模型库中的人脸检测模型

详解OpenVINO 模型库中的人脸检测模型

作者头像
OpenCV学堂
发布于 2020-10-27 02:56:33
发布于 2020-10-27 02:56:33
1.3K00
代码可运行
举报
运行总次数:0
代码可运行

OpenVINO人脸检测模型

OpenVINO的模型库中有多个人脸检测模型,这些模型分别支持不同场景与不同分辨率的人脸检测,同时检测精度与速度也不同。下面以OpenVINO2020 R04版本为例来逐一解释模型库中的人脸检测,列表如下:

从列表中可以看出骨干特征网络主要是MobileNetv2与SqueezeNet两种支持实时特征网络,ResNet152是高精度的特征网络,检测头分别支持SSD、FCOS、ATSS。

01

MobileNetv2版本的模型结构

上面三张图就是MobileNetv2的全部!看懂就好!

02

ResNet网络

残差网络模型在2015年提出,OpenCV从3.3版本开始支持,相关的论文如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://arxiv.org/pdf/1512.03385.pdf

与VGG模型对比,模型结构:

03

SqueezeNet网络

该模型与MobileNet网络都是支持移动端/端侧可部署的模型,2016提出,相关论文如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://arxiv.org/pdf/1602.07360.pdf

模型结构

检测模型

根据不同的检测头,组合生成不同的对象检测模型,这里三种常见的检测模型:

01

SSD检测

SSD论文中给出的是基于VGG-16作为backbone网络的,替换VGG为MobileNetV2,然后从第12个权重层开始提取特征到第14或者15个权重层,针对anchor预测与类别预测完成回归与分类损失计算,实现对象检测模型训练。

02

FCOS检测

跟YOLOv1相似是一个anchor-free的网络模型,多了一个中心输出来压制低质量的bounding box输出。

03

ATSS

ATSS的全称是自适应训练样本选择,

作者首先对比了RetinaNet与FCOS两种对象检测方法,发现对象检测在回归阶段的本质问题是如何选择正负样本,解决样本不平衡性问题,从而提出了一种新的正负样本选择定义方法-自适应训练样本选择(ATSS)。流程如下

该方法可以获得更好的对象检测精度与mAP,适用RetinaNet与FCOS等对象检测网络。实际实验数据对比:

代码演示与对比

上面的OpenVINO的人脸检测模型列表中,MobileNetv2 + SSD/FCOS适用于速度优先,不同分辨率的场景,ResNet152 + ATSS是OpenVINO模型库中的精度最高的人脸检测预训练模型。下面我们就通过代码分别测试FCOS与ATSS两种检测模型的检测效果比较,针对同一张测试人脸图像,图示如下:(此张非原图!原图太大,无法上传

统一调整阈值为0.25,推理时间与检测人脸总数的对比图如下:

最终分别得到测试图像如下:

FCOS

ATSS

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数据科学 IPython 笔记本 7.10 组合数据集:合并和连接
Pandas 提供的一个基本特性,是内存中的高性能的连接和合并操作。如果你曾经使用过数据库,那么你应该熟悉这种类型的数据交互。它的主要接口是pd.merge函数,我们将看到几个在实践中如何工作的例子。
ApacheCN_飞龙
2022/06/03
1.1K0
Python自动化办公之Excel对比工具
今天我们继续分享真实的自动化办公案例,希望各位 Python 爱好者能够从中得到些许启发,在自己的工作生活中更多的应用 Python,使得工作事半功倍!
周萝卜
2022/04/06
9900
Python自动化办公之Excel对比工具
用 Python 帮财务小妹对比 Excel,小妹这次破防了。。。
由于工作当中经常需要对比前后两个Excel文件,文件内容比较多,人工肉眼对比太费劲,还容易出错,搞个Python小工具,会不会事半功倍
周萝卜
2021/11/08
5740
ElasticSearch 索引查询使用指南——详细版
  绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示部分数据因为某些原因不可用.
双面人
2019/04/10
3.8K0
ElasticSearch 索引查询使用指南——详细版
《Pandas Cookbook》第04章 选取数据子集1. 选取Series数据2. 选取DataFrame的行3. 同时选取DataFrame的行和列4. 用整数和标签选取数据5. 快速选取标量6
第01章 Pandas基础 第02章 DataFrame运算 第03章 数据分析入门 第04章 选取数据子集 第05章 布尔索引 第06章 索引对齐 第07章 分组聚合、过滤、转换 第08章 数据清理 第09章 合并Pandas对象 第10章 时间序列分析 第11章 用Matplotlib、Pandas、Seaborn进行可视化
SeanCheney
2018/10/10
3.8K0
天池大数据竞赛 Spaceack带你利用Pandas,趋势图与桑基图分析美国选民候选人喜好度
首先,这是一篇面向新人的教程导向的分析文章,(by the way其实我也是新手,从比赛开始才学的Pandas库,这也是我的一篇学习笔记),所以会包含很多函数的基础用法,解题思路等等, 流程会比较详细。
Spaceack
2021/01/05
1K0
不平衡数据集分类实战:成人收入数据集分类模型训练和评估
一个常用的例子是成人收入数据集,它涉及到社交关系、教育水平等个人数据,以此来预测成人的收入水平,判断其是否拥有5万美元/年的个人收入。数据集中个人收入低于5万美元的数据比高于5万美元的数据要明显多一些,存在着一定程度的分布不平衡。 针对这一数据集,可以使用很多不平衡分类的相关算法完成分类任务。
deephub
2020/05/09
2.4K0
不平衡数据集分类实战:成人收入数据集分类模型训练和评估
Python连接MIMIC-IV数据库并图表可视化
这种直接SQL提取方式很直接,但是不是最好的方式也不利于数据的进一步统计分析、可视化和预测分析, 所以我们这里讲解下:
科研收录
2023/12/12
4370
Python连接MIMIC-IV数据库并图表可视化
ElasticSearch初体验
构建在开源基础之上, Elastic Stack 让您能够安全可靠地获取任何来源、任何格式的数据,并且能够实时地对数据进行搜索、分析和可视化
小旋锋
2019/01/21
1.1K0
数据缺失、混乱、重复怎么办?最全数据清洗指南让你所向披靡
在拟合机器学习或统计模型之前,我们通常需要清洗数据。用杂乱数据训练出的模型无法输出有意义的结果。
机器之心
2020/04/22
2.9K0
数据缺失、混乱、重复怎么办?最全数据清洗指南让你所向披靡
《Pandas Cookbook》第02章 DataFrame基本操作1. 选取多个DataFrame列2. 对列名进行排序3. 在整个DataFrame上操作4. 串联DataFrame方法5. 在
In[1]: import pandas as pd import numpy as np pd.options.display.max_columns = 40 1. 选取多个DataFrame列 # 用列表选取多个列 In[2]: movie = pd.read_csv('data/movie.csv') movie_actor_director = movie[['actor_1_name', 'actor_2_name', 'actor_3_name
SeanCheney
2018/10/10
4.9K0
《Pandas Cookbook》第02章 DataFrame基本操作1. 选取多个DataFrame列2. 对列名进行排序3. 在整个DataFrame上操作4. 串联DataFrame方法5. 在
Elasticsearch7.6学习笔记1 Getting start with Elasticsearch
安装方法见: https://www.cnblogs.com/woshimrf/p/docker-es7.html
Ryan-Miao
2020/04/12
1.7K0
将文本特征应用于客户流失数据集
在我的上一篇博客“什么是嵌入,你能用它做什么”中,我谈到了嵌入可以把高维、非结构化的数据转换成低维的数值表示,可以用在各种机器学习模型中。
磐创AI
2021/09/03
1K0
用 Pandas 进行数据处理系列 二
获取行操作df.loc[3:6]获取列操作df['rowname']取两列df[['a_name','bname']] ,里面需要是一个 list 不然会报错增加一列df['new']=list([...])对某一列除以他的最大值df['a']/df['a'].max()排序某一列df.sorted_values('a',inplace=True,ascending=True) , inplace 表示排序的时候是否生成一个新的 dataFrame , ascending=True 表示升序,默认为升序,如果存在缺失的补值( Nan ),排序的时候会将其排在末尾
zucchiniy
2019/10/30
8.6K0
如何使用方差阈值进行特征选择
今天,数据集拥有成百上千个特征是很常见的。从表面上看,这似乎是件好事——每个样本的特征越多,信息就越多。但通常情况下,有些特征并没有提供太多价值,而且引入了不必要的复杂性。
deephub
2021/04/16
2.3K0
ElasticSearch
​ 保存在某个index下,某种type的一个数据document,文档是json格式的,document就像是mysql中的某个table里面的内容。每一行对应的列叫属性
OY
2022/03/20
1.3K0
ElasticSearch
COVID-19数据分析实战:数据清洗篇
2020 年全球的关键词非COVID19 莫属。虽然现在关于病毒的起源众说纷纭,也引起了不小的外交冲突。作为数据爱好者,还是用数据说话比较靠谱。
Ai学习的老章
2020/05/25
1.4K0
COVID-19数据分析实战:数据清洗篇
利用 Python 分析 MovieLens 1M 数据集
MovieLens数据集是一个关于电影评分的数据集,里面包含了从IMDB, The Movie DataBase上面得到的用户对电影的评分信息,详细请看下面的介绍。
JavaEdge
2022/11/30
1.8K0
利用 Python 分析 MovieLens 1M 数据集
一文搞懂:什么是Stacking堆叠?手把手带你搭建堆叠模型,附有python源码和数据集。
在该文章采用的是Lightgbm模型进行的分类预测,本次分享一个在竞赛中常用的策略,堆叠。
机器学习司猫白
2025/01/21
6540
一文搞懂:什么是Stacking堆叠?手把手带你搭建堆叠模型,附有python源码和数据集。
数据科学的原理与技巧 四、数据清理
数据以多种格式出现,并且在分析的实用性方面差别很大。尽管我们希望,我们所有的数据都以表格的形式出现,并且每个数值的记录都一致和准确,但实际上,我们必须仔细检查数据,找出最终可能导致错误结论的潜在问题。
ApacheCN_飞龙
2022/12/01
9640
推荐阅读
相关推荐
数据科学 IPython 笔记本 7.10 组合数据集:合并和连接
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验