一种基于深度学习的旋翼无人机自动巡航方法及其系统与流程

文档序号:11807220阅读:2059来源:国知局
一种基于深度学习的旋翼无人机自动巡航方法及其系统与流程

本发明涉及一种基于深度学习的旋翼无人机自动巡航方法及其系统,属于无人机自动巡航领域。



背景技术:

无人机自动巡航,是指在给定目的地的情况下,无人机自动规划路线,自动寻找目的地的系统。无人机飞行航线的规划,通过基于深度学习的视觉传感技术,识别航行过程中的长期不变的物体,经过多次训练,实现无人机的自动巡航。

《基于超声波距离检测的无人机避障系统及其控制方法》发明专利是利用超声波检测技术检测无人机飞行环境中的障碍物,配合特定的避障算法达到避障的目的。这种系统采用的避障方法单一,当无人机在复杂且密集的环境飞行时,由于超声波的多次反射,会导致超声波信号的衰弱,使的检测不准确,出现避障失败的情况。

《一种基于3D摄像头的无人机避障方法及装置》发明专利是利用3D摄像头实时采集图像数据,并将数据送到视觉分析模块进行计算分析,实现避障的目的,但是这一发明中无人机的飞行航线的规划依赖于外部导航系统,没有实现无人机的自动巡航功能。

基于深度学习的视觉传感技术,就是通过摄像头采集视频图像,经过深度学习算法的处理,对不同类型的图像分类识别。2006年hinton提出了深度学习,深度学习就是模拟人的神经网络,使其具备像人一样的学习能力,目前深度学习算法在人脸识别、语音识别等领域表现出良好的应用效果。



技术实现要素:

本发明所要解决的技术问题是提供一种基于超声波与视觉传感的旋翼无人机自动巡航系统,克服了传统超声波距离检测避障不准确的弊端,基于深度学习的自动巡航方法,不仅实现了对楼宇等障碍物的避让,还实现了在训练过的航线,无人机自动巡航功能。本发明基于深度学习对沿线障碍物进行规避,等于给无人机增加了眼睛,辅以超声波测距方法,对近距离的障碍物及时避让。本发明主要用于物流系统,在给定无人机的飞行目的地的情况下,无人机携带货物自主飞行,自动巡航。

本发明为解决上述技术问题采用以下技术方案:

一方面,本发明提供一种基于深度学习的旋翼无人机自动巡航方法,具体步骤如下:

步骤1,根据采集到的航线上障碍物的图像,基于深度学习法训练障碍物识别模型;

步骤2,旋翼无人机通过摄像头获取实时飞行环境的图像,作为障碍物识别模型的输入,并将识别结果传输至飞行控制模块;

步骤3,旋翼无人机通过超声波距离检测模块检测旋翼无人机周围是否存在障碍物以及与障碍物之间的距离,并将检测结果传输至飞行控制模块;

步骤4,飞行控制模块根据接收到的识别结果和检测结果向旋翼无人机发出避障指令,其中,若障碍物距离旋翼无人机的距离小于设定的距离阈值,则飞行控制模块根据检测结果发出避障指令;若障碍物距离旋翼无人机的距离大于或等于设定的距离阈值,则飞行控制模块根据识别结果发出避障指令;从而实现旋翼无人机的自动巡航。

作为本发明的进一步优化方案,步骤1中根据采集到的航线上障碍物的图像,基于深度学习法训练障碍物识别模型,具体为:

1.1,将采集到的航线上的各种障碍物的图像作为深度学习的训练样本;

1.2,构建包含l个隐层和1个分类器的深度学习网络,其中,每个隐层为一个稀疏自编码器;

1.3,将训练样本作为第1个隐层的输入进行无监督自编码学习,以最小化重现误差为优化目标确定第1个隐层的参数;

1.4,将第k个隐层的输出作为第k+1个隐层的输入,重复进行步骤1.3,确定各个隐层的参数,其中,k=1,2,…,l;

1.5,将第l个隐层的输出作为分类器的输入,并采用有监督学习算法调整分类器的参数,从而得到基于深度学习法训练障碍物识别模型。

作为本发明的进一步优化方案,步骤3中超声波距离检测的计算公式为:

s=c*t/2

式中,s为旋翼无人机与障碍物之间的距离,c为超声波声速,t为超声波从发射到接收的时间。

作为本发明的进一步优化方案,步骤2中还包括将获取的实时飞行环境图像转化为二维图像后,再作为障碍物识别模型的输入。

另一方面,本发明还提供一种基于深度学习的旋翼无人机自动巡航系统,包括:

图像采集模块,用于实时采集旋翼无人机的飞行环境图像,并传输至障碍物识别模块;

障碍物识别模块,用于基于深度学习法训练障碍物识别模型以及利用训练好的障碍物识别模块根据接收到的飞行环境图片识别航线上的障碍物,并将识别结果传输至飞行控制模块;

超声波距离检测模块,用于检测旋翼无人机周围是否存在障碍物以及与障碍物之间的距离,并将检测结果传输至飞行控制模块;

飞行控制模块,用于根据接收到的识别结果和检测结果控制旋翼无人机的飞行。

作为本发明的进一步优化方案,该系统还包括设置在旋翼无人机上的北斗卫星定位模块。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

(1)本发明给无人机增加了眼睛,能识别出飞行沿线的楼宇等障碍物;

(2)首次将深度学习运用于无人机自动巡航系统,实现了无人机在熟悉环境下不依赖外部导航系统自主飞行;

(3)结合超声波距离检测技术,实现对近距离障碍物的精确避障;

(4)利用北斗卫星定位系统获取无人机当前位置,方便管理员对无人机的管理;

(5)本系统特别适用于物流系统,可实现固定点到固定点之间的货物的运输,大大节省了人力。

附图说明

图1为本发明的系统结构图。

图2基于深度学习的楼宇障碍物规避算法结构图

图3为本发明中深度学习网络输入样本集示例图。

图4为本发明中深度学习网络特征提取模型。

图5为本发明中北斗卫星定位模型。

具体实施方式

下面结合附图以及具体实施例对本发明的技术方案做进一步的详细说明:

本发明设计的一种基于深度学习的旋翼无人机自动巡航系统,如图1所示,包括图像采集模块、超声波距离检测模块、基于深度学习的障碍物识别模块、飞行控制模块和基于北斗卫星的定位模块。图像采集模块,用于实时采集旋翼无人机的飞行环境图像;超声波距离检测模块,用于检测旋翼无人机周围是否存在障碍物以及与障碍物之间的距离;基于深度学习的障碍物识别模块,用于完成对长期不变的障碍物的识别;飞行控制模块实现对无人机飞行状态的控制;基于北斗卫星的定位模块可获取无人机的位置,方便管理员通过后台界面对无人机进行管理。

下面介绍基于深度学习的障碍物识别模块的建立原理:

1.参数初始化

设置稀疏权重α和稀疏参数β(接近于0),初始化第一个自编码器的权重矩阵W(1)和偏置向量b(1),设置距离阈值s0

2.算法训练

首先训练第一个自编码器,输入经编码器编码,得到第一个隐层的输出,再经解码器解码得到的输出与原输入越接近,表示编码器的效果越好。将解码器的输出与原输入x的误差作为重现误差函数:

其中,X为输入矩阵,X=[x(1),x(2),x(3),…,x(n)],为输出矩阵,n为训练样本集图片的数量。

最小化重现误差函数,求出自编码器模型的模型参数θ:

其中:θ={W,b}。

为自编码器加上稀疏性约束,使其结构特性更接近于人的神经网络,则带稀疏性约束的重现误差函数为:

其中:m表示隐层单元的个数,表示隐含层第j个单元的平均激活度,是为了实现稀疏性约束对重现误差添加的惩罚因子,惩罚因子表示为:

具有这样的性质:当时,也就是说隐含层第j个单元的平均激活度越接近我们设定的β(稀疏参数,要求达到的稀疏性),越小,重现误差就越小。

最小化带稀疏性约束的重现误差函数SR,求出模型参数θ:

第一层的参数θ(1)确定后,由输入经第一自编码器得出编码结果,将此结果作为下一个自编码器的输入,依次迭代,得出第二至第五隐含层的参数θ(2)(3)(4)(5)。至此,各隐含层的参数确定,整个网络学会了如何重现输入图像。

