一种向驾驶场景视频中添加雾霾效果的方法及系统转让专利

申请号 : CN201410623384.2

文献号 : CN104408757B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王莹李文辉刘培勋

申请人 : 吉林大学

摘要 :

本发明公开了一种向驾驶场景视频中添加雾霾效果的方法及系统,通过获取无雾霾的干净驾驶场景视频;根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的大气光亮度值信息和深度信息矩阵;根据大气散射模型,获得雾霾图像模型方程,并根据所述雾霾图像模型方程、深度信息矩阵、大气光亮度值信息及预先设置的雾霾浓度参数将每一帧图像生成对应具有雾霾效果的图像;将所有具有雾霾效果的图像合成为含有雾霾效果的驾驶场景视频;在保证较好的仿真效果同时,实现了快速向驾驶场景视频添加雾霾效果,雾霾仿真置信度高,添加速度快,易于实现。

权利要求 :

1.一种向驾驶场景视频中添加雾霾效果的方法,其特征在于,包括以下步骤:ST100、获取无雾霾的干净驾驶场景视频;

ST200、根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的大气光亮度值信息和深度信息矩阵;

ST300、根据大气散射模型,获得雾霾图像模型方程,并根据所述雾霾图像模型方程、深度信息矩阵、大气光亮度值信息及预先设置的雾霾浓度参数将每一帧图像生成对应具有雾霾效果的图像;

ST400、将所有具有雾霾效果的图像合成为含有雾霾效果的驾驶场景视频;

所述步骤ST200具体包括:

ST211、获得场景视频的第n帧图像In,将In灰度化,记灰度化后的结果为In_gray;其中n=

1、2、3……N;N为驾驶场景视频总的帧数;In中任意位置一点x的灰度化方法为:其中 分

别表示在x的B,G,R三通道色彩值;

ST212、根据暗原色先验的单一图像去雾算法,计算In对应的暗原色先验映射图DPCn;

ST213、选取DPCn中亮度最大的前0.1%的像素,作为第n帧图像中的天空区域Sn;搜索图像In_gray中灰度值最大的像素点,该点对应于In的值即为第n帧图像的大气光亮度值An;

ST214、估计第n帧图像对应深度信息矩阵Dn,估计方法为:所述步骤ST200还包括:

ST220、当所述驾驶场景视频为实际拍摄的驾驶场景视频时,在获得每一帧图像对应的深度信息矩阵后,还通过路面分割算法和线性深度插值方法对所述深度信息矩阵进行更新。

2.根据权利要求1所述的向驾驶场景视频中添加雾霾效果的方法,其特征在于,所述步骤ST220具体包括:ST221、设第n帧图像灰度化后的结果为In_gray,对应的深度信息矩阵为Dn,根据OTSU全局阈值分割算法,在In_gray中分割出路面区域;

ST222、采用形态学膨胀算法使所述路面区域连通,用一个与In_gray大小相同的二维int型矩阵mapn标记路面像素,将In_gray上在所述路面区域中的像素点标记为1,不在的像素点标记为0;

ST223、扫描mapn,记录其最上面一行像素点的行数ltop,以及Dn中第ltop-1行最中间10个像素的平均灰度gtop;

ST224、计算灰度线性渐变步长

ST225、从第ltop行开始逐行逐像素扫描Dn,对所述深度信息矩阵Dn进行更新;更新后的深度值为: 其中,Dn(i,j)表示位置为第i行第j列对应的深度值。

3.根据权利要求1所述的向驾驶场景视频中添加雾霾效果的方法,其特征在于,所述步骤ST200还包括:ST230、根据暗原色先验的单一图像去雾算法,计算出当前帧图像对应的天空区域和环境大气光亮度值;

ST240、计算当前帧与下一帧图像中天空区域的绝对差异和值,判断是否小于一阈值,若为是,则下一帧图像的天空区域和环境大气光亮度值与当前帧的天空区域和环境大气光亮度值相同;若为否,则根据暗原色先验的单一图像去雾算法计算下一帧图像的大气光亮度值。

4.根据权利要求3所述的向驾驶场景视频中添加雾霾效果的方法,其特征在于,所述步骤ST240具体包括:ST241、若已获得第n-1帧图像的天空区域为Sn-1,其对应的大气光为An-1;

ST242、定义In_gray上以Sn-1中所有像素坐标点均值为中心,50×25大小的搜索区域R,扫描In_gray上R中所有像素,计算其与In-1_gray上R中所有像素的绝对差异和值SAD,ST243、将获得的SAD值与设定的阈值TH_SAD对比,判断是否需要计算第n帧图像的大气光An,具体判断如下:

