基于图像的对象检测和对应的移动调整操纵的方法和系统与流程

文档序号:17931924发布日期:2019-06-15 00:57阅读:200来源:国知局
基于图像的对象检测和对应的移动调整操纵的方法和系统与流程

所公开的实施例总体上涉及用于检测对象(例如,目标和/或障碍物)并根据检测结果调整可移动物体的移动的系统和方法,并且更具体地但非排他地涉及基于由可移动物体(例如,无人机(uav))机载的单个摄像机拍摄的图像的障碍物检测和避障。



背景技术:

诸如无人机(uav)的可移动物体经常使用成像设备来在可移动物体的移动期间捕获图像数据。捕获的图像数据可以被发送到长距离设备(例如长距离控制单元),使得用户可以实时地查看图像数据并长距离控制uav的移动。微型飞行器(mav)是一种遥控uav,其尺寸小到几厘米到几十厘米。这些小型机允许长距离观察地面载运工具、人员和/或较大飞行器无法进入的危险环境。uav的自主控制是通过传感器和计算逻辑实现的,这些传感器和计算逻辑可以实现为检测uav的飞行路径中的障碍物,并相应地以最少的人为干预执行避障操纵。典型地,uav上的障碍物检测依赖来自作为uav上的搭载物携带的传感器(如声纳、雷达、立体摄像机等)的信号。来自这些传感器的数据被实时分析(例如,基于飞行时间、三角测量等),以获得uav飞行路径中障碍物的大小和位置信息。基于分析结果,在uav上实施的避障逻辑修改了uav的飞行路径以避开检测到的障碍物。



技术实现要素:

在uav上实施的障碍物检测和避障的常规系统和方法需要在uav上携带大量设备(例如,多个传感器、立体摄像机等),这降低了uav的可操纵性,增加了功耗和减少了uav的总飞行时间,降低了uav的最大高度和速度,并增加了uav的复杂性和成本。不同的现有障碍物检测技术还存在各种其他问题,例如检测范围短(例如,与基于超声波的传感器一样)、高成本(例如与基于激光的传感器一样)以及对操作环境的限制(例如,与立体摄像机一样),这禁止了这些检测技术的广泛适用性。在许多情况下,可移动物体(例如,如在mav中)的小尺寸和重量还限制了这些现有障碍物检测技术的有用性,因为用于障碍物检测的所需设备通常会占用可移动物体机载所允许的太多搭载物。

另外,许多传统的障碍物检测技术仅适用于检测相对靠近可移动物体的障碍物。在这种情况下,当检测到障碍物时,可移动物体已经非常接近检测到的障碍物。由于可移动物体和检测到的障碍物之间仍然存在短距离,传统的避障技术通常需要突然停止可移动物体,并立即直接拉起可移动物体以避免与障碍物碰撞。这种避障操纵往往不成功,并且在可移动物体的致动器上产生不希望的张紧力。另外,在避障期间,可能需要中止可移动物体的其他功能(例如,监视)。

因此,需要有效且高效的障碍物检测和处理的系统和方法,其不会显著增加可移动物体的成本和重量,并且能够在距可移动物体的较大距离处检测到障碍物。另外,需要根据对象检测的结果来调整可移动物体的移动(例如,以避开障碍物和/或朝向感兴趣的对象移动)、而不必突然改变方向并且过于拉紧可移动物体的移动机构的系统和方法。

本文公开的系统和方法依赖于由可移动物体(例如,uav或其他可移动物体)的单个机载摄像机捕获的图像来检测摄像机的视场中的对象(例如,目标和/或障碍物)以及估计对象与可移动物体的距离。由于大多数可移动物体(例如,uav)已经具有高质量的机载摄像机(例如作为搭载物或作为集成组件),因此需要将最小的附加重量和设备添加到可移动物体以完成对象检测(例如,障碍物检测和/或目标检测)目标。因此,本文公开的技术为需要在可移动物体上实现的其他有用功能节省了成本并保存了搭载物余量。另外,大多数可移动物体在可移动物体移动期间已经为了预期目的(例如,监视)而捕获图像,因此,本文公开的技术不可能干扰可移动物体的现有功能。

此外,本文公开的对象检测技术能够检测相对远离可移动物体的对象(例如,100米到200米之外),因此,可以成功地执行平滑的避障操纵。在一些实施例中,可移动物体在检测到其路径中的障碍物时,开始平缓爬升或平缓侧向移动以避开障碍物,而不是执行突然停止,然后是高速直线向上或直线侧向移动。通过对象检测技术实现的这些更平缓和平滑的操纵对可移动物体的移动机构施加较小的张紧力,从而延长可移动物体的寿命。

如本文所公开的,根据一些实施例,用于对象检测的图像处理和计算在可移动物体上实时进行。在一些实施例中,根据一些实施例,用于对象检测的图像处理和计算是在长距离控制单元处实时或稍后执行的。在一些实施例中,在自主飞行期间实时地(例如,如在自主飞行控制模式中)在可移动物体上生成移动调整指令(例如,以避开检测到的障碍物)。在一些实施例中,移动调整指令(例如,为了避开检测到的障碍物)在遥控单元处生成并且在受控或半受控的飞行期间被发送到可移动物体。在一些实施例中,在可移动物体(例如,mav)上实现对象检测和移动调整两者,从而实现mav的自主飞行控制。

根据一些实施例,在具有一个或多个处理器和存储器的设备处执行障碍物检测的方法。所述方法包括:在可移动物体处于第一位置时,获得由所述可移动物体的机载摄像机捕获的基础图像;从所述基础图像中提取第一原始斑块,其中,所述第一原始斑块对应于所述基础图像的包括所述基础图像的第一特征点的部分;在所述可移动物体处于第二位置时,获得由所述机载摄像机捕获的当前图像,其中,所述当前图像的一部分包括具有更新位置的第一特征点;确定所述基础图像中的第一原始斑块与所述当前图像中的第一更新斑块之间的第一比例因子,其中,所述第一更新斑块对应于所述当前图像的包括具有所述更新位置的第一特征点的部分;以及基于所述第一比例因子以及所述可移动物体的第一位置与第二位置之间的距离,获得对所述当前图像中的第一特征点的对应对象深度的估计。

在一些实施例中,无人机(uav)包括:推进系统;机载摄像机;存储设备;以及耦合到所述推进系统、所述机载摄像机和所述存储设备的一个或多个处理器;所述一个或多个处理器被配置为:在所述uav处于第一位置时,获得由所述机载摄像机捕获的基础图像;从所述基础图像中提取第一原始斑块,其中,所述第一原始斑块对应于所述基础图像的包括所述基础图像的第一特征点的部分;在所述uav处于沿着所述uav的原始移动路径的第二位置的同时,获得由所述机载摄像机捕获的当前图像,并且其中,所述当前图像的一部分包括具有更新位置的第一特征点;确定所述基础图像中的第一原始斑块与所述当前图像中的第一更新斑块之间的第一比例因子,其中,所述第一更新斑块对应于所述当前图像的包括具有所述更新位置的第一特征点的部分;以及基于所述第一比例因子以及所述uav的第一位置与第二位置之间的距离,获得对所述当前图像中的第一特征点的对应对象深度的估计。

在一些实施例中,系统包括:存储设备;以及耦合到所述推进系统和存储设备的一个或多个处理器;所述一个或多个处理器被配置为:在可移动物体处于第一位置时,获得由所述可移动物体的机载摄像机捕获的基础图像;从所述基础图像中提取第一原始斑块,其中,所述第一原始斑块对应于所述基础图像的包括所述基础图像的第一特征点的部分;在可移动物体处于第二位置(例如,沿着可移动物体的原始移动路径的第二位置)的同时,获得由机载摄像机捕获的当前图像,并且其中,当前图像的一部分包括具有更新位置的第一特征点;确定所述基础图像中的第一原始斑块与所述当前图像中的第一更新斑块之间的第一比例因子,其中,所述第一更新斑块对应于所述当前图像的包括具有所述更新位置的第一特征点的部分;以及基于所述第一比例因子以及所述可移动物体的第一位置与第二位置之间的距离,获得对所述当前图像中的第一特征点的对应对象深度的估计。

在一些实施例中,一种计算机可读存储介质,存储一个或多个程序,所述一个或多个程序包括指令,其中所述指令在被执行时使设备:在可移动物体处于第一位置(例如,沿着可移动物体的原始移动路径的第一位置)的同时,获得由可移动物体的机载摄像机捕获的基础图像;从所述基础图像中提取第一原始斑块,其中,第一原始斑块对应于所述基础图像的包括所述基础图像的第一特征点的部分;在可移动物体处于第二位置(例如,沿着可移动物体的原始移动路径的第二位置)的同时,获得由机载摄像机捕获的当前图像,并且其中,当前图像的一部分包括具有更新位置的第一特征点;确定所述基础图像中的第一原始斑块与所述当前图像中的第一更新斑块之间的第一比例因子,其中,所述第一更新斑块对应于所述当前图像的包括具有所述更新位置的第一特征点的部分;以及基于所述第一比例因子以及所述可移动物体的第一位置与第二位置之间的距离,获得对所述当前图像中的第一特征点的对应对象深度的估计。

在一些实施例中,在具有机载摄像机、一个或多个处理器和存储器的可移动物体处执行避障方法。所述方法包括:检测所述可移动物体的原始移动路径中的障碍物;响应于检测到所述障碍物:根据确定满足长距离避障准则(其中所述长距离避障准则要求沿着原始移动路径的可移动物体和障碍物之间的距离超过第一阈值距离),执行长距离壁障操纵,包括沿着初始轨迹从可移动物体的当前位置移动到超过障碍物外边缘的间隙点,其中,可移动物体沿着初始轨迹的初始速度具有与原始移动路径平行的第一分量和与原始移动路径垂直的第二分量。

在一些实施例中,微型飞行器(mav)包括推进系统;机载摄像机;存储设备;以及耦合到所述推进系统、所述机载摄像机和所述存储设备的一个或多个处理器;所述一个或多个处理器被配置为:检测所述可移动物体的原始移动路径中的障碍物;响应于检测到所述障碍物:根据确定满足长距离避障准则(其中所述长距离避障准则要求沿着原始移动路径的可移动物体和障碍物之间的距离超过第一阈值距离),执行长距离壁障操纵,包括沿着初始轨迹从可移动物体的当前位置移动到超过障碍物外边缘的间隙点,其中,可移动物体沿着初始轨迹的初始速度具有与原始移动路径平行的第一分量和与原始移动路径垂直的第二分量。

在一些实施例中,系统包括:机载摄像机;存储设备;以及耦合到所述推进系统、所述机载摄像机和所述存储设备的一个或多个处理器;所述一个或多个处理器被配置为:检测所述可移动物体的原始移动路径中的障碍物;响应于检测到所述障碍物:根据确定满足长距离避障准则(其中所述长距离避障准则要求沿着原始移动路径的可移动物体和障碍物之间的距离超过第一阈值距离),执行长距离壁障操纵,包括沿着初始轨迹从可移动物体的当前位置移动到超过障碍物外边缘的间隙点,其中,可移动物体沿着初始轨迹的初始速度具有与原始移动路径平行的第一分量和与原始移动路径垂直的第二分量。

