CN109034065B - 一种基于点云的室内场景物体提取方法 - Google Patents

一种基于点云的室内场景物体提取方法 Download PDF

Info

Publication number
CN109034065B
CN109034065B CN201810840778.1A CN201810840778A CN109034065B CN 109034065 B CN109034065 B CN 109034065B CN 201810840778 A CN201810840778 A CN 201810840778A CN 109034065 B CN109034065 B CN 109034065B
Authority
CN
China
Prior art keywords
plane
scene
point
planes
horizontal plane
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
CN201810840778.1A
Other languages
English (en)
Other versions
CN109034065A (zh
Inventor
宁小娟
马杰
王锋涛
王映辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Technology
Original Assignee
Xian University of Technology
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 Xian University of Technology filed Critical Xian University of Technology
Priority to CN201810840778.1A priority Critical patent/CN109034065B/zh
Publication of CN109034065A publication Critical patent/CN109034065A/zh
Application granted granted Critical
Publication of CN109034065B publication Critical patent/CN109034065B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • G06V20/36Indoor scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开的一种基于点云的室内场景物体提取方法,首先读入场景中原始三维点云数据,判断并去除场景数据离群点;其次,在通过三维坐标旋转变换将倾斜的场景数据旋转至竖直方向;再次,去除场景中地面和墙面,并将场景分割形成多个子场景;最后通过子场景中最大水平平面及其上方是否存在点来判断其上方是否有物体存在,从而完成整个场景中所有物体的提取。本发明的室内场景物体提取方法主要针对室内场景单视点下的的实测单侧点云数据,进行场景中的物体提取,解决了现有室内场景的物体提取方法需要训练样本多、对物体分割粗糙、鲁棒性和稳定性差的问题,有很好的实用价值。

Description

一种基于点云的室内场景物体提取方法
技术领域
本发明属于室内场景物体提取方法技术领域,具体涉及一种基于点云的室内场景物体提取方法。
背景技术
随着虚拟现实技术的发展速度越来越快,三维激光点云的应用越来越广泛。视觉是人类获取外界信息的主要方式,也是智能机器人获取外界深度信息的主要手段,机器人可以通过视觉传感器对扫描到的场景进行分析和处理,进一步完成定位,抓取或避障等行为。但受到阻挡、传感器获取数据不准确、各种光线对传感器的影响等因素影响,要做到对室内物体的识别,关键一点是先对室内的显著物体进行提取。
室内场景的物体提取有很广阔的应用前景,既可为现在最流行的VR/AR/MR技术的研究和应用做铺垫,又可为室内场景物体识别做前提。在日常生活的应用中,不仅可以加强机器人对室内物体的识别能力,提高机器人的智能程度,而且可以进一步发展智能家居等领域的应用。
针对室内场景物体提取,目前的研究成果集中在二维图像的基础上完成,在三维激光扫描点云数据的研究方面也在逐渐深入。从国内外研究人员的研究成果来看,点云室内场景的物体提取方法主要分为三类:基于机器学习的分类方法、基于聚类的方法、基于区域生长的方法。
(1)基于机器学习的分类方法
机器学习在目标提取的一般过程为:①先创建要训练的分类器样本;②特征提取;③用训练样本来训练分类器;④利用训练好的分类器进行目标检测;⑤学习和改进分类器。
常用的分类算法有:决策树算法、朴素贝叶斯算法、人工神经网络算法、支持向量机、K近邻和K均值算法、Adaboost算法、马尔科夫模型法等。
(2)基于聚类的方法
2012年马志峰等人提出一种多目标场景下的显著物体提取方法,对基于空间的计算模型得到的显著图像进行聚类,将多目标场景划分为多个单目标的子场景,在子场景集合中,引入注意转移机制,并使用基于物体的计算模型依次提取显著物体。
聚类算法一般是非监督性的,不用训练样本,操作简单,对异常数据较不敏感;该类方法相对来说具有较好的鲁棒性,但是无法对物体有接触的情况下完成精确提取,往往造成欠分割,在分割后可能需要进一步进行细化处理。
(3)基于区域生长的方法
区域生长的基本思想是将具有相似性质的像素集合起来构成区域,算法的过程一般为:先给定点云中要分割的目标物体内的一个小块或者说种子点,再在种子的基础上不断将其周围的点以一定的规则加入其中,达到最终将代表该物体的所有点结合成一个区域的目的。
该类方法只需要若干种子点即可完成,并且在生长过程中的生长准则可以自由指定,该方法通常能将具有相同特征的联通区域分割出来,并且可以提供很好的边界信息和分割结果;但是算法的鲁棒性不好,需要选取合适的门限,同时算法稳定性不好,往往会造成过分割。
发明内容
本发明的目的是提供一种基于点云的室内场景物体提取方法,解决了现有室内场景的物体提取方法需要训练样本多、对物体分割粗糙、鲁棒性和稳定性差的问题。
本发明所采用的技术方案是,一种基于点云的室内场景物体提取方法,包括以下步骤:
步骤1,读入场景中原始三维点云数据,采用基于K-近邻的邻域平均距离算法判断并去除场景数据离群点;
步骤2,在场景中建立XYZ三维坐标系,通过三维坐标旋转变换将倾斜的场景数据旋转至竖直方向;
步骤3,经过步骤2旋转后,使用随机抽样一致性算法进行场景平面的检测,随后去除场景中地面和墙面,对于由物体遮挡造成的点云数据缺失的情况,使用分割优化,分割形成多个子场景;
步骤4,通过对步骤3得到的子场景中最大水平平面及其上方是否存在点来判断其上方是否有物体存在,如果存在则进行提取,从而完成整个场景中所有物体的提取。
本发明的特征还在于,
步骤1的具体操作为:
步骤1.1,采用K-D树组织原始三维点云数据;
步骤1.2,取步骤1.1中任意一点Pi的K近邻N(P),其中Pi∈S,S表示三维点云集合,N(P)表示任意一点Pi的K近邻;
步骤1.3,计算步骤1.2中点Pi与K邻域内各个点之间的平均距离,并取其平均值D(Pi),如公式(1):
Figure BDA0001745523510000041
其中,参数k表示近邻点个数,参数Pj表示Pi的K近邻中的第j个点;
步骤1.4,判断步骤1.3中D(Pi)与设定的阈值Dσ的大小,若D(Pi)>Dσ,则认为该点为离群噪声点,删除;若D(Pi)≤Dσ,则认为该点为不是离群噪声点,保留;
步骤1.5,重复步骤1.2至步骤1.4,直至判断并删除完所有离群噪声点。
步骤2的具体操作为:
步骤2.1,获取场景中主平面法向量v0'
设场景中主趋势方向为v1、次趋势方向为v2,主趋势方向v1与次趋势方向v2形成的平面称为主平面,则主平面法向量v0'=v1×v2
令主平面法向量v0'=v1×v2={x0',y0',z0'}、v1={x1,y1,z1}、v2={x2,y2,z2},则主平面法向量v0'可转化为公式(2),
Figure BDA0001745523510000042
其中参数x0'、y0'、z0'分别表示法向量v0'对应XYZ轴的坐标值,参数x1、y1、z1分别表示主趋势方向v1对应XYZ轴的坐标值,参数x2、y2、z2分别表示次趋势方向v2对应XYZ轴的坐标值;
步骤2.2,通过步骤2.1主平面法向量与场景平面法向量夹角判断场景平面是否为水平平面或竖直平面;若两者夹角不大于θ(θ=30°),则场景平面视为水平平面,否则视为竖直平面;
步骤2.3,针对水平平面,获取旋转方向向量,随后对场景坐标转换至竖直方向,得到旋转之后的点云场景。
步骤2.3具体为:
步骤2.3.1,检测场景中的所有平面,得到平面检测集合F={f1,f2,…,fm}、其中参数fm为场景平面,获取所有场景平面的法向量
Figure BDA0001745523510000051
其中参数
Figure BDA0001745523510000052
为场景平面的法向量,
步骤2.3.2,计算步骤2.3.1中任一场景平面的法向量Vi(1≤i≤m)与主平面法向量v0'的夹角θi
步骤2.3.3,若θi<δ,则将该平面法向量加入水平平面法向量集合Vh,否则加入竖直平面法向量集合Vv
步骤2.3.4,设水平平面集合Vh有p个元素,则旋转方向向量
Figure BDA0001745523510000053
为公式(3):
Figure BDA0001745523510000054
步骤2.3.5,针对旋转方向向量
Figure BDA0001745523510000055
设原始点的坐标为p(x,y,z),首先绕Z轴旋转至YOZ平面,得到对应的点坐标p'(x',y',z'),则场景绕Z轴旋转的旋转矩阵为公式(4),
Figure BDA0001745523510000056
其中,参数α表示绕Z轴旋转角度,
Figure BDA0001745523510000057
则对应的点坐标p'(x',y',z')表示为:
Figure BDA0001745523510000058
公式(5)化简后可得公式(6),
Figure BDA0001745523510000061
步骤2.3.6,再将场景绕X轴旋转至Y轴,得到最终的旋转结果,将p'(x',y',z')旋转之后的坐标为p”(x”,y”,z”),则场景绕X轴旋转的旋转矩阵为:
Figure BDA0001745523510000062
其中参数β表示绕X轴旋转角度,
Figure BDA0001745523510000063
则旋转之后的坐标为:
Figure BDA0001745523510000064
公式(8)化简后可得公式(9),
Figure BDA0001745523510000065
则p”(x”,y”,z”)为最终的旋转结果。
步骤3具体为:
步骤3.1,场景平面检测
由步骤2可知平面检测集合F={f1,f2,…,fm}、其中参数fm为场景平面,
则水平平面集合Fh={f1,f2,…,fh},(h≤m)、其中参数fh为水平平面,
则竖直平面集合Fv={f1,f2,…,fv},(v≤m)、其中参数fv为竖直平面,
根据以上参数,得到场景中最低点的Z轴坐标值为z0,计算所有水平平面中心的Z轴坐标值与z0的差值,差值最小的水平平面记为地面f;
步骤3.2,去除场景中地面和墙面
设步骤3.1竖直平面集合中任一竖直平面fi(1≤i≤m)的法向量
Figure BDA0001745523510000071
则竖直平面法向量集合为Vv={v1,v2,...,vv};设步骤3.1中地面f的法向量为
Figure BDA0001745523510000072
若满足
Figure BDA0001745523510000073
Figure BDA0001745523510000074
即fi⊥f,得到候选竖直墙面集合Fc={f1,f2,...,fc},(c≤v)、fc为候选竖直墙面,若fc还满足仅有一侧有点,则该fc为墙面;去除掉墙面fc和地面f;
步骤3.3,分割优化
对于由物体遮挡造成的点云数据缺失的情况,选取地面二维坐标系平面作为投影平面,将场景数据投影到地面二维坐标系平面上,设需要投影的数据集合Pr={p1,p2,...,pi},投影结果Pr'={p1',p2',...,pn'},其中需要投影的点pi(xi,yi,zi)∈Pr,pi对应的投影点为pi'(xi',yi',zi')∈Pr';
选取二维坐标系平面中任意一点m(xm,ym,zm),二维坐标系平面法向量n=(a,b,c),,则
Figure BDA0001745523510000075
Figure BDA0001745523510000076
方向上投影的高度为l:
Figure BDA0001745523510000077
由于
Figure BDA0001745523510000078
Figure BDA0001745523510000079
Figure BDA00017455235100000710
方向上的投影向量,故
Figure BDA00017455235100000711
因为
Figure BDA00017455235100000712
Figure BDA00017455235100000713
的方向相同,所以
Figure BDA00017455235100000714
根据公式(10)可得出点pi在二维坐标系平面上的投影点pi'坐标为:
Figure BDA00017455235100000715
对于投影结果Pr'={p1',p2',...,pn'},使用基于欧氏距离的区域生长算法进行分割,将投影分割的结果再映射到需要投影的数据集合Pr={p1,p2,...,pi}上,即完成分割,得到若干个子场景。
步骤4具体为:
步骤4.1,获取步骤3子场景中最大水平平面及其上方点集
步骤4.1.1,采用随机抽样一致性算法检测子场景中的所有水平平面;
步骤4.1.2,使用OBB包围盒包围所有水平平面,计算包围盒内最长轴与次长轴所确定平面面积,将面积最大的水平平面记作承载平面,其上方的点集即为承载面上方放置的物体;
步骤4.1.3,设定阀值为KT,步骤4.1.1承载平面上方的点集中点的个数为N,若N≥KT,则认为其上方存在物体并将上方的点集提取;若N<KT,则认为其上方不存在物体;
步骤4.2,对子场景细分与物体提取
对于步骤4.1中最大水平平面及其上方点集,使用随机抽样一致性算法平面检测算法将其过分割成若干个平面;然后通过判断任意两个平面是否相邻,对于相邻的平面,需要判断其平面间的凹凸关系,根据凹凸关系判断这两个平面是属于同一物体,若这两个平面属于同一物体的两个平面,使用跨越平面凸关系的区域生长算法进行聚类,完成提取。
步骤4.2中跨越平面凸关系的区域生长算法具体为:
①设平面数据集为G,选取一个种子平面S1作为生长的起点,当相邻平面与种子平面S1的关系为凸时,则将该种子平面S1加入生长集合Q1中,成为新的种子平面,并开始向周围进行生长,当周围的平面都不满足条件时,则本次区域生长结束;
②在剩余的未加入生长集合Q1的平面中重新选取新的种子平面,重复步骤①,则新的生长集合为Q2
③重复步骤②直到G中所有的平面都加入到新的生长集合为Q2中,满足Q={Q1,Q2,…Qi},则整个生长过程结束,属于同一物体的平面被聚为一类。
本发明的有益效果是:本发明一种基于点云的室内场景物体提取方法,通过采用离群点去除、场景旋转、场景分割、对粗提取后的子场景进行细分等步骤,解决了现有室内场景的物体提取方法需要训练样本多、对物体分割粗糙、鲁棒性和稳定性差的问题,有很好的实用价值。
附图说明
图1是本发明一种基于点云的室内场景物体提取方法的工作流程图;
图2是本发明使用K-D树组织原始三维点云数据去除离群噪声点的示意图;
图3是本发明使用K-D树组织原始三维点云数据不同K值下去除离群噪声点的示意图,其中,图3a表示场景的原始数据,图3b表示K=40时的处理结果,图3c表示K=30时的处理结果;
图4是本发明采用的坐标旋转变换示意图;
图5是本发明场景模型旋转方法处理之后的场景结果示意图,其中图5a表示原始场景模型,图5b表示旋转后场景模型;
图6是本发明去除场景中地面和墙面的示意图,其中图6a表示原始场景模型,图6b表示去除场景中地面和墙面后场景模型;
图7是本发明场景分割优化结果图,其中图7a表示投影的分割结果,图7b表示投影映射到物体上的分割优化结果。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明一种基于点云的室内场景物体提取方法,如图1所示,包括以下步骤:
步骤1,读入场景中原始三维点云数据,采用基于K-近邻的邻域平均距离算法判断并去除场景数据离群点。具体为:
步骤1.1,采用K-D树组织原始三维点云数据;
步骤1.2,取步骤1.1中任意一点Pi的K近邻N(P),其中Pi∈S,S表示三维点云集合,N(P)表示任意一点Pi的K近邻;
步骤1.3,计算步骤1.2中点Pi与K邻域内各个点之间的平均距离,并取其平均值D(Pi),如公式(1):
Figure BDA0001745523510000101
其中,参数k表示近邻点个数,参数Pj表示Pi的K近邻中的第j个点;
步骤1.4,判断步骤1.3中D(Pi)与设定的阈值Dσ的大小,若D(Pi)>Dσ,则认为该点为离群噪声点,删除;若D(Pi)≤Dσ,则认为该点为不是离群噪声点,保留;
步骤1.5,重复步骤1.2至步骤1.4,直至判断并删除完所有离群噪声点。
如图2所示,其中B点为离群噪声点,A点则不是离群噪声点。如图3所示,a图圆圈中表示场景的原始数据中的离群噪声点;b图表示K=40时,离群噪声点处理结果;c图表示K=30时,离群噪声点处理结果;
步骤2,在场景中建立XYZ三维坐标系,通过三维坐标旋转变换将倾斜的场景数据旋转至竖直方向。具体为:
步骤2.1,获取场景中主平面法向量v0'
本发明使用主成分分析法获得场景中的主趋势方向与次趋势方向,主成分分析法(Principle Componet Analysis,PCA)通过线性变换将原始数据变换为一个各维度线性无关的表示,用于提取数据的主要特征分量,设场景中主趋势方向为v1、次趋势方向为v2,主趋势方向v1与次趋势方向v2形成的平面称为主平面,则主平面法向量v0'=v1×v2
令主平面法向量v0'=v1×v2={x0',y0',z0'}、v1={x1,y1,z1}、v2={x2,y2,z2},则主平面法向量v0'可转化为公式(2),
Figure BDA0001745523510000111
其中参数x0'、y0'、z0'分别表示法向量v0'对应XYZ轴的坐标值,参数x1、y1、z1分别表示主趋势方向v1对应XYZ轴的坐标值,参数x2、y2、z2分别表示次趋势方向v2对应XYZ轴的坐标值;
步骤2.2,通过步骤2.1主平面法向量与场景平面法向量夹角判断场景平面是否为水平平面或竖直平面;若两者夹角不大于θ(θ=30°),则场景平面视为水平平面,否则视为竖直平面;在获取到场景中的水平平面之后,为了减小误差,则所有水平平面的平均法向量的方向即为旋转方向;
步骤2.3,针对水平平面,获取旋转方向向量,随后对场景坐标转换至竖直方向,得到旋转之后的点云场景。具体为:
步骤2.3.1,检测场景中的所有平面,得到平面检测集合F={f1,f2,…,fm}、其中参数fm为场景平面,获取所有场景平面的法向量
Figure BDA0001745523510000112
其中参数
Figure BDA0001745523510000113
为场景平面的法向量;
步骤2.3.2,计算步骤2.3.1中任一场景平面的法向量Vi(1≤i≤m)与主平面法向量v0'的夹角θi
步骤2.3.3,若θi<δ,则将该平面法向量加入水平平面法向量集合Vh,否则加入竖直平面法向量集合Vv
步骤2.3.4,设水平平面集合Vh有p个元素,则旋转方向向量
Figure BDA0001745523510000121
为公式(3):
Figure BDA0001745523510000122
步骤2.3.5,针对旋转方向向量
Figure BDA0001745523510000123
设原始点的坐标为p(x,y,z),首先绕Z轴旋转至YOZ平面,得到对应的点坐标p'(x',y',z'),则场景绕Z轴旋转的旋转矩阵为公式(4),
Figure BDA0001745523510000124
其中,参数α表示绕Z轴旋转角度,
Figure BDA0001745523510000125
则对应的点坐标p'(x',y',z')表示为:
Figure BDA0001745523510000126
公式(5)化简后可得公式(6),
Figure BDA0001745523510000127
步骤2.3.6,再将场景绕X轴旋转至Y轴,得到最终的旋转结果,将p'(x',y',z')旋转之后的坐标为p”(x”,y”,z”),则场景绕X轴旋转的旋转矩阵为:
Figure BDA0001745523510000128
其中参数β表示绕X轴旋转角度,
Figure BDA0001745523510000131
则旋转之后的坐标为:
Figure BDA0001745523510000132
公式(8)化简后可得公式(9),
Figure BDA0001745523510000133
则p”(x”,y”,z”)为最终的旋转结果。
如图4所示,本发明采用两次旋转法,
Figure BDA0001745523510000134
为场景的旋转向量,首先将
Figure BDA0001745523510000135
绕Z轴旋转至YOZ平面,旋转后的向量为
Figure BDA0001745523510000136
旋转角度为α,再将
Figure BDA0001745523510000137
绕X轴旋转,使
Figure BDA0001745523510000138
落在Z轴上,旋转角度为β,完成场景旋转。
如图5所示,图5a表示原始场景模型,经过倾斜面旋转后,图5b表示旋转后场景模型。
步骤3,经过步骤2旋转后,使用随机抽样一致性算法进行场景平面的检测,随后去除场景中地面和墙面,对于由物体遮挡造成的点云数据缺失的情况,使用分割优化,分割形成多个子场景。具体为:
步骤3.1,场景平面检测
由步骤2可知平面检测集合F={f1,f2,…,fm}、其中参数fm为场景平面,
则水平平面集合Fh={f1,f2,…,fh},(h≤m)、其中参数fh为水平平面,
则竖直平面集合Fv={f1,f2,…,fv},(v≤m)、其中参数fv为竖直平面,
根据以上参数,得到场景中最低点的Z轴坐标值为z0,计算所有水平平面中心的Z轴坐标值与z0的差值,差值最小的水平平面记为地面f;
步骤3.2,去除场景中地面和墙面
设步骤3.1竖直平面集合中任一竖直平面fi(1≤i≤m)的法向量
Figure BDA0001745523510000141
则竖直平面法向量集合为Vv={v1,v2,...,vv};设步骤3.1中地面f的法向量为
Figure BDA0001745523510000142
若满足
Figure BDA0001745523510000143
Figure BDA0001745523510000144
即fi⊥f,得到候选竖直墙面集合Fc={f1,f2,...,fc},(c≤v)、fc为候选竖直墙面,若fc还满足仅有一侧有点,则该fc为墙面;去除掉墙面fc和地面f;
如图6所示,图6a表示去除地面和墙面之前的状态图,图6b表示去除地面和墙面后的状态图;
步骤3.3,分割优化
对于由物体遮挡造成的点云数据缺失的情况,选取地面二维坐标系平面作为投影平面,将场景数据投影到地面二维坐标系平面上,设需要投影的数据集合Pr={p1,p2,...,pi},投影结果Pr'={p1',p2',...,pn'},其中需要投影的点pi(xi,yi,zi)∈Pr,pi对应的投影点为pi'(xi',yi',zi')∈Pr';
选取二维坐标系平面中任意一点m(xm,ym,zm),二维坐标系平面法向量n=(a,b,c),,则
Figure BDA0001745523510000145
Figure BDA0001745523510000146
方向上投影的高度为l:
Figure BDA0001745523510000147
由于
Figure BDA0001745523510000148
Figure BDA0001745523510000149
Figure BDA00017455235100001410
方向上的投影向量,故
Figure BDA00017455235100001411
因为
Figure BDA00017455235100001412
Figure BDA00017455235100001413
的方向相同,所以
Figure BDA00017455235100001414
根据公式(10)可得出点pi在二维坐标系平面上的投影点pi'坐标为:
Figure BDA00017455235100001415
对于投影结果Pr'={p1',p2',...,pn'},使用基于欧氏距离的区域生长算法进行分割,将投影分割的结果再映射到需要投影的数据集合Pr={p1,p2,...,pi}上,即完成分割,得到若干个子场景。
如图7所示,图7a表示投影的分割结果,图7b表示投影映射到物体上的分割优化结果。
步骤4,通过对步骤3得到的子场景中最大水平平面及其上方是否存在点来判断其上方是否有物体存在,如果存在则进行提取,从而完成整个场景中所有物体的提取。具体为:
步骤4.1,获取步骤3子场景中最大水平平面及其上方点集
步骤4.1.1,采用随机抽样一致性算法检测子场景中的所有水平平面;
步骤4.1.2,使用OBB包围盒包围所有水平平面,计算包围盒内最长轴与次长轴所确定平面面积,将面积最大的水平平面记作承载平面,其上方的点集即为承载面上方放置的物体;
步骤4.1.3,设定阀值为KT,步骤4.1.1承载平面上方的点集中点的个数为N,若N≥KT,则认为其上方存在物体并将上方的点集提取;若N<KT,则认为其上方不存在物体;
步骤4.2,对子场景细分与物体提取
对于步骤4.1中最大水平平面及其上方点集,使用随机抽样一致性算法平面检测算法将其过分割成若干个平面;然后通过判断任意两个平面是否相邻,对于相邻的平面,需要判断其平面间的凹凸关系,根据凹凸关系判断这两个平面是属于同一物体,若这两个平面属于同一物体的两个平面,使用跨越平面凸关系的区域生长算法进行聚类,完成提取。
在数学上,两个平面之间的位置关系有平行、相交和重合三种情况,而在本发明中平面之间的位置根据两平面间有没有共同点而将平面间的位置关系定义为如下几个情况:相离、相交。
跨越平面凸关系的区域生长算法具体为:
①设平面数据集为G,选取一个种子平面S1作为生长的起点,当相邻平面与种子平面S1的关系为凸时,则将该种子平面S1加入生长集合Q1中,成为新的种子平面,并开始向周围进行生长,当周围的平面都不满足条件时,则本次区域生长结束;
②在剩余的未加入生长集合Q1的平面中重新选取新的种子平面,重复步骤①,则新的生长集合为Q2
③重复步骤②直到G中所有的平面都加入到新的生长集合为Q2中,满足Q={Q1,Q2,…Qi},则整个生长过程结束,属于同一物体的平面被聚为一类。

