这5种计算机视觉技术,刷新你的世界观( 五 )


5--实例分割
除了语义分割之外 , 实例分割将不同类的实例分段 , 例如用5种不同颜色标记5辆汽车 。 在分类中 , 通常有一个图像 , 其中一个目标作为焦点 , 任务是说这个图像是什么 。 但是为了分割实例 , 我们需要执行更复杂的任务 。 我们看到复杂的景点有多个重叠的物体和不同的背景 , 我们不仅要对这些不同的物体进行分类 , 还要确定它们之间的界限 , 差异和关系!
【这5种计算机视觉技术,刷新你的世界观】到目前为止 , 我们已经看到了如何以许多有趣的方式使用CNN特征来有效地定位带有边界框的图像中的不同目标 。 我们可以扩展这些技术来定位每个目标的精确像素而不仅仅是边界框吗?使用称为Mask R-CNN的架构在Facebook AI上探索该实例分割问题 。
就像Fast R-CNN和Faster R-CNN一样 , Mask R-CNN的潜在原理很简单 。 鉴于 Faster R-CNN在目标检测中运行得非常好 , 我们是否可以扩展它以进行像素级分割?
Mask R-CNN通过向 Faster R-CNN添加分支来完成此操作 , 该分支输出二进制掩码 , 该掩码表示给定像素是否是目标的一部分 。 该分支是基于CNN的特征图之上的全卷积网络 。 给定CNN特征图作为输入 , 网络在像素属于目标的用1s在所有位置输出矩阵 , 在其他地方输出0(这称为二进制掩码) 。
另外 , 当在原始Faster R-CNN架构上运行而没有修改时 , 由RoIPool(感兴趣区域池化)选择的特征图的区域与原始图像的区域略微不对准 。 由于图像分割需要像素级特异性 , 与边界框不同 , 这自然会导致不准确 。 Mask R-CNN通过使用称为RoIAlign(感兴趣区域对齐)的方法调整RoIPool以更精确地对齐来解决此问题 。 从本质上讲 , RoIAlign使用双线性插值来避免舍入误差 , 从而导致检测和分割不准确 。
一旦生成了这些掩模 , Mask R-CNN将它们与来自Faster R-CNN的分类和边界框组合在一起 , 以生成如此精确的分割:
结论
这5种主要的计算机视觉技术可以帮助计算机从一个或一系列图像中提取 , 分析和理解有用的信息 。 我还没有谈到许多其他先进技术 , 包括样式转移 , 着色 , 动作识别 , 3D对象 , 人体姿势估计等 。 事实上 , 计算机视觉领域的成本太高而无法深入探讨 , 我鼓励您进一步探索 , 无论是通过在线课程 , 博客教程还是正式文档 。 对于初学者 , 我强烈推荐CS231n课程 , 因为您将学习如何实现 , 训练和调试自己的神经网络 。 作为奖励 , 您可以从我的GitHub存储库获取所有演讲幻灯片和作业指南 。 我希望它能指导你改变对世界的看法!

推荐阅读