CN117321438B - 点云滤波 - Google Patents

点云滤波 Download PDF

Info

Publication number
CN117321438B
CN117321438B CN202280034287.2A CN202280034287A CN117321438B CN 117321438 B CN117321438 B CN 117321438B CN 202280034287 A CN202280034287 A CN 202280034287A CN 117321438 B CN117321438 B CN 117321438B
Authority
CN
China
Prior art keywords
points
point cloud
cloud data
computing system
histograms
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
CN202280034287.2A
Other languages
English (en)
Other versions
CN117321438A (zh
Inventor
C·F·埃克曼
B·M·洛
A·霍尔
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.)
Lineage Logistics LLC
Original Assignee
Lineage Logistics LLC
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 Lineage Logistics LLC filed Critical Lineage Logistics LLC
Publication of CN117321438A publication Critical patent/CN117321438A/zh
Application granted granted Critical
Publication of CN117321438B publication Critical patent/CN117321438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C15/00Surveying instruments or accessories not provided for in groups G01C1/00 - G01C13/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • G06V10/507Summing image-intensity values; Histogram projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/176Urban or other man-made structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/182Network patterns, e.g. roads or rivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/188Vegetation
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Window Of Vehicle (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Control Of Motors That Do Not Use Commutators (AREA)
  • Image Analysis (AREA)

Abstract

本说明书描述用于将点云数据细化的系统及方法。方法可包含:接收物理空间的点云数据;沿着x维度、y维度及z维度迭代地选择点;将所述所选择点群集成2D直方图;确定每一2D直方图的斜率值;及基于所述斜率值超过预定值而从所述点云数据移除点。方法还可包含:将每一2D直方图迭代地体素化成预定网格大小;对每一经体素化2D直方图中的点进行求和;基于确定总和低于预定和值,从所述点云数据移除点;基于确定每一经体素化2D直方图中点的数目超过阈值,保留中心点;针对每一直方图选择一点;识别所述点云数据中的最近邻近点;从所述数据移除所述所识别最近邻近点;及将剩余点返回。

Description

点云滤波
技术领域
本文件大体上描述用于将点云细化的技术,所述点云可包含三维空间中点的集合。
背景技术
例如仓库及存储设施等物理空间可能很大并且正面临导航的挑战。对此类物理空间进行映射可帮助例如仓库工作人员的用户学习物理空间的平面布置图,并且在那个物理空间周围移动而不会迷路。产生物理空间的蓝图或地图可通过用户用扫描仪在物理空间周围走动以获取整个物理空间的3D扫描及/或图像来执行。然后,3D扫描及/或图像可被手动变换成物理空间的蓝图或地图。每当物理空间发生改变时,用户可手动更新此类蓝图或地图。
手动映射可能是一耗时过程,并且可能包含由于人为错误导致的不准确性。例如,用户可能不会获取物理空间的每个区域的图像。因此,地图可包含物理空间的某些区域,但不包含其它区域。作为另一实例,用户可能无法获取物理空间中发生改变的区域的所更新图像。因此,地图可能是过时的,并且用户可能依赖于过时的地图。现代物理空间的蓝图及地图可能不准确,缺乏细节,或者完全缺失。
发明内容
本文件大体上描述用于将点云细化使得所述点云更准确地表示3D空间内的物理结构的技术。经细化点云可用于更有效及高效地产生物理空间的蓝图及/或地图。可从图像及/或物理空间的其它表示产生点云。所述点云可包含提供物理空间内的物理结构及表面以及其相对于彼此的对应位置的粗略近似的点。所述点云可包含一些噪声及不准确的点,这可能阻碍所述点云用于对物理空间内的物理结构及其对应轮廓进行准确映射。所公开技术可剔除大部分(如果不是全部的话)噪声,以提供更准确地对应及突出物理空间内的物理结构的所述轮廓及相对位置的经细化点云。
在一些实施方案中,所公开技术可提供选择点云数据的轴线来进行初始操作。从每一轴线,所述点云的整个区段可被压缩成一系列二维(2D)直方图。所述直方图可像内核一样被检查,这可导致3D空间中所定义的体素被评估。可使用经预定义阈值来确定是否应将体素内的个别点添加到最终的经滤波点云输出。例如,如果被检查的体素的中心是现有点,那么所述体素内的所述点可被求和并与所述阈值进行比较。如果所述体素内所述点的总和高于所述阈值,那么所述点可被添加到所述最终的经滤波点云输出。如果所述体素内所述点的总和不高于所述阈值,那么可从所述最终的经滤波云输出省略所述点。在从3个轴线(x轴线、y轴线及z轴线)中的每一者完成所述滤波之后,最近邻近点可用于从原始云移除所述所选择点及N个距离邻近点。然后可将所述滤波器应用于(使用相同及/或不同参数)所得经简化云。可重复这个过程多次,从而调谐成每一遍次都提取出特定特征。最终所得点云可经组合以形成经二次采样点云。此最终经二次采样云可被输入到例如k-均值滤波器中,以增强通过初始滤波过程发现的物理特征。
本文中所描述的点云可从所述物理空间的3D扫描及/或图像产生。所述物理空间可以是仓库环境、存储设施、建筑物、房屋及/或其它结构。在一些实施方案中,所述物理空间可以是户外环境,例如城镇的一部分及/或被勘测的一些其它环境。如本文中所描述,所述点云可使用例如直方图滤波、k-均值滤波及切片滤波等技术来细化。所公开技术可对所述点云应用直方图滤波来移除噪声(例如,离群点)。所公开技术可分析所得点云,并确定所述点云中点密度的分布,以确定是否对所述点云的部分进行上采样及/或对所述点云的部分进行下采样。对所述点云进行上采样及/或下采样可有助于创建所述物理环境内点的更均匀分布及对象的经更细化描绘。
在所述点云的区具有低点密度(例如,所述密度低于所期望密度的预定阈值)的情况下,进行上采样可能是有利的。因此,进行上采样需要用额外点来填充所述点云的部分。进行上采样可通过对所述点云的部分应用k-均值滤波器来实现。在所述点云的区具有高点密度(例如,所述密度超过所述所期望密度的所述预定阈值)的情况下,进行下采样可能是有利的。因此,进行下采样需要从所述点云的经填充部分移除点。进行下采样可通过对所述点云的部分应用切片滤波器来实现。应用本文中所公开的滤波技术可将所述点云细化,使得所述点云具有最佳(例如,最小、必要)点数目及点密度来识别所述物理空间内的特征及对象。
一旦所述点云被滤波及被细化,所述点云就可用于识别所述物理空间中的特征及对象(例如所述仓库环境中的杆及机架)及/或室外环境中的建筑物及道路。所公开技术还可将置信度值/得分指派给所识别项目,并使用此类值遗漏对象、所识别对象的遗漏部分进行求解,及/或产生所述物理空间的更准确及经更新地图。
因此,使用所述经细化点云,可产生所述物理空间的更准确表示,所述表示包含但不限于所述物理空间的占用面积(例如,蓝图、地图、平面布置图等)、立方英尺、墙壁位置、机架位置、过道、走廊等。所公开技术还可用于实时地、周期性地及/或自动地更新及/或重新开始所述物理空间的地图。
本文中所描述的特定实施例可包含用于细化点云数据的系统及方法。所述特定实施例可包含:由计算系统接收物理空间的点云数据,所述点云数据包含三维空间中近似所述物理空间内的物理表面的位置的多个点;沿着x维度、y维度及z维度从所述多个点迭代地选择点;及将所述所选择点群集成一或多个二维(“2D”)直方图。所述实施例还可包含:确定所述2D直方图中的每一者的斜率值;基于确定所述斜率值超过预定斜率值,从所述点云数据移除点;将所述2D直方图中的每一者迭代地体素化成预定网格大小;基于识别所述经体素化2D直方图中的每一者中的中心点,对所述经体素化2D直方图中的每一者中的点进行求和;及基于确定所述经体素化2D直方图中的每一者中点的总和低于预定和值,从所述点云数据移除点。所述实施例还包含:确定所述经体素化2D直方图中的每一者中点的数目;确定所述经体素化2D直方图中的每一者中点的所述数目是否超过预定阈值;及响应于确定所述经体素化2D直方图中的每一者中点的所述数目超过所述预定阈值,保留所述经体素化2D直方图中的每一者中的中心点。所述实施例包含:针对所述经体素化2D直方图中的每一者,从所述中心点当中选择一点;针对所述点,识别所述点云数据中的最近邻近点;从所述点云数据移除所述所识别最近邻近点;及由所述计算系统将所述点云数据中的剩余点返回。
在一些实施方案中,特定实施例可任选地包含以下特征中的一者或多者。例如,所述实施例可进一步包含:对所述经体素化2D直方图中的每一者中点的密度执行标准分布;及确定对所述经体素化2D直方图中的每一者中点的所述密度的所述标准分布是否超过预定密度分布值。所述实施例可包含:基于确定对所述经体素化2D直方图中的每一者的点的所述密度的所述标准分布超过所述预定密度分布值,从所述点云数据的所述经体素化2D直方图移除点;及基于确定对所述经体素化2D直方图中的每一者的点的所述密度的所述标准分布低于所述预定密度分布值,将点添加到所述点云数据的所述经体素化2D直方图。在一些实施方案中,将点添加到所述点云数据的所述经体素化2D直方图可包含应用k-均值滤波器。从所述点云数据的所述经体素化2D直方图移除点可包含应用切片滤波器。
作为另一实例,基于确定所述经体素化2D直方图中的每一者中点的所述总和低于预定和值而从所述点云数据移除的点可以是离群点。所述离群点可能不包括所述物理空间内的所述物理表面。所述预定网格大小也可至少部分地基于所述点云数据中点的数目及所述物理空间内所述物理表面的类型来确定。
在一些实施方案中,所述实施例可包含:将所述点云数据沿着与由所述点云数据表示的所述物理空间的定向对应的x维度、y维度及z维度对准;将所述点云数据中的所述点分类为与物理表面的一或多种类型对应;至少部分地基于对所述点云数据中的所述点的分类,识别所述物理空间中的特定物理结构;及由所述计算系统基于所述物理空间的所述定向内所述特定物理结构及所述特定物理结构的对应轮廓,产生所述物理空间的地图。
所述实施例还可包含:针对所述2D直方图中的每一者,识别一定数目个最近邻近点;及确定所述数目个最近邻近点是否包含预定数量的重复出现的点。所述重复出现的点可位于沿着x维度、y维度及z维度的相同位置中。所述实施例还可包含:基于确定所述数目个最近邻近点包含所述预定数量的重复出现的点,在所述最近邻近点的所述重复出现的点附近产生点。
在一些实施方案中,所述物理空间内的所述物理表面可包含托盘、机架、搁架、建筑物、房屋、树木、植物及道路。所述物理空间还可包含仓库、存储设施及室外环境。
所公开技术可提供众多优点。例如,所公开技术可提供导致更准确及经细化点云的滤波方法。所述更准确及经细化点云可用于产生物理空间的更准确蓝图及/或地图。所述更准确及经细化蓝图及/或地图可用于识别所述物理空间内的对象及特征。
作为另一实例,所公开技术可通过使用经滤波及经细化点云将用于产生所述物理空间的蓝图及/或地图的过程自动化。将所述滤波、细化及产生过程自动化可有利于减轻或以其它方式消除手动执行这些过程中的人为错误。自动化还可减少执行上述过程所需的时间量。所公开技术可进一步允许所述蓝图及/或地图的连续更新及/或重新开始而无需进行人工干预。因此,当所述物理空间被占用及/或被用于其所预期目的时,所公开技术可用于更准确地确定过程流程、移动及/或所述物理空间所特有的其它特征。
而且,所公开技术可填补缺失数据中的间隙,这在试图对所述点云中的对象进行分类及定位的后续计算中是有益的。填补所述间隙也有利于渲染软件或其它工具以便从所述点云数据制作3D图像或模拟。所公开技术可提供点云的内插,因为间隙可用缺失数据点来填补。如本文中所描述,所述内插可将点扩展到所述点云的先前不存在点的区域中。可在小规模上执行此种内插,以避免产生假的或不真实的表面。因此,使用所公开技术,点云可被细化并被用于更准确地识别所述物理空间内的对象及特征。
一或多个实施例的细节陈述于附图及下文的描述中。从说明书及附图并且从权利要求书将明了其它特征及优点。
附图说明
图1A描绘示范性点云滤波系统。
图1B描绘所公开发明的示范性系统图。
图2A是用于对点云进行滤波的过程的流程图。
图2B到2C描绘使用直方图滤波器及k-均值滤波器对点云进行滤波的示范性结果。
图3A是直方图滤波算法的过程的流程图。
图3B到3C是实施期间直方图滤波器的图形描绘。
图4A是k-均值滤波算法的过程的流程图。
图4B是实施期间k-均值滤波器的图形描绘。
图5是用于对点云进行滤波的过程的流程图。
图6A到6B是用于分析点云内点的体素的过程的流程图。
图7是用于分析点云内的密度分布的过程的流程图。
图8A到8B是分析点云内的密度分布的图形描绘。
图9是用于处理点云的过程的流程图。
图10A到10E是将点云体素化的示范性描绘。
图11描绘具有k-均值质心点的实例性点云数据。
具体实施方式
本文件大体上描述使用k-均值滤波、直方图滤波及切片等技术对点云进行滤波及细化。然后,经细化点云可用于更准确地识别物理空间内的对象及特征。而且,经细化点云可用于产生物理空间的更准确3D图像或模拟以及此类物理空间的蓝图及/或地图。
参考各图,图1A描绘包含物理空间100、点云102、计算机系统104及经细化点云106的示范性点云滤波系统。如所描绘,物理空间100可以是仓库环境。物理空间100可包含一或多个机架108A到108N。在其它实施方案中,物理空间100可包含除了机架108A到108N之外的一或多个其它类型的物理项目。例如,物理空间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。本公开通篇中所描述的通信可经由网络及/或无线/有线通信(例如,蓝牙、WIFI、以太网等)来发生。在一些实施方案中,一或多个点云102可由计算机系统104来产生。
在计算机系统104处,可使用本公开通篇中所描述的技术来处理(例如,滤波、清理、细化)点云102,以产生经细化点云106(参考图2到8)。计算机系统104及/或与计算机系统104通信的另一计算机系统/计算装置可使用经细化点云106来产生物理空间的地图。物理空间的地图可以是实时地、周期性地和/或自动地更新的准确地图及/或蓝图。
仍参考图1A,可实时地及/或在不同的时间执行扫描物理空间100、产生点云102、处理点云102及输出经细化点云106的过程。例如,可在时间1处捕获物理空间100的3D扫描及/或图像。可在时间2处产生点云102。可在时间3处执行在计算机系统104处处理点云以产生经细化点云106。并且最终,可在时间4(未描绘)处执行产生物理空间的地图。而且,所描述过程可被执行不止一次,并且可被自动地/周期性地执行,以便确保物理空间100的准确及经更新点云得到维护。
图1B描绘所公开发明的示范性系统图。如所描绘,3D扫描装置118、点云滤波系统120及点云映射系统170可经由网络122来进行通信,如图1A中所论述。在一些实施方案中,点云映射系统170可被任选地集成到本公开通篇中所描述的系统中。换句话说,具有3D扫描装置118及点云滤波系统120的示范性系统可不具有点云映射系统170。
一或多个3D扫描装置可经由网络122与点云滤波系统120及/或点云映射系统170通信。3D扫描装置118可以是先前参考图1A所论述的无人飞行器110及立体摄像机112中的至少一者。而且,滤波系统120可以是图1A中所公开的计算机系统104。在一些实施方案中,映射系统170可以是图1A中所公开的计算机系统104。在又其它实施方案中,滤波系统120及映射系统170可被集成到一个系统中,例如图1A中所公开的计算机系统104。
3D扫描装置118可包含通信接口124、至少一个立体摄像机126及任选的点云产生器128。如所论述,通信接口124可促进3D扫描装置118与滤波系统120及/或映射系统170之间通过网络122的通信。至少一个立体摄像机126可捕获物理空间的一或多个3D扫描及/或其它图像。在一些实施方案中,代替立体摄像机126或与所述立体摄像机组合,3D扫描装置118可具有被配置为捕获物理空间的3D扫描及/或图像的其它类型的图像捕获传感器、摄像机及/或装置。如所提及,3D扫描装置118可任选地包含被配置为从所捕获3D扫描/图像产生点云的点云产生器128。如果3D扫描装置118包含点云产生器128并且产生点云,那么那些点云130可经由网络122被传送/传递给点云滤波系统120及/或映射系统170。然后,点云滤波系统120可将此类点云130存储在点云数据库152中。点云数据库152存储所产生点云,如示范性点云156所指示。如果3D扫描装置118不产生点云,那么3D扫描132可经由网络122从装置118被传送/传递给点云滤波系统120。在一些实施方案中,装置118可将点云130及3D扫描132传送给点云滤波系统120。
点云滤波系统120可使用所接收3D扫描经由点云产生器148来产生一或多个点云。因此,滤波系统120可任选地包含点云产生器148。在一些实施方案中,滤波系统120可从3D扫描装置118接收点云130及3D扫描132,以及基于所接收3D扫描132来产生额外点云。这样做可提高点云的准确度,这可进一步减少产生物理空间的准确蓝图及/或地图所需的滤波/细化的量。
仍参考图1B,点云滤波系统120可包含通信接口134、点云细化模块136及先前所提及的任选的点云产生器148。滤波系统120可经由通信接口134并通过网络122与3D扫描装置118、映射系统170、点云数据库152及/或任何额外计算机系统通信。
一旦滤波系统120产生点云(经由点云产生器148)及/或从3D扫描装置118接收到点云130,点云就可在点云细化模块136处被细化,如本公开通篇中进一步所描述。点云细化模块136可包含直方图滤波器137(参考图3A到3C)、密度确定模块138(参考图6到7)、k-均值滤波器139(例如k-导引式滤波器)(参考图4A到4B、8A到8B)及切片滤波器140(参考图7到8)。滤波器及模块137、138、139及140可被单独使用及/或可以组合方式使用来澄清及清理点云。直方图滤波器137可用于对点云中的点进行群集/体素化,以及从点云移除离群点。密度确定模块138可用于执行点云中的点密度的统计分布,以确定是否需要对点云的部分进行上采样及/或下采样。基于由模块138做出的确定,k-均值滤波器139可应用于点云的部分,以便对此等部分进行上采样,及/或切片滤波器140可应用于点云的部分,以便对此等部分进行下采样。然后,经细化点云可存储在点云数据库152中。数据库152可存储多个经细化点云156。
任选的点云映射系统170可经由网络122与滤波系统120通信,以便接收经细化点云。映射系统170可包含通信接口172、物理结构分类模块174、置信度得分模块178、任选的点云产生器180及任选的机架检测模块182。在一些实施方案中,例如当映射系统170与3D扫描装置118直接通信时,点云产生器180可基于从装置118接收到的3D扫描132来产生点云。在其它实施方案中,映射系统170可从滤波系统120接收所产生及经细化点云。映射系统170还可与所产生地图数据库154通信。由映射系统170产生并基于点云的地图/蓝图可存储在数据库154中。示范性所产生地图158可包含经细化点云160、物理结构162及置信度得分164。
仍参考映射系统170,当从滤波系统120接收到经细化点云时,经细化点云可通过物理结构分类模块174对点云中的任何物理结构/项目/对象进行识别及分类。模块174可包含用于对物理结构进行识别及分类的球形滤波器176。置信度得分模块178可进一步用于确定所识别物理结构的得分及经细化点云的总体准确度。最终,机架检测模块182可用于从点云识别垂直杆及机架。模块182有利于确定仓库环境或其它类型的存储设施中的机架。在其它实施方案中,模块182可针对识别位于物理空间内的其它类型的项目/对象,例如室外环境中的树木或道路。一旦做出任何确定(例如,经细化点云、最终地图、物理结构的分类及得分等),此类确定就可被存储在所产生地图数据库154中。数据库154可存储多个所产生地图158。
图2A是用于对点云进行滤波的过程200的高级流程图。过程200可由例如计算机系统104(参考图1A)及/或点云滤波系统120(参考图1B)的计算装置来执行。首先,计算机系统将直方图滤波器(图3A到3B中所论述)应用于点云(步骤202)。直方图滤波器有利于从点云移除任何噪声或离群点。计算机系统还可将k-均值滤波器(图4A到4B中所论述)应用于直方图滤波器的输出(步骤204)。k-均值滤波器有利于通过向指示物理空间内的对象/项目的点云的部分添加点来进一步细化点云。
在一些实施方案中,可以任何次序及/或同时执行步骤202及204。在一些实施方案中,可仅执行步骤202及204中的一者。例如,如参考图5、7及8A到8B所描述,可使用直方图滤波技术来分析点云(步骤202),并且然后可应用k-均值滤波器(步骤204)及/或切片滤波器来分别对点云进行上采样及/或下采样。在一些实施方案中,k-均值滤波器可应用于点云的部分,而切片滤波器可应用于点云的其它部分。使用k-均值滤波器及切片滤波器两者有利于确保点云具有最佳点分布,并且那些点准确地表示物理空间内的对象/项目。
图2B到2C描绘使用直方图滤波器及k-均值滤波器(参考图2A)对点云进行滤波的示范性结果。图2B描绘在细化之前室外物理空间的3D扫描。图2B的3D扫描是一条具有建筑物、停车场、房屋等的街道。如所展示,扫描不够精细或详细,无法识别扫描中对象及/或形状中的每一者是什么。图2C描绘用滤波技术(例如直方图滤波及k-均值滤波)细化之后的同一3D扫描。作为此种滤波/细化的结果,可更容易地识别3D扫描中对象/扫描中的每一者。
扫描中的不同颜色表示所识别对象/形状中的每一者的置信度得分。例如,图2B到2C中的3D扫描的目的可以是针对土地勘测项目识别建筑物及房屋。当此扫描中的对象/形状为红色时,所述对象/形状更可能是所识别事物中的一者(例如,滤波后90%的准确识别)。在图2C的实例中,红色正方形及矩形表示建筑物及住宅。以绿色出现的对象、形状及/或空间不太可能是所识别事物中的一者(例如,滤波后80%的准确识别)。并且,以蓝色出现的对象、形状及/或空间更不可能是所识别事物中的一者(例如,50%准确)。因此,街道、停车场及其它开放式空间在图2C中显示为蓝色,因为其最不可能代表建筑物及住宅。
通过在不同设置中使用本公开通篇中所论述的3D扫描及滤波技术,可获得与图2B到2C中所展示的结果类似的结果。例如,可捕获建筑物、仓库及/或任何其它物理环境中的房间的3D扫描,以获得可比较结果。
图3A是直方图滤波算法的过程300的流程图。图3B到3C是实施期间直方图滤波器的图形描绘。具体来说,图3B是在对点云进行下采样之前直方图滤波的图形描绘。图3C是在进行下采样之后直方图滤波的图形描绘。如本文中所描述,直方图滤波器是可用于删除点云中可能不是大的经扩展对象的一部分的点的降噪滤波器。因此,直方图滤波器可用于移除模糊及随机噪声,同时留下在环境中的对象及特征中找到的点。应用直方图滤波器可能不会导致点云中点的数目的显著减少。
过程300可由例如计算机系统104(参考图1A)及/或点云滤波系统120(参考图1B)的任何计算装置来执行。直方图滤波有利于对点云数据进行下采样。换句话说,直方图滤波器有利于从点云移除噪声以及最有可能与计算机系统试图识别的特征/物理对象不相关的点。在一些实施方案中,直方图滤波与切片滤波是分开的(参考图5、7及8A到8B关于切片滤波器的论述)。那是因为在用本文中所公开的直方图滤波技术移除噪声之后,切片滤波器可应用于点云。
作为实例,在仓库中,直方图滤波器可应用于点云,以剔除不经常出现的点,并且因此不指示机架及/或垂直杆。填充点云中特定区的点越多,所有那些点就越有可能保留在点云中。直方图滤波器不添加点。然后,如本公开通篇中所描述,k-均值滤波器(参考图4A到4B)可应用于剩余点云中对象所位于的部分,但是没有足够点来指示此类对象。切片滤波器(参考图7、图8A到8B)也可应用于剩余点云中对象所位于的部分,但是有太多点占据了表示此类对象的区。使用本公开中所描述的所有技术可导致具有预定数目及/或密度的点的经细化点云的产生,而不是具有过多及/或过少的点来表示点云中的对象。
返回参考图3A,首先,计算机系统选择X轴线、Y轴线及Z轴线中的一轴线(步骤302)。如图3B中所描绘,选择X轴线。一旦选择了轴线,点云中与所选择轴线相关联的点就被隔离(步骤304)。如图3B中所展示,图形上所隔离的多个点与X轴线相关联。接下来,在步骤306中,计算机系统针对与所选择轴线相关联的点来产生区段/分组。参考图3B,产生了三个区段/分组/群集:群组350A、群组350B及群组350C。群组350A与出现在图形的第一个1/3中的任何点相关联。群组350B与第二个1/3中的点相关联。群组350C与图形的第三个1/3中的点相关联。群组350A到350C创建了在图3B中的图形下方被描绘的总体曲线。如图3B中所展示,在图形的相关联区中具有更多点的群组在整个曲线中具有比其它群组更高的峰值。因此,与图形的第二个1/3相关联的群组350B具有最高峰值,因为最大量/数量的点(例如,密度)位于图形的第二个1/3中。如果一区具有更多点,那么那些点就不太可能从点云的那个区移除。
返回参考图3A,一旦沿着所选择轴线产生了区段(例如,群组、群集)(步骤306),在步骤308中就可选择一个区段。在图3B的实例中,可选择群组350B。然后,计算机系统确定所选择区段的斜率值(步骤310)。在图3B的实例中,群组350B的斜率很可能是0或接近于0,因为在图形的那个区中存在许多点,由此在整个曲线中产生最高、最平的峰值。在步骤312中,在确定斜率之后,计算机系统即刻确定斜率的量值是否低于预定阈值。低于阈值的斜率量值指示图形上的相关联区具有不应从点云移除的高度集中/大量的点。另一方面,高于阈值的斜率量值指示图形上的相关联区具有可能与噪声而不是物理对象(例如仓库中的垂直杆/机架)更紧密地相关联的低集中/更少量的点。
在图3B的实例中,阈值可以是1。结果,由于350B的斜率为0,所以所述斜率低于阈值。因此,返回参考图3A,计算机系统将指定沿着那个区段(群组350B)的点用于滤波(步骤314)。换句话说,群组350B中的点不应被移除。另一方面,如果斜率大于阈值,那么区段/群组具有较少的、可能分散的、更可能是噪声的点。无论计算机系统在步骤312中确定斜率大于阈值,还是在步骤314中沿着区段/群组的点被指定用于滤波,下一步骤都是确定沿着所选择轴线是否存在更多区段/群组(步骤316)。如果沿着所选择轴线存在更多区段/群组,那么计算机系统针对所选择轴线的剩余区段/群组重复步骤308到314。在图3B中,计算机系统可识别群组350A及350C的斜率值(步骤310)。关于两个群组350A及350C,计算机系统可确定相关联斜率值大于阈值(步骤312),由此指示两个群组350A及350C不具有很多点,也不具有指示例如垂直杆/机架的物理对象的点。因此,群组350A及350C中的点没有被指定用于进行滤波(步骤314),而是指示要移除的噪声。
一旦针对每个区段/群组完成了步骤308到316,并且没有剩下更多的区段/群组,计算机系统就确定是否存在更多轴线(步骤318)。如果存在更多轴线,那么针对所识别的每个轴线重复步骤302到318。在图3B的实例中,计算机系统针对Y轴线及Z轴线执行步骤302到318。一旦在步骤318中不再存在轴线,计算机系统就在步骤320中识别已针对所有轴线指定的点。保留所指定点。因此,在步骤322中,计算机系统移除所有未被识别/指定的点。在图3B及3C的实例中,计算机系统移除点360A到360C,所有所述点都与斜率值高于阈值的群组350A及350C相关联。因此,在图3B中对图形进行下采样之前的直方图滤波器演示在移除任何点之前的点云扫描。在图3C中对图形进行下采样之后的直方图滤波器演示移除点(例如,点360A到360C)之后的点云扫描。
直方图滤波器(过程300)有利于从点云移除不属于普遍分组/区段或不与普遍分组/区段相关联的点。在土地勘测的实例中,可基于高度对点进行分组(步骤306到310)。结果,高于某一高度(阈值)的一些建筑物及/或树木可能不属于具有许多点的群集或普遍群组(步骤312)。高于阈值的那些建筑物及/或树木可被标记为噪声并从点云移除(步骤322)。另一方面,具有相同高度的建筑物可被分组在一起成为普遍群组/群集,并且因此被指定为要滤波的点,尤其是如果其高度低于阈值(步骤312到314)。在土地勘测的实例中,处于或接近相同高度或其它值的住宅、建筑物、停车场及/或道路最有可能出现在普遍群组/群集中,并被保留用于进一步滤波,而例如树木及/或立交桥的物理对象最有可能是被标记为噪声的离群值,并且因此从点云移除。如本公开通篇中所描述,一旦从点云移除噪声,就可使用本文中所公开的k-均值滤波及/或切片技术将剩余点进一步细化。
图4A是k-均值(例如,k-导引式)滤波算法的过程400的流程图。图4B是实施期间k-均值滤波器的图形描绘。k-均值滤波器可应用于点云,以增强在直方图滤波器被应用之后被单独留下的特征或对象。因此,k-均值滤波器可包含产生点来增强此等特征或对象。过程400可由例如计算机系统104(参考图1A)及/或点云滤波系统120(参考图1B)的任何计算装置来执行。
k-均值滤波器有利于清理点云并在现有点之间添加/内插点(例如,进行上采样),使得点云然后可用于物理项目的更准确检测及物理空间的映射。在一些实施方案中,k-均值滤波器可应用于整个点云。在其它实施方案中(例如,参考图8A到8B),k-均值滤波器可仅应用于点云的部分。如本公开通篇中所提及,k-均值滤波器可与上文所描述的直方图滤波器(参考图3A到3C)及切片滤波器(参考图7、8A到8B)结合使用。在其它实施方案中,k-均值滤波器可以是所使用的唯一滤波器。如所描述,k-均值滤波器是上采样的一种形式,并且可实施k-均值方法来完成滤波器的内插。
在土地勘测的实例性实施方案中,k-均值滤波器可用于填充可从原始3D/Lidar扫描中缺失的点。因此,扫描中的建筑物、道路、房屋及/或其它结构可通过在那些点可能出现的地方添加点来变得更清楚。而且,在任何实施方案中,k-均值滤波器可具有允许用户及/或计算机系统确定向点云添加多少个点的参数。例如,所述参数可要求用另外1000万个点来填充点云,其中那1000万个新点没有被放置在扫描中的现有点之上。可在点云扫描中得到最多填充的区周围添加1000万个点。
参考图4A,在步骤402中,选择轴线。呈现了所选择轴线的一维投影。如图4B中所演示,选择了X轴线。接下来,计算机系统针对所选择轴线对点云中的所有点进行隔离(步骤404)。然后在步骤406中,使用k-均值数学方法将所述点群集成阈值数目的群组。群组的阈值数目可由用户在计算装置、计算机系统及/或与计算机系统通信的装置处确定。在图4B的实例中,群组/群集的阈值数目是3。存在三个群集:群集450A与图形的第一个1/3相关联,群集450B与第二个1/3相关联,并且群集450C与第三个1/3相关联。而且,如图4B中的第一图形所描绘,也沿着Y轴线识别了三个群集。
接下来,在步骤408中,可选择一个群集。计算机系统然后识别到所选择群集的最近邻近点的阈值数目(步骤410)。此阈值数目可由计算机系统及/或与计算机系统通信的装置处的用户来确定。在其它实施方案中,计算机系统可定义要识别的最近邻近点的数目。一旦识别出最近邻近点,计算机系统就确定作为附近邻近点的重复出现的点的数目是否大于阈值(步骤412)。在相同点位于X轴线、Y轴线及Z轴线上的相同位置的情况下,可认为所述点重复出现。换句话说,同一个点被一遍又一遍地产生,这不仅指示所述点在重复出现,而且表明所述点是普遍的并且应保留在点云中。然后,可在X轴线、Y轴线及Z轴线中的至少一者上围绕那个重复出现的点来内插点。
仍参考步骤410,阈值可与多个最佳经重复点相关联。例如,在100个点的点云中,所述100个点可被群集成3个群集,然后可识别所述3个群集中的每一者的10个最近邻近点。当查看一个群集的10个最近邻近点时,计算机系统可能只需要保留(10个最近邻近点中的)5个最好的、经重复最近邻近点。不保留所有最近邻近点是有益的,因为一些邻近点可能不会再次出现、重复或足够靠近以指示垂直杆或一些其它可识别物理对象/项目。因此,重叠、重复出现及/或重复的点更可能指示要保留在点云中的物理对象/项目。
返回参考步骤412,如果存在作为附近邻近点且高于阈值的重复出现的点,那么计算机系统在那些重复出现的点附近产生(例如,内插)点(步骤414)。点是在作为最普遍分组的群集处或其周围产生的。如果在步骤412中作为附近邻近点的重复出现的点的数目不高于阈值,那么所述点太分散而不能成为物理项目/对象,并且计算机系统将不添加/内插点,而是将确定是否存在更多群集要调查(步骤416)。如存在更多群集,那么计算机系统返回到步骤408,并且重复所述步骤,直到针对所选择轴线不再存在群集为止。一旦不再存在群集,计算机系统就在步骤418中确定是否存在更多轴线。如果存在群集,那么计算机系统返回到步骤402并重复先前所论述的步骤。一旦不再存在轴线,那么计算机系统识别从步骤414产生的点(步骤420)。在步骤406中,可将所识别的所产生点群集成阈值数目的群组,并且可重复步骤406到420,直到对所有点进行内插及/或分析为止。
如图4B中所演示,从图形拉出并放置在X轴线及Y轴线之外的点中的每一者表示每群集的中心分组。群集450B在X轴线下方所描绘的曲线上具有最高峰值,因为此点云中的大多数点集中在图形的第二个1/3中。换句话说,图形的第二个1/3(群集450B)具有最多重复出现的点,并且因此更可能指示仓库环境中的垂直杆或另一物理项目/对象。群集450B是普遍分组,并且是点云的点可被内插(参考图4B中内插图形之后的k-均值滤波器中的经添加点460A到460C)的一部分。然后,如参考图4A所提及,经由k-均值滤波器,可针对被添加到X轴线的图形的第二个1/3的每个点重复内插过程。
图5是用于对点云进行滤波的过程500的流程图。过程500可由例如计算机系统104(参考图1A)及/或点云滤波系统120(参考图1B)的任何计算装置来执行。首先,在步骤502中,计算机系统可接收点云(参考图1A到1B)。接下来,在步骤504中,计算机系统可应用直方图滤波器,如本公开通篇中所描述(参考图3A到3C)。如所提及,步骤504的目的是通过移除点云中不构成一或多个所关注对象/项目的过量/离群点来清理点云。使用所描述直方图滤波技术可使得例如k-均值滤波器及/或切片滤波器等额外经细化滤波器的应用更加准确,并且有利于识别点云内的对象/项目。在一些实施方案中,可不执行步骤504。在其它实施方案中,步骤504可被同时执行或者在k-均值滤波器及切片滤波器中的任一者之后被执行。
在步骤506中,k-均值滤波器可被应用于点云的上采样部分(参考图4A到4B)。在步骤508中,切片滤波器可应用于点云的下采样部分(参考图7、8A到8B)。在一些实施方案中,k-均值滤波器及切片滤波器可同时应用于点云。k-均值滤波器可应用于点云的特定部分,而切片滤波器可应用于点云的其它部分(参考图8A到8B)。在其它实施方案中,k-均值滤波器及切片滤波器中仅一者可应用于点云。计算机系统可基于统计分布分析来确定应将哪个滤波器应用于点云,如本文中所描述(参考图6到7)。
图6A到6B是用于分析点云内点的体素(例如,群组、群集)的过程600的流程图。过程600可由例如计算机系统104(参考图1A)及/或点云滤波系统120(参考图1B)的任何计算装置来执行。过程600可以是经实施以移除噪声并分析点云中的点密度的直方图滤波的一种形式(参考图5的步骤504)。在一些实施方案中,可结合过程300(参考图3A到3C)来执行过程600。在其它实施方案中,可执行过程600来代替过程300。在又其它实施方案中,过程600与过程300可被组合成由计算机系统执行以减少冗余并提高分析及提炼点云的效率的一种技术。
为了让计算机系统确定是否应用k-均值滤波器及/或切片滤波器,计算机系统必须分析点云中点的密度。分析点密度可通过对点云内点的体素密度的统计分布分析来完成(参考图7)。对具有足够数目的彼此之间以及与体素的中心之间距离足够远的点的体素执行统计分布分析。不对具有很少过于分散的点的体素执行统计分布分析,因为此类点更可能是离群值或者不指示点云内的对象/项目。在可执行统计分布分析之前,计算机系统必须确定哪些点的体素要保留在点云中,如参考过程600所描述。
参考图6A到6B两者中的过程600,首先,在步骤602中,计算机系统接收点云。在一些实施方案中,在应用参考图3A到3C所描述的直方图滤波过程300之后,计算机系统可接收点云。在其它实施方案中,计算机系统可接收还没有使用本文中所公开的任何技术来细化的点云。接下来,在步骤604中,计算机系统选择轴线。在此步骤中,点的整个区段/分组被压缩成2D直方图。一旦选择了轴线,计算机系统就将所得点云体素化成预定网格大小(步骤606)。在一些实施方案中,网格大小可由计算机系统来确定。计算机系统可使用预测性分析至少部分地基于点云中点的数目、点云的大小及/或点云的其它特性来做出此种确定。在其它实施方案中,计算机系统可在用户输入装置处从用户接收由用户确定的网格大小。
而且,在一些实施方案中,基于确定多少不同网格大小并将其应用于点云,可重复步骤606预定次数。用不同网格大小重复过程600可对点云进行更准确细化。这是因为不同网格大小可用于识别或检测物理空间内不同大小/形状的对象/项目。例如,较小网格大小可用于检测点云中的点是否表示房屋,而较大网格大小可用于检测点云中的点是否表示大型商业建筑物。
仍参考图6A到6B,在步骤608中,计算机系统选择体素。然后,在步骤610中,计算机系统确定体素内点的数目。
在步骤612中,计算机系统可确定体素中点的数目是否大于或等于预定阈值。在步骤614中,如果点的数目大于或等于预定阈值,那么计算机系统可保留中心体素点。在步骤616中,如果点的数目小于预定阈值,那么计算机系统可确定是否存在更多体素。
如果存在更多体素,那么计算机系统可返回到步骤608并重复上文所描述的步骤。如果不存在更多体素,那么计算机系统可确定是否存在更多轴线(步骤618)。如果存在更多轴线,那么计算机系统可返回到步骤604,并且重复步骤604到618,直到不再存在更多轴线要分析为止。在一些实施方案中,计算机系统可通过迭代地增加预定网格大小来重复步骤606。网格大小可随着每轴线每次通过步骤604到624而递增。在其它实施方案中,网格大小可每特定轴线地增加预定次数。如先前所论述,迭代地增加网格大小有利于确保计算机系统保留识别点云内的对象/项目的点。迭代地增加网格大小还有利于确保计算机系统不会错误地移除事实上与识别点云内的所关注对象/项目相关的点。
如果不存在更多轴线,那么计算机系统可行进到步骤620。在步骤620中,计算机系统可确定是否存在更多网格大小。此时,计算机系统可执行将点云y下采样一经调谐阈值的步骤。换句话说,如果一个点超过了体素大小阈值,那么那个点可用于从原始点云移除其最近邻近点。如果切片滤波器需要额外网格大小,那么可使用新的经下采样点云。因此,如果在620中不再存在网格大小,那么过程600可停止。
在步骤622中,可从经滤波点选择一个点(例如,参考步骤614)。可识别原始的、未经滤波点云中所选择点的最近邻近点(步骤624)。在步骤626中,可移除所识别点。可移除此类点,以便从点云移除已由切片滤波器的先前执行及本文中所描述的技术捕获的特征。例如,切片滤波器的每次迭代可经调谐以识别一或多个特定特征。当识别出一或多个特定特征时,可从点云移除此类特征,使得可识别下一可能不太密集的特征。
在步骤628中,计算机系统可确定是否存在更多点要从经滤波点当中选择。如果存在更多点,那么计算机系统可返回到步骤622并重复步骤622到628。重复步骤622到628有利于识别及提取点云内的特定特征。随着步骤622到628的每一遍次,可从点云提取额外特征及/或特征可变得更加明显。而且,可减少或细化用于识别特定特征的点的数目,使得过量数目的点不会填充点云。在步骤622到628中,已使用先前所描述的切片滤波器来进行滤波的所有点可被用作最近邻近点计算点。
在630中,一旦不再存在更多点要分析,计算机系统就可将剩余点返回。剩余点可构成经二次采样点云。
图7是用于分析点云中密度分布的过程700的流程图。过程700可由例如计算机系统104(参考图1A)及/或点云滤波系统120(参考图1B)的任何计算装置来执行。过程700有利于计算机系统确定是否应用k-均值滤波器及/或切片滤波器,以便对点云中的点进行上采样及/或下采样,如本公开通篇中所描述。
首先,在步骤702中,计算机系统接收经二次采样点云(参考图6A到6B)。此点云已使用本公开通篇中所描述的直方图滤波技术来细化。因此,噪声(例如,稀疏/离群点)已被移除,并且仅保留点云内与识别的对象/项目相关的点。
在步骤704中,计算机系统对体素密度执行统计分布分析(例如,参考图6A到6B中的过程600)。对体素密度执行统计分布分析导致图形的创建(参考图8A到8B),其中图形的Y轴线表示点的密度,并且X轴线表示具有那个密度的体素的数量。而且,正被查看的轴线的方向可改变哪个轴线用于密度并且哪个轴线用于体素。因此,图形轴线可相对于用户的视角来确定。在步骤706中,在执行统计分布分析之后,计算机系统确定所得密度分布是否大于预定阈值。阈值可由计算机系统及/或用户输入来预先确定,如本公开通篇中所描述。在其它实施方案中,可在执行统计分布时确定阈值。例如,可分析统计分布的结果,以便识别特定点云中的最佳最小密度水平。如图8A到8B中所描绘,钟形曲线的平坦上部部分(例如,所期望密度806)可指示点云的最佳最小密度水平。因此,钟形曲线的平坦上部部分可被识别为阈值密度值。然后,那个阈值可用于确定曲线的哪些部分(例如,点云)需要进行上采样及/或下采样,以便实现均匀最小密度水平。
仍参考图7,如果密度分布大于预定阈值,那么可用切片滤波器对点云的分布较大的部分进行下采样(步骤708)。换句话说,点云的具有太多点的部分或者点的数目超过所识别最佳最小密度水平所需的数目的部分可通过移除点及/或在点云的那些部分内对点进行压缩来进一步细化。另一方面,如果密度分布小于预定阈值,那么可用k-均值滤波器对点云的分布较小的部分进行上采样(步骤710)。换句话说,点云的具有太少点的部分或者点的数目不等于所识别最佳最小密度水平所需的数目的部分可通过添加点以填补点云的那些部分内的间隙来进一步细化。
图8A到8B是分析点云内的密度分布的图形描绘。图8A描绘在进行上采样及下采样之前的点云800A以及点云800A的相关联经二次采样密度分布图形802A。如点云800A中所描绘,点几乎不沿着X轴线及Y轴线分布。在图形802A的密度分布曲线804中进一步描绘点的这一稀疏分布。图形802A的X轴线表示体素的具有所确定体素密度中的每一者的数量。图形802A的Y轴线表示密度值。
在图形802A中,所期望密度806是参考图7步骤706所论述的预定阈值。所期望密度806处于密度分布曲线804的峰值处,因为所期望密度806指示点云800A内点的最佳最小数目(例如,点密度)。所期望密度806表示点云800A的高密度区的移除,由此有助于使点云800A的点均匀。如所描绘,k-均值滤波对低密度区进行上采样滤波(参考810),并且切片滤波对高密度区进行下采样(参考820)以产生经拟合曲线830(参考图8B)。应用这些滤波器可将点云800A中的点移动成某种密度,这允许点云800A变得更加均匀。
曲线804的位于所期望密度806左边的部分指示点云800A的其中几乎没有分布(例如,不太密集地填充)有点的部分。在此类部分中,k-均值滤波器810被应用于上采样。曲线804的所期望密度806左边的部分指示点云800A的其中密集地分布(例如,更密集地填充)有点的部分。在此类部分中,切片滤波器820被应用于下采样。
现在参考图8B,图8B描绘在进行上采样及下采样800B之后的点云及其对应滤波后的密度分布图形802B。图形802B包含表示为实线的经滤波曲线830及表示为虚线的原始密度分布曲线804。将k-均值滤波器810应用于曲线804的位于所期望密度806左边的部分导致对曲线804的那一部分进行上采样(例如,添加点),如经滤波曲线830中所描绘。因此,曲线830的左边部分具有更接近于所期望密度806左边的密度(例如,在图形上,曲线830的左边部分被升高)。将切片滤波器820应用于曲线804的位于所期望密度右边的部分导致对曲线804的那一部分进行下采样(例如,移除点),如经滤波曲线830中所描绘。因此,曲线830的右边部分具有小于所期望密度806右边的密度(例如,在图形上,曲线830的右边部分被降低)。
高密度区可能摆脱k-均值滤波器810,因为在太小区中可能选择太多点。因此,可能需要对点云的小密度区进行上采样,并且对大密度区进行下采样。可基于k-均值滤波器的误差、质心点到质心点的群组内的点的距离以及质心点的群组内点是缺乏还是丰富来检测低密度区及高密度区。因此,在点云的某些区中,当需要所述点时,可创建更多点,而当不需要所述点时,可创建更少的点。而且,由于一群组的点可能不会超过指示边缘的特定距离,所以点可能不会被添加到点云的边缘(参考图11)。
最终,在进行上采样及下采样之后的点云800B描绘经更细化点云,其中点已被添加、移除及压缩在一起以产生比800A中所描绘的点云更清洁的点云版本。
图9是用于处理点云的过程900的高级流程图。过程900可由例如计算机系统104(参考图1A)、点云滤波系统120及/或点云映射系统170(参考图1B)的任何计算装置来执行。在一些实施方案中,一些步骤(例如,步骤904)可由点云滤波系统120来执行,如本公开通篇中所描绘及所描述(参考图1B)。在一些实施方案中,一些步骤(例如,步骤906到912)可由点云映射系统170来执行,如参考图1B所描述。在又其它实施方案中,过程900可由一个计算机系统来执行。
在示范性仓库环境中,点云可用于映射仓库环境。结果,识别仓库中的对象(例如用于货架的垂直杆)可有助于确定仓库的布局。首先,在步骤902中,计算机系统接收点云。如先前所提及(参考图1A到1B),计算机系统可从拍摄物理环境的3D扫描的无人飞行器接收点云。在仓库中,新点云扫描包含墙壁、地板、天花板、机架、托盘、门、灯具、垂直支撑杆、人、叉车、噪声、随机变化、遮挡物等中的至少一者。例如,在室外空间中,新点云扫描可包含树木、灌木、建筑物、住宅、停车场、人、高速公路、立交桥、桥梁、湖泊、河流等中的至少一者。新点云扫描在空间中被随机对准,并且通常物理环境的地板几乎平行于XY-平面。典型地,点云扫描包含噪声,所述噪声可包含来自其它附近位置及/或房间中的物理对象的数个点。结果,这种噪声增加了物理环境的边界框,所述边界框超出了墙壁或其它现有周界。
接下来,计算机系统对点云进行细化及/或滤波(例如,清理)(步骤904),如本公开通篇中所描述(参考图2到8)。计算机系统使用可减少点位置的变化的数个滤波器,例如导引式滤波器(例如,k-均值滤波器、切片滤波器)。导引式滤波器可使表面更清洁,使边缘更锐利,并移除离群噪声。作为第一步骤,使用这种类型的滤波器可提高参考图9所论述的所有点云处理的准确度。由计算机系统使用的示范性滤波器包含直方图滤波器(图3A到3B中所更详细论述)及k-均值滤波器(图4A到4B中所更详细论述)。另一选择是,如果在对点云数据进行滤波及清理的步骤(904)中没有使用导引式滤波器,那么可使用离群值滤波器来移除点云扫描中的一些噪声。对于每一噪声检测,与所识别物理对象相关联的置信度得分/值相应地降低。
然后,在步骤906中,计算机系统可对点云进行映射。对点云进行映射可包含在步骤908中将点云数据对准,在步骤910中对点云数据进行分类,并且任选地在步骤912中识别点云数据中的特定物理结构。在步骤908中,点云数据可与X轴线、Y轴线及Z轴线对准。换句话说,点云被旋转并被定向在正确方向上。例如,仓库房间扫描可在任意空间中被接收(步骤902),而不与任何轴线对准。然后,扫描可被旋转并与仓库的恰当空间对准。在一些实例中,点云可与仓库中墙壁的宽度对准,以便确定点云的恰当方向。计算机系统可在门廊、门框、窗户及/或可能出现在点云中的其它对象周围寻找参考点,以适当地定向点云。在其它实例中,计算机系统可检测物理空间(例如,仓库房间)的包围物理空间的墙壁的边界框,且然后旋转物理空间,使得边界框与X轴线、Y轴线及Z轴线对准。紧密配合的边界框也可用于更容易地识别物理空间的墙壁之外的噪声点。执行此对准步骤很重要,因为其减少了在点云处理的后期进行某些计算所需的时间。
一旦点云数据经历了对准及初始清理,就可开始对象检测及定位(步骤910)。在这个步骤中,可使用球形滤波器对点云数据进行分类。在这个步骤中,可对点云中出现的物理对象、周界及其它项目进行识别、分类及评分。在一些实施方案中,可从点云移除一些经识别、经分类经评分项目。例如,地板及天花板可被剔除。仓库环境中不太可能是垂直杆的点也可被剔除。
基于点云的目的及用途,可识别不同物理对象以便进行剔除及/或保留。例如,在土地勘测中,计算机系统可被配置为识别及剔除树木及灌木。计算机系统可进一步被配置为识别建筑物及停车场,并将所述建筑物及停车场保留在点云中。通常,点云扫描中最容易检测到的是地板或一些其它水平平面。例如,在机架检测可能最重要的仓库环境中,可能是地板一部分的点可被识别并从点云移除。在大多数实施方案中,天花板也相对容易检测,灯具、光束、蒸发盘管及其它可能悬置在天花板上的对象也是如此。墙壁可能更难检测,但使用分类器、垂直杆及其它物理项目置信度得分可被相应地调整,使得墙壁、天花板等从点云移除。
接下来,计算机系统可任选地识别剩余点云数据中的特定物理结构(步骤912)。例如,仓库中的垂直杆、机架及/或过道可被识别并被指派置信度得分。在土地勘测实例中,系统可识别住宅、建筑物、停车场及/或道路。结果,此类识别可用于产生相关联物理空间的准确蓝图及/或地图。
图10A到10E是将点云体素化的示范性描绘。图10A描绘三维(“3D”)空间中点云的体素1000。构成点云的点可位于体素1000内。而且,体素1000可进一步被体素化成不同网格大小。将体素1000体素化可从点云数据提供对物理结构的更准确识别。尽管将点云体素化的过程及技术发生在3D空间中,但为了图解说明目的,图10B到10E描绘在二维(“2D”)空间中产生体素1000。如图10B及10C中所描绘,可沿着x轴线及y轴线选择点云的切片1002及1004(如所提及,也可沿着3D空间中的z轴线选择点云的切片)。接下来,图10D描绘包含沿着x轴线、y轴线及z轴线的所选择点的有界区1006。可确定有界区1006的体积。3D空间中的这个有界区1006创建了体素或立方体(例如,图10A中的体素1000),然后可使用本公开通篇中所描述的技术对所述体素或立方体进行分析。图10E描绘了体素1000之外的点的分析。如参考图6A所描述,可识别体素1000的中心点。然后,可确定点与中心点之间的距离。可从点云移除距离中心点预定距离以上的点。这些点在图10E中用“X”标记从点云移除的点可指示噪声。如果体素内剩余足够数目的点,那么可进一步分析那些剩余点,以确定所述点当中的关系,例如,所述点是否指示物理空间中的物理结构以及是否需要对体素中的点进行上采样及/或下采样,如本公开通篇中所描述。可重复本文中所描述的过程预定次数及/或以不同体素网格大小重复所述过程。
图11描绘具有k-均值质心点的实例性点云数据。如所展示,点云1100可包含k-均值质心点1102A到1102N以及点云点1104A到1104N。k-均值质心点1102A位于点云1100的低密度区中。因此,k-均值质心点1102A需要进行上采样。从点1102A到周围的点云点1104A到1104N在所有方向上都存在更大距离。因此,所有方向上的较大距离都可用新点来填补。
k-均值质心点1102B位于点云1100的高密度区中。因此,k-均值质心点1102B需要进行下采样。从点1102B到周围的点云点1104A到1104N在所有方向上都存在小的距离。因此,在进行下采样期间,点1104A到1104N的密度可变薄。
而且,k-均值质心点1102C位于点云1100的低密度区中。因此,需要进行上采样。在从点1102C到周围的点云点1104A到1104N的一些但不是全部方向上存在更大距离。因此,在一些方向上的大距离可用点来填充,使得一些间隙保留在k-均值质心点1102C与附近的点云点1104A到1104N之间。
k-均值质心点1102D位于点云1100的平均密度区中。因此,既不需要进行上采样也不需要进行下采样。点云1100的密度可保留原样。毕竟,在k-均值质心点1102D与周围的点云点1104A到1104N之间在所有方向上可存在平均距离。可优选地保留点1104A到1104N出现时的样子,使得所述点不会超过距离k-均值质心点1102D的平均距离。
最终,k-均值质心点1102N也位于点云1100的平均密度区中。既不需要进行上采样也不需要进行下采样。在一个方向上可存在更长距离,而在第二方向上可存在更短或更小距离。即使如此,点云点1104A到1104N可保留在到k-均值质心点1102N的较长及较短距离内,使得所述点云点不超过那些距离。
本文件中所描述的可用于实施系统、技术、机器及/或设备的计算装置可作为客户端及/或服务器来操作,并且可包含各种适当计算装置中的一者或多者,例如膝上型计算机、桌上型计算机、工作站、服务器、刀片服务器、大型主机、移动计算装置(例如,PDA、蜂窝式电话、智能手机及/或其它类似计算装置)、计算机存储装置(例如,通用串行总线(USB)闪存驱动器、RFID存储装置、固态硬盘、硬盘存储装置)及/或其它类似计算装置。例如,USB闪存驱动器可存储操作系统及其它应用程序,并且可包含输入/输出组件,例如可插入到另一计算装置的USB端口中的无线传输器及/或USB连接器。
此类计算装置可包含以下组件中的一者或多者:处理器、存储器(例如,随机存取存储器(RAM)及/或其它形式的易失性存储器)、存储装置(例如,固态硬盘、硬盘驱动器及/或其它形式的非易失性存储器)、将各种组件彼此连接(例如,将一或多个处理器连接到存储器及/或高速扩展端口)的高速接口及/或将各种组件彼此连接(例如,将一或多个处理器连接到低速总线及/或存储装置)的低速接口。此类组件可使用各种总线来互连,并且可跨越一或多个彼此通信地连接的主板来安装,或者以其它适当方式安装。在一些实施方案中,计算装置可包含上文所列出的多个组件,所述多个组件包含多个处理器、多个存储器、多种类型的存储器、多个存储装置及/或多个总线。多个计算装置可彼此连接,并且可协调其计算资源的至少一部分来执行一或多个操作,例如提供多处理器计算机系统、计算机服务器系统及/或基于云的计算机系统。
处理器可处理用于在计算装置内执行的指令,所述指令包含存储在存储器及/或存储装置中的指令。指令的此种处理可致使各种操作被执行,所述操作包含致使视觉、听觉及/或触觉信息由一或多个输入/输出装置来输出,所述输入/输出装置例如是被配置为输出例如图形用户接口(GUI)的图形信息的显示器。处理器可被实施为包含单独及/或多个模拟及数字处理器的芯片的芯片组。可使用例如CISC(复杂指令集计算机)处理器架构、RISC(精简指令集计算机)处理器架构及/或MISC(最小指令集计算机)处理器架构等若干种架构中的任一种来实施处理器。处理器可提供例如计算装置的其它组件的协调,例如用户接口、由装置运行的应用程序的控制以及由装置进行的无线通信。
存储器可在计算装置内存储信息,所述信息包含将由一或多个处理器执行的指令。存储器可包含一或多个易失性存储器单元,例如同步RAM(例如,双倍数据速率同步动态随机存取存储器(DDR SDRAM)、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM)、异步RAM(例如,快速页面模式动态RAM(FPM DRAM)、扩展数据输出DRAM(EDO DRAM))、图形RAM(例如,图形DDR4(GDDR4)、GDDR5)。在一些实施方案中,存储器可包含一或多个非易失性存储单元(例如,闪存)。存储器也可以是另一种形式的计算机可读媒体,例如磁盘及/或光盘。
存储装置能够为计算装置提供大容量存储,并且可包含计算机可读媒体,例如软盘装置、硬盘装置、光盘装置、微驱动器或磁带装置、闪存或其它类似固态存储装置,或者装置阵列,所述装置包含存储区网络或其它配置中的装置。计算机程序产品可有形地体现在信息载体中,例如存储器、存储装置、处理器内的高速缓冲存储器及/或其它适当计算机可读媒体。计算机程序产品还可含有指令,当由一或多个计算装置执行时,所述指令执行一或多种方法或技术,例如上文所描述的方法或技术。
高速控制器可管理计算装置的带宽密集型操作,而低速控制器可管理较低带宽密集型操作。此种功能分配仅为示范性的。在一些实施方案中,高速控制器耦合到存储器、显示器(例如,通过图形处理器或加速器),并耦合到高速扩展端口,所述高速扩展端口可接受各种扩展卡;并且低速控制器耦合到一或多个存储装置及低速扩展端口,所述低速扩展端口可包含各种通信端口(例如,USB、蓝牙、以太网、无线以太网),所述通信端口可耦合到一或多个输入/输出装置,例如键盘、指向装置(例如,鼠标、触摸板、跟踪球)、打印机、扫描仪、复印机、数码相机、麦克风、显示器、触觉装置及/或例如交换机及/或路由器的联网装置(例如,通过网络适配器)。
显示器可包含各种适当显示装置中的任一种,例如TFT(薄膜晶体管液晶显示器)显示器、OLED(有机发光二极管)显示器、触摸屏装置、存在感测显示装置及/或其它适当显示技术。显示器可耦合到用于驱动显示器向用户输出图形及其它信息的适当电路系统。
还可提供扩展存储器,并且所述扩展存储器通过一或多个扩展接口连接到计算装置,所述扩展接口可包含例如SIMM(单列直插式存储器模块)卡接口。此种扩展存储器可为计算装置提供额外存储空间及/或可存储计算装置可接入的应用程序或其它信息。例如,扩展存储器可包含实行及/或补充上文所描述的技术的指令,及/或可包含安全信息(例如,扩展存储器可包含安全模块,并且可用准许在计算装置上安全使用的指令来编程)。
计算装置可通过一或多个通信接口进行无线通信,所述通信接口在适当时可包含数字信号处理电路系统。通信接口可提供各种模式或协议下的通信,例如GSM语音呼叫、消息收发协议(例如,SMS、EMS或MMS消息)、CDMA、TDMA、PDC、WCDMA、CDMA2000、GPRS、4G协议(例如,4G LTE)及/或其它适当协议。此种通信可例如通过一或多个射频收发器来进行。另外,短程通信可例如使用蓝牙、Wi-Fi或其它此类收发器来进行。另外,GPS(全球定位系统)接收器模块可向计算装置提供额外导航及位置相关无线数据,所述数据可由在计算装置上运行的应用程序在适当时使用。
计算装置还可使用一或多个音频编解码器进行可听通信,所述编解码器可从用户接收口头信息并将其转换成可用数字信息。此类音频编解码器还可例如通过作为计算装置的一部分或连接到计算装置的一或多个扬声器为用户产生可听声音。此种声音可包含来自语音电话呼叫的声音,可包含所记录声音(例如,语音消息、音乐文件等),并且还可包含由在计算装置上操作的应用程序产生的声音。
本文中所描述的系统、装置及技术的各种实施方案可在数字电子电路系统、集成电路系统、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件及/或其组合中实现。这些各种实施方案可包含可在可编程系统上执行及/或解译的一或多个计算机程序中的实施方案,所述可编程系统包含可以是专用或通用的至少一个可编程处理器(其经耦合以从存储系统接收数据及指令并且将数据及指令传输给存储系统)、至少一个输入装置及至少一个输出装置。
这些计算机程序(也称为程序、软件、软件应用程序或代码)可包含用于可编程处理器的机器指令,并且可以高级程序及/或面向对象的程序设计语言及/或以汇编/机器语言来实施。如本文中所使用,术语“机器可读媒体”“计算机可读媒体”是指用于向可编程处理器提供机器指令及/或数据的任何计算机程序产品、设备及/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD))。
为了提供与用户的互动,本文中所描述的系统及技术可在计算机上实施,所述计算机具有用于向用户显示信息的显示装置(例如,LCD显示屏、LED显示屏)、键盘及用户可用于向计算机提供输入的指向装置(例如,鼠标、轨迹球、触摸屏)。也可使用其它种类的装置来提供与用户的互动;例如,提供给用户的反馈可为任何形式的感观反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且来自用户的输入可以任何形式(包含声音、语音或触觉输入)来接收。
此处所描述的系统及技术可实施于计算系统中,所述计算系统包含后端组件(例如,作为数据服务器);或者包含中间件组件(例如,应用程序服务器);或包含前端组件(例如,具有用户可通过其来与此处所描述的系统及技术的实施方案互动的图形用户接口或Web浏览器的客户端计算机),或者此类后端、中间件或前端组件的任何组合。所述系统的组件可通过任何数字数据通信形式或媒体(例如,通信网络)互连。通信网络的实例包含局域网(“LAN”)、广域网(“WAN”)、对等网络(具有自组织或静态成员)、网格计算基础设施及互联网。
所述计算系统可包含客户端及服务器。客户端与服务器通常彼此远离并且通常通过通信网络来互动。客户端与服务器的关系是借助于在相应计算机上运行且彼此之间具有客户端-服务器关系的计算机程序来产生的。
上述描述提供一些实施方案的实例。上文没有明确描述的其它实施方案也是可能的,例如基于上文所描述的特征的修改及/或变化的实施方案。例如,上文所描述的技术可以不同次序来实施,其中所述次序包含一或多个额外步骤,及/或排除一或多个所识别步骤。另外,上文所描述的由一些计算装置及/或系统执行的步骤及技术可替换地或另外由上文所描述的其它计算装置及/或系统或者没有明确描述的其它计算装置及/或系统来执行。类似地,系统、装置及设备可包含一或多个额外特征,可排除一或多个所识别特征,及/或包含以不同于上文所呈现的方式组合的所识别特征。被描述为单一的特征可被实施为多个此类特征。同样地,被描述为多个的特征可被实施为此类特征的单个例子。图式旨在为图解说明性的,并且可能没有精确地描绘一些实施方案。特征相对于彼此的定大小、位置、形状、角度及/或定位的变化是可能的。

