用于操作可移动物体以规避障碍物的方法和系统与流程

文档序号:17582731发布日期:2019-05-03 21:03阅读:490来源:国知局
用于操作可移动物体以规避障碍物的方法和系统与流程

所公开的实施例总体上涉及操作可移动物体,并且更具体地但非排他地涉及操作可移动物体以规避障碍物。



背景技术:

诸如无人机(uav)的可移动对象可以用于执行针对军事和民用应用的监视、侦察和勘探任务。可移动物体可以携带被配置为执行特定功能(诸如,捕获周围环境的图像以检测并规避周围环境中的障碍物)的负载。重要的是,有效地检测障碍物并估计可移动物体相对于障碍物的位置和移动,以便及时更新导航路径以避免可移动物体与障碍物之间的碰撞。



技术实现要素:

需要系统和方法来操作可移动物体以实现高效和有效的避障,该系统和方法包括:检测环境中的一个或多个障碍物,估计一个或多个障碍物相对于可移动物体的移动,以及根据所估计的移动对可移动物体进行导航以避开一个或多个障碍物。这种系统和方法可选地补充或取代传统的用于控制可移动物体的方法。通过使用图像处理技术来分析由可移动物体承载的成像装置所捕获的图像数据,本申请的一些实施例可以显著提高可移动物体避障的效率和便利性。另外,本文公开的图像处理技术不需要从可移动物体承载的立体成像传感器或大功率的惯性测量单元(imu)收集数据。因此,既不需要复杂的机械设计和/或校准,也不需要复杂的计算。

根据一些实施例,一种用于操作可移动物体以规避障碍物的方法包括:获取多个图像帧。所述多个图像帧由沿着导航路径移动的可移动物体所承载的成像装置在预定义时间窗内捕获。所述方法还包括通过测量多个图像帧内的像素移动来识与所述可移动物体邻近的一个或多个物体。所述方法还包括使用所述多个图像帧内的所述一个或多个物体的尺寸变化来估计所述一个或多个物体相对于所述可移动物体的移动。所述方法还包括根据所估计的一个或多个物体的移动来调整所述可移动物体的导航路径。

根据一些实施例,一种无人机(uav)可以包括:动力系统、一个或多个传感器、成像装置、以及与所述动力系统、所述一个或多个传感器和所述成像装置耦接的一个或多个处理器。所述一个或多个处理器被配置用于执行上述方法的操作。根据一些实施例,一种系统可以包括:成像装置;与所述成像装置耦接的一个或多个处理器;存储器;以及一个或多个程序。所述一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行。所述一个或多个程序包括用于执行上述方法的操作的指令。根据一些实施例,非暂时性计算机可读存储介质已在其中存储指令,所述指令在由可移动物体执行时使可移动物体执行上述方法的操作。

附图说明

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

图2示出了根据一些实施例的可移动物体。

图3是示出根据一些实施例的操作可移动物体以规避障碍物的方法的流程图。

图4示出了根据一些实施例的用于在可移动物体沿着导航路径移动时操作可移动物体的示例性用户界面。

图5是示出根据一些实施例的基于两个图像帧形成的一个或多个光流矢量的示例图。

图6示出根据一些实施例的基于两个图像帧形成的光流矢量图的示例性用户界面。

图7示出根据一些实施例的基于光流矢量图识别一个或多个物体的示例性用户界面。

图8示出了根据一些实施例的用于显示与一个或多个物体相关联的碰撞时间值的示例性用户界面。

图9示出根据一些实施例的显示用于操作可移动物体以规避障碍物的导航路径的示例性用户界面。

图10a至图10d是示出根据一些实施例的用于操作可移动物体的方法的流程图。

具体实施方式

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

