新西蘭
繁體中文(台灣)
分享

深度学习理论与实战:提高篇(12)Fast/Faster/Mask R-CNN总结

生活作者: 陈绍元
深度学习理论与实战:提高篇(12)Fast/Faster/Mask R-CNN总结
摘要编者按:本文节选自《深度学习理论与实战:提高篇 》一书,原文链接http://fancye……

hougarden

目录

前面逐个的介绍了Fast R-CNN、Faster R-CNN和Mask R-CNN这一系列算法,这里再通过的图片总结一下它们的演进过程。这些图片来自这篇文章。

R-CNN

首先是R-CNN,如下图所示。它的输入是一种图片,通过Region Proposal之后得到3个候选区域。由于区域大小不同,所以需要缩放(wrap)成固定的大小,然后使用CNN来进行分类和Bounding box回归。注意原始论文只用CNN来提取特征,用SVM来分类,用另外一个单独的模型来回归,但这个图是改进的版本,直接用神经网络来进行分类和回归。它预测的时候每一个候选区域都需要用CNN来提取特征,速度慢。

hougarden

图:R-CNN Family之R-CNN

网络流图如下图所示,这里的分类器和回归也是原始论文的SVM和单独的回归模型。

hougarden

图:R-CNN Family之R-CNN

Fast R-CNN

接下来是Fast R-CNN,如下图所示。它不需要对每个Region Proposal都进行特征提取,而是对整个图片进行一次特征提取,然后每个RoI找到对于的特征区域。由于每个RoI大小不一样,因此得到的特征区域也是不一样,所有需要通过一个RoI Pool层把它们变成大小一样,之后就没有什么不同了。

hougarden

图:R-CNN Family之Fast R-CNN

网络流图如下图所示:

hougarden

图:R-CNN Family之Fast R-CNN

RoI Pooling如下图所示,注意这里和前面介绍的稍有出入,前面哪个狗狗图片在RoI Pooling时20/7=2了,这里5x7的的要Pooling成2x2。如果按照之前的方法,应该每个格子都是2x3的,然后第5行和第7列被忽略。这里的方法稍微不同,它切分的4个格子大小都不同,分别是2x3、2x4、3x3和3x4的,这样的好处是利用了所有的信息。这在检测上会有帮助,但前者的实现上更简单一点。

hougarden

图:R-CNN Family之RoI Pooling

Mask R-CNN

Mask R-CNN如下图所示。它把RoI Pooling变成了RoI Align,然后输出多了一个分支用来预测每个像素是否属于目标物体的Mask。

hougarden

图:Mask R-CNN

它的网络流图为:

hougarden

图:Mask R-CNN

得到候选区域后用于分类、回归和mask的网络叫作head(与之对应的之前的网络叫backbone),论文使用了两种head,如下图所示。

hougarden

图:Mask R-CNN的两种head网络结构


转载声明转载声明:本文系后花园转载发布,仅代表原作者或原平台态度,不代表我方观点。后花园仅提供信息发布平台,文章或有适当删改。对转载有异议和删稿要求的原著方,可联络[email protected]