用于多目标跟踪的方法和系统与流程

文档序号:21830259发布日期:2020-08-11 21:58阅读:459来源:国知局
用于多目标跟踪的方法和系统与流程



背景技术:

配备有成像装置的无人机(uav)可用于包括监视、侦察和探索在内的各种应用中。这种应用中的一个重要任务是跟踪诸如在周围环境中移动的目标物体和/或uav之类的目标。当需要跟踪多个目标物体时,任务可能尤其具有挑战性。



技术实现要素:

根据实施例,提供了一种用于跟踪多个目标的计算机实现的方法。该方法包括基于从成像装置获得的多个图像识别多个目标,所述成像装置由无人机(uav)经由载体承载;从所述多个目标中确定包括一个或多个目标在内的目标组;以及控制所述uav和/或所述载体以跟踪所述目标组。

根据实施例,提供了一种跟踪系统。该跟踪系统包括:存储器,存储一个或多个计算机可执行指令;以及一个或多个处理器,被配置为访问存储器并执行计算机可执行指令以执行方法,该方法包括以下步骤:基于从成像装置获得的多个图像识别多个目标,所述成像装置由无人机(uav)经由载体承载;从所述多个目标中确定包括一个或多个目标在内的目标组;以及控制所述uav和/或所述载体以跟踪所述目标组。

根据实施例,提供了一种或多种非暂时性计算机可读存储介质。该一种或多种非暂时性计算机可读存储介质存储计算机可执行指令,该计算机可执行指令当由计算系统执行时配置该计算系统以执行方法,所配置的计算系统包括:存储器,存储一个或多个计算机可执行指令;以及一个或多个处理器,被配置为访问存储器并执行计算机可执行指令以执行方法,该方法包括以下步骤:基于从成像装置获得的多个图像识别多个目标,所述成像装置由无人机(uav)经由载体承载;从所述多个目标中确定包括一个或多个目标在内的目标组;以及控制所述uav和/或所述载体以跟踪所述目标组。

在一些实施例中,确定所述目标组包括:基于与所述一个或多个目标中的每一个相关联的目标状态,从所述多个目标中选择所述一个或多个目标。

在一些实施例中,确定所述目标组包括:基于主要目标从所述多个目标中选择一个或多个目标。

在一些实施例中,方法还包括:基于所述一个或多个目标中的每一个的目标状态来确定所述目标组的目标组状态。所述目标组状态可以用于控制所述uav和/或所述载体以跟踪所述目标组。所述目标组状态或所述目标状态可以包括位置、大小、速度或取向中的至少一个。

在一些实施例中,方法还包括:更新所述目标组,并控制所述uav和/或所述成像装置以跟踪更新的目标组。

应当理解,可以单独地、共同地或彼此组合地理解本发明的不同方面。可以将本文中所描述的本发明的各种方面应用于以下所阐述的具体的应用中的任何一个或任何其他类型的可移动和/或静止物体之间的数据通信。

通过阅读说明书、权利要求和附图,本发明的其它目的和特征将变得显而易见。

附图说明

本发明的新颖特征在所附权利要求中具体阐述。通过参考下面的详细描述及其附图,将更好地理解本发明的特征和优点,所述详细描述中阐述了利用本发明的原理的说明性实施例,所述附图中:

图1示出了根据实施例的用于实现多目标跟踪的系统;

图2示出了根据实施例的跟踪系统中的示例组件;

图3示出了根据实施例的用于实现多目标跟踪的示例性过程;

图4示出了根据实施例的用于实现多目标跟踪的示例性过程;

图5示出了根据实施例的用于实现多目标跟踪的另一示例性过程;

图6示出了根据实施例的用于实现多目标跟踪的另一示例性过程;

图7示出了根据实施例的用于目标组选择的一些示例性过程;

图8示出了根据实施例的用于目标组选择的示例性过程;

图9示出了根据实施例的目标物体向目标组的添加;

图10示出了根据实施例的目标物体从目标组的移除;

图11示出了根据实施例的基于主要目标对目标组的更新;

图12示出了根据实施例的目标组选择的示例;

图13示出了根据一些实施例的当目标组相对于跟踪装置以平移运动移动时对目标组的跟踪;

图14示出了根据一些实施例的图13的实施例的不同的视觉描绘;

图15示出了根据一些实施例的用于基于跟踪装置与目标组之间的相对平移运动来跟踪目标组的示例性反馈控制环路的框图;

图16示出了根据一些实施例的使用反馈控制系统对目标组的跟踪;

图17示出了根据一些实施例的用于基于跟踪装置与目标组之间的相对位移的改变的最小化来跟踪目标组的示例性反馈控制环路的框图;

图18示出了根据一些实施例的通过改变跟踪装置相对于目标组的取向对目标组的跟踪;

图19示出了根据一些实施例的图18的实施例的不同的视觉描绘;

图20示出了根据一些实施例的当跟踪装置相对于目标组在偏航方向和俯仰方向上改变其取向时,多个图像帧中的边界框的位置的改变;

图21示出了根据实施例的包括载体和搭载物在内的可移动物体;

图22是根据实施例的用于控制可移动物体的系统的框图形式的示意图。

具体实施方式

提供了用于使用诸如uav之类的可移动物体来跟踪多个目标物体的系统、装置和方法。具体地,可以基于从uav承载的成像装置获得的图像来识别多个目标物体。可以基于多个目标物体来选择包括一个或多个目标物体在内的目标组。可以基于一个或多个目标物体的个体状态来确定目标组状态。可以基于目标组状态在整体上跟踪目标组。

图1示出了根据实施例的用于实现多目标跟踪的系统100。跟踪系统100可以包括成像装置106或可移动物体102,该可移动物体102通过或不通过载体104而承载成像装置106。在一些实施例中,跟踪系统100可以可选地包括远程终端112。跟踪系统100可以被配置为跟踪包括一个或多个目标物体110在内的目标组108。

在一些实施例中,可移动物体可以是诸如本文中其他地方所描述的无人飞行器(uav)。搭载物可以包括能够感测可移动物体周围的环境的装置、能够向环境发射信号的装置和/或能够与环境交互的装置。

搭载物可以包括成像装置。成像装置可以是物理成像装置。成像装置可以被配置为检测电磁辐射(例如,可见光、红外光和/或紫外光),并基于检测到的电磁辐射生成图像数据。成像装置可以包括响应于光的波长而产生电信号的电荷耦合器件(ccd)传感器或互补金属氧化物半导体(cmos)传感器。可以对所得到的电信号进行处理以生成图像数据。由成像装置生成的图像数据可以包括一个或多个图像,其可以是静态图像(例如照片)、动态图像(例如视频)或其适合的组合。图像数据可以是多色的(例如rgb、cmyk、hsv)或单色的(例如灰度、黑白、棕褐色)。成像装置可以包括配置成将光引导到图像传感器上的镜头。

成像装置可以是相机。相机可以是捕获动态图像数据(例如视频)的电影或视频相机。相机可以是捕获静态图像(例如照片)的静态相机。相机可以捕获动态图像数据和静态图像二者。相机可以在捕获动态图像数据和静态图像之间切换。尽管本文中提供的某些实施例是在相机的背景下描述的,但是应当理解,可以将本公开应用于任何适合的成像装置,也可以将本文中关于相机的任何描述应用于任何合适的成像装置,并且本文中涉及相机的任何描述也可以应用于其它类型的成像装置。可以使用相机来生成3d场景(例如环境、一个或多个物体等)的2d图像。例如,相机可以是单视觉相机或立体视觉相机。相机生成的图像可以表示3d场景在2d图像平面上的投影。因此,2d图像中的每个点对应于场景中的3d空间坐标。相机可以包括光学元件(例如镜头、反射镜、滤光片等)。相机可以捕获彩色图像、灰度图像、红外图像等。当相机被配置为捕获红外图像时,相机可以是热成像装置。

在一些实施例中,搭载物可以包括多个成像装置,或者具有多个镜头和/或图像传感器的成像装置。搭载物可以能够基本同时地拍摄多个图像。多个图像可以帮助创建3d场景、3d虚拟环境、3d地图或3d模型。例如,可以拍摄右图像和左图像并用于立体映射。可以从校准的双目图像中计算得到深度图。可以同时拍摄任意数量(例如2个或更多个、3个或更多个、4个或更多个、5个或更多个、6个或更多个、7个或更多个、8个或更多个、9个或更多个)的图像以帮助创建3d场景/虚拟环境/模型,和/或用于深度映射。图像可以朝向基本相同的方向,或者可以朝向稍微不同的方向。在一些情况下,来自其他传感器的数据(例如超声数据、lidar数据、来自如本文中其他地方所描述的任何其它传感器的数据,或来自外部装置的数据)可以帮助创建2d或3d图像或地图。

成像装置可以以特定的图像分辨率来捕获图像或图像序列。在一些实施例中,图像分辨率可以由图像中像素的数量来定义。在一些实施例中,图像分辨率可以大于或等于约352×420像素、480×320像素、720×480像素、1280×720像素、1440×1080像素、1920×1080像素、2048×1080像素、3840×2160像素、4096×2160像素、7680×4320像素或15360×8640像素。在一些实施例中,相机可以是4k相机或具有更高分辨率的相机。

成像装置可以以特定的捕获速率捕获图像序列。在一些实施例中,可以捕获诸如约24p、25p、30p、48p、50p、60p、72p、90p、100p、120p、300p、50i或60i的标准视频帧速率的图像序列。在一些实施例中,可以以小于或等于约每0.0001秒、0.0002秒、0.0005秒、0.001秒、0.002秒、0.005秒、0.01秒、0.02秒、0.05秒、0.1秒、0.2秒、0.5秒、1秒、2秒、5秒或10秒一个图像的速率来捕获图像序列。在一些实施例中,捕获速率可以根据用户输入和/或外部条件(例如雨、雪、风、环境的不明显的表面纹理)而改变。

成像装置可以具有可调参数。在不同的参数下,在相同的外部条件(例如位置、照明)下成像装置可以捕获不同的图像。可调参数可以包括曝光(例如曝光时间、快门速度、光圈、胶片速度)、增益、伽玛、兴趣区域、合并(binning)/子采样、像素时钟、偏移、触发、iso等。与曝光有关的参数可以控制到达成像装置中的图像传感器的光量。例如,快门速度可以控制光到达图像传感器的时间量,并且光圈可以控制在给定时间内到达图像传感器的光量。与增益有关的参数可以控制来自光学传感器的信号的放大。iso可以控制相机对可用光的敏感度。对曝光和增益的参数控制可以被统一考虑并且在本文中被称为expo。

在一些备选的实施例中,成像装置可以延伸到物理成像装置的范围之外。例如,成像装置可以包括能够捕获和/或生成图像或视频帧的任何技术。在一些实施例中,成像装置可以指代能够处理从另一物理装置获得的图像的算法。

搭载物和/或可移动物体可以包括一种或多种类型的传感器。传感器类型的一些示例可以包括位置传感器(例如,全球定位系统(gps)传感器,能够进行位置三角测量的移动装置发射机)、视觉传感器(例如,诸如相机之类的能够检测可见光、红外光或紫外光的成像装置)、接近或范围传感器(例如,超声传感器、激光雷达、飞行时间或深度相机)、惯性传感器(例如,加速度计、陀螺仪和/或重力检测传感器,其可以形成惯性测量单元(imu))、高度传感器、姿态传感器(例如,指南针)、压力传感器(例如,气压计)、温度传感器、湿度传感器、震动传感器、音频传感器(例如,麦克风)和/或场传感器(例如,磁力计、电磁传感器、无线电传感器)。

搭载物可以包括能够将信号发射到环境中的一个或多个装置。例如,搭载物可以包括沿着电磁波谱的发射器(例如,可见光发射器、紫外发射器、红外发射器)。搭载物可以包括激光器或任何其他类型的电磁发射器。搭载物可以发射一个或多个振动,例如超声信号。搭载物可以发射可听见的声音(例如,从扬声器)。搭载物可以发射无线信号,例如无线电信号或其他类型的信号。

搭载物可以能够与环境交互。例如,搭载物可以包括机器人臂。搭载物可以包括用于递送的物品,例如液体、气体和/或固体组分。例如,搭载物可以包括杀虫剂、水、肥料、防火材料、食品、包装或任何其他物品。

在一些实施例中,搭载物106可以经由载体104可移动地耦接到可移动物体102。搭载物106和/或载体104可以位于可移动物体的壳体外部。搭载物可以相对于可移动物体以平移运动的方式移动。例如,搭载物可以相对于可移动物体沿着一个轴、两个轴或三个轴移动。搭载物也可以相对于可移动物体旋转。例如,搭载物可以相对于可移动物体围绕一个轴、两个轴或三个轴旋转。轴可以与另一轴正交。轴可以是载体、成像装置和/或可移动物体的俯仰轴、偏航轴和/或横滚轴。

搭载物可以借助载体相对于可移动物体移动。载体可以包括可以允许载体相对于可移动物体运动的一个或多个云台级。例如,载体可以包括第一云台级、第二云台级和/或第三云台级,第一云台级可以允许载体相对于可移动物体围绕第一轴旋转,第二云台级可以允许载体相对于可移动物体围绕第二轴旋转,第三云台级可以允许载体相对于可移动物体围绕第三轴旋转。可以应用本文中其他地方所描述的载体的任何描述和/或特性。

可以控制可移动物体102和/或成像装置106跟踪一个或多个目标物体110(也称为目标)。在一些实施例中,目标组108包括一个或多个目标物体,或者两个或更多个目标物体。目标物体可以是静止目标或移动目标。在一些情况下,用户可以从图像帧中识别目标物体,并且还可以指定目标物体是静止目标还是移动目标。备选地,用户可以提供关于目标物体是静止目标还是移动目标的任何其他类型的指示符。备选地,可以不提供指示,并且可选地,可以在不需要用户输入目标物体是静止目标还是移动目标的情况下,借助一个或多个处理器自动地进行确定。目标物体可以根据其运动状态被分类为静止目标或移动目标。在某些情况下,在任何给定时间点,目标物体可以正在移动或静止。当目标物体正在移动时,目标物体可以被分类为移动目标。相反地,当相同的目标物体静止时,目标物体可以被分类为静止目标。备选地,目标物体可以由诸如人或动物之类的活体主体或诸如车辆之类的可移动物体承载。

