发明内容
有鉴于此,本发明提供了一种消除图像运动模糊的方法,能够消除由于物体运动速度过快造成的模糊,提高后端智能处理的准确性。
本发明还提供了一种消除图像运动模糊的装置,能够消除由于物体运动速度过快造成的模糊,提高后端智能处理的准确性。
为了达到上述目的,本发明提出的技术方案为:
一种消除图像运动模糊的方法,该方法包括:
判断当前图像中的目标区域是否模糊,如果是,则计算重构模糊图像所用的初始卷积核矩阵,并用所述计算出的初始卷积核矩阵对目标区域的亮度分量进行反卷积,得到重构图像,用重构图像更新当前图像中目标区域的亮度分量,将所述更新了亮度分量后的当前图像作为消除运动模糊的图像,
其中,所述计算重构模糊图像所用的初始卷积核矩阵包括:
计算当前图像中目标区域的亮度分量的频谱,根据频谱计算目标区域中监控目标的运动方向;
根据图像统计特性和运动方向计算监控目标的运动速度;
根据计算出的运动方向和运动速度计算初始卷积核矩阵。
所述用重构图像更新当前图像中目标区域的亮度分量之前,该方法还包括:对得到的重构图像进行调整,得到新的重构图像。
所述判断当前图像中的目标区域是否模糊包括:
计算监控目标在目标区域清晰的图像的图像统计特性;
计算当前图像中目标区域的梯度统计特性;
根据计算出的梯度统计特性和图像统计特性的关系判断目标区域是否模糊。
所述计算监控目标在目标区域清晰的图像的图像统计特性包括:采集监控目标在目标区域清晰的图像;根据公式分别计算采集的每一幅图像的清晰程度J;取出计算出的J中的最小值Jmin、最大值Jmax、以及均值Javerage作为监控目标在目标区域清晰的图像的图像统计特性;其中,所述H为图像垂直方向的像素大小,W为图像水平方向的像素大小,G9x,y)为图像在位置(x,y)处的梯度值;
所述计算当前图像中目标区域的梯度统计特性包括:通过公式
计算当前图像中目标区域的梯度统计特性;
所述根据计算出的梯度统计特性和图像统计特性的关系判断目标区域是否模糊包括:当梯度统计特性J与图像统计特性之间的关系为
时,判定当前图像模糊;否则,判定当前图像清晰。
所述根据频谱计算目标区域中监控目标的运动方向包括:通过公式Fshift=log(|fftshift(F(x,y))|)对计算出的频谱F(x,y)进行压缩和循环移位,使得低频位于频谱的中心;通过公式Fgaussian=fgaussian(Fshift)对Fshift进行高斯滤波,得到的高斯滤波后的Fgaussian;对Fgaussian进行二值化处理,得到二值化图像;将二值化图像中与连通区域最长的一条直线相垂直的方向作为监控目标的运动方向;所述F(x,y)为图像中目标区域的亮度分量的频谱,所述fgaussian(x)为高斯滤波器;
所述根据图像统计特性和运动方向计算监控目标的运动速度包括:通过公式
来计算监控目标的运动速度V,所述
θ为监控目标运动方向同水平方向的夹角,T为摄像机快门时间,所述J为采集的每一幅图像的清晰程度,所述J
average为J的均值,所述W为图像水平方向的像素大小,所述H为图像垂直方向的像素大小;
所述根据计算出的运动方向和运动速度计算初始卷积核矩阵包括:通过公式K=fmotion(V·T,θ)计算出初始卷积核矩阵,fmotion(x,y)为类型为“motion”的滤波器构造函数。
所述用所述计算出的初始卷积核矩阵对目标区域的亮度分量进行反卷积,得到重构图像包括:通过公式FB=fdeconv(B,K)得到清晰图像的估计FB,将FB作为重构图像,其中,fdeconv(x,y)为在已知卷积核矩阵和模糊图像条件下恢复出清晰图像的估计所采用的函数,B为目标区域图像的亮度分量,K为初始卷积核矩阵。
所述对得到的重构图像进行调整,得到新的重构图像包括:
判断得到的重构图像是否清晰,如果不清晰,判断设定范围内的运动速度是否全部被使用过,如果没有全部被使用过,在事先设定的运动速度的阈值范围内调整监控目标的运动速度,并根据运动方向和调整的运动速度计算初始卷积核矩阵,直至得到的重构图像清晰,将得到的清晰的重构图像作为新的重构图像,如果全部被使用过,则选出重构图像中最清晰的图像组为新的重构图像;如果清晰,则将得到的重构图像作为新的重构图像。
所述判断得到的重构图像是否清晰包括:根据公式
计算出清晰图像的估计F
B、即重构图像的清晰度J
F;设定判定重构图像清晰的阈值T
F,若J
F≥T
F,则认为重构图像F
B是清晰的;否则,认为重构图像是模糊的,阈值T
F为
所述W为图像水平方向的像素大小,所述H为图像垂直方向的像素大小所述,所述J
average为采集的每一幅图像的清晰程度J的均值,所述J
min为采集的每一幅图像的清晰程度J的最小值。
一种消除图像运动模糊的装置,该装置包括:判断单元、计算单元、重构单元和更新单元,其中,
所述判断单元,用于判断当前图像中的目标区域是否模糊;
所述计算单元,用于当判断单元判断目标区域模糊时,计算重构模糊图像所用的初始卷积核矩阵;
所述重构单元,用于根据计算单元计算出的初始卷积核矩阵对目标区域的亮度分量进行反卷积,得到重构图像;
所述更新单元,用于用重构单元得到的重构图像更新当前图像中目标区域的亮度分量,将所述更新了亮度分量后的当前图像作为消除运动模糊的图像,
其中,所述计算单元包括:第三计算子单元、第四计算子单元和第五计算子单元,其中,
所述第三计算子单元,用于当判断单元判断目标区域模糊时,计算当前图像中目标区域的亮度分量的频谱,根据频谱计算目标区域中监控目标的运动方向;
所述第四计算子单元,用于根据当前图像的图像统计特性和运动方向计算监控目标的运动速度;
所述第五计算子单元,用于根据第三计算子单元计算出的运动方向和第四计算子单元计算出的运动速度计算重构模糊图像所用的初始卷积核矩阵。
该装置还包括:调整单元,用于对重构单元得到的重构图像进行调整,得到新的重构图像。
所述判断单元包括第一计算子单元、第二计算子单元和第一判断子单元,其中,
所述第一计算子单元,用于计算监控目标在目标区域清晰的图像的图像统计特性;
所述第二计算子单元,用于计算当前图像中目标区域的梯度统计特性;
所述第一判断子单元,用于根据第一计算子单元计算出的图像统计特性和第二计算子单元计算出的梯度统计特性判断目标区域是否模糊。
所述重构单元,用于通过公式FB=fdeconv(B,K)得到清晰图像的估计FB,将FB作为重构图像,其中,fdeconv(x,y)为在已知卷积核矩阵和模糊图像条件下恢复出清晰图像的估计所采用的函数,B为目标区域图像的亮度分量,K为初始卷积核矩阵。
所述调整单元包括第二判断子单元、第三判断子单元和调整子单元,其中,
所述第二判断子单元,用于判断由重构单元得到的重构图像是否清晰,则,所述重构单元,用于当第二判断子单元判断出重构图像清晰时,将所述重构图像发送给更新单元;
第三判断子单元,用于当第二判断子单元判断出重构图像不清晰时,判断设定范围内的运动速度是否全部被使用过,则所述重构单元,用于当第三判断子单元判断出设定范围内的运动速度全部被使用过时,选出重构图像中最清晰的图像组为重构图像;
调整子单元,用于当第三判断子单元判断出设定范围内的运动速度没有全部被使用过时,在事先设定的运动速度的阈值范围内调整监控目标的运动速度,并将所述调整的运动速度发送给第五计算子单元,则所述第五计算子单元,进一步用于根据运动方向和调整的运动速度计算初始卷积核矩阵。
综上所述,本发明所采用的消除图像运动模糊的方法,是通过判断出当前图像中的目标区域模糊时,计算重构模糊图像所用的初始卷积核矩阵,并根据计算出的初始卷积核矩阵对目标区域的亮度分量进行反卷积,得到重构图像,进而用重构图像更新当前图像中目标区域的亮度分量,将所述更新了亮度分量后的当前图像作为消除运动模糊的图像。由于本发明方法通过对模糊图像进行重构,因而能够消除由于物体运动速度过快造成的模糊,提高后端智能处理的准确性。
具体实施方式
本发明所述方案的具体实现包括:
判断当前图像中的目标区域是否模糊,如果是,则计算重构模糊图像所用的初始卷积核矩阵,并用所述计算出的初始卷积核矩阵对目标区域的亮度分量进行反卷积,得到重构图像,用重构图像更新当前图像中目标区域的亮度分量,将所述更新了亮度分量后的当前图像作为消除运动模糊的图像。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
图2为本发明消除图像运动模糊方法实施例的工作流程图。如图2所示,该流程包括:
步骤201:计算监控目标在目标区域清晰的图像的图像统计特性。
在本步骤中,计算监控目标在目标区域清晰的图像的图像统计特性具体可包括:
首先,采集大量监控目标在目标区域清晰的图像,这里的清晰可以为能正确识别出监控目标的某一特征,如对于车辆为监控目标的情况,可以正确辨识出车辆的车牌号为清晰。
其次,根据如下公式分别计算采集的每一幅图像的清晰程度J,
其中,H为图像垂直方向的像素大小,W为图像水平方向的像素大小,G(x,y)为图像在位置(x,y)处的梯度值,由于图像的梯度反映的是图像的边缘、纹理等细节信息,因此,可将梯度值的总和定义为图像的清晰程度。G(x,y)可通过多种梯度函数计算,具体可以为:
1)能量梯度函数:G(x,y)=(B(x+1,y)-B(x,y))2+(B(x,y+1)-B(x,y))2,其中,B(x,y)为其位置为(x,y)处的图像的亮度分量;
2)Tenengrad函数:
其中,G
x(x,y)为使用Sobel算子提取的像素值(x,y)处的水平梯度;G
y(x,y)为使用Sobel算子提取的像素值(x,y)处的垂直梯度;
3)Branner函数:G(x,y)=(B(x+2,y)-B(x,y))2;
4)Abdou算子的图像梯度:
其中,
*代表二维卷积操作。
最后,取出计算出的J中的最小值Jmin、最大值Jmax、以及均值Javerage作为监控目标在目标区域清晰的图像的图像统计特性,所述Javerage为计算出的所有J的均值
需要说明的是,在本步骤中,监控目标为在智能监控过程中需要特别关注的目标,目标区域为智能监控中预先确定好的监控区域,监控目标在目标区域清晰的图像为在采集到的图像中,监控目标比较清晰。如以道路监控中车辆违章监控为例,监控目标为车辆,目标区域为事先确定的监控区域,由于道路监控中的摄像机固定,因此在图像中的固定位置。
还需说明的是,这里的清晰是由人眼主观判断来确定的,实际中还可采用其他的方式来判断是否清晰,以不影响本发明实施例的实现为准。
步骤202:计算一幅图像中目标区域的梯度统计特性。
在本步骤中,梯度统计特性也是通过公式
来得到的,具体如何计算G(x,y)同步骤201,这里不再赘述。
步骤203:根据计算出的梯度统计特性和图像统计特性的关系判断目标区域是否模糊,如果是,执行步骤204;否则,执行步骤214。
在本步骤中,当梯度统计特性J与图像统计特性之间的关系为
时,则判定当前图像模糊;否则,判定当前图像清晰。
步骤204:计算该幅图像中目标区域的亮度分量的频谱。
在本步骤中,通过公式F(x,y)=Ffft(B(x,y))计算该幅图像中目标区域的亮度分量的频谱F(x,y),其中,Ffft(x)为二维傅里叶变换。
步骤205:根据频谱计算目标区域中监控目标的运动方向。
在本步骤中,所述根据频谱计算目标区域中监控目标的运动方向可包括:
1)通过公式Fshift=log(|fftshift(F(x,y))|)对计算出的频谱F(x,y)进行压缩和循环移位,使得低频位于频谱的中心,如果图3为目标区域的亮度分量,则图4即为对频谱进行压缩和循环移位后的示意图;
2)通过公式Fgaussian=fgaussian(Fshift)对Fshift进行高斯滤波,得到的高斯滤波后的Fgaussian如图5所示,其中,fgaussian(x)为高斯滤波器;
3)对Fgaussian进行二值化处理,得到二值化图像,具体可参见图6。在本步骤中,可采用公式Fbin=im2bw(Fgaussian,Th)对频谱图进行二值化,其中,Fbin为二值化后图像,im2bw(x,th)为matlab中对图像进行二值化的函数,Th为采用二值化阈值,且Th=graythresh(Fgaussian),graythresh(x)为matlab中计算灰度图像二值化阈值的函数。
4)将二值化图像中与连通区域最长的一条直线相垂直的方向作为监控目标的运动方向,如图6所示,连通区域最长的一条直线为水平方向,则监控目标的运动方向为垂直方向。
步骤206:根据图像统计特性和运动方向计算监控目标的运动速度。
监控目标的运动速度反映在图像中,就是在摄像机快门时间T内,监控目标运动的像素点数,若监控目标运动越快,则图像越模糊,反之,则图像越清晰。因此,在本步骤中,通过图像的模糊程度来估计监控目标的运动速度,且规定监控目标的最大速度Vmax如下式所示,
其中,θ为监控目标运动方向同水平方向的夹角,T为摄像机快门时间,则监控目标的运动速度V为:
步骤207:根据计算出的运动方向和运动速度计算初始卷积核矩阵。
在得到了运动方向θ和运动速度V后,即可通过公式K=fmotion(V·T,θ)计算出初始卷积核矩阵,以用于重构图像,其中,函数fmotion(x,y)为类型为“motion”的滤波器构造函数,在本步骤中,还可采用其他类型的滤波器构造函数,以不影响本发明实施例的实现为准。
步骤208:用初始卷积核矩阵对目标区域图像的亮度分量进行反卷积,得到重构图像。
在本步骤中,用初始卷积核矩阵对目标区域图像的亮度分量进行反卷积,得到重构图像包括:通过公式FB=fdeconv(B,K)得到清晰图像的估计FB,将FB作为重构图像,其中,fdeconv(x,y)为在已知卷积核矩阵和模糊图像条件下恢复出清晰图像的估计所采用的函数,B为目标区域图像的亮度分量,K为初始卷积核矩阵。
步骤209:判断得到的重构图像是否清晰,如果是,执行步骤213;否则,执行步骤210。
在本步骤中,判断得到的重构图像是否清晰包括:
首先,根据公式
计算出清晰图像的估计F
B、即重构图像的清晰度J
F;
其次,设定判定重构图像清晰的阈值TF,若JF≥TF,则认为重构图像FB是清晰的;否则,认为重构图像是模糊的,在本步骤中,阈值TF可通过公式 来计算得到。
步骤210:判断设定范围内的运动速度是否全部被使用过,如果是,执行步骤212;否则,执行步骤211。
对监控目标的运动速度进行估计时有一个范围,且在该范围内运动速度是按步长进行调整的,因此,设定范围内的运动速度的个数是有限的,是有可能被使用完的。
步骤211:在事先设定的运动速度的阈值范围内调整监控目标的运动速度后,返回执行步骤207。
在本步骤中,假设监控目标的运动速度允许范围为[0,V
max],运动速度调整的步长ΔV为:
且对运动速度进行调整可以向正向调整和负向调整,即调整后监控目标的运动速度为:V=V±ΔV。
步骤212:选出重构图像中最清晰的图像组为重构图像。
步骤213:用重构图像更新该幅图像中目标区域的亮度分量。
在本步骤中,用重构图像更新该幅图像中目标区域的亮度分量包括:用重构图像替换该幅图像中目标区域的亮度分量,该幅图像中其他区域的亮度分量不变。
步骤214:将该幅图像进行输出。
图7给出了采用本发明方法得到的消除图像运动模糊的图像的示意图。从图7中可以看出,采用本发明方法对图像运动模糊进行消除后,得到的重构图像是比较清晰的。
至此,即完成了本实施例消除图像运动模糊方法的整个工作流程。
基于本实施例所述方法,图8给出了本发明消除图像模糊装置的结构示意图,如图8所示,该装置包括:判断单元81、计算单元82、重构单元83和更新单元85,其中,
所述判断单元81,用于判断当前图像中的目标区域是否模糊。
进一步地,所述判断单元81还可包括第一计算子单元811、第二计算子单元812和第一判断子单元813,其中,
所述第一计算子单元811,用于计算监控目标在目标区域清晰的图像的图像统计特性。
所述计算监控目标在目标区域清晰的图像的图像统计特性具体可以为:采集大量监控目标在目标区域清晰的图像;根据公式分别计算采集的每一幅图像的清晰程度J;取出计算出的J中的最小值Jmin、最大值Jmax、以及均值Javerage作为监控目标在目标区域清晰的图像的图像统计特性。
所述第二计算子单元812,用于计算一幅图像中目标区域的梯度统计特性。
所述第一判断子单元813,用于根据第一计算子单元811计算出的图像统计特性和第二计算子单元812计算出的梯度统计特性判断目标区域是否模糊。
当梯度统计特性J与图像统计特性之间的关系为
时,第一判断子单元813判断目标区域模糊;否则,判定目标区域清晰。
所述计算单元82,用于当第一判断子单元813判断目标区域模糊时,计算重构模糊图像所用的初始卷积核矩阵。
进一步地,所述计算单元82还包括第三计算子单元821、第四计算子单元822和第五计算子单元823,其中,
所述第三计算子单元821,用于当第一判断子单元813判断目标区域模糊时,计算当前图像中目标区域的亮度分量的频谱,根据频谱计算目标区域中监控目标的运动方向,并将所述计算出的运动方向发送给第五计算子单元823。
所述第四计算子单元822,用于根据第一计算子单元811计算出的当前图像的图像统计特性和第三计算子单元821计算出的运动方向计算监控目标的运动速度。
所述第五计算子单元823,用于根据第三计算子单元821计算出的运动方向和第四计算子单元822计算出的运动速度计算重构模糊图像所用的初始卷积核矩阵。
所述重构单元83,用于根据第五计算子单元823计算出的初始卷积核矩阵对目标区域图像的亮度分量进行反卷积,得到重构图像。
进一步地,所述重构单元83,用于通过公式FB=fdeconv(B,K)得到清晰图像的估计FB,将FB作为重构图像,其中,fdeconv(x,y)为在已知卷积核矩阵和模糊图像条件下恢复出清晰图像的估计所采用的函数,B为目标区域图像的亮度分量,K为初始卷积核矩阵。
所述更新单元85,用于用重构单元83得到的重构图像更新当前图像中目标区域的亮度分量,将所述更新了亮度分量后的当前图像作为消除运动模糊的图像。
进一步地,该装置还可包括调整单元84,用于对重构单元83得到的重构图像进行调整,得到新的重构图像。
所述调整单元84还可包括第二判断子单元841、第三判断子单元842和调整子单元843,其中,
所述第二判断子单元841,用于判断由重构单元83得到的重构图像是否清晰,则所述重构单元83,用于当第二判断子单元841判断出重构图像清晰时,将所述重构图像发送给更新单元85。
第三判断子单元842,用于当第二判断子单元841判断出重构图像不清晰时,判断设定范围内的运动速度是否全部被使用过,则所述重构单元83,用于当第三判断子单元842判断出设定范围内的运动速度全部被使用过时,选出重构图像中最清晰的图像组为重构图像。
调整子单元843,用于当第三判断子单元842判断出设定范围内的运动速度没有全部被使用过时,在事先设定的运动速度的阈值范围内调整监控目标的运动速度,并将所述调整的运动速度发送给第五计算子单元823,则所述第五计算子单元823,进一步用于根据运动方向和调整的运动速度计算初始卷积核矩阵。
至此,即得到了本实施例所采用的消除图像运动模糊装置。图8所采用的装置的具体工作流程请参照图2所示方法实施例中的相应说明,此处不再赘述。
总之,本发明所采用的消除图像运动模糊的方法,通过判断出当前图像中的目标区域模糊时,计算重构模糊图像所用的初始卷积核矩阵,并根据计算出的初始卷积核矩阵对目标区域的亮度分量进行反卷积,得到重构图像,进而用重构图像更新当前图像中目标区域的亮度分量,将所述更新了亮度分量后的当前图像作为消除运动模糊的图像。由于本发明方法通过对模糊图像进行重构,因而能够消除由于物体运动速度过快造成的模糊,提高后端智能处理的准确性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。