CN114814796B - 基于高精度地图的水面可行驶区域提取方法、装置及设备 - Google Patents

基于高精度地图的水面可行驶区域提取方法、装置及设备 Download PDF

Info

Publication number
CN114814796B
CN114814796B CN202210765215.7A CN202210765215A CN114814796B CN 114814796 B CN114814796 B CN 114814796B CN 202210765215 A CN202210765215 A CN 202210765215A CN 114814796 B CN114814796 B CN 114814796B
Authority
CN
China
Prior art keywords
point cloud
map
water surface
precision
area
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
CN202210765215.7A
Other languages
English (en)
Other versions
CN114814796A (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.)
Shaanxi Orca Electronic Intelligent Technology Co ltd
Original Assignee
Shaanxi Orca Electronic Intelligent Technology 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 Shaanxi Orca Electronic Intelligent Technology Co ltd filed Critical Shaanxi Orca Electronic Intelligent Technology Co ltd
Priority to CN202210765215.7A priority Critical patent/CN114814796B/zh
Publication of CN114814796A publication Critical patent/CN114814796A/zh
Application granted granted Critical
Publication of CN114814796B publication Critical patent/CN114814796B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/483Details of pulse systems
    • G01S7/486Receivers
    • G01S7/487Extracting wanted echo signals, e.g. pulse detection
    • G01S7/4873Extracting wanted echo signals, e.g. pulse detection by deriving and controlling a threshold value
    • 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/483Details of pulse systems
    • G01S7/486Receivers
    • G01S7/487Extracting wanted echo signals, e.g. pulse detection
    • G01S7/4876Extracting wanted echo signals, e.g. pulse detection by removing unwanted signals
    • 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/491Details of non-pulse systems
    • G01S7/493Extracting wanted echo signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/06Topological mapping of higher dimensional structures onto lower dimensional surfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/521Depth or shape recovery from laser ranging, e.g. using interferometry; from the projection of structured light
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optical Radar Systems And Details Thereof (AREA)

Abstract

本发明实施例公开了一种基于高精度地图的水面可行驶区域提取方法、装置及设备,方法包括:对3D高精度地图进行点云预处理;对点云预处理后的3D高精度地图进行扁平化处理,得到2D栅格图;从2D栅格图中初步提取出空区域;从提取出的空区域中筛选出水面区域;根据筛选出的水面区域生成水面可行驶区域。实现了可从3D激光雷达点云高精地图中自动提取水面可行驶区域,以辅助无人船的路径规划和安全行驶。

Description

