一种基于自步式弱监督学习的视频物体分割方法与流程

文档序号:11953519阅读:378来源:国知局
一种基于自步式弱监督学习的视频物体分割方法与流程

本发明属于计算机视觉算法研究领域,具体涉及一种在弱监督学习范畴下,将自步学习方法结合到深度神经网络中,完成视频物体分割任务的方法。



背景技术:

近年来,社交媒体和视频共享网站的快速发展使得视频处理的需求越来越强烈,使用弱监督学习算法进行视频物体分割具有重大的应用价值。

已经有很多工作进行视频物体分割方法研究,如Yong Jae Lee等人在2011年提出的Key-Segments for Video Object Segmentation和Dong Zhang等人在2013年提出的Video Object Segmentation through Spatially Accurate and Temporally Dense Extraction of Primary Object Regions,这些已有方法一般遵循如下的工作框架:对于特定的分割任务,首先将视频数据分为正样例和负样例,并利用成熟的算法生成分割采样。然后,用生成的分割采样训练分割级别的分类器或者预测模型。最后,用分类器或者模型对测试数据进行预测,并进行一些后处理操作以得到精细的分割结果。

虽然上述框架已取得良好的效果,但它仍存在一些局限性:首先,在整体设计上,这类方法仅是由许多串联的处理单元构成,而不是对问题进行端对端的规划,这种设计方法过度依赖于研究者的专业知识和自身经验,有可能使系统的性能受到限制。其次,大部分已有方法在学习过程中对每帧视频单独处理,没有考虑到同一语义类别下其它视频帧所提供的信息。最后,上述框架在训练过程中需要使用负样例数据,负样例数据在数量和质量上的不确定性有可能导致方法最终性能的不稳定。



技术实现要素:

要解决的技术问题

为了解决上述问题,本发明提出一种将自步学习算法结合到深度神经网络中的方法,完成弱监督学习视频物体分割任务。

本发明的基本思想是:输入一组视频数据,在初始准备阶段,本方法对每一帧视频图像产生分割采样,同时使用数据集预训练深度神经网络。接下来,在迭代中训练神经网络的参数。在迭代过程中,根据像素点损失值的大小,计算像素点对于训练网络参数的影响力。经过参数训练可以得到新的网络,用此网络在原始视频帧上测试可以得到新的分割结果,然后进行下一轮迭代。在训练过程中,优先选择显著性得分高的分割结果进行训练,每个分割结果中选择像素点用于训练网络时,优先选择损失值小的像素点。随着训练过程的进行,逐渐增加用于训练的分割结果和每帧视频图像中用于训练的像素点的比例,这种按照由易到难的顺序使用数据对神经网络进行训练的做法,即是自步学习的思想。在自步学习思想指导下,网络最终可以得到准确的视频物体分割结果。

技术方案

一种基于自步式弱监督学习的视频物体分割方法,其特征在于如下步骤:

步骤1:构建深度神经网络并进行预训练:将Nian Liu等人在2015年的工作Predicting Eye Fixations using Convolutional Neural Networks中提出的深度神经网络最后一层的Loss参数修改为“HingeLoss”,并设置norm参数为“L2”,得到修改过的深度神经网络;再利用MSRA 10K数据集对修改过的深度神经网络进行训练,得到预训练的神经网络;

步骤2:构建训练数据集,包括所有帧视频图像、初始权重矩阵集合和每帧视频图像的初始分割采样:所述的初始权重矩阵为大小与视频图像尺寸相同、元素全为1的矩阵,权重矩阵的个数与视频图像帧数相同;所述的每帧视频图像的初始分割采样的计算方法如下:

步骤a:利用Yong Jae Lee等人在2011年的工作Key-Segments for Video Object Segmentation中提出的Object-like Regions in Video方法对每帧视频图像提取分割采样,再使用Discovering Key-Segments Across Frames方法对每帧视频图像选择10个分割采样,得到每帧视频图像的分割采样集合{p1,…,pk,…,p10},1≤k≤10;

步骤b:利用公式计算每个分割采样pk的显著性得分sk

其中,SA为利用步骤1得到的预训练神经网络对视频图像进行测试得到的显著图,测试时设置参数Loss=“SigmoidCrossEntropyLoss”;m为视频图像的行数,n为视频图像的列数,uk表示分割采样pk中前景物体像素点的数目,(i,j)表示像素位置为i行j列;

步骤c:利用公式计算得到每帧视频图像的初始分割采样op;其中,阈值Ts的取值范围为(0,1);

步骤3:进行网络训练得到优化后的神经网络:

步骤a:以训练数据集和上一次训练得到的神经网络为输入,在Caffe平台上对网络参数进行训练,得到优化后的神经网络;

其中,第一次训练时,“上一次训练得到的神经网络”为步骤1中预训练的神经网络;

