掌桥专利:专业的专利平台
掌桥专利
首页

无人机控制方法、终端、无人机及存储介质

文献发布时间:2024-07-23 01:35:12


无人机控制方法、终端、无人机及存储介质

技术领域

本发明属于无人机控制技术领域,尤其涉及一种无人机控制方法、终端、无人机及存储介质。

背景技术

无人机具有体积较小、结构简单、控制比较灵活等特点,能够垂直起降、自由悬停,还能够适应各种自然环境,具备自主飞行和自主降落等优点,可以在一些不适合人类进入的复杂和危险环境中进行作业,因此在许多领域得到广泛应用。

现有技术中,无人机上通常设置有激光雷达,通过激光雷达扫描得到的三维点云数据进行测距,但激光雷达的精度越高,采集的数据量越大,测距过程中所需处理的数据也将越多,影响测距的实时性,在地形复杂的状态下难以对无人机进行准确控制。

发明内容

有鉴于此,本发明提供了一种无人机控制方法、终端、无人机及存储介质,旨在解决现有技术中测距过程中计算量过大导致的无法对无人机准确控制的问题。

本发明实施例的第一方面提供了一种无人机控制方法,包括:

获取单目相机拍摄的单目图像以及激光雷达采集的点云数据;

对单目图像进行目标识别,确定视野内的关键区域;

将视野内的关键区域对应的点云数据和单目图像输入到神经网络中,得到伪深度图;

根据伪深度图和点云数据,确定无人机与视野内各个位置的相对距离;

根据相对距离对无人机进行控制。

本发明实施例的第二方面提供了一种无人机控制装置,包括:

获取模块,用于获取单目相机拍摄的单目图像以及激光雷达采集的点云数据;

识别模块,用于对单目图像进行目标识别,确定视野内的关键区域;

预测模块,用于将视野内的关键区域对应的点云数据和单目图像输入到神经网络中,得到伪深度图;

确定模块,用于根据伪深度图和点云数据,确定无人机与视野内各个位置的相对距离;

控制模块,用于根据相对距离对无人机进行控制。

本发明实施例的第三方面提供了一种终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上第一方面的无人机控制方法的步骤。

本发明实施例的第四方面提供了一种无人机,包括如上第三方面的终端。

本发明实施例的第五方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上第一方面的无人机控制方法的步骤。

本发明实施例提供的无人机控制方法、终端、无人机及存储介质,首先获取单目相机拍摄的单目图像以及激光雷达采集的点云数据;随后对单目图像进行目标识别,确定视野内的关键区域;接着将视野内的关键区域对应的点云数据和单目图像输入到神经网络中,得到伪深度图;再根据伪深度图和点云数据,确定无人机与视野内各个位置的相对距离;最终根据相对距离对无人机进行控制。通过提取出部分较为关键的点云数据,辅助单目图像进行深度估计,然后再依据点云数据对伪深度图进行进一步的修正,从而在较小的计算量下,计算出准确的相对距离,保证无人机控制的准确性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的无人机控制方法的实现流程图;

图2是本发明实施例提供的无人机控制装置的结构示意图;

图3是本发明实施例提供的终端的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍。

图1是本发明实施例提供的无人机控制方法的实现流程图。如图1所示,无人机控制方法,包括:

S210,获取单目相机拍摄的单目图像以及激光雷达采集的点云数据。

在本发明实施例中,无人机上搭载有单目相机、激光雷达和终端,单目相机和激光雷达采集预定视野内的图像,并发送给终端,由终端进行计算视野内各个位置点与无人机之间的距离。其中,单目相机可以是RGB相机、红外相机等,在此不作限定。激光雷达可以是线阵激光雷达、面阵雷达等,在此不作限定。

S220,对单目图像进行目标识别,确定视野内的关键区域。

在一些实施例中,S220包括:对单目图像进行目标识别,得到多个第一目标并确定各个第一目标的当前状态信息;根据当前状态信息,确定各个第一目标对应的关键区域。

在本发明实施例中,单目图像是二维图像,并不能很好的反映视野内的三维信息,但单目图像的数据量较小,易于计算,因此本发明对单目图像进行目标识别,区分出视野内的人、树木、墙壁、道路、栅栏等目标,并评估各个目标的状态,以辅助测距。

在一些实施例中,对单目图像进行目标识别,得到多个第一目标并确定各个第一目标的当前状态信息,包括:对单目图像进行目标识别,得到多个第一目标并确定各个第一目标的类型、目标框尺寸、目标运动状态以及目标遮挡情况作为当前状态信息。

在本发明实施例中,可以将单目图像输入到预先训练的深度学习模型中,得到各个第一目标,在第一目标的识别过程中,通常会先识别出目标框,再进行目标类型的判断,本发明记录该目标框以辅助测距。同时,连续记录多个时刻下图像帧中目标框的变化,以此拟合得到目标的运动轨迹,以预测目标后续的运动方向、运动速度,即上述的目标运动状态。通过边缘检测算法,提取图像中局部灰度变化最大的像素点集和作为图像边缘,从而得到各个目标的大致轮廓,与各个目标的标准轮廓进行对比,从而确定目标是否存在遮挡。

在一些实施例中,根据当前状态信息,确定各个第一目标对应的关键区域,包括:根据各个第一目标的类型以及目标框尺寸,确定各个第一目标的初始关键区域;根据各个第一目标的目标运动状态和目标遮挡情况,确定各个第一目标对应的关键区域。

在本发明实施例中,无人机在飞行过程中,对每个第一目标的规避需求/识别需求是不同的,例如对于树木,其关键区域是其树冠轮廓;对于车辆,其关键区域是车顶。除此之外,目标框尺寸也对关键区域有影响,例如一辆汽车的长宽高是固定的,根据汽车在图像中目标框的长度和比例,与汽车实际的长宽高进行对比,可以粗略的估计出汽车大致距离,对于距离较近的车辆,将其整个车顶,甚至车尾、车头均可以作为初始关键区域,对于距离较远的车辆,可以只采集其车顶、车头或车尾的小部分区域,作为初始关键区域,以尽可能减少数据的处理量。

对于动态目标,需要考虑其后续运动的影响,在提取关键区域时,考虑其运动方向、运动速度的影响,即各个第一目标之间并不是孤立的。例如,在提取某量汽车的关键区域时,若该汽车与无人机对向行驶,则提取汽车车头以及车顶的位置作为关键区域,同时提取汽车前方的一部分道路作为汽车的关键区域,若汽车转弯,则相应提取相邻车道的道路作为汽车的关键区域,由此,在后续的分析处理中,能够仅使用这些重要区域的点云数据参与计算,其他区域可以依据这些点云数据和单目图像进行预估。同时,应设置出第一目标各个区域的重要性优先级,若第一目标之间发生遮挡,无法提取规定的最重要的区域作为关键区域,则顺延至下一优先级的区域进行提取。

S230,将视野内的关键区域对应的点云数据和单目图像输入到神经网络中,得到伪深度图。

在本发明实施例中,可以在一些场景中采集三维点云,然后依据常规的三维点云测距的方法,测量出各个位置点的实际距离,并标注到单目图像中,此带有距离标注的单目图像,可以近似认为是实际的深度图,将单目图像、选取的关键区域的点云作为输入,将深度图作为输出,对神经网络进行训练。训练后的神经网络输入实际场景中测的关键区域对应的点云数据和单目图像,即可输入一张带有预估距离标注的图像,由于该预估距离与实际的距离存在一定的偏差,因此定义为伪深度图。

在一些实施例中,将视野内的关键区域对应的点云数据和单目图像输入到神经网络中,得到伪深度图,包括:将关键区域对应的点云数据、当前状态信息和单目图像输入到神经网络中,得到伪深度图。

上文中已经提到,按照当前状态信息中的目标框大小,可以粗略的预估目标的距离,由此神经网络仅需要学习如何依据点云和单目图像的信息,优化出更精准的距离,相对于从零开始学习,能够有效减小神经网络的计算量,因此本发明在神经网络的训练和输入中加入当前状态信息,以减少伪深度图的运算量。

S240,根据伪深度图和点云数据,确定无人机与视野内各个位置的相对距离。

在一些实施例中,S240包括:从除关键区域之外的区域中选取多个第一位置的点云数据,作为第一点云数据;根据第一点云数据,计算无人机与各个第一位置的第一距离;根据伪深度图,计算无人机与各个第一位置的第二距离;根据第一距离和第二距离,计算误差矩阵;根据误差矩阵,对伪深度图进行修正,确定无人机与视野内各个位置的相对距离。

在本发明实施例中,伪深度图的大部分区域的距离值是预估的,因此必定存在一定的误差,因此可以在关键区域外的区域,在每个目标上随机选取第一位置,提取该位置点的点云数据,即第一点云数据,以常规的点云测距方法计算该位置与无人机之间的距离,作为第一距离,伪深度图上对应像素点所标注的预估距离,即为第二距离。

在一些实施例中,将各个第一距离和对应第二距离的差值,取平均,然后将深度图中各个像素点上的预估距离加上该平均值,即可确定为无人机与视野内各个位置的相对距离。

在一些实施例中,各个第一位置包括第一类位置和第二类位置;根据第一距离和第二距离,计算误差矩阵,包括:

其中,K为误差矩阵,d

在本发明实施例中,激光雷达对于镜面等目标的检测精度,相对于常规目标的精度更低,噪点更多。本发明将噪点比例大于第一预设比例的第一类目标,其上选取的第一位置定义为第一类位置,而其他目标上选取的第一位置作为第二类位置,两类位置各自计算其平均的距离差值,然后与预估距离相加,提高修正精度。误差矩阵的第三项用于判别,若两个平均的距离差值之间的差,即第三项的值大于预设值,则表明此时具有显著的外界因素影响激光雷达,为了避免过度采信激光雷达的数据造成识别误差,此时将第二类位置的平均的距离差值,即误差矩阵的第二项加上伪深度图上的预估距离,作为无人机与视野内各个位置的相对距离。