下面的描述使用无人机(uav)作为可移动物体的示例。uav包括例如固定翼飞行器和旋转翼飞行器,其中旋转翼飞行器例如是直升机、四旋翼机和具有其它数量的旋翼和/或旋翼配置的飞行器。在一些实施例中,可移动物体还包括但不限于自动驾驶汽车(即,自主性汽车、无人驾驶汽车),虚拟现实(vr)头戴式耳机,增强现实(ar)头戴式耳机,具有相机和图像处理功能的手持式云台。本领域技术人员显而易见的是,其他类型的可移动物体(如移动电话、平板电脑或遥控器)可以代替下文所述的uav。

本发明提供了与操作uav以进行避障相关的技术。在一些实施例中,使用由沿着导航路径移动的uav承载的成像装置捕获多个图像。本申请中公开的图像处理技术用于处理所捕获的图像以识别uav的环境中的一个或多个障碍物,并估计一个或多个障碍物相对于uav的移动。基于所估计的移动调整uav的导航路径,并相应地调整uav的一个或多个操作参数。例如,基于所识别的障碍物的尺寸变化率来确定uav碰到所识别的障碍物的碰撞时间值。本申请的一些实施例不需要从uav承载的立体图像传感器(例如,立体相机)获得的图像数据,因此不需要复杂的系统设计、复杂的机械结构或精密的校准过程。本申请的一些实施例不需要从uav承载的惯性测量单元(imu)系统的一个或多个传感器获得的成像传感器的位置信息,因此既不需要成像装置与imu之间的校准过程,也不需要需要位置信息和成像数据的复杂计算。

可以使用本申请中公开的图像处理技术来实现当uav沿着导航路径移动时的高效(例如,实时)和准确的障碍物检测和避障。

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

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

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

在一些实施例中,控制单元108与可移动物体102进行通信,从而例如向可移动物体102提供控制指令和/或在显示器120上显示从可移动物体102接收的信息。尽管控制单元108通常是便携式(例如,手持式)设备,但是控制单元108不需要是便携式的。在一些实施例中,控制单元108是专用控制装置(例如,针对可移动物体102)、膝上型计算机、台式计算机、平板计算机、游戏系统、可穿戴装置(例如,眼镜、手套和/或头盔)、麦克风、便携式通信装置(例如,移动电话)和/或其组合。

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

在一些实施例中,控制单元108的显示器120显示由可移动物体感测系统210、存储器204和/或可移动物体102的另一系统生成的信息。例如,显示器120显示关于可移动物体102、载体104和/或负载106的信息,诸如可移动物体102的位置、朝向、朝向、移动特性和/或可移动物体102与另一物体(例如,目标和/或障碍物)之间的距离。在一些实施例中,由控制单元108的显示器120显示的信息包括由成像装置216(图2)捕获的图像、跟踪数据(例如,应用于目标的表示的图形跟踪指示符)和/或传送到可移动物体102的控制数据的指示。在一些实施例中,当从可移动物体102接收信息时和/或当获取图像数据时,基本实时地显示由控制单元108的显示器120显示的信息。在一些实施例中,控制单元108的显示器120是触摸屏显示器。

在一些实施例中,可移动物体环境100包括计算装置110。计算装置110例如是服务器计算机、云服务器、台式计算机、膝上型计算机、平板电脑或另一便携式电子装置(例如,移动电话)。在一些实施例中,计算装置110是与可移动物体102和/或控制单元108进行通信(例如,无线地)的基站。在一些实施例中,计算装置110提供数据存储、数据检索和/或数据处理操作,例如以降低可移动物体102和/或控制单元108的处理能力要求和/或数据存储要求。例如,计算装置110可通信地连接到数据库和/或计算装置110包括数据库。在一些实施例中,计算装置110用于代替控制单元108或与控制单元108一起执行关于控制单元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产生角度和/或线性移动。在一些实施例中,控制指令以多达六个自由度来调节载体104相对于可移动物体102的移动。

在一些实施例中,控制指令被用于调整负载106的一个或多个操作参数。例如,控制指令包括用于调整光学参数(例如,成像装置216的光学参数)的指令。在一些实施例中,控制指令包括以下指令:调整成像属性和/或图像装置功能,如捕获图像,启动/停止视频捕获,为成像装置216通电或断电,调整成像模式(例如,捕获静止图像或捕获视频),调整立体成像系统的左侧组件与右侧组件之间的距离,和/或调整载体104,负载106和/或成像装置216的位置、朝向和/或移动(例如摇摄(pan)速率、摇摄距离)。

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

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

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

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

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

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

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

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

