CN114648743A - 三维交通标志检测 - Google Patents
三维交通标志检测 Download PDFInfo
- Publication number
- CN114648743A CN114648743A CN202110519670.4A CN202110519670A CN114648743A CN 114648743 A CN114648743 A CN 114648743A CN 202110519670 A CN202110519670 A CN 202110519670A CN 114648743 A CN114648743 A CN 114648743A
- Authority
- CN
- China
- Prior art keywords
- traffic sign
- camera
- size
- bounding box
- image
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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/00—Estimation 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/02—Estimation 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
- B60W40/04—Traffic conditions
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- 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/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- 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
- G06V20/582—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/647—Three-dimensional objects by matching two-dimensional images to three-dimensional objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT 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
- B60W2555/00—Input parameters relating to exterior conditions, not covered by groups B60W2552/00, B60W2554/00
- B60W2555/60—Traffic rules, e.g. speed limits or right of way
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/10024—Color image
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
Abstract
一种车辆和用于检测交通标志的三维(3D)位置并基于交通标志的3D位置控制车辆的特征的方法。从摄像头接收图像。使用神经网络对图像进行处理。所述神经网络包括交通标志类别块和旋转块,所述交通标志类别块对图像中包括的交通标志的交通标志类别进行回归,所述旋转块对交通标志的取向进行回归。交通标志的尺寸从基于交通标志类别的信息数据库中检索。基于交通标志的尺寸和取向确定交通标志的三维位置。基于交通标志的3D位置来控制车辆的特征。
Description
技术领域
技术领域通常涉及车辆,更具体地说,涉及用于检测车辆应用中使用的交通标志的方法和系统。
背景技术
车辆在各种车辆控制应用中使用交通标志检测,包括高级驾驶员辅助系统(ADAS)和自动驾驶任务,这是许多可能的例子中的两个。此类车辆控制应用可能需要使用感测系统来检测和跟踪对象,以便控制紧急制动、碰撞避免、路径规划和其他自动车辆控制功能。
可使用计算机视觉系统执行车辆中的对象检测。对象检测任务可以包括预测对象的物理尺寸(宽度、高度和长度)和对象在六个维度(6D)中的姿势,即对象的三维(3D)位置(例如目标的中心点)和围绕三个轴的旋转角。
在道路场景中的各种物体中,交通标志具有独特的特性,并对使用计算机视觉处理的检测、尺寸确定和定位提出了特殊的挑战。与其他物体不同的是,它们安装在电线杆上,因此不接触地面。交通标志是平面物体,每个交通标志的确切外观由政府规定。同一类别的交通标志有几种不同的尺寸,而且在所有其他方面往往是相同的。交通标志也是人们感兴趣的最小物体之一。如果将交通标志对象识别为交通标志类别,如果识别了交通标志类别的类型以及如果识别了交通标志在3D中的位置,则交通标志对象的检测是有用的。通常有数百种可能的交通标志类型(如停车、让行、禁止掉头等)难以区分。
因此,希望提供用于在至少3D空间坐标以及可选地还包括3D旋转坐标中检测交通标志的系统和方法。所述系统和方法可以使用相机图像(其可以是单目图像)的计算机视觉处理来检测交通标志。此外,结合附图和前述技术领域和背景,通过随后的详细描述和所附权利要求书,本发明的其它期望特征和特性将变得显而易见。
发明内容
一种检测交通标志的3D位置并基于交通标志三维位置控制车辆的特征的方法。该方法由处理器实现,包括从摄像头接收图像和使用神经网络处理图像。所述神经网络包括交通标志类别块和旋转块,所述交通标志类别块对所述图像中包括的交通标志的交通标志类别进行回归,所述旋转块对所述交通标志的取向进行回归。交通标志的尺寸根据交通标志类别从交通标志信息数据库中检索。根据交通标志的尺寸和交通标志的取向确定交通标志的3D位置。基于交通标志的3D位置来控制车辆的特征。
在实施例中,神经网络包括主干块和2D盒块,其对交通标志周围的二维(2D)边界盒的位置和尺寸进行回归。
在实施例中,神经网络包括一池化层,该池化层基于2D边界盒的位置和尺寸从主干块输出的特征映射中池化特征。
在实施例中,该方法包括基于2D边界盒在图像坐标中的位置和摄像头的固有参数计算交通标志的方位角和仰角数据或其函数,以供旋转块用于回归交通标志的取向。在实施例中,该方法包括基于2D边界盒在图像坐标中的位置和摄像头的固有参数来计算交通标志的方位角和仰角数据或其函数,并将方位角和仰角数据与池化特征级联起来以输入到旋转块。
在实施例中,神经网络在图像坐标中对交通标志周围的二维(2D)边界盒的位置和尺寸进行回归,以及基于2D边界盒的位置计算方位角和仰角。该方法包括基于二维边界盒的位置和尺寸、交通标志的取向和尺寸、方位角和仰角以及摄像头的固有参数针对Z求解一个或多个方程。Z是摄像头坐标中摄像头到交通标志的前向距离。
在实施例中,一个或多个方程基于交通标志的取向和尺寸以及方位角和仰角定义到摄像头图像平面上的摄像头投影。一个或多个方程约束投影的2D边界盒与由神经网络回归的2D边界盒一致。
在实施例中,该方法包括基于摄像头模型、2D边界盒的位置和尺寸、摄像头固有参数和Z求解交通标志的X和Y位置,其中X、Y和Z构成了交通标志在摄像头坐标中的3D位置。
在实施例中,摄像头是单目摄像头。
在实施例中,交通标志的回归取向是全局取向而不是异中心取向。
在实施例中,交通标志类别块是分类器。
在实施例中,该方法包括检测交通标志的情境数据,并基于交通标志类别和情境数据检索交通标志的尺寸。在实施例中,情境数据是道路类型或速度限制数据。
在实施例中,基于映射信息或计算机视觉处理来检测情境数据。
在实施例中,控制车辆的特征包括控制自动驾驶系统、在地图中定位车辆或控制高级驾驶员辅助系统特征。
在另一方面,提供了一种车辆。该车辆包括摄像头和配置成执行程序指令的处理器。程序指令被配置成使处理器执行如下步骤:从摄像头接收图像,使用神经网络处理图像,其中,所述神经网络包括交通标志类别块和旋转块,所述交通标志类别块对所述图像中包括的交通标志的交通标志类别进行回归,所述旋转块对所述交通标志的取向进行回归,基于所述交通标志类别从交通标志信息数据库检索所述交通标志的尺寸,基于交通标志的尺寸和交通标志的取向确定交通标志的三维(3D)位置,以及基于交通标志的3D位置控制车辆的特征。
在实施例中,神经网络包括主干块和2D盒块,其对交通标志周围的二维(2D)边界盒的位置和尺寸进行回归。
在实施例中,程序指令被配置成,基于二维边界盒在图像坐标中的位置和摄像头的固有参数,使处理器计算交通标志的方位角和仰角数据或其函数,以供旋转块使用以对交通标志的取向进行回归。
在实施例中,神经网络在图像坐标中对交通标志周围的二维(2D)边界盒的位置和尺寸进行回归,基于2D边界盒的位置计算方位角和仰角,以及基于2D边界盒的位置和尺寸、交通标志的取向和尺寸、方位角和仰角以及摄像头的固有参数针对Z求解一个或多个方程。Z是摄像头坐标中摄像头到交通标志的前向距离。
在实施例中,控制车辆的特征包括控制自动驾驶系统、在地图中定位车辆或控制高级驾驶员辅助系统特征。
附图说明
下面将结合以下附图描述示例性实施例,其中相似的数字表示相似的元件,其中:
图1是根据示例性实施例的包括具有交通标志检测功能的控制系统的车辆的功能框图;
图2是根据示例性实施例的图1的车辆控制系统的功能框图;
图3是根据示例性实施例的由图1的车辆和图2的控制系统执行的交通标志检测和三维(3D)定位的数据流图;和
图4是根据示例性实施例的用于实现交通标志检测的方法的流程图,该方法可结合图1的车辆和图2的控制系统使用。
具体实施方式
以下详细描述仅为示例性描述,并不旨在限制应用和用途。此外,不受上述技术领域、背景、概要或以下详细描述中所提出的任何明示或暗示的理论的约束。如本文所使用的,术语模块是指专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享的、专用的或组)和存储器、组合逻辑电路和/或提供所述功能的其他合适部件。
图1示出了根据示例性实施例的车辆100或汽车。如下文更详细地描述的,车辆100包括控制系统102,该控制系统102包括神经网络结构,该神经网络结构基于检索交通标志的标准化尺寸,为摄像头图像中的每个交通标志输出3D位置。神经网络从来自于例如单个(单目)摄像头的图像中检测交通标志,单个(单目)摄像头包括每个交通标志的3D位置和取向。在一个例子中,神经网络对以下进行回归:2D边界盒、可选的置信度得分、交通标志类型和全局取向(例如滚动、俯仰、偏航)。利用神经网络对交通标志进行全局定位。预测一种独特的交通标志类型,并根据给定交通标志类型的交通标志大小事先已知且可从数据库中检索的事实来推断交通标志的三维尺寸。交通标志的一个或多个可能的3D位置是使用交通标志的3D平面几何、全局取向、2D边界盒和3D尺寸来计算的。
如图1所示,除上述控制系统102外,车辆100还包括底盘112、主体114、四个轮子116、电子控制系统118、转向系统150和制动系统160。主体114布置在底盘112上并且基本上包围车辆100的其他部件。主体114和底盘112可以共同形成框架。轮子116每一个都在靠近主体114的相应角处旋转地联接到底盘112。在各种实施例中,车辆100可以不同于图1中所示的车辆100。例如,在某些实施例中,轮子116的数量可以变化。作为附加示例,在各种实施例中,车辆100可以没有转向系统,并且例如可以通过差动制动进行转向,以及各种其他可能的差异。
在图1所示的示例性实施例中,车辆100包括致动器组件120。致动器组件120包括驱动轮子116的安装在底盘112上的至少一个推进系统129。致动器组件还包括转向系统150和制动系统160以及相关的转向和制动致动器。在所描绘的实施例中,致动器组件120包括发动机130。在一个实施例中,发动机130包括内燃机。在其它实施例中,致动器组件120可以包括一个或多个其它类型的发动机和/或马达,例如电动机/发电机,而不是内燃机或除了内燃机外。
仍然参考图1,发动机130通过一个或多个驱动轴134联接到至少一些轮子116。在一些实施例中,发动机130机械地联接到传动装置。在其它实施例中,发动机130可改为联接到用于驱动与传动装置机械联接的电动机的发电机。在某些其它实施例(例如,电动车辆)中,可能不需要发动机和/或传动装置。
转向系统150安装在底盘112上,并控制轮子116的转向。转向系统150包括方向盘和转向柱(未示出)。方向盘接收来自车辆100的驾驶员的输入。转向柱基于来自驾驶员的输入,通过驱动轴134为轮子116产生所需的转向角。与上面关于车辆100的可能变化的讨论类似,在某些实施例中,车辆100可以不包括方向盘和/或转向柱。此外,在某些实施例中,自动驾驶车辆可以利用由计算机生成的转向命令,而不需要驾驶员的参与。
制动系统160安装在底盘112上,为车辆100提供制动。制动系统160通过制动踏板(未示出)接收来自驾驶员的输入,并通过制动单元(也未示出)提供适当的制动。驾驶员还通过加速踏板(未示出)提供车辆期望速度或加速度的输入,以及各种车辆设备和/或系统的各种其他输入,例如一个或多个车辆无线电、其他娱乐系统、环境控制系统、照明单元、导航系统,诸如此类(也未示出)。与上面关于车辆100的可能变化的讨论类似,在某些实施例中,转向、制动和/或加速可以由计算机而不是由驾驶员来指令(在一个这样的实施例中,车辆的计算机可以使用来自雷达系统的输入来转向、制动和/或加速车辆)。
回顾图1的示例性实施例,车辆100包括一个或多个摄像头210,作为计算机视觉系统的一部分。一个或多个摄像头210可以包括仪表盘或外部前视摄像头。摄像头可以是能够观看130度、170度或更多前方场景的广角摄像头。摄像头可以是单目摄像头,并且可以提供至少RGB(红、绿、蓝)视频(由图像数据帧组成)或图像数据。
控制系统102安装在底盘112上。控制系统102通过使用神经网络来确定交通标志类别、交通标志的2D边界盒和交通标志取向来提供交通标志检测。交通标志的尺寸可根据交通标志类别从交通标志信息数据库中检索。交通标志的取向与摄像头固有参数结合使用,以将交通标志的尺寸投影到摄像头210的图像平面上,并且基于投影,利用通过神经网络回归的二维边界盒的尺寸的约束,可得到交通标志Z位置的解。从Z位置(摄像头坐标中的前向方向),可以另外基于摄像头模型和来自神经网络的2D边界盒的位置来确定交通标志的X和Y位置。在一个示例中,控制系统102根据下面结合图4和图3的相关数据转换进一步描述的方法400提供这些功能。
参考图2,根据示例性实施例,提供了图1的控制系统102的功能框图。如图2所示,控制系统102包括雷达系统202、包括摄像头210的附加传感器104和控制器204。摄像头210被包括为计算机视觉系统103的一部分。在所描绘的实施例中,传感器104包括一个或多个摄像头210和一个或多个光检测和测距(LIDAR)系统。计算机视觉系统103获得识别车辆100正在行驶的道路上或道路附近的物体的相应传感器信息,例如道路上或道路旁边的移动或静止车辆、行人、自行车手、动物、建筑物、树木、护栏、中央分隔带和/或道路上或道路旁边的其他物体。计算机视觉系统103被配置成获取摄像头图像并处理摄像头图像以识别交通标志的类型和6D姿势,其包括3D位置和3D取向信息。
如图2所示,控制器204联接到摄像头210。在某些实施例中,控制器204联接到一个或多个其它车辆系统(例如图1的电子控制系统118)。控制器204接收从摄像头210感测或确定的信息,执行包括交通标志类型和位置检测的对象检测,并基于交通标志信息控制车辆100的一个或多个特征。
如图2所示,控制器204包括计算机系统。在某些实施例中,控制器204还可以包括摄像头210和/或其部件。另外,应当理解,控制器204可以不同于图2中描绘的实施例。例如,控制器204可以联接到或以其他方式利用一个或多个远程计算机系统和/或其他控制系统,例如图1的电子控制系统118。
在所描绘的实施例中,控制器204的计算机系统包括处理器230、存储器232、接口234、存储设备236和总线238。处理器230执行控制器204的计算和控制功能,并且可以包括任何类型的处理器或多个处理器、诸如微处理器的单集成电路,或任何适当数量的集成电路设备和/或协同工作以完成处理单元的功能的电路板。在操作期间,处理器230执行包含在存储器232中的一个或多个程序240,并且这样控制控制器204和控制器204的计算机系统的一般操作,通常在执行本文所描述的处理时,例如下面结合图4和图3的数据流处理进一步描述的方法400。一个或多个程序240包括用于执行下文详细描述的方法400的步骤的神经网络模块245、交通标志尺寸模块226和交通标志位置模块241。
处理器230能够执行一个或多个程序(即,运行软件),以执行在程序中编码的各种任务,特别是神经网络模块245、交通标志尺寸模块226和交通标志位置模块241。处理器230可以是微处理器、微控制器、专用集成电路(ASIC)或由本领域技术人员实现的其他合适装置。
存储器232可以是任何类型的适当存储器。这将包括各种类型的动态随机存取存储器(DRAM),例如SDRAM,各种类型的静态RAM(SRAM)和各种类型的非易失性存储器(PROM、EPROM和flash)。在某些示例中,存储器232与处理器230位于和/或共同位于同一计算机芯片上。在所描绘的实施例中,存储器232存储上述参考程序240以及一个或多个存储值242,以用于进行确定。
总线238用于在控制器204的计算机系统的各个部件之间传输程序、数据、状态和其他信息或信号。接口234允许例如从系统驱动器和/或另一计算机系统到控制器204的计算机系统的通信,并且可以使用任何合适的方法和设备来实现。接口234可以包括一个或多个网络接口以与其他系统或部件通信。接口234还可以包括用于与技术人员通信的一个或多个网络接口,和/或用于连接到诸如存储设备236的存储装置的一个或多个存储接口。
存储设备236可以是任何合适类型的存储装置,包括诸如硬盘驱动器、闪存系统、软盘驱动器和光盘驱动器之类的直接存取存储装置。在一个示例性实施例中,存储设备236包括程序产品,存储器232可从其接收程序240(包括计算机模块226、241和245),该程序240执行本公开的一个或多个过程的一个或多个实施例,例如方法400的步骤(及其任何子过程)。在另一示例性实施例中,程序产品可直接存储在存储器232和/或磁盘(例如,磁盘244)中和/或被存储器232和/或磁盘(例如,磁盘244)以其他方式访问,例如下面所述的磁盘。
总线238可以是连接计算机系统和部件的任何合适的物理或逻辑构件。这包括但不限于直接硬接线连接、光纤、红外和无线总线技术。在操作期间,程序240存储在存储器232中并由处理器230执行。
应当理解,虽然在全功能计算机系统的上下文中描述了该示例性实施例,本领域技术人员将认识到,本发明的机制能够作为程序产品与用于存储程序及其指令并执行其分发的一种或多种类型的非暂时性计算机可读信号承载介质一起分发,例如,承载程序并包含存储在其中用于使计算机处理器(例如处理器230)执行和实行该程序的计算机指令的非暂时性计算机可读介质。这样的程序产品可以采取各种形式,并且无论用于执行分发的计算机可读信号承载介质的特定类型如何,本发明同样适用。信号承载介质的示例包括:可记录介质,如软盘、硬盘、存储卡和光盘,以及诸如数字和模拟通信链路等传输介质。同样应理解,控制器204的计算机系统也可以与图2中所示的实施例不同,例如,控制器204的计算机系统可以联接到或可以以其他方式利用一个或多个远程计算机系统和/或其他控制系统。
另外参考图3的数据流图300,神经网络模块245由神经网络302实现,神经网络302包括神经网络块,神经网络块包括主干块306、置信块308、2D盒块310、池化层316、旋转块326和交通标志类别块328。神经网络302接收并处理图像数据304,以便对以下进行回归:描述每个检测到的交通标志周围的2D边界盒的2D的边界盒数据314,识别每个检测到的交通标志的交通标志类型的交通标志类别数据334,描述每个检测到的交通标志的旋转姿势的交通标志取向数据336,描述从摄像头图像平面到对象的方位角和仰角的方位角和仰角数据324。交通标志尺寸模块226询问交通标志信息数据库330,以便基于交通标志类别数据334检索每个检测到的交通标志的真实世界尺寸,从而输出交通标志尺寸数据332。交通标志位置模块241实现交通标志位置计算器338,该计算器在摄像头坐标中求解交通标志的Z位置的一个或多个方程。一个或多个方程将每个交通标志的尺寸(如在交通标志尺寸数据332中定义的)投影到摄像头210的图像平面中,当投影的交通标志的大小受到二维边界盒(在二维边界盒数据中定义)的尺寸的约束时,摄像头210针对交通标志的旋转姿势(如在交通标志取向数据336中定义的)进行调整,并考虑交通标志的方位角和仰角(如在方位角和仰角数据324中定义)。交通标志位置计算器338基于摄像头模型、交通标志的Z位置和2D边界盒在图像空间中的位置来导出摄像头坐标中的交通标志的X和Y位置。因此,控制系统102基于输入图像确定3D旋转姿势(如在交通标志取向数据336中定义的)和3D空间姿势(在交通标志位置数据340中提供的X、Y和Z位置)。例如,该信息可由控制系统102使用以控制ADAS特征、自主特征或可用于映射定位操作。在一个实施例中,每个交通标志的6D姿势信息用于确定致动器120的致动器命令,致动器120包括转向系统150、制动系统160和发动机130中的至少一个。
下面将根据示例性实施例描述图3的数据流图300的块和计算器的计算和数学基础。在摄像头坐标中,X是左/右的,Y是上/下的,Z是向前的(沿摄像头210的中心光轴)。在一个摄像头模型中,透视图像遵循针孔摄像头模型,摄像头坐标[X,Y,Z]中的3D点通过与摄像头固有矩阵相乘投影到图像上:
在方程1中,fX,fY是沿X、Y轴的焦距,cx,cy表示主点,x,y是图像上投影点的坐标。面向宽度ΔX=W和高度ΔY=H的摄像头210的3D物体的放大率与Z成比例。将投影的物体包围在摄影头图像上的2D盒的大小为:
方程2和方程3中,w=Δx且h=Δy。
同一类型/类别的交通标志存在多个不同的大小,否则具有相同的外观。例如,在美国,单车道常规道路上的限速标志尺寸的大小(WxH,单位:英寸)为24x30,高速公路上的限速标志的大小为48x60。因此,如果高速公路上的距离是两倍,那么单车道道路上的限速标志在图像中的显示方式与高速公路上的限速标志完全相同。在一些欧洲国家,交通标志的尺寸是由道路的速度限制决定的。不同国家对交通标志的大小有不同的规定。由方程2和3可知,具有不同的尺寸的同一交通标志在W,H中存在不适定问题,在Z中也存在不适定问题。
围绕X、Y、Z轴的旋转分别称为俯仰、偏航和滚转,表示为α,β,γ。具有相同全局旋转的物体根据其在图像中的位置改变其外观,这可以使用对物体的方位角和仰角ψ来描述。异中心观察角(allocentric observation angles)α-ψ,可以与物体的全局旋转α,β,γ形成对比。对于平面物体(如交通标志),保持外观作为异中心旋转的函数的假设是无效的。因此,旋转块326直接使全局取向α,β,γ回归,而不是使异中心旋转回归并从中导出全局取向,如下所述。
交通标志等平面物体的透视投影单独取决于物体的取向α,β以及物体的方位角和仰角ψ,在图3的示例性实施例中,将方位角和仰角或其函数注入神经网络302的旋转块326,以允许预测物体(即交通标志)的全局旋转α,β,γ。
根据图3的示例性实施例,主干块306从摄像头210接收图像数据304。图像数据304可以是灰度或彩色图像数据。例如,图像数据304可以是RGB(红色、绿色和蓝色)图像数据。图像数据304可以是相对于车辆100的前向场景的单个图像,并且可以作为视频图像数据的一部分提供。然而,图3的数据流能够一次在单个图像上操作。在一个实施例中,从单目摄像头210接收图像数据304。在实施例中,主干块306包括处理图像数据304以提供交通标志分类(例如二进制分类)的卷积层,该交通标志分类指示图像数据是否包括交通标志(但不是交通标志的类型)。主干块306输出提供给2D盒块310的特征映射数据312的形式的特征映射,2D盒块310使用卷积层来对用于图像数据304中标识的每个交通标志周围的2D边界盒的图像空间中的坐标进行回归。因此,训练骨干块306和2D盒块的组合以检测图像数据304中的交通标志,并输出每个交通标志的2D边界盒尺寸和坐标。边界盒数据314可以被提供为图像空间中的最小和最大x和y坐标、图像空间中的盒尺寸和盒中心x和y坐标、图像空间中的盒角x和y坐标等。在一个实施例中,主干块306是特征金字塔网络(FPN),其可以输出特征映射金字塔作为特征映射数据312,其中每个特征映射处于不同的空间分辨率/比例。主干块306可以被提供为FPN和基于ResNet18的编码器的组合,该编码器适合于检测诸如交通标志之类的小物体。
在实施例中,池化层316使用来自2D盒块310的边界盒数据来池化来自主干块306的特征。也就是说,池化层316以最适当的比例(基于由边界盒数据314定义的关注区域的大小)提取特征映射层,作为与在边界盒数据314中标识的2D边界盒相对应的特征块。
根据图3的数据流图,包括方位角和仰角数据计算器322,其基于2D边界盒数据314确定每个识别的2D边界盒的方位角和仰角或其函数。具体而言,以下方程用于确定方位角的Cos和sin函数:
方程4和5的垂直(y轴)当量用于基于yo,fY和cy计算sinψ和cosψ。在这些方程中,xo,yo表示2D边界盒在图像空间中的位置,并且可以是从2D边界盒数据314导出的2D边界盒的中心点或诸如左下角或右上角点之类的某个其它单个参考点。摄像头固有参数fX、cx、fY和cy是摄像头210的已知参数,并且在数据流图300中以摄像头固有参数320的形式被提供作为参考数据。sincossinψ和cosψ的组合或者方位角和仰角ψ本身被输出作为方位角和仰角数据324。
在图3的示例性实施例中,神经网络302包括级联块318,该级联块318将方位角和仰角数据324添加到来自池化层316的池化特征映射,并且特征的组合被输入到由交通标志类别块328和旋转块326定义的神经网络302的第二级。由于交通标志是平面物体,它们的外观不能保持恒定的异中心旋转,因此附加的输入特征cossincosψ和sinψ是预测交通标志取向的重要附加参数。此外,这些附加特征支持通过旋转块326而不是异中心旋转来直接回归交通标志的全局旋转(俯仰、偏航和滚转)。
交通标志类别块328和旋转块326从池化层316接收与每个交通标志周围的2D盒的限制区域相对应的特征映射。旋转块326另外接收级联的方位角和仰角数据324。交通标志类别块328和旋转块326是神经网络302的一部分,有时被称为子网或网络头,并且它们中的每一个包括一个或多个神经网络层,例如完全连接层。旋转块326和交通标志类别块328是分类器,用于分别对交通标志类别数据334形式的潜在的数百个交通标志中的一个,以及每个交通标志的俯仰、偏航和滚转中的一个或多个(α,β,γ)的全局坐标进行回归。在一些实施例中,只有偏航(β)由旋转块326提取。交通标志类别块328对从许多可能的类型中识别交通标志类型的交通标志类别数据334进行回归。旋转块326输出标识交通标志的全局旋转的交通标志取向数据336。
交通标志尺寸模块226(图3中未示出)接收道路类型数据342,其识别车辆100行驶的道路类型或速度限制。道路类型数据342可以由控制器204的各种模块之一提供。例如,映射应用程序可以基于车辆位置从映射特征中检索道路类型或速度限制。在另一示例中,计算机视觉系统103可以通过分析摄像头图像(例如,通过读取限速标志或检测道路的多个车道)来检测道路类型或限速。交通标志尺寸模块226进一步接收识别特定类型交通标志(例如,限速标志、停车标志、禁止掉头标志、坡度标志、禁止超车标志、单向交通标志等)的交通标志类别数据334。交通标志信息数据库330包括将规定尺寸W、H与每个交通标志类别相关联以及将规定尺寸与道路类型相关联的记录。交通标志尺寸模块226因此能够基于交通标志类别数据和道路类型数据342检索每个识别的交通标志的尺寸W、H。在其它实施例中,不使用道路类型数据342。相反,交通标志尺寸模块226从交通标志信息数据库330输出与特定交通标志类别相关联的每个交通标志尺寸。对于每个检测到的交通标志,在预测交通标志类型和可选的道路类型/速度限制之后,从交通标志信息数据库330读取其尺寸。
在图3的示例性数据流图300中,将交通标志取向数据336和交通标志尺寸数据332提供给交通标志位置计算器338。由于Z如前所述是不适定的,所以神经网络302不直接对Z进行回归。相反,在交通标志尺寸模块226已解析交通标志尺寸W、H之后,由交通标志位置计算器338解析地计算Z。交通标志位置计算器使用三维平面几何、摄像头固有校准(由摄像头固有参数320描述)、预测的偏航和俯仰(α,β,如由交通标志取向数据定义),也可以选择滚转(γ),方位角和仰角(ψ,如从方位角和仰角数据324导出的)以及交通标志真实世界尺寸(如交通标志尺寸数据332中所定义的W、H)。在下列方程中,假设α=γ=0,这对于交通标志几乎总是正确的。基于对交通标志尺寸的三维透视投影和摄像头图像平面中相应尺寸的分析,得出以下方程:
从w开始求解时,Z可通过以下计算:
从h开始求解时,Z可通过以下计算:
上述在以下条件下:
在方程6至9中,仅使用交通标志取向数据336的回归的偏航。然而,其他推导是可能的,其中较少的假设是利用俯仰,也可能还利用滚转,作为输入,尽管这将增加所需计算的复杂性。方程6至9是基于用于将具有已知取向(交通标志取向数据336)和尺寸(交通标志尺寸数据332)以及未知位置的交通标志的角投影到图像上的摄像头投影导出的。摄像头图像上的位置是从一个或多个方程6到9中提取的,该方程隐含地约束包围投影角的2D边界盒与作为边界盒数据314的一部分由神经网络302预测的2D边界盒一致。
交通标志位置计算器338可以计算单独的Z预测,一个来自方程6,一个来自方程7或方程9,或者可以基于方程6或方程7或方程9导出仅一个预测。当计算Z的两个预测时,可以通过平均或一些其他函数(例如,基于历史预测的滑动窗口选择最合理预测的函数)来组合这些预测。在一些实施例中,当道路类型数据342不用于唯一地标识一组交通尺寸并且从交通标志尺寸模块226输出多个建议(每个建议都由交通标志位置计算器338处理)时,则可以输出多个Z预测,一个或多个用于交通标志尺寸的每个输入集。在这种情况下,可以使用函数来基于与包括一个或多个最近历史Z预测的滑动窗口的一致性来选择最合理的预测。
交通标志位置计算器338还基于预测的Z并使用表示摄像头模型和摄像头固有参数320中的因子的方程1来确定交通标志的X和Y真实世界位置。这样,输出交通标志位置数据340,其可以包括每个识别的交通标志的3D X、Y和Z空间位置,并且可选地还包括基于交通标志取向数据336的3D旋转姿势信息。如上所述,交通标志位置数据340由控制系统102的一个或多个车辆控制应用使用。
图4是用于检测交通标志的3D位置并基于其控制车辆100的特征的方法400的流程图。根据示例性实施例,可以结合图1的车辆100和图2的控制系统102来实现方法400。方法400可在车辆操作期间连续实施。
如图4所示,参照图3,方法400包括从摄像头210接收图像数据的步骤410。在一个实施例中,图像数据304表示来自单目摄像头210的RGB图像。在步骤420中,通过神经网络302的主干块306和2D盒块310处理图像数据304,以对表示在图像数据304中识别的一个或多个交通标志的位置和尺寸的2D边界盒数据314进行回归。
在步骤430中,基于2D边界盒数据314和摄像头固有参数320,为每个2D边界盒计算方位角和仰角数据324。方位角和仰角数据324可以是方位角和仰角或其三角函数。池化层316用于从与每个2D边界盒对应的从主干块306回归的特征映射数据312的特征映射中提取一个或多个特征区块。一个或多个特征区块中的特征与级联块318中的方位角和仰角数据324级联。
在步骤440中,使用旋转块326基于方位角和仰角数据324的输入级联以及一个或多个特征区块的特征来对交通标志取向数据336进行回归。交通标志取向数据336可包括全局俯仰、偏航和滚转取向信息或仅偏航信息或仅偏航和俯仰信息。交通标志类别块328从多个(例如几十个或几百个)可能的交通标志类别中回归特定类别的交通标志,以提供交通标志类别数据334。
在步骤450中,基于交通标志类别数据334并通过在交通标志信息数据库330中查找交通标志尺寸,为每个识别的交通标志检索交通标志尺寸。在一个实施例中,道路类型数据342和交通标志类别数据334都要查找每个识别出的交通标志的尺寸的单个向量(包括宽度和高度),其中交通标志信息数据库330可以包括每个交通标志类别的不同道路类型/速度限制的多个条目。
在步骤460中,根据交通标志取向数据336所描述的方位和仰角数据324、交通标志的取向和尺寸,摄像头固有参数320,交通标志尺寸数据332和由2D边界盒数据314描述的2D边界盒的尺寸,计算每个交通标志的Z坐标。如上文所述,步骤460涉及求解一个或多个方程,这些方程是基于使用方位角和仰角将真实世界尺寸和交通标志的取向投影到摄像头图像平面,并将投影约束到二维边界盒的尺寸来导出的。
在步骤470中,每个交通标志的X和Y坐标可以基于2D边界盒的X和Y位置、来自步骤460的Z坐标以及基于摄像头固有参数320来计算。
在步骤480中,检测到的交通标志的X、Y和Z坐标用于车辆控制应用,包括ADAS或自主车辆控制应用中的转向、制动和/或推进控制和/或地图应用中的车辆定位。
应了解,所公开的方法、系统和车辆可能与图中所示和本文所述的方法、系统和车辆不同。例如,车辆100和控制系统102和/或其各种部件可以与图1和图2所示以及与此相关的描述的不同。另外,应当理解,方法400的某些步骤可以不同于图4中描绘的和/或上面结合其描述的那些步骤。将类似地理解,上述方法的某些步骤可以同时发生或以与图4中描绘的不同的顺序发生。
尽管在前面的详细描述中已经给出了至少一个示例性实施例,但是应当理解,存在大量的变化。还应当理解,一个或多个示例性实施例只是示例,并不打算以任何方式限制本发明的范围、适用性或配置。相反,上述详细描述将向本领域技术人员提供用于实现一个或多个示例性实施例的方便的路线图。应当理解,在不脱离所附权利要求及其法律等价物中所述的公开范围的情况下,可以对元件的功能和布置进行各种改变。
Claims (10)
1.一种检测交通标志的三维位置并基于交通标志三维位置控制车辆的特征的方法,该方法包括:
通过至少一个处理器从摄像头接收图像;
使用神经网络处理所述图像,其中所述神经网络包括交通标志类别块和旋转块,所述交通标志类别块对图像中包括的交通标志的交通标志类别进行回归,所述旋转块对交通标志的取向进行回归;
基于所述交通标志类别,通过所述至少一个处理器并从交通标志信息数据库检索交通标志的尺寸;
基于所述交通标志的尺寸和所述交通标志的取向,通过所述至少一个处理器来确定所述交通标志的三维(3D)位置;
基于所述交通标志的3D位置,通过至少一个处理器控制车辆的至少一个特征。
2.根据权利要求1所述的方法,其中,所述神经网络包括主干块和2D盒块,其对所述交通标志周围的二维(2D)边界盒的位置和尺寸进行回归。
3.根据权利要求2所述的方法,其中,所述神经网络包括池化层,该池化层基于2D边界盒的位置和尺寸从所述主干块输出的特征映射中池化特征。
4.根据权利要求2的方法,包括基于图像坐标中的2D边界盒的位置和由旋转块使用以对交通标志的取向进行回归的摄像头的固有参数,通过至少一个处理器计算交通标志的方位角和仰角数据或其函数。
5.根据权利要求3所述的方法,包括:基于图像坐标中的2D边界盒的位置和摄像头的固有参数,通过至少一个处理器来计算交通标志的方位角和仰角数据或其函数;以及将所述方位角和仰角数据与池化的特征级联以输入到所述旋转块。
6.根据权利要求1所述的方法,其中:
所述神经网络对在图像坐标中的交通标志周围的二维(2D)边界盒的位置和尺寸进行回归;
基于所述2D边界盒的位置,通过所述至少一个处理器来计算方位角和仰角;
基于所述2D边界盒的位置和尺寸、交通标志的取向和尺寸、方位角和仰角以及摄像头的固有参数,针对Z求解一个或多个方程,其中Z是摄像头坐标中摄像头到交通标志的前向距离。
7.根据权利要求6所述的方法,其中,所述一个或多个方程基于交通标志的取向和尺寸以及方位角和仰角来定义到摄像头图像平面上的摄像头投影,其中,所述一个或多个方程约束投影的2D边界盒与由所述神经网络回归的2D边界盒一致。
8.根据权利要求6所述的方法,包括基于摄像头模型、2D边界盒的位置和尺寸、摄像头固有参数和Z来求解交通标志的X和Y位置,其中,X、Y和Z构成摄像头坐标中交通标志的3D位置。
9.根据权利要求1所述的方法,其中,所述摄像头是单目摄像头。
10.一种车辆,包括:
摄像头;
与摄像头进行可操作通信的至少一个处理器,所述至少一个处理器配置为执行程序指令,其中,所述程序指令配置成使所述至少一个处理器:
从摄像头接收图像;
使用神经网络处理图像,其中所述神经网络包括交通标志类别块和旋转块,该交通标志类别块对图像中包含的交通标志的交通标志类别进行回归,该旋转块对交通标志的取向进行回归;
基于交通标志类别,从交通标志信息数据库中检索交通标志的尺寸;
基于交通标志的尺寸和交通标志的取向,确定交通标志的三维(3D)位置;
基于交通标志的三维位置控制车辆的至少一个特征。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/125,379 | 2020-12-17 | ||
US17/125,379 US11380110B1 (en) | 2020-12-17 | 2020-12-17 | Three dimensional traffic sign detection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114648743A true CN114648743A (zh) | 2022-06-21 |
Family
ID=81847034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110519670.4A Pending CN114648743A (zh) | 2020-12-17 | 2021-05-12 | 三维交通标志检测 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11380110B1 (zh) |
CN (1) | CN114648743A (zh) |
DE (1) | DE102021111977A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10928828B2 (en) * | 2018-12-14 | 2021-02-23 | Waymo Llc | Detecting unfamiliar signs |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102009048066A1 (de) * | 2009-10-01 | 2011-04-07 | Conti Temic Microelectronic Gmbh | Verfahren zur Verkehrszeichenerkennung |
EP2363827B1 (en) * | 2010-03-04 | 2012-10-10 | Harman Becker Automotive Systems GmbH | Method and device for classifying a traffic sign |
WO2015149009A1 (en) * | 2014-03-27 | 2015-10-01 | Georgia Tech Research Corporation | Systems and methods for identifying traffic control devices and testing the retroreflectivity of the same |
WO2018126228A1 (en) * | 2016-12-30 | 2018-07-05 | DeepMap Inc. | Sign and lane creation for high definition maps used for autonomous vehicles |
US10489665B2 (en) * | 2017-09-07 | 2019-11-26 | GM Global Technology Operations LLC | Systems and methods for determining the presence of traffic control personnel and traffic control signage |
JP6962131B2 (ja) * | 2017-10-25 | 2021-11-05 | 株式会社Jvcケンウッド | 車両用表示制御装置、車両用表示システム、車両用表示制御方法およびプログラム |
US10928828B2 (en) * | 2018-12-14 | 2021-02-23 | Waymo Llc | Detecting unfamiliar signs |
-
2020
- 2020-12-17 US US17/125,379 patent/US11380110B1/en active Active
-
2021
- 2021-05-07 DE DE102021111977.4A patent/DE102021111977A1/de active Pending
- 2021-05-12 CN CN202110519670.4A patent/CN114648743A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220198203A1 (en) | 2022-06-23 |
US11380110B1 (en) | 2022-07-05 |
DE102021111977A1 (de) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210365750A1 (en) | Systems and methods for estimating future paths | |
US11042157B2 (en) | Lane/object detection and tracking perception system for autonomous vehicles | |
CN113168505A (zh) | 用于自主驾驶机器的基于回归的线检测 | |
CN110618678A (zh) | 自主机器应用中的行为引导路径规划 | |
CN114902295A (zh) | 用于自主驾驶应用的三维路口结构预测 | |
CN113496290A (zh) | 使用采用模拟对象增强的图像训练机器学习模型 | |
CN112347829A (zh) | 利用障碍物和车道检测来确定环境中对象的车道分配 | |
DE112019001657T5 (de) | Signalverarbeitungsvorrichtung und signalverarbeitungsverfahren, programm und mobiler körper | |
CN115136148A (zh) | 投影使用鱼眼镜头捕获的图像用于自主机器应用中的特征检测 | |
CN114973050A (zh) | 自动驾驶应用中深度神经网络感知的地面实况数据生成 | |
US10991155B2 (en) | Landmark location reconstruction in autonomous machine applications | |
US11975738B2 (en) | Image annotation for deep neural networks | |
CN114648743A (zh) | 三维交通标志检测 | |
CN111402328A (zh) | 一种基于激光里程计的位姿计算方法及装置 | |
US11663807B2 (en) | Systems and methods for image based perception | |
CN113609888A (zh) | 利用平面单应性和自监督的场景结构理解进行对象检测 | |
US20230075425A1 (en) | Systems and methods for training and using machine learning models and algorithms | |
US11966452B2 (en) | Systems and methods for image based perception | |
EP4131174A1 (en) | Systems and methods for image based perception | |
US11919508B2 (en) | Computer vision system for object tracking and time-to-collision | |
US11893799B2 (en) | Computer vision system for object tracking and time-to-collision | |
US11756261B2 (en) | Single-perspective image relighting | |
US11443147B2 (en) | Systems and methods for object detection using stereovision information | |
US20230123899A1 (en) | Distance determination from image data | |
US20240087332A1 (en) | Object detection with images |
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 |