CN111448478B - 用于基于障碍物检测校正高清地图的***和方法 - Google Patents

用于基于障碍物检测校正高清地图的***和方法 Download PDF

Info

Publication number
CN111448478B
CN111448478B CN201880002657.8A CN201880002657A CN111448478B CN 111448478 B CN111448478 B CN 111448478B CN 201880002657 A CN201880002657 A CN 201880002657A CN 111448478 B CN111448478 B CN 111448478B
Authority
CN
China
Prior art keywords
point cloud
cloud data
projection image
obstacle
dimensional projection
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
CN201880002657.8A
Other languages
English (en)
Other versions
CN111448478A (zh
Inventor
冯路
马腾
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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Publication of CN111448478A publication Critical patent/CN111448478A/zh
Application granted granted Critical
Publication of CN111448478B publication Critical patent/CN111448478B/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
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Traffic Control Systems (AREA)
  • Optical Radar Systems And Details Thereof (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)
  • Measurement Of Optical Distance (AREA)
  • Image Analysis (AREA)

Abstract

本申请的实施例提供了用于校正高清地图的***和方法。该***可以包括通信接口,该通信接口被配置为接收由激光雷达捕获的场景的点云数据。该***还可以包括被配置为存储所述点云数据的存储器,以及所述至少一个处理器。所述至少一个处理器可以被配置为在所述点云数据中定位由所述至少一个障碍物引起的至少一个孔洞。所述至少一个处理器还被配置用于对于所述至少一个孔洞,估计所述场景在没有所述至少一个障碍物的情况下被捕获的无障碍点云数据,并通过使用无障碍点云数据修复接收到的点云数据来校正高清地图。

Description

用于基于障碍物检测校正高清地图的***和方法
技术领域
本申请涉及用于在场景中存在障碍物的情况下校正高清地图的***和方法,更具体地涉及用于基于障碍物检测来更新高清地图的***和方法。
背景技术
自动驾驶技术在很大程度上依赖于精确的地图。例如,导航地图的准确性对于自动驾驶车辆的功能是至关重要的,例如定位、环境识别、决策和控制。当车辆行驶过程中,高清地图可以通过集合各种传感器、检测器和安装在车辆上的其他设备获取的图像和信息来获得。例如,车辆可配备有多个集成传感器,例如光检测和发射***(激光雷达)、全球定位***(GPS)接收器、一个或以上惯性测量单元(惯性测量单元)传感器,以及一个或以上相机,以捕捉车辆行驶的道路或周围物体的特征。捕获的数据可以包括,例如车道的中心线或边界线坐标、物体的坐标和图像,例如建筑物、另一车辆、地标、行人或交通标志。
特别地,激光雷达通过用脉冲激光照射目标并用传感器测量反射脉冲来测量到目标的距离。然后可以使用激光返回时间和波长的差异来构建目标的数字三维(3-D)表示。激光雷达捕获的数据称为点云数据。在调查期间,道路上的各种物体可能会阻碍激光雷达的观察。由于脉冲激光在到达道路之前被障碍物反射,因此捕获的点云数据会失真。使用这种失真的点云数据重建的高分辨率地图不能准确地反映捕获的场景。
本申请的实施例通过基于点云数据的分割和由障碍物引起的失真补偿来校正高清地图的***和方法解决了上述问题。
发明内容
本申请的实施例提供了一种用于校正高清地图的***。该***可以包括通信接口,该通信接口被配置为接收由激光雷达捕获的场景的点云数据。该***还可以包括存储器,其被配置为存储所述点云数据,以及至少一个处理器。所述至少一个处理器可以是被配置为从点云数据中检测至少一个障碍物,和在所述点云数据中定位由所述至少一个障碍物引起的至少一个孔洞。所述至少一个处理器,进一步被配置为对于所述至少一个孔洞,估计所述场景在没有所述至少一个障碍物的情况下被捕获的无障碍点云数据,并通过利用所述无障碍点云数据修复所述接收到的点云接收数据校正所述高清地图。
本申请的实施例还提供了一种用于校正高清地图的方法。该方法可以包括通过通信接口接收由激光雷达捕获的场景的点云数据。该方法还可以包括通过所述至少一个处理器从所述点云数据中检测至少一个障碍物,并且通过至少一个处理器定位在由至少一个障碍物引起的至少一个孔洞。该方法还可以包括通对于所述至少一个孔洞,过至少一个处理器估计所述场景在没有所述至少一个障碍物的情况下被捕获的无障碍点云数据,并且所述至少一个处理器通过利用无障碍点云数据修复所接收的点云数据来校正高清地图。
本申请的实施例还提供了一种非暂时性计算机可读介质,其上存储有计算机程序指令,当由至少一个处理器执行时,使得处理器执行用于校正高清地图的方法。该方法可以包括接收由激光雷达捕获的场景的点云数据。该方法还可以包括从点云数据中检测至少一个障碍物,并且由至少一个处理器的所述点云数据中定位由至少一个障碍物引起的至少一个孔洞。该方法还可以包括,对于所述至少一个孔洞,估计所述场景在没有所述至少一个障碍物的情况下被捕获的无障碍点云数据,并通过用无障碍点云数据修复接受到的点云数据来校正高清地图。
应当理解,前面的一般性描述和下面的详细描述都只是示例性和说明性的,并不是对要求保护的本发明的限制。
附图说明
图1根据本申请的实施例示出了配备有传感器的示例性车辆的示意图。
图2根据本申请的实施例示出了用于校正高清地图的示例***器的框图。
图3根据本申请的实施例示出了用于校正高清地图的示例性方法的流程图。
图4根据本申请的实施例示出了用于分割点云数据的示例性卷积神经网络(CNN)。
图5根据本申请的实施例示出了估计无障碍点云数据的示例性方法。
具体实施方式
本申请通过示例性实施例进行详细描述,这些示例性实施例将通过图示进行详细描述。任何可能的情况下,图中同一参考数字表示相同的部分。
图1根据本申请的实施例示出了具有至少两个传感器140和150的示例性车辆100的示意图。与一些实施例一致,车辆100可以是勘测车辆,其被配置为用于获取用于构建高清地图或3-D城市建模的数据。可以预期的是车辆100可以是电动车辆、燃料电池车辆、混合动力车辆或传统的内燃机车辆。车辆100可具有车身110和至少一个轮子120。车身110可以是任何车身类型、例如运动车辆、轿跑车、轿车、皮卡车、旅行车、运动型多功能车(SUV)、小型货车或转换车。在一些实施例中,车辆100可包括一对前轮和一对后轮,如图1所示。然而,可以预期的是车辆100可具有更多或更少的车轮或等效结构使车辆100能够四处移动。车辆100可以被配置为全轮驱动(AWD)、前轮驱动(FWR)或后轮驱动(RWD)。在一些实施例中,车辆100可以被配置为由占用车辆的操作员操作、操作员远程控制和/或主动驾驶。
如图1所示,车辆100可配备有经由安装结构130安装到车身110的传感器140。安装结构130可以是安装或以其他方式附接到车辆100的车身110的机电设备。在一些实施例中,安装结构130可以使用螺钉、粘合剂或其他安装机制。车辆100可以使用任何合适的安装机制在主体110内部或外部额外地配备有传感器150。可以设想,传感器140或150装配在车辆100上的方式不受图1所示的示例的限制,并且可以根据传感器140和150和/或车辆100的类型进行修改,以实现期望的感知性能。
在一些实施例中,当车辆100沿轨迹行进时,传感器140和150可以被配置为用于捕获数据。与本申请一致,传感器140可以是激光雷达,被配置为用于扫描周围环境并获取点云。激光雷达通过用脉冲激光照射目标并用传感器测量反射脉冲以测量到目标的距离。然后可以利用激光返回时间和波长的差异来创建目标的数字3-D表示。用于激光雷达扫描的光可以是紫外线、可见光或近红外线。由于窄激光束可以以非常高的分辨率绘制物理特征,因此激光雷达特别适用于高清地图的测绘。在一些实施例中,激光雷达可以捕获点云。点云数据可以包括在目标外表面上数据点集。可以处理点云以构建目标的3-D模型。当车辆100沿着轨迹行进时,传感器140可以连续地捕获点云数据。在某个时间点捕获的每组点云数据称为点云帧。点云帧可以实时地(例如,通过流传输)或者在车辆100完成整个轨迹之后一起被发送到服务器160。
如图1所示,车辆100可以另外配备有传感器150,传感器150可以包括导航单元中使用的传感器,例如GPS接收器和一个或以上惯性测量单元传感器。GPS是一种全球导航卫星***,为GPS接收器提供地理定位和时间信息。惯性测量单元是一种电子设备,其使用各种惯性传感器,例如加速计和陀螺仪,有时还有磁力计来测量和提供车辆的比力、角速率,有时还提供车辆周围的磁场。通过组合GPS接收器和惯性测量单元传感器,传感器150可以在车辆100行进时提供车辆100的实时位姿信息,包括车辆100在每个时间点的位置和方向(例如,欧拉角)。与本申请一致,传感器150可以在传感器140捕获点云帧的相同时间点处测量位姿信息。因此,位姿信息可以与相应的点云帧相关联。在一些实施例中,点云帧及其相关位姿信息的组合可用于定位车辆100。
与本申请一致,传感器140和150可以与服务器160通信。在一些实施例中,服务器160可以是本地物理服务器、云服务器(如图1所示)、虚拟服务器、分布式服务器或任何其他合适的计算设备。与本申请一致,服务器160可以从传感器140和150获得数据。服务器160可以经由网络,例如无线局部区域网络(WLAN)、广域网(WAN)、例如无线电波的无线网络、蜂窝网络、卫星通信网络和/或本地或短程无线网络(例如,BluetoothTM)与传感器140和150,和/或车辆100的其他组件通信。服务器160可以存储高清地图。在一些实施例中,高清地图可以最初使用由传感器140获取的点云数据来构造。
与本申请相一致,服务器160也可以负责校正高清地图,以除去所捕获的点云数据因障碍物造成的任何失真。在一些实施例中,障碍物可以包括阻挡传感器140的激光路径的任何物体,以致激光在到达道路之前被物体反射。例如,障碍物可以是行人、临时展位,或停放或移动的车辆,例如汽车、摩托车或自行车等。服务器160可以将障碍物反射的点云数据与点云数据的其余部分分开,估计障碍物不存在时的正确的点云数据,并使用所估计的点云数据纠正高清地图。
例如,图2根据本申请的实施例示出了用于校正高清地图的示例***器160的框图。在一些实施例中,如图2所示,服务器160可以包括通信接口202、处理器204、内存206和存储器208。在一些实施例中,服务器160可以在单个设备中具有不同的模块,例如集成电路(IC)芯片,或具有专用功能的单独设备。在一些实施例中,服务器160的一个或以上组件可以位于云中,或者可以替代地位于单个位置(例如,车辆100内或移动设备内)或分布式位置。服务器160的组件可以在集成设备中或者分布在不同的位置,但是通过网络(未示出)彼此通信。
通信接口202可以经由通信电缆、无线局部区域网络(WLAN)、广域网(WAN)、例如无线电波的无线网络、蜂窝网络和/或本地或短距离无线网络(例如,BluetoothTM)或其他通信方法,向例如传感器140和150的组件发送数据和从其接收数据。在一些实施例中,通信接口202可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供数据通信连接。又例如,通信接口202可以是局部区域网络(LAN)卡,以提供与兼容LAN的数据通信连接。无线链路也可以由通信接口202实现。在这样的实现中,通信接口202可以通过网络发送和接收电信号、电磁信号或光信号,其携带示各种类型信息的数字数据流。
与一些实施例一致,通信接口202可以接收数据,例如,由传感器140捕获的点云数据203。在一些实施例中,通信接口202还可以接收由传感器150捕获的位姿信息(未示出)。在一些实施例中,通信接口202也可从训练设备180接收神经网络205。在一些实施例中,训练设备180可以具有与服务器160类似的结构,包括,例如处理器、存储器、存储设备等。在一些实施例中,训练设备180可以是服务器160的一部分。训练设备180可以配置为使用样本数据训练神经网络205。神经网络205可以在训练过程中学习执行认知任务。例如,可以训练神经网络205以基于由激光雷达捕获的最初的点云数据来检测障碍物。在一些实施方案中,神经网络205可以被训练以执行分割任务,例如,将点云数据203中与障碍物有关的部分数据与点云数据203的其余部分分离。与本申请一致,神经网络205可以是任何合适的学习模型,包括但不限于卷积神经网络(CNN)。在一些实施例中,神经网络205的训练可以确定一个或以上模型参数,例如卷积核的权重、大小、形状和结构。
通信接口202还可以将所接收的点云数据203和神经网络205提供给存储器208以供存储或提供给处理器204以进行处理。通信接口202还可以接收由处理器204创建的已校正的高清地图,并且经由网络将已校正的地图提供给车辆100中的任何本地组件或任何远程设备。
处理器204可包括任何适当类型的通用或专用微处理器、数字信号处理器或微控制器。处理器204可以被配置为专用于校正高清地图的单独处理器模块。可选的,处理器204可以被配置为共享处理器模块,用于执行与生成和校正高清地图无关的其他功能。
如图2所示,处理器204可以包括多个模块,例如点云分割单元210、孔洞定位单元212、无障碍点云估计单元214、地图校正单元216等。这些模块(以及任何相应的子模块或子单元)可以是处理器204的硬件单元(例如,集成电路的部分),其被设计为与处理器204通过执行程序的至少一部分而实现的其他组件或软件单元一起使用。程序可以存储在计算机可读介质上,并且当由处理器204执行时,它可以执行一个或以上的功能。尽管图2示出了在一个处理器204内的所有单元210-216,但是可以预期这些单元可以分布在彼此靠近或远离的多个处理器之间。
点云分割单元210可被配置为分割已接收的点云数据203以检测一个或以上障碍物。障碍物可以是行人、车辆或处于传感器140的激光路径中的其他物体。在一些实施例中,点云分割单元210可以被配置为将点云数据203投影到二维(2-D)平面,并且相应地获得二维投影图像。例如,二维投影图像可以是俯视图。在一些实施例中,二维投影图像可包括多个像素或超像素(包括辅助像素)。点云分割单元210还可以从二维投影图像中提取各种特征。每类特征可以对应于通道。在一些实施例中,点云分割单元210可将神经网络205应用于提取的特征以确定所述像素的属性,所述属性可以表明所述像素属于障碍物的可能性。例如,属性可以包括像素和障碍物的中心之间的距离、置信水平、像素是障碍物的一部分的可能性,以及障碍物的高度。
基于针对所述像素的属性预测结果,可以有多个片段的像素对应于障碍物。例如,每个片段可以包括多个像素,所述多个像素具有表明该像素为障碍物的一部分的属性,例如,可能性大于阈值。在一些实施例中,属于相同障碍物的一些片段可能仍然彼此分离,并且片段之间可能存在某些间隙。在一些实施例中,点云分割单元210可以通过修改形成间隙的像素的预测结果来聚集那些片段。
然后,点云生成单元210可以将对应于障碍物的点云数据与剩余的点云数据分开。因此,剩余的点云数据包含由障碍物引起的至少两个孔洞。在一些实施方案中,这些孔洞可稍后被估计点云数据填充以补偿由障碍物所造成的数据失真。
在一些实施例中,孔洞定位单元212可被配置为定位点云数据203中的孔洞。在一些实施例中,定位孔洞包括确定孔洞所在的平面和包围障碍物的边界框。虽然在本申请中描述了孔洞的定位,可以设想,可替代地,可以定位障碍物而不是孔洞,并且所实现的功能可以是等同的。
无障碍点云估计单元214可估计点云数据用以填充所述孔洞,如同激光雷达的测量未被障碍物阻碍。在一些实施例中,基于障碍物的平面位置,可以模拟激光路径。然后可以将激光路径延伸越过障碍物以找到它与道路接触的点。可以估计该点的点云数据。
地图校正单元216可以配置为使用估计的点云数据校正高清地图。在一些实施例中,地图校正单元216可以用估计的点云数据“修复”孔洞。在一些实施例中,修复被限制在包围障碍物的边界框内。修复可以包括替换、修改、重新定位或以其他方式操作数据。在一些实施例中,点云数据203可包括当激光雷达沿轨迹移动时捕获的至少两个点云帧。如上所述,地图校正单元216可以用对应的无障碍点云数据修复每个点云帧,并且聚集修复后的点云帧。融合修复后的点云数据帧可以产生能够更好的覆盖孔洞区域的高清地图。
内存206和存储器208可以包括任何适当类型的大容量存储器以存储处理器204可能需要操作的任何类型的信息。内存206和存储器208可以是易失性或非易失性、磁性、半导体、磁带、光学的、可擦除的、不可擦除的或其他类型的存储设备或有形(即,非暂时性)计算机可读介质,包括但是不限于只读存储器、闪存、动态随机存取存储器和静态随机存取存储器。内存206和/或存储器208可以被配置用于存储一个或以上计算机程序,其可以由处理器204执行以执行本文披露的地图校正功能。例如,内存206和/或存储器208可以被配置为存储程序,其可以由处理器204执行以基于分割由激光雷达捕获的点云数据来校正高清地图。
内存206和/或存储器208可以进一步被配置为存储处理器204使用的信息和数据。例如,内存206和/或存储器208可以被配置用于存储由传感器140和150捕获的各种类型的数据(例如,点云数据、位姿信息等)以及高清地图。内存206和/或存储器208还可以存储例如神经网络205以及估计的点云等之类的中间数据。各种类型的数据可以永久存储、周期性地移除或者在处理每个数据帧之后立即被忽略。
图3根据本申请的实施例示出了用于校正高清地图的示例性方法300的流程图。在一些实施例中,方法300可以由地图校正***实现,该地图校正***包括服务器160等。然而,方法300不限于该示例性实施例。方法300可以包括如下所述的步骤S302-S320。应当理解,一些步骤可以是可选的以执行本文提供的本申请。此外,一些步骤可以同时执行或者以与图3中所示不同的顺序执行。
在步骤S302,可以接收传感器140捕获的点云数据。在一些实施例中,可以派遣车辆100进行勘测行程以捕获用于构建高清地图的数据。当车辆100沿着轨迹移动时,传感器140可以捕获周围场景的点云数据。在一些实施例中,点云数据可以由多个帧组成,每个帧在车辆处于轨迹上的特定位置时的特定时间点被捕获。与本申请一致,道路上可能存在阻碍激光雷达的激光路径的其他物体,从而导致获取的点云数据失真。
在步骤S304,服务器160可以将在步骤S304中接收的3-D点云数据投影到平面上以创建二维投影图像。在一些实施例中,投影是垂直向下的,使得所获得的二维投影图像是俯视图。将3-D点云数据投影到2-D图像中可以移除深度信息并简化分割过程。
步骤S306-S312共同执行点云数据的分割,以将对应于障碍物的失真数据与其余的未失真的点云数据分离。在一些实施例中,分割可以基于机器学习模型,例如神经网络。神经网络也称为人工神经网络,是一种模拟生物神经网络用以完成学习任务的计算模型。例如,神经网络经过训练可以学习点云数据的哪一部分是从激光中获得的被障碍物而不是道路反射的。
图4根据本申请的实施例示出了用于分割点云数据的示例性卷积神经网络400。在一些实施例中,卷积神经网络400可以包括编码器420和解码器430。编码器420和解码器430中的每一个可以包括多个不同的层(未示出)。不同层的示例可以包括一个或以上卷积层、非线性算子层(例如修正线性单元(ReLu)函数、S形函数或双曲正切函数)、池化或子采样层、全连接层和/或最终损失层。每层可以连接一个上游层和一个下游层。输入可以被认为是输入层,输出可以被认为是最终输出层。
为了提高卷积神经网络模型的性能和学习能力,可以选择性地增加不同层的数量。从输入层到输出层的中间不同层的数量可以变得非常大,从而增加了卷积神经网络模型的架构的复杂性。具有大量中间层的卷积神经网络模型被称为深度卷积神经网络模型。例如,一些深度卷积神经网络模型可以包括超过20到30层,而其他深度卷积神经网络模型甚至可以包括超过几百层。深度卷积神经网络模型的示例包括AlexNet、VGGNet、GoogLeNet、ResNet等。
如本文所使用的,已披露的分割方法使用的卷积神经网络模型可以指基于卷积神经网络的结构描述、改编或修改的任何神经网络模型。例如,在本申请的实施例中用于分割的卷积神经网络模型可以选择性地包括输入层和输出层之间的中间层,例如一个或以上去卷积层、上采样或上池化层、像素方向预测层和/或复制和裁剪算子层。
返回图3,在步骤S306,服务器160可以从二维投影图像的每个像素中提取特征。提取的特征的示例可以包括像素值、像素周围的纹理、与相邻像素的对比度、像素在图像中的相对位置等。卷积神经网络400可以接收提取的特征402作为输入。在一些实施例中,特征可以被排列为W*H*C矩阵,其中W是像素行号,H是像素列号,C是通道特征号。
在步骤S308中,卷积神经网络400可以被应用于该提取的特征来预测像素属性。例如,属性可以包括像素和障碍物的中心之间的距离404、置信水平406、表示像素是障碍物的一部分的可能性的概率408以及障碍物410的高度。
在步骤S310中,服务器160可以识别包括多个像素的片段,所述多个像素具有表明该像素是障碍物的一部分的属性。在一些实施例中,属性可以与一些预定的阈值比较以确定像素是否应该被分类为障碍物。例如,对于概率408是95%的像素与90%的阈值进行比较之后可被分类为障碍物的一部分。可替换地或附加地,距障碍物中心的距离404小于5个像素宽度的像素可以被标记为是障碍物的一部分。
逐个像素预测有时可能导致相邻但不连贯的片段。例如,可能存在一些零星的非障碍物像素或两个连接的片段之间的小间隙。在步骤S312,服务器160可以通过修改间隙中那些像素的预测结果来聚集这些片段。例如,逐个像素预测可以找到对应于行人的头部一个片段,和对应于她的躯干的相邻片段。然而,行人颈部区域的像素一开始因为,例如像素的某些属性不满足将它们分类为对应于障碍物的标准可能被预测为不是障碍物的一部分。但是,通过聚集,可通过修改片段间对应于障碍物的像素连接头段和躯干段。
由于障碍物,孔洞留在点云数据中。在步骤S314,服务器160可以基于检测到的障碍物定位孔洞。在一些实施例中,服务器160可以首先为障碍物确定边界框,即相应孔洞的边界。服务器160可以进一步确定边界框外的点云的第一平面。同时,服务器160确定原点(传感器140所在的位置)附近的点云数据的第二平面(“参考平面”),并确定第一和第二平面之间的角度。如果角度小于阈值,则服务器160将第一平面设置为目标平面。
在步骤S316,服务器160可以为所述孔洞估计若没有障碍物存在下的无障碍点云数据。图5根据本申请的实施例示出了估计无障碍点云数据的示例性方法。如图5所示,车辆500可以在平面b1和平面b2之间。激光由激光雷达在原点O发射。当激光路径中没有障碍物时,激光将会与道路,例如在A点碰撞,并被道路反射。由于车辆500的存在,激光路径可以在平面b1中击中点B并且被车辆500反射。在没有车辆500的情况下,激光路径OB将已经延伸并最终在点B'处撞击道路。类似地,另一个激光路径可以在点C处撞击平面b1,并且一旦延伸,它将在点C'处撞击道路。相应地,所获取的对应点C和点B的云数据可用于估计对应于点C'和B'的无障碍点云数据。在一些实施例中,平面b1中的目标边界框内(点501和点502之间)的每个点可以找到道路上的对应点。相应地,可以将从平面b1获取的点数据分配给或者以其他方式用于估计道路上的对应点的无障碍点云数据。
在步骤S318,服务器160可以使用估计的无障碍点云数据来修复孔洞。例如,相应的无障碍点云数据可用于填充孔洞,或以其他方式修改孔洞的数据。在步骤S320,可以通过目标边界框过滤修复。例如,如图5所示,被修复的孔洞限于目标边界框(在点501和点502之间)向道路上的投影。过滤修复可能会降低噪点并改善校正结果。
本申请的另一方面涉及存储指令的非暂时性计算机可读介质,所述指令在被执行时使得一个或以上处理器执行如上所述的方法。所述计算机可读介质包括易失性或非易失性、磁性、半导体、磁带、光学、可擦除的、不可擦除的或其他类型的计算机可读介质或计算机可读存储设备。例如,如本申请的计算机可读介质可以是存储设备或其上存储有计算机指令的存储模块。在一些实施例中,计算机可读介质可以是其上存储有计算机指令的盘或闪存驱动器。
显而易见地,本领域普通技术人员可以对本申请的***和相关方法进行各种修改和变化。考虑到本申请的***和相关方法的说明书和实践的其他实施例对于本领域普通技术人员是显而易见的。
本申请中的说明书和示例的目的仅被认为是示例性的,真正的范围由权利要求及其等同物限定。

Claims (19)

1.一种用于校正高清地图的***,包括:
通信接口,其被配置为接收由激光雷达捕获的场景的点云数据;
存储器,其被配置为储存所述点云数据;以及
至少一个处理器,所述处理器包括点云分割单元、孔洞定位单元、无障碍点云估计单元和地图校正单元;
所述点云分割单元用于通过所述点云数据获取二维投影图像,并提取所述二维投影图像的特征,所述二维投影图像包括多个像素;所述点云分割单元使用神经网络应用于所述提取的特征以确定所述像素的属性,基于所述属性检测至少一个障碍物;
所述孔洞定位单元用于在所述点云数据中定位由所述至少一个障碍物引起的至少一个孔洞;
所述无障碍点云估计单元用于对于所述至少一个孔洞,估计所述场景在没有所述至少一个障碍物的情况下被捕获的无障碍点云数据;以及
所述地图校正单元用于通过利用所述无障碍点云数据修复所述接收到的点云数据,校正所述高清地图。
2.根据权利要求1所述的***,其特征在于,所述存储器被配置为存储所述神经网络。
3.根据权利要求2所述的***,其特征在于,所述神经网络是卷积神经网络。
4.根据权利要求2所述的***,其特征在于,所述至少一个处理器被进一步配置为:
基于所述点云数据创建二维投影图像,所述二维投影图像包括至少两个像素;以及
使用所述神经网络确定与每个像素相关的至少两个属性,所述属性表明所述像素对应于所述至少一个障碍物的可能性。
5.根据权利要求4所述的***,其特征在于,所述至少一个处理器被进一步配置为:
从所述二维投影图像中识别多个片段,每个片段包括具有多个属性的多个像素,所述多个属性表示所述多个像素对应于所述至少一个障碍物中的一个障碍物;以及
确定所述二维投影图像中的聚集区域,所述聚集区域包含所有被识别的片段。
6.根据权利要求1所述的***,其特征在于,为了在所述点云数据中定位所述至少一个孔洞,至少一个处理器进一步被配置为:
确定每个孔洞所在的平面;以及
确定每个孔洞的边界。
7.根据权利要求6所述的***,其特征在于,所述的至少一个处理器进一步被配置为基于所述孔洞所在的平面估计所述无障碍点云数据。
8.根据权利要求1所述的***,其特征在于,所述接收到的点云数据包括当所述激光雷达沿轨迹移动时被捕获的至少两个点云帧,并且所述至少一个处理器被配置为:
用对应的所述无障碍点云数据修复每个点云帧;以及
聚集所述被修复的点云帧。
9.一种校正高清地图的方法,包括:
通过通信接口接收由激光雷达捕获的场景的点云数据;
通过至少一个处理器通过所述点云数据获取二维投影图像,并提取所述二维投影图像的特征,所述二维投影图像包括多个像素;点云分割单元使用神经网络应用于所述提取的特征以确定所述像素的属性,基于所述属性检测至少一个障碍物;
通过所述至少一个处理器定位在由至少一个障碍物引起的至少一个孔洞中;
通过所述至少一个处理器估计对于所述至少一个孔洞的所述场景在没有所述至少一个障碍物的情况下被捕获的无障碍点云数据;以及
通过所述至少一个处理器修正所述高清地图,通过利用所述无障碍点云数据修复所述接收到的点云数据。
10.根据权利要求9所述的方法,其特征在于,所述神经网络是卷积神经网络。
11.根据权利要求9所述的方法,还包括:
根据所述点云数据创建二维投影图像,所述二维投影图像包括至少两个像素;以及
使用所述神经网络确定与每个像素相关的至少两个属性,所述属性表明所述像素对应于所述至少一个障碍物的可能性。
12.根据权利要求11所述的方法,还包括:
从所述二维投影图像中识别多个片段,每个片段包括具有多个属性的多个像素,所述多个属性表示所述多个像素对应于所述至少一个障碍物中的一个障碍物;以及
确定所述二维投影图像中的聚集区域,所述聚集区域包含所有被识别的片段。
13.根据权利要求9所述的方法,其特征在于,为了在所述点云数据中定位所述至少一个孔洞,所述点云数据还包括:
确定每个孔洞所在的平面;以及
确定每个孔洞的边界。
14.根据权利要求13所述的方法,其特征在于,所述无障碍点云数据是根据所述孔洞所在的平面估计的。
15.根据权利要求14所述的方法,其特征在于,所述接收到的点云数据包括当所述激光雷达沿轨迹移动时被捕获的至少两个点云帧,其中校正所述高清地图还包括:
用对应的所述无障碍点云数据修复每个点云帧;以及
聚集所述被修复的点云帧。
16.一种非暂时性计算机可读介质,其上存储计算机程序指令,其中所述计算机程序指令在由至少一个处理器执行时,使得处理器执行用于校正高清地图的方法,方法包括:
接收由激光雷达捕获的场景的点云数据;
通过所述点云数据获取二维投影图像,并提取所述二维投影图像的特征,所述二维投影图像包括多个像素;点云分割单元使用神经网络应用于所述提取的特征以确定所述像素的属性,基于所述属性检测至少一个障碍物;
在所述点云数据定位至少一个障碍物引起的至少一个孔洞;
对于所述至少一个孔洞,估计所述场景在没有所述至少一个障碍物的情况下被捕获的无障碍点云数据;以及
通过利用所述无障碍点云数据修复接收到的点云数据,来校正所述高清地图。
17.根据权利要求16所述的非暂时性计算机可读介质,其特征在于,所述通过所述点云数据获取二维投影图像,并提取所述二维投影图像的特征,所述二维投影图像包括多个像素;所述点云分割单元使用神经网络应用于所述提取的特征以确定所述像素的属性,基于所述属性检测所述至少一个障碍物,方法还包括:
根据所述点云数据创建二维投影图像,所述二维投影图像包括至少两个像素;以及
使用所述神经网络确定与每个像素相关联的至少两个属性,所述属性表明所述像素对应于所述至少一个障碍物的可能性。
18.根据权利要求17所述的非暂时性计算机可读介质,其特征在于,所述方法还包括:
从所述二维投影图像中识别多个片段,每个片段包括具有多个属性的多个像素,所述多个属性表示所述多个像素对应于所述至少一个障碍物中的一个障碍物;以及
确定所述二维投影图像中的聚集区域,所述聚集区域包含所有被识别的片段。
19.根据权利要求16所述的非暂时性计算机可读介质,其特征在于,为了在所述点云数据中定位所述至少一个孔洞,还包括:
确定每个孔洞所在的平面;以及
确定每个孔洞的边界,
其中所述无障碍点云数据是基于所述孔洞所在的平面估计的。
CN201880002657.8A 2018-11-15 2018-11-15 用于基于障碍物检测校正高清地图的***和方法 Active CN111448478B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/115582 WO2020097840A1 (en) 2018-11-15 2018-11-15 Systems and methods for correcting a high-definition map based on detection of obstructing objects

Publications (2)

Publication Number Publication Date
CN111448478A CN111448478A (zh) 2020-07-24
CN111448478B true CN111448478B (zh) 2023-02-28

Family

ID=70726532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880002657.8A Active CN111448478B (zh) 2018-11-15 2018-11-15 用于基于障碍物检测校正高清地图的***和方法

Country Status (9)

Country Link
US (1) US11035958B2 (zh)
EP (1) EP3676796A4 (zh)
JP (1) JP2021508815A (zh)
CN (1) CN111448478B (zh)
AU (1) AU2018286592A1 (zh)
CA (1) CA3028599A1 (zh)
SG (1) SG11201811747XA (zh)
TW (1) TWI722355B (zh)
WO (1) WO2020097840A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11520331B2 (en) * 2018-12-28 2022-12-06 Intel Corporation Methods and apparatus to update autonomous vehicle perspectives
EP3783385A1 (en) * 2019-08-23 2021-02-24 Leica Geosystems AG Combined point cloud generation using a stationary laser scanner and a mobile scanner
US11327178B2 (en) * 2019-09-06 2022-05-10 Volvo Car Corporation Piece-wise network structure for long range environment perception
US20210109523A1 (en) * 2019-10-10 2021-04-15 Waymo Llc Sensor field of view in a self-driving vehicle
CN110873565B (zh) * 2019-11-21 2021-06-04 北京航空航天大学 用于城市场景重建的无人机实时路径规划方法
US11531114B2 (en) * 2020-06-16 2022-12-20 Toyota Research Institute, Inc. Sensor placement to reduce blind spots
CN112045654B (zh) * 2020-08-11 2022-01-28 上海有个机器人有限公司 一种无人密闭空间的检测方法、装置和机器人
CN111949544B (zh) * 2020-08-19 2022-10-04 腾讯科技(深圳)有限公司 一种自动驾驶车辆的定位模块的测试方法及相关装置
WO2022049653A1 (ja) 2020-09-02 2022-03-10 日本電信電話株式会社 推定方法、推定装置及びプログラム
CN114252883B (zh) * 2020-09-24 2022-08-23 北京万集科技股份有限公司 目标检测方法、装置、计算机设备和介质
CN112837239B (zh) * 2021-02-01 2024-05-14 意诺科技有限公司 毫米波雷达的残影消除方法、装置及计算机可读介质
DE102021125653A1 (de) 2021-10-04 2023-04-06 Valeo Schalter Und Sensoren Gmbh Entfernen nicht relevanter Punkte aus einer Punktwolke
CN114403114B (zh) * 2022-01-26 2022-11-08 安徽农业大学 一种高地隙植保机车身姿态平衡控制***及方法
CN114545443A (zh) * 2022-02-09 2022-05-27 北京三快在线科技有限公司 一种盲区识别方法及装置
US11593921B1 (en) * 2022-03-22 2023-02-28 Illuscio, Inc. Systems and methods for supplementing image capture with artificial data points that are generated based on material properties and associated rules
CN114754762A (zh) * 2022-04-14 2022-07-15 中国第一汽车股份有限公司 地图的处理方法、装置
CN115100377B (zh) * 2022-07-15 2024-06-11 小米汽车科技有限公司 地图构建方法、装置、车辆、可读存储介质及芯片
GB2624621A (en) * 2022-11-15 2024-05-29 Continental Autonomous Mobility Germany GmbH 3-Dimensional (3D) map generation system and method for creating 3D map of surroundings of a vehicle

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106199558A (zh) * 2016-08-18 2016-12-07 宁波傲视智绘光电科技有限公司 障碍物快速检测方法
CN108152831A (zh) * 2017-12-06 2018-06-12 中国农业大学 一种激光雷达障碍物识别方法及***
CN108303101A (zh) * 2018-03-05 2018-07-20 弗徕威智能机器人科技(上海)有限公司 一种导航地图的构建方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3094306B2 (ja) * 1990-12-14 2000-10-03 茂男 広瀬 移動ロボットの位置同定方法
JP5339953B2 (ja) * 2009-02-17 2013-11-13 三菱電機株式会社 三次元地図補正装置及び三次元地図補正プログラム
US9322646B2 (en) * 2010-04-09 2016-04-26 The Trustees Of The Stevens Institute Of Technology Adaptive mechanism control and scanner positioning for improved three-dimensional laser scanning
US10520482B2 (en) * 2012-06-01 2019-12-31 Agerpoint, Inc. Systems and methods for monitoring agricultural products
US9052721B1 (en) * 2012-08-28 2015-06-09 Google Inc. Method for correcting alignment of vehicle mounted laser scans with an elevation map for obstacle detection
US9523772B2 (en) 2013-06-14 2016-12-20 Microsoft Technology Licensing, Llc Object removal using lidar-based classification
US10959107B2 (en) * 2015-04-14 2021-03-23 ETAK Systems, LLC Systems and methods for delivering a close out package for work done at a telecommunications site
KR20170006505A (ko) 2015-07-08 2017-01-18 (주)휴엔텍 장애물 감지 장치와 이를 이용한 스크린도어용 장애물감지 시스템
KR101711964B1 (ko) 2015-07-14 2017-03-13 서울대학교산학협력단 자유 공간 지도 생성 방법, 자유 공간 지도 생성 시스템, 자유 공간 지도를 이용한 전경/배경 추출 방법 및 전경/배경 추출 시스템
US10748264B2 (en) 2015-09-09 2020-08-18 Sony Corporation Image processing apparatus and image processing method
US10268740B2 (en) 2015-10-14 2019-04-23 Tharmalingam Satkunarajah 3D analytics actionable solution support system and apparatus
EP3430427B1 (en) * 2016-03-14 2021-07-21 IMRA Europe S.A.S. Processing method of a 3d point cloud
US9910442B2 (en) * 2016-06-28 2018-03-06 Toyota Motor Engineering & Manufacturing North America, Inc. Occluded area detection with static obstacle maps
TWI607412B (zh) 2016-09-10 2017-12-01 財團法人工業技術研究院 多維度尺寸量測系統及其方法
US10031231B2 (en) * 2016-09-12 2018-07-24 Delphi Technologies, Inc. Lidar object detection system for automated vehicles
KR20180059188A (ko) 2016-11-25 2018-06-04 연세대학교 산학협력단 딥 러닝을 이용한 동적 장애물이 없는 배경 위주의 3차원 지도 생성 방법
CN106650640B (zh) * 2016-12-05 2020-03-03 浙江大学 一种基于激光雷达点云局部结构特征的负障碍物检测方法
CN111108342B (zh) * 2016-12-30 2023-08-15 辉达公司 用于高清地图创建的视觉测程法和成对对准
EP3566078A1 (en) 2017-01-03 2019-11-13 Innoviz Technologies Ltd. Lidar systems and methods for detection and classification of objects
US10078790B2 (en) * 2017-02-16 2018-09-18 Honda Motor Co., Ltd. Systems for generating parking maps and methods thereof
CN108732584B (zh) * 2017-04-17 2020-06-30 百度在线网络技术(北京)有限公司 用于更新地图的方法和装置
CN107064955A (zh) * 2017-04-19 2017-08-18 北京汽车集团有限公司 障碍物聚类方法及装置
CN107301654B (zh) * 2017-06-12 2020-04-03 西北工业大学 一种多传感器的高精度即时定位与建图方法
CN107390681B (zh) * 2017-06-21 2019-08-20 华南理工大学 一种基于激光雷达与地图匹配的移动机器人实时定位方法
CN107607090B (zh) * 2017-09-12 2020-02-21 中煤航测遥感集团有限公司 建筑物投影纠正方法及装置
US10841496B2 (en) * 2017-10-19 2020-11-17 DeepMap Inc. Lidar to camera calibration based on edge detection
US11556777B2 (en) * 2017-11-15 2023-01-17 Uatc, Llc Continuous convolution and fusion in neural networks
CN108415032B (zh) * 2018-03-05 2021-06-25 中山大学 一种基于深度学习与激光雷达的点云语义地图构建方法
US10726567B2 (en) * 2018-05-03 2020-07-28 Zoox, Inc. Associating LIDAR data and image data
CN108734654A (zh) * 2018-05-28 2018-11-02 深圳市易成自动驾驶技术有限公司 绘图与定位方法、***及计算机可读存储介质
US10491885B1 (en) * 2018-06-13 2019-11-26 Luminar Technologies, Inc. Post-processing by lidar system guided by camera information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106199558A (zh) * 2016-08-18 2016-12-07 宁波傲视智绘光电科技有限公司 障碍物快速检测方法
CN108152831A (zh) * 2017-12-06 2018-06-12 中国农业大学 一种激光雷达障碍物识别方法及***
CN108303101A (zh) * 2018-03-05 2018-07-20 弗徕威智能机器人科技(上海)有限公司 一种导航地图的构建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
OctoMap: an efficient probabilistic 3D mapping framework based on octrees;Armin Hornung;《Autonomous Robots》;第34卷(第3期);第189-206页 *
基于三维激光点云的移动机器人同步定位与构图算法研究;赵绍安;《中国优秀硕士学位论文全文数据库信息科技辑》(第08期);第3-25页 *

Also Published As

Publication number Publication date
EP3676796A1 (en) 2020-07-08
US20200158875A1 (en) 2020-05-21
WO2020097840A1 (en) 2020-05-22
CN111448478A (zh) 2020-07-24
US11035958B2 (en) 2021-06-15
TWI722355B (zh) 2021-03-21
EP3676796A4 (en) 2020-07-08
SG11201811747XA (en) 2020-06-29
TW202020811A (zh) 2020-06-01
JP2021508815A (ja) 2021-03-11
CA3028599A1 (en) 2020-05-15
AU2018286592A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
CN111448478B (zh) 用于基于障碍物检测校正高清地图的***和方法
US10937231B2 (en) Systems and methods for updating a high-resolution map based on binocular images
CN110032949B (zh) 一种基于轻量化卷积神经网络的目标检测与定位方法
EP3732657B1 (en) Vehicle localization
CN112912920B (zh) 用于2d卷积神经网络的点云数据转换方法和***
CA3028653C (en) Methods and systems for color point cloud generation
CA3027921C (en) Integrated sensor calibration in natural scenes
CN111986128A (zh) 偏心图像融合
CN114419098A (zh) 基于视觉变换的运动目标轨迹预测方法及装置
JP2019191133A (ja) 位置推定装置
CN112136021A (zh) 用于构建基于地标的高清地图的***和方法
CN112424568A (zh) 构建高清地图的***和方法
US11138448B2 (en) Identifying a curb based on 3-D sensor data
WO2022133986A1 (en) Accuracy estimation method and system
CN113874681B (zh) 点云地图质量的评估方法和***
AU2018102199A4 (en) Methods and systems for color point cloud generation
CN116917936A (zh) 双目相机外参标定的方法及装置
CN116740295A (zh) 虚拟场景生成方法及装置
CN118135435A (zh) 基于注意力机制的视觉与激光雷达障碍物识别渲染方法、***、设备和介质

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