静止目标可以在环境内保持基本静止。静止目标的示例可以包括但不限于景观特征(例如,树木、植物、山脉、丘陵、河流、溪流、小溪、山谷、巨石、岩石等)或人造特征(例如,结构、建筑物、道路、桥梁、杆、围栏、不移动的车辆、标志、灯等)。静止目标可以包括大目标或小目标。用户可以选择静止目标。备选地,可以使用一个或多个图像识别方法来识别静止目标。可选地,可以对静止目标进行映射。可移动物体可以行进到静止目标。可以对可移动物体行进到静止目标的路径(例如飞行路径)进行规划。备选地,可移动物体可以在不需要规划路径的情况下行进到静止目标。在一些情况下,静止目标可以对应于结构或物体的选定部分。例如,静止目标可以对应于摩天大楼的特定部分(例如顶层)。

移动目标可以能够在环境内移动。移动目标可以始终处于运动中,或者可以在部分时间内处于运动中。移动目标可以沿相当稳定的方向移动或者可以改变方向。移动目标可以在空中、在陆地上、在地下、在水上或水中和/或在空间中移动。移动目标可以是活体的移动目标(例如人、动物)或非活体的移动目标(例如移动车辆、移动机械、在风中吹动或由水承载的物体、由活体目标承载的物体)。移动目标可以包括单个的移动物体或一组移动物体。例如,移动目标可以包括单个的人或一组移动的人。移动目标可以是大目标或小目标。用户可以选择移动目标。可以对移动目标进行识别。可选地,可以对移动目标进行映射。可移动物体可以行进到移动目标和/或对移动目标进行视觉跟踪。可以对可移动物体行进到移动目标的路径(例如飞行路径)进行规划。当移动目标移动时,可以改变或更新路径。备选地,可移动物体可以在不需要规划路径的情况下,行进到移动目标和/或对移动目标进行视觉跟踪。

移动目标可以是被配置为在以下的任何合适的环境内移动的任何物体:例如在空中(例如固定翼飞机、旋转翼飞机或既没有固定翼也没有旋转翼的飞机)、在水中(例如船舶或潜艇)、在地面上(例如,诸如汽车、卡车、公共汽车、货车、摩托车之类的机动车;诸如棍子、钓鱼竿之类的可移动的结构或框架;或火车)、在地面下(例如地铁)、在空间中(例如太空飞机、卫星或探测器)或这些环境的任何组合。

移动目标可以能够相对于六个自由度(例如,三个平移自由度和三个旋转自由度)在环境内自由移动。备选地,可以相对于一个或多个自由度限制移动目标的运动,例如通过预先确定的路径、轨道或取向。该运动可以由任何合适的致动机构(例如发动机或电机)来致动。移动目标的致动机构可以由任何合适的能源来提供动力,例如电能、磁能、太阳能、风能、重力能、化学能、核能或其任何合适的组合。如以下进一步所描述的,移动目标可以经由推进系统进行自驱动。推进系统可以可选地由能源供给能量,该能源例如是电能、磁能、太阳能、风能、重力能、化学能、核能或其任何合适的组合。

在一些实例中,移动目标可以是车辆,例如遥控车辆。合适的车辆可以包括水中车辆、飞行器、太空车辆或地面车辆。例如,飞行器可以是固定翼飞机(例如飞机、滑翔机)、旋转翼飞机(例如直升机、旋翼飞机)、具有固定翼和旋转翼二者的飞机,或没有固定翼和旋转翼的飞机(例如飞艇、热气球)。车辆可以是自驱动的,例如通过空气、在水上或水中、在太空中,或在地面上或地面以下自驱动。自驱动车辆可以利用推进系统,例如包括一个或多个发动机、电机、轮子、轴、磁体、旋翼、螺旋桨、叶片、喷嘴或其任何合适的组合在内的推进系统。在一些实例中,推进系统可以用于使可移动物体从表面起飞、在表面上降落、保持其当前位置和/或取向(例如悬停)、改变取向和/或改变位置。

可移动物体可以是例如uav。目标物体可以是与跟踪装置相同类型的可移动物体,或者可以是与跟踪装置不同类型的可移动物体。例如,在一些实施例中,跟踪装置和目标物体都可以是uav。跟踪装置和目标物体可以是相同类型的uav或不同类型的uav。不同类型的uav可以具有不同的形状、形态因素、功能或其他特性。目标物体和跟踪装置可以相对于一个或多个背景物体在三维空间中移动。本文中所使用的背景物体可以指代基本上固定在某个位置处的物体。背景物体可以不能运动,例如静止物体。背景物体的示例可以包括地理特征(例如山脉)、地标(例如桥梁)、建筑物(例如摩天大楼、体育场等)或任何固定的结构。另外,背景物体可以包括在第一时间实例时静止在某个位置处,而在第二时间实例时移动的物体。背景物体中的一些或背景物体中的一部分可以能够运动(例如,具有可伸缩屋顶的体育场,升起以允许水上载具通过的可移动桥梁等)。

跟踪系统100可以可选地包括远程终端112。在一些实施例中,远程终端112可以包括一个或多个处理器,其被配置为处理由成像装置生成的图像以识别目标,估计一个或多个目标或目标组的状态,和/或生成用于控制可移动物体和/或载体的控制信号以便跟踪目标。在一些实施例中,远程终端112可以包括显示器,该显示器被配置为显示通过成像装置获得的一个或多个图像。图像可以针对每个识别的目标示出跟踪指示符(例如有界框)。远程终端112可以包括用户接口(例如触摸屏),用于用户指定或选择要跟踪的一个或多个目标。

图2示出了根据实施例的跟踪系统200中的示例组件。这些组件中的一些或全部可以由诸如图1中所描述的可移动物体和/或远程终端上的一个或多个处理器实现。这些组件可以由被配置为实现存储在非暂时性存储介质中的可执行指令的一个或多个处理器实现。一个或多个处理器可以包括arm处理器、现场可编程门阵列(fpga)、专用集成电路(astc)、中央处理单元(cpu)、图形处理单元(gpu)等。在一些实施例中,可以使用硬件加速技术来实现这些组件中的一些或全部。跟踪系统200包括目标识别模块202、状态估计模块204、目标组确定模块210和跟踪控制模块216。

目标识别模块202可以被配置为接收和处理从由uav承载的一个或多个成像装置获得的图像,以便识别可以作为跟踪候选的一个或多个目标。目标识别模块202可以被配置为提取与一个或多个目标相关联的特征。一个或多个特征可以包括一个或多个特征点。特征点可以是图像的一部分(例如边缘、拐角、兴趣点、斑点、脊状突起等),其可以与图像的其余部分和/或图像中的其他特征点唯一地区分。可选地,特征点对于成像物体的变换(例如平移、旋转、缩放)和/或图像特性的改变(例如亮度、曝光)可以是相对不变的。可以在图像的信息内容丰富(例如明显的2d纹理)的部分中检测特征点。可以在图像的在扰动(例如,当使图像的照度和亮度发生变化时)下稳定的部分中检测特征点。

可以使用可从图像数据中提取一个或多个特征点的各种算法(例如纹理检测算法)来检测特征点。算法可以另外进行关于特征点的各种计算。例如,算法可以计算特征点的总数,或“特征点数”。算法还可以计算特征点的分布。例如,特征点可以广泛地分布在图像(例如图像数据)或图像的子部分内。例如,特征点可以窄范围地分布在图像(例如图像数据)或图像的子部分内。算法还可以计算特征点的质量。在一些实例中,可以基于通过本文提到的算法(例如,fast、角点检测器、harris等)计算的值来确定或评估特征点的质量。

算法可以是边缘检测算法、拐角检测算法、斑点检测算法或脊检测算法。在一些实施例中,拐角检测算法可以是“加速分割检测特征”(fast)。在一些实施例中,特征检测器可以使用fast提取特征点并进行关于特征点的计算。在一些实施例中,特征检测器可以是canny边缘检测器、sobel算子、harris&stephens/plessy/shi-tomasi拐角检测算法、susan拐角检测器、水平曲线曲率方法、高斯拉普拉斯算子、高斯差分、hessian行列式、mser、pcbr或灰度级斑点、orb、freak或其合适的组合。

在一些实施例中,特征点可以包括一个或多个非显著性特征。如本文中所使用的,非显著性特征可以指代图像内的非显著性区域或非明显区别的(例如,不可识别的)物体。非显著性特征可以指代图像内不太可能突出或引起人类观察者的注意的元素。非显著性特征的示例可以包括当在其周围像素的背景之外观看时,对于观察者而言是非明显区别的或不可识别的单个像素或像素组。

在一些备选的实施例中,特征点可以包括一个或多个显著性特征。显著性特征可以指代图像内的显著性区域或明显区别的(例如,可识别的)物体。如本文中所使用的,显著性特征可以指代图像内的显著性区域或明显区别的(例如,可识别的)物体。显著性特征可以指代图像内可能突出或引起人类观察者注意的元素。显著性特征可以具有语义含义。显著性特征可以指代可以在计算机视觉处理之下被一致地识别的元素。显著性特征可以指代图像内的有生命物体、无生命物体、地标、标记、徽标、障碍物等。可以在不同的条件下持续地观察到显著性特征。例如,可以在以下不同条件下获取的图像中(例如,通过人类观察者或通过计算机程序)持续地识别显著性特征:从不同的视点、在一天的不同时间期间、在不同的光照条件下、在不同的天气条件下、在不同的图像获取设定(例如不同的增益、曝光等)下等。例如,显著性特征可以包括人、动物、面部、身体、结构、建筑物、载具、飞机、标志等。

可以使用任何现有的显著性计算方法来识别或确定显著性特征。例如,可以通过基于对比度的滤波(例如颜色、强度、取向、大小、运动、基于深度等)、使用频谱残差方法、经由频率调谐的显著性区域检测、经由用于物体性估计的二值归一化梯度、使用情境感知自顶向下方法、通过按站点熵率测量视觉显著性等方法来识别显著性特征。例如,可以在显著性图中识别显著性特征,显著性图通过对一个或多个图像进行基于对比度的滤波(例如颜色、强度、取向等)而生成。显著性图可以表示具有特征对比度的区域。显著性图可以是人们将观看的预测器。显著性图可以包括特征或定位的空间热图表示。例如,在显著性图中,显著性区域可以具有比非显著性区域更高的亮度对比度、颜色对比度、边缘内容、强度等。在一些实施例中,可以使用物体识别算法(例如,基于特征的方法、基于外观的方法等)来识别显著性特征。可选地,可以将一个或多个物体或将图案、物体、图形、颜色、徽标、轮廓等的类型预先存储为可能的显著性特征。可以分析图像以识别预先存储的显著性特征(例如,物体或物体的类型)。可以更新预先存储的显著性特征。备选地,可以不需要预先存储显著性特征。可以独立于预先存储的信息,在实时的基础上识别显著性特征。

在一些实施例中,可以将图像分段技术应用于图像以将图像划分成共同覆盖整个图像的一组片段或提取一组轮廓。相同区域中的像素相对于某个特性(例如颜色、强度、纹理等)是类似的;而相邻区域相对于相同的特性是不同的。在一些实施例中,图像分段可以包括对显著性区域进行检测和分段,以便保留显著性目标区域。例如,可以使用机器学习技术(例如神经网络、深度学习)来生成显著性图。

在一些实施例中,目标识别模块202可以被配置为检测图像中的物体并对其进行分类。物体检测可以基于使用本文中所描述的技术提取的特征。不同类型或类别的物体中的每一个与不同的一组特征或不同的外观模型相关联,该外观模型帮助分类物体并由此区分物体。例如,人脸、行人和载具可以各自具有一组独特的特征(例如颜色、形状、纹理、轮廓、大小、直方图),其可以用于基于检测到的物体的外观对它们进行分类。在一些实施例中,目标识别模块202可以具有一个或多个物体检测器,每个物体检测器被配置为检测与特定类别的物体相关联的某些特征。例如,物体检测器可以包括人检测器、面部检测器和/或载具检测器。在一些实施例中,物体检测可以基于运动检测,该运动检测基于连续图像之间的比较。每个物体检测器可以被配置为输出指示检测结果的检测响应。例如,检测响应可以包括真或假指示符,其中真响应指示物体的存在,假响应指示物体的不存在。作为另一个示例,检测响应可以包括指示检测的可能性的置信度分数。在各种实施例中,可以使用任何合适的物体检测、物体识别或物体分类算法。

在一些实施例中,目标识别模块202可以被配置为将检测到的物体与不同的目标相关联。例如,可以将表示不同目标的标识符分配给跨越不同(例如连续的)图像帧的检测到的物体。如果在不同的帧中将相同的目标检测为物体,则应该为这些物体分配相同的标识符。另一方面,可以为未与现有目标相关联的检测到的物体分配新的标识符。

在一些实施例中,可以将已经识别(例如,检测到的和/或分配的)的目标物体与跟踪指示符(也称为目标指示符)相关联,该跟踪指示符指示其在图像帧中的状态(例如大小、位置)。目标物体的图像可以由跟踪指示符进行注释,以区分目标物体与图像帧内的其他非目标物体。跟踪指示符可以例如以像素或像素坐标为单位指示其位置和/或大小。跟踪指示符可以包括边界框,该边界框例如基本上围绕着图像内的目标物体的图像。虽然在本文中使用术语边界框来指代跟踪指示符,但是应理解,跟踪指示符不限于边界框。例如,边界框可以是圆形、椭圆形、多边形或任何其他几何形状。跟踪指示符可以具有规则形状或不规则形状。

在一些实施例中,跟踪指示符的属性(例如,图像中的边界框大小和/或位置)可以用于粗略地表示相关联的目标物体的对应属性(例如,图像中的目标大小和/或位置)。跟踪指示符的属性也称为边界框信息。边界框信息可以用于估计目标物体在现实世界中(例如,在导航坐标系中)的状态。

边界框可以被认为是与目标物体相关联的特征。图像分析器可以被配置为分析第一图像帧和第二图像帧以确定目标物体的第一图像和目标物体的第二图像之间的一个或多个特征的改变。一个或多个特征可以与目标物体的图像相关联。一个或多个特征的改变可以包括一个或多个特征的大小和/或位置的改变。一个或多个特征还可以与跟踪指示符相关联。跟踪指示符可以是围绕着图像帧内的目标物体的图像的框、圆或任何其他几何形状。