在一些实施例中,一种计算机可读存储介质,存储一个或多个程序,所述一个或多个程序包括指令,其中所述指令在被执行时使设备:检测所述可移动物体的原始移动路径中的障碍物;响应于检测到所述障碍物:根据确定满足长距离避障准则(其中所述长距离避障准则要求沿着原始移动路径的可移动物体和障碍物之间的距离超过第一阈值距离),执行长距离壁障操纵,包括沿着初始轨迹从可移动物体的当前位置移动到超过障碍物外边缘的间隙点,其中,可移动物体沿着初始轨迹的初始速度具有与原始移动路径平行的第一分量和与原始移动路径垂直的第二分量。

根据一些实施例,一种电子设备包括:推进系统;机载摄像机;存储设备;以及耦合到所述推进系统、所述机载摄像机和所述存储设备的一个或多个处理器;一个或多个处理器被配置用于执行本文描述的任何方法。根据一些实施例,计算机可读存储介质中存储有指令,当由电子设备执行指令时,使得设备执行或使得执行本文描述的任何方法的操作。根据一些实施例,一种电子设备包括:用于执行或使得执行本文所述的任何方法的操作的装置。

附图说明

图1是根据一些实施例的可移动物体环境的示意图。

图2是根据一些实施例的示例性可移动物体的系统图。

图3是根据一些实施例的示例性控制单元的系统图。

图4是示出了根据一些实施例的在mav的飞行期间的图像捕获、障碍物检测和避障的示意图。

图5示出了根据一些实施例的特征点的检测和跟踪以及匹配跨两个图像的对应图像斑块,所述两个图像斑块由沿着可移动物体的移动路径的不同位置处的单个机载摄像机捕获。

图6示出了根据一些实施例的图像中的特征点和相应的斑块。

图7示出了根据一些实施例的对于与检测到的特征点对应的图像斑块的比例因子s的初始值的选择。

图8示出了根据一些实施例的特征点的对象深度的计算,其基于在不同位置f1和f2处捕获的两个图像中所示的现实世界对象的对应尺寸之间的比例因子。

图9示出了根据一些实施例的基于图像中的特征点的估计对象深度对开放天空的检测和所检测障碍物的表征。

图10示出了根据一些实施例的从基础图像和先前基础图像到当前图像的特征点的投影。

图11示出了根据一些实施例的用于搜索间隙窗以避开障碍物的过程。

图12示出了根据一些实施例的长距离避障操纵的路径。

图13a至图13e是根据一些实施例的用于基于在不同位置处(例如,由单个摄像机)捕获的图像来估计对象深度的方法的流程图。

图14a至图14g是根据一些实施例的用于避开障碍物的方法的流程图。

图15是实现在此公开的对象检测和/或避障技术的可移动物体(例如,mav)的框图。

具体实施方式

现在将详细参考实施例,其示例在附图中示出。在以下详细描述中,阐述了许多具体细节以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践各种所述实施例。在其他实例中,没有详细描述公知的方法、过程、组件、电路和网络,以免不必要地模糊实施例的方面。

本文描述了用于检测对象的技术,具体地,基于由单个摄像机捕获的图像来估计对象(例如,目标和/或障碍物)的位置、大小和距离。另外,本文还描述了根据对象检测结果调整可移动物体的运动(例如,执行长距离和短距离避障操纵)的技术。

在一些实施例中,使用作为uav或其他遥控和/或自动飞行器的搭载物或集成组件的摄像机来捕获图像。当图像数据被远离用户操作的设备(例如用于uav的遥控设备)的设备(诸如uav或其他可移动物体)捕获时,图像数据可以被发送到用户操作的设备,因此,用户能够例如基于成像主体来查看正被捕获的图像数据、引导图像捕获属性以及引导可移动物体的移动。然而,有时,基于使用者的肉眼难以确定捕获图像中的对象的距离。另外,有时,直接用户控制不可用或不可取,并且可移动物体必须依赖于预先配置和/或自动生成的计算机指令来确定如何在其飞行路径中绕对象导航。在这些场景中,需要自动对象检测和距离估计以提供用于自动生成计算机指令从而调整无人可移动物体的移动和/或帮助人类用户相应地手动导航可移动物体的基础。

在一些实施例中,根据本文描述的技术,所捕获的图像数据也可以在用户操作的设备处进行处理或者使用uav的机载处理单元进行处理,以确定在uav的视场中是否存在目标和/或障碍物并且表征目标和/或障碍物的位置和大小。在uav的原始移动路径中检测到障碍物或者在uav的视野中检测到感兴趣的对象的情况下,可以在控制设备处或在uav上生成指令以便uav执行适当的避障操纵或前往已检测到的感兴趣对象。

在一些实施例中,基于在可移动物体的视场中检测到的障碍物的表征(例如,障碍物的尺寸、形状和位置的近似),假设检测到的障碍物与可移动物体之间有足够距离,则生成指令从而以平缓和平滑的方式调整可移动物体的原始移动路径,而不需要突然停止然后直接上拉或直接侧向移动以避开障碍物。

图1示出了根据一些实施例的可移动物体环境100。可移动物体环境100包括可移动物体102。在一些实施例中,可移动物体102包括载体104、搭载物106和/或一个或多个移动机构114。

在一些实施例中,载体104用于将搭载物106耦合到可移动物体102。在一些实施例中,载体104包括用于将搭载物106与一个或多个移动机构114的移动和/或可移动物体102的移动相隔离的元件(例如,云台和/或阻尼元件)。在一些实施例中,载体104包括用于控制搭载物106相对于可移动物体102的移动的元件。

在一些实施例中,搭载物106与可移动物体102耦合(例如,刚性耦合)(例如,经由载体104耦合),使得搭载物106相对于可移动物体102基本保持静止。例如,载体104被耦合到搭载物106,使得搭载物不能相对于可移动物体102移动。在一些实施例中,搭载物106被直接安装到可移动物体102,而不需要载体104。在一些实施例中,搭载物106部分地或完全地位于可移动物体102内。

在一些实施例中,可移动物体环境100包括控制单元108,控制单元108与可移动物体102通信,例如以向可移动物体102提供控制指令和/或显示从可移动物体102接收的信息。

在一些实施例中,可移动物体环境100包括计算设备110。计算设备110例如是服务器计算机、台式计算机、膝上型计算机、平板电脑或另一便携式电子装置(例如,移动电话)。在一些实施例中,计算设备110是与可移动物体102和/或控制单元108进行通信(例如,无线地)的基站。在一些实施例中,计算设备110提供数据存储、数据检索和/或数据处理操作,例如以降低可移动物体102和/或控制单元108的处理能力要求和/或数据存储要求。例如,计算设备110通信地连接到数据库和/或计算设备110包括数据库。在一些实施例中,代替控制单元108或除了控制单元108之外,使用计算设备110以执行关于控制单元108所描述的任何操作。

在一些实施例中,可移动物体102例如经由无线通信112与控制单元108和/或计算设备110进行通信。在一些实施例中,可移动物体102从控制单元108和/或计算设备110接收信息。例如,由可移动物体102接收的信息包括例如用于控制可移动物体102的参数的控制指令。在一些实施例中,可移动物体102向控制单元108和/或计算设备110发送信息。例如,由可移动物体102发送的信息包括例如由可移动物体102捕获的图像和/或视频。

在一些实施例中,经由网络(例如,因特网116)和/或如蜂窝塔118的无线信号发射器(例如,长距离无线信号发射器)发送计算设备110、控制单元108和/或可移动物体102之间的通信。在一些实施例中,卫星(未示出)是因特网116的组件和/或除了蜂窝塔118之外或代替蜂窝塔118使用。

在一些实施例中,在计算设备110、控制单元108和/或可移动物体102之间传送的信息包括控制指令。控制指令包括例如用于控制可移动物体102的如下导航参数的导航指令:比如可移动物体102、载体104和/或搭载物106的位置、朝向、姿态和/或一个或多个移动特性(例如,线性移动和/或角度移动的速度和/或加速度)。在一些实施例中,控制指令包括用于引导一个或多个移动机构114的移动的指令。例如,控制指令用于控制uav的飞行(例如,执行避障操纵,和/或跟随感兴趣的对象)。

在一些实施例中,控制指令包括用于控制载体104的操作(例如,移动)的信息。例如,控制指令用于控制载体104的致动机构,以便引起搭载物106相对可移动物体102的角度移动和/或线性移动。在一些实施例中,控制指令以多达六个自由度来调整可移动物体102的移动。

在一些实施例中,控制指令被用于调整搭载物106的一个或多个操作参数。例如,控制指令包括用于调整搭载物106的焦点参数和/或朝向(例如,以跟踪目标)的指令。在一些实施例中,控制指令包括用于以下操作的指令:调整成像特性和/或图像设备功能,比如调整计量模式(例如,光计量区域的数量、布置、大小和/或位置);调整一个或多个曝光参数(例如,光圈设置、快门速度和/或曝光指数);捕获图像;启动/停止视频捕获;给成像设备218(图2)通电或断电;调整成像模式(例如,捕获静止图像或捕获视频);调整立体成像系统的左部件和右部件之间的距离;和/或调整载体104、搭载物106和/或成像设备302的位置、朝向和/或移动(例如,摇摄速率和/或摇摄距离)。

在一些实施例中,当可移动物体102接收到控制指令时,控制指令改变可移动物体102的参数和/或由可移动物体102的存储器204(图2)存储。

以上识别的元素不需要被实现为单独的软件程序、过程或模块,因此这些元素的各种子集可以在各种实施例中被组合或以其他方式重新排列,并且被存储在存储器204和/或(一个或多个)处理器中202。在一些实施例中,控制系统可以包括以上标识的元素的子集。此外,存储器204和/或处理器202可以存储上面未描述的附加元素。在一些实施例中,存储器204、(一个或多个)处理器202和/或存储器204和/或(一个或多个)处理器202的非暂时性计算机可读存储介质中存储的元素提供用于实现在如下所述的方法中的各个操作的指令。在一些实施例中,这些元素中的一些或全部可以用包含部分或全部元素功能的专用硬件电路来实现。可以由可移动物体102的一个或多个处理器202执行一个或多个上述元素。在一些实施例中,一个或多个上述标识的元素被存储在远离可移动物体的设备的一个或多个存储设备上(诸如控制单元108和/或计算设备110的存储器)和/或由远离可移动物体102的设备的一个或多个处理器(诸如控制单元108和/或计算设备110的(一个或多个)处理器)执行。

图2示出了根据一些实施例的示例性可移动物体102。可移动物体102通常包括一个或多个处理器202、存储器204、通信系统206、可移动物体感测系统208以及用于将这些组件互连的一个或多个通信总线212。

