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

人脸检测模型

OpenVINO的模型库中有多个人脸检测模型,这些模型分别支持不同场景与不同分辨率的人脸检测,同时检测精度与速度也不同。下面以OpenVINO2020 R04版本为例A y e M ^ ^ p , ,来逐一解释模型库中的人脸检测,列表如下:
详解OpenVINO 模型库中的人脸检测模型
q + = v S f ; l Z列表中可以看出骨干特征网络主要- { P t 3 n q d是MobileNetv2与SqueezeNet两种支持实时特C Z _ V y - v征网络,ResNet152是高精度的特征网络,检测头7 A * L 0 @分别支持SSD、FCOS、AN a T H K !TSS。

MobileNetv2版本的模型结构

深度可分离卷积
详解OpenVINO 模型库中的人脸检测模型
详解OpenVINO 模型库中的人脸检测模型
详解OpenVINO 模型库中的人脸检测模型
看懂上面的三张图就好拉!

ResNH G e } ) p w Q oet网络

残差网络模型在2015年提出c n Z U,OpJ 1 w IenCV从3.3版本开始支持,o U N V d _ 相关的r w D # 9 (论文如下:

https://arxiv.orgs I H f L  x/pdfZ  E S [ )/1512.03385.pdf

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

SqueezeNet网络

该模Q | ] 9 M E 6 r c型与MobileNet网络都是支持移动端/端侧可部署的模型,2016提出,相关论文如下:

https://arxi& m X :v.org/pdf/1602.07360.pdf

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

检测模型

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

SSD检测

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

FCOS检测

跟YOLOv1相似是一个anchor-free的网络模型] ? [ /
详解OpenVINO 模型库中的人脸检测模型
多了一个中心输出| l # { d ~来压制低质量的bounding box输出。

ATSS

ATSS的全称是自适应训练样本选择
详解OpenVINO 模型库中的人脸检测模型
作者首先对比了RetinaNet与FCO: Z * o & US两种F q / 8 G ^ = P对象检测方法,发现对象检测在回归阶段的本质问题是如何选择正负样本,解决样本不平衡性问题,从而提出了一种新的正负样本选择定义i 5 v方法-自适应训练样本选择(ATSS)。流程如下:
详解OpenVINO 模型库中的人脸检测模型
该方法可以获得更好的对象检测精度与mAP,适用RetinaNet与FCOS等对象G H H F D w x a检测网络。实际实验数据对比:
详解OpenVINO 模型库中的人脸检测模型

实验对比:

上面的OpenVINO的人脸检测模型列表中,MobileNetv2 + SSD/FCOS适用于速度优先,不同分辨率的场景,ResNet152 + ATSS是OpenVINO模k E v X N F型库中的精度最高的人脸检测预训练模型。下面我们就通过代码分别测试FCOS与ATSS两种检测模型的检测效[ , 4 a果比较,针对同一张测试人脸图像,图示如下:
详解OpenVINO 模型库中的人脸检测模型

统一调整阈值为0.25,推理时间与检测人脸总数的$ u j N对比图如下:
详解OpenVINO 模型库中的人脸检测模型
最终分别得到测试图像如下:
FCOS
详解OpenVINO 模型库中的人脸检测模型
ATSS
详解OpenVINO 模型库中的人脸检测模型

学习OpenCV + OpenVINO系统化课程,请看, X O 6这里:
OpenVINO计算机视觉模型加速 实战教程