CN107914708B - 后方障碍物检测和距离估算 - Google Patents

后方障碍物检测和距离估算 Download PDF

Info

Publication number
CN107914708B
CN107914708B CN201710924480.4A CN201710924480A CN107914708B CN 107914708 B CN107914708 B CN 107914708B CN 201710924480 A CN201710924480 A CN 201710924480A CN 107914708 B CN107914708 B CN 107914708B
Authority
CN
China
Prior art keywords
frame
feature
image
component
determining
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.)
Active
Application number
CN201710924480.4A
Other languages
English (en)
Other versions
CN107914708A (zh
Inventor
张艺
维迪亚·那利亚姆布特·穆拉里
玛德琳·J·吴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ford Global Technologies LLC
Original Assignee
Ford Global Technologies LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ford Global Technologies LLC filed Critical Ford Global Technologies LLC
Publication of CN107914708A publication Critical patent/CN107914708A/zh
Application granted granted Critical
Publication of CN107914708B publication Critical patent/CN107914708B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/0097Predicting future conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0043Signal treatments, identification of variables or parameters, parameter estimation or state estimation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures

Abstract

本公开涉及用于估算或确定车辆运动和/或距后置摄像机的视野内的对象的距离的系统和方法。一种利用运动恢复结构进行后方障碍物检测的方法包括识别与第二帧中的特征对应的第一帧中的图像特征,其中第一帧和第二帧包括由车辆的后置摄像机捕获的相邻的图像帧。该方法包括基于图像特征来确定用于非平面运动模型的参数。该方法包括基于用于非平面运动模型的参数来确定摄像机运动。

Description

后方障碍物检测和距离估算
技术领域
本公开涉及障碍物检测和对象距离估算,并且更具体地涉及利用用于车辆智能的单目后置摄像机采用自运动(ego-motion)补偿的对象距离估算。
背景技术
机动车辆为商业、政府和私营企业提供很大一部分运输。目前正在开发和部署自主车辆和驾驶辅助系统以提供安全功能、减少所需的用户输入的量、或甚至完全消除用户参与。例如,一些驾驶辅助系统,例如防撞系统,当人正在驾驶时可以监测车辆和其他对象的行驶、位置和速度。当系统检测到碰撞或撞击即将发生时,防撞系统可以干预并施加制动、使车辆转向、或执行其他避免或安全操纵。作为另一个示例,自主车辆可以在很少或没有用户输入的情况下驾驶、导航和/或停放车辆。然而,由于驾驶涉及的危险性和车辆的费用,非常重要的是,自主车辆和驾驶辅助系统安全地操作并且能够在各种不同的驾驶环境中准确地导航道路。
发明内容
根据本发明,提供一种利用运动恢复结构进行后方障碍物检测的方法,该方法包括:
识别与第二帧中的特征对应的第一帧中的图像特征,其中第一帧和第二帧包括由车辆的后置摄像机捕获的相邻的图像帧;
基于图像特征来确定用于非平面运动模型的参数;以及
基于用于非平面运动模型的参数来确定摄像机运动。
根据本发明的一个实施例,该方法进一步包括基于第一帧或第二帧内的像素强度或二维位置中的一个或多个来将一个或多个特征点识别为同一对象的一部分。
根据本发明的一个实施例,该方法进一步包括:
在三维空间中重建特征点;以及
基于第一帧和第二帧中的预定义地面区域内的特征点来确定特征点在三维空间中的位置的尺度。
根据本发明的一个实施例,该方法进一步包括基于相应的特征点来确定一个或多个对象的高度。
根据本发明的一个实施例,该方法进一步包括确定距高度高于阈值的一个或多个对象的距离。
根据本发明的一个实施例,该方法进一步包括通知驾驶员或自动驾驶系统高度高于阈值的对象的存在。
根据本发明的一个实施例,该方法进一步包括将特征分类为内围值和离群值,其中确定参数包括基于内围值来确定。
根据本发明的一个实施例,该方法进一步包括对图像特征执行局部光束法平差以提高精度。
根据本发明,提供一种利用运动恢复结构进行后方障碍物检测的系统,该系统包括:
图像部件,该图像部件被配置为获得在车辆移动期间由单目摄像机捕获的一系列图像帧;
特征部件,该特征部件被配置为识别与第二帧中的特征对应的第一帧中的图像特征,其中第一帧和第二帧包括一系列图像帧中的相邻的图像帧;
模型参数部件,该模型参数部件被配置为基于图像特征来确定用于非平面运动模型的参数;以及
运动部件,该运动部件被配置为基于用于非平面运动模型的参数来确定摄像机运动。
根据本发明的一个实施例,该系统进一步包括对象检测部件,该对象检测部件被配置为基于第一帧或第二帧内的像素强度或二维位置中的一个或多个来将一个或多个特征点识别为同一对象的一部分。
根据本发明的一个实施例,该系统进一步包括重建部件,该重建部件被配置为:
在三维空间中重建特征点;并且
基于第一帧和第二帧中的预定义地面区域内的特征点来确定特征点在三维空间中的位置的尺度。
根据本发明的一个实施例,该系统进一步包括对象检测部件,该对象检测部件被配置为基于相应的特征点的位置来确定一个或多个对象的高度。
根据本发明的一个实施例,该系统进一步包括距离部件,该距离部件被配置为确定距高度高于阈值的一个或多个对象的距离。
根据本发明的一个实施例,该系统进一步包括通知部件,该通知部件被配置为通知驾驶员或自动驾驶系统高度高于阈值的一个或多个对象的存在。
根据本发明的一个实施例,其中特征部件被进一步配置为将特征分类为内围值或离群值,其中模型参数部件被配置为确定参数包含基于内围值来确定。
根据本发明的一个实施例,其中特征部件被进一步配置为对图像特征执行局部光束法平差以提高精度。
根据本发明,提供一种计算机可读存储介质,该计算机可读存储介质存储指令,该指令当由一个或多个处理器执行时,使处理器:
识别与第二帧中的特征对应的第一帧中的图像特征,其中第一帧和第二帧包括由车辆的后置摄像机捕获的相邻的图像帧;
基于图像特征来确定用于非平面运动模型的参数;以及
基于用于非平面运动模型的参数来确定摄像机运动。
根据本发明的一个实施例,其中指令进一步使一个或多个处理器基于第一帧和第二帧内的像素强度或二维位置中的一个或多个来将一个或多个特征点识别为同一对象的一部分。
根据本发明的一个实施例,其中指令进一步使一个或多个处理器:
在三维空间中重建特征点;以及
基于第一帧和第二帧中的预定义地面区域内的特征点来确定特征点在三维空间中的位置的尺度。
根据本发明的一个实施例,其中指令进一步使一个或多个处理器基于相应的特征点来确定一个或多个对象的高度。
附图说明
本公开的非限制性和非穷尽性的实施方式参照以下附图进行描述,其中贯穿几个视图,相同的附图标记指代相同的部件,除非另有说明。参考以下说明书和附图,本公开的优点将变得更好理解,附图中:
图1是根据一个实施例示出包括自动驾驶/辅助系统的车辆控制系统的实施方式的示意性框图;
图2示出了示例驾驶环境的透视图;
图3示出了另一示例驾驶环境的透视图;
图4是根据一个实施例示出用于确定基本矩阵的对极几何模型的示意图;
图5是根据一个实施例示出时间局部光束法平差(temporal local bundleadjustment)的示意图;
图6A是根据一个实施例示出距离估算的示图;
图6B是根据一个实施例示出距离估算的另一示图;
图7是根据一个实施例示出用于确定距对象的距离的方法的数据流的示意性框图;
图8是根据一个实施方式示出对象距离部件的示例部件的示意性框图;
图9是根据一个实施方式示出用于确定摄像机/车辆运动的方法的示意性框图;以及
图10是根据一个实施方式示出计算系统的示意性框图。
具体实施方式
自动驾驶系统或驾驶辅助系统可以在决策、驻车、导航或驾驶期间使用来自多个源的数据来确定最佳路径或操纵。例如,车辆可能会遇到许多对象,包括静态的和动态的。对于这种对象的检测和分类,距对象的距离对于自主或辅助驾驶或驻车而言可以是重要信息。例如,检测障碍物并且估算距障碍物的距离是自动驻车系统的重要职责。智能车辆可能需要迅速检测并估算距障碍物的距离以进行车辆驻车操纵和紧急制动。在许多情况下,挑战是确定对象的高度,以及将移动对象与静止环境区分开。
在本申请中,申请人公开了用于估算或确定车辆的运动和/或距后置摄像机视野内的对象的距离的系统、方法和装置。一种利用运动恢复结构(structure from motion)进行后方障碍物检测的系统包括图像部件、特征部件、模型参数部件和运动部件。图像部件被配置为获取在车辆移动期间由单目摄像机捕获的一系列图像帧。特征部件被配置为识别与第二帧中的特征对应的第一帧中的图像特征。第一帧和第二帧是一系列图像帧中的相邻的图像帧。模型参数部件被配置为基于图像特征来确定用于非平面运动模型的参数。运动部件被配置为基于用于平面运动模型的参数来确定摄像机运动。
在一个实施例中,可以从附接到车辆的单色或彩色摄像机来收集图像。例如,摄像机可以包括后置摄像机,例如定位成向下角度以提供车辆后方的障碍物的视图的后置倒车摄像机。在一个实施例中,系统可以使用图像稀疏特征提取和匹配、摄像机校准、图像视角变换、摄像机运动估算、图像特征高度估算、图像与真实世界尺度估算和基于针孔摄像机模型的距离估算来在驻车或驾驶期间定位对象并确定车辆的运动。
在一个实施例中,可以执行预先计算的摄像机校准并且可以存储对应的度量。例如,可以测试摄像机颜色的偏差、视角、焦点等并将其存储在后置摄像机中或者作为系统的一部分。基于由摄像机(例如,附接到车辆的后置摄像机)捕获的图像,系统可以执行车辆自运动估算。从相邻帧中提取并匹配图像特征。例如,可以提取一个图像的图像特征,并且将其与来自先前图像帧的特征进行匹配。可以基于图像特征及其与另一图像帧中的图像特征的对应性来获得基本矩阵(例如用于非平面运动模型)。可以基于特征对应性使用随机抽样一致性(RANSAC)方法来计算/估算基本矩阵。特征对应性可以分为内围值(inlier)和离群值(outlier),并且仅使用内围值来估算用于自运动的基本矩阵,因为这些内围值对应于静止特征(相对于地面)。离群值要么相对于地面是移动的要么是无效特征。在创建基本矩阵之后,通过分解矩阵的参数来估算自运动。可以执行局部光束法平差(Local bundleadjustment)以提高精度。
使用多个图像对所有稀疏特征点执行三维重建。首先,重建的几何结构可以是基于未知尺度。然而,如果图像中的预先定义的靠近摄像机的区域是地面,则可以通过将其几何结构与地面特征点相关联来估算远程静止特征点的高度。基于估算的高度和几何结构,可以确定用于特征点的真实世界尺度(例如,以厘米或英寸为单位)并将其应用于三维重建。通过将已知的静止特征几何结构(例如,地面)与重建的特征位置相关联,问题被显著简化。因此,可以通过利用运动恢复结构(SFM)管线以及缺失的尺度信息的恢复尺度来恢复特征距离。因此避免了使用最小生成树(minimum spanning tree,MST)将特征点明确分类成地面/非地面的必要性。
下面将关于附图讨论其它实施例和示例。
现在参考附图,图1示出了示例车辆控制系统100。车辆控制系统100包括自动驾驶/辅助系统102。自动驾驶/辅助系统102可以用于使车辆的操作自动化或控制车辆的操作或者向人类驾驶员提供辅助。例如,自动驾驶/辅助系统102可以控制车辆的制动、转向、加速、灯、警报、驾驶员通知、无线电或任何其他驾驶或辅助系统中的一个或多个。在另一个示例中,自动驾驶/辅助系统102可能无法对驾驶(例如,转向、加速或制动)提供任何控制,但是可以提供通知和警报以辅助人类驾驶员安全地驾驶。例如,自动驾驶/辅助系统102可以包括一个或多个控制器(例如本文所讨论的那些),该一个或多个控制器通过控制器总线提供或接收数据并且使用数据来确定要执行的动作和/或提供指令或信号以发起这些动作。自动驾驶/辅助系统102可以包括对象距离部件104,该对象距离部件104被配置为基于摄像机数据来检测和/或确定车辆的移动速度和/或距对象的距离。例如,对象距离部件104可以在驻车过程期间或在反向驾驶期间确定位于车辆后方的障碍物的位置和距其的距离。
车辆控制系统100还包括用于检测附近对象、车道标记的存在和/或确定母车辆(例如,包括车辆控制系统100的车辆)的位置的一个或多个传感器系统/装置。例如,车辆控制系统100可以包括雷达系统106、一个或多个激光雷达(LIDAR)系统108、一个或多个摄像机系统110、全球定位系统(GPS)112和/或超声系统114。车辆控制系统100可以包括用于存储用于导航和安全性的相关或有用数据(例如地图数据、驾驶历史(即,行驶历史)或其他数据)的数据存储器116。车辆控制系统100还可以包括用于与移动或无线网络、其他车辆、基础设施、云或远程计算或存储资源或任何其它通信系统进行无线通信的收发器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。该视图示出了例如倒车进入停车位或从停车位出来通过摄像机在图像中可以捕获的内容。图2包括虚线202,其表示检测到的特征在图像200和先前的图像之间的运动。类似地,图3包括虚线302,其表示检测到的特征在图像300和先前的图像之间的运动。在一个实施例中,对象距离部件104可以使用尺度不变特征变换(SIFT)算法、加速稳健特征(SURF)算法和/或快速特征点提取和描述(fast and rotated brief,ORB)算法中的一个或多个来检测和关联图像内的特征。在一个实施例中,对象距离部件104对当前帧(例如,200或300)和当前帧之前的图像执行图像特征提取。对象距离部件104可以识别特征并且将不同图像中的特征彼此相关联。例如,虚线202在指示特征的当前位置(即,在图像200中)和特征在先前图像中的位置的点之间延伸。
在一个实施例中,每条虚线202、302的起点和终点以及点之间的距离可以对应于在图像之间对象或特征所行进的距离。在一个实施例中,位置和/或点行进的距离可以用于填充运动模型。例如,对象距离部件104可以基于位置和/或行进的距离来填充用于非平面运动模型的矩阵或场。对于后视图像和/或驻车,关注的对象可以包括附近的对象。此外,后视或倒车摄像机也向下成角度以提供地面的良好视图。因为图像将可能包括附近的对象,所以可能存在距离的更大的百分比变化,并且因此仅可以使用非平面运动模型。例如,仅非平面运动模型才能够充分考虑到包括附近地面区域以及诸如汽车或路边的停车障碍物的图像。
图2和3还示出了包括车辆附近的地面/驾驶表面的区域的参考区域302、304。例如,参考区域302、304可以包括可能包括车辆后方附近的地面区域的区域。参考区域302、304以及在这些区域中检测到的任何特征可以用作其他特征的参考。例如,可以假设参考区域302、304包括车辆附近的地面,并且地面区域远离摄像机特定距离。因为距离是已知的并且其他摄像机参数是已知的,所以可以直接计算该区域中的特征的尺寸、距离或运动。这些值可以用作参考以确定不在参考区域302、304中的其他检测对象或障碍物的尺寸和尺度。
如本领域技术人员将理解的那样,图2和3通过示例的方式给出。另外,虚线202、203仅作为示例给出,并且不一定表示可以被识别的特征和/或关联性。例如,在实践中可以检测和关联更大数量的特征、附加特征或不同特征。
图4是示出非平面运动模型的操作和/或计算的图。当特征点位于三维空间中并且不位于大致相同的平面中或其上时,非平面运动模型用于近似运动。例如,在摄像机的深度或距离存在大量变化的图像中,非平面运动模型可以最准确地估算自摄像机(ego-camera)或自车辆(ego-vehicle)的运动。下面的等式1示出了使用对极几何的基本矩阵的变换,其可以用于非平面运动模型。可以理解的是,F表示基本矩阵,并且可以使用8点线性方法或8点非线性方法求解。
等式1
Figure BDA0001427330100000101
在一个实施例中,可以使用时间局部光束法平差来提高用于基本矩阵(例如,用于三维运动模型的矩阵)的特征关联性和/或参数数据的精度。例如,来自摄像机图像的噪声、特征匹配中的误差和/或运动估算中的误差可以导致用于对象的参数数据、运动估算和/或距离估算的不准确。由于系统具有多个帧,例如,作为由摄像机捕获的视频或一系列图像的一部分,系统可以通过并入来自其他图像帧的时间信息来执行光束法平差。例如,系统可以合并一段时间(例如,1或2秒)内来自多个帧的特征或对象的信息来创建平均或滤过的位置或运动数据以获取降低噪声或减小误差的信息,而不是仅仅估算来自两个连续帧的运动。图5和下面的等式2示出了用于时间局部光束法平差的一个实施例。例如,可以通过求解D来计算距图像中的点或特征的滤过距离。
等式2
Figure BDA0001427330100000102
图6是示出根据一个实施例的用于距离估算的参数的图。摄像机的图像传感器602由其上形成有图像的平面表示。根据一个实施例,可以使用下面的等式4来计算障碍物604与摄像机或图像传感器602之间的距离。
等式3
Figure BDA0001427330100000103
等式4和图6的术语表示如下:α表示相对于自车辆的初始后置摄像机俯仰(例如,根据安装);f是后置摄像机的焦距;H是初始后置摄像机高度(例如,根据安装);Δd是后置摄像机到最前面部分(head)的距离(例如,焦点与障碍物604的地面接触点之间的距离);θ和Δh使用来自非平面运动模型的运动估算得到(θ表示车辆的俯仰,并且Δh表示对象的高度在传感器上的变化);h是接触点中心距离(例如,特定像素和传感器阵列的垂直传感器之间的距离;以及D是距对象的距离(例如,距对象的地面接触点的距离)。
在一个实施例中,计算高度高于阈值的每个对象或障碍物的距离。例如,可以存储车辆特有的阈值高度(例如,4英寸、6英寸或其他高度)。基于场景的三维重建,识别高度等于或高于阈值高度的特征点的对象,并且然后计算距障碍物的地面接触位置或其他部分的距离。
图7是示出基于一系列摄像机图像来确定距车辆后部的对象或障碍物的距离的方法700的数据流的示意性框图。提供图像702(例如来自视频馈送的图像)进行对象检测704。在一个实施例中,对象检测704检测图像内的对象。例如,对象检测704可以产生对象的类型或类别的指示及其在每个图像内的二维位置。在一个实施例中,使用深层神经网络来执行对象检测704,其中图像被馈送到深层神经网络中。对象检测704可以产生一个或多个对象的对象二维位置706。在一个实施例中,具有相似二维位置、颜色和/或强度并且具有一起移动的特征点的像素可以被识别为同一对象的一部分。
图像702也被提供用于自运动估算708。如本文所讨论的,自运动估算可以包括特征提取和关联、估算车辆运动、稀疏特征点重建和局部光束法平差。在一个实施例中,自运动估算708可以产生关于车辆运动710的信息。关于车辆运动710的信息可以包括诸如帧或其他速度指示之间行进的距离的信息。关于车辆运动710的信息可以包括诸如摄像机的偏移角度、诸如基于在自车辆或参考对象的位置处的道路斜率车辆相对于道路的倾斜的信息。
基于车辆运动和对象二维位置706来执行距离估算712。例如,距离估算712可以计算自摄像机或自车辆与图像特征或对象之间的距离。在一个实施例中,可以通过将通过对象检测704所确定的对象的像素位置与如关于图6所示和描述的计算出的距离相关联来执行距离估算。距离估算712可以产生在对象检测704期间检测到的特定对象的对象距离714。基于对象距离和对象高度,诸如图1的自动驾驶/辅助系统102的车辆的控制系统可以做出驾驶和/或避免碰撞的决策。例如,地面上的小物体或隆起物可能不会影响驾驶,而避开路边、护柱、车辆或其他较大物体。
参见图8,示出了根据一个实施例的对象距离部件104的部件的示意性框图。对象距离部件104包括图像部件802、特征部件804、模型参数部件806、运动部件808、重建部件810、对象检测部件812、距离部件814以及通知部件816。部件802-816仅以示例的方式给出,并且可能并不全部包括在所有实施例中。事实上,一些实施例可以包括部件802-816中的仅一个或两个或更多个的任何组合。例如,部件802-816中的一些可以位于对象距离部件104的外部,诸如在自动驾驶/辅助系统102内或其他地方。
图像部件802被配置为从车辆的摄像机获取和/或存储图像。例如,图像可以包括由车辆的单目摄像机捕获到的视频图像。图像可以包括来自车辆的后置摄像机(例如倒车摄像机或后视摄像机)的图像。图像可以作为描绘在车辆前方或其附近的实时或接近实时环境的一系列图像来存储和/或接收。
特征部件804被配置为检测图像内的图像特征。图像特征可以包括位于高对比度边界处的像素、具有高频内容的位置等。例如,对象的边界相对于周围环境通常具有高对比度。类似地,多颜色对象可以包括同一对象内的高对比度边界。对象的角落或关于对象的设计可以被识别为图像特征。参见例如图2和图3的虚线202、302。在一个实施例中,特征部件804检测图像内的所有特征,包括地面上的那些。例如,就车辆摄像机而言,驾驶表面通常具有比相邻结构、灌木丛或道路附近的其它对象或结构更少的特征。然而,通常还检测一些地面特征,例如岩石、车道标记、裂纹、路面纹理等。
在一个实施例中,特征部件804将图像或图像帧中的特征与一系列图像中的相邻图像或图像帧中的特征相关联。例如,在车辆移动期间,与建筑物的角落、车辆或其他对象对应的特征在相邻帧中可以处于不同的位置处。特征部件804可以将对应于位于第一图像内的第一位置处的角落的特征与对应于位于第二图像内的第二位置处的相同角落的特征相关联。因此,关于在不同位置处的相同特征的信息对于计算在两个帧之间车辆行进的距离以及对于对象跟踪是有用的。在一个实施例中,特征部件804可以使用ORB算法、SURF算法、光流算法、SIFT算法等来识别和关联特征。在一些实施例中,ORB算法提供精确的特征检测和关联,其具有减小的延迟。例如,SURF算法可以提供高精度但是很慢。另一方面,光流算法很快,但容易出现大的运动误差。申请人已经发现,当进行特征选择和匹配时,ORB算法为大速度增益提供了小精度折衷。
在一个实施例中,特征部件804还将检测到的特征分类为内围值或离群值。例如,一些特征可以对应于噪声、误差或甚至相对于地面正在移动的对象。可能移动的示例对象或障碍物包括行人、球、雨、冰雹等。特征部件804可以使用RANSAC算法将特征分类为内围值或离群值。例如,如果特征点不适合将被用于估算运动的模型,则特征部件804可以将它们识别为离群值。例如,模型可以表示固定对象相对于车辆如何移动。如果存在错误或对应于移动对象的特征点,则这些特征点可以被分类为离群值,并且因此可以从处理步骤(例如用于确定模型参数或车辆运动)中省略。
在一个实施例中,当已经执行特征识别和匹配时,特征部件804可以通过对图像特征执行局部光束法平差来减小噪声或误差。例如,可以使用来自多个图像帧(例如,一秒或其他时间段内的所有图像帧)的时间信息来计算图像帧中的特征的位置,其提供降低的噪声、更平滑的运动和/或减少的误差。
模型参数部件806被配置为确定用于运动模型的参数。例如,模型参数部件806可以基于图像特征以及由特征部件804所确定的相关图像特征之间的距离来确定用于非平面运动模型的参数。模型参数部件806可以填充用于可用的运动模型的参数矩阵。例如,模型参数部件806可以填充用于非平面运动模型的基本矩阵。可以基于特征的位置和相邻图像之间的对应特征之间的距离来计算参数的值。在一个实施例中,模型参数部件806在确定参数期间省略被分类为离群值的特征。例如,模型参数部件806可用仅使用通过RANSAC算法分类为内围值的特征来确定用于非平面运动模型的基本矩阵的参数。
运动部件808被配置为基于用于所选择的运动模型的参数来确定摄像机运动。例如,运动部件808可以计算在捕获两个连续图像的时间之间由摄像机(和对应的车辆)行进的距离。在一个实施例中,运动部件808计算关于图6和等式3所示和描述的θ、Δh和/或Δd。在一个实施例中,运动部件808仅基于来自单个单目摄像机的图像数据来确定车辆的运动。在一个实施例中,运动信息可以用于要由车辆控制系统(例如自动驾驶/辅助系统102)执行的距离估算、障碍物避免或其他处理或决策。
重建部件810被配置为基于运动模型来重建三维场景。在一个实施例中,重建部件810被配置为基于运动模型来重建三维稀疏特征点。重建的场景可以包括与由特征部件804检测到的特征对应的点。在一个实施例中,可以使用未知尺度来重建场景。例如,可以使用未知的或可以稍后指定的单位距离来构建场景。在一个实施例中,重建部件810基于预先定义的地面区域内的特征点来确定三维空间中的特征点的位置的尺度。例如,距图2-3的参考区域302、304内的特征的距离可以基于车辆的已知高度以及摄像机校准参数来计算。利用这些已知的值,也可以计算其他对象或障碍物的距离、高度和尺度。
利用计算的/估算的尺度和三维场景的重建,可以确定距任何特征点和对应物品的距离。在一个实施例中,确定从地面到高于阈值高度的每个特征点的距离。在一个实施例中,然后可以将重建的场景用于由车辆控制系统(例如自动驾驶/辅助系统102)执行的距离估算、障碍物避免或其他处理或决策。
对象检测部件812被配置为检测由图像部件802获取或存储的图像内的对象。例如,对象检测部件812可以处理每个图像以检测诸如车辆、行人、动物、骑车者、道路碎屑、道路标志、障碍物等对象。对象可以包括静止或移动的对象。在一个实施例中,对象检测部件812还可以将对象分类为特定类型的对象。示例对象类型可以包括静止对象或移动对象。其他示例对象类型可以包括车辆类型、动物、道路或驾驶障碍、行人、骑车者、或对象类型的任何其他分类或指示。
在一个实施例中,对象检测部件812还确定对象的位置(例如图像帧内的二维位置)或哪个像素对应于对象的指示。在一个实施例中,对象检测部件812可以将检测到的对象与由特征部件804检测到的一个或多个特征相关联。例如,落入与对象相对应的区域内的所有特征可以被识别为对应于该对象。因此,该对象的距离、运动或其他特性可以与特征相关联,并且特征的距离、运动或其他特性可以与相应对象相关联。
在一个实施例中,基于对象和特征点的二维位置,对象检测部件可以确定对象的高度或其他维度。例如,对象检测部件812可以确定相应对象和/或对应于对象的特征点的最大高度、最大宽度等。在一个实施例中,对象检测部件812可以识别高度高于阈值的对象或障碍物,使得在驻车、驾驶等期间避开无法行驶越过的对象。
距离部件814被配置为确定摄像机或自车辆与对象之间的距离。例如,距离部件814可以基于运动模型和相应的参数和运动信息来计算等式3的距离D。距离信息可以用于由车辆控制系统(例如自动驾驶/辅助系统102)执行的障碍物避免、自动驻车或其他处理或决策。在一个实施例中,距离部件814可以确定距高度高于阈值的一个或多个对象或障碍物的距离。例如,在驻车期间可以避开高于一定高度的障碍物,而在至少某些情况下可以行驶越过其他对象(例如管道或碎屑)。
通知部件816被配置为通知驾驶员或自动驾驶/辅助系统102对象的存在。例如,通知部件816可以通知驾驶员车辆后方存在障碍物。该信息可以帮助驾驶员停放车辆而不撞击障碍物。该通知可以提供关于障碍物的细节,例如其属性(例如,行人、儿童、车辆、路边等)、其高度和/或其距车辆的距离。驾驶员或自动驾驶/辅助系统102可以使用该信息以避免与障碍物撞击的方式来停放或驾驶车辆。
图9是示出用于确定车辆的运动的方法900的示意性流程图。方法900可以通过对象距离部件(例如图1或8的对象距离部件104)来执行。
方法900开始并且特征部件804识别902与第二帧中的特征对应的第一帧中的图像特征。第一帧和第二帧是由车辆的后置摄像机捕获到的相邻的图像帧。特征部件804还可以使用RANSAC算法基于帧之间它们移动的距离来将特征分类为内围值或离群值。模型参数部件806基于图像特征来确定904用于非平面运动模型的参数。运动部件808基于用于非平面运动模型的参数来确定906摄像机运动。重建部件810在三维空间中重建908重建特征点。重建部件810还可以基于特征点及其在参考区域(例如,对应于车辆后方附近的地面的区域)中的移动来确定用于重建的尺度。距离部件814确定910距高度高于阈值的一个或多个对象的距离。在驻车或驾驶期间可以使用距离信息以避免与障碍物碰撞。
现在参考图10,示出了示例计算设备1000的框图。计算设备1000可以用于执行各种过程,例如本文所讨论的那些。计算设备1000可以用作对象距离部件104、自动驾驶/辅助系统102、服务器或任何其他计算实体。计算设备1000可以执行如本文所讨论的各种监测功能,并且可以执行一个或多个应用程序,例如本文所描述的应用程序或功能。计算设备1000可以是各种各样的计算设备中的任何一种,例如台式计算机、仪表板计算机、车辆控制系统、笔记本计算机、服务器计算机、手持式计算机、平板计算机等。
计算设备1000包括一个或多个处理器1002、一个或多个存储器设备1004、一个或多个接口1006、一个或多个大容量存储设备1008、一个或多个输入/输出(I/O)设备1010和显示设备1030,所有这些设备都连接到总线1012。处理器1002包括执行存储在存储器设备1004和/或大容量存储设备1008中的指令的一个或多个处理器或控制器。处理器1002还可以包括各种类型的计算机可读介质,例如高速缓存存储器。
存储器设备1004包括各种计算机可读介质,例如易失性存储器(例如,随机存取存储器(RAM)1014)和/或非易失性存储器(例如,只读存储器(ROM)1016)。存储器设备1004还可以包括可重写ROM,例如闪速存储器。
大容量存储设备1008包括各种计算机可读介质,例如磁带、磁盘、光盘、固态存储器(例如,闪速存储器)等等。如图10所示,特定的大容量存储设备是硬盘驱动器1024。各种驱动器也可以被包括在大容量存储设备1008中,以使得能够从各种计算机可读介质中读取和/或写入各种计算机可读介质。大容量存储设备1008包括可移动介质1026和/或不可移动介质。
I/O设备1010包括允许将数据和/或其他信息输入到计算设备1000或从计算设备1000调取数据和/或其他信息的各种设备。示例I/O设备1010包括光标控制设备、键盘、小键盘、麦克风、监视器或其他显示设备、扬声器、打印机、网络接口卡、调制解调器等。
显示设备1030包括能够向计算设备1000的一个或多个用户显示信息的任何类型的设备。显示设备1030的示例包括监视器、显示器终端、视频投影设备等。
接口1006包括允许计算设备1000与其他系统、设备或计算环境交互的各种接口。示例接口1006可以包括任何数量的不同的网络接口1020,例如到局域网(LAN)、广域网(WAN)、无线网络和因特网的接口。其他接口包括用户界面1018和外围设备接口1022。接口1006还可以包括一个或多个用户界面元件1018。接口1006还可以包括一个或多个外围接口,例如用于打印机、指示设备(鼠标、跟踪板或普通技术人员现在已知或稍后发现的任何合适的用户界面)、键盘等等。
总线1012允许处理器1002、存储设备1004、接口1006、大容量存储设备1008和I/O设备1010彼此通信以及与连接到总线1012的其它设备或部件通信。总线1012表示几种类型的总线结构中的一种或多种,例如系统总线、外围部件互连(PCI)总线、美国电气和电子工程师协会(IEEE)总线、通用串行总线(USB)等。
为了说明的目的,程序和其他可执行程序部件在本文中示出为离散块,但是应当理解的是,这样的程序和部件在不同时间可以驻留在计算设备1000的不同存储部件中,并且由处理器1002执行。可选择地,本文描述的系统和过程可以以硬件或硬件、软件和/或固件的组合来实现。例如,一个或多个专用集成电路(ASIC)可以被编程为执行本文所述的一个或多个系统和过程。
示例
以下示例涉及另外的实施例。
示例1是一种利用运动恢复结构进行后方障碍物检测的方法。该方法包括识别与第二帧中的特征对应的第一帧中的图像特征,其中第一帧和第二帧包括由车辆的后置摄像机捕获的相邻的图像帧。该方法包括基于图像特征来确定用于非平面运动模型的参数。该方法包括基于用于非平面运动模型的参数来确定摄像机运动。
在示例2中,示例1所述的方法进一步包括基于第一帧或第二帧内的像素强度或二维位置中的一个或多个来将一个或多个特征点识别为同一对象的一部分。
在示例3中,示例1-2中任一个所述的方法进一步包括在三维空间中重建特征点以及基于第一帧和第二帧中的预定义地面区域内的特征点来确定特征点在三维空间中的位置的尺度。
在示例4中,示例3所述的方法进一步包括基于相应的特征点来确定一个或多个对象的高度。
在示例5中,示例3-4中任一个所述的方法进一步包括确定距高度高于阈值的一个或多个对象的距离。
在示例6中,示例5所述的方法进一步包括通知驾驶员或自动驾驶系统高度高于阈值的对象的存在。
在示例7中,示例1-6中任一个所述的方法进一步包括将特征分类为内围值和离群值,其中确定参数包括基于内围值来确定。
在示例8中,示例1-7中任一个所述的方法进一步包括对图像特征执行局部光束法平差以提高精度。
示例9是一种利用运动恢复结构进行后方障碍物检测的系统,该系统包括图像部件、特征部件、模型参数部件和运动部件。该系统包括被配置为获得在车辆移动期间由单目摄像机捕获的一系列图像帧的图像部件。特征部件被配置为识别与第二帧中的特征对应的第一帧中的图像特征,其中第一帧和第二帧包括一系列图像帧中的相邻的图像帧。模型参数部件被配置为基于图像特征来确定用于非平面运动模型的参数。运动部件被配置为基于用于非平面运动模型的参数来确定摄像机运动。
在示例10中,示例9所述的系统进一步包括对象检测部件,该对象检测部件被配置为基于第一帧或第二帧内的像素强度或二维位置中的一个或多个来将一个或多个特征点识别为同一对象的一部分。
在示例11中,示例9-10中任一个所述的系统进一步包括重建部件,该重建部件被配置为:在三维空间中重建特征点;并且基于第一帧和第二帧中的预定义地面区域内的特征点来确定特征点在三维空间中的位置的尺度。
在示例12中,示例9-10中任一个所述的系统进一步包括对象检测部件,该对象检测部件被配置为基于相应的特征点的位置来确定一个或多个对象的高度。
在示例13中,示例12所述的系统进一步包括距离部件,该距离部件被配置为确定距高度高于阈值的一个或多个对象的距离。
在示例14中,示例13所述的系统进一步包括通知部件,该通知部件被配置为通知驾驶员或自动驾驶系统高度高于阈值的一个或多个对象的存在。
在示例15中,示例9-14中任一个所述的特征部件被进一步配置为将特征分类为内围值或离群值,其中模型参数部件被配置为确定参数包含基于内围值来确定。
在示例16中,示例9-15中的任一个所述的特征部件被进一步配置为对图像特征执行局部光束法平差以提高精度。
示例17是一种计算机可读存储介质,该计算机可读存储介质存储指令,该指令当由一个或多个处理器执行时,使处理器识别与第二帧中的特征对应的第一帧中的图像特征,其中第一帧和第二帧包括由车辆的后置摄像机捕获的相邻的图像帧。该指令进一步使一个或多个处理器基于图像特征来确定用于非平面运动模型的参数。该指令进一步使一个或多个处理器基于用于非平面运动模型的参数来确定摄像机运动。
在示例18中,示例17所述的指令进一步使一个或多个处理器基于第一帧和第二帧内的像素强度或二维位置中的一个或多个来将一个或多个特征点识别为同一对象的一部分。
在示例19中,示例17-18中任一个所述的指令进一步使一个或多个处理器:在三维空间中重建特征点;以及基于第一帧和第二帧中的预定义地面区域内的特征点来确定特征点在三维空间中的位置的尺度。
在示例20中,示例17-19中任一个所述的指令进一步使一个或多个处理器基于相应的特征点来确定一个或多个对象的高度。
示例21是包括用于实现示例1-20中任一个所述的方法、系统或装置的手段的系统或设备。
在以上公开内容中,参考附图,附图形成本公开的一部分并且在附图中通过例证示出可以实践本公开的特定实施方式。应当理解的是,在不脱离本公开的范围的前提下,可以利用其他实施方式并且可以进行结构变化。说明书中引用“一个实施例”、“一实施例”,“一个示例实施例”等表明所描述的实施例可以包括特定特征、结构或特性,但每一个实施例可能未必包括特定特征、结构或特性。另外,这样的短语未必是指同一实施例。此外,当特定特征、结构、或特性关于一个实施例进行描述时,可以主张的是,无论是否明确描述,关于其他实施例改变这样的特征、结构或特性在本领域技术人员的知识的范围之内。
本文所公开的系统、装置和方法的实施方式可以包含或利用专用或通用计算机,该专用或通用计算机包括计算机硬件,例如,一个或多个处理器和系统存储器,如本文所讨论的。在本公开的范围内的实施方式还可以包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可以由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(装置)。承载计算机可执行指令的计算机可读介质是传输介质。因此,举例来说,而非限制,本公开的实施方式可以包含至少两种明显不同种类的计算机可读介质:计算机存储介质(装置)和传输介质。
计算机存储介质(装置)包括RAM、只读存储器ROM、电可擦除可编程只读存储器(EEPROM)、只读光盘存储器(CD-ROM)、固态驱动器(“SSD”)(例如,基于RAM)、闪速存储器、相变存储器(“PCM”)、其他类型的存储器、其它光盘存储器、磁盘存储器或其它磁性存储设备、或者可以被用于存储以计算机可执行指令或数据结构的形式的所需的程序代码手段并且可以由通用或专用计算机访问的任何其它介质。
本文所公开的装置、系统和方法的实施方式可以在计算机网络上进行通信。“网络”被定义为允许电子数据在计算机系统和/或模块和/或其他电子设备之间传输的一个或多个数据链路。当信息通过网络或另一通信连接(硬线连接、无线、或硬线连接或无线的组合)被传送或提供至计算机时,计算机适当地将该连接视为传输介质。传输介质可以包括可以被用于承载以计算机可执行指令或数据结构的形式的所需的程序代码手段并且可以由通用或专用计算机来访问的网络和/或数据链路。上述组合也应该被包括在计算机可读介质的范围之内。
计算机可执行指令包含例如指令和数据,当该指令和数据在处理器中执行时,使通用计算机、专用计算机、或专用处理设备来执行某些功能或功能组。计算机可执行指令可以是例如二进制、例如汇编语言的中间格式指令、或甚至源代码。虽然本发明主题已经以针对结构特征和/或方法论动作的语言进行了描述,但是应当理解的是,在所附权利要求中限定的发明主题不一定局限于所描述的特征或以上所述的动作。相反,所描述的特征和动作被公开作为实施权利要求的示例形式。
本领域技术人员将领会的是,本公开可以在网络计算环境中通过许多类型的计算机系统配置来实践,包括内置式车辆计算机、个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器或可编程的消费者电子产品、网络个人电脑(PC)、小型计算机、大型计算机、移动电话、个人数字助理(PDA)、平板电脑、寻呼机、路由器、交换机、各种存储设备和诸如此类。本公开也可以在本地和远程计算机系统都执行任务的分布式系统环境中实践,本地和远程计算机系统通过网络链接(或者通过硬线数据链路、无线数据链路或者通过硬线和无线数据链路的组合)。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
此外,在适当情况下,本文所描述的功能可以在下列中的一种或多种中执行:硬件、软件、固件、数字部件、或模拟部件。例如,一个或多个专用集成电路(ASIC)可以被编程为执行本文所描述的系统和程序中的一个或多个。在整个说明书和权利要求书中,某些术语被用来指代特定的系统部件。术语“模块”和“部件”用于某些部件的名称以反映其在软件、硬件、电路、传感器以及诸如此类等方面的实施独立性。本领域技术人员将领会的是,部件可以通过不同的名称来称呼。本文不旨在区分名称不同但作用相同的部件。
应当指出的是,以上所讨论的传感器实施例可以包含计算机硬件、软件、固件或其任何组合以执行其功能的至少一部分。例如,传感器可以包括被配置为在一个或多个处理器中执行的计算机代码,并且可以包括由计算机代码控制的硬件逻辑/电子电路。本文提供这些示例设备是为了说明的目的,并不旨在进行限制。本公开的实施例可以在其他类型的设备中实施,如相关领域技术人员将已知的那样。
本公开的至少一些实施例涉及包含存储在任何计算机可用介质上的这样的逻辑(例如,以软件的形式)的计算机程序产品。这样的软件,当在一个或多个数据处理设备中执行时,使设备如本文所描述的那样操作。
虽然以上已经描述了本公开的各种实施例,但是应当理解的是,它们已仅通过举例的方式呈现,而非限制。对相关领域的技术人员来说将显而易见的是,形式和细节的各种改变可以在不脱离本公开的精神和范围的前提下进行。因此,本公开的广度和范围不应该被上述示例性实施例中的任一个限制,而是应该仅根据下面的权利要求书及其等同物来限定。为了说明和描述的目的,前面的描述已被呈现。它不旨在是穷尽或将本公开限制为所公开的精确形式。鉴于以上教导,许多修改和变化是可能的。此外,应该指出的是,上述替代实施方式中的任一个或全部可以以任意所需的组合使用以形成本公开的附加混合实施方式。
此外,虽然本公开的特定实施方式已被描述和说明,但是本公开不被限于所描述和所说明的特定的形式或部件的布置。本公开的范围由所附的权利要求、本申请中和不同申请中所提交的任何未来的权利要求及其等同物来限定。

Claims (12)

1.一种利用运动恢复结构进行后方障碍物检测的方法,所述方法包括:
识别与第二帧中的特征对应的第一帧中的图像特征,其中所述第一帧和所述第二帧包括由车辆的后置摄像机捕获的相邻的图像帧;
基于所述图像特征来确定用于非平面运动模型的参数;
基于所述非平面运动模型的参数在三维空间中重建特征点;
基于相应的特征点来确定一个或多个对象的高度;
确定与高度高于阈值的所述一个或多个对象的距离;
基于用于所述非平面运动模型的所述参数来确定摄像机运动;以及
通知驾驶员或自动驾驶系统所述高度高于所述阈值的所述对象的存在。
2.根据权利要求1所述的方法,进一步包括基于所述第一帧或所述第二帧内的像素强度或二维位置中的一个或多个来将一个或多个特征点识别为同一对象的一部分。
3.根据权利要求1所述的方法,进一步包括:
基于所述第一帧和所述第二帧中的预定义地面区域内的特征点来确定所述特征点在所述三维空间中的位置的尺度。
4.根据权利要求1所述的方法,进一步包括将特征分类为内围值和离群值,其中确定所述参数包括基于所述内围值来确定。
5.根据权利要求1所述的方法,进一步包括对所述图像特征执行局部光束法平差以提高精度。
6.一种利用运动恢复结构进行后方障碍物检测的系统,所述系统包括:
图像部件,所述图像部件被配置为获得在车辆移动期间由单目摄像机捕获的一系列图像帧;
特征部件,所述特征部件被配置为识别与第二帧中的特征对应的第一帧中的图像特征,其中所述第一帧和所述第二帧包括所述一系列图像帧中的相邻的图像帧;
模型参数部件,所述模型参数部件被配置为基于所述图像特征来确定用于非平面运动模型的参数;
重建部件,所述重建部件被配置为基于所述非平面运动模型的参数在三维空间中重建特征点;
对象检测部件,所述对象检测部件被配置为基于相应的特征点的位置来确定一个或多个对象的高度;
距离部件,所述距离部件被配置为确定与高度高于阈值的所述一个或多个对象的距离;
运动部件,所述运动部件被配置为基于用于所述非平面运动模型的所述参数来确定摄像机运动;
通知部件,所述通知部件被配置为通知驾驶员或自动驾驶系统所述高度高于所述阈值的所述一个或多个对象的存在。
7.根据权利要求6所述的系统,其中所述对象检测部件被配置为基于所述第一帧或所述第二帧内的像素强度或二维位置中的一个或多个来将一个或多个特征点识别为同一对象的一部分。
8.根据权利要求6所述的系统,其中所述重建部件被配置为基于所述第一帧和所述第二帧中的预定义地面区域内的特征点来确定所述特征点在所述三维空间中的位置的尺度。
9.根据权利要求6所述的系统,其中所述特征部件被进一步配置为执行下列中的一个或多个:
将特征分类为内围值或离群值,其中所述模型参数部件被配置为确定所述参数包含基于所述内围值来确定;或
对所述图像特征执行局部光束法平差以提高精度。
10.一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令当由一个或多个处理器执行时,使所述处理器:
识别与第二帧中的特征对应的第一帧中的图像特征,其中所述第一帧和所述第二帧包括由车辆的后置摄像机捕获的相邻的图像帧;
基于所述图像特征来确定用于非平面运动模型的参数;
基于所述非平面运动模型的参数在三维空间中重建特征点;
基于相应的特征点来确定一个或多个对象的高度;
确定与高度高于阈值的所述一个或多个对象的距离;
基于用于所述非平面运动模型的所述参数来确定摄像机运动;以及
通知驾驶员或自动驾驶系统所述高度高于所述阈值的所述对象的存在。
11.根据权利要求10所述的计算机可读存储介质,其中所述指令进一步使所述一个或多个处理器基于所述第一帧和所述第二帧内的像素强度或二维位置中的一个或多个来将一个或多个特征点识别为同一对象的一部分。
12.根据权利要求10所述的计算机可读存储介质,其中所述指令进一步使所述一个或多个处理器:
基于所述第一帧和所述第二帧中的预定义地面区域内的特征点来确定所述特征点在所述三维空间中的位置的尺度。
CN201710924480.4A 2016-10-07 2017-09-30 后方障碍物检测和距离估算 Active CN107914708B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/288,042 US10318826B2 (en) 2016-10-07 2016-10-07 Rear obstacle detection and distance estimation
US15/288,042 2016-10-07

Publications (2)

Publication Number Publication Date
CN107914708A CN107914708A (zh) 2018-04-17
CN107914708B true CN107914708B (zh) 2022-08-02

Family

ID=60270227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710924480.4A Active CN107914708B (zh) 2016-10-07 2017-09-30 后方障碍物检测和距离估算

Country Status (6)

Country Link
US (1) US10318826B2 (zh)
CN (1) CN107914708B (zh)
DE (1) DE102017123180A1 (zh)
GB (1) GB2557402A (zh)
MX (1) MX2017012837A (zh)
RU (1) RU2017133756A (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318822B2 (en) * 2017-04-06 2019-06-11 GM Global Technology Operations LLC Object tracking
KR20170061640A (ko) * 2017-04-26 2017-06-05 (주)디렉션 원근법 대응 이미지 보정 방법 및 장치
JP2019028870A (ja) * 2017-08-02 2019-02-21 ルネサスエレクトロニクス株式会社 移動体制御システム、移動体制御方法、及びプログラム
US10836379B2 (en) * 2018-03-23 2020-11-17 Sf Motors, Inc. Multi-network-based path generation for vehicle parking
GB2573792B (en) * 2018-05-17 2022-11-09 Denso Corp Surround monitoring system for vehicles
EP3591956A1 (en) * 2018-07-06 2020-01-08 Continental Automotive GmbH Device for determining camera blockage
KR102616205B1 (ko) * 2018-10-08 2023-12-21 주식회사 에이치엘클레무브 후방 경보 장치, 그 방법 및 제어 시스템
CN109760688B (zh) * 2018-12-29 2020-07-28 百度在线网络技术(北京)有限公司 路段信息确定方法、装置、车辆及计算机可读存储介质
CN111583324B (zh) * 2019-02-19 2023-11-28 顺丰科技有限公司 单目图像深度估测装载率识别方法和装置
CN109949364B (zh) * 2019-04-01 2023-04-11 上海淞泓智能汽车科技有限公司 一种基于路侧单目摄像头的车辆姿态检测精度优化方法
CN110135377B (zh) * 2019-05-21 2022-10-14 北京百度网讯科技有限公司 车路协同中物体运动状态检测方法、装置和服务器
CN112389419B (zh) * 2019-08-12 2022-04-08 欧特明电子股份有限公司 识别停车位的方法和停车辅助系统
CN111813116A (zh) * 2020-07-09 2020-10-23 海南发控智慧环境建设集团有限公司 一种基于三维模型的避障辅助系统
CN113071480B (zh) * 2021-04-30 2022-06-03 重庆长安汽车股份有限公司 自动泊车障碍物检测方法、泊车方法、系统及车辆
KR20220154379A (ko) * 2021-05-13 2022-11-22 삼성전자주식회사 보행자와 카메라 간 거리의 추정 방법 및 장치
CN114565674B (zh) * 2022-03-03 2023-07-04 江苏集萃清联智控科技有限公司 自动驾驶车辆城市结构化场景纯视觉定位方法及装置
CN114494444A (zh) * 2022-04-15 2022-05-13 北京智行者科技有限公司 障碍物动静态估计方法及电子设备和存储介质
CN114979596A (zh) * 2022-05-27 2022-08-30 峰米(重庆)创新科技有限公司 投影画面控制方法、投影设备、计算机设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7446798B2 (en) 2003-02-05 2008-11-04 Siemens Corporate Research, Inc. Real-time obstacle detection with a calibrated camera and known ego-motion
EP2071515A1 (en) 2007-12-11 2009-06-17 Honda Research Institute Europe GmbH Visually tracking an object in real world using 2D appearance and multicue depth estimations
CN101336856B (zh) * 2008-08-08 2010-06-02 西安电子科技大学 辅助视觉系统的信息获取与传递方法
DE102010063133A1 (de) * 2010-12-15 2012-06-21 Robert Bosch Gmbh Verfahren und System zur Bestimmung einer Eigenbewegung eines Fahrzeugs
CN102774380A (zh) * 2011-05-12 2012-11-14 无锡维森智能传感技术有限公司 一种判断车辆行驶状态的方法
KR101309519B1 (ko) 2012-02-21 2013-09-24 중앙대학교 산학협력단 객체 추적 장치 및 방법
US10008002B2 (en) * 2012-02-28 2018-06-26 NXP Canada, Inc. Single-camera distance estimation
US20140055615A1 (en) * 2012-08-27 2014-02-27 Stephen Chen Parking assistant device
US9070202B2 (en) 2013-03-14 2015-06-30 Nec Laboratories America, Inc. Moving object localization in 3D using a single camera
CN103150748B (zh) * 2013-03-18 2017-03-22 大连慈航电子有限公司 倒车影像3d 场景重构方法和系统
EP2851870B1 (en) 2013-09-20 2019-01-23 Application Solutions (Electronics and Vision) Limited Method for estimating ego motion of an object
JP6231345B2 (ja) * 2013-10-18 2017-11-15 クラリオン株式会社 車両用発進支援装置
CN105869136A (zh) * 2015-01-22 2016-08-17 北京雷动云合智能技术有限公司 一种基于多摄像机的协作式视觉slam方法
US20160214536A1 (en) * 2015-01-23 2016-07-28 Glenn S. Burdge Door-Mounted Side View Camera System For A Vehicle

Also Published As

Publication number Publication date
US20180101739A1 (en) 2018-04-12
GB201715742D0 (en) 2017-11-15
US10318826B2 (en) 2019-06-11
MX2017012837A (es) 2018-09-27
DE102017123180A1 (de) 2018-04-19
GB2557402A (en) 2018-06-20
CN107914708A (zh) 2018-04-17
RU2017133756A (ru) 2019-03-28

Similar Documents

Publication Publication Date Title
CN107914708B (zh) 后方障碍物检测和距离估算
US11216972B2 (en) Vehicle localization using cameras
US11847917B2 (en) Fixation generation for machine learning
US10949997B2 (en) Vehicle localization systems and methods
US20180068459A1 (en) Object Distance Estimation Using Data From A Single Camera
US11062167B2 (en) Object detection using recurrent neural network and concatenated feature map
US11948249B2 (en) Bounding box estimation and lane vehicle association
US10055652B2 (en) Pedestrian detection and motion prediction with rear-facing camera
US20170369057A1 (en) Lane Detection Systems And Methods
US20180239969A1 (en) Free Space Detection Using Monocular Camera and Deep Learning
Nambi et al. FarSight: a smartphone-based vehicle ranging system
US11967109B2 (en) Vehicle localization using cameras
RU2775817C2 (ru) Способ и система для обучения алгоритма машинного обучения с целью обнаружения объектов на расстоянии
US20230110391A1 (en) 3d sensing and visibility estimation
Shrestha Estimation of vehicle lateral position using the optical flow method

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