基于嵌入式平台的无人机车辆跟踪方法与流程

文档序号:12721178阅读:339来源:国知局
基于嵌入式平台的无人机车辆跟踪方法与流程

本发明属于图像处理技术领域,更进一步涉及一种无人机车辆跟踪方法,可用于城市道路下复杂环境的车辆跟踪。



背景技术:

近年来,无人机事业发展迅速,由于具有结构简单,高灵活性、机动性强、成本低廉、便于装备各类传感器等优点,同时可在复杂环境中进行悬停和垂直起降,无人机是完成目标检测、目标跟踪、监控等任务的理想平台。目前无人机已经应用在诸多目标监控与跟踪领域中。

基于无人机的车辆跟踪是一个典型应用,可利用无人机的车辆跟踪进行逃犯追捕、基于车辆跟踪的航拍跟拍、电影拍摄等,具有重要现实意义。但由于在城市环境中,因为人行天桥、立交桥等复杂遮挡存在,基于无人机的车辆跟踪易发生跟踪目标丢失,致使跟踪失败。所以,利用无人机上搭配的传感器,结合航拍下车辆跟踪的特点,是一种有效解决无人机的车辆跟踪的方案。

成都通甲优博科技有限责任公司的专利申请“一种基于无人机动平台的车辆跟踪方法”(公开号:CN104881650A,申请号:201510284911.6,J,申请日:2015年5月29日)中公开了一种基于无人机动平台的车辆跟踪方法。该方法主要通过目标车辆在当前视频帧中的位置预测目标车辆接下去的运动轨迹,并根据预测位置调整无人机的运动方向,从而实现车辆的无人机航拍跟踪。当在跟踪目标车辆的时候发生目标丢失的情况,还利用卡尔曼滤波器预测目标车辆在后续视频帧中可能出现的区域,并在后续视频中标示该区域以便操作人员在视频帧中快速找到目标车辆,进一步增加目标车辆跟踪的稳定性。该方法的不足是整个实现方案无法有效判断目标车辆是否丢失,同时目标丢失后虽然利用卡尔曼滤波来预测后续视频中可能出现的位置,但仍需要操作人员在视频帧查找目标,无法实现自动化跟踪。



技术实现要素:

本发明的目的在针对上述现有技术的不足,提供一种基于嵌入式平台的无人机车辆跟踪方法,以有效防止目标被遮挡导致跟踪目标丢失的情况出现,提高车辆跟踪的鲁棒性,实现自动化跟踪。

本发明的技术方案是:通过在无人机上搭载嵌入式平台对目标车辆使用核相关滤波算法进行目标跟踪,并将跟踪结果直接反馈给飞行控制模块控制无人机的飞行。在跟踪过程中,当利用车辆分类器判断出跟踪目标已丢失时,如果跟踪目标在飞行区域标记的地图的遮挡区域中,则结合传感器信息在目标可能出现的区域进行目标检测,否则使用卡尔曼滤波器预测被遮挡的目标的位置。其实现步骤包括如下:

(1)训练一个车辆分类器:利用无人机在城市交通场景中进行航拍,在航拍视频中提取有车辆的正样本,无车辆的负样本,并利用正、负样本训练一个车辆分类器;

(2)标记地图:通过地图软件获取飞行区域的地面地图,并标记出立交桥、隧道这些出现车辆遮挡区域的入口和对应的出口,得到被标记的地图;

(3)初始化跟踪目标的位置矩形框:

(3a)通过摄像头,获取一帧图像,通过视频解码器解码后加载到嵌入式平台的内存中,同时回传给地面控制人员;

(3b)地面控制人员在获取的图像中选取一个将跟踪目标包含在内的矩形框,将所选的矩形框作为跟踪目标的位置矩形框;

(3c)用位置矩形框和水平垂直速度初始化卡尔曼滤波器,即将水平垂直速度初始化为0,同时用跟踪目标的图像初始化核相关跟踪器;

(4)通过摄像头获取一帧图像,并由视频解码器解码后加载到嵌入式平台的内存中;

(5)利用核相关滤波算法计算出跟踪器与当前帧图像的特征的响应矩阵,当前帧图像目标的位置矩形框被识别为响应矩阵最大值的位置;

(6)使用车辆分类器判断目标是否被遮挡,如果是,则执行步骤(7);否则,执行步骤(12);

