一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于单目视觉的无人机低功耗自主避障方法及系统与流程

2021-09-22 18:10:00 来源:中国专利 TAG:自主 无人机 目视 低功耗 特别


1.本发明涉及无人机技术中的自主避障领域,特别是一种基于单目视觉的低功耗自主避障方法及系统。


背景技术:

2.无人机避障主要有两个大的任务,感知和控制,感知阶段常用的传感器有gps,超声波,激光,雷达等,控制阶段除了势场法,栅格法等传统的方法外,有越来越多的研究倾向于使用神经网络控制避障。不同的避障方法各有优缺点,目前主流的避障方法有:
3.(1)声波控制法。声波控制法主要利用超声波测距,超声波传感器测距的基本原理是测量超声波的飞行时间。超声波在空气中的速度和空气中的湿度温度都有关系,所以在精确的测量中,需要把空气中温度和湿度的变化及其它因素考虑进去。超声波能够很简单的测出物体距离信息,一般的测距系统大都是采用这种方法。目前超声波的技术比较成熟,成本低,但是作用距离近,并且对反射面的光整程度要求较高,在面对没有反射能力或弱反射能力的障碍物时,安全问题不能得到保障,不同材料对声波的反射或者吸引是不相同的,这在实际应用中都需要考虑。
4.(2)栅格地图法,栅格地图法属于用启发式算法在单元中搜索安全路径,建立一幅可用于路径规划的地图。栅格粒度越小,障碍物的表示会越精确,也就更好避障。但是栅格地图往往会占用大量的存储空间,不适用于资源受限的平台。
5.(3)人工势场法,势场法是人工建立势场,将障碍物设置成斥力,目标设置成吸引力,进行力的矢量相加,最后算出合力的方向。优点是简单实用,有良好的实时性,便于底层的实时控制,但是如果某个点引力斥力刚好相等,方向相反,容易陷入局部最优解或震荡。
6.(4)激光避障法,激光避障法是利用激光雷达避障。常见的激光雷达是基于飞行时间的(tof,time of flight),通过测量激光的飞行时间来进行测距d=ct/2,其中d是距离,c是光速,t是从发射到接收的时间间隔。激光雷达包括发射器和接收器,发射器用激光照射目标,接收器接收反向回的光波。激光雷达的测量距离可以达到几十米甚至上百米,角度分辨率高,通常可以达到零点几度,测距的精度也高。但测量距离的置信度会反比于接收信号幅度的平方,因此,黑体或者远距离的物体距离测量不会像光亮的、近距离的物体那么好的估计。并且,对于透明材料,比如玻璃,激光雷达就无能为力了,由于结构的复杂、器件成本高,激光雷达的成本也很高,运行时功耗也高,所以不适用于资源受限的平台。
7.这些避障方法能解决一般无人机的避障要求,但是随着无人机技术的发展和智能自动化技术的推动,无人机开始朝向微小型、低功耗的方向发展,而目前的避障方法由于传感器体积大、功耗高和避障模型复杂不适用于资源受限的低功耗无人机平台,因此本发明针对微小型低功耗无人机发明了一种低功耗自主避障方法及系统。


技术实现要素:

8.本发明技术解决问题:克服现有技术的不足,提供一种基于单目视觉的无人机低
功耗自主避障方法及系统,实现用于微小型无人机的低功耗自主避障。
9.本发明的避障传感器是单目相机,避障模型由卷积神经网络训练而来,因此需要用于训练的数据集和模型,本发明的关键内容在以下几方面:
10.1.收集数据集:采用深度相机收集数据集,深度相机收集到的是整个场景的距离;同步收集单目rgb图像和深度图像,单目rgb图像数据集作为训练轻量化自主避障模型的数据集,深度图像用于制作距离标签;
11.2.数据集处理:将收集到的深度图像进行裁剪后,按宽度等分为左中右三部分,并求出左中右三部分的平均深度值,由于深度值表示距离值,所以将平均深度值作为左中右三个方向的距离,将三个方向的距离与所述单目rgb图像数据集进行对应,作为单目rgb图像左中右三个方向的距离标签dl,dc,dr;
12.3.基于轻量化卷积神经网络构建轻量化自主避障模型;
13.4.训练和测试所述轻量化自主避障模型,将所述数据集划分为训练集,验证集和测试集,确定模型训练参数,训练参数有:优化器选用adam优化器,学习率设置为0.001,衰减率设置为1e

