时间:2024-07-28
杨允权,刘国宁,孙克文,杨 洁
(郑州大学机械与动力工程学院,河南 郑州 450001)
空中侦查与追踪是至关重要的侦查手段,飞行器快捷灵活的特点结合机器视觉,能高效便捷的完成预期任务。图像质量直接影响目标识别时的检测效率、追踪精度和所需时间。然而往往飞行器采集到的真实图像会受到噪声、曝光、遮挡物、阴影、畸变[3]等因素的影响,特别是在光线不足的情况下,往往会丢失图像主要的细节特征从而影响图片质量,对预期目标造成不可估量的后果[1]。
目前处理低光图像技术的主流方法有直方图均衡化法、Retinex理论法、伪雾图法和基于神经网络图像增强法[2]。直方图均衡化法[4]是提出最早的图像增强方法,其原理是将图像进行一定程度上的非线性拉伸操作,重新组建图像像素值,使得图像的像素值在一定范围内均等。文献[5]提出两个独立均衡化的思想实现了图像整体亮度的增强;文献[6]使用约束增强条件的方法增加了图像对比度,避免过度曝光现象,但是图像颜色失真、细节部分缺失等现象依旧比较明显,影响图像增强效果。
Retinex理论法由文献[7]于1963年提出。该理论在机器视觉的研究和应用方面经历了传统的单尺度Retinex算法[8]到改进到多尺度Retinex[9]算法,再到彩色恢复多尺度Retinex[10]算法。此类方法能有效解决噪声问题和增强局部细节,但是该方法同样容易出现颜色失真问题。文献[11-12]提出颜色矫正模块,问题仍然未能完全解决。
伪雾法主要分为基于图像增强和基于物理模型的方法[13]。文献[14]提出一种暗通道先验的快速去雾法,对去雾有较好的效果,处理时间短,但是对颜色不敏感,容易缺失;文献[15]提出一种基于物理模型的低照度图像增强算法,与其他去雾算法相比,该算法处理效率更高,信息丢失少,能提高图像增强效果。
神经网络图像增强法是通过训练神经网络学习低亮度图像和正常光照图像之间的映射关系。文献[16]提出一种基于注意力机制和卷积神经网络(CNN)的低照度图像增强算法以提高整体亮度与对比度;文献[17]提出一种改进的MSRCR算法能改善图像视觉效果和平滑图像,但是会出现颜色失衡和细节丢失现象。
针对上述图像识别存在的问题以及本研究的实际情况,提出了一种基于神经网络的飞行器低照度增强算法。采用深度学习和Retinex理论相结合的方法,使用分组卷积与卷积块的快速卷积方法对图像高频全局照度和低频细节特征进行分离和提取,利用成对的图像集分别对高频和低频特征进行增强,最后根据Retinex理论合成增强后的图像。实验验证该方法能有效的增强边缘细节信息,自适应的增强图像,防止曝光和避免颜色失真等现象的出现。
主要特点如下:
(1)采用多输入与多分支的分组卷积结构进行特征提取,能有效提高计算速度,并能快速提取更多的图像特征,大幅度保存图像全局信息。
(2)使用卷积块的方式对低光图像进行深层特征提取,融合更多的低频特征,具有更广的感受野,减少特征冗余。
(3)加入高频亮度调整模块,校正亮度信息,增强图像效果。
(4)对图像进行二次增强,细化特征和增强图像饱和性。
Retinex理论一种建立在科学的实验和分析基础上的图像增强方法,原理的核心是遵循以下几个方面:(1)物体本身是没有颜色的;(2)物体所表现出来的颜色都是光与物质相互作用的结果;(3)每一种颜色都是由不同波长的红、绿、蓝三原色构成;(4)物体表现颜色由三原色组成。
Retinex理论[7]将一张图像S分解为光照分量I和反射分量R,分解过程如下:
式中:°—乘积。该理论指出每个图像的反射分量R是恒定不变的,其值由自身性质决定,而分量I易受外界关照影响,因此可以动态的调整压缩量、增强边缘细节和使颜色恒常达到平衡,可以对不同关照特性图像进行自适应增强。
分组卷积由AlexNet网络[28]引入,实现分组卷积的主要原因是让网络可以在多个内存有限的GPU上运行,从而加快训练速度,减少内存消耗。典型的2D卷积工作方式,如图1所示。
图1 典型2D卷积Fig.1 Typical 2D Convolution
通过应用Dout个大小为(h×w×Din)的卷积核将输入层(Hin×Win×Din)变换为输出层(Hout×Wout×Dout)。在分组卷积中,卷积核会被分为不同的组。每一个组都是一个特定深度的典型2D卷积,分组卷积工作方式,如图2所示。
图2 分组卷积Fig.2 Grouped Convolution
图2 是G=2 的分组卷积(G为分组数)。每一个独立的分组中,卷积核的深度仅有典型卷积的一半。每个分组包含有Dout/2个卷积核,第一个卷积核分组与输入层的前一半([:Hin,:Win,:Dout/2])卷积,得到输出层一半的输出;第二个卷积核分组与输入层的后一半([:Hin,:Win,:Dout/2])卷积,得到输出层另一半的输出,将两部分结果堆叠在一起,得到与典型2D卷积同样通道的输出层。
分组卷积可对模型进行高效训练。可使用多个GPU对同一个模型并行化训练,能处理更多图像。
模型会更高效,模型参数会随分组数的增大而减少。在上述的例子中,完整的标准卷积有(h×w×Din×Dout)个参数,而具有两个分组的分组卷积有(h×w×Din/2 ×Dout/2)个参数,参数数量减少一半。
卷积核的高稀疏性和相邻层卷积核同结构化能有效避免过拟合和使网络学习到更准确更高效的深度网络。
针对目前低光照图像增强算法存在的颜色失真和飞行器数据细节实时性等问题,提出一种基于Retinex理论和分组卷积相结合的自适应图像增强算法。该网络由分解网络、增强网络和合成网络三个网络组成。首先根据Retinex理论对输入图像进行分解,得到全局高频亮度图像和低频细节图像,再利用增强网络对全局亮度图像进行增强,并加入亮度调整因子,对增强后亮度进行适当调整,避免颜色失衡等问题,最后依据Retinex理论通过合成网络合成增强后的图像,算法,如图3所示。
图3 低照度图像目标识别算法流程图Fig.3 Flow Chart of Low-Illuminance Image Target Recognition Algorithm
普通识别方法的缺陷是照明度选取具有盲目性,而获取良好的照明信息是影响增强后图像效果的关键。合适的照明对飞行器航拍图像更好的增强至关重要。根据Retinex理论,可将图像分为反射率和物体本身,考虑到飞行器数据的复杂性与多变性,分解网络采用两个子网络构成,一个网络负责分解高频全局亮度分量,另一个网络负责分解低频细节分量,分解网络结构,如图3所示。
为了提高增强图像的效果,采用分组卷积的方式,对原图像进行多通道的特征提取,采用G=10的分组网络。为了减少数据的丢失,选用a=0.01的PReLU函数作为激活函数(a为数据小于零时的斜率)。先用30个(1×1)卷积核对输入图像卷积,得到尺寸为(400×600×30)图像,将该图像通道分为十组,分别对应十个分组网络,即每组尺寸为(400×600×3)。每组网络使用8通道(3×3)步长为1的卷积核与对应图像通道分组进行卷积,为了减少计算量和提高计算速度,对分级卷积结果使用分组融合的方式进行特征融合,如图4所示。
图4 分组融合流程图Fig.4 Flow Chart of Group Fusion
每相邻两个结果进行一次特征融合,融合后的特征再使用(1×1)的卷积核进行卷积,以便得到更平滑的特征图,增强模型的非线性表达能力和实现跨通道的交互与信息融合。直到特征融合到最后一个特征图为止,最终得到一个单通道的高频全局照度图像。
另一个子网络使用卷积块的方式进行深度细节特征提取,采用六个卷积块作为深层特征提取(六个卷积块后像素小于1)。该卷积块由两次下采样(卷积)得到三种不同尺寸的特征、两次上采样(反卷积)得到对应尺度的特征和跳层连接的一个U型结构组成。使卷积块相同尺寸的特征进行特征融合,并对融合的结果进行步长为1的1×1卷积,每个卷积块即可得到三种不同尺寸的特征图。卷积块结构和具体网络参数,如图5所示。
图5 卷积块结构Fig.5 Convolution Block Structure
第一个卷积块的输入是分组卷积的输出,下一个卷积块的输入是上一个卷积块的输出,如图3所示。每个卷积块都会得到三种尺寸和频率的特征图,最后对所有卷积块不同层级得到相同尺寸的特征图进行串联,得到低频、中频和高频不同尺寸的特征图。考虑到低频信息量太少,将低频特征上采样与中频特征融合再卷积得到低频细节图像,如图6所示。
图6 低频特征图Fig.6 Low-Frequency Characteristic Map
为了解决颜色失真和飞行器图像细节模糊等问题,引入亮度调整因子,校正全局亮度图,增强图像效果。该亮度调整因子由正常光照图像通过两层8个步长为1的(3×3)卷积核和PReLU激活函数组成,亮度调整因子流程图,如图7所示。
图7 亮度调整因子Fig.7 Brightness Adjustment Factor
增强网络将高频全局亮度图和亮度调整因子作为输入,经过4个卷积核为3,步长为1的卷积层和四个PReLU激活函数,最后经过步长为1的(1×1)卷积得到增强后的光照图。
合成网络的输入是高频全局特征图和低频细节特征图,通过四个下采样和四个上采样,每个上采样的输入是上个卷积层的输出和同尺寸跳层连接后卷积的结果,具体网络设置,如图8所示。
图8 合成网络结构Fig.8 Synthetic Network Structure
增强飞行器采集图像细节边缘、饱和度和避免过曝光现象,再次根据Retinex理论进行图像的二次增强,合成网络合成后的图像乘以增强后的亮度图,即得到二次亮度增强图像。
飞行器采集的数据易受飞行器姿态和飞行环境影响,具有多变性和复杂性,需要定性和定量的解决图像质量问题,使用常规的MSE 和MAE 误差指标已不足解决问题。因此为了进一步解决,这里考虑结构信息和图像区域差异性,目标函数如下:
L2范数是最常用的防止模型过拟合的正则化方法,计算过程如下:
式中:xi—输入的图像。均方误差(MSE)描述增强后图像与正常光照图像之间像素值的差异,计算过程为:
式中:yi—增强后的图像;y*i—真实图像。平均绝对误差(MAE),计算过程如下:
式中:yi—增强后的图像;y*i—真实图像。结构信息误差(SSIM)增强图像细节,避免光照干扰,计算过程为:
式中:μX、μY—水平与竖直方向的像素平均值;σ2X、σ2Y—水平、竖直方向的方差;σXY—像素协方差;C1和C2都是为了防止分母为0 的常量,其中C1=(0.001 ×k)2,C2=(0.03 ×k)2,k—滑动窗大小。
为了更好的提取特征,分解网络目标函数为:
式中:II、Ih—输入的低光图像和正常光照图像;LI、RI—低光图像的高频亮度分量和低频细节分量;Rh、Lh—正常光照图像的高频亮度分量和低频细节分量;°—矩阵乘法运算;其中,G=|σLI|+|σLh|,这里σ都表示梯度,这里 | |都表示绝对值;λ1和c都是常数;·—点乘。
光照增强网络的目标函数为:
式中:LIh—分解后的Lh或者LI;L*Ih—原图像的Lh或者LI。
亮度调整因子网络目标函数为:
式中:L°—光度调整因子;LS—正常光照图像。
合成网络的目标函数为:
式中:R°—光度调整因子;Rh—分解的低频细节。
这里的算法实验是基于JetBrains PyCharm Community Edition 2019实现,模型搭建使用开源OpenCV库和tensorflow库完成,硬件环境为Intel(R)Core(TM)i5-8400 CPU@2.80GHz。飞行器采用F450航模四轴飞行器;飞行器相机使用SJ4000运动相机。
由于合成数据集不具有真实数据的复杂性,这里采用飞行器采集的真实低光与正常光照图像,由于标准数据图像不易采集,选用公开的无人机数据集auair2019data 和VisDrone-Dataset[27]里的数据,选择了900对低光与正常光照图像对,图像大小设置为(400×600),一共1800张图像。
根据式(1),真实图像是由光照分量和反射分量组成。为了保证最后合成数据的有效性,采用正常光照数据作为标签,低光图像作为原始数据,为了降低公开数据集中的数据耦合性,使用飞行器采集真实低光图像和正常光照图像对100对,将飞行器采集到的图像与公开数据集中的图像进行随机混合,然后按4:1比例将数据集分为测试集和验证集,即测试图像为1600张,验证图像为400张。
先对1600张照片进行训练,最后用400张照片进行测试,为了证明该算法的实用性,再次采集100张飞行器拍摄的真实低光图像进行测试。
这里的batch_size 设置为10,输入图像的尺寸都为(400×600),并把图像像素归一化到(0~1)。并在卷积层后使用批归一化(Batch Normalization)加快训练速度,降低数据参数不一致带来的影响,为了防止模型过拟合和提高收敛速度,对模型添加0.5的Dropout层。使用自适应的随机梯度法作为优化策略,并使用收敛速度最快、效果最好的Adam优化器进行优化。除此之外,还使用学习率衰减策略,学习率的初始值设置为0.001,经过20个epoch,学习率下降10%,训练总epoch为100次。
由于飞行器采集的图像不同于地面收集的图像,更容易出现细节丢失现象,为了验证算法有较好的分解能力,选用几种优秀的分解网络对低光图像分解的低频特征图和高频特征图进行了对比,如图9、图10所示。
图9 低频分量图Fig.9 Low-Frequency Component Diagram
图10 高频分量图Fig.10 High-Frequency Component Diagram
从低频分量图可以直观的看出MF算法和RetinexNet算法颜色对比度明显,但是细节丢失比较严重;kind算法细节丢失少,但是引入颜色失真现象;这里高频分量图的整体饱和度更好,细节和颜色保存更完整。高频分量图中MF算法细节部分更明显,但是整体偏暗,而这里低频分量图不仅保存更多的细节信息,而且对亮度也有一定的增强,综合比较,这里分解网络效果更优于其他几种算法。
为了验证算法的可靠性、实用性和先进性,这里和别的几种常用算法进行比较,包括BIMEF算法[19]、kinD算法[24]、GLAND算法[21]、FFN 算法[20]、MF 算法[18]、Retinex-Net 算法[25]、MSRCR 算法[23]和LIME算法[22]。为了直观显示几种算法的结果,使用无人机拍摄的低光图像进行了测试,展示其中两张低光图像的测试结果,如图11所示。
图11 不同算法图像整体增强效果对比Fig.11 Comparison of Overall Image Enhancement Effects of Different Algorithms
从结果可以看出BIMEF算法[19]和FFN算法[20]对图像亮度与细节都进行增强,但是图像整体偏暗,亮度增强效果没有其他算法明显;kinD[24]对细节增强比较明显,不会出现模糊等现象,但是仍然存在比较暗的地方;GLAND算法[21]出现图像模糊和噪点现象;MF算法[18]出现细节丢失现象;MSRCR算法[23]出现过度曝光现象;Retinex-Net算法[25]对细节增强效果好,但是出现颜色失真现象;这里算法与正常光照图像对比,细节部分表现完整,没有出现噪声、过度增强、模糊等现象,仅出现少量颜色失真。由此可以看出这里算法优于其他几种算法。
进一步验证实验平台的可行性,使用这里的无人机拍摄100张低光图像进行了测试,验证结果,如图12、图13所示。
图12 低光图像Fig.12 Low-Light Image
图13 这里算法处理后图像Fig.13 The Image Processed by the Algorithm in This Paper
从图12、图13可以看出这里的算法在实验平台上效果依然显著,不仅对低光图像有较好的增强效果,而且图像细节信息保存较完整、颜色未出现失真和模糊现象。证明这里的算法有较好的可靠性和准确性。
为了客观评价算法的优越性,无人机采集100张真实图片进行验证,使用有参考图像的SSIM(结构相似性)、PSNR(峰值信噪比)、MSE(均方误差)指标与无参考的NIQE(自然质量评估)、PIQE(基于感知的图像质量评估器)、BRISQUE(无参考图像空间质量评估器)对图像质量指标进行对比结果,如表1、表2所示。
表1 有参考图像质量评估Tab.1 Quality Evaluation with Reference Image
表2 无参考图像质量评估Tab.2 Evaluation of Image Quality Without Reference
从表1、表2结果中可以看出,在相同的条件下,这里的算法能得到较好的客观评价,增强效果更接近真实图像。虽然BIMEF算法在NIQE和BRISQUE图像指标上比这里低,但从视觉上这里算法的整体饱和度与细节特征更佳。
提出了一种Retinex理论和神经网络分析相结合的方法,解决飞行器航拍时因图像质量差而引起的目标识别困难问题。基于U-net框架,构建了针对低照度下失真图像分析和识别的具备深度学习能力的神经网络架构。该架构在低照度目标识时,考虑了基于Retinex理论的光照增强因子。在利用开源的visDrone图像集解对该神经网络进行训练的基础上,应用PyCharm和OpenCV开发了低照度下航拍图像的图像增强系统。为验证这里提出的增强方法以及所开发的低照度图像识别系统在实际应用时的可靠性,本研究搭建的无人机平台。该系统在无人机平台上的测试效果良好。另外,这里提出的图像增强方法和其它几种方法做了对比,结果显示这里的方法图像整体增强效果要更好。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!