一个或多个特征可以对应于边界框的几何和/或位置特性。例如,边界框的几何特性可以对应于图像帧内的边界框的大小。边界框的位置特性可以对应于图像帧内的边界框的位置。边界框的大小和/或位置可以随着目标物体与跟踪装置之间的空间位置的改变而改变。空间位置的改变可以包括目标物体与跟踪装置之间的距离和/或取向的改变。

在一些实施例中,目标识别模块202可以包括图像分析器,其可以被配置为确定第一图像帧与第二图像帧之间的边界框的大小和/或位置的改变。图像分析器还可以被配置为向反馈控制器(未示出)提供指示边界框的大小和/或位置的改变的数据。反馈控制器可以被配置为基于第一图像帧与第二图像帧之间的边界框的大小和/或位置的改变,来调整跟踪装置的运动以跟踪目标物体。可以在视觉跟踪系统100内的任何地方提供反馈控制器。例如,反馈控制器可以是跟踪装置的运动控制器的一部分。运动控制器可以位于可移动物体的主体上,或远离跟踪装置。例如,运动控制器可以位于用于控制跟踪装置的远程用户终端(未示出)上。在一些实施例中,反馈控制器可以被配置为基于第一图像帧与第二图像帧之间的边界框的大小和/或位置的改变,来调整成像装置的运动以跟踪目标物体。

在一些实施例中,在将由成像装置(搭载物106)捕获的图像数据提供给图像分析器之前,可以将该图像数据存储在媒体存储装置(未示出)中。图像分析器可以被配置为直接从媒体存储装置接收图像数据。在一些实施例中,图像分析器可以被配置为同时从成像装置和媒体存储装置接收图像数据。媒体存储装置可以是能够存储多个物体的图像数据的任何类型的存储介质。如前所述,图像数据可以包括视频或静止图像。可以由图像分析器处理和分析视频或静止图像,如稍后在说明书中所述。可以作为cd、dvd、蓝光盘、硬盘、磁带、闪存卡/驱动器、固态驱动器、易失性或非易失性存储器、全息数据存储器以及任何其他类型的存储介质来提供媒体存储装置。在一些实施例中,媒体存储装置也可以是能够将图像数据提供给图像分析器的计算机。

作为另一示例,媒体存储装置可以是网络服务器、企业服务器或任何其他类型的计算机服务器。媒体存储装置可以被计算机编程,以接受来自图像分析器的请求(例如,http或可以发起数据传输的其他协议),并且向图像分析器提供所请求的图像数据。另外,媒体存储装置可以是用于分发图像数据的广播设备,诸如免费广播、有线电视、卫星和其他广播设施。媒体存储装置也可以是数据网络(例如云计算网络)中的服务器。

在一些实施例中,媒体存储装置可以位于成像装置上。在一些其他的实施例中,媒体存储装置可以位于可移动物体上,但不位于成像装置上。在一些其他的实施例中,媒体存储装置可以位于可移动物体和/或成像装置之外的一个或多个外部装置上。在又一些实施例中,媒体存储装置可以位于遥控器、地面站、服务器等上。可以实现上述组件的任何排列或组合。在一些实施例中,媒体存储装置可以经由对等网络架构与成像装置和可移动物体进行通信。在一些实施例中,可以使用云计算架构来实现媒体存储装置。

可以以图像信号的形式将图像数据提供给图像分析器,用于图像处理/分析。图像分析器可以被实现为在处理器中执行的软件程序和/或被实现为硬件,其分析多个图像帧以确定目标物体的多个图像之间的一个或多个特征的改变。例如,图像分析器可以被配置为分析第一图像帧和第二图像帧,以确定连续或非连续图像帧之间的目标物体的第一图像与第二图像之间的一个或多个特征的改变。在一些实施例中,图像分析器可以被配置为在可移动物体、成像装置和/或目标物体中的至少一个处于运动中时确定一个或多个特征的改变。在任何给定时刻,可移动物体、成像装置和/或目标物体可以能够移动和/或停止。例如,支撑成像装置的可移动物体可在移动到不同位置以跟踪和/或跟随目标物体之前悬停一段时间。

成像装置(搭载物106)和图像分析器可以共同位于一个装置中。例如,图像分析器可以位于成像装置内或形成成像装置的一部分。相反地,成像装置可以位于图像分析器内或形成图像分析器的一部分。可选地,图像分析器可以位于远离成像装置处。例如,可以将图像分析器设置在与成像装置通信的远程服务器中。图像分析器可以在任何其他类型的外部装置(例如,用于可移动物体的遥控器、由目标物体承载的物体、诸如基站之类的参考位置、或跟踪装置)处提供,或者可以分布在云计算架构上。

在一些实施例中,图像分析器和用于存储图像数据的媒体存储装置可以位于相同的装置上。在其他实施例中,图像分析器和用于存储图像数据的媒体存储装置可以位于不同的装置上。图像分析器和媒体存储装置可以经由有线或无线连接进行通信。

仍然参考图2,状态估计模块204可以被配置为确定目标物体在现实世界中的状态。物体的状态可以包括其运动状态,例如位置、速度、加速度和/或取向。可以相对于任何合适的参照系或坐标系表示状态。例如,可以相对于地面参照系或任何其他合适的参照系来表示目标物体的状态。可以在与uav导航相同的坐标系中或在不同的坐标系中指示目标物体的状态。在示例中,使用导航坐标系中的坐标来指示物体位置。导航坐标系可以包括北东下(ned)坐标系,其原点是地面上的预定位置(例如,uav起飞位置、地面站或远程终端位置、归航位置)。备选地,导航坐标系可以包括东北上(enu)坐标系,其原点在uav(例如,uav的重心)处。

在一些实施例中,物体的状态还可以涉及其外观,例如其大小、形状、纹理、颜色等。在一些示例中,不同图像中的跟踪指示符的外观(例如,边界框大小和/或位置)的改变可以用于表示跨越不同帧的相关联的目标物体的改变。

状态估计模块204可以包括物体状态估计模块204和组状态估计模块206。物体状态估计模块204被配置为例如基于与(例如,由目标识别模块202获得的)目标物体相关联的边界框信息,来确定目标物体的状态(例如,目标物体与跟踪系统之间的相对距离或相对角度)。组状态估计模块206可以被配置为基于包括在目标组中的目标物体的状态来确定目标组的状态。

目标组确定模块210可以被配置为确定包括一个或多个目标物体在内的目标组。例如,目标组确定模块210可以被配置为基于目标物体的状态(例如,它们彼此的接近度或它们与参考点的接近度),从(例如,通过目标识别模块202)已经识别的多个目标物体中选择一个或多个目标物体。目标组确定模块210可以包括组初始化模块212和组更新模块214,组初始化模块212被配置为对目标组进行初始化,组更新模块214被配置为对目标组进行更新。

跟踪控制模块216可以被配置为生成用于控制uav和/或载体的控制信号,以便跟踪目标组。跟踪可以基于诸如由状态估计模块204获得的目标组状态。在一些实施例中,跟踪控制模块216可以包括在本文其他地方描述的反馈控制器。

图3示出了根据实施例的用于实现多目标跟踪的示例性过程300。过程300的一些或全部方面(或本文中描述的任何其他过程,或其变型和/或组合)可以由可移动物体(例如uav)上和远程终端处的一个或多个处理器执行。过程300的一些或全部方面(或本文中描述的任何其他过程,或其变型和/或组合)可以在配置有可执行指令的一个或多个计算机/控制系统的控制下执行,并且可以被实现为在一个或多个处理器上共同执行的代码(例如可执行指令、一个或多个计算机程序或一个或多个应用)、通过硬件实现或者通过上述的组合来实现。代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质可以是非暂时性的。描述操作的顺序不旨在被解释为限制,并且可以将任何数量的描述的操作以任何顺序和/或并行地进行组合,以实现过程。

在块302处,识别多个目标。在一些实施例中,可以基于由诸如uav之类的可移动物体承载的一个或多个成像装置所获得的图像来识别多个目标。成像装置可以刚性地耦接到uav。或者,成像装置可以经由载体耦接到uav,载体被配置为允许成像装置相对于uav移动。备选地或附加地,在一些实施例中,可以使用诸如gps传感器、激光雷达、超宽带(uwb)雷达传感器、毫米波雷达传感器等其他传感器来识别多个目标。在一些实施例中,可以通过诸如边界框之类的跟踪指示符来指示所识别的目标。

在块304处,可以基于多个目标来确定目标组。具体地,目标组包括一个或多个目标,该一个或多个目标可以从多个识别的目标中选择。可以基于与一个或多个目标中的每一个相关联的目标状态来选择一个或多个目标。例如,可以基于目标彼此的接近度或目标与预定参考点(例如图像中心)的接近度,来选择目标组的目标。备选地,可以基于主要目标来选择一个或多个目标。在目标组中,可以选择主要目标附近的目标。

在一些实施例中,可以至少部分地基于边界框信息来确定目标的状态。例如,可以至少部分地基于边界框信息、成像装置的视场(fov)、uav状态(例如高度)和/或相机取向,来确定跟踪系统与目标之间的相对距离矢量。在给定跟踪系统的位置(其可以使用诸如gps传感器之类的任何合适的位置传感器来确定)的情况下,可以由此基于跟踪系统的位置和相对距离矢量来确定目标的位置。

在块306处,可以跟踪目标组。跟踪可以基于与目标组相关联的目标组状态。目标组状态可以至少部分地基于目标组中的一个或多个目标各自的目标状态来确定。例如,可以将目标组的位置或速度计算为该组中每个目标的位置或速度的平均或加权平均。目标的状态或目标组的状态可以包括在任何合适的坐标系(例如,图像坐标系或导航坐标系)中的运动状态,例如位置、速度、加速度或取向。目标的状态或目标组的状态还可以包括其类型或外观,例如其大小、形状、颜色、纹理等。

跟踪目标组可以包括生成用于与uav和/或载体相关联的致动系统的控制信号。跟踪目标组可以意指在从成像装置获得的图像中将目标组保持为预定位置和/或大小或其附近。备选地,跟踪目标组可以意指保持跟踪系统与目标组之间的预定的空间关系(例如距离)。

在一些实施例中,目标组可以由诸如边界框之类的跟踪指示符指示。可以通过对图像进行分析来检测图像帧之间的边界框的大小和/或位置的改变。基于边界框的大小和/或位置的改变,可以计算目标组与跟踪装置或跟踪系统(例如uav和/或成像装置)之间的距离的改变。距离的改变可以具有多个分量,例如沿着两个不同的方向的分量。控制器可以被配置为基于距离的改变生成用于控制跟踪系统的运动的控制信号,以便减小改变的影响或使改变的影响最小化。例如,可以基于距离的改变确定跟踪系统的预期速度。预期速度可以包括沿着两个或更多个不同方向的两个或更多个速度分量。反馈控制器可以使用预期速度分量来调整uav的对应的速度分量和/或调整载体沿着两个或更多个轴的旋转。反馈控制器可以是比例-积分-微分(pid)控制器。

例如,控制器可以根据跟踪装置与目标物体之间的距离的改变以及发生距离变化的方向,引导跟踪装置朝向或远离目标物体(现在是目标组)移动。运动控制器还可以根据图像帧之间的边界框的位置的改变,引导跟踪装置相对于目标物体改变其取向。跟踪装置的取向的改变可以包括跟踪装置围绕偏航轴、横滚轴和/或俯仰轴的旋转运动。在一些实施例中,运动控制器可以基于不同图像帧之间的边界框的大小和/或位置的改变,同时控制跟踪装置相对于目标物体的平移和旋转。

图4示出了根据实施例的用于实现多目标跟踪的示例性过程400。

在块402处,可以处理一个或多个图像以识别多个目标。图像可以通过uav所承载的一个或多个成像装置获得。图像可以包括静止图像或视频帧。成像装置可以由uav经由允许成像装置和uav之间的相对运动的载体来承载。

在一些实施例中,识别目标可以包括基于对某些类型的目标特定的特征来检测图像中的目标物体。目标特征可以与颜色、亮度、大小、形状、纹理等有关。目标物体的类型的示例可以包括静态物体、移动物体、人、载具、建筑物、植物等。在一些实施例中,可以默认设置或由用户指定要检测的物体的类型。例如,用户可以在跟踪开始之前,经由远程终端指定要跟踪的物体的类型。备选地或附加地,用户可以在跟踪物体期间,经由远程终端动态地指定或更新要跟踪的物体的类型。例如,远程终端可以允许用户指定对人进行跟踪的“人跟踪”模式,或者对载具进行跟踪的“载具跟踪”模式。作为另一示例,用户可以从目标特性列表中指定或选择目标的特性。在其他实施例中,要检测和跟踪的物体的类型可以通过自动或半自动过程来确定,例如,基于机器学习技术。例如,自动过程可以被配置为基于uav的当前时间、当前位置或环境自动地确定要跟踪的目标的类型。在一些其他的示例中,可以基于用户简档、先前的跟踪历史、uav和/或成像装置的配置、由uav传感器获得的感测数据等来确定目标的类型。在另一示例中,用户可以经由远程终端上的用户接口来选择要跟踪的目标,并且可以自动地确定关于目标的特性并将其用作用于检测和跟踪其他类似目标的模板。在其他示例中,可以允许用户确认、拒绝或更新由自动过程生成的目标的类型。

在一些实施例中,可以将目标类型信息从远程终端发送到uav,使得uav上的处理器可以使用目标类型信息来检测由所载成像装置捕获的图像中的目标物体。备选地,远程终端处的处理器或uav处的处理器可以使用目标信息,以识别从uav接收的图像中的目标。

可以基于目标的类型,对从成像装置获得的图像进行处理以检测目标物体。例如,可以从图像中提取各种特征(例如点、边缘、斑点、显著性区域)并与目标特征进行比较以确定匹配。作为另一个示例,可以通过比较相邻的图像来确定移动物体。在一些实施例中,可以使用一个或多个物体检测器,每个物体检测器被配置为检测某种类型的物体。可以对来自检测器的检测结果(例如置信度分数)进行分析(例如排序、过滤、相关性分析)以确定检测到的物体。

