本专栏由机器之心SOTA!模型资源站出品,每周日于机器之心公众号持续更新。 本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
本文将分 3 期进行连载,共介绍 16 个在目标检测任务上曾取得 SOTA 的经典模型。
- 第 1 期:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN、OHEM
- 第 2 期:R-FCN、Mask RCNN、YoLo、SSD、FPN、RetinaNet
- 第 3 期:RRC detection、CornerNet、M2Det、FOCS、ObjectBox
您正在阅读的是其中的第 1 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。
本期收录模型速览
模型 | SOTA!模型资源站收录情况 | 模型来源论文 |
R-CNN | https://sota.jiqizhixin.com/project/r-cnn-2 收录实现数量:2 支持框架:MindSpore |
Rich feature hierarchies for accurate object detection and semantic segmentation |
SPP-Net | https://sota.jiqizhixin.com/project/sppnet 收录实现数量:3 支持框架:PyTorch,MindSpore等 |
Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition |
Fast R-CNN | https://sota.jiqizhixin.com/project/fast-rcnn-2 收录实现数量:27 支持框架:PyTorch,TensorFlow等 |
Fast R-CNN |
Faster R-CNN | https://sota.jiqizhixin.com/project/faster-r-cnn-2 收录实现数量:16 支持框架:PyTorch,TensorFlow等 |
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks |
OHEM | https://sota.jiqizhixin.com/project/ohem 收录实现数量:5 支持框架:PyTorch,TensorFlow |
Training Region-based Object Detectors with Online Hard Example Mining |
目标检测作为计算机视觉的基本问题之一,是许多其他计算机视觉任务的基础,如实例分割、图像字幕、对象跟踪等。简单来说,目标检测就是对图片中物体正确分类,同时找到物体的具体位置,具体是指识别图片中有哪些物体以及物体的位置(坐标位置)的技术。在互联网、大数据、人工智能等技术的发展浪潮下,目标检测展现出巨大的应用价值,受到工业界、学术界越来越多的关注。
目标检测的发展大致经历了两个历史时期:“ 传统的目标检测时期 ” ( 2014年以前 ) 和 “ 深度学习的目标检测时期 ” ( 2014年以后 )。本文重点回顾深度学习时代的经典模型。在深度学习时代,目标检测可以分为两类:“ two-stage detection ” 和 “ one-stage detection ”,前者将检测框定为一个 “ 从粗到细 ” 的过程,而后者将其定义为 “ 一步完成 ”。我们在介绍过程中,将分两类进行分析。两阶段模型(two-stage detection)因其对图片的两阶段处理得名,也称为基于区域(Region-based)的方法,R-CNN系列工作就是这一类型的代表。单阶段模型(one-stage detection)没有中间的区域检出过程,直接从图片获得预测结果,也被称为Region-free方法。
本文回顾目标检测中必备的TOP模型,包括one-stage模型和two-stage模型。
一、two-stage模型
1、 R-CNN
R-CNN是以深度神经网络为基础的物体检测模型 ,R-CNN在当时以优异的性能令世人瞩目,更重要的是,后续的SPPNet、Fast R-CNN、Faster R-CNN模型都是照着这个检测思路来工作的。R-CNN是这个系列的开山之作。
R-CNN将检测抽象为两个过程,首先,基于图片提出若干可能包含物体的区域(即图片的局部裁剪,被称为Region Proposal),文中使用的是Selective Search算法。其次,在提出的这些区域上运行当时表现最好的分类网络(文中使用AlexNet),得到每个区域内物体的类别。
如图1,R-CNN模型的具体实现步骤(以AlexNet网络为基准)如下:(1)确定图片中可能存在目标的侯选区域 (region proposal);(2)将候选区域调整为适应AlexNet网络的输入图像的大小227×227,通过CNN对候选区域提取特征向量,将2000个CNN特征组确定为AlexNet的最终输出,输出的大小为2000×4096;(3)利用2000×4096维特征训练SVM分类器,生成2000×20种类别矩阵;(4)分别对2000×20维矩阵进行非极大值抑制(Non-maximum suppression,NMS)剔除重叠的候选框,得到与目标物体最相关的一些建议框;(5)修正bbox,对bbox做回归微调。
图1. R-CNN目标检测系统概览
当前 SOTA!平台收录 R-CNN 共 2 个模型实现资源。
项目 | SOTA!平台项目详情页 |
R-CNN | 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/r-cnn-2 |