步骤b:利用公式H(i,j)=max{0,1-F′(i,j)×F(i,j)}计算分割结果中所有像素点的铰链损失值H(i,j),将铰链损失值小于阈值T的像素点的权值记为0,将铰链损失值大于等于阈值T的像素点的权值记为1,得到每个分割结果所对应的权重矩阵;所有分割结果的权重矩阵构成权重矩阵集合;

其中,F′为利用本次训练得到的优化后的神经网络对每帧视频图像进行测试得到的分割结果,F为利用上次训练得到的优化后的神经网络对每帧视频图像进行测试得到的分割结果,第一次训练时,F为步骤2得到的初始分割采样;所述的分割结果为利用神经网络对视频图像进行测试,测试时设置参数Loss=“HingeLoss”,并将测试结果中小于0的值置为0,大于0的值置为255而得到;

所述的阈值T为:将所有像素点的铰链损失值按照由小到大的顺序排列,T的取值为前P%处像素点的损失值,其中,P的初始值为80,每训练一次,其值增加4,直至100,不再变化;

步骤c:利用公式计算分割结果的显著性得分s′;其中,SA′为利用本次训练得到的神经网络对每帧视频图像进行测试得到的显著图,测试时设置参数Loss=“SigmoidCrossEntropyLoss”;u表示分割结果F′中前景物体像素点的数目;

步骤d:选择显著性得分s′高的前N%帧的视频图像及其分割结果和步骤b得到的权重矩阵集合构成新的训练数据集,重复步骤a-c,直至相邻两次视频语义物体分割结果的平均交并比大于阈值TIOU,得到最终优化后的神经网络;

其中,N的初始值为80,每训练一次,其值增加4,直至100,不再变化;交并比IOU的计算公式为IOU=(F∩F′)/(F∪F′),平均交并比IOU即为所有交并比的平均值;阈值TIOU的取值范围为(0,1);

步骤4:视频分割:

步骤a:利用步骤3得到的最终优化后的神经网络和Nian Liu等人在2015年的工作Predicting Eye Fixations using Convolutional Neural Networks中提出的测试方法,对所有帧视频图像进行测试,测试时设置参数Loss=“SigmoidCrossEntropyLoss”,得到测试显著图;

步骤b:利用Carsten Rother等人在2004年的工作Interactive Foreground Extraction using Iterated Graph Cuts中提出的GrabCut方法对步骤a得到的测试显著图进行修正,得到最终视频物体分割结果。

有益效果

本发明将自步学习算法嵌入到深度神经网络中,提出自步式弱监督学习视频物体分割方法,在弱监督学习思想的指导下,综合利用自步学习算法和深度神经网络的优点,整个系统可以按照由易到难的顺序对目标概念进行学习,随着训练过程的进行学习得到的网络会逐渐由浅显变复杂,模型所能处理问题的能力会逐渐增强。

本发明是在给定输入和期望输出的情况下,让网络自动地学习目标物体概念,是一种端对端学习方式。同时,本发明中的方法使用相同语义类别下的所有视频帧进行网络参数的训练,考虑到视频帧之间所共有的信息。最后,本研究提出的方法不使用负样例数据,避免负样例数据可能导致系统性能不稳定的情况。

相比于已有的视频物体分割方法,本发明的方法具有更高的分割准确度,并且在处理不同场景的视频数据时表现出更好的鲁棒性。

附图说明

图1是本发明方法的流程图。

图2是部分训练数据的可视化图。

图3是本发明方法的实验结果图。

具体实施方式

下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。

用于实施的计算机硬件环境是:因特尔Xeon E5-2600 v3@2.6GHz 8-核CPU处理器,64GB内存,配备GeForce GTX TITAN X GPU。运行的软件环境是:Linux 14.0464位操作系统。我们用Matlab R2015a软件实现发明中提出的方法。

参照图1的方法流程图,本发明具体实施如下:

