CN107808390A - 使用来自单摄像机的数据的对象距离估算 - Google Patents
使用来自单摄像机的数据的对象距离估算 Download PDFInfo
- Publication number
- CN107808390A CN107808390A CN201710799577.7A CN201710799577A CN107808390A CN 107808390 A CN107808390 A CN 107808390A CN 201710799577 A CN201710799577 A CN 201710799577A CN 107808390 A CN107808390 A CN 107808390A
- Authority
- CN
- China
- Prior art keywords
- motion model
- model
- image
- plane
- feature
- 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
- 230000033001 locomotion Effects 0.000 claims abstract description 232
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000003860 storage Methods 0.000 claims description 39
- 238000001514 detection method Methods 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 8
- 230000000875 corresponding effect Effects 0.000 description 18
- 239000011159 matrix material Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000015654 memory Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000004888 barrier function Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- JAWMENYCRQKKJY-UHFFFAOYSA-N [3-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-ylmethyl)-1-oxa-2,8-diazaspiro[4.5]dec-2-en-8-yl]-[2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidin-5-yl]methanone Chemical compound N1N=NC=2CN(CCC=21)CC1=NOC2(C1)CCN(CC2)C(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F JAWMENYCRQKKJY-UHFFFAOYSA-N 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- SKIIKRJAQOSWFT-UHFFFAOYSA-N 2-[3-[1-(2,2-difluoroethyl)piperidin-4-yl]oxy-4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]pyrazol-1-yl]-1-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethanone Chemical compound FC(CN1CCC(CC1)OC1=NN(C=C1C=1C=NC(=NC=1)NC1CC2=CC=CC=C2C1)CC(=O)N1CC2=C(CC1)NN=N2)F SKIIKRJAQOSWFT-UHFFFAOYSA-N 0.000 description 1
- FARHYDJOXLCMRP-UHFFFAOYSA-N 2-[4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]-1-[2-oxo-2-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethyl]pyrazol-3-yl]oxyacetic acid Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C=1C(=NN(C=1)CC(N1CC2=C(CC1)NN=N2)=O)OCC(=O)O FARHYDJOXLCMRP-UHFFFAOYSA-N 0.000 description 1
- MUTDXQJNNJYAEG-UHFFFAOYSA-N 2-[4-[2-(2,3-dihydro-1H-inden-2-ylamino)pyrimidin-5-yl]-3-(dimethylamino)pyrazol-1-yl]-1-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)ethanone Chemical compound C1C(CC2=CC=CC=C12)NC1=NC=C(C=N1)C=1C(=NN(C=1)CC(=O)N1CC2=C(CC1)NN=N2)N(C)C MUTDXQJNNJYAEG-UHFFFAOYSA-N 0.000 description 1
- PLXMOAALOJOTIY-FPTXNFDTSA-N Aesculin Natural products OC[C@@H]1[C@@H](O)[C@H](O)[C@@H](O)[C@H](O)[C@H]1Oc2cc3C=CC(=O)Oc3cc2O PLXMOAALOJOTIY-FPTXNFDTSA-N 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- MKYBYDHXWVHEJW-UHFFFAOYSA-N N-[1-oxo-1-(2,4,6,7-tetrahydrotriazolo[4,5-c]pyridin-5-yl)propan-2-yl]-2-[[3-(trifluoromethoxy)phenyl]methylamino]pyrimidine-5-carboxamide Chemical compound O=C(C(C)NC(=O)C=1C=NC(=NC=1)NCC1=CC(=CC=C1)OC(F)(F)F)N1CC2=C(CC1)NN=N2 MKYBYDHXWVHEJW-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/14—Measuring arrangements characterised by the use of optical techniques for measuring distance or clearance between spaced objects or spaced apertures
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
-
- 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/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0253—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- 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
-
- 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
-
- 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/20081—Training; Learning
-
- 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/30244—Camera pose
-
- 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)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明涉及用于估算或确定车辆的运动和/或到摄像机视野内的对象的距离的***和方法。一种用于确定车辆的运动的***包括安装在车辆上的单目摄像机、图像部件、特征部件、模型参数部件、模型选择部件和运动部件。图像部件获取由单目摄像机捕获的一系列图像帧。特征部件识别该系列图像帧内相邻图像帧中的对应的图像特征。模型参数部件基于图像特征来确定用于平面运动模型和非平面运动模型的参数。模型选择部件选择平面运动模型或非平面运动模型作为所选择的运动模型。运动部件根据所选择的运动模型的参数来确定摄像机运动。
Description
技术领域
本发明涉及车辆速度估算和对象距离估算,并且更具体地涉及使用用于车辆智能的单目摄像机的具有自运动补偿的对象距离估算。
背景技术
机动车为商业、政府和私营企业提供很大一部分运输。目前正在开发和部署自主车辆和驾驶辅助***以提供安全特征、减少所需的用户输入量、或甚至完全消除用户参与。例如,一些驾驶辅助***(例如,防撞***)可以在人类驾驶时监测车辆和其他对象的驾驶、位置和速度。当***检测到碰撞或撞击即将来临时,防撞***会干预并且施加制动、使车辆转向、或执行其他避免或安全操纵。作为另一个示例,自主车辆可以在很少或没有用户输入的情况下驱动和导航车辆。然而,由于涉及驾驶的危险和车辆的成本,因此自主车辆和驾驶辅助***安全地运行并且能够在各种不同的驾驶环境中准确地导航道路极其重要。
发明内容
根据本发明的一方面,提供一种方法,包含:
识别对应于第二帧中的第二特征的第一帧中的图像特征,第一帧和第二帧包含由摄像机捕获的相邻图像帧;
确定用于平面运动模型和非平面运动模型的参数;
选择平面运动模型或非平面运动模型作为所选择的运动模型;并且基于所选择的运动模型的参数来确定摄像机运动。
根据本发明的一个实施例,方法进一步包含基于摄像机运动来计算到图像帧中的对象或特征的距离。
根据本发明的一个实施例,方法进一步包含使用深度神经网络来检测和定位二维图像平面上的一个或多个对象。
根据本发明的一个实施例,其中计算到对象或特征的距离包含计算到一个或多个对象中的对象的距离。
根据本发明的一个实施例,方法进一步包含计算平面运动模型和非平面运动模型中的每一个的成本,其中选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型包含选择包含最小成本的模型。
根据本发明的一个实施例,其中选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型包含基于由相邻图像帧捕获的场景中的深度变化量来选择。
根据本发明的一个实施例,方法进一步包含基于所选择的运动模型来重建三维稀疏特征点。
根据本发明的一个实施例,方法进一步包含对图像特征执行局部光束法平差。
根据本发明的一个实施例,其中识别对应的图像特征包含使用ORB算法执行图像特征提取和匹配。
根据本发明的另一方面,提供一种***,包含:
单目摄像机,该单目摄像机安装在车辆上;
图像部件,该图像部件用于获取由单目摄像机捕获的一系列图像帧;
特征部件,该特征部件被配置为识别一系列图像帧内的相邻图像帧中的对应的图像特征;
模型参数部件,该模型参数部件被配置为基于图像特征来确定用于平面运动模型和非平面运动模型的参数;
模型选择部件,该模型选择部件被配置为选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型;以及
运动部件,该运动部件被配置为基于所选择的运动模型的参数来确定摄像机运动。
根据本发明的一个实施例,***进一步包含距离部件,该距离部件被配置为基于摄像机运动来计算到图像帧中的对象或特征的距离。
根据本发明的一个实施例,***进一步包含对象检测部件,该对象检测部件被配置为使用深度神经网络来检测和定位一系列图像帧内的一个或多个对象。
根据本发明的一个实施例,***进一步包含模型成本部件,该模型成本部件被配置为计算平面运动模型和非平面运动模型中的每一个的成本,其中模型选择部件被配置为通过选择包含最低成本的模型来选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型。
根据本发明的一个实施例,***进一步包含重建部件,该重建部件被配置为基于所选择的运动模型来重建三维稀疏特征点。
根据本发明的一个实施例,其中识别对应的图像特征包含使用ORB算法执行图像特征提取和匹配。
根据本发明的又一方面,提供一种计算机可读存储介质,该计算机可读存储介质存储指令,该指令在被一个或多个处理器执行时使处理器实现以下内容:
识别对应于第二帧中的第二特征的第一帧中的对应的图像特征,其中第一帧和第二帧包含由摄像机捕获的相邻图像帧;
确定用于平面运动模型和非平面运动模型的参数;
选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型;
基于所选择的运动模型的参数来确定摄像机运动。
根据本发明的一个实施例,介质进一步存储使处理器基于摄像机运动来计算到图像帧中的对象或特征的距离的指令。
根据本发明的一个实施例,介质进一步存储使处理器使用深度神经网络来检测和定位二维图像平面上的一个或多个对象的指令,其中计算到对象或特征的距离包含计算到一个或多个对象中的对象的距离。
根据本发明的一个实施例,介质进一步存储使处理器计算平面运动模型和非平面运动模型中的每一个的成本的指令,其中选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型包含选择包含最小成本的模型。
根据本发明的一个实施例,其中指令使处理器通过使用ORB算法执行图像特征提取和匹配来识别对应的图像特征。
附图说明
本发明的非限制性和非穷尽性的实施方式参照以下附图进行描述,其中贯穿若干视图,相同的附图标记指代相同的部件,除非另有说明。参考以下说明书和附图,本发明的优点将变得更好理解,其中:
图1是根据一个实施例示出了包括自动驾驶/辅助***的车辆控制***的实施方式的示意性框图;
图2示出了示例道路环境的透视图;
图3示出了另一个示例道路环境的透视图;
图4是根据一个实施例示出了投影变换(单应性)的示意图;
图5是根据一个实施例示出了用来确定基本矩阵的对极几何模型的示意图;
图6是根据一个实施例示出了时间局部光束法平差的示意图;
图7是根据一个实施例示出了距离估算的图;
图8是根据一个实施例示出了用于确定到对象的距离的方法的数据流的示意性框图;
图9是根据一种实施方式示出了对象距离部件的示例部件的示意性框图;
图10是根据一种实施方式示出了用于确定摄像机运动的方法的示意性框图;以及
图11是根据一种实施方式示出了计算***的示意性框图。
具体实施方式
自动驾驶***或驾驶辅助***可以在决策、导航或驾驶期间使用来自多个源的数据以确定最佳路径或操纵。例如,自动驾驶/辅助***可以包括实时感测驾驶环境的传感器和/或可以访问本地或远程数据存储器以获取关于沿着计划的驾驶路径的一个或多个当前位置的具体细节。例如,车辆可能会遇到许多对象,静态的和动态的。除了这种对象的检测和分类之外,到对象的距离可能对自主驾驶来说是重要信息。智能车辆必须能够根据距对象的距离来快速响应。车辆自运动(车辆的运动)估算和使用单目摄像机的准确的特征追踪在例如自适应巡航控制和障碍物规避的应用中可能是具有挑战性的任务。
在本申请中,申请人公开了用于估算或以其他方式确定车辆的运动和/或在摄像机的视野内到对象的距离的***、方法和装置。根据一个实施例,用于确定车辆的运动的***包括安装在车辆上的单目摄像机、图像部件、特征部件、模型参数部件、模型选择部件和运动部件。图像部件被配置为获取由单目摄像机捕获的一系列图像帧。特征部件被配置为识别该系列图像帧内的相邻图像帧中的对应的图像特征。模型参数部件被配置为基于图像特征来确定用于平面运动模型和非平面运动模型的参数。模型选择部件被配置为选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型。运动部件被配置为基于所选择的运动模型的参数来确定摄像机运动。
在一个实施例中,可以从附接到车辆的单色或彩色摄像机收集图像。例如,可以在车辆前方的位置收集图像,以使可以做出关于驾驶和导航的决定。在一个实施例中,***可以包括摄像机校准数据。例如,可以预先计算摄像机校准以改进使用摄像机获取的图像的空间或颜色准确性。该***可以使用深层神经网络用于对象检测和定位。例如,深层神经网络可以对使用的2D图像平面内的对象进行定位、识别和/或分类。
在一个实施例中,***基于图像估算摄像机运动估算来计算车辆自运动。例如,***可以执行与相邻图像帧(例如,在时间上相邻捕获的第一帧和第二帧)的特征提取和匹配。因此,每个图像中的特征可以彼此相关联并且可以表示车辆的运动量。在一个实施例中,***可以基于运动模型的动态选择来确定车辆运动。在一个实施例中,***估算多个不同运动模型的参数。例如,***可以估算用于平面运动模型的单应性矩阵和用于非平面运动模型的基本矩阵的参数。当估算参数时,***可以通过选择使成本函数最小化的运动模型来确定最佳运动模型。使用所选择的运动模型,***通过分解参数来估算摄像机/车辆运动。在一个实施例中,***重建用于3D空间的稀疏特征点。在一个实施例中,***执行图像透视变换。在一个实施例中,***可以应用光束法平差以通过利用图像的时间信息(例如,视频)来进一步优化运动估算***。
基于自运动,***可以估算/计算由神经网络检测/定位的对象的对象距离。在一个实施例中,***可以使用***模型来估算对象距离。
本文所公开的实施例可以包括用于更准确和完整的自运动、对象距离估算和/或对象追踪的所呈现的图像帧的所有特征。例如,图像中的所有特征可以用于估算和/或计算,而不仅仅是对应于地面或驾驶表面的特征。实施例还利用复杂的特征检测和描述,以产生更准确的特征对应。
另外的实施例和示例将在下面针对附图进行讨论。
现在参照附图,图1示出了示例车辆控制***100。车辆控制***100包括自动驾驶/辅助***102。自动驾驶/辅助***102可以用于自动化或控制车辆的操作或者向人类驾驶员提供辅助。例如,自动驾驶/辅助***102可以控制制动器、转向器、加速器、车灯、警报、驾驶员通知、无线电或车辆的任何其他驾驶或辅助***中的一个或多个。在另一个示例中,自动驾驶/辅助***102可能不能提供任何驾驶控制(例如,转向、加速或制动),但是可以提供通知和警报以帮助人类驾驶员安全驾驶。例如,自动驾驶/辅助***102可以包括一个或多个控制器(例如本文所讨论的那些),这些控制器通过控制器总线提供或接收数据并且使用数据来确定要执行的动作和/或提供指令或信号以发起这些动作。自动驾驶/辅助***102可以包括对象距离部件104,该对象距离部件104被配置为基于摄像机数据来检测和/或确定到对象的距离。
车辆控制***100还包括一个或多个传感器***/装置,该一个或多个传感器***/装置用于检测附近对象、车道标志的存在或确定母车辆(例如,包括车辆控制***100的车辆)的位置。例如,车辆控制***100可以包括雷达***106、一个或多个激光雷达(LIDAR)***108、一个或多个摄像机***110、全球定位***(GPS)112和/或超声***114。车辆控制***100可以包括数据存储器116,该数据存储器116用于存储用于导航和安全性的相关或有用的数据,例如地图数据、驾驶历史(即,驱动历史)或其他数据。车辆控制***100还可以包括收发器118,该收发器118用于与移动或无线网络、其他车辆、基础设施、云或远程计算或存储源、或任何其他通信***进行无线通信。
车辆控制***100可以包括车辆控制致动器120以控制车辆的驾驶的各个方面,例如电动马达、开关或其他致动器,其用于控制制动、加速、转向等等。车辆控制***100还可以包括一个或多个显示器122、扬声器124或其他装置,以使可以向人类驾驶员或乘客提供通知。显示器122可以包括可以被车辆的驾驶员或乘客看到的抬头显示器、仪表板显示器或指示器、显示屏或任何其它视觉指示器。扬声器124可以包括车辆的音响***的一个或多个扬声器,或者可以包括专用于驾驶员通知的扬声器。车辆控制致动器120、显示器122、扬声器124或车辆控制***100的其他部件可以由自动驾驶/辅助***102的一个或多个控制器来控制。
在一个实施例中,自动驾驶/辅助***102被配置为控制母车辆的驾驶或导航。例如,自动驾驶/辅助***102可以控制车辆控制致动器120以在道路上的车道内、停车场、行车道或其它位置的路径上行驶。例如,自动驾驶/辅助***102可以基于由部件106-118中的任何一个提供的信息或感知数据来确定路径。传感器***/装置106-110和114可以用于获取实时传感器数据,以使自动驾驶/辅助***102可以实时辅助驾驶员或驾驶车辆。在一个实施例中,自动驾驶/辅助***102还使用存储在驾驶历史(本地或远程)中的信息,用于确定当前环境中的状况。自动驾驶/辅助***102可以实施驱动或辅助驾驶车辆的一个或多个算法、应用程序、程序或功能。
在一个实施例中,摄像机***110包括指向车辆前方的区域的前置摄像机。摄像机***110可以包括面向不同方向的摄像机,以为车辆附近或周围的区域提供不同的视野和不同的视场。例如,一些摄像机可以面向前、面向侧、面向后,呈角度或面向其他方向。
应当理解的是,图1的实施例仅通过示例的方式给出。在不脱离本发明的范围的情况下,其他实施例可以包括较少或附加部件。另外,所示的部件可以组合或包括在其他部件内而非限制。
图2根据一个实施例示出了提供住宅区域中的道路的透视图的图像200。该视图示出了由驾驶通过住宅区域的车辆的摄像机可能捕获到的图像中的内容。图3示出了提供道路的透视图的图像300。该视图示出了由驾驶通过“T”交叉口的车辆的摄像机可能捕获的图像中的内容。图像200表示非平面运动模型可以提供比平面运动模型更准确结果的视图。例如,视图中的对象或图像特征在与摄像机的距离/深度方面变化很大。因此,平面运动模型可能不能准确地确定摄像机(或车辆)或图像200内的对象的运动或移动。
另一方面,图像300表示平面运动模型可以提供比非平面运动模型更准确结果的视图。例如,视图中的对象或图像特征在与摄像机的距离/深度方面不会有显着变化。因此,平面运动模型可能能够更准确地确定摄像机(或车辆)的或图像200内的对象的运动或移动。
图2包括虚线202,该虚线202表示在图像200和先前图像之间的检测到的特征的运动。类似地,图3包括虚线302,该虚线302表示在图像300和先前图像之间的检测到的特征的运动。在一个实施例中,对象距离部件104可以使用快速特征点提取和描述(Oriented FASTand Rotated BRIEF,ORB)算法,用于检测和关联图像内的特征。在一个实施例中,对象距离部件104执行用于当前帧(例如200或300)和当前帧之前的图像的图像特征提取。对象距离部件104可以识别特征并且将不同图像中的特征彼此关联。例如,虚线202在表示特征的当前位置的点(即,图像200中)和先前图像中的特征的位置之间延伸。
在一个实施例中,每个虚线202、302的起点和终点以及点之间的距离可以对应于由图像之间的对象或特征行进的距离。在一个实施例中,由点行进的位置和/或距离可以用于填充一个或多个运动模型。例如,如果多个替代的运动模型可用,则对象距离部件104可以基于所行进的位置和/或距离填充每个运动模型的矩阵或场。基于该信息,对象距离部件104可以选择与数据最拟合的运动模型。例如,成本函数可以基于填充值来计算每个运动模型的误差或成本。然后可以选择具有最小成本或误差的运动模型作为用于确定特定图像的运动和/或距离的最佳运动模型。
如本领域技术人员应当理解的是,图2和图3是通过例证的方式给出。另外,虚线202仅通过示例的方式给出,不一定代表可以被识别的特征和/或相关性。例如,可以在实践中检测和关联更多数量的特征、附加特征或不同特征。
图4是示出了平面运动模型的操作和/或计算的图。当特征点位于或大致位于同一平面上时,平面运动模型用于近似运动。例如,在与摄像机的深度或距离的变化很小的图像中,平面运动模型可以最准确地估算自摄像机或自车辆的运动。下面的等式1示出了可以用于平面运动模型的单应性变换。应当理解的是,Λ(lambda)表示单应性矩阵,该单应性矩阵可以使用4点方法来求解。
等式1 x′=(KΛK-1)x
图5是示出了非平面运动模型的操作和/或计算的图。当特征点位于三维空间中而不位于大致相同的平面中或其上时,非平面运动模型用于近似运动。例如,在与摄像机的深度或距离的变化很大的图像中,非平面运动模型可以最准确地估算自摄像机或自车辆的运动。下面的等式2示出了可以用于非平面运动模型的使用对极几何的基本矩阵的变换。应当理解的是,F表示基本矩阵并且可以使用8点线性方法或8点非线性方法求解。
等式2
在一个实施例中,可以使用时间局部光束法平差来提高用于基本和/或单应性矩阵的特征相关和/或参数数据的准确性。例如,来自摄像机图像的噪声、特征匹配中的误差和/或运动估算中的误差可能导致参数数据、运动估算结果和/或对象的距离估算结果的不准确。因为***具有多个帧,例如作为由摄像机捕获的视频或一系列图像的部分,***可以通过结合来自其他图像帧的时间信息来执行光束法平差。例如,该***可以在一段时间(例如,1或2秒)内结合来自许多帧的特征或对象的信息以创建平均或过滤位置或运动数据以获取减少噪声或降低误差的信息,而不是仅仅估算来自两个连续帧的运动。图6和下面的等式3示出了用于时间局部光束法平差的一个实施例。例如,可以通过求解D来计算图像中点或特征的过滤距离。
等式3
图7是根据一个实施例示出了用于距离估算的参数的图。第一车辆702(自车辆)被示出在第二车辆704后方。摄像机的图像传感器706由一平面表示,在该平面上形成图像。根据一个实施例,可以使用下面的等式4来计算第二车辆704和摄像机或图像传感器之间的距离。
等式4
等式4和图7的术语如下:α表示相对于自车辆的初始摄像机俯仰(例如,如安装的);f是摄像机的焦距;H是初始摄像机高度(例如,如安装的);Δd是摄像机到最前面部分(head)的距离(例如,焦点和第二车辆704的地面接触点之间的距离);θ和Δh使用来自运动模型(例如,平面或非平面运动模型)的运动估算来获取(θ表示车辆的俯仰并且Δh表示传感器上的对象的高度变化);h是接触点中心距离(例如,特定像素和传感器阵列的竖直传感器之间的距离);D是到对象的距离(例如,到对象的地面接触点的距离)。
图8是示出了基于一系列摄像机图像来确定到对象的距离的方法800的数据流的示意性框图。图像802(例如来自视频馈送的图像)被提供用于对象检测804。在一个实施例中,对象检测804检测图像内的对象。例如,对象检测804可以产生对象的类型或类别的指示以及其在每个图像内的二维位置。在一个实施例中,使用深度神经网络来执行对象检测804,其中图像被馈送到深度神经网络中。对象检测804可以导致用于一个或多个对象的对象2D位置806。
图像802也被提供用于自运动估算808。自运动估算可以包括特征提取和相关、运动模型选择、估算的车辆运动、稀疏特征点重建和局部光束法平差,如本文所讨论的。在一个实施例中,自运动估算808可以导致关于车辆运动810的信息。关于车辆运动810的信息可以包括例如帧之间行进的距离或其他速度指示的信息。关于车辆运动810的信息可以包括例如摄像机的偏移角、例如基于自车辆的位置处的道路坡度或参考对象的车辆相对于道路的倾斜的信息。
距离估算812基于车辆运动和对象2D位置806来执行。例如,距离估算812可以计算自摄像机或自车辆和图像特征或对象之间的距离。在一个实施例中,距离估算可以通过将如通过对象检测804确定的对象的像素位置与如图7所示和所描述的计算的距离关联来执行。距离估算812可以导致在对象检测804期间检测到的特定对象的对象距离814。基于该对象距离,车辆的控制***(例如图1的自动驾驶/辅助***102)可以做出驾驶、导航和/或避碰的决定。
转向图9,示出了根据一个实施例示出了对象距离部件104的部件的示意性框图。对象距离部件104包括图像部件902、对象检测部件904、特征部件906、模型参数部件908、模型成本部件910、模型选择部件912、重建部件914、运动部件916、和距离部件918。部件902-918仅通过例证的方式给出,并且可以不全部包括在所有实施例中。事实上,一些实施例可以仅包括两个或更多个部件902-918中的一个或任何组合。例如,部件902-918中的一些可以位于对象距离部件104的外部,例如在自动驾驶/辅助***102内或其他地方。
图像部件902被配置为从车辆的摄像机获取和/或存储图像。例如,图像可以包括由车辆的单目摄像机捕获的视频图像。图像可以包括来自车辆的前置摄像机的图像。图像可以被存储和/或接收为描绘车辆前方或附近的实时或接近实时环境的一系列图像。
对象检测部件904被配置为检测由图像部件902获取或存储的图像内的对象。例如,对象检测部件904可以处理每个图像以检测例如车辆、行人、动物、骑自行车者、道路杂物、道路标志、障碍物等等的对象。对象可以包括静止或移动的对象。在一个实施例中,对象检测部件904还可以将对象分类为特定类型的对象。示例对象类型可以包括静止对象或移动对象。其他示例对象类型可以包括车辆类型、动物、道路或驾驶障碍物、行人、骑自行车者或任何其他对象类型的分类或指示。在一个实施例中,对象检测部件904还确定对象的位置,例如图像帧内的二维位置或其像素对应于对象的指示。
特征部件906被配置为检测图像内的图像特征。图像特征可以包括位于高对比度边界的像素、具有高频含量的位置等等。例如,对象的边界通常相对于周围环境具有高对比度。类似地,多色对象可以包括同一对象内的高对比度边界。对象或关于对象的设计的角点(corner)可以被识别为图像特征。参见例如图2和图3的虚线202、302。在一个实施例中,特征部件906检测图像内的所有特征,包括地面之上的那些。例如,驾驶表面通常具有比邻近结构、灌木或者靠近道路或原本在车辆摄像机的视野内的其他对象或结构更少数量的特征。
在一个实施例中,特征部件906将图像或图像帧中的特征与一系列图像中的相邻图像或图像帧中的特征关联。例如,在车辆移动期间,对应于建筑物、车辆或其他物体的角点的特征可以在相邻帧中处于不同位置。特征部件906可以将对应于位于第一图像内的第一位置处的角点的特征与对应于位于第二图像内的第二位置处的相同角点的特征关联。因此,在不同位置处的相同特征对于用于计算车辆在两个帧之间行进的距离是有益的。在一个实施例中,特征部件906可以使用快速特征点提取和描述(Oriented FAST and RotatedBRIEF,ORB)算法来识别和关联特征。在一些实施例中,ORB算法提供准确的特征检测和减少延迟的相关性。例如,加速鲁棒特征(SURF)算法可以提供高准确度但是缓慢。另一方面,光流算法是快速的,但容易出现大的运动误差。申请人已经发现,当执行特征选择和匹配时,ORB算法为大速度增益提供了小的准确度权衡。
在一个实施例中,当已经执行特征识别和匹配时,可以通过对图像特征执行局部光束法平差来减少噪声或误差。例如,可以使用来自多个图像帧(例如,一秒或其他时间段内的所有图像帧)的时间信息来计算图像帧中的特征的位置,该图像帧提供减少的噪声、更平滑的运动和/或减少的误差。
模型参数部件908被配置为确定用于多个运动模型的参数。例如,模型参数部件908可以基于图像特征来确定用于平面运动模型和非平面运动模型的参数。模型参数部件908可以填充用于可用运动模型的参数矩阵。例如,模型参数部件908可以填充用于平面运动模型的单应性矩阵和用于非平面运动模型的基本矩阵。可以基于特征的位置和相邻图像之间的对应特征之间的距离来计算参数的值。
模型成本部件910被配置为计算每个运动模型的成本。例如,基于由模型参数部件确定的平面运动模型和非平面运动模型的参数,模型成本部件910可以确定用于每个运动模型的成本或误差。模型成本部件910可以使用用于计算每个运动模型的误差或其他成本的成本函数。
模型选择部件912被配置为选择运动模型作为最佳运动模型。模型选择部件912可以为每组相邻图像或帧选择运动模型。例如,模型选择部件912可以选择平面运动模型或非平面运动模型作为用于一组特定相邻图像的所选择的或最佳的运动模型。
在一个实施例中,模型选择部件912基于具有最低成本或误差的运动模型来选择运动模型作为最佳模型。例如,模型选择部件912可以选择具有由模型成本部件910确定的最低成本的运动模型。在一个实施例中,模型选择部件912可以基于相邻图像内的深度变化量来选择运动模型。通常,对应于更远离车辆的对象或位置的特征将比对应于更靠近车辆的对象或位置的特征在连续图像之间移动更少。在一个实施例中,由成本函数计算的成本可以表示由相关特征行进的距离的变化量。例如,成本函数可以表示运动模型匹配由相邻图像帧捕获的场景中的深度变化量的程度。例如,如果由相邻图像帧捕获的场景中的深度变化量低,则平面运动模型可以是最佳的。如果由相邻图像帧捕获的场景中的深度变化量高,则非平面运动模型可以是最佳的。
重建部件914被配置为基于所选择的运动模型重建三维场景。在一个实施例中,重建部件914被配置为基于所选择的运动模型重建三维稀疏特征点。重建场景可以包括对应于由特征部件906检测到的特征的点。在一个实施例中,重建场景因此可以用于距离估算、障碍物规避或者由车辆控制***(例如自动驾驶/辅助***102)执行的其他过程或决策。
运动部件916被配置为基于所选择的运动模型的参数来确定摄像机运动。例如,运动部件916可以计算在捕获两个连续图像时的时间之间由摄像机(和对应的车辆)行驶的距离。在一个实施例中,运动部件916计算如关于图7和等式4所示和所描述的θ、Δh和/或Δd。在一个实施例中,运动部件916仅基于来自单个单目摄像机的图像数据来确定车辆的运动。在一个实施例中,运动信息可以用于距离估算、障碍物规避或者由车辆控制***(例如自动驾驶/辅助***102)执行的其他过程或决策。
距离部件918被配置为确定摄像机或自车辆和对象之间的距离。例如,距离部件918可以基于所选择的运动模型和对应的参数和运动信息来计算等式4的距离D。距离信息可以用于障碍物规避、驾驶路径规划或者由车辆控制***(例如自动驾驶/辅助***102)执行的其他过程或决策。
图10是示出了用于确定车辆的运动的方法1000的示意性流程图。方法1000可以通过对象距离部件(例如,图1或9的对象距离部件104)来执行。
方法1000开始,并且在1002特征部件906识别对应于第二帧中的第二特征的第一帧中的图像特征。第一帧和第二帧包括由摄像机捕获的相邻图像帧。模型参数部件908在1004确定用于平面运动模型和非平面运动模型的参数。模型选择部件912在1006选择平面运动模型或非平面运动模型作为所选择的运动模型。运动部件916在1008基于所选择的运动模型的参数来确定摄像机运动。在一个实施例中,特征部件906对图像特征执行局部光束法平差1010。例如,可以通过结合来自多个帧对的信息来执行光束法平差,以改善摄像机自运动。
现在参照图11,示出了示例计算装置1100的框图。计算装置1100可以用于执行各种程序,例如本文所讨论的那些。计算装置1100可以用作对象距离部件104、自动驾驶/辅助***102、服务器、或任何其它计算实体。计算装置1100可以执行如本文所述的各种监控功能,并且可以执行一个或多个应用程序,例如本文所述的应用程序或功能。计算装置1100可以是任何各种各样的计算装置,例如台式计算机、内置式计算机、车辆控制***、笔记本电脑、服务器计算机、手持式计算机、平板电脑等等。
计算装置1100包括一个或多个处理器1102、一个或多个存储器装置1104、一个或多个接口1106、一个或多个大容量存储装置1108、一个或多个输入/输出(I/O)装置1110和显示装置1130,所有这些装置连接到总线1112。处理器1102包括执行存储在存储器装置1104和/或大容量存储装置1108中的指令的一个或多个处理器或控制器。处理器1102还可以包括各种类型的计算机存储介质,例如高速缓冲存储器。
存储器装置1104包括各种计算机可读介质,例如易失性存储器(例如,随机存取存储器(RAM)1114)和/或非易失性存储器(例如,只读存储器(ROM)1116))。存储器装置1104还可以包括可重写ROM,例如闪存存储器。
大容量存储装置1108包括各种计算机可读介质,例如磁带、磁盘、光盘、固态存储器(例如,闪存存储器)等等。如图11所示,特定的大容量存储装置是硬盘驱动器1124。各种驱动器也可以被包括在大容量存储装置1108中,以实现从各种计算机可读介质读取和/或写入各种计算机可读介质。大容量存储装置1108包括可移除介质1126和/或不可移除介质。
I/O装置1110包括允许将数据和/或其他信息被输入到计算装置1100或从计算装置1100检索的各种装置。示例I/O装置1110包括光标控制装置、键盘、小键盘、麦克风,监视器或其他显示装置、扬声器、打印机、网络接口卡、调制解调器等等。
显示装置1130包括能够向计算装置1100的一个或多个用户显示信息的任何类型的装置。显示装置1130的示例包括监视器、显示终端、视频投影装置等等。
接口1106包括允许计算装置1100与其他***、装置或计算环境交互的各种接口。示例接口1106可以包括任何数量的不同的网络接口1120,例如,到局域网(LAN)、广域网(WAN)、无线网络和互联网的接口。其他接口包括用户接口1118和***装置接口1122。接口1106还可以包括一个或多个用户接口元件1118。接口1106还可以包括一个或多个***接口,例如用于打印机、定点装置(鼠标、跟踪板或现在对于本领域技术人员已知或后来发现的任何合适的用户界面)、键盘等等的接口。
总线1112允许处理器1102、存储器装置1104、接口1106、大容量存储装置1108和I/O装置1110彼此通信,以及与连接到总线1112的其他装置或部件通信。总线1112表示几种类型的总线结构中的一种或多种,例如***总线、***部件互连(PCI)总线、电气与电子工程师协会(IEEE)总线、通用串行(USB)总线等等。
为了说明的目的,程序和其他可执行程序部件在本文中被示为离散框,但是应当理解的是,这样的程序和部件可以在不同的时间位于计算装置1100的不同存储部件中,并且由处理器1102执行。供选择地,本文所描述的***和程序可以以硬件或硬件、软件和/或固件的组合来实施。例如,一个或多个专用集成电路(ASIC)可以被编程为执行本文所述的一个或多个***和程序。
示例
以下示例涉及另外的实施例。
示例1是一种方法,该方法包括识别对应于第二帧中的第二特征的第一帧中的图像特征。第一帧和第二帧包括由摄像机捕获的相邻图像帧。该方法包括确定用于平面运动模型和非平面运动模型的参数。该方法包括选择平面运动模型或非平面运动模型作为所选择的运动模型。该方法还包括基于所选择的运动模型的参数来确定摄像机运动。
在示例2中,如示例1所述的方法进一步包括基于摄像机运动来计算到图像帧中的对象或特征的距离。
在示例3中,如示例2所述的方法进一步包括使用深度神经网络来检测和定位二维图像平面上的一个或多个对象。
在示例4中,如示例3所述的计算到对象或特征的距离包括计算到一个或多个对象中的对象的距离。
在示例5中,如示例1-4中任一项所述的方法进一步包括计算平面运动模型和非平面运动模型中的每一个的成本,其中选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型包含选择包含最小成本的模型。
在示例6中,如示例1-5中任一项所述的选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型包括基于由相邻图像帧捕获的场景中的深度变化量来选择。
在示例7中,如示例1-8中任一项所述的方法进一步包括基于所选择的运动模型来重建三维稀疏特征点。
在示例8中,如示例1-7中任一项所述的方法进一步包括对图像特征执行局部光束法平差。
在示例9中,示例1-8的任一项中识别对应的图像特征包括使用ORB算法执行图像特征提取和匹配。
示例10是一种***,该***包括安装在车辆上的单目摄像机。该***还包括图像部件、特征部件、模型参数部件、模型选择部件和运动部件。图像部件被配置为获取由单目摄像机捕获的一系列图像帧。特征部件被配置为识别该系列图像帧内的相邻图像帧中的对应的图像特征。模型参数部件被配置为基于图像特征来确定用于平面运动模型和非平面运动模型的参数。模型选择部件被配置为选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型。运动部件被配置为基于所选择的运动模型的参数来确定摄像机运动。
在示例11中,如示例10所述的***进一步包括距离部件,该距离部件被配置为基于摄像机运动来计算到图像帧中的对象或特征的距离。
在示例12中,如示例10-11中任一项所述的***进一步包括对象检测部件,该对象检测部件被配置为使用深度神经网络来检测和定位该系列图像帧内的一个或多个对象。
在示例13中,如示例10-12中任一项所述的***进一步包括模型成本部件,该模型成本部件被配置为计算平面运动模型和非平面运动模型中的每一个的成本。模型选择部件被配置为通过选择包含最低成本的模型来选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型。
在示例14中,如示例10-13中任一项所述的***进一步包括重建部件,该重建部件被配置为基于所选择的运动模型来重建三维稀疏特征点。
在示例15中,如示例10-14中任一项所述的识别对应的图像特征包括使用ORB算法执行图像特征提取和匹配。
示例16是一种计算机可读存储介质,该计算机可读存储介质存储指令,该指令在被一个或多个处理器执行时使处理器识别对应于第二帧中的第二特征的第一帧中的对应的图像特征。第一帧和第二帧包括由摄像机捕获的相邻图像帧。该指令进一步使一个或多个处理器确定用于平面运动模型和非平面运动模型的参数。指令进一步使一个或多个处理器选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型。指令进一步使一个或多个处理器基于所选择的运动模型的参数来确定摄像机运动。
在示例17中,如示例16所述的介质进一步存储使处理器基于摄像机运动来计算到图像帧中的对象或特征的距离的指令。
在示例18中,如示例17所述的介质进一步存储使处理器使用深度神经网络来检测和定位二维图像平面上的一个或多个对象的指令。计算到对象或特征的距离包括计算到一个或多个对象中的对象的距离。
在示例19中,如示例16-18中任一项所述的介质进一步存储使处理器计算平面运动模型和非平面运动模型中的每一个的成本的指令,其中选择平面运动模型和非平面运动模型中的一个作为所选择的运动模型包含选择包含最小成本的模型。
在示例20中,如示例16-19中任一项所述的指令使处理器通过使用ORB算法执行图像特征提取和匹配来识别对应的图像特征。
示例21是一种***或装置,该***或装置包括用于实施如示例1-20中的任一项所述的方法、***或装置的手段。
在以上公开内容中,参照附图,附图形成本发明的一部分并且在附图中通过例证示出可以实践本发明的特定实施方式。应当理解的是,在不脱离本发明的范围的前提下,可以利用其他实施方式并且可以进行结构变化。说明书中引用的“一个实施例”、“一实施例”,“一个示例实施例”等表明所描述的实施例可以包括特定特征、结构或特性,但每一个实施例可能未必包括特定特征、结构或特性。另外,这样的短语未必是指同一实施例。此外,当特定特征、结构、或特性关于一个实施例进行描述时,可以主张的是,无论是否明确描述,关于其他实施例影响这样的特征、结构或特性在本领域技术人员的知识的范围之内。
本文所公开的***、装置和方法的实施方式可以包含或利用专用或通用计算机,该专用或通用计算机包括计算机硬件,例如,一个或多个处理器和***存储器,如本文所讨论的。在本发明的范围内的实施方式还可以包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可以由通用或专用计算机***访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(装置)。承载计算机可执行指令的计算机可读介质是传输介质。因此,举例来说,而非限制,本发明的实施方式可以包含至少两种明显不同种类的计算机可读介质:计算机存储介质(装置)和传输介质。
计算机存储介质(装置)包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、只读光盘存储器(CD-ROM)、固态驱动器(“SSD”)(例如,基于RAM)、闪速存储器、相变存储器(“PCM”)、其他类型的存储器、其它光盘存储器、磁盘存储器或其它磁性存储设备、或者可以被用于存储以计算机可执行指令或数据结构的形式的所需的程序代码手段并且可以由通用或专用计算机访问的任何其它介质。
本文所公开的装置、***和方法的实施方式可以在计算机网络上进行通信。“网络”被定义为允许电子数据在计算机***和/或模块和/或其他电子设备之间传输的一个或多个数据链路。当信息通过网络或另一通信连接(硬线连接、无线、或硬线连接或无线的组合)被传送或提供到计算机时,计算机适当地将该连接视为传输介质。传输介质可以包括可以被用于承载以计算机可执行指令或数据结构的形式的所需的程序代码手段并且可以由通用或专用计算机来访问的网络和/或数据链路。上述组合也应该被包括在计算机可读介质的范围之内。
计算机可执行指令包含例如指令和数据,当该指令和数据在处理器中执行时,使通用计算机、专用计算机、或专用处理装置来执行某些功能或功能组。计算机可执行指令可以是例如二进制、例如汇编语言的中间格式指令、或甚至源代码。虽然本发明主题已经以针对结构特征和/或方法论动作的语言进行了描述,但是应当理解的是,在所附权利要求中限定的发明主题不一定局限于所描述的特征或以上所述的动作。相反地,所描述的特征和动作被公开作为实施权利要求的示例形式。
本领域技术人员将领会的是,本发明可以在网络计算环境中通过许多类型的计算机***配置来实践,包括内置式车辆计算机、个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器***、基于微处理器或可编程的消费者电子产品、网络个人电脑(PC)、小型计算机、大型计算机、移动电话、个人数字助理(PDA)、平板电脑、寻呼机、路由器、交换机、各种存储装置等等。本发明也可以在本地和远程计算机***都执行任务的分布式***环境中实践,本地和远程计算机***通过网络链接(或者通过硬线数据链路、无线数据链路或者通过硬线和无线数据链路的组合)。在分布式***环境中,程序模块可以位于本地和远程存储器存储装置中。
此外,在适当情况下,本文所描述的功能可以在下列中的一种或多种中执行:硬件、软件、固件、数字部件、或模拟部件。例如,一个或多个专用集成电路(ASIC)可以被编程为执行本文所描述的***和程序中的一个或多个。在整个说明书和权利要求书中,某些术语被用来指代特定的***部件。本领域技术人员将领会的是,部件可以通过不同的名称来称呼。本文不旨在区分名称不同但作用相同的部件。
应当指出的是,以上所讨论的传感器实施例可以包含计算机硬件、软件、固件或其任何组合以执行其功能的至少一部分。例如,传感器可以包括被配置为在一个或多个处理器中执行的计算机代码,并且可以包括由计算机代码控制的硬件逻辑/电子电路。本文提供这些示例装置是为了说明的目的,并不旨在进行限制。本发明的实施例可以在其他类型的装置中实施,如相关领域技术人员将已知的那样。
本发明的至少一些实施例涉及包含存储在任何计算机可用介质上的这样的逻辑(例如,以软件的形式)的计算机程序产品。这样的软件,当在一个或多个数据处理装置中执行时,使装置如本文所描述的那样操作。
虽然以上已经描述了本发明的各种实施例,但是应当理解的是,它们已仅通过示例的方式呈现,而非限制。对相关领域的技术人员来说将显而易见的是,形式和细节的各种改变可以在不脱离本发明的精神和范围的前提下进行。因此,本发明的广度和范围不应该被上述示例性实施例中的任一个限制,而是应该仅根据下面的权利要求书及其等同物来限定。为了说明和描述的目的,前面的描述已被呈现。它不旨在是穷尽或将本发明限制为所公开的精确形式。鉴于以上教导,许多修改和变化是可能的。此外,应该指出的是,上述替代实施方式中的任一个或全部可以以任意所需的组合使用以形成本发明的附加混合实施方式。
此外,虽然本发明的特定实施方式已被描述和说明,但是本发明不被限于所描述和所说明的特定的形式或部件的布置。本发明的范围由所附的权利要求、本申请中和不同申请中所提交的任何未来的权利要求及其等同物来限定。
Claims (15)
1.一种方法,包含:
识别对应于第二帧中的第二特征的第一帧中的图像特征,所述第一帧和所述第二帧包含由摄像机捕获的相邻图像帧;
确定用于平面运动模型和非平面运动模型的参数;
选择所述平面运动模型或所述非平面运动模型作为所选择的运动模型;并且
基于所述所选择的运动模型的参数来确定摄像机运动。
2.根据权利要求1所述的方法,进一步包含基于所述摄像机运动来计算到所述图像帧中的对象或特征的距离。
3.根据权利要求2所述的方法,进一步包含使用深度神经网络来检测和定位二维图像平面上的一个或多个对象。
4.根据权利要求3所述的方法,其中计算到所述对象或特征的所述距离包含计算到所述一个或多个对象中的对象的距离。
5.根据权利要求1所述的方法,进一步包含以下中的一个或多个:
计算所述平面运动模型和所述非平面运动模型中的每一个的成本,其中选择所述平面运动模型和所述非平面运动模型中的一个作为所述所选择的运动模型包含选择包含最小成本的模型;
基于所述所选择的运动模型来重建三维稀疏特征点;或
对所述图像特征执行局部光束法平差。
6.根据权利要求1所述的方法,其中选择所述平面运动模型和所述非平面运动模型中的一个作为所述所选择的运动模型包含基于由所述相邻图像帧捕获的场景中的深度变化量来选择。
7.根据权利要求1所述的方法,其中识别对应的图像特征包含使用ORB算法执行图像特征提取和匹配。
8.一种***,包含:
单目摄像机,所述单目摄像机安装在车辆上;
图像部件,所述图像部件用来获取由所述单目摄像机捕获的一系列图像帧;
特征部件,所述特征部件被配置为识别所述一系列图像帧内的相邻图像帧中的对应的图像特征;
模型参数部件,所述模型参数部件被配置为基于所述图像特征来确定用于平面运动模型和非平面运动模型的参数;
模型选择部件,所述模型选择部件被配置为选择所述平面运动模型和所述非平面运动模型中的一个作为所选择的运动模型;以及
运动部件,所述运动部件被配置为基于所述所选择的运动模型的参数来确定摄像机运动。
9.根据权利要求8所述的***,进一步包含以下中的一个或多个:
距离部件,所述距离部件被配置为基于所述摄像机运动来计算到所述图像帧中的对象或特征的距离;
对象检测部件,所述对象检测部件被配置为使用深度神经网络来检测和定位所述一系列图像帧内的一个或多个对象;
模型成本部件,所述模型成本部件被配置为计算所述平面运动模型和所述非平面运动模型中的每一个的成本,其中所述模型选择部件被配置为通过选择包含最低成本的模型来选择所述平面运动模型和所述非平面运动模型中的一个作为所述所选择的运动模型;或
重建部件,所述重建部件被配置为基于所述所选择的运动模型来重建三维稀疏特征点。
10.根据权利要求8所述的***,其中识别对应的图像特征包含使用ORB算法执行图像特征提取和匹配。
11.一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令在被一个或多个处理器执行时使所述处理器实现以下内容:
识别对应于第二帧中的第二特征的第一帧中的对应的图像特征,其中所述第一帧和所述第二帧包含由摄像机捕获的相邻图像帧;
确定用于平面运动模型和非平面运动模型的参数;
选择所述平面运动模型和所述非平面运动模型中的一个作为所选择的运动模型;以及
基于所述所选择的运动模型的参数来确定摄像机运动。
12.根据权利要求11所述的计算机可读介质,所述介质进一步存储使所述处理器基于所述摄像机运动来计算到所述图像帧中的对象或特征的距离的指令。
13.根据权利要求12所述的计算机可读介质,所述介质进一步存储使所述处理器使用深度神经网络来检测和定位二维图像平面上的一个或多个对象的指令,其中计算到所述对象或特征的所述距离包含计算到所述一个或多个对象中的对象的距离。
14.根据权利要求11所述的计算机可读介质,所述介质进一步存储使所述处理器计算所述平面运动模型和所述非平面运动模型中的每一个的成本的指令,其中选择所述平面运动模型和所述非平面运动模型中的一个作为所述所选择的运动模型包含选择包含最小成本的模型。
15.根据权利要求11所述的计算机可读介质,其中所述指令使所述处理器通过使用ORB算法执行图像特征提取和匹配来识别对应的图像特征。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/259,724 | 2016-09-08 | ||
US15/259,724 US20180068459A1 (en) | 2016-09-08 | 2016-09-08 | Object Distance Estimation Using Data From A Single Camera |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107808390A true CN107808390A (zh) | 2018-03-16 |
Family
ID=60037153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710799577.7A Pending CN107808390A (zh) | 2016-09-08 | 2017-09-07 | 使用来自单摄像机的数据的对象距离估算 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180068459A1 (zh) |
CN (1) | CN107808390A (zh) |
DE (1) | DE102017120709A1 (zh) |
GB (1) | GB2555699A (zh) |
MX (1) | MX2017011507A (zh) |
RU (1) | RU2017130021A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113340313A (zh) * | 2020-02-18 | 2021-09-03 | 北京四维图新科技股份有限公司 | 导航地图参数确定方法及装置 |
US11393116B2 (en) * | 2018-08-31 | 2022-07-19 | Canon Kabushiki Kaisha | Information processing apparatus, method thereof, and non-transitory computer-readable storage medium |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10678244B2 (en) | 2017-03-23 | 2020-06-09 | Tesla, Inc. | Data synthesis for autonomous control systems |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
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 |
US10551838B2 (en) * | 2017-08-08 | 2020-02-04 | Nio Usa, Inc. | Method and system for multiple sensor correlation diagnostic and sensor fusion/DNN monitor for autonomous driving application |
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 |
DE102018204451A1 (de) | 2018-03-22 | 2019-09-26 | Conti Temic Microelectronic Gmbh | Verfahren und Vorrichtung zur Autokalibrierung eines Fahrzeugkamerasystems |
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 |
TWI728469B (zh) * | 2018-09-27 | 2021-05-21 | 台灣塔奇恩科技股份有限公司 | 移動載具之教導路徑模組 |
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 |
JP7332403B2 (ja) * | 2019-09-11 | 2023-08-23 | 株式会社東芝 | 位置推定装置、移動体制御システム、位置推定方法およびプログラム |
KR20210061839A (ko) * | 2019-11-20 | 2021-05-28 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
US11680813B2 (en) * | 2020-01-21 | 2023-06-20 | Thinkware Corporation | Method, apparatus, electronic device, computer program, and computer readable recording medium for measuring inter-vehicle distance based on vehicle image |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103270540A (zh) * | 2010-12-30 | 2013-08-28 | 派尔高公司 | 使用摄像机网络跟踪运动对象 |
US8831290B2 (en) * | 2012-08-01 | 2014-09-09 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for determining poses of vehicle-mounted cameras for in-road obstacle detection |
US20150243044A1 (en) * | 2012-09-21 | 2015-08-27 | The Schepens Eye Research Institute, Inc. | Collision Prediction |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192145B1 (en) * | 1996-02-12 | 2001-02-20 | Sarnoff Corporation | Method and apparatus for three-dimensional scene processing using parallax geometry of pairs of points |
DE102013202166A1 (de) * | 2013-02-11 | 2014-08-28 | Rausch & Pausch Gmbh | Linearaktuator |
US9563951B2 (en) * | 2013-05-21 | 2017-02-07 | Magna Electronics Inc. | Vehicle vision system with targetless camera calibration |
EP2851870B1 (en) * | 2013-09-20 | 2019-01-23 | Application Solutions (Electronics and Vision) Limited | Method for estimating ego motion of an object |
US9495761B2 (en) * | 2013-11-04 | 2016-11-15 | The Regents Of The University Of California | Environment mapping with automatic motion model selection |
JP6201148B2 (ja) * | 2013-12-20 | 2017-09-27 | パナソニックIpマネジメント株式会社 | キャリブレーション装置、キャリブレーション方法、キャリブレーション機能を備えた移動体搭載用カメラ及びプログラム |
US20170005316A1 (en) * | 2015-06-30 | 2017-01-05 | Faraday&Future Inc. | Current carrier for vehicle energy-storage systems |
-
2016
- 2016-09-08 US US15/259,724 patent/US20180068459A1/en not_active Abandoned
-
2017
- 2017-08-25 RU RU2017130021A patent/RU2017130021A/ru not_active Application Discontinuation
- 2017-08-29 GB GB1713809.0A patent/GB2555699A/en not_active Withdrawn
- 2017-09-07 DE DE102017120709.0A patent/DE102017120709A1/de active Pending
- 2017-09-07 CN CN201710799577.7A patent/CN107808390A/zh active Pending
- 2017-09-07 MX MX2017011507A patent/MX2017011507A/es unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103270540A (zh) * | 2010-12-30 | 2013-08-28 | 派尔高公司 | 使用摄像机网络跟踪运动对象 |
US8831290B2 (en) * | 2012-08-01 | 2014-09-09 | Mitsubishi Electric Research Laboratories, Inc. | Method and system for determining poses of vehicle-mounted cameras for in-road obstacle detection |
US20150243044A1 (en) * | 2012-09-21 | 2015-08-27 | The Schepens Eye Research Institute, Inc. | Collision Prediction |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11393116B2 (en) * | 2018-08-31 | 2022-07-19 | Canon Kabushiki Kaisha | Information processing apparatus, method thereof, and non-transitory computer-readable storage medium |
CN113340313A (zh) * | 2020-02-18 | 2021-09-03 | 北京四维图新科技股份有限公司 | 导航地图参数确定方法及装置 |
CN113340313B (zh) * | 2020-02-18 | 2024-04-16 | 北京四维图新科技股份有限公司 | 导航地图参数确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
RU2017130021A (ru) | 2019-02-25 |
GB2555699A (en) | 2018-05-09 |
MX2017011507A (es) | 2018-09-21 |
DE102017120709A1 (de) | 2018-03-08 |
GB201713809D0 (en) | 2017-10-11 |
US20180068459A1 (en) | 2018-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107808390A (zh) | 使用来自单摄像机的数据的对象距离估算 | |
US10853670B2 (en) | Road surface characterization using pose observations of adjacent vehicles | |
KR102629651B1 (ko) | 신경망 이미지 프로세싱을 사용하는 3d 경계 박스들로서의 직접 차량 검출 | |
CN107914708A (zh) | 后方障碍物检测和距离估算 | |
US11138751B2 (en) | Systems and methods for semi-supervised training using reprojected distance loss | |
US10810754B2 (en) | Simultaneous localization and mapping constraints in generative adversarial networks for monocular depth estimation | |
JP7052174B2 (ja) | 将来経路を推定するシステム及び方法 | |
CN108470147A (zh) | 使用单目摄像机和深度学习的自由空间检测 | |
AU2017302833B2 (en) | Database construction system for machine-learning | |
JP6574611B2 (ja) | 立体画像に基づいて距離情報を求めるためのセンサシステム | |
Adarve et al. | Computing occupancy grids from multiple sensors using linear opinion pools | |
CN111442776A (zh) | 顺序地面场景图像投影合成与复杂场景重构的方法及设备 | |
CN106980813A (zh) | 机器学习的注视生成 | |
US11755917B2 (en) | Generating depth from camera images and known depth data using neural networks | |
EP3942794B1 (en) | Depth-guided video inpainting for autonomous driving | |
CN105719311A (zh) | 用于检测目标的车辆***及其操作方法 | |
CN114419098A (zh) | 基于视觉变换的运动目标轨迹预测方法及装置 | |
Yeol Baek et al. | Scene understanding networks for autonomous driving based on around view monitoring system | |
KR101030317B1 (ko) | 스테레오 비전을 이용하여 장애물을 추적하는 장치 및 방법 | |
KR20180047149A (ko) | 충돌 위험 경고 장치 및 방법 | |
KR101868898B1 (ko) | 자율주행을 위한 차선 인식 방법 및 장치 | |
Bhaggiaraj et al. | Deep Learning Based Self Driving Cars Using Computer Vision | |
US20230109473A1 (en) | Vehicle, electronic apparatus, and control method thereof | |
EP4137845A1 (en) | Methods and systems for predicting properties of a plurality of objects in a vicinity of a vehicle | |
Yoder et al. | Experiments in vision-laser fusion using the bayesian occupancy filter |
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 |
Application publication date: 20180316 |
|
WD01 | Invention patent application deemed withdrawn after publication |