李贞 任明武
(南京理工大学计算机科学与工程学院 南京 210094)
军用迷彩服在作战中可以成功打乱目标在观察者视野中的轮廓线,使对方难以察觉和分辨。军用迷彩服最新研发包括更高级别的防火、防弹、防红外辐射、防热辐射和反雷达探测等功能[1]。我军新式迷彩服“星空迷彩”划分为丛地、荒漠、丛林、城市、沙漠五个品种,而且根据实际情况选择相应的服装、根据作战地形进行发放[2],使穿着者更能“融入”隐蔽处不易被察觉,可见光范围内伪装目标越来越难以识别。军事伪装正朝着多波段、多元化、智能化的方向发展[3],这无疑为迷彩伪装目标检测带来了更大的挑战。
对于伪装目标的检测,许多传统的方法基于可见光图像下迷彩目标特征提取[4~6]。武国晶等[7]利用目标特有的三维凸面形状特征表现出的灰度差异检测迷彩伪装目标。邓小桐等[8]将空间注意力机制引入目标检测框架中,在扩展后的数据集上将检测精度提升了8.7%。近年来语义分割网络也被应用于迷彩目标识别当中[9]。Fang 等[10]构建强语义膨胀网络,对浅层特征图的语义信息进行加强,进一步提升了检测效果。卓刘等[11]使用一个并行的多采样率的空洞卷积识别不同大小的迷彩目标。多光谱图像在多个波段上形成影像,将光谱技术和成像技术结合,不仅可以获取目标的二维空间信息,还可以获得各个目标的光谱信息,形成“数据立方体”[12]。通过对不同波段的图像特征和光谱特性进行分析,可以极大提高检测迷彩伪装目标的能力。严阳等[13]分析迷彩伪装的光谱特性,利用不同地物之间的光谱曲线的差异识别伪装。但由于“同物异谱”现象和“同谱异物”现象,需要将目标的空间特征和光谱特征联合以实现更精准的目标识别。本文基于U-Net[14]语义分割网络进行改进,将得到的多光谱图像进行数据预处理,利用目标的深层光谱特征和局部空间特征实现端到端的伪装目标识别。
U-Net 网络结构整个网络结构呈现U 型对称结构,是经典的编码-解码结构。解码过程将编码过程中同尺寸级别的特征图进行堆叠,利用编码结构中的特征对于解码过程中的特征进行细节补充,实现不同层级的特征融合。将相同尺寸级别的浅层和深层特征图进行拼接,通过两者的结合在卷积过程中学习到更丰富的信息。
作用于网络输入层的卷积层可以用不同尺度的卷积核提取特征[15],卷积核的尺寸分别为1×1×B,3×3×B和5×5×B,其中B 为输入多光谱图像的波段数。1×1 的卷积核提取输入图像的光谱相关性特征。3×3和5×5卷积核可以提取输入多光谱图像的空间相关性特征。将不同尺度的卷积核提取到的特征图在通道维度上进行堆叠,形成联合的光谱-空间特征图。
批标准化[16](Batchnormalization,BN)是一个深度神经网络常用的训练技巧。批标准化把每层神经网络任意神经元这个输入值的分布符合标准正态分布,把越来越偏的分布拉回标准的分布,这样使得激活输入值落在非线性函数对输入比较敏感的区域,避免梯度消失问题产生,同时梯度变大意味着学习收敛速度快,能大大加快训练速度。
残差模块[17]在加深网络深度方面有明显优势。一个具体的残差模块如图1 所示。残差模块的引入很好地解决了加深网络深度带来的训练困难问题。用x 和y 分别代表残差模块的输入和输出,则可用式(1)表示残差模块:
图1 残差模块
F(x,{Wi})表示待学习的残差映射。当残差为F(x)=0 时,此时堆积层仅仅做了恒等映射,至少网络性能不会下降,而当残差不为0 时,堆积层在输入特征基础上学习到新的特征,从而拥有更好的性能。
改进的网络模型结构如图2所示。基于U-Net的改进网络模型(multiWind-ows Resnet U-Net,MS-UNet)保持原有对称的编码-解码网络结构。MS-UNet 左侧部分为编码结构。对网络的输入层采用多尺度窗口,得到不同尺度上的特征图进行拼接提取输入图像的空谱联合特征。用步长stride=2 的卷积实现特征图的压缩。每经过两个残差模块,特征图的宽高缩减1/2,每个残差模块之后使用批标准化和RELU 激活函数。网络中对较深层的特征图进行上采样并与浅层特征图相加这样加强了不同层之间的连接,并将增强浅层特征图中的语义信息,如图2中虚线框所示。
图2 MS-UNet网络结构模型
右侧部分为解码结构。解码结构对得到编码得到的特征图进行上采样并和相同宽高的特征图进行拼接,利用编码结中的特征对于解码过程中的特征进行细节补充,实现跳跃连接。
本实验所用迷彩服饰包括87 式老款迷彩服,荒漠迷彩以及07 式新款迷彩服。采集样本过程中,采集的多光谱图像数据应当包含阴影遮挡、顺光、逆光、正常光线等光照条件,采集时间应当覆盖一天之内的多个时间段。采集的多光谱图像数据应当包括晴朗、多云、阴天等多种天气情况。模特身穿各式迷彩服呈现出多种不同的姿态,如躺、趴、蹲、站立、卧等,图像数据中迷彩目标出现的位置、目标数尽可能多样。
实验采用CGT GVN-2S 光谱设备进行迷彩人员多光谱数据集的采集,整个采集系统包括电源箱、电脑工作站、标准白板等,搭建可移动的图像采集装置。该设备直接通过网络连接和USB 串口进行数据的传输,采集的图像宽高尺寸为1920×1000。采集的原始图像波段覆盖范围为400nm~1000nm,包含1080个波段,本实验选用的迷彩服饰的特征波段分别为455nm、589nm、612nm、681nm、698nm、710nm。将6 个波段合成mat 文件作为网络的输入。
训练集样本数据共3550 幅多光谱图像,其中按照该8∶2 的比例对训练集进行划分,80%用于训练,20%用于验证。测试集数据223 幅多光谱图像。
实验分为训练和测试两个部分,网络基于keras 架构,训练部分在服务器中进行,硬件环境为Titan V 显卡、Intel(R)Xeon(R)Silver 4116 CPU、128GB 内存等,软件环境为Ubuntu18.04,Python3.6,TensorFlow1.9,Keras2.2.4。
测试部分在本地的笔记本上,其中硬件环境为1050 显卡、Inter(R)Core(TM)i5-9300H CPU、8GB 内存,软件环境Windows10,PyCharm。训练参数设置如表1 所示。
表1 训练参数设置
本实验评价指标为语义分割领域常用的评价指标:准确率Accuracy,精确率Precision,召回率Recall,F1-Score。测试集上各个指标的结果如表2 所示。
表2 MS-UNet识别结果
3 通道U-Net 为原始U-Net 网络结构模型,6通道U-Net只是将3通道U-Net的输入层通道数改为6。6 通道U-Net 和MS-UNet 所用数据集完全相同,数据集均包含6 个波段。而3 通道U-Net 使用数据集为可见光图像,仅仅包含3 个波段。设置训练多次求平均值,结果如表3所示。
从表3可知,6通道U-Net 和3通道U-Net 相比,Recall明显增大。在网络结构的对比上,3 通道U-Net 和6 通道U-Net 只有输入层的通道维度不同,6 通道数据集能提供更多的迷彩目标信息,使得误检明显减少,说明包含更多波段的数据集能提供更多的目标信息,证明了采用多光谱识别迷彩目标的显著优势。
表3 不同语义分割网络识别结果对比
6 通道U-Net 和MS-UNet 在网络结构上有较大的不同。MS-UNet 仍采用编码解码结构,输入层使用多尺度窗口,使用残差学习加深了网络的深度,解码部分实现跳跃连接融合不同尺度信息,使误检进一步减少,Recall 进一步增大。MS-UNet 相较于6通道U-Net而言,Precision稍有下降但Recall增大了3.42%,F1-Score 增大了1.62%。造成这一现象的原因是MS-UNet 在学习到更深层特征的同时对于特征的描述也更加具体,漏检减少的同时也检测到一部分不相关的“目标”,使得Precision有所下降。
各模型识别效果对比图如图3 所示。
图3 各模型识别效果对比图
本文提出了一种基于U-Net 语义分割网络的多光谱迷彩目标识别方法,从两个角度改进迷彩目标识别效果。第一,采用包含更多波段的多光谱数据集。多光谱数据集相比于可见光数据集包含更多地波段,能提供更多关于迷彩目标的信息,能极大地改善目标漏检情况。第二,网络输入层采用多尺度窗口提取目标的光谱-空间联合信息,引入残差模块加深网络深度,更进一步融合不同尺度信息,可以进一步减少误检。本文提出的MS-UNet相比于6 通道U-Net 而言Recall 有明显增大,但是Precision 有所减少,后续改进可考虑如何更进一步提高Precision和Recall。