WO2021232469A1 - 一种点云的可视化方法和设备 - Google Patents

一种点云的可视化方法和设备 Download PDF

Info

Publication number
WO2021232469A1
WO2021232469A1 PCT/CN2020/092901 CN2020092901W WO2021232469A1 WO 2021232469 A1 WO2021232469 A1 WO 2021232469A1 CN 2020092901 W CN2020092901 W CN 2020092901W WO 2021232469 A1 WO2021232469 A1 WO 2021232469A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
scheduling
thread
tile
size
Prior art date
Application number
PCT/CN2020/092901
Other languages
English (en)
French (fr)
Inventor
高上
Original Assignee
北京数字绿土科技有限公司
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 北京数字绿土科技有限公司 filed Critical 北京数字绿土科技有限公司
Publication of WO2021232469A1 publication Critical patent/WO2021232469A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to the technical field of point cloud visualization, in particular to a point cloud visualization method and equipment.
  • the laser scanning system can directly obtain the three-dimensional space coordinates of the measured target surface. It has the characteristics of high sampling density and dense point cloud distribution. It is gradually becoming one of the main methods for rapid acquisition of three-dimensional information and is widely used in cultural relics protection and three-dimensional reconstruction. , Digital terrestrial model production, urban planning and other fields.
  • the point data obtained by the scanning system (the collection of points is also the point cloud data) has also risen geometrically.
  • the single file size of the point cloud data is generally in GB (GigaByte, which is also It is called gigabytes or gigabytes or gigabytes or gurerds) level.
  • point cloud data processing methods There are currently some point cloud data processing methods.
  • the publication number is CN107943961A
  • the name is a web-based massive point cloud rendering method, which uses a quad-tree data structure to distribute data and Potree to render the point cloud data
  • this method cannot effectively deal with the current massive point cloud data processing flow, and because the amount of point cloud data is too large, it cannot be fully displayed in the memory.
  • the present invention proposes a point cloud visualization method and device, which adopts an octree structure for constructing point cloud data, which solves the problem of the difficulty in processing massive data and the inability to display all the massive data in the memory. , And through multi-threaded scheduling, scheduling and rendering of multiple point cloud files is realized, and rapid visualization is realized.
  • the embodiment of the present invention provides a point cloud visualization method, which is applied to a processing device, and the method includes:
  • the thread pool determines the thread to be started based on the machine performance of the processing device, and the thread includes a total scheduling thread and multiple tile scheduling sub-threads;
  • the total scheduling thread determines the scheduling strategy based on the scheduling priority set by the user, determines the current maximum loading level based on the scheduling strategy, and makes the tile scheduling sub-thread to load the load based on the scheduling strategy and the current maximum loading level.
  • Point cloud file for rendering
  • the allocating the tile scheduling sub-thread to load the point cloud file based on the number of the tile scheduling sub-threads and the number and size of the point cloud files loaded into the scene includes :
  • For each of the point cloud files when the file size of the point cloud file is smaller than the thread size, select N point cloud files whose total file size is greater than the thread size and allocate a tile scheduling subthread to load , Wherein the total file size of the N-1 point cloud files is smaller than the thread size.
  • the method further includes: if the number of point cloud files loaded into the scene is 1, allocating a preset number of tile scheduling sub-threads for the point cloud files to load, so as to process the points The octree index of the cloud file; the preset number is greater than or equal to 2.
  • the scheduling priority set by the user includes: priority in the same level and priority in nearby details;
  • the corresponding scheduling policy is scheduling by level
  • the corresponding scheduling strategy is scheduling according to the viewpoint distance; among them, the degree of density of the point clouds seen in the scheduling according to the hierarchy is the same; the points seen in the scheduling according to the viewpoint distance are scheduled
  • the degree of cloud density is inconsistent. The closer the viewpoint distance, the denser the point cloud data, and the farther the viewpoint distance, the sparser the point cloud.
  • the determining the current maximum loading level based on the scheduling policy includes:
  • the maximum load level that can be loaded into the memory is determined according to the number of point cloud files loaded in the scene and the current system memory space;
  • the scheduling strategy is scheduling based on the viewpoint distance, then according to the viewpoint, traverse the next-level tiles of the current tile, calculate the required memory size within the range of the lower-level tiles, and determine whether the current physical memory can accommodate the lower-level tiles, if it can accommodate ,
  • the lower tile level is regarded as the current maximum loading level, otherwise, the current tile level is determined to be the current maximum loading level.
  • it further includes:
  • it further includes:
  • the embodiment of the present invention also provides a point cloud visualization device, which is applied to a processing device, and the device includes:
  • the thread scheduling module is used to enable the thread pool in the visualization system, so that the thread pool determines the started threads based on the machine performance of the processing device, and the thread includes a total scheduling thread and multiple tile scheduling sub-threads;
  • An allocation module configured to allocate a plurality of the tile scheduling sub-threads to load the point cloud file based on the number of the tile scheduling sub-threads, the number and size of the point cloud files loaded in the scene;
  • the processing module is configured to determine the scheduling strategy based on the scheduling priority set by the user through the total scheduling thread, determine the current maximum loading level based on the scheduling strategy, and make the tile scheduling sub-thread based on the scheduling strategy and the current maximum loading level.
  • the loading level renders the loaded point cloud file.
  • the allocation module is used to:
  • For each of the point cloud files when the file size of the point cloud file is smaller than the thread size, select N point cloud files whose total file size is greater than the thread size and allocate a tile scheduling subthread to load , Wherein the total file size of the N-1 point cloud files is smaller than the thread size.
  • the allocation module is further configured to allocate a preset number of tile scheduling sub-threads for the point cloud file to load if the number of the point cloud files loaded into the scene is 1, To process the octree index of the point cloud file; the preset number is greater than or equal to 2.
  • the embodiment of the present invention provides a point cloud visualization method and device, which are applied to a processing device.
  • the method includes: constructing an octree structure of the point cloud data based on the spatial characteristics of the point cloud data; wherein, an octree structure is constructed
  • the point cloud data of the tree structure includes point cloud files with multiple levels and spatial index relationships;
  • the thread pool is opened in the visualization system, so that the thread pool determines the opened threads based on the machine performance of the processing device, and the threads include A total scheduling thread and multiple tile scheduling sub-threads; based on the number of the tile scheduling sub-threads, the number and size of the point cloud files loaded into the scene, a plurality of the tile scheduling sub-threads are allocated to load the Point cloud file;
  • the total scheduling thread determines the scheduling strategy based on the scheduling priority set by the user, determines the current maximum loading level based on the scheduling strategy, and makes the tile scheduling sub-thread based on the scheduling strategy and the current maximum loading The level render
  • FIG. 1 is a schematic flowchart of a method for visualizing a point cloud according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a point cloud visualization device proposed by an embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of a point cloud visualization device proposed by an embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of a point cloud visualization device proposed by an embodiment of the present invention.
  • Embodiment 1 of the present invention discloses a point cloud visualization method, which is applied to a processing device. As shown in FIG. 1, the method includes the following steps:
  • Step 101 Construct an octree structure of the point cloud data based on the spatial characteristics of the point cloud data; wherein the point cloud data constructed with the octree structure includes point cloud files with multiple levels and spatial index relationships;
  • point cloud files can be scheduled according to subsequent viewpoints or levels instead of loading all at once, which solves the problems of difficult processing of massive data and slow scene rendering efficiency.
  • the essence is to preprocess the point cloud data.
  • the point cloud data is constructed according to the spatial index method and based on the spatial characteristics of the original point cloud data to construct the original point cloud data octree structure , Where the octree structure contains leaf nodes and non-leaf nodes.
  • Step 102 Start the thread pool in the visualization system, so that the thread pool determines the started threads based on the machine performance of the processing device, and the threads include a total scheduling thread and multiple tile scheduling sub-threads;
  • the thread pool is turned on as an assist thread for rendering scheduling.
  • the number of threads opened in the thread pool is determined according to the performance of the machine. In one embodiment, it may be based on the physical core of the CPU (central processing unit). The number is determined, for example, when there are four physical cores, 8 threads are turned on, and so on.
  • Step 103 Based on the number of the tile scheduling sub-threads, the number and size of the point cloud files loaded into the scene, a plurality of the tile scheduling sub-threads are allocated to load the point cloud file;
  • the tile scheduling subthread is allocated to load the points based on the number of the tile scheduling subthreads, the number and size of the point cloud files loaded into the scene Cloud files, including:
  • N is a positive integer.
  • the number of point cloud files loaded into the scene is less than or equal to the number of tile scheduling sub-threads, then one tile scheduling sub-thread is assigned to a file; second, when the files loaded into the scene are greater than the number of tile sub-threads, Then the allocation of the tile scheduling sub-threads is processed according to the file size.
  • the specific process of allocation according to the point cloud file size is as follows:
  • the point cloud file When a single file is larger than the average size of each tile scheduling sub-thread, the point cloud file is allocated to a tile scheduling sub-thread. When a single point cloud file is smaller than the average size of each tile scheduling sub-thread, it will be Assign a tile scheduling sub-thread for multiple point cloud files. Specifically, the total file size of the multiple point cloud files here is just greater than the average size that each tile scheduling sub-thread can allocate, and remove any of them. Point cloud files will make the total file size smaller than the average size that each tile scheduling sub-thread can allocate.
  • the number of point cloud files loaded into the scene is 1, assign a preset number of tile scheduling sub-threads for the point cloud files to load, so as to process the octree index of the point cloud files;
  • the preset number is greater than or equal to 2.
  • tile scheduling sub-thread when there is only one point cloud file in the scene, according to the current tile scheduling sub-thread, multiple tile scheduling sub-threads are allowed to process the octree index of the point cloud file at the same time.
  • Step 104 Determine a scheduling policy based on the scheduling priority set by the user through the total scheduling thread, determine the current maximum loading level based on the scheduling policy, and make the tile scheduling sub-thread based on the scheduling policy and the current maximum loading level Render the loaded point cloud file.
  • the scheduling priority set by the user includes: priority at the same level and priority at nearby details;
  • the corresponding scheduling policy is scheduling by level
  • the corresponding scheduling strategy is scheduling according to the viewpoint distance; among them, the degree of density of the point clouds seen in the scheduling according to the hierarchy is the same; the points seen in the scheduling according to the viewpoint distance are scheduled
  • the degree of cloud density is inconsistent. The closer you see, the denser the point cloud data, and the farther you see, the sparser the point cloud.
  • the total scheduling thread sets the scheduling priority according to the user (same level priority or close detail priority).
  • the scheduling is based on the level; when the user selects the close detail priority, the scheduling is based on the viewpoint distance. .
  • the determining the current maximum loading level based on the scheduling policy in step 104 includes:
  • the maximum load level that can be loaded into the memory is determined according to the number of point cloud files loaded in the scene and the current system memory space;
  • the scheduling strategy is scheduling based on the viewpoint distance, then according to the viewpoint, traverse the next-level tiles of the current tile, calculate the required memory size within the range of the lower-level tiles, and determine whether the current physical memory can accommodate the lower-level tiles, if it can accommodate ,
  • the lower tile level is regarded as the current maximum loading level, otherwise, the current tile level is determined to be the current maximum loading level.
  • the maximum level that can be loaded into the memory is calculated according to the number of point cloud files loaded in the scene and the current system memory space, and each tile scheduling sub-thread is notified;
  • the viewpoint traverse the next level of tiles of the current tile (the octree has many levels, so there is a hierarchical relationship, for example, the trunk has branches and branches have branches, and the tiles are also divided into Level), calculate how much memory is needed within the lower-level tiles, the current remaining physical memory size (that is, compare the current remaining physical memory size with the memory required by the lower-level tiles), and determine whether the current physical memory size can accommodate the lower-level tiles, if it can Accept, use the lower tile level as the current loading level, otherwise, keep the original level unchanged, and notify each tile loading sub-thread.
  • each tile scheduling sub-thread removes discarded tiles from the assigned point cloud file, and performs operations of loading and rendering new tiles;
  • the exceeding tiles are removed from the scene. Specifically, the removal of discarded tiles is performed. When there are tiles that do not belong to the current loading level in the scene, the tiles are considered to be discarded tiles, and these tiles are removed from the scene.
  • this solution also includes the loading of new tiles.
  • one tile scheduling sub-thread is used to perform octree index data scheduling corresponding to one point cloud file;
  • the point cloud file When a single point cloud file is larger than the average size of each tile scheduling sub-thread, the point cloud file is allocated to one thread. When a single point cloud file is smaller than the average size of each tile scheduling sub-thread, it will be more than Each point cloud file is allocated a tile scheduling sub-thread. In particular, when there is only one point cloud file in the scene, according to the current tile scheduling sub-thread, let multiple tile scheduling sub-threads process the octree index of the point cloud file at the same time;
  • the tiles are sent to the rendering pipeline for rendering.
  • the method also includes:
  • a message is generated by the tile scheduling sub-thread to be fed back to the general scheduling thread.
  • the tile scheduling sub-thread After finishing loading and rendering, notifies the general scheduling thread, and then waits for the next instruction of the general scheduling thread.
  • the octree structure of the original point cloud data is used in this solution to solve the problem of difficult processing of massive data, and solve the problem that the massive data cannot be displayed in the memory.
  • a rendering scheduling strategy is adopted in combination with multithreading. Scheduling solves the problem of rendering scheduling in a three-dimensional scene and quickly visualizing data. Multi-thread scheduling is used to solve the problem of rendering scheduling for multiple files at the same time.
  • Embodiment 2 of the present invention also proposes a point cloud visualization device, which is applied to a processing device. As shown in FIG. 2, the device includes:
  • the construction module 201 is configured to construct an octree structure of the point cloud data based on the spatial characteristics of the point cloud data; wherein the point cloud data constructed with the octree structure includes point cloud files with multiple levels and spatial index relationships ;
  • the thread scheduling module 202 is configured to enable a thread pool in the visualization system, so that the thread pool determines the started threads based on the machine performance of the processing device, and the thread includes a total scheduling thread and multiple tile scheduling sub-threads;
  • An allocation module 203 configured to allocate a plurality of the tile scheduling sub-threads to load the point cloud file based on the number of the tile scheduling sub-threads and the number and size of the point cloud files loaded in the scene;
  • the processing module 204 is configured to determine a scheduling strategy based on the scheduling priority set by the user through the total scheduling thread, determine the current maximum loading level based on the scheduling strategy, and make the tile scheduling sub-thread based on the scheduling strategy and the current The maximum loading level processes and renders the loaded point cloud file.
  • the allocation module 203 is configured to:
  • For each of the point cloud files when the file size of the point cloud file is smaller than the thread size, select N point cloud files whose total file size is greater than the thread size and allocate a tile scheduling subthread to load , Wherein the total file size of the N-1 point cloud files is smaller than the thread size.
  • the allocation module 203 is further configured to allocate a preset number of tile scheduling sub-threads for the point cloud file to load if the number of the point cloud files loaded into the scene is 1. , To process the octree index of the point cloud file; the preset number is greater than or equal to 2.
  • the scheduling priority set by the user includes: priority in the same level and priority in nearby details;
  • the corresponding scheduling policy is scheduling by level
  • the corresponding scheduling strategy is scheduling according to the viewpoint distance; among them, the degree of density of the point clouds seen in the scheduling according to the hierarchy is the same; the points seen in the scheduling according to the viewpoint distance are scheduled
  • the degree of cloud density is inconsistent. The closer you see, the denser the point cloud data, and the farther you see, the sparser the point cloud.
  • the processing module 204 determines the current maximum loading level based on the scheduling policy, including:
  • the maximum load level that can be loaded into the memory is determined according to the number of point cloud files loaded in the scene and the current system memory space;
  • the scheduling strategy is scheduling based on the viewpoint distance, then according to the viewpoint, traverse the next-level tiles of the current tile, calculate the required memory size within the range of the lower-level tiles, and determine whether the current physical memory can accommodate the lower-level tiles, if it can accommodate ,
  • the lower tile level is regarded as the current maximum loading level, otherwise, the current tile level is determined to be the current maximum loading level.
  • the device further includes:
  • the removing module 205 is configured to remove the exceeding tiles out of the scene when there are tiles exceeding the current maximum loading level in the scene.
  • the device further includes:
  • the feedback module 206 is configured to generate a message through the tile scheduling sub-thread and feed it back to the general scheduling thread when the rendering is completed.
  • the embodiment of the present invention provides a point cloud visualization method and device, which are applied to a processing device.
  • the method includes: constructing an octree structure of the point cloud data based on the spatial characteristics of the point cloud data; wherein, an octree structure is constructed
  • the point cloud data of the tree structure includes point cloud files with multiple levels and spatial index relationships;
  • the thread pool is opened in the visualization system, so that the thread pool determines the opened threads based on the machine performance of the processing device, and the threads include A total scheduling thread and multiple tile scheduling sub-threads; based on the number of the tile scheduling sub-threads, the number and size of the point cloud files loaded into the scene, a plurality of the tile scheduling sub-threads are allocated to load the Point cloud file;
  • the total scheduling thread determines the scheduling strategy based on the scheduling priority set by the user, determines the current maximum loading level based on the scheduling strategy, and makes the tile scheduling sub-thread based on the scheduling strategy and the current maximum loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出一种点云的可视化方法和设备,方法包括:基于点云数据的空间特性构建点云数据的八叉树结构;在可视化化系统中开启线程池,以使得线程池基于处理装置的机器性能确定开启的线程;基于瓦片调度子线程的数量、加载到场景中点云文件的数量和大小分配多个瓦片调度子线程加载点云文件;通过总调度线程基于用户设置的调度优先级确定调度策略,基于调度策略确定当前最大加载层级,并使瓦片调度子线程基于调度策略及当前最大加载层级对所加载的点云文件进行渲染。采用构建点云数据的八叉树结构,解决了海量数据处理难以及海量数据无法全部显示到内存中的问题,还通过多线程调度,实现了对多个点云文件进行调度渲染,实现了快速可视化。

