一种基于卷积神经网络的图像中天际线自动检测方法转让专利

申请号 : CN201910202579.2

文献号 : CN110059699B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖晓明黄余吴志虎郭璠高琰唐琎

申请人 : 中南大学

摘要 :

本发明公开了一种基于卷积神经网络的图像中天际线自动检测方法,包含以下步骤:步骤A:使用图像处理技术获取原始图像I的暗通道图像;步骤B:使用Dense网络充分提取原始图像I的特征FR;步骤C:由步骤B所提取的特征FR,使用卷积神经网络预测雨线图像;步骤D:由步骤C所提取的雨线图像,使用分类网络分类出雨密度等级并上采样成雨密度图像;步骤E:对步骤A‑D提取到的特征和图像,将其拼接成总特征,然后使用卷积神经网络检测最终的天际线。本发明结合图像处理与深度卷积神经网络实现了端到端、带雨(雾)条件下的天际线自动、精准检测。

权利要求 :

1.一种基于卷积神经网络的图像中天际线自动检测方法,其特征在于,包括以下步骤:

步骤A:提取原始图像I的暗通道图像IDark;

步骤B:使用特征提取网络提取原始图像I的特征FR;

步骤C:由步骤B所提取的特征FR,使用雨线预测网络提取雨线图像IStreak;

步骤D:由步骤C所提取的雨线图像IStreak,使用雨密度等级分类网络分类出雨密度等级,并根据出雨密度等级生成雨密度图像IDensity;

步骤E:将步骤A-D提取到的特征和图像拼接成总特征FR,St,De,Da,然后使用天际线检测网络检测得到天际线ISkyline;

其中特征提取网络、雨线预测网络、雨密度等级分类网络和天际线检测网络均采用卷积神经网络实现。

2.根据权利要求1所述的基于卷积神经网络的图像中天际线自动检测方法,其特征在于,所述步骤A中,提取原始图像I的暗通道图像IDark的公式为:其中,Ic(y)表示原始图像I的c通道图像中像素y的灰度值,y是像素索引,位于以像素x为中心、半径为R的矩形窗口Ω(x)内,IDark(x)表示暗通道图像IDark中像素x的灰度值。

3.根据权利要求1所述的基于卷积神经网络的图像中天际线自动检测方法,其特征在于,所述步骤B中特征提取网络由3路不同的Dense网络并行组成,其中每路Dense网络又由6个BT层串行组成,具体设计如下:

1)BT层设计

每个BT层由一个Bottleneck层与一个Transition层串行组成;

(i)Bottleneck层设计

首先是输入,后面依次接入1个批归一化层、1个激活层、1个卷积层、1个批归一化层和1个卷积层,再将输入与第二个卷积层的输出进行拼接,得到最后的输出;

(ii)Transition层设计

首先是输入,后面依次接入1个批归一化层、1个激活层、1个转置卷积层和1个采样层,得到最后的输出;

2)Dense网络流设计

(i)Dense网络中的BT层之间的跳层连接设计

用i->c-j表示两个BT层之间的跳层连接关系,即将第i个BT层的输出压缩成c个通道后,再与第j个BT层的输出进行连接,作为第j个BT层的输出;设计跳接层实现两个BT层之间的跳层连接,跳接层由1个卷积层和1个采样层串行组成,其中卷积层用于将前面的BT层输出的特征图个数压缩到指定数量,采样层用于将前面的BT层输出的特征图调整到与后面BT层输出的特征图相同的尺寸;

(ii)将3路Dense网络的输出进行拼接,得到特征提取网络的输出,即为特征FR。

4.根据权利要求1所述的基于卷积神经网络的图像中天际线自动检测方法,其特征在于,所述步骤C中的雨线预测网络的具体设计为,输入特征FR,然后依次经过1个卷积层、1个批归一化层、1个relu层,1个卷积层和1个tanh层,得到雨线图像IStreak。

5.根据权利要求1所述的基于卷积神经网络的图像中天际线自动检测方法,其特征在于,所述步骤D中雨密度等级分类网络包括雨密度特征提取和分类器,具体设计如下:

1)雨密度特征提取网络

输入雨线图像IStreak,然后依次经过3个卷积核个数不同的conv_bn_relu_mp模块,输出特征矩阵;每个conv_bn_relu_mp模块包含依次连接的1个卷积层、1个批归一化层、1个relu层和1个max_pooling层;

2)分类器

输入雨密度特征提取网络得到的特征矩阵,然后依次经过一个dropout层、一个卷积层、一个relu层,得到中间特征矩阵,即具有n个特征图的特征图像;再对得到的每个特征图分别求平均值,得到长度为n的输出向量;该输出向量经过softmax激活函数,得到对应n个雨密度等级的预测概率PDensity,最大概率所对应的雨密度等级便是预测得到的雨密度等级。