5.根据权利要求1所述的向驾驶场景视频中添加雾霾效果的方法,其特征在于,所述步骤ST300具体包括:ST310、根据大气散射模型,获得对应的雾霾图像模型方程:Ihaze_n(x)=In(x)×(Dn(x))k+An(1-(Dn(x))k);其中,Ihaze_n代表第n帧图像增加雾霾之后的结果;k为可调系数,用于调整模拟雾霾的浓淡程度。

6.一种向驾驶场景视频中添加雾霾效果的系统,其特征在于,包括:驾驶场景视频获取模块,用于获取无雾霾的干净驾驶场景视频;

大气光及深度信息计算模块,用于根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的大气光亮度值信息和深度信息矩阵;

雾霾效果添加模块,用于根据大气散射模型,获得雾霾图像模型方程,并根据所述雾霾图像模型方程、深度信息矩阵、大气光亮度值信息及预先设置的雾霾浓度参数将每一帧图像生成对应具有雾霾效果的图像;

雾霾视频生成模块,用于将所有具有雾霾效果的图像合成为含有雾霾效果的驾驶场景视频;所述大气光及深度信息计算模块包括:深度信息计算单元,用于当所述驾驶场景视频为实际拍摄的驾驶场景视频时,计算所述驾驶场景视频中每一帧图像对应的深度信息矩阵;

深度信息更新单元,用于通过路面分割算法和线性深度插值方法对所述深度信息矩阵进行更新。

7.根据权利要求6所述的向驾驶场景视频中添加雾霾效果的系统,其特征在于,所述大气光及深度信息计算模块包括:天空区域及大气光计算单元,用于根据暗原色先验的单一图像去雾算法,计算出当前帧图像对应的天空区域和环境大气光亮度值;

对比单元,用于计算当前帧与下一帧图像中天空区域的绝对差异和值,判断是否小于一阈值,若为是,则下一帧图像的天空区域和环境大气光亮度值与当前帧的天空区域和环境大气光亮度值相同;若为否,则根据暗原色先验的单一图像去雾算法计算下一帧图像的大气光亮度值。

说明书 :

一种向驾驶场景视频中添加雾霾效果的方法及系统

技术领域

[0001] 本发明涉及图像处理技术领域,尤其涉及的是一种向驾驶场景视频中添加雾霾效果的方法及系统。

背景技术

[0002] 随着计算机图像处理技术的发展和视觉传感器硬件技术的快速提升,基于视觉的高级驾驶员辅助系统(Vi-ADAS)的研发与应用与日俱增。而近30年来,我国城市化发展和工业化布局的不合理性,导致大气污染严重恶化,雾霾天气已经成为大部分省市区域性高发的污染天气。那么,如何测试Vi-ADAS在雾霾天气中的性能,已经成为一个引发研究人员关注的问题。由于在雾霾天气中能见度较差,环境状态的可重复性极低,因此如果采用传统的测试手段,不仅存在极大的安全隐患,还势必会引发大量的、低效率的场地测试,耗时费力,也难以获得具有可对比性的测试数据。针对上述问题,数字虚拟化仿真测试系统被认为是解决雾霾天气下Vi-ADAS系统测试的行之有效的途径。
[0003] 数字虚拟化仿真测试系统获得驾驶场景视频一般有两种途径。一种是使用3D Studio Max进行三维物体建模,利用DirectX 3D,OpenGL等渲染软件渲染虚拟的驾驶场景,并将渲染场景帧图像合并成驾驶场景视频。另外一种途径是通过安装在数据采集车顶端的车载工业相机,实际在路面上驾驶车辆录制真实驾驶场景的视频。
[0004] 对第一种视频获得方式而言,需要根据建模和渲染软件提供的环境特效功能,创建雾霾等大气特效,实现雾霾仿真。这种实现方法存在的问题是,美工人员需要设定较多的特效参数,并且这些参数值大多根据经验调整,而缺乏实际的物理意义,因此仿真的结果往往是比较均匀的雾霾遮罩。尽管这种结果能够基本满足在视觉上的特效要求,但是对于Vi-ADAS测试的仿真置信度要求仍然相差甚远,且效率不高。而针对第二种视频获得方式,一般通过滤波的方法降低帧图像的对比度,实现雾霾效果的模拟,尽管速度快,但这也是一种缺乏物理依据的解决方法,受人工干预的影响较大。
[0005] 因此,现有技术还有待于改进和发展。

发明内容