最后将最顶层隐含层的输出与分类器的输入连接,使用有监督学习算法调整分类器模型的参数,整个网络就能识别出不同类型的图片。

3.算法测试

深度学习网络经训练后,具备了分类识别图像的能力。将摄像头获取的楼宇等视频图像,传输到基于深度学习的障碍物识别模块。在该模块中,首先将图像转化为二维图像,再对图像数据预处理并输入到深度学习网络,网络输出该图像的类别,并传送到飞行控制模块。

本发明还设计了一种基于深度学习的旋翼无人机自动巡航方法,如图2所示具体实施步骤如下:

1.数据预处理

人工采集各种楼宇的图片,组成训练样本集,如图3所示。其中,还包括对采集楼宇图片进行预处理,一般多幅图像构成一个三维矩阵,本发明中的深度学习网络仅支持二维矩阵的输入,因此需将数据降维。将一幅图像按照扫描顺序转化为列向量x(i),i=1,2,…,n,n幅图像构成一个输入矩阵X=[x(1),x(2),x(3),…,x(n)]T作为训练网络的样本输入数据。并将输入数据人工添加标签Y=[y(1),y(2),y(3),…,y(n)],即对输入数据人工分类,同一类型的图像标签相同,比如:将所有楼宇图片标为1,所有电线杆标为2,所有塔标为3。

2.参数初始化

本发明中,需要初始化的参数有稀疏权重α、稀疏参数β和距离阈值s0。权重矩阵W和偏置向量b在深度学习训练过程中被初始化。权重矩阵W表示可视层单元与隐含层单元之间的权重参数,偏置向量b表示隐含层输入的偏置量,权重矩阵W和偏置向量b是深度学习网络两个非常重要的参数,决定了网络的识别能力。稀疏权重α表示稀疏性约束占重现误差的比重,稀疏参数β表示稀疏性约束的程度,当激活函数为sigmoid函数时,β越接近0,其约束性越好。

3.算法训练

本发明中编码器与解码器为sigmoid函数:f(x)=g(x)=1/1+exp(-x),其中x为编码器和解码器的输入,f(x)表示编码器输出,g(x)表示解码器输出。

首先训练第一隐含层,也即训练第一个稀疏自编码器。输入矩阵X=[x(1),x(2),…,x(n)]T,带上第一隐含层的权重矩阵W(1)与偏置向量b(1),可得到编码器的输入为W(1)X+b(1),编码器的输出为:

Y(X)=f(W(1)X+b(1))=1/1+exp(-W(1)X-b(1))

解码器的输出为:

<mrow> <mi>Z</mi> <mrow> <mo>(</mo> <mi>X</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>g</mi> <mrow> <mo>(</mo> <mi>Y</mi> <mo>(</mo> <mi>X</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mn>1</mn> <mo>/</mo> <mn>1</mn> <mo>+</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <mn>1</mn> <mrow> <mn>1</mn> <mo>+</mo> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <msup> <mi>W</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </msup> <mi>X</mi> <mo>-</mo> <msup> <mi>b</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </msup> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow>

重现误差为:

最小化重现误差分两步进行:

(1)固定偏置向量b1,调整权重矩阵W(1),使重现误差SR最小。

(2)固定权重矩阵W(1),调整偏置向量b(1),使重现误差SR最小。

不断迭代,调整参数,直至重现误差收敛至最小。至此,第一个自编码器的模型参数被确定,即第一隐含层的模型参数被初始化。

重复上述方法,将第k隐含层的输出X(k)作为第k+1层隐含层的输入,最小化重现误差SR:

通过调整参数W(k+1),b(k+1),使得重现误差最小,实现隐含层对图像特征的最佳提取,其中,W(k+1)为第k+1层隐含层的权重矩阵,b(k+1)为第k+1层隐含层的偏置向量。

如图4所示,不断调整参数的过程就是隐含层不断提取图像特征的过程,第k隐含层提取的特征包含第k-1隐含层提取的特征,最高隐含层能够提取出图像的所有特征。

将所有隐含层的参数初始化后,整个网络便学会了如何重现图像。此时网络还不具备识别能力,将最后的隐含层输出与分类器的输入连接,并采用有监督学习算法对分类器的模型参数进行调整。将深度学习网络中分类器以下的隐含层看做一个输入层,分类器作为隐含层,利用有监督学习算法对分类器进行训练。

有监督学习算法对分类器的训练过程如下:

(1)输入:训练样本集X=[x(1),x(2),x(3),…,x(n)],标签数据集

Y=[y(1),y(2),y(3),…,y(n)]。

(2)初始化:输入层到分类器的权重矩阵w和偏置向量a,激励函数为f(x)为sigmoid函数:f(x)=1/1+exp(-x)。

(3)调5个隐含层的参数W和b,使得第5隐含层的输出与输入相同,确定每个隐含层的参数。

(4)分类器的输出:

(5)误差函数:将分类器的输出与标签数据Y比较,得到误差函数:

(6)确定参数w和a:不断调整调整权重矩阵w和偏置向量a的值,使得R′最小,最终确定w和a的值。

经过上述6个步骤,完成对分类器参数的初始化,至此,整个深度学习网络便具备了障碍物识别能力。

基于深度学习的障碍物识别算法步骤如表1所示:

表1基于深度学习的障碍物识别算法步骤

4.算法测试

摄像头采集的图像自动输入基于深度学习的障碍物识别模块,首先将图像转化为二维图像,并按扫描方式转化为列向后量输入到基于深度学习的障碍物识别模块进行自动识别,基于深度学习的障碍物识别模块输出识别结果,发送给飞行控制模块。

在基于深度学习的障碍物识别模块的基础上,本发明还引入了基于超声波的避障算法。无人机巡航系统在经过深度学习算法的训练后可以在训练过的航线上避开障碍物,自主飞行,但是,对于随机出现的障碍物,比如飞鸟,仅经过深度学习算法训练后的系统无法避开障碍物,在这种情况下,基于超声波的避障算法就可以很好的解决这一问题。

对于随机出现的障碍物,运用超声波检测技术并配合一定的避障算法,可以使得无人机不会碰撞到任何物体。超声波检测技术,就是由超声波发射装置发射超声波并沿直线方向在空中四散传播,遇到障碍物发生反射。接收装置在收到由发生装置传来的超声波后,计算出超声波在空中的传播时间t,用距离公式s=c*t/2,求出障碍物到无人机的距离s,并将距离发送给飞行控制模块,当s<s0时,即超声波检测到的障碍物到无人机的距离小于设定的距离阈值时,飞行控制模块要发出避障指令,否则飞行控制模块根据深度学习识别结果做出飞行控制指令。

另外,如图5所示,在无人机上安装北斗卫星信号接收模块,该模块接受四个北斗卫星发送的信号xi,yi,zi,vti,(i=1,2,3,4)。其中xi,yi,zi为第i个卫星的坐标,vti为第i个卫星的种差。设x,y,z为无人机所处的位置,vt0为无人机上卫星信号接收机的钟差,解以下方程组:

<mrow> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>z</mi> <mn>1</mn> </msub> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>+</mo> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mn>0</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow>

<mrow> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>z</mi> <mn>2</mn> </msub> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>+</mo> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mn>0</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mn>2</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>d</mi> <mn>2</mn> </msub> </mrow>

<mrow> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>3</mn> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>z</mi> <mn>3</mn> </msub> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>+</mo> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mn>0</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mn>3</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>d</mi> <mn>3</mn> </msub> </mrow>

<mrow> <msqrt> <mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> <mo>-</mo> <mi>x</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>4</mn> </msub> <mo>-</mo> <mi>y</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>z</mi> <mn>4</mn> </msub> <mo>-</mo> <mi>z</mi> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>+</mo> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mn>0</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mn>4</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>d</mi> <mn>4</mn> </msub> </mrow>

其中,di为第i个卫星与无人机之间的距离。

求解上述方程即可计算出无人机当前所在位置(x,y,z),即实现了无人机的定位。将定位信号发送给服务器端,管理员通过服务器端界面实时查看无人机的位置并对无人机进行管理。

以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

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