CN109996728A - 用于模拟视觉数据的方法和系统 - Google Patents
用于模拟视觉数据的方法和系统 Download PDFInfo
- Publication number
- CN109996728A CN109996728A CN201680091123.8A CN201680091123A CN109996728A CN 109996728 A CN109996728 A CN 109996728A CN 201680091123 A CN201680091123 A CN 201680091123A CN 109996728 A CN109996728 A CN 109996728A
- Authority
- CN
- China
- Prior art keywords
- simulation
- pixel value
- physical
- vision
- analog
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 90
- 238000004088 simulation Methods 0.000 claims abstract description 153
- 230000000007 visual effect Effects 0.000 claims abstract description 59
- 230000000694 effects Effects 0.000 claims abstract description 30
- 238000001514 detection method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 3
- 230000005055 memory storage Effects 0.000 claims 1
- 238000012545 processing Methods 0.000 description 30
- 230000006870 function Effects 0.000 description 24
- 230000003287 optical effect Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 14
- 230000009466 transformation Effects 0.000 description 12
- 238000003384 imaging method Methods 0.000 description 10
- 238000009877 rendering Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 241001465754 Metazoa Species 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 238000000429 assembly Methods 0.000 description 4
- 230000000712 assembly Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 3
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000005315 distribution function Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 235000008434 ginseng Nutrition 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000036544 posture Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 241001481833 Coryphaena hippurus Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241000238631 Hexapoda Species 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241001494479 Pecora Species 0.000 description 1
- 241000283984 Rodentia Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000003381 stabilizer Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01J—MEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
- G01J1/00—Photometry, e.g. photographic exposure meter
- G01J1/42—Photometry, e.g. photographic exposure meter using electric radiation detectors
- G01J1/44—Electric circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M11/00—Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
- G01M11/02—Testing optical properties
- G01M11/0221—Testing optical properties by determining the optical axis or position of lenses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M11/00—Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
- G01M11/02—Testing optical properties
- G01M11/0228—Testing optical properties by measuring refractive power
- G01M11/0235—Testing optical properties by measuring refractive power by measuring multiple properties of lenses, automatic lens meters
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01M—TESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
- G01M11/00—Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
- G01M11/02—Testing optical properties
- G01M11/0242—Testing optical properties by measuring geometrical properties or aberrations
- G01M11/0257—Testing optical properties by measuring geometrical properties or aberrations by analyzing the image formed by the object to be tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01J—MEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
- G01J1/00—Photometry, e.g. photographic exposure meter
- G01J1/42—Photometry, e.g. photographic exposure meter using electric radiation detectors
- G01J1/44—Electric circuits
- G01J2001/4413—Type
- G01J2001/442—Single-photon detection or photon counting
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Analytical Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Educational Technology (AREA)
- Computing Systems (AREA)
- Computer Graphics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
公开了一种视觉模拟系统。所述系统可以包括存储计算机可执行指令的非暂时性计算机可读存储器。所述系统还可以包括一个或多个处理器,单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以生成由与模拟可移动物体相关联的模拟视觉传感器获得的虚拟环境的视觉数据,获得与模拟视觉传感器相对应的物理视觉传感器的一个或多个参数,所述一个或多个参数包括噪声相关参数,并且变换所生成的视觉数据以模拟所述一个或多个参数的效果。
Description
背景技术
许多应用需要模拟的可视数据来训练操作人员、提供用于机器学习的训练数据、验证模型或改进硬件设计。作为实际环境图像捕获的经济高效替代物,图像模拟创建的视觉效果类似于由物理设备捕获的视觉效果。模拟可以用作反馈,以帮助调整这些应用程序的算法。为此,理想的模拟图像应该与在现场物理捕获的图像无法区分。然而,当前的模拟通常产生现有物理装置无法实现的图像。在一些应用中,这些模拟图像可能对产品性能有害,这是因为与现实的任何偏差都可能导致与产品相关的错误计算和算法。
发明内容
本公开的一个方面涉及视觉模拟系统。所述系统可以包括存储计算机可执行指令的非暂时性计算机可读存储器。所述系统还可以包括一个或多个处理器,单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以生成由与模拟可移动物体相关联的模拟视觉传感器获得的虚拟环境的视觉数据,获得与模拟视觉传感器相对应的物理视觉传感器的一个或多个参数,所述一个或多个参数包括噪声相关参数,并且变换所生成的视觉数据以模拟所述一个或多个参数的效果。
本公开的另一方面涉及一种视觉模拟方法。所述方法可以包括:生成由与模拟可移动物体相关联的模拟视觉传感器获得的虚拟环境的视觉数据,获得与模拟视觉传感器相对应的物理视觉传感器的一个或多个参数,所述一个或多个参数包括噪声相关参数,并且变换所生成的视觉数据以模拟所述一个或多个参数的效果。
本公开的另一方面涉及其上存储有可执行指令的一个或多个非暂时性计算机可读存储介质,当由系统的一个或多个处理器执行所述可执行指令时,使得系统执行方法。所述方法可以包括:生成由与模拟可移动物体相关联的模拟视觉传感器获得的虚拟环境的视觉数据,获得与模拟视觉传感器相对应的物理视觉传感器的一个或多个参数,所述一个或多个参数包括噪声相关参数,并且变换所生成的视觉数据以模拟所述一个或多个参数的效果。
本公开的另一方面涉及一种视觉模拟服务器。所述服务器可以包括其上存储有可执行指令的一个或多个非暂时性计算机可读存储介质,当由服务器的一个或多个处理器执行所述可执行指令时,使得服务器执行方法。所述方法可以包括:生成由与模拟可移动物体相关联的模拟视觉传感器获得的虚拟环境的视觉数据,获得与模拟视觉传感器相对应的物理视觉传感器的一个或多个参数,所述一个或多个参数包括噪声相关参数,并且变换所生成的视觉数据以模拟所述一个或多个参数的效果。
应理解,前面的概述和下文的具体描述仅是示例性和说明性的,而并不作为对所要求保护的本发明的限制。
附图说明
附图构成本公开的一部分,其示出了若干个实施例,并且连同说明书一起用于说明所公开的原理。
图1是示出了与本公开示例实施例一致的用于模拟视觉数据的系统的框图。
图2是示出了与本公开示例实施例一致的用于模拟视觉数据的系统的框图。
图3是示出了与本公开示例实施例一致的可移动物体的框图。
图4是示出了与本公开示例实施例一致的在用于模拟视觉数据的系统中的数据交换的流程图。
图5是示出了与本公开示例实施例一致的用于模拟视觉数据的方法的流程图。
图6是示出了与本公开示例实施例一致的镜头畸变的光线图。
图7是示出了与本公开示例实施例一致的鱼眼模型的光线图。
图8是示出了与本公开示例实施例一致的用于模拟视觉数据的方法的流程图。
图9是示出了与本公开示例实施例一致的用于模拟光子噪声的方法的流程图。
图10是示出了与本公开示例实施例一致的用于模拟热噪声的方法的流程图。
图11是示出了与本公开示例实施例一致的用于模拟视觉数据的方法的流程图。
具体实施方式
现将详细参考示例性实施例,其示例在附图中示出。以下描述参考附图,其中除非另有说明,否则不同附图中的相同数字表示相同或相似的元件。为简洁起见,尽管不同附图标记可以用于指代不同实施例中的组件,然而一个实施例中的组件的描述可以适用于不同实施例中的相同或相似组件。在与本发明一致的示例性实施例的以下描述中阐述的实施方式不代表与本发明一致的所有实施方式。相反,它们仅仅是与本发明相关的方面一致的系统和方法的示例。
为了提供目标装置的最逼真的模拟,已经寻求了各种方法。一种传统方法是利用物理设备在真实位置捕获视觉数据,以便将来在模拟器中显示。这种方法效率低且成本高。特别是,在例如沙漠、山脉和海洋的特定位置捕获视觉数据可能是非常苛刻的。另一种传统方法是将现有的视频直接修改为模拟视觉数据。然而,对于这种方法,调整视角或除现有源中包括的参数之外的其他参数几乎是不可能的。此外,因为当前模拟的视觉数据不考虑与物理传感器相关的噪声,所以当前模拟的视觉数据通常太完美而不实际。也就是说,当前的视觉数据模拟技术无法逼真地模拟由诸如基于UAV的相机的虚拟装置捕获的视觉数据,更不用说这些相机的噪声。所公开的系统和方法可以至少通过模拟与相机相关联的噪声来逼真地模拟这种视觉数据,从而减轻或克服上述一个或多个问题。模拟视觉数据可以用作各种基于视觉的算法的输入,和/或用于测试各种硬件组件,例如UAV、遥控器等。
图1是示出了与本公开示例实施例一致的用于模拟视觉数据的系统100的框图。系统100可以包括可移动物体300、计算装置400和模拟系统200,所有这些都通过网络101和/或可移除存储装置102连接。系统100的这些组件可以是物理组件。在一些实施例中,图1中所示的一个或多个组件可以是可选的,例如计算装置400。在一些实施例中,系统100可以包括比图1中所示的组件更多的组件。然而,没有必要示出所有这些组件来公开说明性实施例。例如,模拟系统200单独可以模拟这里描述的视觉数据,例如,通过执行下面讨论的方法500。下面介绍系统100的各种装置/对象/系统。以下将参考图2和图3提供对各种装置的更详细描述。参考图4描述系统100的各种装置之间的交互。
网络101可以是基于有线/线缆的或无线的连接,例如有线、无线电、蓝牙、云连接、4G/LTE或WiFi,其允许可移动物体300、计算装置400和模拟系统200之间的数据和信号传输。网络101还可以包括网络装置,例如,云计算机或配置成存储或中继信号和数据的服务器。作为网络101的备选,数据、文件和/或指令可以通过诸如安全数字(SD)卡或USB驱动的可拆除存储装置102来在系统100的各种装置之间进行传送或交换。在一些实施例中,无论使用网络101还是可拆除存储装置102,数据或信号的传输可以是例如通用串行总线(USB)传输、移动工业处理器接口(MIPI)传输、文件传输或遵循各种协议(例如,传输控制协议(TCP)、用户数据报协议(UDP)、基于UDP的数据传输协议(UDT)或Webscoket协议)的网络传输。
下面参考图2更具体地描述模拟系统200。在一些实施例中,模拟系统200可以被配置为执行本文描述的用于模拟视觉数据的一个或多个方法,例如,方法500。模拟系统200可以被实现为各种装置或作为其一部分,诸如,计算机、服务器、平板电脑、模拟站、模拟器、移动电话、网络装置、控制器等。在一些实施例中,模拟系统200可以实现为可移动物体300的一部分,例如,UAV的一部分。
计算装置400可以是由提供模拟系统200的相同实体或不同实体(例如,云服务提供商)来提供的。计算装置400可以包括多个组件,诸如存储单元412和处理单元413,其中一部分可以是可选的。计算装置400可以被实现为各种装置或作为其一部分,诸如,计算机、服务器、平板电脑、移动电话、网络装置、控制器、卫星、信号塔等。存储单元412可以被实现为暂时性和/或非暂时性存储介质或存储器,其被配置为存储可由处理单元413执行的用于执行一个或多个例程或功能和/或步骤和方法(例如光栅化)的数据、逻辑、代码和/或程序指令。存储单元412可以包括用于实现光栅化引擎411的指令。在一些其他实施例中,光栅化引擎411或其部分可以由硬件(例如,专用集成电路(ASIC)、图形处理单元(GPU)、现场可编程门阵列(FPGA))或硬件和软件的组合来实现。光栅化引擎411可以包括例如Unreal Engine、Unity 3D或CryEngine。光栅化引擎411可以被配置为基于原始图像渲染图像,例如,将3D场景转换为2D图像以供显示。在一些实施例中,光栅化引擎是如下面参考图2所述的模拟系统200的一部分,而不是计算装置400的一部分。在一些其他实施例中,光栅化引擎设置在与网络101和/或可移除存储装置102相连的单独装置或系统中。单独的装置或系统可以是由计算装置提供的或可以不是由计算装置提供的。
在此一般性地描述可移动物体300,下面参考图3提供其组件和功能的详细描述。可移动物体可以被配置为在任何合适的环境中移动,例如在空中(例如,固定翼飞机、旋转翼飞机、或没有固定翼或旋转翼的飞机);在水中(例如船舶或潜艇);在地面上(例如,机动车如轿车、卡车、巴士、面包车、摩托车;可移动的结构或框架如棒、钓竿;或火车);在地面下(例如,地铁);在太空(例如,太空飞船、卫星或探测器),或这些环境的任何组合。可以模拟这些环境。可移动物体可以安装在诸如人或动物的活体上。合适的动物可以包括禽类、犬类、猫类、马类、牛类、羊类、猪类、海豚类、啮齿类或昆虫类。
可移动物体可以相对于六个自由度(例如三个平移自由度和三个旋转自由度)在环境内自由移动。备选地,可移动物体的移动可以相对于一个或多个自由度(例如通过预定的路径、轨道或朝向)进行限制。该运动可由任何合适的致动机构(例如发动机或电机)来致动。可移动物体的致动机构可以由任何合适的能源(例如电能、磁能、太阳能、风能、重力、化学能、核能或其任何合适的组合)供电。可移动物体可以经由推进系统自致动,如本文别处所述。推进系统可以可选地在能源(例如电能、磁能、太阳能、风能、重力、化学能、核能或其任何合适的组合)上操作。
在一些情况下,可移动物体可以是载运工具。合适的载运工具可以包括水中载运工具、飞行器、太空载运工具或地面载运工具。例如,飞行器可以是固定翼飞行器(例如飞机、滑翔机)、旋转翼飞行器(例如直升机、旋翼飞行器)、具有固定翼和旋转翼的飞行器,或没有固定翼和旋转翼的飞行器(例如,飞艇、热气球)。
载运工具可以自致动,例如通过空气、在水中或水下、在太空中,或在地面上或地下自致动。自致动载运工具可以利用推进系统,例如包括一个或多个发动机、电机、轮子、轴、磁体、旋翼、螺旋桨、叶片、喷嘴或其任何合适的组合的推进系统。在某些实例中,推进系统可以用于使可移动物体从表面起飞、在表面上降落、保持其当前位置和/或朝向(例如,悬停)、改变朝向和/或改变位置。
可移动物体可以是由用户远程控制的。例如,可以借助于控制终端和/或监控终端来控制可移动物体。用户可以位于可移动物体的远方,或在可移动物体上或在可移动物体中,同时使用控制终端和/或监视终端来控制可移动物体。可移动物体可以是无人操控的可移动物体,例如UAV。诸如UAV的无人可移动物体可以在该可移动物体上没有乘员。可移动物体可以由人或自主控制系统(例如,计算机控制系统)或其任何合适的组合来控制。可移动物体可以是自主的或半自主的机器人,例如配置有人工智能的机器人。
可移动物体可以具有任何合适的大小和/或尺寸。在一些实施例中,可移动物体可以具有在运载工具内或运载工具上有人类乘员的大小和/或尺寸。备选地,可移动物体的大小和/或尺寸可以小于能够在载运工具内部或载运工具上有人类乘员的大小和/或尺寸。可移动物体的大小和/或尺寸可以适于被人抬起或携带。备选地,可移动物体可以大于适于被人抬起或携带的大小和/或尺寸。
示例可移动物体300是UAV。UAV可以包括具有四个旋翼的推进系统。可以提供任何数量的旋翼(例如,一个、两个、三个、四个、五个、六个或更多个)。无人机的旋翼、旋翼组件或其他推进系统可以使得无人机能够悬停/保持位置、改变朝向和/或改变位置。相对旋翼的轴之间的距离可以是任何合适的长度。本文对UAV的任何描述可以应用于可移动物体,例如不同类型的可移动物体,并且反之亦然。
在一些实施例中,可移动物体可以被配置为承载负载。负载可以包括乘客、货物、装备、仪器等中的一个或多个。负载可以设置在外壳内。所述外壳可以与可移动物体的外壳分离,或者作为可移动物体的外壳的一部分。备选地,负载可以设置有外壳,而可移动物体不具有外壳。备选地,负载的部分或整个负载可以设置为没有外壳。负载可以相对于可移动物体刚性地固定。可选地,负载可相对于可移动物体移动(例如,相对于可移动物体可平移或可旋转)。
在一些实施例中,负载可以包括搭载物。在一些实施例中,搭载物可以被配置为实现如本文所公开的用于模拟视觉数据的方法。例如,可移动物体可以是UAV,并且搭载物可以包括上面参考图3描述的记录单元16。记录单元可以被配置为捕获UAV周围环境的图像、视频、声音和其他数据。诸如视频的捕获数据可以流回到控制终端或基站。UAV通常暴露于自然元素和/或敌对部队的攻击,导致例如由于天气条件、着陆/起飞或周围障碍物的影响等使UAV和UAV携带的搭载物故障和/或损坏。例如,UAV的扰动、撞击或甚至碰撞可能导致对记录单元的记录操作而言至关重要的部件的断开连接或损坏,从而中断记录。这样,由这种UAV携带的记录单元应该准备从由这种异常事件引起的记录的潜在频繁中断中良好地恢复,以便保护所记录的媒体内容数据。
搭载物可以被配置为不执行任何操作或功能。备选地,搭载物可以是被配置为执行操作或功能的搭载物,也被称为功能型搭载物。例如,搭载物可以是图像捕获设备。可以将任何合适的传感器合并到搭载物中,诸如图像捕获装置(例如,照相机)、音频捕获装置(例如抛物面麦克风)、红外成像装置或紫外成像装置。传感器可以提供静态感测数据(例如照片)或动态感测数据(例如视频)。在一些实施例中,传感器提供针对负载的目标的感测数据。
备选地或组合地,搭载物可以包括用于向一个或多个目标提供信号的一个或多个发射器。可以使用任何合适的发射器,例如照明源或声源。在一些实施例中,负载包括一个或多个收发器,诸如用于与远离可移动物体的模块进行通信。例如,可以与本文所述的终端装置进行通信。可选地,搭载物可以被配置为与环境或目标进行交互。例如,搭载物可以包括能够操纵物体的工具、仪器或机构,例如机器人手臂。
可选地,负载可以包括载体。可以针对搭载物提供载体,并且搭载物可以直接(例如,直接接触可移动物体)或间接(例如,不接触可移动物体)经由载体与可移动物体连接。相反,搭载物可以安装在可移动物体上而不需要载体。搭载物可以与载体一体形成。备选地,搭载物可以可拆卸地与载体连接。在一些实施例中,搭载物可以包括一个或多个搭载物元件,并且一个或多个搭载物元件可以相对于可移动物体和/或载体移动,如上所述。
载体可以与可移动物体一体形成。备选地,载体可以可拆卸地与可移动物体连接。载体可以直接或间接地与可移动物体连接。载体可以提供对搭载物的支撑(例如,承载搭载物的至少一部分重量)。载体可以包括能够稳定和/或引导搭载物的移动的合适的安装结构(例如,云台平台或云台稳定器)。在一些实施例中,载体可以适于控制负载相对于可移动物体的状态(例如,位置和/或朝向)。例如,载体可以被配置为相对于可移动物体移动(例如相对于一个、两个或三个平移度和/或一个、两个或三个旋转度),使得搭载物相对于合适的参考系保持其位置和/或朝向,而与可移动物体的移动无关。参考系可以是固定参考系(例如周围环境)。备选地,参考系可以是移动参考系(例如,可移动物体、搭载物目标)。
在一些实施例中,载体可以被配置为允许搭载物相对于载体和/或可移动物体移动。该移动可以是相对于多达三个自由度(例如,沿着一个、两个或三个轴)的平移或者相对于多达三个自由度的旋转(例如,围绕一个、两个或三个轴)或其任何合适的组合。
在一些情况下,载体可包括载体框架组件和载体致动组件。载体框架组件可以为搭载物提供结构支撑。载体框架组件可以包括单独的载体框架部件,其中一部分载体框架组件可以相对于彼此移动。载体致动组件可以包括一个或多个致动器(例如,马达),其致动各个载体框架部件的运动。驱动器可以同时允许多个载体框架组件的移动,或者可以被配置为允许一次移动单个载体框架组件。载体框架组件的移动可以引发搭载物的相应移动。例如,载体致动组件可以驱动一个或多个载体框架组件围绕一个或多个转轴(例如,横滚轴、俯仰轴或航向轴)的旋转。一个或多个载体框架组件的旋转可以导致搭载物相对于可移动物体围绕一个或多个转轴旋转。备选地或组合地,载体驱动组件可以驱动一个或多个载体框架组件沿着一个或多个平移轴平移,并由此引发负载沿着一个或多个对应轴而相对于可移动物体平移。
图2是示出了与本公开示例实施例一致的用于模拟视觉数据的模拟系统200的框图。模拟系统200可以对应于物理系统或物理对象。例如,模拟系统200可以体现为专用计算机或服务器系统。例如,模拟系统200可以是包括由计算机程序指令编程的一个或多个物理处理器的计算机,当被执行时,所述计算机程序指令使得所述一个或多个物理处理器执行本公开中描述的一个或多个方法。例如,模拟系统200可以被实现为计算机、模拟器或智能装置(例如,智能电话或平板电脑)上的应用程序。例如,模拟系统200可以被实现在单个装置上或实现作为单个装置的一部分,例如,可移动物体、可移动物体的控制器、虚拟现实头盔、模拟器、一副眼镜、隐形眼镜、可穿戴装置等。又例如,模拟系统200可以由多于一个的装置实现。
模拟系统200可以包括I/O单元201、通信单元205、处理单元204、存储单元203和显示器202,其中的一部分可以是可选的。例如,当模拟系统200是服务器盒时,显示器202和/或I/O单元201可以是可选的。模拟系统200的组件可以经由总线或其他类型的通信信道可操作地彼此连接。模拟系统200的组件可以是物理组件。在一些实施例中,模拟系统200可以包括比图2中所示的组件更多的组件。然而,没有必要示出所有这些组件以公开说明性实施例。
I/O单元201可以包括键盘、打印机、显示器、触摸屏、麦克风等。I/O单元201可以被配置为向模拟系统200输入/从模拟系统200输出信号。例如,I/O单元201可以被配置为提供用于操作系统200的用户接口,例如,操纵杆或触摸屏,以接收用于改变模拟图像的视角的信号。
通信单元205可以包括用于有线通信的连接器、无线发射器和接收器、和/或用于无线通信的无线收发器。通信可以包括控制信号和/或数据。连接器、发射器/接收器或收发器可以被配置用于模拟系统200和各种装置之间的双向通信。例如,通信单元205可以向可移动物体300发送和/或从可移动物体300接收操作信号和/或数据。例如,通信单元205可以向远程装置发送和/或从远程装置接收操作信号和/或数据,例如,来自远程移动电话的指令。在一些实施例中,通信单元205可以被配置为与可移动物体300传送信息。所述信息可以经由无线通信被传送到可移动物体和/或传送自可移动物体。以下参照图4来更详细地描述信息传送。
显示器202可以被配置为向用户提供视觉信息。显示器202可以是可选的。所提供的视觉数据可以是原始视觉数据、经渲染的视觉数据、模拟的视觉数据、变换后的视觉数据等。这样的数据可以包括通过执行本文所述的一个或多个方法中的一个或多个步骤而获得的音频、图像和视频。视觉数据也可以通过用户界面(例如I/O单元201)来控制,以基于用户输入来操纵、编辑或以其他方式使用视觉数据。
存储单元203可以包括暂时性和/或非暂时性存储介质或存储器,其被配置为存储可由处理单元204执行的用于执行这里所公开的一个或多个例程或功能和/或步骤和方法的数据、逻辑、代码和/或程序指令。存储单元203可以包括一个或多个存储器单元(例如,闪存卡、随机存取存储器(RAM)、只读存储器(ROM)等)。在一些实施例中,来自I/O单元201的输入可以被传送到并被存储在存储单元203的存储器单元中。尽管图2描绘了单个处理单元204和单个存储器203,本领域技术人员将理解,这并非意在限制,并且模拟系统200可以包括多个处理单元和/或存储器的存储器单元。
存储单元203可以包括用于实现模拟引擎214、光栅化引擎224和编码器234的指令。处理单元204可以被配置为执行存储在存储单元203中的与模拟引擎214、光栅化引擎224和编码器234相对应的指令。在一些其他实施例中,模拟引擎214,光栅化引擎224和/或编码器234,或模拟引擎214、光栅化引擎224和/或编码器234的一部分可以用软件、硬件实现(例如,GPU、FPGA)或其组合来实现。模拟引擎214可以被配置为执行本文描述的一个或多个方法,例如方法500。光栅化引擎224和编码器234可以是可选的。光栅化引擎224可以类似于上面描述的光栅化引擎411,但是被结合到模拟系统200中。编码器234可以被配置为出于标准化、速度或压缩的目的将数据、信息或信号从一种格式/代码转换为另一种格式/代码。在一些实施例中,编码器234使用的压缩标准可以包括H.264、JPEG或JPEG2000。使用压缩标准可以减少所生成的数据的响应时间。
处理单元204可以包括一个或多个处理器,诸如可编程处理器(例如,中央处理单元(CPU)、FPGA、ASIC)。在一些实施例中,处理单元204可以包括一个或多个GPU和/或ASIC,用于快速并高效地生成虚拟数据。模拟引擎214可以被实现为CPU或GPU或被实现作为CPU或GPU的一部分。在一些实施例中,模拟系统200的一个或多个组件(例如,模拟引擎214)可以被配置为执行存储在存储单元203中的一个或多个指令以实现本文所述的一个或多个方法。所实现的方法可以包括模拟、渲染或变换视觉数据。下面参考图4和图5提供对方法的详细描述。
图3是示出了与本公开示例实施例一致的可移动物体300的框图。示例可移动物体是UAV。可移动物体300可以包括传感器单元11、处理单元12、存储单元13、驱动单元14、电源单元15和通信单元18,其中一部分可以是可选的。可移动物体300的组件可以经由总线或其他类型的通信信道可操作地彼此连接。可移动物体300的一部分部件可以集成到一个单元或一个组件中。例如,传感器单元11可以与处理单元12集成。在模拟系统200被体现在可移动物体300上或被体现作为可移动物体300的一部分的情况下,处理单元102还可以用作处理单元12。可移动物体300的这些组件可以是物理组件。在一些实施例中,可移动物体300可以包括比图3中所示的组件更多的组件。然而,没有必要示出所有这些组件以公开说明性实施例。
传感器单元11可以包括记录单元16和环境感测单元17。传感器单元11可以包括实现为记录单元16和/或环境感测单元17的一个或多个物理传感器。记录单元16和环境感测单元17可以集成为一个传感器或者作为单独的传感器操作。传感器单元11可以包括或组合不同类型的传感器,其收集与可移动物体300的周围环境有关的信息。传感器可以检测和/或测量不同类型的信号。诸如3D场景、地图数据和状态信息的各种数据可以是由传感器单元11、可移动物体300外部的另一模块或装置(例如,上述计算装置400)、或可移动物体300和外部模块或装置的组合捕获的。可以由模拟系统200接收和变换这样的数据。
记录单元16可以包括能够记录音频、视频、静止图像或其他信号和/或将其处理为模拟或数字数据的任何装置。示例性记录单元可以包括相机(例如,数字相机)、摄像机、视频相机、数字媒体播放器(PMP)、相机电话、智能电话、个人数字助理(PDA)、平板计算装置、膝上型计算机、台式计算机、智能TV、游戏机等。记录单元16可以包括图像传感器、检测器、镜头、其他光学组件、麦克风等。在一些实施例中,记录单元16可以包括被配置为收集视觉信号(例如,图片、视频)的视觉/图像传感器和/或被配置为收集声音信号的麦克风。记录单元16还可以被配置为使得在各种数据存储装置(例如,存储单元13)上存储表示音频、视频、图像、文本或其他模拟或数字信号的数据,和/或基于所记录的数据生成用于回放或流式传输的媒体文件。在本公开中,视觉/图像传感器可以称为检测器,反之亦然。
环境感测单元17可以包括被配置为获得例如温度、海拔等的环境信息的传感器。处理单元12结合环境感测单元17可以基于所获得的环境信息确定可移动物体300的状态信息。环境信息可以包括例如可移动物体300的环境的温度、湿度或风速。状态信息可以包括例如3D空间中的当前位置、姿势或可移动物体300的运动。在一些实施例中,环境感测单元17可以包括惯性传感器、位置传感器(例如,GPS和磁力计)、范围传感器(例如,超声波、红外线以及光检测测距(LIDAR))等,以收集信息。在一些实施例中,状态信息不限于被感测单元17捕获,而且还可以由外部装置(例如,计算装置400)生成并由处理单元12接收。例如,处理单元12可以从实现为计算装置400的控制器接收用于命令可移动物体300悬停在物体周围的控制命令。控制命令数据可以是状态信息的示例性源。
处理电路12可以控制可移动物体300的操作。例如,处理单元12可以控制记录单元16捕获视觉数据,和/或控制驱动单元14操纵可移动物体300。在一些实施例中,处理单元12可以对音频、视频或其他信号执行数模转换;使用一个或多个编码算法对信号进行压缩或解压缩;对所记录的数据进行编码和/或解码;对所记录的数据进行回放、传送和/或流式传播以及其他功能。在一些实施例中,在捕获视觉数据之后,可移动物体300可以将捕获的视觉数据存储在存储单元13、模拟系统200、计算装置400和/或其他网络装置中。
存储单元13可以存储由可移动物体300捕获、处理、生成、模拟、渲染或以其他方式使用的数据。在各种实施例中,存储单元13可以基于半导体、磁性、光学或任何合适的技术,并且可以包括闪存、USB驱动器、存储卡、固态驱动器(SSD)、硬盘驱动器(HDD)、软盘、光盘、磁带等。在一些实施例中,存储单元13可以包括能够由处理单元12执行以实现UAV的各种功能(例如感测、导航、避障等)的指令。基于对捕获图像的更准确模拟,本文公开的模拟视觉数据可用于为这些指令提供更好的测试。
驱动单元14可以控制可移动物体300的一个或多个组件,以实现移动或改变可移动物体300的状态。例如,驱动单元14可以包括UAV的转子,其可以在空中沿任何方向驱动UAV。
电源单元15可以向可移动物体300的一个或多个组件供电。电源单元15可以包括常规电池(例如,锂离子电池)、可无线充电电池和太阳能电池板供电的电池(例如,附接到设置在UAV上的轻质太阳能电池板的电池)。
通信单元18可以包括用于有线通信的连接器、无线发送器和接收器、和/或用于无线通信的无线收发器。通信可以包括控制信号和/或数据。连接器、发射器/接收器或收发器可以被配置用于可移动物体300和各种装置之间的双向通信。例如,通信单元18可以向模拟系统200无线地发送和/或从模拟系统200无线地接收操作信号和/或数据。下文参照图4来更详细地描述信息传送。
图4是示出了与本公开示例实施例一致的在用于模拟视觉数据的系统100中的数据交换的流程图。参考先前附图描述的模拟系统200、可移动物体300和计算装置400的各种子组件未在图4中示出。下面描述的任何数据路径或步骤可以是可选的或可以组合。数据流的目标可以包括模拟由基于物理UAV的物理相机捕获的现实图像。
在一些实施例中,模拟系统200可以从存储的3D虚拟环境模型中提取3D场景401。例如,可以基于虚拟UAV及其传感器相对于虚拟环境的当前状态来确定3D场景401。所提取的3D场景可以是整个虚拟环境的一部分,如同由UAV捕获一样。可以从UAV传感器捕获的模拟传感器数据导出UAV及其传感器的当前状态。UAV的状态可以包括例如位置、姿势、速度、速率、加速度和/或取向。用于导出UAV传感器状态的参数可以包括视觉传感器的镜头或检测器的物理参数,例如,视场、透镜畸变角、探测器尺寸等。这些参数可以是下面描述的参数405的一部分。接下来,模拟系统200的光栅化引擎224可以接收3D场景401并相应地渲染原始2D视觉数据402。渲染可以处理3D场景以在2D屏幕上显示。模拟系统200的模拟引擎214可以接收原始2D视觉数据402并基于参数405产生变换后的视觉数据406。
在一部分其他实施例中,计算装置400的光栅化引擎411可以执行光栅化引擎224的功能。计算装置400可以从网络101、可移除存储装置102和/或直接输入接收3D视觉数据403。备选地,3D视觉数据可以是预先存储的、自我模拟的、从计算装置400可访问的另一3D模型导出的,等等。基于3D视觉数据403,计算装置400可以渲染原始2D视觉数据404,并将其发送到模拟系统200的模拟引擎214。
模拟引擎214可以被配置为基于一个或多个参数405将接收的原始2D视觉数据变换为变换后的视觉数据406。模拟引擎214还可以从网络101、可移除存储装置102和/或直接输入接收一个或多个参数405。也就是说,参数405可以来自模拟系统200、可移动装置300、诸如连接到网络101的蜂窝电话的另一装置、用户条目、默认设置等。参数405可以包括噪声相关参数,例如下面参考图5至图11更详细描述的机载传感器检测器和镜头的参数。模拟引擎214可以基于参数405变换原始2D视觉数据。在变换过程中,模拟系统200可以模拟可移动物体300的一个或多个组件(例如,参考图3描述的组件),以及它们的物理特性、相关操作、功能、性能、效果等。例如,模拟系统200可以通过变换渲染的视觉数据来模拟可移动物体300的机载相机的输出(例如,捕获的图像)。下面参考图5更详细地描述所述变换及其子步骤,例如光学模拟和检测器模拟。模拟引擎214可以包括用于实现光学模拟和检测器模拟中的一个或两个的指令。特别地,模拟可以将各种噪声结合到视觉数据中。变换后的可视数据406被发送到编码器234,以转换格式以供进行标准化、加速和/或压缩。
在一些实施例中,模拟系统200可以将编码后的变换视觉数据407提供给用户或用户装置(例如显示屏)、测试/算法开发工程师的计算机,以更好地测试基于视觉的算法,例如,导航、测绘、障碍物躲避、路径规划、跟踪等在“硬件在环”场景的一些实施例中,模拟系统200可以生成虚拟可移动物体和关联的虚拟传感器(例如,虚拟GPS、虚拟云台、虚拟陀螺仪),并且将编码后的变换可视数据407提供给可移动物体300。编码后的变换视觉数据407还可以包括非视觉信息(例如,UAV位置、机载相机取向)。物理可移动物体300可以接收模拟的传感器数据,并且UAV上的逻辑电路(例如,包括在飞行控制器或诸如UAV路径规划和障碍物躲避的基于视觉的算法中)可以基于所接收的视觉数据生成控制命令408以致动可移动物体300。然后,模拟系统300可以从可移动物体300接收所生成的控制命令408,以更新模拟可移动物体的状态(例如,在物理可移动物体和/或相应的模拟可移动物体的模型中的位置或取向)。因此,可以利用在可移动物体和模拟系统之间成环的变换视觉数据的流来测试基于视觉的算法。
图5是示出了与本公开示例实施例一致的用于模拟视觉数据的方法500的流程图。方法500可以包括多个步骤,其中一部分步骤可以是可选的,或者可以以另一顺序重新排列的。方法500的一个或多个步骤可以由模拟系统200的一个或多个组件(诸如处理单元204)和/或任何其他合适系统(诸如计算装置400)来实现。
在步骤501,生成虚拟环境的视觉数据。虚拟环境的视觉数据可以表示由与模拟可移动物体相关联的模拟视觉传感器获得的数据。在一些实施例中,视觉数据可以由被体现为处理单元204的一个或多个GPU生成。
在一些实施例中,虚拟环境可以对应于真实环境,例如,开放空间、雨林、体育场等。可以由模拟系统200模拟、提供、接收、选择、捕获、渲染、存储、检索、生成或以其他方式获得虚拟环境。在一些实施例中,模拟系统200外部的装置可以独立地或与系统200联合地获得表示虚拟环境的数据,并将虚拟环境数据发送给模拟系统200的一个或多个组件。在如上参考图4所述的一些实施例中,虚拟环境的信息包含在存储于存储单元203中的一个或多个3D模型中,或者可由模拟系统200访问。下面更详细地描述该3D模型。可以对视觉环境进行显示和/或渲染或可以不对视觉环境进行显示和/或渲染,只要生成步骤501所需的视觉数据。可以有各种方法来创建虚拟环境。例如,可以基于从互联网收集的特定建筑物内部的图像来生成虚拟环境。又例如,物理装置可以捕获物理环境,基于该物理环境生成虚拟环境。
在一些实施例中,视觉数据(例如,3D视觉数据、3D场景)可以表示与模拟可移动物体相关联的模拟视觉传感器的输出。视觉数据可以包括由这种模拟视觉传感器在不同时间和/或以各种姿势捕获的虚拟环境的图像。模拟可移动物体的模拟视觉传感器可以与物理可移动物体(例如,UAV)的物理视觉传感器相对应。
如参考图4所讨论的,原始2D视觉数据可以是从基于虚拟UAV及其传感器相对于虚拟环境的当前状态确定的3D视觉数据/场景导出的。在一些实施例中,虚拟环境由一个或多个3D模型表示。3D模型可以存储在存储单元203中,或者可以是从系统100中的另一装置(例如,可移动物体300的传感器、网络计算装置或光栅化引擎411)中检索的。可以根据用户输入、用户偏好或可移动物体或图像传感器的类型(例如,宽视角或红外线)或状态信息(例如,位置或取向)来单独地选择和检索3D模型。每个3D模型可以包括虚拟场景的集合。
模拟系统200可以基于虚拟UAV及其传感器相对于虚拟环境的当前状态,从一个或多个所选的3D模型中提取3D场景。当前状态可以包括可移动物体和/或虚拟视觉传感器相对于虚拟环境的位置系统的模拟的、存储的或接收的状态信息。位置系统的信息可以被称为虚拟环境的地图数据(包括2D和/或3D地图数据)。下面更详细地描述状态信息。
在一些实施例中,状态信息可以包括与模拟视觉传感器相关联的以下类型信息中的一个或多个:3D位置、朝向、视场和缩放信息。在一些实施例中,状态信息可以包括与模拟可移动物体相关联的以下类型信息中的一个或多个:飞行模式信息、高度信息、移动方向信息和速率信息。飞行模式信息可以包括存储在存储单元13或存储单元203中的预定飞行模式,或者可以是在UAV的操作期间动态确定的。例如,飞行模式可以包括跟踪模式(例如,跟踪人、动物或物体);观看模式(例如,通过实时调节运行的UAV的相机的云台配置,使得一个或多个物体保持在相机的视场中,来观看所述一个或多个物体);兴趣点(POI)模式(例如,控制UAV悬停在用户定义的感兴趣点周围和/或拍摄兴趣点的360度视频)等。
在一些实施例中,模拟系统200可以将矢量格式的3D场景转换为光栅格式。转换的视觉数据可以被称为原始2D视觉数据或所生成的视觉数据。模拟系统200可以接收一个或多个3D场景,并计算根据与一个或多个3D场景相关联的几何关系计算到2D表面的像素的映射。备选地,计算装置400可以执行上述步骤。在一些实施例中,可以跳过光栅化步骤,例如,在原始场景已经被光栅化的情况下(例如,在3D模型提供2D场景的情况下)。
在步骤502,获得与模拟视觉传感器相对应的物理视觉传感器的一个或多个参数,该一个或多个参数包括噪声相关参数。下面将参考图6到图11更加详细地描述所述一个或多个参数。
在一些实施例中,模拟视觉传感器可以包括模拟镜头和被配置为通过模拟镜头捕获虚拟图像的模拟检测器,模拟镜头对应于物理视觉传感器的物理镜头,且模拟检测器对应于物理视觉传感器的物理检测器。一个或多个参数可以与成像装置/视觉传感器(例如,相机)的光学器件(例如,镜头)和/或图像传感器(例如,检测器)相关。例如,与光学器件相关的参数可以包括镜头的焦距、折射率和畸变模型(例如,将入射光线方向和输出光线方向关联的模型);以及与图像传感器相关的参数可以包括传感器尺寸、光子噪声和热噪声。一个或多个参数可以是可配置的,并且可以由用户、配置文件、实时设置等配置。可以通过网络、存储器传输、用户输入等获得一个或多个参数。
噪声相关参数可以包括各种类型。例如,可以获得物理UAV上的物理相机的一个或多个参数作为在虚拟环境中飞行的虚拟UAV的相应虚拟机载相机的噪声相关参数。物理视觉传感器可以包括一个或多个镜头以及一个或多个检测器,例如,CCD或CMOS检测器,所述一个或多个检测器被配置成通过一个或多个镜头捕获视觉数据。相应地,模拟视觉传感器可以包括一个或多个模拟镜头以及一个或多个模拟检测器。可以在虚拟视觉传感器中模拟物理镜头和/或检测器的特性,例如,光学特性、材料特性和化学特性,以模仿物理相机。
在步骤503,对在步骤501生成的视觉数据进行变换以模拟一个或多个参数的效果。例如,模拟系统200可以重新计算、调整或修改所生成的视觉数据,以模拟一个或多个参数的效果。所述效果可以包括例如噪声效果、光学效果等。通过模拟一个或多个参数的影响,变换后的视觉数据可以允许更好地测试基于视觉的算法,例如,导航、测绘、障碍物躲避、路径规划、跟踪等。
在一些实施例中,模拟视觉传感器可以包括模拟镜头和被配置为通过模拟镜头捕获虚拟图像的模拟检测器,模拟镜头对应于物理视觉传感器的物理镜头,且模拟检测器对应于物理视觉传感器的物理检测器。在现实世界中并且相应地在模拟中,来自环境的光子可以穿过镜头并入射在探测器上。镜头的特性可能会影响光子的路径和/或通过光子数。基于光电效应,检测器可以将每个检测器像素上的入射光子转换为多个电子,最终将其转换为对应于该像素的像素值读数。
上述方法500的一个或多个参数可以包括光学参数。以下针对各个模型描述光学参数的三个示例。在一些实施例中,物理视觉传感器的一个或多个参数可以包括物理镜头的视场,并且视场可以是由物理镜头的焦距f和物理检测器的尺寸d来确定的。例如,视角α可以通过以下公式与d和f相关联:通过该视场模型,变换后的视觉数据可以具有与物理视觉传感器类似的视场。
在一些实施例中,物理视觉传感器的一个或多个参数可以包括物理镜头的畸变模型,如图6所示。图6是示出了与本公开示例实施例一致的镜头畸变模型的光线图。入射路径603是照射在镜头601上的光的路径。折射路径604是从镜头601的光学中心到达检测器602的理论光线。理论路径可以是基于完美且无定形的镜头601的假设的。折射路径605是在穿过镜头601之后偏离理论路径604的实际光线。偏差可以是由例如物理形状、材料扰动、缺陷、单个或多个镜片的不完美安装或镜头601的表面特性而引起的。折射路径604与检测器602相交的点C表示与点A和入射光相对应的捕获视觉数据的理论位置。折射路径605与检测器602相交的点B表示与点A和相同入射光相对应的捕获视觉数据的实际位置。θ是入射路径603和光轴606之间的入射角。θr是折射路径604和光轴606之间的折射角。θd是折射路径605和光轴606之间的折射角。θd或θd和θr之间的差可以被称为畸变角。θ和θd可以通过下式相关:其中n是表示畸变角度精度的自然数,k0=1,且其他k值与镜头特性相关联。可以模拟或通过实验确定k值。如图6所示,由镜头畸变模型而产生的实际位置B从通过传统方法得到的理论位置C移位。实际上,由于镜头的固有畸变特性,在检测器602中捕获的点A的图像比点C更接近点B。相同的效果适用于通过镜头601捕获的其他点、像素和完整图像。因此,通过该镜头畸变模型,变换后的视觉数据可以反映与物理视觉传感器中存在的畸变类似的畸变,这种畸变不包括在由传统方法产生的模拟结果中。也就是说,该镜头畸变模型可以校正由传统方法渲染的某些不准确的模拟结果。
在一些实施例中,物理视觉传感器的一个或多个参数可以包括物理镜头的折射率,如图7所示。图7是示出了与本公开示例实施例一致的鱼眼模型的光线图。平面701是镜头平面;平面702是传感器或检测器平面;垂直线是光轴703;入射路径704是从具有坐标(X,Y,Z)的物体A到镜头平面701的光线路径;折射路径705是在经过镜头平面701之后与A相对应的光线路径;α是入射路径704和光轴703之间的入射角;B(X/Z,Y/Z,1)是入射路径704和平面Z=1之间的交点;C(u,v)是检测到的与A相对应的并在传感器平面702中的信号位置;d是从C到光轴703的距离;入射路径706是如下光线路径的极限示例:光从右侧水平通过并经由折射路径707折射到传感器平面702的极限左端,该极限左端与180度的视场(FOV)相对应;R是在光轴703为中心测量的传感器的半径,且根据该鱼眼模型,可以由传感器捕获180度FOV内的所有视觉数据,例如,镜头平面701上方的任何视觉数据,并且可以确定相应的d值。为此,可以模拟R和FOV以实现鱼眼模型。备选地,可以在变换后的视觉数据中模拟镜头折射率或镜头平面701和传感器平面702之间的折射率,以实现鱼眼效果。因此,通过该鱼眼模型,变换后的视觉数据可以具有更宽的FOV,其不包括在由传统方法渲染的模拟结果中。也就是说,可以用鱼眼模型模拟超出传统模拟图像的FOV的图像部分。此外,基于以上描述,可以通过相应的模型来模拟包括鱼眼相机的各种相机。这允许实验和/或验证比依赖于来自这种相机的图像的当前可用算法更大的算法集。例如,即使没有在物理UAV上安装鱼眼相机,也可以测试基于鱼眼相机模型的UAV算法。
图8是示出了与本公开示例实施例一致的用于模拟视觉数据的方法800的流程图。在一些实施例中,方法800可以用于实现上述方法500的步骤503。也就是说,可以执行方法800以变换所生成的视觉数据,来模拟一个或多个参数的效果。方法800可以由模拟系统200的一个或多个组件(例如,模拟引擎214)执行。噪声相关参数可以包括噪声值。噪声值可以是正、负或零。
在步骤802,针对模拟视觉数据的一个或多个像素中的每一个获得模拟像素值。例如,像素值可以由与256色相对应的8位色标表示。本领域普通技术人员将理解,也可以使用诸如24位色标的其他表示。
在步骤804,将噪声值与模拟像素值相加以获得变换后的像素值,变换后的视觉数据包括变换后的像素值。例如,噪声值是-10,并可以通过将-10加到模拟像素值125,获得变换后的像素值115。类似地,通过对模拟视觉数据的其他模拟像素值进行附加变换,可以获得变换后的视觉数据。可以根据分布(例如,高斯分布)或基于另一可配置规则,将噪声值均匀地添加到模拟像素值。
图9是示出了与本公开示例实施例一致的用于模拟光子噪声的方法900的流程图。在一些实施例中,方法900可以用于实现上述方法800的步骤804。也就是说,可以执行方法900以变换所生成的视觉数据,来模拟一个或多个参数的效果。噪声值可以包括光子噪声值。方法900可以由模拟系统200的一个或多个组件(例如,模拟引擎214)执行。
在步骤902,对应于模拟像素值计算光子数。在该步骤中,可以对光子像素值转换和/或动态范围进行建模。对于光子像素值转换,例如,在像素上激发电子的有效光子数Nhv可以等于相应像素读数值V和投影参数(例如,成像系统的(增益)参数α)的乘积:Nhv=αV。也就是说,物理检测器可以将照射在检测器的每个像素上的有效光子数成正比地转换为对应的像素值。相反,模拟像素值可以用于后向工作以获得模拟的光子数量。对于动态范围,可以将其定义为可获得的最大信号除以成像系统的噪声。由于渲染图像可能已经经历了来自光栅化的HDR(高动态范围)处理,因此它们的动态范围可以大于由对应物理传感器捕获的图像的动态范围。因此,渲染图像的像素读取值V可以通过Gamma校正被非线性地校正为Vγ,其中γ是Gamma校正参数。通过结合光子像素转换和动态范围建模二者,与模拟像素值相对应的光子数Nhv可以计算为:Nhv-aVγ其中V是归一化为[0,1]的模拟像素值,γ是可配置参数,并且α是投影参数。如果知道光栅化已经采用Gamma校正,则γ将是光栅化中使用的Gamma校正参数的倒数。这里,α和γ可以是可配置参数。所述配置可以由例如用户、管理员或算法执行。可以经由各种终端(诸如实现为显示器202的触摸接口或连接到模拟系统200的移动装置)来执行配置。可以动态地或在预定时间执行配置。上述可配置性通常适用于本文描述的任何参数。在一些实施例中,可以省略Gamma校正,并且步骤902可以通过线性投影来实现,即,根据模拟像素值成正比地计算光子数。
在步骤904,基于光子噪声值和光子数计算第一电子数。例如,可以通过N′e=Nhv·ηQE获得电子的基数N′e,其中ηQE是量子效率,并且可以通过基于光子噪声模型校正电子的基数来获得第一电子数。可以通过添加光子噪声值δq,来校正电子的基数N′e,即,N′e+δq。
在一些实施例中,光子噪声值δq可以遵循泊松分布函数,其中当电子数量较大时,该函数可以接近高斯分布函数:在一些实施例中,与模拟像素值相对应的光子数可以高于实际光子数,这是因为在真实环境中并非检测器上的所有照射光子都可以引起光电效应。光子噪声可以有效地对最终不会对检测器信号或像素读数做出贡献的光子损失进行建模。因此,通过模拟光子噪声,第一电子数可以更真实地表示出由最终对检测器信号或像素读数做出贡献的有效光子数量激发的电子的数量。
在步骤906,基于包括第一电子数在内的电子总数,计算变换后的像素值。
在一些实施例中,将电子总数转换为变换后的像素值(模拟到数字变换)可以涉及读出噪声。读出噪声δr可以遵循标准偏差σr的正态分布。也就是说,δr~N(0,σr)。标准偏差可以是从物理视觉传感器/检测器的手动或类似源获得的。在一些实施例中,标准偏差可以高达100电子。变换后的像素值Vraw可以是Vraw=Ne/g,其中Ne=N′e+δq+δr和g是检测器的增益(例如,由模数转换单元表示的电子数)。
图10是示出了与本公开示例实施例一致的用于模拟热噪声的方法1000的流程图。在一些实施例中,方法1000可以用于实现上述方法900的步骤906。也就是说,可以执行方法1000以变换所生成的视觉数据,来模拟一个或多个参数的效果。噪声值可以包括热噪声值。方法1000可以由模拟系统200的一个或多个组件(例如,模拟引擎214)执行。
在步骤1002,基于热噪声值计算第二电子数。热噪声也可以称为暗散粒噪声、暗电流散粒噪声或暗电流热噪声。例如,电子的基数N′e可以通过热噪声值来进行校正,而不管是否已通过光子噪声值进行校正。如果已经应用了光子噪声模型,则可以通过添加热噪声值δd校正第一电子数来获得第二电子数,即,N′e+δq+δd+δr。热噪声值δd可以遵循泊松分布函数,其中当电子数量较大时,该函数可以接近高斯分布函数:其中,ne是每单位时间每个像素的暗电流电子数,并且t是曝光时间。在一些实施例中,热噪声值δd还可以对检测器或环境的温度及其对检测器信号/像素读数的影响进行建模。由于半导体载波速度受温度的影响显著,因此热噪声值δd可能影响光子检测信号。因此,可以基于可配置的温度(例如,检测器、视觉传感器或环境的真实或模拟温度)来生成热噪声值δd。
在步骤1004,基于包括第一电子数和第二电子数在内的电子总数,来计算变换后的像素值。在一些实施例中,将电子总数转换为变换后的像素值(模拟到数字变换)也可以涉及读出噪声σr。因此,变换后的像素值Vraw2可以是Vraw2=Ne/g,其中Ne=N′e+δq+δd+δr。因此,通过模拟热噪声,第二电子数Ne可以对与暗电流相关联的激发电子的数量的变化进行建模。将第一电子数和第二电子数相结合可以更真实地表示出由实际光子数量激发的、最终对检测器信号或像素读数做出贡献的电子的数量。
图11是示出了与本公开示例实施例一致的用于模拟视觉数据的方法1100的流程图。在一些实施例中,方法1100可以用于实现上述步骤1004或步骤906。也就是说,可以执行方法1100以变换所生成的视觉数据,来模拟一个或多个参数的效果。方法1100可以由模拟系统200的一个或多个组件(例如,模拟引擎214)执行。
在步骤1102,确定步骤1004或步骤906中描述的计算Vraw是否导致溢出错误。如果是,则方法1100可以前进至步骤1104。当Vraw或Vraw2的计算超过像素读数限制时,可能发生溢出错误。例如,对于8位颜色系统,最大像素值读数为255。
在步骤1104,以预设长度截断除法结果。例如,对于8位系统,大于255的像素值读数可以被截断为255。在一些实施例中,可以调整物理图像传感器的增益以实现对视觉数据的亮度的调整。与其他参数一样,此增益也是可配置的。
在步骤1106,基于截断的除法结果计算变换后的像素值。例如,截断后的像素值可以用作变换后的像素值以获得变换后的视觉数据。
在一些实施例中,上面参考图8-11描述的方法可以适用于单色视觉传感器,并且在步骤802之前,模拟系统200可以可选地将所生成的视觉数据变换为灰度视觉数据。
在一些实施例中,对于彩色Bayer视觉传感器,参考图8-11描述的方法可以在用于计算光子数的步骤902处进行修改。例如,对于视觉传感器的Bayer阵列中的每个像素,可以确定相应的RGB类型,并且根据所确定的RGB类型将模拟的像素值转换为光子数,这是因为不同的颜色可以具有不同的转换参数。
如上所述,可以对物理镜头和检测器的各种特性(包括光学特性和材料特性)进行建模以模拟视觉数据。与仅应用全局滤波器的传统模拟视觉数据相比,变换后的视觉数据可以基于相应硬件的物理特性来模拟效果,因此更加真实。此外,模拟可以由一个或多个GPU完成,而不需要在视频RAM和系统存储器之间进行数据传输,从而实现高质量且快速的响应时间。
本公开的另一方面涉及一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使一个或多个处理器执行如上所述的方法。计算机可读存储介质可以包括易失性的或非易失性的、磁性的、半导体的、磁带的、光学的、可移除的、不可移除的或其他类型的计算机可读存储介质或计算机可读存储装置。例如,如所公开地,计算机可读存储介质可以是其上存储有计算机指令的存储单元或存储器模块。在一些实施例中,计算机可读存储介质可以是其上存储有计算机指令的磁盘或闪存驱动器。
本领域技术人员还将认识到:可以将参考本文公开所述的各种示例逻辑块、模块、电路和算法步骤实现为专用电子硬件、计算机软件或电子硬件和计算机软件的组合。例如,模块/单元可以由一个或多个处理器实现,以使一个或多个处理器成为一个或多个专用处理器,以执行存储在计算机可读存储介质中的软件指令,从而执行模块/单元的专用功能。
附图中的流程图和框图示出了根据本公开多个实施例的系统和方法的可能实施方式的系统架构、功能和操作。由此,流程图或框图中的每个框可以表示一个模块、一个程序段或代码的一部分,其中模块、程序段或代码的一部分包括用于实现指定逻辑功能的一个或多个可执行指令。还应注意,在一些备选实施例中,在框中标记的功能也可以按照与图中标记的顺序不同的顺序出现。例如,两个连续的块实际上可以是基本并行执行的,有时,它们也可以是以相反的顺序执行的,这取决于所涉及的功能。框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可以由用于执行相应功能或操作的专用的基于硬件的系统来实现,或可以通过专用硬件和计算机指令的组合来实现。
如本领域技术人员所意识到的,本公开的实施例可以实现为方法、系统或计算机程序产品。因此,本公开的实施例可以采用全硬件实施例、全软件实施例或组合软件和硬件的实施例的形式,以允许专用组件执行上述功能。此外,本公开的实施例可以采取体现在一个或多个有形和/或非暂时性计算机可读存储介质中的计算机程序产品的形式,其中所述一个或多个有形和/或非暂时性计算机可读存储介质包含计算机可读程序代码。非暂时性计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动、磁带或任何其他磁介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何其他物理介质、RAM、PROM、EPROM、FLASH-EPROM、或任何其他闪存、NVRAM、缓存、寄存器、任何其他存储器芯片或盒及其联网版本。
上面参照根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本公开的实施例。应当理解,流程图和/或框图中的每一个流程和/或框、以及流程图和/或框图中的多个流程和/或框的组合可以通过计算机程序指令来实现。这些计算机程序指令可以提供给计算机的处理器、嵌入式处理器或用于产生专用机器的其他可编程数据处理装置,使得该指令(经由计算机的处理器或其他可编程数据处理装置执行)创建用来实现流程图中的一个或多个流程和/或框图中的一个或多个框指定的功能的装置。
这些计算机程序指令也可以存储在指导计算机或其他可编程数据处理装置以特定方式运行的计算机可读存储器中,使得计算机可读存储器中存储的指令产生包括实现流程图中的一个或多个流程和/或框图中的一个或多个框指定的功能的指令装置在内的制品。
这些计算机程序指令也可以装载在计算机或其他可编程数据处理装置中,使一系列可操作步骤在计算机或其他可编程装置上执行以产生由计算机实现的处理,使得指令(在计算机或其他可编程装置上执行的)提供用于实现流程图中的一个或多个流程和/或框图中的一个或多个框指定的功能的步骤。在典型配置中,计算机装置包括一个或多个中央处理单元(CPU)、输入/输出接口、网络接口和存储器。存储器可以包括易失性存储器、随机存取存储器(RAM)和/或非易失性存储器等的形式,诸如计算机可读存储介质中的只读存储器(ROM)或闪存RAM。存储器是计算机可读存储介质的示例。
计算机可读存储介质是指可以存储处理器可读的信息或数据的任何类型的物理存储器。因此,计算机可读存储介质可以存储用于由一个或多个处理器执行的指令,包括用于使处理器执行与本文描述的实施例一致的步骤或阶段的指令。所述计算机可读介质包括非易失性和易失性介质以及可移除和不可移除介质,其中信息存储可以是用任何方法或技术来实现的。信息可以是计算机可读指令、数据结构和程序或其他数据的模块。非暂时性计算机可读介质的示例包括但不限于相变随机存取存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储器、盒式磁带、磁带或磁盘存储器或其他磁性存储装置、高速缓存、寄存器或可用于存储能够被计算机装置访问的信息的任何其他非传输介质。计算机可读存储介质是非暂时性的,并且不包括暂时性介质,例如调制数据信号和载波。
说明书描述了用于模拟视觉数据的方法、装置和系统。阐述了所示步骤以解释所示的示例性实施例,并且应该预期的是当前技术开发将改变执行特定功能的方式。因此,出于说明而非限制的目的,本文提供了这些实施例。例如,根据所公开的实施例,本文公开的步骤或过程不限于以所描述的顺序执行,而是可以以任何顺序执行,并且可以省略一部分步骤。此外,为了便于描述,本文已经任意定义了这些功能构建块的边界。只要所指定的功能及其关系被适当地执行,就可以定义替代的边界。基于本文包含的教导,相关领域的技术人员将清楚替代方案(包括本文描述的那些等同物、扩展、变化、偏差等)。这些替代方案落入所公开实施例的范围和精神内。
虽然本文描述了所公开原理的示例和特征,但是在不脱离所公开实施例的精神和范围的情况下,修改、调整和其他实施方式也是可能的。此外,词语“包含”、“具有”、“含有”和“包括”以及其他类似形式在意义上是等同的,并且是开放式的,这是因为跟随在这些词语中的任何一个之后的一个或多个项目不意味着是这中项目的详尽清单,也并不意味着仅限于所列项目。还应注意,如在此和所附权利要求书中所使用的,除非上下文另有明确说明,否则单数形式“一”、“一个”和“所述”包括复数指示物。
应当理解,本发明不限于上面已经描述并在附图中示出的精确结构,并且在不脱离其范围的情况下可以进行各种修改和改变。本发明的范围应仅由所附权利要求来限定。
Claims (30)
1.一种视觉模拟系统,包括:
非暂时性计算机可读存储器,所述非暂时性计算机可读存储器存储计算机可执行指令;以及
一个或多个处理器,所述一个或多个处理器单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以:
生成虚拟环境的视觉数据,所述视觉数据由与模拟可移动物体相关联的模拟视觉传感器获得;
获得与模拟视觉传感器相对应的物理视觉传感器的一个或多个参数,所述一个或多个参数包括噪声相关参数;以及
对所生成的视觉数据进行变换以模拟所述一个或多个参数的效果。
2.根据权利要求1所述的系统,其中:
所述模拟视觉传感器包括与所述物理视觉传感器的物理镜头相对应的模拟镜头;
所述一个或多个参数包括物理镜头的焦距;以及
所述一个或多个处理器单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以对所生成的视觉数据进行变换来模拟所述物理镜头的焦距。
3.根据权利要求1所述的系统,其中
所述模拟视觉传感器包括与所述物理视觉传感器的物理镜头相对应的模拟镜头;
所述一个或多个参数包括所述物理镜头的畸变角;以及
所述一个或多个处理器单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以对所生成的视觉数据进行变换来模拟所述物理镜头的畸变角。
4.根据权利要求1所述的系统,其中
所述模拟视觉传感器包括与所述物理视觉传感器的物理镜头相对应的模拟镜头;
所述一个或多个参数包括所述物理镜头的折射率;以及
所述一个或多个处理器单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以对所生成的视觉数据进行变换来模拟所述物理镜头的折射率。
5.根据权利要求1所述的系统,其中
所述模拟视觉传感器包括与所述物理视觉传感器的物理检测器相对应的模拟检测器;
所述一个或多个参数包括所述物理检测器的尺寸;以及
所述一个或多个处理器单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以对所生成的视觉数据进行变换来模拟所述物理检测器的尺寸。
6.根据权利要求1所述的系统,其中所述一个或多个处理器还单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以基于变换后的视觉数据模拟所述模拟可移动物体的移动。
7.根据权利要求6所述的系统,其中所述一个或多个处理器还单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以:
接收所述虚拟环境的地图数据;以及
基于接收到的地图数据模拟所述模拟可移动物体的移动。
8.根据权利要求6所述的系统,其中所述一个或多个处理器还单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以:
接收所述模拟可移动物体的状态信息;以及
基于接收到的状态信息模拟所述模拟可移动物体的移动。
9.根据权利要求1所述的系统,其中所述一个或多个处理器单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以将变换后的视觉数据发送给物理可移动物体的处理器。
10.根据权利要求1所述的系统,其中
所述噪声相关参数包括噪声值;以及
为了对所生成的视觉数据进行变换以模拟所述一个或多个参数的效果,所述一个或多个处理器单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以:
针对所述模拟视觉数据的每个像素获得模拟像素值;以及
将所述噪声值与所述模拟像素值相加以获得变换后的像素值,其中所述变换后的视觉数据包括所述变换后的像素值。
11.根据权利要求10所述的系统,其中
所述噪声值包括光子噪声值;以及
为了将所述噪声值与所述模拟像素值相加以获得变换后的像素值,所述一个或多个处理器还单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以:
计算与所述模拟像素值相对应的光子数;
基于所述光子噪声值和所述光子数计算第一电子数;以及
基于包括第一电子数在内的电子总数,计算所述变换后的像素值。
12.根据权利要求11所述的系统,其中,为了计算与所述模拟像素值相对应的所述光子数,所述一个或多个处理器还单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以:
根据与所述模拟检测器相对应的物理检测器的动态范围,将所述模拟像素值转换为另一像素值;以及
将所述另一像素值转换为所述光子数。
13.根据权利要求11所述的系统,其中
所述噪声值还包括热噪声值;以及
为了将所述噪声值与所述模拟像素值相加以获得变换后的像素值,所述一个或多个处理器还单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以:
基于所述热噪声值计算第二电子数;以及
基于包括第一电子数和第二电子数在内的电子总数,计算所述变换后的像素值。
14.根据权利要求13所述的系统,其中,为了基于包括第一电子数和第二电子数在内的电子总数来计算变换后的像素值,所述一个或多个处理器还单独地或共同地被配置为访问所述存储器并执行所述计算机可执行指令以:
基于包括第一电子数和第二电子数在内的电子总数,计算中间像素值;以及
通过将所述中间像素值除以与所述模拟视觉传感器的模拟检测器相对应的物理检测器的增益,计算所述变换后的像素值。
15.一种视觉模拟方法,包括:
生成虚拟环境的视觉数据,所述视觉数据由与模拟可移动物体相关联的模拟视觉传感器获得;
获得与所述模拟视觉传感器相对应的物理视觉传感器的一个或多个参数,所述一个或多个参数包括噪声相关参数;以及
对所生成的视觉数据进行变换以模拟所述一个或多个参数的效果。
16.根据权利要求15所述的方法,其中:
所述模拟视觉传感器包括与所述物理视觉传感器的物理镜头相对应的模拟镜头;
所述一个或多个参数包括所述物理镜头的焦距;以及
对所生成的视觉数据进行变换以模拟所述一个或多个参数的效果包括:对所生成的视觉数据进行变换以模拟所述物理镜头的焦距。
17.根据权利要求15所述的方法,其中:
所述模拟视觉传感器包括与所述物理视觉传感器的物理镜头相对应的模拟镜头;
所述一个或多个参数包括所述物理镜头的畸变角;
对所生成的视觉数据进行变换以模拟所述一个或多个参数的效果包括:对所生成的视觉数据进行变换以模拟所述物理镜头的畸变角。
18.根据权利要求15所述的方法,其中:
所述模拟视觉传感器包括与所述物理视觉传感器的物理镜头相对应的模拟镜头;
所述一个或多个参数包括所述物理镜头的折射率;
对所生成的视觉数据进行变换以模拟所述一个或多个参数的效果包括:对所生成的视觉数据进行变换以模拟所述物理镜头的折射率。
19.根据权利要求15所述的方法,其中:
所述模拟视觉传感器包括与所述物理视觉传感器的物理检测器相对应的模拟检测器;
所述一个或多个参数包括所述物理检测器的尺寸;
对所生成的视觉数据进行变换以模拟所述一个或多个参数的效果包括:对所生成的视觉数据进行变换以模拟所述物理检测器的尺寸。
20.根据权利要求15所述的方法,还包括基于变换后的视觉数据模拟所述模拟可移动物体的移动。
21.根据权利要求20所述的方法,其中基于变换后的视觉数据模拟所述模拟可移动物体的移动包括:
接收所述虚拟环境的地图数据;以及
基于接收到的地图数据模拟所述模拟可移动物体的移动。
22.根据权利要求20所述的方法,其中基于变换后的视觉数据模拟所述模拟可移动物体的移动包括:
接收所述模拟可移动物体的状态信息;以及
基于接收到的状态信息模拟所述模拟可移动物体的移动。
23.根据权利要求15所述的方法,其中:
所述噪声相关参数包括噪声值;以及
对所生成的视觉数据进行变换以模拟所述一个或多个参数的效果包括:
针对所述模拟视觉数据的每个像素获得模拟像素值;以及
将所述噪声值与所述模拟像素值相加以获得变换后的像素值,其中所述变换后的视觉数据包括所述变换后的像素值。
24.根据权利要求23所述的方法,其中:
所述噪声值包括光子噪声值;以及
将所述噪声值与所述模拟像素值相加以获得变换后的像素值包括:
计算与所述模拟像素值相对应的光子数;
基于所述光子噪声值和所述光子数计算第一电子数;以及
基于包括第一电子数在内的电子总数,计算所述变换后的像素值。
25.根据权利要求24所述的方法,其中计算与所述模拟像素值相对应的光子数包括:
根据与所述模拟检测器相对应的物理检测器的动态范围,将所述模拟像素值转换为另一像素值;以及
将所述另一像素值转换为光子数。
26.根据权利要求24所述的方法,其中:
所述噪声值还包括热噪声值;以及
将所述噪声值与所述模拟像素值相加以获得变换后的像素值包括:
基于所述热噪声值计算第二电子数;以及
基于包括第一电子数和第二电子数在内的电子总数,计算所述变换后的像素值。
27.根据权利要求26所述的方法,其中,基于包括第一电子数和第二电子数在内的电子总数来计算变换后的像素值包括:
基于包括第一电子数和第二电子数在内的电子总数,计算中间像素值;以及
通过将所述中间像素值除以与所述模拟视觉传感器的模拟检测器相对应的物理检测器的增益,计算所述变换后的像素值。
28.根据权利要求27所述的方法,其中响应于所述除法导致溢出错误,计算变换后的像素值包括:
以预设长度截断除法结果;以及
基于截断的除法结果来计算变换后的像素值。
29.一个或多个非暂时性计算机可读存储介质,所述一个或多个非暂时性计算机可读存储介质上存储有可执行指令,当由系统的一个或多个处理器执行所述可执行指令时,使得所述系统执行以下操作:
生成虚拟环境的视觉数据,所述视觉数据由与模拟可移动物体相关联的模拟视觉传感器获得;
获得与所述模拟视觉传感器相对应的物理视觉传感器的一个或多个参数,所述一个或多个参数包括噪声相关参数;以及
对所生成的视觉数据进行变换以模拟所述一个或多个参数的效果。
30.一种视觉模拟服务器,所述视觉模拟服务器包括其上存储有可执行指令的一个或多个非暂时性计算机可读存储介质,当由所述服务器的一个或多个处理器执行所述可执行指令时,使得所述服务器执行以下操作:
生成虚拟环境的视觉数据,所述视觉数据由与模拟可移动物体相关联的模拟视觉传感器获得;
获得与所述模拟视觉传感器相对应的物理视觉传感器的一个或多个参数,所述一个或多个参数包括噪声相关参数;以及
对所生成的视觉数据进行变换以模拟所述一个或多个参数的效果。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/110555 WO2018107503A1 (en) | 2016-12-17 | 2016-12-17 | Method and system for simulating visual data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109996728A true CN109996728A (zh) | 2019-07-09 |
Family
ID=62557719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680091123.8A Pending CN109996728A (zh) | 2016-12-17 | 2016-12-17 | 用于模拟视觉数据的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190294742A1 (zh) |
CN (1) | CN109996728A (zh) |
WO (1) | WO2018107503A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111300412A (zh) * | 2020-02-28 | 2020-06-19 | 华南理工大学 | 一种基于虚幻引擎的控制机器人的方法 |
CN112182879A (zh) * | 2020-09-27 | 2021-01-05 | 恒大新能源汽车投资控股集团有限公司 | 一种包边模拟结果的获取方法、装置和电子设备 |
CN114347012A (zh) * | 2020-10-13 | 2022-04-15 | 欧特克公司 | 用于基于生成的机器人模拟的机器人控制的技术 |
US11501169B1 (en) * | 2019-04-30 | 2022-11-15 | X Development Llc | Compressed field response representation for memory efficient physical device simulation |
CN115361509A (zh) * | 2022-08-17 | 2022-11-18 | 上海宇勘科技有限公司 | 一种使用fpga模拟动态视觉传感器阵列的方法 |
CN117479027A (zh) * | 2023-11-07 | 2024-01-30 | 上海宇勘科技有限公司 | 基于sram的模拟动态视觉传感器阵列的方法 |
CN118175423A (zh) * | 2024-05-15 | 2024-06-11 | 山东云海国创云计算装备产业创新中心有限公司 | 一种焦距确定系统、方法、设备、介质及产品 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115686005A (zh) | 2016-06-28 | 2023-02-03 | 柯尼亚塔有限公司 | 训练自动驾驶系统的虚拟模型的系统及计算机执行方法 |
WO2019127233A1 (en) * | 2017-12-28 | 2019-07-04 | Intel Corporation | Methods and apparatus to simulate sensor data |
CZ310065B6 (cs) * | 2018-12-12 | 2024-07-10 | Tacticaware, S.R.O. | Prostorový detekční systém |
CN111579211B (zh) * | 2020-05-19 | 2022-09-30 | Oppo(重庆)智能科技有限公司 | 显示屏的检测方法、检测装置及计算机存储介质 |
US11797896B2 (en) * | 2020-11-30 | 2023-10-24 | At&T Intellectual Property I, L.P. | Autonomous aerial vehicle assisted viewing location selection for event venue |
US20230351819A1 (en) * | 2022-05-02 | 2023-11-02 | The Boeing Company | Machine and Process for Identifying Component Effect on Performance of a Vehicle |
CN118450265A (zh) * | 2023-12-29 | 2024-08-06 | 荣耀终端有限公司 | 图像处理方法及相关设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060018565A1 (en) * | 2004-07-26 | 2006-01-26 | Davidson Scott W | System and method for infrared sensor simulation |
CN101403620A (zh) * | 2008-09-10 | 2009-04-08 | 深圳市同洲电子股份有限公司 | 导航装置及方法 |
US20110301925A1 (en) * | 2010-06-08 | 2011-12-08 | Southwest Research Institute | Optical State Estimation And Simulation Environment For Unmanned Aerial Vehicles |
US20140340427A1 (en) * | 2012-01-18 | 2014-11-20 | Logos Technologies Llc | Method, device, and system for computing a spherical projection image based on two-dimensional images |
US9008366B1 (en) * | 2012-01-23 | 2015-04-14 | Hrl Laboratories, Llc | Bio-inspired method of ground object cueing in airborne motion imagery |
US9129185B1 (en) * | 2012-05-21 | 2015-09-08 | The Boeing Company | System and method for reducing image clutter |
US20160076892A1 (en) * | 2014-03-24 | 2016-03-17 | SZ DJI Technology Co., Ltd | Methods and systems for determining a state of an unmanned aerial vehicle |
WO2016049924A1 (en) * | 2014-09-30 | 2016-04-07 | SZ DJI Technology Co., Ltd. | Systems and methods for flight simulation |
US20160182831A1 (en) * | 2014-11-26 | 2016-06-23 | Visual Supply Company | Real-time perspective correction |
CN106094569A (zh) * | 2016-07-06 | 2016-11-09 | 西北工业大学 | 多传感器融合无人机感知与规避仿真系统及其仿真方法 |
US20160327950A1 (en) * | 2014-06-19 | 2016-11-10 | Skydio, Inc. | Virtual camera interface and other user interaction paradigms for a flying digital assistant |
WO2016187760A1 (en) * | 2015-05-23 | 2016-12-01 | SZ DJI Technology Co., Ltd. | Sensor fusion using inertial and image sensors |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9665800B1 (en) * | 2012-10-21 | 2017-05-30 | Google Inc. | Rendering virtual views of three-dimensional (3D) objects |
-
2016
- 2016-12-17 WO PCT/CN2016/110555 patent/WO2018107503A1/en active Application Filing
- 2016-12-17 CN CN201680091123.8A patent/CN109996728A/zh active Pending
-
2019
- 2019-06-14 US US16/441,878 patent/US20190294742A1/en not_active Abandoned
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060018565A1 (en) * | 2004-07-26 | 2006-01-26 | Davidson Scott W | System and method for infrared sensor simulation |
CN101403620A (zh) * | 2008-09-10 | 2009-04-08 | 深圳市同洲电子股份有限公司 | 导航装置及方法 |
US20110301925A1 (en) * | 2010-06-08 | 2011-12-08 | Southwest Research Institute | Optical State Estimation And Simulation Environment For Unmanned Aerial Vehicles |
US20140340427A1 (en) * | 2012-01-18 | 2014-11-20 | Logos Technologies Llc | Method, device, and system for computing a spherical projection image based on two-dimensional images |
US9008366B1 (en) * | 2012-01-23 | 2015-04-14 | Hrl Laboratories, Llc | Bio-inspired method of ground object cueing in airborne motion imagery |
US9129185B1 (en) * | 2012-05-21 | 2015-09-08 | The Boeing Company | System and method for reducing image clutter |
US20160076892A1 (en) * | 2014-03-24 | 2016-03-17 | SZ DJI Technology Co., Ltd | Methods and systems for determining a state of an unmanned aerial vehicle |
US20160327950A1 (en) * | 2014-06-19 | 2016-11-10 | Skydio, Inc. | Virtual camera interface and other user interaction paradigms for a flying digital assistant |
WO2016049924A1 (en) * | 2014-09-30 | 2016-04-07 | SZ DJI Technology Co., Ltd. | Systems and methods for flight simulation |
US20160182831A1 (en) * | 2014-11-26 | 2016-06-23 | Visual Supply Company | Real-time perspective correction |
WO2016187760A1 (en) * | 2015-05-23 | 2016-12-01 | SZ DJI Technology Co., Ltd. | Sensor fusion using inertial and image sensors |
CN106094569A (zh) * | 2016-07-06 | 2016-11-09 | 西北工业大学 | 多传感器融合无人机感知与规避仿真系统及其仿真方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11501169B1 (en) * | 2019-04-30 | 2022-11-15 | X Development Llc | Compressed field response representation for memory efficient physical device simulation |
CN111300412A (zh) * | 2020-02-28 | 2020-06-19 | 华南理工大学 | 一种基于虚幻引擎的控制机器人的方法 |
CN112182879A (zh) * | 2020-09-27 | 2021-01-05 | 恒大新能源汽车投资控股集团有限公司 | 一种包边模拟结果的获取方法、装置和电子设备 |
CN112182879B (zh) * | 2020-09-27 | 2024-04-19 | 恒大新能源汽车投资控股集团有限公司 | 一种包边模拟结果的获取方法、装置和电子设备 |
CN114347012A (zh) * | 2020-10-13 | 2022-04-15 | 欧特克公司 | 用于基于生成的机器人模拟的机器人控制的技术 |
CN115361509A (zh) * | 2022-08-17 | 2022-11-18 | 上海宇勘科技有限公司 | 一种使用fpga模拟动态视觉传感器阵列的方法 |
CN115361509B (zh) * | 2022-08-17 | 2023-05-30 | 上海宇勘科技有限公司 | 一种使用fpga模拟动态视觉传感器阵列的方法 |
CN117479027A (zh) * | 2023-11-07 | 2024-01-30 | 上海宇勘科技有限公司 | 基于sram的模拟动态视觉传感器阵列的方法 |
CN117479027B (zh) * | 2023-11-07 | 2024-05-24 | 上海宇勘科技有限公司 | 基于sram的模拟动态视觉传感器阵列的方法 |
CN118175423A (zh) * | 2024-05-15 | 2024-06-11 | 山东云海国创云计算装备产业创新中心有限公司 | 一种焦距确定系统、方法、设备、介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2018107503A1 (en) | 2018-06-21 |
US20190294742A1 (en) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109996728A (zh) | 用于模拟视觉数据的方法和系统 | |
US11263761B2 (en) | Systems and methods for visual target tracking | |
Xiang et al. | Mini-unmanned aerial vehicle-based remote sensing: Techniques, applications, and prospects | |
US10650235B2 (en) | Systems and methods for detecting and tracking movable objects | |
CN108351649B (zh) | 用于控制可移动物体的方法和设备 | |
CN108351653B (zh) | 用于uav飞行控制的系统和方法 | |
CN205263655U (zh) | 一种用于自动生成全景照片的系统、无人飞行器及地面站 | |
CN108605098B (zh) | 用于卷帘快门校正的系统和方法 | |
CN105045279A (zh) | 一种利用无人飞行器航拍自动生成全景照片的系统及方法 | |
CN107637064A (zh) | 用于图像处理的方法和设备 | |
US20200012756A1 (en) | Vision simulation system for simulating operations of a movable platform | |
CN111275015A (zh) | 一种基于无人机的电力巡线电塔检测识别方法及系统 | |
US20210009270A1 (en) | Methods and system for composing and capturing images | |
CN114332385A (zh) | 一种基于三维虚拟地理场景的单目相机目标检测与空间定位方法 | |
CN107767443A (zh) | 一种基于Unity3D的三维可视化实景展示方法 | |
CN116597155B (zh) | 基于多平台协同计算模式的林火蔓延预测方法和系统 | |
Spicer et al. | Producing usable simulation terrain data from UAS-collected imagery | |
WO2020225979A1 (ja) | 情報処理装置、情報処理方法、プログラム、及び情報処理システム | |
Andrade et al. | Virtual reality simulation of autonomous solar plants inspections with unmanned aerial systems | |
CN114637306A (zh) | 无人机视觉导航策略方法、装置和介质 | |
Kuse et al. | Deep-mapnets: A residual network for 3d environment representation | |
Radford | Best Practices when Using Multi-Rotor Consumer UAVs for Photogrammetric Mapping: Limitations and Possible Solutions | |
US12131503B1 (en) | Virtual creation and visualization of physically based virtual materials | |
Liu et al. | Rotation correction-based neural radiance fields for multiview satellite images | |
Zhang et al. | UAV‐Based Gigapixel Panoramic Image Acquisition Planning with Ray Casting‐Based Overlap Constraints |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190709 |