[发明专利]一种相机抖动造成的模糊图像复原方法有效

专利信息
申请号: 201410022280.6 申请日: 2014-01-20
公开(公告)号: CN103839233B 公开(公告)日: 2017-05-10
发明(设计)人: 左旺孟;邓红;张宏志;张垒磊;石坚 申请(专利权)人: 左旺孟;张宏志;邓红;石坚;张垒磊
主分类号: G06T5/00 分类号: G06T5/00
代理公司: 暂无信息 代理人: 暂无信息
地址: 150001 黑龙*** 国省代码: 黑龙江;23
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 相机 抖动 造成 模糊 图像 复原 方法
【权利要求书】:

1.一种相机抖动造成的模糊图像复原方法,其特征在于:首先,估计出相机抖动动作路径;其次,计算出所有的切片状路径和纤维状路径,用贪心算法来计算切片状路径和纤维状路径各自占有的比例,在实际的相机抖动路径中,所有以给定的角度绕z轴旋转的相机抖动动作在平面内的平移动作构成切片状路径集合,定义为切片;所有以给定的平移幅度沿x,y轴平移的相机抖动动作在平面内的旋转动作构成纤维状路径,定义为纤维;然后,用基于广义加性卷积模型GACM的APG算法进行非盲复原;具体包括以下步骤:

1)首先,估计出相机抖动动作路径及每个动作的权值,即集合和向量W,相机动作路径上的每个动作都是三维的,并且可以用以下形式的参数表示θ=(θz,tx,ty),其中θz是相机绕z轴旋转的角度,tx和ty分别是沿着x轴和y轴平移的量,由初始的假设得到的清晰图像L∈Rn×n,用共轭梯度法求解下面的优化问题解出W,即动作路径中每个动作的权值:

其中是相机抖动动作对应的模糊变换矩阵,W是所有wθ组成的向量,其维数与集合中元素的个数相同;wθ为动作θ=(θz,tx,ty)在曝光过程中占用的时间,Φ1(W)是动作权值向量W的正则化项,为W的l2-范数;

2)其次,计算出所有的切片状路径和纤维状路径;

相机抖动造成的非均匀模糊定义为如下广义加性卷积模型GACM:

<mrow><mi>B</mi><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>C</mi></munderover><msub><mi>f</mi><mi>&theta;</mi></msub><mrow><mo>(</mo><msub><mi>g</mi><mi>&theta;</mi></msub><mo>(</mo><mi>L</mi><mo>)</mo><mo>&CircleTimes;</mo><msub><mi>k</mi><mi>&theta;</mi></msub><mo>)</mo></mrow></mrow>

其中L和B是两个n×n大小的图像,定义的是卷积算子,fθ和gθ是为了实现动作θ=(θz,tx,ty)的关于像素的算子,kθ是动作θ=(θx,tx,ty)相关的模糊核,C是相机抖动路径中动作的个数;

相机抖动动作路径中每一个动作θ对图像的变换都等同于两个子动作轮流对图像变换的结果,它们分别是先对图像进行平移操作,然后对结果图像进行旋转,用公式表示是假设相机动作路径集合中动作个数为n个,每个动作记为θj,j=1,…n,则之前所述和是相机的3D动作路径中的动作θj,θj分解后的平移动作θj,t和θj分解后的旋转动作θj,r对应的模糊变换矩阵,这个过程具体实现为其中,为平移动作θj,t对应的模糊核,是的矩阵表示,与L卷积就是对L进行平移操作,为旋转动作θj,r对应的变换算子,是算子的矩阵表示,对做变换是对做旋转操作;

变换矩阵Kθ的形成需要单应性矩阵Hθ来实现,对3D相机运动子空间中的每个动作θj=(θz,j,tx,j,ty,j),单应性可以定义为:

<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><msub><mi>H</mi><msub><mi>&theta;</mi><mi>j</mi></msub></msub><mo>=</mo><msub><mi>CM</mi><msub><mi>&theta;</mi><mi>j</mi></msub></msub><msup><mi>C</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>=</mo><mi>C</mi><mrow><mo>(</mo><msub><mi>R</mi><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub></msub><mo>+</mo><msub><mi>t</mi><mi>j</mi></msub><mfenced open = "[" close = "]"><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>)</mo></mrow><msup><mi>C</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><mi>C</mi><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mo>-</mo><mi>sin</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><msub><mi>t</mi><mrow><mi>x</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr><mtr><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><msub><mi>t</mi><mrow><mi>y</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><msup><mi>C</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow></mtd></mtr></mtable></mfenced>

其中,tj=[tx,j,ty,j,0]T是平移向量,且有:

<mrow><msub><mi>t</mi><mi>j</mi></msub><mfenced open = "[" close = "]"><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>t</mi><mrow><mi>x</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr><mtr><mtd><msub><mi>t</mi><mrow><mi>x</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mfenced open = "[" close = "]"><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>t</mi><mrow><mi>x</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>t</mi><mrow><mi>x</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced><mo>,</mo><msub><mi>R</mi><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mo>-</mo><mi>sin</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow>

假设相机内部参数是已知的,相机校准矩阵定义如下,

<mrow><mi>C</mi><mo>=</mo><mfenced open = "|" close = "|"><mtable><mtr><mtd><mi>f</mi></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>x</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>f</mi></mtd><mtd><msub><mi>y</mi><mn>0</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow>

