Three-dimensional building model roof correction method and device, server and storage medium
By accurately processing and correction of the roof of the building three-dimensional model, and using rule algorithms to extract roof point cloud and texture data, the problem of waste of computing resources in the existing technology is solved and efficient roof updates are achieved.
Patent Information
- Application Number
- CN202510370276.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-27
- Publication Date
- 2025-08-08
AI Technical Summary
The prior art wastes a lot of computing resources when only correcting the roof of a building three-dimensional model, resulting in unnecessary consumption of computing resources.
By preprocessing the original data, establishing a basic data database, using rule algorithm data to extract roof point cloud data, determining the building vector range coordinates, calculating the roof elevation value, and using orthophoto data to extract roof texture data to correct the building three-dimensional model.
Improve the accuracy of roof correction, reduce the consumption of computing resources, and only calculate the areas that need to be updated, avoiding repeated updates to the entire building three-dimensional model.
Smart Images

Figure CN120451373A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of three-dimensional building model correction, and in particular to a three-dimensional building model roof correction method, device, server and storage medium. Background Art
[0002] With the rapid development of new basic surveying and mapping technologies, 3D virtual reality technologies, and geographic information technologies, the resulting real-life 3D building models can realistically represent the three-dimensional information of buildings. These standardized products of basic surveying and mapping address the inability of traditional surveying and mapping methods to fully meet the production efficiency and precision requirements. Due to factors such as surveying and mapping accuracy, natural aging, maintenance, and changes in the geographic environment, building roofs in real-life 3D building models can change. To further improve the accuracy and efficiency of data produced by new basic surveying and mapping, it is necessary to utilize the results of new basic surveying and mapping methods, such as laser point cloud data and orthophoto data, to automatically correct building roofs and update roof information in real-life 3D building models.
[0003] Building information can be collected through various surveying and mapping methods, including aerial photography, satellite imagery, orthophotography, oblique photography, and laser point cloud. Tools are then used to extract the building's 3D vector information from the collected laser point cloud data. Orthophotos and other data are then used to calibrate the building's 3D model, creating an updated 3D building model and subsequently updating the building's roof information. However, since 3D building models are subject to change, they must be remodeled for each update. To achieve sufficient accuracy, high-precision calculations using point cloud data are often required, consuming significant computing resources. This is particularly wasteful when only the roof needs to be updated. Summary of the Invention
[0004] Embodiments of the present invention provide a method, device, server, and storage medium for correcting the roof of a three-dimensional building model to solve the technical problem of wasting a large amount of computing resources when only correcting the roof of a three-dimensional building model.
[0005] In a first aspect, an embodiment of the present invention provides a method for correcting a roof of a three-dimensional building model, comprising:
[0006] Preprocessing the original building data and establishing a basic data database, wherein the basic data database includes original point cloud data, orthophoto data, building three-dimensional model data and rule algorithm data;
[0007] Using the rule algorithm data to perform feature extraction on the original point cloud data to obtain roof point cloud data;
[0008] Determine the outer contour of each building based on the orthophoto data to form the building vector data of each building;
[0009] Determine the vector range coordinates of each building according to the building vector data of each building, and use the vector range coordinates and the roof point cloud data to determine the roof point cloud data within the vector range coordinates of each building as the building roof point cloud data of each building;
[0010] Calculate the roof elevation value of each building using the building roof point cloud data and rule algorithm data of each building;
[0011] According to the vector range coordinates of each building, the texture data within the vector range coordinates in the orthophoto data is extracted as the roof texture data of each building;
[0012] The roof elevation value and roof texture data are used to correct the corresponding building roof in the building three-dimensional model data.
[0013] Furthermore, determining the vector range coordinates of each building based on the building vector data of each building, and determining the roof point cloud data within the vector range coordinates of each building as the building roof point cloud data of each building using the vector range coordinates and the roof point cloud data, includes:
[0014] Traverse the building vector data of each building to obtain the vector range coordinates of each building;
[0015] Add a spatial identity code to each building and associate the spatial identity code with the vector range coordinates of each building. Each spatial identity code corresponds to each building one by one.
[0016] According to the vector range coordinates of each building, points in the roof point cloud data that are respectively located within the vector range coordinates of each building are identified to form the building roof point cloud data of each building;
[0017] According to the association between the vector range coordinates of each building and the spatial identity code, the roof point cloud data of each building is associated with the spatial identity code.
[0018] Furthermore, the traversal of the building vector data of each building to obtain the vector range coordinates of each building includes:
[0019] Based on the orthophoto data and rule algorithm data, identify the building outline pixels in the orthophoto data and record the coordinates of each pixel;
[0020] Fit the building outline pixel points to form a vector polygon point set;
[0021] Based on the vector polygon point set, polygon vector geographic features are created to obtain the building vector range coordinates of each building.
[0022] Furthermore, the extracting of texture data located within the vector range coordinates of each building from the orthophoto data as the roof texture data of each building includes:
[0023] According to the vector range coordinates of each building, the area where the building plane position is located within the vector range coordinates on the orthophoto is identified and extracted to obtain the roof texture data of each building;
[0024] According to the association between the vector range coordinates of each building and the spatial identity code, the roof texture data of each building is associated with the spatial identity code.
[0025] Furthermore, the correcting of the corresponding building roof in the building three-dimensional model data using the roof elevation value and the roof texture data includes:
[0026] According to the association between the roof point cloud data of each building and the spatial identity code, the roof elevation value of each building is associated with the spatial identity code;
[0027] According to the association between the roof elevation value of each building and the spatial identity code, the building three-dimensional model corresponding to the spatial identity code is extracted from the building three-dimensional model data;
[0028] Use the roof elevation value to perform roof elevation correction on the extracted building 3D model;
[0029] Calculate the texture coordinates of the roof vertices of the three-dimensional building model after elevation correction;
[0030] The roof texture of the building 3D model is corrected according to the roof vertex texture coordinates and roof texture data.
[0031] Furthermore, the method of extracting features from the original point cloud data using the rule algorithm data to obtain roof point cloud data includes:
[0032] Extracting a point cloud clustering rule algorithm from the rule algorithm data;
[0033] Performing cluster analysis on the original point cloud data using the point cloud clustering rule algorithm to obtain point cloud clustering results;
[0034] Extracting a point cloud denoising rule algorithm from the rule algorithm data;
[0035] The point cloud denoising rule algorithm is used to denoise the point cloud clustering results to obtain roof point cloud data.
[0036] Furthermore, the raw building data is pre-processed and a basic data database is established, including:
[0037] According to the collected laser point cloud data, the point cloud spatial data coordinates are extracted and the point cloud data is encoded to form the original point cloud data;
[0038] Extracting orthophoto spatial data coordinates based on the collected orthophoto data, and encoding the orthophoto spatial data coordinates to form orthophoto data;
[0039] According to the collected building three-dimensional model data, the three-dimensional model of each building in the building three-dimensional model data is spatially encoded to form building three-dimensional model data;
[0040] Collect point cloud clustering rule algorithms, point cloud denoising rule algorithms, raster data vectorization algorithms, elevation data interpolation algorithms, and texture coordinate algorithms, and perform rule algorithm function encoding to form rule algorithm data.
[0041] In a second aspect, an embodiment of the present invention provides a three-dimensional building model roof correction device, comprising:
[0042] Data preprocessing module, used to preprocess the original building data;
[0043] Roof point cloud extraction module, used to extract roof point cloud data based on laser point cloud data;
[0044] Building vector extraction module, used to extract building vector data based on orthophoto data;
[0045] A building data extraction module is used to determine the roof point cloud data of each building based on the building vector data of each building;
[0046] Roof elevation calculation module, used to calculate the roof elevation value of the building based on roof point cloud data;
[0047] A roof texture extraction module is used to extract roof texture data according to vector range coordinates;
[0048] The building roof correction module is used to correct the building roof of the building three-dimensional model according to the roof elevation value and roof texture data.
[0049] In a third aspect, an embodiment of the present invention provides a server, including:
[0050] one or more processors;
[0051] a storage device for storing one or more programs,
[0052] When the one or more programs are executed by the one or more processors, the one or more processors implement the above-mentioned three-dimensional building model roof correction method.
[0053] In a fourth aspect, an embodiment of the present invention provides a storage medium comprising computer-executable instructions, which, when executed by a computer processor, are used to perform the above-mentioned three-dimensional building model roof correction method.
[0054] The embodiments of the present invention provide a method, device, server, and storage medium for correcting the roof of a three-dimensional building model. The method extracts the outer contour of each building through orthophotos, determines the building vector data representing each building, and uses the building vector data to determine the vector coordinate range, which is used to divide the area of each building. The divided areas are then used to determine the roof point cloud data belonging to each area, which is used as the roof point cloud data of each building. By using the roof point cloud data to correct the elevation of the three-dimensional building model, a higher accuracy can be achieved. Subsequently, by replacing the roof texture of the building, more realistic and accurate building roof information can be obtained. When updating, only the roof point cloud data of each building in the area to be updated needs to be selected for calculation, without having to update the entire three-dimensional building model or each building, which greatly reduces the data resources consumed by the calculation. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] The accompanying drawings, which constitute part of the present invention, are provided to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are provided to explain the present invention and do not constitute an undue limitation of the present invention. In the accompanying drawings:
[0056] Figure 1 This is a flow chart of a three-dimensional building model roof correction method according to the first embodiment of the present invention;
[0057] Figure 2 This is a flow chart of a method for correcting a roof of a three-dimensional building model according to a second embodiment of the present invention;
[0058] Figure 3 This is a flow chart of a three-dimensional building model roof correction method according to the third embodiment of the present invention;
[0059] Figure 4 This is a flow chart of a three-dimensional building model roof correction method according to the fourth embodiment of the present invention;
[0060] Figure 5 This is a schematic structural diagram of a three-dimensional building model roof correction device according to a fifth embodiment of the present invention;
[0061] Figure 6 This is a structural diagram of the server described in Example 6 of the present invention. DETAILED DESCRIPTION
[0062] The present invention will be further described in detail below with reference to the accompanying drawings and examples. It will be understood that the specific embodiments described herein are intended only to illustrate the present invention and are not intended to limit the present invention. It should also be noted that, for ease of description, the accompanying drawings only illustrate portions relevant to the present invention, not all structures.
[0063] Realistic 3D building models can realistically depict the condition of a building. To ensure their authenticity, they need to be regularly updated. New geographic surveying and mapping methods can collect a variety of building data for physical buildings. Airborne LiDAR can be used to collect laser point cloud data of buildings, forming a 3D spatial point set for the building. Aerial or satellite remote sensing imagery can be used to obtain orthographic images of buildings, forming an orthographic projection image of the building viewed from above, which can depict the rooftop conditions of the building. When calibrating 3D building models, laser point cloud data often offers higher accuracy. However, since laser point cloud data contains a large number of 3D points, it consumes a large amount of data. In some cases, only the rooftop information of a building needs to be understood from the air. When analyzing building information from a bird's-eye view, there is no need to update the entire 3D building model; only the rooftop information needs to be updated. This large amount of computational effort obviously wastes computing resources.
[0064] Example 1
[0065] Figure 1 This is a flow chart of a method for correcting the roof of a 3D building model according to a first embodiment of the present invention. This embodiment determines the range of each building using orthophotos, and then determines the point cloud data within each building range to correct the roof of the 3D building model. The method specifically includes the following steps:
[0066] S101, pre-processing the original building data and establishing a basic data database, wherein the basic data database includes original point cloud data, orthophoto data, building three-dimensional model data and rule algorithm data.
[0067] Data collected using new surveying and mapping methods requires preprocessing before use, including format standardization and digital conversion. Point cloud data requires denoising and other processing to remove irrelevant data and avoid computational errors when using the point cloud data. Orthophoto data requires raster processing to facilitate subsequent vectorization and coordinate establishment. LiDAR point cloud data is preprocessed to generate raw point cloud data, while aerial or remote sensing image data is preprocessed to generate orthophoto data. Simultaneously, 3D building model data for the areas requiring correction is collected. The collected raw point cloud data and orthophoto data correspond to the areas of the 3D building model. Rule-based algorithms, including denoising, raster processing, elevation data interpolation, and texture coordinate algorithms, are used for processing LiDAR and aerial photographs, as well as for 3D building model correction. The raw point cloud data and orthophoto data used for correction serve as correction data, while the 3D building model serves as the corrected data. Rule-based algorithm data is then used for computational purposes and stored together to establish a basic database.
[0068] S102: extracting features from the original point cloud data using the rule algorithm data to obtain roof point cloud data.
[0069] The point cloud data collected by LiDAR will contain the three-dimensional shape of the building formed by multiple points. However, during the collection process, irrelevant data may be present in the collected data due to factors such as meteorological interference and collection errors. It is necessary to exclude irrelevant data and retain only the points that express the three-dimensional shape of the building to improve the accuracy of the point cloud data expression. For example, the pre-processed raw point cloud data can be clustered and denoised. The point cloud can be aggregated into the three-dimensional shape of each building through point cloud element clustering analysis. The irrelevant noise points and small components outside the three-dimensional shape of the building are removed through a denoising analysis algorithm, and finally the roof point cloud data is obtained. The clustered and denoised roof point cloud data can more accurately represent the three-dimensional shape of each building.
[0070] S103: determining the outer contour of each building based on the orthophoto data to form building vector data of each building.
[0071] Through aerial photography or satellite remote sensing images, the collected images can be corrected to obtain images with orthographic projection angles, namely orthographic image data. By identifying the outer contours of the buildings in the orthographic image data, the vector data of the outer contours are used to determine the building vector data. For example, by correcting the satellite remote sensing images, due to the shooting angle of the satellite, a bird's-eye view of multiple buildings is obtained. The bird's-eye view presents the image of the roof of the building. By identifying the right-angle points and right-angle directions of the buildings, the characteristic elements of the house such as the roof outline, the color of the pattern, the area of the pattern, etc., the house features are identified, and the outer contour range of the roof of each building is identified to form the building vector data of the roof of each building. Specifically, it is also necessary to associate the building vector data of the roof of each building with the spatial identity code. The spatial identity code is used to identify each building separately. Each building can be identified and distinguished by the spatial identity code. The spatial identity code can be generated based on information such as the spatial position and attributes of the geographic elements of the building.
[0072] S104, determining the vector range coordinates of each building based on the building vector data of each building, and using the vector range coordinates and the roof point cloud data, determining the roof point cloud data within the vector range coordinates of each building as the building roof point cloud data of each building.
[0073] After determining the building vector data using orthophoto data, the building vector data also includes the building's coordinates. Based on the building's outer contour represented by the building vector data and its coordinates, the building's vector range coordinates are determined, representing the building's outline range using a coordinate range. Based on the association between each building's building vector data and its spatial identity code, the vector range coordinates of each building are associated with its spatial identity code. Using each building's outline range and the coordinates of each point cloud in the roof point cloud data, point clouds within the corresponding coordinate range are selected to form the building roof point cloud data for each building. Subsequently, each building's spatial identity code is associated with its roof point cloud data in a one-to-one correspondence.
[0074] S105 , calculating the roof elevation value of each building using the building roof point cloud data and rule algorithm data of each building.
[0075] The elevation data interpolation algorithm used in the rule-based algorithm to calculate roof elevations is utilized. The elevation data interpolation algorithm may be a weighted average algorithm. The weighted average algorithm is used to calculate the average roof elevation value of each building using the building roof point cloud data. This is output as the roof elevation value corresponding to each building. The roof elevation value of each building is then associated with the spatial identity code of each building based on the association between the spatial identity code and the roof point cloud data.
[0076] S106 , extracting texture data within the vector range coordinates of each building from the orthophoto data as roof texture data of each building.
[0077] By matching the coordinate system in the orthophoto data with the vector range coordinates of each building, the extent of each building's roof can be determined in the orthophoto data. The orthographic projection image area of each building's roof in the orthophoto is obtained, which serves as the roof texture data for each building. Based on the association between each building's vector data and its spatial identity code, the roof texture data for each building is then associated with the spatial identity code. The vector range coordinates can identify the roof extent of each building. By mapping the vector range coordinates into the orthophoto data, the orthophoto image of each building's roof can be extracted using these coordinates.
[0078] S107: Correcting the corresponding building roof in the building three-dimensional model data using the roof elevation value and the roof texture data.
[0079] Based on each building's spatial identity code, the roof elevation value is matched with the building's 3D model, and the roof elevation value is used to correct the elevation value of the corresponding building's 3D model. Simultaneously, the roof texture data of each building is matched with the building's 3D model, and the original texture of the roof portion of the corresponding building's 3D model is replaced with the roof texture data. Exemplarily, the texture coordinate algorithm used to calculate roof texture coordinates in the rule-based algorithm is used to calculate vertex texture coordinates for the roof portion of each building's 3D model. By aligning the vertex texture coordinates with the roof texture data, the roof texture data is replaced with the original texture, completing the correction of the building's 3D model.
[0080] This embodiment extracts the outer contours of each building from orthophotos, determines building vector data representing each building, and uses this building vector data to determine the vector coordinate range, which is then used to divide each building into regions. The divided regions are then used to determine the roof point cloud data belonging to each region, which serves as the roof point cloud data for each building. Using this roof point cloud data to correct the elevation of the building's 3D model achieves a high degree of accuracy. Subsequently, replacing the building's roof texture provides more realistic and accurate roof information. During updates, only the roof point cloud data of each building within the area to be updated needs to be included in the calculation, eliminating the need to update the entire 3D model or each building, significantly reducing computational data resources.
[0081] Example 2
[0082] Figure 2This is a flow chart of a three-dimensional building model roof correction method according to the second embodiment of the present invention. This embodiment is optimized based on the above embodiment. In this embodiment, the vector range coordinates of each building are determined based on the building vector data of each building. The vector range coordinates and the roof point cloud data are used to determine the roof point cloud data within the vector range coordinates of each building as the building roof point cloud data of each building. The specific optimization is as follows:
[0083] Traverse the building vector data of each building to obtain the vector range coordinates of each building;
[0084] Add a spatial identity code to each building and associate the spatial identity code with the vector range coordinates of each building. Each spatial identity code corresponds to each building one by one.
[0085] According to the vector range coordinates of each building, points in the roof point cloud data that are respectively located within the vector range coordinates of each building are identified to form the building roof point cloud data of each building;
[0086] According to the association between the vector range coordinates of each building and the spatial identity code, the roof point cloud data of each building is associated with the spatial identity code.
[0087] Accordingly, the three-dimensional building model roof correction method provided in this embodiment specifically includes:
[0088] S201 , pre-processing the original building data and establishing a basic data database, wherein the basic data database includes original point cloud data, orthophoto data, building three-dimensional model data and rule algorithm data.
[0089] S202: extract features from the original point cloud data using the rule algorithm data to obtain roof point cloud data.
[0090] S203: Determine the outer contour of each building based on the orthophoto data to form building vector data of each building.
[0091] S204: traverse the building vector data of each building to obtain the vector range coordinates of each building. The building vector data formed by the building outline extracted from the orthophoto includes coordinate information. By traversing the building vector data, the vector range coordinates used to identify the building range can be obtained.
[0092] S205: A spatial identity code is added to each building and associated with the vector range coordinates of each building. Each spatial identity code corresponds to each building. Based on the association between the building vector data and the spatial identity code, the vector range coordinates are associated with the spatial identity code. This allows the vector range coordinates of each building to be determined using the spatial identity code.
[0093] S206: Based on the vector range coordinates of each building, points in the roof point cloud data that are within the vector range coordinates of each building are identified to form roof point cloud data for each building. A vector range polygon for each building is formed using the vector range coordinates. Based on the coordinates of each point in the roof point cloud data on the roof plane, points that are within the vector range coordinates of each building are identified to form roof point cloud data for each building.
[0094] S207: Associating each building's rooftop point cloud data with its spatial identity code based on the association between the building's vector range coordinates and the spatial identity code. Based on the association between the building's vector range coordinates and the spatial identity code, the building's rooftop point cloud data is associated with the spatial identity code, marking the building's rooftop point cloud data. This allows the rooftop point cloud data corresponding to each building to be directly retrieved using the spatial identity code when calculating the building's elevation.
[0095] S208 , calculating the roof elevation value of each building using the building roof point cloud data and rule algorithm data of each building.
[0096] S209 , extracting texture data within the vector range coordinates of each building from the orthophoto data as roof texture data of each building.
[0097] S210: Correcting the corresponding building roof in the building three-dimensional model data using the roof elevation value and the roof texture data.
[0098] This embodiment uses building vector data in the orthophoto to determine the outer contour of each building, and uses the coordinates of the outer contour to determine the vector coordinates of each building. The area of each building is determined based on the vector coordinates, and point cloud data within that area is extracted as the roof point cloud data for each building. By associating the orthophoto with the point cloud data, the building range is determined using the orthophoto, and then the point cloud data is used to calculate the building data. This calculated point cloud data achieves a high degree of accuracy, and the point cloud data is pre-divided for each building. During the calculation, the amount of point cloud data involved is reduced based on the required building range, thereby reducing computing resources.
[0099] Specifically, traversing the building vector data of each building to obtain the vector range coordinates of each building includes:
[0100] Based on the orthophoto data and rule-based algorithm data, the building outline pixels in the orthophoto data are identified and the coordinates of each pixel are recorded. Using the raster-vectorized orthophoto data, the building features in the orthophoto are identified to obtain their point information and outline information, forming a vector map of the building outline. The pixels that form the building outline are then identified and the coordinates of each pixel are recorded based on the raster-vectorized orthophoto data.
[0101] The building outline pixels are fitted to form a vector polygon point set. Because the identified building outline pixels may be irregular, they are used for fitting. The resulting lines form a vector polygon point set, which is used to identify the building vector data for each building. This fitting process smooths out noise in the pixels, making the building outline lines more continuous, improving identification accuracy, and facilitating subsequent calculations.
[0102] Based on the vector polygon point set, a polygon vector geographic feature is created to obtain the building vector range coordinates of each building. The building vector data represented by the vector polygon point set obtained by fitting is used to determine the coordinate range of the vector polygon point set based on the coordinates of each pixel point, which is used as the building vector range coordinates of each building.
[0103] An optional implementation of this embodiment is that, based on the vector range coordinates of each building, texture data located within the vector range coordinates in the orthophoto data is extracted as the roof texture data of each building, including:
[0104] Based on the vector range coordinates of each building, the area within the orthophoto plane position within the vector range coordinates is identified and extracted to obtain the roof texture data of each building. The vector range coordinates of each building are associated with the orthophoto coordinates to determine the building range within the vector range coordinates. The building range can be a polygon, and the orthophoto image area within the polygon is selected as the roof texture data of each building.
[0105] Based on the association between each building's vector range coordinates and the spatial identity code, the roof texture data of each building is associated with the spatial identity code. Based on the association between the spatial identity code and each building's building vector data and vector range coordinates, the roof texture data of each building is associated with the corresponding spatial identity code. Through the spatial identity code, the building in the 3D building model is associated with the building roof area extracted from the building outline in the orthophoto.
[0106] Example 3
[0107] Figure 3This is a flow chart of a method for correcting the roof of a three-dimensional building model according to the third embodiment of the present invention. This embodiment is optimized based on the above embodiment. In this embodiment, the roof elevation value and roof texture data are used to correct the corresponding building roof in the three-dimensional building model data. The specific optimization is as follows:
[0108] According to the association between the roof point cloud data of each building and the spatial identity code, the roof elevation value of each building is associated with the spatial identity code;
[0109] According to the association between the roof elevation value of each building and the spatial identity code, the building three-dimensional model corresponding to the spatial identity code is extracted from the building three-dimensional model data;
[0110] Use the roof elevation value to perform roof elevation correction on the extracted building 3D model;
[0111] Calculate the texture coordinates of the roof vertices of the three-dimensional building model after elevation correction;
[0112] The roof texture of the building 3D model is corrected according to the roof vertex texture coordinates and roof texture data.
[0113] Accordingly, the three-dimensional building model roof correction method provided in this embodiment specifically includes:
[0114] S301, pre-processing the original building data and establishing a basic data database, wherein the basic data database includes original point cloud data, orthophoto data, building three-dimensional model data and rule algorithm data.
[0115] S302: Using the rule algorithm data, extract features from the original point cloud data to obtain roof point cloud data.
[0116] S303: Determine the outer contour of each building based on the orthophoto data to form building vector data of each building.
[0117] S304: Determine the vector range coordinates of each building based on the building vector data of each building, and use the vector range coordinates and the roof point cloud data to determine the roof point cloud data within the vector range coordinates of each building as the building roof point cloud data of each building.
[0118] S305 , calculating the roof elevation value of each building using the building roof point cloud data and rule algorithm data of each building.
[0119] S306 , extracting texture data within the vector range coordinates of each building from the orthophoto data as roof texture data of each building.
[0120] S307 , associating the roof elevation value of each building with the spatial identity code according to the association between the roof point cloud data of each building and the spatial identity code.
[0121] The spatial identity code is used as a mark to identify each building. It is determined through the building three-dimensional model, and the spatial position in the building three-dimensional model is used to associate and correspond one-to-one with the spatial position of each building in the roof point cloud data. When calculating the roof elevation value, the building roof point cloud data of the corresponding building will be called through the spatial identity code, and the calculated roof elevation value will also be associated with the spatial identity code. When the roof elevation of the building three-dimensional model is subsequently corrected, the roof elevation value of each building can be directly called through the spatial identity code.
[0122] S308 , extracting a building three-dimensional model corresponding to the spatial identity code from the building three-dimensional model data according to the association between the roof elevation value of each building and the spatial identity code.
[0123] The corresponding building 3D model in the building 3D model data is searched according to the spatial identity code. The spatial identity code is the unique identifier of each building, and the spatial identity code of each building is not repeated.
[0124] S309: Using the roof elevation value, perform roof elevation correction on the extracted three-dimensional building model.
[0125] The spatial identity code is used to call the corresponding roof elevation value, and the roof vertex elevation of the corresponding building three-dimensional model is corrected using the called roof elevation value.
[0126] S310, calculating the texture coordinates of the roof vertices of the three-dimensional building model after elevation correction.
[0127] After elevation correction, the roof vertices will have new vertex coordinates at the height. The vertex coordinates can be used to calculate the roof vertex texture coordinates of the building three-dimensional model on the roof plane.
[0128] S311, performing roof texture correction on the building three-dimensional model according to the roof vertex texture coordinates and the roof texture data.
[0129] According to the calculated roof vertex texture coordinates, the vertex coordinates in the roof texture data of the corresponding building are found, the roof vertex texture coordinates are aligned with the coordinates of the building vertex in the roof texture data, and the roof texture data is replaced with the original texture according to the coordinates after the alignment.
[0130] This embodiment first corrects the elevation of the building's three-dimensional model using the roof elevation value. During the correction, spatial identity coding is used to determine the one-to-one correspondence between each building and the elevation value in the three-dimensional building model, facilitating data search and replacement. Using the elevation-corrected three-dimensional building model, the new roof vertex is determined, and the roof vertex coordinates are aligned with the coordinates representing the roof vertex in the roof texture data. The roof texture data is then used to update the original texture to obtain the final corrected roof information for the three-dimensional building model. Texture correction based on elevation correction avoids coordinate deviations that would otherwise occur after separate corrections, and the roof can be updated simultaneously in both elevation and texture, resulting in more realistic and accurate roof information.
[0131] Example 4
[0132] Figure 4 This is a flow chart of a method for correcting the roof of a three-dimensional building model according to a fourth embodiment of the present invention. This embodiment is optimized based on the above embodiment. In this embodiment, the rule algorithm data is used to perform feature extraction on the original point cloud data to obtain roof point cloud data. The specific optimization is as follows:
[0133] Extracting a point cloud clustering rule algorithm from the rule algorithm data;
[0134] Performing cluster analysis on the original point cloud data using the point cloud clustering rule algorithm to obtain point cloud clustering results;
[0135] Extracting a point cloud denoising rule algorithm from the rule algorithm data;
[0136] The point cloud denoising rule algorithm is used to denoise the point cloud clustering results to obtain roof point cloud data.
[0137] Accordingly, the three-dimensional building model roof correction method provided in this embodiment specifically includes:
[0138] S401, pre-processing the original building data and establishing a basic data database, wherein the basic data database includes original point cloud data, orthophoto data, building three-dimensional model data and rule algorithm data.
[0139] S402: Extracting a point cloud clustering rule algorithm from the rule algorithm data.
[0140] Call the point cloud clustering rule algorithm in the rule algorithm data, and the algorithm contains placeholders for filling data. Exemplarily, the point cloud clustering rule algorithm can be a Gaussian Mixture Model (GMM). The GMM algorithm has high flexibility and adaptability when processing large-scale complex data sets, can handle clusters of different shapes and sizes, and has good convergence and scalability, and is suitable for calculating the three-dimensional shapes of buildings of various shapes. By selecting K points as the initial clustering centers, each data point in the point cloud data can be assigned to the cluster where the nearest cluster center point is located, and then all the data points in each cluster are used to calculate the center of each cluster, and through multiple iterations until the cluster center point no longer changes significantly or reaches the preset upper limit of the number of iterations, the computational complexity is low and the convergence speed is fast.
[0141] S403: Perform cluster analysis on the original point cloud data using the point cloud clustering rule algorithm to obtain point cloud clustering results.
[0142] Input the original point cloud data into the point cloud clustering rule algorithm, replace the placeholders, and use the point cloud clustering rule algorithm to perform cluster analysis on the point cloud data. First, set multiple point sets. The number of point sets is determined according to the actual number of roofs that need to be corrected. Then, determine the probability that each point cloud sample in the point cloud data conforms to each point set, and divide the point cloud samples into the point set with the highest probability. After completing one round, calculate the mean vector, covariance, and mixing coefficient parameters of each point set to obtain the maximum likelihood estimate. Repeat the calculation of the probability that each point cloud sample conforms to the distribution of each point set, divide the point cloud samples into point sets, and continuously iterate and update until the algorithm model converges and reaches a certain accuracy to produce a local optimal solution, and obtain the final point cloud clustering result, and the calculation ends.
[0143] S404: Extracting a point cloud denoising rule algorithm from the rule algorithm data.
[0144] Call the point cloud denoising rule algorithm in the rule algorithm data, and the algorithm contains placeholders for filling data. Exemplarily, the point cloud clustering rule algorithm can be a noise point filtering method based on point cloud data, which is a denoising algorithm based on the DBSCAN algorithm. The three-dimensional space can be divided into voxel grids of the same size, the point cloud data can be distributed to each voxel grid, the center of mass in each voxel grid is calculated respectively, and the center of mass is used as the representative of all point cloud data points in the voxel grid, thereby denoising the point cloud data and reducing the amount of point cloud data. It can remove some tiny noise points caused by measurement errors, and can retain the overall shape and structural characteristics of the point cloud to a certain extent, thereby improving the calculation efficiency, and is suitable for preprocessing large-scale point cloud data.
[0145] S405: De-noising the point cloud clustering result using the point cloud denoising rule algorithm to obtain roof point cloud data.
[0146] Input the point cloud clustering results into the point cloud denoising rule algorithm, replace the placeholders, and use the point cloud denoising rule algorithm to denoise the point cloud data. First, calculate the spatial distance between each point in the point cloud clustering results. When the point distance is less than the preset threshold, it is recorded as an adjacent point to the point. When the number of adjacent points of the point is less than a certain number, the point is recorded as a noise point and can be excluded. For a set with a number of adjacent points greater than the preset threshold, construct the maximum polygon and calculate the area of the polygon. When the area is less than the area threshold, all the points in the set are recorded as noise points, and all noise points are removed. For example, it is known that the extracted point cloud data set C, each point is P k (x k ,y k ,z k ), assuming that the point set is C i , the number of collection points is N i , the maximum polygon area is S i , the spatial distance between the two points is d(k,j). After denoising, the point cloud set C0 of the building roof is obtained. The calculation formula is as follows:
[0147]
[0148] Among them, δ=5 is the point calculation interval threshold of 5 meters, count(C i ) is the calculation point set C i Point quantity algorithm, area(C i ) is the algorithm for calculating the maximum polygon area of a set of points, the number of set points N i Less than 5, the collection points construct the maximum polygon area S i Points smaller than 12 square meters are considered abnormal noise points and are finally deleted from the point cloud set to form denoised roof point cloud data.
[0149] S406: Determine the outer contour of each building based on the orthophoto data to generate building vector data for each building.
[0150] S407, determining the vector range coordinates of each building according to the building vector data of each building, and using the vector range coordinates and the roof point cloud data, determining the roof point cloud data within the vector range coordinates of each building as the building roof point cloud data of each building.
[0151] S408 , calculating the roof elevation value of each building using the building roof point cloud data and rule algorithm data of each building.
[0152] S409 , extracting texture data within the vector range coordinates of each building from the orthophoto data as roof texture data of each building.
[0153] S410: Correcting the corresponding building roof in the building three-dimensional model data using the roof elevation value and the roof texture data.
[0154] This embodiment clusters point cloud data and classifies it for each building. The resulting point cloud clustering results can be used to represent the three-dimensional shape of each building. De-noising is then performed on the resulting point cloud clustering to remove noise points and small components irrelevant to the building's three-dimensional shape, resulting in final roof point cloud data. By expressing the building's three-dimensional shape through point cloud data and using cluster analysis to classify the point cloud, the classification of each building is more accurate and irrelevant data is removed. Subsequent calculations using the resulting point cloud data yield more accurate building information and reduce interference from irrelevant factors.
[0155] Optionally, the pre-processing of the original building data and the establishment of a basic data database include:
[0156] Based on the collected laser point cloud data, the spatial coordinates of the point cloud are extracted and encoded to form the raw point cloud data. From the building point cloud data collected by the LiDAR, the spatial coordinates of the point cloud are extracted and preprocessed with clustering and denoising to form the roof point cloud data. The point cloud data is then encoded in separate slices. For example, the 3D point cloud data is encoded using local coordinate map numbers as 292-95-100.las for easy retrieval.
[0157] Based on the collected orthophoto data, extract the orthophoto spatial data coordinates and encode them to form orthophoto data. Extract the orthographic projections of buildings from aerial or satellite remote sensing imagery to form orthophoto data containing the orthophoto spatial data coordinates. Encode the orthophoto data slices. For example, encode the orthophoto data using local coordinate map numbers as 292-95-100.tif for easy retrieval.
[0158] Based on the collected 3D building model data, the 3D model of each building in the 3D building model data is spatially encoded to form the 3D building model data. The 3D building model data that needs to be corrected is collected. Based on the spatial location and attribute information of each building in the real 3D data, each 3D building model is assigned a spatial identity code to identify each building and form the 3D building model data.
[0159] Exemplarily, the building three-dimensional model data is encoded as MA1001-NE104J2525034TJSSJSWJZ2301010001, where "MA" represents street information, "NE" represents village community, and "TJSSJSWJZ" represents "Tianjin City Building Three-Dimensional Model".
[0160] Collect point cloud clustering rule algorithms, point cloud denoising rule algorithms, raster data vectorization algorithms, elevation data interpolation algorithms, and texture coordinate algorithms, and perform rule algorithm function encoding to form rule algorithm data.
[0161] Collect the clustering and denoising algorithms used in pre-processing laser point cloud data, the raster vector algorithm used to rasterize and vectorize aerial or remote sensing images, the elevation algorithm used to calculate elevation through point cloud data, and the texture coordinate algorithm used to determine roof texture coordinates. Encode according to the different functions provided by the algorithm to obtain the point cloud clustering rule algorithm, point cloud denoising rule algorithm, raster data vectorization algorithm, elevation data interpolation algorithm, and texture coordinate algorithm, which together form rule algorithm data. During calculation, the corresponding algorithm is called by encoding according to the calculation requirements. For example, the algorithm name abbreviations can be used to encode the point cloud denoising analysis algorithm as DYQZFXGS, the raster data vectorization algorithm as YXSZHGS, the elevation data interpolation algorithm as GCSPCZGS, and the texture coordinate calculation algorithm as TCOORDSGS, so as to facilitate data storage, retrieval, and calling.
[0162] By encoding the original data and rule algorithms, not only is the data format unified, making it easier to quickly search during subsequent calls, but it also facilitates functional expansion and has a wider adaptability when correcting real-life three-dimensional building models.
[0163] Example 5
[0164] Figure 5 This is a schematic structural diagram of a three-dimensional building model roof correction device according to a fifth embodiment of the present invention. In this embodiment, the three-dimensional building model roof correction device includes:
[0165] The data pre-processing module 810 is used to pre-process the original building data.
[0166] The roof point cloud extraction module 820 is used to extract roof point cloud data based on the laser point cloud data.
[0167] The building vector extraction module 830 is used to extract building vector data based on the orthophoto data.
[0168] The building data extraction module 840 is used to determine the roof point cloud data of each building based on the building vector data of each building.
[0169] The roof elevation calculation module 850 is used to calculate the roof elevation value of the building based on the roof point cloud data.
[0170] The roof texture extraction module 860 is used to extract roof texture data according to the vector range coordinates.
[0171] The building roof correction module 870 is used to correct the building roof of the building 3D model according to the roof elevation value and roof texture data.
[0172] This embodiment uses a data preprocessing module to perform format unification and encoding on the data collected by the new surveying and mapping method. The roof point cloud extraction module clusters and denoises the raw point cloud data. The building vector extraction module determines the building range in the orthophoto image. The building data extraction module determines the roof point cloud data of each building. The roof elevation calculation module calculates the roof elevation value of the building. The roof texture extraction module determines the roof texture data of each building. Finally, the building roof correction module corrects the building roof of the three-dimensional building model based on the roof elevation value and roof texture data. The outer contour of each building is extracted from the orthophoto image, and the building vector data representing each building is determined. The building vector data is used to determine the vector coordinate range, which is used to divide the area of each building. The divided areas are then used to determine the roof point cloud data belonging to each area as the roof point cloud data of each building. Using roof point cloud data to correct the elevation of the building 3D model can achieve higher accuracy. Then, by replacing the building roof texture, more realistic and accurate building roof information can be obtained. When updating, only the roof point cloud data of each building in the area to be updated needs to be selected for calculation. There is no need to update the entire building 3D model or each building, which greatly reduces the data resources consumed by the calculation.
[0173] Example 6
[0174] Figure 6 This is a structural diagram of a server according to Embodiment 6 of the present invention. Figure 6 A block diagram of an exemplary server 12 suitable for use in implementing embodiments of the present invention is shown. Figure 6 The server 12 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0175] like Figure 6 As shown, server 12 is implemented as a general-purpose computing device. Components of server 12 may include, but are not limited to, one or more processors or processing units 16, system memory 28, and a bus 18 that connects various system components (including system memory 28 and processing units 16).
[0176] Bus 18 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures. Examples of these architectures include, but are not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MAC) bus, an Enhanced ISA bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.
[0177] The server 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the server 12, including volatile and non-volatile media, removable and non-removable media.
[0178] System memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. Server 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be configured to read and write non-removable, non-volatile magnetic media ( Figure 6 Not shown, often called a "hard drive"). Although Figure 6 Not shown, a magnetic disk drive for reading and writing to a removable non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of various embodiments of the present invention.
[0179] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may include an implementation of a network environment. Program modules 42 generally implement the functions and / or methods of the embodiments described herein.
[0180] The server 12 may also communicate with one or more external devices 14 (e.g., a keyboard, pointing device, display 24, etc.), one or more devices that enable a user to interact with the device / server / server 12, and / or any device that enables the server 12 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). Such communication may occur via an input / output (I / O) interface 22. Furthermore, the server 12 may communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 20. As shown, the network adapter 20 communicates with the other modules of the server 12 via a bus 18. It should be understood that, although not shown, other hardware and / or software modules may be used in conjunction with the server 12, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0181] The processing unit 16 executes various functional applications and data processing by running programs stored in the system memory 28, such as implementing the three-dimensional building model roof correction method provided by the embodiment of the present invention.
[0182] Example 7
[0183] The seventh embodiment of the present invention further provides a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the three-dimensional building model roof correction method provided in the above embodiment.
[0184] The computer storage medium of the embodiment of the present invention may adopt any combination of one or more computer-readable media. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or component, or any combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device.
[0185] A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0186] Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0187] Computer program code for performing the operations of the present invention may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0188] Note that the above are only preferred embodiments of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments, and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments and may include many other equivalent embodiments without departing from the concept of the present invention. The scope of the present invention is determined by the scope of the appended claims.
Claims
1. A method for correcting the roof of a three-dimensional building model, characterized in that: include: Preprocessing the original building data and establishing a basic data database, wherein the basic data database includes original point cloud data, orthophoto data, building three-dimensional model data and rule algorithm data; Using the rule algorithm data to perform feature extraction on the original point cloud data to obtain roof point cloud data; Determine the outer contour of each building based on the orthophoto data to form the building vector data of each building; Determine the vector range coordinates of each building according to the building vector data of each building, and use the vector range coordinates and the roof point cloud data to determine the roof point cloud data within the vector range coordinates of each building as the building roof point cloud data of each building; Calculate the roof elevation value of each building using the building roof point cloud data and rule algorithm data; According to the vector range coordinates of each building, the texture data located within the vector range coordinates in the orthophoto data is extracted as the roof texture data of each building; The roof elevation value and roof texture data are used to correct the corresponding building roof in the building three-dimensional model data.
2. The method according to claim 1, characterized in that The method of determining the vector range coordinates of each building according to the building vector data of each building, and determining the roof point cloud data within the vector range coordinates of each building as the building roof point cloud data of each building by using the vector range coordinates and the roof point cloud data, includes: Traverse the building vector data of each building to obtain the vector range coordinates of each building; Add a spatial identity code to each building and associate the spatial identity code with the vector range coordinates of each building. Each spatial identity code corresponds to each building one by one. According to the vector range coordinates of each building, points in the roof point cloud data that are respectively located within the vector range coordinates of each building are identified to form the building roof point cloud data of each building; According to the association between the vector range coordinates of each building and the spatial identity code, the roof point cloud data of each building is associated with the spatial identity code.
3. The method according to claim 2, characterized in that The traversal of the building vector data of each building to obtain the vector range coordinates of each building includes: Based on the orthophoto data and rule algorithm data, identify the building outline pixels in the orthophoto data and record the coordinates of each pixel; Fit the building outline pixel points to form a vector polygon point set; Based on the vector polygon point set, polygon vector geographic features are created to obtain the building vector range coordinates of each building.
4. The method according to claim 2, characterized in that The method of extracting texture data within the vector range coordinates of each building from the orthophoto data as the roof texture data of each building includes: According to the vector range coordinates of each building, the area where the building plane position is located within the vector range coordinates on the orthophoto is identified and extracted to obtain the roof texture data of each building; According to the association between the vector range coordinates of each building and the spatial identity code, the roof texture data of each building is associated with the spatial identity code.
5. The method according to claim 2, characterized in that The method of correcting the corresponding building roof in the building three-dimensional model data by using the roof elevation value and the roof texture data includes: According to the association between the roof point cloud data of each building and the spatial identity code, the roof elevation value of each building is associated with the spatial identity code; According to the association between the roof elevation value of each building and the spatial identity code, the building three-dimensional model corresponding to the spatial identity code is extracted from the building three-dimensional model data; Use the roof elevation value to perform roof elevation correction on the extracted building 3D model; Calculate the texture coordinates of the roof vertices of the three-dimensional building model after elevation correction; The roof texture of the building 3D model is corrected according to the roof vertex texture coordinates and roof texture data.
6. The method according to claim 1, characterized in that The method of extracting features from the original point cloud data using the rule algorithm data to obtain roof point cloud data includes: Extracting a point cloud clustering rule algorithm from the rule algorithm data; Performing cluster analysis on the original point cloud data using the point cloud clustering rule algorithm to obtain point cloud clustering results; Extracting a point cloud denoising rule algorithm from the rule algorithm data; The point cloud denoising rule algorithm is used to denoise the point cloud clustering results to obtain roof point cloud data.
7. The method according to claim 1, characterized in that The pre-processing of the original building data and the establishment of a basic data database include: According to the collected laser point cloud data, the point cloud spatial data coordinates are extracted and the point cloud data is encoded to form the original point cloud data; Extracting orthophoto spatial data coordinates based on the collected orthophoto data, and encoding the orthophoto spatial data coordinates to form orthophoto data; According to the collected building three-dimensional model data, the three-dimensional model of each building in the building three-dimensional model data is spatially encoded to form building three-dimensional model data; Collect point cloud clustering rule algorithms, point cloud denoising rule algorithms, raster data vectorization algorithms, elevation data interpolation algorithms, and texture coordinate algorithms, and perform rule algorithm function encoding to form rule algorithm data.
8. A three-dimensional building model roof correction device, characterized in that: include: Data preprocessing module, used to preprocess the original building data; Roof point cloud extraction module, used to extract roof point cloud data based on laser point cloud data; Building vector extraction module, used to extract building vector data based on orthophoto data; A building data extraction module is used to determine the roof point cloud data of each building based on the building vector data of each building; Roof elevation calculation module, used to calculate the roof elevation value of the building based on roof point cloud data; A roof texture extraction module is used to extract roof texture data according to vector range coordinates; The building roof correction module is used to correct the building roof of the building three-dimensional model according to the roof elevation value and roof texture data.
9. A server, characterized in that: The server includes: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the three-dimensional building model roof correction method according to any one of claims 1 to 7.
10. A storage medium comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a computer processor, are used to perform the three-dimensional building model roof correction method according to any one of claims 1 to 7.