人脸检测最佳实践

人脸检测作为人脸识别的前置步骤,一直是研究的热点区域,在深度学习的浪潮下,涌现了一大批优秀的算法
检测三问: SSD究竟在训练啥?PriorBox和DefaultBox有什么区别?anchor究竟有什么作用,怎么设置?anchror-based和anchor-free性能差距的根源在哪?目标检测之素材标注

MTCNN: 业界事实上的标准, 训练 总结

只有深入理解了算法原理,才能够真正使用好算法,进而才有可能改进算法,必经之路就是研究论文和源码

最强六大开源轻量级人脸检测项目分析 性能评估

人脸检测最佳实践_第1张图片

检测任务专题1: SSD在训练什么

  1. SSD本质上就是对所有滑动窗口进行分类和回归.SSD训练一张图片, 相当于把一张完整图切分成大大小小8732张子图(300*300的模型一共有8732个anchor), 每张子图都有一个固定的RoI区域, 然后以8732张子图作为一个batch进行训练.
  2. 在训练时, 如果RoI区域与物体满足IoU条件, 我们将其对应的label设为该物体, 并预测其与对应anchor的偏移, 否则预测为背景. 这样当预测时, 也是把一张图切成这么多子图, 然后分别进行预测.SSD预测的目标就是以一张图中所有anchor为窗口, 看其窗口是否存在物体, 如果有物体, 预测其类别以及位置. 无物体则预测为背景

ssd史上最全代码解析-核心篇

  1. 针对所有的正样本,采用 Smooth L1 Loss, 位置信息都是 encode 之后的位置信息
  2. 使用 hard negative mining 将正负样本按照 1:3 的比例把负样本抽样出来, 两次sort,能够得到每个元素在降序排列中的位置idx_rank然后就可以筛选出所需的负样本,配合正样本求出conf的cross entropy
  3. SSD的先验框和ground truth匹配原则主要两点: 1. 对于图片中的每个gt,找到与其IOU最大的先验框,该先验框与其匹配,这样可以保证每个gt一定与某个prior匹配。 2. 对于剩余未匹配的priors,若某个gt的IOU大于某个阈值(一般0.5),那么该prior与这个gt匹配

深入理解one-stage目标检测算法

  1. 直接对原始图像进行resize,而忽略边界框的高宽比,这是最简单有效的
  2. 模型预测的不是边界框在图像中的绝对坐标,而是4个偏移值
  3. YOLO和SSD的设计似乎是矛盾的。YOLO将一个物体只分配给一个检测器(而该单元的其他检测器则是无物体),以帮助检测器更专注。但是SSD说多个检测器可以预测同一个物体
  4. 但这并不意味着mAP就是最重要的, YOLO的mAP一般低于其它模型,但速度却更快,特别是在移动设备上使用时,我们希望使用在速度和准确度之间具有较好折衷的模型

目标检测中Anchor的本质分析

  • 现在Anchor的机制本质上,就是一堆变scale和ratio的滑动窗口,只不过通过CNN的Dense Map Prediction的方式整个嵌入到一个end2end的框架里面了

libfacedetection train:于仕琪老师的库, 部署时可以无任何第三方依赖, 怎么把人脸检测的速度做到极致

Ultra-Light-Fast-Generic-Face-Detector-1MB:轻量级人脸检测模型

Retinaface

A-Light-and-Fast-Face-Detector-for-Edge-Devices:mxnet版

CenterFace:anchor free方法

ssd-face、yolo-face

目标检测中mAP的计算方法

深度学习人脸特征点检测系列

原理

SSD原理解读-从入门到精通

【SSD算法】史上最全代码解析-核心篇

SSD详解

SSD 分析

SSD(single shot multibox detector)算法及Caffe代码详解

深度学习笔记(七)SSD 论文阅读笔记简化

关于SSD默认框产生的详细解读

SSD源码解读之ssd_pascal.py

SSD源码解读1-数据层AnnotatedDataLayer

SSD源码解读2-PriorBoxLayer

SSD源码解读3-MultiBoxLossLayer

SSD源码解读4-DetectionOutputLayer

物体检测的轮回: anchor-based 与 anchor-free

锚框:Anchor box综述

目标检测算法之SSD的数据增强策略

你可能感兴趣的:(深度学习,人脸识别)