在一些实施例中,控制系统执行成像装置调整。成像装置调整模块存储例如用于调整图像传感器与成像装置216的光学器件之间的距离的指令,例如用于控制成像装置致动器的指令。在一些实施例中,用于执行成像装置调整的一个或多个指令被存储在存储器204中。

在一些实施例中,控制系统执行自动对焦操作。例如,响应于确定可移动物体102和/或图像对象(例如,目标或远程物体)已经移动超过阈值距离,和/或响应于用户输入,当装置根据图像分析确定对焦水平已经下降到对焦水平阈值以下时,例如周期性地执行自动对焦操作。在一些实施例中,用户输入(例如,在控制单元108和/或计算装置110处接收的)启动和/或调整自动对焦模式。在一些实施例中,用户输入指示针对自动对焦操作而使用和/或优先排序的(例如,在由成像装置216捕获的图像--如由控制单元108和/或计算装置110显示的图像--中的)一个或多个区域。在一些实施例中,自动对焦模块根据由像距确定模块确定的像距值生成用于相对于图像传感器移动光学装置的控制指令。在一些实施例中,用于执行自动对焦操作的一个或多个指令被存储在存储器204中。

在一些实施例中,控制系统执行像距确定,例如,以根据这里描述的操作来确定物距和/或像距。例如,像距确定模块使用来自可移动物体的一个或多个深度传感器和一个或多个朝向传感器的传感器数据来确定像距,并根据所确定的像距生成用于相对于图像传感器移动光学装置的控制指令。在一些实施例中,用于执行像距确定的一个或多个指令被存储在存储器204中。

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

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

在一些实施例中,可移动物体102的感测系统210包括一个或多个传感器。在一些实施例中,可移动物体感测系统210的一个或多个传感器安装在可移动物体102的外部、位于可移动物体102的内部或以其他方式与可移动物体102耦接。在一些实施例中,可移动物体感测系统210的一个或多个传感器是载体104、负载106和/或成像装置216的组件和/或连接到载体104、负载106和/或成像装置302。在本文将感测操作描述为由可移动物体感测系统210执行的情况下,将认识到,除了可移动物体感测系统210的一个或多个传感器之外和/或代替可移动物体感测系统210的一个或多个传感器,这样的操作可选地由载体104、负载106和/或成像装置216的一个或多个传感器来执行。

图3是示出根据一些实施例的操作可移动物体102以规避障碍物的方法300的流程图。在一些实施例中,方法300由诸如计算装置110、控制单元108或可移动物体102(图1)的电子装置执行。在一些其他实施例中,方法300由其他电子装置(诸如,与控制单元108配对的移动装置或计算装置)执行,以操作可移动物体102。图3中执行的操作对应于存储在相应设备的计算机存储器或其他计算机可读存储介质中的指令。在图4—9中进一步示出方法300的一个或多个步骤,在本公开中结合图3讨论所述步骤。

在一些实施例中,电子装置获取(310)多个图像帧。当可移动物体102沿着导航路径(诸如图4所示的导航路径402)移动时,多个图像帧由可移动物体102所承载的成像装置216捕获。在一些实施例中,多个图像帧是在预定义时间窗口内以周期性速率捕获的视频的图像帧序列。

图4示出了根据一些实施例的用于在可移动物体102沿着导航路径402移动时操作可移动物体102的示例性用户界面400。在图4中,用户界面400显示由成像装置216捕获的一个或多个图像帧中的图像帧。备选地,用户界面400显示用于导航可移动物体102的地图。在一些实施例中,用户界面400显示在控制单元108的显示器120上。备选地,用户界面400显示在另一电子装置的显示器上,如与用于控制可移动物体102的控制单元108配对的计算装置110的或电子装置的显示器上。在一些实施例中,可移动物体102由控制单元108手动控制,并且导航路径402是可移动物体102响应于从控制单元108接收的导航控制指令而移动的路径。在一些备选实施例中,可移动物体102在自动驾驶模式下操作,并且导航路径402是基于一个或多个预设参数(例如航点)而预先确定的路径。