5,总共训练100个epoch(周期),batchsize(批大小)设置为32。用以上训练参数进行轻量化自主避障模型的训练。将模型训练参数代入轻量化自主避障模型,最终从单目图像中预测到左中右三个方向的距离dl,dc,dr;
14.5.设计控制算法将所预测的左中右三个方向的距离dl,dc,dr转化为无人机控制指令,以控制无人机的避障飞行。
15.本发明的一种基于单目视觉的无人机低功耗自主避障方法,具体步骤如下:
16.步骤1:收集数据集:采用深度相机收集数据集,深度相机收集到的是整个场景的距离;同步收集单目rgb图像和深度图像,单目rgb图像数据集作为训练轻量化自主避障模型的数据集,深度图像用于制作距离标签;
17.步骤2:数据集处理:将收集到的深度图像进行裁剪后,按宽度等分为左中右三部分,并求出左中右三部分的平均深度值,深度值表示距离值,将平均深度值作为左中右三个方向的距离,将三个方向的距离与所述单目rgb图像数据集进行对应,作为单目rgb图像左中右三个方向的距离标签;
18.步骤3:基于轻量化卷积神经网络构建轻量化自主避障模型;
19.步骤4:训练和测试所述轻量化自主避障模型,将所述数据集划分为训练集,验证集和测试集,确定模型训练参数,训练参数为:优化器选用adam优化器,学习率设置为0.001,衰减率设置为1e

5,总共训练100个周期epoch,批大小batchsize设置为32,用以上训练参数进行轻量化自主避障模型的训练,将模型训练参数代入轻量化自主避障模型,最终从单目图像中预测到左中右三个方向的距离dl,dc,dr;
20.步骤5:设计控制算法将所预测的左中右三个方向的距离dl,dc,dr转化为无人机控制指令,以控制无人机的避障飞行。
21.所述步骤3中,轻量化自主避障模型采用轻量化卷积神经网络实现,所述轻量化卷积神经网络的输入层是单目rgb图像,经过预先特征提取层提取特征,预先特征提取层由池化层max pooling 卷积层conv 池化层max pooling构成;然后经过两个轻量化模块提取特征;最后经过一个3*3卷积运算提取特征后将特征图按宽度划分为左中右三块,分别送入三个分支中,每个分支层由一个3*3卷积加一个全连接层组成,各分支最后输出左中右三个方
向的距离;所述两个轻量化模块均采用轻量级卷积神经网络sufflenet中的模块,损失函数采用三分支mse(mean squard error,均方误差)损失函数。
22.所述步骤2中,在归一化前选一个安全阈值d
safe
和危险阈值d
danger
,比d
danger
小的距离视为危险距离,比d
safe
大的距离视为安全距离,则归一化公式为:
[0023][0024]
所述步骤5中,控制算法实现如下:
[0025]
(1)无人机控制指令包括线速度v和角速度w,线速度v由中间方向距离dc控制,能够判断无人机正对空间是否有障碍物,为了更好的调节线速度再设置两个阈值dmin和dmax,dc小于dmin表示当前正对空间存在障碍物,线速度调整为0,dc大于dmax表示当前正对空间不存在障碍物,调整为最大线速度vmax,dc位于两者之间则根据dc距离大小调整线速度,线速度公式为:
[0026][0027]
(2)角速度w由所述左中右三个方向的距离dl,dc,dr共同决定,角速度w大小范围为[

1,1],小于0表示向左转,大于0表示向右转;将左边方向设置为

45
°
,中间方向设置为0
°
,右边方向设置为45
°
,则dl,dc,dr均成为向量dl,dc,dr,当左中右三个方向距离都大于dmin时,角速度由三个方向的距离向量共同决定,θ等于dl,dc,dr合力方向的度数,角速度等于θ除以dr度数;否则,当左方向距离大于右方向距离时,角速度由左中距离向量共同决定,θ等于dl,dc合力方向的度数,角速度等于θ除以dr度数;反之由右中距离向量共同决定,θ等于dc,dr合力方向的度数,角速度等于θ除以dr度数,当左中右三个方向距离都小于dmin时,说明此时左中右三个方向都存在障碍物,则掉头寻找其他路径。
[0028]
本发明的一种基于单目视觉的无人机低功耗自主避障系统,包括:视频解析模块、避障系统模块和控制系统模块;
[0029]
视频解析模块,为整个系统提供图像输入,首先利用无人机收集视频,通过socket协议传输到控制平台,然后进行视频解析,将视频解析为帧图像,接下来对图像进行预处理,即将图像调整为规定大小,图像处理好后被输入到避障系统模块中;
[0030]
避障系统模块,用于从图像中预测左中右三个方向的距离;视频解析模块已经得到了经过预处理的图像,接下来将训练好的轻量化自主避障模型部署到控制平台上,具体部署方式为:在控制平台上安装轻量化自主避障模型运行所需环境,并将轻量化自主避障模型进行模型压缩,使其在控制平台上运行。部署完成后,将视频解析模块得到的图像作为轻量化自主避障模型的输入,运行模型得到该图像对应的左中右三个方向的距离dl,dc,dr;
[0031]
控制系统模块,用于将左中右三个方向的距离转换为控制无人机的指令,无人机控制指令包括无人机线速度v和角速度w;
[0032]
(1)线速度v由中间方向距离dc控制,能够判断无人机正对空间是否有障碍物,为
了更好的调节线速度再设置两个阈值dmin和dmax,dc小于dmin表示当前正对空间存在障碍物,需要放慢速度,dc大于dmax表示当前正对空间不存在障碍物,调整为最大线速度vmax,位于两者之间则根据距离大小调整速度,线速度公式为:
[0033][0034]
(2)无人机角速度由w所述左中右三个方向的距离dl,dc,dr共同决定,角速度大小范围为[

1,1],小于0表示向左转,大于0表示向右转;将左边方向设置为