S250,根据相对距离对无人机进行控制。

在本发明实施例中,在得到视野内各个位置的相对距离后,即可以常规算法规划无人机的飞行路径,在避开障碍的同时,按照最短路径到达用户设定的位置。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

图2是本发明实施例提供的无人机控制装置的结构示意图。如图2所示,在一些实施例中,无人机控制装置2,包括:

获取模块210,用于获取单目相机拍摄的单目图像以及激光雷达采集的点云数据;

识别模块220,用于对单目图像进行目标识别,确定视野内的关键区域;

预测模块230,用于将视野内的关键区域对应的点云数据和单目图像输入到神经网络中,得到伪深度图;

确定模块240,用于根据伪深度图和点云数据,确定无人机与视野内各个位置的相对距离;

控制模块250,用于根据相对距离对无人机进行控制。

可选的,识别模块220,用于对单目图像进行目标识别,得到多个第一目标并确定各个第一目标的当前状态信息;根据当前状态信息,确定各个第一目标对应的关键区域。

可选的,识别模块220,用于对单目图像进行目标识别,得到多个第一目标并确定各个第一目标的类型、目标框尺寸、目标运动状态以及目标遮挡情况作为当前状态信息。

可选的,识别模块220,用于根据各个第一目标的类型以及目标框尺寸,确定各个第一目标的初始关键区域;根据各个第一目标的目标运动状态和目标遮挡情况,确定各个第一目标对应的关键区域。

可选的,预测模块230,用于将关键区域对应的点云数据、当前状态信息和单目图像输入到神经网络中,得到伪深度图。

可选的,预测模块230,用于从除关键区域之外的区域中选取多个第一位置的点云数据,作为第一点云数据;根据第一点云数据,计算无人机与各个第一位置的第一距离;根据伪深度图,计算无人机与各个第一位置的第二距离;根据第一距离和第二距离,计算误差矩阵;根据误差矩阵,对伪深度图进行修正,确定无人机与视野内各个位置的相对距离。

可选的,预测模块230,用于:

其中,K为误差矩阵,d

本实施例提供的无人机控制装置,可用于执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

图3是本发明实施例提供的终端的结构示意图。如图3所示,本发明的一个实施例提供的终端3,该实施例的终端3包括:处理器30、存储器31以及存储在存储器31中并可在处理器30上运行的计算机程序32。处理器30执行计算机程序32时实现上述各个无人机控制方法实施例中的步骤,例如图1所示各步骤。或者,处理器30执行计算机程序32时实现上述各系统实施例中各模块/单元的功能,例如图2所示各模块的功能。

示例性的,计算机程序32可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器31中,并由处理器30执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序32在终端3中的执行过程。

终端3可以是可以为终端或服务器,终端可以是手机、MCU、ECU、工控机等,在此不作限定,服务器可以是物理服务器、云服务器等,在此不作限定。终端3可包括,但不仅限于,处理器30、存储器31。本领域技术人员可以理解,图3仅仅是终端3的示例,并不构成对终端3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端还可以包括输入输出设备、网络接入设备、总线等。

所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器31可以是终端3的内部存储单元,例如终端3的硬盘或内存。存储器31也可以是终端3的外部存储设备,例如终端3上配备的插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器31还可以既包括终端3的内部存储单元也包括外部存储设备。存储器31用于存储计算机程序以及终端所需的其他程序和数据。存储器31还可以用于暂时地存储已经输出或者将要输出的数据。

本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述无人机控制方法实施例中的步骤。

计算机可读存储介质存储有计算机程序32,计算机程序32包括程序指令,程序指令被处理器30执行时实现上述实施例方法中的全部或部分流程,也可以通过计算机程序32来指令相关的硬件来完成,计算机程序32可存储于一计算机可读存储介质中,该计算机程序32在被处理器30执行时,可实现上述各个方法实施例的步骤。其中,计算机程序32包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

计算机可读存储介质可以是前述任一实施例的终端的内部存储单元,例如终端的硬盘或内存。计算机可读存储介质也可以是终端的外部存储设备,例如终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,计算机可读存储介质还可以既包括终端的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序及终端所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

相关技术
  • 一种无人机控制方法、计算机可读存储介质及终端设备
  • 一种输电线路无人机巡检方法、装置、终端及存储介质
  • 无人机航线的生成方法、装置、无人机和存储介质
  • 一种基于无人机的天气影响作业方法、无人机及计算机可读存储介质
  • 控制命令的响应方法、系统、航拍无人机及存储介质
  • 无人机终端降落控制方法、无人机终端及存储介质
  • 无人机终端降落控制方法、无人机终端及存储介质
技术分类

06120116674430