本发明涉及视频目标识别跟踪技术领域,特别是涉及一种基于yolov3的空中无人机目标识别和跟踪方法。
背景技术:
高性能的目标识别和跟踪方法是计算机视觉领域的核心技术。目标识别方法有传统方法和基于深度学习的方法。传统的目标识别方法分为三个部分:首先进行区域选择,然后对区域中的目标进行特征提取,最后对提取的特征使用分类器分类。一方面,传统方法中,无论什么样的目标识别,在设置滑动窗口的时候,用的都是同样的方法,没有针对性,而且由于窗口设置的过多导致算法模型复杂,时间复杂度高;另一方面,传统方法中用于分类识别的目标特征是手工提取的,隐藏的问题是提取的特征不够好,从而在进行目标识别的时候可能导致效果不稳定。
基于深度学习的目标识别方法使用卷积神经网络提取目标特征,算法模型是基于端到端的网络,不需要进行区域候选,直接对输入的图片进行分类识别。对于深度学习领域常见的目标检测数据集,yolov3所做的物体检测已经取得了很好的检测效果。而对于小型无人机目标,由于是远距离拍摄,在部分画面中无人机目标尺寸太小,yolov3的检测性能并不能达到最优。
跟踪方法经过多年的发展已有很好的跟踪效果,但是受到光照、遮挡、尺度等因素变化的影响,都有一定概率会使跟踪发生偏移,或者产生误跟踪的问题,目标跟踪出现问题无法修复。
技术实现要素:
针对现有技术存在的问题,本发明提供一种基于yolov3的空中无人机目标识别和跟踪方法,能够提高空中无人机目标识别和跟踪的精度、效率和计算复杂度。
本发明的技术方案为:
一种基于yolov3的空中无人机目标识别和跟踪方法,其特征在于,包括下述步骤:
步骤1:制作训练集;
步骤1.1:将无人机作为空中飞行目标,获取无人机飞行视频;
步骤1.2:对无人机飞行视频进行分帧处理,得到多帧图片构成待筛选图片集;
步骤1.3:对待筛选图片集中重复的和没有目标物的图片按一定比例进行筛除,待筛选图片集中剩余的图片构成待处理图片集;
步骤1.4:对待处理图片集中的每帧图片进行预处理,得到预处理后的图片集;
步骤1.5:对预处理后的图片集中的每帧图片标记出无人机区域框,并标注无人机区域框中无人机的类别信息和位置信息,生成训练集;其中,所述位置信息包括无人机区域框的中心点坐标、宽、高;
步骤2:改进候选框参数;
步骤2.1:在不同的聚类数目k下,基于k-means聚类算法对训练集中的无人机区域框进行聚类,得到每种k值下的k个最优聚类中心,统计每种k值下的损失函数值;
步骤2.2:绘制损失函数值与k值之间的关系图,采用手肘法找到最优k值,得到最优k值下的k个最优聚类中心,将最优k值下的k个最优聚类中心作为yolov3的初始候选框参数写入配置文件,获得改进的yolov3;
步骤3:利用训练集训练yolov3中的darknet-53模型;
步骤4:获取待跟踪无人机的飞行视频,初始化i=1,在第1帧图像中手动获取跟踪目标,将第1帧图像中的跟踪目标设为目标模板,提取目标模板的hsv直方特征向量、hog直方特征向量;
步骤5:令i=i 1,根据第i-1帧图像中跟踪目标的位置信息生成第i帧图像的k*近邻搜索区域,利用训练后的yolov3模型对k*近邻搜索区域进行检测,输出k*近邻搜索区域中目标的类别及预测的多个目标候选框;
步骤6:留存与目标模板类别相同的目标候选框,进入步骤7;若没有与目标模板类别相同的目标候选框,则以第i-1帧图像的跟踪目标为第i帧图像的跟踪目标,进入步骤8;
步骤7:依次提取每个目标候选框的hsv直方特征向量、hog直方特征向量,计算每个目标候选框与目标模板的hsv直方图间的相似度、hog直方图间的相似度,并计算每个目标候选框与目标模板的相似度得分,选取最高相似度得分对应的目标候选框作为第i帧图像的跟踪目标;
步骤8:若i≥n,则结束跟踪;若i<n,则执行步骤9;其中,n为待跟踪无人机的飞行视频的总帧数;
步骤9:判断第i帧图像的跟踪目标是否达到目标模板更新条件,若达到则更新目标模板为第i帧图像的跟踪目标,转至步骤5;若未达到则转至步骤5。
进一步地,所述步骤1.1中,所述无人机包括小型四旋翼无人机和小型固定翼无人机;所述步骤1.4中,所述预处理包括灰度化、几何变换、图像增强、图像颜色调整。
进一步地,所述步骤3中,利用训练集训练yolov3中的darknet-53模型,包括:
步骤3.1:将训练集导入到yolov3中,修改voc.names文件、cfg文件中的voc.data文件、yolov3-voc.cfg文件;
步骤3.2:导入训练权重文件darknet53.conv.74后,训练yolov3模型。
进一步地,所述步骤4中,提取目标模板的hog直方特征向量包括:
步骤4.1:对目标模板进行gamma校正;
步骤4.2:计算目标模板中每个像素点在横坐标方向的梯度gx、纵坐标方向的梯度gy,并计算每个像素点的梯度的幅值和方向角分别为
步骤4.3:将目标模板分成多个细胞单元,统计每个细胞单元的梯度直方图,形成每个细胞单元的特征描述子;
步骤4.4:选取多个细胞单元组合成块,在每个块内归一化梯度直方图;
步骤4.5:收集检测窗口中所有重叠的块的hog特征,构成目标模板的hog直方特征向量。
进一步地,所述步骤5中,根据第i-1帧图像中跟踪目标的位置信息生成第i帧图像的k*近邻搜索区域,包括:以第i-1帧图像的跟踪目标为基础矩阵,第i帧图像的k*近邻搜索区域的中心点与基础矩阵的中心点坐标位置重合,同时满足公式:
其中,wdetect、hdetect分别为第i帧图像的k*近邻搜索区域的宽、高,wobj、hobj分别为基础矩阵的宽、高。
进一步地,所述步骤7中,计算第k个目标候选框与目标模板的hsv直方图间的相似度、hog直方图间的相似度分别为
其中,ho、hk分别为目标模板、第k个目标候选框的hsv直方特征向量,ho(j)、hk(j)分别为ho、hk中第j个细胞单元内的颜色向量统计值,
进一步地,所述步骤7中,计算第k个目标候选框与目标模板间的相似度得分为dk=(w1*d(ho,hk) (1-w1)d(go,gk))*w2
其中,w1、w2均为权重系数。
进一步地,所述步骤9中,目标模板更新条件包括帧间阈值条件、帧间差分条件;
所述帧间阈值条件为
其中,d(ho,hi)、d(go,gi)分别为第i帧图像的跟踪目标与目标模板的hsv直方图间的相似度、hog直方图间的相似度,d(ho,hi)threshold、d(go,gi)threshold分别为第i帧图像的跟踪目标与目标模板的hsv特征相似度阈值、hog特征相似度阈值;
所述帧间差分条件为t2-t1>tthreshold
其中,t1为前一次目标模板更新时的图像帧数;t2为当前图像帧数,tthreshold为目标模板更新时的最小帧差数。
本发明的有益效果为:
(1)本发明基于卷积神经网络yolov3模型,通过采集空中无人机数据集,有效提高了识别准确率。
(2)本发明采用k-means聚类算法对初始候选框的参数进行改进,优化了yolov3,能够适应于特定的小型无人机检测任务,且有效提高了识别速度。
(3)本发明通过接收视频图像数据,使用深度学习yolov3算法,检测获取要跟踪的目标位置信息及类别,同时应用k近邻思想缩小感兴趣区域,降低了计算复杂度。
(4)本发明通过将yolov3算法模型作为检测器,同时结合颜色特征和hog特征对前端深度学习模型的检测结果进行目标选择,实现了对空中无人机目标准确的识别和实时的跟踪,识别精度达到98%以上,跟踪速度达到25.8帧/秒。
附图说明
图1为本发明的基于yolov3的空中无人机目标识别和跟踪方法的流程图;
图2为具体实施方式中k-means聚类算法中损失函数值随k值变化的折线图。
具体实施方式
下面将结合附图和具体实施方式,对本发明作进一步描述。
本发明利用深度学习模型在目标特征提取上的优势,采用基于回归的yolov3检测模型提取候选目标,同时结合目标颜色直方特征和梯度方向直方特征进行目标筛选,实现对目标的跟踪。跟踪过程中,yolov3算法同时进行优化校正,防止跟踪偏移、跟踪失败、跟踪目标错误,提升跟踪速度,直到目标消失。如图1所示,本发明的基于yolov3的空中无人机目标识别和跟踪方法,包括下述步骤:
步骤1:制作训练集:
步骤1.1:将小型四旋翼无人机和小型固定翼无人机作为空中飞行目标,利用拍摄工具对无人机的飞行进行拍摄,获取无人机飞行视频,将无人机飞行视频以mp4格式保存在计算机中;
步骤1.2:对无人机飞行视频进行分帧处理,得到多帧图片构成待筛选图片集;
步骤1.3:对待筛选图片集中重复的和没有目标物的图片按一定比例进行筛除,待筛选图片集中剩余的图片构成待处理图片集;
步骤1.4:对待处理图片集中的每帧图片进行灰度化、几何变换、图像增强、图像颜色调整预处理,得到预处理后的图片集;
步骤1.5:对预处理后的图片集中的每帧图片手工标记出无人机区域框,并标注无人机区域框中无人机的类别信息和位置信息,生成训练集;其中,所述位置信息包括无人机区域框的中心点坐标、宽、高。
步骤2:改进候选框参数:
步骤2.1:在不同的聚类数目k下,基于k-means聚类算法对训练集中的无人机区域框进行聚类,得到每种k值下的k个最优聚类中心,统计每种k值下的损失函数值;
步骤2.2:如图2所示,绘制损失函数值与k值之间的关系图,采用手肘法找到最优k值,得到最优k值下的k个最优聚类中心,将最优k值下的k个最优聚类中心作为yolov3的初始候选框参数写入配置文件,获得改进的yolov3。
步骤3:利用训练集训练yolov3中的darknet-53模型:
步骤3.1:将训练集导入到yolov3中,修改voc.names文件、cfg文件中的voc.data文件、yolov3-voc.cfg文件;
步骤3.2:导入训练权重文件darknet53.conv.74后,训练yolov3模型。
步骤4:获取待跟踪无人机的飞行视频,初始化i=1,在第1帧图像中手动获取跟踪目标,将第1帧图像中的跟踪目标设为目标模板,提取目标模板的hsv直方特征向量、hog直方特征向量。
其中,目标模板的hsv直方特征向量描述的是全局性的特征,hog直方特征向量描述的是局部特征。本实施例中,提取目标模板的hog直方特征向量包括:
步骤4.1:对目标模板进行gamma校正,实现对图像颜色空间的归一化,调节图像对比度,降低图像局部阴影和光照变化造成的影响;
步骤4.2:计算目标模板中每个像素点在横坐标方向的梯度gx、纵坐标方向的梯度gy,并计算每个像素点的梯度的幅值和方向角分别为
步骤4.3:将目标模板分成多个细胞单元,统计每个细胞单元的梯度直方图,形成每个细胞单元的特征描述子;
步骤4.4:选取多个细胞单元组合成块,在每个块内归一化梯度直方图;
步骤4.5:收集检测窗口中所有重叠的块的hog特征,构成目标模板的hog直方特征向量。
步骤5:令i=i 1,根据第i-1帧图像中跟踪目标的位置信息生成第i帧图像的k*近邻搜索区域,利用训练后的yolov3模型对k*近邻搜索区域进行检测,输出k*近邻搜索区域中目标的类别及预测的多个目标候选框。
本实施例中,根据第i-1帧图像中跟踪目标的位置信息生成第i帧图像的k*近邻搜索区域,包括:以第i-1帧图像的跟踪目标为基础矩阵,第i帧图像的k*近邻搜索区域的中心点与基础矩阵的中心点坐标位置重合,同时满足公式:
其中,wdetect、hdetect分别为第i帧图像的k*近邻搜索区域的宽、高,wobj、hobj分别为基础矩阵的宽、高。
其中,k*近邻搜索区域是用来提高yolov3检测算法在选择区域目标检测的成功率。
步骤6:留存与目标模板类别相同的目标候选框,进入步骤7;若没有与目标模板类别相同的目标候选框,则以第i-1帧图像的跟踪目标为第i帧图像的跟踪目标,进入步骤8。
其中,留存与目标模板类别相同的目标候选框,是通过设置检测置信度阈值,去除一部分候选目标,此时再对候选目标按照检测置信度进行从高到低的排名。
步骤7:依次提取每个目标候选框的hsv直方特征向量、hog直方特征向量,计算每个目标候选框与目标模板的hsv直方图间的相似度、hog直方图间的相似度,并计算每个目标候选框与目标模板的相似度得分,选取最高相似度得分对应的目标候选框作为第i帧图像的跟踪目标。
本实施例中,计算第k个目标候选框与目标模板的hsv直方图间的相似度、hog直方图间的相似度分别为
其中,ho、hk分别为目标模板、第k个目标候选框的hsv直方特征向量,ho(j)、hk(j)分别为ho、hk中第j个细胞单元内的颜色向量统计值,
计算第k个目标候选框与目标模板间的相似度得分为dk=(w1*d(ho,hk) (1-w1)d(go,gk))*w2
其中,w1、w2均为权重系数。
步骤8:若i≥n,则结束跟踪;若i<n,则执行步骤9;其中,n为待跟踪无人机的飞行视频的总帧数。
步骤9:判断第i帧图像的跟踪目标是否达到目标模板更新条件,若达到则更新目标模板为第i帧图像的跟踪目标,转至步骤5;若未达到则转至步骤5。
本实施例中,选择帧间差分阈值法作为目标模板的更新方法,目标模板的更新需要综合考虑颜色特征相似度和hog相似度。目标模板更新条件包括帧间阈值条件、帧间差分条件;
所述帧间阈值条件为
其中,d(ho,hi)、d(go,gi)分别为第i帧图像的跟踪目标与目标模板的hsv直方图间的相似度、hog直方图间的相似度,d(ho,hi)threshold、d(go,gi)threshold分别为第i帧图像的跟踪目标与目标模板的hsv特征相似度阈值、hog特征相似度阈值;
所述帧间差分条件为t2-t1>tthreshold
其中,t1为前一次目标模板更新时的图像帧数;t2为当前图像帧数,tthreshold为目标模板更新时的最小帧差数。
显然,上述实施例仅仅是本发明的一部分实施例,而不是全部的实施例。上述实施例仅用于解释本发明,并不构成对本发明保护范围的限定。基于上述实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,也即凡在本申请的精神和原理之内所作的所有修改、等同替换和改进等,均落在本发明要求的保护范围内。
1.一种基于yolov3的空中无人机目标识别和跟踪方法,其特征在于,包括下述步骤:
步骤1:制作训练集;
步骤1.1:将无人机作为空中飞行目标,获取无人机飞行视频;
步骤1.2:对无人机飞行视频进行分帧处理,得到多帧图片构成待筛选图片集;
步骤1.3:对待筛选图片集中重复的和没有目标物的图片按一定比例进行筛除,待筛选图片集中剩余的图片构成待处理图片集;
步骤1.4:对待处理图片集中的每帧图片进行预处理,得到预处理后的图片集;
步骤1.5:对预处理后的图片集中的每帧图片标记出无人机区域框,并标注无人机区域框中无人机的类别信息和位置信息,生成训练集;其中,所述位置信息包括无人机区域框的中心点坐标、宽、高;
步骤2:改进候选框参数;
步骤2.1:在不同的聚类数目k下,基于k-means聚类算法对训练集中的无人机区域框进行聚类,得到每种k值下的k个最优聚类中心,统计每种k值下的损失函数值;
步骤2.2:绘制损失函数值与k值之间的关系图,采用手肘法找到最优k值,得到最优k值下的k个最优聚类中心,将最优k值下的k个最优聚类中心作为yolov3的初始候选框参数写入配置文件,获得改进的yolov3;
步骤3:利用训练集训练yolov3中的darknet-53模型;
步骤4:获取待跟踪无人机的飞行视频,初始化i=1,在第1帧图像中手动获取跟踪目标,将第1帧图像中的跟踪目标设为目标模板,提取目标模板的hsv直方特征向量、hog直方特征向量;
步骤5:令i=i 1,根据第i-1帧图像中跟踪目标的位置信息生成第i帧图像的k*近邻搜索区域,利用训练后的yolov3模型对k*近邻搜索区域进行检测,输出k*近邻搜索区域中目标的类别及预测的多个目标候选框;
步骤6:留存与目标模板类别相同的目标候选框,进入步骤7;若没有与目标模板类别相同的目标候选框,则以第i-1帧图像的跟踪目标为第i帧图像的跟踪目标,进入步骤8;
步骤7:依次提取每个目标候选框的hsv直方特征向量、hog直方特征向量,计算每个目标候选框与目标模板的hsv直方图间的相似度、hog直方图间的相似度,并计算每个目标候选框与目标模板的相似度得分,选取最高相似度得分对应的目标候选框作为第i帧图像的跟踪目标;
步骤8:若i≥n,则结束跟踪;若i<n,则执行步骤9;其中,n为待跟踪无人机的飞行视频的总帧数;
步骤9:判断第i帧图像的跟踪目标是否达到目标模板更新条件,若达到则更新目标模板为第i帧图像的跟踪目标,转至步骤5;若未达到则转至步骤5。
2.根据权利要求1所述的基于yolov3的空中无人机目标识别和跟踪方法,其特征在于,所述步骤1.1中,所述无人机包括小型四旋翼无人机和小型固定翼无人机;所述步骤1.4中,所述预处理包括灰度化、几何变换、图像增强、图像颜色调整。
3.根据权利要求1所述的基于yolov3的空中无人机目标识别和跟踪方法,其特征在于,所述步骤3中,利用训练集训练yolov3中的darknet-53模型,包括:
步骤3.1:将训练集导入到yolov3中,修改voc.names文件、cfg文件中的voc.data文件、yolov3-voc.cfg文件;
步骤3.2:导入训练权重文件darknet53.conv.74后,训练yolov3模型。
4.根据权利要求1所述的基于yolov3的空中无人机目标识别和跟踪方法,其特征在于,所述步骤4中,提取目标模板的hog直方特征向量包括:
步骤4.1:对目标模板进行gamma校正;
步骤4.2:计算目标模板中每个像素点在横坐标方向的梯度gx、纵坐标方向的梯度gv,并计算每个像素点的梯度的幅值和方向角分别为
步骤4.3:将目标模板分成多个细胞单元,统计每个细胞单元的梯度直方图,形成每个细胞单元的特征描述子;
步骤4.4:选取多个细胞单元组合成块,在每个块内归一化梯度直方图;
步骤4.5:收集检测窗口中所有重叠的块的hog特征,构成目标模板的hog直方特征向量。
5.根据权利要求1所述的基于yolov3的空中无人机目标识别和跟踪方法,其特征在于,所述步骤5中,根据第i-1帧图像中跟踪目标的位置信息生成第i帧图像的k*近邻搜索区域,包括:以第i-1帧图像的跟踪目标为基础矩阵,第i帧图像的k*近邻搜索区域的中心点与基础矩阵的中心点坐标位置重合,同时满足公式:
其中,wdetect、hdetect分别为第i帧图像的k*近邻搜索区域的宽、高,wobj、hobj分别为基础矩阵的宽、高。
6.根据权利要求1所述的基于yolov3的空中无人机目标识别和跟踪方法,其特征在于,所述步骤7中,计算第k个目标候选框与目标模板的hsv直方图间的相似度、hog直方图间的相似度分别为
其中,ho、hk分别为目标模板、第k个目标候选框的hsv直方特征向量,ho(j)、hk(j)分别为ho、hk中第j个细胞单元内的颜色向量统计值,
7.根据权利要求6所述的基于yolov3的空中无人机目标识别和跟踪方法,其特征在于,所述步骤7中,计算第k个目标候选框与目标模板间的相似度得分为
dk=(w1*d(ho,hk) (1-w1)d(go,gk))*w2
其中,w1、w2均为权重系数。
8.根据权利要求1所述的基于yolov3的空中无人机目标识别和跟踪方法,其特征在于,所述步骤9中,目标模板更新条件包括帧间阈值条件、帧间差分条件;
所述帧间阈值条件为
其中,d(ho,hi)、d(go,gi)分别为第i帧图像的跟踪目标与目标模板的hsv直方图间的相似度、hog直方图间的相似度,d(ho,hi)threshold、d(go,gi)threshold分别为第i帧图像的跟踪目标与目标模板的hsv特征相似度阈值、hog特征相似度阈值;
所述帧间差分条件为
t2-t1>tthreshold
其中,t1为前一次目标模板更新时的图像帧数;t2为当前图像帧数,tthreshold为目标模板更新时的最小帧差数。
技术总结