Claims (40)

1.一种用于将点云数据细化的方法,所述方法包括:
由计算系统接收物理空间的点云数据,所述点云数据包含三维空间中近似所述物理空间内的物理表面的位置的多个点;
由所述计算系统沿着x维度、y维度及z维度从所述多个点迭代地选择点;
由所述计算系统将所选择的所述点群集成一或多个2D直方图;
由所述计算系统确定所述2D直方图中的每一者的斜率值;
由所述计算系统并基于确定所述斜率值超过预定斜率值,从所述点云数据移除点;
由所述计算系统将所述2D直方图中的每一者迭代地体素化成预定网格大小;
由所述计算系统并基于识别经体素化2D直方图中的每一者中的中心点,对所述经体素化2D直方图中的每一者中的点进行求和;
由所述计算系统并基于确定所述经体素化2D直方图中的每一者中点的总和低于预定和值,从所述点云数据移除点;
由所述计算系统确定所述经体素化2D直方图中的每一者中点的数目;
由所述计算系统确定所述经体素化2D直方图中的每一者中点的所述数目是否超过预定阈值;
由所述计算系统并响应于确定所述经体素化2D直方图中的每一者中点的所述数目超过所述预定阈值,保留所述经体素化2D直方图中的每一者的中心点;
由所述计算系统并针对所述经体素化2D直方图中的每一者,从所述中心点当中选择一点;
由所述计算系统并针对所述点,识别所述点云数据中的最近邻近点;
由所述计算系统从所述点云数据移除所识别的所述最近邻近点;及
由所述计算系统将所述点云数据中的剩余点返回。
2.根据权利要求1所述的方法,其进一步包括:
由所述计算系统对所述经体素化2D直方图中的每一者中点的密度执行标准分布;
由所述计算系统确定对所述经体素化2D直方图中的每一者的点的所述密度的所述标准分布是否超过预定密度分布值;
由所述计算系统并基于确定对所述经体素化2D直方图中的每一者的点的所述密度的所述标准分布超过所述预定密度分布值,从所述点云数据的所述经体素化2D直方图移除点;及
由所述计算系统并基于确定对所述经体素化2D直方图中的每一者的点的所述密度的所述标准分布低于所述预定密度分布值,将点添加到所述点云数据的所述经体素化2D直方图。
3.根据权利要求2所述的方法,其中将点添加到所述点云数据的所述经体素化2D直方图包括应用k-均值滤波器。
4.根据权利要求2所述的方法,其中从所述点云数据的所述经体素化2D直方图移除点包括应用切片滤波器。
5.根据权利要求1所述的方法,其中基于确定所述经体素化2D直方图中的每一者中点的所述总和低于预定和值而从所述点云数据移除的所述点是离群点,其中所述离群点不包括所述物理空间内的所述物理表面。
6.根据权利要求1所述的方法,其中所述预定网格大小是至少部分地基于所述点云数据中点的数目及所述物理空间内所述物理表面的类型来确定的。
7.根据权利要求1所述的方法,其进一步包括:
由所述计算系统将所述点云数据沿着与由所述点云数据表示的所述物理空间的定向对应的x维度、y维度及z维度对准;
由所述计算系统将所述点云数据中的所述点分类为与物理表面的一或多种类型对应;
由所述计算系统至少部分地基于对所述点云数据中所述点的分类,识别所述物理空间中的特定物理结构;及
由所述计算系统基于所述物理空间的所述定向内所述特定物理结构及所述特定物理结构的对应轮廓,产生所述物理空间的地图。
8.根据权利要求1所述的方法,其进一步包括:
由所述计算系统针对所述2D直方图中的每一者,识别一定数目个最近邻近点;
由所述计算系统确定所述数目个最近邻近点是否包含预定数量的重复出现的点,其中所述重复出现的点位于沿着x维度、y维度及z维度的相同位置中;及
由所述计算系统基于确定所述数目个最近邻近点包含所述预定数量的重复出现的点,在所述最近邻近点中的所述重复出现的点附近产生点。
9.根据权利要求1所述的方法,其中所述物理空间内的所述物理表面包含托盘、机架、搁架、建筑物、房屋、树木、植物及道路。
10.根据权利要求1所述的方法,其中所述物理空间包含仓库、存储设施及室外环境。
11.一种用于将点云数据细化的计算机化系统,所述系统包括:
一或多个处理器;及
包含指令的一或多个计算机可读装置,当由所述一或多个处理器执行时,所述指令致使所述计算机化系统执行包含以下各项的操作:
接收物理空间的点云数据,所述点云数据包含三维空间中近似所述物理空间内的物理表面的位置的多个点;
沿着x维度、y维度及z维度从所述多个点迭代地选择点;
将所选择的所述点群集成一或多个2D直方图;
确定所述2D直方图中的每一者的斜率值;
基于确定所述斜率值超过预定斜率值,从所述点云数据移除点;
将所述2D直方图中的每一者迭代地体素化成预定网格大小;
基于识别经体素化2D直方图中的每一者中的中心点,对所述经体素化2D直方图中的每一者中的点进行求和;
基于确定所述经体素化2D直方图中的每一者中点的总和低于预定和值,从所述点云数据移除点;
确定所述经体素化2D直方图中的每一者中点的数目;
确定所述经体素化2D直方图中的每一者中点的所述数目是否超过预定阈值;
响应于确定所述经体素化2D直方图中的每一者中点的所述数目超过所述预定阈值,保留所述经体素化2D直方图中的每一者的中心点;
针对所述经体素化2D直方图中的每一者,从所述中心点当中选择一点;
针对所述点,识别所述点云数据中的最近邻近点;
从所述点云数据移除所识别的所述最近邻近点;及
将所述点云数据中的剩余点返回。
12.根据权利要求11所述的系统,其中所述操作进一步包含:
对所述经体素化2D直方图中的每一者中点的密度执行标准分布;
确定对所述经体素化2D直方图中的每一者的点的所述密度的所述标准分布是否超过预定密度分布值;
基于确定对所述经体素化2D直方图中的每一者的点的所述密度的所述标准分布超过所述预定密度分布值,从所述点云数据的所述经体素化2D直方图移除点;及
基于确定对所述经体素化2D直方图中的每一者的点的所述密度的所述标准分布低于所述预定密度分布值,将点添加到所述点云数据的所述经体素化2D直方图。
13.根据权利要求12所述的系统,其中将点添加到所述点云数据的所述经体素化2D直方图包括应用k-均值滤波器。
14.根据权利要求12所述的系统,其中从所述点云数据的所述经体素化2D直方图移除点包括应用切片滤波器。
15.根据权利要求11所述的系统,其中基于确定所述经体素化2D直方图中的每一者中点的所述总和低于预定和值而从所述点云数据移除的所述点是离群点,其中所述离群点不包括所述物理空间内的所述物理表面。
16.根据权利要求11所述的系统,其中所述预定网格大小是至少部分地基于所述点云数据中点的数目及所述物理空间内所述物理表面的类型来确定的。
17.根据权利要求11所述的系统,其中所述操作进一步包含:
将所述点云数据沿着与由所述点云数据表示的所述物理空间的定向对应的x维度、y维度及z维度对准;
将所述点云数据中的所述点分类为与物理表面的一或多种类型对应;
至少部分地基于对所述点云数据中所述点的分类,识别所述物理空间中的特定物理结构;及
基于所述物理空间的所述定向内所述特定物理结构及所述特定物理结构的对应轮廓,产生所述物理空间的地图。
18.根据权利要求11所述的系统,其中所述操作进一步包含:
针对所述2D直方图中的每一者,识别一定数目个最近邻近点;
确定所述数目个最近邻近点是否包含预定数量的重复出现的点,其中所述重复出现的点位于沿着x维度、y维度及z维度的相同位置中;及
基于确定所述数目个最近邻近点包含所述预定数量的重复出现的点,在所述最近邻近点中的所述重复出现的点附近产生点。
19.根据权利要求11所述的系统,其中所述物理空间内的所述物理表面包含托盘、机架、搁架、建筑物、房屋、树木、植物及道路。
20.根据权利要求11所述的系统,其中所述物理空间包含仓库、存储设施及室外环境。
21.一种用于细化点云数据的方法,所述方法包括:
由计算系统接收物理空间的点云数据,所述点云数据包含三维(“3D”)空间中近似所述物理空间内的物理表面的位置的多个点;
由所述计算系统基于所述点云数据来产生2D直方图;
由所述计算系统将所述2D直方图迭代地体素化成预定网格大小;
由所述计算系统基于经体素化2D直方图中点的总和对所述经体素化2D直方图中的每一者进行滤波;
由所述计算系统识别经滤波2D直方图中的每一者的中心点;
由所述计算系统并针对所述经滤波2D直方图中的每一者,从所述中心点当中选择一点;
由所述计算系统并针对所述点,识别所述点云数据中的最近邻近点;
由所述计算系统从所述点云数据移除所识别的所述最近邻近点;及
由所述计算系统将所述点云数据中的剩余点返回。
22.根据权利要求21所述的方法,其中由所述计算系统产生2D直方图包括:
沿着x维度、y维度及z维度从所述多个点迭代地选择点;
将所选择的所述点群集成2D直方图;
确定所述2D直方图中的每一者的斜率值;及
将所述2D直方图中的每一者的所述斜率值返回。
23.根据权利要求22所述的方法,其进一步包括:针对所述2D直方图中的每一者:
确定所述斜率值是否超过阈值斜率值;及
基于所述斜率值超过所述阈值斜率值的确定,从所述点云数据移除至少一个点。
24.根据权利要求21所述的方法,其中由所述计算系统对所述经体素化2D直方图中的每一者进行滤波包括:针对所述经体素化2D直方图中的每一者:
识别所述经体素化2D直方图中的中心点;
基于所识别的所述中心点,对所述经体素化2D直方图中的点进行求和;
确定点的所述总和是否小于阈值和值;及
基于确定步骤,从所述点云数据移除点。
25.根据权利要求21所述的方法,其中由所述计算系统识别所述经滤波2D直方图中的每一者的中心点包括:针对所述经滤波2D直方图中的每一者:
确定所述经滤波2D直方图中点的数量;
确定点的所述数量是否超过阈值数量;及
基于点的所述数量超过所述阈值数量的确定,保留所述经滤波2D直方图的所述中心点。
26.根据权利要求21所述的方法,其中由所述计算系统将所述点云数据中的剩余点返回包括:基于所述点云数据中的所述剩余点来产生地图。
27.根据权利要求26所述的方法,其中所述地图是所述物理空间的蓝图。
28.根据权利要求21所述的方法,其进一步包括:由所述计算系统基于所述点云数据中的所述剩余点来确定所述物理空间的大小。
29.根据权利要求21所述的方法,其中所述物理空间是存储设施,并且所述方法进一步包括:由所述计算系统基于所述点云数据中的所述剩余点来确定所述存储设施的容量。
30.根据权利要求21所述的方法,其中所述物理空间是存储设施,并且所述方法进一步包括:
由所述计算系统基于所述点云数据中的所述剩余点来产生所述存储设施的地图;及
由所述计算系统基于所述存储设施的所产生地图来确定所述存储设施中的活动的过程流程。
31.根据权利要求30所述的方法,其进一步包括:由所述计算系统基于在所述存储设施的所述地图中识别的所述物理表面中的一或多者来确定所述存储设施中的人类工人及叉车中的至少一者的所预期移动。
32.根据权利要求21所述的方法,其进一步包括:由所述计算系统基于所述点云数据中的所返回的所述剩余点对所述物理空间中的物理结构进行分类。
33.根据权利要求32所述的方法,其中由所述计算系统对所述物理空间中的所述物理结构进行分类包括:将球形滤波器应用于所述点云数据中的所述剩余点。
34.根据权利要求31所述的方法,其进一步包括:针对所述经体素化2D直方图中的每一者:
由所述计算系统对所述经体素化2D直方图中点的密度执行标准分布;
由所述计算系统确定所述标准分布是否超过阈值密度分布值;及
由所述计算系统并基于所述标准分布超过所述阈值密度分布值的确定,从所述经体素化2D直方图移除点。
35.根据权利要求34所述的方法,其进一步包括:由所述计算系统并基于所述标准分布小于所述阈值密度分布值的确定,将点添加到所述经体素化2D直方图。
36.根据权利要求21所述的方法,其进一步包括:
由所述计算系统将所述点云数据中的所述剩余点沿着与所述物理空间的定向对应的x维度、y维度及z维度对准;
由所述计算系统将所述剩余点分类为与一或多种类型的物理表面对应;
由所述计算系统至少部分地基于分类步骤,识别所述物理空间中的预定物理结构;及
由所述计算系统基于所述物理空间的所述定向内所识别的所述物理结构及所识别的所述物理结构的对应轮廓,产生所述物理空间的地图。
37.根据权利要求21所述的方法,其中所述物理空间内的所述物理表面包含托盘、机架、搁架、墙壁、地板、天花板、门、灯具、垂直支撑杆、人类工人及叉车中的至少一者。
38.根据权利要求21所述的方法,其中所述物理空间包含仓库及存储设施中的至少一者。
39.一种用于细化点云数据的计算机化系统,所述系统包括:
一或多个处理器;及
包含指令的一或多个计算机可读装置,当由所述一或多个处理器执行时,所述指令致使所述计算机化系统执行包含以下各项的操作:
接收物理空间的点云数据,所述点云数据包含三维(“3D”)空间中近似所述物理空间内的物理表面的位置的多个点;
基于所述点云数据来产生2D直方图;
将所述2D直方图迭代地体素化成预定网格大小;
基于经体素化2D直方图中点的总和对所述经体素化2D直方图中的每一者进行滤波;
识别经滤波2D直方图中的每一者的中心点;
针对所述经滤波2D直方图中的每一者,从所述中心点当中选择一点;
针对所述点,识别所述点云数据中的最近邻近点;
从所述点云数据移除所识别的所述最近邻近点;及
将所述点云数据中的剩余点返回。
40.根据权利要求39所述的计算机化系统,其中所述物理空间是存储设施,并且所述操作进一步包含:
将所述剩余点分类为与一或多种类型的物理表面对应,所述类型的物理结构包含托盘、机架、搁架、墙壁、地板、天花板、门、灯具、垂直支撑杆、人类工人及叉车中的至少一者;
至少部分地基于经分类的所述物理表面来产生所述存储设施的地图;及
基于所述存储设施的所产生的所述地图,确定以下各项中的至少一者:(i)所述存储设施的大小;(ii)所述存储设施的容量;及(iii)所述存储设施中的活动的过程流程。
CN202280034287.2A 2021-04-14 2022-04-13 点云滤波 Active CN117321438B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/230,730 US11403817B1 (en) 2021-04-14 2021-04-14 Point cloud filtering
US17/230,730 2021-04-14
PCT/US2022/024710 WO2022221471A1 (en) 2021-04-14 2022-04-13 Point cloud filtering