在一些实施例中,一个或多个处理器包括至少一个现场可编程门阵列(fpga)和/或至少一个专用集成电路(asic)。在一些实施例中,一个或多个处理器202包括一个或多个图像信号处理器(isp)216(例如,在至少一个fpga和/或至少一个asic中实现的)。

在一些实施例中,存储器204包括固态驱动器(ssd)。在一些实施例中,存储器204的部分或全部经由外围组件互连快速(pcie)接口或串行at附件(sata)接口连接总线连接到通信总线212。

在一些实施例中,可移动物体102是uav,并且包括多个组件以能够进行飞行和/或飞行控制。在一些实施例中,可移动物体102包括具有一个或多个网络或其他通信接口(例如,通过其接收飞行控制指令)的通信系统206、一个或多个移动机构114(例如,114a、114b)和/或一个或多个可移动物体致动器210(例如,210a、210b)。可移动物体致动器(例如,210a、210b)引起移动机构(例如,114a、114b)的移动,例如,响应于所接收的控制指令。尽管可移动物体102被描绘为飞行器,但是该描述并不旨在限制,并且可以使用任何合适类型的可移动物体(例如,微型漫游车)。

在一些实施例中,可移动物体102包括移动机构114(例如,推进机构)。尽管为了便于参考而使用复数术语“移动机构”,但是“移动机构114”指单个移动机构(例如,单个螺旋桨)或多个移动机构(例如,多个旋翼)。移动机构114包括一个或多个移动机构类型,例如旋翼、螺旋桨、叶片、发动机、马达、轮、轴、磁体、喷嘴等。移动机构114在例如顶部、底部、前部、后部和/或侧部与可移动物体102相连接。在一些实施例中,单个可移动物体102的移动机构114包括相同类型的多个移动机构。在一些实施例中,单个可移动物体102的移动机构114包括具有不同移动机构类型的多个移动机构。移动机构114使用诸如支撑元件(例如驱动轴)和/或其它致动元件(例如,可移动物体致动器210)的任何合适装置与可移动物体102相耦合。例如,可移动物体致动器210从处理器202接收控制信号(例如,经由控制总线212),该控制信号激活可移动物体致动器210以引起移动机构114的移动。例如,处理器202包括向可移动物体致动器210提供控制信号的电子速度控制器。

在一些实施例中,移动机构114使可移动物体102能够垂直地从表面起飞或者垂直地降落于表面,而不需要可移动物体102的任何水平移动(例如不需要沿着跑道行进)。在一些实施例中,移动机构114可操作以允许可移动物体102在特定位置和/或以特定朝向悬停在空中。在一些实施例中,一个或多个移动机构114(例如,114a)可独立于一个或多个其他移动机构114(例如,114b)进行控制。例如,当可移动物体302是四轴飞行器时,四轴飞行器的每个旋翼都可独立于四轴飞行器的其他旋翼进行控制。在一些实施例中,多个移动机构114被配置用于同时移动。

在一些实施例中,移动机构114包括向可移动物体102提供升力和/或推力的多个旋翼。对多个旋翼进行驱动以向可移动物体102提供例如垂直起飞、垂直降落和悬停能力。在一些实施例中,一个或多个旋翼沿顺时针方向旋转,而一个或多个旋翼沿逆时针方向旋转。例如,顺时针旋翼的数量等于逆时针旋翼的数量。在一些实施例中,每个旋翼的旋转速率可以独立地变化,以便例如控制由每个旋翼产生的升力和/或推力,从而调整可移动物体102的空间部署、速度和/或加速度(例如,相对于最多三个平移度和/或最多三个旋转度)。

通信系统206支持例如经由天线214与控制单元108和/或计算设备110进行通信。通信系统206包括例如用于无线通信的发射器、接收器和/或收发器。在一些实施例中,通信是单向通信,使得仅由可移动物体102从控制单元108和/或计算设备110接收数据,反之亦然。在一些实施例中,通信是双向通信,使得在可移动物体102与控制单元108和/或计算设备110之间的两个方向上传输数据。在一些实施例中,可移动物体102、控制单元108和/或计算设备110连接到互联网116或其它电信网络,例如使得由可移动物体102、控制单元108和/或计算设备110生成的数据被传送到服务器以用于数据存储和/或数据检索(例如,用于由网站显示)。

在一些实施例中,可移动物体102的感测系统208包括一个或多个传感器。在一些实施例中,可移动物体感测系统208的一个或多个传感器包括图像传感器220(例如,成像设备218的成像传感器,例如数码摄像机)。在一些实施例中,可移动物体感测系统208的一个或多个传感器安装到可移动物体102的外部、位于其中或以其他方式与之耦合。在一些实施例中,可移动物体感测系统208的一个或多个传感器是载体104和/或搭载物106的组件和/或耦合到载体104和/或搭载物106。例如,成像设备218的部分或全部是搭载物106、搭载物106的组件和/或可移动物体102的组件。在一些实施例中,一个或多个处理器202、存储器204和/或(一个或多个)isp216是成像设备218的组件。图像传感器220例如是检测诸如可见光、红外光和/或紫外光的光的传感器。在一些实施例中,图像传感器220包括例如半导体电荷耦合器件(ccd)、使用互补金属氧化物半导体(cmos)和/或n型金属氧化物半导体(nmos,livemos)的有源像素传感器。在一些实施例中,图像传感器220包括一个或多个光传感器阵列。

在一些实施例中,存储器204存储一个或多个指令、程序(例如,指令集)、模块、控制系统、控制系统配置和/或数据结构,在此统称为“元素”。关于存储器204描述的一个或多个元素可选地由控制单元108、计算设备110、成像设备218和/或另一设备存储。

在一些实施例中,存储器204存储包括一个或多个系统设置的控制系统配置(例如,由制造商、管理员和/或用户配置)。例如,可移动物体102的识别信息被存储为系统配置的系统设置。在一些实施例中,控制系统配置包括用于可移动物体感测系统208的配置。针对可移动物体感测系统208的配置存储多个参数,诸如,位置(例如,光学器件相对于图像传感器220的位置)、缩放水平和/或对焦参数(例如,对焦量、选择自动对焦或手动对焦和/或调整图像中的自动对焦目标)。由存储器204存储的成像属性参数包括例如帧速率、图像分辨率、图像尺寸(例如,图像宽度和/或高度)、长宽比、像素数、质量、焦距、景深、曝光时间、快门速度和/或白平衡。在一些实施例中,响应于控制指令(例如,由(一个或多个)处理器202生成和/或由可移动物体102从控制单元108和/或计算设备110接收)来更新由存储器204存储的参数。

在一些实施例中,控制系统包括用于启动和/或停止存储图像传感器220的图像数据输出的指令和/或功能单元。在一些实施例中,控制系统包括用于处理高质量图像数据以生成原始格式图像数据和/或生成尺寸缩小的图像数据的图像处理指令和/或功能单元。在一些实施例中,图像处理指令包括一个或多个压缩算法,例如本领域公知的。在一些实施例中,控制系统包括用于在准备基于图像的对象检测过程中预处理高质量图像数据或缩小尺寸的图像数据的指令和/或功能单元。在一些实施例中,控制系统包括:用于处理图像数据以跨沿着可移动物体的移动路径在不同位置处拍摄的多个图像提取特征点并跟踪特征点的指令和/或功能单元。在一些实施例中,控制系统包括用于检测在捕获的图像中(或在可移动物体的视野中)表示的对象并估计对象的深度的指令和/或功能单元。在一些实施例中,控制系统包括:用于表征在捕获的图像中(或在可移动物体的视野中)中检测到的对象(例如,估计该检测到的对象的尺寸、形状和位置)的指令和/或功能单元。在一些实施例中,控制系统包括用于生成根据已检测到的对象的表征来调整可移动物体的移动的特定指令的指令和/或功能单元。在一些实施例中,控制系统包括用于执行调整已经生成的可移动物体的移动的特定指令的指令和/或功能单元。图15示出了图示包括用于执行在此描述的各种功能的功能单元的系统的功能框图。

图3图示了根据一些实施例的示例性控制单元108。尽管控制单元108通常是便携式(例如,手持式)设备,但控制单元108不一定是便携式的。在一些实施例中,控制单元108是专用控制设备(例如,针对可移动物体102)、膝上型计算机、台式计算机、平板计算机、游戏系统、可穿戴设备(例如,眼镜、手套和/或头盔)、麦克风、便携式通信设备(例如,移动电话)和/或其组合。控制单元108通常包括一个或多个处理器302、存储器304、i/o接口306、通信系统314以及用于互连这些组件的一个或多个通信总线312。

在一些实施例中,i/o接口306包括输入设备310。在一些实施例中,输入设备310接收用户输入以控制可移动物体102、载体104、搭载物106和/或其组件的各方面。这些方面包括例如海拔、位置、朝向、速度、加速度、导航和/或跟踪。例如,控制单元108的输入设备的位置(例如输入设备的组件的位置)由用户手动设置为与用于控制可移动物体102的输入(例如预定的输入)相对应的位置。在一些实施例中,输入设备由用户操纵,以输入用于控制可移动物体102的导航的控制指令。在一些实施例中,控制单元108的输入设备310用于输入针对可移动物体102的飞行模式,例如,自动驾驶或根据预定导航路径的导航。

在一些实施例中,i/o接口306包括控制单元108的显示器308。在一些实施例中,显示器308显示由可移动物体感测系统208(例如成像设备218和/或图像传感器220)、存储器204和/或可移动物体102的另一系统生成的信息。例如,由控制单元108的显示器308显示的信息包括由成像设备218和/或图像传感器220捕获的图像数据的处理版本。在一些实施例中,当从可移动物体102接收信息时和/或当获取图像数据时,基本实时地显示由显示器308显示的信息。在一些实施例中,显示器308显示跟踪数据(例如,应用于目标的表示的图形跟踪指示符)和/或发送到可移动物体102的控制数据的指示。在一些实施例中,显示器308显示关于可移动物体102、载体104和/或搭载物106的信息,例如可移动物体102的位置、姿态、朝向、移动特性和/或可移动物体102与其他对象(例如目标和/或障碍物)之间的距离。

在一些实施例中,控制单元108包括接收并存储从可移动物体102输出的图像数据的指令和/或功能单元。在一些实施例中,控制单元108包括用于在准备基于图像的对象检测过程中预处理从可移动物体102接收的图像数据的指令和/或功能单元。在一些实施例中,控制单元108包括用于处理图像数据以提取跨沿着可移动物体的移动路径在不同位置处拍摄的多个图像上的特征点并跟踪该特征点的指令和/或功能单元。在一些实施例中,控制单元108包括用于在所捕获图像中(或可移动物体的视野中)检测对象并估计对象的深度的指令和/或功能单元。在一些实施例中,控制单元108包括用于表征(例如,估计)在捕获的图像中(或在可移动物体的视野中)检测到的对象(例如,对象的尺寸、形状和位置)的指令和/或功能单元。在一些实施例中,控制单元108包括用于生成根据已经检测到的对象的表征来调整可移动物体的移动的具体指令的指令和/或功能单元。在一些实施例中,控制单元108包括发送用于调整已经生成的可移动物体的移动的特定指令的指令和/或功能单元。在一些实施例中,控制单元108包括用于在显示器308上显示覆盖在当前显示/捕获的图像上的建议的移动调整操纵和/或障碍物距离数据的指令,以帮助用户直接控制可移动物体。

