发明名称 一种基于全局优化的视频稳定方法
摘要 本发明涉及一种基于全局优化的视频稳定方法,包括以下步骤:根据人的视觉主观感受规律推导出稳定视频应具备的空间、时间和保形约束性;使用光流法获得视频中的特征点运动轨迹;根据以上约束限制和特征点运动轨迹建立稀疏线性方程组,并求解得到稳定的视频各帧网格点;根据每一视频帧稳定前后网格点的位置对图像进行扭曲获得稳定的视频图像。与已有的方法相比,该方法将运动建模和运动补偿整合到一个优化过程中,提高了计算效率,节省了计算时间。
申请公布号 CN103810725B 申请公布日期 2016.06.08
申请号 CN201410090004.3 申请日期 2014.03.12
申请人 北京理工大学;北京理工大学深圳研究院 发明人 张磊;徐千昆;黄华
分类号 G06T7/20(2006.01)I 主分类号 G06T7/20(2006.01)I
代理机构 代理人
主权项 一种基于全局优化的视频稳定方法,其特征在于,包括以下步骤:步骤一、计算特征点轨迹在视频帧中提取特征点,使用光流法计算下一帧中特征点的位置,进而得到整个视频中所有特征点的运动轨迹;步骤二、视频帧网格化将视频帧划分为若干正方形区域,并获得网格角点的坐标,其形式化表示为:<maths num="0001"><math><![CDATA[<mrow><mo>{</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>=</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>y</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>&Element;</mo><msup><mi>R</mi><mn>2</mn></msup><mo>}</mo><mo>,</mo></mrow>]]></math><img file="FDA0000942776680000011.GIF" wi="820" he="108" /></maths>将稳定后的网格角点形式化表示为:<maths num="0002"><math><![CDATA[<mrow><mo>{</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>=</mo><mrow><mo>(</mo><msubsup><mi>u</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>&Element;</mo><msup><mi>R</mi><mn>2</mn></msup><mo>}</mo></mrow>]]></math><img file="FDA0000942776680000012.GIF" wi="789" he="113" /></maths>对于某一网格,其形式化表示为:<maths num="0003"><math><![CDATA[<mrow><msubsup><mi>Q</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>=</mo><mo>{</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup><mo>,</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup><mo>}</mo></mrow>]]></math><img file="FDA0000942776680000013.GIF" wi="1424" he="122" /></maths>其中,t表示视频帧索引数,u代表稳定后网格的角点x轴坐标,v代表稳定后网格的角点y轴坐标;步骤三、计算能量函数中的保形项E<sub>sp</sub>为了获得与原视频帧尽可能相近的稳定图像,因此在原视频帧网格区域和稳定后的视频帧网格区域之间应保持一个相似变换,从数学的角度看,这种相似扭曲应满足柯西黎曼等式,因此,保形项应定义为:<maths num="0004"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><msub><mi>E</mi><mrow><mi>s</mi><mi>p</mi></mrow></msub><mrow><mo>(</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mi>t</mi></munder><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><msup><mrow><mo>(</mo><mrow><mo>|</mo><mo>|</mo><mrow><mo>(</mo><mrow><msubsup><mi>v</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup></mrow><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mrow><msubsup><mi>u</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>u</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup></mrow><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><munder><mo>&Sigma;</mo><mi>t</mi></munder><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><msup><mrow><mo>(</mo><mrow><mo>|</mo><mo>|</mo><mrow><mo>(</mo><mrow><msubsup><mi>u</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>u</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup></mrow><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><mrow><msubsup><mi>v</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>v</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup></mrow><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000942776680000014.GIF" wi="1641" he="378" /></maths>步骤四、计算能量函数中的空域约束项E<sub>sc</sub>为了获得较佳的视频观看感受,不仅要保持每个网格的形状,还要保持相邻网格之间变换的相似度,避免网格之间出现显著的扭曲,因此将该条件形式化表示为:<maths num="0005"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><msub><mi>E</mi><mrow><mi>s</mi><mi>c</mi></mrow></msub><mrow><mo>(</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mi>t</mi></munder><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><mo>|</mo><mo>|</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup><mo>-</mo><mn>2</mn><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>+</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn></mrow><mi>t</mi></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><munder><mo>&Sigma;</mo><mi>t</mi></munder><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><mo>|</mo><mo>|</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>-</mo><mn>2</mn><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>+</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><munder><mo>&Sigma;</mo><mi>t</mi></munder><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><mo>|</mo><mo>|</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup><mo>+</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000942776680000021.GIF" wi="1633" he="572" /></maths>步骤五、计算能量函数中的扭曲约束项E<sub>wf</sub>为了保证尽量大的图像剪切率,保证保留更多的视觉信息,因此要保证扭曲后的网格点位置尽量与稳定前相近,因此,该条件形式化表示为:<maths num="0006"><math><![CDATA[<mrow><msub><mi>E</mi><mrow><mi>w</mi><mi>f</mi></mrow></msub><mrow><mo>(</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mi>t</mi></munder><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><mo>|</mo><mo>|</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>X</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>]]></math><img file="FDA0000942776680000022.GIF" wi="1418" he="237" /></maths>步骤六、计算能量函数中的时域平滑项E<sub>ts</sub>为了获得稳定的摄像机运动轨迹,因此要对带有晃动和抖动的视频轨迹进行平滑,使用普雷斯科特(Hodrick‑Prescott)滤波对轨迹进行平滑处理,为了将特征点轨迹与网格稳定联系起来,使用每个特征点所在网格的四个角点通过均值坐标方法表示该特征点,因此将上述过程形式化表示为:<maths num="0007"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><msub><mi>E</mi><mrow><mi>t</mi><mi>s</mi></mrow></msub><mrow><mo>(</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>=</mo><munder><mo>&Sigma;</mo><mi>t</mi></munder><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></munder><mo>{</mo><mo>|</mo><mo>|</mo><msubsup><mi>CV</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>-</mo><msubsup><mi>CV</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mo>|</mo><mo>|</mo><msubsup><mi>CV</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>-</mo><mn>2</mn><msubsup><mi>CV</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>+</mo><msubsup><mi>CV</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mo>|</mo><mo>|</mo><msubsup><mi>CV</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mi>t</mi><mo>+</mo><mn>2</mn></mrow></msubsup><mo>-</mo><mn>3</mn><msubsup><mi>CV</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>+</mo><mn>3</mn><msubsup><mi>CV</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>CV</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mi>t</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>}</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000942776680000023.GIF" wi="1548" he="423" /></maths>其中:<maths num="0008"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><msubsup><mi>CV</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>=</mo><msubsup><mi>C</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>+</mo><msubsup><mi>C</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><msubsup><mi>V</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><msubsup><mi>C</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup><msubsup><mi>V</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup><mo>+</mo><msubsup><mi>C</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup><msubsup><mi>V</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn></mrow><mi>t</mi></msubsup></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000942776680000024.GIF" wi="1337" he="239" /></maths>C表示根据均值坐标计算出的各个角点的权重值;<maths num="0009"><math><![CDATA[<mrow><msubsup><mi>C</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>=</mo><mn>2</mn><mfrac><mrow><mi>t</mi><mi>a</mi><mi>n</mi><mrow><mo>(</mo><msub><mi>&alpha;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo>+</mo><mi>t</mi><mi>a</mi><mi>n</mi><mrow><mo>(</mo><msub><mi>&beta;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>/</mo><mn>2</mn><mo>)</mo></mrow></mrow><msub><mi>r</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000942776680000031.GIF" wi="1110" he="203" /></maths><maths num="0010"><math><![CDATA[<mrow><msub><mi>r</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mo>|</mo><msubsup><mi>P</mi><mi>h</mi><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>|</mo><mo>,</mo></mrow>]]></math><img file="FDA0000942776680000032.GIF" wi="629" he="127" /></maths>P<sub>h</sub><sup>t</sup>表示第t帧中第h个特征点,其位于由{V<sup>t</sup><sub>i,j</sub>,V<sup>t</sup><sub>i+1,j</sub>,V<sup>t</sup><sub>i,j+1</sub>,V<sup>t</sup><sub>i+1,j+1</sub>}组成的网格中,α<sub>i,j</sub>,β<sub>i,j</sub>分别表示线段P<sup>t</sup><sub>h</sub>V<sup>t</sup><sub>i,j</sub>与线段P<sup>t</sup><sub>h</sub>V<sup>t</sup><sub>i,j+1</sub>、P<sup>t</sup><sub>h</sub>V<sup>t</sup><sub>i+1,j</sub>之间的夹角;步骤七、能量函数优化求解将上述约束条件分别赋予权重,建立用于求解稳定后网格角点位置的能量函数,形式化表示为:<maths num="0011"><math><![CDATA[<mrow><mi>E</mi><mrow><mo>(</mo><msubsup><mi>V</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>t</mi></msubsup><mo>)</mo></mrow><mo>=</mo><msub><mi>&omega;</mi><mn>1</mn></msub><mo>&CenterDot;</mo><msub><mi>E</mi><mrow><mi>s</mi><mi>p</mi></mrow></msub><mo>+</mo><msub><mi>&omega;</mi><mn>2</mn></msub><mo>&CenterDot;</mo><msub><mi>E</mi><mrow><mi>t</mi><mi>s</mi></mrow></msub><mo>+</mo><msub><mi>&omega;</mi><mn>3</mn></msub><mo>&CenterDot;</mo><msub><mi>E</mi><mrow><mi>s</mi><mi>c</mi></mrow></msub><mo>+</mo><msub><mi>&omega;</mi><mn>4</mn></msub><mo>&CenterDot;</mo><msub><mi>E</mi><mrow><mi>w</mi><mi>f</mi></mrow></msub></mrow>]]></math><img file="FDA0000942776680000033.GIF" wi="1614" he="118" /></maths>使用求解稀疏线性方程组的方法求解该能量函数最小化问题,得到稳定后的网格点所在位置V<sup>t</sup><sub>i,j</sub>;其中,权重w<sub>2</sub>=10,w<sub>3</sub>=2;对于权重w<sub>1</sub>,不同的网格应采用不同的权重,形式化表示为:<img file="FDA0000942776680000034.GIF" wi="1129" he="194" />其中N(Q<sub>i,j</sub>)表示该网格中的轨迹点数目;对于权重w<sub>4</sub>,不同的网格应采用不同的权重,对于位于视频帧边界的角点,其权重w<sub>4</sub>=2,对于其他角点,其w<sub>4</sub>=1;步骤八、图像扭曲根据稳定前的网格点X<sup>t</sup><sub>i,j</sub>和稳定后的网格点V<sup>t</sup><sub>i,j</sub>建立单应性变换矩阵,根据矩阵获得稳定后的视频帧数据。
地址 100081 北京市海淀区中关村南大街5号