Publications (2)

Publication Number Publication Date
CN117321438A CN117321438A (zh) 2023-12-29
CN117321438B true CN117321438B (zh) 2024-06-04

Family

ID=81750415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280034287.2A Active CN117321438B (zh) 2021-04-14 2022-04-13 点云滤波

Country Status (6)

Country Link
US (3) US11403817B1 (zh)
EP (1) EP4323796A1 (zh)
CN (1) CN117321438B (zh)
AU (2) AU2022258476B2 (zh)
CA (1) CA3215515A1 (zh)
WO (1) WO2022221471A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112021002781T5 (de) * 2020-05-11 2023-04-27 Cognex Corporation Verfahren und Apparate zum Erzeugen von Punktwolkenhistogrammen
US11403817B1 (en) 2021-04-14 2022-08-02 Lineage Logistics, LLC Point cloud filtering
CN113256773B (zh) * 2021-05-10 2022-10-28 青岛小鸟看看科技有限公司 表面网格扫描及显示方法、系统及装置
CN117409161A (zh) * 2022-07-06 2024-01-16 戴尔产品有限公司 点云处理方法和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902977A (zh) * 2014-03-31 2014-07-02 华为技术有限公司 基于Gabor二值模式的人脸识别方法及装置
CN106485253A (zh) * 2016-09-14 2017-03-08 同济大学 一种最大粒度结构描述符的行人再辨识方法
CN107016705A (zh) * 2016-01-05 2017-08-04 德州仪器公司 计算机视觉系统中的地平面估计
CN107038717A (zh) * 2017-04-14 2017-08-11 东南大学 一种基于立体栅格自动分析3d点云配准误差的方法
CN112149677A (zh) * 2020-09-14 2020-12-29 上海眼控科技股份有限公司 一种点云语义分割的方法、装置及设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920319A (en) * 1994-10-27 1999-07-06 Wake Forest University Automatic analysis in virtual endoscopy
EP2596475B1 (en) * 2010-07-19 2019-01-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Filling disocclusions in a virtual view
US9165360B1 (en) * 2012-09-27 2015-10-20 Zepmed, Llc Methods, systems, and devices for automated analysis of medical scans
US9811714B2 (en) * 2013-08-28 2017-11-07 Autodesk, Inc. Building datum extraction from laser scanning data
US20160203263A1 (en) * 2015-01-08 2016-07-14 Imbio Systems and methods for analyzing medical images and creating a report
US10066925B2 (en) * 2016-02-02 2018-09-04 The Boeing Company Point cloud processing apparatus and method
WO2017168472A1 (ja) * 2016-03-30 2017-10-05 パナソニックIpマネジメント株式会社 位置推定装置、位置推定方法及び制御プログラム
FR3050375A1 (fr) * 2016-04-22 2017-10-27 H43 Dev Procede de controle de la dentition
WO2017214595A1 (en) * 2016-06-10 2017-12-14 The Board Of Trustees Of The Leland Systems and methods for performing three-dimensional semantic parsing of indoor spaces
GB2559157A (en) * 2017-01-27 2018-08-01 Ucl Business Plc Apparatus, method and system for alignment of 3D datasets
WO2019113510A1 (en) * 2017-12-07 2019-06-13 Bluhaptics, Inc. Techniques for training machine learning
CN109325998B (zh) * 2018-10-08 2023-06-30 香港理工大学 一种基于点云数据的室内3d建模方法、系统及相关装置
CN112805751A (zh) * 2018-10-12 2021-05-14 松下电器(美国)知识产权公司 三维数据编码方法、三维数据解码方法、三维数据编码装置、以及三维数据解码装置
US11391844B2 (en) * 2018-12-19 2022-07-19 Fca Us Llc Detection and tracking of road-side pole-shaped static objects from LIDAR point cloud data
US10896317B2 (en) * 2018-12-28 2021-01-19 Palo Alto Research Center Incorporated Apparatus and method for identifying an articulatable part of a physical object using multiple 3D point clouds
JP7086111B2 (ja) * 2019-01-30 2022-06-17 バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッド 自動運転車のlidar測位に用いられるディープラーニングに基づく特徴抽出方法
CN111771141B (zh) * 2019-01-30 2024-04-09 百度时代网络技术(北京)有限公司 自动驾驶车辆中使用3d cnn网络进行解决方案推断的lidar定位
CN111771135B (zh) * 2019-01-30 2023-03-21 百度时代网络技术(北京)有限公司 自动驾驶车辆中使用rnn和lstm进行时间平滑的lidar定位
CN110335295B (zh) * 2019-06-06 2021-05-11 浙江大学 一种基于tof相机的植物点云采集配准与优化方法
US20210383096A1 (en) * 2020-06-08 2021-12-09 Bluhaptics, Inc. Techniques for training machine learning
US11403817B1 (en) 2021-04-14 2022-08-02 Lineage Logistics, LLC Point cloud filtering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902977A (zh) * 2014-03-31 2014-07-02 华为技术有限公司 基于Gabor二值模式的人脸识别方法及装置
CN107016705A (zh) * 2016-01-05 2017-08-04 德州仪器公司 计算机视觉系统中的地平面估计
CN106485253A (zh) * 2016-09-14 2017-03-08 同济大学 一种最大粒度结构描述符的行人再辨识方法
CN107038717A (zh) * 2017-04-14 2017-08-11 东南大学 一种基于立体栅格自动分析3d点云配准误差的方法
CN112149677A (zh) * 2020-09-14 2020-12-29 上海眼控科技股份有限公司 一种点云语义分割的方法、装置及设备