45
°
,中间方向设置为0
°
,右边方向设置为45
°
,则dl,dc,dr均成为向量dl,dc,dr,当左中右三个方向距离都大于dmin时,角速度由三个方向的距离向量共同决定,θ等于dl,dc,dr合力方向的度数,角速度等于θ除以dr度数;否则,当左方向距离大于右方向距离时,角速度由左中距离向量共同决定,θ等于dl,dc合力方向的度数,角速度等于θ除以dr度数;反之由右中距离向量共同决定,θ等于dc,dr合力方向的度数,角速度等于θ除以dr度数,当左中右三个方向距离都小于dmin时,说明此时左中右三个方向都存在障碍物,则掉头寻找其他路径;
[0035]
(3)求得无人机线速度v和角速度w后,控制平台通过socket协议发送给无人机控制其避障飞行。
[0036]
本发明与现有技术相比的优点在于:
[0037]
(1)本发明面向微小型无人机的避障需求,针对微小型无人机体积小、成本低的特点,使用单目相机作为传感器,比传统避障方法所用的传感器体积小,功耗低。
[0038]
(2)本发明的轻量化自主避障模型使用深度可分离卷积和1*1卷积替代普通卷积使模型计算量和参数量少、在计算平台jetson nano上运行时间快、运行功耗低。
[0039]
(3)本发明使用深度相机收集数据集,比现有技术使用超声波和红外传感器收集的数据集更加准确,因为超声波和红外传感器测距精度受环境的影响较大。
附图说明
[0040]
图1为本发明的自主避障系统框架图;
[0041]
图2为本发明的ffmpeg解码流程图;
[0042]
图3为本发明的避障模型结构示意图;
[0043]
图4为本发明的轻量化模块示意图。
具体实施方式
[0044]
下面结合附图及实施例对本发明进行详细说明。
[0045]
如图1所示,本发明的自主避障系统框架为从特洛无人机的单目相机中获取视频流,传输给嵌入式平台jetson nano进行视频解析,然后将视频帧输入避障模型进行预测得到输出后,再经过控制算法转换为无人机控制指令,输入到无人机控制系统中,控制无人机的前进方向。整个系统分为视频解析模块、避障系统模块、控制系统模块。
[0046]
视频解析模块
[0047]
该模块是由特洛无人机收集视频,通过socket协议传输到jetson nano平台上,然
后利用pyav库进行视频解析,pyav库是ffmpeg(fast forward moving picture expert group,快速处理动态图像专家组)库的python绑定,提供了ffmpeg的python接口。ffmpeg是可以用来解码视频并将其转化为流的开源程序,它能将无人机传输过来的视频解码。解码流程如说明书图2所示,首先注册ffmpeg组件并打开输入视频文件以获取视频文件的信息,然后根据文件信息查找并打开解码器读取视频文件,如果读到视频数据包就进行解码,将视频数据解码为图像并转换图像格式输出图像,否则关闭解码器。
[0048]
避障系统模块
[0049]
该模块主要是从视频解析模块得到的图像中预测障碍物距离。经过数据集收集、数据集处理、轻量化避障模型设计、模型训练和测试四个步骤后得到一个满足实时低功耗要求的轻量化避障模型。数据集收集方面采用深度相机同步收集深度图和单目图像。数据集处理方面,将深度图分为左中右三个部分求三部分的平均深度作为三部分的整体距离,并将距离归一化作为对应单目图像的标签,在归一化前选一个安全阈值d
safe
和危险阈值d
danger
,比d
danger
小的距离视为危险距离,比d
safe
大的距离视为安全距离,则归一化公式为:
[0050][0051]
接下来进行数据增强,主要的增强方法有水平翻转,旋转,颜色通道偏移,缩放,抖动,高斯噪声等。水平翻转是指将图像左右翻转,为了与标签保持一致,左右标签也要互换。旋转是将图像进行轻微的旋转,颜色通道偏移是指改变图像整体的颜色,使整张图呈现某种色调,就像在图片上加了一块有色玻璃。缩放是将图像的每个像素值乘上一个缩放因子,有利于模型收敛。抖动是指将图像加上抖动模糊和高斯模糊,因为在机器人行走过程中会产生抖动模糊,所以训练模型时将数据随机进行抖动模糊。轻量化避障模型设计阶段,本发明设计了一个卷积神经网络模型,模型结构如图3所示,由输入层、预先特征提取、轻量化模块特征提取层、特征图划分层、各分支层组成,其中输入层就是输入单目rgb图像。预先特征提取层由池化层max pooling、卷积层conv和池化层max pooling三个层组成,用于预先提取特征。轻量化模块特征提取层是经典轻量化卷积神经网络shufflenet(混洗网)中的模块,如图4所示,模块分为两个分支,分支中的卷积运算采用深度可分离卷积,是普通卷积计算量的九分之一,分支结束后将两分支的特征图进行concat(级联),而不是add(相加),因为add操作是内存密集型操作,会增加内存访问时间,cancat操作后进行shuffle(混洗)操作,shuffle操作是为了打乱特征图的通道,使通道之间进行交流,本发明模型中使用了两个该模块用于特征提取。特征图划分层将特征图按宽度划分为左中右三个部分,分别输入三个分支中。分支层由一个3*3卷积加一个全连接层组成,各分支最后输出左中右三个方向的距离。整个模型相比其他用于避障的模型参数量少、运行速度快、运行功耗低。最终得到的输出是左中右三个方向的距离,分别表示为dl,dc,dr。
[0052]
模型设计好进行训练,训练所用的数据集包括18000张图片,按照比例6:2:2随机划分为训练集,验证集和测试集。训练时使用的优化器是adam(自适应矩估计)优化器,学习率设置为0.001,衰减率设置为1e