Claims (6)

1.一种基于点云的室内场景物体提取方法,其特征在于,包括以下步骤:
步骤1,读入场景中原始三维点云数据,采用基于K-近邻的邻域平均距离算法判断并去除场景数据离群点;
步骤2,在场景中建立XYZ三维坐标系,通过三维坐标旋转变换将倾斜的场景数据旋转至竖直方向;
所述步骤2的具体操作为:
步骤2.1,获取场景中主平面法向量v0'
设场景中主趋势方向为v1、次趋势方向为v2,主趋势方向v1与次趋势方向v2形成的平面称为主平面,则主平面法向量v0'=v1×v2
令主平面法向量v0'=v1×v2={x0',y0',z0'}、v1={x1,y1,z1}、v2={x2,y2,z2},则主平面法向量v0'可转化为公式(2),
Figure FDA0003668415280000011
其中参数x0'、y0'、z0'分别表示法向量v0'对应XYZ轴的坐标值,参数x1、y1、z1分别表示主趋势方向v1对应XYZ轴的坐标值,参数x2、y2、z2分别表示次趋势方向v2对应XYZ轴的坐标值;
步骤2.2,通过步骤2.1主平面法向量与场景平面法向量夹角判断场景平面是否为水平平面或竖直平面;若两者夹角不大于θ,θ=30°,则场景平面视为水平平面,否则视为竖直平面;
步骤2.3,针对水平平面,获取旋转方向向量,随后对场景坐标转换至竖直方向,得到旋转之后的点云场景;
步骤3,经过步骤2旋转后,使用随机抽样一致性算法进行场景平面的检测,随后去除场景中地面和墙面,对于由物体遮挡造成的点云数据缺失的情况,使用分割优化,分割形成多个子场景;
步骤4,通过对步骤3得到的子场景中最大水平平面及其上方是否存在点来判断其上方是否有物体存在,如果存在则进行提取,从而完成整个场景中所有物体的提取。
2.根据权利要求1所述的一种基于点云的室内场景物体提取方法,其特征在于,所述步骤1的具体操作为:
步骤1.1,采用K-D树组织原始三维点云数据;
步骤1.2,取步骤1.1中任意一点Pi的K近邻N(P),其中Pi∈S,S表示三维点云集合,N(P)表示任意一点Pi的K近邻;
步骤1.3,计算步骤1.2中点Pi与K邻域内各个点之间的平均距离,并取其平均值D(Pi),如公式(1):
Figure FDA0003668415280000021
其中,参数k表示近邻点个数,参数Pj表示Pi的K近邻中的第j个点;
步骤1.4,判断步骤1.3中D(Pi)与设定的阈值Dσ的大小,若D(Pi)>Dσ,则认为该点为离群噪声点,删除;若D(Pi)≤Dσ,则认为该点为不是离群噪声点,保留;
步骤1.5,重复步骤1.2至步骤1.4,直至判断并删除完所有离群噪声点。
3.根据权利要求1所述的一种基于点云的室内场景物体提取方法,其特征在于,所述步骤2.3具体为:
步骤2.3.1,检测场景中的所有平面,得到平面检测集合F={f1,f2,...,fm}、其中参数fm为场景平面,获取所有场景平面的法向量
Figure FDA0003668415280000031
其中参数
Figure FDA0003668415280000032
为场景平面的法向量,
步骤2.3.2,计算步骤2.3.1中任一场景平面的法向量Vi与主平面法向量v0'的夹角θi,,其中1≤i≤m,
步骤2.3.3,若θi<δ,则将该平面法向量加入水平平面法向量集合Vh,否则加入竖直平面法向量集合Vv
步骤2.3.4,设水平平面法向量集合Vh有p个元素,则旋转方向向量
Figure FDA0003668415280000033
为公式(3):
Figure FDA0003668415280000034
步骤2.3.5,针对旋转方向向量
Figure FDA0003668415280000035
设原始点的坐标为p(x,y,z),首先绕Z轴旋转至YOZ平面,得到对应的点坐标p'(x',y',z'),则场景绕Z轴旋转的旋转矩阵为公式(4),
Figure FDA0003668415280000036
其中,参数α表示绕Z轴旋转角度,
Figure FDA0003668415280000037
则对应的点坐标p'(x',y',z')表示为:
Figure FDA0003668415280000038
公式(5)化简后可得公式(6),
Figure FDA0003668415280000039
步骤2.3.6,再将场景绕X轴旋转至Y轴,得到最终的旋转结果,将p'(x',y',z')旋转之后的坐标为p”(x”,y”,z”),则场景绕X轴旋转的旋转矩阵为:
Figure FDA0003668415280000041
其中参数β表示绕X轴旋转角度,
Figure FDA0003668415280000042
则旋转之后的坐标为:
Figure FDA0003668415280000043
公式(8)化简后可得公式(9),
Figure FDA0003668415280000044
则p”(x”,y”,z”)为最终的旋转结果。
4.根据权利要求3所述的一种基于点云的室内场景物体提取方法,其特征在于,所述步骤3具体为:
步骤3.1,场景平面检测
由步骤2可知平面检测集合F={f1,f2,...,fm}、其中参数fm为场景平面,
则水平平面集合Fh={f1,f2,...,fh},h≤m、其中参数fh为水平平面,
则竖直平面集合Fv={f1,f2,...,fv},v≤m、其中参数fv为竖直平面,
根据以上参数,得到场景中最低点的Z轴坐标值为z0,计算所有水平平面中心的Z轴坐标值与z0的差值,差值最小的水平平面记为地面f;
步骤3.2,去除场景中地面和墙面
设步骤3.1竖直平面集合中任一竖直平面fi的法向量
Figure FDA0003668415280000051
1≤i≤m,则竖直平面法向量集合为Vv={v1,v2,...,vv};设步骤3.1中地面f的法向量为
Figure FDA0003668415280000052
若满足
Figure FDA0003668415280000053
Figure FDA0003668415280000054
即fi⊥f,得到候选竖直墙面集合Fc={f1,f2,...,fc},c≤v、fc为候选竖直墙面,若fc还满足仅有一侧有点,则该fc为墙面;去除掉墙面fc和地面f;
步骤3.3,分割优化
对于由物体遮挡造成的点云数据缺失的情况,选取地面二维坐标系平面作为投影平面,将场景数据投影到地面二维坐标系平面上,设需要投影的数据集合Pr={p1,p2,...,pi},投影结果Pr'={p1',p2',...,pn'},其中需要投影的点pi(xi,yi,zi)∈Pr,pi对应的投影点为pi'(xi',yi',zi')∈Pr';
选取二维坐标系平面中任意一点m(xm,ym,zm),二维坐标系平面法向量n=(a,b,c),则
Figure FDA0003668415280000055
Figure FDA0003668415280000056
方向上投影的高度为l:
Figure FDA0003668415280000057
由于
Figure FDA0003668415280000058
Figure FDA0003668415280000059
Figure FDA00036684152800000510
方向上的投影向量,故
Figure FDA00036684152800000511
因为
Figure FDA00036684152800000512
Figure FDA00036684152800000513
的方向相同,所以
Figure FDA00036684152800000514
根据公式(10)可得出点pi在二维坐标系平面上的投影点pi'坐标为:
Figure FDA00036684152800000515
对于投影结果Pr'={p1',p2',...,pn'},使用基于欧氏距离的区域生长算法进行分割,将投影分割的结果再映射到需要投影的数据集合Pr={p1,p2,...,pi}上,即完成分割,得到若干个子场景。
5.根据权利要求4所述的一种基于点云的室内场景物体提取方法,其特征在于,所述步骤4具体为:
步骤4.1,获取步骤3子场景中最大水平平面及其上方点集
步骤4.1.1,采用随机抽样一致性算法检测子场景中的所有水平平面;
步骤4.1.2,使用OBB包围盒包围所有水平平面,计算包围盒内最长轴与次长轴所确定平面面积,将面积最大的水平平面记作承载平面,其上方的点集即为承载面上方放置的物体;
步骤4.1.3,设定阈值为KT,步骤4.1.1承载平面上方的点集中点的个数为N,若N≥KT,则认为其上方存在物体并将上方的点集提取;若N<KT,则认为其上方不存在物体;
步骤4.2,对子场景细分与物体提取
对于步骤4.1中最大水平平面及其上方点集,使用随机抽样一致性算法平面检测算法将其分割成若干个平面;然后通过判断任意两个平面是否相邻,对于相邻的平面,需要判断其平面间的凹凸关系,根据凹凸关系判断这两个平面是属于同一物体,若这两个平面属于同一物体,使用跨越平面凸关系的区域生长算法进行聚类,完成提取。
6.根据权利要求5所述的一种基于点云的室内场景物体提取方法,其特征在于,所述步骤4.2中跨越平面凸关系的区域生长算法具体为:
①设平面数据集为G,选取一个种子平面S1作为生长的起点,当相邻平面与种子平面S1的关系为凸时,则将该种子平面S1加入生长集合Q1中,成为新的种子平面,并开始向周围进行生长,当周围的平面都不满足条件时,则本次区域生长结束;
②在剩余的未加入生长集合Q1的平面中重新选取新的种子平面,重复步骤①,则新的生长集合为Q2
③重复步骤②直到G中所有的平面都加入到新的生长集合为Q2中,满足Q={Q1,Q2,...Qi},则整个生长过程结束,属于同一物体的平面被聚为一类。
CN201810840778.1A 2018-07-27 2018-07-27 一种基于点云的室内场景物体提取方法 Active CN109034065B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810840778.1A CN109034065B (zh) 2018-07-27 2018-07-27 一种基于点云的室内场景物体提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810840778.1A CN109034065B (zh) 2018-07-27 2018-07-27 一种基于点云的室内场景物体提取方法

Publications (2)

Publication Number Publication Date
CN109034065A CN109034065A (zh) 2018-12-18
CN109034065B true CN109034065B (zh) 2022-08-16

Family

ID=64646946

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810840778.1A Active CN109034065B (zh) 2018-07-27 2018-07-27 一种基于点云的室内场景物体提取方法

Country Status (1)

Country Link
CN (1) CN109034065B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059591B (zh) * 2019-04-01 2021-04-16 北京中科晶上超媒体信息技术有限公司 运动目标区域的识别方法
CN110249741B (zh) * 2019-06-05 2020-07-28 中国农业大学 一种基于点云模型的马铃薯种薯切块方法
CN110930488B (zh) * 2019-11-15 2023-06-06 深圳市瑞立视多媒体科技有限公司 鱼体行为模拟方法、装置、设备及存储介质
CN111915725B (zh) * 2020-08-21 2024-04-12 青岛联合创智科技有限公司 一种基于运动重建的人体测量方法
CN115222799B (zh) * 2021-08-12 2023-04-11 达闼机器人股份有限公司 图像重力方向的获取方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396254B1 (en) * 2012-02-09 2013-03-12 Google Inc. Methods and systems for estimating a location of a robot
CN107748890A (zh) * 2017-09-11 2018-03-02 汕头大学 一种基于深度图像的视觉抓取方法、装置及其可读存储介质
CN108171748A (zh) * 2018-01-23 2018-06-15 哈工大机器人(合肥)国际创新研究院 一种面向机器人智能抓取应用的视觉识别与定位方法
CN108320293A (zh) * 2018-01-26 2018-07-24 南京信息工程大学 一种结合改进粒子群算法的快速点云边界提取技术

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396254B1 (en) * 2012-02-09 2013-03-12 Google Inc. Methods and systems for estimating a location of a robot
CN107748890A (zh) * 2017-09-11 2018-03-02 汕头大学 一种基于深度图像的视觉抓取方法、装置及其可读存储介质
CN108171748A (zh) * 2018-01-23 2018-06-15 哈工大机器人(合肥)国际创新研究院 一种面向机器人智能抓取应用的视觉识别与定位方法
CN108320293A (zh) * 2018-01-26 2018-07-24 南京信息工程大学 一种结合改进粒子群算法的快速点云边界提取技术

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Structure-based Object Classification and Recognition for 3D Scenes in Point Clouds》;Ning, XJ,et al。;《2014 INTERNATIONAL CONFERENCE ON VIRTUAL REALITY AND VISUALIZATION》;20141231;第166-173页 *
《基于平面基元组的建筑物场景点云自动配准方法》;梁栋,等;《武汉大学学报 信息科学版》;20161231;第41卷(第12期);第1613-1618页 *