6.根据权利要求1所述的基于卷积神经网络的图像中天际线自动检测方法,其特征在于,所述步骤D中根据出雨密度等级生成雨密度图像IDensity的方法为:生成一幅与雨线图像IStreak同尺寸大小的单通道图像,其中所有像素点的灰度值均设置为预测得到的雨密度等级,即为雨密度图像IDensity。

7.根据权利要求1所述的基于卷积神经网络的图像中天际线自动检测方法,其特征在于,所述步骤E中天际线检测网络的具体设计为,输入总特征FR,St,De,Da,然后依次经过1个卷积层和1个relu层,得到中间特征矩阵FTemp;再对FTemp并行进行多路不同采样倍数的降采样,每路降采样后面依次连接1个卷积层和1个激活层后,再分别上采样回原尺寸,得到多路相同大小的特征图,然后将这4路输出按通道与中间特征矩阵FTemp进行拼接,得到特征矩阵;

紧接着特征矩阵依次经过1个卷积层、1个relu层和1个卷积层和1个sigmoid激活层,得到输出矩阵Fmask,最后对输出矩阵Fmask按列求平均,得到一个向量,即为天际线ISkyline,向量中每一列的元素值分别表示天际线在该列的高度值。

8.根据权利要求1~7中任一项所述的基于卷积神经网络的图像中天际线自动检测方法,其特征在于,利用训练样本对整个网络模型进行训练,整个网络模型包括特征提取网络、雨线预测网络、雨密度等级分类网络和天际线检测网络,训练过程中损失函数LAll为:LAll=αLStreak+βLDensity+λLSkyline

LSkyline=ρLSelf+LTarget

其中,α,β,λ为平衡系数;LStreak为雨线图像IStreak的损失函数,其计算公式中IStreak为训练样本通过网络模型预测得到的雨线图像 上像素点(w,h,c)的像素值, 为训练样本真实的雨线图像 上像素点(w,h,c)的像素值,w,h,c分别像素点在雨线图像上的横坐标、纵坐标与通道序号;W,H,C分别表示雨线图像的宽、高与通道数;LDensity为雨密度等级概率PDensity的损失函数,其计算公式中ai为训练样本通过网络模型得到的第i个雨密度等级的预测概率,为训练样本第i个雨密度等级的预测概率的期望值;n表示密度等级的分类数;

LSkyline为天际线ISkyline的损失函数,由自身损失函数LSelf跟目标损失函数LTarget两部分组成,ρ为平衡系数;LSelf和LTarget的计算公式中,IiSkyline和IjSkyline分别表示训练样本通过网络模型预测得到的天际线ISkyline中第i和第j个元素的值, 表示训练样本的真实天际线中第i个元素的值,L表示天际线的长度,s表示考虑的左右窗口半径;S和σ均是长度为s+1的序列,分别表示对邻列之间的重视程度和容忍阈值,S|i-j||和σ|i-j|分别表示S和σ中的第|i-j|个元素。

说明书 :

一种基于卷积神经网络的图像中天际线自动检测方法

技术领域

[0001] 本发明属于图像信息处理领域,具体涉及一种基于卷积神经网络的图像中天际线自动检 测方法。

背景技术

[0002] 天际线是指图像中天空与非天空区域(如天空与山地、天空与海洋、天空与森林)的分 界线。天际线检测在野外定位、视觉导航、港口安全、森林防火、沙漠图像标记以及AR(增 强现实)等中都具有着重要的作用。
[0003] 例如,定位技术是现代国防、战争必不可少的技术之一。目前人们所掌握的定位手段主 要有卫星定位、通信基站定位、WIFI节点定位以及蓝牙定位等,全都是依赖第三方的服务器 或者基站进行辅助定位,而不能仅通过自身环境信息进行定位。若在野外信号屏蔽的地区、 或者发生现代战争,那么卫星首当其冲被击落,基站也会受到炮火击毁,那么这个时候依靠 以上方法将不能进行有效的定位。因此可以根据身处具体环境,提取环境中的天际轮廓线并 与离线的地图进行匹配,从而实现离线自主式的定位。此外,野外无人飞行器(UAVs)机身 姿态平衡、港口海平面上面船只穿越情况的时刻监测、到森林防火等等重要任务都可以通过 天际线的精确检测来实现。
[0004] 目前,国内外关于天际线的检测方法主要是基于传统的图像处理技术。由于天际线可将 图像分成两个不同区域(天空和陆地),而在天与地的分界线附近又有一定的边缘信息,因 此天际线同时具有区域特征和梯度特征,传统方法主要是根据这两种特征进行检测。一般方 法包括1)结合边缘提取信息直接检测出天际线;2)采用颜色分割和边缘提取融合算法来检 测天际线;3)采用机器学习对天空和非天空区域关键特征进行训练,建立相应的天际线识别 分类器。此外,深度学习的兴起,也有少量使用深度学习进行天际线检测的研究实验,但目 前还停留在普通天气条件下的情况,完全没有考虑雾天、下雨等较恶劣的天气情况。
[0005] 在此背景下,研究一种鲁棒性强、精度高、速度快且能够自动对带雨(雾)野外天际线的 检测方法尤为重要。