在一些实施例中,显示在用户界面400上的图像帧包括一个或多个物体,如物体412、414、416、418、420和422。一个或多个物体(例如物体412和422)位于导航路径402上。如果可移动物体102沿着导航路径402继续移动,则可移动物体102将与物体412和422碰撞。位于导航路径上的将导致与可移动物体102碰撞的物体在本申请中也称为障碍物(例如,障碍物412和422)。

在一些实施例中,包括障碍物在内的一个或多个物体是基本静止的物体,如人造和/或自然结构,例如交通标志、无线电发射塔、建筑物(例如障碍物412)、桥梁或地质特征。在一些实施例中,包括障碍物在内的一个或多个物体是动态物体,如载运工具(例如障碍物422)、树、人类、动物或另一可移动物体(例如另一uav)。为了规避可移动物体102与障碍物之间的碰撞,在可移动物体102的移动期间检测可移动物体102的环境中的一个或多个物体以便能够及时地调整导航路径以避免与导航路径上的一个或多个障碍物碰撞是重要的。

返回参考图3,在获取多个图像帧之后,方法300继续基于多个图像帧中的两个图像帧来生成(320)光流矢量图。在一些实施例中,在过程步骤320处生成光流矢量图包括:基于两个图像帧识别一个或多个光流矢量,并且形成包括一个或多个光流矢量在内的光流矢量图。这两个图像帧可以是视频的两个连续图像帧。参考图5至图6讨论关于识别光流矢量和形成光流矢量图的更多细节。

图5是示出根据一些实施例的基于两个图像帧(例如在t1捕获的图像帧512和在t2捕获的图像帧514)形成的一个或多个光流矢量(例如光流矢量)的示例图。在一些实施例中,光流矢量是指示相同点从第一图像帧到在第一图像帧之后捕获的第二图像帧的移动的矢量。在一些实施例中,该点是像素,或者该点包括指示第一图像帧和第二图像帧中的相同区域的一组像素或一簇像素。在一些实施例中,第二图像帧紧接在第一图像帧之后或在第一图像帧之后的特定数量的帧处。在一些实施例中,光流矢量是指示点(例如,点o、p或q)相对于成像装置216的物理移动(例如,3d移动)的二维(2d)投影的光流。该光流指示点在成像装置216的图像平面上的2d位移。

在一些实施例中,可移动物体102沿着导航路径500移动,在第一时间t1通过第一位置502,在比第一时间t1晚的第二时间t2通过第二位置504。可移动物体102在时间t1用虚线描绘以指示可移动物体102在当前时间(例如用实线示出可移动物体102的时间t2)之前的时间的先前位置(即,位置502)。当可移动物体102在时间t1处于第一位置502时,可移动物体102的成像装置216捕获第一图像帧512(以虚线示出)。当可移动物体102在时间t2处于第二位置504时,成像装置216捕获第二图像帧514(以实线示出)。

如参照图2所讨论的,在一些实施例中,载体104包括一个或多个机构(例如一个或多个致动器212)以引起载体104和/或负载106的移动。在一些实施例中,致动器212引起框架构件202的移动。在一些实施例中,致动器212围绕相对于可移动物体102的一个或多个轴(如x轴(“俯仰轴”)、z轴(“横滚轴”)和y轴(“偏航轴”))旋转(承载成像装置216的)负载106。在一些实施例中,致动器212沿着相对于可移动物体102的一个或多个轴平移负载106。