图4是示出了根据一些实施例的在mav的飞行期间的图像捕获、障碍物检测和避障的示意图。

如图4所示,沿着可移动物体102的移动路径406,可移动物体102(例如,mav)的机载摄像机捕获一系列图像(例如,图像404a至404c)。捕获的图像404示出可移动物体的移动路径406中(例如,可移动物体102的机载摄像机的视野中)的建筑物402(例如,障碍物)。随着可移动物体102继续朝建筑物402移动,建筑物(例如,如由图像404中的像素所表示的)占据图像的增加部分。

如将在本公开内容中稍后更详细讨论的,跨多个图像(例如,图像404b和404c)的图像特征(例如,由像素斑块(p1或p2)表示,其与从基础图像(例如,图像404a)提取的特征点(例如,在像素斑块p1或p2的中心处示出的点)相对应)的比例变化,结合当在可移动物体的移动期间的不同时间处(例如,在t1、t2和t3处)捕获图像时可移动物体102的z位置的变化,提供由图像中的图像特征表示的关于对象的z位置的线索(例如,建筑物402的前部的立面408、建筑物402顶部上的烟囱堆叠物412、或建筑物402的后部的立面410等)。

在下面的讨论中,基础图像或基础帧(例如,图像404a)是与真实世界参考z位置(例如,z1)相关联的参考图像,根据它测量在基础图像中表示的对象的z位置。当可移动物体102移动靠近建筑物402时,可移动物体与图像(例如,图像404c)中表示的对象(例如,对象408、410或412)之间的距离(例如,d1、d2或d3)被估计为对象在图像中的对象深度,其中所述图像与可移动物体的当前z位置(例如,z3)对应。

如图4所示,在基础图像404a中识别具有对应像素斑块p1和p2的两个特征点。跨多个图像(例如,中间图像404b和当前图像404c)追踪两个特征点及其对应的像素斑块p1和p2。基于跨图像404a和404c上的像素斑块p1和p2的比例变化以及可移动物体行进的对应距离(z3-z1)来估计特征点的对象深度。一旦估计了特征点的对象深度。当前图像404c被划分为子区域(例如,子区域414)的网格。可移动物体的尺寸和形状被投影到当前图像上(例如,如阴影416所示)。对被可移动物体的投影所触摸的所有子区域(例如,如包括多个子区域的矩形418所指示的)的对象深度进行估计。由于位于可移动物体的移动路径406中的子区域的对象深度(例如,建筑物402的后部的立面的对象深度)在可移动物体的当前位置和可移动物体的目的地之间,这些子区域被确定为代表需要避开的障碍物。

当在机载摄像机的视场中检测到对象(例如,立面410)并且该对象被确定为是从可移动物体102的当前位置o到目的地p的当前飞行路径406中的障碍物时,可移动物体执行避障操纵。如图4所示,一旦确定障碍物的距离(例如,当可移动物体位于点o处),则可移动物体102开始沿着轨迹420(例如,具有初始轨迹o-q的路径)朝向障碍物(例如,立面410)上方的间隙q点平缓爬升,从而避免了当可移动物体太靠近障碍物时所需的突然操纵。在平缓爬升之后,可移动物体102在障碍物上方的相同海拔(例如,遵循路径qr)继续朝向其目的地向前移动,前提是没有检测到其他障碍物以保证执行另一避障操纵,直到可移动物体经过障碍物(例如,直到到达点r)为止。在可移动物体移动经过障碍物之后,可移动物体在(例如,遵循路径rs)平缓攀升之前快速下降到其初始海拔并继续朝向目的地移动(例如,遵循路径sp)。

图4仅是对简单示例场景的说明,并且稍后例如参考图5至图12提供了确定对象深度、检测障碍物并且选择和执行适当的避障操纵的过程的更多细节。

图5至图12示出了图像数据的处理,以检测机载摄像机的视场中的对象,估计对象距可移动物体的距离,并确定对象是否是需要避开的障碍物。如果需要避开障碍物,则执行各种避障操纵来调整可移动物体的移动路径。

在一些实施例中,可移动物体(例如,uav或mav)在可移动物体的移动期间使用其机载摄像机连续捕获图像(例如,以70fps捕获图像帧)。每个图像帧在图像帧被捕获时的时间ti与可移动物体的三维位置(xi,yi,zi)相关联。由机载摄像机捕获的一系列图像因此与可移动物体的移动路径(例如,飞行路径)上的可移动物体(例如,uav)的不同位置(例如,z位置)相关联。在一些实施例中,捕获的图像的处理实时发生在可移动物体上,使得结果立即可用于由可移动物体确定和执行的合适的避障操纵。在一些实施例中,实时地从可移动物体向遥控单元(例如,控制单元108)发送图像并且在控制单元处处理。

用于基于由单个摄像机在沿着z方向(例如,朝向可移动物体的预定目的地的方向)的不同位置处捕获的图像来确定对象距离的过程需要:跨已在不同位置处(例如,在可移动物体处于不同的z位置处时)捕获的两个或更多个图像来跟踪与真实世界对象对应的特征点;以及确定与不同图像中的特征点对应的在预定义像素斑块之间的比例变化。

在一些实施例中,由机载摄像机捕获的图像是灰度图像(例如,由红外摄像机捕获的图像)。在一些实施例中,由机载摄像机捕获的图像是彩色图像,并且在对图像执行特征提取之前将彩色图像转换为灰度图像。在一些实施例中,例如,通过在开始提取图像特征之前降低图像分辨率、锐化、模糊、裁剪为预定尺寸等,将图像标准化。

在一些实施例中,处理由机载摄像机捕获的每个图像。在一些实施例中,在可移动物体的移动期间处理每x个图像(例如,每十个图像中的一个)。在一些实施例中,仅在自从处理先前图像以来可移动物体移动超过阈值距离(例如,0.2米)的情况下,才处理图像。在一些实施例中,仅在图像中存在阈值变化量的情况下,才处理图像(例如,如果在图像和最近处理的图像之间没有变化,例如当可移动物体静止坐放时,图像被跳过)。

当选择第一图像进行处理,并且将第一图像作为后续图像比较的基础图像时,对第一图像执行特征提取处理。特征提取处理在第一图像中的相应位置(例如,x-y位置)处产生一个或多个特征点。特征点的提取可以使用一个或多个现有的特征提取算法例如harris、sift、surf、fast等来完成。通常,从图像中提取的特征点对应于在图像中捕获的真实世界对象(例如,诸如建筑物的边缘、人、旗杆等的真实世界对象的边界)。

当选择第二图像进行处理时,对第二图像执行相同的特征提取处理,并且在第二图像中的各个位置(例如,x-y位置)处产生一个或多个特征点。

为了识别和跟踪跨第一图像和第二图像的相同特征点,针对每个特征点在第一图像中定义相应的像素斑块。例如,在一些实施例中,针对每个特征点识别尺寸为64×64像素的正方形像素斑块,其中特征点位于像素斑块中心处。例如,如果图像中特征点的x-y坐标是(x0,y0),则对应的斑块被定义为:

patch={(x0+i,y0+j)|i,j∈n,-31≤i,j≤32}

斑块的其他尺寸也是允许的。在一些实施例中,基于图像的分辨率和尺寸以及可选地图像中特征点的平均密度来选择斑块的尺寸。例如,当分辨率高时,选择较大的斑块尺寸,而当像素的平均密度高时,较小的斑块尺寸是优选的。

与第一图像中的相应特征点对应的像素斑块相对于与第二图像中相同的相应特征点对应的像素斑块(例如,如图4所示)改变其大小并且可能改变其x-y位置。为了跨两个图像跟踪相同的特征点和对应的像素斑块,执行对基于两个图像中对应斑块的像素值之间的绝对差的最小化的估计。具体地,

其中s是第二图像和第一图像中对应斑块之间的比例因子。第一图像中的原始斑块的比例因子默认为1,并且第二图像中更新斑块的比例因子为s。通过最小化第一图像中的原始斑块与第二图像中的更新斑块的像素值之间的绝对差,当实现计算的收敛时,获得x-y位移(例如,由δx和δy表示)和比例因子s。

图5示出了根据一些实施例的特征点的检测和跟踪以及匹配跨两个图像的对应图像斑块,所述两个图像由沿着可移动物体的移动路径的不同位置处的单个机载摄像机捕获。

图5的顶部示出了已经被处理用于确定对象深度的两个示例帧(例如,基础图像502a和当前图像502b)。图像502a是当可移动物体处于第一位置(例如,在(x0,y0,z0))(例如,在其朝向其目的地移动期间的时间t0)时,由可移动物体的机载摄像机捕获的基础图像)。图像502b是在可移动物体处于第二位置(x0+δx,y0+δy,z0+δz)时(例如,在它向其目的地移动的时间t+δt)由可移动物体的机载摄像机捕获的当前图像。

在基础图像502a上示出的正方形勾勒出基于从基础图像提取的特征点定义的图像斑块。根据用于最小化与两个图像中的相同特征点相关联的原始斑块(例如,斑块504a)和更新斑块(例如,斑块504b)之间的像素值的绝对差的计算,确定每个特征点的位置位移以及每个斑块的比例,只要基于用于开始所述计算的初始值实现解的收敛。在一些实施例中,当在捕获两个图像的位置之间没有足够的距离时,比例的变化可能太小,并且在预定的时限内(例如,在下一图像变得可用之前)无法实现或不能实现解的收敛。如果未获得解,则标记特征点,并且将在获得更多图像帧的稍后时间处确定特征点的对象深度。在当前图像402b上示出的正方形勾勒出与基础图像中的特征点相同的特征点对应的更新图像斑块。一条直线链接了与两个图像中的相同特征点对应的每对像素斑块。图5的下部与图5的上部相同,除了去除下面的图像以显示特征点、它们对应的像素斑块以及两个图像之间的相同图像特征的像素斑块之间的对应性。如斑块504a和504b所示,与这两个斑块对应的特征点在x-y位置上移动,斑块504a和504b由于比例因子s而不同。每个特征点对应于相应的比例因子和位置变化。

图6示出了另一图像602中的特征点(例如,特征点604)和对应的像素斑块(例如,606)。

通常,由于比例因子的值较大,所以基础图像和当前图像被捕获的位置之间的较大距离产生更准确的比例因子s的估计。然而,当基础图像和当前图像之间的差异太大时,收敛较难以实现。