发明内容

[0006] 本发明所要解决的技术问题是提供一种基于卷积神经网络的图像中天际线自动检测方法, 解决了已有天际线检测方法使用场景单一、抗干扰能力差、不能在下雨或有雾天气下精准检 测天际线的问题。
[0007] 本发明所采用的技术方案如下:
[0008] 一种基于卷积神经网络的图像中天际线自动检测方法,包括以下步骤:
[0009] 步骤A:提取原始图像I的暗通道图像IDark;
[0010] 步骤B:使用特征提取网络提取原始图像I的特征FR;
[0011] 步骤C:由步骤B所提取的特征FR,使用雨线预测网络提取雨线图像IStreak;
[0012] 步骤D:由步骤C所提取的雨线图像IStreak,使用雨密度等级分类网络分类出雨密度等级,并 根据出雨密度等级生成雨密度图像IDensity;
[0013] 步骤E:将步骤A-D提取到的特征和图像拼接成总特征FR,St,De,Da,然后使用天际线检测网络 检测得到天际线ISkyline;
[0014] 其中特征提取网络、雨线预测网络、雨密度等级分类网络和天际线检测网络均采用卷积 神经网络实现。
[0015] 进一步地,所述步骤A中,提取原始图像I的暗通道图像IDark的公式为:
[0016]
[0017] 其中,Ic(y)表示原始图像I的c通道图像中像素y的灰度值,y是像素索引,位于以像素 x为中心、半径为R的矩形窗口Ω(x)内,IDark(x)表示暗通道图像IDark中像素x的灰度值。
[0018] 进一步地,所述步骤B中特征提取网络由3路不同的Dense网络并行组成,其中每路Dense 网络又由6个BT层串行组成,具体设计如下:
[0019] 1)BT层设计
[0020] 每个BT层由一个Bottleneck层与一个Transition层串行组成;
[0021] (i)Bottleneck层设计
[0022] 首先是输入,后面依次接入1个批归一化层、1个激活层、1个卷积层、1个批归一化层 和1个卷积层,再将输入与第二个卷积层的输出进行拼接,得到最后的输出;
[0023] (ii)Transition层设计
[0024] 首先是输入,后面依次接入1个批归一化层、1个激活层、1个转置卷积层和1个采样层, 得到最后的输出;
[0025] 2)Dense网络流设计
[0026] (i)Dense网络中的BT层之间的跳层连接设计
[0027] 用i->c-j表示两个BT层之间的跳层连接关系,即将第i个BT层的输出压缩成c个通道 后,再与第j个BT层的输出进行连接,作为第j个BT层的输出;设计跳接层实现两个BT层 之间的跳层连接,跳接层由1个3×3的卷积层和1个采样层串行组成,其中卷积层用于将前 面的BT层输出的特征图个数压缩到指定数量,采样层用于将前面的BT层输出的特征图调整 到与后面BT层输出的特征图相同的尺寸;
[0028] (ii)将3路Dense网络的输出进行拼接,得到特征提取网络的输出,即为特征FR。
[0029] 进一步地,所述步骤C中的雨线预测网络的具体设计为,输入特征FR,然后依次经过1 个卷积层、1个批归一化层、1个relu层,1个卷积层、1个tanh层,得到雨线图像IStreak。
[0030] 进一步地,所述步骤D中雨密度等级分类网络包括雨密度特征提取和分类器,具体设计 如下:
[0031] 1)雨密度特征提取网络
[0032] 输入雨线图像IStreak,然后依次经过3个卷积核个数不同的conv_bn_relu_mp模块,输出 特征矩阵;每个conv_bn_relu_mp模块包含依次连接的1个卷积层、1个批归一化层、1个 relu层和1个max_pooling层;
[0033] 2)分类器
[0034] 输入雨密度特征提取网络得到的特征矩阵,然后依次经过一个dropout层、一个卷积层、 一个relu层,得到中间特征矩阵,即具有n个特征图的特征图像;再对得到的每个特征图分 别求平均值,得到长度为n的输出向量;该输出向量经过softmax激活函数,得到对应n个 雨密度等级的预测概率PDensity,最大概率所对应的雨密度等级便是预测得到的雨密度等级。
[0035] 进一步地,所述步骤D中根据出雨密度等级生成雨密度图像IDensity的方法为:生成一幅与 雨线图像IStreak同尺寸大小的单通道图像,其中所有像素点的灰度值均设置为预测得到的雨密 度等级,即为雨密度图像IDensity。
[0036] 进一步地,所述步骤E中天际线检测网络的具体设计为,输入总特征FR,St,De,Da,然后依次 经过1个卷积层和1个relu层,得到中间特征矩阵FTemp;再对FTemp并行进行多路不同采样倍 数的降采样,每路降采样后面依次连接1个卷积层和1个激活层后,再分别进行上采样,得 到多路相同大小的特征图,然后将这4路输出按通道与中间特征矩阵FTemp进行拼接,得到特 征矩阵;紧接着特征矩阵依次经过1个卷积层(conv2D)、1个relu层和1个卷积层、1个 sigmoid激活层,得到输出矩阵Fmask,最后对输出矩阵Fmask按列求平均,得到一个向量,即为 天际线ISkyline,向量中每一列的元素值分别表示天际线在该列的高度值。
[0037] 进一步地,利用训练样本对整个网络模型进行训练,整个网络模型包括特征提取网络、 雨线预测网络、雨密度等级分类网络和天际线检测网络,训练过程中损失函数LAll为:
[0038] LAll=αLStreak+βLDensity+λLSkyline
[0039]
[0040]
[0041] LSkyline=ρLSelf+LTarget
[0042]
[0043]
[0044] 其中,α,β,λ为平衡系数;LStreak为雨线图像IStreak的损失函数,其计算公式中IStreak为训 练样本通过网络模型预测得到的雨线图像 上像素点(w,h,c)的像素值, 为训练样本真 实的雨线图像 上像素点(w,h,c)的像素值,w,h,c分别像素点在雨线图像上的横坐标、纵坐 标与通道序号;W,H,C分别表示雨线图像的宽、高与通道数;LDensity为雨密度等级概率PDensity的损失函数,其计算公式中ai为训练样本通过网络模型得到的第i个雨密度等级的预测概率,  为训练样本第i个雨密度等级的预测概率的期望值;n表示密度等级的分类数;LSkyline为天际 线ISkyline的损失函数,由自身损失函数LSelf跟目标损失函数LTarget两部分组成,ρ为平衡系数; LSelf和LTarget的计算公式中,IiSkyline和IjSkyline分别表示训练样本通过网络模型预测得到的天际线 ISkyline中第i和第j个元素的值, 表示训练样本的真实天际线 中第i个元素的值,L 表示天际线的长度,s表示考虑的左右窗口半径;S和σ均是长度为s+1的序列,分别表示对 邻列之间的重视程度和容忍阈值,S|i-j||和σ|i-j|分别表示S和σ中的第|i-j|个元素。
[0045] 有益效果:
[0046] 现有的天际线检测方法多采用传统的图像处理方法且没有考虑下雨、有雾等复杂天气, 本发明结合图像处理与深度卷积神经网络实现了端到端、带雨(雾)条件下的天际线自动检测, 解决了已有天际线检测方法使用场景单一、抗干扰能力差、不能在下雨或有雾天气下精准检 测天际线的问题,实现了野外带雨(雾)图像天际线的精准检测。
[0047] 本发明公开的一种基于卷积神经网络的图像天际线自动检测方法,包含以下步骤:步骤 A:使用图像处理技术获取原始图像I的暗通道图像IDark;步骤B:使用Dense网络充分提取 原始图像I的特征FR;步骤C:由步骤B所提取的特征FR,使用卷积神经网络预测雨线图像 IStreak;步骤D:由步骤C所提取的雨线图像IStreak,使用分类网络分类出雨密度等级并上采样 成雨密度图像IDensity;步骤E:对步骤A-D提取到的特征和图像,将其拼接成总特征FR,St,De,Da, 然后使用卷积神经网络检测最终的天际线ISkyline。通过结合数字图像处理技术和深度卷积神经 网络实现了端到端的带雨(雾)图像天际线自动检测。该方法运行速度快、检测精度高、鲁棒 性强,不仅可以实现普通天气条件下的天际线检测,而且还可以实现有雾、下雨天气下的天 际线检测,且最终输出是天际线向量,无需进行二次处理便能直接使用,具有很强的通用性 和实用性。本发明设计主要是根据雨、雾的生成原理,先提取雾的暗通道分布、雨线的位置 以及雨密度等级,然后跟原始的带雨(雾)图像的特征进行融合,以便天际线提取网络识别各 种干扰存在的位置、大小和分布,从而实现复杂天气条件下的天际线检测;并设计独特的损 失函数,让网络模型直接学习得到最终的天际线向量,从而避免二次处理,该方法可广泛应 用于各种需要天际线的领域。

