论文笔记——OnAVOS:Online Adaptation of Convolutional Neural Networks for Video Object Segmentation

论文题目:Online Adaptation of Convolutional Neural
Networks for Video Object Segmentation

论文链接:https://arxiv.org/pdf/1706.09364.pdf

OnAVOS可以看作是在OSVOS上面进行的拓展。由于OSVOS并没有考虑时序因素,因此假如object的外观变化太大,那么对OSVOS来说就是一个不小的挑战。因此,这篇OnAVOS就是在OSVOS上面增加了两个extension,以解决large changes in object appearance的问题。

本文的贡献主要有如下两点(即两个extensions):

(1)采用了online adaptation来适应物体外观的变化;

(2)采用了一个更新的网络架构,并额外做了objectness的预训练。

在这里插入图片描述

OnAVOS包括四部分网络,分别是:Base Network,Objectness Network,Domain Specific Objectness Network,以及Test Network。除了Objectness Network,其他的都与OSVOS中的三个网络大同小异,下面分别进行简要介绍:

Base Network:在ImageNet这类大型数据集上做分类预训练,以学习到物体的representation。与OSVOS不同的是,OSVOS的backbone采用的是VGG模型,而OnAVOS采用了较宽的Resnet;

Objectness Network:这一部分是OnAVOS新增加的enxtension,与yolo中的objectness一样,预测每个像素代表物体的置信度。这部分是用PASCAL数据集做预训练,将20个类都映射为foreground,其他区域视作background;

Domain Specific Objectness Network:上述的Objectness Network是基于PASCAL数据集做预训练的。然而不同数据集之间会展现出不同的特征,例如DAVIS数据集的分辨率较高且噪声较低。所以需要将objectness网络在特定的domain上进行微调,即在DAVIS数据集上继续进行fine-tune,以得到Domain Specific Objectness Network;

Test Network:与OSVOS一致,对于新的视频序列,给出第一帧的mask,预测后续帧中该物体的mask。不同之处是,OnAVOS采用了online adaption的算法,具体算法流程如下:

在这里插入图片描述
首先总结一下这个适应算法解决的问题:(1)以前的OSVOS只是基于第一帧的mask进行微调,但如果后期object发生了较大的形变,其特征与一开始的mask大相径庭;(2)对于objectness network,如果有新的object出现在视频中,其置信度也是较高的,但我们并不希望预测他的mask。

针对上面两个问题问题,OnAVOS是这样处理的:(1)引入lastmask,即上一帧的mask进行fine-tune,由于相邻帧之间的变化不大,因此利用上一帧的mask进行微调,可以解决OSVOS中解决不了的外观变化较大的问题;(2)我们计算每个pixel到最近的mask的距离,如果这个最近距离大于某个阈值d,那么该像素点被认定是负例。

再回到这个adaptation算法上来,其核心是利用每个像素的预测值来作为新的训练样例,注意这个预测值必须是非常confident的。即如果预测某个pixel为positive,那么其正向传播的预测值要大于一个较大的阈值 α \alpha α(文中设定0.97)。在negative的选择中并不是某个pixel的objectness低于某个值,就把它当作负例,因为考虑到形态的变化,可能会选出一些false negative,这是比较不好的。因此negative的选择如上一段中的(2)所述。而那些既不属于positive,又不属于negative的像素点,我们记作dont care,在微调的训练中不做计算。

此外作者发现,如果仅仅利用lastmask进行fine-tune会导致drift,因此融合了第一帧和上一帧两个frame和mask来进行微调。注意上述算法流程中对lastmask首先进行erosion操作,如果为空,那说明这个object就跟丢了。算法第8行就是虽然可能预测出一些objectness大于阈值 α \alpha α,但它属于之前判断的negative范畴,因此这部分像素也将作为negative进行后续的训练。对于2-T的每一帧,都做 n o n l i n e n_{online} nonline次训练,其中基于当前帧和lastmask的训练次数为 n c u r r n_{curr} ncurr,其他的是基于第一帧的微调,而后者的次数比前者更多一些。

实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jackzhang11/article/details/108236856