在一些实施例中,为了在当前图像和基础图像中的对应像素斑块之间的比例因子s的计算中实现收敛或更快地实现收敛,将比例因子的合适初始值提供给最小化计算。图7示出了根据一些实施例的对于与检测到的特征点对应的图像斑块的比例因子s的初始值的选择。

如图7所示,为了获得比例因子s的合适初始值,使用基础帧和当前帧之间的一系列中间帧。对于每对相邻帧(例如,基础帧f0和第一中间帧f1、第一中间帧f1和第二中间帧f2、第二中间帧f2和第三中间帧f3、......以及当前帧之前的最近帧fk-1和当前帧fk),执行相同特征点跟踪和跨两个相邻图像的相同特征点的斑块之间的绝对差异的最小化(例如,以关于图5讨论的方式)。由于两个帧是相邻帧,因此对应斑块之间的比例变化si→j和两个相邻帧fi和fj中特征点的位置变化是最小的,并且可以用初始值1解决。在已经获得每对相邻帧的比例因子之后,基础帧中的原始斑块的比例因子的初始值和当前帧中的对应更新斑块是针对从基础帧到当前帧的每对相邻对的帧已获得的所有比例因子的乘积,如图7所示。换句话说,比例因子的初始值是

其中si→i+1是两个相邻图像fi和fi+1中相同特征点的对应斑块的比例因子,并且s0→k是基础图像f0和当前图像fk中相同特征点的对应斑块的比例因子的初始值。

在一些实施例中,当捕获基础图像和当前图像的位置之间的距离足够大时,选择新的基础帧,并且如上所述的针对特征点的对象深度的计算相对于新的基础帧中的特征点来执行。在一些实施例中,当前帧是新的基础帧,并且原始基础帧是在当前图像之后捕获的图像的历史基础帧。

图8示出了根据一些实施例的特征点的对象深度的计算,所述计算基于在不同位置f1和f2处捕获的两个图像中所示的现实世界对象的对应尺寸之间的比例因子。

特征点的对象深度是由图像中的特征点表示的真实世界对象与捕获图像的摄像机的光学中心之间的z距离。通常,对象深度是相对于捕获图像时摄像机的真实世界位置的。在本公开中,除非另外指定,否则相对于可移动物体的当前位置计算特征点的对象深度。

在图8中,f1和f2的相应x-z位置表示在图像(例如,基础图像和当前图像)被捕获时可移动物体的相应x-z位置(或者更具体地,机载摄像机的光学中心的x-z位置)。摄像机的焦距由f表示。成像对象的实际横向尺寸(例如,x尺寸)由1表示。对象的图像显示基础图像中和当前图像中分别为l1和l2的横向尺寸。从摄像机的光学中心到对象的实际距离在捕获基础图像时为h1,以及在捕获当前图像时为h2。与对象对应的图像特征的对象深度相对于f1处的摄像机为h1,以及相对于f2处的摄像机为h2。

如图8所示,根据相似性原则,

由于特征点的对应斑块之间的比例因子是

在基础图像的捕获和当前图像的捕获之间的可移动物体的位置变化是δh=h1=h2,它可以从可移动物体的导航系统日志中获得,或者基于可移动物体的速度以及捕获基础图像和获取当前图像之间的时间计算出。基于相关方程:

和δh=h1=h2,

可以计算h1和h2的值。h1的值是表示基础图像中对象的图像特征的对象深度,h2的值是代表当前图像中对象的图像特征的对象深度。相应地,对象与摄像机之间的z距离在拍摄基础图像时为h1,并且在拍摄当前图像时为h2。

在一些场景中,特别是当跨图像被跟踪的特征点对应于现实世界对象的边缘时,深度估计不是非常准确,因为假设围绕特征点的整个像素斑块具有相同的深度是不正确的。在一些实施例中,为了提高对当前图像中的相应特征点的对象深度估计的准确性,在存在于多个图像中的相应特征点的基础图像与当前图像之间针对这些多个图像执行对象深度估计。对针对这些多个图像获得的对象深度值进行过滤(例如,通过卡尔曼滤波器或运行平均)以获得经优化的更精确的估计。

在基于上述处理获得特征点的对象深度之后,在以机载摄像机为中心的坐标系中确定特征点的三维坐标。假设特征点在当前图像中的x-y位置为(u,v),并且在当前图像中的对象深度为h,与特征点对应的对象在以机载摄像机(或者更一般地,以可移动物体)为中心的现实世界坐标系中的三维坐标(x,y,z)计算如下:z=h;x=(u-u0)*z/f;y=(v-v0)*z/f,其中(u0,v0)是在例如基于外部参考帧捕获图像时摄像机的光学中心的x-y坐标。

图9示出了根据一些实施例的基于图像中的特征点的估计对象深度的开放天空的检测和所检测障碍物的表征。

在一些实施例中,为了准备障碍物检测和避障(以及去除虚假特征点),图像被分割以识别与开放天空的对应的区域(或者不包含阻挡可移动物体移动的障碍物的开放区域或空间)以及与占用空间对应(或不对应于开放天空)的其他区域。标识为开放天空的区域通常不包含特征点。在一些实施例中,被标识为开放天空的区域中的任何图像特征被忽略或从对象深度估计过程中删除。

在一些实施例中,在开始特征提取之前,首先将要处理的相应图像(例如,图像906)划分为多个子区域(例如通过线性网格),例如,如图9所示。图像的每个子区域(例如,子区域902)对应于网格中的网格单元。分析每个子区域的图像特征信息和亮度以确定图像的子区域是否对应于开放天空。例如,在一些实施例中,当相应子区域中的特征信息小于阈值量(例如,当存在最小像素变化时),并且子区域的总亮度大于预定阈值亮度水平时,确定相应的子区域对应于开放天空。如果相应的子区域不满足与开放天空对应的质量标准,则认为相应的子区域不对应于开放天空。如图9所示,区域904a(例如,包括15个连续定位的子区域)和904b(例如,包括26个连续定位的子区域)被确定为对应于开放天空,并且图像906中的其余区域被确定为对应于占用空间。

在一些实施例中,一旦确定图像的区域对应于开放天空,则对于这些区域中的特征点的对象深度确定不需要对根据跟踪跨不止基础图像和当前图像的特征点获得的结果进行平均。在一些实施例中,图像中的开放天空的检测还有助于随后要执行的避障策略选择。

在一些实施例中,特征点的估计对象深度被直接用于障碍物检测和后续避障策略选择。具体地,如果在用于检测图像中的开放天空区域的处理期间当前图像尚未被分割为子区域(例如,通过矩形网格),则已经处理的当前图像被划分为多个子区域。然后确定:每个子区域是否被对象或对象的一部分占据,并且如果是被占据,则对象的深度或对象的该部分是什么。如果确定子区域未被任何对象占据,则子区域的深度表示为“-1”。如果一些子区域已被确定为对应于开放天空,则这些区域的深度也被表示为“-1”,并且跳过这些子区域的深度计算。

图10示出了根据一些实施例的从基础图像和先前基础图像到当前图像的特征点的投影。

在一些实施例中,用于确定与当前图像中的子区域相关联的对象深度的基本过程如下。首先,识别深度计算已经成功地返回有效结果(例如,达到了比例因子s的值的收敛)的基础帧中的所有特征点。然后,将这些特征点投影到当前帧上以获得当前图像中投影的x-y位置。如果在两个相互靠得很近的位置捕获到基础帧和当前帧,则有可能一些特征点的深度计算不会收敛而产生有效结果。在这种情况下,识别历史基础帧(例如,在当前基础帧被选择之前使用的基础帧)。历史基础帧包括与基础帧相同的一些特征点,并且同样将这些特征点投影到当前帧中。图10示出了已经投影在当前帧1002上的特征点的位置。未填充的正方形1004表示从基础帧投影的特征点的位置,并且实心正方形1006表示从先前的基础图像投影的特征点的位置。特征点的对象深度标记在与特征点的投影相关联的方块的旁边。投影基于以下公式计算:

对于每个子区域,如果子区域先前已被确定为对应于开放天空,则子区域的深度被指定为“-1”;否则,基于投影到子区域上的特征点的估计对象深度来估计子区域相对于可移动物体(例如,摄像机镜头的光学中心)的对象深度。如图10所示,子区域1008包括两个特征点的投影,一个来自基础帧,并且另一个来自先前基础帧。

在一些实施例中,计算已经投影到子区域上的所有特征点的对象深度的加权和。例如,假设已经投影到子区域上的特征点是{(ui,vj)}i=1...k,其中k是已经投影到子区域上的特征点的总数;并且特征点的估计目标深度是{zi}i=1-k。使用以下等式来计算从可移动物体的位置开始的子区域的估计对象深度:

其中d是子区域中心的对象深度,(uc,vc)是子区域中心的坐标,gi是基于特征点来自基础帧还是来自先前的基础帧而给予相应特征点i的对象深度的权重。一般来说,与给予来自先前基础帧的特征点的权重相比,给予来自当前基础帧的特征点的权重较小。另外,在一些实施例中,随着基础帧和当前帧之间的中间帧的数量增加(例如,摄像机捕获基础帧和当前帧时的位置之间的z距离),给予来自先前基础帧的特征点的权重减小。

在一些实施例中,使用用于估计子区域的中心的对象深度的另一方法。例如,如果三个或更多个特征点被投影到子区域上,则识别出最接近于子区域的中心投影且彼此不共线的三个特征点(例如,特征点q1、q2和q3)。基于识别出的这三个特征点(例如,特征点q1、q2和q3),定义出平面。然后,将子区域的中心p投影到该平面上作为p′,并且计算p’(该子区域的中心在该平面上的投影)的对象深度。p′的对象深度被视为整个子区域的对象深度。

在一些实施例中,如果子区域没有任何特征点被投影到它上(例如,此时不能确定特征点的对象深度)并且子区域不对应于开放天空,则使用以下近似来估计子区域的对象深度。基于在相应子区域中表示的障碍物没有悬浮在空气中或由在相应子区域下方中空的结构支撑的假设,相应子区域的对象深度采用直接位于相应子区域上方的另一子区域的对象深度。例如,如果确定了与建筑物的顶部边缘对应的特征点的对象深度,则可以确定包括该特征点的子区域的对象深度。如果位于与建筑物的顶部边缘对应的子区域下方的其他子区域不包括已确定对象深度的特征点,则认为这些其他子区域与代表建筑物顶部的子区域位于相同的对象深度。如图9所示,左起第7列中的多个子区域采用与代表建筑物主体顶部的顶部子区域(例如,网格的第2行和第7列的子区域)相同的176米的对象深度。

在一些实施例中,位于可移动物体的表示下方的子区域(例如,可移动物体在当前帧上的投影、或与投影重叠的子区域的组合)在对象深度计算中被忽略,因为通常可移动物体不会降低其海拔以避开障碍物。如图9所示,显示了当前图像中子区域的估计对象深度。与开放天空对应的子区域(例如,子区域904)具有被指定为-1的对象深度。在障碍物检测过程中不考虑在可移动物体的表示下方的当前图像的底部部分(例如,图像的下半部分中的3行)。