在一些实施例中,诸如云台和/或阻尼元件之类的载体104被用于将包括成像装置216在内的负载106与可移动物体102的移动隔离。因此成像装置216从时间t1到时间t2的位置变化(x)可以很小。在下面的计算中使用小角度近似,其中cosx≈1,sinx≈x。在一些实施例中,可以使用小角度近似来简化旋转矩阵,如等式(1)中所示:

其中φ指示成像装置216围绕横滚(x)轴的旋转,θ指示成像装置216围绕俯仰(y)轴的旋转,并且ψ指示成像装置216围绕偏航(z)轴的旋转。

在一些实施例中,光流矢量是指示点(例如,点o、p或q)相对于成像装置216的物理移动的二维(2d)投影的光流。该光流指示出点在成像装置216的图像平面上的2d位移。如图5所示,图像帧512和514都包括物体412的图像。由于成像装置216的地点和/或位置变化,图像帧512和514中物体412的大小和/或地点也发生改变。矢量r1是连接从图像帧512到图像帧514的相同点(例如o1(u,v)和o2(u’,v’))的光流矢量。等式(2)和(3)可以示出从o1到o2的变化:

等式(2)和(3)可以进一步表示为等式(4)和(5):

这可以进一步用矩阵(6)表示如下:

其中a和b可以用矩阵(7)和矩阵(8)表示如下:

其中ω是成像装置216从t1移动到t2的角速度。ω可以用矩阵(9)表示如下:

ω=[ωxωyωz]t(9),

其中ωx、ωy和ωz分别是沿着x、y和z方向的角速度。t是成像装置216从t1移动到t2的线速度,并且t可以用矩阵(10)表示如下:

t=[txtytz](10),

并且f是成像装置216的焦距。类似地,可以使用与上面讨论的类似的形式来说明光流矢量r2和r3。

图6示出根据一些实施例的光流矢量图600的示例性用户界面,该光流矢量图600包括基于在t1捕获的图像帧612和在t2捕获的图像帧614形成的多个矢量(例如,包括矢量r1、r2和r3)。在一些实施例中,返回参考图3,电子装置对在处理步骤320处生成的光流矢量图600执行(330)校正。例如,电子装置使用随机抽样一致(ransac)过程来检测并去除光流矢量图600中的一个或多个异常值(outlier)。在一些实施例中,选择样本的上限数量(k)以保证使用ransac过程的正确解而无需替换,其中k由等式(11)表示如下:

在等式(11)中,p是当算法在某个迭代中选择估计模型参数的n个点时仅从输入数据集中选择内点(inlier)的概率。因此p是算法产生有用结果的概率。此外,w是每次选择单个点时选择内点的概率,即w=(数据中的内点数)/(数据中的点数)。假设估计模型所需的n个点是独立选择的,则wn是所有n个点都是内点的概率,1-wn是n个点中至少有一个点是异常值的概率。在一些实施例中,k乘以因子10。在一些实施例中,ransac过程自适应地执行,例如迭代之后迭代。

方法300继续使用所生成的光流矢量图的聚类分析来识别(340)与可移动物体102邻近的一个或多个物体。例如,多个光流矢量按照各个光流矢量的长度和方向分组。在一些实施例中,同一组中的一个或多个光流矢量具有类似的长度和方向。例如,组内任何两个光流矢量之间的长度变化和/或大小变化在预定范围内。组内类似的光流矢量可具有类似的景深(dof)。例如,组内的一个或多个光流矢量位于相同的碰撞平面上并且具有距可移动物体102相同的碰撞距离。在一些实施例中,同一组内的一个或多个光流矢量被分类为与邻近可移动物体102的同一物体有关。在一些实施例中,包括一组光流矢量的物体对应于在相同的碰撞时间值时与可移动物体102碰撞的碰撞平面。

图7示出根据一些实施例的基于光流矢量图识别一个或多个物体的示例性用户界面700。在一些实施例中,在用户界面700上显示图形跟踪指示符702、704和706,以指示在方法300的步骤340处识别的一个或多个物体。在一些实施例中,随着可移动物体沿着路径移动,自动地生成、显示和更新图形物体识别指示符。例如,指示所识别的物体的图形跟踪指示符包括包围来自相同组的一个或多个光流矢量的矩形、正方形、圆形和/或其他多边形形状中的虚线。

