关于人工智能:文末赠书-一文看尽目标检测经典模型

7次阅读

共计 5692 个字符,预计需要花费 15 分钟才能阅读完成。

起源:https://zhuanlan.zhihu.com/p/34142321

【写在后面】

如何从图像中解析出可供计算机了解的信息,是机器视觉的核心问题。深度学习模型因为其弱小的示意能力,加之数据量的积攒和计算力的提高,成为机器视觉的热点钻研方向。

那么,如何了解一张图片?依据后续工作的须要,有三个次要的档次。

图像了解的三个档次

一是分类(Classification),即是将图像结构化为某一类别的信息,用当时确定好的类别 (string) 或实例 ID 来形容图片。这一工作是最简略、最根底的图像了解工作,也是深度学习模型最先获得冲破和实现大规模利用的工作。其中,ImageNet 是最权威的评测集,每年的 ILSVRC 催生了大量的优良深度网络结构,为其余工作提供了根底。在应用领域,人脸、场景的辨认等都能够归为分类工作。

二是检测(Detection)。分类工作关怀整体,给出的是整张图片的内容形容,而检测则关注特定的物体指标,要求同时取得这一指标的类别信息和地位信息。相比分类,检测给出的是对图片前景和背景的了解,咱们须要从背景中拆散出感兴趣的指标,并确定这一指标的形容(类别和地位),因此,检测模型的输入是一个列表,列表的每一项应用一个数据组给出检出指标的类别和地位(罕用矩形检测框的坐标示意)。

三是宰割(Segmentation)。宰割包含语义宰割(semantic segmentation)和实例宰割(instance segmentation),前者是对前背景拆散的拓展,要求分来到具备不同语义的图像局部,而后者是检测工作的拓展,要求形容出指标的轮廓(相比检测框更为精密)。宰割是对图像的像素级形容,它赋予每个像素类别(实例)意义,实用于了解要求较高的场景,如无人驾驶中对路线和非路线的宰割。

本系列文章关注的畛域是指标检测,即图像了解的中档次。

(一)指标检测经典工作回顾

本文构造

两阶段(2-stage)检测模型

两阶段模型因其对图片的两阶段解决得名,也称为基于区域(Region-based)的办法,咱们选取 R -CNN 系列工作作为这一类型的代表。

R-CNN: R-CNN 系列的开山之作

论文链接:Rich feature hierarchies for accurate object detection and semantic segmentation

本文的两大奉献:1)CNN 可用于基于区域的定位和宰割物体;2)监督训练样本数紧缺时,在额定的数据上预训练的模型通过 fine-tuning 能够获得很好的成果。第一个奉献影响了之后简直所有 2 -stage 办法,而第二个奉献中用分类工作(Imagenet)中训练好的模型作为基网络,在检测问题上 fine-tuning 的做法也在之后的工作中始终沿用。

传统的计算机视觉办法罕用精心设计的手工特色 (如 SIFT, HOG) 形容图像,而深度学习的办法则提倡习得特色,从图像分类工作的教训来看,CNN 网络主动习得的特色获得的成果曾经超出了手工设计的特色。本篇在部分区域利用卷积网络,以施展卷积网络学习高质量特色的能力。

R-CNN 将检测形象为两个过程,一是基于图片提出若干可能蕴含物体的区域(即图片的部分裁剪,被称为 Region Proposal),文中应用的是 Selective Search 算法;二是在提出的这些区域上运行过后体现最好的分类网络(AlexNet),失去每个区域内物体的类别。

另外,文章中的两个做法值得注意。

一是数据的筹备。输出 CNN 前,咱们须要依据 Ground Truth 对提出的 Region Proposal 进行标记,这里应用的指标是 IoU(Intersection over Union,交并比)。IoU 计算了两个区域之交的面积跟它们之并的比,形容了两个区域的重合水平。

文章中特地提到,IoU 阈值的抉择对后果影响显著,这里要谈两个 threshold,一个用来辨认正样本(如跟 ground truth 的 IoU 大于 0.5),另一个用来标记负样本(即背景类,如 IoU 小于 0.1),而介于两者之间的则尴尬例(Hard Negatives),若标为正类,则蕴含了过多的背景信息,反之又蕴含了要检测物体的特色,因此这些 Proposal 便被疏忽掉。

另一点是地位坐标的回归(Bounding-Box Regression),这一过程是 Region Proposal 向 Ground Truth 调整,实现时退出了 log/exp 变换来使损失放弃在正当的量级上,能够看做一种标准化(Normalization)操作。

小结