Also Published As

Publication number Publication date
CN109034065A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
CN109034065B (zh) 一种基于点云的室内场景物体提取方法
CN108304873B (zh) 基于高分辨率光学卫星遥感影像的目标检测方法及其系统
Xiao et al. Multiple view semantic segmentation for street view images
CN105046197B (zh) 基于聚类的多模板行人检测方法
Lin et al. Shape-based human detection and segmentation via hierarchical part-template matching
CN110111338B (zh) 一种基于超像素时空显著性分割的视觉跟踪方法
CN110992341A (zh) 一种基于分割的机载LiDAR点云建筑物提取方法
CN105528794A (zh) 基于混合高斯模型与超像素分割的运动目标检测方法
CN114492619B (zh) 一种基于统计和凹凸性的点云数据集构建方法及装置
CN103473551A (zh) 基于sift算子的台标识别方法及系统
Wang et al. Head pose estimation with combined 2D SIFT and 3D HOG features
CN113012161B (zh) 一种基于凸性区域生长的堆叠散乱目标点云分割方法
CN108509925B (zh) 一种基于视觉词袋模型的行人重识别方法
CN108154158B (zh) 一种面向增强现实应用的建筑物图像分割方法
CN114200477A (zh) 一种激光三维成像雷达地面目标点云数据处理方法
CN108509950B (zh) 基于概率特征加权融合的铁路接触网支柱号牌检测识别法
Kim et al. Urban scene understanding from aerial and ground LIDAR data
Wang et al. An overview of 3d object detection
CN111783722B (zh) 一种激光点云的车道线提取方法和电子设备
CN115035260A (zh) 一种室内移动机器人三维语义地图构建方法
Bogoslavskyi et al. Analyzing the quality of matched 3D point clouds of objects
CN103353941A (zh) 基于视角分类的自然标志物注册方法
CN110246165B (zh) 提高可见光图像与sar图像配准速度的方法及系统
Zhang et al. Category modeling from just a single labeling: Use depth information to guide the learning of 2d models
CN113657216A (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