在可移动物体正在移动并且继续捕获新图像的同时,基本实时地(例如,使用机载障碍物检测逻辑或在遥控站)执行障碍物检测。识别当前图像中与可移动物体的表示重叠的子区域。如果所识别的子区域之中的相应子区域的对象深度大于从可移动物体到可移动物体的目的地的z距离,则相应的子区域将不会在可移动物体到其目的地的路途上被可移动物体遇到。因此,这样的子区域不是障碍物。如果所识别的子区域之中的相应子区域的对象深度小于从可移动物体到可移动物体的目的地的z距离,则相应的子区域将会在可移动物体到其目的地的路途上被可移动物体遇到。因此,相应的子区域对应于需要避开的障碍物。

子区域的对象深度由子区域中所有像素的最小对象深度表示。可移动物体在当前图像中的表示是可移动物体在图像中的投影或者与投影重叠的子区域的组合(例如,矩形区域,其包括位于当前图像中心处的2×2子区域(例如,图4中的区域418))。

在一些实施例中,只要在当前图像中检测到障碍物(例如,一个或多个障碍物),就选择并执行合适的避障策略。如果在当前移动路径中未检测到障碍物,则可移动物体的移动继续并且图像捕获也继续。基于下一图像和可移动物体的新位置来重复用于检测障碍物的过程(例如,提取特征点,确定特征点的对象深度,确定当前图像中子区域的对象深度,确定障碍物是否存在于可移动物体的当前移动路径中等)。如果基于下一图像的分析检测到障碍物,则基于新确定来选择避障策略,并且可以相应地进一步调整调整后的移动路径。

在一些实施例中,在确定可移动物体的当前移动路径中存在障碍物并且需要避障之后,选择避障的移动方向。在一些实施例中,可移动物体具有三个一般方向来移动以避开障碍物,即上、左和右方向。在一些实施例中,如果可移动物体的当前海拔大于阈值海拔(例如,地面上方200米),则在避开障碍物时侧向移动优于向上移动;并且如果可移动物体的当前海拔低于阈值海拔,则在避开障碍物时向上移动优于侧向移动。然而,在被其他障碍物禁止向上移动的情况下,选择侧向移动作为避开障碍物的方式。

在一些实施例中,当可移动物体太靠近障碍物时(例如,可移动物体与障碍物之间的z距离小于阈值距离),则执行紧急避障操纵。在一些实施例中,紧急避障操纵包括急剧停止,然后直线上拉到预定海拔(例如,高于障碍物上边缘的海拔)。在可移动物体达到障碍物上边缘上方的预定海拔之后,可移动物体保持预定海拔,直到可移动物体移动经过障碍物。在可移动物体移动经过障碍物之后,可移动物体下降到它就在执行紧急避障操纵之前所具有的先前海拔,并继续朝向其目的地前进。

在一些实施例中,涉及向上移动的紧急避障操纵不可用,并且侧向移动用于避障。例如,当可移动物体比预定距离阈值更靠近障碍物时,可移动物体试图立即停止,然后向左或向右移动,直到可移动物体移动经过障碍物,然后可移动物体在原始移动方向上向前移动,直到可移动物体在向前方向上移动经过障碍物。之后,可移动物体向右或向左移动,直到可移动物体返回其原始移动路径。一旦可移动物体已经经过障碍物返回其原始路径,则可移动物体继续在原始移动方向上向前移动。

如本文所公开的,基于由单个机载摄像机捕获的图像的障碍物检测具有几百米的检测范围,比通常在诸如uav的可移动物体上实现的其他传统技术的检测范围长得多。由于这个原因,在可移动物体的移动期间检测到障碍物之后,可以执行更优雅且平缓的避障操纵。

在一些实施例中,如果在可移动物体过于靠近障碍物之前检测到障碍物(例如,障碍物与可移动物体之间的z距离大于用于紧急避障操纵的预定距离阈值),则与向上操纵相比,可移动物体优先进行侧向操纵以避开障碍物。这与需要紧急避障操纵的情况下的通常优选不同。

在一些实施例中,可移动物体或控制单元在当前图像中搜索到障碍物的左或右的间隙窗口(awindowofclearance),以确定可移动物体是否可以通过侧向移动来避开障碍物。图11示出了根据一些实施例的用于搜索间隙窗口以避开障碍物的过程。

如图11所示,在当前图像中定义搜索窗口1104,并且搜索窗口的宽度大于当前图像中可移动物体的表示的宽度。搜索窗口具有下边界,该下边界位于当前图像中可移动物体的表示的下边缘。搜索窗口逐个子区域地(例如,逐单元地)向左或向右移动,以确定搜索窗口是否对应于没有障碍物的空间。投影到图像上的特征点的相应对象深度由表示(一个或多个)特征点的投影位置的正方形旁边的数字指示。如果搜索窗口中的任何子区域的对象深度小于可移动物体与其目的地之间的z距离加上缓冲距离,该缓冲距离对应于障碍物在z方向上的估计厚度(例如,60米),然后确定当前位置的搜索窗口不清楚并且会引起碰撞。如果搜索窗口中的所有子区域的对象深度大于可移动物体与其目的地之间的z距离加上缓冲距离,或者以其他方式对应于开放天空,则确定当前位置处的搜索窗口将是清楚的(例如,当前位置处的搜索窗口也被称为间隙窗口),并且如果可移动物体朝向搜索窗口的当前位置移动(例如,将可移动物体瞄准搜索窗口的x中心),则可以实现避障。如果障碍物左和右的所有子区域都用尽并且没有找到间隙窗口,则不能使用侧向移动来避开障碍物,而是使用向上移动来避开障碍物。

图12示出了根据一些实施例的在检测到障碍物时实施的长距离避障操纵的路径(与紧急避障操纵相反)。

根据一些实施例,图12a示出了在可移动物体试图使用侧向移动以避开障碍物1202时可移动物体的轨迹1204。如图12a所示,链接可移动物体的当前位置o和稍微超过障碍物右边缘(例如,右边缘之外5米)的间隙点e(例如,间隙窗口内的点)的直线oe相对于链接可移动物体的当前位置p和可移动物体的目的地p的直线op成角度θ。在一些实施例中,为了调整可移动物体的移动方向以实现这样的轨迹,可移动物体将其速度的向右分量从零或合适的正值增加,使得可移动物体的速度在与线oe相同的方向上。当可移动物体开始在朝向点e的方向上移动之后,可移动物体继续修改其航向(例如,通过连续调整其速度的方向)以保持其航向方向与链接可移动物体和可移动物体的目的地的线op之间的角度θ。

图12b示出了根据一些实施例的在可移动物体试图使用向上移动以避开障碍物1208时可移动物体的轨迹1210。如图12b所示,当检测到障碍物1208时,可移动物体朝向障碍物上边缘上方的点o平缓移动,而不会突然停止。例如,可移动物体向上移动,同时继续以原始速度向前移动。向上移动的速度和向前运动的速度被调整为使得可移动物体的轨迹遵循将可移动物体的当前位置o和障碍物上边缘上方预定距离的间隙点q相链接的直线。在一些实施例中,为了调整可移动物体的移动方向以实现这样的轨迹,可移动物体将其速度的向上分量从零或合适的正值增加,使得可移动物体的速度在与线oq相同的方向上。在可移动物体达到障碍物上边缘上方预定距离的海拔(例如,间隙q点的海拔)之后,可移动物体停止向上移动并继续在相同海拔向前移动。一旦可移动物体在z方向上移动经过障碍物(例如,到达点r),可移动物体就下降到原始海拔并继续朝向目标p前进。

图13a至图13e是示出了根据一些实施例的基于由单个摄像机捕获的图像的障碍物检测方法1300的流程图。方法1300在诸如可移动物体102或控制单元108的设备处执行。该设备包括可选的成像设备(例如成像设备218)、存储设备(例如存储器204)以及耦合到可选的成像设备和存储设备的一个或多个处理器202。该方法在图4至图12和随附的描述中说明。

在可移动物体处于第一位置(例如,沿着可移动物体的原始移动路径的第一位置)的同时,设备获得(1302)由可移动物体(例如,诸如mav的uav)的机载摄像机捕获的基础图像。该设备从基础图像中提取(1304)第一原始斑块,其中,第一原始斑块对应于基础图像的包括基础图像的第一特征点的部分(例如,以第一特征点为中心的64x64像素的像素斑块)。这在图5中的图像502a中示出。在可移动物体处于第二位置(例如,沿着可移动物体的原始移动路径的第二位置)的同时,设备获得(1306)由机载摄像机捕获的当前图像,其中,当前图像的一部分包括具有更新位置的第一特征点。设备确定(1308)基础图像(例如,502a)中的第一原始斑块(例如,504a)与当前图像(例如,504b)中的第一更新斑块(例如,504b)之间的第一比例因子,其中第一更新斑块对应于当前图像的包括具有更新位置的第一特征点的部分。基于第一比例因子以及可移动物体的第一位置与第二位置之间的距离,设备根据如图8所示的原理获得(1310)当前图像中的第一特征点的对应对象深度的估计。

在一些实施例中,在可移动物体沿着可移动物体的原始移动路径移动的同时,捕获(1312)基础图像和当前图像,并且在捕获当前图像之后,实时获得对第一特征点的对应对象深度的估计。

在一些实施例中,该设备是可移动物体或其组件。在一些实施例中,该设备是与可移动物体通信的遥控单元。在一些实施例中,该方法是在可移动物体的自主移动期间执行的(1314)。

在一些实施例中,确定基础图像中的第一原始斑块与当前图像中的第一更新斑块之间的第一比例因子包括(1316):最小化所述基础图像中的第一原始斑块与所述当前图像中的第一更新斑块之间的像素值的绝对差之和,以获得所述当前图像中的第一特征点的更新位置以及所述基础图像中的第一原始斑块与所述当前图像中的第一更新斑块之间的第一比例因子。

在一些实施例中,设备跟踪(1318)在基础图像和当前图像之间由机载摄像机连续捕获的一系列中间帧中的第一原始斑块;该设备确定一系列中间帧中与第一原始斑块对应的各个斑块的一系列中间比例因子;并且当基础图像中的第一原始斑块与当前图像中的第一更新斑块之间的像素值的绝对差之和被最小化时,该设备使用一系列中间比例因子的乘积作为第一比例因子的初始值。例如,这在图7和随附的描述中示出。

在一些实施例中,根据确定第一位置和第二位置之间的距离超过阈值距离,设备基于新的基础图像和新的基础图像的后续图像来启动(1320)确定新的比例因子。例如,在可移动物体已经行进了阈值量的距离之后,选择新的基础图像,并且之前的基础图像现在被认为是历史基础图像,并且在随后捕获的图像中的图像特征相对于新的基础图像被跟踪。