(7)利用传感器模块获得的无人机飞行参数,计算目标在被标记的地图中的位置,并判断该位置是否在被标记的地图的遮挡区域中,如果是,则执行步骤(8);否则,执行步骤(11);

(8)利用被标记的地图得到被遮挡目标对应的出口区域,将出口区域转换到当前帧图像中,再通过目标检测算法在当前帧图像中筛选出目标的候选位置矩形框;

(9)在当前帧图像中,对每个目标的候选位置矩形框,都利用核相关滤波算法计算出跟踪器与当前帧图像的特征的响应矩阵,求出所有响应矩阵最大值的位置,作为当前帧图像目标的位置矩形框;

(10)嵌入式平台发送悬停指令,通过飞行控制模块令无人机悬停,执行步骤(13);

(11)使用卡尔曼滤波器在当前帧图像中预测出目标的位置矩形框;

(12)利用当前帧图像中目标的位置矩形框更新卡尔曼滤波器和跟踪器,并通过飞行控制模块,嵌入式平台发送飞行指令使目标偏移到摄像头拍摄的中心,执行步骤(13);

(13)通信模块检测地面控制人员是否发送停止跟踪的信号,如果是,则结束目标跟踪;否则,返回步骤(4)。

与现有技术相比,本发明具有以下优点:

第一,本发明提出在无人机上搭载嵌入式平台,并在无人机上进行在线目标跟踪与检测,克服了原有技术中需要远端处理器的缺点,降低了跟踪过程中通信模块的传输带宽,减少了传输干扰。

第二,本发明利用无人机上的传感器模块,同时结合被标记的地图信息,对跟踪目标发生遮挡时进行预测,解决了现有技术中在复杂交通场景下未能对跟踪目标发生遮挡后再重新检测的问题,大大提高了跟踪算法抗遮挡的鲁棒性,实现目标在复杂场景中的自主跟踪。

第三,本发明使用卡尔曼滤波器,在跟踪目标的直线行驶过程中发生遮挡时用卡尔曼滤波器的输出作为跟踪结果,充分利用了跟踪目标的运动信息,提高了跟踪算法抗遮挡的鲁棒性。

第四,本发明使用目标检测算法,在跟踪目标发生丢失需要对指定区域检测时,通过筛选减少了候选框的数目,在不降低检测准确率的同时,保证跟踪处理的实时性。

附图说明

图1是本发明的实现流程图。

图2是本发明使用的跟踪系统的示意图。

具体实施方式

以下结合附图对本发明作进一步详细描述。

参照图2,本发明使用的跟踪系统包括嵌入式平台、摄像头、视频解码模块、传感器模块、存储器模块、飞行控制模块和通信模块。其中,嵌入式平台负责与其他模块通信并完成目标自主跟踪的处理;传感器模块配有气压计和全球定位系统模块,用于获取无人机的飞行高度与全球定位系统GPS信息;摄像头模块用于采集图像帧并将图像发送给视频解码模块进行解码;视频解码模块完成码流的解码并将解码后得到的视频帧传输给嵌入式平台;通信模块与地面控制人员进行通信,用于传送视频帧图像和接受地面控制人员的控制信号;飞行控制模块根据飞行控制信号控制无人机的飞行。

参照图1,对本发明基于图2系统进行无人机车辆跟踪的方法,其实现步骤如下。

步骤1,训练一个车辆分类器。

现有的车辆分类器有多种,包括级联分类器、随机森林、支持向量机SVM等,采样不同的分类器有不同的训练方式。本发明采用但不限于支持向量机SVM车辆分类器,其训步骤如下:

(1a)在航拍视频中手工提取有车辆的正负样本,正负样本都通过开源计算机视觉库OpenCV中的图像缩放函数resize将图像统一缩放到64×64大小,得到正样本的训练数据posData和负样本的训练数据negData;

(1b)调用开源计算机视觉库OpenCV中的支持向量机类CvSVM的成员函数train,利用正样本训练数据posData和负样本训练数据negData生成车辆分类器svm.xml。

步骤2,标记地图。

通过全能电子地图下载器下载飞行区域的地图,找到立交桥、隧道这些出现车辆遮挡区域的入口,分别用不同的正整数标记,并且将入口到对应的多个出口的全球定位系统偏移记录下来,没有遮挡的区域则用0标记。