Description

一种点云的可视化方法和设备 技术领域
本发明涉及点云可视化技术领域,特别涉及一种点云的可视化方法和设备。
背景技术
激光扫描系统能够直接获取被测目标表面的三维空间坐标,具有采样密度高、点云分布密集等特点,正逐渐成为三维空间信息快速获取的主要手段之一,被广泛应用于文物保护、三维重建、数字地面模型生产、城市规划等领域。但随着激光扫描系统设备精度的提高,扫描系统获得的点的数据(点的集合也即点云数据)也成几何式上升,点云数据的单体文件大小一般在GB(GigaByte,又被称为吉咖字节或京字节或十亿字节或戟)级。
目前存在有一些点云数据的处理方法,例如公开号为CN107943961A,名称为一种基于Web的海量点云渲染方法,其通过采用四叉树数据结构进行分配数据,利用Potree将点云数据进行渲染到Web浏览器上,但是该方法无法有效应对目前海量的点云数据的处理流程,且由于点云数据的数据量过于海量,使得其无法被全部显示到内存中。
由此,如何处理并在系统中展现如此庞大的数据,成为了目前亟待解决的问题。
发明内容
针对现有技术中的缺陷,本发明提出了一种点云的可视化方法和设备,采用构建点云数据的八叉树结构,解决了海量数据处理难以及海量数据无法全部显示到内存中的问题,且还通过多线程调度,实现了对多个点云文件进行调度渲染,实现了快速可视化。
本发明实施例提出了一种点云的可视化方法,应用于处理装置,该方法包括:
基于点云数据的空间特性构建所述点云数据的八叉树结构;其中,构建了八叉树结构的点云数据包括多个层级且具有空间索引关系的点云文件;
在可视化化系统中开启线程池,以使得所述线程池基于处理装置的机器性能确定开启的线程,所述线程包括一个总调度线程和多个瓦片调度子线程;
基于所述瓦片调度子线程的数量、加载到场景中所述点云文件的数量和大小,分配多个所述瓦片调度子线程加载所述点云文件;
通过所述总调度线程基于用户设置的调度优先级确定调度策略,基于所述调度策略确定当前最大加载层级,并使所述瓦片调度子线程基于所述调度策略及当前最大加载层级对所加载的点云文件进行渲染。
在一个具体的实施例中,所述基于所述瓦片调度子线程的数量、加载到场景中所述点云文件的数量和大小分配所述瓦片调度子线程加载所述点云文件,包括:
若加载到场景中所述点云文件的数量大于1且小于或等于所述瓦片调度子线程的数量时,为每个所述点云文件分配一个瓦片调度子线程进行加载;
若加载到场景中所述点云文件的数量大于所述瓦片调度子线程的数量时,基于加载到场景中各所述点云文件的大小确定加载到场景中所述点云文件的文件总大小,以及所述文件总大小平均到每个瓦片调度子线程的线程大小,其中,所述线程大小=文件总大小/所述瓦片调度子线程的数量;
针对各所述点云文件,当所述点云文件的文件大小小于所述线程大小时,选择文件总大小大于所述线程大小的N个所述点云文件分配一个瓦片调度子线程进行加载,其中N-1个所述点云文件的文件总大小小于所述线程大小。
在一个具体的实施例中,还包括:若加载到场景中所述点云文件数量为1时,为所述点云文件分配预设数量的瓦片调度子线程进行加载,以处理所述点云文件的八叉树索引;所述预设数量大于等于2。
在一个具体的实施例中,用户设置的调度优先级包括:同层级优先、近处细节优先;
当所述用户设置的调度优先级为同层级优先时,对应的调度策略为按层级调度;
当所述用户设置的调度优先级为近处细节优先时,对应的调度策略为按视点距离调度;其中,按层级调度所见的点云的疏密程度一致;按视点距离调度所见的点云疏密程度不一致,视点距离越近所见的点云数据越密集,视点距离越远所见的点云越稀疏。
在一个具体的实施例中,所述基于所述调度策略确定当前最大加载层级,包括:
若调度策略为按层级调度,则根据场景加载的点云文件的数量,以及当前系统内存空间,确定当前能够加载进内存的最大加载层级;
若调度策略为按视点距离调度,则根据视点,遍历当前瓦片的下一级瓦片,计算下级瓦片范围内需要的内存大小,并判断当前物理内存能否容纳下级瓦片,若能够容纳,将下级瓦片层级作为当前最大加载层级,否则,确定当前瓦片所在层级为当前最大加载层级。
在一个具体的实施例中,还包括:
当场景中存在超出当前最大加载层级的瓦片时,将超出的所述瓦片移除出所述场景。
在一个具体的实施例中,还包括:
当所述渲染完成,通过所述瓦片调度子线程生成消息反馈给所述总调度线程。
本发明实施例还提出了一种点云的可视化设备,应用于处理装置,该设备包括:
构建模块,用于基于点云数据的空间特性构建所述点云数据的八叉树结构;其中,构建了八叉树结构的点云数据包括多个层级且具有空间索引关系的点云文件;
线程调度模块,用于在可视化化系统中开启线程池,以使得所述线程池基于处理装置的机器性能确定开启的线程,所述线程包括一个总调度线程和多个瓦片调度子线程;
分配模块,用于基于所述瓦片调度子线程的数量、加载到场景中所述点云文件的数量和大小分配多个所述瓦片调度子线程加载所述点云文件;
处理模块,用于通过所述总调度线程基于用户设置的调度优先级确定调度策略,基于所述调度策略确定当前最大加载层级,并使所述瓦片调度子线程基于所述调度策略及当前最大加载层级对所加载的点云文件进行渲染。
在一个具体的实施例中,所述分配模块,用于:
若加载到场景中所述点云文件的数量大于1且小于或等于所述瓦片调度子线程的数量时,为每个所述点云文件分配一个瓦片调度子线程进行加载;
若加载到场景中所述点云文件的数量大于所述瓦片调度子线程的数量时,基于加载到场景中各所述点云文件的大小确定加载到场景中所述点云文件的文件总大小,以及所述文件总大小平均到每个瓦片调度子线程的线程大小,其中,所述线程大小=文件总大小/所述瓦片调度子线程的数量;
针对各所述点云文件,当所述点云文件的文件大小小于所述线程大小时,选择文件总大小大于所述线程大小的N个所述点云文件分配一个瓦片调度子线程进行加载,其中N-1个所述点云文件的文件总大小小于所述线程大小。
在一个具体的实施例中,所述分配模块,还用于若加载到场景中所述点云文件数量为1时,为所述点云文件分配预设数量的瓦片调度子线程进行加载,以处理所述点云文件的八叉树索引;所述预设数量大于等于2。
本发明实施例提出了一种点云的可视化方法和设备,应用于处理装置,该方法包括:基于点云数据的空间特性构建所述点云数据的八叉树结构;其中,构建了八叉树结构的点云数据包括多个层级且具有空间索引关系的点云文件;在可视化化系统中开启线程池,以使得所述线程池基于处理装置的机器性能确定开启的线程,所述线程包括一个总调度线程和多个瓦片调度子线程;基于所述瓦片调度子线程的数量、加载到场景中所述点云文件的数量和大小分配多个所述瓦片调度子线程加载所述点云文件;通过所述总调度线程基于用户设置的调度优先级确定调度策略,基于所述调度策略确定当前最大加载层级,并使所述瓦片调度子线程基于所述调度策略及当前最大加载层级对所加载的点云文件进行渲染。采用构建点云数据的八叉树结构,解决了海量数据处理难以及海量数据无法全部显示到内存中的问题,且还通过多线程 调度,实现了对多个点云文件进行调度渲染,实现了快速可视化。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提出的一种点云的可视化方法的流程示意图;
图2为本发明实施例提出的一种点云的可视化设备的结构示意图;
图3为本发明实施例提出的一种点云的可视化设备的结构示意图;
图4为本发明实施例提出的一种点云的可视化设备的结构示意图。
具体实施方式
在下文中,将更全面地描述本公开的各种实施例。本公开可具有各种实施例,并且可在其中做出调整和改变。
实施例1
本发明实施例1公开了一种点云的可视化方法,应用于处理装置,如图1所示,该方法包括以下步骤:
步骤101、基于点云数据的空间特性构建所述点云数据的八叉树结构;其中,构建了八叉树结构的点云数据包括多个层级且具有空间索引关系的点云文件;
具体的,通过构建八叉树结构,根据后续可以视点或者层级调度点云文件,而不是一次性全部加载,解决了海量数据处理难以及场景渲染效率慢的问题。
具体的,步骤101中,实质是对点云数据进行预处理,具体的,是将点云数据按照空间索引方法,基于原始的点云数据的空间特性构建原始的点云数据的八叉树结构,其中,八叉树结构包含叶子节点和非叶子节点。
步骤102、在可视化化系统中开启线程池,以使得所述线程池基于处理 装置的机器性能确定开启的线程,所述线程包括一个总调度线程和多个瓦片调度子线程;
具体的,在可视化系统中,开启线程池,作为渲染调度的协助线程,线程池开启的线程数是根据机器性能来决定的,在一个实施例中,可以基于CPU(中央处理器)的物理核心数量来决定,例如当有四个物理核心时,开启8个线程等等。
步骤103、基于所述瓦片调度子线程的数量、加载到场景中所述点云文件的数量和大小分配多个所述瓦片调度子线程加载所述点云文件;
在一个具体的实施例中,步骤103中的所述基于所述瓦片调度子线程的数量、加载到场景中所述点云文件的数量和大小分配所述瓦片调度子线程加载所述点云文件,包括:
若加载到场景中所述点云文件的数量大于1且小于或等于所述瓦片调度子线程的数量时,为每个所述点云文件分配一个瓦片调度子线程进行加载;
若加载到场景中所述点云文件的数量大于所述瓦片调度子线程的数量时,基于加载到场景中各所述点云文件的大小确定加载到场景中所述点云文件的文件总大小,以及所述文件总大小平均到每个瓦片调度子线程的线程大小,其中,所述线程大小=文件总大小/所述瓦片调度子线程的数量;
针对各所述点云文件,当所述点云文件的文件大小小于所述线程大小时,选择文件总大小大于所述线程大小的N个所述点云文件分配一个瓦片调度子线程进行加载,其中N-1个所述点云文件的文件总大小小于所述线程大小;N为正整数。
具体的,当加载到场景中的点云文件的数量小于等于瓦片调度子线程的数量,那么为一个文件分配一个瓦片调度子线程;二当加载到场景中的文件大于瓦片子线程数,那么采用依据文件大小来处理瓦片调度子线程的分配。具体的,按照点云文件大小来分配的具体过程如下:
当点云文件较多时,采用按点云文件的大小来决定瓦片调度子线程的分配,具体而言,按照点云文件大小进行排序,得到点云文件大小序列,计算加载到场景中的点云文件总大小、根据瓦片调度子线程数计算平均到每个瓦 片调度子线程的大小(平均每个瓦片调度子线程的大小=加载到场景中的文件总大小/瓦片调度子线程数)。
当单个文件大于平均每个瓦片调度子线程的大小时,将该点云文件分配一个瓦片调度子线程,当单个点云文件小于平均每个瓦片调度子线程能分配的大小时,将为多个点云文件分配一个瓦片调度子线程,具体的,在此的多个点云文件为其文件总大小刚好大于平均每个瓦片调度子线程能分配的大小,去掉其中的任意一个点云文件,则会使得文件总大小小于平均每个瓦片调度子线程能分配的大小。
特别的,若加载到场景中所述点云文件数量为1时,为所述点云文件分配预设数量的瓦片调度子线程进行加载,以处理所述点云文件的八叉树索引;所述预设数量大于等于2。
具体的,当场景中只有一个点云文件时,依据当前的瓦片调度子线程,让多个瓦片调度子线程同时处理该点云文件的八叉树索引。
步骤104、通过所述总调度线程基于用户设置的调度优先级确定调度策略,基于所述调度策略确定当前最大加载层级,并使所述瓦片调度子线程基于所述调度策略及当前最大加载层级对所加载的点云文件进行渲染。
具体的,用户设置的调度优先级包括:同层级优先、近处细节优先;
当所述用户设置的调度优先级为同层级优先时,对应的调度策略为按层级调度;
当所述用户设置的调度优先级为近处细节优先时,对应的调度策略为按视点距离调度;其中,按层级调度所见的点云的疏密程度一致;按视点距离调度所见的点云疏密程度不一致,越近所见的点云数据越密集,越远所见的点云越稀疏。
具体的,总调度线程根据用户设置调度优先级(同层级优先或近处细节优先),当用户选择同层级优先时,采用按层级调度;用户选择近处细节优先时,则采用按视点距离调度。
由此,步骤104中的所述基于所述调度策略确定当前最大加载层级,包括:
若调度策略为按层级调度,则根据场景加载的点云文件的数量,以及当前系统内存空间,确定当前能够加载进内存的最大加载层级;
若调度策略为按视点距离调度,则根据视点,遍历当前瓦片的下一级瓦片,计算下级瓦片范围内需要的内存大小,并判断当前物理内存能否容纳下级瓦片,若能够容纳,将下级瓦片层级作为当前最大加载层级,否则,确定当前瓦片所在层级为当前最大加载层级。
由于在八叉树结构中,存在上下级瓦片,而上级瓦片管理并记录下级瓦片,由此,针对每一级瓦片,可以获知该瓦片的下一级瓦片,进而可以获取当前内存是否足够加载下级瓦片。
具体的,如果采用按层级调度,根据场景加载的点云文件的数,以及当前系统内存空间,计算最大能够加载进内存的层级,并通知各瓦片调度子线程;
如果当前采用按视点距离调度,根据视点,遍历当前瓦片的下一级瓦片(八叉树有很多层级,所以有层级关系,就比如树干有树枝,树枝有分支一样,瓦片也分有层级),计算下级瓦片范围内需要多大内存,当前剩余物理内存大小(即当前剩余物理内存大小与下级瓦片所需内存进行比较),判断当前物理内存大小能否容纳下级瓦片,如果能够容纳,将下级瓦片层级作为当前加载层级,否则,保持原有层级不变,并通知各瓦片加载子线程。
在一个具体的实施例中,各瓦片调度子线程,按加载层级数和当前调度策略信息,会对分配的点云文件进行废弃瓦片移除,新增瓦片的加载和渲染的操作;
具体的,当场景中存在超出当前最大加载层级的瓦片时,将超出的所述瓦片移除出场景。具体的,也即执行废弃瓦片移除,当场景中存在不属于当前加载层级数的瓦片时,认为该瓦片为废弃瓦片,将这些瓦片移除出场景。
此外,本方案中还包括新增瓦片的加载,当点云文件较少时,采用一个瓦片调度子线程对应一个点云文件进行八叉树索引数据调度;
当文件较多时,采用按点云文件大小来决定瓦片调度子线程的分配,具体而言,按照点云文件大小进行排序,得到点云文件大小序列,计算加载到 场景中的点云文件总大小、根据瓦片调度子线程数计算平均到每个瓦片调度子线程的大小(平均每个瓦片调度子线程的大小=加载到场景中的文件总大小/瓦片调度子线程数)。
当单个点云文件大于平均每个瓦片调度子线程的大小时,将该点云文件分配一个线程,当单个点云文件小于平均每个瓦片调度子线程能分配的大小时,将为多个点云文件分配一个瓦片调度子线程。特别的,当场景中只有一个点云文件时,依据当前的瓦片调度子线程,让多个瓦片调度子线程同时处理该点云文件的八叉树索引;
至于新增瓦片渲染,加载完瓦片后,将瓦片送入渲染管道进行渲染。
此外,该方法还包括:
当所述渲染完成,通过所述瓦片调度子线程生成消息反馈给所述总调度线程。瓦片调度子线程在完成加载和渲染之后,通知总调度线程,然后等待总调度线程的下一步指令。
以此,本方案中通过采用构建原始点云数据的八叉树结构,解决了海量数据处理难的问题,解决了海量数据无法全部显示到内存的问题,此外,采用渲染调度策略,结合多线程调度,解决了在三维场景中进行渲染调度,对数据进行快速可视化的问题,采用多线程调度解决了同时对多文件进行渲染调度的问题。
实施例2
本发明实施例2还提出了一种点云的可视化设备,应用于处理装置,如图2所示,该设备包括:
构建模块201,用于基于点云数据的空间特性构建所述点云数据的八叉树结构;其中,构建了八叉树结构的点云数据包括多个层级且具有空间索引关系的点云文件;
线程调度模块202,用于在可视化化系统中开启线程池,以使得所述线程池基于处理装置的机器性能确定开启的线程,所述线程包括一个总调度线程和多个瓦片调度子线程;
分配模块203,用于基于所述瓦片调度子线程的数量、加载到场景中所 述点云文件的数量和大小分配多个所述瓦片调度子线程加载所述点云文件;
处理模块204,用于通过所述总调度线程基于用户设置的调度优先级确定调度策略,基于所述调度策略确定当前最大加载层级,并使所述瓦片调度子线程基于所述调度策略及当前最大加载层级对所加载的点云文件进行处理并进行渲染。
在一个具体的实施例中,所述分配模块203,用于:
若加载到场景中所述点云文件的数量大于1且小于或等于所述瓦片调度子线程的数量时,为每个所述点云文件分配一个瓦片调度子线程进行加载;
若加载到场景中所述点云文件的数量大于所述瓦片调度子线程的数量时,基于加载到场景中各所述点云文件的大小确定加载到场景中所述点云文件的文件总大小,以及所述文件总大小平均到每个瓦片调度子线程的线程大小,其中,所述线程大小=文件总大小/所述瓦片调度子线程的数量;
针对各所述点云文件,当所述点云文件的文件大小小于所述线程大小时,选择文件总大小大于所述线程大小的N个所述点云文件分配一个瓦片调度子线程进行加载,其中N-1个所述点云文件的文件总大小小于所述线程大小。
在一个具体的实施例中,所述分配模块203,还用于若加载到场景中所述点云文件数量为1时,为所述点云文件分配预设数量的瓦片调度子线程进行加载,以处理所述点云文件的八叉树索引;所述预设数量大于等于2。
在一个具体的实施例中,用户设置的调度优先级包括:同层级优先、近处细节优先;
当所述用户设置的调度优先级为同层级优先时,对应的调度策略为按层级调度;
当所述用户设置的调度优先级为近处细节优先时,对应的调度策略为按视点距离调度;其中,按层级调度所见的点云的疏密程度一致;按视点距离调度所见的点云疏密程度不一致,越近所见的点云数据越密集,越远所见的点云越稀疏。
在一个具体的实施例中,所述处理模块204基于所述调度策略确定当前最大加载层级,包括:
若调度策略为按层级调度,则根据场景加载的点云文件的数量,以及当前系统内存空间,确定当前能够加载进内存的最大加载层级;
若调度策略为按视点距离调度,则根据视点,遍历当前瓦片的下一级瓦片,计算下级瓦片范围内需要的内存大小,并判断当前物理内存能否容纳下级瓦片,若能够容纳,将下级瓦片层级作为当前最大加载层级,否则,确定当前瓦片所在层级为当前最大加载层级。
在一个具体的实施例中,如图3所示,该设备还包括:
移除模块205,用于当场景中存在超出当前最大加载层级的瓦片时,将超出的所述瓦片移除出场景。
在一个具体的实施例中,如图4所示,该设备还包括:
反馈模块206,用于当所述渲染完成,通过所述瓦片调度子线程生成消息反馈给所述总调度线程。
本发明实施例提出了一种点云的可视化方法和设备,应用于处理装置,该方法包括:基于点云数据的空间特性构建所述点云数据的八叉树结构;其中,构建了八叉树结构的点云数据包括多个层级且具有空间索引关系的点云文件;在可视化化系统中开启线程池,以使得所述线程池基于处理装置的机器性能确定开启的线程,所述线程包括一个总调度线程和多个瓦片调度子线程;基于所述瓦片调度子线程的数量、加载到场景中所述点云文件的数量和大小分配多个所述瓦片调度子线程加载所述点云文件;通过所述总调度线程基于用户设置的调度优先级确定调度策略,基于所述调度策略确定当前最大加载层级,并使所述瓦片调度子线程基于所述调度策略及当前最大加载层级对所加载的点云文件进行处理并进行渲染。采用构建点云数据的八叉树结构,解决了海量数据处理难以及海量数据无法全部显示到内存中的问题,且还通过多线程调度,实现了对多个点云文件进行调度渲染,实现了快速可视化。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上 述本发明序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

  1. 一种点云的可视化方法,其特征在于,应用于处理装置,该方法包括:
    基于点云数据的空间特性构建所述点云数据的八叉树结构;其中,构建了八叉树结构的点云数据包括多个层级且具有空间索引关系的点云文件;
    在可视化化系统中开启线程池,以使得所述线程池基于处理装置的机器性能确定开启的线程,所述线程包括一个总调度线程和多个瓦片调度子线程;
    基于所述瓦片调度子线程的数量、加载到场景中所述点云文件的数量和大小,分配多个所述瓦片调度子线程加载所述点云文件;
    通过所述总调度线程基于用户设置的调度优先级确定调度策略,基于所述调度策略确定当前最大加载层级,并使所述瓦片调度子线程基于所述调度策略及当前最大加载层级对所加载的点云文件进行渲染。
  2. 如权利要求1所述的一种点云的可视化方法,其特征在于,所述基于所述瓦片调度子线程的数量、加载到场景中所述点云文件的数量和大小分配所述瓦片调度子线程加载所述点云文件,包括:
    若加载到场景中所述点云文件的数量大于1且小于或等于所述瓦片调度子线程的数量时,为每个所述点云文件分配一个瓦片调度子线程进行加载;
    若加载到场景中所述点云文件的数量大于所述瓦片调度子线程的数量时,基于加载到场景中各所述点云文件的大小确定加载到场景中所述点云文件的文件总大小,以及所述文件总大小平均到每个瓦片调度子线程的线程大小,其中,所述线程大小=文件总大小/所述瓦片调度子线程的数量;
    针对各所述点云文件,当所述点云文件的文件大小小于所述线程大小时,选择文件总大小大于所述线程大小的N个所述点云文件分配一个瓦片调度子线程进行加载,其中N-1个所述点云文件的文件总大小小于所述线程大小。
  3. 如权利要求2所述的一种点云的可视化方法,其特征在于,还包括:
    若加载到场景中所述点云文件数量为1时,为所述点云文件分配预设数量的瓦片调度子线程进行加载,以处理所述点云文件的八叉树索引;所述预 设数量大于等于2。
  4. 如权利要求1所述的一种点云的可视化方法,其特征在于,用户设置的调度优先级包括:同层级优先、近处细节优先;
    当所述用户设置的调度优先级为同层级优先时,对应的调度策略为按层级调度;
    当所述用户设置的调度优先级为近处细节优先时,对应的调度策略为按视点距离调度;其中,按层级调度所见的点云的疏密程度一致;按视点距离调度所见的点云疏密程度不一致,视点距离越近所见的点云数据越密集,视点距离越远所见的点云越稀疏。
  5. 如权利要求4所述的一种点云的可视化方法,其特征在于,所述基于所述调度策略确定当前最大加载层级,包括:
    若调度策略为按层级调度,则根据场景加载的点云文件的数量,以及当前系统内存空间,确定当前能够加载进内存的最大加载层级;
    若调度策略为按视点距离调度,则根据视点,遍历当前瓦片的下一级瓦片,计算下一级瓦片范围内需要的内存大小,并判断当前物理内存能否容纳下一级瓦片,若能够容纳,将下一级瓦片层级作为当前最大加载层级,否则,确定当前瓦片所在层级为当前最大加载层级。
  6. 如权利要求5所述的一种点云的可视化方法,其特征在于,还包括:
    当场景中存在超出当前最大加载层级的瓦片时,将超出的所述瓦片移除出所述场景。
  7. 如权利要求1所述的一种点云的可视化方法,其特征在于,还包括:
    当所述渲染完成,通过所述瓦片调度子线程生成消息反馈给所述总调度线程。
  8. 一种点云的可视化设备,其特征在于,应用于处理装置,该设备包括:
    构建模块,用于基于点云数据的空间特性构建所述点云数据的八叉树结 构;其中,构建了八叉树结构的点云数据包括多个层级且具有空间索引关系的点云文件;
    线程调度模块,用于在可视化化系统中开启线程池,以使得所述线程池基于处理装置的机器性能确定开启的线程,所述线程包括一个总调度线程和多个瓦片调度子线程;
    分配模块,用于基于所述瓦片调度子线程的数量、加载到场景中所述点云文件的数量和大小分配多个所述瓦片调度子线程加载所述点云文件;
    处理模块,用于通过所述总调度线程基于用户设置的调度优先级确定调度策略,基于所述调度策略确定当前最大加载层级,并使所述瓦片调度子线程基于所述调度策略及当前最大加载层级对所加载的点云文件进行渲染。
  9. 如权利要求8所述的一种点云的可视化设备,其特征在于,所述分配模块,用于:
    若加载到场景中所述点云文件的数量大于1且小于或等于所述瓦片调度子线程的数量时,为每个所述点云文件分配一个瓦片调度子线程进行加载;
    若加载到场景中所述点云文件的数量大于所述瓦片调度子线程的数量时,基于加载到场景中各所述点云文件的大小确定加载到场景中所述点云文件的文件总大小,以及所述文件总大小平均到每个瓦片调度子线程的线程大小,其中,所述线程大小=文件总大小/所述瓦片调度子线程的数量;
    针对各所述点云文件,当所述点云文件的文件大小小于所述线程大小时,选择文件总大小大于所述线程大小的N个所述点云文件分配一个瓦片调度子线程进行加载,其中N-1个所述点云文件的文件总大小小于所述线程大小。
  10. 如权利要求9所述的一种点云的可视化设备,其特征在于,所述分配模块,还用于若加载到场景中所述点云文件数量为1时,为所述点云文件分配预设数量的瓦片调度子线程进行加载,以处理所述点云文件的八叉树索引;所述预设数量大于等于2。