[0006] 本发明要解决的技术问题在于,提供一种向驾驶场景视频中添加雾霾效果的方法及系统,旨在解决现有的向驾驶视频中添加雾霾效果的方法人工干预性强、仿真置信度差的问题。
[0007] 本发明解决技术问题所采用的技术方案如下:
[0008] 一种向驾驶场景视频中添加雾霾效果的方法,其中,包括以下步骤:
[0009] ST100、获取无雾霾的干净驾驶场景视频;
[0010] ST200、根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的大气光亮度值信息和深度信息矩阵;
[0011] ST300、根据大气散射模型,获得雾霾图像模型方程,并根据所述雾霾图像模型方程、深度信息矩阵、大气光亮度值信息及预先设置的雾霾浓度参数将每一帧图像生成对应具有雾霾效果的图像;
[0012] ST400、将所有具有雾霾效果的图像合成为含有雾霾效果的驾驶场景视频。
[0013] 所述的向驾驶场景视频中添加雾霾效果的方法,其中,所述步骤ST200具体包括:
[0014] ST211、获得场景视频的第n帧图像In,将In灰度化,记灰度化后的结果为In_gray;其中n=1、2、3……N;N为驾驶场景视频总的帧数;In中任意位置一点x的灰度化方法为:其中
分别表示在x的B,G,R三通道色彩值;
[0015] ST212、根据暗原色先验的单一图像去雾算法,计算In对应的暗原色先验映射图DPCn;
[0016] ST213、选取DPCn中亮度最大的前0.1%的像素,作为第n帧图像中的天空区域Sn;搜索图像In_gray中灰度值最大的像素点,该点对应于In的值即为第n帧图像的大气光亮度值An;
[0017] ST214、估计第n帧图像对应深度信息矩阵Dn,估计方法为:
[0018] 所述的向驾驶场景视频中添加雾霾效果的方法,其中,所述步骤ST200还包括:
[0019] ST220、当所述驾驶场景视频为实际拍摄的驾驶场景视频时,在获得每一帧图像对应的深度信息矩阵后,还通过路面分割算法和线性深度插值方法对所述深度信息矩阵进行更新。
[0020] 所述的向驾驶场景视频中添加雾霾效果的方法,其中,所述步骤ST220具体包括:
[0021] ST221、设第n帧图像灰度化后的结果为In_gray,对应的深度信息矩阵为Dn,根据OTSU全局阈值分割算法,在In_gray中分割出路面区域;
[0022] ST222、采用形态学膨胀算法使所述路面区域连通,用一个与In_gray大小相同的二维int型矩阵mapn标记路面像素,将In_gray上在所述路面区域中的像素点标记为1,不在的像素点标记为0;
[0023] ST223、扫描mapn,记录其最上面一行像素点的行数ltop,以及Dn中第ltop-1行最中间10个像素的平均灰度gtop;
[0024] ST224、计算灰度线性渐变步长
[0025] ST225、从第ltop行开始逐行逐像素扫描Dn,对所述深度信息矩阵Dn进行更新;更新后的深度值为: 其中,Dn(i,j)表示位置为第i行第j列对应的深度值。
[0026] 所述的向驾驶场景视频中添加雾霾效果的方法,其中,所述步骤ST200还包括:
[0027] ST230、根据暗原色先验的单一图像去雾算法,计算出当前帧图像对应的天空区域和环境大气光亮度值;
[0028] ST240、计算当前帧与下一帧图像中天空区域的绝对差异和值,判断是否小于一阈值,若为是,则下一帧图像的天空区域和环境大气光亮度值与当前帧的天空区域和环境大气光亮度值相同;若为否,则根据暗原色先验的单一图像去雾算法计算下一帧图像的大气光亮度值。
[0029] 所述的向驾驶场景视频中添加雾霾效果的方法,其中,所述步骤ST240具体包括:
[0030] ST241、若已获得第n-1帧图像的天空区域为Sn-1,其对应的大气光为An-1;
[0031] ST242、定义In_gray上以Sn-1中所有像素坐标点均值为中心,50×25大小的搜索区域R,扫描In_gray上R中所有像素,计算其与In-1_grap上R中所有像素的绝对差异和值SAD,[0032] ST243、将获得的SAD值与设定的阈值TH_SAD对比,判断是否需要计算第n帧图像的大气光An,具体判断如下:
[0033] 所述的向驾驶场景视频中添加雾霾效果的方法,其中,所述步骤ST300具体包括:
[0034] ST310、根据大气散射模型,获得对应的雾霾图像模型方程:Ihaze_n(x)=In(x)×(Dn(x))k+An(1-(Dn(x))k);其中,Ihaze_n代表第n帧图像增加雾霾之后的结果;k为可调系数,用于调整模拟雾霾的浓淡程度。
[0035] 一种向驾驶场景视频中添加雾霾效果的系统,其中,包括:
[0036] 驾驶场景视频获取模块,用于获取无雾霾的干净驾驶场景视频;
[0037] 大气光及深度信息计算模块,用于根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的大气光亮度值信息和深度信息矩阵;
[0038] 雾霾效果添加模块,用于根据大气散射模型,获得雾霾图像模型方程,并根据所述雾霾图像模型方程、深度信息矩阵、大气光亮度值信息及预先设置的雾霾浓度参数将每一帧图像生成对应具有雾霾效果的图像;
[0039] 雾霾视频生成模块,用于将所有具有雾霾效果的图像合成为含有雾霾效果的驾驶场景视频。
[0040] 所述的向驾驶场景视频中添加雾霾效果的系统,其中,所述大气光及深度信息计算模块包括:
[0041] 深度信息计算单元,用于当所述驾驶场景视频为实际拍摄的驾驶场景视频时,计算所述驾驶场景视频中每一帧图像对应的深度信息矩阵;
[0042] 深度信息更新单元,用于通过路面分割算法和线性深度插值方法对所述深度信息矩阵进行更新。
[0043] 所述的向驾驶场景视频中添加雾霾效果的系统,其中,所述大气光及深度信息计算模块包括:
[0044] 天空区域及大气光计算单元,用于根据暗原色先验的单一图像去雾算法,计算出当前帧图像对应的天空区域和环境大气光亮度值;
[0045] 对比单元,用于计算当前帧与下一帧图像中天空区域的绝对差异和值,判断是否小于一阈值,若为是,则下一帧图像的天空区域和环境大气光亮度值与当前帧的天空区域和环境大气光亮度值相同;若为否,则根据暗原色先验的单一图像去雾算法计算下一帧图像的大气光亮度值。
[0046] 本发明所提供的一种向驾驶场景视频中添加雾霾效果的方法及系统,有效地解决了现有的向驾驶视频中添加雾霾效果的方法人工干预性强、仿真置信度差的问题,通过获取无雾霾的干净驾驶场景视频;根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的大气光亮度值信息和深度信息矩阵;根据大气散射模型,获得雾霾图像模型方程,并根据所述雾霾图像模型方程、深度信息矩阵、大气光亮度值信息及预先设置的雾霾浓度参数将每一帧图像生成对应具有雾霾效果的图像;将所有具有雾霾效果的图像合成为含有雾霾效果的驾驶场景视频;在保证较好的仿真效果同时,实现了快速向驾驶场景视频添加雾霾效果,该雾霾图像模型简单且具有物理理论支持,仅需调整一个雾霾浓度参数即可完成不同浓度的雾霾仿真,雾霾仿真置信度高,添加速度快,易于实现,同时适用于虚拟仿真驾驶场景视频和路面实际拍摄的驾驶场景视频,带来了大大的方便。

