一种基于生成对抗网络的视频目标分割方法
技术领域
本发明属于计算机技术领域,具体是计算机视觉中的视频目标分割技术领域,涉及一种基于生成对抗网络的视频目标分割方法。
背景技术
随着视频数据规模的急速扩张,对视频做编辑修改的需求迅猛增加,因此研究视频目标分割变得尤为重要。视频目标分割方法在自动驾驶、视频编辑、安防监控等领域有着广阔的应用前景。
图像目标分割是指从给定的图像中找出感兴趣的目标,并对目标类别进行像素级的标注;而视频目标分割针对视频的每一帧进行目标类别的像素级的标注。视频目标分割方法主要考虑三种场景:1)提供第一帧图像标注的半监督视频目标分割;2)无帧图像标注的无监督视频目标分割;3)交互式的视频目标分割(提供模糊的视频帧标注,例如在目标上画一笔作为模糊标注);目前较多方法主要处理第一类半监督视频分割场景。
由于视频内的目标往往会产生大量的复杂变化,如形状、亮度、甚至目标消失,这些问题给视频目标分割带来了巨大的挑战。现有的方法通常使用深度神经网络,主要有两种方法:1)基于检测的方法,具体考虑目标在视频中外观的相似性,一般先使用大规模的图像数据集进行图像目标分割模型的预训练,然后迁移预训练的模型到视频数据集进行视频目标分割模型的训练,并针对指定视频进行调优;2)基于传播的方法,具体利用视频的目标之间存在的关联性(例如动作的连续性),将前一帧的视频目标分割结果作为当前帧的指导信息传入深度神经网络,从而得到当前帧的视频目标分割结果。
综上所述,上述方法的不足点主要表现在两方面:1)基于检测的方法虽然考虑了视频目标的相似性,但没有考虑视频目标的变化;同时由于视频内背景的复杂性,可能存在与目标相似的背景,导致错误的分割结果;2)基于传播的方法虽然考虑了视频目标在时序上的相关性,但没有考虑到长期的目标变化;若出现目标消失,该方法将产生错误分割,且某一帧产生的错误分割信息可能传播到下一帧,导致分割性能受到影响。这些方法在处理视频目标分割任务时,不能很好满足实际视频目标分割的需求,因而迫切需要设计一种能够充分利用视频目标的外观相似性与时序间相关性的方法,达到优越的视频目标分割性能。
发明内容
本发明的目的就是针对现有技术的不足,提供一种基于生成对抗网络的视频目标分割方法,可以有效利用视频目标的长期关系和短期关系应对目标的复杂变化,提高视频目标分割的准确度和鲁棒性。
本发明方法首先获取视频数据集,然后进行如下操作:
步骤(1).利用输入视频中首帧以及相邻帧与当前帧的关系,构建视频生成网络模型,经过全卷积神经网络及反卷积上采样,获得生成网络视频分割矩阵;
步骤(2).利用视频帧及其生成网络视频分割矩阵,构建判别网络模型,获得判别矩阵;
步骤(3).采取对抗式学习策略交替优化判别网络与生成网络,使得生成网络尽可能生成与真实分割矩阵一致的视频分割矩阵;
所述的对抗式学习策略为生成网络和判别网络的优化目标相互冲突并在对抗过程中优化,所述的交替优化指使用随机梯度下降法先优化判别网络再优化生成网络,依次交替优化损失函数;
步骤(4).将新视频输入已训练优化的生成网络模型,获得对应的生成网络视频分割矩阵,即视频目标分割结果。
进一步,步骤(1)的具体方法是:
(1-1).假设输入视频有m帧RGB图像,表示为帧图像集合
其中首帧指视频中的第一帧图像F
1,每帧图像宽为w,高为h,通道数为3;
(1-2).标注像素级,记为标注集合{M
i|i=1,..,m},其中
是宽为w高为h的矩阵,像素级标注M
i的元素取值为{0,1,...,k},k为视频待分割的目标数量,在训练阶段每个视频帧都有对应的像素级标注,处理新视频时仅给出视频首帧的目标标注;
(1-3).处理视频首帧:将首帧F
1与对应标注M
1输入到全卷积神经网络得到相应的特征表示张量,全卷积神经网络输出的特征表示张量表示为
c
1为通道数,w
1为张量的宽,h
1为张量的高,且w
1<w、h
1<h,得到的首帧对应的特征表示张量记为S
1;所述的全卷积神经网络为不包含全连接层且以卷积层为主的神经网络;
(1-4).处理视频后续帧:从视频第二帧起至视频最后一帧记为
首先将视频帧F
i和前一帧对应的像素级标注M
i-1输入相同全卷积神经网络,得到相应的特征表示张量,记为
然后将后续帧F
i对应的特征表示张量S
i与首帧对应的特征表示张量S
1依次拼接,得到拼接特征表示张量,记为
经过多个反卷积层的上采样操作,得到大小与视频帧一致的生成网络视频分割矩阵,记为
即产生m-1个目标分割结果。
进一步,步骤(2)的具体方法是:
(2-1).将视频帧Fi及其生成网络的视频分割矩阵Pi,i=2,...,m,输入到判别网络,该判别网络是由C个卷积层、归一化层和激活函数组成的模块构成的卷积神经网络,C≥3;
(2-2).判别网络将输出N×N的判别矩阵Ai,矩阵元素为0或1,N<w,N<h,将视频帧Fi与真实视频目标标注Mi输入到判别网络得到相同大小的判别矩阵Ai′,判别矩阵Ai′作为真实的判别矩阵且每个元素对应视频帧的小块区域,判别矩阵Ai每个矩阵元素应与判别矩阵Ai′每个矩阵元素尽可能相同。
进一步,步骤(3)的具体方法是:
(3-1).首先计算生成对抗网络的损失函数,即条件生成对抗网络损失,表示为:
其中,x表示输入的视频帧F
i,y表示视频帧F
i对应的像素级标注M
i,z表示随机噪声,G(x,z)表示生成网络产生的预测标注P
i,E
z,y[*]和E
x,z[*]分别表示随机变量z,y的期望和随机变量x,z的期望;然后计算生成网络的损失函数,即真实标注与预测标注的损失,表示为:
||*||
1表示L
1正则化,E
x,y,z[*]表示随机变量x,y,z的期望;
(3-2).生成对抗网络模型的最终优化目标为如下损失函数:
其中,正则化系数λ>0,生成网络G期望最小化损失函数,判别网络D期望最大化损失函数,交替优化训练后得到生成网络G*,使其尽可能生成与真实分割矩阵一致的视频分割矩阵。
进一步,步骤(4)的具体方法是:
(4-1).对于新视频,其视频帧图像为
首帧标注为M
1′,将首帧与其标注M
1′输入步骤(3)所述生成网络G
*的全卷积神经网络得到特征表示张量S
1′;
(4-2).预测视频第二帧F2′的目标,先将帧图像F2′和首帧目标像素级标注M1′输入全卷积神经网络,然后依次经过特征表示张量拼接和反卷积上采样操作,得到第二帧对应的生成网络视频分割矩阵P2′;
(4-3).预测后续视频帧的目标,首先将当前帧Fi+1′和第i帧图像的预测标注Pi′输入全卷积神经网络,然后经过特征表示张量拼接和反卷积上采样操作,得到分割矩阵Pi+1′;以第三帧为例,若输入第三帧F3′和第二帧F2′对应的分割矩阵P2′,则得到第三帧的分割矩阵P3′;
(4-4).依次处理视频的第二帧直至最后一帧,得到对应的生成网络视频分割矩阵{Pi′|i=2,...,n},即新视频的目标分割结果。
本发明方法首先将视频输入考虑首帧以及相邻帧分别与当前帧关系的生成网络模型,经过全卷积神经网络及反卷积上采样,获得生成网络视频分割矩阵;其次,利用视频帧及其生成网络视频分割矩阵构建判别网络模型,获得判别矩阵;再次,采取对抗式学习策略交替优化判别网络与生成网络,使得生成网络尽可能生成与真实分割矩阵一致的视频分割矩阵。
本发明方法使用生成对抗网络进行视频目标分割,可学习得到更加符合真实的视频目标数据分布的分割结果,从而提升视频目标分割性能;同时充分考虑了视频内目标的长期关系和短期关系,在设计神经网络时利用了首帧图像及其标注信息以及相邻帧的信息,这使得该方法能够处理视频内目标的复杂变化,包括目标的快速运动、形状的变化等等,提高了视频目标分割的鲁棒性;该方法可广泛应用于增强现实、无人驾驶、视频编辑、智慧城市等领域。
附图说明
图1是本发明方法的流程图。
具体实施方式
以下结合附图对本发明作进一步说明。
一种基于生成对抗网络的视频目标分割方法,重点使用生成对抗网络进行视频目标分割,可学习得到更加符合真实的视频目标数据分布的分割结果,充分考虑视频内目标的长期关系和短期关系的问题,在设计神经网络时利用首帧图像及其标注信息以及相邻帧的信息使其能处理视频内目标的复杂变化。主要思想设计生成网络模型时考虑首帧以及相邻帧分别与当前帧关系,采用全卷积神经网络及反卷积上采样获得生成网络视频分割矩阵,利用视频帧及其生成网络视频分割矩阵构建判别网络模型获得判别矩阵,采取对抗式学习策略交替优化判别网络与生成网络。通过这种方式,可以达到视频目标分割的实际需求。
如图1,该方法首先获取视频数据集,然后进行如下操作:
步骤(1).利用输入视频中首帧以及相邻帧与当前帧的关系,构建视频生成网络模型,经过全卷积神经网络及反卷积上采样,获得生成网络视频分割矩阵。具体方法是:
(1-1).假设输入视频有m帧RGB图像,表示为帧图像集合
其中首帧指视频中的第一帧图像F
1,每帧图像宽为w,高为h,通道数为3;
(1-2).标注像素级,即帧图像的标注,记为标注集合{M
i|i=1,..,m},其中
是宽为w高为h的矩阵,像素级标注M
i的元素取值为{0,1,...,k},k为视频待分割的目标数量,在训练阶段每个视频帧都有对应的像素级标注,但处理新视频时仅给出视频首帧的目标标注;
(1-3).处理视频首帧:将首帧F
1与对应标注M
1输入到全卷积神经网络得到相应的特征表示张量,全卷积神经网络输出的特征表示张量表示为
c
1为通道数,w
1为张量的宽,h
1为张量的高,且w
1<w、h
1<h,得到的首帧对应的特征表示张量记为S
1;该步骤刻画了首帧与当前帧的关系;所述的全卷积神经网络为不包含全连接层且以卷积层为主的神经网络,这里利用残差网络(ResNet-50)并将其全连接层删除。
(1-4).处理视频后续帧:从视频第二帧起至视频最后一帧记为
首先将视频帧F
i和前一帧对应的像素级标注M
i-1输入相同全卷积神经网络,得到相应的特征表示张量,记为
然后将后续帧F
i对应的特征表示张量S
i与首帧对应的特征表示张量S
1依次拼接,得到拼接特征表示张量,记为
经过多个反卷积层的上采样操作,得到大小与视频帧一致的生成网络视频分割矩阵,记为
即产生m-1个目标分割结果;该步骤刻画了相邻帧与当前帧的关系。
步骤(2).利用视频帧及其生成网络视频分割矩阵,构建判别网络模型,获得判别矩阵。具体方法是:
(2-1).将视频帧Fi及其生成网络的视频分割矩阵Pi,i=2,...,m,输入到判别网络,该判别网络是由C个卷积层、归一化层和激活函数组成的模块构成的卷积神经网络,C≥3;
(2-2).判别网络将输出N×N的判别矩阵Ai(矩阵元素为0或1,N<w,N<h),将视频帧Fi与真实视频目标标注Mi输入到判别网络得到相同大小的判别矩阵Ai′,判别矩阵Ai′作为真实的判别矩阵且每个元素对应视频帧的小块区域(如50×50像素区域),判别矩阵Ai每个矩阵元素应与判别矩阵Ai′每个矩阵元素尽可能相同。
步骤(3).采取对抗式学习策略交替优化判别网络与生成网络,使得生成网络尽可能生成与真实分割矩阵一致的视频分割矩阵;所述的对抗式学习策略为生成网络和判别网络的优化目标相互冲突并在对抗过程中优化,所述的交替优化指使用随机梯度下降法先优化判别网络再优化生成网络,依次交替优化损失函数。具体方法是:
(3-1).首先计算生成对抗网络的损失函数,即条件生成对抗网络损失,表示为:
其中,x表示输入的视频帧Fi,y表示视频帧Fi对应的像素级标注Mi,z表示随机噪声,G(x,z)表示生成网络产生的预测标注Pi,Ez,y[*]和Ex,z[*]分别表示随机变量z,y的期望和随机变量x,z的期望;然后计算生成网络的损失函数,即真实标注与预测标注的损失,表示为:
||*||
1表示L
1正则化,E
x,y,z[*]表示随机变量x,y,z的期望;
(3-2).生成对抗网络模型的最终优化目标为如下损失函数:
其中,正则化系数λ>0,生成网络G期望最小化损失函数,判别网络D期望最大化损失函数,交替优化训练后得到生成网络G*,使其尽可能生成与真实分割矩阵一致的视频分割矩阵。
步骤(4).将新视频输入已训练优化的生成网络模型,获得对应的生成网络视频分割矩阵,即视频目标分割结果。具体方法是:
(4-1).对新视频,其视频帧图像为
首帧标注为M
1′,首先将首帧与其标注M
1′输入步骤(3)所述生成网络G
*的全卷积神经网络得到特征表示张量S
1′;
(4-2).预测视频第二帧F2′的目标,先将帧图像F2′和首帧目标像素级标注M1′输入全卷积神经网络,然后依次经过特征表示张量拼接和反卷积上采样操作,得到第二帧对应的生成网络视频分割矩阵P2′;
(4-3).预测后续视频帧的目标,先将当前帧Fi+1′和第i帧图像的预测标注Pi′输入全卷积神经网络,然后经过特征表示张量拼接和反卷积上采样操作,得到分割矩阵Pi+1′;以第三帧为例,若输入第三帧F3′和第二帧F2′对应的分割矩阵P2′,则得到第三帧的分割矩阵P3′;
(4-4).依次处理视频的第二帧直至最后一帧,得到对应的生成网络视频分割矩阵{Pi′|i=2,...,n},即新视频的目标分割结果。
本实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围的不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。