CN114998547A - 电力线和杆塔点的网格随机采样方法、系统及存储介质 - Google Patents
电力线和杆塔点的网格随机采样方法、系统及存储介质 Download PDFInfo
- Publication number
- CN114998547A CN114998547A CN202210473785.9A CN202210473785A CN114998547A CN 114998547 A CN114998547 A CN 114998547A CN 202210473785 A CN202210473785 A CN 202210473785A CN 114998547 A CN114998547 A CN 114998547A
- Authority
- CN
- China
- Prior art keywords
- grid
- current
- point cloud
- points
- list
- 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
- 238000005070 sampling Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 40
- 239000013598 vector Substances 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 15
- 238000001914 filtration Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000003780 insertion Methods 0.000 abstract description 6
- 230000037431 insertion Effects 0.000 abstract description 6
- 238000012217 deletion Methods 0.000 abstract description 5
- 230000037430 deletion Effects 0.000 abstract description 5
- 238000007689 inspection Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
Images
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
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy or water supply
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C1/00—Registering, indicating or recording the time of events or elapsed time, e.g. time-recorders for work people
- G07C1/20—Checking timed patrols, e.g. of watchman
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Public Health (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Water Supply & Treatment (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种电力线和杆塔点的网格随机采样方法、系统及存储介质,设置当前网格,在当前网格内设置网格内数据结构存储格式;遍历当前单帧点云所覆盖的当前点云,将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内。通过在每个点云的数据结构添加时,都可以按照上述网格内数据结构存储格式方式进行;由于无人机在飞行过程中,在很短的时间内也就是连续两帧的点云数据场景变化很小,这样每个构建好的格网(或称网格)的内存基本都无需变动,仅仅需要极少量的插入和删除操作即可实现下一帧的点的存储,无需内存的反复释放与申请,极大的提高了效率,减少了内存占用。
Description
技术领域
本发明涉及输电线路巡检技术领域,尤其涉及一种电力线和杆塔点的网格随机采样方法、系统及存储介质。
背景技术
输电线路巡检是保障电力系统稳定运行基本措施,开发稳定可靠输电线路巡检系统具有重大意义。传统的电力线巡检方法主要通过人工巡检,劳动强度大,效率低,在复杂地形和环境下作业困难且容易发生危险,难以满足当前电网的安全、高效运维需要。
在进行点云采样过程中,需要选择相应算法处理实现对有需要的点云进行采样,然而不需要的点云应当尽量过滤:例如:主要是需要电力线点和杆塔点;一般来说,在激光器采集的一定时间原始点云之后,背景点(即此时的非电力线点和杆塔点)较多,显然上述背景点没有太大用途,可以通过采样方式减少点云数量,同时尽可能保留电力线点和杆塔点。由于在机载平台计算单元计算能力相对较低,需要尽可能满足高效率,减少较低的内存占用。因此,如何克服上述问题是本领域技术人员急需解决的问题。
发明内容
有鉴于此,本发明实施例提出一种电力线和杆塔点的网格随机采样方法、系统及存储介质,用以解决背景技术中指出的问题。
本发明实施例提供了一种电力线和杆塔点的网格随机采样方法,包括:
设置当前网格,在当前网格内设置网格内数据结构存储格式;
遍历当前单帧点云所覆盖的当前点云,将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内。
优先的,作为一种可实施方案;所述设置当前网格,在当前网格内设置网格内数据结构存储格式;遍历当前单帧点云所覆盖的当前点云,将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内,具体包括如下操作:
步骤S100,获取输入的单帧点云,对当前单帧点云所覆盖的每个点进行遍历,记当前单帧点云的每个点在当前空间导航坐标系的坐标对应为点坐标(X,Y,Z),在当前空间导航坐标系的坐标查找其最小坐标(Xmin,Ymin,Zmin)的点,实现标记为最小坐标点(Xmin,Ymin,Zmin);
步骤S200,预设当前网格,设置当前网格为体积大小数值为d的立方体,将每个点转化投影到当前网格中,根据每个点坐标(X,Y,Z)与最小坐标点(Xmin,Ymin,Zmin)关系计算每个点坐标(X,Y,Z)在当前网格中的坐标(px,py,pz)并记为网格节点坐标(px,py,pz),所述网格节点坐标计算可表达为:
px=(X-Xmin)/d;
py=(Y-Ymin)/d;
pz=(Z-Zmin)/d;
步骤S300,在当前网格内设置网格内数据结构存储格式,包括;
设置当前网格的内存单元,所述内存单元用于通过C++标准库中List列表实现对当前网格节点的插入以及删除操作,并用于存储所述点坐标的数据结构PointXYZ;
其中,对当前网格节点的插入操作,包括:
设置每个点坐标的数据结构为PointXYZ,设置每个点坐标(X,Y,Z)在当前网格内存储的数据结构则记为Vector<PointXYZ>;其中Vector为C++标准库中的容器,所述C++标准库中的容器用于连续存储所述点坐标的数据结构PointXYZ;
利用哈希表建立每个网格节点坐标(px,py,pz)与C++标准库中List列表建立键值对,并存储所述键值对;所述C++标准库中List列表用于存储每个点坐标(X,Y,Z)在当前网格内存储的数据结构,以及当前网格内存储的数据结构对应的每个点;
所述键值对key的计算方法如下:key=px*py*pz+px*py+px;所述键值对key用于对网格节点的坐标以及C++标准库中List中的网格节点进行关联表达,由于key所关联的对象为List的迭代器,即在哈希表使用key便可以快速找到List中多对应的网格点云Vector<PointXYZ>;
遍历当前单帧点云所覆盖的所有点,在当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格之前,首先利用步骤S300中的键值对key的计算方法计算每个当前点云转换对应的网格节点的键值对key,在当前哈希表中查找是否存在相同网格节点的键值对key,若不存在,在所述C++标准库中List列表中构建新的Vector<PointXYZ>,并将当前点云坐标(X,Y,Z)插入新建的Vector<PointXYZ>中,之后将新建的Vector<PointXYZ>插入到C++标准库中List列表的前端,同时采用上述步骤S200和步骤S300的方法计算网格节点对应的键值对key,在哈希表中插入键值对key,通过键值对key对当前网格节点的坐标以及C++标准库中List中的网格节点进行关联操作;若相同网格节点的键值对key已存在,则从C++标准库中List列表中找到对应的网格节点的Vector<PointXYZ>,将当前坐标(X,Y,Z)插入相同网格节点的键值对key对应的网格节点中;
其中,对当前网格节点的删除操作,包括:
通过C++标准库中List列表的列表内网格节点数量最大阈值进行设置;
实时对所述C++标准库中List列表的列表内网格节点的数量进行判断,当检测发现当前列表内网格节点的数量大于网格节点数量最大阈值时,则对当前C++标准库中List列表中队列列表末尾处的网格节点进行删除,并将对应的键值对key在哈希表中删除,此时,内存单元执行内存释放操作。
优先的,作为一种可实施方案;上述电力线和杆塔点的网格随机采样方法,还包括对当前网格节点清空操作;
步骤S400,检测当前单帧点云是否处理完毕,在当前单帧点云处理完毕后且连续两帧中下一个当前单帧点云进入之前,将所述C++标准库中List列表中Vector<PointXYZ>内的点全部清除;
且此时所述内存单元的内存并不执行释放操作。
优先的,作为一种可实施方案;上述还包括根据密度随机采样方式获得最终采样点云结果操作。
根据密度随机采样方式获得最终采样点云结果操作,包括:
步骤S510:在构建好的每个网格节点中保存了不同数量的原始点,所述原始点包括地面点,背景点、电力线点、杆塔点;
步骤S520:构造一个均匀分布的随机概率为p,对每个网格节点进行遍历,设置网格节点内的点数为N,保留点数为M;且将连续的网格节点划分为三个区段,设置上述三个区段概率过滤阈值分别为p1,p2,p3,且p1<p2<p3,点数区分阈值为c,点数区分阈值c用于区分背景点,;
步骤S530:根据上述网格节点内的点数为N,保留点数为M以及随机概率为p、三个区段概率过滤阈值分别为p1,p2,p3的数值关系进行密度随机采样计算处理。
优先的,作为一种可实施方案;所述根据上述网格节点内的点数为N,保留点数为M以及随机概率为p、三个区段概率过滤阈值分别为p1,p2,p3的数值关系进行密度随机采样计算处理,具体包括:
如果当N<=1且p<p1;则判定M=N,即控制上述网格节点内的点数全部保留采样;
如果当1<N<c且p<p2;则判定M=N/2,即控制上述网格节点内的M个点数进行保留采样;
如果当N>c且p<p3;则判定M=1,即控制上述网格节点内的1个点数进行保留采样;
遍历所有网格节点,根据上述计算方法对当前所有的网格节点随机获取终采样点云结果。
另外,本发明实施例还提供了一种电力线和杆塔点的网格随机采样系统,包括:设置单元、计算处理单元;
设置单元,用于设置当前网格,在当前网格内设置网格内数据结构存储格式;
计算处理单元,用于遍历当前单帧点云所覆盖的当前点云,将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内。
本发明提供了一种计算机可读存储介质,包括:其存储有计算机程序,在所述计算机程序被执行时,实施根据上述电力线和杆塔点的网格随机采样方法。
与现技术相比,本发明至少存在如下方面的技术效果:
本发明实施例采用的电力线和杆塔点的网格随机采样方法,其将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内,这样在每个点云的数据结构添加时,都可以按照上述网格内数据结构存储格式方式进行;由于无人机在飞行过程中,在很短的时间内也就是连续两帧的点云数据场景变化很小(相邻部分点云坐标关联度较大,可以具有相同网格节点的键值对key),这样每个构建好的格网(或称网格)的内存基本都无需变动,仅仅需要极少量的插入和删除操作即可实现下一帧的点的存储,无需内存的反复释放与申请,极大的提高了效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明实施例一提供的一种电力线和杆塔点的网格随机采样方法的主要流程图;
图2示出了本发明实施例二提供的一种电力线和杆塔点的网格随机采样系统结构示意图。
标号:设置单元10;计算处理单元20。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
设计了一种带有缓存机制且尽可能保留电力线和杆塔点的网格随机采样算法。
本发明实施例提供了一种电力线和杆塔点的网格随机采样方法,包括:
步骤S10,设置当前网格,在当前网格内设置网格内数据结构存储格式;
步骤S20,遍历当前单帧点云所覆盖的当前点云,将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内。
本发明实施例采用的电力线和杆塔点的网格随机采样方法,其将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内,这样在每个点云的数据结构添加时,都可以按照上述网格内数据结构存储格式方式进行;由于无人机在飞行过程中,在很短的时间内也就是连续两帧的点云数据场景变化很小(相邻部分点云坐标关联度较大,可以具有相同网格节点的键值对key),这样每个构建好的格网(或称网格)的内存基本都无需变动,仅仅需要极少量的插入和删除操作即可实现下一帧的点的存储,无需内存的反复释放与申请,极大的提高了效率。
优先的,作为一种可实施方案;所述设置当前网格,在当前网格内设置网格内数据结构存储格式;遍历当前单帧点云所覆盖的当前点云,将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内,具体包括如下操作:
步骤S100,获取输入的单帧点云,对当前单帧点云所覆盖的每个点进行遍历,记当前单帧点云的每个点在当前空间导航坐标系的坐标对应为点坐标(X,Y,Z),在当前空间导航坐标系的坐标查找其最小坐标(Xmin,Ymin,Zmin)的点,实现标记为最小坐标点(Xmin,Ymin,Zmin);
步骤S200,预设当前网格,设置当前网格为体积大小数值为d的立方体,将每个点转化投影到当前网格中,根据每个点坐标(X,Y,Z)与最小坐标点(Xmin,Ymin,Zmin)关系计算每个点坐标(X,Y,Z)在当前网格中的坐标(px,py,pz)并记为网格节点坐标(px,py,pz),所述网格节点坐标计算可表达为:
px=(X-Xmin)/d;
py=(Y-Ymin)/d;
pz=(Z-Zmin)/d;
步骤S300,在当前网格内设置网格内数据结构存储格式,包括;
设置当前网格的内存单元,所述内存单元用于通过C++标准库中List列表实现对当前网格节点的插入以及删除操作,并用于存储所述点坐标的数据结构PointXYZ;
其中,对当前网格节点的插入操作,包括:
设置每个点坐标的数据结构为PointXYZ,设置每个点坐标(X,Y,Z)在当前网格内存储的数据结构则记为Vector<PointXYZ>;其中Vector为C++标准库中的容器,所述C++标准库中的容器用于连续存储所述点坐标的数据结构PointXYZ;
利用哈希表建立每个网格节点坐标(px,py,pz)与C++标准库中List列表建立键值对,并存储所述键值对;所述C++标准库中List列表用于存储每个点坐标(X,Y,Z)在当前网格内存储的数据结构,以及当前网格内存储的数据结构对应的每个点;
所述键值对key的计算方法如下:key=px*py*pz+px*py+px;所述键值对key用于对网格节点的坐标以及C++标准库中List中的网格节点进行关联表达;
遍历当前单帧点云所覆盖的所有点,在当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格之前,首先利用步骤S300中的键值对key的计算方法计算每个当前点云转换对应的网格节点的键值对key,在当前哈希表中查找是否存在相同网格节点的键值对key,若不存在,在所述C++标准库中List列表中构建新的Vector<PointXYZ>,并将当前点云坐标(X,Y,Z)插入新建的Vector<PointXYZ>中,之后将新建的Vector<PointXYZ>插入到C++标准库中List列表的前端,同时采用上述步骤S200和步骤S300的方法计算网格节点对应的键值对key,在哈希表中插入键值对key,通过键值对key对当前网格节点的坐标以及C++标准库中List中的网格节点进行关联操作;若相同网格节点的键值对key已存在,则从C++标准库中List列表中找到对应的网格节点的Vector<PointXYZ>,将当前坐标(X,Y,Z)插入相同网格节点的键值对key对应的网格节点中;
其中,对当前网格节点的删除操作,包括:
通过C++标准库中List列表的列表内网格节点数量最大阈值进行设置;
实时对所述C++标准库中List列表的列表内网格节点的数量进行判断,当检测发现当前列表内网格节点的数量大于网格节点数量最大阈值时,则对当前C++标准库中List列表中队列列表末尾处的网格节点进行删除,并将对应的键值对key在哈希表中删除,此时,内存单元执行内存释放操作。
需要说明的是,为达到快速的网格节点插入以及删除,维护网格缓存动态调整,网格节点使用C++标准库中List列表进行存储,同时,为了达到快速的查找利用哈希表建立网格节点坐标(px,py,pz)与List列表中迭代器建立键值对并存储,从而实现格网的快速查找,插入与删除。键值对key的计算方法如下:key=px*py*pz+px*py+px;
关于插入网格节点:遍历点云中所有点,利用步骤S300的方法计算key,在哈希表中查找是否存在网格节点的key,若不存在,构建新的Vector<PointXYZ>,并将点云坐标(X,Y,Z)插入Vector<PointXYZ>中,之后将Vector<PointXYZ>插入到C++标准库中List列表前端,同时采用上述步骤S200和步骤S300的方法计算网格节点对应的key,在哈希表中插入键值对,关联格网坐标以及C++标准库中List节点。若网格节点元素key已存在,则从List列表中找到对应的网格节点的Vector<PointXYZ>,将坐标(X,Y,Z)插入。
关于删除网格节点:由于计算单元的内存限制,设定一个缓存大小,即网格节点最大个数,当超过一定数量的节点后,在C++标准库中List列表末尾删除节点,并将对应的key在哈希表中删除,此时,内存将被释放。
优先的,作为一种可实施方案;上述电力线和杆塔点的网格随机采样方法,还包括对当前网格节点清空操作;
步骤S400,检测当前单帧点云是否处理完毕,在当前单帧点云处理完毕后且连续两帧中下一个当前单帧点云进入之前,将所述C++标准库中List列表中Vector<PointXYZ>内的点全部清除;
且此时所述内存单元的内存并不执行释放操作。
需要说明的是,当一当前单帧点云处理完毕,下一当前单帧点云进入之前,将C++标准库中List列表中Vector<PointXYZ>内的点全部清除,此时,相应的内存并不释放。当无人机在飞行过程中,在很短的时间内也就是连续两帧的点云数据场景变化很小,构建好的格网的内存基本都无需变动,仅仅需要极少量的插入和删除操作即可实现下一单帧点云的点的存储,无需内存的反复释放与申请,极大的提高了效率。
优先的,作为一种可实施方案;上述还包括根据密度随机采样方式获得最终采样点云结果操作。
根据密度随机采样方式获得最终采样点云结果操作,包括:
步骤S510:在构建好的每个网格节点中保存了不同数量的原始点,所述原始点包括地面点,背景点、电力线点、杆塔点;
步骤S520:构造一个均匀分布的随机概率为p,对每个网格节点进行遍历,设置网格节点内的点数为N,保留点数为M;且将连续的网格节点划分为三个区段,设置上述三个区段概率过滤阈值分别为p1,p2,p3,且p1<p2<p3,点数区分阈值为c,点数区分阈值c用于区分背景点,;
步骤S530:根据上述网格节点内的点数为N,保留点数为M以及随机概率为p、三个区段概率过滤阈值分别为p1,p2,p3的数值关系进行密度随机采样计算处理。
优先的,作为一种可实施方案;所述根据上述网格节点内的点数为N,保留点数为M以及随机概率为p、三个区段概率过滤阈值分别为p1,p2,p3的数值关系进行密度随机采样计算处理,具体包括:
如果当N<=1且p<p1;则判定M=N,即控制上述网格节点内的点数全部保留采样;
如果当1<N<c且p<p2;则判定M=N/2,即控制上述网格节点内的M个点数进行保留采样;
如果当N>c且p<p3;则判定M=1,即控制上述网格节点内的1个点数进行保留采样;
遍历所有网格节点,根据上述计算方法对当前所有的网格节点随机获取终采样点云结果。
关于密度随机采样计算处理:在构建好格网后每个网格节点中保存了不同数量的点,地面点,背景点点数多而电力线以及杆塔点相对较少,因此,可通过点密度以及随机采样的方式进行采样。然后根据上述网格节点内的点数为N,保留点数为M以及随机概率为p、三个区段概率过滤阈值分别为p1,p2,p3的数值关系进行密度随机采样计算处理。具体计算执行公式如上,这样遍历所有网格节点,根据上述采样方法得到最终采样点云结果。
另外,本发明实施例还提供了一种电力线和杆塔点的网格随机采样系统,包括:设置单元10、计算处理单元20;
设置单元10,用于设置当前网格,在当前网格内设置网格内数据结构存储格式;
计算处理单元20,用于遍历当前单帧点云所覆盖的当前点云,将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种电力线和杆塔点的网格随机采样方法,其特征在于,包括:
设置当前网格,在当前网格内设置网格内数据结构存储格式;
遍历当前单帧点云所覆盖的当前点云,将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内。
2.根据权利要求1所述的一种电力线和杆塔点的网格随机采样方法,其特征在于,设置当前网格,在当前网格内设置网格内数据结构存储格式;遍历当前单帧点云所覆盖的当前点云,将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内,具体包括如下操作:
步骤S100,获取输入的单帧点云,对当前单帧点云所覆盖的每个点进行遍历,记当前单帧点云的每个点在当前空间导航坐标系的坐标对应为点坐标(X,Y,Z),在当前空间导航坐标系的坐标查找其最小坐标(Xmin,Ymin,Zmin)的点,实现标记为最小坐标点(Xmin,Ymin,Zmin);
步骤S200,预设当前网格,设置当前网格为体积大小数值为d的立方体,将每个点转化投影到当前网格中,根据每个点坐标(X,Y,Z)与最小坐标点(Xmin,Ymin,Zmin)关系计算每个点坐标(X,Y,Z)在当前网格中的坐标(px,py,pz)并记为网格节点坐标(px,py,pz),所述网格节点坐标计算可表达为:
px=(X-Xmin)/d;
py=(Y-Ymin)/d;
pz=(Z-Zmin)/d;
步骤S300,在当前网格内设置网格内数据结构存储格式,包括;
设置当前网格的内存单元,所述内存单元用于通过C++标准库中List列表实现对当前网格节点的插入以及删除操作,并用于存储所述点坐标的数据结构PointXYZ;
其中,对当前网格节点的插入操作,包括:
设置每个点坐标的数据结构为PointXYZ,设置每个点坐标(X,Y,Z)在当前网格内存储的数据结构则记为Vector<PointXYZ>;其中Vector为C++标准库中的容器,所述C++标准库中的容器用于连续存储所述点坐标的数据结构PointXYZ;
利用哈希表建立每个网格节点坐标(px,py,pz)与C++标准库中List列表建立键值对,并存储所述键值对;所述C++标准库中List列表用于存储每个点坐标(X,Y,Z)在当前网格内存储的数据结构,以及当前网格内存储的数据结构对应的每个点;
所述键值对key的计算方法如下:key=px*py*pz+px*py+px;所述键值对key用于对网格节点的坐标以及C++标准库中List中的网格节点进行关联表达;
遍历当前单帧点云所覆盖的所有点,在当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格之前,首先利用步骤S300中的键值对key的计算方法计算每个当前点云转换对应的网格节点的键值对key,在当前哈希表中查找是否存在相同网格节点的键值对key,若不存在,在所述C++标准库中List列表中构建新的Vector<PointXYZ>,并将当前点云坐标(X,Y,Z)插入新建的Vector<PointXYZ>中,之后将新建的Vector<PointXYZ>插入到C++标准库中List列表的前端,同时采用上述步骤S200和步骤S300的方法计算网格节点对应的键值对key,在哈希表中插入键值对key,通过键值对key对当前网格节点的坐标以及C++标准库中List中的网格节点进行关联操作;若相同网格节点的键值对key已存在,则从C++标准库中List列表中找到对应的网格节点的Vector<PointXYZ>,将当前坐标(X,Y,Z)插入相同网格节点的键值对key对应的网格节点中;
其中,对当前网格节点的删除操作,包括:
通过C++标准库中List列表的列表内网格节点数量最大阈值进行设置;
实时对所述C++标准库中List列表的列表内网格节点的数量进行判断,当检测发现当前列表内网格节点的数量大于网格节点数量最大阈值时,则对当前C++标准库中List列表中队列列表末尾处的网格节点进行删除,并将对应的键值对key在哈希表中删除,此时,内存单元执行内存释放操作。
3.根据权利要求2所述的一种电力线和杆塔点的网格随机采样方法,其特征在于,还包括对当前网格节点清空操作;
步骤S400,检测当前单帧点云是否处理完毕,在当前单帧点云处理完毕后且连续两帧中下一个当前单帧点云进入之前,将所述C++标准库中List列表中Vector<PointXYZ>内的点全部清除;
且此时所述内存单元的内存并不执行释放操作。
4.根据权利要求3所述的一种电力线和杆塔点的网格随机采样方法,其特征在于,还包括根据密度随机采样方式获得最终采样点云结果操作。
5.根据权利要求4所述的一种电力线和杆塔点的网格随机采样方法,其特征在于,根据密度随机采样方式获得最终采样点云结果操作,包括:
步骤S510:在构建好的每个网格节点中保存了不同数量的原始点,所述原始点包括地面点,背景点、电力线点、杆塔点;
步骤S520:构造一个均匀分布的随机概率为p,对每个网格节点进行遍历,设置网格节点内的点数为N,保留点数为M;且将连续的网格节点划分为三个区段,设置上述三个区段概率过滤阈值分别为p1,p2,p3,且p1<p2<p3,点数区分阈值为c,点数区分阈值c用于区分背景点,;
步骤S530:根据上述网格节点内的点数为N,保留点数为M以及随机概率为p、三个区段概率过滤阈值分别为p1,p2,p3的数值关系进行密度随机采样计算处理。
6.根据权利要求5所述的一种电力线和杆塔点的网格随机采样方法,其特征在于,所述根据上述网格节点内的点数为N,保留点数为M以及随机概率为p、三个区段概率过滤阈值分别为p1,p2,p3的数值关系进行密度随机采样计算处理,具体包括:
如果当N<=1且p<p1;则判定M=N,即控制上述网格节点内的点数全部保留采样;
如果当1<N<c且p<p2;则判定M=N/2,即控制上述网格节点内的M个点数进行保留采样;
如果当N>c且p<p3;则判定M=1,即控制上述网格节点内的1个点数进行保留采样;
遍历所有网格节点,根据上述计算方法对当前所有的网格节点随机获取终采样点云结果。
7.一种电力线和杆塔点的网格随机采样系统,其特征在于,包括:设置单元、计算处理单元;
设置单元,用于设置当前网格,在当前网格内设置网格内数据结构存储格式;
计算处理单元,用于遍历当前单帧点云所覆盖的当前点云,将当前点云的点云坐标(X,Y,Z)以适应所述网格内数据结构存储格式方式插入到当前网格内。
8.一种计算机可读存储介质,其特征在于,包括:其存储有计算机程序,在所述计算机程序被执行时,实施根据如权利要求1-6任一项所述的一种电力线和杆塔点的网格随机采样方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210473785.9A CN114998547B (zh) | 2022-04-29 | 2022-04-29 | 电力线和杆塔点的网格随机采样方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210473785.9A CN114998547B (zh) | 2022-04-29 | 2022-04-29 | 电力线和杆塔点的网格随机采样方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114998547A true CN114998547A (zh) | 2022-09-02 |
CN114998547B CN114998547B (zh) | 2023-04-28 |
Family
ID=83025621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210473785.9A Active CN114998547B (zh) | 2022-04-29 | 2022-04-29 | 电力线和杆塔点的网格随机采样方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114998547B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289784A (zh) * | 2011-07-29 | 2011-12-21 | 中山大学 | 一种基于点云模型的数字几何图像简化方法 |
CN108009979A (zh) * | 2017-12-15 | 2018-05-08 | 湖北大学 | 基于时空数据融合的三维点云压缩存储方法及系统 |
CN108961390A (zh) * | 2018-06-08 | 2018-12-07 | 华中科技大学 | 基于深度图的实时三维重建方法 |
CN109447371A (zh) * | 2018-11-12 | 2019-03-08 | 北京中飞艾维航空科技有限公司 | 巡检路径规划方法、装置、电子设备及可读存储介质 |
US20190318548A1 (en) * | 2018-04-16 | 2019-10-17 | Electronics And Telecommunications Research Institute | Method and apparatus for matching virtual space to real space non-rigid body |
CN112883878A (zh) * | 2021-02-24 | 2021-06-01 | 武汉大学 | 一种基于三维格网的变电站场景下的点云自动分类方法 |
-
2022
- 2022-04-29 CN CN202210473785.9A patent/CN114998547B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289784A (zh) * | 2011-07-29 | 2011-12-21 | 中山大学 | 一种基于点云模型的数字几何图像简化方法 |
CN108009979A (zh) * | 2017-12-15 | 2018-05-08 | 湖北大学 | 基于时空数据融合的三维点云压缩存储方法及系统 |
US20190318548A1 (en) * | 2018-04-16 | 2019-10-17 | Electronics And Telecommunications Research Institute | Method and apparatus for matching virtual space to real space non-rigid body |
CN108961390A (zh) * | 2018-06-08 | 2018-12-07 | 华中科技大学 | 基于深度图的实时三维重建方法 |
CN109447371A (zh) * | 2018-11-12 | 2019-03-08 | 北京中飞艾维航空科技有限公司 | 巡检路径规划方法、装置、电子设备及可读存储介质 |
CN112883878A (zh) * | 2021-02-24 | 2021-06-01 | 武汉大学 | 一种基于三维格网的变电站场景下的点云自动分类方法 |
Non-Patent Citations (6)
Title |
---|
吴绍华等: "基于输电线路点云空间分布特征的电力线提取算法研究", 《电力勘测设计》 * |
徐梁刚等: "基于点云数据特征的电力线快速提取和重建", 《激光技术》 * |
李仁忠等: "一种散乱点云的均匀精简算法", 《光学学报》 * |
李啸啸等: "机载LiDAR点云电力线数据处理及安全检测", 《测绘地理信息》 * |
杨泽鑫等: "基于PCL和Qt的点云处理系统设计与开发", 《广东工业大学学报》 * |
王和平等: "输电线走廊点云数据抽稀算法适用性分析", 《测绘科学》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114998547B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9959670B2 (en) | Method for rendering terrain | |
CN113792427B (zh) | 一种已有边界条件下森林火灾蔓延预测模拟的方法 | |
CN111062610B (zh) | 一种基于信息矩阵稀疏求解的电力系统状态估计方法和系统 | |
CN110609572B (zh) | 无人机编队信息交互拓扑的启发式优化方法和装置 | |
CN117197396B (zh) | 一种大规模三维场景快速轻量化方法 | |
CN111426323B (zh) | 一种巡检机器人路线规划方法及装置 | |
CN107564077A (zh) | 一种绘制道路网的方法及装置 | |
CN111854683B (zh) | 用于三维空间数据高程采样的方法及装置、设备 | |
CN115631286B (zh) | 图像渲染方法、装置、设备和存储介质 | |
CN111884849A (zh) | 一种基于谱矩的随机网络系统牵制同步稳定性分析方法 | |
Strominger et al. | Universality and scaling at the onset of quantum black hole formation | |
CN114998547A (zh) | 电力线和杆塔点的网格随机采样方法、系统及存储介质 | |
CN116822018A (zh) | It机房部署方案生成方法、装置、设备以及存储介质 | |
CN111260706B (zh) | 一种基于单目相机的稠密深度图计算方法 | |
CN116452861A (zh) | 目标模型训练方法、装置及电子设备 | |
CN113496543A (zh) | 一种点云数据筛选方法、装置、电子设备和存储介质 | |
CN116481513A (zh) | 地图生成方法、装置、电子设备 | |
CN112288863B (zh) | 一种机器人同步定位与构图导航中的地图构建方法 | |
CN110728053B (zh) | 航空器的保障业务节点的时间预测方法、装置及电子设备 | |
JP2022006180A (ja) | 画像の手ぶれ補正方法、装置、電子機器、記憶媒体、コンピュータプログラム製品、路側機およびクラウド制御プラットフォーム | |
CN113763240A (zh) | 一种点云缩略图生成方法、装置、设备及存储介质 | |
CN114091271A (zh) | 一种设备模型的简化方法、装置、电子设备及存储介质 | |
CN112632208B (zh) | 一种交通流轨迹变形方法及装置 | |
CN111898654A (zh) | 三维对象特征获取方法、装置、计算机设备和存储介质 | |
CN110610544A (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 |