One-Shot Video Object Segmentation理解

Caelles S , Maninis K K , Pont-Tuset J , et al. One-Shot Video Object Segmentation[C]// 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2017.

一、论文概括

本文主要提出了一个新型的CNN架构OSVOS,用以处理视频物体分割的问题,即对视频中的每一帧图像分成两类:前景(foreground)和背景(background),前景就是需要检测出的物体。OSVOS的全称为One-Shot Video Object Segmentation,即一次视频物体分割。如下图所示,OSVOS只需输入视频的第一帧图像中物体的掩膜(红色位置),就可以识别中该视频接下来的每一帧中物体的掩膜(绿色位置)。

One-Shot Video Object Segmentation理解_第1张图片
OSVOS的架构分为三步:(1)基于ImageNet预训练一个基础CNN网络(Base Network),其作用是学习图像的一般性表示。(2)基于DAVIS的训练集和基础网络训练一个父母网络(Parent Network),其作用是学习DAVIS图像的表示,并初步对物体进行分割。(3)基于特定物体视频的第一帧图像,训练一个测试网络(Test Network)对Parent Network的训练结果进行微调,从而使完整的OSVOS可以识别某一个特定的物体。如下图所示。
One-Shot Video Object Segmentation理解_第2张图片
从OSVOS的架构,我们可以看出当前深度学习的一个潮流,即先使用一个大型的相关语料库进行预训练,然后再基于特定的数据集进行微调,从而在特定的数据集上达到较好的效果。类似更著名的模型如BERT等。这让博客主不禁思考,这样的神经网络训练模式的确与人类学习的过程有些类似,但神经网络的预训练是否可以达到人类大脑的效果了?不过,人类的学习效果也并非完全良好,有学习成绩好的,也有学习成绩差的。因此神经网络可以达到当今的效果,已实属不易。炼金之路路途遥远,当砥砺前行。

OSVOS的架构主要是基于全卷积实现的,其最大的特点是其相比于全连接网络参数数量要少很多,这就保证了训练的效率。因为将深度学习应用于计算机视觉领域,不单单要考虑其模型性能,模型效率也是一个很重要的考量。

OSVOS架构中,Parent Network按Foreground Branch、Contour Branch和Boundary Snapping分为三步。如下图所示,Foreground Branch和Contour Branch使用完全相同的网络架构,但使用不同的损失函数,以分别达到目标分割和轮廓勾勒的效果,最后Boundary Snapping将前两步的结果结合,得到更准确的物体分割结果。
One-Shot Video Object Segmentation理解_第3张图片
优秀的深度学习论文总是有大量的Baselines,OSVOS也不例外。其不但与DAVIS上最好的视频物体分割方法进行了比较,也将自身方法进行分割,从而验证其方法每一步的重要性。同时,OSVOS也考虑了很重要的一点——时间效率。最后,视频物体分割和视频物体追踪是类似的,OSVOS还与最好的视频物体追踪方法进行了比较。在以上大部分的实验结果中,OSVOS均取得了最好的效果。

二、论文代码分析

https://github.com/kmaninis/OSVOS-PyTorch

未完待续。

你可能感兴趣的:(One-Shot Video Object Segmentation理解)