CN105678844A - 一种基于地物散乱点逐点增加的轮廓构建算法 - Google Patents
一种基于地物散乱点逐点增加的轮廓构建算法 Download PDFInfo
- Publication number
- CN105678844A CN105678844A CN201610006645.5A CN201610006645A CN105678844A CN 105678844 A CN105678844 A CN 105678844A CN 201610006645 A CN201610006645 A CN 201610006645A CN 105678844 A CN105678844 A CN 105678844A
- Authority
- CN
- China
- Prior art keywords
- atural object
- shape point
- sparse
- point
- sparse shape
- 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.)
- Granted
Links
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/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明的一种基于地物散乱点逐点增加的轮廓构建算法,通过逐点增加的方法生成地物轮廓,经过多轮迭代增点,快速准确的搜索出较佳的封闭连线方案,形成地物的轮廓区域;克服了现有搜索中枚举算法的时间爆炸性膨胀以及遗传算法的不可靠的缺陷。并且通过设置的准则函数克服了多边形自相交的可能,可以保证多边形接近于建筑物实际地面区域,从而可以对一定区域建筑物或者推广到任意规则形状进行统计分析。
Description
技术领域
本发明涉及一种基于地物散乱点逐点增加的轮廓构建算法,属于地理信息科学领域。
背景技术
在分析一个地区建筑物分布特性时,工程师们可以测量出该地区地物稀疏形状点,所谓地物的形状点是指地物的地面轮廓区域中带有明显转折的边角点,可以设定一个基准坐标系,借助一些传统的手段(如皮尺)测量出这些边角点的坐标值。然而,这样的形状点往往是稀疏的,因此,不能简单地认为距离相近的形状点的连线构成了地物的一个轮廓边缘。对于地物稀疏形状点,如果其凸包包含了所有的稀疏形状点,此时,这种封闭的连线方案是唯一的,但事实上,地物(例如建筑物)地面区域的轮廓往往构成的是凹多边形,封闭连线方案并不唯一,因此,必须在满足要求的情况下搜索出最佳凹多边形。这个问题类似于TSP问题(TravellingSalesmanProblem),TSP问题最简单的求解方法是枚举法,对于n个节点,TSP枚举算法的时间复杂度为O(n!),很明显,这种爆炸性增长的时间复杂度使得人们必须寻求时间更佳的算法,所以TSP问题大多集中在启发式解法,然而启发式搜索算法有着许多不足,例如,许多参数的设定要依据经验,速度相对较慢,并且对于大规模的数据点,遗传算法的结果并不可靠。
发明内容
发明目的:针对上述现有技术,一种基于地物散乱点逐点增加的轮廓构建算法,快速准确的得到地物轮廓。
技术方案:一种基于地物散乱点逐点增加的轮廓构建算法,包括以下步骤:
S1,将测量得到的n个地物稀疏形状点依次存储在大小为n的容器vector中,n个稀疏形状点依次占据容器的n个位置,将n个地物稀疏形状点依次标号为P1,P2,…Pn,相邻稀疏形状点相连则形成地物轮廓的一种封闭多边形方案,其中n大于3;
S2,初始迭代次数i=0,并初始最佳准则函数值J_best=inf,inf根据经验值设定;
S3,随机化n个地物稀疏形状点在容器vector的位置;
S4,将随机化后容器vector中位置为1、2、3的三个地物稀疏形状点取出,并将其存储在大小为n的新容器vector_new中前三个位置,所述三个地物稀疏形状点连接成一个封闭的三角形;
S5,依次从容器vector中取出第4至第n个地物稀疏形状点,对于第x个地物稀疏形状点,采用插入式加点法并依据贪婪算法将其加入前x-1个地物稀疏形状点构成的封闭多边形中,并将该地物稀疏形状点保存在新容器vector_new中相应位置;
遍历第4至第n个地物稀疏形状点后,计算出当前n个地物稀疏形状点构成的封闭多边形的准则函数值J,若J<J_best,则更新J_best=J;
S6,返回步骤S3,进行迭代计算,若本次迭代计算得到的封闭多边形的准则函数值小于J_best,则更新J_best=本次迭代计算得到的封闭多边形的准则函数值;当n个地物稀疏形状点构成的封闭多边形的准则函数值均保持不变时,结束迭代计算,并根据此时新容器vector_new中n个地物稀疏形状点的顺序绘制得到地物轮廓。
进一步的,所述步骤S5中,对于第x个地物稀疏形状点,采用插入式加点法并依据贪婪算法将其加入前x-1个地物稀疏形状点构成的封闭多边形中的具体方法为:
设当前要插入点为p,将点p逐次插入前x-1个地物稀疏形状点之后的每个位置,并计算每次插入后形成封闭多边形的准则函数值,准则函数最小的那次插入位置为点p的最终插入位置。
进一步的,所述步骤S5中,如果多边形出现自相交时,其准则函数值即为inf,否则多边形的准则函数值为:θi为多边形中两相邻边向量的夹角集合。
有益效果:本发明的一种基于地物散乱点逐点增加的轮廓构建算法,通过逐点增加的方法生成地物轮廓,经过多轮迭代增点,快速准确的搜索出较佳的封闭连线方案,形成地物的轮廓区域;克服了现有搜索中枚举算法的时间爆炸性膨胀以及遗传算法的不可靠的缺陷。并且通过设置的准则函数克服了多边形自相交的可能,可以保证多边形接近于建筑物实际地面区域,从而可以对一定区域建筑物或者推广到任意规则形状进行统计分析。
附图说明
图1为本发明方法的流程示意图;
图2为容器中存储的点与对应的多边形关系图;
图3为一轮插入操作示意图;
图4为相邻向量间-的夹角;
图5为封闭多边形的角度;
图6为插入操作出现相交的情形;
图7为准则函数对比示意图;
图8为时间对比示意图。
具体实施方式
下面将结合附图对本发明作进一步描述。
如图1所示,一种基于地物散乱点逐点增加的轮廓构建算法,包括以下步骤:
S1,将测量得到的n个地物稀疏形状点依次存储在大小为n的容器vector中,n个稀疏形状点依次占据容器的n个位置,将n个地物稀疏形状点依次标号为P1,P2,…Pn,相邻稀疏形状点相连则形成地物轮廓的一种封闭多边形方案。
S2,初始迭代次数i=0,并初始最佳准则函数值J_best=inf,inf根据经验值设定,一般可设为106。
S3,随机化n个地物稀疏形状点在容器vector的位置。若一共有5个稀疏形状点,其在容器vector的原始位置若为p1,p2,p3,p4,p5,现采用一种随机算法,使得顺序随机化为另一种顺序,例如可能成为p3,p1,p2,p5,p4。
S4,将随机化后容器vector中位置为1、2、3的三个地物稀疏形状点取出,并将其存储在大小为n的新容器vector_new中前三个位置,三个地物稀疏形状点连接成一个封闭的三角形。如果n<3,则提醒“稀疏点过少,无法构成封闭多边形”;如果n=3,则返回该封闭三角形,结束程序。
S5,依次从容器vector中取出第4至第n个地物稀疏形状点,对于每一个点,尝试将其加入原先的多边形中,即对于第x个地物稀疏形状点,采用插入式加点法并依据贪婪算法将其加入前x-1个地物稀疏形状点构成的封闭多边形中,并将该地物稀疏形状点保存在新容器vector_new中相应位置。
其中,对于第x个地物稀疏形状点,采用插入式加点法并依据贪婪算法将其加入前x-1个地物稀疏形状点构成的封闭多边形中的具体方法为:
设当前要插入点为p,将点p逐次插入前x-1个地物稀疏形状点之后的每个位置,并计算每次插入后形成封闭多边形的准则函数值,准则函数最小的那次插入位置为点p的最终插入位置。
以图2、图3所示为例,若当前要插入点p为从容器vector中取出第6个地物稀疏形状点p6,前5个地物稀疏形状点形成的最佳多边形如图2所示,其在新容器vector_new中的存储位置依次为p1,p2,p3,p4,p5;现要插入第六个点p6,如图3所示为第一次插入,即将点p6插入点p1和p2之间,然后计算插入之后新多边形的准则函数值,即计算新多边形p1p6p2p3p4p5的准则函数值。然后再将点p6依次其插入p2,p3,p4,p5点之后,依据贪婪思想,准则函数最小的那次插入位置为p6的最佳插入位置。
准则函数的设计如图4所示,依据实际地物的状况,期望多边形中两相邻边向量的夹角θ的值接近0度或者90度,而不能非常接近180度,依照这种期望,定义对于单个角度,如图4中AB向量和BC向量的角度,其对整体准则函数J的贡献为:
对于一个简单多边形如图5所示,设计其准则函数为:
θi为多边形中两相邻边向量的夹角集合。
然而,上述的加点方式很有可能会出现多边形自相交的情形,若对于如图2所示的简单多边形p1p2p3p4p5,当将点p6插入至点p1之后形成的多边形p1p6p2p3p4p5出现了自相交,如图6所示,而这必定不满足地物的地面轮廓,因此必须拒绝这种插入情况。本发明中即在插入的时候检测插入点所形成的俩条边是否与原多边形的其他边发生相交,例如在图6中,可以检测边p6p1、p6p2是否与边p1p5、p5p4、p4p3、p3p2相交,倘若存在相交,则设此种情况的准则函数值为inf,inf为远大于J的数;由于最终选取的插入位置为准则函数值最小的插入位置,并且可以证明使得准则函数最小的位置,必定不自相交,因此这种方法完美的克服了多边形出现自相交的可能。
因此最终的准则函数确定如下:
遍历第4至第n个地物稀疏形状点后,计算出当前n个地物稀疏形状点构成的封闭多边形的准则函数值J,若J<J_best,则认为当前多边形比之前构成的多边形更优,并更新J_best=J,并保存此时的序列L。
S6,返回步骤S3,进行迭代计算,若本次迭代计算得到的封闭多边形的准则函数值小于J_best,则更新J_best=本次迭代计算得到的封闭多边形的准则函数值;当n个地物稀疏形状点构成的封闭多边形的准则函数值均保持不变时,结束迭代计算,并根据此时新容器vector_new中n个地物稀疏形状点的顺序绘制得到地物轮廓。
步骤S6即采用多轮随机优化的策略,选取最好的准则函数对应的那组多边形作为最优多边形。对于任意一个简单多边形,理论可以证明其可以通过逐次加点的方式来构建出来,然后这种构建方式与加点的顺序是有关的,因此,本发明采用多次随机优化的策略来优化单次加点带来的准则函数局部最小的问题。从而提高了最终实际模型的鲁棒性。需要注意的是,达到最优解所需的循环次数并不知道,因此,实际中常常逐次增加循环次数,使得最终的目标函数值稳定。
下面给出了本方法与暴力搜索性能的对比。
图7和图8分别给出了本方法与传统的暴力搜索得出多边形的准则函数值以及算法所用时间函数对比图,其中准则函数值越大表示搜索出的封闭路劲越差。时间函数越大,表示搜索耗费时间越长,效率越差。
暴力搜索:这种搜索方式就是对每一个排列进行搜索,对于n个点,我们知道这样的排列有n!个,但是形成一个闭环的时候,第一个点可以随机给定,此时得搜索(n-1)!次,暴力搜索法的最大优势就在于它可以得到全局最优,可是显而易见,其搜索成本是非常大的。
通过实验的对比发现,本方法搜索出来的封闭多边形有着很好的准则函数,当点的个数很少时,几乎就是最优解,并且有着非常好的时间性能。暴力搜索虽然可以得到全局最优解,但是其时间的爆炸性指数增长趋势,决定了它只能解决非常小规模的问题。而复杂的建筑物地面区域的边角点相对比较多,因此,可以利用本发明原理通过地物稀疏形状点自动生成地物轮廓。本发明提出了一种通过建筑物的稀疏特征点,实现建筑物轮廓描述的方法,进一步来说,该方法可以适用于任意的封闭区域的描述,从而对某一区域进行面积等数量的统计;另外,本发明回避了搜索中枚举算法的时间爆炸性膨胀以及遗传算法的不可靠的缺陷,快速准确的得到地物地面轮廓,并且有着较好的鲁棒性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (3)
1.一种基于地物散乱点逐点增加的轮廓构建算法,其特征在于,包括以下步骤:
S1,将测量得到的n个地物稀疏形状点依次存储在大小为n的容器vector中,n个稀疏形状点依次占据容器的n个位置,将n个地物稀疏形状点依次标号为P1,P2,…Pn,相邻稀疏形状点相连则形成地物轮廓的一种封闭多边形方案,其中n大于3;
S2,初始迭代次数i=0,并初始最佳准则函数值J_best=inf,inf根据经验值设定;
S3,随机化n个地物稀疏形状点在容器vector的位置;
S4,将随机化后容器vector中位置为1、2、3的三个地物稀疏形状点取出,并将其存储在大小为n的新容器vector_new中前三个位置,所述三个地物稀疏形状点连接成一个封闭的三角形;
S5,依次从容器vector中取出第4至第n个地物稀疏形状点,对于第x个地物稀疏形状点,采用插入式加点法并依据贪婪算法将其加入前x-1个地物稀疏形状点构成的封闭多边形中,并将该地物稀疏形状点保存在新容器vector_new中相应位置;
遍历第4至第n个地物稀疏形状点后,计算出当前n个地物稀疏形状点构成的封闭多边形的准则函数值J,若J<J_best,则更新J_best=J;
S6,返回步骤S3,进行迭代计算,若本次迭代计算得到的封闭多边形的准则函数值小于J_best,则更新J_best=本次迭代计算得到的封闭多边形的准则函数值;当n个地物稀疏形状点构成的封闭多边形的准则函数值均保持不变时,结束迭代计算,并根据此时新容器vector_new中n个地物稀疏形状点的顺序绘制得到地物轮廓。
2.根据权利要求1所述的利用人工地物稀疏形状点自动生成地物轮廓的方法,其特征在于:所述步骤S5中,对于第x个地物稀疏形状点,采用插入式加点法并依据贪婪算法将其加入前x-1个地物稀疏形状点构成的封闭多边形中的具体方法为:
设当前要插入点为p,将点p逐次插入前x-1个地物稀疏形状点之后的每个位置,并计算每次插入后形成封闭多边形的准则函数值,准则函数最小的那次插入位置为点p的最终插入位置。
3.根据权利要求1所述的利用人工地物稀疏形状点自动生成地物轮廓的方法,其特征在于:所述步骤S5中,如果多边形出现自相交时,其准则函数值即为inf,否则多边形的准则函数值为:θi为多边形中两相邻边向量的夹角集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610006645.5A CN105678844B (zh) | 2016-01-06 | 2016-01-06 | 一种基于地物散乱点逐点增加的轮廓构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610006645.5A CN105678844B (zh) | 2016-01-06 | 2016-01-06 | 一种基于地物散乱点逐点增加的轮廓构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105678844A true CN105678844A (zh) | 2016-06-15 |
CN105678844B CN105678844B (zh) | 2018-04-24 |
Family
ID=56299010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610006645.5A Active CN105678844B (zh) | 2016-01-06 | 2016-01-06 | 一种基于地物散乱点逐点增加的轮廓构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105678844B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107607612A (zh) * | 2017-08-11 | 2018-01-19 | 清华大学 | 基于漏磁信号的垂直分量的缺陷轮廓识别方法及装置 |
CN109493360A (zh) * | 2018-10-10 | 2019-03-19 | 东南大学 | 一种人工地物散乱形状点自动生成建筑物轮廓的方法 |
CN109741458A (zh) * | 2019-01-24 | 2019-05-10 | 苏明 | 一种基于Unity3D快速构建复杂多边形平面的方法 |
CN110727755A (zh) * | 2019-10-14 | 2020-01-24 | 武汉汉达瑞科技有限公司 | 一种多边形直角化方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060193493A1 (en) * | 2003-07-17 | 2006-08-31 | Thales | Method for measuring the proximity of two contours and system for automatic identification of targets |
CN102565810A (zh) * | 2011-12-30 | 2012-07-11 | 武汉大学 | 一种遥感影像上土地利用地物边界轮廓提取方法 |
CN104504444A (zh) * | 2014-12-29 | 2015-04-08 | 东南大学 | 一种利用人工地物稀疏形状点自动生成地物轮廓的方法 |
-
2016
- 2016-01-06 CN CN201610006645.5A patent/CN105678844B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060193493A1 (en) * | 2003-07-17 | 2006-08-31 | Thales | Method for measuring the proximity of two contours and system for automatic identification of targets |
CN102565810A (zh) * | 2011-12-30 | 2012-07-11 | 武汉大学 | 一种遥感影像上土地利用地物边界轮廓提取方法 |
CN104504444A (zh) * | 2014-12-29 | 2015-04-08 | 东南大学 | 一种利用人工地物稀疏形状点自动生成地物轮廓的方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107607612A (zh) * | 2017-08-11 | 2018-01-19 | 清华大学 | 基于漏磁信号的垂直分量的缺陷轮廓识别方法及装置 |
CN107607612B (zh) * | 2017-08-11 | 2019-11-22 | 清华大学 | 基于漏磁信号的垂直分量的缺陷轮廓识别方法及装置 |
CN109493360A (zh) * | 2018-10-10 | 2019-03-19 | 东南大学 | 一种人工地物散乱形状点自动生成建筑物轮廓的方法 |
CN109493360B (zh) * | 2018-10-10 | 2021-07-09 | 东南大学 | 一种人工地物散乱形状点自动生成建筑物轮廓的方法 |
CN109741458A (zh) * | 2019-01-24 | 2019-05-10 | 苏明 | 一种基于Unity3D快速构建复杂多边形平面的方法 |
CN110727755A (zh) * | 2019-10-14 | 2020-01-24 | 武汉汉达瑞科技有限公司 | 一种多边形直角化方法、电子设备及存储介质 |
CN110727755B (zh) * | 2019-10-14 | 2022-02-08 | 武汉汉达瑞科技有限公司 | 一种地物形状规则化方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105678844B (zh) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104613976B (zh) | 确定路径的方法及装置 | |
CN105678844A (zh) | 一种基于地物散乱点逐点增加的轮廓构建算法 | |
CN103529843A (zh) | Lambda*路径规划算法 | |
CN107169557A (zh) | 一种对布谷鸟优化算法进行改进的方法 | |
CN106600617A (zh) | 基于曲率从Lidar点云数据提取建筑物轮廓线的方法 | |
CN106056606A (zh) | 图像处理方法及装置 | |
CN109461209B (zh) | 一种新型结构网格生成方法 | |
CN105512752A (zh) | 一种城市公共服务设施选址方法 | |
Sun | A fast, free-form rubber-sheet algorithm for contiguous area cartograms | |
CN104851133A (zh) | 一种图像自适应网格生成变分方法 | |
CN106802958B (zh) | Cad数据到gis数据的转换方法及系统 | |
CN104361625A (zh) | 一种基于射线原理的带边界保留的云数据精简算法 | |
CN103473420B (zh) | 一种分区统计地图中统计图表的自动定位方法 | |
CN108447125B (zh) | 一种基于多波束测深数据的Delaunay三角网快速生成方法 | |
Gu et al. | Robot path planning of improved adaptive Ant Colony System Algorithm based on Dijkstra | |
CN105528423A (zh) | 顾及空间实例距离权重的自适应同位模式获取方法和装置 | |
Siddiqi et al. | A memory efficient stochastic evolution based algorithm for the multi-objective shortest path problem | |
Liao et al. | Grid partition variable step alpha shapes algorithm | |
CN103679717A (zh) | 基于马尔科夫随机场的图像分割方法 | |
CN103020402B (zh) | 建模方法和装置 | |
CN114296444A (zh) | 基于蚁群算法的栅格路径规划方法、系统、设备和存储介质 | |
CN104794747A (zh) | 一种基于射线原理的三维点云数据精简算法 | |
CN104504444A (zh) | 一种利用人工地物稀疏形状点自动生成地物轮廓的方法 | |
Li et al. | Wireless ad hoc network simulation based on virtual reality technology | |
Jiechen et al. | A Novel Method of Buffer Generation Based on Vector Boundary Tracing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |