10.3 物体检测与语义分割联合使用

物体检测的目标是:导入一张图片,通过方框正确识别主要物体在图像的哪个地方。它的输入是一整幅图像,输出是方框及方框内每个物体的标签。

image0

生成这些边框的算法最著名的就是R-CNN。R-CNN 采用 Selective Search 的流程,通过不同尺寸的窗口来查看图像。对于每一个尺寸,它通过纹理、色彩或密度把相邻像素划为一组,来进行物体识别。后来,它的不同组件都进行了改进,以达到端到端的自动学习的流程:

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

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

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

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

其中,Mask R-CNN 把 Faster R-CNN 拓展到像素级的图像分割。

MaskRCNN

Mask R-CNN 通过向 Faster R-CNN 加入一个分支来实现语义分割。新增的分支输出一个二元的 mask,指示某像素是否是物体的一部分。这个分支是一个 CNN 特征图上的全卷积网络:

image0

原始版本的 Faster R-CNN的RoIPool会与原图中的区域有轻微出入,而图像分割需要像素级别的精确度。于是,作者们对 RoIPool 进行调整,使之更精确的排列对齐,便是 RoIAlign:

image0