CN110178364A - 用于3d场景的最佳扫描轨迹 - Google Patents
用于3d场景的最佳扫描轨迹 Download PDFInfo
- Publication number
- CN110178364A CN110178364A CN201780083406.2A CN201780083406A CN110178364A CN 110178364 A CN110178364 A CN 110178364A CN 201780083406 A CN201780083406 A CN 201780083406A CN 110178364 A CN110178364 A CN 110178364A
- Authority
- CN
- China
- Prior art keywords
- camera
- camera position
- removable
- scene
- reward
- 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
- 238000000034 method Methods 0.000 claims description 61
- 238000007670 refining Methods 0.000 abstract 1
- 238000003860 storage Methods 0.000 description 31
- 230000015572 biosynthetic process Effects 0.000 description 25
- 230000003287 optical effect Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 230000010006 flight Effects 0.000 description 12
- 239000007787 solid Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 6
- 230000004888 barrier function Effects 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000000712 assembly Effects 0.000 description 4
- 238000000429 assembly Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 244000062793 Sorghum vulgare Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 235000019713 millet Nutrition 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004566 IR spectroscopy Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000004381 surface treatment Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
- H04N7/185—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source from a mobile camera, e.g. for remote control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/64—Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64C—AEROPLANES; HELICOPTERS
- B64C39/00—Aircraft not otherwise provided for
- B64C39/02—Aircraft not otherwise provided for characterised by special use
- B64C39/024—Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/189—Recording image signals; Reproducing recorded image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/695—Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- 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
- B64U50/00—Propulsion; Power supply
- B64U50/30—Supply or distribution of electrical power
- B64U50/37—Charging when not in flight
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Aviation & Aerospace Engineering (AREA)
- Studio Devices (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本公开的示例涉及为3D场景生成最佳扫描轨迹。在一个示例中,可移动相机可以收集关于场景的信息。在初始通过期间,可以使用初始轨迹收集初始数据集。为了生成最佳轨迹,可以基于初始数据集生成场景的重构。可以基于重构生成表面点和相机位置图。可以确定子梯度,其中子梯度提供针对与相机位置图中的每个相机位置节点相关联的边际奖励的加性近似。可以使用子梯度基于每个相机位置节点的边际奖励来生成最佳轨迹。然后可以使用最佳轨迹来收集附加数据,附加数据可以被迭代地分析并且用于进一步细化和优化后续轨迹。
Description
背景技术
无人驾驶飞行器(UAV)通常具有相机,该相机在其行进通过由其操作员设计的路径时捕获图像。UAV可以由操作员沿着轨迹操纵,该轨迹使得相机能够从具有不同有利位置的各种相机位置捕获场景。理想情况下,将非常详细地观察场景,使得重构尽可能准确和详细。然而,各种约束可能使得这种方法不可能(例如,有限的飞行时间、存储设备容量限制等)。结果,在相机可以收集的数据量和与收集数据相关联的成本之间可能存在折衷。
关于这些和其他一般性考虑,已经进行了本文中公开的各方面。而且,尽管可以讨论相对具体的问题,但是应当理解,这些实施例不应当限于解决在本公开的背景技术或其他地方确定的具体问题。
发明内容
本公开的示例描述了用于为使用一个或多个相机捕获3D场景的无人驾驶飞行器(UAV)生成最佳扫描轨迹的系统和方法。例如,可以使用无人机或其他可移动相机来收集关于场景的信息。在初始通过中,可移动相机可以行进通过可以用于收集初始数据集的初始轨迹。可以分析初始数据集以生成最佳扫描轨迹,然后该最佳扫描轨迹可以由可移动相机使用以收集后续数据。可以执行对初始和后续数据的进一步分析,以便进一步细化或优化用于扫描场景的轨迹。可以执行进一步的迭代和优化,以基于新获取的关于场景的信息来不断地细化和改进飞行轨迹。
生成最佳轨迹可以包括基于先前获取的与场景相关的数据来生成场景的重构。可以在重构内生成一个或多个表面点。此外,可以生成相机位置图,其中相机位置图包括一个或多个相机位置节点和边。可以确定子梯度,其中子梯度提供与相机位置图中的每个相机位置节点相关联的边际奖励的加性近似。然后,可以使用子梯度基于与相机位置图中的相机位置节点和边相关联的奖励和成本来生成最佳飞行轨迹。
提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。示例的其他方面、特征和/或优点将部分地在下面的描述中阐述,并且部分地将从描述中很清楚,或者可以通过本公开的实践来获知。
附图说明
参考以下附图描述非限制性和非穷举性示例。
图1示出了用于为捕获用于创建3D场景的图像的可移动相机生成最佳轨迹的示例系统。
图2示出了可以为可移动相机生成最佳轨迹的示例场景。
图3示出了可以为可移动相机生成最佳轨迹的示例场景。
图4示出了可以为可移动相机生成最佳轨迹的示例场景。
图5示出了可以在为可移动相机生成最佳轨迹时使用的示例表面光场覆盖图。
图6示出了用于为捕获用于创建3D场景的图像的可移动相机生成最佳轨迹的示例方法。
图7示出了用于分析数据以生成用于可移动相机的后续飞行轨迹的示例方法。
图8示出了用于生成用于近似一个或多个相机位置的边际奖励的子梯度的示例方法。
图9示出了用于分析数据以生成用于可移动相机的后续飞行轨迹的示例方法。
图10是示出利用其可以实践本公开的各方面的计算设备的示例物理组件的框图。
图11A和图11B是利用其可以实践本公开的各方面的移动计算设备的简化框图。
图12是在其中可以实践本公开的各方面的分布式计算系统的简化框图。
图13示出了用于执行本公开的一个或多个方面的平板计算设备。
具体实施方式
下面参考附图更全面地描述本公开的各个方面,附图成本公开的一部分并且示出了具体的示例性方面。然而,本公开的不同方面可以以很多不同的形式实现,并且不应当被解释为限于本文中阐述的各方面;相反,提供这些方面是为了使得本公开彻底和完整,并且将向本领域技术人员充分传达这些方面的范围。各方面可以实现为方法、系统或设备。因此,各方面可以采用硬件实现、完全软件实现或组合软件和硬件方面的实现的形式。因此,以下详细描述不应当被视为具有限制意义。
本公开总体上涉及生成用于被配置为扫描场景的可移动相机的扫描轨迹。随后可以使用从扫描收集的数据来创建3D场景。在一个示例中,可移动相机(例如,无人机、UAV或任何其他手动或自动定位的相机)可以用于捕获与3D场景相关的数据。然后,该数据可以用于为可移动相机生成最佳扫描轨迹。最佳扫描轨迹可以用于捕获与场景相关的附加信息。在一些示例中,该过程可以是迭代的,使得可以基于使用先前生成的轨迹捕获的信息来生成用于可移动相机的后续最佳轨迹。该过程可以重复,直到满足特定阈值(例如,实现特定质量或准确度目标,所捕获的数据集的大小达到预定阈值,等等)。所收集的信息可以用于生成场景的3D模型,执行测量或计算以及其他用途。
3D场景可以是地标、建筑物、历史纪念碑或自然景点等。在一个示例中,3D场景可以是结构的内部(例如,房间、办公室、商场或其他零售空间、车辆等)、结构的外部(例如,建筑物、庭院或阳台等)或其任何组合。应当理解,在不偏离本公开的精神的情况下,可以扫描任何类型的场景。
在一些示例中,当已经分析或评估与轨迹相关联的奖励和成本以便在产生类似或降低的成本水平的同时获取额外或类似的奖励水平时,轨迹可以被指定为“最佳”。在一个示例中,与轨迹相关联的奖励可以包括所捕获的信息的数量和/或质量、捕获信息的容易程度、或捕获信息所需要的时间量等。在另一示例中,与轨迹相关联的成本可以包括可移动相机的能量需求、实现或导航轨迹所需要的技能或可操作性、导航轨迹所需要的时间量、可移动相机的存储设备而容量要求等。在一些示例中,可以考虑一个或多个成本来评估一个或多个奖励,从而确定边际奖励。应当理解,在不偏离本公开的精神的情况下,可以评估其他奖励或成本。另外,在一些示例中,“成本”实际上可以是“奖励”,反之亦然。作为示例,尽管可移动相机的存储设备容量在一种情况下可能受到约束,但是在另一种情况下,可能基于结果数据集的大小来测量奖励。在另一示例中,可以将一个或多个因素评估为成本和奖励。
可移动相机可以用于在3D场景经过场景时捕获与3D场景相关的各种信息。在一些示例中,可以捕获图像、视频和/或音频数据。可移动相机可以具有用于捕获深度或其他几何信息的附加硬件,包括但不限于光检测和测距(LIDAR)传感器、红外(IR)发射器和/或传感器、或立体传感器。在其他示例中,可以收集附加信息,诸如来自在导航轨迹时使用的一个或多个可移动相机的数据(例如,GPS坐标、气压传感器数据、姿态、俯仰、滚转、偏航、高度、速度等)或环境数据(例如,气候条件、风速、温度、能见度等)以及其他信息(例如,时间、日期、或与硬件、轨迹或3D场景相关的信息等)。
图1示出了用于为用于捕获用于创建3D场景的图像的可移动相机生成最佳轨迹的示例系统100。示例系统100包括可移动相机102和计算设备104。可移动相机102可以是UAV、无人机或其他相机。在一些示例中,可移动相机102可以手动或自动定位或控制。虽然图1中仅示出了一个可移动相机,但是应当理解,在不偏离本公开的精神的情况下,可以使用多个可移动相机。
计算设备104包括几何重构组件106、表面点生成组件108、相机位置图生成组件110、子梯度确定组件112和轨迹生成组件114。计算设备104可以是个人计算设备、平板计算设备、移动计算设备或分布式计算设备等。虽然计算设备104被示出为与可移动相机102分开,但是可移动相机102可以包括计算设备104、和组件106-114中的一个或多个组件。在另一示例中,可移动相机102可以包括一个或多个组件106-114,而计算设备104包括一个或多个其他组件。在另一示例中,计算设备104可以是分布式计算设备,使得多个计算设备用于执行组件106-114的功能。另外,组件106-114可以是硬件组件、软件组件或其某种组合。
可移动相机102可以向计算设备104提供与3D场景相关的信息。另外,计算设备104可以向可移动相机102提供一个或多个轨迹。在一些示例中,计算设备104可以基于从可移动相机102接收的信息提供轨迹。在其他示例中,计算设备104可以在没有从可移动相机102接收到信息的情况下提供轨迹。轨迹可以基于与3D场景相关的一个或多个参数,包括但不限于场景的边界尺寸(例如,作为地理坐标、测量等)、操作安全的区域(例如,在3D场景之上或之内,在障碍物上方或远离障碍物的指定距离等)等。
当评估从可移动相机102接收的信息时,几何重构组件106可以用于重构3D场景的至少一部分。几何重构组件106可以使用各种技术来基于所接收的信息来重构3D场景,包括但不限于对从不同角度在图像或视频数据中观察到的特征点进行三角测量,使用立体图像或视频数据生成深度图,或者根据LIDAR或IR数据确定几何数据。然后,重构可以由其他组件在为可移动相机生成最佳轨迹时使用。
在一些示例中,表面点生成组件108可以使用由几何重构组件106生成的几何重构来生成一个或多个表面点。如将关于图5更详细地讨论的,表面点可以是可以从一个或多个相机位置看到的场景或几何重构内的点。在一个示例中,表面光场可以被定义为围绕表面点的形状。立体角可以是表示来自给定相机位置的相机的表面点的可观察数据的表面光场的区域。这样,可以基于与表面点相关联的表面光场上的立体角的面积来测量来自一个或多个相机位置的表面点的覆盖范围。
表面点可以基于一个或多个规则或算法在几何重构内生成(例如,使得表面点分布在几何重构的某些检测到的特征之间,使得一定百分比的表面点从给定相机位置可见,等等),或者可以随机地分布(例如,根据均匀分布、标准分布等),等等。所生成的表面点的数量可以基于先前指示(例如,恒定值、与扫描区域或体积成比例的值等)来确定,或者可以基于3D场景的一个或多个特性或属性、可移动相机102或环境条件等来动态地确定。
相机位置图生成组件110可以生成与3D场景相关的一个或多个可能的相机位置的图。该图可以包括相机位置节点和边。每个相机位置节点可以指示相机位置,而两个相机位置节点之间的边可以指示两个相机位置节点之间的路径(和相关联的成本)。在一些示例中,图可以基于几何重构(例如,由几何重构组件106重构的)和/或一个或多个表面点(例如,由表面点生成组件108生成的)来生成,基于一个或多个规则或算法来生成(例如,使得相机位置节点分布在重构的某些检测到的特征中,使得一定百分比的表面点从给定相机位置节点可见,等等),或者可以随机地分布(例如,根据均匀分布、标准分布等),等等。图的大小(例如,相机位置节点的数目、图的互连性等)可以基于先前指示(例如,恒定值、与扫描区域或体积成比例的值等)来确定,或者可以基于场景的一个或多个特性或属性、可移动相机102、几何重构、相关表面点或环境条件等来动态地确定。
子梯度确定组件112可以用于确定与相机位置图(例如,其可以由相机位置图生成组件110生成)相关联的子梯度。与用于观察表面点的相机位置相关联的奖励可能不是附加的。相反,奖励可以是子模块,因为如果已经使用附近的相机位置来观察表面点,则与先前未观察到表面点的情况相比,与表面点相关的附加的收集信息的量较少。因此,虽然相机位置最初可能具有高奖励,但是与相机位置相关联的奖励可以随着相机位置被添加到计算出的轨迹而减小。这样,可以确定子梯度以便为每个相机位置节点提供边际奖励的加性近似。在一些示例中,次梯度确定组件112可以通过按照降低边际奖励来对相机位置图的相机位置节点进行排序来确定子梯度。排序可以包括选择具有最高边际奖励的节点,并且然后在考虑到已经被选择的节点的情况下连续地选择具有次高边际奖励的节点。然后,可以使用由有序节点序列组成的子组来加性地近似相机位置图中的节点。
轨迹生成组件114可以生成最佳轨迹,最佳轨迹然后可以通过计算设备104提供给可移动相机102。轨迹生成组件可以使用从可移动相机102接收的信息或由组件106-114中的至少一个生成的数据,或者可以提供轨迹而不首先从可移动相机102或组件106-114中的至少一个接收信息或数据。在一个示例中,轨迹生成组件114可以接收可以用于生成轨迹的一个或多个参数,包括但不限于场景的边界矩形(例如,作为地理坐标、测量等)或者可以安全操作的区域(例如,在3D场景之上或之内,在障碍物上方或远离障碍物的指定距离等)等。作为示例,轨迹生成组件114可以在没有场景的任何先前知识的情况下为可移动相机102生成初始轨迹。
在另一示例中,轨迹生成组件114可以使用与场景相关的信息,诸如由组件106-112中的至少一个提供或生成的信息。作为示例,子梯度(例如,可以由子梯度确定组件112确定的)可以与相机位置图(例如,可以由相机位置图生成组件110生成的)结合使用。假定子梯度为相机位置图内的每个相机位置节点的边际奖励提供子模块性质的加性近似,则可以通过将问题评估为可以作为整数线性程序(ILP)表达和解决的定向运动问题来生成最佳轨迹。应当理解,可以使用各种算法来解决所得到的ILP,包括但不限于分支定界算法或分支切割算法。因此,可以基于被确定为提供与所产生的成本相关的最佳奖励水平的相机位置节点和边来确定最佳轨迹。
图2示出了可以为可移动相机生成最佳轨迹的示例场景200。场景200包括对象202和相机位置图204。如上所述,对象202可以是内部对象、外部对象或其组合。为了生成用于扫描对象202的最佳轨迹,可以生成相机位置图204。在一个示例中,相机位置图204可以使用相机位置图生成组件(诸如图1中的相机位置图生成组件110)来生成。
相机位置图204可以包括一个或多个潜在相机位置节点206A,在相机位置节点206A之间可以存在一个或多个边206B。如上所述,奖励可以与相机位置节点206A相关联,而成本可以与边206B相关联。可以确定相机位置节点206A,使得相机位置节点206A提供对象202的各种不同的有利位置或视角。作为示例,相机位置节点206A可以随机地(例如,根据均匀分布、标准分布等)或者基于关于对象202的信息(例如,从先前扫描收集的,作为一个或多个参数接收的,等等)等来确定。边206B可以基于类似的考虑来确定。然后,可以通过根据本文中公开的各方面从相机位置图204标识一组相机位置节点和一组边来生成用于可移动相机的最佳飞行轨迹。
图3示出了可以为可移动相机生成最佳轨迹的示例场景300。场景300包括对象302和飞行路径304。在一个示例中,场景300可以是场景200的俯视图。飞行路径304可以是由计算设备(例如,图1中的计算设备104)生成并且提供给可移动相机(例如,可移动相机102)的初始飞行路径。可移动相机可以使用飞行路径304来执行场景300和对象302的扫描。在一些示例中,可以基于提供与场景300、对象302或可移动相机相关的信息等的一个或多个指示来生成飞行路径304。作为示例,指示可以包括可移动相机可以操作或应当避开的区域(例如,场景300上方的安全高度、要避开的障碍物的位置等)、以及可移动相机应当扫描的目标区域等。当生成最佳轨迹时,可以使用由可移动相机使用飞行路径304收集的数据。在一个示例中,该数据可以由图1中的组件106-114使用。可以理解,在不偏离本公开的精神的情况下,可以使用各种轨迹(例如,具有不同的模式、不同的或变化的高度、或多个通道、以及其他特征)。
图4示出了可以为可移动相机生成最佳轨迹的示例场景400。场景400包括对象402和相机位置图404。在一个示例中,场景400可以是场景200的侧视图。在一个示例中,相机位置图404可以使用相机位置图生成组件(诸如图1中的相机位置图生成组件110)来生成。此外,相机位置图404可以基于从初始轨迹(诸如图3中的飞行路径304)收集的信息来生成。可以使用本文中公开的各方面处理所收集的信息以便生成可以用于确定最佳相机位置节点和边集合的相机位置图404(例如,使用组件106-114中的至少一个)。
图5示出了可以在为可移动相机生成最佳轨迹时使用的示例表面光场覆盖图500。表面光场覆盖图500包括表面点502、表面光场504和立体角506-512。表面点502可以是场景内的点。在一个示例中,表面点502可以是由图1中的表面点生成组件108使用来自几何重构组件106的重构场景信息生成的表面点。表面光场504可以围绕表面点502。虽然表面光场504被示出为半球,但是应当理解,在不偏离本公开的精神的情况下,表面光场504可以是其他形状(例如,球体、圆柱体等的至少子部分)。
表面光场504可以表示可以观察到表面点502的可能透视图。表面光场504的立体角(例如,立体角506-512)可以指示可以从给定相机位置观察到的区域。在一些示例中,该区域可以在确定与立体角相关联的相机位置的奖励时使用。此外,不同的相机位置可以提供表面点502的不同覆盖。作为示例,对于表面点502而非其他相机位置,具有掠射角(例如,诸如立体角508的掠射角)的相机位置可以提供较少的覆盖并且因此提供较低的奖励(例如,相机位置506,更紧在表面点502上方,并且因此可以使得可移动相机能够捕获更多信息)。另外,假定两个相关联的相机位置提供表面点502的类似覆盖,如果两个相关联的相机位置都被使用,则重叠立体角(例如,立体角510和立体角512)可以提供递减的奖励。结果,立体角当正在评估每个相关联的相机位置时(例如,通过图1中的子梯度确定组件112和/或轨迹生成组件114),可以相应地对506-512进行加权或优先级排序。
在一些示例中,可以使用矩阵来表示一个或多个相机对一个或多个表面点的覆盖,其中矩阵的行可以与表面光场样本相关联,并且矩阵的列可以与相机位置图中的相机位置节点相关联。如果与表面光场样本相关联的表面点可以由给定的相机位置节点观察到,则可以在矩阵中在适当的行和列存储值。然后可以选择矩阵的列以生成结果矩阵(表示包括与所选择的列相关联的相机位置节点的轨迹),结果矩阵然后可以用于确定所选择的一组相机位置节点的每个表面点的覆盖范围。在一个示例中,初始矩阵可以乘以加权矩阵,其中加权矩阵包括与表面光场样本相关联的权重,这些权重指示表面光场样本关于相关联的表面点的相对值(例如,质量、可观察性等)。
图6示出了用于为捕获用于创建3D场景的图像的可移动相机生成最佳轨迹的示例方法600。方法600可以由诸如图1中的计算设备104等计算设备执行。方法600开始于操作602,其中可以接收在初始通过期间收集的一组数据。该数据可以从诸如图1中的可移动相机102的可移动相机接收。在一个示例中,该数据可以由可移动相机通过执行初始飞行通过(诸如图3中的飞行路径304)来提供。所接收的数据可以包括图像数据、视频数据、音频数据、与深度相关的数据和/或其他几何信息。在一些示例中,可以接收附加信息,诸如由执行初始通过的一个或多个可移动相机生成的数据(例如,GPS坐标、气压传感器数据、姿态、俯仰、滚转、偏航、高度、速度等)或环境数据(例如,气候条件、风速、温度、能见度等)和其他信息(例如,时间、日期、或者与硬件、轨迹或3D场景等相关的信息)。
移动到操作604,可以分析所接收的数据以确定后续飞行轨迹。数据分析可以由图1中的计算设备104执行(例如,使用组件106-114中的至少一个)。在一个示例中,分析数据可以包括使用所接收的数据的至少一部分生成场景重构,在重构的场景中生成一个或多个表面点,生成相机位置图,确定子梯度,和/或生成轨迹。如本文中讨论的,后续轨迹可以通过在考虑到成本的情况下评估轨迹的奖励来确定。
在操作606,可以向可移动相机(例如,图1中的可移动相机102)提供后续飞行轨迹。在一些示例中,可以存在多个相机,可以向这些多个相机提供后续轨迹的至少一部分。后续轨迹可以使用任何通信方法来提供,包括但不限于无线或有线通信方法。在其他示例中,后续轨迹可以被提供给与用于确定后续飞行轨迹的相同或不同计算设备上的组件。该组件可以基于所提供的飞行轨迹来指示或控制一个或多个可移动相机。
移动到操作608,可以接收在后续通过期间收集的一组数据。在一个示例中,该数据可以由一个或多个可移动相机使用后续飞行轨迹来捕获。所接收的数据可以包括图像数据、视频数据、音频数据、与深度相关的数据和/或其他几何信息。在一些示例中,可以接收附加信息,诸如由执行初始通过的一个或多个可移动相机生成的数据或环境数据、以及其他信息。
在一个示例中,流程可以从操作608移动到操作604,其中可以在操作604使用在操作608中接收的数据来执行分析并且确定可移动相机的后续飞行轨迹。在一些示例中,除了在操作608中接收的数据之外,还可以使用其他先前接收的数据(例如,在初始通过期间或其他后续通过期间收集的数据)。然后,流程可以继续到操作606和608,其中可以提供新确定的后续飞行轨迹,并且可以接收使用后续飞行轨迹的数据。流程可以在操作604、606和608之间循环。最终,流程可以前进到操作610。作为满足一个或多个条件(例如,已经进行了特定的通过次数,后续飞行轨迹已经产生了减少的优化效益,等等)的结果,流程可以改为分支到操作610。
在另一示例中(或作为满足一个或多个条件的结果),流程可以从操作608前进到操作610,其中可以完成数据收集。所收集的数据的至少一部分可以用于执行各种计算,诸如生成场景的3D模型或者执行测量或计算、以及其他用途。流程终止于操作610。
图7示出了用于分析数据以生成用于可移动相机的后续飞行轨迹的示例方法700。方法700可以由计算设备(例如,图1中的计算设备104)执行。方法700开始于操作702,其中可以接收与场景相关的数据。该数据可以从可移动相机(例如,图1中的可移动相机102)接收。在操作704,可以使用所接收的数据的至少一部分来生成场景的重构。生成重构可以由图1中的几何重构组件106执行。
移动到操作706,可以生成一个或多个表面点。在一个示例中,可以使用图1中的表面点生成组件106生成表面点。可以基于在操作704中生成的重构场景生成一个或多个表面点。在操作708,可以生成可能相机位置的图(例如,使用图1中的相机点图生成组件110)。可能相机位置的图可以包括如本文中公开的一个或多个相机位置节点和相机位置节点中的边。
在操作710,可以确定相机位置的子梯度。作为示例,子梯度可以由图1中的子梯度确定组件112确定。在一个示例中,确定子梯度可以包括执行图8中的方法800,这将在下面更详细地描述。子梯度可以基于在先前操作702-708中的至少一个操作中接收或生成的信息来生成。如上所述,可以确定子梯度,使得能够基于减少的边际奖励来对相机位置节点进行分类,其中每个后续相机位置节点在考虑到先前选择的相机位置节点的情况下基于该相机位置节点的减少的边际奖励来选择。
移动到操作712,可以生成最佳轨迹。在一些示例中,最佳轨迹可以基于在先前操作702-710中的至少一个操作中接收或生成的信息的至少一部分来生成。在一些示例中,轨迹可以使用图1中的轨迹生成组件114来生成。在另一示例中,轨迹可以使用分别来自操作708和710的相机位置图和子梯度来生成。子梯度可以提供与相机位置图中的每个相机位置节点相关联的边际奖励的加性近似,其可以被表达为定向运动问题和作为ILP来解决。
在操作714,可以向可移动相机提供最佳轨迹。在一些示例中,轨迹可以被提供给一个或多个可移动相机(例如,图1中的可移动相机102)。轨迹可以使用任何通信方法来提供,包括但不限于无线或有线通信方法。在一个示例中,轨迹可以被提供给与用于确定执行方法700的至少一部分的相同或不同的计算设备。该组件可以基于所提供的飞行轨迹来指示或控制一个或多个可移动相机。流程结束于操作714。
图8示出了用于生成用于近似一个或多个相机位置的边际奖励的子梯度的示例方法800。方法800可以由诸如图1中的计算设备104等计算设备执行。方法800开始于操作802,其中可以接收相机位置图和一组表面点。相机位置图可以包括一个或多个相机位置节点以及相机位置节点中的一个或多个边。
移动到操作804,可以基于减少的边际奖励对相机位置图中的相机位置节点进行排序。排序可以包括选择具有最高边际奖励的相机位置节点,并且在考虑到已经被选择的相机位置节点的情况下基于次高边际奖励来选择后续节点。可以通过比较如本文中定义的奖励和成本来确定与相机位置相关联的边际奖励。在一个示例中,每个表面点的表面光场(例如,图5中的表面光场504)可以填充有与表面点可见的每个相机位置节点相关的立体角。然后可以使用表面光场来确定与每个相机位置相关联的奖励,其中奖励基于相机可观察的每个相机位置节点的表面光场。该有序节点序列是子梯度,该子梯度然后可以用于加性地近似相机位置图内的相机位置节点。在操作806,可以提供子梯度。作为示例,子梯度可以被提供给组件(例如,图1中的轨迹生成组件114)、计算设备或可移动相机。流程终止于操作806。
图9示出了用于分析数据以生成用于可移动相机的后续飞行轨迹的示例方法900。方法900开始于操作902,其中可以接收与场景相关的数据。该数据可以从可移动相机(例如,图1中的可移动相机102)接收。在操作904,可以使用所接收的数据的至少一部分来生成场景的重构。生成重构可以由图1中的几何重构组件106执行。
移动到操作906,可以生成一个或多个表面点。在一个示例中,可以使用图1中的表面点生成组件106生成表面点。可以基于在操作904中生成的重构场景生成一个或多个表面点。在操作908,可以生成可能相机位置的图(例如,使用图1中的相机点图生成组件110)。可能相机位置的图可以包括如本文中公开的一个或多个相机位置节点和相机位置节点之间的边。
在操作910,可以选择根相机位置作为轨迹的第一相机位置。根相机位置可以基于一个或多个规则或算法来确定,或者可以随机地确定,等等。在一个示例中,根相机位置可以通过比较与相机位置图中的每个相机位置节点相关联的边际奖励来确定,其中边际奖励可以是与相机位置节点相关联的奖励和成本的比较。
移动到操作912,可以选择具有次高边际奖励的相机位置节点并且将其添加到轨迹。与相机位置节点相关联的边际奖励可以在考虑到已经包括在轨迹中的相机位置节点的情况下确定,使得向已经在飞行轨迹中的相机位置节点提供类似信息的候选相机位置节点具有减少的边际奖励。
在确定操作914,可以确定是否满足约束。在一些示例中,可以评估多个约束。约束可以涉及各种因素,包括但不限于所收集的信息的数量或质量、导航当前生成的轨迹所需要的能量的量、或者当前包括在轨迹中的相机位置节点的量。如果在操作914确定不满足约束,则流程分支到操作912,其中可以将另一相机位置节点添加到轨迹,如上所述。流程可以在操作912与914之间循环,直到满足约束。
相反,如果确定满足约束,则流程进行到操作916,其中可以提供所生成的轨迹。在一些示例中,轨迹可以被提供给一个或多个可移动相机(例如,图1中的可移动相机102)。轨迹可以使用任何通信方法来提供,包括但不限于无线或有线通信方法。在一个示例中,轨迹可以被提供给与用于确定执行方法900的至少一部分的相同或不同的计算设备。该组件可以基于所提供的飞行轨迹来指示或控制一个或多个可移动相机。流程终止于操作916。
图10至图13和相关联的描述提供了可以利用其实践本公开的各方面的各种操作环境的讨论。然而,关于图10至图13示出和讨论的设备和系统是出于示例和说明的目的,并且不限制可以用于实践本公开的各方面的大量电子设备配置,如本文所述。
图10是示出可以利用其实践本发明的各方面的电子设备1000的物理组件(例如,硬件)的框图。下面描述的电子设备1000的组件可以具有用于在诸如上述的电子通信应用中生成发邮件(mailto)链接的计算机可执行指令。
在基本配置中,电子设备1000可以包括至少一个处理单元1010和系统存储器1015。取决于电子设备的配置和类型,系统存储器1015可以包括但不限于易失性存储器(例如,随机存取存储器)、非易失性存储器(例如,只读存储器)、闪存或这样的存储器的任何组合。系统存储器1015可以包括操作系统1025和适合于解析所接收的响应,生成电子消息,更新参加者列表等的一个或多个程序模块1020。
操作系统1025例如可以适合于控制电子设备1000的操作。此外,本公开的实施例可以结合图库、其他操作系统或任何其他应用程序来实践,而不限于任何特定应用或系统。该基本配置在图10中用虚线1030中的那些组件示出。
电子设备1000可以具有附加特征或功能。例如,电子设备1000还可以包括附加数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。这样的附加存储装置在图10中由可移动存储设备1035和不可移动存储设备1040示出。
如上所述,多个程序模块和数据文件可以存储在系统存储器1015中。当在处理单元1010上执行时,程序模块1020(例如,轨迹生成组件1005)可以执行包括但不限于如本文中描述的这些方面的过程。
此外,本发明的实施例可以在电路中实践,包括分立电子元件、包含逻辑门的封装或集成电子芯片、利用微处理器的电路,或者在包含电子元件或微处理器的单个芯片上实践。例如,本公开的实施例可以经由片上系统(SOC)来实践,其中图10所示的每个或很多组件可以集成到单个集成电路上。这样的SOC器件可以包括一个或多个处理单元、图单元、通信单元、系统虚拟化单元和各种应用功能,所有这些都作为单个集成电路集成(或“烧制”)到芯片基底上。
当经由SOC操作时,本文中描述的关于客户端切换协议的能力的功能可以经由与单个集成电路(芯片)上的电子设备1000的其他组件集成的专用逻辑来操作。本公开的实施例还可以使用能够执行诸如例如AND、OR和NOT等逻辑运算的其他技术来实践,包括但不限于机械、光学、流体和量子技术。此外,本公开的实施例可以在通用计算机或任何其他电路或系统中实现。
电子设备1000还可以具有一个或多个(多个)输入设备1045,诸如键盘、触控板、鼠标、笔、声音或语音输入设备、触摸、力和/或滑动输入设备。还可以包括诸如显示器、扬声器、打印机等的(多个)输出设备1050。上述设备是示例,并且可以使用其他设备。电子设备1000可以包括允许与其他电子设备1060通信的一个或多个通信连接1055。合适的通信连接1055的示例包括但不限于射频(RF)发射器、接收器和/或收发器电路;通用串行总线(USB)、并行和/或串行端口。
本文中使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构或程序模块等信息的任何方法或技术实现的易失性和非易失性可移动和不可移动介质。
系统存储器1015、可移动存储设备1035和不可移动存储设备1040都是计算机存储介质示例(例如,存储器存储)。计算机存储介质可以包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM,数字通用盘(DVD)或其他光学存储器、磁带盒、磁带、磁盘存储器或者其他磁存储设备、或者可以用于存储信息并且可以由电子设备1000访问的任何其他制品。任何这样的计算机存储介质可以是电子设备1000的一部分。计算机存储介质不包括载波或其他传播或调制数据信号。
通信介质可以由计算机可读指令、数据结构、程序模块、或者诸如载波或其他传输机制等调制数据信号中的其他数据来实施,并且包括任何信息传递介质。术语“调制数据信号”可以描述一个或多个特性以使得能够在信号中对信息进行编码的方式设置或改变的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接等有线介质、以及诸如声学、射频(RF)、红外和其他无线介质等无线介质。
图11A和图11B示出了可以利用其实践本公开的实施例的移动电子设备1100,例如移动电话、智能电话、可穿戴计算机(诸如智能手表)、平板计算机、膝上型计算机等。参考图11A,示出了用于实现这些方面的移动电子设备1100的一个方面。
在基本配置中,移动电子设备1100是具有输入元件和输出元件的手持式计算机。移动电子设备1100通常包括显示器1105和允许用户向移动电子设备1100中输入信息的一个或多个输入按钮1110。移动电子设备1100的显示器1105还可以用作输入设备(例如,接受触摸和/或力输入的显示器)。
如果包括,则可选的侧输入元件1115允许另外的用户输入。侧输入元件1115可以是旋转开关、按钮或任何其他类型的手动输入元件。在替代方面,移动电子设备1100可以包含更多或更少的输入元素。例如,在一些实施例中,显示器1105可以不是触摸屏。在又一替代实施例中,移动电子设备1100是便携式电话系统,诸如蜂窝电话。移动电子设备1100还可以包括可选的键盘1135。可选的键盘1135可以是物理键盘或在触摸屏显示器上生成的“软”键盘。
在各种实施例中,输出元件包括用于示出图用户界面(GUI)的显示器1105、视觉指示器1120(例如,发光二极管)和/或音频换能器1125(例如,扬声器)。在一些方面,移动电子设备1100包括用于向用户提供触觉反馈的振动换能器。在又一方面,移动电子设备1100包括用于向外部设备发送信号或从外部设备接收信号的输入和/或输出端口,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口)。
图11B是示出移动电子设备1100的一个方面的架构的框图。也就是说,移动电子设备1100可以包括系统(例如,架构)1140以实现某些方面。在一个实施例中,系统1140被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传递客户端、游戏和媒体客户端/播放器、内容选择和共享应用等)的“智能电话”。在一些方面,系统1140被集成为电子设备,诸如集成的个人数字助理(PDA)和无线电话。
可以将一个或多个应用1150加载到存储器1145中并且在操作系统1155上或与操作系统1155相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息传递程序等。
系统1140还包括存储器1145内的非易失性存储区域1160。非易失性存储区域1160可以用于存储在系统1140断电时不应当丢失的持久信息。
应用程序1150可以在非易失性存储区域1160中使用和存储信息,诸如电子邮件或由电子邮件应用使用的其他消息等。同步应用(未示出)也驻留在系统1140上,并且被编程为与驻留在主计算机上的相应同步应用交互以使存储在非易失性存储区域1160中的信息与存储在主计算机中的相应信息保持同步。
系统1140具有电源1165,电源1165可以实现为一个或多个电池。电源1165还可以包括外部电源,诸如补充或重新充电电池的AC适配器或电源对接支架。
系统1140还可以包括执行发射和接收射频通信的功能的无线电接口层1170。无线电接口层1170经由通信运营商或服务提供商促进系统1140与“外部世界”之间的无线连接。去往和来自无线电接口层1170的传输在操作系1155的控制下进行。换言之,由无线电接口层1170接收的通信可以经由操作系统1155传播到应用程序1150,反之亦然。
视觉指示器1120可以用于提供视觉通知,和/或音频接口1175可以用于经由音频换能器(例如,图11A所示的音频换能器1125)产生可听通知。在所示的实施例中,视觉指示器1120是发光二极管(LED),并且音频换能器1125可以是扬声器。这些设备可以直接耦合到电源1175,使得它们在被激活时保持开启持续由通知机制指示的持续时间,即使处理器1185和其他组件可能关闭以节省电池电量。LED可以被编程为无限期地保持开启,直到用户采取行动来指示设备的通电状态。
音频接口1175用于向用户提供可听信号并从用户接收可听信号(例如,如上所述的语音输入)。例如,除了耦合到音频换能器1125之外,音频接口1175还可以耦合到麦克风以接收可听输入,诸如以便于电话交谈。根据本公开的实施例,麦克风还可以用作音频传感器以便于控制通知,如下所述。
系统1140还可以包括使得外围设备1130(例如,车载相机)能够操作以记录静止图像、视频流等的视频接口1180。可以将所捕获的图像提供给如上所述的人工智能实体广告系统。
实现系统1140的移动电子设备1100可以具有附加特征或功能。例如,移动电子设备1100还可以包括附加数据存储设备(可移动和/或不可移动),诸如磁盘、光盘或磁带。这种附加存储在图11B中由非易失性存储区域1160示出。
如上所述,由移动电子设备1100生成或捕获并且经由系统1140存储的数据/信息可以本地存储在移动电子设备1100上,或者数据可以存储在任何数目的存储介质上,这些介质可以由设备经由无线电接口层1170或经由移动电子设备1100和与移动电子设备1100相关联的单独电子设备(例如,诸如因特网等分布式计算网络中的服务器计算机)之间的有线连接来访问。应当理解,这样的数据/信息可以经由无线电接口层1170或经由分布式计算网络经由移动电子设备1100来访问。类似地,根据公知的数据/信息传送和存储装置,包括电子邮件和协作数据/信息共享系统,这样的数据/信息可以在电子设备之间容易地传送以用于存储和使用。
应当理解,图11A和图11A为了说明本方法和系统的目的而描述,并且不旨在将本公开限制于特定的步骤序列或者硬件或软件组件的特定组合。
图12示出了可以用于实现本公开的各方面的系统1200的架构的一个方面。如上所述,该系统可以包括通用电子设备1210(例如,个人计算机)、平板电子设备1215或移动电子设备1220。这些设备中的每个可以包括诸如所描述的表面点组件1225和/或相机位置图生成组件。表面点部件可以被配置为生成如本文中描述的一个或多个表面点。表面点(和在一些示例中的相机位置图)可以被传输到轨迹组件1235,轨迹组件1235可以通过网络1230基于所提供的信息来提供最佳轨迹。
在一些方面,轨迹组件1235可以接收由存储装置1240存储或从目录服务1245、WEB门户1250、邮箱服务1255、即时消息存储装置1260或社交网络服务1265传输的各种类型的信息或内容。
作为示例,上述方面可以在通用电子设备1210(例如,个人计算机)、平板电子设备1215和/或移动电子设备1220(例如,智能电话)中实现。电子设备的这些实施例中的任何一个可以从存储装置1240获取内容或向存储装置1240提供数据。
应当理解,图12为了说明本方法和系统的目的而描述,并且不旨在将本公开限制于特定的步骤序列或者硬件或软件组件的特定组合。
图13示出了可以执行本文中公开的一个或多个方面的示例平板电子设备1300。此外,本文中描述的各方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中应用功能、存储器、数据存储和检索以及各种处理功能可以通过诸如互联网或内联网等分布式计算网络彼此远程操作。各种类型的用户界面和信息可以经由车载电子设备显示器或经由与一个或多个电子设备相关联的远程显示单元来显示。
例如,可以在墙面上显示和交互各种类型的用户界面和信息,在该墙面上投影有各种类型的用户界面和信息。与可以用来实施本发明的实施例的多个计算系统的交互包括键击输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联的电子设备配备有用于捕获和解释用户手势以用于控制计算设备的功能的检测(例如,相机)功能等。
应当理解,图13用于说明本方法和系统的目的而描述,并且不旨在将本公开限制于特定的步骤序列或者硬件或软件组件的特定组合。
从前述公开内容可以理解,本技术的一个方面涉及一种系统,该系统包括:至少一个处理器;以及存储指令的存储器,这些指令在由至少一个处理器执行时执行用于使用从可移动相机捕获的数据来重构三维场景的方法。该方法包括:接收由可移动相机捕获的与三维场景相关的数据;基于所接收的数据生成三维场景的重构;标识三维场景内的一个或多个表面点;生成多个相机位置的图,该图包括一个或多个节点和一个或多个边;基于该图确定所述一个或多个节点的子梯度;基于子梯度和图生成可移动相机的最佳轨迹;以及向可移动相机提供最佳轨迹。在一个示例中,与三维场景相关的数据作为可移动相机执行三维场景的初始通过的结果被接收。在另一示例中,标识三维场景内的一个或多个表面点包括基于重构来随机地生成一个或多个表面点。在另一示例中,生成图基于重构和一个或多个表面点中的至少一项。在又一示例中,确定子梯度包括:从多个相机位置中标识具有第一最高边际奖励的相机位置;基于所标识的相机位置计算针对多个相机位置中的每个的新边际奖励;以及基于新边际奖励从多个相机位置中标识具有第二最高边际奖励的相机位置。在另一示例中,生成最佳轨迹包括评估与一个或多个边中的至少一个相关联的成本和与一个或多个节点中的至少一个相关联的奖励。在另一示例中,指令还包括接收由可移动相机捕获的与三维场景相关的附加数据,其中附加数据作为可移动相机基于最佳轨迹执行三维场景的后续通过的结果被接收。
在另一方面,本技术涉及一种用于为被配置为扫描场景的可移动相机生成最佳轨迹的计算机实现的方法。该方法包括:接收由可移动相机捕获的与场景相关的数据;基于所接收的数据生成场景的重构;标识重构中的一个或多个表面点;生成多个相机位置的图,该图包括一个或多个节点和一个或多个边;从多个相机位置中选择具有最高边际奖励的第一相机位置;将第一相机位置添加到最佳轨迹;基于最佳轨迹确定是否满足约束;当不满足约束时,基于最佳轨迹计算针对多个相机位置中的每个的新边际奖励;基于新边际奖励选择具有第二最高边际奖励的第二相机位置;将第二相机位置添加到最佳轨迹;以及当满足约束时,向可移动相机提供最佳轨迹。在一个示例中,与场景相关的数据作为可移动相机执行场景的初始通过的结果被接收。在另一示例中,标识场景内的一个或多个表面点包括基于重构随机地生成一个或多个表面点。在另一示例中,生成图基于重构和一个或多个表面点中的至少一项。在又一示例中,约束涉及以下之一:可移动相机导航轨迹所需要的能量的量、轨迹所需要的存储容量的量、以及轨迹所包括的相机位置的量。在又一示例中,该方法还包括接收由可移动相机捕获的与场景相关的附加数据,其中附加数据作为可移动相机基于最佳轨迹执行场景的后续通过的结果而被接收。
在另一方面,本技术涉及一种用于使用从可移动相机捕获的数据来重建三维场景的计算机实现的方法。该方法包括:接收由可移动相机捕获的与三维场景相关的数据;基于所接收的数据生成三维场景的重构;标识三维场景内的一个或多个表面点;生成多个相机位置的图,该图包括一个或多个节点和一个或多个边;基于该图确定一个或多个节点的子梯度;基于子梯度和图生成可移动相机的最佳轨迹;以及向可移动相机提供最佳轨迹。在一个示例中,与三维场景相关的数据作为可移动相机执行三维场景的初始通过的结果被接收。在另一示例中,标识三维场景内的一个或多个表面点包括基于重构随机地生成一个或多个表面点。在另一示例中,生成图基于重构和一个或多个表面点中的至少一项。在又一示例中,确定子梯度包括:从多个相机位置中标识具有第一最高边际奖励的相机位置;基于所标识的相机位置计算针对多个相机位置中的每个的新边际奖励;以及基于新边际奖励从多个相机位置中标识具有第二最高边际奖励的相机位置。在另一示例中,生成最佳轨迹包括评估与一个或多个边中的至少一个相关联的成本和与一个或多个节点中的至少一个相关联的奖励。在另一示例中,该方法还包括接收由可移动相机捕获的与三维场景相关的附加数据,其中附加数据作为可移动相机基于最佳轨迹执行的三维场景的后续通过的结果被接收。
例如,以上参考根据本公开的各方面的方法、系统和计算机程序产品的框图和/或操作图示描述了本公开的实施例。框中记录的功能/动作可以不按任何流程图所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能/动作。
本申请中提供的一个或多个方面的描述和说明不旨在以任何方式限制或限制本公开的范围。本申请中提供的方面、示例和细节被认为足以传达占有并且使得其他人能够制作和使用所要求保护的最佳模式。所要求保护的公开内容不应当被解释为限于本申请中提供的任何方面、示例或细节。无论是组合地还是单独地示出和描述,旨在选择性地包括或省略各种特征(结构和方法)以产生具有特定特征集的实施例。已经提供了本申请的描述和说明,本领域技术人员可以设想落入本申请中实施的总体发明构思的更广泛方面的精神内的变型、修改和替换方面,这些变型、修改和替换方面没有偏离所要求保护的公开内容的更广泛的范围。
Claims (15)
1.一种系统,包括:
至少一个处理器;以及
存储指令的存储器,所述指令在由所述至少一个处理器执行时,执行用于使用从可移动相机捕获的数据来重构三维场景的方法,所述方法包括:
接收由所述可移动相机捕获的与所述三维场景相关的数据;
基于所接收的所述数据生成所述三维场景的重构;
标识所述三维场景内的一个或多个表面点;
生成多个相机位置的图,所述图包括一个或多个节点和一个或多个边;
基于所述图确定所述一个或多个节点的子梯度;
基于所述子梯度和所述图生成针对所述可移动相机的最佳轨迹;以及
向所述可移动相机提供所述最佳轨迹。
2.根据权利要求1所述的系统,其中确定所述子梯度包括:
从所述多个相机位置中标识具有第一最高边际奖励的相机位置;
基于所标识的所述相机位置计算针对所述多个相机位置中的每个相机位置的新边际奖励;以及
基于新边际奖励从所述多个相机位置中标识具有第二最高边际奖励的相机位置。
3.根据权利要求1所述的系统,其中生成所述最佳轨迹包括评估与所述一个或多个边中的至少一个边相关联的成本和与所述一个或多个节点中的至少一个节点相关联的奖励。
4.一种用于为被配置为扫描场景的可移动相机生成最佳轨迹的计算机实现的方法,包括:
接收由所述可移动相机捕获的与所述场景相关的数据;
基于所接收的所述数据生成所述场景的重构;
标识所述重构内的一个或多个表面点;
生成多个相机位置的图,所述图包括一个或多个节点和一个或多个边;
从所述多个相机位置中选择具有最高边际奖励的第一相机位置;
将所述第一相机位置添加到所述最佳轨迹;
基于所述最佳轨迹确定是否满足约束;
当不满足所述约束时,基于所述最佳轨迹计算针对所述多个相机位置中的每个相机位置的新边际奖励;
基于新边际奖励选择具有第二最高边际奖励的第二相机位置;
将所述第二相机位置添加到所述最佳轨迹;以及
当满足所述约束时,向所述可移动相机提供所述最佳轨迹。
5.根据权利要求4所述的计算机实现的方法,其中所述约束涉及以下中的一项:
所述可移动相机导航所述轨迹所需要的能量的量,
所述轨迹所需要的存储容量的量,以及
所述轨迹包括的相机位置的量。
6.根据权利要求4所述的计算机实现的方法,还包括:
接收由所述可移动相机捕获的与所述场景相关的附加数据,其中所述附加数据作为所述可移动相机基于所述最佳轨迹执行所述场景的后续通过的结果而被接收。
7.一种用于使用从可移动相机捕获的数据来重构三维场景的计算机实现的方法,包括:
接收由所述可移动相机捕获的与所述三维场景相关的数据;
基于所接收的所述数据生成所述三维场景的重构;
标识所述三维场景内的一个或多个表面点;
生成多个相机位置的图,所述图包括一个或多个节点和一个或多个边;
基于所述图确定所述一个或多个节点的子梯度;
基于所述子梯度和所述图生成针对所述可移动相机的最佳轨迹;以及
向所述可移动相机提供所述最佳轨迹。
8.根据权利要求7所述的计算机实现的方法,其中与所述三维场景相关的所述数据作为所述可移动相机执行所述三维场景的初始通过的结果而被接收。
9.根据权利要求7所述的计算机实现的方法,其中基于以下中的至少一项生成所述图:
所述重构,以及
所述一个或多个表面点。
10.根据权利要求7所述的计算机实现的方法,还包括:
接收由所述可移动相机捕获的与所述三维场景相关的附加数据,其中所述附加数据作为所述可移动相机基于所述最佳轨迹执行所述三维场景的后续通过的结果而被接收。
11.根据权利要求1所述的系统,其中标识所述三维场景内的一个或多个表面点包括基于所述重构随机地生成一个或多个表面点。
12.根据权利要求1所述的系统,还包括用于以下操作的指令:
接收由所述可移动相机捕获的与所述三维场景相关的附加数据,其中所述附加数据作为所述可移动相机基于所述最佳轨迹执行所述三维场景的后续通过的结果而被接收。
13.根据权利要求4所述的计算机实现的方法,其中基于以下中的至少一项生成所述图:
所述重构,以及
所述一个或多个表面点。
14.根据权利要求7所述的计算机实现的方法,其中确定所述子梯度包括:
从所述多个相机位置中标识具有第一最高边际奖励的相机位置;
基于所标识的所述相机位置计算针对所述多个相机位置中的每个相机位置的新边际奖励;以及
基于新边际奖励从所述多个相机位置中标识具有第二最高边际奖励的相机位置。
15.根据权利要求7所述的计算机实现的方法,其中生成所述最佳轨迹包括评估与所述一个或多个边中的至少一个边相关联的成本和与所述一个或多个节点中的至少一个节点相关联的奖励。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762446119P | 2017-01-13 | 2017-01-13 | |
US62/446,119 | 2017-01-13 | ||
US15/593,556 | 2017-05-12 | ||
US15/593,556 US10602056B2 (en) | 2017-01-13 | 2017-05-12 | Optimal scanning trajectories for 3D scenes |
PCT/US2017/067158 WO2018132224A1 (en) | 2017-01-13 | 2017-12-19 | Optimal scanning trajectories for 3d scenes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110178364A true CN110178364A (zh) | 2019-08-27 |
CN110178364B CN110178364B (zh) | 2021-03-09 |
Family
ID=60997550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780083406.2A Active CN110178364B (zh) | 2017-01-13 | 2017-12-19 | 用于3d场景的最佳扫描轨迹 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10602056B2 (zh) |
EP (1) | EP3568970B1 (zh) |
CN (1) | CN110178364B (zh) |
WO (1) | WO2018132224A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026272A (zh) * | 2019-12-09 | 2020-04-17 | 网易(杭州)网络有限公司 | 虚拟对象行为策略的训练方法及装置、电子设备、存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3349086A1 (en) * | 2017-01-17 | 2018-07-18 | Thomson Licensing | Method and device for determining a trajectory within a 3d scene for a camera |
JP6946087B2 (ja) * | 2017-07-14 | 2021-10-06 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びに、プログラム |
CN110209846A (zh) * | 2019-04-25 | 2019-09-06 | 深圳大学 | 基于无人机指令序列的数据集构建方法、装置及终端设备 |
CN112351438B (zh) * | 2020-11-04 | 2022-12-02 | 南京航空航天大学 | 一种基于无向图的无人机基站部署方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298070A (zh) * | 2010-06-22 | 2011-12-28 | 鹦鹉股份有限公司 | 估算无人机,尤其是能够在自动驾驶下执行悬停飞行的无人机的水平速度的方法 |
CN103809597A (zh) * | 2014-02-18 | 2014-05-21 | 清华大学 | 无人机的飞行路径规划方法及无人机 |
CN103941748A (zh) * | 2014-04-29 | 2014-07-23 | 百度在线网络技术(北京)有限公司 | 自主导航方法及系统和地图建模方法及系统 |
US20150112516A1 (en) * | 2010-09-30 | 2015-04-23 | Empire Technology Development Llc | Automatic flight control for uav based solid modeling |
CN105447853A (zh) * | 2015-11-13 | 2016-03-30 | 深圳市道通智能航空技术有限公司 | 飞行装置、飞行控制系统及方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8350895B2 (en) | 1997-09-04 | 2013-01-08 | Dann M Allen | Stereo pair and method of making stereo pairs |
US7363157B1 (en) * | 2005-02-10 | 2008-04-22 | Sarnoff Corporation | Method and apparatus for performing wide area terrain mapping |
US8060270B2 (en) | 2008-02-29 | 2011-11-15 | The Boeing Company | System and method for inspection of structures and objects by swarm of remote unmanned vehicles |
EP2423871B1 (en) * | 2010-08-25 | 2014-06-18 | Lakeside Labs GmbH | Apparatus and method for generating an overview image of a plurality of images using an accuracy information |
US8860825B2 (en) * | 2012-09-12 | 2014-10-14 | Google Inc. | Methods and systems for removal of rolling shutter effects |
US9464902B2 (en) | 2013-09-27 | 2016-10-11 | Regents Of The University Of Minnesota | Symbiotic unmanned aerial vehicle and unmanned surface vehicle system |
US9476730B2 (en) * | 2014-03-18 | 2016-10-25 | Sri International | Real-time system for multi-modal 3D geospatial mapping, object recognition, scene annotation and analytics |
JP6124384B2 (ja) | 2014-05-30 | 2017-05-10 | エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd | 無人機の進行方向の作成方法、システム、及びプログラム |
US9494937B2 (en) | 2014-06-20 | 2016-11-15 | Verizon Telematics Inc. | Method and system for drone deliveries to vehicles in route |
US10915673B2 (en) | 2014-07-01 | 2021-02-09 | Scanifly, LLC | Device, method, apparatus, and computer-readable medium for solar site assessment |
WO2016029169A1 (en) | 2014-08-22 | 2016-02-25 | Cape Productions Inc. | Methods and apparatus for unmanned aerial vehicle autonomous aviation |
US9618934B2 (en) | 2014-09-12 | 2017-04-11 | 4D Tech Solutions, Inc. | Unmanned aerial vehicle 3D mapping system |
US9446858B2 (en) | 2014-09-18 | 2016-09-20 | Kevin Hess | Apparatus and methods for tethered aerial platform and system |
US9855658B2 (en) | 2015-03-19 | 2018-01-02 | Rahul Babu | Drone assisted adaptive robot control |
US9486921B1 (en) * | 2015-03-26 | 2016-11-08 | Google Inc. | Methods and systems for distributing remote assistance to facilitate robotic object manipulation |
US9989965B2 (en) * | 2015-08-20 | 2018-06-05 | Motionloft, Inc. | Object detection and analysis via unmanned aerial vehicle |
US10372968B2 (en) * | 2016-01-22 | 2019-08-06 | Qualcomm Incorporated | Object-focused active three-dimensional reconstruction |
US9495764B1 (en) * | 2016-03-21 | 2016-11-15 | URC Ventures, Inc. | Verifying object measurements determined from mobile device images |
US9975632B2 (en) * | 2016-04-08 | 2018-05-22 | Drona, LLC | Aerial vehicle system |
-
2017
- 2017-05-12 US US15/593,556 patent/US10602056B2/en active Active
- 2017-12-19 EP EP17830063.8A patent/EP3568970B1/en active Active
- 2017-12-19 WO PCT/US2017/067158 patent/WO2018132224A1/en unknown
- 2017-12-19 CN CN201780083406.2A patent/CN110178364B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102298070A (zh) * | 2010-06-22 | 2011-12-28 | 鹦鹉股份有限公司 | 估算无人机,尤其是能够在自动驾驶下执行悬停飞行的无人机的水平速度的方法 |
US20150112516A1 (en) * | 2010-09-30 | 2015-04-23 | Empire Technology Development Llc | Automatic flight control for uav based solid modeling |
CN103809597A (zh) * | 2014-02-18 | 2014-05-21 | 清华大学 | 无人机的飞行路径规划方法及无人机 |
CN103941748A (zh) * | 2014-04-29 | 2014-07-23 | 百度在线网络技术(北京)有限公司 | 自主导航方法及系统和地图建模方法及系统 |
CN105447853A (zh) * | 2015-11-13 | 2016-03-30 | 深圳市道通智能航空技术有限公司 | 飞行装置、飞行控制系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026272A (zh) * | 2019-12-09 | 2020-04-17 | 网易(杭州)网络有限公司 | 虚拟对象行为策略的训练方法及装置、电子设备、存储介质 |
CN111026272B (zh) * | 2019-12-09 | 2023-10-31 | 网易(杭州)网络有限公司 | 虚拟对象行为策略的训练方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20180367728A1 (en) | 2018-12-20 |
EP3568970B1 (en) | 2021-01-20 |
EP3568970A1 (en) | 2019-11-20 |
WO2018132224A1 (en) | 2018-07-19 |
CN110178364B (zh) | 2021-03-09 |
US10602056B2 (en) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110178364A (zh) | 用于3d场景的最佳扫描轨迹 | |
US11698708B2 (en) | Systems and methods for augmented reality with precise tracking | |
CN207117844U (zh) | 多vr/ar设备协同系统 | |
KR102377634B1 (ko) | 복수의 기기를 이용한 다차원의 환경 데이터 캡쳐 | |
US10542238B2 (en) | Collaborative virtual reality online meeting platform | |
US9830679B2 (en) | Shared virtual reality | |
KR20190062171A (ko) | 자율 머신에서의 오작동 센서의 딥 러닝 기반의 실시간 검출 및 수정 | |
CN107211113B (zh) | 用于监控的方法和装置 | |
CN104520854A (zh) | 电子表格应用中的动画过渡和效果 | |
JP2017521292A (ja) | モバイルプラットフォームの動作情報を提示する方法、デバイス、およびシステム | |
CN110033783A (zh) | 声学环境中的声学信号的基于上下文的消除和放大 | |
CN107851358B (zh) | 用于监控的方法和装置 | |
US10830593B2 (en) | Cognitive fingerprinting for indoor location sensor networks | |
US20180288364A1 (en) | Method and system for sensory environment replication | |
Agrawal et al. | RescueAR: Augmented Reality Supported Collaboration for UAV Driven Emergency Response Systems | |
Wu | Digital media recording and broadcasting classroom using Internet intelligent image positioning and opinion monitoring in communication | |
CN111176427B (zh) | 基于手持式智能设备的三维空间绘画方法和手持式智能设备 | |
KR20220021581A (ko) | 로봇 및 이의 제어 방법 | |
Rodríguez-Gonzálvez et al. | Rgb-d sensors data quality assessment and improvement for advanced applications | |
Islam et al. | Efficient and accurate ray tracing method for indoor radio wave propagation prediction in presence of human body movement | |
US20220319016A1 (en) | Panoptic segmentation forecasting for augmented reality | |
WO2021193308A1 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
Whelan et al. | 3D mapping, localisation and object retrieval using low cost robotic platforms: A robotic search engine for the real-world | |
Fatela et al. | REAL-WORLD STUDY CASES FOR AURALIZATION VALIDATION: SELECTION, MEASUREMENTS, AND METHODS | |
Seibert et al. | Virtual GEOINT Center: C2ISR through an avatar's eyes |
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 |