R-CNN 的想法间接明了,行将检测工作转化为区域上的分类工作,是深度学习办法在检测工作上的试水。模型自身存在的问题也很多,如须要训练三个不同的模型(proposal, classification, regression)、反复计算过多导致的性能问题等。尽管如此,这篇论文的很多做法依然宽泛地影响着检测工作上的深度模型反动,后续的很多工作也都是针对改良这一工作而开展,此篇能够称得上 ”The First Paper”。

Fast R-CNN: 共享卷积运算

论文链接:Fast R-CNN

文章指出 R -CNN 耗时的起因是 CNN 是在每一个 Proposal 上独自进行的,没有共享计算,便提出将根底网络在图片整体上运行结束后,再传入 R -CNN 子网络,共享了大部分计算,故有 Fast 之名。

上图是 Fast R-CNN 的架构。图片通过 feature extractor 失去 feature map, 同时在原图上运行 Selective Search 算法并将 RoI(Region of Interset,实为坐标组,可与 Region Proposal 混用)映射到到 feature map 上,再对每个 RoI 进行 RoI Pooling 操作便失去等长的 feature vector,将这些失去的 feature vector 进行正负样本的整顿(放弃肯定的正负样本比例),分 batch 传入并行的 R -CNN 子网络,同时进行分类和回归,并将两者的损失对立起来。

RoI Pooling 是对输出 R -CNN 子网络的数据进行筹备的要害操作。咱们失去的区域经常有不同的大小,在映射到 feature map 上之后,会失去不同大小的特色张量。RoI Pooling 先将 RoI 等分成指标个数的网格,再在每个网格上进行 max pooling,就失去等长的 RoI feature vector。

文章最初的探讨也有肯定的借鉴意义:

  • multi-loss traing 相比独自训练 classification 确有晋升
  • multi-scale 相比 single-scale 精度略有晋升,但带来的工夫开销更大。肯定水平上阐明 CNN 构造能够外在地学习尺度不变性
  • 在更多的数据 (VOC) 上训练后,精度是有进一步晋升的
  • Softmax 分类器比 ”one vs rest” 型的 SVM 体现略好,引入了类间的竞争
  • 更多的 Proposal 并不一定带来精度的晋升

小结

Fast R-CNN 的这一构造正是检测工作支流 2 -stage 办法所采纳的元构造的雏形。文章将 Proposal, Feature Extractor, Object Classification\&Localization 对立在一个整体的构造中,并通过共享卷积计算进步特色利用效率,是最有奉献的中央。

Faster R-CNN: 两阶段模型的深度化

论文链接:Faster R-CNN: Towards Real Time Object Detection with Region Proposal Networks

Faster R-CNN 是 2 -stage 办法的奠基性工作,提出的 RPN 网络取代 Selective Search 算法使得检测工作能够由神经网络端到端地实现。粗略的讲,Faster R-CNN = RPN + Fast R-CNN,跟 RCNN 共享卷积计算的个性使得 RPN 引入的计算量很小,使得 Faster R-CNN 能够在单个 GPU 上以 5fps 的速度运行,而在精度方面达到 SOTA(State of the Art,以后最佳)。

本文的次要奉献是提出 Regional Proposal Networks,代替之前的 SS 算法。RPN 网络将 Proposal 这一工作建模为二分类(是否为物体)的问题。

第一步是在一个滑动窗口上生成不同大小和长宽比例的 anchor box(如上图左边局部),取定 IoU 的阈值,按 Ground Truth 标定这些 anchor box 的正负。于是,传入 RPN 网络的样本数据被整顿为 anchor box(坐标)和每个 anchor box 是否有物体(二分类标签)。RPN 网络将每个样本映射为一个概率值和四个坐标值,概率值反馈这个 anchor box 有物体的概率,四个坐标值用于回归定义物体的地位。最初将二分类和坐标回归的损失对立起来,作为 RPN 网络的指标训练。

由 RPN 失去 Region Proposal 在依据概率值筛选后通过相似的标记过程,被传入 R -CNN 子网络,进行多分类和坐标回归,同样用多任务损失将二者的损失联结。

小结

Faster R-CNN 的胜利之处在于用 RPN 网络实现了检测工作的 ” 深度化 ”。应用滑动窗口生成 anchor box 的思维也在起初的工作中越来越多地被采纳(YOLO v2 等)。这项工作奠定了 ”RPN+RCNN” 的两阶段办法元构造,影响了大部分后续工作。

单阶段(1-stage)检测模型

单阶段模型没有两头的区域检出过程,间接从图片取得预测后果,也被成为 Region-free 办法。

YOLO

论文链接:You Only Look Once: Unified, Real-Time Object Detection

YOLO 是单阶段办法的开山之作。它将检测工作表述成一个对立的、端到端的回归问题,并且以只解决一次图片同时失去地位和分类而得名。