Also Published As

Publication number Publication date
AU2024200500A1 (en) 2024-02-15
EP4323796A1 (en) 2024-02-21
AU2022258476A1 (en) 2023-11-02
WO2022221471A1 (en) 2022-10-20
US20230343031A1 (en) 2023-10-26
AU2022258476B2 (en) 2023-11-23
CN117321438A (zh) 2023-12-29
US12002156B2 (en) 2024-06-04
CA3215515A1 (en) 2022-10-20
US11734884B2 (en) 2023-08-22
US20220351464A1 (en) 2022-11-03
US11403817B1 (en) 2022-08-02

Similar Documents

Publication Publication Date Title
CN117321438B (zh) 点云滤波
CN110226186B (zh) 表示地图元素的方法和装置以及定位的方法和装置
EP3321887A1 (en) Urban road recognition method, apparatus, storage medium and device based on laser point cloud
US9286539B2 (en) Constructing contours from imagery
CN108509820B (zh) 障碍物分割方法及装置、计算机设备及可读介质
US9299157B2 (en) Scale-invariant superpixel region edges
CN111932943B (zh) 动态目标的检测方法、装置、存储介质及路基监测设备
US9305241B2 (en) Systems and methods for reducing a data set
CN105701798A (zh) 柱状物体的点云提取方法及装置
AU2022258555B2 (en) Generating mappings of physical spaces from point cloud data
CN114648640B (zh) 一种目标物单体化方法、装置、设备及存储介质
CN113012063B (zh) 一种动态点云修复方法、装置及计算机设备
EP3963549A1 (en) Deriving information from images
CN108345007B (zh) 一种障碍物识别方法和装置
CN116051980B (zh) 基于倾斜摄影的建筑识别方法、系统、电子设备及介质
Goga et al. An approach for segmenting 3D LIDAR data using multi-volume grid structures
Castagno et al. Realtime rooftop landing site identification and selection in urban city simulation
CN115457496B (zh) 自动驾驶的挡墙检测方法、装置及车辆
Pokuciński et al. Methods and Applications of Space Understanding in Indoor Environment—A Decade Survey
CN117788741A (zh) 基于点云的建筑物模型重建方法、装置、设备及存储介质
WO2023019313A1 (en) Methods for generating a partial three-dimensional representation of a person
Siddiqui et al. A novel plane extraction approach using supervised learning
CN110737652A (zh) 露天矿山三维数字模型的数据清洗方法、系统及存储介质
CN115760878A (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