电子装置跟踪所识别的一个或多个物体以获得每个物体的帧到帧的变化。例如,电子装置在可移动物体102移动时跟踪一个或多个物体,并获得每个物体从一个图像帧到另一个图像帧(例如后续图像帧)的大小变化。在一些实施例中,物体识别过程在可移动物体102移动时实时执行。随着可移动物体102移动,光流矢量图中的每个光流矢量都得到更新。结果,每个图形跟踪指示符的形状、大小和/或位置可以改变。在一些实施例中,当从第一时刻到第二时刻的一个或多个光流矢量的长度变化或方向变化大于预定阈值时,光流矢量图中的光流矢量可以被重新分组。这样,第一时刻识别的物体可以不同于第二时刻识别的物体。

返回参考图3,方法300继续估计(350)一个或多个所识别的物体的碰撞时间值。在一些实施例中,电子装置估计一个或多个识别的物体相对于可移动物体102的移动。例如,电子装置估计当可移动物体102沿着路径移动时,每个识别的物体将与可移动物体102碰撞的撞击时间值。

在一些实施例中,电子装置识别在时间点t时距可移动物体102的距离为x(t)的物体。如果该物体和可移动物体102之间的初始距离是d,并且在时间点t时可移动物体102的速度是v,则在时间点t时的距离x(t)可以通过等式(12)确定如下:

x(t)=d-vt(12)。

如果该物体的实际尺寸是m*n,并且该物体投影在图像平面上的尺寸是m*n,则该物体投影到图像平面上的尺寸可以基于等式(13)和(14)确定:

其中f是由可移动物体102承载的成像传感器216的焦距。尺寸变化可以用等式(15)表示如下,

由于

所以等式(15)可以进一步表示为:

因此

其中δt1是使用尺寸m估计的可移动物体102与物体碰撞的第一碰撞时间值。使用尺寸变化可以确定与同一物体相关联的第二碰撞时间值δt2。与物体相关联的碰撞时间值δt可以由δt1和δt2确定。例如,δt可以是δt1和δt2的平均值。在另一示例中,δt1和δt2可以基于由成像系统估计的置信水平分别被指派各自的权重w1和w2,其中w1+w2=1。在一些实施例中,投影在图像平面上的物体的尺寸和所获取的图像帧之间的尺寸变化可以通过测量物体在所获取的图像中占据的像素数来确定。例如,在图像中识别已知尺寸的物体(例如,汽车或人)并不困难。基于已知物体占据的像素数及其物理尺寸,投影到图像平面上的物体的尺寸可以根据同一图像中物体所占的像素数来估计。

图8示出了用于显示与一个或多个物体相关联的碰撞时间值的示例性用户界面800。在一些实施例中,可以基于如上所述的投影在图像平面上的物体的尺寸和所获取的图像帧之间的尺寸变化来确定碰撞时间值。每个图形跟踪指示符与在用户界面800上显示的碰撞时间值(例如45s、60s、116s、50s、40s和8s)相关联。随着可移动物体102沿着路径移动,实时地估计并在用户界面800上更新与每个物体相关联的碰撞时间值。在一些实施例中,当与物体相关联的碰撞时间值小于预定阈值(例如5秒)时,向用户提供与该物体相关联的警告或警报(例如,视觉或音频指示符)。在一些实施例中,具有低于预定阈值的碰撞时间值的物体在显示器上突出显示,以警告用户有碰撞的危险。在一些实施例中,在显示器上突出显示包括过于靠近可移动物体(例如,具有低于预定阈值的碰撞时间值)的一个或多个物体在内的区域以警告用户。显示器上的一个或多个物体的碰撞时间值被实时计算和更新,并且随着可移动物体沿着路径移动,还向用户实时提供警告、警报和/或突出显示。

