发明名称 一种视频的时域一致性半透明边缘提取方法
摘要 本发明公开了一种视频的时域一致性半透明边缘提取方法。对视频的图像帧进行逐帧半交互式分割,然后进行优化完成视频时域一致性分割;根据视频的时域一致性分割结果,在自适应边缘的图像颜色复杂度的前提下自动膨胀分割边缘生成三色图;利用三色图和视频像素在时域上的光流信息进行时域一致性抠图。本发明能够提取视频物体的时域一致性半透明边缘,还能够得到时域一致性分割结果,在影视2D转3D制作中合成立体新视图时避免边缘的抖动和黑边现象,保证了立体视频的高质量转制。
申请公布号 CN104159098B 申请公布日期 2016.06.01
申请号 CN201410437346.8 申请日期 2014.08.29
申请人 杭州道玄影视科技有限公司 发明人 董子龙
分类号 H04N13/00(2006.01)I;H04N15/00(2006.01)I;G06T15/00(2011.01)I 主分类号 H04N13/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 林超
主权项 一种视频的时域一致性半透明边缘提取方法,其特征在于,包括以下步骤:A)对视频的图像帧进行逐帧半交互式分割,然后进行优化完成视频时域一致性分割;a1)对视频的图像帧进行逐帧半交互式分割,生成前景视频图像和背景视频图像;a2)由以上步骤得到的半交互式分割结果通过优化进行视频时域一致性分割;所述的半交互式分割结果通过以下分割目标函数E(α,z)进行优化,完成视频时域一致性分割:E(α,z)=λ<sub>1</sub>D(α,z)+λ<sub>2</sub>V(α,z)+λ<sub>3</sub>T(α,z)式中,z表示视频图像的所有像素的颜色集合,α为视频分割标记,λ<sub>1</sub>,λ<sub>2</sub>,λ<sub>3</sub>分别为数据项权重、控制空域平滑权重和控制时域平滑权重,D(α,z)为分割数据项,V(α,z)为分割空域平滑项,T(α,z)为分割时域平滑项;B)根据视频的时域一致性分割结果,在自适应边缘的图像颜色复杂度的前提下自动膨胀分割边缘生成三色图;C)利用三色图和视频像素在时域上的光流信息进行时域一致性抠图;所述的时域一致性抠图具体采用以下抠图目标函数F(β,z)进行抠图:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>F</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munder><mo>&Sigma;</mo><mrow><mi>x</mi><mo>&Element;</mo><mi>U</mi><mrow><mo>(</mo><msup><mi>I</mi><mi>t</mi></msup><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><msub><mi>&lambda;</mi><mi>Q</mi></msub><mo>|</mo><mi>Q</mi><mo>(</mo><mrow><mi>&beta;</mi><mo>,</mo><mi>z</mi><mo>,</mo><mi>x</mi></mrow><mo>)</mo><mo>|</mo><mo>+</mo><msub><mi>&lambda;</mi><mi>P</mi></msub><mo>|</mo><msup><mi>P</mi><mrow><mi>t</mi><mo>,</mo><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>(</mo><mrow><mi>&beta;</mi><mo>,</mo><mi>z</mi><mo>,</mo><mi>x</mi></mrow><mo>)</mo><mo>|</mo><mo>+</mo><msub><mi>&lambda;</mi><mi>P</mi></msub><mo>|</mo><msup><mi>P</mi><mrow><mi>t</mi><mo>,</mo><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msup><mo>(</mo><mrow><mi>&beta;</mi><mo>,</mo><mi>z</mi><mo>,</mo><mi>x</mi></mrow><mo>)</mo><mo>|</mo><mo>+</mo><msub><mi>&lambda;</mi><mi>H</mi></msub><mi>H</mi><mo>(</mo><mrow><mi>&beta;</mi><mo>,</mo><mi>z</mi><mo>,</mo><mi>x</mi></mrow><mo>)</mo><mo>)</mo></mrow><mo>+</mo><msub><mi>&lambda;</mi><mi>G</mi></msub><mi>G</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000903486870000011.GIF" wi="1798" he="150" /></maths>式中,β表示像素点的半透明值集合,U(I<sup>t</sup>)表示图像I<sup>t</sup>的三色图中待求解的未知区域包含的像素集合,λ<sub>Q</sub>,λ<sub>P</sub>,λ<sub>H</sub>,λ<sub>G</sub>为抠图数据项权重、控制抠图时域平滑权重、控制抠图空域局部平滑权重和控制抠图空域平滑权重,Q(β,z,x)为抠图数据项,G(β,z)为抠图空域平滑项,H(β,z,x)为抠图空域局部平滑项,P<sup>t,t+1</sup>(β,z,x)为第t帧视频图像到后一帧视频图像的正向抠图时域平滑项,P<sup>t,t‑1</sup>(β,z,x)为第t帧视频图像到前一帧视频图像的反向抠图时域平滑项;所述的分割数据项D(α,z)采用以下公式计算:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>D</mi><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munder><mo>&Sigma;</mo><mrow><mi>x</mi><mo>&Element;</mo><msup><mi>I</mi><mi>t</mi></msup></mrow></munder><mrow><mo>(</mo><msup><mi>p</mi><mi>t</mi></msup><mo>(</mo><msub><mi>z</mi><mi>x</mi></msub><mo>)</mo><mo>&CenterDot;</mo><mo>(</mo><mrow><mn>1</mn><mo>-</mo><msub><mi>&alpha;</mi><mi>x</mi></msub></mrow><mo>)</mo><mo>+</mo><mo>(</mo><mrow><mn>1</mn><mo>-</mo><msup><mi>p</mi><mi>t</mi></msup><mrow><mo>(</mo><msub><mi>z</mi><mi>x</mi></msub><mo>)</mo></mrow></mrow><mo>)</mo><msub><mi>&alpha;</mi><mi>x</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000903486870000012.GIF" wi="974" he="141" /></maths>式中,p<sup>t</sup>(z<sub>x</sub>)是像素点x在第t帧背景视频图像的概率函数,z<sub>x</sub>为像素点x的颜色值,其定义为RGB的颜色空间,α<sub>x</sub>为像素点x的视频分割标记,I<sup>t</sup>为第t帧视频图像,K为视频图像的总帧数;所述的分割空域平滑项V(α,z)采用以下公式计算:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>V</mi><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo>)</mo><mo>&Element;</mo><mi>C</mi></mrow></munder><mi>d</mi><msup><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>|</mo><msub><mi>&alpha;</mi><mi>m</mi></msub><mo>-</mo><msub><mi>&alpha;</mi><mi>n</mi></msub><mo>|</mo></mrow>]]></math><img file="FDA0000903486870000021.GIF" wi="596" he="119" /></maths>式中,C是视频图像中以两个相邻像素为一组组成的所有像素组集合,相邻像素定义为像素的四邻域上,(m,n)为所有像素组集合C中的一组像素组,m、n表示像素组(m,n)中的两个像素点,α<sub>m</sub>、α<sub>n</sub>分别为像素点m和像素点n的视频分割标记,|.|表示绝对值函数,d(.)是像素在图像上的位置之间的欧拉距离函数;所述的分割时域平滑项T(α,z)采用以下公式计算:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>T</mi><mrow><mo>(</mo><mi>&alpha;</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><munder><mo>&Sigma;</mo><mrow><mi>x</mi><mo>&Element;</mo><msup><mi>I</mi><mi>t</mi></msup></mrow></munder><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mi>t</mi><mo>-</mo><mi>n</mi></mrow><mrow><mi>t</mi><mo>+</mo><mi>n</mi></mrow></munderover><munder><mo>&Sigma;</mo><mrow><mi>y</mi><mo>&Element;</mo><mi>W</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><mi>exp</mi><mo>(</mo><mrow><mo>-</mo><mo>|</mo><msub><mi>&alpha;</mi><mi>x</mi></msub><mo>-</mo><msub><mi>&alpha;</mi><msup><mi>y</mi><mi>k</mi></msup></msub><msup><mo>|</mo><mn>2</mn></msup></mrow><mo>)</mo><mo>&CenterDot;</mo><msubsup><mi>w</mi><mrow><mi>f</mi><mi>l</mi><mi>o</mi><mi>w</mi></mrow><mrow><mi>y</mi><mo>,</mo><msup><mi>y</mi><mi>k</mi></msup></mrow></msubsup><mo>&CenterDot;</mo><mi>exp</mi><mo>(</mo><mrow><mo>-</mo><mi>d</mi><msup><mrow><mo>(</mo><mrow><mi>x</mi><mo>,</mo><mi>y</mi></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>/</mo><msub><mi>T</mi><mn>1</mn></msub></mrow><mo>)</mo><mo>&CenterDot;</mo><mfrac><msub><mi>T</mi><mn>2</mn></msub><mrow><msub><mi>T</mi><mn>2</mn></msub><mo>+</mo><mo>|</mo><mo>|</mo><msub><mi>z</mi><mi>x</mi></msub><mo>-</mo><msub><mi>z</mi><mi>y</mi></msub><mo>|</mo><msub><mo>|</mo><mn>2</mn></msub></mrow></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000903486870000022.GIF" wi="1710" he="198" /></maths>式中,n表示时域平滑项要往前和往后计算的n帧相邻图像,W(x)是以像素点x为中心的3×3局部窗口中的9个像素集合,y为局部窗口W(x)中的任一像素点,<img file="FDA0000903486870000023.GIF" wi="101" he="77" />为像素点y在第k帧的对应像素点y<sup>k</sup>的光流置信度,k为像素点y<sup>k</sup>所在的图像帧,<img file="FDA0000903486870000024.GIF" wi="69" he="71" />是第k帧图像在像素点y<sup>k</sup>的分割标记,exp()是以自然常数e为底的指数函数;T<sub>1</sub>、T<sub>2</sub>分别表示位置、颜色的控制系数;所述的抠图数据项Q(β,z,x)表示为:Q(β,z,x)=p<sup>t</sup>(z<sub>x</sub>)·(1‑β<sub>x</sub>)+(1‑p<sup>t</sup>(z<sub>x</sub>))β<sub>x</sub>式中,p<sup>t</sup>(z<sub>x</sub>)是像素点x在第t帧背景视频图像的概率函数,z<sub>x</sub>为像素点x的颜色值,其定义为RGB的颜色空间,β<sub>x</sub>为像素点x的半透明值;所述的抠图空域平滑项G(β,z)表示为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>G</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>,</mo><mi>z</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo>)</mo><mo>&Element;</mo><mi>C</mi></mrow></munder><mi>d</mi><msup><mrow><mo>(</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>|</mo><msub><mi>&beta;</mi><mi>m</mi></msub><mo>-</mo><msub><mi>&beta;</mi><mi>n</mi></msub><mo>|</mo></mrow>]]></math><img file="FDA0000903486870000025.GIF" wi="694" he="126" /></maths>式中,C是视频图像中以两个相邻像素为一组组成的所有像素组集合,(m,n)为所有像素组集合C中的一组像素组,m、n表示像素组(m,n)中的两个像素点,β<sub>m</sub>、β<sub>n</sub>分别为像素点m和像素点n的半透明值,|.|表示绝对值函数,d(.)是像素在图像上位置之间的欧拉距离函数;所述的抠图空域局部平滑项H(β,z,x)表示为:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>H</mi><mrow><mo>(</mo><mi>&beta;</mi><mo>,</mo><mi>z</mi><mo>,</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mrow><mi>y</mi><mo>&Element;</mo><mi>W</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mrow></munder><mo>|</mo><msub><mi>&beta;</mi><mi>x</mi></msub><mo>-</mo><msub><mi>&beta;</mi><mi>y</mi></msub><msup><mo>|</mo><mn>2</mn></msup><munderover><mo>&Sigma;</mo><mi>i</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo><mo>&Element;</mo><msub><mi>M</mi><mi>i</mi></msub></mrow></munderover><mfrac><mn>1</mn><mrow><mo>|</mo><msub><mi>M</mi><mi>i</mi></msub><mo>|</mo></mrow></mfrac><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mo>(</mo><mrow><msub><mi>z</mi><mi>x</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mi>i</mi></msub></mrow><mo>)</mo><msup><mrow><mo>(</mo><mrow><msub><mi>Cov</mi><mi>i</mi></msub><mo>+</mo><mfrac><mi>&epsiv;</mi><mrow><mo>|</mo><msub><mi>M</mi><mi>i</mi></msub><mo>|</mo></mrow></mfrac><mi>B</mi></mrow><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>(</mo><mrow><msub><mi>z</mi><mi>y</mi></msub><mo>-</mo><msub><mi>&mu;</mi><mi>i</mi></msub></mrow><mo>)</mo><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000903486870000031.GIF" wi="1592" he="191" /></maths>式中,W(x)是以像素点x为中心的3×3局部窗口中的9个像素的集合,β<sub>x</sub>、β<sub>y</sub>分别为像素点x和像素点y的半透明值,M是视频图像中包含像素点x,y的3×3局部窗口的集合,i是从M中取一个局部窗口的下标指示,μ<sub>i</sub>、Cov<sub>i</sub>分别为局部窗口M<sub>i</sub>内颜色的期望和协方差,ε为规范化系数,B为3×3单位矩阵,z<sub>x</sub>为像素点x的颜色值,z<sub>y</sub>为像素点y的颜色值;所述的正向抠图时域平滑项P<sup>t,t+1</sup>(β,z,x)对于每个像素点x表示为以下公式:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msup><mi>P</mi><mrow><mi>t</mi><mo>,</mo><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><mi>&beta;</mi><mo>,</mo><mi>z</mi><mo>,</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>w</mi><mrow><mi>f</mi><mi>l</mi><mi>o</mi><mi>w</mi></mrow><mrow><mi>x</mi><mo>,</mo><msup><mi>x</mi><mo>&prime;</mo></msup></mrow></msubsup><mo>|</mo><msub><mi>&beta;</mi><mi>x</mi></msub><mo>-</mo><msub><mi>&beta;</mi><msup><mi>x</mi><mo>&prime;</mo></msup></msub><mo>|</mo></mrow>]]></math><img file="FDA0000903486870000032.GIF" wi="598" he="79" /></maths>其中,x'为像素点x在后一帧视频图像中的光流对应像素点,<img file="FDA0000903486870000033.GIF" wi="103" he="77" />为像素点x和像素点x'的光流置信度,β<sub>x</sub>为像素点x的半透明值,β<sub>x'</sub>为像素点x'的半透明值;所述的反向抠图时域平滑项P<sup>t,t‑1</sup>(β,z,x)对于每个像素点x表示为以下公式:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msup><mi>P</mi><mrow><mi>t</mi><mo>,</mo><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><mi>&beta;</mi><mo>,</mo><mi>z</mi><mo>,</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>w</mi><mrow><mi>f</mi><mi>l</mi><mi>o</mi><mi>w</mi></mrow><mrow><mi>x</mi><mo>,</mo><msup><mi>x</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup></mrow></msubsup><mo>|</mo><msub><mi>&beta;</mi><mi>x</mi></msub><mo>-</mo><msub><mi>&beta;</mi><msup><mi>x</mi><mrow><mo>&prime;</mo><mo>&prime;</mo></mrow></msup></msub><mo>|</mo></mrow>]]></math><img file="FDA0000903486870000034.GIF" wi="637" he="87" /></maths>其中,x”为像素点x在前一帧视频图像中的光流对应像素点,<img file="FDA0000903486870000035.GIF" wi="99" he="78" />为像素点x和像素点x”的光流置信度,β<sub>x</sub>为像素点x的半透明值,β<sub>x”</sub>为像素点x”的半透明值;所述的光流置信度<img file="FDA0000903486870000036.GIF" wi="134" he="77" />光流置信度<img file="FDA0000903486870000037.GIF" wi="100" he="79" />和光流置信度<img file="FDA0000903486870000038.GIF" wi="95" he="78" />均采用以下计算方式:通过计算视频运动信息生成光流,获得光流误差,由光流误差采用以下公式得到置信度:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msubsup><mi>w</mi><mrow><mi>f</mi><mi>l</mi><mi>o</mi><mi>w</mi></mrow><mrow><mi>r</mi><mo>,</mo><mi>s</mi></mrow></msubsup><mo>=</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><msub><mi>f</mi><mrow><mi>e</mi><mi>r</mi><mi>r</mi></mrow></msub><mrow><mo>(</mo><mi>r</mi><mo>,</mo><mi>s</mi><mo>)</mo></mrow></mrow><mrow><mn>2</mn><msubsup><mi>&delta;</mi><mrow><mi>f</mi><mi>l</mi><mi>o</mi><mi>w</mi></mrow><mn>2</mn></msubsup></mrow></mfrac><mo>)</mo></mrow><mo>&CenterDot;</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><mo>|</mo><mo>|</mo><msub><mi>z</mi><mi>r</mi></msub><mo>-</mo><msub><mi>z</mi><mi>s</mi></msub><mo>|</mo><mo>|</mo></mrow><mrow><mn>2</mn><msubsup><mi>&delta;</mi><mrow><mi>c</mi><mi>o</mi><mi>l</mi><mi>o</mi><mi>r</mi></mrow><mn>2</mn></msubsup></mrow></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000903486870000039.GIF" wi="861" he="165" /></maths>其中,r为视频图像中的任意像素点,s为像素点r的光流对应像素点,<img file="FDA00009034868700000310.GIF" wi="103" he="70" />为像素点r和像素点s的光流置信度,exp是以自然常数e为底的指数函数,f<sub>err</sub>(r,s)为像素点r和像素点s的光流误差,z<sub>r</sub>为像素点r的颜色值,z<sub>s</sub>为像素点s的颜色值,δ<sub>flow</sub>为光流控制系数,δ<sub>color</sub>为颜色控制系数。
地址 311202 浙江省杭州市萧山区北干街道金城路1038号9楼