为了账号安全,请及时绑定邮箱和手机立即绑定

从目标检测到图像分割简要发展史

标签:
Docker

自从Alex Krizhevsky、Geoff Hinton 和 Ilya Sutskever 在2012年赢得 ImageNet 挑战赛以来,卷积神经网络(CNN)已经成为图像分类的黄金标准。 事实上从那时起,CNN已经改善到现在在ImageNet挑战中胜过人类的程度!

webp

CNN 现在在ImageNet挑战中胜过了人类。 上图 y 轴表示ImageNet上的错误率。

虽然这些结果令人印象深刻,但图像分类远比人类视觉理解的复杂性和多样性简单得多。

webp

分类挑战中使用的图像示例。 注意图像构图良好且只有一个目标。

在分类中,通常有一个图像,其中有单个目标作为焦点,任务是说明该目标是什么。但是当我们观察周围的世界时我们会执行更复杂的任务。

webp

现实生活中的景象通常由多种不同的,重叠的目标,背景和动作组成。

我们看到的景象有许多重叠的目标和不同的背景,我们不仅要对这些不同的目标分类,还要确定它们之间的界限,差异和关系。

webp

在图像分割中,我们的目标是对图像中的不同目标进行分类,并识别它们的边界。 来源:Mask R-CNN 论文。

CNN 可以帮助我们完成这么复杂的任务吗? 也就是说,给定一个更复杂的图像,我们可以使用 CNN 来识别图像中的不同目标及其边界吗? 正如 Ross Girshick 和他的同事在过去几年所表明的那样,答案是肯定的。

本文目标

通过这篇文章,我们将介绍在目标检测和分割中使用的一些主要技术背后的原理,并了解它们是如何从一个实现发展到下一个的。 特别的,我们将介绍 R-CNN(Regional CNN),CNNs 的原始应用,以及它的后代 Fast R-CNN 和 Faster R-CNN。 最后,我们将介绍Facebook Research 发布的一篇文章 Mask R-CNN,该文章对这种目标检测技术进行了扩展以提供像素级的分割。 下面是本文中引用的论文:

  1. R-CNN: https://arxiv.org/abs/1311.2524

  2. Fast R-CNN: https://arxiv.org/abs/1504.08083

  3. Faster R-CNN: https://arxiv.org/abs/1506.01497

  4. Mask R-CNN: https://arxiv.org/abs/1703.06870

2014: R-CNN CNNs 在目标检测中的早期应用

webp

诸如R-CNN的目标检测算法接收图像并识别图像中主要目标的位置和分类。 来源: https://arxiv.org/abs/1311.2524

受多伦多大学 Hinton 实验室研究的启发,由加州大学伯克利分校的 Jitendra Malik 教授领导的小团队开始探索一个在今天看来是一个不可避免的问题:

[Krizhevsky 等人的结果]可以在多大程度上推广到目标检测?

目标检测的任务是在图像中查找不同的目标并对其进行分类(如上图所示), 由 Ross Girshick ,Jeff Donahue 和 Trevor Darrel 组成的团队发现,Krizhevsky 的结果可以解决这个问题, 并通过 PASCAL VOC Challenge 的测试,这是一种类似于 ImageNet 的目标检测挑战。 他们写道:

本文首次表明,与基于简单 HOG 类功能的系统相比,CNN 可以在 PASCAL VOC 上实现更高的目标检测性能。

现在来了解他们的架构,Regions With CNNs(R-CNN)是怎样工作的。

理解 R-CNN

R-CNN 的目标是获取图像,并正确识别图像中主要目标(用边框(bounding box)表示)的位置。

  • 输入: 图像

  • 输出: 图像中每个目标的边界框(bounding box)和标签(label)。

但是我们如何找出这些边界框的位置? R-CNN 按照我们的直觉来做做 -- 首先在图像中标出许多边界框,然后判断每个边界框中是否实际对应一个目标。

webp

Selective Search 通过查看多个比例的窗口,并查找相似纹理,颜色或强度的相邻像素。 图片来源: https://www.koen.me/research/pub/uijlings-ijcv2013-draft.pdf

R-CNN 使用称为选择性搜索(Selective Search)的方法创建这些边界框或候选区域。 在较高的层次上,选择性搜索(如上图所示)通过不同大小的窗口查看图像,并且对于每个尺寸,尝试通过纹理,颜色或强度将相邻像素组合在一起以识别目标。

webp

在创建一组候选区域后,R-CNN 将图像传递给修改的 AlexNet 网络,以确定它是否是有效区域。 来源:https://arxiv.org/abs/1311.2524

一旦创建了一些候选区域,R-CNN 就会该区域变为标准的方形大小,并将其传递给修改过的 AlexNet(2012 年 ImageNet 的获奖提交),如上图所示。

在 CNN 的最后一层,R-CNN 增加了一个支持向量机(SVM),它简单地判断这是否是一个目标,如果是的话,是什么目标。 见上图中的第 4 步。

改进边框

现在,在边框内找到了这个目标,我们可以缩小边界框到目标的实际大小吗? 答案是可以,这就是 R-CNN 的最后一步。R-CNN 对候选区域进行简单的线性回归,生成更紧密的边界框坐标获得最终结果。 以下是这个回归模型的输入和输出:

  • 输入: 图像相应目标的子区域

  • 输出: 子区域中新的目标边界框

总结一下,R-CNN 有以下几个步骤:

  1. 生成一系列的候选边框。

  2. 将边框中的图像输入预先训练的 AlexNet,最后通过 SVM 确认边界框中是什么目标。

  3. 如果图像中有目标,就将边框中图像输入线性回归模型,输出更紧密的边界框坐标。

2015: Fast R-CNN - 更快更简单的 R-CNN

webp

Ross Girshick 写了R-CNN 和 Fast R-CNN。他继续在Facebook Research 推动计算机视觉的发展。



作者:人工智能遇见磐创
链接:https://www.jianshu.com/p/26ae63d4fab8


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消