步骤3,初始化跟踪目标的位置矩形框。

(3a)通过摄像头,获取一帧图像,通过视频解码器解码后加载到嵌入式平台的内存中,同时回传给地面控制人员,嵌入式平台是指NVIDIA嵌入平台Jetson TX1;

(3b)地面控制人员在获取的图像中选取一个将跟踪目标包含在内的矩形框,将所选的矩形框作为跟踪目标的位置矩形框;

(3c)用位置矩形框和水平垂直速度初始化卡尔曼滤波器,具体步骤如下:

(3c1)调用开源计算机视觉库OpenCV中的卡尔曼滤波器分配函数cvCreateKalman创建一个观测向量为4维和状态向量为4维的卡尔曼滤波器KF,其中状态向量的前两维是位置矩形框的坐标,后两维是跟踪目标的水平和垂直速度并初始化为0;

(3c2)调用C语言的内存拷贝函数memcpy将转移矩阵T拷贝到卡尔曼滤波器KF的转移矩阵参数中,转移矩阵T的定义如下:

(3d)用跟踪目标的图像初始化核相关跟踪器,得到跟踪器的模型参数和系数α,具体步骤如下:

(3d1)利用前一帧获得的目标的位置矩形框取出当前帧中对应的图像,作为目标图像I;

(3d2)对目标图像I中每个像素点的下标(i,j)都用下列公式计算出高斯标签矩阵的元素Y(i,j),

其中,i=0,1,...,m-1;j=0,1,...,n-1;m表示目标图像I的高度;n表示目标图像I的宽度;exp(·)表示以自然常数e为底的指数操作;σ表示高斯函数的标准差;cx表示目标图像I中心的列坐标;cy表示目标图像I中心的行坐标;

(3d3)用所有计算出的高斯标签矩阵元素Y(i,j)组成高斯标签矩阵Y;

(3d4)通过hog特征提取算法或者颜色特征提取算法或灰度特征提取算法得到目标图像I的特征X,用二维离散傅里叶变换把X变换到频域,得到频域特征并将作为跟踪器的模型参数

(3d5)按照下列公式计算出核相关矩阵K:

其中,exp(·)表示以自然常数e为底的指数操作;σ表示高斯核函数的标准差;i表示特征的维度;N表示特征的个数;||·||2表示向量的二范数;表示二维离散傅里叶逆变换;表示特征的第i维;·表示矩阵的对应元素相乘操作;(·)*表示取共轭操作;

(3d6)利用上述(3d3)计算出的核相关矩阵K和上述(3d5)计算出的高斯标签矩阵Y,按照下列公式计算出跟踪器的系数α:

其中,λ是跟踪器的模型泛化因子,取值为1x10-4;表示二维离散傅里叶逆变换;表示高斯标签矩阵Y的二维离散傅里叶变换;表示高斯标签矩阵Y的二维离散傅里叶变换。

步骤4,获取一帧图像并存储。

将摄像头的拍摄视角垂直向下,调用开源计算机视觉库OpenCV中的视频类VideoCapture的视频帧读取函数read,由摄像头拍摄获取一帧交通场景的图像,并通过视频解码器解码后加载到跟踪系统的嵌入式平台内存中。

步骤5,使用核相关算法跟踪目标。

利用核相关滤波算法计算出跟踪器与当前帧图像特征的响应矩阵,将当前帧图像目标的位置矩形框确定为响应矩阵最大值的位置,其中,核相关滤波算法的具体实现步骤如下:

(5a)利用前一帧获得的目标位置矩形框取出当前帧中对应的图像,作为目标图像I;

(5b)通过hog特征提取算法或者颜色特征提取算法或灰度特征提取算法得到目标图像I的特征X,并用二维离散傅里叶变换把X变换到频域得到频域特征

(5c)按照下列公式计算出跟踪器的样本模型与目标图像I的频域特征的核相关矩阵K:

其中,exp(·)表示以自然常数e为底的指数操作;σ表示高斯核函数的标准差;i表示特征的维度;N表示特征的个数;||·||2表示向量的二范数;表示二维离散傅里叶逆变换;表示频域特征的第i维;表示跟踪器的样本模型第i维参数;·表示矩阵的对应元素相乘操作;(·)*表示取共轭操作;

(5d)按照下列公式计算出跟踪器系数α和核相关矩阵K的响应矩阵R:

其中,real(·)表示取实部操作;表示二维离散傅里叶逆变换;表示系数α的二维离散傅里叶变换;表示核相关矩阵K的二维离散傅里叶变换;·表示矩阵的对应元素相乘操作。

步骤6,使用车辆分类器判断目标是否被遮挡。

将车辆分类器svm.xml加载到嵌入式平台的内存中,将上述(5a)中的目标图像I缩放到64×64大小后得到缩放后的目标图像I′,再调用开源计算机视觉库OpenCV中的支持向量机类CvSVM的成员预测函数predict对目标图像I′进行分类,如果分类结果为负样本,则判断目标被遮挡,执行步骤11,否则,判断目标为没有被遮挡,执行步骤7。

步骤7,利用标记地图判断目标是否在标记地图的遮挡区域。

通过无人机上的传感器模块获取无人机飞度高度和GPS信息,利用标记地图判断目标是否在地图标记的遮挡区域,如果是,则执行步骤10,否则,执行步骤8。

所述判断目标是否在地图标记的遮挡区域的具体步骤如下:

(7a)在图像中获取跟踪目标到图像中心点的像素水平偏移ox和像素垂直偏移oy,分别按照下列公式计算出跟踪目标相对视频中心点的全球定位系统GPS水平偏移gx和垂直偏移gy:

gx=ox×h/f/c/cos(θ) <7>

gy=oy×h/f/c <8>

其中,h表示由传感器模块得到的无人机飞行高度;θ表示由传感器模块得到的无人机飞行纬度;f表示摄像头的景深;c表示像素偏移到全球定位系统GPS偏移的常数,取值为2.38363x10-6

(7b)对水平偏移gx和垂直偏移gy分别加上传感器模块得到的无人机全球定位系统GPS坐标值,得到跟踪目标的全球定位系统GPS坐标值;

(7c)由跟踪目标的全球定位系统GPS坐标值,由地图软件转换到被标记的地图中,得到目标在被标记的地图中的位置;

(7d)由目标在被标记的地图中的位置,得到目标是否在被遮挡区域中的非负整数值,如果非负整数值大于0,则表示目标在遮挡区域中,否则,表示无人机不在被遮挡标记区域。

步骤8,筛选出可能包含目标的位置矩形框。

通过目标检测算法,在标记的出口区域中筛选出可能包含目标的位置矩形框,具体步骤如下:

(8a)利用上述(7d)目标在被遮挡区域中的非负整数值,在被标记的地图中,取得对应出口的全球定位系统的水平偏移gx和垂直偏移gy,按照下列公式计算出像素水平偏移ox和垂直偏移oy:

ox=gx×cos(θ)×f×c/h <9>

oy=gy×f×c/h <10>

其中,h表示由传感器模块得到的无人机飞行高度;θ表示由传感器模块得到的无人机飞行纬度;f表示摄像头的景深;c表示像素偏移到全球定位系统GPS偏移的常数,取值为2.38363x10-6

(8b)对像素水平偏移ox和垂直偏移oy分别加上跟踪目标的位置,得到图像帧中目标候选位置矩形框的位置;

(8c)由现有的目标检测算法得到一系列的候选位置矩形框:

现有的目标检测算法有多种,包括基于Adaboost的级联分类器、BING目标检测算法、Selective Search方法等。本发明采用但不限于BING目标检测算法得到一系列的候选位置矩形框;

(8d)去掉每个候选位置矩形框中与被遮挡的目标尺寸不相匹配的候选位置矩形框,对保留下的候选位置矩形框,根据检测出的阈值进行降序排序,并选择排序后互不重叠的前若干个候选位置矩形框。

步骤9,使用核相关算法在可能区域跟踪目标。

在当前帧图像中,对每个目标的候选位置矩形框均取出当前帧中的对应图像,作为对应的候选目标图像H,再对候选目标图像H执行核相关滤波算法,得到对应的响应矩阵R,其具体步骤如下:

(9a)通过hog特征提取算法或者颜色特征提取算法或灰度特征提取算法得到候选目标图像H的特征X,并用二维离散傅里叶变换把X变换到频域,得到频域特征

(9b)按照下列公式计算出跟踪器的样本模型与候选目标图像H的频域特征的核相关矩阵K:

其中,exp(·)表示以自然常数e为底的指数操作;σ表示高斯核函数的标准差;i表示特征的维度;N表示特征的个数;||·||2表示向量的二范数;表示二维离散傅里叶逆变换;表示特征X的第i维特征;表示跟踪器的样本模型第i维参数;·表示矩阵的对应元素相乘操作;(·)*表示取共轭操作;

(9c)按照下列公式计算出跟踪器的系数α和核相关矩阵K的响应矩阵R:

其中,real(·)表示取实部操作;表示二维离散傅里叶逆变换;表示系数α的二维离散傅里叶变换;表示核相关矩阵K的二维离散傅里叶变换;·表示矩阵的对应元素相乘操作。

步骤10,控制无人机悬停。

嵌入式平台发送无人机的悬停指令到飞行控制模块,飞行控制模块在接受到悬停指令后停止无人机的水平移动和垂直移动,使得无人机在空中盘旋,执行步骤13。

步骤11,使用卡尔曼滤波器跟踪目标的位置。

调用开源计算机视觉库OpenCV中的卡尔曼预测函数cvKalmanPredict,计算出卡尔曼滤波器KF的预测向量,将预测向量的前两维数值作为预测出的跟踪目标的水平坐标x和垂直坐标y,并将x和y作为当前帧图像中目标位置矩形框的位置。

步骤12,利用当前帧图像中目标的位置矩形框更新卡尔曼滤波器和跟踪器,并通过飞行控制模块,嵌入式平台发送飞行指令使目标偏移到摄像头拍摄的中心。

(12a)将当前帧图像中目标的位置矩形框作为测量向量的前两维,将前一帧和当前帧目标的位置矩形框的差值作为观测向量的后两维,调用开源计算机视觉库OpenCV中的卡尔曼校正函数cvKalmanCorrect利用测量向量更新卡尔曼滤波器KF;

(12b)用帧图像中的目标更新跟踪器,具体步骤如下:

(12b1)利用当前帧目标的位置矩形框取出当前帧中对应的图像,作为目标图像I;

(12b2)通过hog特征提取算法或者颜色特征提取算法或灰度特征提取算法得到目标图像I的特征X,用二维离散傅里叶变换把X变换到频域,得到频域特征并作为当前帧的模型参数

(12b3)对目标图像I中每个像素点的下标(i,j)都用下列公式计算出高斯标签矩阵的元素Y(i,j),

其中,i=0,1,...,m-1;j=0,1,...,n-1;m表示目标图像I的高度;n表示目标图像I的宽度;exp(·)表示以自然常数e为底的指数操作;σ表示高斯函数的标准差;cx表示目标图像I中心的列坐标;cy表示目标图像I中心的行坐标;

(12b4)用所有计算出的高斯标签矩阵元素Y(i,j)组成高斯标签矩阵Y;

(12b5)按照下列公式计算出跟踪器的核相关矩阵K:

其中,exp(·)表示以自然常数e为底的指数操作;σ表示高斯核函数的标准差;i表示特征的维度;N表示特征的个数;||·||2表示向量的二范数;表示二维离散傅里叶逆变换;Xi表示特征X的第i维;·表示矩阵的对应元素相乘操作;(·)*表示取共轭操作;

(12b6)利用上述计算出的核相关矩阵K和高斯标签矩阵Y,按照下列公式计算出跟踪器的系数α:

其中,λ是跟踪器的模型泛化因子;表示二维离散傅里叶逆变换;表示二维离散傅里叶变换;

(12b6)按照如下公式更新跟踪器的系数α和样本模型

α:=pα+(1-p)α′ <16>

其中,:=表示赋值操作;p是跟踪器模型的更新因子,取值为0.05;α′表示前一帧的跟踪器系数;表示前一帧的样本模型;

(12c)在当前视频帧中,根据目标视频帧中心的偏移方向,嵌入式平台发送与偏移方向相反的飞行控制指令,控制无人机飞行,使得目标偏移到摄像头拍摄的中心。

步骤13,通信模块检测地面控制人员是否发送停止跟踪的信号。

通信模块检测地面控制人员是否发送停止跟踪的信号,如果检测到停止跟踪的信号,则无人机系统结束目标跟踪,嵌入式平台退出目标跟踪的处理,否则,嵌入式平台等待读入下一帧图像并继续跟踪目标,返回步骤4。

以上描述仅是本发明的一个具体实施,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1