可以使用各种物体检测算法。例如,物体检测算法可以基于物体模型、物体模板和特征以及遗传算法。物体检测技术示例可以包括边缘匹配、灰度或梯度匹配、分治搜索、解释树、假设检验、不变量、尺度不变特征变换(sift)、加速鲁棒特征(surf)等。

在一些实施例中,识别目标包括对跨越不同帧检测到的物体进行关联。例如,可以将表示不同目标的标识符分配给跨越不同(例如连续的)图像帧的检测到的物体。例如,对于在给定帧中识别的多个物体中的每一个,如果先前已经在先前帧中识别了该物体,则可以为该物体分配与先前识别的物体相同的标识符;否则,可以为该物体分配新的标识符。

可以将已经识别(例如,检测到的和/或分配的)的目标物体与指示其在图像帧内的属性(例如位置和/或大小)的跟踪指示符(边界框)相关联。如本文中所讨论的,边界框信息可以用于估计目标物体的状态。如本文中所讨论的,边界框信息的改变可以用于检测物体状态的改变,并生成用于继续跟踪物体的控制信号。

在块404处,可以确定图像中所识别的目标物体中的每一个的状态。目标物体的状态可以包括运动状态,运动状态包括位置、速度(角度或线性)、加速度(角度或线性)和/或取向。

可以至少部分地基于边界框信息来确定每个目标物体的位置。在一些实施例中,位置确定另外基于uav状态、成像装置/载体的状态、成像装置的一个或多个配置参数、和/或感测数据。例如,可以基于跟踪系统在导航坐标系中的位置(例如,uav和/或成像装置的导航坐标)以及目标物体相对于跟踪系统的位置,来确定目标物体在导航坐标系中的位置(目标的导航坐标)。可以基于感测数据来确定跟踪系统的导航坐标,感测数据来自诸如gps传感器、视觉或可视传感器(例如立体视觉传感器)、激光雷达传感器、超声传感器、激光传感器、磁力计等传感器的任何组合。例如,可以使用传感器融合技术,基于两种或更多种类型的传感器(例如,gps传感器和立体视觉传感器)来确定跟踪系统的位置。可以基于跟踪系统和目标物体之间的相对距离和/或相对角度来确定目标物体相对于跟踪系统的位置。

可以基于目标物体的边界框信息(例如像素位置和/或大小)来计算跟踪系统(例如uav和/或成像装置)与目标物体之间的相对距离。在一些实施例中,可以另外基于uav状态信息(例如高度)、成像装置/载体的状态(例如相机或载体高度)和/或成像装置的一个或多个配置参数(例如视场(fov)、焦距)来计算相对距离。

可以基于感测数据(例如gps和/或磁力计数据)计算跟踪系统与目标物体之间的相对角度。备选地,可以基于边界框信息计算跟踪系统与目标物体之间的相对角度。在一些实施例中,可以另外基于uav状态信息(例如高度)、成像装置/载体的状态(例如相机或载体高度)和/或成像装置的一个或多个配置参数(例如视场(fov)、焦距)来计算相对角度。使用偏航角作为示例,给定边界框的像素坐标和相机参数(例如fov、焦距),可以确定目标与成像装置的光轴之间的相对角度α。如果在成像装置与uav之间存在相对偏航角yawgimbal,那么可以确定目标与uav之间的该相对角度yawtarget2drone:yawtarget2drone=yawgimbal+α。

在一些实施例中,可以至少部分地基于边界框信息确定每个目标物体的速度。例如,可以基于目标物体随时间的位置改变来估计目标物体的速度。用于基于边界框信息来确定相对距离、位置和/或速度的示例技术在2016年2月26日递交的国际申请no.pct/cn2016/074693中描述,其全部内容通过引用合并在本文中。

在一些实施例中,可以应用噪声滤波器来从目标状态数据中移除噪声。各种噪声可能导致对目标状态(例如位置、速度)的不准确的估计。例如,这种噪声可以包括边界框信息中的噪声(例如,边界框相对于实际目标偏移或未对准)和测量噪声。为了移除这种噪声,可以在确定目标状态(例如位置、速度)时应用任何合适的噪声滤波器。这类滤波器可以包括一个或多个一阶滤波器、二阶滤波器、高阶滤波器、卡尔曼滤波器、扩展卡尔曼滤波器、巴特沃斯(butterworth)滤波器、parks-mcclellan滤波器等。

在一些实施例中,可以基于被跟踪的目标的类型应用不同类型的滤波器。在一些实施例中,可以针对不同类型的目标物体设计不同的状态函数(例如,在卡尔曼滤波器的预测步骤中所使用的函数)。不同的状态函数可以包含针对不同目标类型的不同的动态模型或运动特性。在示例中,第一个模型可以用于汽车和自行车,第二个不同的模型可以用于行人(例如均匀加速模型)。可以如以上在块402中所描述的那样确定目标物体的类型或类别。

在一些实施例中,可以将来自一个或多个传感器的感测数据与上述状态估计融合以改善结果。在一些实施例中,可以使用来自一个或多个其他传感器的感测数据来确定目标状态,而不是如在块402和块404中所述的那样依赖于图像数据。例如,这种确定可以基于gps信号、超宽带(uwb)技术、激光雷达、立体视觉或毫米波雷达技术。在一些实施例中,要跟踪的目标物体可以主动发送可以用于确定目标状态的感测数据。例如,可以获得来自位于目标物体上的惯性测量单元(imu)或磁力计的感测数据,并将其用于确定目标物体的取向。

在块406处,可以确定包括多个目标在内的目标组。可以对作为整体的目标组进行跟踪。在一些实施例中,可以至少部分地基于目标物体的相应状态来选择目标组内的目标物体。这可以包括在任何合适的坐标系中的目标物体的状态,例如在二维(2d)图像坐标系中或在三维(3d)导航坐标系中。在图像坐标系中的目标物体的状态可以包括位置、大小和/或运动矢量。例如,目标物体的位置可以由图像坐标系中的目标物体的中心的像素坐标来表示。在一些示例中,可以将目标物体的边界框的中心的像素坐标用作其位置坐标。导航坐标系中的目标物体的状态(包括位置、速度、加速度和/或取向),可以根据以上图4的块404中描述的技术来确定。

图7示出了根据实施例的用于目标组选择的一些示例性过程。如在700a中所示,已经在图像720中识别出目标物体701、702、703、704和705。目标物体可以由边界框710指示,以与图像中的其他非目标物体(未示出)区分。

如在700b中所示,可以至少部分地基于图像坐标系中的目标物体的状态来确定包括一个或多个物体在内的目标组。该确定可以基于目标物体的位置。例如,可以分别针对目标物体701、702、703、704和705,基于参考点(u0,v0)的位置坐标以及目标物体的像素坐标(例如(u1,v1)、(u2,v2)、(u3,v3)、(u4,v4)、(u5,v5)),确定图像坐标系中的参考点与目标物体中的每一个之间的距离。可以将每个目标物体的相应距离与预定的阈值距离d进行比较,并且可以在目标组中选择距离小于或等于d的那些目标物体。在备选实施例中,可以在目标组中仅选择距离大于或等于d的那些目标物体。

在各种实施例中,参考点可以是图像中心、参考物体(例如地标建筑物)的位置或图像坐标系中的任何其他预定点。参考点可以由系统默认设置和/或由用户或系统管理员配置。例如,可以允许用户使用远程终端指定参考点。

附加地或备选地,目标组选择可以基于目标物体的位置的改变。例如,目标物体的位置可以在相邻的图像之间发生偏离。位置的偏离可以由图像坐标系中的运动矢量来表示。运动矢量可以指示目标物体移动的方向(目标方向)和/或位置改变的运动的幅度(目标速度)。可以将每个目标物体的运动矢量的分量与指示参考方向和/或参考幅度的参考运动矢量的分量进行比较。组选择可以基于该比较结果。例如,在一些实施例中,如果目标方向与参考方向之间的偏差小于阈值角度,和/或如果目标幅度小于或等于参考速度,则将目标物体选择为位于目标组中。

如在700c中所示,可以至少部分地基于3d坐标系(例如导航坐标系)中的目标物体的状态(如在本文中图4的块404中那样确定),来确定包括一个或多个物体在内的目标组。该确定可以基于目标物体的位置。例如,可以分别针对目标物体701、702、703、704和705,基于参考点(x0,y0,z0)的位置坐标以及目标物体的导航坐标(例如(x1,y1,z1)、(x2,y2,z2)、(x3,y3,z3)、(x4,y4,z4)、(x5,y5,z5)),来确定导航坐标系中的参考点与目标物体中的每一个之间的距离。可以将每个目标物体的相应距离与预定的阈值距离d进行比较,并且可以在目标组中选择距离小于或等于d的那些目标物体。在备选实施例中,可以在目标组中仅选择距离大于或等于d的那些目标物体。

在各种实施例中,参考点可以对应于以下各点中的点:图像中心、参考物体(例如地标建筑物)的位置、归航点、跟踪装置位置、用户位置、远程终端位置或导航坐标系中的任何其他预定点。例如,可以对距某个建筑物或距用户某个距离内的物体进行跟踪。作为另一示例,可以选择最接近跟踪系统的物体用于跟踪。可以通过诸如gps传感器之类的一个或多个位置传感器确定建筑物、用户或跟踪系统的位置。参考点可以由系统默认设置和/或由用户或系统管理员配置。例如,可以允许用户使用远程终端指定参考点。

附加地或备选地,目标组选择可以基于导航坐标系中的目标物体的速度或运动矢量。可以如在图4的块404中所描述的那样确定目标物体的速度。速度可以指示目标物体在导航坐标系中移动的方向(目标方向)和/或运动的幅度(目标速率)。可以将每个目标物体的速度的分量与指示参考方向和/或参考速率的参考速度的分量进行比较。组选择可以基于该比较结果。例如,在一些实施例中,如果目标方向与参考方向之间的偏差小于阈值角度,和/或如果目标速率小于或等于参考速率,则将目标物体选择为位于目标组中。

附加地或备选地,目标组选择可以基于诸如目标大小之类的其他状态信息。图像坐标系中的目标物体的大小可以由其边界框所覆盖的区域的尺寸或大小来表示(例如,像素宽度乘以像素高度)。可以根据目标与成像装置之间的几何关系,基于图像坐标系中的目标物体的大小来计算导航坐标系中的目标物体的大小。在示例中,可以在目标组中仅选择大小大于或等于阈值大小的目标物体。在另一示例中,可以在目标组中仅选择大小小于或等于阈值大小的目标物体。

虽然针对图像坐标系和导航坐标系讨论了以上实施例,但是应理解,提供这样的坐标系仅用于说明目的而不旨在限制。在各种实施例中,目标组选择可以基于任何合适的参照系或坐标系中的目标物体的状态。

基于诸如本文中所讨论的那些因素,可以确定包括目标物体在内的目标组。例如,如在700d中所示,可以基于以上所讨论的因素中的一些或全部而将目标物体701、702和703选择为目标组708的一部分。用来指示目标组的目标组708的边界框可以在或可以不在图像720上示出。如本文中更详细地描述的,可以基于成员状态来计算目标组的状态(例如,导航坐标系中的3d位置和/或速度或图像坐标系中的2d位置/速度)。

在一些实施例中,可以将一个或多个目标物体确定为主要目标物体(也称为主要目标或主要物体)。可以始终对主要目标进行跟踪,因此主要目标始终在目标组中。可以基于其余目标物体(次要目标物体)与主要目标物体的关系,将其余目标物体包括在目标组中或从目标组中排除。

图8示出了根据实施例的用于目标组选择的另一示例性过程。如图所示,可以至少部分地基于主要目标的状态来确定目标组。如在800a中所示,已经在图像820中识别出目标物体801、802、803、804和805。目标物体可以由边界框810指示,以与图像中的其他非目标物体(未示出)区分。

如在800b中所示,目标801可以是将被包括在目标组中的主要目标,而其余目标物体(例如目标802)可以是可以包括或可以不包括在目标组中的非主要或次要物体。在一些实施例中,组选择可以基于主要目标与次要目标之间的空间关系。例如,可以基于它们的位置坐标来计算主要目标与次要目标之间的距离。可以仅将落在距主要目标预定阈值距离内的那些目标(例如,距离小于或等于预定阈值距离)包括在目标组808中。除了主要目标的位置之外,还可以使用主要目标的其他状态信息来选择目标组的成员。例如,可以将次要目标的移动方向与主要目标的移动方向进行比较。如果两个方向之间的差异小于或等于预定阈值,则在目标组中选择次要目标。备选地或附加地,可以将次要目标的速率与主要目标的速率进行比较。如果两个速率之间的差异小于或等于预定阈值,则在目标组中选择次要目标。例如,如在800c中所示,可以基于次要目标物体802和803与主要目标物体801的关系而将次要目标物体802和803选择为位于相同的目标组808中。

在一些实施例中,可以将帧中的多于一个的目标确定为包括在目标组中的主要目标。在这类实施例中,可以基于各个主要目标的状态来计算作为整体的多个主要目标的状态。例如,多个主要目标的状态(例如位置、速度)可以是各个主要目标的状态的平均。然后,可以使用多个主要目标的状态来选择要包括在目标组中的次要目标。

在各种实施例中,可以以各种方式确定主要目标物体。例如,用户可以使用远程终端上的用户接口(例如触摸屏)来将某些目标物体指定为主要目标。在一些其他示例中,可以例如基于机器学习技术将目标自动地确定为主要目标。可以基于目标物体的状态将目标物体设置为主要目标。例如,最接近参考点(例如图像中心)的目标可以被认为是主要目标。作为另一示例,已经以某个速率(例如,大于或等于最小阈值速率,和/或小于或等于最大阈值速率)移动的目标可以被认为是主要目标。

在一些实施例中,可以基于目标在图像中的外观(例如颜色、亮度、大小)来确定主要目标。例如,较大的物体可以比较小的物体更可能成为主要目标。作为另一示例,具有某些颜色(例如红色毛衣)或亮度的目标可以被认为是主要目标。作为另一示例,可以将面部识别算法应用于图像以将某些目标(例如领导者)识别为主要目标。作为另一示例,可以将手势识别算法应用于图像以将做出某些预定义的手势的目标识别为主要目标。

