背景技术:
无人航空载具(或“uav”)是目前被越来越多地用于监测、监视和交付操作的现代多功能机器。无人航空载具可以被配置成以两种或更多种飞行模式操作,所述两种或更多种飞行模式包括向前飞行模式(或基本上水平的飞行模式),在这种模式中,航空载具通过在地球表面的至少一部分上方行进而从空间中的一点(例如,陆基点或者可选地,海基点或空基点)行进到空间中的另一点。无人航空载具还可以被配置成以垂直飞行模式飞行,在这种模式中,航空载具在垂直或基本上垂直方向上从基本上法向于地球表面的一个高度行进到另一高度(例如,从陆地上、海上或空中的第一点向上或向下行进到空中的第二点,反之亦然),或者盘旋(例如,维持基本上恒定的高度),其中在地球表面上方的水平或横向位置无实质变化。无人航空载具还可以被配置成以向前飞行和垂直飞行两种模式操作,例如,以混合模式操作,在所述模式中,无人航空载具的位置在水平和垂直两个方向上都改变。通常使用一个或多个螺旋桨或者具有桨叶的装置将升力和推力施加到无人航空载具,所述桨叶围绕桨毂安装并连结到轴件或原动机的另一部件,所述桨叶在飞行操作期间可以每分钟数千转的角速度旋转。
无人航空载具经常配备有可以用来帮助航空载具的引导或自主操作的一个或多个成像装置(诸如数码相机),以确定航空载具何时到达或经过给定位置,或者在一个或多个结构、特征、物体或人(或其他动物)的范围内,以便进行监视或监测操作或者用于任何其他目的。
当从水平飞行模式转变到垂直飞行模式并准备着陆时(例如,为了交付或取回有效载荷,或出于任何其他原因),无人航空载具必须确定无人航空载具的指定着陆区域是否无障碍。如果着陆区域包括一个或多个障碍(诸如人、动物、结构或杂物),则尝试在所述着陆区域着陆的无人航空载具可能会对一个或多个人或其他动物造成伤害,或对一个或多个结构以及无人航空载具本身造成损害。在着陆区域包括的一个或多个障碍足够大,或者包括具有一种或多种与着陆区域的表面的颜色或纹理不同的颜色或纹理的情况下,可以在无人航空载具捕获的视觉成像数据中轻松识别此类障碍。然而,在着陆区域包括的一个或多个障碍具有小的空间范围,或者具有颜色或纹理与着陆区域的表面的颜色或纹理类似或一致的表面特征的情况下,可能无法在由无人航空载具捕获的一个或多个视觉成像数据中轻松识别此类障碍,因而可能对无人航空载具的安全操作和完整性构成重大危害。
附图说明
图1a至图1i是根据本公开的实施方案的用于物体检测和躲避的一个系统的各方面的视图。
图2是根据本公开的实施方案的用于物体检测和躲避的一个系统的框图。
图3是根据本公开的实施方案的用于物体检测和躲避的一个过程的流程图。
图4是根据本公开的实施方案的用于物体检测和躲避的一个系统的各方面的视图。
图5是根据本公开的实施方案的用于物体检测和躲避的一个系统的各方面的视图。
图6是根据本公开的实施方案的用于物体检测和躲避的一个系统的各方面的视图。
图7a和图7b是根据本公开的实施方案的用于物体检测和躲避的一个系统的各方面的视图。
具体实施方式
如以下更详细地阐述,本公开针对无人航空载具,所述无人航空载具被配置成自主地检测并躲避位于此类载具的着陆区域之内或周围的障碍(或障碍物)。更具体地,本文公开的一种或多种系统和方法针对使用在航空载具上提供的一个或多个图像来捕获着陆区域的两个或更多个图像,并分析此类图像以确定着陆区域是否无障碍,或者是否应该更改或中止在着陆区域尝试的着陆操作。可以对图像进行处理以确定图像内的对应像素区域之间的视差。在一些实施方案中,可以根据光流算法、匹配算法或通过任何其他技术来确定像素视差。在一些实施方案中,可以通过从粗到精的细化技术来确定像素视差,在所述技术中,对图像进行下采样并以低分辨率进行初始处理以确定对应像素集之间的视差。然后,对图像逐层进行上采样,并以逐渐提高的分辨率水平处理所述图像,同时校正像素视差,直到图像达到其原始的最大分辨率水平为止。
从航空载具捕获的图像中确定的像素视差可以用于多种目的,包括生成着陆区域的三维重建,以及基于相应图像计算差值图像。根据本公开的一些实施方案,如果三维重建指示着陆区域是平坦且光滑的,并且如果确定差值图像在整个着陆区域上不显眼,则可以确定着陆区域没有障碍(或障碍物)。如果三维重建指示着陆区域不平坦或不光滑,或者如果差值图像指示着陆区域处存在一个或多个障碍(或障碍物),则航空载具可以中止着陆操作,在备选着陆区域尝试执行着陆操作,基于由航空载具捕获的图像搜索备选着陆区域,或相应地采取任何其他相关动作。
参考图1a至图1i,示出了根据本公开的实施方案的用于物体检测和躲避的系统100。如图1a和图1b所示,系统100包括接近目的地170(例如,房屋或其他住宅、办公大楼或任何其他可以接收物品交付的设施)的航空载具110,所述目的地在着陆表面上带有目标标记160。目标标记160附近存在多个障碍(或障碍物)175-1、175-2、175-3、175-4、175-5、175-6,包括栅栏(或墙壁)175-1、树木(或其他天然植物)175-2、一根或多根公用电线175-3、自行车175-4(或其他物体)、汽车175-5和多个公用电线杆175-6。障碍175-1、175-2、175-3、175-4、175-5、175-6本质上可以是静态的或动态的,例如固定在它们的相应位置上或是移动的。
航空载具110可以是被配置成以向前飞行和/或垂直飞行模式或盘旋模式操作的任何有人或无人航空载具。图1a和图1b的航空载具110包括一对成像装置(例如,数码相机)140-1、140-2和测距仪150。成像装置140-1、140-2相对于航空载具的一个或多个主轴线以垂直向下的取向或基本上垂直向下的取向对准,并且被配置成捕获关于位于航空载具110下方的一个或多个表面或其他物体的成像数据。测距仪150可以是任何装置,例如测高仪、激光测距仪、另一个成像装置、雷达系统、声波系统、全球定位系统(或“gps”)收发器、或用于确定航空载具110的高度或与位于航空载具110下方的一个或多个表面或其他物体的距离的任何其他部件。
如图1b所示,当航空载具110达到预定高度阈值时,航空载具110可以开始在着陆区域搜索障碍。例如,如图1b所示,航空载具110可以使用范围传感器150或任何其他装置确定其已经达到高度z,并且可以将高度z与可能在任何基础上限定的阈值进行比较,所述基础包括目的地170的一个或多个属性或航空载具110的任务、航空载具110的任何操作考虑因素或任何其他基础(例如,目的地170附近的普遍天气情况)。在确认航空载具110的高度z在预定高度阈值内之后,航空载具110可以开始搜索目标标记160并评估目的地170处的着陆区域。
如图1a和图1b所示,航空载具110可以使用任何系统、方法或技术来定位和辨识目标标记160。例如,航空载具110可以捕获目的地170附近的表面的一个或多个图像,并且在一个或多个此类图像内辨识目标标记160的一个或多个边缘、轮廓、外形、颜色、纹理、剪影、形状或其他特性。在一些实施方案中,目标标记160可以呈可以例如由目的地170处的一个或多个人员或机器放置在航空载具110期望着陆在的表面上的垫子、防水布、薄板或任何其他覆盖物的形式。目标标记160可以由任何柔性且足够耐用的材料形成,包括但不限于天然或合成纤维(例如,编织或非编织纤维)或由其他基底形成,以便提供目标标记160与目的地170处的其上施加目标标记160的表面之间介接。在一些其他实施方案中,目标标记160可以由油漆、墨水、粉笔或任何其他材料形成。目标标记160还可以包括一个或多个字母数字字符、符号、条形码(例如,一维或二维条形码,诸如“qr”码)或可以被航空载具110上的一个或多个传感器辨识的其他标记或记号,所述一个或多个传感器包括但不限于成像装置140-1、140-2中的任一者或两者。在其他实施方案中,目标标记160可以是目的地170处的自然的或先前存在的物体或制品,例如停车位或其标识符,诸如人孔盖、水主阀盖的公用结构等。
在一些实施方案中,可以基于对单独由成像装置140-1、140-2中的任一者或两者捕获的图像的分析来辨识目标标记160。在一些实施方案中,目标标记160可以配备有一个或多个系统或部件,所述一个或多个系统或部件被配置成向航空载具110发送一个或多个信号或从航空载具110接收一个或多个信号,然后,所述航空载具可以基于一个或多个此类信号来检测和/或辨识目标标记160。例如,目标标记160可以配备有一个或多个红外发射器或接收器、声发射器或接收器、启用wi-fi的装置、启用bluetooth®的装置、启用rfid的装置等。由目标标记160发送和/或接收的信号可以由航空载具110用来确定目标标记160的位置,或者可选地,用来确定航空载具110的高度z。在一些实施方案中,可以基于对以下各项的分析来辨识目标标记160:由成像装置140-1、140-2中的任一者或两者所捕获的图像,以及由目标标记160发送到航空载具110或由目标标记160从航空载具110接收的一个或多个信号。
航空载具110可以在检测到目的地170处的目标标记160后限定着陆区域165。例如,如图1c所示,可以例如基于成像装置140-1、140-2的一个或多个属性(例如,焦距)、高度z、或目标标记160的一个或多个尺寸、或基于任何其他因素,从由成像装置140-1、140-2捕获的一个或多个图像中确定目标标记160的中心o。一旦确定了中心o,就可以将着陆区域165限定为距中心o具有预定半径r的圆。可以基于以下项来确定预定半径r:航空载具110的一个或多个属性(例如航空载具110的最大宽度或其他尺寸)加上安全性和/或准确性的一个或多个裕度,或者航空载具110的一个或多个属性或由其执行的任务。预定半径r可以具有任何值。在一些实施方案中,预定半径r可以为大致三米(3m)。在一些其他实施方案中,着陆区域165可以具有除了圆形以外的任何形状,诸如正方形、长方形、三角形或任何多边形或其他形状。可以假定着陆区域165是完全平坦的,并且具有可接受的坡度。
可选地,在一些实施方案中,可以任何方式并且基于任何识别出的位置来限定着陆区域165。例如,航空载具110可以被配置成行进到特定点,并且可以在基于一个或多个gps信号或以任何其他方式确定其已经到达特定点后,基于该特定点来限定着陆区域165。例如,航空载具110可以将着陆区域165限定为一个距该特定点具有预定半径的圆,或限定为相对于该特定点的任何其他形状(例如,正方形、长方形、三角形或任何多边形或其他形状)。
如图1d所示,在已经检测到目标标记160并且已经限定了着陆区域165之后,或者已经在任何其他基础上限定了着陆区域165之后,随着航空载具110下降到着陆区域165,航空载具110可以捕获多个图像。成像装置140-1、140-2可以与包括目标标记160和着陆区域165并且至少部分地重叠的视野对准,并且可以被配置成以任何帧率(例如,每秒十帧)捕获图像。可选地,航空载具110可以以与包括着陆区域165的视野对准的单个成像装置为特征,并且被配置成随着航空载具110下降到着陆区域165,以任何帧率(例如,每秒十帧)捕获图像。在一些实施方案中,在航空载具110包括单个成像装置的情况下,随着航空载具110下降到着陆区域165,航空载具110可以在位置上进行一个或多个横向变化。
可以处理由成像装置140-1、140-2捕获的图像对,以确定出现在图像中的每一者内的对应像素之间的任何视差。如图1e所示,由成像装置140-1捕获的图像145-1和由成像装置140-2捕获的图像145-2均包括目标标记160、着陆区域165以及障碍175-3、175-4的部分。例如,如图像145-1、145-2所示,一根或多根公用电线175-3经过着陆区域165的一部分,而自行车175-4位于着陆区域165的周界处。
可以对图像145-1、145-2进行处理以确定在图像145-1、145-2中的每一者内出现的对应像素之间的视差。在一些实施方案中,光流算法接收图像145-1、145-2作为输入,并且确定出现在图像中的每一者内的像素之间的水平和/或垂直视差作为光流算法的输出。此类输出可以包括:指示出现在图像145-1、145-2中的每一者内的各点之间的视差的视差图像,或者可选地指示出现在图像145-1、145-2中的每一者内的各点之间的水平位移(例如,水平视差)的位移图像和/或指示出现在图像145-1、145-2中的每一者内的各点之间的垂直视觉差(例如,垂直视差)的视觉差图像。
在其他实施方案中,可以根据立体匹配算法来处理图像145-1、145-2。在此类实施方案中,优选地校准成像装置140-1、140-2,并且优选地根据一个或多个校正过程预处理图像145-1、145-2,例如以将图像145-1、145-2放置在共同平面中,以消除出现在图像145-1、145-2中的每一者内的对应像素之间的任何垂直视觉差。因此,立体匹配算法的输出仅描绘了出现在图像145-1、145-2中的每一者内的对应像素之间的位移(例如,水平视差)。
在一些实施方案中,对图像145-1、145-2进行处理以确定出现在相应图像145-1、145-2中的每一者中的各点之间的对应关系可以首先在粗略水平上执行,例如以低分辨率水平在图像145-1、145-2的下采样版本上执行,接下来以多个越来越高的分辨率水平中的每一者在梯度下降更新步骤中,在图像145-1、145-2的逐步上采样版本上执行,直到以其原始的最高分辨率水平基于图像145-1、145-2中的每一者确定像素的对应关系。在一些实施方案中,在以粗略分辨率水平进行第一处理之后,可以例如按两倍或另一倍数对图像145-1、145-2中的每一者进行逐步上采样,直到图像145-1、145-2被以其原始的最高分辨率水平进行处理。
一旦已经例如通过光流算法或匹配算法确定了对应于出现在图像145-1、145-2中的每一者内的各点的像素之间的视差,就可以使用所述视差来在三个维度上构建(或重建)着陆区域165。例如,如图1f所示,出现在图像145-1、145-2两者内的各点pi中的每一者不仅可以基于它们的相应视差di来构建,而且还可以基于在捕获图像145-1、145-2时成像装置140-1、140-2之间的基线距离b来构建。可以相应地确定航空载具110与此类点pi中的每一者之间的距离zi。使用针对出现在图像145-1、145-2两者内的多个点确定的此类距离zi,可以构建着陆区域165及其环境的三维表面图。如图1g所示,示出了着陆区域165的表面图115的俯视图和侧视图。表面图115指示图像145-1、145-2的平面内的视差误差。然后可以将表面图115与着陆区域165进行比较,假定所述着陆区域是平坦的并且没有障碍物。表面图115的不包括任何视差误差的部分对应于着陆区域165的平坦且无障碍物的部分。然而,表面图115中识别出的任何间断都可能指示着陆区域165处的一个或多个障碍物。例如,如图1g所示,表面图115基于图像145-1、145-2之间根据光流算法、立体匹配算法或在任何其他基础上识别的视差指示着陆区域165中存在障碍,即自行车175-4的高度h175-4。
另外,出现在图像145-1、145-2内的像素之间的视差也可以用于计算差值图像125。可以通过减去图像145-1、145-2的绝对强度或者通过导出图像145-1、145-2的强度梯度并且将强度梯度彼此进行比较来计算差值图像125。例如,如图1h所示,在已经确定像素视差之后,可以将输入图像(例如,图像145-1或图像145-2中的一者)扭曲置于输出图像(例如,图像145-1或图像145-2中的另一者)上,从而产生差值图像125,所述差值图像从左视图和右视图示出了公用电线175-3的外观差异。可选地,可以分别将图像145-1、145-2中的每一者扭曲到新的(例如,第三)坐标系。差值图像125可以用于检测可能未出现在着陆区域165的重建(诸如图1g的表面图115)内的具有较小空间范围的障碍。任选地,在计算差值图像125之前,可以处理图像145-1、145-2中的任一者或两者,以补偿相应图像145-1、145-2内的亮度或其他视觉效果的变化。在一些实施方案中,可以基于差值图像125的一个或多个方面(例如,基于差值图像125的一个或多个像素,或图像145-1、145-2中的一者的像素与图像145-1、145-2中的另一者的像素之间的强度值的差异)来计算分数。例如,可以计算指示峰值差、均值差、中值差或与此类像素之间的差值相关联的任何其他量度或度量的分数,并且在所述分数超过预定阈值的情况下,可以确定着陆区域165具有一个或多个障碍或障碍物。根据本公开,可以计算表示差值图像125的质量的任何类型或形式的分数,并将所述分数与一个或多个阈值进行比较。
如图1i所示,在已经从图像145-1、145-2导出了表面图115和差值图像125之后,航空载具110上操作的一个或多个处理器112可以确定着陆区域165是否没有障碍物,并且可以中止着陆,或搜索备选着陆地点。例如,在表面图115指示在着陆区域165处存在自行车175-4,或差值图像125指示在着陆区域165上方存在公用电线175-3的情况下,航空载具110可以确定着陆区域165有障碍物。因此,航空载具110可以返回其原点或备选位置,或者可以尝试在目的地170附近定位备用着陆区域(例如,可以由与目的地170相关联的顾客或其他人指定的一个或多个着陆区域)或搜索备选着陆区域。
因此,本公开的系统和方法是针对基于由无人航空载具捕获的两个或更多个图像,在无人航空载具的着陆操作或无人航空载具的任何其他操作期间检测和躲避物体。图像可以由不同的成像装置(诸如图1a至图1i的航空载具110的成像装置140-1、140-2)同时捕获,或由单个成像装置在不同时间捕获。可以例如使用光流算法、匹配算法或另一种技术来处理图像以确定相应图像的像素之间的视差。此类视差可以用于生成航空载具的操作区域(例如,着陆区域)的三维重建,或用于计算操作区域的差值图像。在所述重建或所述差值图像指示存在障碍的情况下,航空载具可以永久或暂时中止操作,搜索另一个操作区域以完成操作,或者在一段时间内继续评估操作区域的状态。
因此,本公开的系统和方法是针对基于由航空载具捕获的图像对来确定一个或多个物体是否位于着陆区域中、着陆区域周围或着陆区域上方。此多对图像可以由两个成像装置同时或几乎同时捕获,或者可选地,由单个成像装置在不同时间捕获。可以确定出现在每个图像中的各点之间的视差,并使用所述视差来在三个维度上重建着陆区域并且还从所述图像生成差值图像。着陆区域的重建和差值图像可以指示着陆区域中、着陆区域周围或着陆区域上方存在一个或多个障碍物。例如,重建可以指示在假定是平坦并且具有可以接受的坡度的着陆区域中、着陆区域周围或着陆区域上方存在一个或多个物体,即使此类物体具有与着陆区域的表面的颜色或纹理类似的颜色或纹理也是如此。差值图像可以指示在着陆区域中、着陆区域周围或着陆区域上方存在一个或多个物体,即使此类物体具有相当小的空间范围也是如此。
可以使用诸如数字相机的一个或多个成像装置来捕获成像数据(例如,视觉成像数据)。此类装置通常可以通过以下项来操作:捕获从物体反射的光并且随后为反射光的各方面计算或指派一个或多个数量值(例如像素);基于此类值生成输出并且将此类值存储在一个或多个数据存储区中。数码相机可以包括一个或多个传感器,所述传感器具有与之相关联的一个或多个滤波器,并且此类传感器可以检测关于反射光的与反射光的一个或多个基色(例如,红色、绿色或蓝色)对应的任何数量的像素的各方面的信息。此类传感器可以生成包括此类信息的数据文件,例如,数字图像,并且将此类数据文件存储在一个或多个机载或可访问数据存储区(例如,硬盘驱动器或其他类似部件)以及一个或多个可移动数据存储区(例如,闪存装置)中,或者在一个或多个广播或闭路电视网络上或通过诸如互联网的计算机网络显示。
数字图像是通常布置成阵列的像素集合,所述像素集合限定一个或多个物体、背景或者场景的其他特征的光学形成的复制品并且可以存储在数据文件中。在视觉图像中,像素中的每一者表示或识别与此类物体、背景或特征的一部分相关联的颜色或其他光照条件。例如,黑白视觉图像包括用于以二态方式(例如,黑色或白色)表示像素的光照条件的单个位,而灰度视觉图像可以用多个位来表示光照条件(例如,用于以黑白的百分比或份额来限定灰色调的二个至八个位),并且彩色视觉图像可以包括对应于多个基色(例如,红色、绿色或蓝色)中的每一者的位组,并且位组可以共同地表示与像素相关联的颜色。深度图像也是限定一个或多个物体、背景或者场景的其他特征的光学形成的复制品的像素集合,并且也可以存储在数据文件中。然而,不同于视觉图像的像素,深度图像的像素中的每一者并不表示或识别此类物体、背景或特征的光照条件或颜色,而是表示到物体、背景或特征的距离。例如,深度图像的像素可以表示捕获深度图像的成像装置的传感器(例如,深度相机或范围传感器)与像素所对应的相应物体、背景或特征之间的距离。
存储在一个或多个数据存储区中的成像数据文件可以印刷到纸上、呈现在一个或多个计算机显示器上,或者经受一个或多个分析,诸如以识别其中表达的物项。此类数据文件可以任何数量的格式存储,包括但不限于.jpeg或.jpg文件或者图形交换格式(或“.gif”)、位图(或“.bmp”)、可移植的网络图形(或“.png”)、标志图像文件格式(或“.giff”)文件、音频视频交错(或“.avi”)、quicktime(或“.mov”)、运动图像专家组(或“.mpg”、“.mpeg”或“.mp4”)或windows媒体视频(或“.wmv”)文件。
如果反射光在装置的视野内,则反射光可以被成像装置捕获或检测到,所述视野被定义为随装置内的传感器与镜头之间的距离(即,焦距)以及装置的位置和装置的镜头的角取向而变。因此,在物体出现在景深内或者出现在视野内清晰度和焦点足够清晰的距离内的情况下,成像装置可以使用其一个或多个传感器以足够高的分辨率程度捕获从任何一种物体反射的光,并且将关于发射光的信息存储在一个或多个数据文件中。
很多成像装置还包括用于更改它们相应的视野或取向的手动或自动特征。例如,数码相机可以被配置在固定位置,或者被配置为具有固定焦距(例如,定焦镜头)或角取向。可选地,成像装置可以包括一个或多个致动或机动特征,所述特征用于调整成像装置的位置或用于通过致使传感器与镜头(例如,光学变焦镜头或数字变焦镜头)之间的距离变化、成像装置的位置变化或者限定角取向的角度中的一者或多者变化来调整焦距(例如,使成像装置变焦)或角取向(例如,横滚角、俯仰角或偏航角)。
例如,成像装置可以硬安装到使装置相对于一个、两个或三个轴线维持在固定配置或角度的支撑件或安装件。可选地,然而,成像装置可以具备用于手动地或自动地操作部件中的一者或多者或者用于重新取向装置的轴线或方向(即,通过使装置左右摆动或上下摆动)的一个或多个马达和/或控制器。使成像装置左右摆动可以导致在水平平面内或围绕垂直轴线的旋转(例如,偏航),而使成像装置上下摆动可以导致在垂直平面内或围绕水平轴线的旋转(例如,俯仰)。另外,成像装置可以围绕它的旋转轴线并且在垂直于所述旋转轴线且基本上平行于装置的视野的平面内横滚或旋转。
一些现代的成像装置可以数字地或电子地调整在视野中识别的图像、受到一个或多个物理和操作限制。例如,数码相机实际上可以拉伸或压缩图像的像素以便使数码相机的视野聚焦或加宽,并且还在视野内平移图像的一个或多个部分。具有光学可调整的焦距或取向轴线的成像装置通常被称为左右-上下-变焦(或“ptz”)成像装置,而具有数字或电子可调整的变焦或平移特征的成像装置通常被称为电子ptz(或“eptz”)成像装置。
关于用成像数据(包括特征或物体的颜色、纹理或轮廓)表达的特征或物体的信息和/或数据可以采用任何数量的方式从所述数据中提取。例如,可以根据一个或多个标准来确定和量化数字图像中的像素或像素组的颜色,例如,rgb(“红-绿-蓝”)颜色模型,其中用值在从0至255的范围内的三个对应数字表达像素中的红色、绿色或蓝色的部分,或者十六进制模型,其中用六字符代码或#nnnnnn表达像素的颜色,其中字符n中的每一者具有十六个数的范围(即,数字0至9和字母a至f)。十六进制模型的前面两个字符nn是指颜色中包含的红色部分,而中间两个字符nn是指颜色中包含的绿色部分,并且最后两个字符nn是指颜色中包含的蓝色部分。例如,白色和黑色根据十六进制模型分别表达为#ffffff和#000000,而苹果糖红色表达为#31314a。根据本公开,可以使用用于量化图像或照片内的颜色或颜色方案的任何方式或模型。此外,可以使用一种或多种基于计算机的方法来识别数字图像中表达的物体的纹理或特征,诸如通过识别图像的区域或扇区内的强度的变化,或者通过限定对应于具体表面的图像的区域。
此外,可以使用一种或多种算法或机器学习工具来识别静态或动态数字图像中表达的物体或物体的部分的边缘、轮廓、外形、颜色、纹理、剪影、形状或其他特性。所述物体或物体的部分可以是静止的或运动的,并且可以在单个有限的时间周期或者在一个或多个周期或持续时间内识别。此类算法或工具可以涉及尽可能相关地并且以使噪声和破坏最小化且不产生伪转变的方式辨识和标记数字图像内的转变(例如,物体或其部分的边缘、轮廓、外形、颜色、纹理、剪影、形状或其他特性)。根据本公开可以用来辨识数字图像中的物体或其部分的特性的一些检测算法或技术包括但不限于canny边缘检测器或算法;sobel算子、算法或滤波器;kayyali算子、roberts边缘检测算法;prewitt算子;frei-chen方法;或者相关领域的一般技术人员可能已知的任何其他算法或技术。
立体测距(或立体三角测量)是可以从使用间隔固定距离的多个成像装置(诸如数码相机)捕获的描绘此类物体的数字图像中或从使用一个成像装置(诸如数码相机)在不同时间捕获的描绘此类物体的图像中确定到物体的距离或范围的过程。例如,通过处理由成像装置捕获的环境的图像对,到在两个图像中表达的各点的范围(包括但不限于,与具体物体相关联的各点)可以通过经由每个图像内此类点的表示找到从成像装置的相应镜头或传感器延伸的线对的虚拟交叉点来确定。可选地,到由成像装置在不同时间捕获的环境的图像对中表达的各点的范围可以通过经由每个图像内此类点的表示找到在捕获每个图像时从成像装置的镜头或传感器的位置延伸的线对的虚拟交叉点来确定。
如果基本上同时捕获环境的每个图像,或者如果在捕获每个图像时环境的条件基本上不变,则在给定时间到环境内的单个点的范围可基于以下项来确定:捕获此类图像的一个或多个成像装置的镜头或传感器的位置之间的基线距离,以及当图像彼此叠加时在两个图像内表达的空间中的单个点的对应表示之间的视差或距离。可以针对在两个图像中表达的三维空间中的任何数量的点来完成此类过程,并且可以相应地限定此类点的模型,例如,点云、深度图或深度模型。随着随后捕获并处理图像对以确定到此类点的范围,可以更新此类点的模型。
可以根据一种或多种立体测距算法或技术来确定到由成像装置(例如,数码相机)捕获的一对立体图像中表示的物体的距离(或者深度或范围),所述成像装置具有至少部分地重叠的视野。对于出现在两个图像中的每个物体的每个点,从相应成像装置的相应镜头、镜头模块或其他传感器延伸穿过每个图像中的物体的点的表示的线实际上将在与所述点在三维空间中的实际位置相对应的位置处相交。通过使用传统几何原理和性质,例如,相似三角形的性质,以及诸如成像装置之间的基线距离或间隔、相应图像内的各点之间的视差和相应成像装置的焦距等已知或可知变量,可以相应地确定交点的坐标。
在空间中的点出现在两个图像中(例如,作为核点)的情况下,由图像内的相应核点的位置和该点在空间中的实际位置限定的平面被称为核面。然后,图像可以基于它们的内容共同对准,例如,沿着对应于核面与相应图像平面的交叉点的线,或沿着图像的相应核线。在图像已经基于它们的内容对准之后,可以通过对从成像装置的镜头、镜头模块或其他传感器延伸穿过成像平面内的相应图像中的点的表示的线进行三角测量来确定物体的实际位置。此类线的交叉点对应于点的实际位置,并且可以基于这个实际位置相应地确定到所述点的距离。立体测距算法和技术可以用来确定到出现在两个图像中的点中的每一者的范围或距离,并且此类范围或距离可以用来限定其中提供物体的环境的点云、深度图或另一三维模型。深度模型可以存储在数据文件(例如,深度图像)中或用于任何目的,包括但不限于导航、引导、监视或避免碰撞。
因此,立体测距算法和技术要求确定图像对中的每一者中的核点的对应关系,其中核点中的每一者对应于三维空间中的共同点。当从场景的一对图像中的每一者中识别核点的多个对应关系时,可以确定共轭核点对中的每一者的视差,并且如果已知关于场景的各方面的信息,例如,诸如基线距离或间隔等几何参数、成像装置的焦距以及其他,则可以相应地构建此类视差的模拟场景的三维结构的图。
存在用于确定场景的图像对中表达的各点的现实世界位置和用于基于此类位置来生成此类场景的深度图、点云或其他三维表示的若干种基于计算机的立体测距算法和技术。此类算法或技术可以帮助执行校准、对应和/或构建功能。例如,开源计算机视觉(或“opencv”)库包括涉及确定距图像对的距离或范围的若干种基于计算机的算法或其他编程功能。类似地,用matlab语言编程的若干种其他立体测距算法或技术是公开可用的。也可以从若干种其他来源获得基于计算机的算法或技术。
成像装置可以集成到航空载具的表面中并水平地或垂直地对准,例如,在向前或向后取向上或者在向上或向下取向上或者以可能是相对或绝对的任何其他取向或角度对准。在一些实施方案中,两个或更多个数码相机可以被集成到航空载具的框架、控制表面、推进马达、螺旋桨或任何其他方面中。数码相机可以是同构的(例如,在功能上等效或具有相同能力)或者可选地异构的(例如,具有不同能力),并且可以在多个计算中处理由此类相机捕获的用于确定深度的立体图像。在一些实施方案中,航空载具可以包括集成到航空载具的固定或移动特征中的一个或多个成像装置。由成像装置中的每一者捕获的图像可以用于立体测距目的,例如,通过确定此类成像装置之间的基线距离或间隔、此类图像内的物体的视差以及相应成像装置的焦距来实现。
参见图2,示出了根据本公开的实施方案的用于物体检测和躲避的一个系统200的框图。图2的系统200包括通过网络290彼此连接的航空载具210和数据处理系统280,所述网络可以完全或部分地包括互联网。除非另外注明,否则图2中示出的前面带有数字“2”的附图标记指示的部件或特征与图1a至图1i中示出的具有前面带有数字“1”的附图标记的部件或特征类似。
航空载具210包括处理器212、存储器214和收发器216。航空载具210还包括控制系统220,多个推进马达230-1、230-2、……、230-n、成像装置240-1、240-2和测距仪250。
处理器212可以被配置成执行任何类型或形式的计算功能,包括但不限于执行一种或多种机器学习算法或技术。例如,处理器212可以控制航空载具210及其上的一个或多个基于计算机的部件的操作的任何方面,所述一个或多个基于计算机的部件包括但不限于推进马达230-1、230-2、……、230-n、成像装置240-1、240-2或测距仪250。例如,处理器212可以控制一个或多个控制系统或模块(诸如控制系统220)的操作,以生成用于独立地或彼此协作地进行推进马达230-1、230-2、……、230-n、成像装置240-1、240-2或测距仪250中的一者或多者的操作的指令。此类控制系统或模块可以与一个或多个其他计算装置或机器相关联,并且可以通过发送和接收数字数据通过网络290与数据处理系统280或一个或多个其他计算机装置(未示出)通信。
处理器212可以是包括一个处理器的单处理器系统,或者包括若干个处理器(例如,两个、四个、八个或另一合适的数量)的多处理器系统,并且也许能够执行指令。例如,在一些实施方案中,处理器212可以是实现许多指令集架构(isa)中的任一者的通用或嵌入式处理器,所述指令集架构诸如x86、powerpc、sparc或mipsisa,或者任何其他合适的isa。在处理器212是多处理器系统的情况下,多处理器系统内的处理器中的每一者可以操作相同isa或不同isa。
另外,航空载具210还包括用于存储任何类型的信息或数据的一个或多个存储器或存储部件214(诸如数据库或数据存储区),所述信息或数据例如用于操作航空载具210的指令或者在航空载具210的操作期间捕获的信息或数据。存储器214可以被配置成存储可执行指令、飞行路径、飞行控制参数和/或可由处理器212访问的其他数据项。存储器214可以使用任何合适的存储器技术来实现,诸如静态随机存取存储器(sram)、同步动态ram(sdram)、非易失性/快闪型存储器,或者任何其他类型的存储器。在一些实施方案中,可以经由收发器216例如通过传输媒体或信号(诸如电信号、电磁信号或数字信号)来接收或发送程序指令、飞行路径、飞行控制参数和/或其他数据项,所述传输媒体或信号可以经由诸如有线和/或无线链路等通信媒体来传送。
收发器216可以被配置成使得航空载具210能够通过一种或多种有线或无线方式进行通信,例如,诸如通用串行总线(或“usb”)或光缆等有线技术,或者诸如bluetooth®或任何无线保真(或“wi-fi”)协议等标准无线协议,诸如通过网络290通信或直接通信。收发器216还可以包括一个或多个输入/输出(或“i/o”)接口、网络接口和/或输入/输出装置或者与它们通信,并且可以被配置成允许在航空载具210的部件中的一者或多者之间交换信息或数据,或者经由网络290将信息或数据交换到一个或多个其他计算机装置或系统(例如,其他航空载具,未示出)。例如,在一些实施方案中,收发器216可以被配置成协调处理器212与一个或多个机载或外部计算机装置或部件之间的i/o业务。收发器216可以执行任何必要的协议、定时或其他数据变换,以便将数据信号从适合于一个部件使用的第一格式转换成适合于另一部件使用的第二格式。在一些实施方案中,收发器216可以包括支持通过各种类型的外围总线附接的装置,所述外围总线例如外围部件互连(pci)总线标准或通用串行总线(usb)标准的变体。在一些其他实施方案中,收发器216的功能可以分成两个或更多个单独部件,或者与处理器212集成。
控制系统220可以包括一个或多个电子速度控制件、电源、导航系统和/或用于控制航空载具210的操作并用于根据需要而与物品接合或释放物品的有效载荷接合控制器。例如,控制系统220可以被配置成引起或控制推进马达230-1、230-2、……、230-n、成像装置240-1、240-2或测距仪250中的一者或多者的操作。例如,控制系统220可以使推进马达230-1、230-2、……、230-n中的一者或多者以期望的速度旋转一个或多个螺旋桨,以便沿着确定的或期望的飞行路径引导航空载具210。控制系统220还可以使成像装置240-1、240-2中的一者或多者捕获任何成像数据(例如,静态或动态图像)以及任何相关联的音频数据和/或元数据。控制系统220可以操作测距仪250以确定航空载具210与一个或多个地基特征之间的范围(例如,在此类特征上方的高度),或者航空载具210与一个或多个机载物体之间的范围。
控制系统220还可以控制航空载具210的任何其他方面,包括但不限于一个或多个控制表面(未示出)的操作,诸如机翼、方向舵、副翼、升降舵、襟翼、制动器、缝翼或期望范围内的其他特征;或者通过一个或多个接合系统(未示出)与一个或多个物品的接合或释放。在一些实施方案中,控制系统220可以与处理器212、存储器214和/或收发器216中的一者或多者集成。
推进马达230-1、230-2、……、230-n可以是能够产生一个或多个螺旋桨或者其他部件的足够旋转速度的任何类型或形式的马达(例如,电动、汽油动力或任何其他类型的马达),以向航空载具210和航空载具210所接合的任何有效载荷提供升力和/或推力,以便航空运输航空载具210接合的有效载荷。例如,推进马达230-1、230-2、……、230-n中的一者或多者可以是无刷直流(dc)马达,诸如外转式无刷马达或内转式无刷马达。
航空载具210可以包括任何数量的任何种类的这些推进马达230-1、230-2、……、230-n。在一些实施方案中,航空载具210可以包括两个推进马达230-1、230-2、……、230-n。在一些其他实施方案中,航空载具210可以包括三个、四个、五个、六个、七个、八个或更多个推进马达230-1、230-2、……、230-n。例如,推进马达230-1、230-2、……、230-n中的一者或多者可以被对准或被配置成专门向航空载具210提供升力,而推进马达230-1、230-2、……、230-n中的一者或多者可以被对准或被配置成专门向航空载具210提供推力。可选地,推进马达230-1、230-2、……、230-n中的一者或多者可以被对准或被配置成根据需要而向航空载具210提供升力和推力。另外,推进马达230-1、230-2、……、230-n在航空载具210上的取向可以是固定的,或者被配置成改变它们相应的取向,例如,倾转旋翼航空器。此外,推进马达230-1、230-2、……、230-n可以被对准或被配置成在不同能力或额定值下或以不同速度操作,或者联接到具有不同大小和形状的螺旋桨。
推进马达230-1、230-2、……、230-n中的每一者可以联接到一个或多个螺旋桨(或转子或可旋转系统),所述螺旋桨具有连结到桨毂或凸台的多个成形桨叶。例如,此类螺旋桨中的每一者可以可旋转地安装到与推进马达230-1、230-2、……、230-n中的相应一者相关联的桅杆或轴件并且被配置成在流体内旋转时产生推力。此类螺旋桨中的每一者可以包括任何数量的桨叶,并且本质上可以是固定桨距的、可调桨距的或可变桨距的。此外,此类螺旋桨中的一者或多者可以任何方式镶边或加护罩。在一些实施方案中,螺旋桨中的一者或多者可以被配置成围绕垂直轴线旋转,并且相应地在垂直方向上(例如,向上)提供推力。在一些其他实施方案中,螺旋桨中的一者或多者可以被配置成围绕水平轴线旋转,并且相应地在水平方向上(例如,向前)提供推力。在另外的其他实施方案中,螺旋桨中的一者或多者可以被配置成围绕既不水平也不垂直的轴线旋转,并且相应地在对应于此类轴线的方向上提供推力。
成像装置240-1、240-2可以是嵌入或安装到航空载具210的表面的任何形式的光学记录装置,并且可以用来拍照或以其他方式记录在航空载具210的操作期间遇到的结构、设施、地形或者任何其他元素的成像数据,或者用于任何其他目的。成像装置240-1、240-2可以包括一个或多个传感器、存储器或存储部件以及处理器,并且此类传感器、存储器部件或者处理器还可以包括一个或多个光敏表面、滤波器、芯片、电极、时钟、板、定时器或者任何其他相关特征(未示出)。此类成像装置240-1、240-2可以在航空载具210的操作期间捕获呈一个或多个静止或移动的任何类型或形式的图像的形式的成像数据,以及任何相关的音频信号或其他信息。
成像装置240-1、240-2可以通过可能专用的或包括内部网络(未示出)的全部或一部分的有线或无线连接而与处理器212和/或控制系统220通信,或者彼此通信。另外,成像装置240-1、240-2可以被调适或以其他方式被配置成通过网络290与数据处理系统280通信。尽管图2的框图200包括对应于成像装置240-1、240-2的两个框,但相关领域的普通技术人员将认识到,根据本公开,可以在航空载具210上设置任何数量或类型的成像装置,包括但不限于数码相机、深度传感器或距离相机、红外相机、射线相机或其他光学传感器。
除了成像装置240-1、240-2外,航空载具210还可以包括用于控制或帮助航空载具210的操作的任何数量的其他传感器、部件或其他特征,包括但不限于用于确定航空载具210在其中操作或可能预期在其中操作的环境的一个或多个属性(包括外来信息或数据或者内在信息或数据)的一个或多个环境或操作传感器。例如,航空载具210可以包括一个或多个全球定位系统(“gps”)接收器或传感器、罗盘、速度计、高度计、温度计、气压计、湿度计、陀螺仪、空气监测传感器(例如,氧气传感器、臭氧传感器、氢气传感器、一氧化碳传感器或二氧化碳传感器)、臭氧监测器、ph传感器、磁异常检测器、金属检测器、辐射传感器(例如,盖革计数器、中子检测器、α检测器)、姿态指示器、深度计、加速计,或者声音传感器(例如,传声器、压电传感器、振动传感器或者用于检测和记录来自一个或多个方向的声能的其他换能器)。
数字处理系统280包括一个或多个物理计算机服务器282,所述物理计算机服务器具有与之相关联的一个或多个计算机处理器284和任何数量的数据存储区286(例如,数据库),并且数字处理系统280可以经提供用于任何具体或通用目的。例如,图2的数据处理系统280可以独立地经提供用于接收、分析或存储从航空载具210接收的成像数据或者其他信息或数据的专用目的,或者可选地,与被配置成接收、分析或存储此类成像数据或者其他信息或数据的一个或多个物理或虚拟服务以及一个或多个其他功能结合提供。服务器282可以连接到处理器284和数据存储区286,或以其他方式与其通信,所述数据存储区可以存储任何类型的信息或数据,包括但不限于与成像数据相关的声信号、信息或数据,或者关于环境条件、操作特性或位置的信息或数据,以用于任何目的。服务器282和/或计算机处理器284还可以通过发送和接收数字数据而连接到网络290或以其他方式与其通信,如线218所指示。例如,数据处理系统280可以包括有能力或容量来接收信息或数据(诸如媒体文件)并将其存储在一个或多个数据存储区中的任何设施、站或位置,所述信息或数据例如经由网络290从航空载具210、或从彼此、或者从一个或多个其他外部计算机系统(未示出)接收的媒体文件。在一些实施方案中,数据处理系统280可以设置在一物理位置中。在其他此类实施方案中,数据处理系统280可以设置在一个或多个备选或虚拟位置中,例如,设置在基于“云”的环境中。在其他实施方案中,数据处理系统280可以设置在一个或多个航空载具(包括但不限于航空载具210)上。
网络290可以是任何有线网络、无线网络或其组合,并且可以整个地或部分地构成互联网。此外,网络290可以是个域网、局域网、广域网、电缆网络、卫星网络、蜂窝电话网络或者它们的组合。网络290还可以是可能由各个不同方操作的链接网络的可公开访问网络,诸如互联网。在一些实施方案中,网络290可为私有或半私有网络,诸如公司或大学内联网。网络290可以包括一个或多个无线网络,诸如全球移动通信系统(gsm)网络、码分多址(cdma)网络、长期演进(lte)网络,或者某一其他类型的无线网络。经由互联网或其他上述类型的通信网络中的任一者进行通信的协议和部件是计算机通信领域的技术人员众所周知的,因此无需在本文中更详细地描述。
本文中描述的计算机、服务器、装置等具有必要的电子器件、软件、存储器、存储装置、数据库、固件、逻辑/状态机、微处理器、通信链路、显示器或者其他可视或音频用户界面、打印装置,以及任何其他输入/输出接口,以便提供本文中描述的功能或服务中的任一者和/或实现本文中描述的结果。另外,相关领域的一般技术人员将认识到,此类计算机、服务器、装置等的用户可以操作键盘、小键盘、鼠标、触笔、触摸屏或者其他装置(未示出)或方法来与计算机、服务器、装置等交互,或者“选择”项目、链接、节点、中心或本公开的任何其他方面。
航空载具210和/或数据处理系统280可以使用任何能上网的应用程序或特征或者互联网应用程序或特征,或者任何其他客户端-服务器应用程序或特征,包括电子邮件或其他消息传递技术,以便连接到网络290或者彼此通信,诸如通过短消息服务(sms)或多媒体消息服务(mms)文本消息来实现。例如,航空载具210可以被调适成经由网络290以同步或异步消息的形式将信息或数据发送到数据处理系统280或者实时地或近实时地或在一个或多个离线进程中发送到任何其他计算机装置(例如,发送到一个或多个其他航空载具)。相关领域的一般技术人员将认识到,航空载具210或数据处理系统280可以操作能够通过网络进行通信的任何数量的计算装置中的任一者或者由其操作,所述计算装置包括但不限于机顶盒、个人数字助理、数字媒体播放器、连网板、膝上型计算机、台式计算机、电子书阅读器等等。用于提供此类装置之间的通信的协议和部件是计算机通信领域的技术人员众所周知的,并且无需在本文中更详细地描述。
本文中描述的数据和/或计算机可执行指令、程序、固件、软件等(在本文中也称为“计算机可执行”部件)可以存储在计算机可读介质上,所述计算机可读介质在计算机或计算机部件内或可由其访问,所述计算机或计算机部件诸如处理器212或处理器284或者由航空载具210或数据处理系统280利用(例如,由一个或多个其他航空载具利用)的任何其他计算机或控制系统,并且所述计算机可读介质具有指令序列,所述指令序列在由处理器(例如,中央处理单元或“cpu”,或者图形处理单元或“gpu”)执行时致使处理器执行本文中描述的功能、服务和/或方法的全部或一部分。此类计算机可读指令、程序、软件等可以使用与计算机可读介质相关联的驱动机构(诸如软盘驱动器、cd-rom驱动器、dvd-rom驱动器、网络接口等)或者经由外部连接而加载到一个或多个计算机的存储器中。
本公开的系统和方法的一些实施方案也可以被提供为计算机可执行的程序产品,包括存储有指令(以压缩或未压缩形式)的非暂时性机器可读存储介质,所述指令可以用来对计算机(或其他电子装置)进行编程以执行本文中描述的过程或方法。本公开的机器可读存储介质可以包括但不限于硬盘驱动器、软磁盘、光盘、cd-rom、dvd、rom、ram、可擦除可编程rom(“eprom”)、电可擦除可编程rom(“eeprom”)、闪存、磁卡或光卡、固态存储器装置,或者可以适用于存储电子指令的其他类型的介质/机器可读介质。此外,实施方案也可以被提供为包括暂时性机器可读信号(以压缩或未压缩形式)的计算机可执行程序产品。不论是否使用载波进行调制,机器可读信号的示例都可以包括但不限于托管或运行计算机程序的计算机系统或机器可以被配置而访问的信号,或者包括可以通过互联网或其他网络下载的信号的信号。
如上文中讨论,航空载具可以被配置成使用由嵌入或以其他方式集成到航空载具的一个或多个表面中的一个或多个成像装置捕获的成像数据来确定着陆区域是否无障碍。参见图3,示出了根据本公开的实施方案的用于物体检测或躲避的一个过程的流程图300。
在框310处,无人航空载具确定其在下降期间已达到目的地附近的高度阈值。例如,无人航空载具可以配备有一个或多个传感器(例如,激光测距仪),所述基一个或多个传感器被配置成确定无人航空载具相对于一个或多个地基结构的高度。可选地,可以使用一个或多个成像装置、雷达系统、声波系统、全球定位系统(或“gps”)部件等来确定无人航空载具的高度。另外,可以在任何基础上限定高度阈值。例如,可以基于无人航空载具正在执行的任务的一个或多个属性或特性(例如,有效载荷的质量)来限定高度阈值。也可以基于任务目的地的一个或多个属性或特性来限定高度阈值,所述属性或特性例如所述目的地处的任何数量的人、动物、结构或植物。还可以基于在目的地处施行的一个或多个法律或法规要求或基于任何其他因素来限定高度阈值。
在框312处,无人航空载具定位目的地处的目标标记。例如,目标标记可以是应用于目的地处的表面的任何视觉基准标记,并且旨在被无人航空载具辨识。目标标记可以包括可以由无人航空载具成像或扫描并被辨识为用于着陆的理想位置的任何识别标记,诸如一个或多个字母数字字符、符号、条形码(例如,一维或二维条形码,诸如“qr”码)。例如,在一些实施方案中,目标标记可以由一层或多层柔性且足够耐用的材料形成,诸如天然或合成纤维(例如,编织或非编织纤维)或由在其上具有一个或多个标记的其他基底形成。在一些其他实施方案中,目标标记可以由油漆、墨水、粉笔或施加于着陆表面的任何其他材料形成。可选地,在一些实施方案中,目标标记可以包括一个或多个传感器或其他部件,以用于向无人航空载具发送信号或从其接收信号,并且可以基于此类信号中的一者或多者来定位目标标记。
在框314处,基于目标标记的中心在目的地处限定着陆区域。例如,可以基于从目标标记的中心延伸的预定半径来限定着陆区域。例如,可以例如通过一种或多种图像分割技术来确定目标标记的长度、宽度、高度或一个或多个其他尺寸,并且可以从此类尺寸中确定所述中心。可以基于以下各项选择预定半径:无人航空载具的一个或多个属性,或由无人航空载具执行的任务,以及与无人航空载具的目的地相关联的一个或多个安全因素或考虑因素。可选地,可以基于目标标记的除中心之外的任何尺寸来限定着陆区域。例如,可以基于距目标标记的周边的缓冲区或其他预定距离来限定着陆区域。在一些实施方案中,可以基于任何点(例如,一组预定的坐标)来限定着陆区域,而不管该点是否与目标标记相关联。
在框316处,识别由无人航空载具在下降期间捕获的一对图像。例如,所述图像可能由无人航空载具上设置的两个不同的成像装置同时捕获,其中所述成像装置具有至少部分地重叠的视野。可选地,所述图像可能由在无人航空载具上设置的单个成像装置在不同时间捕获。在框320处,确定由无人航空载具先前捕获的图像之间的像素视差。例如,在一些实施方案中,可以使用一个或多个光流算法来确定像素视差,所述算法可以确定沿二维图像的每个维度的出现在每个图像内的对应点之间的视差(例如,x维度上的位移和y维度上的视觉差两者)。在一些其他实施方案中,可以使用立体匹配算法来确定像素视差,所述立体匹配算法可以确定沿单个维度的出现在每个图像内的对应点之间的视差(例如,x维上的位移)。在使用立体匹配算法确定像素视差的情况下,在提供图像作为立体匹配算法的输入之前,优选地,图像中的每一个是通过一对校准后的成像装置中的一个而捕获,并随后被校正,例如变换到共同平面上。
在使用光流算法确定像素视差的情况下,可以例如通过首先以低分辨率对图像进行下采样和处理以确定对应像素集之间的视差来以最低分辨率水平确定所述对图像中的每一个之间的像素视差。然后,逐步地对图像逐层进行上采样,并以逐渐提高的分辨率水平处理所述图像,同时校正像素视差,直到图像达到其原始的最大分辨率水平为止。图像可以在任何数量的层中被处理。例如,在一些实施方案中,图像可以在七个层中被处理。另外,对于每一层,每一层的分辨率可以以任何速率并以任何方式(例如,以两倍的倍数)逐渐增加。
在框320处确定了像素视差之后,对于描绘着陆区域的此类图像的至少部分,可以对图像进行处理,以在三个维度上重建着陆区域,并且还从图像生成差值图像。在框330处,基于像素视差在三个维度上重建着陆区域。例如,如图1f所示,可以使用与出现在每个图像内的对应点(例如,共轭对的每个核点)相关联的每个视差在三维空间中重建着陆区域。可以基于捕获图像的每个成像装置之间的基线距离,例如通过相对于成像装置的图像传感器及其焦距对每个点进行三角测量,来重建着陆区域。
在框340处,将高斯差滤波应用于着陆区域的三维重建。应用高斯差滤波,以从三维重建中减去对应于无障碍着陆区域的地平面的低频,所述无障碍着陆区域假定是平坦的、无障碍的并且以可接受的坡度设置。可选地,可以将任何类型或形式的滤波应用于框330处确定的着陆区域的三维重建。
在框350处,确定滤波后的三维重建是否指示着陆区域内存在非标准表面。例如,如果滤波后的三维重建指示着陆区域的一部分既不是平坦的也不是无障碍的,也不是以可接受的坡度设置,则可以确定着陆区域具有一个或多个位于其上的障碍。但是,如果滤波后的三维重建与假定平坦且无障碍的着陆区域一致,或者如果任何此类障碍足够小或无关紧要,则可以确定着陆区域没有障碍,或不包括大到足以妨碍航空载具安全着陆的障碍。
并行地,在框335处,基于一对图像生成差值图像。例如,可以从一个图像中减去从另一个图像中导出的绝对强度或强度梯度,从而使图像扭曲到彼此上。在框345处,针对对应于着陆区域的差值图像的像素导出差值图像分数。差值图像分数可以指示相应图像的像素在着陆区域内彼此间不同的程度。差值图像分数可以基于根据rgb颜色模型或任何其他模型或标准的像素值。例如,差值图像分数可以指示相应图像的对应像素的强度值之间的峰值差、均值差、中值差或此类像素之间的任何其他差值。差值图像分数也可以指示强度值差异高于预定阈值的多个像素。差值图像分数还可以指示此类像素是否限定了足够大的区域,从而对应于可能对航空载具的安全操作构成威胁的物体,或者此类像素是否对应于无关紧要大小的物体或不会对航空载具的安全操作构成实质威胁的物体。
在框355处,确定差值图像分数是否超过指派的阈值。可以在任何基础上确定指派的阈值并将其指派给着陆区域和/或航空载具。例如,指派的阈值可以基于针对差值图像的单个像素或者针对差值图像的一个或多个像素区域的差值图像分数的值。另外,指派的阈值可以对应于着陆区域、航空载具或航空载具正在执行的任务或任何其他因素的一个或多个属性。例如,可以相对于航空载具的一个或多个尺寸或属性(例如,大小、形状、旋转螺旋桨的数目、旋转螺旋桨的操作速度或任何其他相关属性)、着陆区域或目的地、航空载具正在执行的任务或任何其他因素来限定指派的阈值。如果差值图像分数超过指派的阈值,则可以确定着陆区域上具有一个或多个障碍。然而,如果差值图像分数未超过指派的阈值,则可以确定着陆区域没有障碍,或者不包括大到足以妨碍航空载具安全着陆的障碍。
在框360处,确定着陆区域的滤波后重建或差值图像是否指示着陆区域中存在一个或多个障碍。如果滤波后重建指示着陆区域不是如假定的那样为平坦的、无障碍的并且处于可接受的坡度,或者如果差值图像指示一个或多个障碍位于着陆区域之上或上方,则过程前进至框365,在此中止着陆操作,或者航空载具尝试识别备选着陆区域,并且过程结束。备选着陆区域可以由与目的地相关联的一个或多个个体指定,或者可以例如基于航空载具所捕获的一个或多个图像或以任何其他方式由航空载具在目的地处识别。在一些实施方案中,一种或多种算法(例如,差值图像算法或构建算法)的输出可以是指示着陆区域包括一个或多个障碍的概率的置信水平或分数。
可选地,当着陆区域的滤波后重建或差值图像指示着陆区域中存在一个或多个障碍时,航空载具可以被编程为或以其他方式被配置成采取任何数量的其他动作。例如,可以例如通过转变为盘旋模式来减小航空载具的下降速率或停止下降,直到可以确定障碍已被从着陆区域清除。在障碍本质上是动态的(诸如人、动物或运动中的物体)情况下,减慢下降速率或盘旋可能特别有帮助。例如,在一个或多个图像内识别出动态障碍的情况下,可以在整个着陆区域中跟踪动态障碍,直到动态障碍已经离开着陆区域,或者不再对航空载具构成危害为止。另外,可以评估任何数量的其他图像对,以确认对着陆区域包括一个或多个障碍的确定是否准确或达到足够高的置信度。航空载具还可以向地基或空基控制系统发送一个或多个信号或消息,从而报告着陆区域的状态,并且可以接收来自控制系统的包括一个或多个指令的一个或多个信号或消息以用于未来操作。
如果滤波后重建或差值图像均未指示着陆区域中存在任何障碍(例如,在着陆区域之上或上方),则过程前进至框370,在此确定无人航空载具是否已经在限定的着陆区域处着陆。如果无人航空载具已经着陆,即,如果无人航空载具完成了下降,则过程结束。如果无人航空载具尚未着陆,则过程返回至框316,在此识别由无人航空载具在下降期间捕获的一对图像,并返回至框320,在此确定由无人航空载具捕获的先前图像之间的像素视差。所述图像对可以包括先前在框316处识别的图像对中包括的图像之一以及另一图像,例如在连续捕获图像的情况下。可选地,所述图像对可以包括先前在框316处识别的任何图像对中未包括的两个图像。
尽管图3的流程图300描述了用于在确定先前图像之间的像素视差之后在三个维度上生成着陆区域的重建并且并行地生成差值图像的一个过程,但是在一些实施方案中,着陆区域在三个维度上的重建和差值图像的生成可以串行地发生。此外,尽管图3的流程图300指示在着陆区域的滤波后重建或差值图像基于针对单个图像对识别的像素视差指示着陆区域中存在一个或多个障碍的情况下,可以中止着陆操作或者可以识别备选着陆区域,但是在一些实施方案中,可以例如在预定数量的滤波后重建或差值图像指示着陆区域包括一个或多个障碍或障碍物之后,基于在多个图像对中识别的像素视差来确定中止着陆操作或搜索备选着陆区域。在此类实施方案中,在以虚假或随机的方式(例如,仅在单个图像对中)识别出一个或多个障碍或障碍物的情况下,可以避免中止着陆操作或搜索备选着陆区域。
此外,本公开的系统和方法即使在没有利用目标标记的情况下也可以用于识别航空载具的着陆区域。例如,本文中公开的一个或多个实施方案可以用于通过比较捕获到的环境的图像对来识别环境中平坦的并且没有障碍或障碍物的足够大小的着陆区域。可以相应地识别出足够大小的且平坦的区域,例如以容纳航空载具。此外,本文公开的一种或多种系统和方法可以结合不与地基点相关联的操作区域(例如,由一个或多个坐标集限定的机载空间)而使用,或者用于不包括着陆演变的操作。例如,在航空载具从当前高度转变到期望高度而没有着陆的情况下,本公开的一种或多种系统和方法可以确定航空载具与期望高度之间是否存在任何障碍物。在一些实施方案中,航空载具可以配备有一个或多个成像装置,所述成像装置相对于航空载具的一个或多个主轴线以垂直向下的取向或基本上垂直向下的取向对准,并且被配置成捕获有关位于航空载具下方的一个或多个表面或其他物体的成像数据,如图1d所示。可选地,在一些实施方案中,航空载具可以配备有一个或多个成像装置,所述成像装置相对于航空载具的一个或多个主轴线以垂直向上的取向或基本上垂直向上的取向对准,并且被配置成捕获有关位于航空载具上方的一个或多个表面或其他物体的成像数据。在一些实施方案中,航空载具可以配备有一个或多个成像装置,所述成像装置相对于航空载具的一个或多个主轴线以任何其他角度对准,并且被配置成捕获有关沿此类轴线定位的一个或多个表面或其他物体的成像数据。
在一些实施方案中,本公开的系统和方法可以使用多个成像装置从同时捕获的一个或多个图像对(例如,同步图像)确定像素视差。参考图4,示出了根据本公开的实施方案的用于物体检测和躲避的一个系统的各方面的视图。除非另有说明,否则图4所示的前面带有数字“4”的附图标记指示的部件或特征与图2所示的具有前面带有数字“2”或图1a至图1i所示的具有前面带有数字“1”的附图标记的部件或特征类似。
如图4所示,系统400包括接近着陆区域465的航空载具410。航空载具410配备有一对成像装置440-1、440-2,所述成像装置相对于航空载具410的主轴线(例如,法向轴线、横轴线、纵轴线)以基本上垂直向下的取向对准,并且在其相应视野内包括一个或多个表面特征,所述视野至少部分地重叠。在一些实施方案中,可以在辨识所述一个或多个表面特征上的任何类型或形式的基准标记(例如,图1a的目标标记160)后限定着陆区域465。例如,可以检测与基准标记相关联的一个或多个点,并且可以例如基于距给定点的预定半径或基于围绕所述给定点设置的任何其他边界来相对于此类点确立着陆区域465的边界。然而,在其他实施方案中,可以在任何时间或以任何方式并且在任何基础上限定着陆区域465。例如,可以基于任何点(例如,基于一个或多个坐标集限定的点)来限定着陆区域465,而不管所述点是否与目标标记或任何其他物体相关联。
可以以任何方式起始或触发成像装置440-1、440-2对图像的捕获。例如,航空载具410可以确定其正在接近预定的地基位置或高度(例如,使用一个或多个位置传感器,诸如gps收发器、或高度计或其他系统),并且可以在接近预定的地基位置或高度时开始捕获成像数据。可选地,航空载具410可以被配置成确定它何时接近一个或多个地基或机载特征(例如,结构、航空器、动物或任何其他物体),或者一个或多个地基或机载特征何时接近它,诸如通过使用一个或多个雷达系统、声波系统或成像装置。因此,航空载具410可以在确定航空载具410正在接近此类特征后,或者在确定此类特征正在接近航空载具410后,开始捕获成像数据。航空载具410也可以在预定时间或日期开始捕获成像数据。
当航空载具410朝着着陆区域465下降时,航空载具410的成像装置440-1、440-2可以开始捕获图像,或者可以继续捕获图像。例如,如图4所示,成像装置440-1、440-2可以在时间t0、时间t1、时间t2、时间t3、......、直至时间tn(此时航空载具410已经在着陆区域465着陆、着陆操作已经中止,或者已经出于任何原因而终止成像装置440-1、440-2对图像的捕获)捕获图像对。在一些实施方案中,成像装置440-1、440-2可以被配置成例如以预定或恒定帧率或以特定间隔连续地捕获图像。
可以根据任何方法或技术处理由成像装置440-1、440-2捕获的图像对以辨识所述图像之间的像素视差。例如,可以将成像装置440-1在给定时间(例如,时间t0、时间t1、时间t2、时间t3或时间tn中的一者或多者)捕获的图像和成像装置440-2在相同时间捕获的图像作为输入提供给光流算法。光流算法可以返回向量场,所述向量场表示在给定时间由成像装置440-1捕获的图像与在所述给定时间由成像装置440-2捕获的图像的像素视差,反之亦然。基于由相应成像装置440-1、440-2捕获的图像中的一些或全部像素,光流算法可以稀疏或密集的方式操作。例如,在一些实施方案中,相应图像的对应于或描绘着陆区域465的部分可以被辨识并被从中提取。光流算法可以稀疏方式操作,并且可以基于相应图像的对应于着陆区域465的部分之间的视差来生成着陆区域465的稀疏重建。
像素视差可用于生成着陆区域465的三维重建,并确定此类重建是否平坦且光滑,或者此类重建是否包括阻碍在其上进行着陆操作或其他演变的一个或多个障碍物。
可选地,可以将成像装置440-1在给定时间(例如,时间t0、时间t1、时间t2、时间t3或任何时间tn中的一者或多者)捕获的图像和成像装置440-2在相同时间或在近似相同时间捕获的图像作为输入提供给立体匹配算法,并且可以将所述图像中的一者的像素与所述图像中的另一者的像素之间的多个视差(例如,具有水平和/或垂直方向分量的向量)作为输出返回。在一些实施方案中,可以在执行立体匹配算法之前对图像进行校正,从而确保在此类图像内识别出的像素视差被限制在单个方向,例如水平或垂直或任何其他单个方向。
在一些实施方案中,本公开的系统和方法可以从使用单个成像装置在不同时间捕获的一个或多个图像对中确定像素视差。参考图5,示出了根据本公开的实施方案的用于物体检测和躲避的一个系统的各方面的视图。除非另有说明,否则图5所示的前面带有数字“5”的附图标记指示的部件或特征与图4
所示的具有前面带有数字“4”、图2所示的具有前面带有数字“2”或图1a至图1i所示的具有前面带有数字“1”的附图标记的部件或特征类似。
如图5所示,系统500包括接近着陆区域565的航空载具510。航空载具510配备有成像装置540,所述成像装置相对于航空载具510的主轴线(例如,法向轴线、横轴线、纵轴线)以基本上垂直向下的取向对准,并且在其相应的视野内包括一个或多个表面特征。可以在任何基础上(例如,基于一个或多个基准标记)限定着陆区域565。
成像装置540可以例如以流媒体格式或以预定间隔连续捕获图像。可以以任何方式、在任何时间和在任何基础上起始或触发成像装置540对图像的捕获。例如,航空载具510可以被配置成在确定航空载具510已经到达预定位置或高度后、在确定航空载具510已经接近或正在接近地基或机载物体后、或在预定时间或者在任何其他基础上开始捕获图像。
可以根据任何方法或技术处理由成像装置540捕获的图像对以辨识所述图像之间的像素视差。例如,可以将成像装置540在给定时间(例如,时间t0、时间t1、时间t2、时间t3、时间t4、时间t5、时间t6、时间tn-1或时间tn中的一者或多者)捕获的图像和成像装置540在另一时间(例如,时间t0、时间t1、时间t2、时间t3、时间t4、时间t5、时间t6、时间tn-1或时间tn中的另一者)捕获的图像作为输入提供给光流算法。光流算法可以将表示像素的视差的向量场从所述图像中的第一图像返回到所述图像中的第二图像,反之亦然。像素视差可用于生成着陆区域565的三维重建,并确定此类重建是否平坦且光滑,或者此类重建是否包括阻碍在其上进行着陆操作或其他演变的一个或多个障碍物。可选地,可以将成像装置540在给定时间(例如,时间t0、时间t1、时间t2、时间t3、时间t4、时间t5、时间t6、时间tn-1或时间tn中的一者或多者)捕获的图像和成像装置540在稍后的时间捕获的图像作为输入提供给立体匹配算法,并且可以将所述图像中的一者的像素与所述图像中的另一者的像素之间的多个视差(例如,具有水平和/或垂直方向分量的向量)作为输出返回。在一些实施方案中,可以在执行立体匹配算法之前对图像进行校正,从而确保在此类图像内识别出的像素视差被限制在单个方向,例如水平或垂直或任何其他单个方向。
在一些实施方案中,航空载具510可以被编程为或以其他方式被配置成在操作期间在位置上进行一个或多个横向变化,以便产生成像装置540在时间t0、时间t1、时间t2、时间t3、时间t4、时间t5、时间t6、时间tn-1或时间tn的位置之间的某种形式的横向间隔。例如,在其中操作成像装置540以在下降或盘旋期间捕获图像的着陆操作或其他操作期间,航空载具510可以根据需要操作一个或多个控制表面或使一个或多个推进马达或航空载具510的任何其他方面的操作错开,以使航空载具510偏离垂直轴线。通过改变成像装置540相对于垂直轴线的位置,航空载具510可以实现或扩大此类位置之间的基线距离,从而提高基于由成像装置540捕获的图像确定的像素位移的准确性水平。
可以通过根据本公开的任何方法或技术来确定像素之间的视差。例如,在一些实施方案中,可以使用一个或多个光流算法来确定像素视差,所述光流算法可以确定此类偏差。参考图6,示出了根据本公开的实施方案的用于物体检测和躲避的一个系统的各方面的视图。除非另有说明,否则图6所示的前面带有数字“6”的附图标记指示的部件或特征与图5所示的具有前面带有数字“5”、图4所示的具有前面带有数字“4”、图2所示的具有前面带有数字“2”或图1a至图1i所示的具有前面带有数字“1”的附图标记的部件或特征类似。
如图6所示,对使用一个或多个成像装置(未示出)捕获的图像645-1、645-2中的共同像素pn的识别由一对图像金字塔表示。图像645-1、645-2可以是使用单个成像装置在不同时间捕获的(诸如图5所示),或者使用两个成像装置在相同时间(例如,同步的)或在不同时间捕获的(诸如图4所示)。例如,在第一细化级别(例如,最粗略的细化级别或级别n)下,像素pn在图像645-1、645-2中的每一者内显而易见,并且在水平或垂直方向上没有视差,使得dx=0并且dy=0。相继地,随着图像645-1、645-2的细化程度不断提高,相应图像645-1、645-2内的像素pn的外观之间的视差在后续的细化级别(n–1)、(n–2)下变得越来越清晰,依此类推,直到在最终的细化级别或级别0下确定精确视差dx、dy为止。
可以根据本公开利用任何数量的光流算法,并且此类算法可以根据任何方式或技术进行操作。例如,在一些实施方案中,光流算法可以根据lucas-kanade方法进行操作,其中会生成代表一对图像之间的像素视差的向量场。另外,光流算法可以是稀疏的(诸如lucas-kanade方法),其中对共同像素子集进行评估以识别和计算共同像素之间的相应视差,并且为相应像素中的每一者计算呈光流向量场形式的输出。可选地,光流算法可以是密集的,使得对相应图像的每个像素进行评估以识别和计算像素之间的相应视差。在一些实施方案中,在一对图像描绘着陆区域的全部或一部分的情况下,可以从中提取此类图像的描绘着陆区域的部分,并对所述部分进行稀疏光流算法以便识别其相应像素之间的视差。此类视差可以用来生成着陆区域的三维重建,或生成着陆区域的差值图像。
也可以使用立体匹配算法来确定像素视差。参考图7a和图7b,示出了根据本公开的实施方案的用于物体检测和躲避的一个系统的各方面的视图。除非另有说明,否则图7a或图7b所示的前面带有数字“7”的附图标记指示的部件或特征与图6所示的具有前面带有数字“6”、图5所示的具有前面带有数字“5”、图4所示的具有前面带有数字“4”、图2所示的具有前面带有数字“2”或图1a至图1i所示的具有前面带有数字“1”的附图标记的部件或特征类似。
如图7a所示,系统700包括接近着陆区域765的航空载具710。航空载具710配备有各自具有视野fov1、fov2的一对成像装置740-1、740-2,所述视野至少部分地重叠并且包括着陆区域765的至少一部分和其中的一个或多个其他表面特征。成像装置740-1、740-02相对于航空载具710的主轴线(例如,法向轴线、横轴线、纵轴线)以基本上垂直向下的取向对准。可以在任何基础上(例如,基于一个或多个基准标记)限定着陆区域765。如图7a所示,着陆区域765上包括多个物体775-1、775-2、775-3。
根据本公开,可以使用一个
或多个立体匹配算法来处理使用相应成像装置740-1、740-2捕获的图像745-1、745-2。如图7b所示,可以根据变形模型或以任何其他方式将图像745-1的像素中的每一个扭曲到图像745-2的像素中的一个上,反之亦然。在扭曲相应图像745-1、745-2的像素之前,可以校正图像745-1、745-2或使其对准,使得对应核线彼此平行。例如,如图7b所示,通过校正来对准图像745-1、745-2中的每一者中的物体775-1的点g1、g2,并且可以相对于彼此在水平方向上确定对应于相应图像745-1、745-2内的此类点的像素之间的视差∆g1、∆g2(例如,图像745-1、745-2中的每一者中的物体775-1的点g1、g2的位置之间的差异)(例如,位移)。因为图像745-1、745-2被校正,所以像素之间的视差包括水平位移,而不包括任何垂直视觉差。类似地,如图7b所示,通过校正来对准图像745-1、745-2中的每一者中的物体775-2的点p1、p2,并且可以相对于彼此在水平方向上确定对应于相应图像745-1、745-2内的此类点的像素之间的视差∆p1、∆p2(例如,图像745-1、745-2中的每一者中的物体775-2的点p1、p2的位置之间的差异)。最后,如图7b所示,通过校正来对准图像745-1、745-2中的每一者中的物体775-3的点b,并且可以相对于彼此在水平方向上确定对应于相应图像745-1、745-2内的此类点的像素之间的视差∆b(例如,图像745-1、745-2中的每一者中的物体775-3的点b的位置之间的差异)。如上文中讨论,使用由校准后的成像装置捕获的校正后图像能确保相应位置g1、g2、p1、p2、b之间的核线彼此平行对准,并且视差∆g1、∆g2、∆p1、∆p2、∆b包括水平位移而不包括任何垂直视觉差。
本文公开的实现方式可以包括一种用于检测无人航空载具的着陆区域中的障碍物的方法,所述方法包括:通过设置在所述无人航空载具上的至少一个传感器确定所述无人航空载具的高度处于或低于预定高度阈值;通过设置在所述无人航空载具上的至少一个成像装置在所述无人航空载具下方的表面上定位目标标记;至少部分地基于所述目标标记的至少一部分来限定所述着陆区域,其中所述着陆区域可以包括相对于所述目标标记的所述部分限定的几何形状;通过所述至少一个成像装置捕获第一图像,所述第一图像包括所述无人航空载具下方的所述表面的至少一部分;通过所述至少一个成像装置捕获第二图像,所述第二图像包括所述无人航空载具下方的所述表面的至少一部分;确定对应于所述第一图像中描绘的至少多个点的像素与对应于所述第二图像中描绘的至少所述多个点的像素之间的视差,其中所述多个点中的每一者都在所述着陆区域内;至少部分地基于所述像素之间的所述视差来生成所述着陆区域的重建;至少部分地基于所述像素之间的所述视差来计算差值图像;至少部分地基于所述重建或所述差值图像来确定所述着陆区域是否包括至少一个障碍物;并且响应于确定所述着陆区域包括所述至少一个障碍物,中止所述无人航空载具在所述着陆区域处的着陆。
任选地,所述至少一个成像装置可以包括第一成像装置和第二成像装置,其中所述第一成像装置和所述第二成像装置间隔基线距离,其中所述第一图像由所述第一成像装置捕获,其中所述第二图像由所述第二成像装置捕获,并且其中生成所述着陆区域的所述重建可以包括:针对所述多个点中的每一者,计算对应于所述第一图像中描绘的所述多个点的所述像素之一与对应于所述第二图像中描绘的所述多个点的所述像素之一之间的距离,其中至少部分地基于针对所述多个点中的每一者计算的所述距离确定所述视差。
任选地,所述方法可以包括:将所述第一图像和所述第二图像中的每一者作为输入提供给光流算法;并且接收来自所述光流算法的输出,其中所述输出可以包括包含多个向量的向量场,并且其中所述向量中的每一者表示对应于所述第一图像中描绘的所述多个点的所述像素之一与对应于所述第二图像中描绘的所述多个点的所述像素之一之间的视差。
任选地,所述方法可以包括:将对应于所述第一图像中描绘的所述多个点的所述像素中的每一者与对应于所述第二图像中描绘的所述多个点的所述像素之一进行匹配;并且针对对应于所述第一图像中描绘的所述多个点的所述像素中的每一者,确定与对应于所述第二图像中描绘的所述多个点的所述像素中的一个匹配像素的距离,其中针对所述多个点中的每一者计算的所述距离中的每一者是所述视差之一。
本文公开的实现方式可以包括一种方法,所述方法包括:在航空载具执行演变期间,通过所述航空载具上设置的至少一个成像装置捕获第一图像,其中所述至少一个成像装置的视野包括第一位置处的至少一个表面;在所述航空载具执行所述演变期间,通过所述至少一个成像装置捕获第二图像;相对于所述至少一个表面上的至少一个点限定操作区域;确定所述第一图像的第一多个像素与所述第二图像的第二多个像素之间的第一多个像素视差,其中所述第一图像的所述第一多个像素中的至少一些对应于所述操作区域在所述第一图像内描绘的点,并且其中所述第二多个像素中的至少一些对应于所述操作区域在所述第二图像内描绘的点;至少部分地基于所述第一多个像素视差生成所述操作区域的至少一部分的第一三维重建;至少部分地基于所述第一多个像素视差生成第一差值图像;至少部分地基于至少所述第一三维重建或所述第一差值图像来确定所述操作区域是否包括至少一个障碍物;并且响应于确定所述操作区域包括所述至少一个障碍物,暂停所述航空载具的所述演变。
任选地,所述方法还可以包括:响应于确定所述操作区域不包括所述至少一个障碍物,完成所述航空载具的所述演变。
任选地,所述方法还可以包括:将所述第一图像和所述第二图像中的每一者作为输入提供给光流算法;并且接收来自所述光流算法的输出,其中所述输出可以包括包含多个向量的向量场,并且其中所述多个向量中的每一者表示所述像素视差之一。
任选地,所述方法还可以包括:将所述第一图像的所述第一多个像素中的每一者与所述第二图像的所述第二多个像素之一进行匹配;并且针对所述第一多个像素中的每一者,确定与所述第二图像的所述第二多个像素中的一个匹配像素的距离,其中所述距离中的每一者对应于所述像素视差之一。
任选地,所述至少一个成像装置可以包括第一成像装置和第二成像装置,其中所述第一成像装置和所述第二成像装置间隔基线距离,其中所述第一图像由所述第一成像装置捕获,其中所述第二图像由所述第二成像装置捕获,并且其中生成所述操作区域的所述第一三维重建可以包括:针对所述操作区域的所述点中的每一者,计算从所述第一成像装置或所述第二成像装置中的一者到所述点中的所述一个点的距离;并且至少部分地基于所述第一成像装置或所述第二成像装置中的所述一者与所述操作区域的所述点的所述距离,生成所述操作区域的所述第一三维重建。
任选地,所述至少一个成像装置可以包括第一成像装置,其中所述第一图像由所述第一成像装置在第一时间捕获,并且其中所述第二图像由所述第一成像装置在第二时间捕获。
任选地,可以在第一时间捕获所述第一图像,可以在大致所述第一时间捕获所述第二图像,并且所述方法还可以包括:响应于确定所述操作区域不包括所述至少一个障碍物,在所述航空载具执行所述演变期间,通过所述至少一个成像装置捕获第三图像,其中在第二时间捕获所述第三图像;在所述航空载具执行所述演变期间,通过所述至少一个成像装置捕获第四图像,其中在大致所述第二时间捕获所述第四图像;确定所述第三图像的第三多个像素与所述第四图像的第四多个像素之间的第二多个像素视差,其中所述第三图像的所述第三多个像素中的至少一些对应于所述操作区域在所述第三图像内描绘的点,并且其中所述第四多个像素中的至少一些对应于所述操作区域在所述第四图像内描绘的点;至少部分地基于所述第二多个像素视差生成所述操作区域的至少一部分的第二三维重建;至少部分地基于所述第二多个像素视差生成第二差值图像;至少部分地基于至少所述第二三维重建和所述差值图像来确定所述操作区域是否包括至少一个障碍物;并且响应于确定所述操作区域包括所述至少一个障碍物,暂停所述航空载具的演变。
任选地,所述方法还可以包括:在所述第一图像或所述第二图像中的至少一者内的所述至少一个表面上检测至少一个基准标记;辨识所述至少一个基准标记的至少一个属性;并且至少部分地基于所述至少一个属性,确定与所述至少一个基准标记相关联的所述至少一个点,其中所述操作区域是一个圆,所述圆距与所述至少一个基准标记相关联的所述至少一个点具有预定半径。
任选地,所述方法还可以包括:通过与所述航空载具相关联的至少一个收发器接收关于所述航空载具的目的地的信息,其中关于所述目的地的所述信息可以包括所述至少一个点的标识符;并且通过与所述航空载具相关联的至少一个传感器确定所述航空载具在所述至少一个点附近,其中响应于确定所述航空载具在所述至少一个点附近而捕获所述第一图像和所述第二图像。
任选地,所述方法还可以包括:对所述第一三维重建进行高斯差滤波,其中至少部分地基于至少所述第一三维重建和所述第一差值图像确定所述操作区域是否包括至少一个障碍物可以包括:至少部分地基于至少滤波后的第一三维重建和所述第一差值图像确定所述操作区域是否包括至少一个障碍物。
任选地,所述方法还可以包括:针对所述第一图像的所述第一多个像素中的每一者,确定所述第一图像的所述第一多个像素中的一者的强度值与所述第二图像的所述第二多个像素中的对应一者的强度值之间的差值,其中至少部分地基于所述强度值之间的所述差值生成所述第一差值图像;计算所述差值图像的分数,其中所述分数可以包括以下中的至少一项:所述第一图像的所述第一多个像素中的所述一者与所述第二图像的所述第二多个像素中的所述对应一者之间的所述强度值的峰值差、均值差或中值差;并且确定所述分数超过预定阈值。
任选地,所述演变可以与预定操作相关联,并且所述方法还可以包括:响应于确定所述操作区域包括所述至少一个障碍物,识别用于执行所述预定操作的第二位置;并且使所述无人航空载具从所述第一位置行进到所述第二位置。
本文公开的实现方式可以包括一种方法,所述方法包括:通过无人航空载具上的第一成像装置捕获第一多个图像;通过所述无人航空载具上的第二成像装置捕获第二多个图像;针对多个图像对中的每一对,确定所述图像对中的一对之间的多个像素视差,其中所述图像对中的每一对可以包括所述第一多个图像中的一者和所述第二多个图像中的一者,并且其中根据光流算法或立体匹配算法中的至少一者确定所述多个像素视差;至少部分地基于所述多个像素视差中的至少一些生成区域的三维重建;针对所述多个图像对中的每一对生成差值图像;至少部分地基于所述三维重建或所述差值图像之一中的至少一者,识别不包括至少一个障碍物的至少一个位置;并且使所述航空载具在所述至少一个位置处或其附近着陆。
任选地,所述方法还可以包括:致使所述航空载具的位置发生横向变化,其中在致使所述横向变化之前捕获所述第一多个图像中的至少第一图像,其中在致使所述横向变化之后捕获所述第二多个图像中的至少第二图像,并且其中所述多个图像对中的第一对可以包括所述第一图像和所述第二图像。
任选地,所述第一成像装置和所述第二成像装置可以间隔基线距离,并且生成所述区域的所述三维重建可以包括:针对所述区域的多个点中的每一者,至少部分地基于所述多个像素视差中的所述至少一些,计算从所述第一成像装置或所述第二成像装置中的一者到所述点中的所述一个点的距离;并且至少部分地基于所述第一成像装置或所述第二成像装置中的所述一者与所述操作区域的所述点的所述距离,生成所述区域的所述三维重建。
任选地,所述方法还可以包括:在所述至少一个位置处选择至少一个关联点;相对于所述至少一个点限定着陆区域,其中所述着陆区域可以包括距所述至少一个点具有预定半径的圆;在限定所述着陆区域之后,通过所述第一成像装置捕获第一图像;通过所述第二成像装置捕获第二图像;根据所述光流算法或所述立体匹配算法中的至少一者,确定对应于所述着陆区域在所述第一图像中描绘的点的像素与对应于所述着陆区域在所述第二图像中描绘的点的像素之间的多个像素视差;至少部分地基于所述多个像素视差,生成所述着陆区域的三维重建;至少部分地基于所述多个像素视差生成差值图像;至少部分地基于至少部分地基于所述多个像素视差生成的所述着陆区域的所述三维重建和所述差值图像,确定所述着陆区域不包括所述至少一个障碍物;并且响应于确定所述着陆区域不包括所述至少一个障碍物,使所述航空载具在所述着陆区域内着陆。
尽管本文中已经使用用于实现本公开的系统和方法的示例性技术、部件和/或过程描述了本公开,但相关领域的技术人员应理解,可以使用或执行实现本文中描述的相同功能和/或结果并且被包括在本公开的范围内的其他技术、部件和/或过程或者本文中描述的技术、部件和/或过程的其他组合和顺序。
如本文中使用,术语“向前”飞行或“水平”飞行是指在基本上平行于地面(即,海平面)的方向上飞行。如本文中使用,术语“垂直”飞行是指在基本上从地球的中心径向地向外的方向上飞行。相关领域的一般技术人员将认识到,飞行轨迹可以包括“向前”飞行或“水平”飞行和“垂直”飞行向量两者的分量。如本文中使用,术语“视差(disparity)”可以用来指代两个不同图像帧中的共同像素或像素的位置差异。因此,根据本公开,术语“视差(disparity)”可以指位置的水平差异(有时称为“位移(displacement)”)、位置的垂直差异(有时称为“视觉差(parallax)”)、或者水平和垂直两者或沿着任何其他轴线对准的位置差异。就这一点而言,术语“视差(disparity)”、“位移(displacement)”或“视觉差(parallax)”可以互换使用,以指代两个或更多个图像帧中的一个或多个像素的位置差异。此外,如本文中使用,术语“障碍(obstacle)”和“障碍物(obstruction)”可以指代可能在航空载具的操作区域内临时或永久存在的任何物体。例如,障碍或障碍物可以是静态的或动态的,例如是移动的,诸如人、动物或诸如自行车、三轮车、婴儿车、滑板或球等物体。术语“障碍”和“障碍物”在本文可互换使用。
尽管本文中公开的实施方案中的一些参考使用无人航空载具将有效载荷从仓库或其他类似设施交付到客户,但相关领域的一般技术人员将认识到,本文中公开的系统和方法并不限于此,并且可以与具有固定或旋转机翼的任何类型或形式的航空载具(例如,有人或无人)结合使用,以用于任何意图的工业、商业、娱乐或其他用途。此外,相关领域的普通技术人员将认识到,本文公开的一个或多个实施方案可以与航空载具的任何操作结合使用,而不限于着陆操作。例如,在航空载具被编程为或被指示执行需要在给定区域中向前或垂直飞行或者盘旋的监视操作的情况下,当确定给定区域是否无障碍物或者是否可以根据需要或意图在给定区域内安全地进行操作时,航空载具可以捕获图像并确定此类图像内表示的像素之间的视差。如上文中讨论,在例如相对于二维表面在两个维度上限定着陆区域的情况下,可以通过计算像素视差并使用所述像素视差生成着陆区域的三维重建以及着陆区域的差值图像来确定是否可以安全地进行着陆操作。根据本公开,可以在两个维度(例如,空间中的平面区域)或三个维度(例如,空间中的立体区域)上限定操作区域,并且所述操作区域可以但不一定与任何给定表面相关联。在一些实施方案中,本公开的系统和方法可以用于确定空间中的二维区域或空间中的三维区域是否包括可能妨碍、阻止航空载具在此类区域内执行一个或多个演变或使所述演变复杂化的一个或多个障碍或障碍物。
应理解,除非本文中另外明确或暗示地说明,否则关于本文中的特定实施方案描述的任何特征、特性、替代方案或更改也可以与本文中描述的任何其他实施方案一起应用、使用或合并,并且本公开的附图和具体实施方式意图涵盖对如由所附权利要求限定的各种实施方案的所有更改、等效物和替代方案。此外,关于本文中描述的本公开的一个或多个方法或过程(包括但不限于,图3的流程图中表示的过程),呈现此类方法或过程的顺序并不意图被解释为对所要求保护的发明的任何限制,而是本文中描述的任何数量的方法或过程步骤或框可以采用任何顺序和/或并行地组合,以实现本文中描述的方法或过程。另外,本文中的附图并非按比例绘制。
除非另有明确说明,或者根据使用的上下文另外理解的,否则诸如“可”、“可以”、“可能”或“也许”等条件性语言通常意图以容许的方式传达:某些实施方案可以包括或有可能包括,但并不命令或要求,某些特征、元件和/或步骤。通过类似的方式,诸如“包括(include)”、“包括(including)”和“包括(includes)”等术语通常意图是指“包括但不限于”。因此,这种条件性语言通常并不意图暗示:一个或多个实施方案以任何方式要求特征、元件和/或步骤,或者无论有或没有用户输入或提示,一个或多个实施方案都必须包括用于决定在任何特定实施方案中是否包括或执行这些特征、元件和/或步骤的逻辑。
除非另有明确说明,否则诸如短语“x、y或z中的至少一者”或者“x、y和z中的至少一者”等析取语言在所使用的上下文中应被理解为大体表示项目、术语等可以是x、y或z或者它们的任意组合(例如,x、y和/或z)。因此,这些析取语言通常并不且不应意图暗示某些实施方案要求分别存在x中的至少一者、y中的至少一者或z中的至少一者。
除非另有明确说明,否则诸如“一个”或“一种”等冠词应通常被解释为包括一个或多个所描述的项目。因此,诸如“被配置成……的一种装置”的短语意图包括一个或多个叙述的装置。此类一个或多个叙述的装置也可以共同被配置成执行所述的详述。例如,“被配置成执行详述a、b和c的一种处理器”可以包括被配置成执行详述a的第一处理器与被配置成执行详述b和c的第二处理器结合工作。
本文使用的程度语言(诸如,如本文所使用的术语“约”、“大致”、“大体”、“几乎”或“基本上”)表示仍然执行所需功能或实现所需结果的接近所陈述值、量或特性的值、量或特性。例如,术语“约”、“大致”、“大体”、“几乎”或“基本上”可指与所陈述量相比在小于10%内、小于5%内、小于1%内、小于0.1%内和小于0.01%内的量。
尽管已经关于本发明的说明性实施方案描述并说明了本发明,但在不脱离本公开的精神和范围的情况下,可以对本发明进行上述和各种其他添加和省略。
1.一种用于检测无人航空载具的着陆区域中的障碍物的方法,所述方法包括:
通过设置在所述无人航空载具上的至少一个传感器确定所述无人航空载具的高度处于或低于预定高度阈值;
通过设置在所述无人航空载具上的至少一个成像装置在所述无人航空载具下方的表面上定位目标标记;
至少部分地基于所述目标标记的至少一部分来限定所述着陆区域,其中所述着陆区域包括相对于所述目标标记的所述部分限定的几何形状;
通过所述至少一个成像装置捕获第一图像,所述第一图像包括所述无人航空载具下方的所述表面的至少一部分;
通过所述至少一个成像装置捕获第二图像,所述第二图像包括所述无人航空载具下方的所述表面的至少一部分;
确定对应于所述第一图像中描绘的至少多个点的像素与对应于所述第二图像中描绘的至少所述多个点的像素之间的视差,其中所述多个点中的每一者都在所述着陆区域内;
至少部分地基于所述像素之间的所述视差来生成所述着陆区域的重建;
至少部分地基于所述像素之间的所述视差来计算差值图像;
至少部分地基于所述重建或所述差值图像来确定所述着陆区域是否包括至少一个障碍物;并且
响应于确定所述着陆区域包括所述至少一个障碍物,
中止所述无人航空载具在所述着陆区域处的着陆。
2.如权利要求1所述的方法,其中确定所述视差包括:
将所述第一图像和所述第二图像中的每一者作为输入提供给光流算法;并且
接收来自所述光流算法的输出,其中所述输出包括包含多个向量的向量场,并且
其中所述向量中的每一者表示对应于所述第一图像中描绘的所述多个点的所述像素之一与对应于所述第二图像中描绘的所述多个点的所述像素之一之间的视差。
3.如权利要求1或2所述的方法,其中确定所述视差包括:
将对应于所述第一图像中描绘的所述多个点的所述像素中的每一者与对应于所述第二图像中描绘的所述多个点的所述像素之一进行匹配;并且
针对对应于所述第一图像中描绘的所述多个点的所述像素中的每一者,确定与对应于所述第二图像中描绘的所述多个点的所述像素中的一个匹配像素的距离,
其中针对所述多个点中的每一者计算的所述距离中的每一者是所述视差之一。
4.一种方法,所述方法包括:
在由航空载具执行演变期间,通过航空载具上设置的至少一个成像装置捕获第一图像,其中所述至少一个成像装置的视野包括第一位置处的至少一个表面;
在由所述航空载具执行所述演变期间,通过所述至少一个成像装置捕获第二图像;
相对于所述至少一个表面上的至少一个点限定操作区域;
确定所述第一图像的第一多个像素与所述第二图像的第二多个像素之间的第一多个像素视差,其中所述第一图像的所述第一多个像素中的至少一些对应于所述操作区域在所述第一图像内描绘的点,并且其中所述第二多个像素中的至少一些对应于所述操作区域在所述第二图像内描绘的点;
至少部分地基于所述第一多个像素视差生成所述操作区域的至少一部分的第一三维重建;
至少部分地基于所述第一多个像素视差生成第一差值图像;
至少部分地基于至少所述第一三维重建或所述第一差值图像来确定所述操作区域是否包括至少一个障碍物;并且
响应于确定所述操作区域包括所述至少一个障碍物,
暂停所述航空载具的所述演变。
5.如权利要求4所述的方法,其中确定所述第一多个像素视差包括:
将所述第一图像和所述第二图像中的每一者作为输入提供给光流算法;并且
接收来自所述光流算法的输出,其中所述输出包括包含多个向量的向量场,并且
其中所述多个向量中的每一者表示所述像素视差之一。
6.如权利要求4或5所述的方法,其中确定所述第一多个像素视差包括:
将所述第一图像的所述第一多个像素中的每一者与所述第二图像的所述第二多个像素之一进行匹配;并且
针对所述第一多个像素中的每一者,确定与所述第二图像的所述第二多个像素中的一个匹配像素的距离,
其中所述距离中的每一者对应于所述像素视差之一。
7.如权利要求4、5或6所述的方法,其中所述至少一个成像装置包括第一成像装置和第二成像装置,
其中所述第一成像装置和所述第二成像装置间隔基线距离,
其中所述第一图像由所述第一成像装置捕获,
其中所述第二图像由所述第二成像装置捕获,并且
其中生成所述操作区域的所述第一三维重建包括:
针对所述操作区域的所述点中的每一者,计算从所述第一成像装置或所述第二成像装置中的一者到所述点中的所述一个点的距离;并且
至少部分地基于所述第一成像装置或所述第二成像装置中的所述一者与所述操作区域的所述点的所述距离,生成所述操作区域的所述第一三维重建。
8.如权利要求4、5、6或7所述的方法,其中在第一时间捕获所述第一图像,并且在大致所述第一时间捕获所述第二图像,并且
其中所述方法还包括:
响应于确定所述操作区域不包括所述至少一个障碍物,
在由所述航空载具执行所述演变期间,通过所述至少一个成像装置捕获第三图像,其中在第二时间捕获所述第三图像;
在由所述航空载具执行所述演变期间,通过所述至少一个成像装置捕获第四图像,其中在大致所述第二时间捕获所述第四图像;
确定所述第三图像的第三多个像素与所述第四图像的第四多个像素之间的第二多个像素视差,其中所述第三图像的所述第三多个像素中的至少一些对应于所述操作区域在所述第三图像内描绘的点,并且其中所述第四多个像素中的至少一些对应于所述操作区域在所述第四图像内描绘的所述点;
至少部分地基于所述第二多个像素视差生成所述操作区域的至少一部分的第二三维重建;
至少部分地基于所述第二多个像素视差生成第二差值图像;
至少部分地基于至少所述第二三维重建和所述差值图像来确定所述操作区域是否包括至少一个障碍物;并且
响应于确定所述操作区域包括所述至少一个障碍物,
暂停所述航空载具的演变。
9.如权利要求4、5、6、7或8所述的方法,其中相对于所述至少一个表面上的所述至少一个点限定所述操作区域包括:
在所述第一图像或所述第二图像中的至少一者内的所述至少一个表面上检测至少一个基准标记;
辨识所述至少一个基准标记的至少一个属性;并且
至少部分地基于所述至少一个属性,确定与所述至少一个基准标记相关联的所述至少一个点,
其中所述操作区域是一个圆,所述圆距与所述至少一个基准标记相关联的所述至少一个点具有预定半径。
10.如权利要求4、5、6、7、8或9所述的方法,所述方法还包括:
通过与所述航空载具相关联的至少一个收发器接收关于所述航空载具的目的地的信息,其中关于所述目的地的所述信息包括所述至少一个点的标识符;并且
通过与所述航空载具相关联的至少一个传感器确定所述航空载具在所述至少一个点附近,
其中响应于确定所述航空载具在所述至少一个点附近而捕获所述第一图像和所述第二图像。
11.如权利要求4、5、6、7、8、9或10所述的方法,其中至少部分地基于所述第一多个像素视差生成所述第一差值图像包括:
针对所述第一图像的所述第一多个像素中的每一者,确定所述第一图像的所述第一多个像素中的一者的强度值与所述第二图像的所述第二多个像素中的对应一者的强度值之间的差值,其中至少部分地基于所述强度值之间的所述差值生成所述第一差值图像;
计算所述差值图像的分数,其中所述分数包括以下中的至少一项:所述第一图像的所述第一多个像素中的所述一者与所述第二图像的所述第二多个像素中的所述对应一者之间的所述强度值的峰值差、均值差或中值差;并且
确定所述分数超过预定阈值。
12.如权利要求4、5、6、7、8、9、10或11所述的方法,其中所述演变与预定操作相关联,并且
其中所述方法还包括:
响应于确定所述操作区域包括所述至少一个障碍物,
识别用于执行所述预定操作的第二位置;并且
使所述无人航空载具从所述第一位置行进到所述第二位置。
13.一种方法,所述方法包括:
通过无人航空载具上的第一成像装置捕获第一多个图像;
致使所述航空载具的位置发生横向变化,其中在致使所述横向变化之前捕获所述第一多个图像中的至少第一图像;
通过所述无人航空载具上的第二成像装置捕获第二多个图像,其中在致使所述横向变化之后捕获所述第二多个图像中的至少第二图像;
针对多个图像对中的每一对,确定所述图像对中的一对之间的多个像素视差,其中所述图像对中的每一对包括所述第一多个图像中的一者和所述第二多个图像中的一者,其中所述多个图像对中的第一对包括所述第一图像和所述第二图像,并且其中所述多个像素视差是根据以下中的至少一项确定的:
光流算法;或
立体匹配算法;
至少部分地基于所述多个像素视差中的至少一些生成区域的三维重建;
针对所述多个图像对中的每一对生成差值图像;
至少部分地基于所述三维重建或所述差值图像之一中的至少一项,识别不包括至少一个障碍物的至少一个位置;并且
使所述航空载具在所述至少一个位置处或其附近着陆。
14.如权利要求13所述的方法,其中所述第一成像装置和所述第二成像装置间隔基线距离,
其中生成所述区域的所述三维重建包括:
针对所述区域的多个点中的每一者,至少部分地基于所述多个像素视差中的所述至少一些,计算从所述第一成像装置或所述第二成像装置中的一者到所述点中的所述一个点的距离;并且
至少部分地基于所述第一成像装置或所述第二成像装置中的所述一者与所述操作区域的所述点的所述距离,生成所述区域的所述三维重建。
15.如权利要求13或14所述的方法,其中使所述航空载具在所述至少一个位置处或其附近着陆还包括:
在所述至少一个位置处选择至少一个关联点;
相对于所述至少一个点限定着陆区域,其中所述着陆区域包括距所述至少一个点具有预定半径的圆;
在限定所述着陆区域之后,
通过所述第一成像装置捕获第一图像;
通过所述第二成像装置捕获第二图像;
根据所述光流算法或所述立体匹配算法中的至少一者,确定对应于所述着陆区域在所述第一图像中描绘的点的像素与对应于所述着陆区域在所述第二图像中描绘的点的像素之间的多个像素视差;
至少部分地基于所述多个像素视差生成所述着陆区域的三维重建;
至少部分地基于所述多个像素视差生成差值图像;
至少部分地基于至少部分地基于所述多个像素视差生成的所述着陆区域的所述三维重建和所述差值图像,确定所述着陆区域不包括所述至少一个障碍物;并且
响应于确定所述着陆区域不包括所述至少一个障碍物,
使所述航空载具在所述着陆区域内着陆。
技术总结