用于无人机的避障方法和避障装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及用于无人机的避障方法和避障装置。
背景技术
随着无人机技术的发展,无人机应用的环境越来越复杂,对无人机感知环境、躲避障碍物的要求也越来越高。因此,避障技术成为未来无人机实现自动化、智能化的关键技术。
目前,一般通过测定障碍物与无人机之间的距离,来控制无人机规避障碍物。现有的测距方法可包括:超声波测距、红外传感器测距、TOF(Time of Flight,飞行时间)技术测距、双目视觉测距等等。其中,双目视觉测距是利用障碍物在左右两幅视图上成像的坐标(例如,横向坐标)之间存在的差异(即,视差(disparity))与障碍物到成像平面的距离存在着反比例的关系,来确定障碍物与无人机之间的距离。
发明内容
本申请实施例提出了用于无人机的避障方法和避障装置。
第一方面,本申请实施例提供了一种用于无人机的避障方法,无人机包括双目摄像组件,该方法包括:获取双目摄像组件采集的第一图像和第二图像;对第一图像和第二图像进行立体匹配,生成视差图;基于不同的预设距离,在视差图上生成不同尺寸的搜索区域,不同的预设距离是预先设定的、小于无人机的最大测量距离的距离;基于不同尺寸的搜索区域,确定障碍物与无人机之间的距离;基于所确定的距离调整无人机的行进方向。
在一些实施例中,基于不同尺寸的搜索区域,确定障碍物与无人机之间的距离,包括:从不同尺寸的搜索区域中选取最大尺寸的搜索区域作为当前搜索区域,执行搜索操作:从视差图中提取当前搜索区域的图像;在所提取的图像中确定灰度值大于预设灰度值的有效像素数与像素总数的比值,响应于确定的比值大于等于预设比值,将当前搜索区域对应的预设距离确定为障碍物与无人机之间的距离。
在一些实施例中,基于不同尺寸的搜索区域,确定障碍物与无人机之间的距离,还包括:响应于确定的比值小于预设比例,从未被选取的搜索区域中选取最大尺寸的搜索区域作为当前搜索区域,重新执行搜索操作。
在一些实施例中,在所提取的图像中确定灰度值大于预设灰度值的有效像素数与像素总数的比值,包括:将所提取的图像转换为直方图;确定直方图中的像素总数以及直方图中灰度值大于预设灰度值的有效像素数;将直方图中灰度值大于预设灰度值的有效像素数与直方图中的像素总数的比值确定为所提取的图像中灰度值大于预设灰度值的有效像素数与像素总数的比值。
在一些实施例中,基于不同的预设距离,在视差图上生成不同尺寸的搜索区域,包括:确定双目摄像组件的标定参数,标定参数包括焦距以及感光芯片的中心点在像平面的第一坐标轴和第二坐标轴上的偏移;对于每个预设距离,基于无人机的尺寸、焦距、中心点在第一坐标轴上的偏移以及该预设距离,确定搜索区域在第一坐标轴上的坐标点;基于无人机的尺寸、焦距、中心点在第二坐标轴上的偏移以及该预设距离,确定搜索区域在第二坐标轴上的坐标点;基于所确定的坐标点生成搜索区域。
第二方面,本申请实施例提供了一种用于无人机的避障装置,无人机包括双目摄像组件,装置包括:图像获取单元,配置用于获取双目摄像组件采集的第一图像和第二图像;图像匹配单元,配置用于对第一图像和第二图像进行立体匹配,生成视差图;区域生成单元,配置用于基于不同的预设距离,在视差图上生成不同尺寸的搜索区域,不同的预设距离是预先设定的、小于无人机的最大测量距离的距离;距离确定单元,配置用于基于不同尺寸的搜索区域,确定障碍物与无人机之间的距离;方向调整单元,配置用于基于所确定的距离调整无人机的行进方向。
在一些实施例中,距离确定单元包括:障碍搜索模块,配置用于从不同尺寸的搜索区域中选取最大尺寸的搜索区域作为当前搜索区域,执行搜索操作:从视差图中提取当前搜索区域的图像;在所提取的图像中确定灰度值大于预设灰度值的有效像素数与像素总数的比值,响应于确定的比值大于等于预设比值,将当前搜索区域对应的预设距离确定为障碍物与无人机之间的距离。
在一些实施例中,距离确定单元还包括:重新搜索模块,配置用于响应于确定的比值小于预设比例,从未被选取的搜索区域中选取最大尺寸的搜索区域作为当前搜索区域,重新执行搜索操作。
在一些实施例中,在所提取的图像中确定灰度值大于预设灰度值的有效像素数与像素总数的比值,包括:将所提取的图像转换为直方图;确定直方图中的像素总数以及直方图中灰度值大于预设灰度值的有效像素数;将直方图中灰度值大于预设灰度值的有效像素数与直方图中的像素总数的比值确定为所提取的图像中灰度值大于预设灰度值的有效像素数与像素总数的比值。
在一些实施例中,区域生成单元包括:标定模块,配置用于确定双目摄像组件的标定参数,标定参数包括焦距以及感光芯片的中心点在像平面的第一坐标轴和第二坐标轴上的偏移;生成模块,配置用于对于每个预设距离,基于无人机的尺寸、焦距、中心点在第一坐标轴上的偏移以及该预设距离,确定搜索区域在第一坐标轴上的坐标点;基于无人机的尺寸、焦距、中心点在第二坐标轴上的偏移以及该预设距离,确定搜索区域在第二坐标轴上的坐标点;基于所确定的坐标点生成搜索区域。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请实施例提供的用于无人机的避障方法和避障装置,通过对双目摄像组件获取的图像进行立体匹配生成视差图,之后基于不同的预设距离在视差图上生成不同尺寸的搜索区域,而后基于不同尺寸的搜索区域确定障碍物与无人机之间的距离,最后调整无人机的行进方向,从而提高了双目视觉测距的速度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于无人机的避障方法的一个实施例的流程图;
图3A是根据本申请的用于无人机的避障方法的一个应用场景的示意图;
图3B为图3A所示的应用场景中的双目视觉测距的示意图;
图4是根据本申请的用于无人机的避障方法的又一个实施例的流程图;
图5是根据本申请的用于无人机的避障装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于无人机的避障方法或用于无人机的避障装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括无人机101和设备103。无人机101上安装有双目摄像组件102,双目摄像组件102可以通过标定后的两个摄像头采集目标环境(例如,在无人机行进方向上的目标环境)的图像。
设备103与双目摄像组件102通信连接,以获取双目摄像组件102采集的图像。设备103可以对接收的图像进行处理,然后根据处理结果调整无人机101的行进方向。
需要说明的是,本申请实施例所提供的用于无人机的避障方法一般由设备103执行,相应地,用于无人机的避障装置一般设置于设备103中。
应该理解,图1中的设备103也可以位于无人机101中,本领域的技术人员可以根据实际应用场景的需要进行设置。
继续参考图2,示出了根据本申请的用于无人机的避障方法的一个实施例的流程200。该用于无人机的避障方法,包括以下步骤:
步骤201,获取双目摄像组件采集的第一图像和第二图像。
在本实施例中,无人机可以安装有包含两个摄像头(例如,左摄像头和右摄像头)的双目摄像组件,用于采集无人机行进方向上的目标环境的图像。用于无人机的避障方法运行于其上的电子设备(例如图1所示的设备103)可以通过有线连接方式或者无线连接方式获取双目摄像组件的两个摄像头采集的第一图像和第二图像,其中,第一图像和第二图像分别由双目摄像组件的两个摄像头对同一目标环境采集得到的。
需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
步骤202,对第一图像和第二图像进行立体匹配,生成视差图。
在本实施例中,用于无人机的避障方法运行于其上的电子设备(例如图1所示的设备103)可以对步骤201获取的第一图像和第二图像进行立体匹配,生成视差图。视差图是以图像对(例如,针对同一目标环境采集的第一图像和第二图像)的对应点的坐标差异(例如,横坐标差异)形成的图像。
立体匹配也称视差估计,是根据前端摄像机获取的多目图像(本申请中为双目),估计出对应图像中的像素点之间的几何关系。利用视差估计,可以由一个视点的信息及其深度(视差)信息得到对应视点的信息。根据具体实现细节的不同,立体匹配算法可以大致分为局部立体匹配算法和全局立体匹配算法。立体匹配算法是目前广泛研究和应用的公知技术,在此不再赘述。
步骤203,基于不同的预设距离,在视差图上生成不同尺寸的搜索区域,不同的预设距离是预先设定的、小于无人机的最大测量距离的距离。
本实施例中,用于无人机的避障方法运行于其上的电子设备(例如图1所示的设备103)可以预先设定若干不同的距离,不同的预设距离是根据无人机的最大测量距离以相同间距或不同间距确定的。例如,无人机的最大测量距离为50米,则可以将0.1米、0.2米、0.3米、……、49.8米、49.9米、50米确定为预设距离。相邻的预设距离之间的间距可以根据需要进行设定,相邻的预设距离之间的间距可以相同,也可以不同,例如,距离无人机越远,间距越大。
然后,上述电子设备可以根据预设距离与搜索区域的尺寸之间的关系,在步骤202生成的视差图上生成不同尺寸的搜索区域。其中,搜索区域用于从视差图中确定要进行障碍物搜索的区域,即,从视差图被搜索区域围绕的区域中搜索障碍物。一般而言,预设距离越大,搜索区域的尺寸就越小。这里,上述电子设备可以通过存储有障碍物的距离与搜索区域的尺寸的对应关系的对应关系表,来确定针对不同的预设距离要生成的搜索区域的尺寸。这样,上述电子设备可以将每个预设距离与该对应关系表中的障碍物的距离依次进行比较,若该预设距离与该对应关系表中的一个距离相同或最接近(两者之差最小),则将该对应关系表中该距离对应的搜索区域的尺寸作为针对该预设距离生成的搜索区域的尺寸。其中,上述对应关系表可以基于对搜索障碍物的大量记录(每条记录包括预先确定的障碍物的距离以及搜索到该障碍物的搜索区域的尺寸)进行统计而生成。
步骤204,基于不同尺寸的搜索区域,确定障碍物与无人机之间的距离。
本实施例中,用于无人机的避障方法运行于其上的电子设备(例如图1所示的设备103)可以依次搜索不同尺寸的搜索区域(例如,按照搜索区域的尺寸,由大到小依次进行搜索)中的视差图像直至搜索到障碍物为止,将搜索到障碍物的搜索区域的尺寸对应的预设距离,确定为障碍物与无人机之间的距离。
上述电子设备通过不同尺寸的搜索区域来判断视差图中是否有障碍物,而无需关注障碍物是什么,即无需对障碍物进行识别,从而减少了双目测距的运算量,有利于提高测距速度。
步骤205,基于所确定的距离调整无人机的行进方向。
本实施例中,用于无人机的避障方法运行于其上的电子设备(例如图1所示的设备103)可以根据步骤204确定的距离,来调整无人机的行进方向,使无人机朝向没有障碍物的方向行进。例如,上述电子设备可以通过步骤201~步骤204的方法确定其他方向上是否存在障碍物,然后在障碍物与无人机的距离小于预设安全距离之前,将无人机的行进方向调整为没有障碍物的方向。
本实施例提高的用于无人机的躲避障碍物的方法通过设置搜索区域确定障碍物的距离,并且无需识别障碍物,因此具有更大的测量障碍物的距离,例如,最远可以确定50米远的障碍物。
应当理解,无人机上可以安装有多个双目摄像组件,例如,在无人机的不同方位设置双目摄像组件,以采集无人机不同方位上的环境图像,从而更加快速准确地躲避障碍物。
继续参见图3A和图3B,图3A是根据本实施例的用于无人机的避障方法的应用场景300的一个示意图,图3B是图3A所示的应用场景中双目视觉测距的示意图。在图3A的应用场景中,安装在无人机上的双目摄像组件(其感光芯片的中心点为O)可以对无人机行进方向上的目标环境(目标环境中存在障碍物301)进行图像采集,获取不同视点的第一图像和第二图像;之后,上述电子设备(例如图1所示的设备103)可以对第一图像和第二图像进行立体匹配,生成视差图;然后,上述电子设备基于不同的预设距离,在视差图(即,成像平面302)上生成不同尺寸的搜索区域;而后,依次搜索不同搜索区域中的视差图像,当搜索到一搜索区域(例如,宽度或高度为h1的搜索区域)时,搜索到障碍物301,由于该搜索区域是基于预设距离d生成的,因此将预设距离d确定为障碍物301与无人机之间的距离;最后,上述电子设备在障碍物301与无人机之间的距离d小于预设安全距离之前,调整无人机的行进方向来躲避障碍物301。
下面参考图3B进行进一步的说明。在图3B中,无人机沿第二方向D2行进,双目摄像组件的光轴z与第二方向D2的夹角为θ(这里,θ通常为负值),y轴垂直于z轴,f为摄像头的焦距,302为成像平面,h0为无人机在重力方向D1(或第一方向D1)上的最大尺寸,h1为搜索到障碍物301的搜索区域在y轴方向上的最大尺寸,感光芯片的中心点O与搜索区域在y轴方向上的任一端点A(或B)形成的斜边与第二方向D2的夹角为β,由图可知:
从而可确定夹角β的值,进而可根据预设距离d(以及无人机在重力方向D1上的最大尺寸h0、斜边OA/OB与第二方向D2的夹角β、z轴与第二方向D2的夹角θ、以及焦距f),确定搜索区域在y轴方向上的两个端点A和B的坐标。例如,端点A在y轴上的坐标为:
-f×tan(θ-β) (2)
端点B在y轴上的坐标为:
-f×tan(θ+β) (3)
通过类似地方式,可确定搜索区域在与重力方向D1和行进方向D2垂直的方向上的两个端点(未示出)的坐标,从而在成像平面302上生成搜索区域。
应当理解,当对双目摄像组件中的摄像头进行标定时,搜索区域的端点坐标可根据标定参数进行相应的偏移。
本申请的上述实施例提供的用于无人机的避障方法通过对双目摄像组件获取的图像进行立体匹配生成视差图,之后基于不同的预设距离在视差图上生成不同尺寸的搜索区域,而后基于不同尺寸的搜索区域确定障碍物与无人机之间的距离,最后调整无人机的行进方向,从而提高了双目视觉测距的速度。
进一步参考图4,其示出了用于无人机的避障方法的又一个实施例的流程400。该用于无人机的避障方法的流程400,包括以下步骤:
步骤401,获取双目摄像组件采集的第一图像和第二图像。
在本实施例中,无人机可以安装有包含两个摄像头(例如,左摄像头和右摄像头)的双目摄像组件,用于采集无人机行进方向上的目标环境的图像。用于无人机的避障方法运行于其上的电子设备(例如图1所示的设备103)可以通过有线连接方式或者无线连接方式获取双目摄像组件的两个摄像头采集的第一图像和第二图像,其中,第一图像和第二图像分别由双目摄像组件的两个摄像头对同一目标环境采集得到的。
步骤402,对第一图像和第二图像进行立体匹配,生成视差图。
在本实施例中,用于无人机的避障方法运行于其上的电子设备(例如图1所示的设备103)可以对步骤401获取的第一图像和第二图像进行立体匹配,生成视差图。视差图是以图像对(例如,针对同一目标环境采集的第一图像和第二图像)的对应点的坐标差异(例如,横坐标差异)形成的图像。
步骤403,确定双目摄像组件的标定参数,标定参数包括焦距以及感光芯片的中心点在像平面的第一坐标轴和第二坐标轴上的偏移。
在本实施例中,用于无人机的避障方法运行于其上的电子设备(例如,图1所示的设备103)可以对双目摄像组件进行标定,确定双目摄像组件的标定参数。标定参数可以包括例如摄像头的焦距、摄像头的中心距等参数,也可以包括感光芯片的中心点在像平面的第一坐标轴和第二坐标轴上的偏移。其中,第一坐标轴和第二坐标轴可以是与光轴垂直的坐标轴,例如,图3B所示的y轴以及在图3B中未示出的与y轴和z轴垂直的坐标轴。
步骤404,对于每个预设距离,基于无人机的尺寸、焦距、中心点在第一坐标轴上的偏移以及该预设距离,确定搜索区域在第一坐标轴上的坐标点;基于无人机的尺寸、焦距、中心点在第二坐标轴上的偏移以及该预设距离,确定搜索区域在第二坐标轴上的坐标点;基于所确定的坐标点生成搜索区域。
在本实施例中,对于每个预设距离(例如,图3B所示的预设距离d),用于无人机的避障方法运行于其上的电子设备(例如,图1所示的设备103)可以基于无人机在与行进方向垂直的方向(例如,图3B所示的重力方向D1)上的最大长度(例如,图3B所示的h0)、焦距、感光芯片的中心点在第一坐标轴上的偏移,确定搜索区域在第一坐标轴上的坐标点(例如,图3B所示的端点A和端点B)。如公式(2)和公式(3)所示,当感光芯片的中心点在第一坐标轴上的偏移为cy时,端点A在y轴上的坐标为cy-f×tan(θ-β),端点B在y轴上的坐标为cy-f×tan(θ+β)。类似地,上述电子设备可以基于无人机在与行进方向垂直的方向(例如,与y轴和z轴垂直的坐标轴的方向)上的最大长度、焦距、感光芯片的中心点在第二坐标轴上的偏移,确定搜索区域在第二坐标轴(例如,与y轴和z轴垂直的坐标轴)上的坐标点。最后,基于所确定的坐标点生成搜索区域。
本实施例中,搜索区域的形状可以是矩形、圆形、具有圆角的矩形等等,本领域的技术人员可以根据实际应用场景的需要进行设置。
步骤405,从不同尺寸的搜索区域中选取最大尺寸的搜索区域作为当前搜索区域,执行搜索操作:从视差图中提取当前搜索区域的图像;在所提取的图像中确定灰度值大于预设灰度值的有效像素数与像素总数的比值,响应于确定的比值大于等于预设比值,将当前搜索区域对应的预设距离确定为障碍物与无人机之间的距离。
步骤406,响应于确定的比值小于预设比例,从未被选取的搜索区域中选取最大尺寸的搜索区域作为当前搜索区域,重新执行搜索操作。
本实施例中,用于无人机的避障方法运行于其上的电子设备(例如图1所示的设备103)可以从不同尺寸的搜索区域中选取最大尺寸的搜索区域(即,基于最小的预设距离生成的搜索区域)作为当前搜索区域,然后执行如下搜索操作:提取视差图在当前搜索区域中的视差图像,之后在所提取的视差图像中确定灰度值大于预设灰度值(例如,灰度值大于0)的有效像素数与像素总数的比值,如果所确定的比值大于等于预设比值(例如,0.1),则将当前搜索区域对应的预设距离确定为障碍物与无人机之间的距离。如果所确定的比值小于预设比值,则从未被选取的搜索区域中选取最大尺寸的搜索区域作为当前搜索区域,重新执行上述搜索操作。
在本实施例的一些可选的实现方式中,在所提取的图像中确定灰度值大于预设灰度值的有效像素数与像素总数的比值,可以包括如下步骤:首先,将所提取的图像转换为直方图;之后,确定直方图中的像素总数以及直方图中灰度值大于预设灰度值的有效像素数;然后,将所确定的有效像素数与像素总数的比值确定为所提取的图像中灰度值大于预设灰度值的有效像素数与像素总数的比值。
当存在障碍物时,视差图中表征障碍物的像素就会存在视差。由于视差图为灰度图,像素的灰度值越小说明像素的视差值越小,当像素的灰度值为0(即视差值为0)时,表示该像素不是表征障碍物的像素,而灰度值大于0的像素则是需要统计的有效像素(即,表征障碍物的像素)。当有效像素数的比值达到一定程度就可以确定搜索区域中存在障碍物,根据经验值,该比值一般确定为0.1,在实际应用中,可以根据实际需要或历史数据进行调整。
在本实现方式中,通过直方图能够快速统计有效像素数和像素总数,从而避免逐个像素遍历的方式确定有效像素数和像素总数,因此,进一步提高了双目测距的速度。
在本实现方式中,预设灰度值为0,应当理解,预设灰度值可以是其他合适的灰度值,例如,1、2等。
步骤407,基于所确定的距离调整无人机的行进方向。
本实施例中,用于无人机的避障方法运行于其上的电子设备(例如图1所示的设备103)可以根据步骤406确定的距离,来调整无人机的行进方向,使无人机朝向没有障碍物的方向行进。例如,上述电子设备可以通过步骤401~步骤406的方法确定其他方向上是否存在障碍物,然后在障碍物与无人机之间的距离小于预设安全距离之前,将无人机的行进方向调整为没有障碍物的方向。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于无人机的避障方法的流程400突出了生成不同尺寸的搜索区域以及确定障碍物与无人机之间距离的步骤。由此,本实施例描述的方案可以利用基于双目摄像组件的标定参数和不同的预设距离生成的搜索区域,更准确地确定障碍物与无人机之间的距离,并且从最大尺寸的搜索区域开始搜索障碍物(以及通过直方图确定有效像素数的比值),进一步提高了双目视觉测距的速度。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于无人机的避障装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于电子设备中。
如图5所示,本实施例的用于无人机的避障装置500包括:图像获取单元501、图像匹配单元502、区域生成单元503、距离确定单元504和方向调整单元505。其中,图像获取单元501配置用于获取双目摄像组件采集的第一图像和第二图像;图像选择单元502配置用于对第一图像和第二图像进行立体匹配,生成视差图;区域生成单元503配置用于基于不同的预设距离,在视差图上生成不同尺寸的搜索区域,不同的预设距离是预先设定的、小于无人机的最大测量距离的距离;距离确定单元504配置用于基于不同尺寸的搜索区域,确定障碍物与无人机之间的距离;而方向调整单元505配置用于基于所确定的距离调整无人机的行进方向。
在本实施例中,无人机可以安装有包含两个摄像头(例如,左摄像头和右摄像头)的双目摄像组件,用于采集无人机行进方向上的目标环境的图像。用于无人机的避障装置500的图像获取单元501可以通过有线连接方式或者无线连接方式获取双目摄像组件的两个摄像头采集的第一图像和第二图像,其中,第一图像和第二图像分别由双目摄像组件的两个摄像头对同一目标环境采集得到的。
在本实施例中,上述图像匹配单元502可以对图像获取单元501获取的第一图像和第二图像进行立体匹配,生成视差图。视差图是以图像对(例如,针对同一目标环境采集的第一图像和第二图像)的对应点的坐标差异(例如,横坐标差异)形成的图像。
在本实施例中,上述区域生成单元503可以预先设定若干不同的距离,不同的预设距离是根据无人机的最大测量距离以相同间距或不同间距确定的。例如,无人机的最大测量距离为50米,则可以将0.1米、0.2米、0.3米、……、49.8米、49.9米、50米确定为预设距离,相邻的预设距离之间的间距可以根据需要进行设定,相邻的预设距离之间的间距可以相同,也可以不同,例如,距离无人机越远,间距越大。然后,上述区域生成单元503可以根据预设距离与搜索区域的尺寸之间的关系,在上述图像匹配单元502生成的视差图上生成不同尺寸的搜索区域。其中,搜索区域用于从视差图中确定要进行障碍物搜索的区域,即,从视差图被搜索区域围绕的区域中搜索障碍物。一般而言,预设距离越大,搜索区域的尺寸就越小。
在本实施例的一些可选的实现方式中,上述区域生成单元503包括标定模块和生成模块。其中,标定模块配置用于确定双目摄像组件的标定参数,标定参数包括焦距以及感光芯片的中心点在像平面的第一坐标轴和第二坐标轴上的偏移。生成模块配置用于对于每个预设距离,基于无人机的尺寸、焦距、中心点在第一坐标轴上的偏移以及该预设距离,确定搜索区域在第一坐标轴上的坐标点;基于无人机的尺寸、焦距、中心点在第二坐标轴上的偏移以及该预设距离,确定搜索区域在第二坐标轴上的坐标点;基于所确定的坐标点生成搜索区域。
在本实施例中,上述距离确定单元504可以依次搜索不同尺寸的搜索区域(例如,按照搜索区域的尺寸,由大到小依次进行搜索)中的视差图像直至搜索到障碍物为止,将搜索到障碍物的搜索区域的尺寸对应的预设距离,确定为障碍物与无人机之间的距离。
在本实施例的一些可选的实现方式中,上述距离确定单元504包括障碍搜索模块。其中,障碍搜索模块配置用于从不同尺寸的搜索区域中选取最大尺寸的搜索区域作为当前搜索区域,执行搜索操作:从视差图中提取当前搜索区域的图像;在所提取的图像中确定灰度值大于预设灰度值的有效像素数与像素总数的比值,响应于确定的比值大于等于预设比值,将当前搜索区域对应的预设距离确定为障碍物与无人机之间的距离。
在本实施例的一些可选的实现方式中,上述距离确定单元504还包括重新搜索模块。其中,重新搜索模块配置用于响应于确定的比值小于预设比例,从未被选取的搜索区域中选取最大尺寸的搜索区域作为当前搜索区域,重新执行搜索操作。
在本实施例的一些可选的实现方式中,在所提取的图像中确定灰度值大于预设灰度值的有效像素数与像素总数的比值,包括:将所提取的图像转换为直方图;确定直方图中的像素总数以及直方图中灰度值大于预设灰度值的有效像素数;将直方图中灰度值大于预设灰度值的有效像素数与直方图中的像素总数的比值确定为所提取的图像中灰度值大于预设灰度值的有效像素数与像素总数的比值。
在本实施例中,上述方向调整单元505可以根据上述距离确定单元504确定的距离,来调整无人机的行进方向,使无人机朝向没有障碍物的方向行进。例如,装置500可以通过图像获取单元501、图像匹配单元502、区域生成单元503和距离确定单元504确定其他方向上是否存在障碍物,然后在障碍物与无人机的距离小于预设安全距离之前,将无人机的行进方向调整为没有障碍物的方向。
本申请的上述实施例提供的用于无人机的避障装置通过对双目摄像组件获取的图像进行立体匹配生成视差图,之后基于不同的预设距离在视差图上生成不同尺寸的搜索区域,而后基于不同尺寸的搜索区域确定障碍物与无人机之间的距离,最后调整无人机的行进方向,从而提高了双目视觉测距的速度。
下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括图像获取单元、图像匹配单元、区域生成单元、距离确定单元和方向调整单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,图像获取单元还可以被描述为“获取双目摄像组件采集的第一图像和第二图像的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取双目摄像组件采集的第一图像和第二图像;对第一图像和第二图像进行立体匹配,生成视差图;基于不同的预设距离,在视差图上生成不同尺寸的搜索区域,不同的预设距离是预先设定的、小于无人机的最大测量距离的距离;基于不同尺寸的搜索区域,确定障碍物与无人机之间的距离;基于所确定的距离调整无人机的行进方向。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。