基于轻量化神经网络的目标识别跟踪算法研究*
2020-07-09曹昭睿刘凤丽郝永平
曹昭睿,白 帆,刘凤丽,郝永平
(1 沈阳理工大学机械工程学院, 沈阳 110159; 2 沈阳理工大学装备工程学院, 沈阳 110159)
0 引言
野外搜救、自动驾驶、视频监控等应用中,机器视觉能够提供给计算机最直观的目标信息,需要采取不同的技术措施。其中,目标物的识别与锁定是机器视觉中最重要的一个环节,而对于以上应用,该环节不但需要具备速度快、精准度高、抗干扰能力强等特点,还要尽可能的减少对计算资源的消耗。由于实时识别跟踪任务下,目标经常会发生无规则变形或快速移动,所以基于模式识别的目标识别算法的准确率会受到极大影响。目前如Faster-RCNN、SSD[1-2]等基于卷积神经网络的深度学习算法虽然针对可变化环境与目标的识别率较高,但由于卷积神经网络对硬件系统的依赖性过大,为达到实时识别跟踪,这些算法在计算过程中会消耗大量的计算机计算能力。
文中设计了一种联合轻量化卷积神经网络与KCF的目标识别跟踪算法,在第一帧快速识别目标并锁定该目标的区域,将该区域信息传递给KCF跟踪环节,进行目标锁定跟踪,同时对比识别模板与跟踪模板间的相关性,一旦识别模板与跟踪模板的差别较大,则重新识别目标并刷新锁定区域,实现对移速较快且发生形变的目标的跟踪。
1 系统组成
算法整体由目标识别、目标跟踪与位置刷新3个环节组成,图1为轻量化神经网络(tiny convolution neural network,TCNN)识别跟踪算法的流程图。首先利用轻量化卷积神经网络对探测视频的第一帧进行目标识别,将需要锁定的目标进行位置标记,并获取该位置的区域坐标信息(图2(a)),将该坐标信息作为跟踪环节内目标区域的来源,利用KCF算法对该区域进行跟踪(图2(b));跟踪过程中对识别模板与跟踪模板利用感知哈希算法进行相关性比较,若识别后新目标所在区域与原跟踪区域尺寸、位置差别较大(图2(c)),则刷新跟踪区域并继续跟踪目标(图2(d)),重复以上步骤至目标脱离视野。
图1 轻量化神经网络识别跟踪算法流程图
图2 系统处理效果流程
2 算法实现
2.1 目标识别
在对目标进行跟踪前,系统需要对视频数据进行目标识别检测,以确定目标是否存在并提取目标的位置信息。为加快系统计算速度,同时减少对硬件系统的依赖性,文中选用轻量化神经网络作为目标识别核心算法。TCNN是一种以YOLO卷积神经网络为基础,经过缩减优化后的网络模型。该模型由7个卷积层、7个最大池化层和一个输出层组成,其中卷积层与最大池化层依次交替出现[3]。卷积层中卷积核尺寸为3,步长为1,滑动步幅为1,层内激活函数为ReLU函数;最大池化层的采样核大小为2,步长为2;输出层最终输出多维张量。图3为TCNN网络结构模型图。
图3 TCNN网络结构模型图
TCNN网络首先将目标图片分割成S*S个网格,每个网格将分别输入到输入层并向后传递计算[4]。若目标的中心落在某个网格中,则该网格就将对这个区域内的目标进行检测。置信值表示当前网格中是否包含目标以及目标位置的准确性,置信值为检测目标的概率与IOU的乘积,如式(1)所示:
(1)
P(object)为该网格中是否存在有目标,若存在则值为1,不存在值为0。IOU为交并比(intersection over union),即目标产生的目标框与该目标的范围框的交并比例,表达式为:
(2)
式中:DR为检测目标框范围[5](detection result);GT为真实目标覆盖范围(ground truth)。检测目标范围与真实目标覆盖范围交并结果IOU如图4所示。
图4 IOU示意图
每个网格同时还能预测C个目标类别概率,即第i类目标中心落在该网格内的概率,记为P(Classi|Object)。C为目标的类别数,与目标个数B无关。将目标类别概率与置信值相乘,得到乘积作为置信值的评分,如式(3)所示:
(3)
最终,根据每个网格所得出的置信值评分,确定网格中是否存在目标,从而完成目标的确定与识别。
2.2 目标跟踪
选用KCF算法作为目标跟踪的核心算法,该算法通过岭回归分类器的学习来完成对移动目标的跟踪。将轻量化神经网络识别出的目标信息作为目标区域传入岭回归分类器中,再利用循环矩阵理论,对目标区域进行稠密采样,获取正负样本,提取方向梯度直方图特征,将所有样本对岭回归分类器进行训练。在检测阶段,以视频前一帧目标位置为中心进行稠密采样,将得到的所有样本输入到岭回归分类器,经过分类,得到目标的位置。
2.2.1 稠密采样与循环矩阵
KCF算法中所有样本均由对目标区域的循环位移处理所得到,该过程成为稠密采样[8]。设目标区域为图5中实线框内容所示。
图5 稠密采样示意图
则记该区域内图像块所含信息为X=[x1,x2,…,xn]T,向量的循环可由排列矩阵得到,即[9]:
(4)
Px=[xn,x1,x2,…,xn-1]T
(5)
式中Px表示为图5中虚线框所示信息。按照该方法将目标框在水平方向与垂直方向进行循环采样,由此获得完备的训练样本集。
2.2.2 岭回归分类器
设样本集为(xi,yi),则岭回归分类器需找到一个函数f(X)=wTX,并使其损失函数下降到最小,即:
(6)
式中:w是列向量,表示权重系数;λ为防止过拟合的正则项。写成矩阵形式为:
(7)
X=[x1,x2,…,xn]T
(8)
式中:X的每一行表示一个向量,y是列向量,每个元素对应一个样本的标签,令导数为0,在复数域中表示为:
w=(XHX+λ)-1XHy
(9)
式中XH表示复共轭转置矩阵。
2.2.3 核空间下的岭回归
对于无法在原始空间分类的样本,需要引入核函数才可将低维空间中存在的线性不可分的模式映射到高维空间中并且实现线性可分,其中核函数的表现形式为[10]:
k(x,z)=φ(x)φ(z)
(10)
式中:k(x,z)为核函数,φ(x)和φ(z) 为低维空间到高维空间的映射函数。在这种情况下重新设定分类器:
f(xi)=wTφ(xi)
(11)
则该分类器的权重系数为:
(12)
式中:w是Φ(X)行向量张成的空间中的一个向量,当w=∑aiΦ(xi)时:
(13)
令K表示核空间的核矩阵,则存在:
a=(K+λI)-1y
(14)
目标跟踪过程中,岭回归分类器首先直接接收来自轻量化神经网络的目标位置信息并进行跟踪,在下一帧后将更新的目标位置信息继续返回岭回归分类器进行训练,如此反复,完成对目标的跟踪。
2.3 位置刷新
当目标在移动过程中发生变形或移速陡增时,KCF算法可能会出现跟踪锁定框与实际目标大小和位置不相匹配的状况,导致无法准确跟踪目标。为减小该状况造成的跟踪误差,文中利用感知哈希算法对每一帧内的跟踪模板与原目标识别模板进行对比,感知哈希算法基于频域实现,即将图像通过不同频率分量叠加的形式表示,由于感知哈希算法采用离散余弦变换 (DCT)保留了图像中频率较低的信息,故该算法保留了原有图像的更多细节,同时避免了伽玛校正或颜色直方图调整的影响。哈希算法首先将图像缩小为8像素×8像素的尺寸,去除对比图片中尺寸和比例的差异, 只保留图片的结构、明暗等基本信息。随后将图像转化为灰度图,设灰度图图像为Gp。利用离散余弦变换将灰度图从像素域变换为频域,转换过程如下[11]:
(15)
式中:x、y是像域中元素坐标;f(x,y)是该坐标下的值;n是像素矩阵的阶;u、v是频域中元素的坐标;F(x,y)是频域的系数矩阵的元素,该系数矩阵记为Mn×n[16],如式(16)所示:
(16)
式中:mk×k为Mn×n左上角k×k矩阵,计算mk×k矩阵元素平均值,记为eavg,并将mk×k阵中所有元素与eavg比较,若该元素值大于eavg,则记为1,反之记为0,统计上述数据后得到k2个bit的二进制串,记为Hp。最后计算两张比较图片HP的汉明距离,距离越大,则认为两张图差异越大,反之两张图片越相似。一旦两模板差别较大(文中设定两幅图片中汉明距离的不同数据位超过10时差别较大),则认为目标已脱离跟踪框,需利用轻量化神经网络重新对当前帧图像内的目标进行识别,并根据识别框重新定义跟踪框位置;反之则认为目标仍存在于跟踪框内,并保持当前跟踪框继续对目标进行跟踪。
3 实验结果
本实验以室外环境下行人为目标,行人行走过程中会突然加速奔跑、蹲伏和被部分遮挡。行人目标权重由含有行人步行、奔跑、蹲伏与部分被遮挡的一万张图片集训练而成,训练网络为标准YOLO V2。测试视频时长10 s,共290帧,视频内目标共计一人,实验平台为英伟达Jetson TX2视觉计算模块。
经测试,TNCC算法识别测试效果如图6所示。其中图6(a)中紫色识别框为初始帧时利用轻量化神经网络对目标进行首次识别与定位结果;图6(b)中红色跟踪框为使用KCF对目标跟踪结果;图6(c)中黑色对比框为目标发生形变时感知哈希检测到跟踪框定位不准,同时将跟踪框从红色改变为黑色并启动轻量化神经网络重识别的结果;图6(d)为启用轻量化神经网络重定位后的结果。目标一旦发生类似的变化,系统将如图6所示进行循环操作。
图6 TNCC识别测试效果
为验证本算法的优化效果,实验同时针对普通YOLO V2、普通KCF跟踪算法、Camshift跟踪算法进行测试,对比以上算法和本算法针对测试视频进行识别跟踪时的计算机利用率与其他性能指标。其中各算法计算机利用率如图7所示。
图7 各算法计算机利用率
图7中显示,当目标发生快速移动与形态变化时(0~5帧、61~91帧、187~198帧、299~232帧、252~260帧),TNCC启用轻量化神经网络对目标进行重新识别与定位,此时计算机使用率较大,当目标被锁定后,TNCC关闭目标识别系统,开启目标跟踪环节,此时CPU使用率下降,GPU使用率为0。TNCC仅在目标出现大幅度增速与发生形变时会消耗较多的计算空间,一旦目标稳定后且被TNCC锁定,则系统将会进入到计算平稳态,此时余下的空间便可以提供给如飞行控制、路径规划、目标对应行动抉择等其他计算环节。
各算法计算性能指标如表1所示。
表1 各系统计算性能
综合图7与表1中的结果,TNCC在计算机利用率、目标脱离率与识别速度上最为平衡,在提高计算机剩余计算空间的情况下同时提升了针对可变形、加速、遮挡目标的识别跟踪能力,解决了目标识别跟踪过程中普通卷积神经网络的高计算机占有率和普通跟踪算法需要人工划分兴趣区域与易丢失目标位置的问题。
由于TNCC减小了计算机计算负载,同时减小了模式识别受目标大幅度变化的影响,故该算法能够更好地与视觉航迹规划、视觉决策计算等其他基于机器视觉识别跟踪的后续操作进行连接,为相应的扩展应用提供了更多的计算环境支持。
4 结束语
文中设计了一种结合轻量化神经网络、KCF目标跟踪算法与感知哈希算法的目标识别跟踪算法,对于目标发生突然变形、提速与被遮挡的环境下具有较好的识别与跟踪效果,在不减小识别精确度的情况下提高了计算速度,同时为其他后续操作提供了更多的计算空间。