一种基于视觉的库区可疑目标识别算法研究

2022-04-24 03:00李向荣陈永康王志刚罗鑫李晨晓候湘
北京理工大学学报 2022年4期
关键词:卷积神经网络样本

李向荣,陈永康,,王志刚,罗鑫,李晨晓,候湘

(1. 陆军装甲兵学院 兵器与控制系,北京 100072;2. 中国人民解放军63850 部队,吉林,白城 137000;3. 中国人民解放军32108 部队,内蒙古,满洲里 021400;4. 重庆大学 期刊社,重庆 400044;5. 重庆大学 自动化学院,重庆 400044)

由于军事仓库地形的特殊性,无人平台巡检的图像采集设备是对距离至少150 m 范围以内的目标进行采集,而且在目标较多情况下,仅用人眼进行识别,不仅工作量大,在疲劳时容易造成误判. 在较远距离的情况下,采用人脸识别的方法进行有效的可疑目标识别难度太大,除非无人机平台抵近详查. 因此,设计一种能及时有效地自动对目标识别并进行可疑类型判断的智能算法具有重要意义. 由于军事库区人员和车辆装备颜色和样式比较特殊并且统一,拟通过对目标提取颜色和样式特征进行较远距离可疑目标识别,如人员目标的服装样式,车辆目标的颜色特征.

通过视觉图像识别可疑目标,是比较先进的方法,而且是当前的研究热点[1]. 远距离采集的图像中目标信息是极少的,有的甚至只有几个像素,图像识别难度也很大,现有的经典算法并不能直接解决这个问题.

在目前3 种典型的目标检测算法中,R-FCN[2]、Faster R-CNN[3]在精度上都有较好的表现,但他们消耗的计算资源较多,运算速度也较慢. YOLO[4]在硬件资源上要求最小,速度也最快,而且不断出现的新的版本在精度和速度上都有提高. 速度和精度似乎是一对矛盾的概念,互相之间有一定限制,到一定精度后,精度越高,速度越慢. 后续的YOLO 版本综合性能虽有提高,但提高的幅度并不是很大. 因此,本文基于YOLOv3 版本开展库区可疑目标识别算法的研究.

1 算法总体框架及其特点

可疑目标识别算法主要解决2 个方面的问题,一个是目标识别,即从图像中进行目标检测;一个是可疑目标识别,即对图像中检测出的目标进行可疑目标判别. 目前是利用图像采集设备采集的图片样本,但是由于可采集的环境范围有限,图片样本不足,可以通过预训练网络模型的方法适当弥补样本不足,增加可提取的样本特征.

另外,较远距离采集的图像所包含的信息通常较少,如图1 所示. 两幅图中,由于目标都是人,轮廓特征大致相同,因此,基于轮廓的特征提取方法效果将会受到限制. 然而,如果检测的样本图片限制在有统一着装要求的单位管理范围内,通过服装的样式、颜色和部分体态信息特征,是可以区分可疑目标类别的. 如遇到服装和体型相似但非本单位的人员,模型识别出的概率较小,则需要人工进行判别.

图1 较远目标对比图Fig. 1 Comparison of distant targets

为此,采用一种人工辅助算法,通过有限样本的历史数据建立相应的机器学习识别模型,用识别模型和人工经验一起判断识别结果. 该算法集目标识别和可疑目标识别于一体,对非己方目标概率高的直接报警,对无用目标自动排除,对少数无法确定可疑类型的目标提交人工进行进一步识别. 而且,由于统一服装的管理单位,大量的样本图片都是本单位的图片,使用该算法思路能迅速自动判别我方图片信息,不必人工再去判别. 这样可以大大减少人工识别的工作量,减少误判的概率.

1.1 总体框架

图像识别通常分为如下三个步骤:一是从样本图像中提取相关候选矩形区域;二是对候选区域进行特征提取;三是利用提取的特征进行分类. 其中,特征提取部分采用基于卷积神经网络的深度学习模型有较好的效果. 可疑目标识别则在目标识别的基础上,过滤掉不敏感的类别目标,如鸟、狗等动物,对敏感目标采用可处理非线性数据的分类器进行可疑目标判别,如采用核方法的支持向量机(SVM)、浅层全连接的神经网络等. 算法总体框架如图2 所示.

图2 算法架构Fig. 2 Algorithm architecture

1.2 算法特点

①优选目标检测模型提高检测速度和精度.

算法框架中的“判断是否敏感目标”实际上就是从目标检测算法中检测出的目标进行判断. 因此这个步骤的核心动作就是目标检测,选择合适的目标检测算法就显得尤其重要了. 由于使用的是旋翼无人机平台来采集图像,载荷有限,运算能力也比较有限,而应用的场合对实时性的要求又较高,又必须保证一定精度,防止频繁出错.

