一种基于双目视觉的低空小型无人机障碍物感知方法转让专利

申请号 : CN201810764574.4

文献号 : CN109034018B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王宏伦寇展阮文阳李娜刘一恒吴健发

申请人 : 北京航空航天大学

摘要 :

本发明公开了一种基于双目视觉的低空小型无人机障碍物感知方法,属于机器视觉技术领域。首先采用基于YOLOv2的深度学习目标检测与识别方法,对双目相机的左相机采集到的图像进行障碍物检测与识别,得到障碍物在图像中的像素位置、像素尺寸与障碍物种类信息。然后针对以上信息,采用KCF目标跟踪算法进行目标障碍物的实时跟踪,同时对双目相机的左右相机实时采集到的每帧环境图像进行三维重构,得到环境中障碍物的空间信息。最后结合上述所有信息,对每帧图像中的障碍物进行提取,得到环境中所有障碍物的空间位置、物理尺寸与障碍物种类。本发明大大减小了数据集采集制作复杂度,能够得到丰富的障碍物信息,为无人机避障提供保障。

权利要求 :

1.一种基于双目视觉的低空小型无人机障碍物感知方法,其特征在于,包括以下几个步骤:

步骤一:采用基于YOLOv2的深度学习目标检测与识别方法,对双目相机的左相机采集到的图像进行障碍物检测与识别,得到障碍物在图像中的像素位置、像素尺寸与障碍物种类信息;

步骤二:针对障碍物在左相机采集到的图像中的像素位置、像素尺寸与障碍物种类信息,采用KCF目标跟踪算法进行目标障碍物的实时跟踪;

步骤三:同时,对双目相机的左右相机实时采集到的每帧环境图像进行三维重构,得到环境中障碍物的空间信息;

步骤四:结合上述所有信息,对每帧图像中的障碍物进行提取,得到环境中所有障碍物的空间位置、物理尺寸与障碍物种类;

所述上述所有信息包括:障碍物在图像中的像素位置、像素尺寸与障碍物种类信息以及环境中障碍物的空间信息;

提取策略如下:

首先,对每一帧图像,将三维重构出的三维空间坐标图的深度通道进行分离,得到该图像的环境障碍物深度图;

然后,利用YOLOv2算法或KCF目标跟踪算法检测出的矩形框位置,去除环境障碍物深度图中矩形框之外的所有深度值,同时去除矩形框内深度值大于深度感知范围阈值的深度值,对每个环境障碍物深度图进行简化;

最后,对简化后的每个环境障碍物深度图中每个矩形框依次执行下面的操作:步骤I、针对当前选择的简化的环境障碍物深度图,依次选取该图中单个矩形框作为当前矩形框,获取当前矩形框的两条中轴线上的所有深度值,将得到的深度值进行四舍五入取整,得到众数;

步骤II、去除当前矩形框内的,所有深度值与众数值的差值超过障碍物尺寸阈值的像素点,保留深度值与众数相差在障碍物尺寸阈值以内的像素点;

步骤III、判断当前矩形框两条中轴线上像素点的个数是否大于比例阈值倍的中轴线长度,如果是,则进行步骤IV、否则进入下一个矩形框并返回步骤I重新计算;

步骤IV、将矩形框内中轴线最上方、最下方、最左方和最右方的像素点位置处的原三维空间坐标图中的三维空间位置坐标输出;

步骤V、根据四个三维空间位置坐标计算出当前矩形框中障碍物的中心位置坐标与障碍物长宽,并记录当前矩形框所表示的障碍物种类;

步骤VI、将每个矩形框循环执行上述步骤后,得到该帧图像中每个障碍物的中心空间位置、障碍物宽高和障碍物的种类;

步骤VII,同理,对每帧图像重复上述步骤,得到各图像的每个障碍物的中心空间位置,障碍物宽高和种类,最终完成对所有障碍物的感知,为后续无人机避障做好准备。

2.如权利要求1所述的一种基于双目视觉的低空小型无人机障碍物感知方法,其特征在于,所述的YOLOv2算法对左相机实时采集的每帧图像,间隔选取某帧图像进行障碍物检测与识别,步骤如下:

首先,针对选中的输入帧图像,将该图像划分网格;对于每个网格,深度神经网络都预测2个边框,网络输出每个边框的位置,目标的置信度以及在C个类别上的概率;然后,根据目标的置信度去除置信度低的边框,最后利用极大值抑制算法去除冗余窗口,即得到最终的检测结果:边框的位置,大小和边框属于的类别,分别对应障碍物在图像中的像素位置,像素尺寸和障碍物种类信息。

3.如权利要求1所述的一种基于双目视觉的低空小型无人机障碍物感知方法,其特征在于,所述的KCF目标跟踪算法的主要流程为:将YOLOv2算法针对该帧图像的检测结果作为初始检测框,对周围的图片进行循环采样,将采样得到的图片作为训练数据训练目标检测器,目标检测器对下一帧图片进行检测得到目标检测结果,然后将目标检测结果又作为新的初始框进行循环,实现对目标的跟踪效果。

4.如权利要求1所述的一种基于双目视觉的低空小型无人机障碍物感知方法,其特征在于,步骤三所述的三维重构具体过程为:对双目相机的左右相机采用张正友标定算法进行双目标定,得到相机内外参数与畸变参数;然后,对左右相机同时采集的每帧图像,分别采用bouguet算法进行立体校正,消除畸变影响的同时使得左右图像只存在列向差异;最后,对校正之后的左右图像采用SGBM块匹配算法进行像素匹配得到全局的视差图,最后对视差进行3D恢复,获得全局三维空间位置。

5.如权利要求1所述的一种基于双目视觉的低空小型无人机障碍物感知方法,其特征在于,步骤V中所述的障碍物的中心位置坐标与障碍物长宽计算方法如下:其中,(BotPointx,BotPointy,BotPointz)表示最下方的像素点位置处原三维空间恢复图中的三维空间位置坐标;

(TopPointx,TopPointy,TopPointz)表示最上方的像素点位置处原三维空间恢复图中的三维空间位置坐标;

(LeftPointx,LeftPointy,LeftPointz)表示最左方的像素点位置处原三维空间恢复图中的三维空间位置坐标;

(RightPointx,RightPointy,RightPointz)表示最右方的像素点位置处原三维空间恢复图中的三维空间位置坐标;

(Xcenter,Ycenter,Zcenter)表示当前障碍物中心位置空间三维坐标;W表示计算出的障碍物实际长度;H表示计算出的障碍物实际宽度。

说明书 :

一种基于双目视觉的低空小型无人机障碍物感知方法

技术领域

[0001] 本发明属于机器视觉技术领域,具体是一种基于双目视觉的低空小型无人机障碍物感知方法。

背景技术

[0002] 近年来无人机在低空领域的应用越来越多,比如在安防监控,农业植保和电力巡检等领域扮演着越来越重要的角色。但随着无人机作业高度的降低,无人机面临的障碍物
也越来越复杂,包括树木,电力塔架和建筑物等,极大的限制了无人机的低空作业。因此无
人机感知与避障的能力在未来低空无人机发展中起着非常重要的作用。其中无人机对环境
的感知能力是关键难点与关注焦点。
[0003] 目前国内外针对低空环境的无人机障碍物感知方法研究较少,大部分处于理论验证阶段,其实用性与有效性有待验证。目前典型避障传感器包括超声波传感器、红外传感
器、激光传感器、雷达传感器以及视觉传感器,每个传感器各自有不同的原理及特点。超声
波传感器与红外传感器作用距离短,易受环境干扰,一般仅作为辅助感知手段;毫米波雷达
与激光雷达具有较好的感知效果,但体积与重量较大并且价格昂贵,不适合小型旋翼无人
机使用。视觉传感器能获得最丰富的环境信息,并且价格便宜,重量轻和体积小的特点使得
视觉传感器非常适合在小型四旋翼无人机上使用,如今随着摄像头性能的不断提升与处理
器的快速发展,基于视觉环境感知技术愈加成熟,输出信息丰富并且硬件成本较低,成为人
工智能领域的热门。
[0004] 目前无人机环境感知方案的研究多采用多传感器融合的方法,比如毫米波雷达、超声波雷达与视觉融合感知,该方法获得的环境信息丰富,并且可靠性高,但存在硬件成本
高,重量体积大,系统结构复杂等缺陷,使得该方法难以实际应用。仅采用视觉传感器进行
感知的研究较少,主要原因有技术不成熟、计算量大难以达到实时性要求等。