1、构建深度神经网络并进行预训练。将Nian Liu等人在2015年工作Predicting eye fixations using convolutional neural networks[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2015:362-370.Predicting中提出的深度神经网络最后一层的Loss参数修改为“HingeLoss”,并设置norm参数为“L2”,得到本发明将要使用的深度神经网络;然后,利用MSRA 10K数据集对此深度神经网络进行训练,得到预训练的神经网络。本发明所使用的MSRA 10K数据集来源于http://mmcheng.net/zh/msra10k/

2、构建训练数据集。初始训练数据集包括所有帧视频图像、初始权重矩阵集合和每帧视频图像的初始分割采样。本实施例中使用Youtube-Objects数据集进行实验,数据集来源于https://data.vision.ee.ethz.ch/cvl/youtube-objects/。此训练数据集共包含10类物体(如“猫”、“狗”等),如图2中的“图像”部分。每一类中包含不同场景中的多个视频(如“猫”共包含16个不同场景中的视频),利用本发明的方法对每一类的所有视频单独处理。

初始权重矩阵为大小与视频图像尺寸相同、元素全为1的矩阵,初始权重矩阵的个数与视频图像的帧数相同,所有初始权重矩阵构成初始权重矩阵集合。

每帧视频图像的初始分割采样按如下步骤计算:

步骤a:利用Yong Jae Lee等人在2011年的工作Key-segments for video object segmentation[C].International Conference on Computer Vision.IEEE,2011:1995-2002.中提出的Object-like Regions in Video方法对每帧视频图像提取分割采样(每帧视频图像大约产生1000个分割采样),再使用其工作中的Discovering Key-Segments Across Frames方法对每帧视频图像选择10个分割采样,得到每帧视频图像的分割采样集合{p1,…,pk,…,p10},1≤k≤10。

步骤b:利用公式计算每个分割采样pk的显著性得分sk。其中,SA为利用步骤1得到的预训练神经网络对视频图像进行测试得到的显著图,测试时设置参数Loss=“SigmoidCrossEntropyLoss”;m为视频图像的行数,n为视频图像的列数,uk表示分割采样pk中前景物体像素点的数目,(i,j)表示像素位置为i行j列;

步骤c:利用公式计算得到每帧视频图像的初始分割采样op;Ts的取值范围为(0,1),本实施例中Ts=0.5。

3、训练深度神经网络。在Caffe平台上对网络参数进行训练,本实施例中设置各个参数的数值为:学习率base_lr=5×10-7,迭代次数max_iter=5×本次训练图像数量,正则化系数momentum=0.9,权值衰减系数weight_decay=0.0005。

第一次训练时以前面构建的初始训练数据集和预训练的神经网络为输入,训练结束后,得到新的神经网络;利用得到的新的神经网络对每帧视频图像进行测试,测试时设置深度神经网络参数Loss=“HingeLoss”,并将测试结果中小于0的值置为0,大于0的值置为255,得到每帧视频图像的分割结果F′。

利用公式H(i,j)=max{0,1-F′(i,j)×F(i,j)}计算每个分割结果中所有像素点的铰链损失值H(i,j),将铰链损失值小于阈值T的像素点的权值记为0,将铰链损失值大于等于阈值T的像素点的权值记为1,得到每个分割结果所对应的新的权重矩阵,所有分割结果的权重矩阵构成权重矩阵集合。第一次训练时,F为步骤2得到的初始分割采样,从第二次训练开始F为利用上一次训练得到的神经网络对每帧视频图像进行测试得到的分割结果。阈值T的计算方式为:由所有分割结果中每个像素点的铰链损失值构成集合,将集合中全部像素点的铰链损失值按照由小到大的顺序排列,T取值于P%处像素点的损失值,第一次训练时P=80,每训练一次,其值增加4,直至100,不再变化。

利用公式计算每帧视频分割结果的显著性得分s'。其中,SA′为利用本次训练得到的神经网络对每帧视频图像进行测试得到的显著图,测试时设置参数Loss=“SigmoidCrossEntropyLoss”。u表示分割结果F′中前景物体像素点的数目。

选择显著性得分s′高的前N%帧的视频图像及其分割结果和每帧视频图像的新的权重矩阵构成新的训练数据集,其中,N的初始值为80,每训练一次,其值增加4,直至100,不再变化。

以新的训练数据集作为输入进行下一次训练,直至相邻两次视频语义物体分割结果的平均交并比大于TIOU,得到最终优化后的神经网络。其中,交并比IOU的计算公式为IOU=(F∩F′)/(F∪F′),平均交并比即为所有交并比的平均值;TIOU的取值范围为(0,1),本实施例中TIOU=0.5。

图2是第二次训练时部分训练数据的可视化图。其中,第一行为第二次训练时训练数据集中的部分视频帧图像,第二行是其对应的分割结果图,第三行是其对应的权重矩阵的可视化图。

4、视频分割。利用训练得到的最终优化后的神经网络和Nian Liu等人在2015年的工作Predicting eye fixations using convolutional neural networks[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2015:362-370.Predicting中提出的测试方法,对所有帧视频图像进行测试,测试时设置参数Loss=“SigmoidCrossEntropyLoss”,得到测试显著图;再利用Carsten Rother等人在2004年的工作Grabcut:Interactive foreground extraction using iterated graph cuts[C].ACM transactions on graphics(TOG).ACM,2004,23(3):309-314.中提出的Grabcut方法对步骤a得到的测试显著图进行修正,得到最终视频分割结果。本实施例中使用Grabcut方法时,设置分割阈值为0.5,迭代修正次数设定为5,得到的视频分割结果如图3所示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1