2.基于区域选择(regional proposal based)
regional proposal 在计算机视觉领域是一个非常常用的算法,尤其是在目标检测领域。其核心思想就是检测颜色空间和相似矩阵,根据这些来检测待检测的区域。然后根据检测结果可以进行分类预测。
在语义分割领域,基于区域选择的几个算法主要是由前人的有关于目标检测的工作渐渐延伸到语义分割的领域的,接下来小编将逐步介绍其个中关系。
stage ⅰ: r-cnn
伯克利大学的girshick教授等人共同提出了首个在目标检测方向应用的深度学习模型:region-based convolutional neural network(r-cnn)。该网络模型如下图所示,其主要流程为:先使用selective search算法提取2000个候选框,然后通过卷积网络对候选框进行串行的特征提取,再根据提取的特征使用svm对候选框进行分类预测,最后使用回归方法对区域框进行修正。
r-cnn的优缺点:
是首个开创性地将深度神经网络应用到目标检测的算法;
使用bounding box regression对目标检测的框进行调整;
由于进行特征提取时是串行,处理耗时过长;
selective search算法在提取每一个region时需要2s的时间,浪费大量时间
stage ⅱ:fast r-cnn
由于r-cnn的效率太低,2015年由ross等学者提出了它的改进版本:fast r-cnn。其网络结构图如下图所示(从提取特征开始,略掉了region的选择)fast r-cnn在传统的r-cnn模型上有所改进的地方是它是直接使用一个神经网络对整个图像进行特征提取,就省去了串行提取特征的时间;接着使用一个roi pooling layer在全图的特征图上摘取每一个roi对应的特征,再通过fc进行分类和包围框的修正。
fast r-cnn的优缺点
节省了串行提取特征的时间;
除了selective search以外的其它所有模块都可以合在一起训练;
最耗时间的selective search算法依然存在。
stage ⅲ:faster r-cnn
2016年提出的faster r-cnn可以说有了突破性的进展(虽然还是目标检测哈哈哈),因为它改变了它的前辈们最耗时最致命的部位:selective search算法。它将selective search算法替换成为rpn,使用rpn网络进行region的选取,将2s的时间降低到10ms,其网络结构如下图所示:
faster r-cnn优缺点:
使用rpn替换了耗时的selective search算法,对整个网络结构有了突破性的优化;
faster r-cnn中使用的rpn和selective search比起来虽然速度更快,但是精度和selective search相比稍有不及,如果更注重速度而不是精度的话完全可以只使用rpn;
stage ⅳ:mask r-cnn
mask r-cnn(终于到分割了!)是何恺明大神团队提出的一个基于faster r-cnn模型的一种新型的分割模型,此论文斩获iccv 2017的最佳论文,在mask r-cnn的工作中,它主要完成了三件事情:目标检测,目标分类,像素级分割。
恺明大神是在faster r-cnn的结构基础上加上了mask预测分支,并且改良了roi pooling,提出了roi align。其网络结构真容就如下图所示啦:
mask r-cnn的优缺点:
引入了预测用的mask-head,以像素到像素的方式来预测分割掩膜,并且效果很好;
用roi align替代了roi pooling,去除了roi pooling的粗量化,使得提取的特征与输入良好对齐;
分类框与预测掩膜共享评价函数,虽然大多数时间影响不大,但是有的时候会对分割结果有所干扰。
stage ⅴ:mask scoring r-cnn
最后要提出的是2019年cvpr的oral,来自华中科技大学的黄钊金同学提出的
ms r-cnn,这篇文章的提出主要是对上文所说的mask r-cnn的一点点缺点进行了修正。他的网络结构也是在mask r-cnn的网络基础上做了一点小小的改进,添加了mask-iou。
黄同学在文章中提到:恺明大神的mask r-cnn已经很好啦!但是有个小毛病,就是评价函数只对目标检测的候选框进行打分,而不是分割模板(就是上文提到的优缺点中最后一点),所以会出现分割模板效果很差但是打分很高的情况。所以黄同学增加了对模板进行打分的maskiou head,并且最终的分割结果在coco数据集上超越了恺明大神,下面就是ms r-cnn的网络结构啦~
ms r-cnn的优缺点:
优化了mask r-cnn中的信息传播,提高了生成预测模板的质量;
未经大批量训练的情况下,就拿下了coco 2017挑战赛实例分割任务冠军;
要说缺点的话。。应该就是整个网络有些庞大,一方面需要resnet当作主干网络,另一方面需要其它各种head共同承担各种任务。
上一篇:“原始人饮食”可能并不健康