发明内容

[0005] 本发明为了解决现有技术中存在的问题,提出一种基于双目视觉的低空小型无人机障碍物感知方法;仅采用一个双目摄像机对无人机飞行环境中典型障碍物进行实时感
知,能够得到丰富的环境障碍物信息,包括障碍物的空间位置,物理尺寸与障碍物种类,并
且抗环境干扰能力强,对遮挡目标和小目标具有较好的检测效果,同时还能够对环境实时
感知。
[0006] 包括以下几个步骤:
[0007] 步骤一:采用基于YOLOv2的深度学习目标检测与识别方法,对双目相机的左相机采集到的图像进行障碍物检测与识别,得到障碍物在图像中的像素位置、像素尺寸与障碍
物种类信息。
[0008] YOLOv2算法对左相机实时采集的每帧图像,间隔选取某帧图像进行障碍物检测与识别,步骤如下:
[0009] 首先,针对选中的输入帧图像,将该图像划分网格;对于每个网格,深度神经网络都预测2个边框,网络输出每个边框的位置,目标的置信度以及在C个类别上的概率;然后,
根据目标的置信度去除置信度比较低的边框,最后利用极大值抑制算法去除冗余窗口,即
得到最终的检测结果:边框的位置,大小和边框属于的类别,分别对应障碍物在图像中的像
素位置,像素尺寸和障碍物种类信息。
[0010] 步骤二:针对障碍物在该帧图像中的像素位置、像素尺寸与障碍物种类信息,采用KCF目标跟踪算法进行目标障碍物的实时跟踪。
[0011] KCF目标跟踪主要流程为:将YOLOv2算法针对该帧图像的检测结果作为初始检测框,对周围的图片进行循环采样,将采样得到的图片作为训练数据训练目标检测器,目标检
测器对下一帧图片进行检测得到目标检测结果,然后将目标检测结果又作为新的初始框进
行循环,实现对目标的跟踪效果。
[0012] 步骤三:同时,对双目相机的左右相机实时采集到的每帧环境图像进行三维重构,得到环境中障碍物的空间信息。
[0013] 具体过程为:对双目相机的左右相机采用张正友标定算法进行双目标定,得到相机内外参数与畸变参数。然后,对左右相机同时采集的每帧图像,分别采用bouguet算法进
行立体校正,消除畸变影响的同时使得左右图像只存在列向差异。最后,对校正之后的左右
图像采用SGBM块匹配算法进行像素匹配得到全局的视差图,最后对视差进行3D恢复即可获
得全局三维空间位置。
[0014] 步骤四:结合上述所有信息,对每帧图像中的障碍物进行提取,得到环境中所有障碍物的空间位置、物理尺寸与障碍物种类。
[0015] 提取策略如下:
[0016] 首先,对每一帧图像,将三维重构出的三维空间坐标图的深度通道进行分离,得到该图像的障碍物深度图;
[0017] 然后,利用YOLOv2算法或KCF目标跟踪算法检测出的矩形框位置,去除障碍物深度图中矩形框之外的所有深度值,同时去除矩形框内深度值大于深度感知范围阈值的深度
值,对每个环境障碍物深度图进行简化;
[0018] 深度感知范围阈值可根据实际应用场景改变;
[0019] 最后,对简化后的每个环境障碍物深度图中每个矩形框依次执行下面的操作:
[0020] 步骤I、针对当前选择的简化的环境深度图,依次选取该图中单个矩形框作为当前矩形框,获取两条中轴线上的所有深度值,并进行四舍五入取整,计算众数。
[0021] 步骤II、去除当前矩形框内的,所有深度值与众数值的差值超过障碍物尺寸阈值的像素点,保留深度值与众数相差在障碍物尺寸阈值以内的像素点。
[0022] 障碍物尺寸阈值根据应用场景障碍物尺寸选取。
[0023] 步骤III、判断当前矩形框两条中轴线上像素点的个数是否大于比例阈值倍的中轴线长度,如果是,则进行步骤IV、否则进入下一个矩形框并返回步骤I重新计算。
[0024] 比例阈值根据实际情况调整。
[0025] 步骤IV、将矩形框内中轴线最上方、最下方、最左方和最右方的像素点位置处的原三维空间恢复图中的三维空间位置坐标输出。
[0026] 步骤V、根据四个三维空间位置坐标计算出当前矩形框中障碍物的中心位置坐标与障碍物长宽,并记录当前矩形框所表示的障碍物种类。
[0027] 障碍物的中心位置坐标与障碍物长宽计算方法如下:
[0028]
[0029] 其中,(BotPointx,BotPointy,BotPointz)表示最下方的像素点位置处原三维空间恢复图中的三维空间位置坐标;
[0030] (TopPointx,TopPointy,TopPointz)表示最上方的像素点位置处原三维空间恢复图中的三维空间位置坐标;
[0031] (LeftPointx,LeftPointy,LeftPointz)表示最左方的像素点位置处原三维空间恢复图中的三维空间位置坐标;
[0032] (RightPointx,RightPointy,RightPointz)表示最右方的像素点位置处原三维空间恢复图中的三维空间位置坐标;
[0033] (Xcenter,Ycenter,Zcenter)表示当前障碍物中心位置空间三维坐标;W表示计算出的障碍物实际长度。H表示计算出的障碍物实际宽度。
[0034] 步骤VI、将每个矩形框循环执行上述步骤后,得到该帧图像中每个障碍物的中心空间位置、障碍物宽高和障碍物的种类;
[0035] 步骤VII,同理,对每帧图像重复上述步骤,得到各图像的每个障碍物的中心空间位置,障碍物宽高和种类,最终完成对所有障碍物的感知,为后续无人机避障等应用做好准
备。
[0036] 本发明的优点在于:
[0037] (1)一种基于双目视觉的低空小型无人机障碍物感知方法,采用基于深度学习的目标检测与识别技术,使得感知系统具有较高的鲁棒性与抗环境干扰能力,并且深度学习
的训练集采用unity3D搭建的逼真仿真环境采集,大大减小了数据集采集制作复杂度。
[0038] (2)一种基于双目视觉的低空小型无人机障碍物感知方法,采用目标跟踪算法与目标检测算法相结合,使得系统能够实时对环境障碍物进行检测。
[0039] (3)一种基于双目视觉的低空小型无人机障碍物感知方法,仅采用价格便宜,重量轻体积小的视觉传感器完成对环境中障碍物的感知。
[0040] (4)一种基于双目视觉的低空小型无人机障碍物感知方法,能够得到丰富的障碍物信息,包括障碍物位置、尺寸和种类等信息,为无人机避障提供更丰富的信息。

