CN109144095A - 用于无人驾驶飞行器的基于嵌入式立体视觉的障碍躲避系统 - Google Patents
用于无人驾驶飞行器的基于嵌入式立体视觉的障碍躲避系统 Download PDFInfo
- Publication number
- CN109144095A CN109144095A CN201810754499.3A CN201810754499A CN109144095A CN 109144095 A CN109144095 A CN 109144095A CN 201810754499 A CN201810754499 A CN 201810754499A CN 109144095 A CN109144095 A CN 109144095A
- Authority
- CN
- China
- Prior art keywords
- stereo
- picture
- dense
- sampling
- point diagram
- 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
- 238000010586 diagram Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000005070 sampling Methods 0.000 claims abstract description 51
- 238000001514 detection method Methods 0.000 claims abstract description 33
- 238000009966 trimming Methods 0.000 claims abstract description 7
- 230000004888 barrier function Effects 0.000 claims description 30
- 230000000007 visual effect Effects 0.000 claims description 15
- 230000006399 behavior Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 18
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 17
- 238000012545 processing Methods 0.000 description 11
- 230000001052 transient effect Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000000429 assembly Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000005036 potential barrier Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 206010020675 Hypermetropia Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000000465 moulding Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- 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/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
- G06T7/596—Depth or shape recovery from multiple images from stereo images from three or more stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/13—Satellite images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- 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/10—UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20132—Image cropping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Astronomy & Astrophysics (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
提供了无人驾驶飞行器利用嵌入式立体视觉技术实现的自动障碍躲避系统的多个实例。一方面,公开了用于执行自动障碍检测和躲避的无人驾驶飞行器,包括连接到一个或多个处理器及存储器的立体视觉摄像机组;该立体视觉摄像机组用于获取一序列立体图像;还包括立体视觉模块,用于接收由一对立体视觉摄像机捕捉的一对立体图像;对该对立体图像执行边框裁剪操作,以获得一对已裁剪立体图像;对该对已裁剪立体图像执行下采样操作,以获得一对下采样立体图像;以及对该对下采样立体图像执行稠密立体匹配操作,以生成对应于该对立体图像的空间的稠密三维点图。
Description
技术领域
本申请一般涉及机器视觉,更具体而言,涉及用于针对无人驾驶飞行器(UAV)或无人机执行有效的障碍躲避飞行控制的系统、设备和技术。
背景技术
近来,民用和商用无人驾驶飞行器(UAV)或无人机(一种微型无人驾驶飞机)备受欢迎并且已在全球范围内获得商业上的成功。无人驾驶飞行器或无人机通常由遥控和/或软件控制,并且利用由多旋翼等生成的空气动力效应在天空中机动飞行,在保持较高稳定性的同时执行已设计的功能,例如监控和包裹邮递。民用UAV或无人机的最受欢迎的应用之一在于航拍,即在被拍照对象上方的有利位置拍摄静止图片或者录制视频。最新推出的民用无人机通常质量较轻且易于控制,从而任何用户都可以安全地操作该无人机。除手动控制功能外,一些高端民用无人机还配备有障碍检测和躲避功能,这些功能为UAV操作提供了必要并附加的安全保障。这些功能使得无人机在障碍物面前停止飞行,或者在必要情况下自动改变飞行路径绕过该障碍物飞行。
人们已经研发出多种基于传感器的障碍物传感技术,用于检测和躲避无人机的障碍物。根据应用的不同,可以采用多种传感器估计飞行中的无人机前方的障碍物的距离或深度,这些传感器可单独使用或者与其他传感器结合使用。例如,飞行时间测距传感器可测量距离可精确至两米;而更昂贵的LIDAR传感器可以检测到二百多米范围内的障碍物。与上文所述及其他类型的传感器相比,采用立体视觉技术可以获取较大的检测范围(达15米)及较低的制作成本。因此,配备有基于立体视觉的障碍躲避特征的无人机已经受到广泛欢迎,例如大疆的精灵PHANTOM 4。
立体视觉系统通常根据两个具有略不同视角的摄像机捕捉的一对图像(也称之为“立体图像”),以计算三维(3D)信息。基于捕捉的图像估计3D信息的关键步骤之一在于“立体匹配”。立体匹配的目的在于构建一对立体图像中的点对之间的对应性。基于匹配的点对,可计算出视差图。一旦获得该视差图,就可以通过三角法利用该视差图快速获得深度信息和3D信息。其中一个有效的立体匹配技术为半全局块匹配(SGBM)(见赫希穆勒(Hirschmuller)发表的“通过半全局匹配和互信息执行精确且高效的立体视觉处理(Accurate and efficient stereo processing by semi-global matching and mutualinformation)”,IEEE计算机学会计算机视觉和模式识别会议论文集,2005年第807-814页),该SGBM可生成稳健的稠密立体匹配结果。然而,该SGBM对于诸如无人机的计算资源有限的嵌入式系统而言计算成本太高。例如,通过一些实验证明,在RK339上(采用两个ARMCortex-A72CPU的六核高性能嵌入式平台)利用SGBM技术对一对640×480分辨率图像执行的立体匹配操作,只能以约4.3帧每秒(fps)的速度运行。为了在嵌入式系统中加速执行该基于SGBM的立体匹配操作,可以采用现场可编程门阵列(FPGA)在硬件上执行SGBM操作。该技术在计算752×480像素分辨率的图像的稠密视差图时的处理速度为60fps。然而,在嵌入式系统中采用专用FPGA不可避免地会增加系统的整体成本。
不同于以高硬件成本生成稠密视差图的技术,高效“推扫式立体”技术被用于高速自动障碍检测和躲避(参考Barry等人发表的“推扫式立体视觉高速自动避障(High-speedautonomous obstacle avoidance with pushbroom stereo)”,野外机器人杂志,第35卷,第1期,第52-68页,2018年)。不同于对每个图像帧执行稠密立体匹配,该推扫式立体技术仅搜索立体匹配的单个深度值(以固定的距离)。然后通过将无人机的里程数据和先前确定的单差距结果结合,恢复当前搜索结果之外的丢失深度信息。接下来,将该推扫立体结果与基于模型的控制系统结合,从而在自然环境下实现高速飞行(10-14m/s),同时自动躲避如树等障碍物。不乐观的是,该推扫立体技术为了实现高速而牺牲了可靠性。如果没有该稠密视差图,则该技术在一些简单障碍环境中表现良好,但是在更加复杂的障碍环境中则表现不佳。
因此,需要一种不具有上述问题的相对低复杂度、低成本,同时又具高速、高可靠性的障碍检测和躲避系统和技术。
发明内容
本申请描述的实施例提供了多个实例,阐述了利用嵌入式立体视觉技术实现的无人驾驶飞行器的自动障碍躲避系统。一方面,公开了一种无人驾驶飞行器(UAV),该无人驾驶飞行器可执行自动障碍检测和躲避。该UAV包括一个或多个处理器;与该一个或多个处理器连接的存储器;连接到该一个或多个处理器及该存储器的立体视觉摄像机组;该立体视觉摄像机组用于获取一序列立体图像;该UAV还包括一个立体视觉模块,该立体视觉模块用于:接收由一对立体视觉摄像机捕捉的一对立体图像;对该对立体图像执行边框裁剪操作,以获得一对已裁剪立体图像;对该对已裁剪立体图像执行下采样操作,以获得一对下采样立体图像;以及对该对下采样立体图像执行稠密立体匹配操作,以生成对应于该对立体图像的空间的稠密三维(3D)点图。
利用已裁剪并下采样的立体图像执行稠密立体匹配可显著提高该稠密立体匹配操作的速度。
在一些实施例中,在对该对下采样立体图像执行该稠密立体匹配操作之前,该立体视觉模块对该对下采样立体图像执行校正操作,以消除图像畸变并利用该其中一个摄像机在该立体视觉系统中的位置为该3D点图创建空间参考。
在一些实施例中,在生成稠密3D点图之后,该立体视觉模块对该稠密3D点图执行噪声消除操作,从而消除来自计算出的3D点图的空间中的弱纹理区域产生的噪声。
在一些实施例中,该立体视觉摄像机组用于在该UAV飞行期间捕捉该UAV的飞行环境。
在一些实施例中,该UAV还包括连接到立体视觉模块的障碍检测模块,并用于采用已获得的稠密3D点图检测该UAV的障碍物。
在一些实施例中,该UAV还包括连接到该障碍检测模块和立体视觉模块的障碍躲避模块,并用于在检测出障碍时,利用已获得的稠密3D点图为该UAV作出障碍躲避决策。
附图说明
通过阅读下文详细描述和各个附图,可以理解本申请的结构和操作,在附图中,相同的附图标记表示相同的部件,其中:
图1示出了根据本申请一些实施例的包括UAV、用户和障碍物的示例性无人机飞行环境;
图2示出了根据本申请一些实施例中,如图1中的障碍检测和躲避系统的示例性实施过程;
图3显示了根据本申请一些实施例的障碍躲避系统的立体视觉模块的示例性实施过程的块状图;
图4显示了根据本申请一些实施例中的全尺寸输入左摄像机图像的立体视觉模块的效果图;
图5显示了根据本申请一些实施例中的用于在3D点图中检测障碍的基于网格的3D点图采样技术;
图6显示了根据本申请一些实施例的用于基于3D点图执行障碍检测的过程的流程图;
图7显示了根据本申请一些实施例的用于基于3D点图执行障碍检测和障碍躲避机动飞行的过程的流程图;
图8描述了根据本申请一些实施例中的示例性嵌入式视觉系统,本申请公开的障碍检测和躲避系统和技术可以在该系统内实现。
具体实施方式
下文的详细描述旨在作为主题技术的各种配置的描述,并不旨在表示可以实施主题技术的唯一配置。附图包含在本文中,并构成详细描述的一部分。详细描述包括用于旨在全面理解主题技术的具体细节。然而,主题技术不仅限于本文所阐述的具体细节,没有这些具体细节也有可能实施。在某些情况下,结构和组件以框图的形式示出,以避免使主题技术的概念变得模糊。
本申请描述的实施例提供了多个实例,阐述了利用嵌入式立体视觉技术实现的无人驾驶飞行器的自动障碍躲避系统。除了现有的稠密立体匹配技术,本申请公开的障碍躲避系统旨在在通用嵌入式平台中执行快速稠密立体匹配。本申请公开的障碍躲避系统包括用于执行3D点图估计的立体视觉模块,以及基于该3D点图估计用于更新飞行状态的飞行控制模块。同时,本申请公开的障碍躲避系统不需要FPGA来执行稠密立体匹配操作,从而多种应用环境中的很多通用嵌入式平台可以采用该系统。该障碍躲避系统为UAV、无人机以及其他自驾车提供了有效的障碍躲避方案。此外,本申请提出的障碍躲避系统可获取稠密立体匹配结果的能力使得该系统可以在更加复杂的环境中(例如具有树、墙壁和其他具有纹理结构的物体的环境中)执行障碍躲避操作。
图1示出了根据本申请一些实施例的包括无人机102、用户104和障碍物112的示例性无人机飞行环境100。从图1可以看出,用户104利用一手持设备,即地面控制器106控制该无人机102的飞行。该无人机102包括通过万向架110安装于该无人机102上的一对立体视觉摄像机108。在一些实施例中,该万向架110为三维架,从而该立体视觉摄像机108可以在三个维度上自由移动。用户104可利用地面控制器106控制该摄像机万向架110,从而该立体视觉摄像机108可以瞄准该用户104选定的位置或目标。在飞行过程中,该无人机102上的机载立体视觉摄像机108以给定帧率捕捉一序列立体视觉图像。
该用于执行障碍检测和躲避功能的系统可在嵌入到无人机102的平台(例如片上系统(Soc))上实现。在图1所示的实施例中,本申请公开的障碍检测和躲避功能可作为障碍检测和躲避系统114(或者如图1中所示的,简单称之为“系统114”),在无人机102上运行。在一些实施例中,当无人机102在飞行环境100中飞行过程中,该无人机102执行自动障碍检测和躲避操作,例如首先检测,然后自动避免与占用该无人机102飞行路径的树112碰撞,而无需要用户104干预。
图2示出了根据本文描述的一些实施例,图1中的障碍检测和躲避系统(或“障碍躲避系统”)114的示例性实施过程200。从图2中可以看出,障碍躲避系统200包括多个功能模块用于执行多种功能,这包括但不限于执行三维(3D)点图估计、执行障碍检测以及控制障碍躲避机动飞行。障碍躲避系统200与无人机102整合,从而有利于处理接收到的立体视觉图像、检测该已处理立体视觉图像中的障碍物、在正常飞行情况下以及当检测到该无人机102的飞行路径中存在障碍物的情况下控制该无人机102的飞行。然而,本申请所公开的障碍躲避系统200也可以应用在其他嵌入式平台,以执行障碍检测和躲避功能。这些其他嵌入式平台包括但不限于机器人系统、自动驾驶车辆和无人车。
需要说明,该障碍躲避系统200至少包括立体视觉模块202和飞行控制模块202。立体视觉模块202接收当前飞行环境的多对立体图像206,其中该立体图像206由立体视觉摄像机108内的两个摄像机捕捉。立体视觉模块202用于处理当前飞行环境的一对立体图像206,并生成3D点图208,该3D点图208将当前飞行环境中的对象(如图1中的树112)的相对位置编码到无人机102中。随着在当前环境中接收到更新的立体图像206,持续对该3D点图进行更新,从而保持随时跟进。
飞行控制模块204与立体视觉模块202的输出连接,用于接收由一序列立体视觉图像206生成的一序列3D点图208。飞行控制模块204还连接到一组飞行状态传感器210中,用于接收无人机102的当前飞行状态212,其中该当前飞行状态212包括飞行状态数据,例如由飞行状态传感器210测量得出的速度、俯仰角、横摇角。该飞行控制模块204还连接到地面控制器106,并通过该地面控制器106接收来自于用户104的输入飞行命令214。飞行控制模块204用于将当前飞行状态212与当前3D点图208结合,以生成更新的飞行命令216。在一些实施例中,更新后的飞行命令216包括该无人机的更新速度、加速度、俯仰角、横摇角。该无人机102然后利用更新后的飞行命令216生成更新的飞行状态218,包括控制该无人机102保持当前的飞行路径,或者执行障碍躲避机动飞行。需要说明,由于该无人机在接收到自动操作命令之后同样会执行障碍躲避,因此,该地面控制器106并不是该障碍躲避系统200的必要部分。下文将会提供该障碍躲避系统200的更加详细的实施例。
立体视觉模块实施过程
如上文所描述的,立体视觉模块202用于接收当前环境中的一序列立体图像,并利用如SGBM等稠密立体匹配技术生成一序列3D点图。为了在不采用专用FPGA的前提下,有效地在资源有限嵌入式系统中执行SGBM,本申请对传统的稠密立体匹配技术进行了大量的改进/修改。图3显示了根据本申请一些实施例,图2所示的障碍躲避系统200的立体视觉模块202的示例性实施方式300的块状图。从图3中可以看出,立体视觉模块200包括依描述次序连接的边框裁剪子模块302、下采样子模块304、校正子模块306以及立体匹配子模块308。立体视觉模块300接收立体视觉图像310,并将该立体视觉图像310作为输入;并生成3D点图320,并将该3D点图320作为输出。
在一些实施例中,该边框裁剪子模块302用于裁剪掉图像边框,从而将每个全尺寸输入图像310中对应于不在无人机飞行路径的区域移除。该边框裁剪子模块302的输出为已裁剪立体图像314。接下来,将下采样子模块304应用于该已裁剪立体图像314中,从而降低图像的分辨率,并输出下采样立体图像316。该边框裁剪子模块302和该下采样子模块304的设计目的均为通过减小图像的像素数量,从而提高后续稠密立体匹配操作的速度。接下来,该校正子模块306对该下采样立体图像316执行校正操作,从而消除由于摄像机透镜的物理参数而导致的图像畸变,并利用该立体摄像机的左摄像机的中心或右摄像机的中心作为校正参考,为未来3D点图创建空间参考。校正子模块306输出已校正下采样立体图像318。
接下来,该立体视觉模块300的立体匹配子模块308对该已校正下采样立体图像318执行立体匹配操作,并为该下采样立体图像的每个帧生成3D点图320。在计算后的3D点图中,每个像素对当前飞行环境中一个点的3D坐标进行编码。如果该校正是以左摄像机为标准处理的,则该3D点图的坐标帧以左摄像头的中心为中心。此外,一给定3D点处的3D坐标的Z轴对应于该点的深度,即该点与该无人机前方物体之间的估计距离。
在一些实施例中,在生成3D点图之后,该噪声移除模块(图中未示出)用于移除弱纹理的区域(例如计算后的3D点图中的天空)产生的噪声。在该立体视觉模块300的实施例的一些变体中,根据该系统的计算能力,可以省略该两个子模块302和304中的一个子模块。现在我们更加详细地描述立体视觉模块300中的每个子模块。
对于大多数无人机障碍躲避应用,没有必要为一对立体视觉图像310中的每个像素计算3D点图。这是由于图像边框周围的像素极有可能对应于不属于无人飞行路径的环境区域。因此,可以在处理这些立体图像之前,裁剪掉该初始立体图像的边框区域。已裁剪立体图像明显小于该输入图像,从而显著提高了处理速度。在一些实施例中,可通过一个或多个参数控制边框裁剪子模块302,这些参数包括裁剪率α,该α的值介于0到1之间。采用裁剪率α意味着保留该图像像素(即纵向和纵向方向上)中占比为α(例如α=0.5或50%)的内部部分,而裁剪掉该占比α的内部部分以外的图像像素。在一些实施过程中,将α设置为0.75可以提高立体匹配的效率,同时不会丢失到太多潜在障碍物相关信息。
在传统的稠密立体匹配技术中,首先校正左摄像机到右摄像机的立体图像,从而消除由该摄像机透镜的物理参数导致的图像畸变。接下来,可以采用如SGBM等的稠密立体匹配操作以获得更加精确的立体匹配搜索。然而,图像校正和SGBM均为具有高度计算复杂度的操作,相关的计算时间极易受输入图像分辨率的影响。采用下采样子模块304的目的在于将图像分辨率降低到一定程度,从而加速立体匹配过程的同时不至于明显降低立体匹配的精确度。在立体视觉模块300中,以参数β对裁剪子模块302输出的已裁剪立体图像314进行下采样,从而进一步减小该立体图像的大小。该下采样参数β控制该3D点图的最终密度,并且可明显影响该立体匹配子模块308的立体匹配操作的速度。针对给定的无人机系统和飞行环境,可以根据经验确定参数β的值。在一些无人机系统配置中,采用β>0.25可以生成较小的3D点图,同时该3D点图的大小又足够使飞行控制模块204做出精确的障碍躲避决定。
在本申请公开的立体视觉模块300中,可以基于当前的飞行环境和无人机嵌入式平台的计算能力,动态地改变边框裁剪参数α和/或下采样参数β。基本上,α越大,则表示保留的图像边框附近的图像信息越多;而β越大,则表示该3D点图的分辨率越高。通常来讲,为了在更复杂的环境中检测如树等的障碍物,采用更大的α和更大的β可以增加障碍检测的精确度。然而,相关嵌入式平台的计算能力会影响到α和β的设置。在一些实施例中,可以在无人机飞行过程中灵活动态地调整参数α和β的值。换言之,无人机用户可以实时修改α和β的值,然后修改后的α和β值会更新到立体视觉模块300中,从而基于新的裁剪率和图像分辨率生成3D点图。回到图2,在一些实施例中,本申请公开的障碍躲避系统200可实时监控该3D点图的计算速度。当该α和β的设置已经导致计算速度降至特定处理阈值(例如15fps)以下,则该立体视觉模块202会拒绝当前α和β的设置,并将这些参数重设为默认值。
图4显示了根据本申请一些实施例中全尺寸输入左摄像机图像400的立体视觉模块300的效果图。从图4中可以看出,输入左摄像头图像400(包括垃圾桶和墙壁)经边框裁剪子模块302处理变成中心部分裁剪图像402;然后由下采样子模块304对该已裁剪图像402进行处理后减小到更小的子图像404。然后,校正模块306(未示出)和立体匹配模块308对该子图像404进行处理,以生成对应的3D点图406。
而很多立体匹配技术的固有缺陷在于其通常在弱纹理区域处无法正常工作。SGBM技术考虑到全局信息并执行视差一致性核查,从而在一定程度上减少了在弱纹理区域中失配的情况。然而,在无人机飞行过程中通常会观察到如天空等较大的弱纹理区域,因此会对该飞行控制模块204带来噪声(例如较大的3D值),从而导致误报警。对于由于天空导致的噪声点,由于对应的像素极有可能显示在图像的上部并且对应的像素色值通常接近于蓝色,因此可以采用经验技术移除该噪声点。具体地,对于一定给定的彩色图像,当输入图像中给定像素位置处的蓝色通道大于预先确定的强度值(例如200)并且该像素位于图像的上部(例如该图像上方25%部分内),本申请公开的噪声移除技术可将该输入图像中的该像素划分为天空。通过这种方式,本申请公开的噪声移除技术可以在较大的弱纹理区域内检测到绝大多数或者所有的点,然后在对应的3D点图中移除对应于被检测到的像素对应的点。需要说明,本申请公开的噪声移除技术可应用于立体视觉模块300的另一功能子模块,更具体地,位于立体匹配子模块308之后,用于接收3D点图320。在通过该噪声移除子模块后,基本移除天空后的3D点图可被传送至该障碍躲避系统200中的飞行控制模块204。
飞行控制模块实施过程
根据上文结合图2所描述的,本申请公开的飞行控制模块204首先在(该立体视觉模块202获得的)3D点图中检测潜在的障碍,然后将该障碍信息与该无人机的当前飞行状态(例如速度)结合,从而计算出该无人机的更新飞行命令。本申请公开的飞行控制模块既可应用于手动无人机飞行控制模式,也可应用于自动飞行模块。在一些实施例中,当飞行控制模块204检测到障碍物时,则该飞行控制模块204更新用户控制命令或者预设自动命令,从而指示该无人机执行障碍躲避机动飞行。
基于3D点图的障碍检测
图5显示了根据本申请一些实施例中的用于在3D点图中检测障碍的基于网格的3D点图采样技术。从图5中可以看出,3D点图500由8×6个统一形状的网格覆盖,其中该网格由横向线和纵向线形成。在每个网格点(如图中所示的圆点)中,可以基于该网格点附近的一个或多个3D点获得该网格的3D坐标。获得的3D坐标表示该采样3D点在该初始输入图像中相对于该摄像机/无人机的位置。图5中的的坐标是以米计量的,并将左摄像机的中心位置作为原点(0,0,0),而x,y,z轴分别对应于于右侧、上方和前(垂直于纸平面)方。
图6显示了根据本申请一些实施例的用于基于3D点图执行障碍检测的过程的流程图。如图5中所提到的,该过程可以利用基于网格的技术,利用均匀采样的网格点的3D位置检测潜在障碍。采用采样3D点而非所有的计算出的3D点的目的在于,生成的3D点图中的初始点分布可能是失衡的。如上文所描述的,该过程可以通过障碍躲避系统200中的飞行控制模块204执行。
该过程首先接收基于一对处理过的立体图像生成的3D点图(步骤602)。然后,该过程将均匀采样的网格置于该3D点图中(步骤604)。在一些实施例中,均匀的M×N(例如16×12)网格用于采样该3D点图。接下来,该过程检查每个网格点的3D坐标是有效的(步骤606)。该“检查”是有必要的,这是因为如果未找到这些点的立体匹配,则该SGBM会返回具有无效深度的点。对于具有无效坐标的每个网格点(例如图5中的网格点502),该过程在附近区域内检索该网格点的有效3D点(步骤608)。在一些实施例中,如果该网格点附近的像素对应的所有3D点均为无效的,则将该网格点设定为无效。如果该网格点具有有效的深度值,则该过程接下来确定该网格点是否位于该无人机的飞行路径上,以及该深度是否小于预先确定的阈值(步骤610)。如果小于,则将该网格点视为潜在的障碍(步骤612)。在一些实施例中,采样之后,本申请公开的飞行控制技术进一步处理该采样3D点,从而计算出更新的飞行命令。因此,在飞行过程中,该立体匹配模块202连续生成3D点图,这些3D点图随后被连续采样并与该无人机的当前飞行状态结合,从而为执行障碍躲避机动飞行作出决策。
图7显示了根据本申请一些实施例的用于基于3D点图执行障碍检测和障碍躲避机动飞行的过程的流程图。在该过程中,应用到三种障碍躲避机动飞行:制动、停止以及水平躲避。当接收到采样3D点图时,可开始该过程(步骤702)。接下来,该过程通过对出现在该无人机飞行路径的障碍点进行计数,执行制动操作(步骤704)。在一些实施例中,如果某一点的深度小于预先确定的深度值(例如8m),并且该点的(x,y)位置位于具有预先确定尺寸(例如2m×2m)并垂直于该无人机的飞行路径的窗口内,则确定该点为潜在障碍。在一些实施例中,根据该无人机的速度、无人机的大小以及当前环境的复杂度动态地确定该窗口的大小。
接下来,该过程确定是否存在多于预先确定数量的潜在障碍点(例如>30),以及该无人机的当前速度是否大于预先确定的值(例如1m/s)。如果是,则检测出障碍,并且该过程向该无人机发出制动命令。在检测出该障碍并且该无人机已经开始制动后,该过程继续处理新的3D点图,并且根据该新的3D点图作出下一个障碍决策。在该点,该过程具有两个选择:使该无人机进一步制动并停止在障碍前方;或者执行水平绕开操作,如飞到该障碍的左方或右方。当存储多于30个点并且深度少于5m,则作出该决策。为了在更大的范围内考虑整体环境,需要检查所有当前采样点(不仅仅是落入到飞行窗口内部的点),并且当当前点图的左右两侧均出现足够数量(多于30个点)的障碍物的情况下,命令该无人机停止。如果该点图的一侧具有少于30个障碍点,则该无人机会飞向具有较少障碍点的一侧,从而绕过该障碍物。在任何情况下,如果在飞行路径上具有多于30个深度小于2m的点,则该无人机采取紧急停止操作,从而避免发生撞击。该算法在每一帧中运行,并自动更新飞行状态。在手动控制模式中,该停止命令会盖写用户输入的向前移动命令,从而强制该无人机停在障碍物前。
用例
本申请公开的障碍躲避系统200可以广泛应用于配置有广泛可选空间的处理器的嵌入式系统中,例如SoC上的基于ARM系统。在一特别实施过程中,该障碍躲避系统200可在派若特S.L.A.M邓克(dunk)(或“Slamdunk”)(见于https://www.parrot.com/hu/en/business-solutions/parrot-slamdunk)嵌入式系统中实现,其中该嵌入式系统包括TK1(图睿K1)处理器。该slamdunk无人机系统具有内置立体摄像机组,该内置立体摄像机组由两个水平安装并具有20cm基线斜距的高分辨率鱼眼摄像头构成。该立体摄像机组可以生成60fps的分辨率达960p的同步立体图像。该TK1处理器包括4核ARM Cortex-A15 2.3GHZCPU。用于测试目的,本申请公开的障碍躲避系统200可以在TK1处理器上实现,其中该处理器采用Slamdunk捕捉的立体图像。为了测试该系统的通用性,本申请公开的立体视觉模块还在RK3399主板上进行了测试,该主板由具有双2.0GHz CPU集群的六核处理器供电:其中一个集群容纳两个Cortex-A72内核,另一个集群容纳四个Cortex-A53内核。对于软件环境,本申请公开的障碍躲避系统200在机器人操作系统(ROS)下实现。然而,本申请公开的障碍躲避系统200还可以在其他开源操作系统下实现。
对于具有640×480像素分辨率的Slamdunk捕捉的常规图像,当采用α=0.75进行边框裁剪并且在Slamdunk上设置β=0.25或者在RK3399上设置β=0.5时,3D点图生成速度在Slamdunk上达到20.8fps,而在RK3399上达到21.6fps,与在RK3399上使用完整图像相比,性能分别提升了5.1和5.3倍。通过比波普(Bebop)无人机以2m/s的速度朝向各种障碍物飞行为例对该飞行控制模块进行测试。实验表明,该无人机可以成功地执行各种障碍机动飞行。当飞向较大的障碍(如墙壁、灌木和树冠)时,该无人机首先制动,然后停止在该障碍前方。当飞向较薄或较小的物体(例如街道灯杆)时,该无人机制动,并飞向该障碍的左侧或右测,并绕过该障碍继续向前飞行。实验表明,本申请公开的立体视觉系统可以在常用嵌入式平台上实现实时性能,并且本申请公开的障碍躲避系统可以在无人机以2m/s以上的速度飞行过程中有效地躲避障碍物(例如墙和树)。
图8描述了示例性嵌入式视觉系统800(下文还将其称为“嵌入式系统800”);根据本申请一些实施例,本申请公开的障碍检测和躲避系统和技术可以在该系统800内实现。嵌入式系统800可以与无人机、UAV或者自驾车集成或者通过该无人机、UAV或者自驾车实现。从图8中可以看出,嵌入式系统800包括总线802、处理器804、存储器806、存储装置808、立体视觉摄像机810、输入装置接口812、输出装置接口814以及网络接口816。
总线802集中表示可通信连接嵌入式视觉系统800的各种组件的所有系统、外围装置以及芯片组总线。例如,总线802可将处理器与存储器806、存储装置808、立体视觉摄像机810、输入装置接口812、输出装置接口814,以及网络接口816通信连接。
处理器804从这些存储单元中取回指令予以执行并取回数据予以处理,以便执行本申请公开的多个过程、技术和功能,这包括本申请结合图2-7描述的视觉对象跟踪系统和技术的多个实施例。具体地,处理器804利用存储器806存储的程序和代码,基于接收到的立体视觉图像执行本申请公开的多种障碍检测和躲避操作。处理器804包括任何类型的处理器,这包括但不限于通用处理器、图形处理器(GPU)、张量处理器(TPU)、智能处理器(IPU)、数字信号处理器(DSP)、专用集成电路(ASIC),现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或其任何用于执行本申请公开的功能的上述组合。通用处理器可以是微处理器,但是在备选方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。此外,处理器804可以包括一个或多个核。处理器804本身可以包括用于存储代码和数据的高速缓存,供处理器执行。在嵌入式系统800的低端UAV实施中,处理器804至少包括四核ARM Cortex A7处理器以及Mali 400MP2 GPU。
存储器806可以包括可存储代码和数据以供处理器804执行的任意类型的存储器。具体地,处理器806可以存储程序和代码,这些程序和代码可以执行本申请公开的多个过程、技术和功能,这包括本申请结合图2-7描述的障碍检测和躲避系统和技术的多个实施例。存储器806可用于接收并缓存由摄像机810捕捉的视频帧。这类存储器包括但不仅限于动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、只读存储器(ROM)以及现在已知或以后开发的任何其他类型的存储器。
存储装置808可包括可以与嵌入式系统800集成的任意类型的非易失性存储装置。这包括但不限于磁性、光学,以及磁光存储装置,以及基于闪存和/或带蓄电池后备电源的存储器的存储装置。
总线802还连接到摄像机810。摄像机810被配置成以预定的分辨率捕捉静止图像和/或视频图像序列,并通过总线802,将捕捉到的图像或视频数据传送到嵌入式系统800内的各种组件,诸如连接到存储器806供缓冲,并连接到处理器804供视觉对象跟踪使用。摄像机810包括一个或多个数字摄像机。在一些实施例中,摄像机810包括一个或多个配置有广角镜头的数字摄像机。该摄像机810捕捉的视频帧可具有不同的分辨率,这包括1280*720p、1920*1080p或者其他更高或更低的分辨率。
总线802还连接到输入装置接口812。输入装置接口812可以使用户与计算机系统交换信息并发送命令。与输入装置接口812结合使用的输入装置接口例如包括触摸屏显示器、字母数字键盘和定点设备(也称为“光标控制设备”)。
同样与总线802连接的输出装置接口814例如可以实时显示对象跟踪结果,例如,正在被跟踪的目标对象以及由处理器804生成的相关边框框。与输出装置接口120一起使用的输出装置例如包括打印机和显示装置,诸如阴极射线管显示器(CRT)、发光二极管显示器(LED)、液晶显示器(LCD)、有机发光二极管显示器(OLED)、等离子体显示器或电子纸。
最终,如图8所示,总线802还通过网络接口816将嵌入式系统800连接到网络(未示出)。通过这种方式,嵌入式系统800可以作为网络(诸如局域网(“LAN”)、广域网(“WAN”),或内联网,或网络的网络,诸如因特网)的一部分。该嵌入式系统800的任一或所有部件都可以结合本申请公开主题使用。
这里所公开的各实施例所描述的各种说明性逻辑块、模块,电路、以及算法步骤,可以作为电子硬件、计算机软件或两者的组合来实现。为清楚地显示硬件和软件的此互换性,上文已经一般就其功能而言描述了各种说明性组件、单元、模块、电路,以及步骤。此类功能集是被实现为硬件还是软件取决于具体应用和整体系统的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能集,但此类设计决策不应被解释为能够脱离本公开的范围。
用于实现与本文所公开的各方面一起所描述的各种说明性逻辑、逻辑块、模块、以及电路的硬件可以与通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)或其他可编程逻辑器件,单独的栅极或晶体管逻辑、单独的硬件组件,或被设计为执行本文所描述的功能的其任何组合,来实现或执行。通用处理器可以是微处理器,但是在备选方案中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器也可以作为接收器装置的组合来实现,例如,DSP和微处理器的组合、多个微处理器、和DSP核一起的一个或多个微处理器,或任何其他这样的配置。可另选地,一些步骤或方法可以由给定功能特定的电路来执行。
在一个或更多示例性方面,所描述的功能可以以硬件、软件、固件,或其任何组合来实现。如果以软件来实现,则功能可以作为一个或多个指令或代码存储在非暂态的计算机可读取的存储介质上或非暂态的处理器可读取的存储介质上。本文所公开的方法或算法的步骤可以以能够驻留在非暂态的计算机可读取的或处理器可读取的存储介质上的处理器可执行指令来具体化。非暂态的计算机可读取的或处理器可读取的存储介质可以是能够被计算机或处理器访问的任何存储介质。作为示例但不作为限制,这样的非暂态的计算机可读取的或处理器可读取的存储介质可包括RAM、ROM、EEPROM、闪存、CD-ROM或其他光盘存储器、磁盘存储器或其他磁存储装置,或可以用来存储指令或数据结构形式的所需要的程序代码并可以被计算机访问的任何其他介质。如本文所使用的磁盘和光盘包括压缩光盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘,以及蓝光盘,其中,磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。上述各项的组合也包括在非暂态的计算机可读取的和处理器可读取的介质的范围内。另外,方法或算法的操作可以作为一个代码和/或指令或代码和/或指令的任何组合或组,驻留在非暂态的处理器可读取的存储介质和/或计算机可读取的存储介质上,存储介质可以被包括到计算机程序产品中。
尽管本专利文件包含许多细节,但是,这些不应该被解释为对任何所公开的技术的或要求保护的东西的范围的限制,而是作为对特定的技术的特定实施例的特定的特征的描述。在本专利文件中在单独的实施例的上下文中所描述的某些特征也可以在单一实施例中组合地实现。相反,在单一实施例的上下文中所描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,虽然特征在上文可以被描述为以某些组合地起作用,甚至最初要求如此,来自要求保护的组合的一个或多个特征可以在某些情况下从组合中删除,要求保护的组合可以被定向到子组合或子组合的变体。
类似地,尽管操作在附图中是按特定顺序描绘的,但是,这不应该被理解为要求这样的操作以所示出的特定顺序或按先后顺序执行,或所有所示出的操作都被执行,以实现所需要的结果。此外,在本专利文件中所描述的各实施例中的各种系统组件的分离不应该被理解为在所有实施例中都要求这样的分离。
本专利文件只描述了几个实现和示例,可以基于在本专利文件中所描述的和示出的内容作出其他实现、增强和变化。
Claims (20)
1.一种对立体视觉系统捕捉的图像执行立体匹配的方法,其特征在于,所述方法包括:
接收由一对立体视觉摄像机捕捉的一对立体图像;
对该对立体图像执行边框裁剪操作,以获得一对已裁剪立体图像;
对该对已裁剪立体图像执行下采样操作,以获得一对下采样立体图像;以及
对该对下采样立体图像执行稠密立体匹配操作,以生成对应于该对立体图像的空间的稠密三维点图;
其中,利用已裁剪并下采样的立体图像执行稠密立体匹配可显著提高稠密立体匹配操作的速度。
2.根据权利要求1所述的方法,其特征在于,在对该对下采样立体图像执行该稠密立体匹配操作之前,所述方法还包括:
对该对下采样立体图像执行校正操作,以消除图像畸变并利用其中一个摄像机在所述立体视觉系统中的位置为所述三维点图创建空间参考。
3.根据权利要求1所述的方法,其特征在于,在生成对应于该对立体图像的空间的稠密三维点图之后,所述方法还包括:
对该稠密三维点图执行噪声消除操作,从而消除来自计算出的三维点图的空间中的弱纹理区域产生的噪声。
4.根据权利要求1所述的方法,其特征在于,所述立体视觉系统嵌入在无人驾驶飞行器中,用于在所述无人驾驶飞行器飞行过程中捕捉所述无人驾驶飞行器的飞行环境。
5.根据权利要求4所述的方法,其特征在于,对该对立体图像执行边框裁剪操作包括:将该立体图像中的对应于不在所述无人驾驶飞行器的飞行路径的该飞行环境的区域部分移除。
6.根据权利要求4所述的方法,其特征在于,对所述对立体图像执行边框裁剪操作中仅保留该对立体图像的中心部分。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:利用获得的稠密三维点图检测所述飞行路径中的障碍物。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:如果在所述飞行路径中检测到该障碍物,则利用获得的稠密三维点图对所述无人驾驶飞行器的障碍躲避做出决策。
9.根据权利要求1所述的方法,其特征在于,所述稠密立体匹配操作包括半全局块匹配操作。
10.一种装置,包括:
一个或多个处理器;
存储器;以及
程序模块,其中所述程序模块存储在所述存储器内;在操作该装置的过程中,所述程序模块由所述一个或多个处理器执行,从而:
接收由一对立体视觉摄像机捕捉的一对立体图像;
对该对立体图像执行边框裁剪操作,以获得一对已裁剪立体图像;
对该对已裁剪立体图像执行下采样操作,以获得一对下采样立体图像;
以及
对该对下采样立体图像执行稠密立体匹配操作,以生成对应于该对立体图像的空间的稠密三维点图;
其中,利用已裁剪并下采样的立体图像执行稠密立体匹配可显著提高该稠密立体匹配操作的速度。
11.根据权利要求10所述的装置,其特征在于,所述程序模块由所述一个或多个处理器执行,从而在对该对下采样立体图像执行该稠密立体匹配操作之前,对该对下采样立体图像执行校正操作,以消除图像畸变并利用其中一个摄像机在所述立体视觉系统中的位置为所述三维点图创建空间参考。
12.根据权利要求10所述的装置,其特征在于,所述程序模块由该一个或多个处理器执行,从而生成对应于该对立体图像的空间的稠密三维点图之后,对所述稠密三维点图执行噪声消除操作,从而消除来自计算出的三维点图的空间中的弱纹理区域产生的噪声。
13.根据权利要求10所述的装置,其特征在于,所述程序模块嵌入到无人驾驶飞行器中,并且所述程序模块由所述一个或多个处理器执行,从而利用稠密三维点图检测所述无人驾驶飞行器的飞行路径中的障碍物。
14.根据权利要求13所述的装置,其特征在于,所述程序模块由所述一个或多个处理器执行,从而在所述飞行路径中检测到所述障碍物的情况下,利用获得的稠密三维点图对所述无人驾驶飞行器的障碍躲避做出决策。
15.一种用于执行自动障碍检测和躲避的无人驾驶飞行器,其特征在于,所述无人驾驶飞行器包括:
一个或多个处理器;
所所述一个或多个处理器连接的存储器;以及
连接到所述一个或多个处理器及所述存储器的立体视觉摄像机组;所述立体视觉摄像机组用于获取一序列立体图像;
立体视觉模块,用于:
接收由一对立体视觉摄像机捕捉的一对立体图像;
对该对立体图像执行边框裁剪操作,以获得一对已裁剪立体图像;
对该对已裁剪立体图像执行下采样操作,以获得一对下采样立体图像;
以及
对该对下采样立体图像执行稠密立体匹配操作,以生成对应于该对立体图像的空间的稠密三维点图;
其中,利用已裁剪并下采样的立体图像执行稠密立体匹配可显著提高所述稠密立体匹配操作的速度。
16.根据权利要求15所述的无人驾驶飞行器,其特征在于,在对该对下采样立体图像执行该稠密立体匹配操作之前,所述立体视觉模块对该对下采样立体图像执行校正操作,以消除图像畸变并利用该其中一个摄像机在该立体视觉系统中的位置为所述三维点图创建空间参考。
17.根据权利要求15所述的无人驾驶飞行器,其特征在于,在生成稠密三维点图之后,所述立体视觉模块对所述稠密三维点图执行噪声消除操作,从而消除来自计算出的三维点图的空间中的弱纹理区域产生的噪声。
18.根据权利要求15所述的无人驾驶飞行器,其特征在于,所述立体视觉摄像机组用于在所述无人驾驶飞行器飞行期间捕捉所述无人驾驶飞行器的飞行环境。
19.根据权利要求15所述的无人驾驶飞行器,其特征在于,所述无人驾驶飞行器还包括连接到立体视觉模块的障碍检测模块,并用于采用已获得的稠密三维点图检测所述无人驾驶飞行器的障碍物。
20.根据权利要求19所述的无人驾驶飞行器,其特征在于,所述无人驾驶飞行器还包括连接到所述障碍检测模块和立体视觉模块的障碍躲避模块,并用于在检测出障碍时,利用已获得的稠密三维点图为所述无人驾驶飞行器作出障碍躲避决策。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/943,978 US10776939B2 (en) | 2018-04-03 | 2018-04-03 | Obstacle avoidance system based on embedded stereo vision for unmanned aerial vehicles |
US15/943,978 | 2018-04-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144095A true CN109144095A (zh) | 2019-01-04 |
CN109144095B CN109144095B (zh) | 2021-11-23 |
Family
ID=64800406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810754499.3A Active CN109144095B (zh) | 2018-04-03 | 2018-07-10 | 用于无人驾驶飞行器的基于嵌入式立体视觉的障碍躲避系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10776939B2 (zh) |
CN (1) | CN109144095B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112634487A (zh) * | 2019-09-24 | 2021-04-09 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN112835349A (zh) * | 2019-11-22 | 2021-05-25 | 中国科学院沈阳自动化研究所 | 一种基于模糊逻辑的自主水下机器人路径规划方法 |
CN114020006A (zh) * | 2021-09-26 | 2022-02-08 | 佛山中科云图智能科技有限公司 | 无人机辅助降落方法、装置、存储介质以及电子设备 |
CN117710467A (zh) * | 2024-02-06 | 2024-03-15 | 天津云圣智能科技有限责任公司 | 无人机定位方法、设备及飞行器 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018176000A1 (en) | 2017-03-23 | 2018-09-27 | DeepScale, Inc. | Data synthesis for autonomous control systems |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US10510158B1 (en) * | 2017-11-13 | 2019-12-17 | Amazon Technologies, Inc. | Collaborative airborne object tracking systems and methods |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
CN110138519A (zh) | 2018-02-02 | 2019-08-16 | 索尼公司 | 无线通信系统中的装置和方法、计算机可读存储介质 |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
SG11202103493QA (en) | 2018-10-11 | 2021-05-28 | Tesla Inc | Systems and methods for training machine models with augmented data |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11150664B2 (en) | 2019-02-01 | 2021-10-19 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
WO2021062459A1 (en) * | 2019-10-04 | 2021-04-08 | Single Agriculture Pty Ltd | Weed mapping |
CN111800586B (zh) * | 2020-06-24 | 2021-08-20 | 上海赫千电子科技有限公司 | 车载图像的虚拟曝光处理方法、车载图像拼接处理方法及图像处理装置 |
US20230316740A1 (en) * | 2022-03-31 | 2023-10-05 | Wing Aviation Llc | Method for Controlling an Unmanned Aerial Vehicle to Avoid Obstacles |
CN114924595A (zh) * | 2022-05-06 | 2022-08-19 | 华南师范大学 | 无人机群越障方法及控制系统、电子设备、存储介质 |
TR2022014624A2 (tr) * | 2022-09-22 | 2022-10-21 | Bandirma Onyedi Eyluel Ueniversitesi Rektoerluegue | Engellerden kaçabi̇len otonom araç geli̇şti̇ri̇lebi̇lmesi̇ i̇çi̇n üçlü entegre kamera si̇stemi̇ |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100158387A1 (en) * | 2008-12-22 | 2010-06-24 | Electronics And Telecommunications Research Institute | System and method for real-time face detection using stereo vision |
US20120057747A1 (en) * | 2010-09-03 | 2012-03-08 | Hoya Corporation | Image processing system and image processing method |
CN102436652A (zh) * | 2011-08-31 | 2012-05-02 | 航天恒星科技有限公司 | 一种多源遥感图像自动配准方法 |
US20120218269A1 (en) * | 2004-09-15 | 2012-08-30 | Research In Motion Limited | Method for requesting and viewing a zoomed area of detail from an image attachment on a mobile communication device |
US20150370250A1 (en) * | 2014-06-19 | 2015-12-24 | Skydio, Inc. | Magic wand interface and other user interaction paradigms for a flying digital assistant |
CN106708084A (zh) * | 2016-11-24 | 2017-05-24 | 中国科学院自动化研究所 | 复杂环境下无人机自动障碍物检测和避障方法 |
CN106803073A (zh) * | 2017-01-10 | 2017-06-06 | 江苏信息职业技术学院 | 基于立体视觉目标的辅助驾驶系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10491879B2 (en) * | 2016-01-15 | 2019-11-26 | Blue River Technology Inc. | Plant feature detection using captured images |
WO2018032457A1 (en) * | 2016-08-18 | 2018-02-22 | SZ DJI Technology Co., Ltd. | Systems and methods for augmented stereoscopic display |
WO2018086133A1 (en) * | 2016-11-14 | 2018-05-17 | SZ DJI Technology Co., Ltd. | Methods and systems for selective sensor fusion |
WO2018145291A1 (en) * | 2017-02-10 | 2018-08-16 | SZ DJI Technology Co., Ltd. | System and method for real-time location tracking of drone |
US10168704B2 (en) * | 2017-06-05 | 2019-01-01 | Hanzhou Zero Zero Technology Co., Ltd. | System and method for providing easy-to-use release and auto-positioning for drone applications |
-
2018
- 2018-04-03 US US15/943,978 patent/US10776939B2/en active Active
- 2018-07-10 CN CN201810754499.3A patent/CN109144095B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120218269A1 (en) * | 2004-09-15 | 2012-08-30 | Research In Motion Limited | Method for requesting and viewing a zoomed area of detail from an image attachment on a mobile communication device |
US20100158387A1 (en) * | 2008-12-22 | 2010-06-24 | Electronics And Telecommunications Research Institute | System and method for real-time face detection using stereo vision |
US20120057747A1 (en) * | 2010-09-03 | 2012-03-08 | Hoya Corporation | Image processing system and image processing method |
CN102436652A (zh) * | 2011-08-31 | 2012-05-02 | 航天恒星科技有限公司 | 一种多源遥感图像自动配准方法 |
US20150370250A1 (en) * | 2014-06-19 | 2015-12-24 | Skydio, Inc. | Magic wand interface and other user interaction paradigms for a flying digital assistant |
CN106708084A (zh) * | 2016-11-24 | 2017-05-24 | 中国科学院自动化研究所 | 复杂环境下无人机自动障碍物检测和避障方法 |
CN106803073A (zh) * | 2017-01-10 | 2017-06-06 | 江苏信息职业技术学院 | 基于立体视觉目标的辅助驾驶系统及方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112634487A (zh) * | 2019-09-24 | 2021-04-09 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN112835349A (zh) * | 2019-11-22 | 2021-05-25 | 中国科学院沈阳自动化研究所 | 一种基于模糊逻辑的自主水下机器人路径规划方法 |
CN112835349B (zh) * | 2019-11-22 | 2022-01-11 | 中国科学院沈阳自动化研究所 | 一种基于模糊逻辑的自主水下机器人路径规划方法 |
CN114020006A (zh) * | 2021-09-26 | 2022-02-08 | 佛山中科云图智能科技有限公司 | 无人机辅助降落方法、装置、存储介质以及电子设备 |
CN117710467A (zh) * | 2024-02-06 | 2024-03-15 | 天津云圣智能科技有限责任公司 | 无人机定位方法、设备及飞行器 |
CN117710467B (zh) * | 2024-02-06 | 2024-05-28 | 天津云圣智能科技有限责任公司 | 无人机定位方法、设备及飞行器 |
Also Published As
Publication number | Publication date |
---|---|
US10776939B2 (en) | 2020-09-15 |
US20190304120A1 (en) | 2019-10-03 |
CN109144095B (zh) | 2021-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144095A (zh) | 用于无人驾驶飞行器的基于嵌入式立体视觉的障碍躲避系统 | |
JP7252943B2 (ja) | 航空機のための対象物検出及び回避 | |
EP3727622B1 (en) | Caching and updating of dense 3d reconstruction data | |
US11748907B2 (en) | Object pose estimation in visual data | |
KR101776622B1 (ko) | 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
CN114667437A (zh) | 用于自主驾驶应用的地图创建和定位 | |
US11064178B2 (en) | Deep virtual stereo odometry | |
US11783443B2 (en) | Extraction of standardized images from a single view or multi-view capture | |
WO2020263471A1 (en) | Caching and updating of dense 3d reconstruction data | |
US11587298B2 (en) | Caching and updating of dense 3D reconstruction data | |
US11120280B2 (en) | Geometry-aware instance segmentation in stereo image capture processes | |
KR102200299B1 (ko) | 3d-vr 멀티센서 시스템 기반의 도로 시설물 관리 솔루션을 구현하는 시스템 및 그 방법 | |
CN102855470A (zh) | 基于深度图像的人体姿态估计方法 | |
WO2019127518A1 (zh) | 避障方法、装置及可移动平台 | |
DE112021006101T5 (de) | Systeme und Verfahren zur Objektdetektion mit LiDAR-Dekorrelation | |
CN113537047A (zh) | 障碍物检测方法、装置、交通工具及存储介质 | |
CN114648639B (zh) | 一种目标车辆的检测方法、系统及装置 | |
WO2022193193A1 (zh) | 数据处理方法和设备 | |
CN115048954A (zh) | 一种仿视网膜的目标检测方法、装置、存储介质及终端 | |
CN114463832A (zh) | 一种基于点云的交通场景视线追踪方法及系统 | |
KR102511539B1 (ko) | 영상 기반 차량 주행 시뮬레이션 시스템 및 방법 | |
KR102585261B1 (ko) | 3차원 보정객체의 단일 영상을 활용하여 적응형 영상 증강 방법 기반의 최적화된 다중 카메라 보정 시스템 | |
CN116887058B (zh) | 图像采集方法、装置、采集设备和存储介质 | |
CN118274833A (zh) | 一种基于双目全景事件相机的非合作目标轨迹估计方法 | |
JP2024506299A (ja) | 占有率グリッドを使用した場面理解 |
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 |