②采集小型数据集训练.

数据采集完全是由人工收集并进行标记,因此,数据的量不可能太大,也不可能具有广泛的通用性.但通过人工选择有针对性的数据和人工标记数据的方法来适应具体的应用是可行的. 通过网络收集和现地拍摄大量图像,使用YOLOv3 目标检测模型进行目标检测,并对敏感目标进行提取,为后续可疑目标判别模型能够进行训练,将图像中的敏感目标裁剪下来并人工标记了3000 多张可用的目标图像,做成一个小型的数据集(训练集2 200 张,验证集1 000张,测试集200 张)用于对模型进行训练和测试. 实验以人员为敏感目标进行可疑目标识别,由于采用的方法一样,实验的结果可推广到其他目标.

③多级多层进行可疑目标分类.

第一级目标检测之后,就是对可疑目标识别,也需要提取丰富的目标形状特征,再根据目标形状特征的颜色和颜色之间的组合进一步对特征进行分析、计算和拟合. 因此,第二级编程部分使用简单卷积神经网络来提取特征. 卷积神经网络对提取的图像特征之间的相对位置不敏感,并对颜色特征提取的效果也不够好,有可能对有大致相同特征但相对位置不同的物体无法识别,最后一级拟采用浅层全连接神经网络进行分类.

根据以上特点设计如下关键技术,用以实现算法框架功能.

2 关键技术

2.1 预训练卷积神经网络和模型微调提取可疑目标特征

深度学习算法是受到生物神经网络启发而发展的,基于卷积神经网络的深度学习算法更加符合生物视觉神经元原理,卷积神经网络的应用使得大深度的神经网络能得以实现,其对图像特征的分层处理更加符合生物视觉原理[5]. 卷积运算对图像的轮廓特征具有较好的提取效果,多层的卷积神经网络就可以提取多层级的轮廓特征. 如图3 所示,对原始图像进行两种随机权重的卷积运算

运算后得到两幅图如图3 所示,从图中可以看出,运算的结果近似于原始图像的边缘特征. 实际上,在训练好的深度学习网络中,卷积的作用也正是体现在提取边缘的效果上.

图3 卷积提取轮廓特征Fig. 3 Contour feature extraction by convolution

由于训练大型深度学习网络在实际应用中需要消耗大量的计算资源,所以,更常用的做法是使用已经训练好的大型网络模型的卷积神经网络进行特征提取. 为优化算法效果,还可以对模型进行微调,而不是训练整个大型网络. 图像分类的特征提取算法通常使用经典的模型,如VGG、ResNet、Inception、Inception-ResNet、Xception 等,这些模型适用场景不同,根据图像样本的特征情况选择合适的模型显得尤其重要. 提取可疑目标特征的前提是从样本图像中提取可疑目标样本图像,因为样本图像含有大量的背景信息,所以判断敏感目标环节即是目标检测.

2014 年谷歌提出了GoogleNet[6],并在当年ImageNet 举办的图像识别竞赛中的胜出,第二名是VGGNet[7]. 2014 年后,基于卷积神经网络不断有新的网络形式出现,有影响力的是微软的残差网络Res-Net 和谷歌的Inception[8]. ResNet[9]具有较快的学习速度,Inception 具有较好的学习效果[10]. VGGNet 虽采用的是最简单的卷积池化方式,却能提取很好的特征,也便于编程实现,所以本文采用此模型的卷积层进行可疑目标特征提取.

采用预训练卷积神经网络提取的特征大部分是冗余的,而且模型底层提取的特征通常是更加通用的特征,越高层提取的特征越具体和专业[11]. 为了让模型更加符合具体应用训练数据的特征表示,有必要对模型卷积层的相关顶层也进行训练,虽然这样会增加模型训练的消耗,使得训练时间更长,但可以得到精度更高、更加范化和对具体应用更加有针对性的模型.

2.2 采用全连接神经网络进行可疑目标分类

卷积神经网络对提取的图像特征之间的相对位置不敏感,并对颜色特征提取的效果也不够好,有可能对有大致相同特征但相对位置不同的物体无法识别. 因此,卷积神经网络不适合作为分类器使用,在某些场合,使用传统的机器学习方法,在具体应用中,可能会有更强的针对性和更好的效果,如采用核方法的支持向量机(SVM).

在二分类的应用中,SVM 是通过学习样本数据找到一个最优的超平面,来对样本数据分类的. 这样的超平面在一维数据中是一个点,在二维数据中是一条直线,在三维数据中是一个平面,而在更高维度中就称之为超平面[12]. 在线性分布的样本数据中,这样的超平面有无穷多个,训练的目的就是找到一个超平面,使得距离的超平面最近的样本点(特征向量)的距离达到最小,这样的样本点就叫做支持向量,支持向量机的名称就是这样来的.