附图说明

[0041] 图1是本发明一种基于双目视觉的低空小型无人机障碍物感知方法流程框图;
[0042] 图2是本发明针对YOLOv2算法流程给出的实例示意图;
[0043] 图3是本发明unity3D仿真系统采集的部分数据集;
[0044] 图4是本发明采用YOLOv2目标检测与识别算法得到的检测效果图;
[0045] 图5是本发明KCF目标跟踪算法流程框图;
[0046] 图6是本发明基于双目视觉的三维重构流程图;
[0047] 图7是本发明障碍物信息提取算法流程框图;
[0048] 图8是本发明视景仿真界面及障碍物检测实施例的提取效果图。
[0049] 图8a是本发明仿真系统主界面;
[0050] 图8b是YOLOv2目标检测与KCF目标跟踪效果;
[0051] 图8c是本发明双目恢复视差图;
[0052] 图8d是本发明障碍物提取效果图。

具体实施方式

[0053] 下面将结合附图和实施例对本发明做进一步的详细说明。
[0054] 本发明一种基于双目视觉的低空小型无人机障碍物感知方法,使得无人机仅搭载一个重量轻、体积小和价格便宜等优点的双目摄像机即可完成无人机飞行环境中典型障碍
物的三维感知,具有成本低、鲁棒性强和获取障碍物信息丰富等优点。
[0055] 如图1所示,具体步骤如下:
[0056] 步骤一:采用基于YOLOv2的深度学习目标检测与识别方法,对无人机搭载的双目相机的左相机采集到的图像进行障碍物检测与识别,得到障碍物在图像中的像素位置、像
素尺寸与障碍物种类信息。
[0057] YOLOv2算法对左相机实时采集的每帧图像,间隔选取某帧图像进行障碍物检测与识别,如图2所示,首先,针对选中的一帧输入图像,将图像划分成7*7的网格。然后,对于每
个网格,深度神经网络都预测2个边框,因此一共7*7*2个边框;网络输出每个边框的位置
(每个边框用边框中心位置x和y以及边框长宽w和h四个参数表示),目标的置信度以及在C
个类别上的概率;因此网络最终输出为7*7*(2*5+C)个值。最后,根据目标置信度去除置信
度比较低的边框,然后利用极大值抑制算法去除冗余窗口,即可得到最终的检测结果:边框
的位置,大小和边框属于的类别;分别对应障碍物在图像中的像素位置,像素尺寸和障碍物
种类信息。
[0058] 无人机飞行环境数据集的好坏直接决定了YOLOv2算法应用到实际场景中的表现,因此为了方便制作训练集,本发明采用基于unity3d的虚拟视景仿真系统搭建了逼真的无
人机飞行环境作为算法的训练样本,部分样本展示如图3所示,训练样本保证样本的随机性
和多样性,包括多种天气,障碍物种类和地形场景等,以提高网络泛化能力。
[0059] 最终将训练样本输入YOLOv2算法的深度神经网络模型,得到各个图像的检测结果;部分检测结果展示如图4所示,具有较好的泛化能力与鲁棒性能,不仅对虚拟仿真环境
有较好的检测效果,并且对真实的环境障碍物、遮挡目标、小目标都具有较好的检测效果,
具有传统图像检测算法不能比拟的优势。
[0060] 步骤二:针对深度学习检测到的障碍物,采用KCF目标跟踪算法进行实时目标跟踪。
[0061] 尽管YOLOv2目标检测与识别算法的速度较快,但感知系统中还包含多个其他耗时的任务,比如双目立体三维重构和障碍物信息提取等任务,因此采用快速的目标跟踪算法
来跟踪YOLOv2目标检测与识别算法的检测结果来提高系统实时性。
[0062] 在步骤一采用深度学习检测算法检测到障碍物后,采用快速的KCF目标跟踪算法对检测到的障碍物进行跟踪,保证每个时刻都能完成障碍物的检测。
[0063] 如图5所示,KCF目标跟踪方法对初始检测框周围的图片进行循环采样,将采样得到的图片作为训练数据训练的一个目标检测器,目标检测器对下一帧图片进行检测得到目
标检测结果,这个检测结果又作为新的初始框进行循环,实现对目标的跟踪效果。
[0064] 其中初始检测框由YOLOv2算法检测结果给出,并每隔一定周期更新此初始检测框。具体实现方法是目标跟踪算法实时运行,基于深度学习的目标检测算法每隔数秒运行
一次,每次检测结果更新目标跟踪算法初始框。
[0065] 步骤三:同时,对双目相机的左相机与右相机采集到的每帧环境图像进行三维重构,得到环境中障碍物的空间信息。
[0066] 如图6所示:首先,对左右相机采用张正友标定算法进行双目离线标定,得到相机内外参数与畸变参数。然后,对两相机同时采集的两帧图像,分别采用bouguet算法进行立
体校正,消除畸变影响的同时使得左右图只存在列向差异。最后,对校正之后的左右图采用
SGBM块匹配算法进行像素匹配得到全局的视差图,最后对视差进行3D恢复即可获得全局三
维空间位置。
[0067] 步骤四:结合上述三步得到的所有信息,提取出环境中所有障碍物的空间位置、物理尺寸与障碍物种类。
[0068] 前三个步骤已经得到了障碍物在图像中的像素位置、像素尺寸和障碍物种类,以及障碍物的空间恢复信息。结合这些信息提取障碍物的空间位置、物理尺寸与障碍物种类。
[0069] 提取策略如图7所示:首先,对每一帧图像,将双目视觉三位重构出的三维空间坐标图的深度通道分离出来,得到障碍物深度图;
[0070] 然后为了去除不必要的干扰,结合YOLOv2算法或者KCF跟踪算法检测出的矩形框位置,去除深度图中障碍物矩形框之外的所有深度值(即将深度图中矩形框之外的像素值
全赋值为255),同时为了简化感知过程和降低计算复杂度,去除矩形框内深度值大于深度
感知范围阈值的深度值(深度感知范围阈值可根据实际应用场景改变,在本发明中取80m),
因此得到了简化的环境障碍物深度图;
[0071] 最后,对简化后的每个环境障碍物深度图中每个矩形框依次执行下面的操作:
[0072] 1)、获取简化的环境深度图中当前矩形框两条中轴线上的所有深度值。
[0073] 2)、将上步得到的深度值四舍五入取整,并计算它们的众数。
[0074] 3)、去除当前矩形框内所有深度值与众数值的差超过障碍物尺寸阈值的所有像素点,保留与众数相差在障碍物尺寸阈值以内的像素点。
[0075] 障碍物尺寸阈值根据应用场景障碍物尺寸选取,本发明中选为5m。
[0076] 4)、判断当前矩形框两条中轴线上像素点个数是否大于比例阈值倍的中轴线长度,如果大于则进行步骤(5),否则进入下一个矩形框并回到步骤(1)重新计算。
[0077] 比例阈值可根据实际情况调整,一般选在0.2‑0.8范围内;
[0078] 5)、得到步骤(4)矩形框内中轴线最上方、最下方、最左方和最右方的像素点,并输出这些像素点位置处的原三维空间恢复图中的三维空间位置坐标。
[0079] 6)、根据四个三维空间位置坐标计算出障碍物的中心位置坐标与障碍物长宽,并记录当前矩形框所表示的障碍物种类。
[0080] 这里障碍物的中心位置坐标与障碍物长宽计算方法如下:
[0081]
[0082] 其中,(BotPointx,BotPointy,BotPointz)表示最下方的像素点位置处原三维空间恢复图中的三维空间位置坐标;
[0083] (TopPointx,TopPointy,TopPointz)表示最上方的像素点位置处原三维空间恢复图中的三维空间位置坐标;
[0084] (LeftPointx,LeftPointy,LeftPointz)表示最左方的像素点位置处原三维空间恢复图中的三维空间位置坐标;
[0085] (RightPointx,RightPointy,RightPointz)表示最右方的像素点位置处原三维空间恢复图中的三维空间位置坐标;
[0086] (Xcenter,Ycenter,Zcenter)表示当前障碍物中心位置空间三维坐标;W表示计算出的障碍物实际长度。H表示计算出的障碍物实际宽度。
[0087] 7)、对每个矩形框循环执行上述步骤后,即可得到每个障碍物的中心空间位置、障碍物宽高和障碍物的种类;
[0088] 8)、同理,对每帧图像重复上述步骤,得到各图像的每个障碍物的中心空间位置,障碍物宽高和种类,完成对障碍物的感知,为后续无人机避障等应用做好准备。
[0089] 在本发明中,搭建了逼真的视景仿真系统进行验证,视景仿真系统界面与障碍物检测提取效果如图8所示。以树木为例,在无人机飞行至距离树木18m‑60m之间任取六组感
知结果与实际值进行对比,对比结果如表1所示。
[0090] 表1
[0091]
[0092]
[0093] 可以看出中心位置的X坐标误差在1m以内,Y坐标误差在0.6m以内,Z坐标误差在4m以内,长宽均在2m以内,且随着距离的靠近误差逐渐降低,因此可以看出本发明具有较好的
感知精度。