CN110832408A - 通过飞行器的基于神经网络的图像目标跟踪 - Google Patents
通过飞行器的基于神经网络的图像目标跟踪 Download PDFInfo
- Publication number
- CN110832408A CN110832408A CN201780092868.0A CN201780092868A CN110832408A CN 110832408 A CN110832408 A CN 110832408A CN 201780092868 A CN201780092868 A CN 201780092868A CN 110832408 A CN110832408 A CN 110832408A
- Authority
- CN
- China
- Prior art keywords
- controller
- neural network
- vehicle
- uav
- unmanned vehicle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 174
- 238000003384 imaging method Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 54
- 238000012545 processing Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 230000033001 locomotion Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 claims 1
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 abstract description 21
- 238000012549 training Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 4
- 238000013523 data management Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0016—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement characterised by the operator's input device
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0044—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with a computer generated representation of the environment of the vehicle, e.g. virtual reality, maps
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0094—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots involving pointing a payload, e.g. camera, weapon, sensor, towards a fixed or moving target
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/12—Target-seeking control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2101/00—UAVs specially adapted for particular uses or applications
- B64U2101/30—UAVs specially adapted for particular uses or applications for imaging, photography or videography
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2201/00—UAVs characterised by their flight controls
- B64U2201/20—Remote controls
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0033—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by having the operator tracking the vehicle either by direct line of sight or via one or more cameras located remotely from the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Artificial Intelligence (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Studio Devices (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
Abstract
用于无人飞行器(UAV)中的飞行控制的神经网络的结构参数和/或计算参数被远程计算且被上传至UAV。所述参数可以与以下相对应:基于通过由UAV成像获得的数据对之前优化的神经网络参数的重新计算。
Description
技术领域
本发明涉及无人飞行器的操作。
背景技术
无人飞行器(UAV),也被通俗地称为“无人机”,在体育事件和娱乐事件、自然地标和人造地标、公园和其他特征及结构,以及简言之,在人们可能希望获得“鸟瞰”视图的几乎任何情况下,在天空中正变得日益常见。
尽管许多人可以仰视天空中的UAV,UAV通常被配置为使用一个或多个相机俯视,其图像被发送至地面控制器,该控制器可以为用户显示图像。实际上,如果空中摄影不是UAV最常见的用途,也是其最常见的用途之一。
一些现代的UAV包括调整其飞行路径以自动地跟踪被成像的物体并将物体保持在其上安装的相机的视野中的能力。这不仅减轻了用户对于手工控制UAV以正确地跟踪物体的需要,也使UAV能够跟踪甚至可能无法安全地操作UAV控制器的用户自身。例如,如果用户正在骑自行车,并且用户想要他的UAV跟踪他,用户可能将不能够操作通常用于控制UAV的飞行路径的操纵杆。
各种跟踪例程允许UAV识别其相机的视野中的物体,并且即使物体在移动,也保持其相对于该物体的位置。通常,用户通过在控制器的显示屏上以某种方式标记物体来识别该物体,控制器则将该选择发送至UAV。UAV内的板载电路和软件则处理来自其相机的图像,以识别该物体并且将其定义得足够好,使其飞行控制***1300能够操作UAV,从而将该物体保持在相机的视野中。
将物体识别得好到足以允许这种连续的跟踪需要足以完全实时地从图像中提取与该物体相对应的那些像素的图像处理能力。已经证实的适用于该任务的一种方法是使用神经网络的图像处理。
几十年来,神经网络已经是计算机科学甚至纯数学领域中的活跃的研究区域。虽然这种类比有时被争论,但是至多是有瑕疵的,术语“神经网络”已经被使用,因为这种网络的计算结构被认为是至少在基元的层级上与人脑中的神经元处理信息的方式类似。实际上,即使最先进的神经网络,也通常具有大致等于蠕虫的突触连接的数量的内部数学连接的数量,但是即使这样,也足以用于许多模式匹配任务。
最常见的神经网络的类型通常被表示为布置在层中的“节点”或“神经元”。每个节点具有值,并形成被上馈至更高层级的层(通常但不一定是下一最高层)中的一个或多个节点的输出。从一个节点上馈至另一个节点的值通常被加权或以其他方式在功能上被转换,以形成对相应的更高层级的节点的输入;基于哪个更高层级的节点接收该节点的值作为输入,权重或其他转换通常,但不一定是不同的。换言之,神经网络被构造为图,图中的每个节点上连至图中的另一个层级的层上的0个、1个或多个节点。
图1示出非常简单的神经网络结构,在该结构中存在4个节点层:层0、层1、层2和输出,每个节点层中具有不同数量的节点。(然而,一个层可以与另一个层具有相同的节点数量。)日常应用中使用的神经网络通常具有许多更多的层和每个层中的许多更多的节点,有时在每层有数千个或甚至是数万个节点的量级;这由层的右边的点表示。图1中示出的神经网络在以下意义上是全连接的:每个节点将其加权值上馈至下一最高层中的每个节点。备选地,通过初始配置、或者例如通过将节点从下一更高层级的节点“断开”(例如,通过简单地将其连接权重设置为0),神经网络可以是部分连接的。
在图1中,从层0的(最左侧的)节点0上传至层1的节点0的值的权重被表示为w_0,0,1,0,且层2的第4个节点的用于到第3个层的第6个节点的连接的权重被表示为w_2,4,3,6。在该示例中,权重因此被示出为简单的标量因子或系数,但是跟纯标量相反地,加权可以功能性的。作为备选的一个示例,一个节点的输入Inp(n+1)(来自紧邻的更低层x的节点,其节点值为xn)可以是线性的,即,采用Inp(n+1)=wn*xn+cn的形式,其中wn和cn是可调整的系数(“权重”)。
在最低层级处,节点被提供有一数值信息集合,并且来自神经网络的最高层级的层的输出通常被用作“结果”。在图1中的示例说明中,5个输入被示出为输入0、输入1、输入2、输入3和输入4,且输出在顶部示出。在一些简单的神经网络中,结果在以下意义上是二进制的:该结果指示在输入数据集合中是否满足某个条件。例如,神经网络可以被设计为,确定在图像中是否存在某个物体。其他神经网络结果不需要是二进制的,而是能够被用于更广泛地识别定义特征,并且可以被进一步处理以确定诸如数据集中的位置,以及发现模式等。
在神经网络被投入实际使用之前,通常需要“训练”神经网络”。训练可以包括输入多个(通常是大量的)已知数据集,并且然后向神经网络指示,其节点到节点的权重的当前配置是否已经对每个输入数据集进行了正确地分类。如果还没有,则各种例程被运行,以允许神经网络调整其权重,直至已对全部或至少足够数量的已知训练数据集进行了正确地分类。例如,旨在识别海上存在船只的神经网络可以被提供有大量的输入成像数据集,一些成像数据集包含船只,而另一些成像数据集不包含船只。在神经网络的训练期间,其权重通过已知计算被优化,使得这些训练数据集能够被正确地分类。假设训练数据集与实际条件相对应,在该实际条件下,神经网络将足够好地操作,使得在其处理分类未知的数据集时其结果也将是正确的。在UAV的环境中,神经网络可以用于处理成像数据,从而帮助UAV跟踪物体或向飞行控制***提供输入。
针对UAV的重要的设计考虑是其重量,由于更重的UAV将需要更有力的推进***以及由此针对给定的期望最小飞行时间需要更大和更重的电池。类似地,更强大的处理***将需要用于操作它们的更多的电力,并且这也将需要更大的电池。诸如可用空间、发热、通信带宽等的其他设计考虑也增加了对在商用和娱乐市场中通常首选的尺寸和重量的UAV的设计挑战。评估神经网络,特别是实时地评估神经网络,通常涉及快速地处理大量的计算,这使其使用对应该尽可能轻的UAV特别有挑战;许多娱乐UAV例如具有小于2.0kg、小于1.5或者甚至小于1.0kg的质量,甚至包括板载相机。
由于针对给定的神经网络通常必须存储大量的系数权重——每个存储器芯片增加了板载电路的尺寸,这个问题变得更加严重。解决这个问题的一种方式是,要固定UAV内的神经网络,其中权重被永久地硬编码到非易失性储存装置中。然而,这意味着,在不进行该储存装置的物理替换或重新编码的情况下,至多难以且在许多情况下不可能针对其他操作环境重新训练或重新配置神经网络。
因此,能够灵活地调整基于UAV的神经网络而无需复杂的硬件改变将是有利的。
附图说明
图1示出简单的神经网络。
图2示出UAV连同远程神经网络处理***的操作。
图3示出根据实施例***作的UAV的主要硬件和软件部件。
图4示出应用于本发明的一些实施例,用户在操作的UAV的同时可以查看的显示器。
图5示出UAV控制器的显示器内的目标选择。
图6和图7示出可以应用至实施例的神经网络选择布置的示例。
图8示出在其中计算神经网络参数并推送至终端的实施例的处理工作流程。
具体实施方式
按照广义的术语,本发明的实施例提供神经网络(NN)参数的远程计算,神经网络参数能够被加载到UAV内的对应电路。
现代的商用UAV和娱乐UAV采用了许多形状和形式。图2示出商用UAV和娱乐UAV中的大部分共享的主要结构特征。图2中示出的UAV 100包括中心体或中枢110,中心体或中枢110通常还包括用于控制UAV的电路的壳体。设置在诸如机架、支架、支柱等的多个支撑结构115上的是相应的电机120,每个电机120驱动至少一个推进装置。如图2中所示,推进装置是最常见的类型的螺旋桨125,但是已经提出了使用导管风扇布置或其他备选的一些UAV。
也大致提供了某种形式的起落装置。在图2中,它们是支撑架130,但是一些UAV具有横杆、箱框结构等,以使用户更容易地握住和取回UAV。
娱乐UAV和商用UAV的一种常见的用途是空中摄影。这种UAV因此包括至少一个相机140,该相机140可以固定在或可移动地设于例如在具有用于改变视角的致动器的云台上。虽然在一些UAV上仍然发现相机,但摄像机更加流行。
许多UAV的相机在可见波长下操作——尤其是娱乐和商用UAV的用户想要查看和记录。然而,本发明不限于这些用途;相反,可能将下文描述的实施例用于热跟踪,即,其中相机140在红外区域中操作,例如许多军用和警用UAV被配置用于的夜间操作。
虽然存在一些完全自主的UAV(特别是在高级用途中),大多数商用UAV和娱乐UAV由操作控制器200的用户控制。因此,UAV包括无线通信***,如具有内部或外部天线150的射频发射机。
为了使得UAV飞行并且操作其各种特征,控制器通常包括一个或多个用户可操作的装置,如,操纵杆222、操纵杆224,有时还包括不仅用于打开和关闭控制器、也用于选择其他特征的各个按钮242、按钮244,以及有时包括附加的I/O装置,例如,触控板226。天线250可以构建在控制器中或向外延伸,以向UAV发送射频信号并从UAV接收射频信号。虽然一些简单的UAV不能使用户观看由相机140捕获的实时图像,但许多UAV能够。在这些情况下,控制器200一般包括用户在其上能够查看从UAV下传的图像(包括视频)的显示屏270。与许多其他普通装置一样,显示屏270自身可以是触摸屏,使其也能够作为输入装置使用。
在一个实施例中,控制器实时地或离线地与至少一个远程计算***(例如,服务器300)通信,至少一个远程计算***可以是服务器组300、310、320、...之一。控制器和这些服务器之间的通信链路400可以通过网络,包括互联网、专有网络(例如,移动电话网络)、或甚至是硬连线连接(例如,USB或至本地服务器的其他电缆)。然而,根据控制器自身中包括的计算能力,使用控制器自身的处理能力也将可能实现本发明的一些实施例(如下文所述),无需连接至外部处理***。因此,仅仅通过示例方式在下文中描述了实施例,其中的控制器200在网络400上与至少一个远程服务器300通信。
图3示出图2中示出的3个***100、200、300的主要硬件和软件部件。仅仅出于清楚的目的,诸如电池和其他电路及软件之类的一些传统部件没有被示出和描述,因为它们是众所周知的。
在UAV 100内包括的电路的核心是一个或多个处理器1110,所述一个或多个处理器1110可以是已知或定制的CPU,在一些***中也与诸如协处理器、PFGA等的高速专用装置相关联。定义UAV内的各种软件模块的数据和代码被存储在诸如存储器1115之类的一个或多个装置中,存储器1115可以是易失性的(包括高速存储器装置)或非易失性的(例如,永久储存装置)或二者。随着诸如SSD和NVRAM等的技术的流行,“存储器”和“储存器”之间的界线当今越来越模糊。本发明没有预先假定任何特定的存储器或储存器技术,只要可以使足够的量可用于满足UAV的操作需要即可。包括了电机控制电路1120,以控制电机1125驱动螺旋桨(或其他推进装置)125的操作。
类似地,相机140由对应的成像电路和软件1145控制,成像电路和软件1145也接收来自相机的输出并且执行任何必要的信号处理操作,以将原始图像数据转换成适于进一步处理且最终由用户观看的形式。
与控制器的通信由已知的射频电路1150处理,射频电路1150也被认为包括必需的可执行代码和电路,所述可执行代码和电路用于转换和格式化信号以向控制器200正确传递数据和其他信息并从控制器200正确传递数据和其他信息。可以包括硬件、固件和/或可执行代码的飞行控制电路1300根据用户命令和内部飞行控制信号二者来实现已经被设计到UAV中的任何飞行控制例程和策略。例如,一些UAV包括导航电路1600,例如,GPS、惯性传感器、其他位置传感器,并且在一些产品中包括单独的高度感测装置1650,例如,现代的紧凑MEMS气压计。
在本发明的环境中,UAV 100还包括至少一个神经网络1000,该神经网络1000通常是易失性或非易失性存储器1115内存储的数据结构。例如,在配置模块1100的控制下,神经网络1000是可编程的和可重新配置的。神经网络部件纯粹作为可执行代码实现,即,作为软件“软件”,但是也可以使用硬件装置(例如,协处理器)实现神经网络的至少一部分;而且,多个公司现在正在销售实现可变复杂度的神经网络的ASIC。然而,改变节点之间的权重也应是可能的。
虽然图3示出“一个”神经网络1000,一次在UAV内配置有或可用的多于一个神经网络1000也是可能的。即使在硬件部件用于执行所需要的计算的情况下,根据在板上包括多少存储器,不同的权重集合可以被存储在UAV的存储器中并且被选择性地加载。UAV因此可以被配置为一次包括多于一个神经网络。
在本发明的实施例中,出于飞行控制目的,神经网络1000中的至少一个被用于识别UAV的至少一个操作状态。虽然神经网络可以被用于识别大范围的条件和模式(例如,操作或其他飞行状态条件),下文描述的实施例将通过示例假没神经网络的目的是使UAV(具体地,其相机140)跟踪其视野中的所选特征。在一些商业上可用的UAV中已经已知或发现了做到这些的能力,因此在下文中不进一步详细描述;而是,在高效地更新定义神经网络1000的参数的环境中描述实施例。这些参数可以是结构参数和操作参数二者。
如本文所使用的,“结构参数”指诸如神经网络中的层数、每个层中的激活节点(即,接收至少一个非零输入的节点)、以及定义神经网络的模型或类型的其他参数之类的特性;“计算参数”主要指被分配给神经网络中的许多节点到节点的计算连接的权重。要注意,这两种类型的参数不一定不相关。例如,根据神经网络1000如何被实现,每层中的节点的数量可以被预设为最大值,但是在实践中可以通过将不需要的连接的权重设置为0而改变每层中的节点的数量。除非另外规定或从环境中显而易见,术语“参数”在本文中被用于指代任一类型,即,结构参数和计算参数中的任一类型,因为使用本发明的实施例能够选择并更新一种或两种类型。
控制器200类似地包括所选择的任意技术或技术的混合的一个或多个处理器2110和一个或多个存储器和/或储存部件2115。I/O接口2200可以接收由用户提供的输入并且把它们转变成用于处理的适合的信号。例如,可以使用众所周知的电路和方法将操纵杆的移动转换成对应的左右、前后、上下或其他命令。根据控制器200被设计为与外部服务器300(如果这是所选择的配置)通信的方式,控制器将包括传统部件,例如,网络接口(NIC)卡219。
控制器200包括与UAV 100的无线通信接口。在所示出的示例中,这是射频部件2150。在几乎所有的现代UAV上能够找到这些装置,因此在此处不再描述。根据需要,控制器还可以包括飞行控制电路和软件2300,用于将自动飞行控制和用户指示的飞行控制及其他信息转换成适于向UAV传输且由UAV解析的所选择的任意形式。例如,与操纵杆222、操纵杆224的物理移动相对应的信号可以是经A/D转换的(如果需要)、经缩放的、以及经格式化的,并且可能与用于向UAV传输的其他控制信号组合,UAV自身的飞行控制电路1300随后可以解析传输数据并将其转换成适合的电机命令和/或相机命令。
图2中示出的控制器200包括一个或多个库280。在一些实施例中,这些库被包括在内以存储定义用于不同操作环境的神经网络的计算参数。如本文所使用的,“环境”是能够被参数化且与可编程的神经网络配置相关联的UAV状态的任意定义。这些参数可以被上传至UAV,UAV随后可以将这些参数加载到其神经网络电路和软件1000,从而重新配置神经网络。根据具体实施,重新配置能够在UAV在静止时执行,或者甚至在飞行时实时地执行。
在图3中,远程处理***300被称为“计算服务器”,它可以是单个***或分布式环境(例如,“云处理”)中的一组处理***。当与其他这样的服务器一起时,计算服务器300将包括一个或多个处理器3110,它们可以是通用的或是专用的、以及易失性的和非易失性的存储器和储存器二者。在图2中,储存装置被分别地示出为3115和3120,仅因为这些远程服务器的容量通常大很多;而且,计算服务器300,不同于控制器200,无需专用于UAV,而是也能够处理来自其他***的请求,但这不是本发明的任何一个实施例都需要的。
图2中类似盘的储存器符号3120用于说明计算服务器300可以用于存储定义了许多不同类型的神经网络的计算参数甚至是结构参数的大量数据,所述大量数据可以被传递至控制器200用于选择性的上传至UAV 100。这些不同的参数集合可以被存储在库380中,库380在图中被单独示出,但是这些不同的参数集合通常是存储器3115或更永久但可能更慢的储存装置3120内存储的数据结构。
虽然只是为了简化没有在图中示出,UAV、控制器和计算服务器都将包括某形式的***软件和/或固件,例如,操作***(在服务器300的情况下),或者为UAV环境应用环境定制的更局限和专用的***软件。
如上文提及的,神经网络通常通过向其输入具有已知输出的大量的数据集而被“训练”。一个或多个优化例程随后被运行以计算权重集合,该权重集合允许神经网络正确地分类每个输入或至少是足够数量的输入。假设当提供不是事先已知的输出的输入数据集时,神经网络也将正确地分类该输入数据集。然而,基于神经网络的性质,在实际操作中该假设不总是被证明是正确的。这部分地因为通常不可能知道神经网络的优化例程已经实际收敛至哪里,并且不可能知道所选择的权重集是表示局部最优还是全局最优。
在一个众所周知但可能是伪造的错误分类的早期示例中,通过大量的照片上训练神经网络,其目的是使其能够识别树中载具的存在。在该神经网络的训练阶段的结束,其表现为正确地分类了所有的照片、以及已经被保留为训练后的测试的照片。然而,当该神经网络在后来使用其他照片测试时,发现其结果实质上是随机的。后来的研究揭示了原因:包括载具的训练照片在阴天拍摄,但是没有坦克的照片是在晴天拍摄的。这证明,神经网络已经被“训练”成不是识别载具,而是识别照片是在阴天还是在晴天拍摄。不管是真实的还是伪造的,该示例仍然不时地被用于说明神经网络训练有时是不可预测的。
然而,即使利用最佳训练,在训练输入数据集内通常也不是所有可能的真实生活环境或模式都可用,从而神经网络的更新对于改善分类结果通常是有利的。神经网络的更新一般涉及使用全部的更新后的输入数据集重新训练,尽管还存在一些算法,仅给定已知输入(除了之前用于训练的那些输入之外),这些算法可以更高效和快速地重新计算最佳权重。在任一情况中,对于初始训练或是对于之后的重新训练,利用给定的输入数据集优化神经网络的计算负担可以比UAV 100中的处理***大得多,或者其控制器200甚至被设计为高效地或全力处理。本发明的实施例因此可以利用更大处理能力和储存能力的***(例如,计算服务器300)。
服务器300因此包括神经网络模块3000,神经网络模块3000可以作为可执行代码的任何其他的主体实施,从而执行已知和需要的计算,所述已知和需要的计算用于优化与UAV 100内要使用的神经网络相对应的神经网络的权重和配置(层数、每个层中的节点数等)。换言之,可以利用神经网络模块3000计算用于控制UAV的操作的某些方面的神经网络1000的参数。神经网络控制软件模块3100可以被包括在远程处理***300中的服务器中的至少一个服务器中,以指示与神经网络有关的计算任务或协调交互,例如,来自控制器200的请求或对控制器200推送的下载、和/或直接来自UAV 100的请求或直接对UAV 100推送的下载(如果UAV被配置用于这种直接通信)。
用于神经网络模块3000的输入数据集可以来自不同的源。例如,UAV***的销售商可以在不同的环境、不同的操作环境情景下运行大量的飞行试验,编译对应的输入集,并将对应的输入集提供至计算服务器,以用于针对不同的试验环境的最佳神经网络参数的计算。
作为另一个非专有的备选,控制器200可以向计算服务器300上传从UAV获取的成像数据,所述成像数据用于更新UAV在获取该成像数据时正在运行的神经网络1000的参数。例如,用户可以观察到,UAV利用其相机经常不能获取已选择的成像目标或正确地跟踪成像目标,即使UAV应该具有用于跟踪该目标的适合的神经网络。实际获取的成像数据因此可以与定义相应的神经网络的参数一起被上传至计算服务器300,然后给定更新后的输入信息,神经网络计算模块3000可以重新计算神经网络的参数。在许多情况下,这将提高用于正确获取和跟踪期望的目标类型的神经网络的能力的。计算服务器300则可以将更新后的神经网络参数提供给控制器200,控制器200则可以通过所设计的任意方法将它们传递至UAV的神经网络部件1000。
在另一个实施例中,如果UAV和计算服务器被配置有对应的通信部件,则UAV 100可以例如经由移动电话网,与计算服务器300直接通信,并且直接上传用于重新训练的数据和/或接收更新后的神经网络参数。参见图8,下面将描述神经网络参数直接被“推送至”或经由控制器200间接被“推送至”UAV的过程。
如已经提及的,视频成像是UAV的一般用途,且神经网络很好地适于图像跟踪环境中的飞行控制。然而,除了图像跟踪用途之外,本发明的实施例还可以被用于加载和更新用于其他用途的神经网络参数。例如,神经网络可以被用于检测图像跟踪之外的期望的或不期望的UAV操作特性。仅作为一个示例,用于飞行控制的神经网络可以被编程为识别并补偿阵风,例如,在航向跟随、非基于图像的状态保持(station-keeping)等期间。还将可能包括针对配备有麦克风的UAV的音频跟踪而优化的一个或多个神经网络,所述麦克风可以是通用的或定向的,并且可能附有噪声消除硬件和软件。
图4示出在使UAV飞行的同时用户可以在显示器270上查看的场景,UAV的实时视频图像被下载至控制器200。在所示出的示例中,在UAV的摄像机视野中当前存在4个主要类型的特征:道路、几棵树、骑自行车的人和一只狗。现在再仅仅通过示例方式假设,用户希望跟踪自行车。换言之,用户希望UAV飞行控制***指示UAV的运动,使得自行车保持在摄像机140的视野中。假设骑自行车的人正在移动,这将意味着UAV内的神经网络1000需要获取目标(即,自行车)的图像,并控制UAV的飞行路径,使得该目标图像大致保持在视频视野的相同位置处。这已在可商用的UAV(例如,由大疆公司提供的产品中的一些)的能力之内。
在UAV的飞行控制***1300将神经网络1000的输出作为至少一个控制参数能够跟随自行车之前,它当然必须要知道这是它应该做的。图5示出可以实现其的一种方式:使用任意的I/O装置,例如,操纵杆222、操纵杆224、触控板226、触摸显示器270上的目标图像、或使用任何其他的已知方法中的一个,用户可以选择自行车的子图像(例如,通过将光标或其他指示符275置于其上)。用户随后可以遵循由供应商设计的用于向控制器200发信号通知所选择的子图像是要被跟踪的目标的任何其他的过程。UAV的神经网络1000或其他模式匹配例程则可以存储已选择的子图像的像素的表示,使得子图像能够在其移动时被跟踪。同样,这种能力已经在可商用的UAV中可用。UAV则可以根据结果,向控制器返回以及由此向用户返回对目标的获取的确认。
然而,假设该UAV没有正确地跟踪或甚至没有正确地识别自行车,即,没有正确地获取自行车子图像。这可以表示“超出范围(out-of-bounds)”情形,在该情形中,给定已被编程的参数,神经网络正在对神经网络所处理的视频数据进行错误分类。用户可以控制器以任一所选方式(例如,选择屏幕上显示的某个图标278、或使用由供应商指定的任何其他的输入方法)指示该跟踪失败。UAV自身内的飞行控制***识别无法正确跟踪目标也是可能的。例如,目标通常由所捕获的图像中的与之相对应的像素的特性定义。为了发现目标,许多算法使用模式匹配例程,该模式匹配例程在找到与具有至少一致的阈值度的图案相对应的像素区域时获取图像目标。如果借助或不借助神经网络1000,飞行控制***不能发现或保持针对图像目标的已选择的像素图案,则其自身可以发出不能跟踪的信号。随后可以将其传送回控制器200,控制器200可以接着以任一所选方式(同样,例如,通过在屏幕270上呈现或闪现某个图标或其他显示特征)将其指示给用户。
触发神经网络1000的参数的更新的事件无需是某种“失败”,而是由用户通过控制器200、由远程处理***300的管理员或供应商商所选择的任意事件。UAV或控制器中的至少一者可以分别设有软件更新控制模块1180、2280,其用于感测和解析被设计成触发神经网络的更新的事件;控制器的更新模块2280用于控制向UAV中的对应模块1180传递参数。仅仅作为几个示例,可以根据计划表触发参数更新,例如,过去的天数或完成的飞行次数、或预订的更新,或可以来自UAV供应商,该UAV供应商可能已经发布了改进参数的新的库380等,随后可以被“推送”至一个或多个UAV(例如,经由其各自的控制器200、或直接地——如果已经包括了直连的UAV计算服务器通信)。用户也可以例如在飞行之前简单地触发对控制器的更新,然后可以查询计算服务器300以确定是否存在合适的或更新的神经网络参数集。例如,用户可以正常使用其UAV来对特定类型的体育比赛等录像,但是随后希望对自然风景录像并想要优化其UAV针对该环境的飞行跟踪能力。
用户可以选择即使跟踪失败也不触发更新。例如,要被跟踪的物体可能只是加速到了UAV不能跟随的速度,从而使UAV看不见物体。这不表示神经网络1000的部分上的任何不足,神经网络1000在其他情况下可能已经执行得很好。
还要注意,物体移动不是需要“跟踪”(即,将物体保持在相机视野的位置中)的唯一理由,在大多数情况下,移动是相对的,使得UAV需要“跟踪”,即,控制其飞行轨迹,即使物体自身是静止的。例如,用户可能想要UAV改变高度和/或位置同时仍然观察物体,或者当UAV被认为“悬停”在物体上时可能需要跟踪以抵消风引起的漂移。
无论原因如何,获取和/或跟踪失败都可能指示需要更新UAV中当前使用的神经网络的参数。来自UAV的实际图像数据随后可以由控制器200存储并且实时地或在之后被上传至计算服务器300。计算服务器300随后可以重新计算神经网络的参数以供将来使用,或者根据无线电传输速度,控制器甚至能够在飞行时更新UAV的神经网络。在更新过程期间,图像跟踪可以被禁用,但是正常的飞行控制和通过用户和摄像机的图像观看甚至记录不会受到影响。
根据可用的储存器空间,无需UAV保持仅单个神经网络的参数。相反,用于不同操作情形(“环境”)的神经网络参数可以被存储在UAV内并根据用户希望跟踪的图像目标的类型被加载。在其他实施例中,用户可以被允许选择图像目标,在这之后,例如,在更新%%%的控制下,控制器向UAV上传最适于(根据任何所选择的度量)跟踪该类型的图像目标的用于对应的神经网络的参数。这些参数随后可以被存储在控制器自身的库280内,或者可以从位于计算服务器300中的神经网络参数库380下载。当然,两种库都可以使用。例如,公共库可以被存储在控制器280内,但是更不常用的或供应商更新的库可以被存储在计算服务器中,用于选择和下载或周期性更新控制器中的库280。
计算服务器中的神经网络参数的库可以专用于特定的UAV,或者可以通过多于一个用户的累积的重新训练输入而被构建。例如,许多用户可以跟踪一辆自行车。如果如以任意预定方式所定义的其他飞行特性(例如,UAV模型、相机类型、高度、速度等)足够相似,则可以存在例如专用于在这些条件下(即,在该环境中)跟踪自行车的神经网络参数库。用于该环境的最新的库随后可以由控制器取得并且被上传至特定的UAV。换言之,一个用户的UAV可以受益于基于许多不同用户的经历的累积的重新训练。
在允许用户向控制器指示什么要被跟踪的实施例中,例如,使用诸如上文所述的机制,实现允许用户输入附加的环境信息的特征也将是可能的,例如,附加的环境信息可以被控制器内的环境确定模块2290感测和解释。图6示出一种这样的可能性。在图6中示出的示例中,用户使用任何已知的方法向控制器指示(例如,向环境确定模块2290指示)将要配置UAV的神经网络1000的环境,无论当前的跟踪目标是否已经被选定。例如,用户可能知道她将要在河筏上对自己进行视频照相,因此其希望选择针对跟踪此类物体而优化的适合的神经网络参数。
虽然可以包括任何类型和数量的环境类别,图6仅仅通过示例方式示出了选择显示器600,选择显示器600示出了5种不同的环境类别,每种环境类别具有不同的选择,它们一起可以定义“环境”。在一种类别中,用户可以指定要被跟踪的物体的类型。在该示例中,包括载具、人、动物和自然作为选项。作为另一种类别,用户可以指示其认为物体将移动得多快,例如,快速、中速、慢速或静止。作为又一个示例类别,用户可以指示期望成像区域多亮,范围从暗到昏暗到亮到明亮。因此,UAV的神经网络可以加载例如根据天有多阴或阳光有多强而不同的加载参数。又一个可能的类别可以向UAV指示用户期望被跟踪的物体要遵循什么轨迹类型;在示例说明中,这可能是沿直线移动、沿曲线移动或随机移动。最后,如图6中所示,用户可以指示物体相对于显示器是大、中或小。如果用户没有了解得好到足以做出任何推荐,用户也可以根本不对任何或所有类别进行选择。
用户做出的每组选择随后能够与计算服务器300内的库380中的对应参数集合或控制器(库280)中的对应参数集合组对,由此可以将对应的参数下载至控制器,并且在飞行之前或根据在飞行时的上传速度在飞行上传至UAV的神经网络1000。
在图6中,希望跟踪图4中的自行车的用户已经选定载具、中等(大小)、亮(假设天是亮的但是没有强的日光)、直线(与所观察的路的形状相对应),但是用户还未指示物体的大小,可能因为用户不知道要选择哪一个。控制器随后可以查询其自身的库280或计算服务器300的库380以发现对应的神经网络参数的集合,从而上传至UAV。要注意,这使得配置和权重的潜在大型库可用于UAV的神经网络,而无需对应的大的板载储存能力。
如图7所示,其他输入方法可以被用于允许用户做出类别选择。在图7中,这经由下拉菜单的集合650完成,其中的每个下拉菜单可以显示针对每个跟踪类别的选择;环境确定模块2290例如可以输入和解析这些选择,并应用适合的环境以确定要使用、获得或更新哪些神经网络参数。通过示例方式,在图7中,用户希望跟踪狗而不是自行车,并且因此已经选定动物、明亮、以及中,但是用户对速度或轨迹没有做出选择,因为用户可能不知道针对狗的这些选择。在用户没有做出选择的情况下,计算服务器300可以返回满足用户已经做出的这些选择的任何库条目。类似地,如果在库中不存在神经网络参数集合,则计算服务器300可以遵循任何已编程的例程,以从库中选择适于用户已经做出的选择的参数集合,或者UAV可以继续仅仅利用任何其最近的参数集合或默认参数集合。
在另一个实施例中,环境选择(以及神经网络参数的对应选择)无需是用户指示的。作为备选(或附加地),神经网络1000及其控制器1100(其可以与网络1000自身集成)可以包括“环境选择”模块1190和“操作神经网络”(其根据选定的环境和目标来控制飞行操作)。环境选择模块1190自身可以包括神经网络、以及其他类型的例程,以确定当前的飞行环境是什么,从而通知或甚至确定应该配置和在网络1000中运行哪个环境的神经网络-。
只是作为一个示例,假设用户已经操作其UAV,使得随着UAV移动某个物体已经保持在相机的视野中。与环境选择模块1190相关联的神经网络是用于检测其的一种机制。换言之,假设一些像素组表现为以慢于定义了相机正在捕获的图像的剩余的大部分的像素的速率移动。这可以指示用户正手动跟踪由该像素组定义的物体。例如,可以通过导航模块1600确定的UAV的速度和航向随后可以指示物体是快速移动还是慢速移动、以及是直线移动还是曲线移动,以及物体相对于总成像区域的大小可以指示大还是小。这些因素随后可以指示UAV当前正在哪种环境中飞行。
环境选择也可以用于静态目标。例如,假设用户已经尝试操作其UAV以在具有特定几何形状的物体的上方悬停或围绕该物体转圈(“绕该物体运行”)。然而,用户可能是不熟练的,或者可能有风使该操作对用户过于困难。可以经由导航模块1600(例如,在所选择的时间周期内UAV似乎总是保持或返回相同的GPS坐标)或使用神经网络技术来检测利用重复地回到固定位置或飞行路径进行悬停或绕圈的尝试。神经网络或其他模式匹配例程可以被用于确定UAV已经尝试在其上悬停或绕其运行的物体的几何形状。环境选择模块1190也可以将该信息传递至配置模块1100,配置模块1100可以选择适合的神经网络配置用于指示飞行控制。在这种情况下,环境选择模块因此可以被用作对UAV状态保持的辅助。
这种环境选择和飞行控制可以自动发生,例如,通过执行定义环境确定模块2290的代码,或者仅在接受该自主跟踪的用户的指示之后,例如,响应于控制器显示器上的指示UAV已经检测到潜在的故意跟踪/悬停并询问用户是否希望UAV采取自主跟踪的指示。这种自动操作可以任一所选方法被中止,例如,仅感测用户已再次开始操纵例如操纵杆222、操纵杆224中的一个,以指示用户希望恢复手动飞行控制。
图8示出可以如何将原始的或更新后的神经网络参数推送至UAV的一个示例,所述推送可以是直接被推送至“终端”,可以是控制器(间接推送)或如果UAV被配置用于直接通信,被推送至UAV自身(直接推送)。在所示出的实施例中,假设可以存在可用于例如在“云”中或连网的计算任务的多个服务器(“节点”)。该过程可以涉及节点数据管理800和计算节点管理810二者,它们可以被实现为服务器300、310、320、...中的任何一个服务器中的可执行代码,该服务器可以被指派为主节点或监督节点。
节点数据管理800可以包括以下任务,如接收和组织从各个应用场景、各个已知网络模型和训练方法(802)获得的输入数据(801)。这些数据可能需要被格式化或被转换(803)以用于正确的处理,在此处其将准备好被分发至计算节点(804)以进行实际计算处理。
计算节点管理(810)可以被实现为优化计算资源的使用,例如,在所分配的节点实际执行例如计算神经网络参数的计算任务(812)之前的负载均衡811。一旦已经计算出参数,这些参数可以被返回到节点管理或监督服务器以被传递(“推送”——850)至终端。
控制器200或UAV或二者中包括的终端配置软件可以被提供用于执行终端数据管理功能(860),例如,与节点交互、以及下载并更新网络模型和参数(862),在这之后,UAV的对应神经网络可以利用接收到的参数(重新)编程,即,(重新)配置(864)。为了避免可能的运行时间不一致,UAV中的神经网络的(重新)编程优选地仅在UAV处于安全状态下时被执行,这可以以任何方式指示,例如,由用户直接指示或由UAV软件自身或由控制器200指示。
UAV 100和控制器200内的多个部件由“软件”组成或包括“软件”(即,被提供给处理器的用于执行的计算机可执行代码,以及在该代码执行时使用的获取数据所需的对存储器的传统的引用)。这种可执行代码自身在各个***的储存装置内实现。而且,附图中单独被示出的所有的硬件部件和软件部件(和/或固件部件)在实践中无需是分离的;而是,这些部件中的任何一个或所有这些部件可以在单个部件中实现。
如上文提及的,允许远程服务器300执行针对不同环境的优化神经网络参数的处理器密集型任务具有更大灵活性的优点,并且也降低控制器和/或UAV内的处理能力要求和/或需要更少的储存能力。这使得即使在UAV的重量相对较轻(例如小于2.0kg、小于1.5kg甚或小于1.0kg)时的UAV的神经网络1000的较大适应性。在另一个实施例中,仍然利用了更大的远程处理能力,但是无需经由网络访问;而是,供应商或其他实体可以制作可用的神经网络参数“芯片”或“卡”,即,便携式存储装置(例如,SD卡、闪存驱动器等),它们可以包含针对不同环境计算出的神经网络参数,该神经网络参数随后可以被上传至控制器或由控制器可访问,以选择性地上传至UAV。
Claims (50)
1.一种用于控制无人载具的方法,包括:
在控制器中感测触发事件;
从计算***接收参数集合,所述参数集合至少包括针对相应的载具环境而训练的远程神经网络的更新后的连接权重;以及
从所述控制器将所述更新后的连接权重应用于所述无人载具内的基于载具的神经网络,所述无人载具由此能够根据具有所述更新后的连接权重的所述基于载具的神经网络操作。
2.根据权利要求1所述的方法,还包括:从所述控制器向所述计算***发送与已选择的载具环境相对应的观察到的数据的集合,所述远程神经网络由此针对相应的载具环境而重新训练以包括所述观察到的数据的集合,所述更新后的连接权重包括重新训练后的神经网络的优化后的权重。
3.根据权利要求1所述的方法,其中,所述无人载具是无人飞行器UAV。
4.根据权利要求3所述的方法,其中,所述UAV具有小于2.0kg的质量。
5.根据权利要求3所述的方法,其中,所述观察到的数据是由所述UAV捕获的成像数据。
6.根据权利要求1所述的方法,其中,所述计算***与所述控制器相分离。
7.根据权利要求2所述的方法,所述计算***与所述控制器逻辑上分离并且物理上分离,所述方法还包括:
通过网络从所述控制器向所述计算***发送所述观察到的数据的集合,并通过所述网络接收所述更新后的连接权重。
8.根据权利要求1所述的方法,还包括:通过无线上传所述更新后的连接权重,应用所述更新后的连接权重。
9.根据权利要求1所述的方法,还包括:从所述计算***接收神经网络配置参数,所述神经网络配置参数与所述远程神经网络的层结构和每层的激活节点相对应。
10.根据权利要求1所述的方法,还包括:
为所述控制器的用户显示多个环境;
感测对所述环境之一的用户选择;以及
将用户选择的环境设置为所述载具环境。
11.根据权利要求1所述的方法,还包括:
为所述控制器的用户显示由所述无人载具捕获并向所述控制器发送的实时图像;
感测对所显示的实时图像内的物体的用户选择;以及
根据用户选择的物体的特性自动地确定所述载具环境。
12.根据权利要求1所述的方法,还包括:根据感测到的所述载具的操作特性自动地确定所述载具环境。
13.根据权利要求1所述的方法,其中,所述无人载具包括多个不同的神经网络,所述方法还包括:
经由所述控制器,初始化所述多个不同的神经网络,以分别与不同的载具环境相对应。
14.根据权利要求13所述的方法,还包括:
确定所述无人载具的当前操作环境;以及
向所述无人载具内的与所述当前操作环境相对应的神经网络上传与所述当前操作环境相对应的载具环境的更新后的连接权重。
15.根据权利要求1所述的方法,还包括:当所述无人载具在操作时,实时上传所述更新后的连接权重。
16.根据权利要求1所述的方法,其中,所述触发事件是从所述无人载具接收到超出范围环境数据。
17.根据权利要求1所述的方法,其中,所述触发事件是用户输入更新命令。
18.根据权利要求1所述的方法,其中,所述控制器和所述计算***是单个集成处理***。
19.根据权利要求1所述的方法,还包括:除了更新后的权重,还从所述控制器向所述无人载具神经网络上传结构参数。
20.一种用于无人载具的控制器,所述控制器包括计算机可执行代码,所述计算机可执行代码在处理器上执行时被提供用于:
感测并解释触发事件;
从计算***接收参数集合,所述参数集合至少包括针对相应的载具环境而训练的远程神经网络的更新后的连接权重,并经由数据传输布置,从所述控制器将所述更新后的连接权重应用于所述无人载具内的基于载具的神经网络,所述无人载具由此能够根据具有所述更新后的连接权重的所述基于载具的神经网络操作。
21.根据权利要求20所述的控制器,还包括:被提供用于向所述计算***发送与已选择的载具环境相对应的观察到的数据的集合的数据传输布置,所述远程神经网络由此针对相应的载具环境而重新训练以包括所述观察到的数据的集合,所述更新后的连接权重包括重新训练后的神经网络的优化后的权重。
22.根据权利要求20所述的控制器,所述无人载具是无人飞行器UAV。
23.根据权利要求22所述的控制器,还被提供用于:接收由所述UAV捕获的成像数据作为所述观察到的数据。
24.根据权利要求20所述的控制器,所述控制器与所述控制器相分离。
25.根据权利要求21所述的控制器,所述计算***与所述控制器在逻辑上分离并且在物理上分离,并且还包括:
网络接口,所述控制器经由所述网络接口通过网络向所述计算***发送所述观察到的数据的集合,并通过所述网络接收所述更新后的连接权重。
26.根据权利要求20所述的控制器,还包括:无线传输布置,所述无线传输布置被提供用于通过无线上传所述更新后的连接权重来应用所述更新后的连接权重。
27.根据权利要求20所述的控制器,还包括:更新模块,所述更新模块用于从所述计算***接收神经网络配置参数,所述神经网络配置参数与所述远程神经网络的层的结构和每层的激活节点相对应。
28.根据权利要求20所述的控制器,还包括:
显示器,所述显示器被提供用于为所述控制器的用户显示多个环境;
环境确定模块,所述环境确定模块被提供用于感测对所述环境之一的用户选择,并将用户选择的环境设置为所述载具环境。
29.根据权利要求20所述的控制器,还包括:
显示器,所述显示器被提供用于为所述控制器的用户显示由所述无人载具捕获并向所述控制器发送的实时图像;
环境确定模块,所述环境确定模块被提供用于感测对所显示的实时图像内的物体的用户选择,并根据用户选择的物体的特性自动地确定所述载具环境。
30.根据权利要求20所述的控制器,还包括:环境确定模块,所述环境确定模块被提供用于根据感测到的所述载具的操作特性自动地确定所述载具环境。
31.根据权利要求20所述的控制器,其中,所述无人载具包括多个不同的神经网络,所述控制器还包括:更新控制模块,所述更新控制模块被提供用于:
初始化所述多个不同的神经网络,以分别与不同的载具环境相对应。
32.根据权利要求31所述的控制器,还包括:环境确定模块,所述环境确定模块被提供用于确定所述无人载具的当前操作环境;所述更新控制模块还被提供用于:向所述无人载具内的与所述当前操作环境相对应的神经网络上传与所述当前操作环境相对应的载具环境的所述更新后的连接权重。
33.根据权利要求20所述的控制器,还包括:更新控制模块,所述更新控制模块被提供用于:当所述无人载具在操作时,实时上传所述更新后的连接权重。
34.根据权利要求20所述的控制器,其中,所述触发事件是从所述无人载具接收到超出范围环境数据。
35.根据权利要求20所述的控制器,其中,所述触发事件是用户输入更新命令。
36.根据权利要求20所述的控制器,其中,所述控制器和所述计算***是单个集成处理***。
37.根据权利要求20所述的控制器,还包括:更新控制模块,所述更新控制模块被提供用于:除了更新后的权重,还向所述无人载具神经网络上传结构参数。
38.一种用于控制无人载具的方法,包括:
响应于触发事件,接收在远程计算***中计算的参数集合,所述参数集合至少包括在所述无人载具内实现的神经网络的更新后的连接权重,所述更新后的连接权重与相应的载具环境相对应;
将所述更新后的连接权重应用于所述神经网络;以及
根据具有所述更新后的连接权重的所述神经网络来操作所述无人载具。
39.根据权利要求38所述的方法,还包括:向控制器发送用于进一步传递至所述远程计算***的与已选择的载具环境相对应的观察到的数据的集合,所述更新后的连接权重与被重新训练的神经网络的优化后的权重的计算相对应,所述优化后的权重包括所述参数集合。
40.根据权利要求38所述的方法,其中,所述无人载具是无人飞行器UAV。
41.根据权利要求40所述的方法,其中,所述UAV具有小于2.0kg的质量。
42.根据权利要求39所述的方法,其中,所述观察到的数据是由所述UAV捕获的成像数据。
43.根据权利要求38所述的方法,其中,所述计算***与所述控制器相分离。
44.根据权利要求38所述的方法,还包括:通过无线上传所述参数集合并且因此上传所述更新后的连接权重,来接收所述参数集合并且因此接收所述更新后的连接权重。
45.根据权利要求38所述的方法,其中,所述参数集合包括配置参数,所述配置参数与所述神经网络的层的结构和每层的激活节点相对应。
46.根据权利要求38所述的方法,还包括:根据感测到的所述载具的操作特性自动地确定所述载具环境。
47.根据权利要求38所述的方法,其中,所述无人载具包括多个不同的神经网络,所述方法还包括:
初始化所述多个不同的神经网络,以分别与不同的载具环境相对应。
48.根据权利要求38所述的方法,还包括:当所述无人载具在操作时,实时上传所述更新后的连接权重。
49.根据权利要求38所述的方法,其中,所述触发事件是感测到超出范围环境数据。
50.一种无人载具,包括:
一个或多个推进装置;
控制器,所述控制器操作用于控制所述一个或多个推进装置以实现所述无人载具的移动,其中,所述控制器操作用于:
感测触发事件;
从计算***接收参数集合,所述参数集合至少包括针对相应的载具环境而训练的远程神经网络的更新后的连接权重;以及
从所述控制器将所述更新后的连接权重应用于所述无人载具内的基于载具的神经网络,所述无人载具由此能够根据具有所述更新后的连接权重的所述基于载具的神经网络操作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/091460 WO2019006586A1 (en) | 2017-07-03 | 2017-07-03 | IMAGE TARGET TRACKING BASED ON A NEURONAL NETWORK BY AN AIR VEHICLE |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110832408A true CN110832408A (zh) | 2020-02-21 |
CN110832408B CN110832408B (zh) | 2022-03-25 |
Family
ID=64950504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780092868.0A Expired - Fee Related CN110832408B (zh) | 2017-07-03 | 2017-07-03 | 通过飞行器的基于神经网络的图像目标跟踪 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200130830A1 (zh) |
CN (1) | CN110832408B (zh) |
WO (1) | WO2019006586A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469125A (zh) * | 2021-07-20 | 2021-10-01 | 中国人民解放军国防科技大学 | 多无人机协同信号识别方法及识别*** |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11046430B1 (en) * | 2017-04-17 | 2021-06-29 | United States Of America As Represented By The Administrator Of Nasa | Intelligent trajectory adviser system for unmanned aerial vehicles in complex environments |
US11740630B2 (en) * | 2018-06-12 | 2023-08-29 | Skydio, Inc. | Fitness and sports applications for an autonomous unmanned aerial vehicle |
WO2020033967A1 (en) * | 2018-08-10 | 2020-02-13 | Buffalo Automation Group Inc. | Training a deep learning system for maritime applications |
US11259195B1 (en) * | 2019-03-15 | 2022-02-22 | Alarm.Com Incorporated | Security camera drone communication coupling to control and computing station |
US11568180B2 (en) * | 2019-09-13 | 2023-01-31 | Rohde & Schwarz Gmbh & Co. Kg | Method and cloud server for training a neural network for triggering an input signal in a measurement device and method for autonomous determining a trigger type/parameter |
CN112947568B (zh) * | 2021-03-09 | 2022-10-25 | 四川腾盾科技有限公司 | 一种长航时大型无人机空中动态接入控制方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040181499A1 (en) * | 1995-08-01 | 2004-09-16 | Guided Systems Systems Technologies, Inc. | System and method for adaptive control of uncertain nonlinear processes |
CN104501779A (zh) * | 2015-01-09 | 2015-04-08 | 中国人民解放军63961部队 | 基于多站测量的无人机高精度目标定位方法 |
CN105550636A (zh) * | 2015-12-04 | 2016-05-04 | 中国电子科技集团公司第三研究所 | 一种目标类型识别的方法及装置 |
CN105976400A (zh) * | 2016-05-10 | 2016-09-28 | 北京旷视科技有限公司 | 基于神经网络模型的目标跟踪方法及装置 |
CN106371460A (zh) * | 2016-09-07 | 2017-02-01 | 四川天辰智创科技有限公司 | 寻找目标的方法及装置 |
CN106447184A (zh) * | 2016-09-21 | 2017-02-22 | 中国人民解放军国防科学技术大学 | 基于多传感器测量与神经网络学习的无人机操作员状态评估方法 |
CN106651921A (zh) * | 2016-11-23 | 2017-05-10 | 中国科学院自动化研究所 | 运动检测方法及躲避和跟踪运动目标的方法 |
CN106651917A (zh) * | 2016-12-30 | 2017-05-10 | 天津大学 | 基于神经网络的图像目标跟踪算法 |
CN106650592A (zh) * | 2016-10-05 | 2017-05-10 | 北京深鉴智能科技有限公司 | 目标追踪*** |
CN106682592A (zh) * | 2016-12-08 | 2017-05-17 | 北京泛化智能科技有限公司 | 一种基于神经网络方法的图像自动识别***及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452258A (zh) * | 2007-12-06 | 2009-06-10 | 西安电子科技大学 | 一种与模型无关的自适应控制器及其控制方法 |
US8489528B2 (en) * | 2009-07-28 | 2013-07-16 | Georgia Tech Research Corporation | Systems and methods for training neural networks based on concurrent use of current and recorded data |
US8996177B2 (en) * | 2013-03-15 | 2015-03-31 | Brain Corporation | Robotic training apparatus and methods |
CN103412488B (zh) * | 2013-08-12 | 2018-10-30 | 北京航空航天大学 | 一种基于自适应神经网络的小型无人旋翼机高精度控制方法 |
-
2017
- 2017-07-03 CN CN201780092868.0A patent/CN110832408B/zh not_active Expired - Fee Related
- 2017-07-03 WO PCT/CN2017/091460 patent/WO2019006586A1/en active Application Filing
-
2019
- 2019-12-30 US US16/730,038 patent/US20200130830A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040181499A1 (en) * | 1995-08-01 | 2004-09-16 | Guided Systems Systems Technologies, Inc. | System and method for adaptive control of uncertain nonlinear processes |
CN104501779A (zh) * | 2015-01-09 | 2015-04-08 | 中国人民解放军63961部队 | 基于多站测量的无人机高精度目标定位方法 |
CN105550636A (zh) * | 2015-12-04 | 2016-05-04 | 中国电子科技集团公司第三研究所 | 一种目标类型识别的方法及装置 |
CN105976400A (zh) * | 2016-05-10 | 2016-09-28 | 北京旷视科技有限公司 | 基于神经网络模型的目标跟踪方法及装置 |
CN106371460A (zh) * | 2016-09-07 | 2017-02-01 | 四川天辰智创科技有限公司 | 寻找目标的方法及装置 |
CN106447184A (zh) * | 2016-09-21 | 2017-02-22 | 中国人民解放军国防科学技术大学 | 基于多传感器测量与神经网络学习的无人机操作员状态评估方法 |
CN106650592A (zh) * | 2016-10-05 | 2017-05-10 | 北京深鉴智能科技有限公司 | 目标追踪*** |
CN106651921A (zh) * | 2016-11-23 | 2017-05-10 | 中国科学院自动化研究所 | 运动检测方法及躲避和跟踪运动目标的方法 |
CN106682592A (zh) * | 2016-12-08 | 2017-05-17 | 北京泛化智能科技有限公司 | 一种基于神经网络方法的图像自动识别***及方法 |
CN106651917A (zh) * | 2016-12-30 | 2017-05-10 | 天津大学 | 基于神经网络的图像目标跟踪算法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469125A (zh) * | 2021-07-20 | 2021-10-01 | 中国人民解放军国防科技大学 | 多无人机协同信号识别方法及识别*** |
Also Published As
Publication number | Publication date |
---|---|
CN110832408B (zh) | 2022-03-25 |
US20200130830A1 (en) | 2020-04-30 |
WO2019006586A1 (en) | 2019-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110832408B (zh) | 通过飞行器的基于神经网络的图像目标跟踪 | |
US11530047B2 (en) | Unmanned aerial vehicle with rotating and overlapping rotor arms | |
CN107087427B (zh) | 飞行器的控制方法、装置和设备以及飞行器 | |
US9557738B2 (en) | Return path configuration for remote controlled aerial vehicle | |
CN105518555B (zh) | 目标追踪***及方法 | |
CN107850436A (zh) | 使用惯性传感器和图像传感器的传感器融合 | |
CN107580161A (zh) | 摄影设备及方法、移动摄影装置、摄影用移动体及其控制装置 | |
CN111567032B (zh) | 确定装置、移动体、确定方法以及计算机可读记录介质 | |
CN108163203A (zh) | 一种拍摄控制方法、装置及飞行器 | |
JP6849272B2 (ja) | 無人航空機を制御するための方法、無人航空機、及び無人航空機を制御するためのシステム | |
CN113795805A (zh) | 无人机的飞行控制方法和无人机 | |
CN110383809A (zh) | 摄像装置、摄像***、移动体、控制方法及程序 | |
JP6384000B1 (ja) | 制御装置、撮像装置、撮像システム、移動体、制御方法、及びプログラム | |
CN116009583A (zh) | 基于纯粹视觉的分布式无人机协同运动控制方法和装置 | |
CN110891149B (zh) | 高动态范围图像自动曝光方法及无人飞行器 | |
Changpradith | Application of object detection using hardware acceleration for autonomous uav | |
WO2023189518A1 (ja) | クラスタリングを行うことができる情報処理装置、情報処理装置の制御方法およびプログラム | |
JP2019169810A (ja) | 画像処理装置、撮像装置、移動体、画像処理方法、及びプログラム | |
US11928836B2 (en) | Electronic device having NPU and mounted in moving or fixed apparatus | |
JP6459012B1 (ja) | 制御装置、撮像装置、飛行体、制御方法、及びプログラム | |
US20230118521A1 (en) | Aerial capture platform | |
US20230296793A1 (en) | Motion-Based Calibration Of An Aerial Device | |
Kalampokis | Autonomous Drones for Trail Navigation using DNNs | |
JP2023051745A (ja) | 操作支援装置、操作支援方法及びプログラム | |
Belkhale | Model-Based Meta-Learning for Flight with Suspended Payloads |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220325 |
|
CF01 | Termination of patent right due to non-payment of annual fee |