▌5 、实例分割
除了语义分割之外,实例分割将不同类型的实例进行分类,比如用 5 种不同颜色来标记 5 辆汽车。分类任务通常来说就是识别出包含单个对象的图像是什么,但在分割实例时,我们需要执行更复杂的任务。我们会看到多个重叠物体和不同背景的复杂景象,我们不仅需要将这些不同的对象进行分类,而且还要确定对象的边界、差异和彼此之间的关系!
到目前为止,我们已经看到了如何以多种有趣的方式使用卷积神经网络的特征,通过边界框有效定位图像中的不同对象。我们可以将这种技术进行扩展吗?也就是说,对每个对象的精确像素进行定位,而不仅仅是用边界框进行定位?facebook ai 则使用了 mask r-cnn 架构对实例分割问题进行了探索。
就像 fast r-cnn 和 faster r-cnn 一样, mask r-cnn 的底层是鉴于 faster r-cnn 在物体检测方面效果很好,我们是否可以将其扩展到像素级分割?
mask r-cnn 通过向 faster r-cnn 添加一个分支来进行像素级分割,该分支输出一个二进制掩码,该掩码表示给定像素是否为目标对象的一部分:该分支是基于卷积神经网络特征映射的全卷积网络。将给定的卷积神经网络特征映射作为输入,输出为一个矩阵,其中像素属于该对象的所有位置用 1 表示,其他位置则用 0 表示,这就是二进制掩码。
另外,当在原始 faster r-cnn 架构上运行且没有做任何修改时,感兴趣池化区域( roipool ) 选择的特征映射区域或原始图像的区域稍微错开。由于图像分割具有像素级特性,这与边界框不同,自然会导致结果不准确。 mas r-cnn 通过调整 roipool 来解决这个问题,使用感兴趣区域对齐( roialign )方法使其变的更精确。本质上, roilign 使用双线性插值来避免舍入误差,这会导致检测和分割不准确。
一旦生成这些掩码, mask r-cnn 将 roialign 与来自 faster r-cnn 的分类和边界框相结合,以便进行精确的分割:
▌结语
上述这 5 种主要的计算机视觉技术可以协助计算机从单个或一系列图像中提取、分析和理解有用的信息。你还可以通过我的 github 存储库(https://github.com/khanhnamle1994/computer-vision)获取所有的演讲幻灯片以及指南。
作者 | james le
原文链接:https://heartbeat.fritz.ai/the-5-computer-vision-techniques-that-will-change-how-you-see-the-world-1ee19334354b
译者 | 王柯凝
出品 | ai科技大本营(公众号id:rgznai100)