附图说明

[0048] 图1为本发明实施例中的天际线检测流程图;
[0049] 图2为本发明实施例中的天际线检测整体网络模型框架;
[0050] 图3为本发明实施例中的天际线检测各步骤效果图;其中图3(a)为原始图像,图3(b)为 提取的暗通道图像,图3(c)为预测出的雨线图像,图3(d)为预测并上采样出的雨密度等级图 像,图3(e)为天际线检测结果图(已将输出向量打印到黑色的背景图上);
[0051] 图4为本发明中基于卷积神经网络的Dense特征提取网络;其中图(a)为 Bottleneck-Transition层,图(b)为Dense特征提取网络流;
[0052] 图5为本发明实例中基于深度卷积神经网络的雨线预测网络;
[0053] 图6为本发明实例中基于深度卷积神经网络的雨密度等级分类网络;
[0054] 图7为本发明实例中基于深度卷积神经网络的天际线检测网络。

具体实施方式

[0055] 下面结合附图和具体实施方式对本发明做进一步说明:
[0056] 本实施例是针对原始野外带雨(雾)图像进行天际线检测,整体实施流程如图1所示,整 体网络模型框架如图2所示,其天际线自动检测按如下步骤进行:
[0057] 步骤A:提取原始图像I的暗通道图像IDark;
[0058] 步骤B:使用特征提取网络提取原始图像I的特征FR;
[0059] 步骤C:由步骤B所提取的特征FR,使用雨线预测网络提取雨线图像IStreak;
[0060] 步骤D:由步骤C所提取的雨线图像IStreak,使用雨密度等级分类网络分类出雨密度等级,并 根据出雨密度等级生成雨密度图像IDensity;
[0061] 步骤E:将步骤A-D提取到的特征和图像拼接成总特征FR,St,De,Da,然后使用天际线检测网络 检测得到天际线ISkyline;
[0062] 其中特征提取网络、雨线预测网络、雨密度等级分类网络和天际线检测网络均采用卷积 神经网络实现。
[0063] 进一步地,所述步骤A的具体处理过程如下:
[0064] 由于野外有雾或者大雨天气下拍摄的图像都会存在一层雾遮罩,使得图像变得模糊,影 响天际线的正常检测。为此,本发明采用图像处理的方法提取图像的暗通道图像,作为后期 天际线检测网络的输入特征,以提高天际线检测的精度。
[0065] 对于输入的原始图像I,如图3(a)所示,其暗通道图像IDark可表示为:
[0066]
[0067] 其中,Ic(y)表示原始图像I的c通道图像中像素y的灰度值,y是像素索引,位于以像素 x为中心、半径为R的矩形窗口Ω(x)内,IDark(x)表示暗通道图像IDark中像素x的灰度值。即对 于输入的原始图像I,首先求出每个像素RGB分量中的最小值,并暂存为和输入图像同尺寸 大小的一幅单通道灰度图像;然后再使用大小半径为R的矩形窗口对该灰度图进行最小值滤 波,从而得到暗通道图像IDark,如图3(b)所示。
[0068] 进一步地,所述步骤B中特征提取网络的具体设计如下:
[0069] 所述特征提取网络是一种卷积神经网络,可以针对输入的原始图像I(本实施例中大小 为640×480×3),提取得到特征FR(本实施例中大小为640×480×36)。如图4所示,本发明提 出的特征提取网络主体架构由3路不同的Dense网络并行组成,其中每路Dense网络(DenseNet,密集网络)又由6个Bottleneck-Transition层(瓶颈-转换层)串行组成,以 下步骤B的具体处理过程中所有卷积层的步长均设为1。
[0070] 1)Bottleneck-Transition层(后面简称BT层)设计
[0071] 如图4(a)所示,BT层由Bottleneck层与Transition层成对出现组成,主要是为了实现 对输入特征图之间的融合、拼接,以及对特征图尺寸的调整,同时还可以简化设计;
[0072] (i)Bottleneck层设计(参数:in_channel,out_channel,kernel_size)
[0073] Bottleneck层包含2个卷积层、2个批归一化层和1个激活层。具体设计:首先是输入 (第1个Bottleneck层的输入为原始图像I,后面5个Bottleneck层的输入分别为其前面 一个Transition层的输出),后面依次接入1个批归一化层(第一bn层)、1个激活层(relu 层)、1个卷积层(第一conv2D层)、1个批归一化层(第二bn层)和1个卷积层(第二conv2D 层),最后将输入特征图与第二conv2D层的输出进行拼接(特征图级联),从而得到最后的输 出。为方便后面的设计,设计Bottleneck层可接受3个输入参数:in_channel指定输入的 特征图数量;out_channel指定输出的特征图数量;kernel_size指定第二conv2D层使用的 卷积核大小。而整个Bottleneck层中的特征图尺寸保持不变,第一conv2D层的卷积核大小 为1×1。
[0074] (ii)Transition层设计(参数:in_channel,out_channel,kernel_size,up_down_ratio)
[0075] Transition层包含1个批归一化层、1个激活层、1个反卷积层、1个采样层。具体设计: 首先是输入(6个Transition层的输入分别为其前面一个Bottleneck层的输出),后面依次 接入1个批归一化层(bn层)、1个激活层(relu层)、1个转置卷积层(convT2D层)、1个采样 层(不变、上采样或降采样),得到最后的输出。为方便后面的设计,设计Transition层可接 受4个输入参数:in_channel指定输入特征图(通道)数量,与Bottleneck层的out_channel 大小保持一致;out_channel指定输出的特征图数量;kernel_size指定convT2D层使用的卷 积核大小,与Bottleneck层的kernel_size大小保持一致;up_down_ratio指定采样层的类 型,在本发明中取1,2,0.5共3种情况,分别表示特征图尺寸保持不变,上采样2倍以及降 采样2倍。
[0076] BT层中最后一个Transition层最后的输出即为该BT层的输出。
[0077] 2)Dense网络流设计
[0078] 本发明提出的Dense网络流由3路不同的Dense网络并行组成,其中每路Dense网络又 由6个BT层串行组成。3路Dense网络的输入均为原始图像I,为640×480×3的RGB图像 矩阵,各路之间的区别表现为使用的卷积核大小、特征图尺寸变化的不同,具体设计如下所 述。
[0079] (i)Dense网络中的BT层之间的跳层连接设计
[0080] 为了让Dense网络能够提取到图像更加充分的抽象特征,又不至于使得网络结构过于臃 肿,有选择的跳层连接设计显得尤为重要;跳层连接通过跳接层实现,跳接层由1个3×3的 卷积层和1个采样层串行组成,其中3×3的卷积层为了将前面的BT层输出的特征图(通道) 个数压缩到指定数量,采样层为了将前面的BT层输出的特征图调整到与后面BT层输出的特 征图相同的尺寸;两层BT层之间的跳接关系简要表示为:i->c-j,表示将第i个BT层的输出 压缩成c个通道后,再与第j个BT层的输出进行连接,作为第j个BT层的输出;如假设原 第1和第5个BT层的输出分别为128×128×8、256×256×8,那么经过跳接关系1->4-5后, 第5个BT层的输出将变为256×256×12。
[0081] 为简化设计,3路Dense网络都设计了7组相同的跳接关系: 1->8-5,2->16-4,1->2-6,2->2-6,3->2-6,4->2-6,跳接的顺序从左往右依次进行(按照前面 列出的跳接关系顺序依次进行跳接)。
[0082] (ii)第1路Dense网络设计
[0083] 6个BT层的kernel_size参数均为3×3,第1-6个BT层的参数up_down_ratio依次为 [0.5,1,1,1,1,2],第1-6个BT层的参数out_channel依次为[8,16,16,16,8,4]。因此,输 入的640×480×3的RGB图像矩阵,依次经过6个BT层以及跳接层之后,各BT层的输出特 征矩阵尺度为[320×240×4,320×240×16,320×240×16,320×240×32,320×240×16, 640×480×12],最后一个BT层的输出特征矩阵记为该Dense网络Dense网络的输出特征矩 阵,因此第1路Dense网络的输出特征矩阵大小为:640×480×12。
[0084] (iii)第2路Dense网络设计
[0085] 6个BT层的kernel_size参数均为5×5,第1-6个BT层的参数up_down_ratio依次为 [0.5,0.5,1,1,2,2],第1-6个BT层的参数out_channel依次为[8,16,16,16,8,4]。因此, 输入的640×480×3的RGB图像矩阵,依次经过6个BT层以及跳接层之后,各BT层的输出 特征矩阵尺度为[320×240×4,160×120×16,160×120×16,160×120×32,320×240×16, 640×480×12],因此第2路Dense网络的输出特征矩阵大小为:640×480×12。
[0086] (iv)第3路Dense网络设计
[0087] 6个BT层的kernel_size参数均为7×7,第1-6个BT层的参数up_down_ratio依次为 [0.5,0.5,0.5,2,2,2],第1-6个BT层的参数out_channel依次为[8,16,16,16,8,4]。因此, 输入的640×320×3的RGB图像矩阵,依次经过6个BT层以及跳接层之后,各BT层的输出 特征矩阵尺度为[320×240×4,160×120×16,80×60×16,160×120×32,320×240×16, 640×480×12],因此第3路Dense网络的输出特征矩阵大小为:640×480×12。
[0088] 最后,将3路Dense网络的特征输出进行拼接,得到640×480×36的特征矩阵,即为特 征FR。
[0089] 进一步地,所述步骤C中雨线预测网络的具体设计如下:
[0090] 为了能让后面的网络模型更好的排除下雨带来的干扰,本发明先预测出雨线的位置作为 后面网络模型的辅助特征输入,已达到提高天际线检测精度的目的。
[0091] 如图5所示,雨线预测网络包含1个批归一化层、2个激活层、2个卷积层,其中卷积层 的步长均为1。所述雨线预测网络的具体设计为,输入层接收的输入是大小为640×480×36 的特征FR,紧接着依次经过1个核为3×3的卷积层(第一conv2D层)、1个批归一化层(bn层)、 1个激活层(relu层),得到大小为640×480×24的中间特征矩阵;然后再依次经过1个核为 3×3的卷积层(第二conv2D层)、1个激活层(tanh层),得到大小为640×480×3的输出特 征矩阵,即为雨线图像IStreak,如图3(c)所示。
[0092] 进一步地,所述步骤D中雨密度等级分类网络的具体设计如下:
[0093] 步骤C已经获得了雨线图像IStreak,即模型已经知道雨线的位置,但是模型还不清楚下雨 的密度等级,本发明继续根据得到雨线图像IStreak对雨进行一个密度等级划分。
[0094] 如图6所示,本发明的雨密度等级分类网络包括雨密度特征提取和分类器两部分,雨密 度等级分类网络中所有卷积层的步长均设为1。将步骤D提取到大小为640×480×3的雨线图 像IStreak作为输入,从而可预测得到大小为640×480×1雨密度等级图像IDensity,如图3(d)所示。
[0095] 1)雨密度特征提取网络
[0096] 雨密度特征提取网络包含一系列的卷积层、批归一化层、激活层和最大池化层。为方便 说明,将包含依次连接的一个大小为3×3卷积核的卷积层、一个批归一化层、一个relu激 活层和一个大小与步长均为2×2的max_pooling层(最大池化层)的结构称为一个 conv_bn_relu_mp模块。所述雨密度特征提取网络的具体设计为,输入层接收的输入是大小 为640×480×3的雨线图像IStreak,然后依次经过3个卷积核个数分别为64、32和16的 conv_bn_relu_mp模块,每个conv_bn_relu_mp模块包含了一个步长为2×2的max_pooling 层,每经过一个就会将特征图的宽和高缩小一半,经过3次,缩小了8倍,最后特征图的尺 寸为80×60,特征图的个数等于最后一个conv_bn_relu_mp模块中的卷积核数量,即16,故 最后得到大小为80×60×16的特征矩阵。
[0097] 2)分类器
[0098] 为了使得分类器对输入的特征图尺寸不敏感,本发明采用globe_pooling(全局池化) 技术达到分类的目的。所述分类网络的具体设计为,输入为大小为80×60×16的特征矩阵, 依次经过一个dropout层(概率p=0.5)、一个核大小为3×3与卷积核个数为n的卷积层、一个 激活层(relu层),得到大小为80×60×n的中间特征矩阵(即具有n个特征图的特征图像), 然后对每个特征图分别求平均值(即globe_pooling),得到长度为n的输出向量;该输出向 量经过softmax激活函数便得到对应n个雨密度等级的预测概率PDensity,最大概率所对应的雨 密度等级便是预测得到的雨密度等级(0-3);其中n表示雨密度等级的数量,本发明中设为4, 即分为:无、小、中、大雨共四个等级;
[0099] 根据出雨密度等级生成雨密度图像IDensity的方法为:生成一幅与雨线图像IStreak同尺寸大小 的单通道图像(640×480×1),其中所有像素点的灰度值均设置为预测得到的雨密度等级 (0-3),即为雨密度图像IDensity。即将雨密度等级视为大小为1×1的图像,将其上采样为与雨 线图像IStreak同尺寸大小的单通道图像。
[0100] 进一步地,所述步骤E的具体处理过程如下:
[0101] 本发明为了能让后面的天际线检测网络知道雨线的位置、雨密度大小以及雾的分布情况, 将步骤A-D所提取的所有特征级联起来,然后再作为后面天际线检测网络的输入,本部分所 述所有卷积层的步长均设为1,卷积核大小均设为3×3。
[0102] 1)总特征拼接设计
[0103] 由原始图像I(640×480×3),经过步骤A-D,已分别获得了暗通道图像矩阵IDark (640×480×1)、原始图像特征矩阵FR(640×480×36)、雨线图像IStreak(640×480×3)以及 雨密度图像IDensity(640×480×1);为了实现特征的汇总与平衡,本发明先将IDark与IDensity按通道 各复制2层,均得到大小为640×480×3的图像矩阵,然后依次将I、FR、IDark、IStreak、IDensity按通道进行拼接,得到大小为640×480×48的总特征矩阵FR,St,De,Da。
[0104] 2)天际线检测网络设计
[0105] 如图7所示,天际线检测网络主要由一个refine_net模块构成,具体设计为,输入大小 为640×480×48的总特征矩阵FR,St,De,Da,然后依次经过1个卷积层(conv2D)和1个激活层 (relu),得到大小为640×480×48的中间特征矩阵FTemp;紧接着对FTemp并行进行4路降采样, 降采样倍数分别为1/2,1/4,1/8,1/16,然后每路降采样后面依次连接1个卷积核个数为2卷 积层(conv2D)和1个激活层(relu)后,再分别进行上采样,上采样倍数分别为2,4,8,16,得 到4路大小均为640×480×2的特征图,然后将这4路输出按通道与中间特征矩阵FTemp进行 拼接,得到大小为640×480×56的特征矩阵;紧接着依次经过1个卷积核个数为3的卷积层 (conv2D)、1个激活层(relu)和1个卷积核个数为1卷积层(conv2D)、1个激活层(sigmoid), 得到大小为640×480×1的输出矩阵Fmask,最后对按列求平均,得到输出长度为640的向量, 表示即为天际线ISkyline,其中向量的每个值表示天际线在该列的高度值(已经归一化)。
[0106] 将大小为640×480×48的总特征矩阵FR,St,De,Da作为输入,检测输出长度为640×1的天际 线向量ISkyline,将其打印到黑色背景的图像中,得到最终的天际线图像,如图3(e)所示。
[0107] 需要注意的是,整个网络模型需要先经过训练才能直接被使用,可使用GPU进行加速训 练,训练时使用的优化算法为Adam,初始的学习率为0.002,并在每个epoch(1个epoch等 于使用训练集中的全部样本训练一次)之后将学习率减少1/400,一共训练100个epoch。
[0108] 利用训练样本对整个网络模型(包括特征提取网络、雨线预测网络、雨密度等级分类网 络和天际线检测网络)进行训练,损失函数的平衡与设计具体为:
[0109] 本发明中整个网络模型接收1个输入I,产生2个辅助输出IStreak、IDensity和1个目标输出 ISkyline,为此该模型需要设计3个对应的损失函数进行多任务学习,具体设计为:
[0110] 使用均方差函数作为雨线图像IStreak的损失函数,来评估预测雨线图像的预测值与真实值 之间的吻合度:
[0111]
[0112] 其中,IStreak为训练样本通过网络模型预测得到的雨线图像 上像素点(w,h,c)的像素值,  为训练样本真实的雨线图像 上像素点(w,h,c)的像素值,w,h,c分别像素点在雨线图像 上的横坐标、纵坐标与通道序号;W,H,C分别表示雨线图像的宽、高与通道数。
[0113] 使用交叉熵函数作为雨密度等级概率PDensity的损失函数,来评估预测雨密度等级概率 PDensity的预测值与真实值之间的吻合度:
[0114]
[0115] 其中,ai为训练样本通过网络模型得到的第i个雨密度等级的预测概率, 为训练样本第 i个雨密度等级的预测概率的期望值;n表示密度等级的分类数。
[0116] 天际线ISkyline的损失函数LSkyline由自身损失函数LSelf跟目标损失函数LTarget两部分组成:
[0117]
[0118]
[0119] LSkyline=ρLSelf+LTarget
[0120] 其中,LSelf表示天际线ISkyline的自身损失函数,主要是考虑到天际线相邻列之间的高度 差值不会突变,因此设计该自身损失函数来加强模型对天际线的学习;而LTarget表示ISkyline的 目标损失函数,使用均方差进行评估。其中IiSkyline和IjSkyline分别表示训练样本通过网络模型预 测得到的天际线ISkyline中第i和第j个元素的值, 表示训练样本的真实天际线 中第i 个元素的值,L表示ISkyline的长度,s表示考虑的左右窗口半径;S和σ均是长度为s+1的序列, 分别表示对邻列之间的重视程度和容忍阈值,S|i-j||和σ|i-j|分别表示S和σ中的第|i-j|个元素; ρ为平衡系数被设置为0.5。
[0121] 最终,本发明设计的整个网络模型损失函数表示为LAll:
[0122] LAll=αLStreak+βLDensity+λLSkyline
[0123] 其中,α,β,λ为平衡系数,依次被设置为0.2,0.2,0.6。
[0124] 需要说明的是,以上公开的仅为本发明的具体实例,根据本发明提供的思想,本领域的 技术人员能思及的变化,都应落入本发明的保护范围内。