PCT/CN2020/092901 2020-05-19 2020-05-28 一种点云的可视化方法和设备 WO2021232469A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010422785.7 2020-05-19
CN202010422785.7A CN111552555B (zh) 2020-05-19 2020-05-19 一种点云的可视化方法和设备

Publications (1)

Publication Number Publication Date
WO2021232469A1 true WO2021232469A1 (zh) 2021-11-25

Family

ID=71998759

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/092901 WO2021232469A1 (zh) 2020-05-19 2020-05-28 一种点云的可视化方法和设备

Country Status (2)

Country Link
CN (1) CN111552555B (zh)
WO (1) WO2021232469A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114648607A (zh) * 2022-02-23 2022-06-21 中国电建集团昆明勘测设计研究院有限公司 基于cad平台的倾斜三维模型重建与动态调度方法
CN115063497A (zh) * 2022-08-19 2022-09-16 北京山维科技股份有限公司 一种点云数据处理方法及装置
CN116127586A (zh) * 2023-04-14 2023-05-16 应急管理部沈阳消防研究所 一种基于Potree结构的快速建筑物变化检测方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112489177B (zh) * 2020-11-30 2024-04-09 深圳供电局有限公司 一种点云数据渲染展示方法及系统
CN112802179B (zh) * 2021-01-18 2021-12-07 南京航空航天大学 一种基于法向的大规模点云可视化方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268096A (zh) * 2014-09-26 2015-01-07 西南科技大学 基于内存预分配和多点并写技术的大规模点云数据快速读取方法
CN105808672A (zh) * 2016-03-01 2016-07-27 重庆市勘测院 基于浏览器的海量三维点云数据的发布方法
CN106096016A (zh) * 2016-06-24 2016-11-09 北京建筑大学 一种基于网络的三维点云可视化方法以及装置
CN108133044A (zh) * 2018-01-12 2018-06-08 适普远景遥感信息技术(北京)有限公司 基于属性分离的空间大数据三维可视化方法及平台

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615191B (zh) * 2009-07-28 2011-05-11 武汉大学 海量点云数据的存储与实时可视化方法
US8780112B2 (en) * 2011-06-08 2014-07-15 Pacific Data Images Llc Coherent out-of-core point-based global illumination
CN104392480B (zh) * 2014-11-12 2015-09-02 山东地纬数码科技有限公司 以内外存交换方式实现基于点的全局光照效果的渲染方法
US20160275719A1 (en) * 2015-03-19 2016-09-22 Intergraph Corporation System and method for fast optimization of point cloud data
CN104834544B (zh) * 2015-05-04 2018-03-13 广州杰赛科技股份有限公司 数据加载方法及装置
CN106296779B (zh) * 2015-05-19 2019-04-23 深圳市腾讯计算机系统有限公司 一种三维模型渲染显示方法及系统
CN106407408B (zh) * 2016-09-22 2019-08-16 北京数字绿土科技有限公司 一种海量点云数据的空间索引构建方法及装置
CN109117203A (zh) * 2018-07-13 2019-01-01 广州小鹏汽车科技有限公司 一种Android APP启动速度优化方法及系统
CN111026541B (zh) * 2019-05-22 2020-09-29 珠海随变科技有限公司 渲染资源调度方法、装置、设备及存储介质
CN110297924A (zh) * 2019-06-26 2019-10-01 深圳飞马机器人科技有限公司 点云数据的处理及渲染方法、装置、设备及存储介质
CN110992469B (zh) * 2019-11-29 2024-01-23 四川航天神坤科技有限公司 海量三维模型数据的可视化方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268096A (zh) * 2014-09-26 2015-01-07 西南科技大学 基于内存预分配和多点并写技术的大规模点云数据快速读取方法
CN105808672A (zh) * 2016-03-01 2016-07-27 重庆市勘测院 基于浏览器的海量三维点云数据的发布方法
CN106096016A (zh) * 2016-06-24 2016-11-09 北京建筑大学 一种基于网络的三维点云可视化方法以及装置
CN108133044A (zh) * 2018-01-12 2018-06-08 适普远景遥感信息技术(北京)有限公司 基于属性分离的空间大数据三维可视化方法及平台

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114648607A (zh) * 2022-02-23 2022-06-21 中国电建集团昆明勘测设计研究院有限公司 基于cad平台的倾斜三维模型重建与动态调度方法
CN114648607B (zh) * 2022-02-23 2024-03-29 中国电建集团昆明勘测设计研究院有限公司 基于cad平台的倾斜三维模型重建与动态调度方法
CN115063497A (zh) * 2022-08-19 2022-09-16 北京山维科技股份有限公司 一种点云数据处理方法及装置
CN115063497B (zh) * 2022-08-19 2023-05-05 北京山维科技股份有限公司 一种点云数据处理方法及装置
CN116127586A (zh) * 2023-04-14 2023-05-16 应急管理部沈阳消防研究所 一种基于Potree结构的快速建筑物变化检测方法

