CN116529784A - 用于增加激光雷达数据的方法和系统 - Google Patents
用于增加激光雷达数据的方法和系统 Download PDFInfo
- Publication number
- CN116529784A CN116529784A CN202180074944.1A CN202180074944A CN116529784A CN 116529784 A CN116529784 A CN 116529784A CN 202180074944 A CN202180074944 A CN 202180074944A CN 116529784 A CN116529784 A CN 116529784A
- Authority
- CN
- China
- Prior art keywords
- simulated
- scene
- data
- scenes
- sensor data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004088 simulation Methods 0.000 claims abstract description 34
- 230000003068 static effect Effects 0.000 claims abstract description 24
- 238000012360 testing method Methods 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims abstract description 11
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000012549 training Methods 0.000 claims description 7
- 230000015654 memory Effects 0.000 claims description 6
- 230000001133 acceleration Effects 0.000 claims description 4
- 230000008447 perception Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims 1
- 230000004048 modification Effects 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 description 14
- 230000006399 behavior Effects 0.000 description 9
- 238000002372 labelling Methods 0.000 description 6
- 230000000875 corresponding effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 3
- 230000001502 supplementing effect Effects 0.000 description 3
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 208000018910 keratinopathic ichthyosis Diseases 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000003278 mimic effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- 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
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
- B60W60/00274—Planning or execution of driving tasks using trajectory prediction for other traffic participants considering possible movement changes
-
- 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/10—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 vehicle motion
- B60W40/107—Longitudinal acceleration
-
- 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
- B60W50/00—Details 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/0098—Details of control systems ensuring comfort, safety or stability not otherwise provided for
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4802—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/48—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
- G01S7/4808—Evaluating distance, position or velocity data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/251—Fusion techniques of input or preprocessed data
-
- 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
-
- 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
- B60W50/00—Details 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/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/0028—Mathematical models, e.g. for simulation
-
- 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
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo or light sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- B60W2420/408—
-
- 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
- B60W2520/00—Input parameters relating to overall vehicle dynamics
- B60W2520/10—Longitudinal speed
- B60W2520/105—Longitudinal acceleration
-
- 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/20—Static 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
Abstract
本发明涉及一种用于为陆上车辆产生模拟场景的计算机实现的方法,带有以下步骤:接收原始数据,其中,原始数据包括多个相继的激光雷达点云;将特定区域的多个激光雷达点云融合在共同的坐标系中,以便产生合并的点云;对合并的点云内的一个或多个静态对象进行定位和分类;基于合并的点云、一个或多个静态对象和至少一个相机图像产生道路信息;对多个相继的激光雷达点云内的一个或多个动态的交通参与者进行定位和分类并且产生针对所述一个或多个交通参与者的轨迹;并且基于所述一个或多个静态对象、道路信息和所创建的针对所述一个或多个交通参与者的轨迹创建模拟场景。所产生的模拟场景可以用于测试自主的驾驶功能。
Description
技术领域
本发明涉及一种用于基于激光雷达原始数据产生驾驶场景的计算机实现的方法、一种计算机可读取的数据载体和一种计算机系统。
背景技术
自主驾驶有望在日常交通中实现前所未有的舒适度和安全性。尽管各种企业进行了巨大的投资,但现有方案仍仅能在有限的条件下使用或者只能实现部分完全自主行为。对此的一个原因是缺少足够数量的驾驶场景和缺少驾驶场景的多样化。为了训练和测试自主驾驶功能,必须经过巨大的公里数来确保安全运行。因此例如无法基于道路上的实际测试在统计学上证明,自主的车辆在死亡事故方面比人类驾驶员更为安全。
通过使用模拟可以明显提高“已驶过的”公里数。然而在模拟环境中对合适的驾驶场景建模是繁琐的,并且再现所记录的传感器数据限于之前遇到的驾驶场景。
发明内容
因此本发明的任务是,提供一种更佳的方法来产生针对驾驶场景的传感器数据;尤为值得期望的是,能简单地为现有的驾驶场景扩展一些变型。
该任务通过一种按照权利要求1所述的用于为陆上车辆生成模拟场景的方法、一种按照权利要求11所述的计算机可读取的数据载体和一种按照权利要求12所述的计算机系统解决。有利的扩展设计方案是从属权利要求的主题。
因此提供了一种用于为车辆、特别是陆上车辆生成模拟场景的计算机实现的方法,该方法包括下列步骤:
·接收原始数据,其中,原始数据包括多个相继的激光雷达点云、多个相继的相机图像和多个相继的速度和/或加速度数据,
·将特定区域的多个激光雷达点云融合在一个共同的坐标系中,
以便产生合并的点云,
·对合并的点云内的一个或多个静态对象进行定位和分类,
·基于合并的点云、一个或多个静态对象和至少一个相机图像产生道路信息,
·对多个相继的激光雷达点云内的一个或多个动态的交通参与者进行定位和分类并且产生针对所述一个或多个交通参与者的轨迹,
·基于所述一个或多个静态对象、道路信息和所创建的针对所述一个或多个交通参与者的轨迹来创建模拟场景,以及
·输出模拟场景。
静态对象不会随时间改变其位置,而交通参与者的位置则可以动态地变化。术语动态的交通参与者优选也包括暂时静态的交通参与者,如停放的汽车,也就是说,在特定的时间点上运动但也可以在一定的持续时间内静止不动的交通参与者。
模拟场景优选描述连续的驾驶机动动作,如发生在由道路信息和静态对象给定的环境中的超车过程。根据动态的交通参与者的行为或轨迹,模拟场景在此可以涉及到当例如在超车过程中由于迎面而来的车辆存在碰撞危险时对安全关键的驾驶机动动作。
特定的区域可以涉及地理上由GPS坐标范围限定的区域。但也可以涉及由所记录的传感器数据限定的区域,该区域例如包括由环境传感器检测的周围环境的一个分区。
输出模拟场景可以包括将一个或多个文件储存在数据载体上和/或将信息存放在数据库中。文件或数据库中的信息可以紧接着被任意频繁读取,以便例如产生用于虚拟的驾驶测试的传感器数据。因此现有的驾驶场景可以用于测试不同的自主的驾驶功能和/或用于模拟不同的环境传感器。也可以规定,直接输出针对现有的驾驶场景的模拟的传感器数据。
按本发明的方法聚焦于激光雷达数据并且集成了场景生成的步骤,由此使模拟场景不限于固定的传感器数据,而是存在针对对象和交通参与者的相对坐标。因此可以智能地预选感兴趣的场景,但也可以对现有场景进行补充。
在本发明的一种优选的实施方式中,原始数据包括合成的传感器数据,这些合成的传感器数据在模拟环境中被传感器真实地生成。可以将由真正的车辆记录的传感器数据、合成的传感器数据或所记录的和合成的传感器数据的组合用作按本发明的方法的输入数据。
本发明的一种优选的实施方式提供了一种端到端的流水线,所述端到端的流水线带有用于所有的工具和操作/运算的限定的接口。由此可以利用在不同的工具之间的协同效应,例如使用基于场景的测试来充实模拟场景或者由这些模拟场景产生的模拟的传感器数据。
在一种优选的实施方式中,本发明还包括在输出模拟场景之前修正模拟场景的步骤、特别是通过修正至少一个轨迹和/或添加至少一个另外的动态的交通参与者来修正模拟场景的步骤。所述修正可以是任意的或者也可以是适应性的,以达到场景的期望的特性。这样的优点是,通过添加模拟场景,特别是针对关键的情形的模拟场景,可以模拟针对多个场景的传感器数据,并且因此可以提高训练数据的数量。因此使用户能用较多数量的相关数据来训练他的模型,这例如导致更好的感知算法。
在一种优选的实施方式中,重复修正模拟场景和输出模拟场景的步骤,其中,在输出模拟场景之前分别使用另一种修正,因而编排出一组模拟场景或者说模拟场景组。各个模拟场景可以具有元数据,元数据例如说明,有多少行人在模拟场景中出现和/或横穿道路。尤其可以从对静态对象和/或交通参与者的定位和辨别推导出元数据。除此之外,针对道路走向的说明、例如弯道参数或者针对周围环境的说明也可以作为元数据被添加给模拟场景。最终的数据组优选既包含原始数据也包括扩展的合成的点云。在一种优选的实施方式中,用于生成场景的计算机与数据库服务器连接和/或包括数据库,其中,现有的模拟场景存放在数据库中,因而存在的场景可以被使用用于补充模拟场景组。
在一种优选的实施方式中确定模拟场景组的至少一个特性,并且经修正的模拟场景被添加给所述模拟场景组,直至满足期望的特性。所述特性尤其可以涉及到具有特定的特征的最少数量的模拟场景。作为模拟场景组的特性,例如可以要求不同类型的模拟场景,如市中心场景、高速公路场景和/或出现了预定的对象的场景,以至少一个预定的频率出现预定的对象的场景。作为特性也可以要求,该模拟场景组的预定部分的模拟场景导致了预定的交通情形,即例如描述了一种超车过程和/或导致碰撞危险。
在一种优选的实施方式中,确定模拟场景组的特性包括在使用至少一个神经网络的情况下分析每个经修正的模拟场景和/或实施对经修正的模拟场景的至少一次模拟。通过实施模拟可以例如保证,经修正的模拟场景导致碰撞危险。
在一种优选的实施方式中,所述特性与模拟场景的至少一个特征相关联,尤其是模拟场景的统计学分布的表征性的特性,并且拓展所述模拟场景组,以便获得模拟场景的期望的统计学分布。所述特征可以例如说明,在模拟场景中是否出现和/或出现了多少预定类别的对象。也可以作为表征性特性而预定,所述模拟场景组足够大,以便能以预定的置信度执行测试。因此可以例如为不同的对象类别或交通参与者类别提供预定义数量的场景,以便为机器学习提供足够的数据量。
所述方法优选包括接收期望的传感器配置、基于模拟场景和期望的传感器配置产生模拟的传感器数据以及输出模拟的传感器数据的步骤。模拟场景包括场景的空间关系并且因此包含足够的信息,使得能产生任意的环境传感器的传感器数据。
所述方法特别优选还包括借助模拟的传感器数据训练用于感知的神经网络和/或借助模拟的传感器数据测试自主驾驶功能的步骤。
在一种优选的实施方式中,所接收到的原始数据具有比模拟的传感器数据更低的分辨率。通过先从原始数据提取出抽象的场景,可以将用更老旧的、低分辨率的传感器记录的驾驶情形也重新用于具有较高分辨率的新系统。
在一种优选的实施方式中,模拟的传感器数据包括多个的相机图像。用激光雷达传感器记录的场景可以备选或附加地转换成相机传感器的图像。
本发明还涉及一种计算机可读取的数据载体,该数据载体包含指示,当由计算机系统的处理器执行这些指示时,这些指示促使计算机系统执行按本发明的方法。
此外,本发明还涉及一种计算机系统,其包括处理器、人机接口和非易失的存储器,其中,非易失的存储器包含指令,当处理器执行这些指令时,所述指令促使计算机系统执行按本发明的方法。
处理器涉及一种通用的微处理器,其通常用作工作站计算机的中央处理单元,或者其可以包括一个或多个处理元件,它们适用于执行特定的计算,如图形处理单元。在本发明的备选的实施方式中,处理器可以被可编程逻辑组件、例如现场可编程门阵列取代或补充,可编程逻辑组件被配置成,使可编程逻辑组件能执行特定数量的运算/操作,和/或包括IP核微处理器。
接下来参考附图更为详细地阐释本发明。在此,相同的部分用一致的名称标示。所示的实施方式是强烈示意性的,也就是说,间距和横向的与垂直的尺寸并不是忠于比例的,并且倘若没有另行说明,那么也无法推导出彼此间的几何关系。
附图说明
图中:
图1是计算机系统的示例性的图表;
图2是示例性的激光雷达点云的立体视图;
图3是用于产生模拟场景的按本发明的方法的实施方式的示意性
的流程图;和
图4是示例性的合成的点云的鸟瞰图。
具体实施方式
图1示出了计算机系统的一种示例性的实施方式。
所示的实施方式包括主机PC,所述主机带有监视器DIS和诸如键盘KEY和鼠标MOU之类的输入设备。
主机PC包括:带有一个或多个核的至少一个处理器CPU;随意选择访问的工作存储器RAM;和一定数量的连接到本地总线(如PCI Express)上的设备,本地总线通过总线控制器BC与CPU交换数据。设备例如包括用于操控显示器的图形处理器GPU、用于连接外围设备的控制器USB、诸如硬盘或固态硬盘之类的非易失的存储器和网络接口NC。非易失的存储器可以包括指示,当由处理器CPU的一个或多个核执行所述指示时,所述指示促使计算机系统执行按本发明的方法。
在本发明的一种通过程式化的云在图中示出的实施方式中,主机可以包括一个或多个服务器,所述服务器包括一个或多个诸如处理器或FPGA之类的计算单元,其中,服务器通过网络与包括显示装置和输入设备的客户机连接。因此,用于生成模拟场景的方法可以部分或全部在远程服务器上执行,例如在云计算设置中。作为PC客户机的备选方案,模拟环境的图形用户界面可以在可携带计算机设备上、特别是笔记本或智能手机上显示。
图2示出了由传统的激光雷达传感器产生的示例性的点云的立体视图。原始数据(英文为Raw Data)已经用围绕识别到的车辆(英文为detected vehicles)的边界框进行标注。在对象的面朝激光雷达传感器的侧面上,测量点的密度很高,而在后侧上则由于遮挡几乎没有测量点。更远的对象在可能的情况下也可以仅由很少的点构成。
除了激光雷达传感器外,车辆通常也具有一个或多个相机、用于卫星导航信号的接收器(如GPS)、速度传感器(或车轮转速传感器)、加速度传感器和偏航传感器。在驾驶期间,这些数据优选也被储存起来并且因此可以在产生模拟场景时被考虑。相机数据除了较高的分辨率外通常也提供颜色信息,因而它们良好地补充了激光雷达数据或点云。
图3示出了用于产生模拟场景的按本发明的方法的一种实施方式的示意性的流程图。
用于生成场景的输入数据是在相继的时间点上记录/采集的点云。可选地,能使用另外的数据,如相机数据,以便例如在GPS数据不够准确时充实数据组中的信息。为了这个目的,可以使用本身已知的算法来同步地定位和绘图。
在步骤S1中(融合激光雷达点云)将特定区域的激光雷达点云合并或者说融合在一个共同的坐标系中。
为了构建一个时间上有效的/连贯的场景,不同时间点的扫描被彼此关联或者确定在点云之间的相对3D平移和3D旋转。为此使用诸如车辆测程之类的信息,其由2D平移和偏航或3D旋转信息构成并且能由车辆传感器确定,以及使用由3D平移信息构成的卫星导航数据(GPS)。这通过激光雷达测程补充,激光雷达测程在使用迭代最近点(ICP)算法的情况下提供相对3D平移和3D旋转。在此可以使用本身已知的ICP算法,如在Bouaziz等人在2013年欧洲图形学会几何处理研讨会上发表的论文《稀疏迭代最近点》中描述那样的算法。然后借助基于图的优化对这些信息进行融合,所述优化对给定的信息(在使用其协方差的情况下)进行加权并计算所产生的里程。Grisetti等人在《智能交通系统杂志》(IEEE,2(4):31-43,2010年)发表的《基于图的SLAM教程》一文中,说明了一种用于基于图优化的示例性算法。然后可以使用计算出的里程,以便将给定的传感器数据(如激光雷达、相机等)融合到一个共同的坐标系中。为了标注静态对象,在此适宜将不同的单一图像点云合并成一个经配准的点云。
在步骤S2中(对静态对象的定位和分类),对配准或合并后的点云内的静态对象进行标注,即进行定位和辨别。
静态对象数据包括建筑物、植被、道路基础设施等。配准的点云中的每个静态对象都被手动地、半自动地、自动地或通过这些方法的组合进行标注。在一种优选的实施方式中,配准或合并的点云内的静态对象借助本身已知的算法自动进行辨别和过滤。在一种备选的实施方式中,主机可以接收人类标注者的标注。
使用配准或合并的并且因此密集的点云在标注静态对象中带来了诸多优点。因为一个对象上有明显更多的点可供使用,所以确定每个单独的对象的正确的位置和正确的尺寸要简单得多。此外,在驾驶期间人们可以从不同的视角看到对象,我们因此在来自所有的方向的激光雷达点云中获得了对象上的附加的点。因此总体上能实现对对象的边界的准确得多的标注。在来自唯一视角的点云中,只有来自这个视角的点可供用于标注。当人们例如从前方观察一个对象时,那么很难确定该对象的后方的部分中的边界,因为没有信息帮助估计边界。反之,在包括多个视角的记录/采集的合并的点云中则更为清楚地定义静态对象。
在步骤S3中(生成道路信息),基于配准的点云和相机数据生成道路信息。
为了产生道路信息,对点云进行过滤,从而辨别描述道路表面的所有的点。这些点被用于估计所谓的地平面,所述地平面表示针对相应的激光雷达点云的地表面,或者在已配准的点云的情况下表示针对整个场景的地表面。在下一步骤中,从由一个或多个相机产生的图像中提取颜色信息,并且借助内在的和外在的校准信息、特别是相机的镜头焦距和视角,将颜色信息投影到地平面上。
然后借助这个图像在俯视图中创建道路。首先识别并标注车道边界。在第二步骤中辨别所谓的路段和十字路口。路段是具有恒定数量的车道的路网的部分。在下一步骤中,合并道路上的障碍物、如安全岛。随后的步骤是对道路上的标记进行标注。紧接着将各个组成部分以正确的链接组合起来,以便将所有的组成部分合并成一个道路模型,该道路模型描述针对该特定场景的路网的几何形状和语义。
在步骤S4中(对交通参与者定位和分类),对在相继的点云中的动态的对象或交通参与者进行标注。
由于交通参与者的动态行为,所述交通参与者被单独标注。因为交通参与者是运动的,不可能使用经配准的或合并的点云,所以对动态的对象或交通参与者的标注相反是在单个图像点云中进行的。每个动态的对象被标注,也就是说被定位和分类。点云中的动态的对象或交通参与者可以涉及到汽车、卡车、送货车、摩托车、骑自行车者、行人和/或动物。主机原则上可以接收人工或计算机辅助的标注的结果。在一种优选的实施方式中,自动借助本身已知的算法、特别是经训练的深度学习算法进行标注。
对于标注而言,适宜的是,考虑到至少一个与激光雷达传感器并行地拍摄的相机的图像,其由于时间上的重合而必然显示同样的对象(前提是视角相应重叠)。与稀疏的激光雷达点云相比,相机图像尤其由于较高的分辨率而包含更多的信息。在激光雷达点云中,离很远的行人(>100米)例如仅能通过唯一一个激光雷达点代表,但在相机图像中却清晰可见。因此相宜地借助本身已知的算法,如YOLO来进行相机图像上的对象识别并且进行与激光雷达点云的对应的区域的关联。相机信息因此极为有助于辨别对象并对对象进行分类;此外,基于相机信息的分类也可以帮助确定对象的尺寸。然后根据分类为不同的交通参与者使用或预定经预定的标准尺寸。这方便了再现那些从来就没有足够靠近检测车辆的交通参与者,以便能从激光雷达点云内对象上的密集的点分布来确定尺寸。
在对单个图像激光雷达点云中和倘若存在的相机图像中的交通参与者进行辨别和分类后,辨别针对各个对象的时间链。每个交通参与者被分配一个明确的ID用于所有单个记录/采集,即交通参与者出现的点云和图像。在一种优选的实施方式中,交通参与者出现的第一个图像被用于辨别对象并对对象分类,并且然后将相应的字段或相应的标签传输给接下来的图像。在一种备选的优选的实施方式中,通过相继的图像来追踪、也就是说算法追踪交通参与者。在此,在多个帧上比较识别到的对象,并且在面的重叠超过预定的阈值时,即识别到协调一致时,它们就被分配给同一交通参与者,因而识别到的对象具有相同的ID或明确的识别码。这两种技术使得能通过相继的相机图像和激光雷达点云生成一致的时间链。因此针对每个动态的对象产生时间的轨迹和空间的轨迹,这些轨迹可以用于描述模拟中交通参与者的行为。因此动态的对象沿着时间走向被关联,以便获得交通参与者的轨迹。
在步骤S5中(产生模拟场景),由静态对象、道路信息和交通参与者的轨迹创建针对模拟环境的再现场景。
优选地,将在步骤S2至S4中标注原始数据时获取的信息自动传输给模拟环境。这些信息例如包括静态对象的尺寸、类别和属性,以及对交通参与者而言则是它们的轨迹。这些信息相宜地以一种合适的文件交换格式,如JSON文件储存;JSON在此指的是JavaScript对象标记,一种用于说明场景的通用语言。
首先将包含在JSON文件中的有关道路的信息传输给模拟环境的合适的道路模型。属于此的有道路的几何形状和在标注期间确定或导入的所有的语义,例如有关哪些车道在车道段之间的边界处转入到哪些另外的车道或者在横穿十字路口时应当从哪条车道行驶到哪条车道上的信息。
紧接着将所有被标注的静态对象放置在场景中。为此从JSON文件中读取或导出针对每个对象的分类连同一些额外的属性在内。基于这些信息从3D资产库中选出一个合适的3D对象并将其放置在场景中的相应的部位处。
最后将交通参与者放置在场景中并且使这些交通参与者根据标注的轨迹运动。为此使用从轨迹中推导出的路标并且配设所需的时间信息地放置在场景中。模拟中的驾驶员模型然后重现了车辆在试驾过程期间记录的行为。
因此,借助道路信息、静态对象和交通参与者的轨迹在模拟环境中产生了“重现场景”。在此,所有的交通参与者表现得都与记录的场景中完全一样,而且重现场景可以任意频繁地重现。这使得能实现模拟环境中所记录的场景的很高的可重复性,以便例如检查驾驶功能的新版本是否有与试驾期间类似的错误行为。
在进一步的步骤中,这些重现场景被抽象为“逻辑场景”。通过如下方式从重现场景推导出逻辑场景,即,将不同的交通参与者的具体的行为抽象成机动动作,在所述机动动作中,各个参数可以在针对这些机动动作的预定的参数范围内变化。逻辑场景的参数可以尤其是相对位置、速度、加速度、针对诸如变道之类的特定的行为方式的起点以及不同的对象之间的关系。通过推导或插入有合理的参数范围的机动动作,就可能在模拟环境中实施所记录的场景的变化。这为模拟场景组的之后的扩展奠定了基础。
在步骤S6中(特性ok?),确定针对现有的一个或多个已经创建的场景的组的特性并且将其与期望值相比较。视期望的特性是否被满足而定,继续在步骤S7或步骤S9中实施。在此可以观察单个场景的一个或多个特征,即例如可以要求,所述组只包括那些存在所要求的特征的场景,或者可以从模拟场景中确定该组的表征性的特性,如频率分布。这些都可以被制定为数据组必须满足的简单或综合的标准。
对数据组在期望的规范方面的分析(“Delta分析”)可以包括例如下列问题,但不必限于下列问题:不同的对象在数据组中的分布如何?对期望的应用而言,数据库存量的目标分布是什么?尤其可以要求针对不同类别的交通参与者的最小出现频率。这可以根据元数据或模拟场景的参数进行检查。
在步骤S2至S4中对原始数据进行标注时就已经可以相宜地确定能在分析数据组时使用的特征。优选借助神经网络分析原始数据,以便辨别所述特征在实际的激光雷达点云中的分布。为此使用一系列对象识别网络、对象跟踪器以及属性识别网络,它们自动识别场景内的对象并且优选特定于应用情形地为这些对象添加属性。因为这些网络本来是创建模拟场景所需的,所以仅生成很小的附加耗费。所确定的特征可以被单独储存并且分配给模拟场景。然后可以使用自动识别的对象和对象的属性,以便分析最初记录的场景的特征。
倘若原始数据已经包含了由多个场景构成的组,那么可以将原始数据组的特性与特定于应用情形的分布进行比较。这些特性尤其可以包括物体类别的频率分布、照明和天气条件(场景的属性)。由比较结果可以确定针对数据充实的规范。例如可以确认,特定的对象类别或属性在给定的数据组中代表性不足并且因此必须添加具有这些对象或属性的相应的模拟场景。过小的频率可以溯因于所观察的对象或属性在记录数据的特定的区域中很罕见和/或在记录时间上碰巧很罕见。
然而在分析数据组时也可以要求必须存在一定数量的模拟场景,在这些模拟场景中,行人横穿道路和/或出现碰撞危险。因此可选地可以对相应的场景进行模拟,以便借助基于场景的测试确定进一步的规范和对于用于进行充实的有用数据的选择。作为结果优选定义了一种用于充实数据的规范,所述规范说明了需要哪些场景。
可选地,可以将基于场景的测试用于寻找合适的场景,以便完善针对数据扩展的规范。当例如对市中心中的关键的场景特别感兴趣时,就可以使用基于场景的测试来确定具有特定的绩效指标(KPI)的场景,这些场景满足所有的要求。与此对应,经扩展的数据组可以被限制在所选出的并且因此也是相关的场景中,而不是仅按KPI进行排列。
倘若没有给定特性(否),那么在步骤S9中(补充模拟场景)通过改变模拟场景来扩展数据组。
在步骤S9中进行的、相宜地在模拟环境中执行的对数据组的扩展中,用户可以以在原始数据中自动确定的分布为起点来定义他希望在其扩展的数据组中实现的任意统计学分布。优选可以通过如下方式达到这种分布,即,从现有的、至少部分自动注释的场景中产生一个数字孪生体。这个数字孪生体然后可以通过添加具有特定的对象类别和/或具有不同的行为或修改过的轨迹的交通参与者而被编排。一辆具有任意的传感器装备的虚拟的数据检测车辆被放置在所添加的经排列的模拟场景中并且然后用于产生新的合成的传感器数据。所述传感器装备可以以任意方式有别于用来记录原始数据的传感器装备。这不仅有助于补充现有的数据,而且当所观察的车辆的传感器装置发生变化时也有助于将记录的场景用作用于生成新的/不同的传感器装置的传感器数据的基础。
在模拟环境内,不仅可以通过附加的交通参与者,而且也可以通过改变对比度、天气和/或照明条件来扩展所述模拟场景组。
可选地,来自场景数据库的现有的场景被包含到模拟场景组的扩展中;这些场景可以借助更早记录的原始数据创建。这样的场景数据库提高了数据扩展的效率;针对不同的应用情形的场景可以储存在场景数据库中并且用特性进行标注。通过借助所储存的特性进行过滤,可以简单地从数据库中检索出合适的场景。
如果特性得到满足(是),则在步骤S7中(将传感器数据输出给模拟场景)将模拟的传感器数据输出给模拟场景或完整的模拟场景组。在此可以借助诸如在地面之上的高度和预定的分辨率之类的传感器配置产生针对一个或多个环境传感器的模拟的传感器数据;除了激光雷达数据外,也可以借助相机参数从模拟场景生成相机图像。在所示的实施方式中,针对整个场景组输出模拟的传感器数据;每个单独的场景通常可以备选或补充性地在创建之后被独立地输出。如果一个特征的确定需要对场景进行模拟,那么例如需要事先输出。
通过使用神经网络可以将所有的场景作为模拟的传感器数据或传感器真实的数据输出。神经网络,如生成对抗网络(GAN),可以模仿不同的传感器的特性,包括传感器噪声在内。在此可以模拟最初用于记录原始数据的传感器的特性,也可以模拟完全不同的传感器的特性。因此一方面可以将尽可能与原始数据相仿的场景用于算法的训练或测试。另一方面,也可以用不同的激光雷达传感器虚拟地记录驾驶场景,但也可以用其它成像的传感器,如特别是相机产生和使用模仿原始数据的场景因此可用于训练或测试算法。另一方面,驾驶场景的虚拟的记录也可以用不同的激光雷达传感器、但也可以用其它成像的传感器、如相机产生和使用。
在步骤S8中(借助传感器数据测试自主的驾驶功能),所输出的一个或多个场景,也就是说模拟的传感器数据的自成一体的组被用于测试自主驾驶功能。所输出的一个或多个场景备选也可以用于训练自主驾驶功能。
本发明使激光雷达传感器数据的数据组通过智能地补充在原始数据组中缺少的数据而得到增加。通过将附加的数据作为实际的传感器数据输出,使得这些附加的数据可以直接用于训练和/或测试自主的驾驶功能。也可以规定,创建或使用数据组,该数据组既包括最初的原始数据也包括合成的传感器数据。
作为具体的应用情形,上述流水线可以被使用用于将一种传感器类型的数据转换为相同环境的合成的点云并且具有另一种传感器类型的场景。因此可以将例如老旧的传感器的数据转换成代表了现代的传感器的合成的数据。可以相应地使用旧的传感器数据,以便用新的传感器类型扩展当前的记录的数据。针对输出“回收利用的”传感器数据的这种应用情形,优选使用处理流水线,所述处理流水线特别是包括步骤S1、S2、S3、S4、S5和S7。
图4示出了由模拟场景的传感器数据的输出产生的合成点云的鸟瞰图。在该图中,各个交通参与者通过边界框加以表征。
按本发明的方法使得能针对变化的模拟场景为驶入的场景的所测得的传感器数据补充模拟的传感器数据。由此可以更好地训练感知算法并且进行对自主的驾驶功能的更为广泛的测试。
Claims (12)
1.一种用于为车辆产生模拟场景的计算机实现的方法,所述方法包括以下步骤:
接收原始数据,其中,原始数据包括多个相继的激光雷达点云、多个相继的相机图像和多个相继的速度和/或加速度数据,
将特定区域的多个激光雷达点云融合在一个共同的坐标系中,以便产生合并的点云,
对合并的点云内的一个或多个静态对象进行定位和分类,
基于合并的点云、一个或多个静态对象和至少一个相机图像产生道路信息,
对多个相继的激光雷达点云内的动态的一个或多个交通参与者进行定位和分类并且产生针对所述一个或所述多个交通参与者的轨迹,
基于所述一个或所述多个静态对象、道路信息和所创建的针对所述一个或所述多个交通参与者的轨迹创建模拟场景,以及
输出所述模拟场景。
2.按照权利要求1所述的方法,所述方法还包括如下步骤:在输出所述模拟场景之前,修正所述模拟场景、特别是通过修正至少一个轨迹和/或添加至少一个另外的动态的交通参与者来修正所述模拟场景。
3.按照权利要求2所述的方法,其中,重复修正模拟场景并输出模拟场景的步骤,并且在输出所述模拟场景之前分别使用另一种修正,使得编排出模拟场景组。
4.按照权利要求3所述的方法,其中,确定所述模拟场景组的至少一个特性,并且将经修正的模拟场景添加给所述模拟场景组,直至满足期望的特性。
5.按照权利要求4所述的方法,其中,确定所述模拟场景组的特性包括:在使用至少一个神经网络的情况下分析每个经修正的模拟场景和/或实施对经修正的模拟场景的至少一次模拟。
6.按照权利要求4或5所述的方法,其中,所述特性与所述模拟场景的至少一个特征相关联,并且拓展所述模拟场景组,以便获得所述模拟场景的期望的统计学分布。
7.按照前述权利要求中任一项所述的方法,其中,输出所述模拟场景包括:
接收期望的传感器配置,
基于所述模拟场景以及期望的传感器配置产生模拟的传感器数据,并且
输出所述模拟的传感器数据。
8.按照权利要求7所述的方法,所述方法还包括以下步骤:
借助所述模拟的传感器数据训练用于感知的神经网络,和/或
借助所述模拟的传感器数据测试自主的驾驶功能。
9.按照权利要求7或8所述的方法,其中,接收到的原始数据具有比所述模拟的传感器数据更低的分辨率。
10.按照权利要求7至9中任一项所述的方法,其中,所述模拟的传感器数据包括多个相机图像。
11.计算机可读取的数据载体,所述数据载体包含指示,当计算机系统的处理器执行所述指示时,所述指示促使计算机系统执行按照前述权利要求中任一项所述的方法。
12.计算机系统,所述计算机系统包括处理器、人机接口和非易失存储器,其中,非易失存储器包含指令,当处理器执行指令时,所述指令促使计算机系统执行按照前述权利要求中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020129158.2 | 2020-11-05 | ||
DE102020129158 | 2020-11-05 | ||
PCT/EP2021/080610 WO2022096558A2 (de) | 2020-11-05 | 2021-11-04 | Verfahren und system zur augmentierung von lidar-daten |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116529784A true CN116529784A (zh) | 2023-08-01 |
Family
ID=78599000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180074944.1A Pending CN116529784A (zh) | 2020-11-05 | 2021-11-04 | 用于增加激光雷达数据的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240017747A1 (zh) |
EP (1) | EP4241115A2 (zh) |
CN (1) | CN116529784A (zh) |
DE (1) | DE102021128704A1 (zh) |
WO (1) | WO2022096558A2 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4296970A1 (de) * | 2022-06-23 | 2023-12-27 | dSPACE GmbH | Computerimplementiertes verfahren und system zum erzeugen einer virtuellen fahrzeugumgebung |
CN115290104A (zh) * | 2022-07-14 | 2022-11-04 | 襄阳达安汽车检测中心有限公司 | 仿真地图生成方法、装置、设备及可读存储介质 |
DE102022207448A1 (de) | 2022-07-21 | 2024-02-01 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Bereitstellen einer verbesserten Realwelt-Verkehrssituation-Datenbasis für das Training und das Bereitstellen von datenbasierten Funktionen eines autonomen Fahrmodells für ein Fahrzeug |
CN115292913A (zh) * | 2022-07-22 | 2022-11-04 | 上海交通大学 | 一种面向车路协同的路测感知仿真系统 |
CN116524135B (zh) * | 2023-07-05 | 2023-09-15 | 方心科技股份有限公司 | 一种基于图像的三维模型生成方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018002910A1 (en) * | 2016-06-28 | 2018-01-04 | Cognata Ltd. | Realistic 3d virtual world creation and simulation for training automated driving systems |
US10444759B2 (en) * | 2017-06-14 | 2019-10-15 | Zoox, Inc. | Voxel based ground plane estimation and object segmentation |
-
2021
- 2021-11-04 EP EP21806210.7A patent/EP4241115A2/de active Pending
- 2021-11-04 CN CN202180074944.1A patent/CN116529784A/zh active Pending
- 2021-11-04 WO PCT/EP2021/080610 patent/WO2022096558A2/de active Application Filing
- 2021-11-04 US US18/251,721 patent/US20240017747A1/en active Pending
- 2021-11-04 DE DE102021128704.9A patent/DE102021128704A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022096558A3 (de) | 2022-07-21 |
EP4241115A2 (de) | 2023-09-13 |
DE102021128704A1 (de) | 2022-05-05 |
US20240017747A1 (en) | 2024-01-18 |
WO2022096558A2 (de) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240017747A1 (en) | Method and system for augmenting lidar data | |
US11126891B2 (en) | Systems and methods for simulating sensor data using a generative model | |
US7881915B2 (en) | System and method for collecting and modeling object simulation data | |
Xinxin et al. | Csg: Critical scenario generation from real traffic accidents | |
US20160210775A1 (en) | Virtual sensor testbed | |
CN106503653A (zh) | 区域标注方法、装置和电子设备 | |
CN113009506B (zh) | 一种虚实结合的实时激光雷达数据生成方法、系统及设备 | |
CN111179300A (zh) | 障碍物检测的方法、装置、系统、设备以及存储介质 | |
Niranjan et al. | Deep learning based object detection model for autonomous driving research using carla simulator | |
CN113343461A (zh) | 自动驾驶车辆的仿真方法、装置、电子设备及存储介质 | |
CN109726426A (zh) | 一种车辆自动驾驶虚拟环境构建方法 | |
US20220318464A1 (en) | Machine Learning Data Augmentation for Simulation | |
Vacek et al. | Learning to predict lidar intensities | |
WO2021133956A1 (en) | Systems and methods for computer-based labeling of sensor data captured by a vehicle | |
Zipfl et al. | From traffic sensor data to semantic traffic descriptions: The test area autonomous driving baden-württemberg dataset (taf-bw dataset) | |
CN114295139A (zh) | 一种协同感知定位方法及系统 | |
CN116503825A (zh) | 自动驾驶场景下基于图像与点云融合的语义场景补全方法 | |
US20220172606A1 (en) | Systems and Methods for Extracting Data From Autonomous Vehicles | |
Philipp et al. | Automated 3d object reference generation for the evaluation of autonomous vehicle perception | |
Patel | A simulation environment with reduced reality gap for testing autonomous vehicles | |
Ducoffe et al. | LARD--Landing Approach Runway Detection--Dataset for Vision Based Landing | |
Benčević et al. | Tool for automatic labeling of objects in images obtained from Carla autonomous driving simulator | |
CN117576652B (zh) | 道路对象的识别方法、装置和存储介质及电子设备 | |
Sural et al. | CoSim: A Co-Simulation Framework for Testing Autonomous Vehicles in Adverse Operating Conditions | |
Shenoy et al. | A customizable dynamic scenario modeling and data generation platform for autonomous driving |
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 |