肖长诗 姜 阳 文元桥
(武汉理工大学航运学院1) 武汉 430063) (内河航运技术湖北省重点实验室2) 武汉 430063)
在雾天、过曝等水上航行场景下通过可见光视觉采集到的图像质量不佳,且受到阳光、波浪和陆地倒影的影响,通过传统的图像信息采集方法受干扰因素影响严重,无法实现无人艇的精准视觉感知.现阶段,我国能实际使用的无人艇大多无法在恶劣航行场景下正常工作,需要提升无人艇对恶劣航行场景的语义理解能力.
目前,CNN[1]在语义分割任务上的效果最好.Wang等[2]提出了基于偏振信息与RGB图像的多模态语义分割方法.Zhang等[3]提出基于深度学习的多模态道路场景语义分割网络.Blanchon等[4]提出一种利用偏振技术进行户外场景语义分割的方法.Xiang等[5]提出了EAFNet网络用于道路场景的语义分割.Yang等[6]提出ERF-PSPNet网络用于偏振差成像.Hu等[7]基于深度学习的水下偏振图像恢复方法,实验结果表明,偏振信息的引用有利于提升图像质量.Kalra等[8]提出基于偏振技术的透明目标分割方法.Kristan等[9]提出基于视觉图像的障碍物检测模型.Yan等[10]提出了NLFNet网络,该网络适用于自动驾驶领域.Zhang等[11]提出了PFNet网络.虽然现有的研究成果已获得了较好的分割效果,但都集中于道路等结构较为简单场景的分割,对于水上航行场景语义分割方法的研究较少.
文中基于偏振相机阵列的水上航行场景图像语义分割方法,利用自主设计的偏振相机阵列图像采集设备,采集具有偏振信息的水上航行场景图像,构建基于偏振度图像与深度学习的图像语义分割模型,该模型能够在恶劣航行场景下(雾天、过曝、弱交界线、耀斑等场景下)展现较好的分割效果.
文中设计实现偏振相机阵列图像采集设备,该设备包含5个CSI相机组成的阵列(偏振方向为0°、45°、90°、135°及未前置偏振片),单个图像采集设备由单个CSI相机及偏振片组成,偏振片通过自主设计的盖板置于CSI相机前,将5个CSI相机通过自主设计的相机支架固定,与Jetson TX2相连.
利用偏振相机阵列同时获取未前置偏振片以及偏振方向分别为0°、45°、90°、135°的水上航行场景图像,采集的场景地包含武汉市长江航行水域及武汉东湖.由于偏振相机阵列图像采集设备相机之间存在位置差,为了获取更加准确的偏振度信息,需要进行图像配准工作,按照图1的流程获取可供偏振语义网络使用的未前置偏振片图像及偏振度图像.
图1 偏振相机阵列算法流程图
以未前置偏振片的水上航行场景图像为参考图像fmatch,以偏振方向为0°、45°、90°、135°的图像为待配准图像,则有:
fmatch(x,y)=H(f(K(x,y)))
(1)
(2)
式中:M为单应性矩阵.
依据式(1)、式(2)对待配准图像进行变换,则对于待配准图像中任意一点(x,y),有:
(3)
(4)
式中:x′为偏振方向为0°水上航行场景图像进行图像变换后的横坐标;y′为经图像变换后的纵坐标,最终得到图像变换后的坐标点为(x′,y′).
我院重症医学科鲍曼不动杆菌耐药性及分子流行病学研究…………………………………………………… 汤雪梅等(18):2520
重复上述操作,得到经图像配准后的偏振方向为0°、45°、90°、135°的偏振图像.由斯托克斯参量法[12]完成偏振度的计算,则有:
(5)
式中:I为光强;Q和U分别为偏振分量;V为圆偏振分量;I0°、I45°、I90°和I135°分别为光在0°、45°、90°、135°方向上的偏振光;Iright、Ileft分别为右旋圆偏振光强和左旋圆偏振光强.
由于在水上航行场景中,V分量成分很小,可忽略不计,则有:
(6)
(7)
依据图1,按照式(6)合成偏振度图像,然后将偏振度图像与无偏振图进行同步裁剪,可得裁剪后的无偏振图及偏振度图像.
通过自主设计的偏振相机阵列图像采集设备采集水上航行场景图像数据,拍摄有不同时间和区域的图像,包括晴天、雾天、场景过曝、耀斑、弱交界线等多个场景,视觉场景丰富.数据采集完毕后,对其进行图像配准及裁剪工作,得到同步裁剪后的无偏振图像及偏振度图像,对裁剪后的无偏振图像进行标签的制作,标签制作结束后再进行最终的训练.
文中采用Labelme对301组偏振图像数据进行标注.偏振数据集中的像素点包含天空区域(sky)、水面区域(water)及非水非天区域(background).使用putpalatte函数对标签图像进行批量可视化,得到最终的标签文件,像素值为0~255,不同区域对应的RGB值见表1.
表1 标签对应RGB值
对301组标签数据,按照训练集、测试集9∶1的比例进行划分,用于训练的图像为271组,用于测试的图像为30组.图2为自制数据集中的部分标注图像.
图2 自制数据集中部分标注图像
由于定义的是单显卡训练,采集制作的偏振图像尺寸偏大,为了保证偏振语义网络的训练效果,需要对图像进行缩放操作,将数据集中的图像尺寸统一处理成512×512.尺寸处理好后就需要将偏振数据集做数值归一化操作,便于偏振语义网络从输入偏振图像数据中学习偏振信息.
(8)
式中:channeli为每幅水上航行场景中通道i(R通道、G通道、B通道及DOP通道)的值.偏振相机阵列所采集的图像各通道数值上限为255.
在每一个批次训练前对偏振数据集做随机乱序操作,使得偏振数据更加贴近无人艇自然航行场景下的样本分布.
文中的偏振图像数据集虽然已经达到了网络训练的规模,但整体规模不足,需对偏振数据集进行扩充,采用图像旋转、图像翻转等数据增强方法,生成新的数据样本以扩充原有的偏振图像数据,从规模上丰富偏振数据集,提升网络的性能.
基于编解码结构[13]构建了偏振语义分割网络,将无偏振图与DOP图像共4通道的图像(RGB+DOP)送入网络,进行resize操作,得到分辨率为512×512的图像,方便网络更好地进行偏振特征的学习.对输入的水上航行场景图像下采样4次,共下采样16倍,相应的也会进行4次双线性插值上采样,将编码器得到的高级偏振语义特征恢复到下采样时的尺寸.模型结构中还包含跳跃连接,将不同尺度的特征进行融合,最终输出语义分割结果,由于最终要实现天空区域、水面区域以及非水非天区域的场景分割,是一个三分类问题,故最终输出类别数为3.偏振语义分割网络子结构见图3.
图3 编解码子结构图
其具有跳跃连接结构,将不同尺寸的特征进行融合,可以避免梯度消失问题;采用编解码结构,提高了编码后的特征图分辨率,保证输入输出分辨率的一致性,使无人艇的视觉感知结果更加符合人眼;采用3×3卷积,每一次卷积后都会用Batch Norm2d函数进行数据的归一化,使得偏振数据在进行ReLU前不会因为数据过大而导致性能的不稳定.结果见表2.
表2 偏振语义分割网络结构表
水上航行场景偏振语义分割网络通过偏振数据集在GPU上使用PyTorch深度学习框架进行训练,输入为无偏振图像与偏振度图像,合成4通道数据,即512×512×4,具体参数设置见表3.
表3 偏振语义分割网络参数
使用交叉熵损失函数和Dice损失函数的加和作为损失函数,则有:
(9)
(10)
Total_Loss=BCE+DiceLoss
(11)
在模型训练期间,mIoU变化曲线见图4a),PA值变化曲线见图4b).
图4 偏振语义网络曲线图
由图4可知:随着迭代次数的增加,偏振语义网络的mIoU值及PA值迅速上升.mIoU值在40个Epoch左右完成收敛,后趋于平稳.偏振语义网络PA值在40个Epoch左右完成收敛,后趋于平稳.网络整体收敛性较快,具备较强的水上航行场景分割能力.
利用上述训练好的网络,进行恶劣航行场景图像的分割效果测试,测试的结果为本文网络的预测值,分割结果见图5.
图5 恶劣航行场景分割效果图
由图5可知:在雾天场景下,无偏振图中人眼已经无法分清场景中的天空区域与水面区域,但是在偏振度图像中,对岸建筑物与天空区域、水面区域呈现不同的偏振度数值,不同区域之间的分界线被凸显,而在文中的网络中,对天空区域、水面区域以及非水非天区域进行了一个较为精准的分割.在浓雾场景下,无偏振图中可视距离非常短,无法辨认出场景中的天空区域与水面区域的界限,偏振度图像中水天边界线被凸显,文中的网络在此可视距离短的恶劣场景下也得到了较为精准的分割.在场景过曝的情况下,无偏振图中由于曝光的影响,天空区域和水面区域分界线不明显,天空区域与水面区域颜色趋于一致,偏振度图像中分界线被凸显,文中方法获得了较为精准的分割效果,天空区域与水面区域分割界限明显.在耀斑场景下,无偏振图中水面上太阳光反射折射会影响图像语义分割的结果,偏振度图像中天空区域与非水非天区域分界明显,文中方法直观可见分割效果不受水面反光的影响,精准地分割出水面区域,得到了很好的分割效果.在水面多小目标的情况,文中方法也得到了很好的分割效果.在弱交界线的场景下,无偏振图中天空区域和水面区域分界线不明显,偏振度图中不同区域的边界信息被凸显,文中方法通过融合了偏振度信息,将天空区域和水面区域进行了精准的分割.
采用自制的偏振数据集,数据集中包含无偏振场景图与偏振度图.无偏振对比实验中仅使用了自制数据集中无偏振场景图,没有使用偏振度数据.同样的,将301组水上航行场景偏振数据中的10%作为测试集(30组),另外90%作为训练集(271组).
采用mIoU、PA和FWIoU对有偏振与无偏振数据进行性能对比,每个Epoch都会做一次测试,取100个Epoch里测试输出的最高值.最优性能表见表4.
表4 无偏振与有偏振最优性能对比
实验对比了使用偏振信息与未使用偏振信息的最优性能对比,有偏振最优性能比无偏振最优性能有一定提升.具体来看,主要评价指标mIou分数由0.887提高至0.892,PA分数由0.936提升至0.942,FWIoU分数由0.905提升至0.908.结果表明:使用偏振信息后的模型在提高分割效果方面数据更理想,偏振作为辅助信息,对水上航行场景的分割效果具有促进作用,能够提升无人艇对恶劣航行场景的语义感知能力.
图6为偏振语义分割网络在训练过程中的损失函数变化图.
图6 无偏振与有偏振测试损失函数变化图
由图6可知,随着迭代次数的增加,网络的测试损失和训练损失值迅速下降至收敛.训练损失整体比较平稳,而测试损失的波动性比较大,收敛速度也较快,文中网络达到了很好的收敛性.结果说明偏振信息能够作为辅助信息,提升网络分割的性能.
将文中所提方法与K-Means、U-Net进行对比,从测试图像中选择了三对图像(雾天、弱交界线、雾天小目标)进行测试,分割效果见图7.
图7 实验结果对比图
由图7可知:文中方法在雾天、弱交界线、雾天小目标等恶劣航行场景下,均具有较好的分割效果.在雾天场景下,无偏振图中由于雾天的干扰,水面区域与天空区域分界线不可见,K-Means算法分割效果较差,U-Net在天空区域与水面区域分界线的分割中,分割结果不理想,文中方法清晰地将对岸物体分割出,天空区域和水面区域的分界线被凸显.在过曝场景下,文中方法分割效果非常好,天空区域和水面区域的分界线明显,场景中的小目标也被清晰地分割出.在雾天小目标场景下,无偏振图中由于雾天的影响,水天界限直观不可见,场景中有许多小目标影响网络的最终分割效果,K-Means算法分割效果不太理想,U-Net方法在雾天和小目标两种限定因素下,水天界限分割不理想,且对于水面小目标的分割效果也不佳,文中方法很好地抑制了雾天对分割效果的影响,分割出了场景中的天空区域与水面区域,小目标分割较细致,不同区域分割精确.
采用综合像素精度PAall来评价恶劣航行场景下不同方法的分割效果.
(12)
式中:最终的像素精度由R、G、B三个通道的像素精度共同决定,其结果见图8.
图8 场景应用效果对比(PAall)
由图8可知:文中方法PAall对比K-Means算法及U-Net提升明显,一定程度上表明文中方法的分割准确率比其余两种方法的分割准确率高.
文中针对无人艇恶劣航行场景图像语义感知研究中存在的问题,提出了一种基于偏振成像的水上航行场景图像语义分割方法.利用自主设计的偏振相机阵列图像采集设备采集了不同偏振方向的水上航行场景图像;将不同偏振方向的图像与未前置偏振片的图像进行图像配准,合成偏振度图像,将偏振度图像与未前置偏振片图像进行同步裁剪,得到裁剪后的偏振度图像与未前置偏振片的原图像;制作了偏振数据集,基于偏振度图像构建了偏振语义分割网络,进行恶劣航行场景图像的语义分割,并将实验结果进行对比分析.结果表明,在恶劣航行场景下,分割效果良好.
目前制作采集的偏振数据集不够大,还在持续地进行水上航行场景的采集工作,在未来数据量达到一定的规模后,精度将得以进一步提升,其分割效果也会更好.