如果样本数据是非线性分布的,如图4 所示,2维样本数据是非线性的(图4(a)),就无法找到一条直线(超平面)进行分类,但是如果将所有样本数据增加一个维度,这个维度z的值等于原来数据特征x、y平方和的平方根

使二维数据增加为三维数据,便可以使样本数据线性可分(图4(b)). 核方法就是使低维线性不可分数据映射到高维线性可分数据的一类方法,采用了核方法的SVM 便具有了处理非线性数据的能力.

图4 非线性数据Fig. 4 Nonlinear data

浅层全连接神经网络与采用核方法的支持向量机在数据分类方面有一定的相似之处,通常的浅层神经网络都是2 个隐藏层,隐藏层的神经元是带有非线性激活函数的神经元,使神经网络也具有处理非线性数据的能力[13],如图5 所示. 如果某层的每个神经元和上一层的所有神经元都有连接,就叫全连接层. 顾名思义,全连接神经网络的所有层都是全连接层. 只要有足够数量的神经元,只有一个隐藏层的神经网络可以拟合任意的一元连续函数,两个隐藏层的神经网络可以拟合任意函数. 实际上,因为隐藏层具有足够数量的神经元,它就相当于将特征向量转化为更高维的向量,经过训练,在新的特征空间就可以转化为线性可分向量了,这就是与采用核方法的支持向量机的相似之处. 由于支持向量机在多分类的情况下表现不如全连接神经网络,因此,本文采用浅层全连接神经网络进行可疑目标分类.

图5 全连接神经网络Fig. 5 Fully connected neural network

3 仿真试验

由于可疑目标图像特征提取需要的是更为通用的较抽象特征,因此采用基于预训练卷积神经网络模型卷积层进行模型微调,使卷积层的部分下层卷积块参与训练[14]. 算法模型如图6 所示,将卷积层的前4 个卷积块冻结,让第5 个卷积块与浅层全连接层一起参与样本训练,这样可得到更加细致和符合具体应用的特征,使得模型识别可疑目标的精度更高,但可能会提高训练时间和计算消耗. 虽然图像卷积运算对图像轮廓特征有较好的效果,却对图像的其他特征如轮廓间的相对位置、物件颜色等特征效果并不明显[15-16],因此使用浅层全连接网络进行可疑目标判别,以提高除轮廓特征以外的特征提取精度.

图6 使用模型微调的模型Fig. 6 Model tuning using model

实验结果如图7 所示,模型在第8 epoch 时就已经收敛,精度最高达98.3%,取得了很好的效果. 说明此模型基本有效,已经超过人眼识别的识别率,曲线波动较小,说明此模型提取的特征比较丰富,符合实际情况,通用范化能力较好. 从图中曲线看,训练总时长很长,但如果在第8 epoch 时就停止训练,总的训练时间反而会减少.

图7 模型微调实验效果Fig. 7 Experimental results of model fine tuning

至此,基于模型微调的预训练卷积神经网络与浅层全连接神经网络的可疑目标识别已达到使用要求,将整个算法框架涉及到的所有模块连接起来进行仿真,以验证整个算法的有效性. 例如,在场景中提取敏感目标[17-18],暂以人物为敏感目标进行可疑目标识别,非可疑目标用“person”标定,可疑目标用“???”标定,如图8 所示,使用相机在较远距离采集2 幅图像,输入算法模型进行仿真验证,可以看到,标定基本正确,说明算法有效.

图8 可疑目标识别效果Fig. 8 Suspicious target recognition effect

4 结 论

根据军事仓库安全管理的特殊性,实现较远距离可疑目标的识别与判别,同时可以减少人工识别的工作量,提出了一种基于视觉的可疑目标识别算法,并通过编程实现,仿真实验表明可以取得较好的识别精度. 本文提出了基于视觉的可疑目标识别总体框架,先使用目标检测算法提取目标,再将提取的目标输入可疑目标分类器进行判别;针对通用算法中使用的精度较好的简单卷积神经网络模型存在特征不够细致导致验证波动较大、在新的数据下表现不稳定的缺陷,为了增加提取特征的层次和数量,采用预训练神经网络卷积层来提取特征,以提高模型训练精度;基于预训练卷积神经网络进行模型微调,使预训练模型卷积层的最下层也参与样本训练,在验证样本集中验证精度达到了98.3%,初步具有良好的实用价值.

猜你喜欢
卷积神经网络样本
基于全卷积神经网络的猪背膘厚快速准确测定
基于FPGA的卷积神经网络加速优化方法
基于神经网络的船舶电力系统故障诊断方法
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
基于深度卷积网络与空洞卷积融合的人群计数
规划·样本
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
随机微分方程的样本Lyapunov二次型估计