其中,f是相机焦距长度与相机拍摄到的图像的最大尺寸的乘积除以相机传感器的尺寸最大值得到的参数,f=l·smax/ccdmax,单位为像素,其中,l是相机焦距长度,单位为毫米,smax为相机拍摄到的图像的最大尺寸,ccdmax为相机传感器的尺寸最大值,(x0,y0)是图像中心像素点的坐标;

给定对应于动作θj=(θz,j,tx,j,ty,j)的单应性矩阵可以构造将图像变换成模糊图像的变换矩阵构造矩阵的具体步骤如下:是像素点到像素点的映射算子,对模糊图像在任意位置[x,y,1]T的像素点,其像素值来源于图像x中位于位置的像素值,这一变换是通过矩阵对图像x作用后的结果;如果令θj,r=(θz,j,0,0),和θj,t=(0,tx,j,ty,j),类似的,定义为对应于动作θj,r=(θz,j,0,0)的单应性矩阵,

<mrow><msub><mi>H</mi><msub><mi>&theta;</mi><mrow><mi>j</mi><mo>,</mo><mi>r</mi></mrow></msub></msub><mo>=</mo><msub><mi>CM</mi><msub><mi>&theta;</mi><mrow><mi>j</mi><mo>,</mo><mi>r</mi></mrow></msub></msub><msup><mi>C</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>=</mo><mi>C</mi><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mo>-</mo><mi>sin</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><mi>cos</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>z</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><msup><mi>C</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow>

为对应于动作θj,t=(0,tx,j,ty,j)的单应性矩阵,

<mrow><msub><mi>H</mi><msub><mi>&theta;</mi><mrow><mi>j</mi><mo>,</mo><mi>t</mi></mrow></msub></msub><mo>=</mo><msub><mi>CM</mi><msub><mi>&theta;</mi><mrow><mi>j</mi><mo>,</mo><mi>t</mi></mrow></msub></msub><msup><mi>C</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>=</mo><mi>C</mi><mfenced open = "[" close = "]"><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>t</mi><mrow><mi>x</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><msub><mi>t</mi><mrow><mi>y</mi><mo>,</mo><mi>j</mi></mrow></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><msup><mi>C</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup></mrow>

将图像x中处于像素位置的像素值赋值到模糊图像上[x,y,1]位置的像素点;将图像x中处于像素位置的像素值赋值到模糊图像上[x,y,1]位置的像素点;

定义fθ(x)=Rθ(x),gθ(x)=x,其中,Rθ是相机抖动动作θ=(θz,tx,ty)对应的旋转操作,切片状路径集合定义为即所有θz分量相同的相机抖动动作θ=(θz,tx,ty)组成的集合,因为这些动作的旋转分量都相同,所以用一个旋转变换Rθ就可以实现所有的旋转动作;

定义ft(x)=IPT(x),gt(x)=PT(Ktx),其中,PT和IPT算子是极坐标变换及其逆变换,Kt是相应的纤维对应的平移模糊矩阵,纤维状路径集合定义为即每一个tx和ty分量都相同的相机抖动动作组成的集合,因为这些动作的平移分量都相同,所以用一个平移模糊矩阵Kt就可以实现所有的平移动作;

然后对结果图像进行旋转,建立了广义加性卷积模型:

其中,L为清晰图像,在极坐标变换中,用分解旋转角度时一样的间隔来分段旋转路径,则基滤波器可以定义为其中,[t,θi]是纤维状路径集合中的第i个动作,θ1是最小的旋转角度,是最大的旋转角度,该纤维状路径集合中共有nf个动作,向量中每个元素为对应的纤维状路径集合中的动作在曝光过程中所占用的时间,ns指的是利用贪心算法计算出来的相机抖动路径中切片状路径集合的个数,相似的,指的是利用贪心算法计算出来的纤维状路径集合的个数;指的是从第一个切片状路径到第ns个切片状路径将所有路径模糊的图像累加,每个路径的模糊过程是先对清晰图像做平移操作,平移的模糊核ks,t为相应切片对应的所有平移动作组成的模糊核,再对该模糊结果进行旋转操作,旋转尺度为第s个切片所对应的唯一的旋转动作分量θs;指的是从第一个纤维状路径到第个纤维状路径,将所有路径模糊的图像累加,每个路径的模糊过程是先对清晰图像做平移操作,平移的模糊核为相应的纤维动作集合对应的单一平移模糊核,再通过PT(·)变换将模糊结果映射到极坐标空间中,在极坐标空间中进行旋转的基滤波器为结束后再用极坐标变换的逆变换IPT(·)将结果图像映射到原来的空间;

3)设计贪心算法来计算切片状路径和纤维状路径各自占有的比例;建立切片状路径组成的集合和纤维状路径组成的集合,并统计相应集合中动作子集合的个数ns

4)用基于混合GACM的APG算法完成非盲复原:固定动作路径中每个动作的权值,解决下述的优化问题来对相机抖动图像进行复原

其中,B为需要被复原的模糊图像,Φ2(L)是清晰图像L的正则化项;

5)最后,判断||Lopt-Lk||≤10-4是否成立,其中Lopt为当前得到的优化结果,Lk为上一次迭代得到的优化结果,如果不成立,则判断当时的迭代次数是否已经超过最大迭代次数20,如果没超过,就继续循环执行1)-4)步骤,如果||Lopt-Lk||≤10-4成立或者目前的迭代次数已经大于20,则结束迭代,当前解出的Lopt就是该复原过程的最终解。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于左旺孟;张宏志;邓红;石坚;张垒磊,未经左旺孟;张宏志;邓红;石坚;张垒磊许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410022280.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top