Also Published As

Publication number Publication date
CN111552555B (zh) 2023-07-28
CN111552555A (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
WO2021232469A1 (zh) 一种点云的可视化方法和设备
WO2019237811A1 (zh) 一种神经网络的内存分配方法及装置
CN110321329A (zh) 基于大数据的数据处理方法及装置
CN106406987A (zh) 一种集群中的任务执行方法及装置
CN109643442B (zh) 子体积八叉树
CN103324533B (zh) 分布式数据处理方法、装置及系统
CN114387375B (zh) 一种海量点云数据多视图渲染方法
CN106934826B (zh) 一种岩质边坡结构精细化建模及块体识别方法
CN105630905A (zh) 一种基于散乱点云数据的分层式压缩方法及装置
CN113419861B (zh) 一种面向gpu卡群的图遍历混合负载均衡方法
CN103634379A (zh) 一种分布式存储空间的管理方法和分布式存储系统
Tang et al. PSCC: Parallel self-collision culling with spatial hashing on GPUs
CN107357630A (zh) 一种实现虚拟机同步的方法、装置和存储介质
CN108415912A (zh) 基于MapReduce模型的数据处理方法和设备
CN112509118A (zh) 一种可预加载节点和自适应填充的大规模点云可视化方法
KR20200141208A (ko) 그래프 데이터 처리 방법 및 그래프 데이터 처리 장치
CN106484532B (zh) 面向sph流体模拟的gpgpu并行计算方法
CN110222447B (zh) 一种基于八叉树的自适应网格划分方法及系统
CN112256816A (zh) 一种基于分治网格的空间大数据算法
JP2019106031A (ja) データ処理システム及びデータ分析処理方法
CN115393530B (zh) 海量三维模型的单体化渲染方法、存储介质及电子设备
CN113496543A (zh) 一种点云数据筛选方法、装置、电子设备和存储介质
CN114648607B (zh) 基于cad平台的倾斜三维模型重建与动态调度方法
CN107104829B (zh) 一种基于网络拓扑数据的物理设备匹配分配方法及装置
CN113763240B (zh) 一种点云缩略图生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20936788

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20936788

Country of ref document: EP

Kind code of ref document: A1