基于高精度地图的水面可行驶区域提取方法、装置及设备
技术领域
本发明涉及高精度地图处理技术领域,更具体地说是基于高精度地图的水面可行驶区域提取方法、装置及设备。
背景技术
近年来,地面自动驾驶技术飞速发展,在无人车行业迅猛增长的同时,水面无人船也逐步走入人们视野。无人船可应用于水面巡检、水质检测、水面清洁、水面运输运载等,有着重要的价值和意义。
在路面自动驾驶技术中,高精地图近年来被广泛应用于无人车的感知系统中,辅助于定位、规划、决策等模块。对于无人船,高精地图同样有着重要的意义与价值。
目前,高精地图在无人船的主要应用方式为:直接向无人船提供点云形式的高精地图,当对于无人船,若需进行全局路径规划,则需要耗费大量的计算资源。另外,虽然目前也有对高精地图进行后处理(进一步处理),水面高精地图的后处理(进一步处理)还依赖于人工标注,以标记出其水面所在位置、岸线等等,而人工操作耗时高、效率低,不利于地图的快速处理。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于高精度地图的水面可行驶区域提取方法、装置及设备,以实现3D激光雷达点云高精地图中自动提取水面可行驶区域辅助无人船的路径规划和安全行驶。
为实现上述目的,本发明采用以下技术方案:
一方面,基于高精度地图的水面可行驶区域提取方法,包括:
对3D高精度地图进行点云预处理;
对点云预处理后的3D高精度地图进行扁平化处理,得到2D栅格图;
从2D栅格图中初步提取出空区域;
从提取出的空区域中筛选出水面区域;
根据筛选出的水面区域生成水面可行驶区域。
其进一步技术方案为:所述对3D高精度地图进行点云预处理,包括:
对超出水面位置较高的点云,以及低于水面以下且由于水面反射造成的激光雷达点云进行滤除,以得到高度滤除后的3D高精激光雷达点云地图;
对高度滤除后的3D高精激光雷达点云地图中强度低于局部均值的点云进行滤除,得到局部点云强度滤除后的3D高精激光雷达点云地图;
对局部点云强度滤除后的3D高精激光雷达点云地图的非结构化散点滤除,以得到删除后的3D高精激光雷达点云地图。
其进一步技术方案为:所述对高度滤除后的3D高精激光雷达点云地图中强度低于局部均值的点云进行滤除,得到局部点云强度滤除后的3D高精激光雷达点云地图,包括:
对高度滤除后的3D高精激光雷达点云地图进行3D栅格划分;
计算每个3D栅格内点云强度四分位数阈值;
删除3D栅格中点云强度低于四分位数阈值的点;
合并滤除后的所有3D栅格。
其进一步技术方案为:所述对局部点云强度滤除后的3D高精激光雷达点云地图的非结构化散点滤除,以得到删除后的3D高精激光雷达点云地图,包括:
计算局部点云强度滤除后的3D高精激光雷达点云地图中每个点云邻域半径范围内的点云集合;
删除邻域半径内领域点云集合点云数目小于阈值的点;
计算被保留点与其所有邻域点之间向量的均值;
删除与被保留点所有邻域点之间的向量均值的模小于阈值的点。
其进一步技术方案为:所述从2D栅格图中初步提取出空区域,包括:
对2D栅格图进行预处理;
从对预处理的2D栅格图提取出连通区;
对提取出的连通区进行预筛选。
其进一步技术方案为:所述从提取出的空区域中筛选出水面区域,包括:
对经过预筛选连通区的边缘坐标进行提取;
根据每个连通区的边缘坐标计算出每个连通区边缘的平滑度;
根据计算出的边缘平滑度,删除边缘粗糙的连通区;
对删除后被保留的连通区边缘进行平滑处理,以得到平滑完整的空区域边缘。
其进一步技术方案为:所述根据筛选出的水面区域生成水面可行驶区域,包括:
将得到的平滑完整的空区域边缘转化再次转化为2D栅格地图;
从再次转化为2D栅格地图中查找结果值为1的栅格;
将结果值为1的栅格所对应的区域确定为水面可行驶区域。
第二方面,基于高精度地图的水面可行驶区域提取装置,包括预处理单元、扁平化处理单元、空区域初步提取单元、筛选单元及生成单元;
所述预处理单元,用于对3D高精度地图进行点云预处理;
所述扁平化处理单元,用于对点云预处理后的3D高精度地图进行扁平化处理,得到2D栅格图;
所述空区域初步提取单元,用于从2D栅格图中初步提取出空区域;
所述筛选单元,用于从提取出的空区域中筛选出水面区域;
所述生成单元,用于根据筛选出的水面区域生成水面可行驶区域。
第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的基于高精度地图的水面可行驶区域提取方法步骤。
第四方面,一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如上述的基于高精度地图的水面可行驶区域提取方法步骤。
本发明与现有技术相比的有益效果是:本发明通过对3D高精度地图进行点云预处理;对点云预处理后的3D高精度地图进行扁平化处理,得到2D栅格图;从2D栅格图中初步提取出空区域;从提取出的空区域中筛选出水面区域;根据筛选出的水面区域生成水面可行驶区域,从而实现了可从3D激光雷达点云高精地图中自动提取水面可行驶区域,以辅助无人船的路径规划和安全行驶。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征及优点能够更明显易懂,以下特举较佳实施例,详细说明如下。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明具体实施例提供的基于高精度地图的水面可行驶区域提取方法的流程图;
图2为本发明具体实施例提供的基于高精度地图的水面可行驶区域提取装置的示意性框图;
图3为本发明具体实施例提供的计算机设备的示意性框图;
图4为本发明具体实施例中3D高精激光雷达点云地图;
图5为本发明具体实施例中可行驶区域栅格图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
图1为本发明具体实施例提供的基于高精度地图的水面可行驶区域提取方法的流程图。
如图1所示,基于高精度地图的水面可行驶区域提取方法,该方法包括以下步骤:S10-S50。
S10、对3D高精度地图进行点云预处理。
在本实施例中,设已有高精度激光雷达点云地图为
Figure 449917DEST_PATH_IMAGE001
,其中
Figure 835899DEST_PATH_IMAGE002
为 高精度地图中的一个3D激光雷达点云,
Figure 350057DEST_PATH_IMAGE003
,其中
Figure 479687DEST_PATH_IMAGE004
分别为该激光雷达 点云在高精度地图坐标系中的
Figure 28480DEST_PATH_IMAGE005
坐标,
Figure 319784DEST_PATH_IMAGE006
代表该激光雷达点云的反射强度。
3D高精度地图点云预处理即是将3D高精度激光雷达点云图中的无效点滤除。
在一实施例中,步骤S10具体包括以下步骤:S101-S103。
S101、对超出水面位置较高的点云,以及低于水面以下且由于水面反射造成的激光雷达点云进行滤除,以得到高度滤除后的3D高精激光雷达点云地图。
在本实施例中,对超出水面位置较高的点云,以及低于水面以下且由于水面反射 造成的激光雷达点云进行滤除,得到高度滤除后的3D高精激光雷达点云地图
Figure 321238DEST_PATH_IMAGE007
,即
Figure 254559DEST_PATH_IMAGE009
,其中,
Figure 657859DEST_PATH_IMAGE010
为高度阈值下限,
Figure 385643DEST_PATH_IMAGE011
为高度阈值上限。
S102、对高度滤除后的3D高精激光雷达点云地图中强度低于局部均值的点云进行滤除,得到局部点云强度滤除后的3D高精激光雷达点云地图。
在本实施例中,对高度滤除后的3D高精激光雷达点云地图
Figure 378788DEST_PATH_IMAGE007
中,强度低于局部均 值的点云进行滤除,得到3D高精激光雷达点云地图
Figure 850220DEST_PATH_IMAGE012
在一实施例中,步骤S102具体包括以下步骤:S1021-S1024。
S1021、对高度滤除后的3D高精激光雷达点云地图进行3D栅格划分。
在本实施例中,对得到的3D高精激光雷达点云地图
Figure 108026DEST_PATH_IMAGE007
进行3D栅格划分,具体地, 设3D栅格边长为
Figure 6712DEST_PATH_IMAGE013
的正方体,其中,3D栅格点集合
Figure 982759DEST_PATH_IMAGE014
为:
Figure 992303DEST_PATH_IMAGE016
,其中,
Figure 370195DEST_PATH_IMAGE017
代表取整,
Figure 439782DEST_PATH_IMAGE013
代 表所划分的3D栅格正方体的边长。即,3D栅格点集合
Figure 903124DEST_PATH_IMAGE014
为落入
Figure 716359DEST_PATH_IMAGE018
方向第
Figure 683178DEST_PATH_IMAGE019
个、
Figure 189246DEST_PATH_IMAGE020
方向第
Figure 874305DEST_PATH_IMAGE021
个,
Figure 491231DEST_PATH_IMAGE022
方向第
Figure 76671DEST_PATH_IMAGE023
个3D栅格中的所有点的集合。
S1022、计算每个3D栅格内点云强度四分位数阈值。
在本实施例中,对每个3D栅格内点
Figure 753640DEST_PATH_IMAGE014
集合,计算其中所有点强度的四分位 数,取3个四分位数中的最小值,作为四分位数阈值,结果记为
Figure 925996DEST_PATH_IMAGE024
S1023、删除3D栅格中点云强度低于四分位数阈值的点。
在本实施例中,每个3D栅格
Figure 815454DEST_PATH_IMAGE014
内,对点云强度小于该栅格3D点强度最小的四 分位数
Figure 22445DEST_PATH_IMAGE024
的点云进行滤除,仅保留点强度大于
Figure 870315DEST_PATH_IMAGE024
的点,得到滤除后的3D栅格点 集合
Figure 529966DEST_PATH_IMAGE025
,即:
Figure 488695DEST_PATH_IMAGE027
S1024、合并滤除后的所有3D栅格。
在本实施例中,合并所有滤除后的3D栅格,得到局部点云强度滤除后的高精度地 图点云
Figure 284613DEST_PATH_IMAGE012
,即:
Figure 37805DEST_PATH_IMAGE029
其中,
Figure 184753DEST_PATH_IMAGE030
代表
Figure 947172DEST_PATH_IMAGE018
Figure 863176DEST_PATH_IMAGE020
Figure 787269DEST_PATH_IMAGE022
方向最远的一个3D栅格的标号。
S103、对局部点云强度滤除后的3D高精激光雷达点云地图的非结构化散点滤除,以得到删除后的3D高精激光雷达点云地图。
在本实施例中,经过局部点云强度滤除后的3D高精激光雷达点云地图
Figure 920048DEST_PATH_IMAGE012
,其中的 非结构化散点将被滤除,得到3D高精激光雷达点云地图
Figure 955000DEST_PATH_IMAGE031
在一实施例中,步骤S103具体包括以下步骤:S1031-S1034。
S1031、计算局部点云强度滤除后的3D高精激光雷达点云地图中每个点云邻域半径范围内的点云集合。
在本实施例中,计算3D高精激光雷达点云地图
Figure 991090DEST_PATH_IMAGE012
中每个点云邻域半径
Figure 86084DEST_PATH_IMAGE032
范围内 的点云集合。具体地,对于点
Figure 207624DEST_PATH_IMAGE033
,其半径
Figure 311846DEST_PATH_IMAGE032
范围内点云集合
Figure 936863DEST_PATH_IMAGE034
为:
Figure 202759DEST_PATH_IMAGE036
S1032、删除邻域半径内领域点云集合点云数目小于阈值的点。
在本实施例中,删除半径
Figure 546016DEST_PATH_IMAGE032
内领域点云集合内点云数目小于阈值
Figure 453929DEST_PATH_IMAGE037
的点。具体 地,即若对于点
Figure 199031DEST_PATH_IMAGE038
,若其邻域内点云数目
Figure 901408DEST_PATH_IMAGE039
,则删除点
Figure 731961DEST_PATH_IMAGE038
,点
Figure 410941DEST_PATH_IMAGE038
不参与后面的计算 过程,同时从集合
Figure 10550DEST_PATH_IMAGE012
中删除点
Figure 883828DEST_PATH_IMAGE038
S1033、计算被保留点与其所有邻域点之间向量的均值。
在本实施例中,对于点
Figure 201677DEST_PATH_IMAGE038
,其半径
Figure 185813DEST_PATH_IMAGE032
范围内邻域点云集合为
Figure 639929DEST_PATH_IMAGE034
,点
Figure 684108DEST_PATH_IMAGE040
Figure 489253DEST_PATH_IMAGE034
中任意一点之间
Figure 277080DEST_PATH_IMAGE041
的之间的向量为
Figure 851281DEST_PATH_IMAGE042
;则
Figure 66362DEST_PATH_IMAGE038
Figure 93224DEST_PATH_IMAGE034
中所有点之间的向量的均值
Figure 684742DEST_PATH_IMAGE043
为:
Figure 113449DEST_PATH_IMAGE045
S1034、删除与被保留点所有邻域点之间的向量均值的模小于阈值的点。
在本实施例中,对点
Figure 726528DEST_PATH_IMAGE038
,若
Figure 506265DEST_PATH_IMAGE038
Figure 635895DEST_PATH_IMAGE034
中所有点之间的向量的均值
Figure 919109DEST_PATH_IMAGE043
的模越小,则认为点
Figure 741571DEST_PATH_IMAGE038
所在区域非平面、非线段,而是处于某无结构化特征的点云区域,则 删除点
Figure 743025DEST_PATH_IMAGE038
,即,对点
Figure 676346DEST_PATH_IMAGE038
,若
Figure 548487DEST_PATH_IMAGE043
满足
Figure 541851DEST_PATH_IMAGE046
,则从集合
Figure 30601DEST_PATH_IMAGE012
中 删除点
Figure 502034DEST_PATH_IMAGE038
。得到删除后的3D高精激光雷达点云地图
Figure 759840DEST_PATH_IMAGE031
S20、对点云预处理后的3D高精度地图进行扁平化处理,得到2D栅格图。
在本实施例中,主要是将预处理后的删除后的3D高精激光雷达点云地图
Figure 924105DEST_PATH_IMAGE031
,转化 为易于计算机处理的2D地图
Figure 634572DEST_PATH_IMAGE047
,并将其栅格化为
Figure 909696DEST_PATH_IMAGE048
具体地,对
Figure 786123DEST_PATH_IMAGE031
中全部点,将每一点的
Figure 590130DEST_PATH_IMAGE022
值置为0,即删除
Figure 53473DEST_PATH_IMAGE022
方向自由度,得到2D地图
Figure 866708DEST_PATH_IMAGE047
设定2D栅格图
Figure 99106DEST_PATH_IMAGE049
的边长为
Figure 339595DEST_PATH_IMAGE050
,初始化2D栅格图
Figure 290233DEST_PATH_IMAGE051
,即生成一 个全一矩阵,
Figure 907159DEST_PATH_IMAGE052
为矩阵的长宽,其中
Figure 994064DEST_PATH_IMAGE054
Figure 671033DEST_PATH_IMAGE056
Figure 843388DEST_PATH_IMAGE057
代表向上取整。对
Figure 998426DEST_PATH_IMAGE049
中的值,
Figure 205417DEST_PATH_IMAGE059
Figure 787708DEST_PATH_IMAGE061
即,若有点落入
Figure 680315DEST_PATH_IMAGE062
格中,则2D栅格图中
Figure 639044DEST_PATH_IMAGE062
位置值置为0,否则该 位置值置为1,认为是一个空区域。
由此,则将预处理后的3D高精激光雷达点云地图
Figure 700541DEST_PATH_IMAGE031
转化为2D栅格图
Figure 719312DEST_PATH_IMAGE049
,完成 了3D高精地图的扁平化处理。
S30、从2D栅格图中初步提取出空区域。
在一实施例中,步骤S30具体包括以下步骤:S301-S303。
S301、对2D栅格图进行预处理。
在本实施例中,对2D栅格图
Figure 866260DEST_PATH_IMAGE049
进行二值图先腐蚀、后膨胀的闭运算操作,去除 其中部分零散的空区域,腐蚀和膨胀的算子大小为
Figure 363100DEST_PATH_IMAGE063
,可根据地图情况进行设置。
S302、从对预处理的2D栅格图提取出连通区。
在本实施例中,通过4邻域连通区标记算法,提取出
Figure 279104DEST_PATH_IMAGE049
中所有的连通区,设共提 取出
Figure 468777DEST_PATH_IMAGE064
个连通区,同时提取得到每个连通区大小为
Figure 103020DEST_PATH_IMAGE065
S303、对提取出的连通区进行预筛选。
在本实施例中,设连通区
Figure 137972DEST_PATH_IMAGE066
的面积大小为
Figure 908482DEST_PATH_IMAGE067
,若
Figure 269056DEST_PATH_IMAGE068
,其中
Figure 390596DEST_PATH_IMAGE069
为连通区 面积阈值,则删除连通区
Figure 229239DEST_PATH_IMAGE066
,并将其对应的连通区内栅格值设为0。经过筛选与删除后的2D栅 格地图记为
Figure 119835DEST_PATH_IMAGE070
,删除较小的连通区后剩余连通区个数为
Figure 884266DEST_PATH_IMAGE071
S40、从提取出的空区域中筛选出水面区域。
在本实施例中,主要从提取的
Figure 227523DEST_PATH_IMAGE071
个连通区、以及对应的栅格地图
Figure 135436DEST_PATH_IMAGE070
中,提取出 水面区域,即空区域。
在一实施例中,步骤S40具体包括以下步骤:S401-S404。
S401、对经过预筛选连通区的边缘坐标进行提取。
在本实施例中,对已得到的连通区,对其边缘坐标进行提取。具体地,对
Figure 880538DEST_PATH_IMAGE071
个连通 区,利用Moore-Neighbor算法,可提取出每个连通区的边缘坐标,例如,对于连通区
Figure 582915DEST_PATH_IMAGE072
,可 以提取出其边缘为:
Figure 413468DEST_PATH_IMAGE074
,其中,
Figure 328334DEST_PATH_IMAGE075
为边缘上第
Figure 193522DEST_PATH_IMAGE076
个点的坐标,
Figure 66800DEST_PATH_IMAGE077
共包含了
Figure 384649DEST_PATH_IMAGE078
个点。
S402、根据每个连通区的边缘坐标计算出每个连通区边缘的平滑度。
在本实施例中,通过计算出的每个连通区,以及连通区的边缘坐标,可计算出每个连通区边缘的平滑度。
具体地,对于边缘
Figure 368785DEST_PATH_IMAGE077
中的点
Figure 88480DEST_PATH_IMAGE079
,计算其平滑度
Figure 132659DEST_PATH_IMAGE080
,计算 方式如下:
Figure 176619DEST_PATH_IMAGE082
,其中,
Figure 964447DEST_PATH_IMAGE083
为点
Figure 538648DEST_PATH_IMAGE084
前后各
Figure 753728DEST_PATH_IMAGE085
个 点组成的集合,
Figure 780590DEST_PATH_IMAGE086
,代表
Figure 372108DEST_PATH_IMAGE083
中的元素个数,
Figure 800816DEST_PATH_IMAGE084
Figure 921219DEST_PATH_IMAGE083
中的其他点。
Figure 700956DEST_PATH_IMAGE080
的值 越大,则代表当前点与周围点的差距较大,平滑度低;
Figure 830586DEST_PATH_IMAGE080
的值越小,则代表当前点与周 围点的差距较小,平滑度高。
对边缘
Figure 113800DEST_PATH_IMAGE077
上的
Figure 670683DEST_PATH_IMAGE078
个点处的平滑度求均值,得到平均平滑度
Figure 672137DEST_PATH_IMAGE087
,即:
Figure 339879DEST_PATH_IMAGE088
S403、根据计算出的边缘平滑度,删除边缘粗糙的连通区。
在本实施例中,对于水面高精度3D激光雷达点云地图,一般都是通过水面装置采集的,因此,由于水面装置是面对岸边进行数据采集的,对岸侧的感知较为细致,且水面部分因为吸收激光,而没有激光雷达点云。而对岸上物体,激光雷达点云往往只能感知到正对水面的一侧,而无法感知其真实轮廓,因此,其背对激光雷达的一侧,点云往往较为杂乱。由此,真实的水面空区域边界,一般比较平滑,而由于点云无法扫到而形成的岸上的假空区域,其边缘非常粗糙。因此,通过判断区域边缘平滑度的方式,滤除由于激光雷达本身无法扫描到的,岸上虚假空域。
通过计算出的边缘平滑度,对边缘平滑度较低的连通区域进行删除。具体地,设连 通域
Figure 241713DEST_PATH_IMAGE089
的边缘为
Figure 235077DEST_PATH_IMAGE090
,计算得到其平滑度为
Figure 458248DEST_PATH_IMAGE087
,若
Figure 929681DEST_PATH_IMAGE091
,其中
Figure 187487DEST_PATH_IMAGE092
为 平滑度阈值,则保留连通域
Figure 86172DEST_PATH_IMAGE089
及其边缘
Figure 62219DEST_PATH_IMAGE090
;否则,则认为连通域
Figure 337342DEST_PATH_IMAGE089
边缘太粗糙,则将 连通域
Figure 184076DEST_PATH_IMAGE090
删除,将
Figure 519242DEST_PATH_IMAGE093
中,对应位置处的值设置为0,删除边缘
Figure 717005DEST_PATH_IMAGE090
,剩余连通区个数与边 缘个数(二者的值是始终保持一致的)设为
Figure 795820DEST_PATH_IMAGE094
S404、对删除后被保留的连通区边缘进行平滑处理,以得到平滑完整的空区域边缘。
在本实施例中,设连通域
Figure 28218DEST_PATH_IMAGE089
的边缘为
Figure 268706DEST_PATH_IMAGE090
,利用Savitzky-Golay滤波(SG平滑), 对边缘进行平滑计算,以得到平滑后的边缘
Figure 452301DEST_PATH_IMAGE095
。最终可以得到
Figure 69227DEST_PATH_IMAGE094
个平滑后的连通域边 缘,其集合表示为
Figure 156131DEST_PATH_IMAGE096
S50、根据筛选出的水面区域生成水面可行驶区域。
在本实施例中,将得到的
Figure 567521DEST_PATH_IMAGE094
个平滑后的连通域边缘
Figure 739877DEST_PATH_IMAGE096
,再 转化为2D栅格地图,
Figure 160494DEST_PATH_IMAGE097
中值为1的栅格,对应区域,即为可行驶的区域。
在一实施例中,步骤S50具体包括以下步骤:S501-S503。
S501、将得到的平滑完整的空区域边缘转化再次转化为2D栅格地图。
S502、从再次转化为2D栅格地图中查找结果值为1的栅格。
S503、将结果值为1的栅格所对应的区域确定为水面可行驶区域。
对于步骤S501、S502、S503,设定2D栅格图
Figure 836326DEST_PATH_IMAGE097
的边长为
Figure 684196DEST_PATH_IMAGE098
,初始化2D栅格图
Figure 343847DEST_PATH_IMAGE100
,即生成一个全一矩阵,
Figure 302576DEST_PATH_IMAGE101
为矩阵的长宽,其中
Figure 98494DEST_PATH_IMAGE103
Figure DEST_PATH_IMAGE105
Figure 851686DEST_PATH_IMAGE106
代表向上取整。对
Figure 231590DEST_PATH_IMAGE097
中的值
Figure 994009DEST_PATH_IMAGE108
Figure 910013DEST_PATH_IMAGE110
,其中,
Figure 99686DEST_PATH_IMAGE112
代表坐标
Figure DEST_PATH_IMAGE113
包含在边 缘
Figure 202771DEST_PATH_IMAGE114
内。即,若坐标
Figure 503302DEST_PATH_IMAGE113
,在任意一个提取出的连通区内,则
Figure DEST_PATH_IMAGE115
对于判断点是否在
Figure 8233DEST_PATH_IMAGE114
内部,可采用现有技术中判断点是否在连通区内算法,例如 直线法、PNPOLY等,本实施例中,采用直线法判断点是否在连通区内。
由此,即得到了
Figure 103228DEST_PATH_IMAGE097
,其中,可以行使区域栅格值为1。
通过上述的处理,从高精度激光雷达点云地图
Figure 959188DEST_PATH_IMAGE116
中,生成2D栅 格地图
Figure 63411DEST_PATH_IMAGE097
Figure 954006DEST_PATH_IMAGE097
中值为1的栅格对应区域,即为水面可行驶的区域。该2D栅格地 图
Figure 485482DEST_PATH_IMAGE097
,可与高精度激光雷达点云地图
Figure DEST_PATH_IMAGE117
共同输出给水面无人船,辅助水面无人船安 全行驶。图4中示意出了高精度激光雷达点云地图
Figure 79272DEST_PATH_IMAGE117
,图5示意出了由高精度激光雷达点云 地图
Figure 456027DEST_PATH_IMAGE117
生成的水面可行驶区域栅格图
Figure 201129DEST_PATH_IMAGE097
本发明实现了可从3D激光雷达点云高精地图中自动提取水面可行驶区域,以辅助无人船的路径规划和安全行驶。
图2为本发明实施例提供了基于高精度地图的水面可行驶区域提取装置的示意性框图;对应于上述的基于高精度地图的水面可行驶区域提取方法,本发明还提供了基于高精度地图的水面可行驶区域提取装置100。
如图2所示,基于高精度地图的水面可行驶区域提取装置100,包括预处理单元110、扁平化处理单元120、空区域初步提取单元130、筛选单元140及生成单元150。
预处理单元110,用于对3D高精度地图进行点云预处理。
在本实施例中,设已有高精度激光雷达点云地图为
Figure 903506DEST_PATH_IMAGE001
,其中
Figure 734059DEST_PATH_IMAGE002
为 高精度地图中的一个3D激光雷达点云,
Figure 180084DEST_PATH_IMAGE003
,其中
Figure 45271DEST_PATH_IMAGE004
分别为该激光雷达 点云在高精度地图坐标系中的
Figure 918549DEST_PATH_IMAGE005
坐标,
Figure 705240DEST_PATH_IMAGE006
代表该激光雷达点云的反射强度。
3D高精度地图点云预处理即是将3D高精度激光雷达点云图中的无效点滤除。
在一实施例中,预处理单元110包括第一滤除模块、第二滤除模块和第三滤除模块。
第一滤除模块,用于对超出水面位置较高的点云,以及低于水面以下且由于水面反射造成的激光雷达点云进行滤除,以得到高度滤除后的3D高精激光雷达点云地图。
在本实施例中,对超出水面位置较高的点云,以及低于水面以下且由于水面反射 造成的激光雷达点云进行滤除,得到高度滤除后的3D高精激光雷达点云地图
Figure 158218DEST_PATH_IMAGE007
,即
Figure 376447DEST_PATH_IMAGE118
,其中,
Figure 420627DEST_PATH_IMAGE010
为高度阈值下限,
Figure 960193DEST_PATH_IMAGE011
为高度阈值上限。
第二滤除模块,用于对高度滤除后的3D高精激光雷达点云地图中强度低于局部均值的点云进行滤除,得到局部点云强度滤除后的3D高精激光雷达点云地图。
在本实施例中,对高度滤除后的3D高精激光雷达点云地图
Figure 748020DEST_PATH_IMAGE007
中,强度低于局部均 值的点云进行滤除,得到3D高精激光雷达点云地图
Figure 322221DEST_PATH_IMAGE012
在一实施例中,第二滤除模块包括3D栅格划分子模块、第一计算子模块、第一删除子模块和合并子模块。
3D栅格划分子模块,用于对高度滤除后的3D高精激光雷达点云地图进行3D栅格划分。
在本实施例中,对得到的3D高精激光雷达点云地图
Figure 271722DEST_PATH_IMAGE007
进行3D栅格划分,具体地, 设3D栅格边长为
Figure 564163DEST_PATH_IMAGE013
的正方体,其中,3D栅格点集合
Figure 890102DEST_PATH_IMAGE014
为:
Figure 584389DEST_PATH_IMAGE120
,其中,
Figure 970371DEST_PATH_IMAGE017
代表取整,
Figure 484529DEST_PATH_IMAGE013
代表所划分的3D栅格正方体的边长。即,3D栅格点集合
Figure 348580DEST_PATH_IMAGE014
为落入
Figure 897373DEST_PATH_IMAGE018
方向第
Figure 454256DEST_PATH_IMAGE019
个、
Figure 954245DEST_PATH_IMAGE020
方 向第
Figure 887566DEST_PATH_IMAGE021
个,
Figure 290866DEST_PATH_IMAGE022
方向第
Figure 18650DEST_PATH_IMAGE023
个3D栅格中的所有点的集合。
第一计算子模块,用于计算每个3D栅格内点云强度四分位数阈值。
在本实施例中,对每个3D栅格内点
Figure 241821DEST_PATH_IMAGE014
集合,计算其中所有点强度的四分位 数,取3个四分位数中的最小值,作为四分位数阈值,结果记为
Figure 978833DEST_PATH_IMAGE024
第一删除子模块,用于删除3D栅格中点云强度低于四分位数阈值的点。
在本实施例中,每个3D栅格
Figure 236639DEST_PATH_IMAGE014
内,对点云强度小于该栅格3D点强度最小的四 分位数
Figure 135325DEST_PATH_IMAGE024
的点云进行滤除,仅保留点强度大于
Figure 111371DEST_PATH_IMAGE024
的点,得到滤除后的3D栅格点 集合
Figure 386495DEST_PATH_IMAGE025
,即:
Figure DEST_PATH_IMAGE121
合并子模块,用于合并滤除后的所有3D栅格。
在本实施例中,合并所有滤除后的3D栅格,得到局部点云强度滤除后的高精度地 图点云
Figure 967649DEST_PATH_IMAGE012
,即:
Figure 37236DEST_PATH_IMAGE122
其中,
Figure 733534DEST_PATH_IMAGE030
代表
Figure 812349DEST_PATH_IMAGE018
Figure 779168DEST_PATH_IMAGE020
Figure 285235DEST_PATH_IMAGE022
方向最远的一个3D栅格的标号。
第三滤除模块,用于对局部点云强度滤除后的3D高精激光雷达点云地图的非结构化散点滤除,以得到删除后的3D高精激光雷达点云地图。
在本实施例中,经过局部点云强度滤除后的3D高精激光雷达点云地图
Figure 970295DEST_PATH_IMAGE012
,其中的 非结构化散点将被滤除,得到3D高精激光雷达点云地图
Figure 321641DEST_PATH_IMAGE031
在一实施例中,第三滤除模块包括第二计算子模块、第二删除子模块、第三计算子模块和第三删除子模块。
第二计算子模块,用于计算局部点云强度滤除后的3D高精激光雷达点云地图中每个点云邻域半径范围内的点云集合。
在本实施例中,计算3D高精激光雷达点云地图
Figure 408546DEST_PATH_IMAGE012
中每个点云邻域半径
Figure 85515DEST_PATH_IMAGE032
范围内 的点云集合。具体地,对于点
Figure 257870DEST_PATH_IMAGE033
,其半径
Figure 678488DEST_PATH_IMAGE032
范围内点云集合
Figure 619899DEST_PATH_IMAGE034
为:
Figure 467769DEST_PATH_IMAGE124
第二删除子模块,用于删除邻域半径内领域点云集合点云数目小于阈值的点。
在本实施例中,删除半径
Figure 861841DEST_PATH_IMAGE032
内领域点云集合内点云数目小于阈值
Figure 820570DEST_PATH_IMAGE037
的点。具体 地,即若对于点
Figure 386461DEST_PATH_IMAGE038
,若其邻域内点云数目
Figure 139654DEST_PATH_IMAGE039
,则删除点
Figure 286601DEST_PATH_IMAGE038
,点
Figure 783442DEST_PATH_IMAGE038
不参与后面的计算 过程,同时从集合
Figure 699445DEST_PATH_IMAGE012
中删除点
Figure 889118DEST_PATH_IMAGE038
第三计算子模块,用于计算被保留点与其所有邻域点之间向量的均值。
在本实施例中,对于点
Figure 257783DEST_PATH_IMAGE038
,其半径
Figure 558314DEST_PATH_IMAGE032
范围内邻域点云集合为
Figure 594403DEST_PATH_IMAGE034
,点
Figure 954977DEST_PATH_IMAGE040
Figure 545358DEST_PATH_IMAGE034
中任意一点之间
Figure 649581DEST_PATH_IMAGE041
的之间的向量为
Figure 540176DEST_PATH_IMAGE042
;则
Figure 71652DEST_PATH_IMAGE038
Figure 913444DEST_PATH_IMAGE034
中所有点之间的向量的均值
Figure 290198DEST_PATH_IMAGE043
为:
Figure 35300DEST_PATH_IMAGE126
第三删除子模块,用于删除与被保留点所有邻域点之间的向量均值的模小于阈值的点。
在本实施例中,对点
Figure 737677DEST_PATH_IMAGE038
,若
Figure 568230DEST_PATH_IMAGE038
Figure 14255DEST_PATH_IMAGE034
中所有点之间的向量的均值
Figure 613863DEST_PATH_IMAGE043
的模越小,则认为点
Figure 487141DEST_PATH_IMAGE038
所在区域非平面、非线段,而是处于某无结构化特征的点云区域,则 删除点
Figure 804990DEST_PATH_IMAGE038
,即,对点
Figure 54706DEST_PATH_IMAGE038
,若
Figure 508821DEST_PATH_IMAGE043
满足
Figure 287421DEST_PATH_IMAGE046
,则从集合
Figure 92566DEST_PATH_IMAGE012
中 删除点
Figure 880394DEST_PATH_IMAGE038
。得到删除后的3D高精激光雷达点云地图
Figure 953130DEST_PATH_IMAGE031
扁平化处理单元120,用于对点云预处理后的3D高精度地图进行扁平化处理,得到2D栅格图。
在本实施例中,主要是将预处理后的删除后的3D高精激光雷达点云地图
Figure 168210DEST_PATH_IMAGE031
,转化 为易于计算机处理的2D地图
Figure 195072DEST_PATH_IMAGE047
,并将其栅格化为
Figure 521011DEST_PATH_IMAGE048
具体地,对
Figure 949719DEST_PATH_IMAGE031
中全部点,将每一点的
Figure 601280DEST_PATH_IMAGE022
值置为0,即删除
Figure 115438DEST_PATH_IMAGE022
方向自由度,得到2D地图
Figure 245068DEST_PATH_IMAGE047
设定2D栅格图
Figure 793861DEST_PATH_IMAGE049
的边长为
Figure 350744DEST_PATH_IMAGE050
,初始化2D栅格图
Figure 86619DEST_PATH_IMAGE051
,即生成一 个全一矩阵,
Figure 19940DEST_PATH_IMAGE052
为矩阵的长宽,其中
Figure DEST_PATH_IMAGE127
Figure 157660DEST_PATH_IMAGE128
Figure 383980DEST_PATH_IMAGE057
代表向上取整。对
Figure 872730DEST_PATH_IMAGE049
中的值,
Figure 344163DEST_PATH_IMAGE058
Figure 601969DEST_PATH_IMAGE130
即,若有点落入
Figure 500655DEST_PATH_IMAGE062
格中,则2D栅格图中
Figure 476701DEST_PATH_IMAGE062
位置值置为0,否则该 位置值置为1,认为是一个空区域。
由此,则将预处理后的3D高精激光雷达点云地图
Figure 486245DEST_PATH_IMAGE031
转化为2D栅格图
Figure 864137DEST_PATH_IMAGE049
,完成 了3D高精地图的扁平化处理。
空区域初步提取单元130,用于从2D栅格图中初步提取出空区域。
在一实施例中,空区域初步提取单元包括预处理模块、第一提取模块和筛选模块。
预处理模块,用于对2D栅格图进行预处理。
在本实施例中,对2D栅格图
Figure 933724DEST_PATH_IMAGE049
进行二值图先腐蚀、后膨胀的闭运算操作,去除 其中部分零散的空区域,腐蚀和膨胀的算子大小为
Figure 131487DEST_PATH_IMAGE063
,可根据地图情况进行设置。
第一提取模块,用于从对预处理的2D栅格图提取出连通区。
在本实施例中,通过4邻域连通区标记算法,提取出
Figure 944722DEST_PATH_IMAGE049
中所有的连通区,设共提 取出
Figure 177121DEST_PATH_IMAGE064
个连通区,同时提取得到每个连通区大小为
Figure 683188DEST_PATH_IMAGE065
筛选模块,用于对提取出的连通区进行预筛选。
在本实施例中,设连通区
Figure 368248DEST_PATH_IMAGE066
的面积大小为
Figure 477849DEST_PATH_IMAGE067
,若
Figure 564754DEST_PATH_IMAGE068
,其中
Figure 976144DEST_PATH_IMAGE069
为连通区 面积阈值,则删除连通区
Figure 148499DEST_PATH_IMAGE066
,并将其对应的连通区内栅格值设为0。经过筛选与删除后的2D栅 格地图记为
Figure 303537DEST_PATH_IMAGE070
,删除较小的连通区后剩余连通区个数为
Figure 510528DEST_PATH_IMAGE071
筛选单元140,用于从提取出的空区域中筛选出水面区域。
在本实施例中,主要从提取的
Figure 358398DEST_PATH_IMAGE071
个连通区、以及对应的栅格地图
Figure 18049DEST_PATH_IMAGE070
中,提取出 水面区域,即空区域。
在一实施例中,筛选单元140包括第二提取模块、计算模块、删除模块和平滑处理模块。
第二提取模块,用于对经过预筛选连通区的边缘坐标进行提取。
在本实施例中,对已得到的连通区,对其边缘坐标进行提取。具体地,对
Figure 976778DEST_PATH_IMAGE071
个连通 区,利用Moore-Neighbor算法,可提取出每个连通区的边缘坐标,例如,对于连通区
Figure 507116DEST_PATH_IMAGE072
,可 以提取出其边缘为:
Figure 525888DEST_PATH_IMAGE132
,
其中,
Figure 672836DEST_PATH_IMAGE075
为边缘上第
Figure 435255DEST_PATH_IMAGE076
个点的坐标,
Figure 351259DEST_PATH_IMAGE077
共包含了
Figure 773888DEST_PATH_IMAGE078
个点。
计算模块,用于根据每个连通区的边缘坐标计算出每个连通区边缘的平滑度。
在本实施例中,通过计算出的每个连通区,以及连通区的边缘坐标,可计算出每个连通区边缘的平滑度。
具体地,对于边缘
Figure 408131DEST_PATH_IMAGE077
中的点
Figure 443083DEST_PATH_IMAGE079
,计算其平滑度
Figure 479172DEST_PATH_IMAGE080
,计算 方式如下:
Figure DEST_PATH_IMAGE133
,其中,
Figure 308588DEST_PATH_IMAGE083
为点
Figure 430128DEST_PATH_IMAGE084
前后各
Figure 534350DEST_PATH_IMAGE085
个 点组成的集合,
Figure 893787DEST_PATH_IMAGE086
,代表
Figure 425263DEST_PATH_IMAGE083
中的元素个数,
Figure 768519DEST_PATH_IMAGE084
Figure 676433DEST_PATH_IMAGE083
中的其他点。
Figure 421535DEST_PATH_IMAGE080
的值 越大,则代表当前点与周围点的差距较大,平滑度低;
Figure 123911DEST_PATH_IMAGE080
的值越小,则代表当前点与周 围点的差距较小,平滑度高。
对边缘
Figure 452999DEST_PATH_IMAGE077
上的
Figure 899024DEST_PATH_IMAGE078
个点处的平滑度求均值,得到平均平滑度
Figure 233054DEST_PATH_IMAGE087
,即:
Figure 106332DEST_PATH_IMAGE088
删除模块,用于根据计算出的边缘平滑度,删除边缘粗糙的连通区。
在本实施例中,对于水面高精度3D激光雷达点云地图,一般都是通过水面装置采集的,因此,由于水面装置是面对岸边进行数据采集的,对岸侧的感知较为细致,且水面部分因为吸收激光,而没有激光雷达点云。而对岸上物体,激光雷达点云往往只能感知到正对水面的一侧,而无法感知其真实轮廓,因此,其背对激光雷达的一侧,点云往往较为杂乱。由此,真实的水面空区域边界,一般比较平滑,而由于点云无法扫到而形成的岸上的假空区域,其边缘非常粗糙。因此,通过判断区域边缘平滑度的方式,滤除由于激光雷达本身无法扫描到的,岸上虚假空域。
通过计算出的边缘平滑度,对边缘平滑度较低的连通区域进行删除。具体地,设连 通域
Figure 424181DEST_PATH_IMAGE089
的边缘为
Figure 408317DEST_PATH_IMAGE090
,计算得到其平滑度为
Figure 128011DEST_PATH_IMAGE087
,若
Figure 172191DEST_PATH_IMAGE091
,其中
Figure 977336DEST_PATH_IMAGE092
为 平滑度阈值,则保留连通域
Figure 765163DEST_PATH_IMAGE089
及其边缘
Figure 73785DEST_PATH_IMAGE090
;否则,则认为连通域
Figure 288865DEST_PATH_IMAGE089
边缘太粗糙,则将 连通域
Figure 315727DEST_PATH_IMAGE090
删除,将
Figure 907246DEST_PATH_IMAGE093
中,对应位置处的值设置为0,删除边缘
Figure 834488DEST_PATH_IMAGE090
,剩余连通区个数与边 缘个数(二者的值是始终保持一致的)设为
Figure 220470DEST_PATH_IMAGE094
平滑处理模块,用于对删除后被保留的连通区边缘进行平滑处理,以得到平滑完整的空区域边缘。
在本实施例中,设连通域
Figure 734628DEST_PATH_IMAGE089
的边缘为
Figure 864258DEST_PATH_IMAGE090
,利用Savitzky-Golay滤波(SG平滑), 对边缘进行平滑计算,以得到平滑后的边缘
Figure 147472DEST_PATH_IMAGE095
。最终可以得到
Figure 969934DEST_PATH_IMAGE094
个平滑后的连通域边 缘,其集合表示为
Figure 971388DEST_PATH_IMAGE096
生成单元150,用于根据筛选出的水面区域生成水面可行驶区域。
在本实施例中,将得到的
Figure 904709DEST_PATH_IMAGE094
个平滑后的连通域边缘
Figure 42430DEST_PATH_IMAGE096
,再 转化为2D栅格地图,
Figure 35793DEST_PATH_IMAGE097
中值为1的栅格,对应区域,即为可行驶的区域。
在一实施例中,生成单元150包括转换模块、查找模块和确定模块。
转换模块,用于将得到的平滑完整的空区域边缘转化再次转化为2D栅格地图。
查找模块,用于从再次转化为2D栅格地图中查找结果值为1的栅格。
确定模块,用于将结果值为1的栅格所对应的区域确定为水面可行驶区域。
对于转换模块、查找模块和确定模块,设定2D栅格图
Figure 524544DEST_PATH_IMAGE097
的边长为
Figure 995976DEST_PATH_IMAGE098
,初始化 2D栅格图
Figure 988203DEST_PATH_IMAGE099
,即生成一个全一矩阵,
Figure 152468DEST_PATH_IMAGE101
为矩阵的长宽,其中
Figure 367330DEST_PATH_IMAGE134
Figure DEST_PATH_IMAGE135
Figure 376874DEST_PATH_IMAGE106
代表向上取整。对
Figure 754766DEST_PATH_IMAGE097
中的值
Figure 824353DEST_PATH_IMAGE136
Figure DEST_PATH_IMAGE137
,其中,
Figure 22116DEST_PATH_IMAGE138
代表坐标
Figure 569772DEST_PATH_IMAGE113
包含在边缘
Figure 802170DEST_PATH_IMAGE114
内。即,若坐标
Figure 42659DEST_PATH_IMAGE113
,在任意一个提取出的连通区内,则
Figure 993297DEST_PATH_IMAGE115
对于判断点是否在
Figure 610223DEST_PATH_IMAGE114
内部,可采用现有技术中判断点是否在连通区内算法,例如 直线法、PNPOLY等,本实施例中,采用直线法判断点是否在连通区内。
由此,即得到了
Figure 697128DEST_PATH_IMAGE097
,其中,可以行使区域栅格值为1。
通过上述的处理,从高精度激光雷达点云地图
Figure 374097DEST_PATH_IMAGE116
中,生成2D栅 格地图
Figure 779408DEST_PATH_IMAGE097
Figure 934446DEST_PATH_IMAGE097
中值为1的栅格对应区域,即为水面可行驶的区域。该2D栅格地 图
Figure 141437DEST_PATH_IMAGE097
,可与高精度激光雷达点云地图
Figure 723728DEST_PATH_IMAGE117
共同输出给水面无人船,辅助水面无人船安 全行驶。图4中示意出了高精度激光雷达点云地图
Figure 383379DEST_PATH_IMAGE117
,图5示意出了由高精度激光雷达点云 地图
Figure 76529DEST_PATH_IMAGE117
生成的水面可行驶区域栅格图
Figure 138025DEST_PATH_IMAGE097
本发明实现了可从3D激光雷达点云高精地图中自动提取水面可行驶区域,以辅助无人船的路径规划和安全行驶。
上述基于高精度地图的水面可行驶区域提取装置可以实现为计算机程序的形式,该计算机程序可以在如图3所示的计算机设备上运行。
请参阅图3,图3是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
如图3所示,该计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述的基于高精度地图的水面可行驶区域提取方法步骤。
该计算机设备700可以是终端或服务器。该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种基于高精度地图的水面可行驶区域提取方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种基于高精度地图的水面可行驶区域提取方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:
对3D高精度地图进行点云预处理;
对点云预处理后的3D高精度地图进行扁平化处理,得到2D栅格图;
从2D栅格图中初步提取出空区域;
从提取出的空区域中筛选出水面区域;
根据筛选出的水面区域生成水面可行驶区域。
在一实施例中:所述对3D高精度地图进行点云预处理,包括:
对超出水面位置较高的点云,以及低于水面以下且由于水面反射造成的激光雷达点云进行滤除,以得到高度滤除后的3D高精激光雷达点云地图;
对高度滤除后的3D高精激光雷达点云地图中强度低于局部均值的点云进行滤除,得到局部点云强度滤除后的3D高精激光雷达点云地图;
对局部点云强度滤除后的3D高精激光雷达点云地图的非结构化散点滤除,以得到删除后的3D高精激光雷达点云地图。
在一实施例中:所述对高度滤除后的3D高精激光雷达点云地图中强度低于局部均值的点云进行滤除,得到局部点云强度滤除后的3D高精激光雷达点云地图,包括:
对高度滤除后的3D高精激光雷达点云地图进行3D栅格划分;
计算每个3D栅格内点云强度四分位数阈值;
删除3D栅格中点云强度低于四分位数阈值的点;
合并滤除后的所有3D栅格。
在一实施例中:所述对局部点云强度滤除后的3D高精激光雷达点云地图的非结构化散点滤除,以得到删除后的3D高精激光雷达点云地图,包括:
计算局部点云强度滤除后的3D高精激光雷达点云地图中每个点云邻域半径范围内的点云集合;
删除邻域半径内领域点云集合点云数目小于阈值的点;
计算被保留点与其所有邻域点之间向量的均值;
删除与被保留点所有邻域点之间的向量均值的模小于阈值的点。
在一实施例中:所述从2D栅格图中初步提取出空区域,包括:
对2D栅格图进行预处理;
从对预处理的2D栅格图提取出连通区;
对提取出的连通区进行预筛选。
在一实施例中:所述从提取出的空区域中筛选出水面区域,包括:
对经过预筛选连通区的边缘坐标进行提取;
根据每个连通区的边缘坐标计算出每个连通区边缘的平滑度;
根据计算出的边缘平滑度,删除边缘粗糙的连通区;
对删除后被保留的连通区边缘进行平滑处理,以得到平滑完整的空区域边缘。
在一实施例中:所述根据筛选出的水面区域生成水面可行驶区域,包括:
将得到的平滑完整的空区域边缘转化再次转化为2D栅格地图;
从再次转化为2D栅格地图中查找结果值为1的栅格;
将结果值为1的栅格所对应的区域确定为水面可行驶区域。
应当理解,在本申请实施例中,处理器720可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图3中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在本发明的另一实施例中提供了一种计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的基于高精度地图的水面可行驶区域提取方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (9)

1.基于高精度地图的水面可行驶区域提取方法,其特征在于,包括:
对3D高精度地图进行点云预处理;
对点云预处理后的3D高精度地图进行扁平化处理,得到2D栅格图;
从2D栅格图中初步提取出空区域;
从提取出的空区域中筛选出水面区域;
根据筛选出的水面区域生成水面可行驶区域;
所述对3D高精度地图进行点云预处理,包括:
对超出水面位置较高的点云,以及低于水面以下且由于水面反射造成的激光雷达点云进行滤除,以得到高度滤除后的3D高精激光雷达点云地图;
对高度滤除后的3D高精激光雷达点云地图中强度低于局部均值的点云进行滤除,得到局部点云强度滤除后的3D高精激光雷达点云地图;
对局部点云强度滤除后的3D高精激光雷达点云地图的非结构化散点滤除,以得到删除后的3D高精激光雷达点云地图。
2.根据权利要求1所述的基于高精度地图的水面可行驶区域提取方法,其特征在于,所述对高度滤除后的3D高精激光雷达点云地图中强度低于局部均值的点云进行滤除,得到局部点云强度滤除后的3D高精激光雷达点云地图,包括:
对高度滤除后的3D高精激光雷达点云地图进行3D栅格划分;
计算每个3D栅格内点云强度四分位数阈值;
删除3D栅格中点云强度低于四分位数阈值的点;
合并滤除后的所有3D栅格。
3.根据权利要求1所述的基于高精度地图的水面可行驶区域提取方法,其特征在于,所述对局部点云强度滤除后的3D高精激光雷达点云地图的非结构化散点滤除,以得到删除后的3D高精激光雷达点云地图,包括:
计算局部点云强度滤除后的3D高精激光雷达点云地图中每个点云邻域半径范围内的点云集合;
删除邻域半径内领域点云集合点云数目小于阈值的点;
计算被保留点与其所有邻域点之间向量的均值;
删除与被保留点所有邻域点之间的向量均值的模小于阈值的点。
4.根据权利要求1所述的基于高精度地图的水面可行驶区域提取方法,其特征在于,所述从2D栅格图中初步提取出空区域,包括:
对2D栅格图进行预处理;
从对预处理的2D栅格图提取出连通区;
对提取出的连通区进行预筛选。
5.根据权利要求4所述的基于高精度地图的水面可行驶区域提取方法,其特征在于,所述从提取出的空区域中筛选出水面区域,包括:
对经过预筛选连通区的边缘坐标进行提取;
根据每个连通区的边缘坐标计算出每个连通区边缘的平滑度;
根据计算出的边缘平滑度,删除边缘粗糙的连通区;
对删除后被保留的连通区边缘进行平滑处理,以得到平滑完整的空区域边缘。
6.根据权利要求5所述的基于高精度地图的水面可行驶区域提取方法,其特征在于,所述根据筛选出的水面区域生成水面可行驶区域,包括:
将得到的平滑完整的空区域边缘转化再次转化为2D栅格地图;
从再次转化为2D栅格地图中查找结果值为1的栅格;
将结果值为1的栅格所对应的区域确定为水面可行驶区域。
7.基于高精度地图的水面可行驶区域提取装置,其特征在于,包括预处理单元、扁平化处理单元、空区域初步提取单元、筛选单元及生成单元;
所述预处理单元,用于对3D高精度地图进行点云预处理;
所述扁平化处理单元,用于对点云预处理后的3D高精度地图进行扁平化处理,得到2D栅格图;
所述空区域初步提取单元,用于从2D栅格图中初步提取出空区域;
所述筛选单元,用于从提取出的空区域中筛选出水面区域;
所述生成单元,用于根据筛选出的水面区域生成水面可行驶区域;
所述预处理单元包括第一滤除模块、第二滤除模块和第三滤除模块;
所述第一滤除模块,用于对超出水面位置较高的点云,以及低于水面以下且由于水面反射造成的激光雷达点云进行滤除,以得到高度滤除后的3D高精激光雷达点云地图;
所述第二滤除模块,用于对高度滤除后的3D高精激光雷达点云地图中强度低于局部均值的点云进行滤除,得到局部点云强度滤除后的3D高精激光雷达点云地图;
所述第三滤除模块,用于对局部点云强度滤除后的3D高精激光雷达点云地图的非结构化散点滤除,以得到删除后的3D高精激光雷达点云地图。
8.一种计算机设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~6中任意一项所述的基于高精度地图的水面可行驶区域提取方法步骤。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,使得所述处理器执行如权利要求1~6任意一项所述的基于高精度地图的水面可行驶区域提取方法步骤。
CN202210765215.7A 2022-07-01 2022-07-01 基于高精度地图的水面可行驶区域提取方法、装置及设备 Active CN114814796B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210765215.7A CN114814796B (zh) 2022-07-01 2022-07-01 基于高精度地图的水面可行驶区域提取方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210765215.7A CN114814796B (zh) 2022-07-01 2022-07-01 基于高精度地图的水面可行驶区域提取方法、装置及设备

