CN116740546A - 基于非等距切片和边界特征的窗户检测方法 - Google Patents
基于非等距切片和边界特征的窗户检测方法 Download PDFInfo
- Publication number
- CN116740546A CN116740546A CN202310740603.4A CN202310740603A CN116740546A CN 116740546 A CN116740546 A CN 116740546A CN 202310740603 A CN202310740603 A CN 202310740603A CN 116740546 A CN116740546 A CN 116740546A
- Authority
- CN
- China
- Prior art keywords
- point
- window
- slices
- boundary
- points
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 33
- 238000012216 screening Methods 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 24
- 238000005070 sampling Methods 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 15
- 230000007547 defect Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 8
- 230000009191 jumping Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 4
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims description 3
- 239000012634 fragment Substances 0.000 claims description 3
- 101150067055 minC gene Proteins 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/35—Categorising the entire scene, e.g. birthday party or wedding scene
- G06V20/38—Outdoor scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了基于非等距切片和边界特征的窗户检测方法,步骤1,对建筑立面进行非等距切片的划分,得到具有潜在窗户的切片和墙壁切片;步骤2,在步骤1得到的潜在窗户切片上,提取切片的内边界点;步骤3,对步骤2获取的内边界点进行聚类分割,并筛选出所有窗户元素;步骤4,在步骤3中得到的窗户元素中,进行分类和补全,最终得到更准确的窗户形状。本发明解决了现有技术中存在的因遮挡造成窗户数据缺失和漏检的问题。
Description
技术领域
本发明属于计算机视觉和图像处理方法技术领域,涉及基于非等距切片和边界特征的窗户检测方法。
背景技术
随着三维激光扫描技术的快速发展,构建真实三维场景精细模型已经成为城市规划等的发展趋势。窗户作为建筑立面的主要组成部分,是精细立面模型构建的关键。
近年来,大多数国内外研究学者只针对建筑物外部轮廓特征进行建筑物三维重建,对于建筑物细节特征的研究很少,并且无法达到理想效果。由于大多数建筑立面中的窗户其玻璃材质的原因无法反映激光束。同时室外场景的复杂性,比如植被等元素的遮挡,也会导致建筑立面出现孔洞以及窗户区域点云数据缺失等问题,严重影响窗户检测的准确性和完整性。除此之外,目前大多数研究学者在针对现代建筑立面进行窗户检测时,会默认建筑底部不存在窗户,直接将底层点进行删除。但实际上,建筑底部可能会存在门和各种形状的窗户,这会导致窗户漏检的情况发生。
发明内容
本发明的目的是提供基于非等距切片和边界特征的窗户检测方法,解决了现有技术中存在的因遮挡造成窗户数据缺失和漏检的问题。
本发明采用的技术方案是,基于非等距切片和边界特征的窗户检测方法,具体按照以下步骤实施:
步骤1,对建筑立面进行非等距切片的划分,得到具有潜在窗户的切片和墙壁切片;
步骤2,在步骤1得到的潜在窗户切片上,提取切片的内边界点;
步骤3,对步骤2获取的内边界点进行聚类分割,并筛选出所有窗户元素;
步骤4,在步骤3中得到的窗户元素中,进行分类和补全,最终得到更准确的窗户形状。
本发明的特点还在于,
首先对建筑立面进行水平垂直切片,通过分析切片密度变化,进行切片的非等距划分和标记,针对标记为存在潜在窗户的切片进行内边界点提取;其次,基于改进的K-means++算法对内边界点进行单体化操作,根据窗户几何特征剔除干扰元素;然后,对窗户边界点集合进行分类,对数据残缺的窗户边界和漏检的窗户区域进行补全;最后,对每一个完整的窗户边界点进行轮廓线绘制,实现建筑立面上窗户的检测。
步骤1具体为:
步骤1.1,计算水平非等距切片,沿y轴方向对建筑立面点云数据按照自下而上的方向进行等间距切片,得到水平切片集S={S1,S2,S3,…,Si,…,Su},其中,Si表示第i个切片,u为切片总数;
步骤1.2,根据下式(1)和式(2)分别计算每一个切片的密度和相邻切片间的密度变化,
ei=|ρi+1-ρi| (2)
如果相邻切片之间的密度变化不大于阈值e0,则将该相邻切片进行合并,切片厚度变为hi=hi+hi+1,其中hi和hi+1分别为第i和i+1个切片的厚度;否则,不进行合并,将第i+1和i+2个切片重新进行比较;
步骤1.3,重复步骤1.2,将满足合并条件的切片按照从下到上的方向进行组合,从而获得更新的点云切片集S';
步骤1.4,判断S'中每个切片的状态
步骤1.4.1,针对原始切片集S中每一个切片,将截取的片段M分为两部分M1和M2,通过公式(3)计算占比ρM来判断其是否为存在潜在窗户的片段;
步骤1.4.2,若ρM在阈值ρ1和ρ2之间,则将其标记为墙壁,反之标记为存在潜在窗户;
步骤1.4.3,然后统计S'中每个切片所包含两种标记的数量num1和num2,如果num1>>num2,则认为该切片为墙壁片段;反之是存在潜在窗户的片段;
步骤1.5,计算垂直非等距切片,方法同水平非等距切片方法类似,主要是沿x轴方向对建筑立面点云数据按照自左而右的方向进行划分。
步骤2具体为:
步骤2.1,先对目标切片的内外边界进行初步提取;
步骤2.2,基于步骤2.1的结果,剔除目标切面的外边界点,提取出内边界点。
步骤2.1具体如下:
步骤2.1.1,针对目标切片,将切片左下角的点,即x值最小的点,作为初始采样点p,采用kd树索引结构对该点进行近邻搜索,从而获得点p的k个近邻点的点集集合NPS(pk)={pj,||pj-p||<r,j=0,1,…,k};
步骤2.1.2,以初始采样点p作为坐标原点,构建局部坐标系,并依次将NPS(pk)中的每个点根据x坐标和y坐标划分到局部坐标系的四个象限中,统计分布在每个象限中点的数量。若存在某一个象限中没有近邻点,则初步认为该点为边界点;反之,重复上述步骤判断下一个点;
步骤2.1.3,若该采样点被初步认为是边界点,则针对邻域点集NPS(pk)中共k+1个点进行平面拟合,设平面方程如公式(4)所示:
ax+by+cz+d=0(c≠0) (4)
通过定义的公式(6)将公式(4)转换为公式(5)所示,并使该拟合方程满足最小,即/>再通过求解方程组(7)得到a0,a1,a2,代入公式(6)中便可获得公式(5)中的平面方程结果;
z=a0x+a1y+a2 (5)
步骤2.1.4,通过公式(8)获得邻域点集中每个点在拟合平面上的投影坐标p′(xi′,yi′,zi′)(i=0,1,…,k),再在拟合平面上通过公式(9)构造邻域投影点与采样点投影点的单位方向向量p′p1″(i=1,2,…,k),由此便可得到点p的邻域点分布情况;
步骤2.1.5,选择p′p1″为起始向量,计算其与拟合平面法向量n的叉积v,再分别计算向量p′pi″(i=2,3,…,k)与p′p1″及v之间的夹角αi和βi(i=1,2,…,k-1),调整各角度方向,使其方向一致,若βi>90°,则取αi=360°-αi;
步骤2.1.6,对αi进行升序排序,通过公式(10)计算相邻向量间的夹角δi(i=1,2,…,k),最大夹角阈值δ设置为90°,比较各δi的大小,取其中的最大值δimax与设定的阈值δ进行比较,若δimax>δ,则认为该采样点p为边界点,将其加入边界点集合C,否则将其认为是非边界点,
步骤2.1.7,重复步骤2.1.1-步骤2.1.6的所有步骤,直至切片中的所有点均已判定,从而获得边界点集合C。
步骤2.2具体为:
步骤2.2.1,在步骤2.1的基础上,针对提取出的水平目标切片,将点云数据集合按照y值大小进行排序后存入一个链表中,通过为点集构建最小包围盒来分别计算出x和y的最小、最大值;
步骤2.2.2,令纬线从最小y值开始,取步长为dy,在y的取值范围内分别计算出每根纬线的最小和最大x值,并将其索引值存入新建的数组O中,直至扫描完所有水平目标切片;
步骤2.2.3,采用同样的方法对垂直目标切片扫描经线,主要令经线从点集中最小x值开始,取步长为dx,在x的取值范围内分别计算出每根经线的最小和最大y值,并将其索引值存入数组O中,直至扫描完所有垂直目标切片;
步骤2.2.4,将重复的索引值删除,从而获得所需的外边界点sout;
步骤2.2.5,将提取出的外边界点sout创建kd树,并将步骤2.1提取的总边界点sall设置为输入;
步骤2.2.6,以sout中的每一个点作为查询点,利用近邻点搜索算法查找邻域点;
步骤2.2.7,在sall中依次找到邻域点对应的索引,将其进行删除;
步骤2.2.8,对sout中所有点云数据进行逐点判断,直至将sout中的所有点均进行判断;
步骤2.2.9,利用公式(11)对剩余的外边界点进行删除,最终只留下所需的内边界点sin;
式(11)中:
xmin、xmax——分别是建筑立面点云的x坐标最小值和最大值;
ymin、ymax——分别是建筑立面点云的y坐标最小值和最大值;
T0、T1——分别是x和y轴上提取内边界点设置的阈值。
步骤3具体为:
步骤3.1,根据输入的边界点集合sin={u0,u1,…,un},计算其质心,并通过KNN算法找到与质心距离最近的点,并将该点作为初始种子点;
步骤3.2,根据公式(13)计算其余点到初始种子点的最近欧式距离,然后利用公式(14)计算其余点被选作下一个聚类中心的概率,将概率最大的点作为下一个聚类中心;
D(ci)=min(dist(ci,u1),dist(ci,u2),dist(ci,u3),…,dist(ci,un)) (12)
步骤3.3,重复步骤3.2,直至得到k个聚类中心或者当前距离变化量小于阈值;
步骤3.4,计算剩余点与k个聚类中心的距离,将距离中心较近的点划分为同一类;
步骤3.5,根据更新的分类集合重新计算聚类中心;
步骤3.6,重复步骤3.4-步骤3.5,直至达到迭代次数或聚类中心不再发生变化,
步骤3.7,去除不属于窗户元素的干扰因素,在代码中设置面积阈值γS、长宽比γL,以及设置距离地面的高度阈值γH,将干扰元素进行删除,实现窗户的单体化提取。
步骤4具体为:
步骤4.1,对窗户进行分类;
步骤4.2,对窗户进行补全操作;
步骤4.3,绘制窗户轮廓线。
步骤4.1具体为:
步骤4.1.1,以窗户长宽比Li、归一化周长Ci和归一化面积Ai构建单个窗户的特征向量Vi(Li,Ci,Ai)
步骤4.1.2,再通过公式(14)、(15)计算立面中每个窗户特征向量之间的相似度D,设置相似度阈值ε,当相似度D<ε时,将V1和V2代表的窗户归为同种类型,反之排除,
式(14)中:
——分别是每个窗户点云的的y坐标最大值和最小值;
——分别是每个窗户点云的的x坐标最大值和最小值;
minC、maxC——分别是所有窗户周长的最小值和最大值;
minA、maxA——分别是所有窗户面积的最小值和最大值;
步骤4.2具体为:
步骤4.2.1,计算同种类型每个窗户轮廓的质心,并根据质心的x坐标进行排序,得到同一行中窗户的排列顺序;
步骤4.2.2,依据排列顺序,采用式(16)计算每一行相邻窗户间的分布间距;
步骤4.2.3,对于数据残缺或漏检的窗户,根据排列规律,将具有完整轮廓的窗户点云复制到窗户数据残缺位置或未检测到窗户的区域,实现窗户的补全;
步骤4.3具体为:
步骤4.3.1,对单体窗户边界特征点集合A中所有点进行标记,表示该点是否已被处理;
步骤4.3.2,从集合A中选择未被标记的左下角(x、y值最小)的点P1作为初始生长点,并将点P1作为第一个元素形成新的点集U,再从点集A中搜索距离点P1最近的点作为它的连接点P2,将P1和P2从点集A中删除,并根据式(17)确定方向向量
步骤4.3.3,从集合A∪U中利用KNN算法搜索点P2的k个近邻点集Ni={Pj,||Pj-Pi||<r,j=0,1,…,k},使用公式(18)计算与/>的角度偏值θi,通过公式(19)计算并选择最小值对应的点Pj作为P2的连接点,并标记为已使用,如果连接点已经被处理过,则跳转到步骤4.3.5;
式(19)中:
di——连接点与其每个近邻点之间的距离;
步骤4.3.4,更新P1=P2,P2=Pj,将P1作为新元素依次加入U,跳转到步骤4.3.3;
步骤4.3.5,若边界特征点未形成闭合图案,则跳转到步骤4.3.2;否则,结束排序。
本发明的有益效果是:
本发明基于非等距切片和边界特征的窗户检测方法,解决了在建筑立面中错误提取出不属于窗户区域的元素或者部分窗户因遮挡或数据残缺而无法识别的问题;本发明可以检测出建筑立面上不同类型的窗户,在准确性、完整性上都有很大的提高,并且拥有较好的鲁棒性,丰富了计算机图形学和视觉智能的方法体系。
附图说明
图1是本发明基于非等距切片和边界特征的窗户检测方法的实施例的步骤1中输入的原始数据;
图2是本发明基于非等距切片和边界特征的窗户检测方法实施例的步骤1中得到的建筑立面非等距水平切片划分结果;
图3是本发明基于非等距切片和边界特征的窗户检测方法实施例的步骤1中得到的建筑立面非等距垂直切片划分结果;
图4是本发明基于非等距切片和边界特征的窗户检测方法实施例的步骤2边界点提取结果;
图5是本发明基于非等距切片和边界特征的窗户检测方法实施例的步骤2内边界点提取结果;
图6是本发明基于非等距切片和边界特征的窗户检测方法实施例的步骤3的窗户单体化结果图;
图7是本发明基于非等距切片和边界特征的窗户检测方法实施例的步骤4的窗户补全结果图;
图8是本发明基于非等距切片和边界特征的窗户检测方法实施例的步骤4的窗户检测结果图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
实施例1
本实施例提供一种基于非等距切片和边界特征的窗户检测方法,具体按照以下步骤实施:
步骤1,对建筑立面进行非等距切片的划分,得到具有潜在窗户的切片和墙壁切片;
步骤2,在步骤1得到的潜在窗户切片上,提取切片的内边界点;
步骤3,对步骤2获取的内边界点进行聚类分割,并筛选出所有窗户元素;
步骤4,在步骤3中得到的窗户元素中,进行分类和补全,最终得到更准确的窗户形状。
实施例2
本实施例提供一种基于非等距切片和边界特征的窗户检测方法,在实施例1的基础上,首先对建筑立面进行水平垂直切片,通过分析切片密度变化,进行切片的非等距划分和标记,针对标记为存在潜在窗户的切片进行内边界点提取;其次,基于改进的K-means++算法对内边界点进行单体化操作,根据窗户几何特征剔除干扰元素;然后,对窗户边界点集合进行分类,对数据残缺的窗户边界和漏检的窗户区域进行补全;最后,对每一个完整的窗户边界点进行轮廓线绘制,实现建筑立面上窗户的检测。
实施例3
本实施例提供一种基于非等距切片和边界特征的窗户检测方法,在实施例1的基础上,具体按照以下步骤实施:
步骤1,对建筑立面进行非等距切片的划分,得到具有潜在窗户的切片和墙壁切片;
步骤1.1,如图1所示,计算水平非等距切片,沿y轴方向对建筑立面点云数据按照自下而上的方向进行等间距切片,间距设为0.07mm,得到水平切片集S={S1,S2,S3,…,Si,…,Su},其中,Si表示第i个切片,u为切片总数;
步骤1.2,根据下式(1)和式(2)分别计算每一个切片的密度和相邻切片间的密度变化,
ei=|ρi+1-ρi| (2)
如果相邻切片之间的密度变化不大于阈值e0,即相邻切片在密度变化不大的情况下,则将该相邻切片进行合并,切片厚度变为hi=hi+hi+1,其中hi和hi+1分别为第i和i+1个切片的厚度;否则,不进行合并,将第i+1和i+2个切片重新进行比较;
步骤1.3,重复步骤1.2,将满足合并条件的切片按照从下到上的方向进行组合,从而获得更新的点云切片集S';
步骤1.4,判断S'中每个切片的状态
步骤1.4.1,针对原始切片集S中每一个切片,将截取的片段M分为两部分M1和M2,通过公式(3)计算占比ρM来判断其是否为存在潜在窗户的片段;
步骤1.4.2,若ρM在阈值ρ1和ρ2之间(ρ1和ρ2的值分别为0.45和0.55),则将其标记为墙壁,反之标记为存在潜在窗户;
步骤1.4.3,然后统计S'中每个切片所包含两种标记的数量num1和num2,如果num1>>num2,则认为该切片为墙壁片段;反之是存在潜在窗户的片段,水平划分结果如图2所示;
步骤1.5,计算垂直非等距切片,方法同水平非等距切片方法类似,主要是沿x轴方向对建筑立面点云数据按照自左而右的方向进行划分。
步骤2,在步骤1得到的潜在窗户切片上,提取切片的内边界点;
步骤2.1,先对目标切片的内外边界进行初步提取;
步骤2.2,基于步骤2.1的结果,剔除目标切面的外边界点,提取出内边界点。
步骤2.1具体如下:
步骤2.1.1,针对目标切片,将切片左下角的点,即x值最小的点,作为初始采样点p。采用kd树索引结构对该点进行近邻搜索,从而获得点p的k个近邻点的点集集合NPS(pk)={pj,||pj-p||<r,j=0,1,…,k};
步骤2.1.2,以初始采样点p作为坐标原点,构建局部坐标系,并依次将NPS(pk)中的每个点根据x坐标和y坐标划分到局部坐标系的四个象限中,统计分布在每个象限中点的数量。若存在某一个象限中没有近邻点,则初步认为该点为边界点;反之,重复上述步骤判断下一个点;
步骤2.1.3,若该采样点被初步认为是边界点,则针对邻域点集NPS(pk)中共k+1个点进行平面拟合,设平面方程如公式(4)所示:
ax+by+cz+d=0(c≠0) (4)
通过定义的公式(6)将公式(4)转换为公式(5)所示,并使该拟合方程满足最小,即/>再通过求解方程组(7)得到a0,a1,a2,代入公式(6)中便可获得公式(5)中的平面方程结果;
z=a0x+a1y+a2 (5)
步骤2.1.4,通过公式(8)获得邻域点集中每个点在拟合平面上的投影坐标p′(xi′,yi′,zi′)(i=0,1,…,k),再在拟合平面上通过公式(9)构造邻域投影点与采样点投影点的单位方向向量p′p1″(i=1,2,…,k),由此便可得到点p的邻域点分布情况;
步骤2.1.5,选择p′p1″为起始向量,计算其与拟合平面法向量n的叉积v,再分别计算向量p′pi″(i=2,3,…,k)与p′p1″及v之间的夹角αi和βi(i=1,2,…,k-1),调整各角度方向,使其方向一致,若βi>90°,则取αi=360°-αi;
步骤2.1.6,对αi进行升序排序,通过公式(10)计算相邻向量间的夹角δi(i=1,2,…,k),最大夹角阈值δ设置为90°,比较各δi的大小,取其中的最大值δimax与设定的阈值δ进行比较,若δimax>δ,则认为该采样点p为边界点,将其加入边界点集合C,否则将其认为是非边界点,
步骤2.1.7,重复步骤2.1.1-步骤2.1.6的所有步骤,直至切片中的所有点均已判定,从而获得边界点集合C,提取结果如图4所示。
步骤2.2具体为:
步骤2.2.1,在步骤2.1的基础上,针对提取出的水平目标切片,将点云数据集合按照y值大小进行排序后存入一个链表中,通过为点集构建最小包围盒来分别计算出x和y的最小、最大值;
步骤2.2.2,令纬线从最小y值开始,取步长为dy,在y的取值范围内分别计算出每根纬线的最小和最大x值,并将其索引值存入新建的数组O中,直至扫描完所有水平目标切片;
步骤2.2.3,采用同样的方法对垂直目标切片扫描经线,主要令经线从点集中最小x值开始,取步长为dx,在x的取值范围内分别计算出每根经线的最小和最大y值,并将其索引值存入数组O中,直至扫描完所有垂直目标切片;
步骤2.2.4,将重复的索引值删除,从而获得所需的外边界点sout;
步骤2.2.5,将提取出的外边界点sout创建kd树,并将步骤2.1提取的总边界点sall设置为输入;
步骤2.2.6,以sout中的每一个点作为查询点,利用近邻点搜索算法查找邻域点;
步骤2.2.7,在sall中依次找到邻域点对应的索引,将其进行删除;
步骤2.2.8,对sout中所有点云数据进行逐点判断,直至将sout中的所有点均进行判断;
步骤2.2.9,利用公式(11)对剩余的外边界点进行删除,最终只留下所需的内边界点sin,提取的内边界点结果如图5所示;
式(11)中:
xmin、xmax——分别是建筑立面点云的x坐标最小值和最大值;
ymin、ymax——分别是建筑立面点云的y坐标最小值和最大值;
T0、T1——分别是x和y轴上提取内边界点设置的阈值。
步骤3,对步骤2获取的内边界点进行聚类分割,并筛选出所有窗户元素;
步骤3.1,根据输入的边界点集合sin={u0,u1,…,un},计算其质心,并通过KNN算法找到与质心距离最近的点,并将该点作为初始种子点;
步骤3.2,根据公式(13)计算其余点到初始种子点的最近欧式距离,然后利用公式(14)计算其余点被选作下一个聚类中心的概率,将概率最大的点作为下一个聚类中心;
D(ci)=min(dist(ci,u1),dist(ci,u2),dist(ci,u3),…,dist(ci,un)) (12)
步骤3.3,重复步骤3.2,直至得到k个聚类中心或者当前距离变化量小于阈值;
步骤3.4,计算剩余点与k个聚类中心的距离,将距离中心较近的点划分为同一类;
步骤3.5,根据更新的分类集合重新计算聚类中心;
步骤3.6,重复步骤3.4-步骤3.5,直至达到迭代次数或聚类中心不再发生变化,
步骤3.7,去除不属于窗户元素的干扰因素,在代码中设置面积阈值γS小于0.9或大于4、长宽比γL(高度:宽度)大于3(3:1),以及设置距离地面的高度阈值γH小于0.5,将干扰元素进行删除,实现窗户的单体化提取。
步骤4,在步骤3中得到的窗户元素中,进行分类和补全,最终得到更准确的窗户形状;
步骤4.1,对窗户进行分类;
步骤4.1.1,以窗户长宽比Li、归一化周长Ci和归一化面积Ai构建单个窗户的特征向量Vi(Li,Ci,Ai)
步骤4.1.2,再通过公式(14)、(15)计算立面中每个窗户特征向量之间的相似度D,设置相似度阈值ε,当相似度D<ε时,将V1和V2代表的窗户归为同种类型,反之排除,
式(14)中:
——分别是每个窗户点云的的y坐标最大值和最小值;
——分别是每个窗户点云的的x坐标最大值和最小值;
minC、maxC——分别是所有窗户周长的最小值和最大值;
minA、maxA——分别是所有窗户面积的最小值和最大值;
步骤4.2,对窗户进行补全操作;
步骤4.2.1,计算同种类型每个窗户轮廓的质心,并根据质心的x坐标进行排序,得到同一行中窗户的排列顺序;
步骤4.2.2,依据排列顺序,采用式(16)计算每一行相邻窗户间的分布间距;
步骤4.2.3,对于数据残缺或漏检的窗户,根据排列规律,将具有完整轮廓的窗户点云复制到窗户数据残缺位置或未检测到窗户的区域,实现窗户的补全,补全结果如图7所示;
步骤4.3,绘制窗户轮廓线
步骤4.3.1,对单体窗户边界特征点集合A中所有点进行标记,表示该点是否已被处理;
步骤4.3.2,从集合A中选择未被标记的左下角(x、y值最小)的点P1作为初始生长点,并将点P1作为第一个元素形成新的点集U,再从点集A中搜索距离点P1最近的点作为它的连接点P2,将P1和P2从点集A中删除,并根据式(17)确定方向向量
步骤4.3.3,从集合A∪U中利用KNN算法搜索点P2的k个近邻点集Ni={Pj,||Pj-Pi||<r,j=0,1,…,k},使用公式(18)计算与/>的角度偏值θi,通过公式(19)计算并选择最小值对应的点Pj作为P2的连接点,并标记为已使用,如果连接点已经被处理过,则跳转到步骤4.3.5;/>
式(19)中:
di——连接点与其每个近邻点之间的距离;
步骤4.3.4,更新P1=P2,P2=Pj,将P1作为新元素依次加入U,跳转到步骤4.3.3;
步骤4.3.5,若边界特征点未形成闭合图案,则跳转到步骤4.3.2;否则,结束排序,最终的窗户检测结果如图8所示。
Claims (9)
1.基于非等距切片和边界特征的窗户检测方法,其特征在于,具体按照以下步骤实施:
步骤1,对建筑立面进行非等距切片的划分,得到具有潜在窗户的切片和墙壁切片;
步骤2,在步骤1得到的潜在窗户切片上,提取切片的内边界点;
步骤3,对步骤2获取的内边界点进行聚类分割,并筛选出所有窗户元素;
步骤4,在步骤3中得到的窗户元素中,进行分类和补全,最终得到更准确的窗户形状。
2.根据权利要求1所述的基于非等距切片和边界特征的窗户检测方法,其特征在于,首先对建筑立面进行水平垂直切片,通过分析切片密度变化,进行切片的非等距划分和标记,针对标记为存在潜在窗户的切片进行内边界点提取;其次,基于改进的K-means++算法对内边界点进行单体化操作,根据窗户几何特征剔除干扰元素;然后,对窗户边界点集合进行分类,对数据残缺的窗户边界和漏检的窗户区域进行补全;最后,对每一个完整的窗户边界点进行轮廓线绘制,实现建筑立面上窗户的检测。
3.根据权利要求1所述的基于非等距切片和边界特征的窗户检测方法,其特征在于,所述步骤1具体为:
步骤1.1,计算水平非等距切片,沿y轴方向对建筑立面点云数据按照自下而上的方向进行等间距切片,得到水平切片集S={S1,S2,S3,…,Si,…,Su},其中,Si表示第i个切片,u为切片总数;
步骤1.2,根据下式(1)和式(2)分别计算每一个切片的密度和相邻切片间的密度变化,
ei=|ρi+1-ρi| (2)
如果相邻切片之间的密度变化不大于阈值e0,则将该相邻切片进行合并,切片厚度变为hi=hi+hi+1,其中hi和hi+1分别为第i和i+1个切片的厚度;否则,不进行合并,将第i+1和i+2个切片重新进行比较;
步骤1.3,重复步骤1.2,将满足合并条件的切片按照从下到上的方向进行组合,从而获得更新的点云切片集S';
步骤1.4,判断S'中每个切片的状态
步骤1.4.1,针对原始切片集S中每一个切片,将截取的片段M分为两部分M1和M2,通过公式(3)计算占比ρM来判断其是否为存在潜在窗户的片段;
步骤1.4.2,若ρM在阈值ρ1和ρ2之间,则将其标记为墙壁,反之标记为存在潜在窗户;
步骤1.4.3,然后统计S'中每个切片所包含两种标记的数量num1和num2,如果num1>>num2,则认为该切片为墙壁片段;反之是存在潜在窗户的片段;
步骤1.5,计算垂直非等距切片,方法同水平非等距切片方法类似,主要是沿x轴方向对建筑立面点云数据按照自左而右的方向进行划分。
4.根据权利要求1所述的基于非等距切片和边界特征的窗户检测方法,其特征在于,所述步骤2具体为:
步骤2.1,先对目标切片的内外边界进行初步提取;
步骤2.2,基于步骤2.1的结果,剔除目标切面的外边界点,提取出内边界点。
5.根据权利要求1所述的基于非等距切片和边界特征的窗户检测方法,其特征在于,所述步骤2.1具体如下:
步骤2.1.1,针对目标切片,将切片左下角的点,即x值最小的点,作为初始采样点p,采用kd树索引结构对该点进行近邻搜索,从而获得点p的k个近邻点的点集集合NPS(pk)={pj,||pj-p||<r,j=0,1,…,k};
步骤2.1.2,以初始采样点p作为坐标原点,构建局部坐标系,并依次将NPS(pk)中的每个点根据x坐标和y坐标划分到局部坐标系的四个象限中,统计分布在每个象限中点的数量,若存在某一个象限中没有近邻点,则初步认为该点为边界点;反之,重复上述步骤判断下一个点;
步骤2.1.3,若该采样点被初步认为是边界点,则针对邻域点集NPS(pk)中共k+1个点进行平面拟合,设平面方程如公式(4)所示:
ax+by+cz+d=0(c≠0)(4)
通过定义的公式(6)将公式(4)转换为公式(5)所示,并使该拟合方程满足最小,即/>再通过求解方程组(7)得到a0,a1,a2,代入公式(6)中便可获得公式(5)中的平面方程结果;
z=a0x+a1y+a2(5)
步骤2.1.4,通过公式(8)获得邻域点集中每个点在拟合平面上的投影坐标p′(xi′,yi′,zi′)(i=0,1,…,k),再在拟合平面上通过公式(9)构造邻域投影点与采样点投影点的单位方向向量p′p1″(i=1,2,…,k),由此便可得到点p的邻域点分布情况;
步骤2.1.5,选择p′p1″为起始向量,计算其与拟合平面法向量n的叉积v,再分别计算向量p′pi″(i=2,3,…,k)与p′p1″及v之间的夹角αi和βi(i=1,2,…,k-1),调整各角度方向,使其方向一致,若βi>90°,则取αi=360°-αi;
步骤2.1.6,对αi进行升序排序,通过公式(10)计算相邻向量间的夹角δi(i=1,2,…,k),最大夹角阈值δ设置为90°,比较各δi的大小,取其中的最大值δimax与设定的阈值δ进行比较,若δimax>δ,则认为该采样点p为边界点,将其加入边界点集合C,否则将其认为是非边界点,
步骤2.1.7,重复步骤2.1.1-步骤2.1.6的所有步骤,直至切片中的所有点均已判定,从而获得边界点集合C。
6.根据权利要求2所述的基于非等距切片和边界特征的窗户检测方法,其特征在于,步骤2.2具体为:
步骤2.2.1,在步骤2.1的基础上,针对提取出的水平目标切片,将点云数据集合按照y值大小进行排序后存入一个链表中,通过为点集构建最小包围盒来分别计算出x和y的最小、最大值;
步骤2.2.2,令纬线从最小y值开始,取步长为dy,在y的取值范围内分别计算出每根纬线的最小和最大x值,并将其索引值存入新建的数组O中,直至扫描完所有水平目标切片;
步骤2.2.3,采用同样的方法对垂直目标切片扫描经线,主要令经线从点集中最小x值开始,取步长为dx,在x的取值范围内分别计算出每根经线的最小和最大y值,并将其索引值存入数组O中,直至扫描完所有垂直目标切片;
步骤2.2.4,将重复的索引值删除,从而获得所需的外边界点sout;
步骤2.2.5,将提取出的外边界点sout创建kd树,并将步骤2.1提取的总边界点sall设置为输入;
步骤2.2.6,以sout中的每一个点作为查询点,利用近邻点搜索算法查找邻域点;
步骤2.2.7,在sall中依次找到邻域点对应的索引,将其进行删除;
步骤2.2.8,对sout中所有点云数据进行逐点判断,直至将sout中的所有点均进行判断;
步骤2.2.9,利用公式(11)对剩余的外边界点进行删除,最终只留下所需的内边界点sin;
式(11)中:
xmin、xmax——分别是建筑立面点云的x坐标最小值和最大值;
ymin、ymax——分别是建筑立面点云的y坐标最小值和最大值;
T0、T1——分别是x和y轴上提取内边界点设置的阈值。
7.根据权利要求1所述的基于非等距切片和边界特征的窗户检测方法,其特征在于,所述步骤3具体为:
步骤3.1,根据输入的边界点集合sin={u0,u1,…,un},计算其质心,并通过KNN算法找到与质心距离最近的点,并将该点作为初始种子点;
步骤3.2,根据公式(13)计算其余点到初始种子点的最近欧式距离,然后利用公式(14)计算其余点被选作下一个聚类中心的概率,将概率最大的点作为下一个聚类中心;
D(ci)=min(dist(ci,u1),dist(ci,u2),dist(ci,u3),…,dist(ci,un))(12)
步骤3.3,重复步骤3.2,直至得到k个聚类中心或者当前距离变化量小于阈值;
步骤3.4,计算剩余点与k个聚类中心的距离,将距离中心较近的点划分为同一类;
步骤3.5,根据更新的分类集合重新计算聚类中心;
步骤3.6,重复步骤3.4-步骤3.5,直至达到迭代次数或聚类中心不再发生变化,
步骤3.7,去除不属于窗户元素的干扰因素,在代码中设置面积阈值γS、长宽比γL,以及设置距离地面的高度阈值γH,将干扰元素进行删除,实现窗户的单体化提取。
8.根据权利要求1所述的基于非等距切片和边界特征的窗户检测方法,其特征在于,所述步骤4具体为:
步骤4.1,对窗户进行分类;
步骤4.2,对窗户进行补全操作;
步骤4.3,绘制窗户轮廓线。
9.根据权利要求8所述的基于非等距切片和边界特征的窗户检测方法,其特征在于,所述步骤4.1具体为:
步骤4.1.1,以窗户长宽比Li、归一化周长Ci和归一化面积Ai构建单个窗户的特征向量Vi(Li,Ci,Ai);
步骤4.1.2,再通过公式(14)、(15)计算立面中每个窗户特征向量之间的相似度D,设置相似度阈值ε,当相似度D<ε时,将V1和V2代表的窗户归为同种类型,反之排除,
式(14)中:
——分别是每个窗户点云的的y坐标最大值和最小值;
——分别是每个窗户点云的的x坐标最大值和最小值;
minC、maxC——分别是所有窗户周长的最小值和最大值;
minA、maxA——分别是所有窗户面积的最小值和最大值;
所述步骤4.2具体为:
步骤4.2.1,计算同种类型每个窗户轮廓的质心,并根据质心的x坐标进行排序,得到同一行中窗户的排列顺序;
步骤4.2.2,依据排列顺序,采用式(16)计算每一行相邻窗户间的分布间距;
步骤4.2.3,对于数据残缺或漏检的窗户,根据排列规律,将具有完整轮廓的窗户点云复制到窗户数据残缺位置或未检测到窗户的区域,实现窗户的补全;
所述步骤4.3具体为:
步骤4.3.1,对单体窗户边界特征点集合A中所有点进行标记,表示该点是否已被处理;
步骤4.3.2,从集合A中选择未被标记的左下角(x、y值最小)的点P1作为初始生长点,并将点P1作为第一个元素形成新的点集U,再从点集A中搜索距离点P1最近的点作为它的连接点P2,将P1和P2从点集A中删除,并根据式(17)确定方向向量
步骤4.3.3,从集合A∪U中利用KNN算法搜索点P2的k个近邻点集Ni={Pj,||Pj-Pi||<r,j=0,1,…,k},使用公式(18)计算与/>的角度偏值θi,通过公式(19)计算并选择最小值对应的点Pj作为P2的连接点,并标记为已使用,如果连接点已经被处理过,则跳转到步骤4.3.5;
式(19)中:
di——连接点与其每个近邻点之间的距离;
步骤4.3.4,更新P1=P2,P2=Pj,将P1作为新元素依次加入U,跳转到步骤4.3.3;
步骤4.3.5,若边界特征点未形成闭合图案,则跳转到步骤4.3.2;否则,结束排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310740603.4A CN116740546A (zh) | 2023-06-21 | 2023-06-21 | 基于非等距切片和边界特征的窗户检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310740603.4A CN116740546A (zh) | 2023-06-21 | 2023-06-21 | 基于非等距切片和边界特征的窗户检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116740546A true CN116740546A (zh) | 2023-09-12 |
Family
ID=87914833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310740603.4A Pending CN116740546A (zh) | 2023-06-21 | 2023-06-21 | 基于非等距切片和边界特征的窗户检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116740546A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117173364A (zh) * | 2023-11-02 | 2023-12-05 | 江苏通创现代建筑产业技术研究院有限公司 | 基于建筑立体绘图的切片出图方法及系统 |
-
2023
- 2023-06-21 CN CN202310740603.4A patent/CN116740546A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117173364A (zh) * | 2023-11-02 | 2023-12-05 | 江苏通创现代建筑产业技术研究院有限公司 | 基于建筑立体绘图的切片出图方法及系统 |
CN117173364B (zh) * | 2023-11-02 | 2024-04-05 | 江苏通创现代建筑产业技术研究院有限公司 | 基于建筑立体绘图的切片出图方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Fusion of lidar and imagery for reliable building extraction | |
CN107665351B (zh) | 基于难样本挖掘的机场检测方法 | |
CN109118500B (zh) | 一种基于图像的三维激光扫描点云数据的分割方法 | |
CN106650640B (zh) | 一种基于激光雷达点云局部结构特征的负障碍物检测方法 | |
CN110992341A (zh) | 一种基于分割的机载LiDAR点云建筑物提取方法 | |
Biosca et al. | Unsupervised robust planar segmentation of terrestrial laser scanner point clouds based on fuzzy clustering methods | |
CN101673403B (zh) | 复杂干扰场景下的目标跟踪方法 | |
CN105740798B (zh) | 一种基于结构分析的点云场景物体识别方法 | |
CN109034065B (zh) | 一种基于点云的室内场景物体提取方法 | |
CN108107444A (zh) | 基于激光数据的变电站异物识别方法 | |
CN116740546A (zh) | 基于非等距切片和边界特征的窗户检测方法 | |
CN108154158B (zh) | 一种面向增强现实应用的建筑物图像分割方法 | |
CN112084871B (zh) | 一种基于弱监督学习的高分遥感目标边界提取方法 | |
CN115546116B (zh) | 全覆盖式岩体不连续面提取与间距计算方法及系统 | |
CN112258525B (zh) | 一种基于鸟类高帧频序列图像丰度统计和种群识别算法 | |
Tóvári et al. | Classification methods for 3D objects in laserscanning data | |
CN113486817A (zh) | 一种基于激光扫描的采煤工作面煤岩识别方法 | |
CN116310826B (zh) | 一种基于图神经网络的高分遥感影像林地二级分类方法 | |
Li et al. | A branch-trunk-constrained hierarchical clustering method for street trees individual extraction from mobile laser scanning point clouds | |
Yang et al. | A skeleton-based hierarchical method for detecting 3-D pole-like objects from mobile LiDAR point clouds | |
CN108764157A (zh) | 基于法向量高斯分布的建筑物激光脚点提取方法及系统 | |
CN105678810A (zh) | 基于全局和局部层次最优的细胞跟踪方法 | |
CN113409332A (zh) | 一种基于三维点云的建筑物平面分割方法 | |
Pushkar et al. | Automated progress monitoring of masonry activity using photogrammetric point cloud | |
CN114429537A (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 |