发明名称 一种基于结构张量和卡尔曼滤波的视频去噪方法
摘要 本发明提供了一种基于结构张量和卡尔曼滤波的视频实时去噪方法,包括以下步骤:获取当前时刻待处理图像帧,以及保存的已完成去噪处理的当前帧之前的n帧图像;对当前时刻待处理图像帧采用均值滤波器进行预滤波处理;基于结构张量,充分利用当前时刻待处理图像帧与前面相邻图像帧之间紧密的时空联系,对当前图像帧进行运动估计;基于运动估计结果,采用卡尔曼滤波方法在时域进行降噪处理;采用维纳滤波在空域进行降噪处理;综合两个去噪图像,加权获得最终的去噪图像。本发明通过上述方法能够实现大噪声视频的去噪处理,具有较好的去噪效果,而且由于没有复杂的迭代计算,易于FPGA等硬件实现,进而能够实现大噪声视频的实时去噪。
申请公布号 CN103873743B 申请公布日期 2015.02.25
申请号 CN201410110966.0 申请日期 2014.03.24
申请人 中国人民解放军国防科学技术大学 发明人 刘煜;张茂军;王炜;熊志辉;左承林;李卫丽
分类号 H04N5/21(2006.01)I;H04N19/117(2014.01)I 主分类号 H04N5/21(2006.01)I
代理机构 长沙正奇专利事务所有限责任公司 43113 代理人 卢宏
主权项 一种基于结构张量和卡尔曼滤波的视频实时去噪方法,其特征在于,包括如下步骤:步骤一:获取当前时刻待处理图像帧,以及保存的已完成去噪处理的当前帧之前的n帧图像,n为预先设置的整数值;步骤二:采用均值滤波器对当前时刻待处理图像帧进行预滤波处理;步骤三:针对步骤二预滤波处理后的图像和步骤一保存的已完成去噪处理的当前帧之前的n帧图像,计算每帧图像的结构张量,然后分别计算当前帧图像与之前n帧图像中每一帧图像之间的结构张量距离,再将这n个结构张量距离求平均值,该平均值作为当前时刻待处理图像帧的运动估计值;每帧图像的结构张量采用的是黎曼空间,黎曼空间中线性结构张量的表达式为<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>J</mi><msub><mi>&rho;</mi><mn>2</mn></msub></msub><mrow><mo>(</mo><mi>p</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>K</mi><mrow><mi>&rho;</mi><mn>2</mn></mrow></msub><mo>*</mo><mrow><mo>(</mo><mo>&dtri;</mo><msub><mi>p</mi><msup><mi>&sigma;</mi><mo>&prime;</mo></msup></msub><mo>&CircleTimes;</mo><mo>&dtri;</mo><msubsup><mi>p</mi><msup><mi>&sigma;</mi><mo>&prime;</mo></msup><mi>T</mi></msubsup><mo>)</mo></mrow><mo>=</mo><msub><mi>K</mi><mrow><mi>&sigma;</mi><mn>2</mn></mrow></msub><mo>*</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msup><mrow><mo>(</mo><msub><mi>I</mi><mi>x</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><msup><mi>&sigma;</mi><mo>&prime;</mo></msup></msub><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></mtd><mtd><msub><mi>I</mi><mi>x</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><msup><mi>&sigma;</mi><mo>&prime;</mo></msup></msub><mo>)</mo></mrow><msub><mi>I</mi><mi>y</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><msup><mi>&sigma;</mi><mo>&prime;</mo></msup></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msub><mi>I</mi><mi>x</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><msup><mi>&sigma;</mi><mo>&prime;</mo></msup></msub><mo>)</mo></mrow><msub><mi>I</mi><mi>y</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><msup><mi>&sigma;</mi><mo>&prime;</mo></msup></msub><mo>)</mo></mrow></mtd><mtd><msup><mrow><mo>(</mo><msub><mi>I</mi><mi>y</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><msup><mi>&sigma;</mi><mo>&prime;</mo></msup></msub><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000605062550000011.GIF" wi="1417" he="280" /></maths>其中<img file="FDA0000605062550000012.GIF" wi="50" he="60" />表示图像梯度算子,p<sub>σ'</sub>表示图像p经过方差为σ'的高斯滤波后的输出图像,<img file="FDA0000605062550000013.GIF" wi="54" he="61" />表示结构张量的积,结构张量乘积的计算可表示为图像在x和y两个方向的梯度I<sub>x</sub>(p<sub>σ'</sub>),I<sub>y</sub>(p<sub>σ'</sub>)来计算,*表示方差为ρ2的高斯滤波器K<sub>ρ2</sub>与结构张量的卷积操作,通常地ρ2&gt;σ';上述<img file="FDA0000605062550000014.GIF" wi="76" he="78" />包含图像的结构信息,通过对<img file="FDA0000605062550000015.GIF" wi="77" he="79" />进行正交分解,得到表示结构张量的大小的特征值λ<sub>1</sub>与λ<sub>2</sub>,以及表示结构张量的方向的特征向量<img file="FDA0000605062550000016.GIF" wi="45" he="74" />与<img file="FDA0000605062550000017.GIF" wi="73" he="75" />结构张量的距离用下式表示<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>d</mi><mi>ST</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><mi>current</mi></msub><mo>,</mo><msub><mi>p</mi><mrow><mi>past</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>=</mo><msqrt><mi>Trace</mi><mrow><mo>(</mo><msup><mrow><mo>(</mo><mi>log</mi><mrow><mo>(</mo><msub><mi>J</mi><msub><mi>&rho;</mi><mn>2</mn></msub></msub><mrow><mo>(</mo><msub><mi>p</mi><mi>current</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mi>log</mi><mrow><mo>(</mo><msub><mi>J</mi><msub><mi>&rho;</mi><mn>2</mn></msub></msub><mrow><mo>(</mo><msub><mi>p</mi><mrow><mi>past</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>)</mo></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000605062550000018.GIF" wi="1637" he="160" /></maths>其中,Trace(·)表示矩阵的轨迹,log(·)是结构张量的对数操作因子,<img file="FDA0000605062550000019.GIF" wi="218" he="83" />代表当前含噪帧图像的结构张量,<img file="FDA00006050625500000110.GIF" wi="235" he="94" />代表当前图像帧之前的图像帧中第(i‑th)帧图像的结构张量,分别计算出当前处理图像帧与之前n帧图像间的结构张量距离,对其求平均值<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>d</mi><mi>ST</mi></msub><mo>=</mo><mfrac><mrow><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>d</mi><mi>ST</mi></msub><mrow><mo>(</mo><msub><mi>p</mi><mi>current</mi></msub><mo>,</mo><msub><mi>p</mi><mrow><mi>past</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>)</mo></mrow></mrow><mi>n</mi></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00006050625500000111.GIF" wi="1254" he="216" /></maths>这个平均值代表当前时刻待处理图像帧的运动估计值;步骤四:根据步骤三得到的当前时刻待处理图像帧的运动估计值建立卡尔曼滤波的运动方差矩阵,在时间域上采用卡尔曼滤波方法对当前时刻待处理图像帧进行降噪处理,得到卡尔曼滤波后的去噪图像;步骤五:在空间域上采用维纳滤波器对当前时刻待处理图像帧进行降噪处理,得到维纳滤波后的去噪图像;步骤六:根据步骤三得到的当前时刻待处理图像帧中各像素点的运动估计值计算其高斯权重值,结合步骤四得到的卡尔曼滤波后的去噪图像以及步骤五得到的维纳滤波后的去噪图像,通过加权获得最终的去噪图像,并保存为当前帧已完成去噪处理的图像。
地址 410073 湖南省长沙市开福区德雅路109号