在一些实施例中,可以基于对与目标相关联的某个物体或标识符的检测来确定主要目标。这种物体的示例可以包括可视的标记(例如基准标记)、被配置为发射电磁波(例如无线电、红外光、可见光)的标签等。可以检测物体和/或其传输以识别主要目标。

在一些实施例中,可以基于与目标物体相关联的权重值来选择主要目标。目标物体的权重值可以指示其重要性。具有较高权重值的目标物体可以更有可能被选择为主要目标。可以基于任何先前讨论的诸如目标物体的状态(例如位置、速度、加速度、取向、类型、外观)之类的因素来为目标物体分配权重值。

仍然参考图4的块406。在一些实施例中,目标组确定可以基于目标物体的目标类型。例如,在一个示例中,仅将行人选择为位于目标组中。在另一个示例中,仅将骑车人选择为位于目标组中。在另一个示例中,可以在目标组中选择多于一种类型的目标。可以基于用户输入来确定目标组的目标的类型。例如,用户可以经由远程终端指定要作为组跟踪的目标的类型。或者,用户可以选择指示要跟踪的类型的跟踪模式。

备选地或附加地,可以基于当前环境、uav的状态、用户简档、跟踪历史等自动地确定要跟踪的目标组的目标类型(跟踪类型)。例如,在城市环境中,跟踪类型可以被设置为行人。在野外环境中,跟踪类型可以是动物(例如成群的水牛)。作为另一示例,跟踪类型可以根据uav的高度而变化。在较高的高度处,跟踪类型可以被设置为较大和/或较快的移动物体,例如载具。在较低的高度处,跟踪类型可以被设置为较小和/或较慢的移动物体,例如行人。作为另一示例,跟踪类型可以根据用户的简档、人口统计数据信息和/或跟踪历史而变化。例如,可以基于用户的年龄、职业、地址、偏好等来设置跟踪类型。可以将跟踪类型设置为最近跟踪的目标类型或最频繁跟踪的目标类型。

在一些实施例中,可以基于与目标物体相关联的权重值来选择目标组。目标物体的权重值可以指示其重要性。具有较高权重值的目标物体可以更有可能被添加到目标组。可以基于本文中所讨论的诸如目标物体的状态(例如位置、速度、加速度、取向)、类型、外观、环境信息、用户输入等因素来为目标物体分配权重值。

在各种实施例中,可以结合(与“and”)或分开(或“or”)使用以上讨论的因素(例如位置、速度、大小、类型、环境、权重值)的任何组合,以选择目标组的成员。

目标组中的目标的数量可以是有限的或无限制的。在一些实施例中,目标组中的目标的数量不能小于阈值最小数量或百分比,和/或目标组中的目标的数量不能大于阈值最大数量或百分比。例如,在基于权重的目标组选择中,可以根据目标的权重值对目标进行排序,并且可以为目标组选择不多于n个的排名最高的目标物体,其中n是阈值最大数量。在各种实施例中,这些阈值可以默认设置、由用户设置或自动地确定。

在一些实施例中,确定目标组包括更新现有目标组。例如,可以根据结合图5的块504讨论的方法来更新目标组。

仍然参考图4,在块408处,确定目标组的状态。目标组状态的确定可以基于与目标组的成员目标相关联的状态。例如,可以将目标组状态计算为成员状态的平均或均值。例如,可以通过对组成员的位置坐标进行取平均来计算目标组的位置坐标。可以以类似的方式计算目标组的其他状态信息(例如速度、加速度、取向)。在一些实施例中,可以为目标组中的每个目标分配权重值(例如,不小于0且不大于1的数),其可以用于将目标组状态计算为各个目标状态的加权平均。权重值可以用于指示目标的重要性。较高的权重值可以指示较大的重要性。例如,在组中,与主要目标相关联的权重值可以高于与非主要目标相关联的权重。在一些实施例中,可以基于本文中所讨论的诸如目标状态(例如,与参考点或阈值比较)、外观、类型、环境等一个或多个因素来确定目标的权重值。在一些实施例中,用于计算目标组状态的权重值可以与用于选择目标组的权重值相同或不同。

在块410处,可以至少部分地基于目标组状态来生成控制信号,以便跟踪目标组。一旦将多个目标缩减为目标组后,就可以将作为整体的目标组视为用于跟踪的单个目标。例如,可以检测图像之间的目标组的位置和/或大小的改变。可以基于检测到的改变生成控制信号,用于控制uav和/或控制载体。控制信号可以被配置为调整uav的位置、速度、加速度或取向。备选地或附加地,控制信号可以被配置为经由载体调整成像装置相对于uav的取向。该调整可以被配置为保持目标组在图像中的预定位置和/或大小。备选地,该调整可以被配置为保持跟踪系统与目标组之间的预定空间关系(例如距离)。

将目标组视为单个目标物体,可以应用各种跟踪方法来跟踪目标组。跟踪技术示例包括在国际申请no.pct/cn2016/074693和/或pctpct/cn2014/083315中描述的那些技术,两者均通过引用包括在本文中。

图5示出了根据实施例的用于实现多目标跟踪的另一示例性过程500。

在块502处,可以初始化目标组。目标组可以包括一个或多个目标物体。可以使用本文中描述的方法来对初始化的目标组进行跟踪。可以使用诸如本文中所述的物体检测或图像匹配算法,基于一个或多个图像来识别一个或多个物体。在一些实施例中,可以基于用户输入来执行目标组的初始化。可以将本文中讨论的用于目标组确定的各种方法用于初始化目标组。例如,操作远程终端的用户可以在远程终端上显示的图像中选择一个或多个目标物体。然后关于用户选择的信息可以被发送到uav。在一些其他的实施例中,可以基于目标物体的状态(例如,在图像坐标系中或在导航坐标系中的状态)、参考物体、目标类型、主要目标、环境、历史数据等自动地执行目标组的初始化。在一些示例中,可以将机器学习算法用于初始化目标组。在一些其他的实施例中,可以组合自动初始化和手动初始化以对目标组进行初始化。

在块504处,可以更新目标组。目标组的初始化可以基于第一图像。随后,可能需要基于第二图像对要跟踪的目标组进行更新。例如,由于uav、成像装置和/或周围物体的运动,由第二图像捕获的物体可以与在第一图像中捕获的物体不同。对目标组进行更新可以包括添加或移除目标物体,例如图9-图11中所示。

图9示出了根据实施例的目标物体向目标组的添加。如在900a中所示,已经在图像920中识别出目标物体901、902、903、904和905。例如,基于本文中所描述的因素,在这些物体中,目标物体901、902和903被选择为目标组908的一部分。目标物体904和905不是目标组908的一部分。可以基于目标组成员的状态来确定目标组的状态。例如,目标组908的状态可以包括其位置(xg,yg,zg)和其速度vg。注意,虽然目标组的状态被示出为3d状态,但是仅用于说明目的。在其他实施例中,目标组的状态可以包括2d状态,例如其在图像坐标系中的大小和/或位置。

在900b中示出的下一个图像922中,目标物体的状态可以改变。例如,在图像920和图像922之间,目标物体904的位置可以从(x4,y4,z4)改变为(x4’,y4’,z4’)。在图像922中,目标物体905可能已经移出视野。在图像920和图像922之间,目标物体904的速度可以从v4改变为v4’。可以将目标物体904的改变后的状态与目标组908的状态进行比较。例如,可以将目标物体904的更新的位置和/或更新的速度与目标组908的更新的位置和/或更新的速度进行比较。作为比较的结果,现在可以将目标物体904包括在目标组中以生成更新的目标组910。例如,更新的目标物体904与目标组908的位置之间的距离可以小于或等于阈值距离。更新的目标物体904的速度与目标组908的速度之间的差异(例如方向和/或速率的差异)可以小于或等于阈值。

如在900c中所示,可以基于对目标物体904的包括来计算目标组910的更新的状态。例如,更新的目标组910的更新的位置和速度是位置(xg’,yg’,zg’)和其速度vg’。

基于更新的目标组910,可以至少部分地基于新添加的目标物体904的状态来计算目标组910的更新的状态。例如,更新的目标组910的更新的位置和速度是位置(xg’,yg’,zg’)和速度vg’。

图10示出了根据实施例的目标物体从目标组的移除。如在1000a中所示,已经在图像1020中识别出目标物体1001、1002、1003、1004和1005。例如,基于本文中所描述的各种因素,在这些物体中,目标物体1001、1002和1003被选择为目标组1008的一部分。目标物体1004和1005不是目标组1008的一部分。可以基于目标组成员的状态来确定目标组的状态。例如,目标组1008的状态可以包括其位置(xg,yg,zg)和其速度vg。

在1000b中示出的下一个图像1022中,目标物体的状态可以改变。例如,在图像1020和图像1022之间,目标物体903的位置可以从(x3,y3,z3)改变为(x3’,y3’,z3’)。在图像1020和图像1022之间,目标物体1003的速度可以从v3改变为v3’。可以将目标物体1003的改变后的状态与目标组1008的状态进行比较。例如,可以将目标物体1003的更新的位置和/或更新的速度与目标组1008的更新的位置和/或更新的速度进行比较。作为比较的结果,现在可以将目标物体1003从目标组排除以得出更新的目标组1010。例如,更新的目标物体1003与目标组1008的位置之间的距离可以大于阈值距离。更新的目标物体1003的速度与目标组1008的速度之间的差异(例如方向和/或速率的差异)可以大于阈值。如在1000c中所示,可以基于对目标物体1003的排除来计算目标组1010的更新的状态。例如,更新的目标组1010的更新的位置和速度是位置(xg’,yg’,zg’)和速度vg’。

虽然图9和图10示出了向目标组添加和从目标组移除单个的目标物体,但应理解,在各种实施例中,当针对每个新图像帧更新目标组时,可以添加和/或移除多于一个的目标物体。可以基于本文中所讨论的用于目标组选择的因素中的任何一个或任何组合来执行这种组成员的添加和/或移除。

在一些实施例中,可以至少部分地基于一个或多个主要目标的状态来更新目标组。图11示出了根据实施例的基于主要目标对目标组的更新。如在1100a中所示,已经在图像1120中识别出目标物体1101、1102、1103和1104。例如,基于目标物体与主要目标1101的接近度,将其中的目标物体1101、1102和1103选择为目标组1108的一部分。目标物体1104不是目标组1108的一部分。可以基于目标组成员的状态来确定目标组的状态。例如,目标组1108的状态可以包括其位置(xg,yg,zg)和其速度vg。

在随后的图像1122中,如在1100b中所示,主要目标1101的状态(例如位置和/或速度)可以改变。因此,可以基于主要目标1101的更新的状态来生成更新的目标组1110。例如,可以将与主要目标的更新的位置之间的距离位于给定阈值距离内的目标添加到目标组;而可以从目标组中移除位于阈值距离之外的目标。附加地或备选地,可以将目标的速度与更新的主要目标的速度进行比较。如果方向的差异在预定阈值角度内,和/或如果速率的差异在预定阈值内,则可以将目标添加到更新的目标组。例如,基于以上讨论的标准,目标1104被添加到目标组1110,目标1102不再在目标组1110中。更新的目标组1110现在包括主要目标1101以及目标1103和1104。

在一些实施例中,可以基于用户输入、不断改变的目标状态、不断改变的环境等来更新目标组。例如,用户可以例如经由远程终端的用户接口(例如触摸屏)来改变要跟踪的目标的类型、改变主要目标、或选择要跟踪的不同目标物体。作为另一示例,与目标物体相关联的权重值可以例如基于目标物体与参考物体的关系、目标物体在图像中的外观等,随时间的推移而改变。并且可以基于改变后的权重值来更新目标组。

返回参考图5,在块506处,可以跟踪更新的目标组。在一些实施例中,可以例如基于组成员的状态来确定更新的目标组的状态。跟踪可以基于更新的目标组的状态。例如,可以将成像坐标系中的目标组的位置和/或大小与先前目标组的位置和/或大小进行比较。作为另一示例,可以将导航坐标系中的目标组的位置和/或大小与先前目标组的位置和/或大小进行比较。状态的差异可以用于生成用于控制跟踪系统的控制信号,以便使差异最小化。可以使用包括结合图4的块410描述的那些方法在内的任何合适的跟踪方法。

图6示出了根据实施例的用于实现多目标跟踪的另一示例性过程600。

在块602处,基于一个或多个图像识别多个目标组。可以基于本文中所描述的因素中的任何因素来确定每个目标组。例如,可以识别图像中的目标物体。可以将彼此间的接近度或与某个参考点的接近度位于某个接近度内的目标物体分组到一个目标组中。备选地或附加地,目标组确定可以基于物体速度和/或物体类型。例如,可以将朝向类似的方向和/或以类似的速率移动的物体组合在一起。可以将具有相同的类型或类似的类型的物体组合在一起。可以基于给定的图像帧识别多个目标组。在各种实施例中,可以基于用户输入、通过自动的过程(例如基于机器学习算法)或通过其组合来执行对目标物体的分组。

在块604处,可以在以上确定的多个目标组中选择要跟踪的目标组。将每个目标组视为目标物体,可以将用于从多个目标中确定主要目标的方法扩展到从多个目标中选择目标组。在一些实施例中,可以至少部分地基于组成员的状态来计算目标组的状态。例如,可以将目标组的位置和/或速度计算为组成员的状态的平均或加权平均。目标组选择可以基于目标组的状态。例如,可以选择最接近参考点(例如图像中心)的目标组。备选地或附加地,从多个目标组中选择目标组可以基于目标组的移动方向和/或速率。例如,可以选择在多个组中移动得最快或最慢的组。或者,可以选择比某个阈值速率移动得更快或更慢的组。或者,可以选择具有最接近参考方向的移动方向的组。

在一些实施例中,目标组选择可以基于其他信息。例如,选择可以基于每个组的大小。目标组的大小可以是目标组中的目标物体的数量,或图像中的目标组的大小(例如,以像素为单位),其可以通过目标组的边界框的尺寸来近似。例如,可以选择具有最大、最小或中等数量组成员的目标组。在另一示例中,可以选择看起来大小最大的目标组。