Publications (2)

Publication Number Publication Date
CN114814796A CN114814796A (zh) 2022-07-29
CN114814796B true CN114814796B (zh) 2022-09-30

Family

ID=82522778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210765215.7A Active CN114814796B (zh) 2022-07-01 2022-07-01 基于高精度地图的水面可行驶区域提取方法、装置及设备

Country Status (1)

Country Link
CN (1) CN114814796B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108981741A (zh) * 2018-08-23 2018-12-11 武汉中海庭数据技术有限公司 基于高精度地图的路径规划装置及方法
CN112797987A (zh) * 2021-03-23 2021-05-14 陕西欧卡电子智能科技有限公司 一种无人船避障的航行方法、装置、计算机设备及存储介质
CN113475976A (zh) * 2020-03-16 2021-10-08 珠海格力电器股份有限公司 机器人可通行区域确定方法、装置、存储介质及机器人
CN113496491A (zh) * 2020-03-19 2021-10-12 广州汽车集团股份有限公司 一种基于多线激光雷达的路面分割方法及装置
CN113917487A (zh) * 2021-08-31 2022-01-11 际络科技(上海)有限公司 基于激光雷达的封闭道路路沿和可行驶区域检测方法
CN114445415A (zh) * 2021-12-14 2022-05-06 中国科学院深圳先进技术研究院 可行驶区域的分割方法以及相关装置
CN114648571A (zh) * 2022-03-26 2022-06-21 常熟理工学院 机器人高精度地图建图中行驶区域内障碍物过滤方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110298311B (zh) * 2019-06-28 2021-05-07 北京智行者科技有限公司 路面积水检测方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108981741A (zh) * 2018-08-23 2018-12-11 武汉中海庭数据技术有限公司 基于高精度地图的路径规划装置及方法
CN113475976A (zh) * 2020-03-16 2021-10-08 珠海格力电器股份有限公司 机器人可通行区域确定方法、装置、存储介质及机器人
CN113496491A (zh) * 2020-03-19 2021-10-12 广州汽车集团股份有限公司 一种基于多线激光雷达的路面分割方法及装置
CN112797987A (zh) * 2021-03-23 2021-05-14 陕西欧卡电子智能科技有限公司 一种无人船避障的航行方法、装置、计算机设备及存储介质
CN113917487A (zh) * 2021-08-31 2022-01-11 际络科技(上海)有限公司 基于激光雷达的封闭道路路沿和可行驶区域检测方法
CN114445415A (zh) * 2021-12-14 2022-05-06 中国科学院深圳先进技术研究院 可行驶区域的分割方法以及相关装置
CN114648571A (zh) * 2022-03-26 2022-06-21 常熟理工学院 机器人高精度地图建图中行驶区域内障碍物过滤方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于激光点云的道路可通行区域检测方法;宁小娟等;《计算机工程》;20220430;第48卷(第4期);第22-29页 *
无人水面艇感知技术发展综述;朱健楠等;《哈尔滨工程大学学报》;20201031;第41卷(第10期);第1486-1492页 *

Also Published As

Publication number Publication date
CN114814796A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
WO2018107939A1 (zh) 一种基于边缘完备度的图像分割最优识别方法
CN110009743B (zh) 一种场景理解的网格曲面重建方法
KR20190082062A (ko) 포인트 클라우드 데이터 사이의 매칭 관계를 확정하는 방법 및 장치
Wang et al. A bayesian approach to building footprint extraction from aerial lidar data
Cheng et al. Building boundary extraction from high resolution imagery and lidar data
Mousa et al. Building detection and regularisation using DSM and imagery information
Hu et al. A fast and simple method of building detection from LiDAR data based on scan line analysis
CN114742968B (zh) 一种基于建筑物立面点云的立面图生成方法
CN114814796B (zh) 基于高精度地图的水面可行驶区域提取方法、装置及设备
CN116071694B (zh) 船舶检测方法、装置及计算机可读存储介质
CN112232248A (zh) 一种多线LiDAR点云数据平面特征的提取方法及装置
Ni et al. Applications of 3d-edge detection for als point cloud
CN109785261B (zh) 一种基于灰度体元模型的机载lidar三维滤波方法
CN113567968B (zh) 一种基于浅水多波束水深数据的水下目标实时分割方法及应用
CN106709473B (zh) 一种基于体元的机载lidar道路提取方法
CN114963991A (zh) 一种基于三维重建的船体石料体积测量系统
CN112884026A (zh) 一种图像识别辅助的输电线路激光LiDAR点云分类方法
CN114820416A (zh) 车辆航向角计算方法、车辆位姿计算方法、装置及设备
CN116385889B (zh) 基于铁路识别的电力巡检方法、装置、电子设备
CN113298839B (zh) 一种sar影像半自动阈值提取方法
CN113902748B (zh) 一种基于改进U-net的无人机海上溢油路径识别方法及装置
US20220076426A1 (en) Method for segmenting an image
Liu et al. Point2Building: Reconstructing Buildings from Airborne LiDAR Point Clouds
Zhu et al. Unstructured Road Segmentation Based on Road Boundary Enhancement Point-Cylinder Network Using LiDAR Sensor. Remote Sens. 2021, 13, 495
CN115880454A (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