在计算了路径上的一个或多个物体的碰撞时间值之后,电子装置确定或更新(360)导航路径以避免可移动物体102与路径上的一个或多个物体之间的碰撞。电子装置然后基于更新的导航路径来调整(370)可移动物体102的一个或多个操作参数。图9示出根据一些实施例的显示用于操作可移动物体102以规避障碍物的导航路径910的示例性用户界面900。在计算了一个或多个物体的碰撞时间值之后,导航路径910被更新,以使可移动物体102朝向具有最长碰撞时间值(例如,116秒)的物体移动。可移动物体102的操作参数被调整为使得可移动物体102沿着更新的导航路径移动以避免与障碍物碰撞。在一些实施例中,随着可移动物体102移动,如图7所示实时识别一个或多个物体,如图8所示实时估计并在用户界面上更新与一个或多个物体相关联的碰撞时间值,并且如图9所示实时不断更新导航路径以避免与障碍物的碰撞。

在一些实施例中,当所有物体的碰撞时间值小于预定阈值时间值时,确定为所有物体都过于靠近可移动物体102。可移动物体102很可能将会在及时调整导航路径以避免碰撞之前与物体发生碰撞。可移动物体102的一个或多个操作参数可被调整以允许可移动物体102在当前位置处静态悬停。还可以在用户界面上显示通知以通知用户。

图10a至图10d是示出根据一些实施例的用于操作可移动物体102的方法1000的流程图。方法1000在例如可移动物体102、成像装置216、控制单元108和/或计算装置110之类的电子装置处执行。在一些其他实施例中,方法1000由其他电子装置(诸如,与控制单元108配对的移动装置或计算装置)执行,以操作可移动物体102。图10中执行的操作对应于存储在相应装置的计算机存储器或其他计算机可读存储介质中的指令。

电子装置获取(1002)多个图像帧。由沿着导航路径移动的可移动物体102所承载的成像装置216在预定义时间窗内捕获多个图像帧。在一些实施例中,多个图像帧是(1004)由成像装置216捕获的二维(2-d)图像。在一些其他实施例中,多个图像帧是由可移动物体102所承载的立体成像系统捕获的三维(3-d)图像。当多个图像帧是三维图像时,方法1000可能不需要使用来自三维图像的视差信息来确定障碍物和可移动物体102之间的距离。在一些实施例中,成像装置216由附接到可移动物体102的载体104承载(1006),使得成像装置216在相邻的两个或更多个图像帧之间的位置变化相对较小。因此可以提供平滑的图像捕获,并且可以将小角度近似应用于光流矢量的上述计算。

电子装置通过测量多个图像帧内的像素移动来识别(1008)与可移动物体102邻近的一个或多个物体。例如,如图5所示,电子装置测量与相同点相对应的像素从第一图像帧(例如,图像帧512)到第二图像帧(例如,图像帧514)的移动。在一些实施例中,电子装置对所测量的像素移动执行(1016)聚类分析以识别一个或多个物体。当对应的多个像素的移动满足预定标准时,识别出物体。例如,对应的多个像素的移动共享类似的方向和大小。换句话说,与所识别的物体相对应的多个像素的方向变化和大小变化分别低于预定的变化阈值。

在参照图6和图7所讨论的一些实施例中,通过生成(1018)包括多个光流矢量在内的光流矢量图来测量像素移动。每个光流矢量是表示三维运动变化的二维光流。在一些实施例中,每个光流矢量表示多个图像帧中的两个连续图像帧之间的像素移动。在一些其他实施例中,每个光流矢量表示多个像素在多个图像帧中的两个连续图像帧之间的移动。在一些实施例中,识别的物体包括图像帧中包括的多于一个障碍物中的多个部分。例如,如图7所示,识别的物体702包括来自两个不同建筑物的两个侧面。两个不同建筑物的这两个侧面可能看起来位于可能同时与可移动物体102碰撞的同一碰撞平面上。如图7所示,每个识别的物体与图形跟踪指示符(诸如二维虚线框)相关联。随着可移动物体102沿着导航路径移动,图形跟踪指示符动态地改变。在一些实施例中,识别的物体包括(1020)光流矢量具有预定义的方向和大小的多个像素。例如,属于同一所识别物体的光流矢量的方向变化和大小变化位于预定阈值内。在一些实施例中,在执行聚类分析之前,电子装置执行(1022)对光流矢量图的校正以去除异常值。例如,电子装置使用ransac过程来检测并去除光流矢量图中的一个或多个异常值。