在一些实施例中,目标组选择可以基于加权值。可以为每个目标组分配权重值。在一些情况下,可以基于与组成员相关联的权重值来计算目标组的权重值。当较高的权重值指示较高的重要性时,可以选择具有最高权重值的目标组。可以基于本文中其他地方所讨论的考虑将权重值分配给目标或目标组。在各种实施例中,可以基于用户输入、通过自动的过程(例如基于机器学习算法)或通过其组合来执行对目标组的选择。

在块606处,可以例如使用在本文中描述的任何跟踪方法来跟踪所选择的目标组。

图12示出了根据实施例的目标组选择的示例。如在1200a中所示,已经在图像中识别出目标物体1201、1202、1203、1204、1205、1206和1207。如在1200b中所示,所识别的目标物体可以被分组为目标组1210(包括目标物体1201、1202和1203)、目标组1212(包括目标物体1203、1204)和目标组1214(包括目标物体1205和1206)。目标物体的分组可以基于目标物体彼此的接近度、基于它们的物体类型、基于用户选择或本文中所讨论的任何其他考虑。在这些目标组中,可以选择目标组1210用于跟踪目的。可以基于目标组1210的状态、权重值或本文中所讨论的任何其他考虑来选择目标组1210。

图13-图20示出了根据实施例的对目标组的跟踪。跟踪装置可以包括可移动物体(例如uav)和/或成像装置。

图13示出了根据一些实施例的当目标组相对于跟踪装置移动时对目标组的跟踪。如图13的部分a中所示,在时间t1时,目标组可以位于距跟踪装置水平距离dx_1和垂直距离dz处。目标组可以具有高度h。可以基于图像帧内的比例来确定目标组的高度。可选地,可以根据物体的类型或物体类别(例如人、载具等)来估计目标组的高度。

成像装置可以被配置为在时间t1时将目标组1308的第一图像1314-1捕获到第一图像平面1310-1上。第一图像平面1310-1上的点可以由一组图像坐标(u,v)来表示。第一边界框1316-1可以被配置为基本上围绕目标组的第一图像1314-1。边界框可以被配置为当目标组相对于跟踪装置移动时变化大小和/或位置。

第一边界框的大小和位置可以由光线1318-1和1320-1限定。光线1318-1可以穿过成像装置的镜片中心、第一图像平面1310-1上的第一图像点和目标组1308上的第一目标点。光线1320-1可以穿过成像装置的镜片中心、第一图像平面1310-1上的第二图像点和目标组1308上的第二目标点。第一边界框可以基本上位于第一图像平面1310-1的中心部分。例如,第一边界框的一组中心坐标(x1,y1)可以与第一图像平面的中心c重合。在一些备选实施例中,第一边界框可以位于与第一图像平面1310-1的中心部分基本远离的位置处,并且第一边界框的中心坐标(x1,y1)可以不与第一图像平面的中心c重合。如图13的部分a中所示,第一边界框的大小可以由第一高度h1表征。

在时间t2时,目标组可能已经相对于跟踪装置移动到不同位置。例如,目标组可能已经沿着x轴和y轴二者远离跟踪装置移动(例如,如图14中所示),使得目标组位于距跟踪装置的距离dx_2处。图14示出了从上方观看的跟踪装置和目标组,并且示出了当目标组远离跟踪装置移动时目标组沿着x-y平面(例如,参考表面或地平面)的平移运动。目标组与跟踪装置之间的垂直距离dz可以保持不变。如图13的部分a中所示,在时间t2时,光轴1312可能不再从成像装置的镜片中心延伸到目标组的中心部分。当目标组进一步远离跟踪装置移动时,边界框的大小可能减小。例如,如图13的部分b中所示,第二图像帧中的第二边界框的大小可以由第二高度h2表征,其中h2<h1。

成像装置可以被配置为在时间t2时将目标组的第二图像1314-2捕获到第二图像平面1310-2上。第二图像平面1310-2上的点也可以由一组图像坐标(u,v)来表示。第二边界框1316-2可以被配置为基本上围绕目标组的第二图像1314-2。第二边界框的大小和位置可以由光线1318-2和1320-2限定。光线1318-2可以穿过成像装置的镜片中心、第二图像平面1310-2上的第一图像点和目标组1308上的第一目标点。光线1320-2可以穿过成像装置的镜片中心、第二图像平面1310-2上的第二图像点和目标组1308上的第二目标点。与第一边界框不同,第二边界框可以不位于第二图像平面1310-2的中心部分处。例如,第二边界框的一组中心坐标(x2,y2)可以不与第二图像平面的中心c重合。例如,如图13和图14所示,第二边界框可以从第二图像平面的中心c偏离了偏移距离δ。

图15示出了根据一些实施例的用于基于图13和14中的边界框的大小和位置的改变来调整跟踪装置的运动的示例性反馈控制系统的框图。如图15所示,反馈控制系统1500可以包括成像装置1506、图像分析器1507、运动控制器1550和致动系统1554。运动控制器可以包括反馈控制器1552。反馈控制系统可以被配置为通过使图像帧之间的边界框的位置的改变最小化来获得第一速度分量,通过使图像帧之间的边界框的大小的改变最小化来获得第二速度分量。反馈控制系统还可以被配置为通过基于第一速度分量和第二速度分量调整跟踪装置的运动来跟踪目标组。

可以通过使用反馈控制环路使位置误差最小化来获得第一速度分量。可以基于图13和图14中的第一图像帧与第二图像帧之间的边界框的位置的改变来计算位置误差。可以相对于第一图像帧和第二图像帧内的参考点确定边界框的位置的改变。可以通过使用反馈控制环路使时间t1和t2时的边界框的位置之间的差异最小化来获得第一速度分量。如前所述,边界框的位置的改变可以与偏移距离δ相关联。

可以通过使图像帧之间的边界框的大小的改变最小化来获得第二速度分量。可以通过使用反馈控制环路使距离误差最小化来获得第二速度分量。可以基于第一时间实例(t1)时跟踪装置与目标组之间的第一距离以及第二时间实例(t2)时跟踪装置与目标组之间的第二距离来计算距离误差。可以基于第一图像帧和第二图像帧中的边界框的大小(例如高度)来计算第一距离和第二距离。

系统1500的输入可以包括阈值位置偏移和阈值距离。在一些情况下,阈值位置偏移和阈值距离可以是零或基本上为零,以便使偏移距离δ和距离误差最小化。当阈值位置偏移和距离误差为零时,系统可以调整跟踪装置的运动以使边界框跨越图像帧保持基本相同的位置和大小。

成像装置可以被配置为捕获图像数据(例如,图13中的第一图像帧和第二图像帧)。可以将图像数据提供给图像分析器。图像分析器可以被配置为分析图像数据以确定图像帧之间的边界框的位置的改变(偏移距离δ)。可以将边界框的位置的改变与输入进行比较,并将其提供给反馈控制器。在图13中,由于目标组的运动不与光轴正交(参见图14),因此可能必须对位置误差d_error1进行校正,以对成像装置的取向(倾斜)进行考虑。反馈控制器可以被配置为通过使用下面的等式计算时间t2时边界框的位置误差d_error3,来校正位置误差d_error1:

其中,δ是偏移距离,p是由第二图像帧中的每个像素表示的角度,dz对应于跟踪装置与目标组之间的沿着z轴的垂直距离,τ是成像装置的取向。成像装置的取向可以包括相对于跟踪装置和/或可移动物体限定的成像装置的横滚、偏航和/或俯仰角度。在图13的示例中,成像装置的取向τ可以对应于成像装置的俯仰角θ。

图像分析器还可以被配置为分析图像数据以确定第一图像帧和第二图像帧中的边界框的高度。可以将边界框的高度提供给反馈控制器1552。可以基于每个图像帧中的边界框的大小(高度)来获得跟踪装置与目标组之间的距离。例如,反馈控制器可以被配置为使用下面的等式计算时间t1时跟踪装置与目标组之间的第一距离dx_1,以及时间t2时跟踪装置与目标组之间的距离dx_2:

其中,p是由第一图像帧和第二图像帧中的每个像素表示的角度,h是目标组的高度,h1是第一边界框的高度,h2是第二边界框的高度。

反馈控制器还可以被配置为使用下面的等式计算时间t1和t2时目标组的位置之间的距离误差d_error2:

d_error2=dx_1-dx_2

接下来,反馈控制器可以使用比例-积分-微分(pid)方法(或比例-微分(pd)方法)使d_error3和d_error2最小化,从而获得第一速度分量vt和第二速度分量vc。可以将第一速度分量和第二速度分量提供给致动系统1554。致动系统可以被配置为基于第一速度分量和第二速度分量来调整跟踪装置沿着预定义轴x’的运动,以便跟踪目标组。预定义轴x’可以对应于跟踪装置沿其移动的自然方向(参见例如图13和图16)。在一些实施例中,预定义轴x’可以平行于参考表面(例如,水平地平面)。光轴可以倾斜于预定义轴,使得光轴可以相对于预定义轴成角度θ。光轴可以位于倾斜于水平地平面的平面上。在图13中,第一速度分量vt可以与光轴1312正交,第二速度分量vc可以与光轴平行或沿着光轴。因此,第一速度分量vt和第二速度分量vc可以彼此正交。

通过基于第一速度分量和第二速度分量调整跟踪装置的运动,边界框可以跨越图像帧保持基本相同的位置和大小。跟踪装置的调整后的运动可以对应于反馈控制系统的运动输出。以上步骤可以在闭环中迭代重复,直到位置误差d_error3等于或小于阈值位置偏移,并且距离误差d_error2等于或小于阈值距离。在以上步骤的一次或多次迭代期间,可以动态地改变第一速度分量和/或第二速度分量。

在图13至图19的示例中,致动系统可以被配置为使用预期速度矢量ve来调整跟踪装置沿着预定义轴x’的运动,以在目标组相对于跟踪装置以平移运动移动时跟踪目标组。预期速度矢量ve可以沿着预定义轴x’的方向延伸,例如如图16所示。致动系统可以被配置为基于第一速度分量vt、第二速度分量vc和成像装置的取向τ,获得(计算)预期速度矢量ve。预期速度矢量可以是第一速度分量和第二速度分量的融合(或组合)。融合因子λ可以是成像装置的取向的函数。在一些情况下,融合因子λ可以由sin2τ给定。在其他情况下,融合因子λ可以由cos2τ给定。在一些实施例中,预期速度矢量可以通过以下步骤获得:(1)将vt与λ相乘,(2)将vc与(1-λ)相乘,以及(3)取(1)和(2)中乘积的和的平方根。在一些实施例中,可以通过将不同的权重应用于第一速度分量vt和第二速度分量vc来获得预期速度矢量。不同的权重可以基于取向τ和/或融合因子λ。例如,当跟踪装置基本上位于目标组上方时,应用于第一速度分量vt的权重可以高于应用于第二速度分量vc的权重。相反地,当跟踪装置在水平轴上基本上处于与目标组成一直线时(如图13中所示),应用于第二速度分量vc的权重可以高于应用于第一速度分量vt的权重。

成像装置的取向可以包括成像装置的横滚、偏航和/或俯仰角度。在图13至图16的示例中,成像装置的取向τ可以对应于成像装置的俯仰角θ。图17示出了根据另一些实施例的用于基于图13和图14中的边界框的大小和位置的改变来调整跟踪装置的运动的示例性反馈控制系统的框图。除了下面的差异之外,图17的系统可以与图15的系统类似。如图17的部分a中所示,运动控制器1750还可以包括位移计算器1751。位移计算器可以被配置为基于图13和图14中的第一图像帧与第二图像帧之间的边界框的位置的改变来计算跟踪装置与目标组之间的第一相对位移。位移计算器可以被配置为基于图13和图14中的第一图像帧与第二图像帧之间的边界框的大小的改变来计算跟踪装置与目标组之间的第二相对位移。

反馈控制器可以被配置为从位移计算器接收指示第一相对位移和第二相对位移的信号。接下来,反馈控制器可以使用比例-积分-微分(pid)方法(或比例-微分(pd)方法)使第一相对位移和第二相对位移最小化,从而获得第一速度分量vt和第二速度分量vc。可以将第一速度分量和第二速度分量提供给致动系统1754。致动系统可以被配置为基于第一速度分量和第二速度分量来调整跟踪装置沿着预定义轴x’的运动,以便跟踪目标组。

通过基于第一速度分量和第二速度分量调整跟踪装置的运动,边界框可以跨越图像帧保持基本相同的位置和大小。跟踪装置的调整后的运动可以对应于反馈控制系统的运动输出。以上步骤可以在闭环中迭代重复,直到第一相对位移等于或小于第一阈值位移,并且第二相对位移等于或小于第二阈值位移。第一阈值位移和第二阈值位移可以相同或不同。在一些情况下,第一阈值位移和第二阈值位移可以基本上等于零。在以上步骤的一次或多次迭代期间,可以动态地改变第一速度分量和/或第二速度分量。

图17的部分b示出了运动控制器的另一个实施例,除了下面的差异之外,其与部分a中的运动控制器类似。在部分b中,位移计算器可以被配置为通过将第一相对位移和第二相对位移融合或组合在一起来进一步计算组合位移。反馈控制器可以被配置为从位移计算器接收指示组合位移的信号。接下来,反馈控制器可以使用比例-积分-微分(pid)方法(或比例-微分(pd)方法)使组合位移最小化,以便获得预期速度分量ve。如前所述,预期速度分量ve可以是第一速度分量vt和第二速度分量vc的融合。然而,在图17的部分b中,因为可以直接从组合位移获得预期速度分量(例如,作为组合位移的导数(组合位移作为时间的函数)),所以不必执行第一速度分量和第二速度分量的融合。可以将预期速度分量提供给致动系统1754。致动系统可以被配置为基于预期速度分量来调整跟踪装置沿着预定义轴x’的运动,以便跟踪目标组。

通过基于预期速度分量调整跟踪装置的运动,边界框可以跨越图像帧保持基本相同的位置和大小。跟踪装置的调整后的运动可以对应于反馈控制系统的运动输出。以上步骤可以在闭环中迭代重复,直到组合位移等于或小于阈值组合位移。在一些情况下,阈值组合位移可以基本上等于零。在以上步骤的一次或多次迭代期间,可以动态地改变预期速度分量。