5,总共训练100个epoch(周期),batch size(批大小)设置为32,在每个epoch训练时,数据集会被随机打乱成不同的batch(批)。在训练中使用了
topk loss(损失最大的k个样本)进行困难样本挖掘,topk loss是指在训练时选择前k个损失函数最大的样本进行反向传播,而损失函数较小的样本可以认为已经学会了所以不用再反向传播学习了。使用topk loss可以解决比较难的样本学习问题,倾向于学习不会的问题,而对容易解决而且已经能正确学习的问题不再去学习。
[0053]
控制系统模块
[0054]
避障系统模块从单目图像中预测到了左中右三个方向的距离dl,dc,dr,该模块将其转换为控制无人机飞行的线速度和角速度,其中线速度由dc来控制,因为dc表示中间方向的距离,能够判断无人机正对空间是否有障碍物。为了更好的调节线速度再设置两个阈值dmin和dmax,dc小于dmin表示距离障碍物很近,需要放慢线速度,dc大于dmax表示距离障碍物很远,可以调整为最大线速度vmax,位于两者之间则根据距离大小调整线速度。线速度公式为:
[0055][0056]
角速度由左中右三个方向的距离共同决定,角速度大小范围为[

1,1],小于0表示向左转,大于0表示向右转。将左边方向设置为

45
°
,中间方向设置为0
°
,右边方向设置为45
°
,则dl,dc,dr都成为了向量dl,dc,dr。当左中右三个方向距离都大于dmin时,角速度就由三个距离向量共同决定,θ等于dl,dc,dr合力方向的度数,角速度等于θ除以dr度数。否则,当左方向距离大于右方向距离时,角速度由左中距离向量共同决定,θ等于dl,dc合力方向的度数,角速度等于θ除以dr度数。反之由右中距离向量共同决定,θ等于dc,dr合力方向的度数,角速度等于θ除以dr度数。当左中右三个方向距离都小于dmin时,说明此时左中右三个方向都有障碍物,则掉头寻找其他路径。
[0057]
避障模型输出转化为线速度和角速度后,将线速度、角速度指令通过socket协议发送给特洛无人机,控制无人机的飞行。
[0058]
整个避障系统就由以上三个模块组成,从特洛无人机中解析视频流经过避障系统模块和控制系统模块得到控制指令后再将指令回传给无人机,整个过程构成一个环路,用于特洛无人机的避障飞行。
[0059]
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