CN117501322A - 从点云数据生成物理空间的映射 - Google Patents
从点云数据生成物理空间的映射 Download PDFInfo
- Publication number
- CN117501322A CN117501322A CN202280037806.0A CN202280037806A CN117501322A CN 117501322 A CN117501322 A CN 117501322A CN 202280037806 A CN202280037806 A CN 202280037806A CN 117501322 A CN117501322 A CN 117501322A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- point
- points
- cloud data
- stent
- 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 claims abstract description 169
- 238000001914 filtration Methods 0.000 claims abstract description 29
- 238000013507 mapping Methods 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 238000004140 cleaning Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000007670 refining Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000010926 purge Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001704 evaporation Methods 0.000 description 1
- 230000008020 evaporation Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/383—Indoor data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3826—Terrain data
-
- 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/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/176—Urban or other man-made structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- Image Analysis (AREA)
Abstract
本说明书描述用于从物理空间的点云数据生成所述物理空间的映射的系统及方法。所述方法可包含:接收所述物理空间的所述点云数据;对所述点云数据进行过滤以从所述点云数据至少移除稀疏点;沿着对应于所述物理空间的定向的x、y及z维度对准所述点云数据;及将所述点云数据中的所述点分类为对应于一或多种类型的物理表面。所述方法还可包含:至少部分地基于所述点云数据中的所述点的分类识别所述物理空间中的特定物理结构;及生成所述物理空间的所述映射以识别所述特定物理结构及所述特定物理结构在所述物理空间的所述定向内的对应轮廓。
Description
技术领域
本文档大体上描述使用点云生成物理空间的映射,例如生成蓝图。
背景技术
物理空间(例如仓库及存储设施)可能很大,且在其中导航可能是具有挑战性的。映射此类物理空间可辅助用户(例如仓库工人)了解物理空间的平面布置图,及在所述物理空间周围移动而不会迷路。生成物理空间的蓝图或地图可通过用户带着扫描仪在物理空间周围走动以获取整个物理空间的3D扫描及/或图像来执行。然后,可将3D扫描及/或图像手动变换为物理空间的蓝图或地图。无论何时对物理空间进行改变,用户都可手动更新此类蓝图或地图。
手动映射可能是一个耗时的过程,且可能由于人为误差而包含不准确度。例如,用户可能无法获取物理空间的每个区域的图像。因此,地图可包含物理空间的某些区域,但不包含其它区域。作为另一实例,用户可能无法获取在其中进行改变的物理空间的区域的更新图像。因此,地图可能是过时的,且用户可能依赖于过时的地图。物理空间的当今蓝图及地图可能不准确,缺乏细节,或缺失全部细节。另外,由于生成蓝图及地图所需的时间及人力的量,物理空间的此类蓝图及地图可能不容易更新以反映实际物理空间中的日常改变。
发明内容
本文档大体上描述用于使用点云数据生成物理空间的映射(例如蓝图)的基于计算机的技术及方法。例如,物理空间映射可包含3D空间中的定义物理对象的轮廓的一系列节点及顶点,所述物理对象例如建筑物、地形特征、搁板、托盘、车辆及其它物理对象。如上文所提及的,物理映射传统上是使用扫描技术生成的,例如LIDAR及其它扫描技术,所述扫描技术向物理对象传输信号,并在信号被这些对象反射时记录信号以确定其轮廓。扫描技术可能耗时且实施成本高昂,这可能会阻碍其使用。另一方面,可使用图像分析(例如,立体图像分析)来生成点云,所述点云可使用相机生成。与扫描技术(例如LIDAR)相比,相机可更普遍且便宜。点云数据可包含例如3D空间中的点,其对应于物理对象的特征,例如边缘、表面、角落及/或其它物理特征。尽管点云可能产生噪声,但可将过滤技术应用于点云以更准确地辨别物理对象的轮廓。
所公开的技术可利用使用点云数据通过贯穿本文档描述的各种技术来确定物理对象及/或空间的映射的优点。点云数据的优点包含实施方案可比上文所描述的传统映射技术便宜、可动态地生成点云数据,及可动态地更新由点云数据形成的映射。此外,所公开的技术可理解不同的点云数据,使得仅从一系列点就可容易地识别物理对象及其轮廓。
所公开的技术可提供从物理空间中的一或多个不同类型的装置接收3D扫描及/或图像。在一些实施方案中,物理空间可为仓库。物理空间也可为任何类型的存储设施、建筑物、房屋、其它结构或户外环境,例如城镇的一部分及/或可调查的一些其它环境。使用所述3D扫描及/或图像,所公开的技术可使用点云生成所述物理空间的准确表示,包含(但不限于)所述物理空间的占地面积(例如,蓝图、地图、平面布置图等)、立方英尺、墙壁位置、支架位置、过道、走廊等。点云数据还可用于确定物理空间内的物品的坐标及定向,例如仓库环境中的支架位置及支架搁板。此外,所公开的技术可提供实时、周期性地及/或自动地动态更新或以其它方式更新(renew)物理空间的蓝图及映射。
本文所描述的特定实施例包含用于从物理空间的点云数据生成所述物理空间的映射的系统及方法。所述实施例可包含:由计算系统接收所述物理空间的所述点云数据,所述点云数据包含近似所述物理空间内的物理表面的位置的三维空间中的多个点;及对所述点云数据进行过滤以从所述点云数据至少移除稀疏点。所述实施例可包含:沿着对应于所述物理空间的定向的x、y及z维度对准所述点云数据;将所述点云数据中的所述点分类为对应于一或多种类型的物理表面;至少部分地基于所述点云数据中的所述点的分类识别所述物理空间中的特定物理结构;及生成所述物理空间的所述映射以识别所述特定物理结构及所述特定物理结构在所述物理空间的所述定向内的对应轮廓。
在一些实施方案中,所述实施例可任选地包含以下特征中的一或多者。例如,对所述点云数据中的点进行分类可包含:从所述点云数据选择参考点;针对所述参考点识别k个最近邻点;针对所述k个最近邻点中的每一者计算相对于所述参考点的球面坐标;基于所述k个最近邻点中的每一者的所述球面坐标,确定所述参考点的球面特征;及基于确定所述参考点的所述球面特征对所述参考点进行分类。所述参考点可被分类为属于地板、墙壁、垂直杆、支撑梁、托盘及噪声中的至少一者。此外,对所述点云数据中的所述点进行分类可进一步包含输出以下中的至少一者(i)对所述点云数据中的所述点中的每一者的分类,(ii)所述点云数据中的所述点中的每一者的球面特征,及(iii)基于所述点云数据中的所述点中的每一者的所述分类由所述点云数据表示的对象。
作为另一实例,对准所述点云数据可包含识别所述物理空间中的门或窗中的至少一者周围的一或多个参考点。所述一或多个参考点指示围绕其旋转所述点云数据的轴。对准所述点云数据还可包含检测所述物理空间周围的边界框。所述边界框可指示围绕其旋转所述点云数据的轴。
在一些实施方案中,所述实施例还可包含:从所述点云数据检测垂直杆;从所述点云数据并基于所述所检测的垂直杆检测支架区段;基于所述所检测的支架区段确定托盘占地面积;确定所述所检测的支架区段中的每一搁板区段的高度;及基于所述托盘占地面积及每一搁板区段的所述高度识别所述所检测的支架区段的每一搁板区段的托盘位置。此外,检测垂直杆可包含:对所述点云数据中与垂直杆相关联的点进行分类;定位所述经分类的点;及将所述经定位的点拉直为垂直杆。此外,检测支架区段可包含:将所述垂直杆聚类成支架分组;用支架类型及支架定向对所述经聚类的垂直杆进行分类;基于用支架类型及支架定向对所述经聚类的垂直杆进行分类来为所述经聚类的垂直杆中的每一者对缺失的支架杆进行内插;及基于所述经聚类的垂直杆检测支架区段。
在一些实施方案中,对所述点云数据中与垂直杆相关联的所述点进行分类可包含:将所述点云数据体素化为第一预定网格大小;针对每一体素,对所述体素中的所述点云数据的点进行聚类;针对所述体素中的每一点集群,将所述点集群体素化为第二预定网格大小;针对每一体素化的点集群中的每一点,将所述点分类为垂直杆点;针对所述体素中的每一点集群,对每一点的所述分类进行归一化;及基于所述对每一点的所述分类进行归一化确定体素中的每一点集群是否与所述垂直杆相关联。
针对每一体素化的点集群中的每一点,将所述点分类为垂直杆点还可包含:将协方差矩阵应用于所述体素化的点集群;确定所述体素化的点集群中的每一点的标准偏差值;识别Z方向上的高标准偏差;识别X及Y方向上的低标准偏差;及针对所述体素化的点集群中的每一点并基于所述所识别的高标准偏差及所述所识别的低标准偏差,为对所述点的一维或二维点扩展指派分数。
在一些实施方案中,针对每一体素化的点集群中的每一点,将所述点分类为垂直杆点可包含将球面协方差矩阵应用于所述体素化的点集群。将所述点分类为垂直杆点还可包含将直方图过滤器应用于所述体素化的点集群。将所述点分类为垂直杆点还可包含将神经网络应用于所述体素化的点集群。
作为另一实例,将所述垂直杆聚类成支架分组可包含:接收支架信息;及针对每一集群,确定所述集群的大小信息。所述大小信息可包含边界框、所述边界框的最小x、Y及Z坐标以及所述边界框的最大X、Y及Z坐标。对所述垂直杆进行聚类可包含:确定所述集群的所述大小信息是否与秩信息一致;基于确定所述集群的所述大小信息与所述支架信息不一致,将所述集群中的点返回到所述点云数据中的点池;基于确定所述集群的所述大小信息与所述支架信息一致,识别所述集群的定向信息;及生成支架列表,其含有所述集群、所述集群的所述大小信息及所述集群的所述定向信息。
在一些实施方案中,对所述垂直杆进行聚类还可包含:从所述支架列表选择支架,确定所述所选择的支架中的所述垂直杆中的每一者之间的距离;确定所述所选择的支架中的所述垂直杆中的每一者的定向信息;及基于所述垂直杆中的每一者的所述距离及所述定向信息确定所述所选择的支架的支架类型。
作为另一实例,基于所述所检测的支架区段确定托盘占地面积还可包含:针对所述所检测的支架区段中的每一者,确定所述所检测的支架区段是否具有选择支架类型;基于确定所述所检测的支架区段具有所述选择支架类型,计算所述所检测的支架区段中的两个托盘占地面积中心;及基于确定所述所检测的支架区段不具有所述选择支架类型,计算所述所检测的支架区段中的一个托盘占地面积中心。
在一些实施方案中,确定所述所检测的支架区段中的每一搁板区段的高度可包含:针对所述所检测的支架区段中的每一者,从所述所检测的支架区段过滤出垂直对象;检测所述经过滤的支架区段中的水平平面;识别所述水平平面是否具有搁板区段的特性;基于确定所述水平平面具有所述搁板区段的特性确定高搁板分数;及基于确定所述水平平面不具有所述搁板区段的特性确定相对于所述高搁板分数的低搁板分数,其中所述低搁板分数更接近0,且所述高搁板分数更接近1。
贯穿本公开描述的技术及方法提供许多优点。例如,所公开的技术可自动化用于生成物理空间的蓝图及地图的过程。自动化此类过程可用于减少映射所述物理空间所需的时间及资源量。由于相机可定位在整个物理空间中以捕获所述物理空间的图像,用户(例如仓库工人)可不需要在整个物理区域周围走动并使用传统的扫描技术及技术捕获所述物理区域的图像。相反,用户的时间可被分配给在仓库或其它物理空间中执行其它任务,从而改进用户的效率。
作为另一实例,所述物理空间的地图可更准确。由于用户没有手动映射所述物理空间,因此可使用所描述的技术移除或以其它方式减轻人为误差。因此,所公开的技术可改进物理空间的蓝图及地图的准确度。所公开的技术还可允许在没有人为干预的情况下持续更新及/或更新蓝图及地图。
作为又一实例,所公开的技术可用于在所述物理空间被占据及/或用于其预期目的时更准确地确定特定于所述物理空间的过程流、移动及/或其它特征。例如,在仓库环境中,可使用点云数据来识别确切的支架区段及搁板位置。然后,可使用这些所识别的位置来确定托盘在仓库中的放置。因此,托盘可在空间内被高效地收集、存储及移动。这可改进并优化仓库效率。类似地,所公开的技术可用于改进仓库中的叉车跟踪。叉车可被实时跟踪。此外,叉车可与点云生成的蓝图及地图动态地交互以改进导航,减少瓶颈及流量,并改进整体仓库效率。
一或多个实施例的细节在附图及下面的描述中阐述。其它特征及优点将从描述及附图以及权利要求书显而易见。
附图说明
图1A描绘使用点云的示范性映射系统。
图1B描绘所公开的本发明的示范性系统图。
图2是用于处理点云的过程的流程图。
图3是用于对点云进行过滤的过程的流程图。
图4A到B描绘对点云进行过滤的示范性结果。
图5A到B描绘对点云进行过滤的示范性结果。
图6A是用于球面特征算法的过程的流程图。
图6B到C是实施方案期间的球面特征算法的图形描绘。
图7A到B是所公开的系统在仓库环境中的示范性使用。
图8是用于对垂直杆点进行分类的过程的流程图。
图9是用于定位垂直杆的过程的流程图。
图10是用于清洗垂直杆定位结果的过程的流程图。
图11是用于将垂直杆聚类成支架分组的过程的流程图。
图12是用于对支架杆进行分类的过程的流程图。
图13是用于对缺失的支架杆进行内插的过程的流程图。
图14A到B是用于检测支架区段的过程的流程图。
图15是用于计算托盘占地面积位置的过程的流程图。
图16是用于定位用于支架区段的支架搁板的过程的流程图。
图17是用于检测支架区段及托盘水平高度的过程的流程图。
具体实施方式
本文档大体上描述使用点云生成物理空间的蓝图及/或地图。
图1A描绘实例映射系统,其包含物理空间100、点云102、计算机系统104及物理空间的地图106。如所描绘,物理空间100可包含一或多个支架108A到N。在其它实施方案中,物理空间100可包含除了支架108A到N之外的一或多个其它类型的物理物品。例如,物理空间100可包含墙壁、门道、门、桌子、支撑梁等。在一些实施方案中,物理空间100可为仓库环境。在其它实施方案中,物理空间100可为任何类型的存储设施(例如,冷冻库)。在又其它实施方案中,物理空间100可为建筑物、房屋、其它结构或户外空间/景观。仍参考图1A,物理空间100进一步包含无人机110及立体相机112。在一些实施方案中,物理空间100可包含多个无人机110及/或立体相机112。无人机110及立体相机112可经配置以捕获整个物理空间100的一或多个3D扫描及/或图像。在一些实施方案中,代替无人机110及/或立体相机112中的至少一者的是,物理空间100可采用人、叉车及/或某种类型的装置来捕获物理空间100的3D扫描及/或图像。
一旦捕获物理空间100的一或多个3D扫描及/或图像,其就可用于生成一或多个点云102。一或多个点云102可由无人机110、物理空间100中用于捕获3D扫描/图像的装置、及/或与无人机110通信的任何其它计算机系统/计算装置、立体相机112及/或计算机系统104生成。然后,可将一或多个点云102传输/传达到计算机系统104。贯穿本公开描述的通信可经由网络及/或无线/有线通信(例如,BLUETOOTH、WIFI、以太网等)发生。
在计算机系统104处,点云102可在被用于生成物理空间的地图106之前被处理(例如,过滤、清洗)。物理空间的地图106可由计算机系统104及/或与计算机系统104通信的另一计算机系统/计算装置生成。物理空间的地图106可为实时、周期性地及/或自动地更新的准确地图及/或蓝图。例如,如所描绘,物理空间的地图106包含支架108A到N的复制品,其为映射的支架114A到N。物理空间的地图106进一步包含立体相机112的复制品,其为被映射的相机116。在其它实施方案中,物理空间的地图106可包含物理空间100内的任何其它物理物品及/或永久结构的复制品。
仍参考图1A,所描述的过程可实时地及/或在不同的时间执行。例如,可在时间1处捕获物理空间100的3D扫描及/或图像。可在时间2处生成点云102。可在时间3处执行在计算机系统104处理对点云。且最终,可在时间4处执行生成物理空间的地图106。此外,所描述的过程可被执行多于一次,且可被自动地/周期性地执行以确保物理空间100的经更新的地图及/或蓝图得到维持。
图1B描绘所公开的本发明的示范性系统图。如所描绘,3D扫描装置118及点云映射系统120可经由网络122进行通信,如先前在图1A中所讨论的。一或多个3D扫描装置可与点云映射系统120通信。3D扫描装置118可为先前参考图1A所讨论的无人机110及立体相机112中的至少一者。此外,点云映射系统120可为图1A中以及贯穿本公开所公开的计算机系统104。
3D扫描装置118可包含通信接口124、至少一个立体相机126及任选的点云产生器128。通信接口124可促进3D扫描装置118与点云映射系统120之间通过网络122的通信,如所讨论的。至少一个立体相机126可捕获物理空间的一或多个3D扫描及/或其它图像。在一些实施方案中,3D扫描装置118可具有经配置以捕获物理空间的3D扫描及/或图像的其它类型的图像捕获传感器、相机及/或装置来代替立体相机126或与立体相机126组合。如所提及,3D扫描装置118可任选地包含点云产生器128,其经配置以从捕获的3D扫描/图像生成点云。如果3D扫描装置118包含点云产生器128并生成点云,那么可将这些点云130经由网络122传送/传达到点云映射系统120。然后,点云映射系统120可将此类点云130存储在点云数据库152中。点云数据库152存储所生成的点云,如由示范性点云156所指示。如果3D扫描装置118不生成点云,那么可将3D扫描132从装置118经由网络122传送/传达到点云映射系统120。
点云映射系统120可使用所接收的3D扫描来经由点云产生器148生成一或多个点云。因此,系统120可任选地包含点云产生器148。点云映射系统120可包含通信接口134、点云细化模块136、物理结构分类模块142及置信度分数模块146。系统120可进一步且任选地包含支架检测模块150。系统120可经由通信接口134并通过网络122与3D扫描装置118以及点云数据库152及所生成的地图数据库154进行通信。
一旦系统120生成点云(经由点云产生器148)或从3D扫描装置118接收到点云130,就可在点云细化模块136处对点云进行细化。点云细化模块136可任选地包含直方图过滤器138及/或k引导过滤器140,其两者都可单独使用及/或组合使用以净化及清洗点云。净化及清洗点云涉及通过点云中的上采样及/或下采样点来更明确地定义物理结构。净化及清洗点云涉及通过上采样及/或下采样点云中的点来使物理结构更明确。一旦经细化,点云就可通过物理结构分类模块142来识别及分类点云中的任何物理结构/物品/对象。模块142可包含用于识别及分类物理结构的球面过滤器144。置信度分数模块146可进一步用于确定所识别的物理结构的分数及细化的点云的整体准确度。最终,支架检测模块150可用于从点云识别垂直杆及支架。模块150有利于确定仓库环境或其它类型的存储设施中的支架。在下面进一步详细地讨论包括点云映射系统120的模块及/或过滤器中的每一者。
一旦做出任何确定(例如,细化点云、最终地图、物理结构的分类及分数等),就可将此类确定存储在所生成的地图数据库154中。数据库154可存储多个所生成的地图158。所生成的地图158可包含细化的点云160、至少一个识别及/或分类的物理结构信息162、以及与细化的点云160及/或至少一个物理结构162的准确度相关联的至少一个置信度分数164。所生成的地图158可进一步且任选地包含至少一个垂直杆信息166及至少一个支架信息168。
图2是用于处理点云的过程200的流程图。过程200可由任何计算装置执行,例如计算机系统104(参考图1)。在示范性仓库环境中,可使用点云来映射仓库环境。因此,识别仓库中的对象(例如用于支架的垂直杆)有助于确定仓库的布局。首先,在步骤202中,计算机系统接收点云。如先前所提及的,计算机系统可从对物理环境进行3D扫描的无人机接收点云。在仓库中,新的点云扫描包含墙壁、地板、天花板、支架、托盘、门、灯具、垂直支撑杆、人员、叉车、噪声、随机变化、遮挡物等中的至少一者。例如,在室外空间中,新的点云扫描可包含树木、灌木、建筑物、住宅、停车场、人员、高速公路、立交桥、桥梁、湖泊、河流等中的至少一者。新的点云扫描在空间中随机对准,且物理环境的地板通常几乎平行于XY平面。通常,点云扫描包含噪声,其可包含来自附近其它位置及/或房间的物理对象的若干点。因此,这种噪声增加物理环境的边界框使其超出墙壁或其它现存周长。
接下来,计算机系统对点云进行细化(步骤204)。计算机系统在步骤206中对点云数据进行过滤及清洗(例如,通过对点云数据中的点进行上采样及/或下采样),然后在步骤208中对准点云数据,且最终在步骤210中对点云进行分类。在步骤206中,计算机系统使用若干过滤器,例如引导过滤器,其可减少点位置的变化。引导过滤器可使表面更清洁,使边缘更清晰,并移除异常噪声。使用这种类型的过滤器作为第一步骤可改进下文讨论的所有点云过程的准确度。由计算机系统使用的示范性过滤器包含直方图过滤器及k引导过滤器。替代地,如果在对点云数据进行过滤及清洗的步骤(206)中没有使用引导过滤器,那么可使用异常过滤器来移除点云扫描中的一些噪声。针对每一噪声检测,与所识别的物理对象相关联的置信度分数/值相应地减小。
在步骤208中,可将点云数据与X、Y及Z轴对准。换句话说,点云将以正确的方向旋转及定向。例如,仓库房间扫描可在任意空间中被接收(步骤202),不与轴中的任一者对准。然后,可旋转扫描并将与仓库的适当空间对准。在一些实例中,可将点云与仓库中的墙壁的宽度对齐,以确定点云的适当定向。计算机系统可在门道、门框、窗户及/或可能出现在点云中的其它对象周围寻找参考点,以适当地定向点云。在又其它实例中,计算机系统可检测物理空间(例如,仓库房间)的包围物理空间的墙壁的边界框,且然后旋转物理空间,使得边界框与X、Y及Z轴对准。紧密配合的边界框也可用于更容易地识别物理空间的墙壁外的噪声点。执行此对准步骤是重要的,因为其减小稍后在点云处理中进行某些计算所需的时间量。
一旦点云数据经过对准及初始清洗,就可开始对象检测及定位(步骤210)。在此步骤中可使用球面过滤器来对点云数据进行分类(下面在图6A到6C中更详细地讨论)。在此步骤中,可对点云中出现的物理对象、周长及其它物品进行识别、分类及评分。在一些实施方案中,可从点云移除一些经识别、分类及评分的物品。例如,地板及天花板可被消除。不太可能是仓库环境中的垂直杆的点也可被消除。
基于点云的目的及用途,可识别不同的物理对象以进行消除及/或保留。例如,在土地调查中,计算机系统可经配置以识别及消除树木及灌木。计算机系统可经进一步配置以识别建筑物及停车场,并将其保持在点云中。通常,在点云扫描中最容易检测到的是地板或其它水平平面。例如,在支架检测可能是最重要的仓库环境中,可识别可能是地板的部分的点,并将其从点云移除。在大多数实施方案中,天花板也相对容易检测,灯具、光束、蒸发线圈及可能悬挂在天花板上的其它对象也是如此。墙壁检测可能更具挑战性,但使用分类器,可相应地调整垂直杆及其它物理物品的置信度分数,使得从点云移除墙壁、天花板等。
一旦点云细化完成(204),计算机系统就可识别剩余点云数据中的特定物理结构(步骤212)。例如,仓库中的垂直杆、支架及/或过道可被识别并被指派置信度分数。在土地调查实例中,系统可识别住宅、建筑物、停车场及/或道路。因此,此类识别可用于生成相关联的物理空间的准确蓝图及/或地图。
图3是用于对点云进行过滤的过程300的流程图。过程300可由类似系统104(参考图1)的计算机系统或任何其它计算装置执行。首先,计算机系统可确定点云中的点的密度(步骤302)。计算机系统可从点云移除稀疏点(步骤304)。然后,在步骤306中,计算机系统可对点云中的剩余点进行上采样及/或下采样。上采样可能要求计算机系统在物理结构所定位的点云的位置中在点稀疏的情况下添加点。下采样可能要求计算机系统在点云的位置中在存在过多点的情况下移除点。在一些实施方案中,计算机系统可对不同位置中的同一点云进行上采样及下采样。在其它实施方案中,计算机系统可仅上采样或下采样。为了减少噪声并绘制出点云中的物理结构,过程300是有利的。一旦点云被清洗且噪声被移除,点云数据就可更高效地用于点云机器学习及贯穿本公开描述的技术中。
图4A到B描绘对点云进行过滤的示范性结果(参考图3)。图4A描绘在细化之前的室外物理空间的3D扫描。图4A的3D扫描是具有建筑物、停车场、房屋等的街道。如所展示,扫描不够细化或详细使得无法识别扫描中的对象及/或形状中的每一者是什么。图4B描绘用过滤技术(例如移除稀疏点、上采样、下采样、k引导过滤及直方图过滤)对同一3D扫描进行细化之后的同一3D扫描。作为此类过滤/细化的结果,可更容易地识别3D扫描中的对象/形状中的每一者。
扫描中的不同色彩指示所识别的对象/形状中的每一者的置信度分数。例如,图4A到B中的3D扫描的目的可为识别用于土地调查项目的建筑物及房屋。当此扫描中的对象/形状是红色时,其更有可能是所识别的事物中的一者(例如,过滤后90%准确识别)。在图4B的实例中,红色正方形及矩形表示建筑物及住宅。以绿色显示的对象、形状及/或空间不太可能是所识别的事物中的一者(例如,过滤后80%准确识别)。而且,以蓝色显示的对象、形状及/或空间甚至不太可能是被识别的事物中的一者(例如,50%准确)。因此,街道、停车场及其它开放空间在图4B中以蓝色显示,因为其最不可能代表建筑物及住宅。
通过以不同设置使用贯穿本公开讨论的3D扫描及过滤技术,可获得与图4A到B中所展示的类似的结果。例如,可捕获对建筑物、仓库及/或任何其它物理环境中的房间的3D扫描,以实现可比较的结果。
图5A到B描绘对点云进行细化及/或过滤的示范性结果(参考图3)。图5A描绘在细化之前对室外物理空间的3D扫描。图4A的3D扫描是具有建筑物、停车场、树木、房屋等的弯曲街道。如所展示,扫描不够细化或详细使得无法识别扫描中的对象及/或形状中的每一者是什么。换句话说,点云具有稀疏的点,这导致点云中的点密度较小。因为密度较小,可将点添加到点云的区域中以增加密度,从而从原始点云绘制出物理结构/对象。因此,图5B描绘在用图3中描述的技术对同一3D扫描进行细化之后的同一3D扫描。在图5B中,为了增加点密度,添加点。还可采用上采样、下采样、k引导过滤及/或直方图过滤技术,以便进一步细化点云、减少噪声并绘制出物理结构/对象。
如关于图4A到B所描述的,扫描中的不同色彩指示所识别的对象/形状中的每一者的置信度分数。例如,在图5A到B中,更绿色的对象/形状更有可能是所定义/识别的对象,例如树木、街道、停车场及/或建筑物。这些对象在过滤后被更准确地识别,如图5B中所描绘。更蓝色的对象/形状不太可能是所定义/识别的事物。这些对象在过滤后将被不太准确地识别,如图5B中所描绘。通过使用贯穿本公开讨论的3D扫描及过滤技术,可获得与图4A到B及5A到B中所展示的结果类似的结果。
图6A是用于球面特征算法的过程600的流程图。图6B到6C是实施方案期间的球面特征算法的图形描绘。过程600可由任何计算装置执行,例如计算机系统104(参考图1)。过程600有利于对物理空间/点云中的对象进行分类。此过程600可在细化及/或过滤之后执行。在其它实施方案中,过程600可在没有细化及/或过滤的情况下执行,及/或可在细化及/或过滤的同时执行。
过程600从在步骤602处从点云选择原点(例如,参考点、参考的点)开始。所选择的点成为参考/定向的焦点以及球面坐标系的中心或原点。因此,其所有近邻点都是相对于所选择的点(或从所选择的点的角度)来观察的。在604中,可通过一些已知技术来定位原点的最近邻。
在606中,可选择参考点的最近邻点。一旦选择近邻点,计算机系统就可使用参考点作为原点来识别所选择的最近邻的高程、半径及方位角坐标(步骤608)。半径可为从近邻点到参考点的距离。高程指示近邻点相对于参考点的倾斜度,从-90°到90°测量。方位角是水平角,其范围从0°到360°,从参考点的方向到与近邻的纬度线相交的水平线上的点进行测量。这些是近邻点相对于参考点的球面坐标。可计算所有近邻点的球面坐标,以便计算中心原点的球面特征。
在步骤610中,计算机系统可确定是否存在原点的更多近邻点。如果存在更多的近邻,那么计算机系统可返回到步骤606,并针对下一个近邻重复先前讨论的步骤。如果针对当前原点不存在更多的近邻,那么可在步骤612中计算原点的球面特征。
在步骤612中,计算机系统可计算原点的球面特征。例如,计算机系统可使用已知技术来识别高程、半径及方位角坐标的最小值、最大值、平均值及标准偏差;这12个数可构成当前选择的原点(例如,参考点)的球面特征。这些特征含有关于给定参考点周围的局部近邻点的信息,且可用于确定点属于什么类型的对象或是其一部分。这些特征可针对点云中的每一点存储,并用于后续计算。
在步骤614中,计算机系统可使用最近确定的原点的球面特征来将其分类为属于一种类型或另一种类型的对象。例如,点可属于地板、墙壁、垂直杆、支撑梁、托盘、噪声等。参考点的分类可基于球面坐标以及点本身的X、Y及Z坐标的值确定。不同类型的对象可含有具有这15个点特征的不同值分布的点。例如,地板点可具有任何X及Y值,但其Z值可落在一个小范围内,且可以地板的高度为中心,其可能在0附近。地板点的高程参数也可能有较小的标准偏差,且高程参数的最小值、最大值及平均值都可接近0。地板点的最小方位角可能在0附近,而最大方位角可能在360附近,且平均方位角在180附近。方位角参数的标准偏差可能很大,这是由于点在水平方向上分散在参考点周围。
组成垂直支架杆的点可具有15个特征的不同特性值。点的X、Y及Z坐标值可为任何数字,方位角的最小值、最大值及平均值也可为任何数字,但方位角的标准偏差可较小,因为杆不是水平散开的。此外,由于杆点的垂直分散大,高程参数的标准偏差可较大。半径特征的最小值、最大值及平均值可含有关于点云在给定参考点周围的密集或稀疏程度的信息。这可指示点是否是噪声,或点是否属于某一对象。半径的低标准偏差可指示点在球面形状或环形中集中,而大的径向标准偏差可指示点从参考中心点跨整个空间散开。可创建启发式算法来检查这些参数中的每一者的值,以便对所期望的每一特定类型的对象(例如,地板、墙壁、门、支架杆等)进行分类。还可采用机器学习算法基于特征值进行分类。
在步骤614中对参考点进行分类之后,计算机系统可在步骤616中确定点云中是否存在更多的点。如果存在,那么计算机系统可返回到步骤602,并针对点云中的下一个点重复先前公开的步骤。
最终,一旦计算机系统确定在点云中不存在更多的点要分析,计算机系统就可在步骤618中返回点分类的列表。列表可包含例如点云中的每个点的最终分类,其中贯穿过程600修改/调整此类分类(例如,当计算机系统返回到步骤602,选择新的参考点,并重复先前所讨论的步骤时)以及球面特征本身(例如,每一近邻点的球面坐标的最小值、最大值、平均值及标准偏差)。在一些实施方案中,列表可包含基于点分类而存在于点云中的若干类型的物品/对象及/或平面来替代点云中的每个点的分类列表或与所述分类列表相结合。此外,在与计算机系统通信的计算装置处的用户可确定应在列表中返回什么信息。
图6B到C是实施方案期间的过程600的图形描绘。特定来说,图6B将所选择的参考点628及其最近邻626A到N描绘为球面坐标。图6B进一步包含方位角622、高程620及半径624。如上文所讨论,可识别最近邻626A到N中的每一者的方位角、高程及半径值。参考点628的半径值的标准偏差可较小,因为这些点通常彼此靠近。因此,参考点628可能不是异常点。进一步来说,在最近邻626A到N之间存在高程的高标准偏差,这指示参考点628可能是特定对象/物品(例如垂直平面)的部分。
图6C将所选择的参考点638及其最近邻636A到N描绘为球面坐标。图6C进一步包含方位角632、高程630及半径634。在此实例中,最近邻636A到N的半径的标准偏差较高。因此,更有可能存在异常点及/或点不包括参考参考点638的物理空间中的物品/对象。如先前在图6A中所讨论的,对其中选择不同参考点的点云中的所有点的标准偏差的分析可指示点636A到N实际上是否是物理空间中的物品/对象的部分。无论如何,图6C中的示范性描绘证实参考点638可能是异常值。高程的标准偏差也较小,这指示点是水平散开的,而不是垂直散开的。因此,参考点638可能与水平平面而不是物理空间中的物品/对象(例如,垂直杆)相关联。最终,方位角的标准偏差有些小,这指示点可能包括物理空间中的角落(例如,仓库环境、房间等)。
图7A到B是所描述的系统在仓库环境中的示范性使用。过程700可由任何计算装置执行,例如计算机系统104(参考图1)。参考图7A到B两者中的过程700,计算机系统接收设置点云(步骤702)(参考图2到6)。计算机系统然后可在步骤704中检测垂直杆。检测垂直杆包含多个步骤。例如,计算机系统对与垂直杆相关联的点进行分类及评分(步骤706),对经分类及评分的垂直杆进行定位(步骤708),并拉直经定位的垂直杆(步骤710)。一旦计算机系统完成对垂直杆的检测,计算机系统就可在步骤712中检测支架。检测支架包含多个步骤。例如,在步骤714中,计算机系统将垂直杆聚类成支架组。然后,在步骤716中,计算机系统可用支架类型及定向对支架杆进行分类。计算机系统进一步对缺失的支架杆进行内插(步骤718),并在步骤720中最终从分类的支架杆检测或以其它方式定位支架区段。一旦计算机系统完成检测支架的步骤,计算机系统就可识别所检测的支架区段中的每一者的托盘位置(步骤722)。检测托盘位置还可包含多个步骤。例如,在步骤724中,计算机系统可首先识别托盘占地面积(其中可放置托盘的支架内的X及Y位置)。接下来,计算机系统可检查整个支架点云,以检测支架中的搁板水平的高度(步骤726)。一旦搁板水平及托盘占地面积位置已知,计算机系统就可在每一托盘占地面积位置处专门检查支架,以找到在所述XY位置处可用的特定搁板高度(步骤728)。步骤728可产生支架的托盘位置的一组完整的X、Y及Z坐标。
过程700是有益的,因为其可允许基于仓库环境中的现存的垂直杆、支架及/或其它物理结构准确且实时地生成仓库的地图/蓝图。从这些点云生成的地图可用于在叉车及/或其它装置/人类用户操作/导航通过仓库环境实时跟踪叉车及/或其它装置/人类用户。
图8是用于对垂直杆点进行分类的过程800的流程图。过程800可由任何计算装置执行,例如计算机系统104(参考图1)。图8中所描绘的过程800涉及图7A中的对垂直杆点进行分类及评分(步骤706)。3D扫描/点云中的若干特征可指示仓库环境或其它建筑物/结构中可能出现的垂直支架杆或任何类型的垂直杆的存在。例如,如果点云中出现的形状是高的及/或瘦的,那么其可能指示垂直杆。将点分类为垂直杆可通过计算点云的特征来实现,所述特征例如曲率、协方差等。使用这些值,计算机系统可对点进行评分,从而将点分类为垂直杆的部分。
首先,计算机系统在步骤802中接收设置点云,如先前参考图7A到B所讨论的。然后,计算机系统可将点云体素化为预定网格大小(步骤804)。体素化是指计算机系统将点云分解为更小的块,且然后分析块中的每一者。例如,预定网格大小可为1m x 1mx 1m。因此,在步骤804中,计算机系统可将点云分解成1m x 1m x 1m的块(例如,区段)。接下来,在步骤806中,计算机系统可选择体素(例如,一个1m x 1m x 1m的区段)。计算机系统可确定体素是否被点占据(步骤808)。如果在体素中不存在足够的点,那么计算机系统可确定在点云中是否存在更多的体素(步骤810)。如果存在,那么计算机系统可在步骤806中选择不同的体素并重复以下步骤。如果不存在更多的体素,那么计算机系统返回到步骤804,并在步骤804中使用不同的预定网格大小对点云进行体素化,并重复以下步骤。使用不同的网格大小可产生不同的结果,这些结果可被平均化并用于更准确地识别垂直杆,尤其是在垂直杆在所接收的点云中被分解或不连续的情况下。因此,在一个实施方案中,计算机系统可确定点云应被两次体素化为1m x 1m x 1m区段及1m x 1m x 2m区段。在一些实施方案中,计算机系统可不重复贯穿图8描述的步骤,而是可将点云体素化一次。
返回到步骤808,如果点占据所选择的体素,那么计算机系统可在步骤812中对点进行聚类。计算机系统可使用已知的聚类算法,例如HDBSCAN。在技术700中计算的球面特征在此可用作聚类算法的输入,以便获得最优聚类结果。然后,计算机系统可确定,如果在平面旁边存在点的球/分组,那么这些点可被聚类为两个集群,其中一个集群代表平面,且另一集群代表平面旁边的任何对象。例如,平面可为地板。此外,当在步骤812中对点进行聚类时,计算机系统及/或与计算机系统通信的装置处的用户可确定应在所选择的体素内产生多少集群。例如,具有多个集群可导致对所选择的体素内的所有对象进行更准确的分类及识别。另一方面,具有小体素大小的多个集群可导致原本将指示奇异对象的点的分离。如果计算机系统确定1m x 1m x 1m体素的点应被聚类为10个集群,那么计算机系统可能会将指示垂直杆的点聚类为多于一个集群,因为点分离一定距离。因此,当垂直杆的另一部分在单独的集群中时,计算机系统可能更难将点的集群分类为垂直杆。
一旦在步骤812中对点进行聚类,计算机系统就在步骤814中选择集群中的一者。集群被进一步体素化为一或多个预定网格大小(步骤816)。这样做可导致对垂直杆的更准确的分类,以及对点是否与垂直杆相关联的评分。一旦集群被体素化,计算机系统就可执行四种方法中的至少一者来对集群内的垂直杆点进行分类、识别及评分。那些第四方法包含协方差矩阵(参考步骤818到820)、直方图过滤器(步骤822到824)、球面协方差矩阵(步骤826到828)及/或神经网络(步骤830到832)。计算机系统可以任意顺序任选地执行这些方法。在其它实施方案中,计算机系统只能执行这四种方法中的一者。在其它实施方案中,计算机系统可选择性地执行这四种方法中的任一者的组合。
首先参考协方差矩阵方法,在步骤818中,计算机系统可将协方差矩阵应用于集群并找到标准偏差值。在此步骤中,计算机系统可剔除水平平面,例如地板、天花板及墙壁。协方差矩阵有利于比较点,并查看其在所有X、Y及Z轴上如何彼此相关。因此,计算机系统可区分平面与垂直杆。例如,如果点在一个维度中延伸,那么这表明有一个垂直杆——例如,垂直杆将在Z方向上延伸。另一方面,如果点在二个维度中延伸,那么这更表明平面,例如地板、天花板或墙壁。一旦完成标准偏差,计算机系统就可识别Z方向上的高标准偏差以及X及Y方向上的低标准偏差。这将指示表示垂直杆的点。因此,在步骤820中,计算机系统可为一维或二维点扩展指派分数。评分可由计算机系统及/或与计算机系统通信的装置上的用户确定。例如,计算机系统可确定评分应在0到1的范围内,其中1指示点表示垂直杆的高概率,且0指示点表示垂直杆的低概率。因此,在图8的实例中,在步骤820中,计算机系统可为在X及/或Y方向上延伸的点或指示平面的点指派分数0,且为仅在Z方向上延伸或指示垂直杆的点指派分数1。
类似地,计算机系统可将球面协方差矩阵应用于集群并确定标准偏差(步骤826)。应用球面协方差矩阵类似于上文描述的关于协方差矩阵的方法。不同之处在于,在步骤826中,计算机系统识别球面坐标(即,高程坐标)的标准偏差,而不是寻找笛卡尔(Cartesian)坐标的标准偏差。然后,计算机系统可为高程坐标指派分数(步骤828)。应用协方差矩阵及球面协方差矩阵两者可能是冗余的,然而,两者产生略有不同的分数。因此,计算机系统可从多于一个的角度对点进行识别及分类,这有利于剔除/移除不指示垂直杆的点。针对球面协方差矩阵的进一步讨论,参考上文关于图6的公开。
计算机系统还可将直方图过滤器应用于集群(步骤822)。针对直方图过滤器的进一步讨论,参考上文公开。使用直方图过滤器有利于识别每一集群内的重复点。一旦识别垂直点模式,计算机系统就可确定那些点模式指示垂直对象。例如,如果点沿着Z轴堆叠在彼此的顶部上,那么其更指示垂直杆。另一方面,如果点在多于一个的维度上/沿着多于一个的轴分布,那么点更指示平面。在点在多于一个的维度上分布的情况下,可将例如0的低分数指派给所述集群(步骤824)。在点被堆叠在彼此的顶部上及/或以重复的垂直点模式出现的情况下,在步骤824中,可将更高的分数(例如1)指派给所述集群。
最终,如所提及的,在步骤830中,计算机系统可将神经网络应用于集群。所属领域中已知的基本神经网络可应用于整个点云及/或所选择的集群。神经网络可接收所有集群,并基于所有集群一起确定是否存在垂直杆。此外,可针对点云、针对点云中的每个点及/或针对每个集群生成分类分数(步骤832)。分数越高,就越指示垂直杆。
一旦计算机系统应用上文所描述的方法中的一或多者,计算机系统就可对分数进行加权及平均化(步骤834)。换句话说,计算机系统可对分数中的每一者进行归一化,以找到集群的最终分数。计算机系统可能不会组合分数。在方法中的每一者中的评分输出不同量表分数的实施方案中,计算机系统可将评分中的每一者变换或归一化到0到1的评分量表或任何其它适当的评分量表上。使用0到1的评分量表,分数为1可与点是垂直杆的部分的100%的确定性相关联。分数为0可与点不是垂直杆的部分的100%确定性相关联。此外,分数0.5可与关于分数的不确定性相关联。
在步骤834的其它实施方案中,计算机系统可确定其将保留哪些分数。例如,计算机系统可应用所有四种方法,从而生成四个分数。然而,计算机系统可确定其只将分数保持在预定阈值以上(例如,假设所有分数都在相同的评分量表上及/或已被归一化)。在另一实例中,计算机系统可确定其将以点与垂直杆相关联的最高的确定性来保持分数,从而忽略其它分数。例如,如果协方差矩阵(步骤818)、直方图过滤器(步骤822)及球面协方差矩阵(步骤826)都返回分数0.3,但神经网络(步骤830)返回分数0.8,那么计算机系统可确定应保持分数0.8,因为其指示垂直杆的最高确定性。0.8表示比0.3更高的确定性,因为其离0.5更远,0.5表示不确定性。因此,在步骤834中,计算机系统不组合来自所有上文所提及的方法的分数——相反,计算机系统识别最确定的分数并保持所述分数。
一旦对分数进行加权及归一化,计算机系统就可在步骤836中确定是否存在更多的集群。如果存在,那么计算机系统返回到步骤814,选择集群,并重复先前描述的步骤。如果及/或一旦不存在更多的集群,那么计算机系统返回到步骤810,确定是否存在更多的体素,并重复先前描述的步骤。重复体素化是任选的。在其它实施方案中,如果计算机系统在步骤836处确定不再存在集群,那么计算机系统可停止针对图8所描述的过程800。
图9是用于定位垂直杆的过程900的流程图。过程900可由任何计算装置执行,例如计算机系统104(参考图1)。图9中所描绘的过程900涉及图7A中的定位经分类及评分的垂直杆(步骤708)。一旦杆被评分,计算机系统就可确定哪些点最有可能含有关于垂直杆位置的信息。此时,计算机系统可处理数千或数百万的经评分点。定位过程导致创建具有比输入数量的点云点更少的点的浓缩点云。因此,从过程900产生的输出点云中的点可表示单个垂直杆。因此,定位可产生杆预测的列表,其由至少xy位置及任选地与点是垂直杆的可能性相关联的置信度分数组成。
在步骤902中,计算机系统可接收经评分的点。将点被平坦化到其中z=0的平面上(步骤904)。一旦被平坦化,就可在步骤906中对点进行聚类。聚类可通过已知的聚类算法来执行。聚类对于确定哪些点属于同一垂直杆非常重要。可在步骤908中选择集群,且可找到所选择的集群的中心,从而代表垂直杆的中心。一旦选择集群,计算机系统就可在步骤910中识别边界框。然后,计算机系统可确定边界框是否大于预定阈值(步骤912)。如果边界框大于阈值,那么边界框在任一方向上延伸过多,且集群不太可能是垂直杆。因此,计算机系统可在步骤914中定位边界框内的杆,且然后在步骤916中扩展杆及分数。一旦步骤916完成,计算机系统就可在步骤930中确定是否存在更多的集群。如果存在,那么可在步骤908中选择另一集群,且可重复先前描述的步骤。如果不存在更多的集群,那么在步骤932中,计算机系统可返回杆位置的列表及其相关联的置信度分数。
如果边界框小于阈值,那么边界框在任一方向上都不会延伸过多,且因此集群更有可能指示垂直杆。因此,计算机系统可在步骤918中计算集群的质心,且在步骤920中计算边界框的中心。在步骤922中,使用那些值,计算机系统可找到集群的质心与边界框的中心之间的量值或差。如果质心与中心之间的距离最小,那么其更指示集群表示垂直杆。然而,如果质心与中心之间的距离大于预定阈值(步骤924),那么集群最可能不表示垂直杆。因此,集群可接收到分数0。因此,如果在步骤924中量值大于阈值,那么在步骤926中计算机系统可记录位置并指派低分数0。然后,在步骤930中,计算机系统可确定是否存在更多的集群,如先前所描述的。
在步骤924中,在差(例如,量值)小于阈值的情况下,可在步骤928中记录杆的位置并指派分数。在一些实施方案中,可指派大于0的分数,从而指示集群是垂直杆的更高置信度/可能性。计算机系统及/或与计算机通信的装置处的用户可确定要使用的分数的范围及/或预定阈值。例如,计算机系统可确定,在0到1的范围上,0指示集群表示垂直杆没有置信度。另一方面,分数0.5指示集群表示垂直杆的50%置信度,且分数1指示集群表示垂直杆的100%置信度。
一旦步骤928完成,计算机系统就可在步骤930中确定是否存在更多集群。如果存在,那么计算机系统可返回到步骤908,选择另一集群,并重复先前描述的步骤。如果计算机系统确定不存在更多的集群要分析,那么计算机系统可返回杆的位置的列表及其相关联的置信度分数(步骤932)。此列表可被传达到与执行技术900的计算机系统(例如,有线及/或无线)通信的用户计算机装置及/或任何类型的显示屏/计算装置。
图10是用于清洗定位结果的过程1000的流程图。过程1000可由任何计算装置执行,例如计算机系统104(参考图1)。图10中所描绘的过程1000涉及图7A中的拉直定位垂直杆(步骤710)。由于人们知道垂直杆应该是直的,且彼此成90度角,因此计算机系统可使用此信息来清理垂直杆预测,添加缺失的杆的部分,将杆重新对准成行,等等。因此,计算机系统可识别主导线,并确定此类线附近的点是否应在那些线上。如果点应在那些线上,那么其指示垂直杆,且因此应被移动到那些线上。清洗垂直杆定位结果由调整xy杆预测及其相关联的置信度分数组成。
如图10中所描绘,在步骤1002中,计算机系统接收经定位及评分的点。然后,计算机系统可通过识别点中的垂直线来检测主导垂直线(步骤1004)。由出现在垂直线中的点所占的区域可被识别为主导垂直线。接下来,在步骤1006中,计算机系统可选择主导垂直线。在步骤1008中,计算机系统可确定在所述线附近是否存在点。换句话说,计算机系统可确定点是否在距离线的阈值距离内。在一些实施方案中,计算机系统可基于识别最近邻以及那些近邻是否与主导垂直线相距某个预定距离来进行此确定。如果点离线足够近,使得其在某个预定距离(例如,阈值)内,那么计算机系统可将那些点移动到线上(步骤1010),从而清理并形成代表垂直杆的更直的垂直线。一旦点被移动到线上,计算机系统就可在步骤1012中调整垂直杆置信度分数。如果计算机系统将点移动到垂直线上,从而调整其xy位置,那么置信度分数增加,因为其更能指示准确的垂直杆。点离线越远,其最终分数就越低。已直接位于线的顶部上的点可具有分数1。如先前所提及的,计算机系统可指派在0到1的范围内的分数,使得如果计算机系统在步骤1010中将点移动到线上,那么在步骤1012中可将接近1的分数指派给垂直杆,因为其指示垂直杆存在的最高置信度。一旦计算机系统在步骤1012中调整置信度分数,计算机系统就可在步骤1018中确定是否存在更主导的垂直杆。如果存在,那么计算机系统可返回到步骤1006,选择垂直线,并重复步骤1008到1018,直到不存在更多的主导垂直线要检查。
图11是用于将垂直杆聚类成支架组的过程1100的流程图。过程1100可由任何计算装置执行,例如计算机系统104(参考图1)。图11中所描绘的过程1100涉及图7A中的步骤714。计算机系统可实施HDBSCAN及/或k-均值聚类,以识别由过道分离的支架组。支架组通常可具有用于识别支架的定向的细长的边界框。此外,边界框通常可含有两行支架。取决于物理环境的要求,这些支架具有相同/不同的类型。作为图11中的过程的结果,可存在有用的聚类结果,使得在对物理环境中的支架类型进行分类之前更容易且更快速地识别支架。在图11中所描绘的过程中的聚类不那么准确的实施方案中,稍后计算机系统可通过使用从贯穿本公开描述的其它过程获得的分类信息来重复此过程。
参考图11,在步骤1102中,计算机系统接收垂直杆点(参考图10)。可使用先前描述的技术为这些点生成集群(步骤1104)。点云可被分解成预定数量的最大集群。计算机系统可在步骤1106中选择集群。接下来,在步骤1108中,计算机系统可确定所选择的集群的大小信息。这可包含找到所选择的集群的边界框,识别边界框的最小x、y及z坐标以及最大x、y及z坐标。计算机系统可识别边界框的长度,其可为最大x坐标与最小x坐标的差。计算机系统也可对y坐标的长度重复这些计算。计算机系统还可确定边界框的方面,其中计算机系统将y坐标的长度除以x坐标的长度。一旦在步骤1108中确定集群的大小信息,计算机系统就可在步骤1110中确定大小信息是否与支架信息一致。支架信息可由用户在计算装置及/或与执行技术1100的计算机系统通信的任何其它类型的计算机/系统处输入到计算机系统中。如果大小信息与支架信息不一致,那么在步骤1112中,计算机系统可将来自所选择的集群的点返回到垂直杆点的池。然后,计算机系统可生成新的杆点集群,以确定不同的点集群是否指示支架分组。因此,计算机系统可重复先前描述的步骤。
返回参考步骤1110,如果计算机系统确定大小信息与支架信息一致,那么可在步骤1114中基于例如定大小信息中的边界框确定定向信息。因此,支架组通常具有细长的边界框,这指示垂直定向。一旦确定定向信息,计算机系统就可将所选择的集群及其相关联的大小信息及定向信息添加到支架列表(步骤1116)。然后,在步骤1118中,计算机系统可确定是否存在更多的集群。如果存在,那么可在步骤1108中选择另一集群,且可重复先前描述的步骤。如果不存在更多的集群,那么计算机系统可在步骤1120中返回支架列表。此列表可被显示及/或发送到用户计算装置、显示器及/或与执行过程1100的计算机系统通信的任何其它装置/计算机/系统。
图12是用于对支架杆进行分类的过程的流程图。过程1200可由任何计算装置执行,例如计算机系统104(参考图1)。图12中所描绘的过程1200涉及图7A中的步骤716。存在多种类型的支架,其可在物理环境中使用。例如,一种常见类型的支架被称为驶入式(drive-in)支架。此支架通常由1.2m x 1.4m的垂直杆间距模式表征,使得叉车或其它仓库车辆可驶入支架内/下方以存放/拾取物理对象/物品。另一种常见的支架类型被称为选择支架。每一类型的支架的定向可为不同的。一些支架类型也可具有不同的角度。到相邻杆的x及y距离可含有可与支架规范相匹配的信息,以接着识别所使用的支架类型。此外,在与计算机系统通信的装置处的用户可向计算机系统提供支架规范,例如仓库环境中的支架类型,且因此应被识别。
当在先前的过程中获得良好的聚类结果时,可在过程1200中使用支架定向信息来减少处理时间。毕竟,为了确定所使用的支架类型,计算机系统使用/依赖于仅一个定向,而不是两个。在聚类结果不那么好的实施方案中,计算机系统可考虑所有定向以对支架类型进行分类。
在步骤1202中,计算机系统可接收支架列表(参考图11)。在步骤1204中,可从列表选择支架。然后,计算机系统可确定所选择的支架中的支架杆中的每一者之间的距离值(步骤1206)。例如,可识别最近相邻杆,且然后可确定最近相邻杆中的每一者与所选择的支架中的杆之间的距离。计算机系统还可确定所选择的支架中的杆的定向信息(步骤1208)。接下来,可基于距离值及定向信息确定支架类型(步骤1210)。例如,杆之间的较大距离值可指示驶入式支架类型,而杆之间的较小距离值可指示选择支架。
一旦在步骤1210中确定支架类型,计算机系统就可在步骤1212中确定支架列表中是否存在更多的支架。如果存在,那么计算机系统可在步骤1204中从列表选择另一支架,并重复先前描述的步骤,直到列表中不存在更多的支架为止。如果在步骤1212中不存在更多的支架,那么计算机系统在步骤1214中返回支架类型的列表。如所讨论的,列表可被显示及/或发送到用户计算装置、显示器及/或与执行过程1200的计算机系统通信的任何其它装置/计算机/系统。
图13是用于对缺失的支架杆进行内插的过程1300的流程图。过程1300可由任何计算装置执行,例如计算机系统104(参考图1)。图13中所描绘的过程1300涉及图7A中的步骤718。当存在一系列xy垂直支架杆位置及相关联的支架类型及定向时,计算机系统可查找与所检测的模式匹配的缺失杆位置。如果预测新的杆预测,那么计算机系统可在所述位置处的原始点云中寻找垂直杆。当基于特定的支架类型及定向预测垂直杆时,经预测的杆可继承所述类型及定向以及相关联的置信度分数。
参考图13,计算机系统可接收在先前讨论的过程中生成的支架信息(步骤1302)。此支架信息可包含(但不限于)杆、杆的类型、每一杆的定向及置信度分数。接下来,在步骤1304中,可从所接收的支架信息选择支架。一旦选择支架,就可选择包括支架的杆(步骤1306)。然后,在步骤1308中,计算机系统可基于所选择的杆的位置预测支架中的其它杆的位置。在步骤1310中,计算机系统可确定其它杆是否处于预测位置。这可通过已知技术实现,且在一些实施方案中,计算机系统可分析所选择的支架的信息,以识别计算机系统在步骤1306中没有选择的所述支架内的其它杆的位置。计算机系统还可分析从步骤1302接收的所有支架信息,以确定所述信息中的任何杆是否落入来自步骤1308的其它杆的预测位置内。
如果在步骤1310中计算机系统确定其它杆处于预测位置,那么可将高置信度值指派给所选择的支架中的杆(步骤1312)。这指示计算机系统准确地对点云进行细化、过滤及/或处理,以确定垂直杆在环境中的位置、支架分组及支架类型。如果在步骤1310中其它杆不在预测位置处,那么计算机系统分析预测位置处的点云(步骤1314)。计算机系统可获得从先前的过程收集、接收及分析的所有数据,以确定计算机系统是否缺失在点云中且应被视为所选择的支架的部分的杆。在步骤1316中,基于计算机系统的确定,计算机系统可将其分析更新/添加到支架信息。例如,如果计算机系统确定在点云中的预测位置中的一者处实际上存在杆,那么计算机系统可将关于所述杆的信息添加到支架信息。以那样方式,当计算机系统通过过程1300循环回到步骤1304或1306时,可分析新添加的支架信息,且可相应地调整置信度值。
然后,计算机系统可确定在所选择的支架内是否存在更多的杆需要分析(步骤1318)。如果存在更多的杆,那么计算机系统返回到步骤1306,并重复先前描述的步骤。如果不存在更多的杆,那么在步骤1320中,计算机系统确定在支架信息中是否存在更多的支架。此外,返回参考步骤1312,一旦计算机系统将高置信度值指派给杆,计算机系统也进入步骤1320,且必须确定是否存在更多的支架。如果存在,那么计算机系统返回到步骤1304,并重复先前描述的步骤。如果支架信息中不存在更多的支架,那么计算机系统在步骤1322中返回支架信息。支架信息可包含(但不限于)杆的更新的高置信度值及/或杆是否不在预测位置中的一者处但应该在那里的分析。支架信息可如先前贯穿本公开所讨论的那样被显示及返回。
图14A到B是用于检测垂直支架杆中的支架区段的过程1400的流程图。过程1400可由任何计算装置执行,例如计算机系统104(参考图1)。图14A到B中所描绘的过程1400涉及图7A中的步骤720。使用每一垂直杆的位置、支架类型及定向信息,计算机系统可识别支架的区段,其中那些部分可由相同类型及定向的四个相邻杆组成。支架区段通常具有类型、定向及位置。在一些实施方案中,例如,两个邻近的支架区段可共享两个杆。这指示两个邻近的支架区段是同一支架的部分。可由过道分离的支架组可由不同类型的支架组成,且甚至可由一个支架、两个支架或多个完整支架组成。此外,从物理环境的地板延伸到天花板的垂直支撑杆通常会导致支架被分解成若干较小的支架。因此,过程1400的目的是在一组分类的垂直杆中定位每一支架区段,并识别其支架类型及定向。一旦确定支架区段信息,就可计算托盘中心(参考图15)。
参考图14A到B中的过程1400,计算机系统可在步骤1402中接收来自先前过程的杆信息(参考图7到13)。所接收的信息可包含(但不限于)杆位置、支架类型、支架及杆定向、置信度分数及杆分组。在步骤1404中,从杆信息选择杆。然后,计算机系统从所选择的杆预测四个对角线方向上的支架区段中心的位置(步骤1406)。因此,可沿NW、NE、SW及SE方向预测支架区段中心。一旦预测支架区段中心,就可在步骤1408中选择支架区段中心。
在步骤1410中,计算机系统可确定所选择的支架区段是否在支架分组的边界框内。如果其在边界内,那么计算机系统可在步骤1412中继续处理支架区段。如果支架区段不在边界内,那么计算机系统可跳到步骤1424。一旦支架区段被选择并被确定在支架分组的边界内,计算机系统就可预测四个杆位置,其每一者在从所述支架区段中心的对角线方向(例如,NW、NE、SW及SE)上(步骤1412)。计算机系统可在步骤1414中选择预测的杆位置。在步骤1416中,计算机系统可确定杆是否位于预测位置处。此确定可使用先前讨论的技术来进行(参考图13)。如果在预测位置处发现杆,那么为支架区段指派高置信度值(步骤1418)。高置信度值指示杆实际上是在点云中准确地捕获并通过先前讨论的过程进行细化的支架区段的部分。
如果在步骤1416中计算机系统确定在预测位置处不存在杆,那么在步骤1420中可将预测的杆位置添加到杆信息。一旦完成任一步骤1418或1420,计算机系统就可确定是否存在更多的预测杆位置要针对此支架区段预测进行分析(步骤1422)。如果存在,那么计算机系统可返回到步骤1414,并重复先前描述的步骤。如果针对此支架区段不存在更多的杆预测要分析,那么计算机系统可确定是否存在更多的支架区段预测要分析(步骤1424)。如果存在,那么计算机系统可返回到步骤1408,并重复先前描述的步骤。
如果不存在更多的支架区段预测要分析,那么在步骤1426中计算机系统确定在杆信息中是否存在更多的杆。如果存在,那么计算机系统返回到步骤1404,并重复先前描述的步骤。如果在杆信息中不存在更多的杆,那么计算机系统在步骤1428中返回杆信息及支架区段信息。支架区段信息可包含(但不限于)预测的支架区段中心的位置及置信度分数、支架区段定向及支架区段类型。杆信息可包含(但不限于)其它杆的预测位置。支架区段及杆信息可如先前贯穿本公开所讨论的那样被显示及返回。
图15是用于计算托盘占地面积位置的过程1500的流程图。过程1500可由任何计算装置执行,例如计算机系统104(参考图1)。图15中所描绘的过程1500涉及图7B中的步骤724。支架中固持的托盘的量取决于物理环境中利用的支架类型以及每一支架上的搁板的数量。例如,选择支架位置通常可在每一支架区段中并排固持两个托盘。另一方面,驶入式支架位置通常可固持一个托盘。无论支架类型固持多少托盘,一旦支架位置已知,就可使用相同的算法/技术来计算托盘占地面积中心的列表。
参考图15,计算机系统可接收来自先前过程的支架区段信息(参考图7到14)(步骤1502)。支架区段信息可包含(但不限于)支架区段位置、支架类型、支架及/或杆定向以及支架及/或杆分组。然后,计算机系统可在步骤1504中选择支架区段。然后,计算机系统可确定所选择的支架是否具有“选择”的支架类型(步骤1506)。如果支架区段具有选择支架类型,那么在步骤1510中计算机系统可计算支架区段中的两个托盘占地面积中心。如果支架类型不是“选择”,那么其很可能是单个宽类型的支架,例如“驶入式”支架,且可在支架区段的中心处计算单个托盘占地面积位置。已知技术可用于计算出的支架的中心。在步骤1510中,计算机系统还可使用已知技术以及支架分组的边界及类型来计算托盘方向。
一旦在步骤1508或1510中完成计算,计算机系统就可在步骤1512中将此类计算添加到支架区段信息。一旦支架区段信息被更新,计算机系统就可在步骤1514中确定在支架区段信息中是否存在更多的支架区段。如果存在,那么计算机系统可返回到过程1500中的步骤1504,并重复先前描述的步骤。如果在支架区段信息中不存在更多的支架区段,那么计算机系统可在步骤1516中返回支架区段信息。支架区段信息可包含(但不限于)支架中心计算、托盘占地面积预测及/或托盘方向。支架区段信息可以类似于贯穿本公开先前讨论的杆信息的方式被显示及返回。
图16是用于定位用于支架区段的支架搁板的过程1600的流程图。明确来说,可确定搁板的高度,以便知晓支架可固持多少托盘及托盘在空间中的位置。过程1600可由任何计算装置执行,例如计算机系统104(参考图1)。图16中所描绘的过程1600涉及图7B中的步骤726。
参考图16,计算机系统可接收来自先前的过程的杆信息(参考图7到14)(步骤1602)。杆信息可包含(但不限于)杆位置、支架类型、支架及/或杆定向以及支架及/或杆分组。然后,计算机系统可在步骤1604中选择支架分组。
计算机系统可从支架数据过滤出所有垂直对象,例如构成托盘面的垂直杆或垂直平面(步骤1606)。在步骤1608中,计算机系统可通过已知技术来定位大的水平平面。这些大的水平平面可含有关于支架上的搁板的高度的信息。
一旦计算机系统已识别若干大的水平平面,其就可经历使用已知的聚类及分类算法的对平面的评分过程,以确定每一平面是否具有搁板的特性,或每一平面是否看起来更像托盘的顶部(步骤1610)。此评分过程可揭露关于预测搁板高度的置信度的信息,其在稍后的计算中可为有用的。因此,计算出的搁板分数及置信度可存储在远程数据存储库或其它数据存储系统中。
在步骤1612中,计算机系统可使用所识别的搁板高度来更新杆信息。在步骤1614中,计算机系统可确定是否存在更多的支架分组要分析。如果存在更多的支架分组,那么计算机系统可返回到步骤1604,并重复上文所描述的步骤。如果不存在更多的支架分组,那么计算机系统可在步骤1616中返回更新的杆信息。杆信息可包含(但不限于)新预测的搁板高度及置信度分数。杆信息可以类似于贯穿本公开先前讨论的杆信息的方式被显示及返回。
图17是用于检测支架区段及托盘水平高度的过程1700的流程图。换句话说,过程1700可用于定位用于个别支架区段的支架搁板。过程1700可由任何计算装置执行,例如计算机系统104(参考图1)。图17中所描绘的过程1700涉及图7B中的步骤728。在过程1700中,可定位个别托盘的实际高度。定位实际高度可能是有益的,因为支架可能具有沿着支架的整个长度不保持恒定的若干不同的搁板水平。
参考图17,计算机系统可接收来自先前的过程的杆及支架区段信息(参考图7到16)(步骤1702)。杆信息可包含(但不限于)支架类型、支架及/或杆定向以及支架及/或杆分组。支架区段信息可包含(但不限于)支架区段位置、托盘占地面积位置、支架区段类型及支架区段定向。计算机系统可在步骤1704中选择支架区段。
然后,计算机系统可从支架数据过滤出所有垂直对象,例如构成托盘面的垂直杆或垂直平面(步骤1706)。在步骤1708中,计算机系统可通过已知技术来定位水平平面。这些水平平面可含有关于支架上的搁板的高度的信息。
在步骤1710中,计算机系统可计算所检测的支架区段平面的置信度分数。置信度分数可基于将这些支架区段搁板的高度与在过程1600中找到的支架高度进行比较来计算。可将所检测的支架区段平面与支架分组平面进行比较。如果此支架区段的高度信息与支架的整体支架水平高度信息一致,那么可用高置信度分数对托盘高度进行评分。高置信度分数可接近1,而低置信度分数可接近0。如果在步骤1710中发现托盘高度与技术1600中识别的任何支架高度不一致,那么此预测可具有低置信度分数,除非其可通过一些其它算法或由用户验证。
在步骤1712中,计算机系统可使用所识别的搁板高度来更新杆及支架区段信息。信息也可使用置信度分数来更新。在步骤1714中,计算机系统可确定在支架区段信息中是否存在更多的支架区段要分析。如果存在,那么计算机系统可返回到步骤1704。如果不存在更多的支架区段,那么计算机系统可返回更新的杆及支架区段信息。杆及支架区段信息可包含(但不限于)新预测的搁板高度以及分别属于个别杆及个别托盘位置的置信度分数。杆及支架区段信息可以类似于贯穿本公开先前讨论的杆信息的方式被显示及返回。
虽然本说明书含有许多具体的实施方案细节,但这些不应被解释为对所公开的技术的范围或可能要求保护的内容的限制,而是对可特定于特定所公开的技术的特定实施例的特征的描述。在本说明书中在单独实施例的上下文中描述的某些特征也可部分或全部地在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可单独地或以任何合适的子组合在多个实施例中实施。此外,尽管特征在本文中可被描述为以某些组合起作用及/或最初被要求保护,但在一些情况下,因而,来自所要求保护的组合的一或多个特征可从所述组合切除,且所要求保护的组合可涉及子组合或子组合的变体。类似地,虽然可以特定顺序描述操作,但这不应被理解为要求以特定顺序或顺序执行此类操作,或执行所有操作,以实现所期望的结果。已描述本标的物的特定实施例。其它实施例在所附权利要求书的范围内。
Claims (20)
1.一种用于从物理空间的点云数据生成所述物理空间的映射的方法,所述方法包括:
由计算系统接收所述物理空间的所述点云数据,所述点云数据包含近似所述物理空间内的物理表面的位置的三维空间中的多个点;
由所述计算系统对所述点云数据进行过滤以从所述点云数据至少移除稀疏点;
由所述计算系统沿着对应于所述物理空间的定向的x、y及z维度对准所述点云数据;
由所述计算系统将所述点云数据中的所述点分类为对应于一或多种类型的物理表面;
由所述计算系统至少部分地基于所述点云数据中的所述点的分类识别所述物理空间中的特定物理结构;及
由所述计算系统生成所述物理空间的所述映射以识别所述特定物理结构及所述特定物理结构在所述物理空间的所述定向内的对应轮廓。
2.根据权利要求1所述的方法,其中由所述计算系统对所述点云数据中的所述点进行分类包括:
从所述点云数据选择参考点;
针对所述参考点识别k个最近邻点;
针对所述k个最近邻点中的每一者计算相对于所述参考点的球面坐标;
基于所述k个最近邻点中的每一者的所述球面坐标,确定所述参考点的球面特征;及
基于确定所述参考点的所述球面特征对所述参考点进行分类,其中所述参考点能够被分类为属于地板、墙壁、垂直杆、支撑梁、托盘及噪声中的至少一者。
3.根据权利要求2所述的方法,其中由所述计算系统对所述点云数据中的所述点进行分类进一步包括输出以下中的至少一者(i)对所述点云数据中的所述点中的每一者的分类,(ii)所述点云数据中的所述点中的每一者的球面特征,及(iii)基于所述点云数据中的所述点中的每一者的所述分类由所述点云数据表示的对象。
4.根据权利要求1所述的方法,其中由所述计算系统对准所述点云数据包括识别所述物理空间中的门或窗中的至少一者周围的一或多个参考点,其中所述一或多个参考点指示围绕其旋转所述点云数据的轴。
5.根据权利要求1所述的方法,其中由所述计算系统对准所述点云数据包括检测所述物理空间周围的边界框,其中所述边界框指示围绕其旋转所述点云数据的轴。
6.根据权利要求1所述的方法,其进一步包括:
由所述计算系统从所述点云数据检测垂直杆;
由所述计算系统从所述点云数据并基于所述所检测的垂直杆检测支架区段;
由所述计算系统基于所述所检测的支架区段确定托盘占地面积;
由所述计算系统确定所述所检测的支架区段中的每一搁板区段的高度;及
由所述计算系统基于所述托盘占地面积及每一搁板区段的所述高度识别所述所检测的支架区段的每一搁板区段的托盘位置。
7.根据权利要求6所述的方法,其中由所述计算系统检测垂直杆包括:
对所述点云数据中与垂直杆相关联的点进行分类;
定位所述经分类的点;及
将所述经定位的点拉直为垂直杆。
8.根据权利要求7所述的方法,其中由所述计算系统检测支架区段包括:
将所述垂直杆聚类成支架分组;
用支架类型及支架定向对所述经聚类的垂直杆进行分类;
基于所述用支架类型及支架定向对所述经聚类的垂直杆进行分类来为所述经聚类的垂直杆中的每一者对缺失的支架杆进行内插;及
基于所述经聚类的垂直杆检测支架区段。
9.根据权利要求7所述的方法,其中由所述计算系统对所述点云数据中与垂直杆相关联的所述点进行分类包括:
将所述点云数据体素化为第一预定网格大小;
针对每一体素,对所述体素中的所述点云数据的点进行聚类;
针对所述体素中的每一点集群,将所述点集群体素化为第二预定网格大小;
针对每一体素化的点集群中的每一点,将所述点分类为垂直杆点;
针对所述体素中的每一点集群,对每一点的所述分类进行归一化;及
基于所述对每一点的所述分类进行归一化确定体素中的每一点集群是否与所述垂直杆相关联。
10.根据权利要求9所述的方法,其中针对每一体素化的点集群中的每一点,由所述计算系统将所述点分类为垂直杆点包括:
将协方差矩阵应用于所述体素化的点集群;
确定所述体素化的点集群中的每一点的标准偏差值;
识别Z方向上的高标准偏差;
识别X及Y方向上的低标准偏差;及
针对所述体素化的点集群中的每一点并基于所述所识别的高标准偏差及所述所识别的低标准偏差,为对所述点的一维或二维点扩展指派分数。
11.根据权利要求9所述的方法,其中针对每一体素化的点集群中的每一点,由所述计算系统将所述点分类为垂直杆点包括将球面协方差矩阵应用于所述体素化的点集群。
12.根据权利要求9所述的方法,其中针对每一体素化的点集群中的每一点,由所述计算系统将所述点分类为垂直杆点包括将直方图过滤器应用于所述体素化的点集群。
13.根据权利要求9所述的方法,其中针对每一体素化的点集群中的每一点,由所述计算系统将所述点分类为垂直杆点包括将神经网络应用于所述体素化的点集群。
14.根据权利要求8所述的方法,其中由所述计算系统将所述垂直杆聚类成支架分组包括:
接收支架信息;
针对每一集群,确定所述集群的大小信息,其中所述大小信息包含边界框、所述边界框的最小x、Y及Z坐标以及所述边界框的最大X、Y及Z坐标;
确定所述集群的所述大小信息是否与秩信息一致;
基于确定所述集群的所述大小信息与所述支架信息不一致,将所述集群中的点返回到所述点云数据中的点池;
基于确定所述集群的所述大小信息与所述支架信息一致,识别所述集群的定向信息;及
生成支架列表,其含有所述集群、所述集群的所述大小信息及所述集群的所述定向信息。
15.根据权利要求14所述的方法,其进一步包括:
由所述计算系统从所述支架列表选择支架;
由所述计算系统确定所述所选择的支架中的所述垂直杆中的每一者之间的距离;
由所述计算系统确定所述所选择的支架中的所述垂直杆中的每一者的定向信息;及
由所述计算系统基于所述垂直杆中的每一者的所述距离及所述定向信息确定所述所选择的支架的支架类型。
16.根据权利要求6所述的方法,其中由所述计算系统基于所述所检测的支架区段确定托盘占地面积包括:
针对所述所检测的支架区段中的每一者,确定所述所检测的支架区段是否具有选择支架类型;
基于确定所述所检测的支架区段具有所述选择支架类型,计算所述所检测的支架区段中的两个托盘占地面积中心;及
基于确定所述所检测的支架区段不具有所述选择支架类型,计算所述所检测的支架区段中的一个托盘占地面积中心。
17.根据权利要求6所述的方法,其中由所述计算系统确定所述所检测的支架区段中的每一搁板区段的高度包括:
针对所述所检测的支架区段中的每一者,从所述所检测的支架区段过滤出垂直对象;
检测所述经过滤的支架区段中的水平平面;
识别所述水平平面是否具有搁板区段的特性;
基于确定所述水平平面具有所述搁板区段的特性确定高搁板分数;及
基于确定所述水平平面不具有所述搁板区段的特性确定相对于所述高搁板分数的低搁板分数,其中所述低搁板分数更接近0,且所述高搁板分数更接近1。
18.一种用于从物理空间的点云数据生成所述物理空间的映射的计算机化系统,所述系统包括:
一或多个处理器;及
一或多个计算机可读装置,其包含指令,当由所述一或多个处理器执行时,所述指令使所述计算机化系统执行包含以下操作的操作:
接收所述物理空间的所述点云数据,所述点云数据包含近似所述物理空间内的物理表面的位置的三维空间中的多个点;
对所述点云数据进行过滤以从所述点云数据至少移除稀疏点;
沿着对应于所述物理空间的定向的x、y及z维度对准所述点云数据;
将所述点云数据中的所述点分类为对应于一或多种类型的物理表面;
至少部分地基于所述点云数据中的所述点的分类识别所述物理空间中的特定物理结构;及
生成所述物理空间的所述映射以识别所述特定物理结构及所述特定物理结构在所述物理空间的所述定向内的对应轮廓。
19.根据权利要求18所述的系统,其中对所述点云数据中的所述点进行分类包括:
从所述点云数据选择参考点;
针对所述参考点识别k个最近邻点;
针对所述k个最近邻点中的每一者计算相对于所述参考点的球面坐标;
基于所述k个最近邻点中的每一者的所述球面坐标,确定所述参考点的球面特征;及
基于确定所述参考点的所述球面特征对所述参考点进行分类,其中所述参考点能够被分类为属于地板、墙壁、垂直杆、支撑梁、托盘及噪声中的至少一者。
20.根据权利要求19所述的系统,其中对所述点云数据中的所述点进行分类进一步包括输出以下中的至少一者(i)对所述点云数据中的所述点中的每一者的分类,(ii)所述点云数据中的所述点中的每一者的球面特征,及(iii)基于所述点云数据中的所述点中的每一者的所述分类由所述点云数据表示的对象。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/230,651 | 2021-04-14 | ||
US17/230,651 US11734883B2 (en) | 2021-04-14 | 2021-04-14 | Generating mappings of physical spaces from point cloud data |
PCT/US2022/024715 WO2022221476A1 (en) | 2021-04-14 | 2022-04-13 | Generating mappings of physical spaces from point cloud data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117501322A true CN117501322A (zh) | 2024-02-02 |
Family
ID=81648628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280037806.0A Pending CN117501322A (zh) | 2021-04-14 | 2022-04-13 | 从点云数据生成物理空间的映射 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11734883B2 (zh) |
EP (1) | EP4323724A1 (zh) |
CN (1) | CN117501322A (zh) |
AU (2) | AU2022258555B2 (zh) |
CA (1) | CA3215518A1 (zh) |
WO (1) | WO2022221476A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230109909A1 (en) * | 2021-10-07 | 2023-04-13 | Motional Ad Llc | Object detection using radar and lidar fusion |
CN115965855B (zh) * | 2023-02-14 | 2023-06-13 | 成都睿芯行科技有限公司 | 一种提高托盘识别精度的方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651752A (zh) * | 2016-09-27 | 2017-05-10 | 深圳市速腾聚创科技有限公司 | 三维点云数据配准方法及拼接方法 |
US20170316253A1 (en) * | 2016-04-27 | 2017-11-02 | Crown Equipment Corporation | Pallet detection using units of physical length |
CN107464283A (zh) * | 2017-07-13 | 2017-12-12 | 广西我的科技有限公司 | 一种三维空间信息采集分析处理的方法及装置 |
CN108428255A (zh) * | 2018-02-10 | 2018-08-21 | 台州智必安科技有限责任公司 | 一种基于无人机的实时三维重建方法 |
US20180304468A1 (en) * | 2017-04-21 | 2018-10-25 | X Development Llc | Methods and Systems for Detecting, Recognizing, and Localizing Pallets |
US20200242829A1 (en) * | 2019-01-25 | 2020-07-30 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Three-dimensional reconstruction method and apparatus for material pile, electronic device, and computer-readable medium |
CN112365601A (zh) * | 2020-11-19 | 2021-02-12 | 连云港市拓普科技发展有限公司 | 一种基于特征点信息的结构光三维点云重建方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011153624A2 (en) * | 2010-06-11 | 2011-12-15 | Ambercore Software Inc. | System and method for manipulating data having spatial coordinates |
CN108292381A (zh) * | 2015-09-29 | 2018-07-17 | 利尼芝物流有限责任公司 | 仓库货架空间优化 |
GB2559157A (en) * | 2017-01-27 | 2018-08-01 | Ucl Business Plc | Apparatus, method and system for alignment of 3D datasets |
US10347001B2 (en) * | 2017-04-28 | 2019-07-09 | 8th Wall Inc. | Localizing and mapping platform |
US11176693B1 (en) * | 2019-07-24 | 2021-11-16 | Amazon Technologies, Inc. | Rapid point cloud alignment and classification with basis set learning |
US11958183B2 (en) * | 2019-09-19 | 2024-04-16 | The Research Foundation For The State University Of New York | Negotiation-based human-robot collaboration via augmented reality |
US11551422B2 (en) * | 2020-01-17 | 2023-01-10 | Apple Inc. | Floorplan generation based on room scanning |
US11977392B2 (en) * | 2020-05-11 | 2024-05-07 | Mobile Industrial Robots Inc. | Identifying elements in an environment |
-
2021
- 2021-04-14 US US17/230,651 patent/US11734883B2/en active Active
-
2022
- 2022-04-13 CA CA3215518A patent/CA3215518A1/en active Pending
- 2022-04-13 EP EP22723269.1A patent/EP4323724A1/en active Pending
- 2022-04-13 WO PCT/US2022/024715 patent/WO2022221476A1/en active Application Filing
- 2022-04-13 AU AU2022258555A patent/AU2022258555B2/en active Active
- 2022-04-13 CN CN202280037806.0A patent/CN117501322A/zh active Pending
-
2023
- 2023-06-22 US US18/339,382 patent/US20230334778A1/en active Pending
-
2024
- 2024-01-25 AU AU2024200491A patent/AU2024200491A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170316253A1 (en) * | 2016-04-27 | 2017-11-02 | Crown Equipment Corporation | Pallet detection using units of physical length |
CN108885792A (zh) * | 2016-04-27 | 2018-11-23 | 克朗设备公司 | 使用物理长度单位进行的货板检测 |
CN106651752A (zh) * | 2016-09-27 | 2017-05-10 | 深圳市速腾聚创科技有限公司 | 三维点云数据配准方法及拼接方法 |
US20180304468A1 (en) * | 2017-04-21 | 2018-10-25 | X Development Llc | Methods and Systems for Detecting, Recognizing, and Localizing Pallets |
CN107464283A (zh) * | 2017-07-13 | 2017-12-12 | 广西我的科技有限公司 | 一种三维空间信息采集分析处理的方法及装置 |
CN108428255A (zh) * | 2018-02-10 | 2018-08-21 | 台州智必安科技有限责任公司 | 一种基于无人机的实时三维重建方法 |
US20200242829A1 (en) * | 2019-01-25 | 2020-07-30 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Three-dimensional reconstruction method and apparatus for material pile, electronic device, and computer-readable medium |
CN112365601A (zh) * | 2020-11-19 | 2021-02-12 | 连云港市拓普科技发展有限公司 | 一种基于特征点信息的结构光三维点云重建方法 |
Non-Patent Citations (4)
Title |
---|
HUGUES THOMAS等: "Self-Supervised Learning of Lidar Segmentation for AutonomousIndoor Navigation", ARXIV.ORG, 10 December 2020 (2020-12-10), pages 1 - 7 * |
JIAN-HONG CHEN等: "High-Accuracy Mapping Design Based on Multi-view Images and 3D LiDAR Point Clouds", 《2020 IEEE INTERNATIONAL CONFERENCE ON CONSUMER ELECTRONICS (ICCE)》, 31 December 2020 (2020-12-31), pages 1 - 2 * |
ZHIZHONG KANG等: "Voxel-Based Extraction and Classification of 3-DPole-Like Objects From Mobile LiDAR PointCloud Data", 《IEEE JOURNAL OF SELECTED TOPICS IN APPLIED EARTH OBSERVATIONS AND REMOTE SENSING, V》, vol. 11, no. 11, 30 November 2018 (2018-11-30), pages 4287 - 4298 * |
袁庆曙等: "空间增强现实中的人机交互技术综述", 《计算机辅助设计与图形学学报》, vol. 33, no. 3, 31 March 2021 (2021-03-31), pages 321 - 332 * |
Also Published As
Publication number | Publication date |
---|---|
EP4323724A1 (en) | 2024-02-21 |
US11734883B2 (en) | 2023-08-22 |
AU2022258555B2 (en) | 2023-11-16 |
WO2022221476A1 (en) | 2022-10-20 |
AU2024200491A1 (en) | 2024-02-15 |
US20220335688A1 (en) | 2022-10-20 |
CA3215518A1 (en) | 2022-10-20 |
AU2022258555A1 (en) | 2023-11-02 |
US20230334778A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220028163A1 (en) | Computer Vision Systems and Methods for Detecting and Modeling Features of Structures in Images | |
CN101509781B (zh) | 基于单目摄像头的步行机器人定位系统 | |
US20230334778A1 (en) | Generating mappings of physical spaces from point cloud data | |
EP2911090B1 (en) | A method and arrangement for identifying a difference between a first 3D model of an environment and a second 3D model of the environment | |
CN111709988A (zh) | 一种物体的特征信息的确定方法、装置、电子设备及存储介质 | |
AU2022258476B2 (en) | Point cloud filtering | |
AU2010200144A1 (en) | Extraction processes | |
WO2011085434A1 (en) | Extraction processes | |
WO2011085437A1 (en) | Extraction processes | |
CN116109047A (zh) | 一种基于三维智能检测的智能调度方法 | |
Castagno et al. | Realtime rooftop landing site identification and selection in urban city simulation | |
CN117321438B (zh) | 点云滤波 | |
US20240168166A1 (en) | Processing LiDAR Data | |
WO2011085436A1 (en) | Extraction processes | |
US20220172134A1 (en) | Methods and apparatus for automatic risk assessment of power outages | |
Castagno | Mapping and Real-Time Navigation With Application to Small UAS Urgent Landing | |
CN117470246A (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 |