在一些实施例中,可以基于与一个或多个特征相关联的一个或多个特性的改变来获得可移动物体的预期旋转角速率,如以下参考图18和图19所述。

参考图18,跟踪装置上的成像装置可以被配置为在时间t1时,将目标组的第一图像1814-1捕获到第一图像平面1810-1上。第一边界框1816-1可以被配置为基本上围绕目标组的第一图像1814-1。边界框可以被配置为当跟踪装置的取向相对于目标组改变时变化大小和/或位置。例如,跟踪装置可以围绕相对于其上承载有跟踪装置的可移动物体限定的偏航轴、横滚轴和/或俯仰轴旋转。在时间t1时,第一边界框可以基本上位于第一图像平面1810-1的中心部分。例如,第一边界框的一组中心坐标(x1,y1)可以与第一图像平面的中心c重合。在一些备选实施例中,第一边界框可以位于与第一图像平面1810-1的中心部分基本远离的位置处,并且第一边界框的中心坐标(x1,y1)可以不与第一图像平面的中心c重合。

在时间t2时,目标组可能已经沿x方向和y方向二者移动到不同位置。为了继续跟踪目标组,成像装置(或跟踪装置)可以相对于目标组沿偏航方向(例如围绕z轴)旋转,如图19所示。成像装置可以被配置为在时间t2时将目标组的第二图像1814-2捕获到第二图像平面1810-2上。第二边界框1816-2可以被配置为基本上围绕目标组的第二图像1814-2。由于成像装置围绕偏航轴的旋转,所以第二边界框可以类似于第一边界框而位于第二图像平面1810-2的中心部分。例如,第二边界框的一组中心坐标(x2,y2)可以与第二图像平面的中心c重合。坐标y2可以从第一图像平面的中心c偏离了偏移距离δ。

在一些实施例中,跟踪装置的取向的改变可以包括跟踪装置沿偏航方向(z轴)和俯仰方向(y轴)二者的旋转。例如,如图20所示,坐标y2可以从第二图像平面的中心c偏离了偏移距离δy,坐标x2可以从第二图像平面的中心c偏离了偏移距离δx。偏移距离δy可以由跟踪装置围绕俯仰轴的旋转导致,偏移距离δx可以由跟踪装置围绕偏航轴的旋转导致。

本文中所描述的反馈控制系统可以被配置为基于与一个或多个特征相关联的一个或多个特性的改变来获得预期旋转角速率。例如,可以基于沿着图像帧或图像平面的u轴和/或v轴的偏移距离δ来获得预期旋转角速率。反馈控制系统可以被配置为通过使图像帧之间的边界框的位置的改变(位置偏移)最小化来获得预期旋转角速率。反馈控制系统还可以被配置为基于预期旋转角速率来调整跟踪装置的运动以跟踪目标组。例如,反馈控制系统可以根据预期旋转角速率来影响跟踪装置的取向的改变(例如围绕偏航轴、横滚轴和/或俯仰轴)以跟踪目标组。

可以通过使用反馈控制环路使位置误差最小化来获得预期旋转角速率。可以基于图18、图19和图20中的第一图像帧和第二图像帧之间的边界框的位置的改变来计算位置误差。可以相对于第一图像帧和第二图像帧内的参考点确定边界框的位置的改变。可以通过使用反馈控制环路使时间t1和t2时的边界框的位置之间的差异最小化,来获得预期旋转角速率。如先前在图18、图19和图20中所述,边界框的位置的改变可以与偏移距离δ相关联。偏移距离δ可以沿着图像帧或图像平面的u轴和/或v轴。系统的输入可以包括阈值位置偏移。在一些情况下,阈值位置偏移可以是零或基本上为零,以便使偏移距离δ最小化。当阈值位置偏移为零时,系统可以调整跟踪装置的运动(例如,围绕偏航轴,横滚轴和/或俯仰轴的旋转),使得边界框跨越图像帧保持基本相同的位置。

成像装置可以被配置为捕获图像数据(例如,图18、图19和图20中的第一图像帧和第二图像帧)。可以将图像数据提供给图像分析器。图像分析器可以被配置为对图像数据进行分析以确定图像帧之间的边界框的位置的改变(偏移距离δ)。可以将边界框的位置的改变与输入进行比较,并将其提供给反馈控制器。

接下来,反馈控制器可以使用比例-积分-微分(pid)方法(或比例-微分(pd)方法)来使偏移距离δ最小化,从而获得预期旋转角速率。可以将预期旋转角速率提供给致动系统。致动系统可以被配置为基于预期旋转角速率来调整跟踪装置围绕轴(例如,偏航轴、横滚轴和/或俯仰轴)的运动,以便跟踪目标组。通过基于预期旋转角速率调整跟踪装置的运动,边界框可以跨越图像帧保持基本相同的位置。跟踪装置的调整后的运动可以对应于反馈控制系统的运动输出。以上步骤可以在闭环中迭代重复,直到偏移距离δ等于或小于阈值位置偏移。在以上步骤的一次或多次迭代期间,可以动态地改变预期旋转角速率。

在以上示例中,偏移距离δ可以用于确定跟踪装置的预期旋转角速率,以便跟踪目标组。然而,本发明不限于此。如本领域普通技术人员应理解的,偏移距离δ也可以用于计算第三速度分量vt’。与沿x方向的第一速度分量vt不同,第三速度分量vt’可以沿y方向。因此,还可以沿y方向调整跟踪装置的运动以跟踪目标组。例如,反馈控制器可以被配置为使用下面的等式计算时间t2时的边界框的位置误差d_error4:

d_error4=tan(δy*p)*dz

其中,δy是第二图像帧中沿v轴的偏移距离,p是由第二图像帧中的每个像素表示的角度,dz对应于跟踪装置与目标组之间的沿着z轴的垂直距离。

接下来,反馈控制器可以使用比例-积分-微分(pid)方法(或比例-微分(pd)方法)来使d_error4最小化,从而获得第三速度分量vt’。可以将第三速度分量vt’提供给致动系统。致动系统可以被配置为基于第三速度分量vt’来调整跟踪装置沿着预定义轴(例如y轴)的运动,以便跟踪目标组。通过基于第三速度分量vt’调整跟踪装置的运动,边界框可以跨越图像帧保持基本相同的位置。跟踪装置的调整后的运动可以对应于反馈控制系统的运动输出。以上步骤可以在闭环中迭代重复,直到位置误差d_error4等于或小于阈值位置偏移。在以上步骤的一次或多次迭代期间,可以动态地改变第三速度分量vt’。

如前所述,偏移距离δ可以用于确定第一速度分量vt。在一些实施例中,偏移距离δ也可以用于计算预期云台俯仰角θ’,以便控制跟踪装置的俯仰角。在这些实施例中,可以通过将当前云台俯仰角与初始云台俯仰角之间的差异作为误差量,并使误差量最小化以获得预期云台俯仰角θ’,来获得沿着预定义轴(例如x轴)的预期速度矢量,以便实现对目标组的跟踪。

本文中所描述的系统、装置和方法可以应用于各种可移动物体。如前所述,本文中对飞机器(诸如uav)的任何描述可以适用于和用于任何可移动物体。本文中对飞行器的任何描述可以专门适用于uav。本发明的可移动物体可以被配置成在诸如以下的任何合适的环境内移动:在空中(例如固定翼飞机、旋转翼飞机或既没有固定翼也没有旋转翼的飞机)、在水中(例如船舶或潜水艇)、在地面上(例如,诸如汽车、卡车、公共汽车、货车、摩托车、自行车之类的机动车;诸如棍子、钓鱼竿之类的可移动的结构或框架;或火车)、在地面下(例如地铁)、在空间中(例如太空飞机、卫星或探测器)或这些环境的任何组合。可移动物体可以是载具,诸如本文别处描述的载具。在一些实施例中,可移动物体可以由活体主体(诸如人或动物)携带,或者从活体主体起飞。合适的动物可以包括禽类、犬类、猫类、马类、牛类、羊类、猪类、海豚类、啮齿类或昆虫类。

可移动物体可以能够相对于六个自由度(例如三个平移自由度和三个旋转自由度)在环境内自由移动。备选地,可以相对于一个或多个自由度(例如通过预定的路径、轨道或取向)对可移动物体的运动进行限制。该运动可以由任何合适的致动机构(例如发动机或电机)来致动。可移动物体的致动机构可以由任何合适的能源来提供动力,例如电能、磁能、太阳能、风能、重力能、化学能、核能或其任何合适的组合。可移动物体可以经由推进系统自驱动,如本文中其他地方所述。推进系统可以可选地由能源(例如电能、磁能、太阳能、风能、重力、化学能、核能或其任何合适的组合)供给能量。备选地,可移动物体可以由生物携带。

在一些实例中,可移动物体可以是飞行器。例如,飞行器可以是固定翼飞机(例如飞机、滑翔机)、旋转翼飞机(例如直升机、旋翼飞机)、具有固定翼和旋转翼的飞机,或没有固定翼和旋转翼的飞机(例如飞艇、热气球)。飞行器可以是自推进的,例如通过空气自推进。自推进飞行器可以利用推进系统,例如包括一个或多个发动机、电机、轮子、轴、磁体、旋翼、螺旋桨、叶片、喷嘴或其任何合适的组合在内的推进系统。在一些实例中,推进系统可以用于使可移动物体从表面起飞、在表面上降落、保持其当前位置和/或取向(例如悬停)、改变取向和/或改变位置。

可移动物体可以由用户遥控,也可以由可移动物体内或可移动物体上的乘员在本地控制。可移动物体可以经由单独的载具内的乘员遥控。在一些实施例中,可移动物体是诸如uav的无人可移动物体。诸如uav的无人可移动物体可以在该可移动物体上没有乘员。可移动物体可以由人或自主控制系统(例如,计算机控制系统)或其任何合适的组合来控制。可移动物体可以是自主的或半自主的机器人,例如配置有人工智能的机器人。

可移动物体可以具有任何合适的大小和/或尺寸。在一些实施例中,可移动物体可以具有在载具内或载具上有人类乘员的大小和/或尺寸。备选地,可移动物体的大小和/或尺寸可以小于能够在载具内或载具上有人类乘员的大小和/或尺寸。可移动物体的大小和/或尺寸可以适于被人提升或携带。备选地,可移动物体可以大于适于被人提升或携带的大小和/或尺寸。在一些实例中,可移动物体可以具有小于或等于约如下值的最大尺寸(例如,长度、宽度、高度、直径、对角线):2cm、5cm、10cm、50cm、1m、2m、5m或10m。最大尺寸可以大于或等于约:2cm、5cm、10cm、50cm、1m、2m、5m或10m。例如,可移动物体的相对旋翼的轴之间的距离可以小于或等于约:2cm、5cm、10cm、50cm、1m、2m、5m或10m。备选地,相对旋翼的轴之间的距离可以大于或等于约:2cm、5cm、10cm、50cm、1m、2m、5m或10m。

在一些实施例中,可移动物体的体积可以小于100cm×100cm×100cm,小于50cm×50cm×30cm,或小于5cm×5cm×3cm。可移动物体的总体积可以小于或等于约:1cm3、2cm3、5cm3、10cm3、20cm3、30cm3、40cm3、50cm3、60cm3、70cm3、80cm3、90cm3、100cm3、150cm3、200cm3、300cm3、500cm3、750cm3、1000cm3、5000cm3、10,000cm3、100,000cm3、1m3或10m3。相反地,可移动物体的总体积可以大于或等于约:1cm3、2cm3、5cm3、10cm3、20cm3、30cm3、40cm3、50cm3、60cm3、70cm3、80cm3、90cm3、100cm3、150cm3、200cm3、300cm3、500cm3、750cm3、1000cm3、5000cm3、10,000cm3、100,000cm3、1m3或10m3

在一些实施例中,可移动物体可以具有小于或等于约如下值的占地面积(其可以指代由可移动物体包围的横向横截面积):32,000cm2、20,000cm2、10,000cm2、1,000cm2、500cm2、100cm2、50cm2、10cm2或5cm2。相反地,占地面积可以大于或等于约:32,000cm2、20,000cm2、10,000cm2、1,000cm2、500cm2、100cm2、50cm2、10cm2或5cm2

在一些实例中,可移动物体的重量可以不超过1000kg。可移动物体的重量可以小于或等于约:1000kg、750kg、500kg、200kg、150kg、100kg、80kg、70kg、60kg、50kg、45kg、40kg、35kg、30kg、25kg、20kg、15kg、12kg、10kg、9kg、8kg、7kg、6kg、5kg、4kg、3kg、2kg、1kg、0.5kg、0.1kg、0.05kg或0.01kg。相反地,重量可以大于或等于约:1000kg、750kg、500kg、200kg、150kg、100kg、80kg、70kg、60kg、50kg、45kg、40kg、35kg、30kg、25kg、20kg、15kg、12kg、10kg、9kg、8kg、7kg、6kg、5kg、4kg、3kg、2kg、1kg、0.5kg、0.1kg、0.05kg或0.01kg。

在一些实施例中,可移动物体相对于由可移动物体承载的负载可以较小。负载可以包括搭载物和/或载体,如本文中其他地方进一步详细描述的。在一些示例中,可移动物体重量与负载重量之比可以大于、小于或等于约1∶1。在一些实例中,可移动物体重量与负载重量之比可以大于、小于或等于约1∶1。可选地,载体重量与负载重量之比可以大于、小于或等于约1∶1。当需要时,可移动物体重量与负载重量之比可以小于或等于:1∶2、1∶3、1∶4、1∶5、1∶10或甚至更小。相反地,可移动物体重量与负载重量之比也可以大于或等于:2∶1、3∶1、4∶1、5∶1、10∶1或甚至更大。

在一些实施例中,可移动物体可以具有低能耗。例如,可移动物体可以使用小于约:5w/h、4w/h、3w/h、2w/h、1w/h或更小。在一些实例中,可移动物体的载体可具有低的能耗。例如,载体可使用小于约:5w/h、4w/h、3w/h、2w/h、1w/h或更小。可选地,可移动物体的搭载物可以具有低能耗,例如小于约:5w/h、4w/h、3w/h、2w/h、1w/h或更小。

