发明名称 一种视频图像海雾去除清晰化方法
摘要 本发明属于视频图像增强领域,具体涉及一种将帧差法背景估计和基于边缘检测的快速单幅海雾去除算法相结合的用于海上航行器快速视频图像海雾去除清晰化系统的视频图像海雾去除清晰化方法。本发明包括:获取海雾视频图像;单帧海雾图像的去雾清晰化;视频图像海雾去除清晰化。本发明适用于所有海上航行器,能够大大提高海上航行器的视觉系统在海雾下性能。运算速度快,在海面场景下能够进行实时视频图像海雾清晰化处理;相对其他算法具有良好的边缘保持效果;具有去雾效果明显,图像恢复效果好的特点,作为视觉系统的前期处理,能有效提高后期目标检测、跟踪和识别的性能。
申请公布号 CN103903230A 申请公布日期 2014.07.02
申请号 CN201410123351.1 申请日期 2014.03.28
申请人 哈尔滨工程大学 发明人 马忠丽;文杰;刘宏达;何晨迪
分类号 G06T5/00(2006.01)I;G06T7/00(2006.01)I;H04N5/21(2006.01)I 主分类号 G06T5/00(2006.01)I
代理机构 代理人
主权项 1.一种视频图像海雾去除清晰化方法,其特征在于:(1)获取海雾视频图像:利用安装在各类船上的可见光摄像头进行数据的采集;(2)单帧海雾图像的去雾清晰化:(2.1)强度分量提取:强度分量I为:I(x,y)=(S<sub>r</sub>(x,y)+S<sub>g</sub>(x,y)+S<sub>b</sub>(x,y))/<sup>3</sup>I(x,y)表示在图片(x,y)位置处的强度值,S<sub>r</sub>、S<sub>g</sub>、S<sub>b</sub>分别表示为原海雾图的红色、绿色和蓝色分量;(2.2)边缘检测:采用canny算子进行边缘检测;(2.3)估计亮度分量:利用基于边缘信息的高斯滤波器对原强度分量进行高斯滤波,令canny边缘检测后的图片为I<sub>edge</sub>,边缘检测后的图片中边缘表示为白色,值为1,非边缘为黑色,值为0,对原始图片中非边缘区域进行高斯滤波得到估计的亮度分量,首先得到原海雾图像中含有边缘的对应区域:L<sub>edge</sub>(x,y)=I(x,y)·I<sub>edge</sub>(x,y)需要经过高斯平滑的非边缘区为:I<sub>n-edge</sub>(x,y)=(1-I<sub>edge</sub>(x,y))·I(x,y)经过基于边缘的高斯滤波平滑估计的亮度图像为:L(x,y)=L<sub>edge</sub>(x,y)+I<sub>n-edge</sub>(x,y)*G(x,y)其中G(x,y)为高斯函数,且<img file="FDA0000484228600000011.GIF" wi="591" he="157" />σ是高斯函数的尺度参数,k为归一化因子,使∫∫G(x,y)dxdy=1;(2.4)估计反射分量:由强度图像初步估计的反射分量为:r(x,y)=log(I(x,y))-log(L(x,y))(2.5)补偿反射分量:引入原强度分量来改善反射分量的色调:r′(x,y)=log(I(x,y))+r(x,y)(2.6)增强对比度:采用分段线性截取拉伸灰度变换的方法进一步对处理后的图片进行增强,提高图像的对比度:(2.6.1)根据得到的反射分量,对像素值进行排序,取总像素数N×0.01位置处的像素值作为下截点d<sub>min</sub>,取N×0.99位置处的像素值作为上截点d<sub>max</sub>;(2.6.2)对反射分量r′进行分段截取拉伸变换映射到区间[0,255],增强对比度<maths num="0001"><![CDATA[<math><mrow><mi>R</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>10</mn><mo>&times;</mo><mfrac><mrow><mi>r</mi><mo>&prime;</mo><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>d</mi><mi>max</mi></msub></mrow><mrow><mi>max</mi><mrow><mo>(</mo><mi>r</mi><mo>&prime;</mo><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><msub><mi>d</mi><mi>max</mi></msub></mrow></mfrac><mo>+</mo><mn>245</mn></mtd><mtd><mo>,</mo></mtd><mtd><mi>r</mi><mo>&prime;</mo><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>></mo><msub><mi>d</mi><mi>max</mi></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mo>,</mo></mtd><mtd><mi>r</mi><mo>&prime;</mo><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>d</mi><mi>min</mi></msub></mtd></mtr><mtr><mtd><mn>245</mn><mo>&times;</mo><mfrac><mrow><mi>r</mi><mo>&prime;</mo><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>d</mi><mi>min</mi></msub></mrow><mrow><msub><mi>d</mi><mi>max</mi></msub><mo>-</mo><msub><mi>d</mi><mi>min</mi></msub></mrow></mfrac></mtd><mtd><mo>,</mo></mtd><mtd><mi>else</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>max(r′(x,y))为反射分量的最大值;(2.7)恢复色彩引入原海雾图的每个通道与强度分量的权重:<maths num="0002"><![CDATA[<math><mrow><msub><mi>O</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mi>R</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>&CenterDot;</mo><mfrac><mrow><msub><mi>S</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow><mrow><mi>I</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow></mfrac><mo>;</mo></mrow></math>]]></maths>i表示RGB三通道中的通道,O<sub>i</sub>(x,y)表示在第i个通道坐标为(x,y)处经过处理后的值,R(x,y)为求得的反射分量,S<sub>i</sub>表示原始海雾图的通道,I是强度分量;(3)视频图像海雾去除清晰化:(3.1)提取帧差法背景通过摄像头读入的视频帧,灰度化以后像素点在时间t<sub>i</sub>处的灰度值为F(x,y,t<sub>i</sub>),将当前帧与前一帧做差分,得到二值图像D(x,y,t<sub>i</sub>),<maths num="0003"><![CDATA[<math><mrow><mi>D</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mn>255</mn></mtd><mtd><mo>|</mo><mi>F</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>F</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>t</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>|</mo><mo>&GreaterEqual;</mo><mi>T</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mo>|</mo><mi>F</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mi>F</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>t</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>|</mo><mo>&lt;</mo><mi>T</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>           T是阈值计算非运动区域的累加值,定义为非运动区域叠加的次数:<maths num="0004"><![CDATA[<math><mrow><mi>sum</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>sum</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>+</mo><mi>F</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mi>sum</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>255</mn></mtd></mtr></mtable></mfenced></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><mi>num</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>num</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>+</mo><mn>1</mn></mtd><mtd><mi>D</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mi>num</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>255</mn></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>通过求平均值得到背景:B(x,y)=sum(x,y)/num(x,y)(3.2)海雾视频图像去雾利用单帧图像海雾去除清晰化算法对同一背景下的第一帧图像进行去雾处理,得到清晰化的当前帧图像,得到当前背景下的雾气遮罩:W<sub>i</sub>(x,y)=S<sub>i</sub>(x,y)-O<sub>i</sub>(x,y)i代表RGB三通道某一个通道,S为原海雾视频的某一帧图像,O为单帧去雾算法得到的清晰化图像,将同一背景下后续的所有视频帧减去雾气遮罩得到当前背景下的清晰化视频。
地址 150001 黑龙江省哈尔滨市南岗区南通大街145号哈尔滨工程大学科技处知识产权办公室