许 哲,张少帅,郭 璐,黄 鹤,王会峰,尹康迪
(1.中国电子科技集团公司第20研究所,陕西 西安 710068;2.长安大学电子与控制工程学院,陕西 西安 710064;3.西安爱生技术集团公司,陕西 西安 710075;4.西北工业大学无人机系统国家工程研究中心,陕西 西安 710072)
四旋翼无人机飞行控制技术是无人机研究的重点之一,其广泛应用于图像处理领域,利用其微型摄像头采集图像信息,结合无人机云台共同工作。通过无人机云台控制相机的姿态,能在不同的环境下有效完成对图像的采集任务。但通常无人机飞行高度几十或者几百米近似垂直向下拍摄的情况下也受到雾霾的影响,导致采集的图像不同程度上质量的下降,航拍图像模糊亟待一种有效实时去雾算法,因此使用一种基于深度学习神经网络实现去雾算法具有必要的实施性。
图像去雾是通过图像处理消除或减少雾对成像的影响,提高图像的能见度、对比度、饱和度和清晰度,获取高质量图像。图像去雾增强属于低层次图像处理过程,同时也是高层次视觉感知任务的前提,图像去雾是广泛使用的图像处理技术,应用场景非常广,是近年来图像处理领域的研究热点。
雾天情况下,由于对大气雾光散射效应,大气粒子会引起光散射,光在粒子间多次散射,受散射光的影响,降低了能见度。含雾影像的暗通道的像素值远远高于无雾情况下的值。有雾的时候呈现一定的灰色,而无雾的时候呈现大量的黑色(像素接近0)。在大气模型中,图像的清晰度受到直接衰减项和大气渗透项的影响。大气散射模型为[1]
I(x)=J(x)t(x)+A(1-t(x))
(1)
I(x)为现有带去雾图像;J(x)为恢复的原无雾图像;A为全球大气光成分;t(x)为在大气传输的透射率,表明物体的反射光在实际拍摄过程当中不被散射,而且直接就到达照相机。其中,准确评估出t(x)结果是去雾霾的关键[2]。
图1 基于深度学习的DLDN网络结构
首先,从输入模型的雾霾图像进行间隔多尺度卷积特征提取,得到特征F1;为了进一步提取图像特征,进行多尺度卷积映射,提取特征F2(多尺度映射特征);为了对特征进行降维,采取最大池化层的方式实现特征的过滤与选取,通过这一步骤计算出特征F3(全连接对);最后,为了保持图像特征的位移不变性,通过修正线性单元和全连接对F3,进行处理,得到回归结果F4(非线性回归结果)[3]。
基于雾霾特征图,求取A[4]。其步骤如下:
a.在特征图上,找出其亮度值在第1%的像素点特征值val。
b.找出n个小于val的像素点位置id-set,在灰度图中,根据像素点的位置,得出像素值集合Bright-Pxls以及集合中的最大的像素值iBright。
c.根据像素点iBright值找出其对应图中位置id。
d.根据id可以在雾霾图像中找到其对应的3个通道的像素值,分别求取其平均值作为大气亮度。为了避免白色物体和天空中亮度值的影响,选取所有像素值的第1%个值作为白色物体(或者天空)和其他物体的分界点[5]。
本文设计的是一种新的端到端的神经网络训练模型DLDN,利用神经网络对大气退化模型中的t(x)进行估计。在模型中输入雾图,输出传输率t(x)映射图,无雾图像的恢复通过大气退化模型进行调整。利用深度 CNN 结构(4 层),非线性下提出一种新的激活函数,如图1所示。结合暗通道先验、最大对比度、颜色衰减先验和色度不一致的传统方法,进行网络设计,网络结构主要分为 4个部分。
特征提取的公式为
(2)
特征提取有别于传统卷积神经网络,该网络采用“卷积+激活函数(Maxout)”的结构作为网络第1层。其中F代表输出的特征,i代表第i个,1 是指第1层,k是指k个层进行激活函数操作。W和B是权重和偏置。第1层是特征提取层,即提取有雾图像特征。
本文中使用了16 个滤波器,通过激活函数层单元的激活函数,每4个输出1张图。这里不填充,输入是 3×16×16 三通道的块,输出的是4个12×12,每一个代表一种特征。
“卷积+激活函数(Maxout)”类似于手工去雾。反向滤波器(Opposite)为W1时,与暗通道先验(DCP)等价;而环形滤波器(Round)为W1时,与对比度提取等价,最大对比度(MC)也与之等价;而当W1为全通滤波器(All-pass)以及反向滤波器时,相当于HSV与RGB转换颜色空间,与颜色衰减先验(CAP)等价。另外,样条函数Maxout,非线性拟合能力很强。
使用多尺度的平行卷积操作。由于多尺度特征被证明有利于去雾并且在 inception 的模型中也用到了平行卷积,即同一张图用不同尺度的卷积核进行卷积。分别用 16 个 3×3、16个 5×5 和 16 个 7×7 的卷积核进行卷积,每一种尺度产生 16 个,并且通过填充,每张图大小应该是一致的。总共获得 48 个 48×12×12 特征图。多尺度映射特征为
(3)
根据假设透射率有局部不变性,用1个 7×7 局部最大值滤波替代区域最大值,输出是 48 个 48×6×6,其表达式为
(4)
大气透射率是0到1之间的概率。双边纠正线性单元(BReLU)的提出受激励函数ReLU和Sigmoid的启发,双边约束下,局部线性得到保证。如图2所示。非线性回归结果为
F4=min(tmax,max(tmin,W4·F3+B4))
(5)
图2 非线性回归处理
在主观上加入基于Retinex的图像去雾算法对比,基于Retinex的图像去雾结果颜色恒常、高色彩保真,去雾结果图像的清晰度与原图像颜色更贴近,视觉效果很好,但存在大量光晕[6]。本文基于深度学习构建的网络DLDN实现去雾未出现偏色及失真现象,处理结果较好。基于Retinex的图像去雾算法结果如图3所示,DLDN实现去雾结果如图4所示。
图3 原图与基于Retinex的图像去雾算法结果
图4 原图与DLDN实现去雾结果
分别在PSNR(峰值信噪比)、NC(相似度的衡量)和SSIM(结构相似性)上对2种算法进行对比[7],结果如表1所示。
表1 2种算法的评价指标值对比
由表1可知:SSR(单尺度改进 Retinex 去雾算法)在三者衡量因素上都是最小的,处理结果图像失真度高、鲁棒性差且与原图相似度最小;而利用本文基于深度学习网络DLDN实现去雾算法效果最好,PSNR及NC都比较大且SSIM更接近1,因此图像失真度最小、鲁棒性较好且与原图相似度最高,图像处理效果较好[8]。
本文提出的无人机深度学习去雾算法,利用构建的深度学习神经网络DLDN训练模型通过硬件搭载在无人机上进行实时去雾。该模型主客观上效果都比较好,有效减少了去雾图像的失真及偏色现象,算法处理能力不错。但是由于获取自然场景的有雾和无雾的图像是十分困难的,采集数据使用了基于物理雾霾形成模型的综合训练集,所以对于更加广泛的去雾情况的使用,此算法的效果还有待于进一步提高。