uav可以包括具有四个旋翼的推进系统。可以提供任何数量的旋翼(例如,一个、两个、三个、四个、五个、六个或更多个)。无人机的旋翼、旋翼组件或其他推进系统可以使得无人机能够悬停/保持位置、改变取向和/或改变位置。相对旋翼的轴之间的距离可以是任何合适的长度。例如,长度可以小于或等于2m或小于等于5m。在一些实施例中,长度可以在40cm至1m、10cm至2m,或5cm至5m的范围内。可以将本文中对uav的任何描述应用于可移动物体,例如不同类型的可移动物体,并且相反地亦然。

在一些实施例中,可移动物体可以被配置为承载负载。负载可以包括乘客、货物、装备、仪器等中的一个或多个。负载可以设置在壳体内。该壳体可以与可移动物体的壳体分离,或是可移动物体的壳体的一部分。备选地,负载可以设置有壳体,而可移动物体没有壳体。备选地,可以在没有壳体的情况下设置部分负载或整个负载。负载可以相对于可移动物体刚性固定。可选地,负载可以相对于可移动物体是可移动的(例如,相对于可移动物体可平移或可旋转)。负载可以包括搭载物和/或载体,如本文其他地方所描述的。

在一些实施例中,可移动物体、载体和搭载物相对于固定参照系(例如周围的环境)和/或彼此的运动可由终端控制。终端可以是远离可移动物体、载体和/或搭载物的遥控器装置。终端可以设置在或固定在支撑平台上。备选地,终端可以是手持式或可穿戴式装置。例如,终端可以包括智能电话、平板电脑、膝上型电脑、计算机、眼镜、手套、头盔、麦克风或其合适的组合。终端可以包括诸如键盘、鼠标、操纵杆、触摸屏或显示器之类的用户接口。可以使用任何合适的用户输入来与终端进行交互,诸如手动输入的命令、语音控制、手势控制或位置控制(例如,通过终端的运动、位置或倾斜)。

终端可以用于控制可移动物体、载体和/或搭载物的任何合适的状态。例如,终端可以用于控制可移动物体、载体和/或搭载物相对于固定参照系和/或彼此的位置和/或取向。在一些实施例中,终端可以用于控制可移动物体、载体和/或搭载物的单独的元件,例如载体的致动组件、搭载物的传感器或搭载物的发射器。终端可以包括适于与可移动物体、载体或搭载物中的一个或多个通信的无线通信装置。

终端可以包括用于观看可移动物体、载体和/或搭载物的信息的合适的显示单元。例如,终端可以被配置为显示可移动物体、载体和/或搭载物的关于位置、平移速度、平移加速度、取向、角速度、角加速度或其任何合适的组合方面的信息。在一些实施例中,终端可以显示由搭载物提供的信息,例如由功能性搭载物提供的数据(例如,由相机或其他图像捕获装置记录的图像)。

可选地,相同的终端可以控制可移动物体、载体和/或搭载物,或可移动物体、载体和/或搭载物的状态,以及接收和/或显示来自可移动物体、载体和/或搭载物的信息。例如,终端可以在显示由搭载物捕获的图像数据或关于搭载物的位置信息的同时,控制搭载物相对于环境的定位。备选地,不同的终端可以用于不同的功能。例如,第一终端可以控制可移动物体、载体和/或搭载物的运动或状态,而第二终端可以接收和/或显示来自可移动物体、载体和/或搭载物的信息。例如,第一终端可以用于控制搭载物相对于环境的定位,而第二终端显示由搭载物捕获的图像数据。在可移动物体和用于控制可移动物体并接收数据的集成终端之间,或在可移动物体与用于控制可移动物体并接收数据的多个终端之间,可以利用各种通信模式。例如,在可移动物体和用于控制可移动物体并从可移动物体接收数据的终端之间,可以形成至少两种不同的通信模式。

图21示出了根据实施例的包括载体2102和搭载物2104的可移动物体2100。虽然可移动物体2100被描绘为飞机,但是该描述并不旨在限制,并且可以使用任何合适的类型的可移动物体,如本文中先前所述。本领域技术人员应理解,可以将本文中在飞机系统的背景下描述的任何实施例应用于任何合适的可移动物体(例如uav)。在一些实例中,搭载物2104可以在不需要载体2102的情况下,设置在可移动物体2100上。可移动物体2100可以包括推进机构2106、感测系统2108和通信系统2110。

如前所述,推进机构2106可以包括旋翼、螺旋桨、叶片、发动机、电机、轮子、轴、磁体或喷嘴中的一个或多个。可移动物体可以具有一个或多个、两个或更多个、三个或更多个,或四个或更多个推进机构。推进机构可以都是相同的类型。备选地,一个或多个推进机构可以是不同类型的推进机构。推进机构2106可以使用任何合适的装置(例如,本文中其他地方所描述的支撑元件(例如驱动轴))安装在可移动物体2100上。推进机构2106可以安装在可移动物体2100的任何合适的部分上,诸如在顶部、底部、前部、后部、侧面或其合适的组合上。

在一些实施例中,推进机构2106可以使可移动物体2100能够垂直地从表面起飞或垂直地降落在表面上,而不需要可移动物体2100的任何水平移动(例如,无需沿着跑道行进)。可选地,推进机构2106可以可操作地允许可移动物体2100以特定位置和/或取向悬停在空中。可以独立于其它推进机构对推进机构2100中的一个或多个进行控制。备选地,推进机构2100可以被配置为被同时控制。例如,可移动物体2100可以具有多个水平取向的旋翼,其可以向可移动物体提供升力和/或推力。可以致动多个水平取向的旋翼以向可移动物体2100提供垂直起飞、垂直着陆和悬停能力。在一些实施例中,在水平旋翼中的一个或多个可沿逆时针方向旋转的同时,水平取向的旋翼中的一个或多个可以沿顺时针方向旋转。例如,顺时针旋翼的数量可以等于逆时针旋翼的数量。为了控制由每个旋翼产生的升力和/或推力,从而调整可移动物体2100的空间设置、速度和/或加速度(例如,相对于高达三个平移度和高达三个旋转度),可以独立地改变每个水平取向的旋翼的转速。

感测系统2108可以包括可以感测可移动物体2100的空间设置、速度和/或加速度的一个或多个传感器(例如,相对于高达三个平移度和高达三个旋转度)。一个或多个传感器可以包括全球定位系统(gps)传感器、运动传感器、惯性传感器、近距离传感器或图像传感器。感测系统2108提供的感测数据可以用于控制可移动物体2100的空间设置、速度和/或取向(例如,使用如下所述的合适的处理单元和/或控制模块)。备选地,感测系统2108可以用于提供关于可移动物体周围的环境的数据,例如天气条件、接近潜在障碍物、地理特征的位置、人造结构的位置等。

通信系统2110能够经由无线信号2116与具有通信系统2114的终端2112进行通信。通信系统2110、2114可以包括适合于无线通信的任何数量的发射机、接收机和/或收发机。通信可以是单向通信;这样数据可以仅在一个方向上发送。例如,单向通信可以仅涉及可移动物体2100向终端2112发送数据,反之亦然。数据可以从通信系统2110的一个或多个发射机发送到通信系统2112的一个或多个接收机,反之亦然。备选地,通信可以是双向通信,使得可以在可移动物体2100和终端2112之间的两个方向上发送数据。双向通信可以涉及将通信系统2110的一个或多个发射机的数据发送到通信系统2114的一个或多个接收机,反之亦然。

在一些实施例中,终端2112可以向可移动物体2100、载体2102和搭载物2104中的一个或多个提供控制数据,并且从可移动物体2100、载体2102和搭载物2104中的一个或多个接收信息(例如,可移动物体、载体或搭载物的位置和/或运动信息;由搭载物感测的数据,例如由搭载物相机捕获的图像数据)。在一些实例中,来自终端的控制数据可以包括用于可移动物体、载体和/或搭载物的相对位置、移动、致动或控制的指令。例如,控制数据可以导致可移动物体的位置和/或取向的修改(例如,经由推进机构2106的控制)或搭载物相对于可移动物体的移动(例如,经由载体2102的控制)。来自终端的控制数据可以导致对搭载物的控制,诸如对相机或其他图像捕获装置的操作的控制(例如,拍摄静止或运动的图片、放大或缩小、打开或关闭、切换成像模式、改变图像分辨率、改变焦点、改变景深、改变曝光时间、改变视角或视野)。在一些实例中,来自可移动物体、载体和/或搭载物的通信可以包括来自(例如,感测系统2108或搭载物2104的)一个或多个传感器的信息。通信可以包括来自一个或多个不同类型的传感器(例如,gps传感器、运动传感器、惯性传感器、接近传感器或图像传感器)的感测信息。这样的信息可以关于可移动物体、载体和/或搭载物的定位(例如位置、取向)、移动或加速度。来自搭载物的这种信息可以包括由搭载物捕获的数据或搭载物的感测状态。由终端2112发送提供的控制数据可以被配置为控制可移动物体2100、载体2102或搭载物2104中的一个或多个的状态。备选地或组合地,载体2102和搭载物2104也可以各自包括被配置为与终端2112进行通信的通信模块,使得该终端可以独立地与可移动物体2100、载体2102和搭载物2104中的每一个进行通信并对其进行控制。

在一些实施例中,可移动物体2100可被配置为除了与终端2112通信之外还与另一远程装置通信,或代替与终端2112通信而与另一远程装置通信。除了与可移动物体2100通信之外,终端2112也可以被配置为与另一远程装置通信。例如,可移动物体2100和/或终端2112可以与另一可移动物体或另一可移动物体的载体或搭载物通信。当需要时,远程装置可以是第二终端或其他计算装置(例如,计算机、膝上型电脑、平板电脑、智能电话或其他移动装置)。远程装置可以被配置为向可移动物体2100发送数据、从可移动物体2100接收数据、向终端2112发送数据,和/或从终端2112接收数据。可选地,远程装置可以连接到因特网或其他电信网络,使得从可移动物体2100和/或终端2112接收的数据可以上传到网站或服务器。

图22是根据实施例的用于控制可移动物体的系统2200的框图的示意图。系统2200可以与本文中公开的系统、装置和方法的任何合适的实施例结合使用。系统2200可以包括感测模块2202、处理单元2204、非暂时性计算机可读介质2206、控制模块2208和通信模块2210。

感测模块2202可以利用不同类型的传感器,这些传感器以不同方式采集与可移动物体有关的信息。不同类型的传感器可以感测不同类型的信号或来自不同的源的信号。例如,传感器可以包括惯性传感器、6ps传感器、接近传感器(例如激光雷达)或视觉/图像传感器(例如相机)。感测模块2202可以可操作地耦接到具有多个处理器的处理单元2204。在一些实施例中,感测模块可以可操作地耦接到被配置为直接将感测数据发送到合适的外部装置或系统的发送模块2212(例如,wi-fi图像发送模块)。例如,发送模块2212可以用于将由感测模块2202的相机捕获的图像发送到远程终端。

处理单元2204可以具有一个或多个处理器,例如可编程或非可编程处理器(例如,中央处理单元(cpu)、微处理器、fpga、专用集成电路(asic))。处理单元2204可以可操作地耦接到非暂时性计算机可读介质2206。非暂时性计算机可读介质2206可以存储可由处理单元2204执行的用于执行一个或多个步骤的逻辑、代码和/或程序指令。非暂时性计算机可读介质可以包括一个或多个存储器单元(例如,可移动媒体或诸如sd卡或随机存取存储器(ram)之类的外部储存器)。在一些实施例中,可以将来自感测模块2202的数据直接传送到非暂时性计算机可读介质2206的存储单元并在其中存储。非暂时性计算机可读介质2206的存储器单元可以存储可由处理单元2204执行的逻辑、代码和/或程序指令,以执行本文中所描述的方法的任何合适的实施例。存储器单元可以存储来自感测模块的感测数据以供处理单元2204处理。在一些实施例中,非暂时性计算机可读介质2206的存储器单元可以用于存储由处理单元2204产生的处理结果。

在一些实施例中,处理单元2204可以可操作地耦接到被配置为控制可移动物体的状态的控制模块2208。例如,控制模块2208可以被配置为控制可移动物体的推进机构,以相对于六个自由度调整可移动物体的空间设置、速度和/或加速度。备选地或组合地,控制模块2208可以控制载体、搭载物或感测模块的状态中的一个或多个。

处理单元2204可以可操作地耦接到被配置为从一个或多个外部装置(例如,终端、显示装置或其他遥控器)发送和/或接收数据的通信模块2210。可以使用任何合适的通信方式,例如有线通信或无线通信。例如,通信模块2210可以利用局域网(lan)、广域网(wan)、红外线、无线电、wifi、点对点(p2p)网络、电信网络、云通信等中的一个或多个。可选地,可以使用中继站,例如塔、卫星或移动站。无线通信可以是接近度相关的或接近度不相关的。在一些实施例中,通信可能需要或可能不需要视距。通信模块2210可以发送和/或接收以下中的一个或多个:来自感测模块2202的感测数据、由处理单元2204产生的处理结果、预定控制数据、来自终端或遥控器的用户命令等。

系统2200的组件可以以任何合适的配置布置。例如,系统2200的一个或多个组件可以位于可移动物体、载体、搭载物、终端、感测系统或与上述一个或多个通信的附加的外部装置上。另外,尽管图22描绘了单个处理单元2204和单个非暂时性计算机可读介质2206,但本领域技术人员应理解,这不是意在限制,并且系统2200可以包括多个处理单元和/或非暂时性计算机可读介质。在一些实施例中,多个处理单元和/或非暂时性计算机可读介质中的一个或多个可以位于不同的位置,例如位于可移动物体、载体、搭载物、终端、感测模块、与上述一个或多个通信的附加外部装置或其合适组合上,使得由系统2200执行的处理和/或存储功能的任何合适方面可以发生在前述位置中的一个或多个位置。

虽然本文已经示出和描述了本发明的优选实施例,但是对于本领域技术人员显而易见的是,这些实施例仅以示例的方式提供。在不脱离本发明的情况下,本领域技术人员将会想到许多变化、改变和替代方式。应当理解,在实践本发明时可以采用本文所述的本发明的实施例的各种替代方案。以下权利要求旨在限定本发明的范围,并且这些权利要求及其等同物的范围内的方法和结构由此被涵盖。

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