在一些实施例中,在获得当前图像之后,在可移动物体继续沿着可移动物体的原始移动路径移动的同时,设备获得(1322)由机载摄像机捕获的一个或多个附加图像,并且一个或多个附加图像中的每个图像包括第一特征点和与第一特征点对应的附加更新斑块;该设备计算一个或多个附加比例因子,包括基础图像中的第一原始斑块以及一个或多个附加图像中的每一个中的附加更新斑块之间的相应附加比例因子;基于一个或多个附加比例因子以及与一个或多个附加图像对应的可移动物体的相应位置,设备获得第一特征点的对应对象深度的一个或多个附加估计;并且该设备基于针对第一特征点的对应对象深度的一个或多个附加估计来修正第一特征点的对应对象深度的估计。(注意,在一些实施例中,对于落在图像的被标识为开放天空的部分内的特征点不执行该优化)。

在一些实施例中,基于相应图像中的第一特征点的二维位置(例如,在第二位置处捕获的当前图像)、机载摄像机的焦距以及第一特征点的(例如,相对于第二位置)对应对象深度的估计,设备确定(1324)第一特征点相对于可移动物体(例如,在第二位置处)的三维对象位置。

在一些实施例中,对于基础图像以及当前图像(以及基础图像与当前图像之间的所有中间图像和在当前图像之后捕获的任何附加图像)中的每个图像,设备分割(1326)所述每个图像以识别与开放天空对应的第一组子区域以及不与开放天空对应的第二组子区域。例如,这在图9和随附的描述中说明。

在一些实施例中,分割所述每个图像以识别与开放天空对应的第一组子区域和不与开放天空对应的第二组子区域包括(1328):将所述每个图像划分为多个子区域(例如,方形单元的网格);确定所述多个子区域中的每一个的变化和亮度,并且根据确定所述多个子区域中的相应子区域具有小于阈值变化量并具有大于阈值亮度的亮度,将所述相应子区域包括在与开放天空对应的第一组子区域中;以及根据确定多个子区域中的相应子区域不属于与开放天空对应的第一组子区域,将所述相应子区域包括在不与开放天空对应的第二组子区域中。例如,这在图9和随附的描述中说明。

在一些实施例中,第一原始斑块与基础图像中对应于开放天空的第一组子区域不重叠(1330),并且第一更新斑块与当前图像中对应于开放天空的第一组子区域不重叠。例如,如果子区域对应于开放天空,则它不对应于障碍物,因此不需要估计子区域的对象深度。

在一些实施例中,基于当前图像中第一特征点的对应对象深度的估计,设备确定(1332)可移动物体与可移动物体的目的地之间是否存在障碍物。

在一些实施例中,根据确定在可移动物体和可移动物体的目的地之间存在障碍物,设备执行(1334)避障操纵以避开障碍物。参照图14a至图14g更详细地描述避障操纵的选择和执行的更多细节。

图14a至图14g是示出了根据一些实施例的避障方法1400的流程图。方法1400在诸如可移动物体102的设备处执行。该设备包括成像设备(例如成像设备218)、存储设备(例如存储器204)以及耦合到可选成像设备和存储设备的一个或多个处理器202。该方法在图4至图12和随附的描述中说明。

该设备检测(1402)可移动物体的原始移动路径中的障碍物(例如,在可移动物体的移动期间,在可移动物体和可移动物体的目的地之间的移动路径上检测到对象)。响应于检测到障碍物(1404):根据确定满足长距离避障准则,其中,长距离避障准则要求沿着原始移动路径的可移动物体和障碍物之间的距离超过第一阈值距离(例如,20米等),设备执行(1406)长距离避障操纵,包括沿着初始轨迹(例如,沿着图12a中的线oe或沿着图12b中的线oq)从可移动物体的当前位置移动到超出障碍物的外边缘的间隙点,其中,可移动物体沿着初始轨迹的初始速度具有与原始移动路径平行的第一分量(例如,z分量)和与原始移动路径垂直的第二分量(例如,侧向避障操纵中的x分量或向上避障操纵中的y分量)(例如,初始轨迹相对于可移动物体的原始移动路径成锐角,例如,如图12所示)。