附图说明

[0047] 图1为本发明提供的向驾驶场景视频中添加雾霾效果的方法较佳实施例的流程图。
[0048] 图2为本发明提供的向驾驶场景视频中添加雾霾效果的方法应用实施例的方法流程图。
[0049] 图3为本发明提供的向驾驶场景视频中添加雾霾效果的系统较佳实施例的结构框图。

具体实施方式

[0050] 本发明提供一种向驾驶场景视频中添加雾霾效果的方法及系统,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0051] 请参阅图1,图1为本发明提供的向驾驶场景视频中添加雾霾效果的方法较佳实施例的流程图,如图所示,所述方法包括以下步骤:
[0052] 步骤ST100、获取无雾霾的干净驾驶场景视频;
[0053] 步骤ST200、根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的大气光亮度值信息和深度信息矩阵;
[0054] 步骤ST300、根据大气散射模型,获得雾霾图像模型方程,并根据所述雾霾图像模型方程、深度信息矩阵、大气光亮度值信息及预先设置的雾霾浓度参数将每一帧图像生成对应具有雾霾效果的图像;
[0055] 步骤ST400、将所有具有雾霾效果的图像合成为含有雾霾效果的驾驶场景视频。
[0056] 下面结合具体的实施例对上述步骤进行详细的描述。
[0057] 在步骤ST100中,获取无雾霾的干净驾驶场景视频。具体来说,数字虚拟化仿真测试系统获得驾驶场景视频一般有两种途径。第一种是使用3D Studio Max进行三维物体建模,利用3D渲染软件渲染虚拟的驾驶场景,并将渲染的虚拟驾驶场景图像合并成驾驶场景视频;第二种是通过安装在数据采集车顶端的车载工业相机,在实际路面上驾驶车辆录制真实的驾驶场景视频。
[0058] 在步骤ST200中,根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的大气光亮度值信息和深度信息矩阵。具体来说,若视频为虚拟驾驶场景视频,在使用3D Studio Max完成三维场景建模后,使用DirectX 3D渲染获得场景视频的第1帧图像,图像格式为24位RGB位图,图像大小为640×480,记作I1,I1大小与车载视觉传感器拍摄的图像大小相同。从Z-Depth中获得场景图像对应的深度信息矩阵D1,存储格式为二维float型矩阵,大小与I1相同。发明中设置的Zmin为0.1,Zmax为600。若驾驶场景视频总的帧数为N(N为一正整数),则可对应得出每一帧图像对应的深度信息矩阵。
[0059] 进一步地,当所述驾驶场景视频为实际拍摄的驾驶场景视频时,所述步骤ST200具体包括:
[0060] ST211、获得场景视频的第n帧图像In,将In灰度化,记灰度化后的结果为In_gray;其中n=1、2、3……N;N(N为一正整数)为驾驶场景视频总的帧数;In中任意位置一点x的灰度化方法为: 其中 分别表示在x的B,G,R三通道色彩值;
[0061] ST212、根据暗原色先验的单一图像去雾算法,计算In对应的暗原色先验映射图DPCn;
[0062] ST213、选取DPCn中亮度最大的前0.1%的像素,作为第n帧图像中的天空区域Sn;搜索图像In_gray中灰度值最大的像素点,这个点对应于In的值即为第n帧图像的大气光亮度值An;
[0063] ST214、估计第n帧图像对应深度信息矩阵Dn,估计方法为:
[0064] 进一步地,所述步骤ST200还包括:
[0065] ST220、当所述驾驶场景视频为实际拍摄的驾驶场景视频时,在获得每一帧图像对应的深度信息矩阵后,还通过路面分割算法和线性深度插值方法对所述深度信息矩阵进行更新。
[0066] 所述步骤ST220具体包括:
[0067] ST221、根据OTSU全局阈值分割算法,在In_gray中分割出路面区域;
[0068] ST222、采用形态学膨胀算法使所述路面区域连通,用一个与In_gray大小相同的二维int型矩阵mapn标记路面像素,将In_gray上在所述路面区域中的像素点标记为1,不在的像素点标记为0;
[0069] ST223、扫描mapn,记录其最上面一行像素点的行数ltop,以及Dn中第ltop-1行最中间10个像素的平均灰度gtop;
[0070] ST224、计算灰度线性渐变步长
[0071] ST225、从第ltop行开始逐行逐像素扫描Dn,对所述深度信息矩阵Dn进行更新;更新后的深度值为: 其中,Dn(i,j)表示位置为第i行第j列对应的深度值,其中,otherwise表示其它情况下,也就是说mapn(i,j)不等于1时。
[0072] 以下根据He方法(即He提出的基于Dark Prior Channel的单幅图像去雾算法,也就是基于暗原色先验的单一图像去雾算法)估计第1帧图像的深度信息矩阵及更新处理为例进行具体说明如下:
[0073] 首先,获得驾驶场景视频的第1帧图像,图像格式为24位RGB位图,图像大小为640×480,记作I1。然后,将I1灰度化,记灰度化后的结果为I1_gray。I1中任意位置一点P(x)的灰度化方法为: 其中, 分别表示在P(x)的R,G,B三通道色彩值。
[0074] 再计算I1对应的Dark Prior Channel映射图DPC1。计算方法为,生成一个与I1大小相同的二维矩阵,存储格式为int型,矩阵初始元素全部置零。采用3×3大小的滑动窗口扫描I1,取窗口内像素R,G,B最小值,并将该最小值作为二维矩阵对应区域的值,以1像素为步长移动该窗口进行相同运算,直至处理完整个I1,得到的二维矩阵即为I1对应的Dark Prior Channel映射图DPC1。
[0075] 再估计第1帧图像的大气光A1。A1的计算方法为:选取DPC1中亮度最大的前0.1%的像素,这些像素为第1帧图像中的天空区域S1。在挑选出来的像素中,搜索图像Il_gray中灰度值最大的像素点,这个点对应于I1的值即为A1。
[0076] 再估计第1帧图像对应深度信息,估计方法为:
[0077] 然后再计算路面区域。由于本发明主要面向于驾驶环境,道路会占据视频画面的主要面积。道路区域基本接近于灰色,并且纹理比较平滑,RGB的值非常接近,类似于雾霾,因此根据He方法获得的Dark Prior Channel映射图DPC1,其对应的道路区域的亮度将会比较高,根据此获得的道路区域深度值将会较大。但实际情况中,道路区域应该自消失点到拍摄点,深度逐渐减小。为了纠正上述估计错误,因此本发明增加了路面区域计算步骤:Step1.根据OTSU(大律法)全局阈值分割算法,在Il_gray中分割出大概的路面区域。
[0078] Step2.使用形态学膨胀算法使路面区域连通,用一个与Il_gray大小相同的二维int型矩阵标记路面像素,在分割出来路面区域中的像素点标记为1,否则标记为0,将此标记矩阵记作map1。
[0079] 然后更新深度信息矩阵D1。具体方法如下:
[0080] STEP3、扫描map1,记录其最上面一行像素点的行数ltop,以及D1中第ltop-1行最中间10个像素的平均灰度gtop。
[0081] Step4、计算灰度线性渐变步长
[0082] Step5、从第ltop行开始逐行逐像素扫描D1,假定当前位置为第i行第j列,那么其更新后的深度值为:
[0083]
[0084] 这样,通过上述步骤便可完成对第1帧图像的深度信息矩阵的计算以及更新,同理,对所述驾驶场景视频的其它帧图像的处理亦相同,此处不再赘述。提取当前场景视频的第n帧图像(其中n=1、2、3……N;N为驾驶场景视频总的帧数),图像格式和大小与I1相同,记作In。提取当前场景图像对应的深度信息矩阵Dn,存储格式和大小与D1相同。
[0085] 由上可知,在步骤ST200中,根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的深度信息矩阵,需要根据He提出的针对单幅图像的基于Dark Prior Channel去雾算法,先估计出驾驶场景视频中各帧图像对应的天空区域和环境大气光亮度值。
[0086] 由于计算大气光An需要首先获得第n帧原始图像In对应的DPCn,而计算DPCn的过程需要对In进行全帧图像的窗口遍历,这无疑增大了算法复杂度。考虑到视频图像帧间具有很强的相关性,可利用帧所具有的相关性的特点进行计算大气光An的简化,能够减少窗口遍历的次数,大幅度降低平均每一帧的处理时间。
[0087] 进一步地,所述步骤ST200还包括:
[0088] ST230、根据暗原色先验的单一图像去雾算法,计算出当前帧图像对应的天空区域和环境大气光亮度值;
[0089] ST240、计算当前帧与下一帧图像中天空区域的绝对差异和值,判断是否小于一阈值,若为是,则下一帧图像的天空区域和环境大气光亮度值与当前帧的天空区域和环境大气光亮度值相同;若为否,则根据暗原色先验的单一图像去雾算法计算下一帧图像的大气光亮度值。
[0090] 在实际应用时,所述步骤ST240具体包括:
[0091] ST241、若已获得第n-1帧图像的天空区域为Sn-1,其对应的大气光为An-1;
[0092] ST242、定义In_gray上以Sn-1中所有像素坐标点均值为中心,50×25大小的搜索区域R,扫描In_gray上R中所有像素,计算其与In-1_gray上R中所有像素的绝对差异和值SAD,[0093] ST243、将获得的SAD值与设定的阈值TH_SAD对比,判断是否需要计算第n帧图像的大气光An,具体判断如下:
[0094] 也就是说,当当前帧与下一帧图像中天空区域的绝对差异和值小于一阈值时,则下一帧图像的天空区域和环境大气光亮度值与当前帧的天空区域和环境大气光亮度值相同。也就是说,若已计算得知第n-1帧图像的天空区域为Sn-1,其对应的大气光为An-1,那么下一帧图像(即第n帧图像)的天空区域Sn和An不用再进行重复计算,即Sn=Sn-1,An=An-1。并且若已计算得知第n-1帧图像对应的暗原色先验映射图DPCn-1,那么In对应的暗原色先验映射图DPCn=DPCn-1,那么第n帧图像对应深度信息矩阵 这样便可省掉大量的计算,能够减少窗口遍历的次数,大幅度降低平均每一帧的处理时间。
[0095] 上述视频帧之间一致性的计算方法为:
[0096] 首先,假定已经获得第n-1帧图像的天空区域为Sn-1,其对应的大气光为An-1。
[0097] 再在计算第n帧图像的大气光时,定义In_gray上以Sn-1中所有像素坐标点均值为中心,50×25大小的搜索区域R。扫描In_gray上R中所有像素,计算其与In-1_gray上R中所有像素的SAD(Sum of Absolute Differences):
[0098]
[0099] 最后,根据获得的SAD值判断是否需要计算第n帧图像的大气光An,判据为:
[0100]
[0101]
[0102] 在步骤ST300中,根据大气散射模型,获得雾霾图像模型方程,并根据所述雾霾图像模型方程、深度信息矩阵、大气光亮度值信息及预先设置的雾霾浓度参数将每一帧图像生成对应具有雾霾效果的图像。具体来说,根据大气散射模型,获得对应的雾霾图像模型方程:Ihaze_n(x)=In(x)×(Dn(x))k+An(1-(Dn(x))k);其中,Ihaze_n代表第n帧图像增加雾霾之后的结果;k为可调系数,用于调整模拟雾霾的浓淡程度。In,Dn,An的含义在上述的文字中已经说明。
[0103] 关于大气散射模型,具体说明如下:根据McKartney研究表明,大气散射是造成雾霾天气下图像退化的主要原因。建立雾霾效果的物理仿真方法,是提高仿真置信度的必要途径。大气散射模型可以表示为:
[0104]
[0105] 这里,I(x)表示成像平面吸收能量值,转化为图像形式即为雾霾图像,J(x)表示目标辐射值,转化为图像形式即为无雾霾图像,t(x)为光传输透射率,A表示大气光,β为空气散射系数,d为景深。可见,当空气散射系数为常量时,t(x)仅与景深d有关。
[0106] 近些年基于大气散射模型的单幅图像去雾算法发展迅速,其中最具代表性的为He提出的基于Dark Prior Channel的单幅图像去雾算法。但是逆向的基于大气散射模型的视频图像增加雾霾算法还没有被关注。并且注意到,He方法在处理场景色彩比较丰富的图像效果较好,而面向于驾驶环境,道路会占据视频画面的主要面积。道路区域基本接近于灰色,并且纹理比较平滑,RGB的值非常接近,类似于雾霾,在此时He方法估计的景深具有较大的误差。同时,也少有发明考虑到添加雾霾效果的效率问题。本发明将第n帧的光传输透射率tn(x)用(Dn(x))k替换,利用已知的景深信息,获得仅仅与景深有关的光传输透视率信息,简化了He方法中对光传输透视率的Soft Matting估计。并且,调整k的值,能够实现不同浓淡雾霾效果的视频合成,以测试Vi-ADAS在不同浓度雾霾天气下的系统检测性能。
[0107] 在步骤ST400中,将所有具有雾霾效果的图像合成为含有雾霾效果的驾驶场景视频。具体来说,就是将步骤ST300中每帧添加了雾霾效果的图像,合成指定格式的含有雾霾效果的驾驶场景视频。本发明可设定视频的输出格式,默认为avi格式,非压缩存储。将每一帧增加雾霾效果的结果图像合成最终的视频输出。输出的avi视频可以作为测试Vi-ADAS在雾霾天气下性能的数据。
[0108] 请参阅图2,图2为本发明提供的向驾驶场景视频中添加雾霾效果的方法应用实施例的方法流程图。具体流程如下:Y1、开始。Y2、帧技术器n=1,也就是取所述驾驶场景视频中第1帧。然后进入步骤Y3、场景第1帧无雾霾图像I1。然后进入步骤Y4、标记第1帧天空区域S1,再执行步骤Y5、计算第1帧大气光A1;再进入步骤Y6、计算第1帧场景图像深度信息矩阵D1。然后进入步骤Y7、合成第1帧雾霾图像H1;然后进入步骤Y8、判断该帧图像是否为所述驾驶场景视频的最后一帧,若为是,则进入步骤Y10,输出合成雾霾视频,然后进入步骤Y11、结束本发明流程;若不是,则进入步骤Y9、帧计算器加1。然后进入步骤Y12、驾驶场景视频的下一帧无雾霾图像In。需要说明的是这里是指I2以及后续的其它帧图像,直到最后一帧。然后进入步骤Y13、计算In帧天空区域Sn与第n-1帧图像In-1天空区域Sn-1的SAD值,具体如何计算已在上文中说明。然后进入步骤Y14判断满足相似度,也就是是否小于设定的阈值TH_SAD,若为是,则进入步骤Y16、将第n-1帧图像的大气光An-1作为第n帧图像的大气光亮度值;若为否,则进入步骤Y15,计算第n帧图像对应的大气光An,也就是相当于重复步骤Y4~Y6计算该第n帧图像对应的大气光An。然后经过步骤Y16后,便可根据第n-1帧图像的大气光亮度值以及对应的映射图DPCn-1计算出第n帧深度信息矩阵Dn也就是进入步骤Y17、计算第n帧图像对应的深度信息矩阵Dn。经过步骤Y15后,也可进入步骤Y17,从而计算出第n帧图像对应的深度信息矩阵Dn。然后进入步骤Y18,从而合成第n帧图像对应的雾霾图像Hn,再返回步骤Y8,判断该帧是否为最后一帧,若为是,则执行步骤Y10,若为否,则进入步骤Y9,即帧计数器加1,也就是继续计算下一帧图像对应的雾霾图像。
[0109] 本发明提供的向驾驶场景视频中添加雾霾效果的方法,首先,获得无雾霾的干净场景视频图像;接着根据视频类型获得或者计算当前场景图像对应的深度信息矩阵。如果是实际拍摄的驾驶场景,在初步获得深度信息矩阵后还通过路面分割算法和线性深度插值方法进行深度信息矩阵更新;根据He提出的针对单幅图像的基于Dark Prior Channel去雾算法,估计出当前图像中天空区域和环境大气光亮度值;根据视频图像帧间具有很强的相关性这一规律,比较相邻帧图像中天空区域的SAD值,判断是否需要进行大气光亮度值的更新计算;根据大气散射模型,调整雾霾浓度参数,生成具有雾霾效果的帧图像;最后将帧图像合成指定格式的含有雾霾效果的驾驶场景视频;针对现有的两类驾驶视频中添加雾霾效果的方法人工干预性强,仿真置信度差的缺陷,提出了基于物理意义的雾霾效果仿真方法,并且利用场景视频帧之间的相关性信息,在保证较好的仿真效果同时,实现快速向驾驶场景视频添加雾霾效果。该方法模型简单且具有物理理论支持,仅需调整一个参数即可完成不同浓度的雾霾仿真,雾霾仿真置信度高,添加速度快,易于实现,同时适用于虚拟仿真驾驶场景视频和路面实际拍摄的驾驶场景视频,给用户带来了大大的方便。
[0110] 基于上述向驾驶场景视频中添加雾霾效果的方法,本发明还提供了一种向驾驶场景视频中添加雾霾效果的系统,如图3所示,所述系统包括:
[0111] 驾驶场景视频获取模块10,用于获取无雾霾的干净驾驶场景视频;具体如步骤ST100所述;
[0112] 大气光及深度信息计算模块20,用于根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的大气光亮度值信息和深度信息矩阵;具体如步骤ST200所述;
[0113] 雾霾效果添加模块30,用于根据大气散射模型,获得雾霾图像模型方程,并根据所述雾霾图像模型方程、深度信息矩阵、环境大气光亮度值信息及预先设置的雾霾浓度参数将每一帧图像生成对应具有雾霾效果的图像;具体如步骤ST300所述;
[0114] 雾霾视频生成模块40,用于将每一帧增加雾霾效果的图像合成为含有雾霾效果的驾驶场景视频;具体如步骤ST400所述。
[0115] 进一步地,所述大气光及深度信息计算模块20包括:
[0116] 深度信息计算单元,用于当所述驾驶场景视频为实际拍摄的驾驶场景视频时,计算所述驾驶场景视频中每一帧图像对应的深度信息矩阵;
[0117] 深度信息更新单元,用于通过路面分割算法和线性深度插值方法对所述深度信息矩阵进行更新。
[0118] 进一步地,所述大气光及深度信息计算模块20包括:
[0119] 天空区域及大气光计算单元,用于根据暗原色先验的单一图像去雾算法,计算出当前帧图像对应的天空区域和环境大气光亮度值;
[0120] 对比单元,用于计算当前帧与下一帧图像中天空区域的绝对差异和值,判断是否小于一阈值,若为是,则下一帧图像的天空区域和环境大气光亮度值与当前帧的天空区域和环境大气光亮度值相同;若为否,则根据暗原色先验的单一图像去雾算法计算下一帧图像的大气光亮度值。
[0121] 综上所述,本发明提供的一种向驾驶场景视频中添加雾霾效果的方法及系统,通过获取无雾霾的干净驾驶场景视频;根据暗原色先验的单一图像去雾算法,计算所述驾驶场景视频中每一帧图像对应的大气光亮度值信息和深度信息矩阵;根据大气散射模型,获得雾霾图像模型方程,并根据所述雾霾图像模型方程、深度信息矩阵、大气光亮度值信息及预先设置的雾霾浓度参数将每一帧图像生成对应具有雾霾效果的图像;将所有具有雾霾效果的图像合成为含有雾霾效果的驾驶场景视频;在保证较好的仿真效果同时,实现了快速向驾驶场景视频添加雾霾效果,该雾霾图像模型简单且具有物理理论支持,仅需调整一个雾霾浓度参数即可完成不同浓度的雾霾仿真,雾霾仿真置信度高,添加速度快,易于实现,同时适用于虚拟仿真驾驶场景视频和路面实际拍摄的驾驶场景视频,带来了大大的方便。
[0122] 应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。