在识别出一个或多个物体之后,电子装置使用多个图像帧内的一个或多个物体的尺寸变化来估计(1010)一个或多个物体相对于可移动物体102的移动。

在一些实施例中,电子装置分别估计(1024)所识别的一个或多个物体的尺寸。在一些实施例中,电子装置将每个所识别的物体的尺寸与预定阈值进行比较(1026)。电子装置排除(1028)尺寸小于预定阈值的一个或多个所识别的物体。

在一些实施例中,电子装置分别测量(1030)所识别的一个或多个物体的尺寸变化率。电子装置估计(1032)与所识别的一个或多个物体中的各个物体相关联的碰撞时间值(例如,如参考图3的方法300的过程步骤350所讨论的δt)。碰撞时间值指示可移动物体碰到相应物体的时段。在一些实施例中,当可移动物体102沿着导航路径移动时,电子装置同时且实时地估计(1034)多个所识别物体的多个碰撞时间值。例如,如图8所示,多个碰撞时间值显示在用户界面上,并随着可移动物体102沿着导航路径移动而实时更新。在一些实施例中,使用相应物体的尺寸和尺寸变化率来估计与各物体相关联的碰撞时间值(1036)。例如,碰撞时间值是物体的尺寸除以两个图像帧之间的尺寸变化率而得到的比率,如等式18所示。

电子装置根据估计的一个或多个物体的移动来调整(1012)可移动物体102的导航路径。在一些实施例中,可移动物体102的导航路径被调整(1038)为使得可移动物体102与导航路径上的最近物体之间的碰撞时间值超过预定义的阈值。例如,当预定义的阈值是2秒时,导航路径被调整为使得可移动物体102与调整后的导航路径上的最近物体发生碰撞的时段大于2秒。

在一些实施例中,电子装置根据调整后的导航路径来调整(1040)可移动物体102的一个或多个操作参数。电子装置将各物体的碰撞时间值与预定阈值时间值(例如,2秒)进行比较(1042)。根据每个碰撞时间值都低于预定阈值时间值的确定结果,电子装置调整(1044)可移动物体102的一个或多个操作参数以允许可移动物体102静态悬停在当前位置。电子装置还可以发送用于在用户界面上显示的通知以通知用户。

在一些实施例中,当可移动物体102沿着导航路径移动时,实时执行(1014)上述的:(1)测量像素移动,(2)识别一个或多个物体,以及(3)估计一个或多个物体相对于可移动物体102的移动。

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

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

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

这里所指的通信系统(例如,通信系统206)可选地经由有线和/或无线通信连接进行通信。例如,通信系统可选地接收和发送也称为电磁信号的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)(例如ieee102.11a、ieee102.11ac、ieee102.11ax、ieee102.11b、ieee102.11g和/或ieee102.11n)、互联网协议语音(voip)、wi-max、用于电子邮件的协议(例如,互联网消息访问协议(imap)和/或邮局协议(pop))、即时消息(例如,可扩展消息传递和存在协议(xmpp)、用于即时消息的会话发起协议和存在利用扩展(simple)、即时消息和存在服务(imps))和/或短消息服务(sms)、诸如fasst或desst的扩频技术或者任何其他合适的通信协议,包括在本文件的提交日期之前尚未开发的通信协议。

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

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

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

如本文所使用的,术语“如果”可以被解释为表示“当”或“一旦”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,这取决于上下文。同样,“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”的表述可以解释为表示“一旦确定”或“响应于确定”或“根据确定”或“一旦检测到”或“响应于检测到”所述先决条件为真,这取决于上下文。

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

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