在一些实施例中,执行长距离避障操纵还包括(1408):根据确定满足第一避障方向选择准则(例如,当可移动物体的原始海拔低于阈值海拔(例如,低于地面以上200米时),设备增加向上速度,同时保持可移动物体的原始前进速度的至少一部分。例如,在一些实施例中,当可移动物体的当前海拔相对较低时,向上移动优于侧向移动以实现避障。

在一些实施例中,初始轨迹相对于可移动物体的原始移动路径成锐角(1410),并且间隙点的海拔大于障碍物的高度(例如,如图12b中所示)。

在一些实施例中,执行长距离避障操纵还包括(1412):在沿着初始轨迹移动到间隙点(例如,具有高于障碍物高度5米的海拔的点)之后,设备直线前进,同时保持可移动物体的当前海拔(例如,沿着图12b中的线qr移动)。

在一些实施例中,执行长距离避障操纵还包括(1414):当以当前海拔直线前进时,确定可移动物体已经移动经过障碍物;以及响应于检测到可移动物体已经移动经过障碍物:在执行长距离避障操纵之前,设备下降到可移动物体所具有的先前海拔;并且在下降到先前海拔之后沿着原始移动路径朝向目的地前进。例如,在一些实施例中,一旦可移动物体已经移动经过障碍物(例如,沿着图12b中的线rs的移动),则可移动物体直线下降到其原始海拔。在一些实施例中,可移动物体在经过障碍物之后可选地保持非零向前速度,并且可移动物体遵循具有朝向原始移动路径的向前分量和向下分量的轨迹。

在一些实施例中,执行长距离避障操纵还包括(1416):根据确定满足第二避障方向选择准则(例如,当可移动物体的原始海拔小于阈值海拔(例如,低于地面上方200米时),增加可移动物体的侧向速度(例如,向可移动物体的左或右的速度),同时保持可移动物体的原始前进速度的至少一部分。例如,在一些实施例中,当可移动物体处于相对较高的海拔时,侧向移动优于向上移动以完成避障。

在一些实施例中,初始轨迹具有(1418)与原始移动路径相同的海拔,并且间隙点(例如,图12a中的点e)具有超出障碍物宽度的水平位置。

在一些实施例中,执行长距离避障操纵还包括(1420):例如,如图12a所示,在可移动物体沿着初始轨迹移动的同时,将初始轨迹的切角维持在恒定值。

在一些实施例中,执行长距离避障操纵还包括(1422):例如如图12a所示,在可移动物体已经遍历整个初始轨迹之后,继续将可移动物体的当前轨迹的切角维持在恒定值(例如,直到到达目的地点)。

在一些实施例中,响应于检测到障碍物:根据确定满足短距离避障准则,其中,短距离避障准则要求沿着原始移动路径的可移动物体和障碍物之间的距离不超过第一阈值距离(例如,20米等),设备执行(1424)短距离避障操纵(例如,紧急避障操纵),包括:停止沿着原始移动路径的向前移动;以及在停止沿着原始移动路径的向前移动之后,直接向超出障碍物的间隙点(例如,障碍物的顶部边缘之上或障碍物的左边缘或右边缘之外的点)移动。例如,在完全停止之后,可移动物体相对于可移动物体的原始移动路径以90度直线向上移动。

在一些实施例中,检测可移动物体的原始移动路径中的障碍物包括(1426):基于在沿着可移动物体的原始移动路径的不同位置处(例如,在可移动物体沿着原始移动路径移动的同时)由机载摄像机捕获的两个或更多个图像序列来估计障碍物与可移动物体之间的对应距离。例如,图13a至图13e中提供了更多细节和随附的描述。

在一些实施例中,两个或更多个图像序列包括(1428)基础图像、当前图像以及在移动对象沿着原始移动路径移动时在基础图像与当前图像之间捕获的一个或多个中间图像。

在一些实施例中,检测可移动物体的原始移动路径中的障碍物包括(1430):将当前图像划分为多个子区域(例如,网格单元),其中,可移动物体在当前图像中的投影占据当前图像中的多个子区域中的至少第一子区域;根据所述多个特征点的所估计的对应三维对象位置,将所述基础图像的多个特征点投影到所述当前图像上;基于投影到第一子区域上的一个或多个特征点的估计对象深度来确定所述第一子区域的特征对象深度;以及至少部分地基于第一子区域的特征对象深度,确定在可移动物体的当前位置和可移动物体的目的地之间是否存在障碍物。例如,这在图9至图11中示出。

在一些实施例中,设备从基础图像中识别多个特征点;并且针对基础图像的多个特征点中的相应特征点,设备基于在一个或多个中间图像和当前图像中对所述相应特征点的跟踪来估计相应特征点相对于可移动物体的对应三维对象位置。

在一些实施例中,估计相应特征点相对于可移动物体的对应三维对象位置包括:基于所述相应特征点的估计对象深度、所述相应特征点在当前图像中相对于所述当前图像中心的位置以及所述机载摄像机的焦距,计算所述相应特征点的对应三维对象位置。

在一些实施例中,计算相应特征点的估计对象深度包括:确定基础图像中相应特征点周围的原始斑块与当前图像中相应特征点周围的更新斑块之间的比例因子;以及基于比例因子以及在捕获基础图像和当前图像时可移动物体的位置之间的距离,估计相应特征点的对象深度。例如,图13a至图13e和附随的描述中提供了这些细节。

在一些实施例中,设备获得(1432)已由机载摄像机在基础图像之前捕获的先前基础图像,其中,先前基础图像包括至少第二特征点,针对第二特征点,基于跟踪基础图像和当前图像中的特征点,无法获得估计深度;并且该设备根据第二特征点相对于可移动物体的三维对象位置将先前基础图像中的第二特征点投影到当前图像上;并且根据确定第二特征点被投影到第一子区域上,基于基础图像中被投影到当前图像中的第一子区域上的一个或多个特征点的估计对象深度并基于(例如,在估计深度已经通过当前时间的可移动物体的飞行位置变化进行调整之后)先前基础图像中的第二特征点的估计对象深度,设备确定当前图像中的第一子区域的特征对象深度。例如,这在图10和随附的描述中说明。

在一些实施例中,基于基础图像中投影到当前图像中的第一子区域上的一个或多个特征点的估计对象深度并基于先前基础图像中的第二特征点的估计对象深度来确定当前图像中的第一子区域的特征对象深度包括:计算投影到第一子区域上的基础图像和先前基础图像的特征点的估计对象深度的加权和,其中,基于当前图像中的所述特征点的投影与当前图像的中心之间的距离来确定每个所述特征点的相应权重(例如,权重w与距离成反比)。

在一些实施例中,投影到第一子区域上的先前基础图像的第二特征点的相应权重通过随着基础图像和当前图像之间的中间图像的数量增加而减少的乘数来调整。

在一些实施例中,基于投影到第一子区域上的一个或多个特征点的估计对象深度,确定当前图像中的多个子区域的第一子区域的特征对象深度包括(1434):根据确定三个或更多个特征点被投影到第一子区域上:从三个或更多个特征点中识别最靠近第一子区域的中心的三个特征点;将第一子区域的中心投影到由最靠近第一子区域的中心的三个特征点限定的平面上;并且使用第一子区域的中心在所述平面上的投影的对应对象深度作为第一子区域的特征对象深度。

在一些实施例中,设备从当前图像的多个子区域中识别(1436)与开放天空对应的一个或多个子区域;并且该设备放弃被识别为与开放天空对应的一个或多个子区域的特征深度确定以及障碍物检测和避开。

在一些实施例中,根据确定当前图像中的多个子区域中的第二子区域不对应于开放天空并且没有足够的信息来确定第二子区域的特征对象深度,该设备使用(1438)直接在第二子区域上方的另一子区域的特征对象深度作为第二子区域的特征对象深度。

在一些实施例中,设备从当前图像的多个子区域识别(1440)一个或多个第三子区域,所述一个或多个第三子区域对应于低于可移动物体的当前海拔的真实世界高度;并且该设备放弃对一个或多个第三子区域进行特征深度确定以及障碍物检测和避开,所述一个或多个第三子区域被识别为与低于可移动物体的当前飞行海拔的真实世界高度对应。

在一些实施例中,确定可移动物体的当前位置与可移动物体的目的地之间是否存在障碍物包括(1442):从当前图像中的多个子区域识别一个或多个第四子区域,所述一个或多个第四子区域位于当前图像的中心并且与当前图像中的可移动物体的表示的至少一部分重叠(例如,尺寸与投影到当前图像上的mav的大小和形状对应的矩形);根据确定所述一个或多个第四子区域的相应子区域的特征对象深度在可移动物体的当前位置与可移动物体的目的地之间,得出结论:可移动物体的当前位置和可移动物体的目的地之间存在障碍物;并且根据确定所有一个或多个第四子区域的特征对象深度比可移动物体的目的地更远离可移动物体的当前位置,得出结论:可移动物体的当前位置和可移动物体的目的地之间不存在障碍物。

在一些实施例中,执行长距离避障操纵以避开障碍物包括(1444):根据确定要进行侧向操纵以避开障碍物:扫描与当前图像中的障碍物对应的一组子区域侧向外侧的间隙窗口,其中,间隙窗口具有与当前图像中的可移动物体的表示对应的宽度;针对扫描期间间隙窗口的每个位置,确定间隙窗口是否被当前图像中表示的任何障碍物阻挡;根据确定间隙窗口未被当前图像中的任何障碍物阻挡,根据间隙窗口的当前位置执行侧向操纵(例如,在间隙窗口内(例如,在间隙窗口的中心处)选择间隙点);根据确定间隙窗口被当前图像中的至少一个障碍物阻挡:将间隙窗口移动到当前图像中的新位置;并且确定重复间隙窗口是否被当前图像中的任何障碍物阻挡;以及根据确定间隙窗口被至少一个障碍物阻挡并且间隙窗口的所有位置已被检查,选择拉起操纵而不是侧向操纵以避开障碍物。例如,这在图11和随附的描述中说明。

图15示出了根据各种所述实施例的原理配置的电子设备1500的功能框图。设备的功能框可选地通过硬件、软件或硬件和软件的组合来实现,以执行各种所述实施例的原理。本领域的技术人员应该理解,图15中描述的功能框可选地被组合或分成子框以实现各种所述实施例的原理。因此,本文的描述可选地支持本文描述的功能框的任何可能的组合或分离或进一步定义。

如图15所示,电子设备1500包括配置为捕获图像的成像单元1502;被配置为致动并引起电子设备的移动的移动单元1504;被配置为向遥控设备(例如,控制单元108)发送数据和指令并从遥控设备接收数据和指令的通信单元1506;被配置为存储指令和图像的存储单元1508(例如,存储器或ssd),以及耦合到成像单元1502、移动单元1504、通信单元1506和存储单元1508的处理单元1510。在一些实施例中,处理单元包括特征提取单元1512、特征跟踪单元1514、深度估计单元1516、障碍物检测单元1318和避障单元1520。

在一些实施例中,处理单元被配置为:在可移动物体处于第一位置时,获得由可移动物体的机载摄像机捕获的基础图像;从所述基础图像中提取第一原始斑块,其中,第一原始斑块对应于所述基础图像的包括所述基础图像的第一特征点的部分;在所述可移动物体处于第二位置的同时获得由所述机载摄像机捕获的当前图像,并且其中,所述当前图像的一部分包括具有更新位置的第一特征点;确定所述基础图像中的第一原始斑块与所述当前图像中的第一更新斑块之间的第一比例因子,其中,所述第一更新斑块对应于所述当前图像的包括具有所述更新位置的第一特征点的部分;以及基于第一比例因子和可移动物体的第一位置与第二位置之间的距离,获得当前图像中的第一特征点的对应对象深度的估计。处理单元还被配置为:使用设备1500的各种功能单元来执行图13a至图13e和图14a至图14g中描述的其他操作以及随附的描述。

在一些实施例中,处理单元被配置为:检测可移动物体的原始移动路径中的障碍物;响应于检测到障碍物:根据确定满足长距离避障准则(其中所述长距离障碍物准则要求沿着原始移动路径的可移动物体与障碍物之间的距离超过第一阈值距离),执行长距离障碍物避让操纵,包括沿着初始轨迹从可移动物体的当前位置移动到超出障碍物外边缘的间隙点,其中可移动物体沿初始轨迹的初始速度具有平行于原始移动路径的第一分量和垂直于原始移动路径的第二分量。处理单元还被配置为:使用设备1500的各种功能单元来执行图13a至图13e和图14a至图14g中描述的其他操作以及随附的描述。

本文公开的许多技术特征可以使用或借助于硬件、软件、固件或其组合来执行。因此,本技术的特征可以使用处理系统来实现。示例性处理系统(例如,处理器202、302)包括但不限于一个或多个通用微处理器(例如,单核或多核处理器)、专用集成电路、专用指令集处理器、现场可编程门阵列、图形处理器、物理处理器、数字信号处理器、协处理器、网络处理器、音频处理器、加密处理器等。

本技术的特征可以使用或借助于计算机程序产品来实现,诸如存储有指令的一个或多个存储介质或计算机可读介质,其中可以将所述指令用来对处理系统进行编程以执行本文中呈现的任何特征。存储介质(例如存储器204、304)可以包括但不限于任何类型的盘,包括软盘、光盘、dvd、cd-rom、微型驱动器和磁光盘、rom、ram、eprom、eeprom、dram、vram、ddrram、闪存设备、磁卡或光卡、纳米系统(包括分子存储器ic)或适用于存储指令和/或数据的任何类型的介质或设备。

存储在任何机器可读介质(介质)上的本技术的特征可以结合到用于控制处理系统的硬件以及用于使处理系统能够利用本技术的结果与其他机构进行交互的软件和/或固件中。这样的软件或固件可以包括但不限于应用代码、设备驱动器、操作系统和执行环境/容器。

本文所述的通信系统(例如,通信系统206、314)可选地经由有线和/或无线通信连接进行通信。例如,通信系统可选地接收和发送也称为电磁信号的rf信号。通信系统的rf电路将电信号转换为电磁信号/从电磁信号转换出来,并通过电磁信号与通信网络以及其他通信设备通信。rf电路可选地包括用于执行这些功能的公知电路,包括但不限于天线系统、rf收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、codec芯片组、订户身份模块(sim)卡、存储器等。通信系统可选地与诸如互联网(也称为万维网(www))、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(lan)和/或城域网(man))等网络以及其他设备通过无线通信进行通信。无线通信连接可选地使用多种通信标准、协议和技术中的任何一种,包括但不限于全球移动通信系统(gsm)、增强型数据gsm环境(edge)、高速下行链路分组接入(hsdpa)、高速上行链路分组接入(hsupa)、纯数据演进(ev-do)、hspa、hspa+、双小区hspa(dc-hspda)、长期演进(lte)、近场通信(nfc)、宽带码分多址(w-cdma)、码分多址(cdma)、时分多址(tdma)、蓝牙、无线保真(wi-fi)(例如、ieee302.11a、ieee302.11ac、ieee302.11ax、ieee302.11b、ieee302.11g和/或ieee302.11n)、基于因特网的协议语音(voip)、wi-max、用于电子邮件的协议(例如,因特网消息访问协议(imap)和/或邮局协议(pop))、即时消息(例如,可扩展消息和存在协议(xmpp),用于即时消息的会话发起协议和存在利用扩展(simple)、即时消息和存在服务(imps))和/或短消息服务(sms)、扩频技术例如fasst或desst、或任何其他合适的通信协议,包括截至本文档的提交日期为止尚未开发的通信协议。

虽然以上已经描述了本技术的各种实施例,但应该理解,它们已经以示例而非限制的方式呈现。本领域普通技术人员应该理解的是,在不脱离本发明的精神和范围的情况下,可以进行形式和细节上的各种变化。

以上已经在功能构建块的辅助下描述了本技术,这些功能构建块示出了指定功能及其关系的执行。为便于描述,本文通常任意定义这些功能构建块的边界。只要适当地执行了指定的功能和关系,就可以定义替代边界。因此任何这样的替代边界都在本发明的范围和精神之内。

在此描述的各种实施例的描述中使用的术语仅用于描述特定实施例的目的,而不旨在限制。如在各种描述的实施例的描述和所附权利要求中所使用的,除非上下文另外明确指出,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。还将理解的是,本文所使用的术语“和/或”是指并且包含一个或多个所列相关项目的任何和所有可能的组合。还将理解,术语“包括”和/或“包含”当在本说明书中使用时,规定了存在所声明的特征、整数、步骤、操作、要素和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、要素、组件和/或其组合。

如本文所使用的,术语“如果”可以被解释为意指“当……时”或“基于”或“响应于确定”或“根据确定”或“响应于检测”,所陈述的先决条件是真实的,取决于上下文。类似地,短语“如果确定[所陈述的先决条件是真实的]”或“如果[所陈述的先决条件是真实的]”或“当[所陈述的先决条件是真实的]”)可以被解释为意指“基于确定”、或“响应于确定”或“根据确定”或“基于检测”或“响应于检测到”所陈述的先决条件是真实的,取决于上下文。

为了说明和描述的目的提供了本发明的前述描述。这并不是穷尽性的或将本发明限制于公开的确切形式。本发明的宽度和范围不应该受到任何上述示例性实施例的限制。对于本领域技术人员而言,许多修改和变化将是显而易见的。修改和变化包括公开特征的任何相关组合。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够理解本发明的各种实施例以及适合于预期的特定用途的各种修改。意图是,本发明的范围由所附权利要求及其等同物限定。

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