YOLO 的次要长处:

  • 快。
  • 全局解决使得背景谬误绝对少,相比基于部分(区域)的办法,如 Fast RCNN。
  • 泛化性能好,在艺术作品上做检测时,YOLO 体现比 Fast R-CNN 好。

YOLO 的工作流程如下:

1. 筹备数据:将图片缩放,划分为等分的网格,每个网格按跟 Ground Truth 的 IoU 调配到所要预测的样本。

2. 卷积网络:由 GoogLeNet 更改而来,每个网格对每个类别预测一个条件概率值,并在网格根底上生成 B 个 box,每个 box 预测五个回归值,四个表征地位,第五个表征这个 box 含有物体(留神不是某一类物体)的概率和地位的精确水平(由 IoU 示意)。测试时,分数如下计算:

等式右边第一项由网格预测,后两项由每个 box 预测,以条件概率的形式失去每个 box 含有不同类别物体的分数。因此,卷积网络共输入的预测值个数为 S×S×(B×5+C),其中 S 为网格数,B 为每个网格生成 box 个数,C 为类别数。

3. 后处理:应用 NMS(Non-Maximum Suppression,非极大克制)过滤失去最初的预测框

损失函数的设计

损失函数被分为三局部:坐标误差、物体误差、类别误差。为了均衡类别不平衡和大小物体等带来的影响,损失函数中增加了权重并将长宽取根号。

小结

YOLO 提出了单阶段的新思路,相比两阶段办法,其速度劣势显著,实时的个性令人印象粗浅。但 YOLO 自身也存在一些问题,如划分网格较为毛糙,每个网格生成的 box 个数等限度了对小尺度物体和相近物体的检测。

SSD: Single Shot Multibox Detector

论文链接:SSD: Single Shot Multibox Detector

SSD 相比 YOLO 有以下突出的特点:

  • 多尺度的 feature map:基于 VGG 的不同卷积段,输入 feature map 到回归器中。这一点试图晋升小物体的检测精度。
  • 更多的 anchor box,每个网格点生成不同大小和长宽比例的 box,并将类别预测概率基于 box 预测(YOLO 是在网格上),失去的输入值个数为(C+4)×k×m×n,其中 C 为类别数,k 为 box 个数,m×n 为 feature map 的大小。

小结

SSD 是单阶段模型晚期的集大成者,达到跟靠近两阶段模型精度的同时,领有比两阶段模型快一个数量级的速度。后续的单阶段模型工作大多基于 SSD 改良开展。

检测模型根本特点

最初,咱们对检测模型的基本特征做一个简略的演绎。

检测模型整体上由根底网络(Backbone Network)和检测头部(Detection Head)形成。前者作为特征提取器,给出图像不同大小、不同抽象层次的示意;后者则根据这些示意和监督信息学习类别和地位关联。检测头部负责的类别预测和地位回归两个工作经常是并行进行的,形成多任务的损失进行联结训练。

相比单阶段,两阶段检测模型通常含有一个串行的头部构造,即实现前背景分类和回归后,把两头后果作为 RCNN 头部的输出再进行一次多分类和地位回归。这种设计带来了一些长处:

  • 对检测工作的解构,先进行前背景的分类,再进行物体的分类,这种解构使得监督信息在不同阶段对网络参数的学习进行领导
  • RPN 网络为 RCNN 网络提供良好的先验,并有机会整顿样本的比例,加重 RCNN 网络的学习累赘

这种设计的毛病也很显著:两头后果经常带来空间开销,而串行的形式也使得推断速度无奈跟单阶段相比;级联的地位回归则会导致 RCNN 局部的反复计算(如两个 RoI 有重叠)。

【赠书流动】

FightingCV 公众号创立一年以来,感激各位老粉和新粉的反对。为了回馈各位粉丝的反对,今后咱们会不定期的进行抽奖、赠书等流动回馈粉丝。

本次赠送 4 本书,赠送的书籍为《深度学习与指标检测:工具、原理与算法》,赠送对象为 FightingCV 公众号的 浏览榜第一、二名 分享榜第一、二名 (浏览榜和分享榜是依据最近 15 天文章浏览量和分享量的排行榜),开奖日期为 9 月 10 日(将在 9 月 10 日的推送中颁布名单)。 想要参加赠书流动的敌人,请增加小助手微信 FightngCV666(备注“城市 - 方向 -ID”),不便分割取得邮寄地址。(包邮哦~)

本次赠书:《深度学习与指标检测:工具、原理与算法》

75 折购买链接
http://product.dangdang.com/2…

本文由 mdnice 多平台公布

正文完
 0