易 诗,李欣荣,吴志娟,朱竞铭,袁学松
(1.成都理工大学信息科学与技术学院 成都610059;2.电子科技大学电子科学与工程学院 成都610054)
随近年来生态环境改善,野兔数量急剧增加,分布广泛,给林业、农业发展造成一定威胁,并有进一步恶化的趋势,随着中国对林业生产的不断重视,特别是退耕还林工程的实施,造林面积迅速扩大,林木数量大幅度增加,但随之出现的兔害造成了巨大的经济损失[1-2]。野兔活动习性多为夜间,零星出没,导致采用有光条件下的驱兔方法效果较差,而下网下夹、毒杀、电击、猎杀等方法非常危险[3],且野兔属于国家保护动物,因此,提出一种结合近年来人工智能技术的驱兔方法具有实际意义,此类方法中重要的环节在于夜间对野兔的检测。
野兔一般于秋冬季夜间9 点至凌晨活跃于山间麦田,果林和人工经济林等区域,啃食作物和林木幼苗,普遍单只或成对出现,较少聚群。因此,对野兔的检测与预警,需解决如下几个问题:1)野外夜间的无光环境下探测。2)复杂地形,存在一定遮挡的条件下检测目标。3)小型目标检测。4)快速运动目标检测。
红外热成像系统成像原理为物体的温差,其不依赖光源,受天气影响小,探测距离远[4],适合于野外环境下对野生动物的检测,解决了无光环境下探测的问题,对于草木的一定遮挡,红外热成像能够有效探测目标泄露的红外光谱并成像,对复杂环境下目标探测具有较大优势。近年来,由于深度学习相关理论的快速发展及计算能力的提升,深度卷积网络在计算机视觉方面取得了很大的成功。在目标检测方面,基于深度学习的目标检测方法准确率大大超过了传统的人工设计特征的检测方法。基于深度学习的目标检测主要包括2 类,一类是基于区域生成的卷积网络结构,代表性的网络为RCNN、Faster-RCNN[5-6];一类是把目标位置的检测视作回归问题,直接利用CNN 网络结构图像进行处理,同时预测出目标的类别和位置,代表性的网络有SSD、YOLO[7-9]等。熊俊涛等[10]采用更快速卷积神经网络(Faster-RCNN)实现了自然环境下绿色柑橘的识别。薛月菊等[11]采用YOLOV2实现了绿色芒果的识别。赵德安等[12]采用YOLOV3 实现了水下摄像头采集的河蟹图像的识别。其中YOLOV3 目标检测框架具备对小目标检测精度高,速度快的优点,但对夜间红外图像中野兔检测存在以下问题:1) 低分辨率红外小目标的检测能力需要提高。2) 对运动目标检测速度需进一步提升。3) 对存在一定遮挡下的目标检测能力需要优化。
因此,本文针对红外图像中野兔检测的特点,在YOLOV3 网络的基础结构上提出了一种红外图像中检测快速运动小目标的检测网络(infrared rabbit detection YOLO)IR-YOLO。该网络根据夜间野兔多为数量较少的快速运动小目标,红外热成像图像分辨率低,细节模糊,缺乏色彩特征的特点,在YOLOV3 网络的基础结构上压缩特征提取网络深度,提取浅层卷积层特征,提高低分辨率红外小目标检测精度,降低运算量,在网络检测层采用CenterNet 结构[13],提高检测速度与实时性。在训练样本中加入存在一定比例草木遮挡条件下的野兔目标样本,优化存在遮挡情况下野兔识别的准确率。
YOLOV3 实时目标检测模型的特征提取网络Darknet53 由53 个卷积层,24 个残差层构成。后20 层为YOLO 网络的特征交互层,分为3 个尺度,每个尺度内,通过卷积核的方式实现局部的特征交互,作用类似于全连接层,通过卷积核(3×3 和1×1)的方式实现特征图(feature map)间的局部特征交互,全连接层进行全局的特征交互[14-19]。卷积层提取图像特征, 全连接层预测图像位置与类别估计概率值。YOLOV3 根据输入的图像数据,运用回归分析法输出图像数据的多个滑动窗口位置及该窗口中检测到的目标类别。
YOLOV3 在3 个检测尺度S 上(S=13,26,52),将输入图像分成S×S 个单元格,每个单元格的神经元负责检测落入该单元格的对象,最多可包括两个预测对象的滑动窗口。T 为目标置信度,它反映当前滑动窗口是否包含检测对象及其预测准确性的估计概率,计算如下:
式中P0表示滑动窗口包含检测对象的概率, P1表示滑动窗口与真实检测对象区域的重叠面积(像素单位)。若B 为每个单元格可以用于预测对象的滑动窗口数量,C 为类别总数,则YOLOV3 的全连接层的输出维度N 计算如下:
为提高YOLOV3 网络对红外图像中小目标的检测能力,本文提出了IR-YOLO 神经网络结构,红外小目标的特点主要为分辨率低(红外小目标普遍20×20 像素),细节模糊,缺乏色彩特征,因此,网络结构改进的基本思想为压缩特征提取网络深度,利用浅层卷积层特征,浅层的卷积特征感受视野包含的背景噪声小,适宜于提取低分辨率小目标语义特征,对红外目标具有更好的表征能力。深层卷积层处理高分辨率细节特征更为合适,而对红外图像这类低分辨率图像特征感受视野包含的背景噪声较多,可利用有效信息量较少,因此可进行压缩。同时,为进一步提高检测实时性,在YOLOV3 原有的检测层采用无锚点CenterNet 结构。IR-YOLO 神经网络结构如图1所示。
图1 IR-YOLO网络结构图Fig.1 IR-YOLO network structure
IR-YOLO 神经网络结构中,剪裁了YOLOV3主干特征提取网络(Darknet53)中44 到53 共9 个卷积层以及最后4 个残差层,使原有主干特征提取网络由74 层降低至61 层,形成压缩网络结构(Compress Darknet53)。最小尺度输出层,检测尺度S=13,输入512 通道,输出75 通道。中尺度输出层,检测尺度S=26,与48 层的特征图合并,输入256 通道,输出75 通道。大尺度输出层,检测尺度S=52,与23层的特征图合并,输入128通道,输出75通道。由于红外图像分辨率较低,细节模糊,缺乏高分辨率语义特征,因此44层以上的深层卷积层提取的红外图像特征中包含有效红外目标语义特征信息较少,同时容易引入感受视野噪声,造成识别精度的降低[20-25],而23层开始的浅层卷积层包含较多红外目标语义特征信息,存在感受视野噪声较少,因此,在主干特征提取网络上进行深层卷积层的剪裁,检测输出层的向浅层移动的压缩改进方式将更好利用有效表征红外图像目标语义特征信息的浅层卷积层特征图,提高红外小目标识别率,同时压缩网络深度将降低运算量,提高实时性。
检测部分3个检测尺度上均使用CenterNet结构代替原有的YOLO 层,CenterNet 是CVPR2019 大会上提出的最新目标检测方法,其基本思想为:基于锚点(anchor box)的方法经常出现大量不正确的边界框,由于缺乏对相关剪裁区域的额外监督所造成,因此原YOLOV3在检测层中需要大量的anchor box进行目标检测。而CenterNet是一个单阶段的关键点检测模型,将检测每个目标物看作3个关键点(中心点,上下对角点),避免产生大量anchor box,降低运算量提高实时性的同时提高检测准确率及召回率。
②详见“经济困境下的中国工人,从双鸭山工人讨薪抗议谈起”:http://www.wyzxwk.com/Article/shidai/2016/03/360420.html。
IR-YOLO 所 使 用 的CenterNet 由Cascade corner pooling及Center pooling构成,从而获得从左上角及右下角的丰富信息,同时在中间区域获得更多的识别信息。检测部分结构如图2所示。
图2 CenterNet结构Fig.2 CenterNet architecture
CenterNet网络中的Center pooling模型由2个卷积归一化残差融合层(conv-bn-relu),1 个左池化层(left pooling),1 个右池化层(right pooling),1 个顶层池化层(top pooling),1个底层池化层(bottom pooling)组成,作用在于用于预测中心关键点的分支,有利于中心获得更多目标物的中心区域,进而更易感知建议区域的中心位置,通过取中心位置横向与纵向响应值的和的最大值实现此方法。Cascade corner pooling模型由2个卷积归一化残差融合层(conv-bn-relu),1个左池化层(left pooling),1 个卷积归一化融合层(conv-bn),1 个顶层池化层(top pooling)构成,作用在于增加原始的corner pooling 感知内部信息的功能。结合了特征图(feature map)中目标物内部及边界方向的响应值和的最大值以预测左上角及右下角的2 个角点。中心池化模块(center pooling)及级联角池化模块(cascade corner pooling)的输出融合后即可得到准确的目标预测位置。
在使用CenterNet进行检测时,中心区域的大小影响边界框的检测结果。因此,采取尺度敏感区域以适应不同尺寸大小的目标物。其将生成相对小目标较大,相对大目标较小的中心区域,例如,需要判断一个边界框I 是否需要被保留,tlx,tly代表框左上角的点,brx,bry代表框右下角的点。定义一个中心区域j,定义左上角的点的坐标为(ctlx,ctly)右下角点(cbrx,cbry)。这些参数定义满足:式中n 为奇数,代表中心区域j 的大小。对于边界框小于150时n=3,大于150 时n=5。
实验硬件数据采集平台为普雷德G35 氧化钒384×288 分辨率机芯,35 mm 镜头的户外热成像探测仪,输出为单通道16bit数据。模型训练使用硬件平台为Core i7-8750H 2.2Ghz 处 理 器,16GB 内 存,Geforce GTX 1080 8GB 显卡。软件平台使用Win10,tensorflow1.9.0,CUDA9.2,VS2017,opencv4.0。
由于红外热成像开放数据集较少,而且针对夜间野外活动野兔的数据集缺乏。因此,本文采用热成像夜间野外拍摄野兔在各种环境,距离下出现的视频制作自建数据集,数据集的采集时间为野兔夜间活跃的秋冬季节晚9点至凌晨2点,采集地点为中国四川省境内农业大县梓潼,盐亭,剑阁。数据集中,野兔出现环境包括农田,果园,林地,荒地,草丛等,出现距离包括近距离(10~20 m),中距离(20~50 m)与热成像所能识别的较远距离(50~100 m),野兔形态包括正面,侧面,背面等,特别采集了一定数量存在草木遮挡情况的野兔红外图像以训练提升存在遮挡情况下的野兔目标检测能力。数据集包括6 000幅野兔红外图像,训练集与测试集按5:1 比例划分,数据集中部分样本如图3所示。
图3 不同拍摄距离的野兔红外检测样本Fig.3 Rabbit infrared detection samples with different shooting distances
在模型训练环节,使用迁移学习的方法以节省时间,提高训练速度。首先将数据集中的图像样本全部转换为416×416(像素)的图像,训练时以100 幅图像为一个批次进行小批量训练,每训练一批图像,权值进行一次更新。权值的衰减速率设为0.000 5,动量设置为0.9,初始学习率设为0.001,对IR-YOLO 网络进行20 000 次迭代,每间隔2 000 次迭代后保存一次模型,最终选取精度最高的模型。
整个训练的目标损失函数计算公式如下:
式中Lcodet与Lcedet分别为边缘关键点与中心点的散焦损失,用于训练检测目标边缘与中心点。Ld为向量距离损失函数,计算如下式:
式中Lcopull为边缘点回拉损失,用于将同一目标内嵌向量最小化,Lcopush为边缘点外推损失,用于将不同目标内嵌向量最大化,Lceoff与Lcooff分别为中心关键点与边缘关键点的偏移损失,用于预测二者的偏移值。α,β,γ 为权重系数,本文参考文献[13]的思路3 个参数分别取0.1,0.1,1。经过20 000 次迭代,模型平均损失降至0.2 以下。
式中Tp为正确检测到野兔的数量,Fp为误将非野兔目标检测为野兔的数量,FN为误将野兔检测为背景的数量。
此外,应进行模型在夜间野外复杂环境中的鲁棒性测试,该测试环节采用复杂环境下对红外热成像视频中野兔目标的平均检测率,与平均检测速度作为评价指标。
实际测试时选取默认IOU 为0.5,大于该阈值认为在红外图像中检测到了野兔目标。测试选用近距离、中等距离与远距离不同尺度的红外视频中野兔目标进行测试,为验证测试方法的可靠性与准确性,在对比改进YOLOV3前后各项指标的同时,使用Faster-RCNN与RFCNRESNET101 方法采用相同数据集与训练参数进行模型训练,并进行对比测试,结果如图4所示。
图4 不同神经网络对不同距离的目标野兔识别结果对比Fig.4 Comparison of recognition results of target rabbits with different distances by different neural networks
图4 可见,红外热成像图像中,近距离野兔与中距离野兔几种检测网络均可识别,而远距离野兔仅深度目标检测网络RFCN-RESNET101 与本文提出的IR-YOLO 网络可成功识别。
对测试样本集中的各个目标检测网络的准确率(P)、召回率(R)、调和均值(F)和平均处理速度的统计如表1所示。
表1 网络评价指标分析Table 1 Analysis of network evaluation index
根据表1 可知改进后的IR-YOLO 目标检测模型相对YOLOV3 目标检测模型对夜间野兔检测的准确率和召回率比分别提高了4.3 个百分点和3.3 个百分点,调和均值提高1.7 个百分点,平均处理速度提高5 帧/s,而另外2 个目标检测网络由于在测试样本集中误将非野兔目标检测为野兔的数量较高,影响了总体精度,平均处理速度方面远低于YOLOV3 与本文提出的IRYOLO。
实际野外环境中,夜间野兔常出现于林地,杂草较多的田地,存在遮挡,目标小,运动速度快的特点,因此,使用在一片较为茂密的经济林中夜间较远距离拍摄(80 m)的100 帧快速运动的野兔红外热成像视频以测试本文提出方法与Faster-RCNN,RFCN-RESNET101,YOLOV3 在鲁棒性上的对比。
首先,在100帧视频中随机提取4帧,测试结果如图5所示。
随机提取的4 帧图像分别为第16 帧,第20 帧,第46帧与第90 帧。其中第16 帧存在快速运动与部分遮挡,Faster-RCNN 不能成功识别,其余目标检测网络均可成功识别,第20 帧目标相对静止,遮挡程度小,所有检测网络均可成功识别,第46 帧存在快速运动与较大程度的遮挡,仅本文提出的IR-YOLO 网络成功识别,其余网络均无法识别,第90 帧目标快速运动,同时遮挡面积非常严重,所有网络均无法识别。由上述对比测试结果可见本文提出的IR-YOLO 网络在夜间野外复杂环境下对红外野兔目标识别优势最大,同时平均处理速度最高,达50帧/s以上。
为更为可靠的验证检测网络鲁棒性,对整个测试视频100 帧中目标平均检测率,漏检率,误检率,平均检测速度做出统计,统计结果如表2所示。
图5 复杂环境下不同神经网络的检测性能对比Fig.5 Detection performance comparison of different neural networks in complex environments
表2 复杂环境下不同神经网络的鲁棒性对比Table 2 Robustness comparison of different neural networks in complex environments
根据鲁棒性测试结果可见,本文提出的IR-YOLO 目标检测模型在复杂环境中的鲁棒性良好,对快速运动,存在遮挡,距离较远的野兔目标检测率相对YOLOV3 目标检测网络提高15 个百分点,检测速度提高5 帧/s,检测率方面相对Faster-RCNN 与RFCN-RESNET101 分别提高45 个百分点与20 个百分点,检测速度方面相对Faster-RCNN 与RFCN-RESNET101 分别提高30 与45 帧/s。适宜于夜间复杂环境下对野兔的检测。
1)本文所提出的针对红外热成像中出现环境复杂,快速运动的红外小目标检测网络IR-YOLO 对夜间野兔目标具备较高的准确性,试验结果表明,模型准确率和召回率分别达到了97.8%和92.5%,平均检测速度达51帧/s。
2)针对红外图像小目标特点对YOLOV3网络结构做出改进,压缩特征提取网络深层卷积层,向浅层卷积层平移检测输出,提取利用较好反映低分辨率红外图像特征的浅层卷积层语义特征,提高红外小目标检测精度,降低运算量,在网络检测部分采用CenterNet检测结构代替原有YOLO层,进一步提高检测速度与精度。
3)对实际夜间复杂环境下出现的较远距离快速运动野兔目标的鲁棒性测试中,本文方法表现出较强鲁棒性与实时性,检测率较YOLOV3 目标检测网络改进前提升15 个百分点,检测速度提升5 帧/s。检测率方面相对Faster-RCNN 与RFCN-RESNET101 分别提高45 个百分点与20 个百分点,检测速度方面相对Faster-RCNN 与RFCN-RESNET101分别提高30和45帧/s。