A method for intelligent recognition of building height based on virtual remote sensing images

Through the method based on virtual remote sensing images, the azimuth angle and height angle of the remote sensing image are calculated, the virtual remote sensing image is generated and the convolutional neural network is trained, which solves the problem of difficulty in extracting building height information in the existing technology, and achieves high-precision and automated building height recognition.

CN114743095BActive Publication Date: 2025-03-21TONGJI UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210273569.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-03-19
Publication Date
2025-03-21
Estimated Expiration
2042-03-19

AI Technical Summary

Technical Problem

The prior art is difficult to effectively extract building height information from a single optical remote sensing image, especially in the absence of a training set of building image with height angle and azimuth angle variation.

Method used

The intelligent building height recognition method based on virtual remote sensing images is adopted. By calculating the azimuth angle and height angle of the remote sensing image, the building profile with random parameters is generated, the virtual satellite remote sensing image is generated, the convolutional neural network is trained, and the building height information is automatically extracted.

Benefits of technology

It realizes the good generalization performance and automation capabilities of CNN, and can comprehensively utilize building shadows and edge information for building height information extraction, improving the recognition accuracy and automation level.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114743095B_ABST
    Figure CN114743095B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for intelligently identifying building heights based on virtual remote sensing images, including five steps of alternating operation, namely, calculating the azimuth and altitude angles of remote sensing images, generating building outlines with random parameters, generating virtual satellite remote sensing images, training convolutional neural networks, and automatically extracting building height information. The identification method of the present invention can generate a large number of virtual remote sensing images with random parameters, and the trained convolutional neural network has good generalization performance and automation capabilities, and can comprehensively utilize information such as building shadows and building edges to extract building height information, thereby improving the recognition accuracy; the strategy of generating training set virtual images while training convolutional neural networks further improves the training efficiency of convolutional neural networks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of remote sensing image application, and more specifically, to a method for intelligently identifying building heights based on virtual remote sensing images. Background Art

[0002] Building height information extraction is an important application of remote sensing technology. According to the source of remote sensing data, it can be divided into optical remote sensing images, laser detection and ranging systems, synthetic aperture radar and other methods. Among them, optical remote sensing images have the advantages of low cost and easy operation. The main geometric principle of measuring building height using a single optical remote sensing image is as follows: Figure 1 As shown, multiply the shadow length of the building by the solar altitude angle (h so ) or multiply the length of the building edge in the image that can reflect the height by the satellite altitude angle (h sa ). This method of measuring building height using building shadows generally involves first separating the building shadow from the image, then calculating the solar altitude angle and azimuth, and finally calculating the building height based on the shadow length. The existing method of extracting building height using building shadows has a recognition accuracy that depends on factors such as image resolution, altitude angle, and whether the shadow and building overlap. If the solar altitude angle is so large that the shadow length cannot be measured, then the shadow length cannot be used to measure the building height. Similarly, if the satellite altitude angle is too large, the edge length information of the building cannot be used. In addition, in the process of extracting shadows, various parameters need to be debugged to achieve the best extraction effect. These parameters may depend on the images used for debugging and do not have good generalization. Moreover, this type of method relies more on manual labor, and it is difficult to achieve large-scale automated information extraction.

[0003] In recent years, deep convolutional neural network (CNN) technology has been widely used in the field of image recognition, which provides the possibility of automatically extracting building height information from a single remote sensing image. However, training CNN requires a large amount of training set data. The building heights of these training set images must be known, and if the trained CNN is to be applied to various altitudes and azimuths of the sun and satellite, the altitude and azimuth parameters in the training set images also need to be randomly changed. Although a large-area optical remote sensing image can contain a large number of building images at different heights, their altitudes and azimuths are generally the same. Therefore, it is difficult to train a CNN with good generalization performance and applicable to different angle parameters based on actual remote sensing image data.

[0004] Therefore, developing a method for intelligent building height recognition to overcome the difficulty of lacking a training set of building images with varying elevation and azimuth angles when CNN extracts building height information from a single optical remote sensing image is a technical problem that needs to be solved urgently. Summary of the invention

[0005] Due to the above-mentioned defects in the prior art, the present invention provides a method for intelligently identifying building heights based on virtual remote sensing images to overcome the difficulty of lacking a training set of building images with varying altitude angles and azimuth angles when CNN extracts building height information from a single optical remote sensing image.

[0006] To achieve the above object, on the one hand, the present invention provides a method for intelligently identifying building heights based on virtual remote sensing images, which is characterized by comprising the following steps:

[0007] S1. When the azimuth and altitude angles in the remote sensing image are unknown, the azimuth and altitude angles of the remote sensing image are calculated; including the following specific processes:

[0008] S11, estimate the sun and satellite azimuth: find the appropriate shadow line segment and building edge line segment to infer the sun and satellite azimuth respectively;

[0009] S12. Estimation of solar altitude angle h so : When the image shooting date and the building longitude and latitude are determined, the solar altitude angle and azimuth at any time of the day are known. Since the solar azimuth is unique within a day, the corresponding solar altitude angle h can be found according to the solar azimuth obtained in step S11. so ;

[0010] S13, estimate the satellite altitude angle h sa :Building height H=L ob tan(h sa ), where L ob is the length of the building shadow, and the tangent value of the satellite elevation angle is tan(h sa )=H / L ob , thus obtaining the satellite altitude angle;

[0011] S14, estimate the building height of other buildings in a satellite image: Since the satellite altitude angle and the sun altitude angle have been obtained in steps S12 and S13, according to the building shadow length L ob Or the length of the building corner side L oa The height of other buildings can be calculated;

[0012] S2, generating building outlines with random parameters;

[0013] When establishing a building model, an algorithm is first used to randomly generate a building outline, and then randomly generate a building height, so as to obtain a random building three-dimensional model; the algorithm generates a building outline with the following characteristics: characteristic 1: the outline constitutes a single connected polygon area; characteristic 2: it has a major and minor axis similar to a rectangle; characteristic 3: the angle between each side of the outline is 90°;

[0014] S3, generating virtual satellite remote sensing images;

[0015] First, a model of the building, the environment around the building, and lighting is established. Then, a camera is used to simulate the position of a satellite to take photos and screenshots, and an orthogonal projection image is output. Then, the screenshot is projected and transformed with the ground as a reference coordinate system to obtain a virtual remote sensing image. The virtual remote sensing image is rotated so that the sun azimuth is adjusted to 45° to obtain a first grayscale image with a resolution of 0.4 meters. Then, the virtual remote sensing image is rotated so that the satellite azimuth is adjusted to 45° to obtain a second grayscale image with a resolution of 0.4 meters.

[0016] S4, training convolutional neural network;

[0017] The information of the convolutional neural network input layer includes: the first grayscale image used to extract the building shadow information, the second grayscale image used to extract the building edge information, and the solar altitude angle and satellite altitude angle information; the convolution kernel size of the convolutional neural network convolutional layer is 3×3, and the feature information in the image is gradually extracted through convolution-activation-pooling. The size of the image will gradually decrease, and the depth information will gradually increase; the small batch gradient descent method is used for training, and each batch contains 20 images. The image training set for each information generation contains 1,000 images, 800 images are used as training sets, and the remaining 200 images are used as validation sets. Each batch of training sets is trained for 10 rounds, that is, 400 batches. After 10 rounds of training, return to step S3 to update the training set and validation set, generate new 1,000 images, and then train for 10 rounds, and continue to cycle until the root mean square error of the training set tends to stabilize and stops;

[0018] S5. Automatically extract building height information;

[0019] By inputting the satellite remote sensing image into the convolutional neural network that has been trained in step S4 as required, the image can be automatically processed and the building height can be extracted.

[0020] Preferably, in step S14, whether to use the length of the building's shadow or the length of the building's edge to infer the height of other buildings depends on which length is easier to measure.

[0021] Preferably, the algorithm for establishing the building model in steps S2 and S3 can be implemented by using the 3D game engine Unity3D.

[0022] Preferably, the algorithm for randomly generating a building outline in step S2 comprises the following steps:

[0023] S21, randomly generate a circle with a radius of R as a rough circumscribed circle of the target contour, wherein the radius is a parameter characterizing the approximate size of the contour, and the range of the radius is a configurable parameter, which depends on the size range of the contour of the building to be identified;

[0024] S22, randomly generate an inscribed rectangle of a circle; randomly select a ratio of the minor axis to the major axis η, where η is a random variable with a value between 0 and 1, to obtain an inscribed rectangle of the circle generated in step S21, where the length of the rectangle is a and the width is b;

[0025] S23. Segment the long and short sides of the rectangle: randomly generate a positive integer N L ≤5, as the number of segments of the long side, and then define the length l1 = a / N L , l2=a / (N L -1), divide the long side into 5 small segments according to the interval (l1,l2) of uniform random number distribution; similarly, divide the short side into 5 small segments according to the number N of segments s =[N L b / a], where [·] is the ceiling function;

[0026] S24, each segment moves up and down randomly, and the moving distance is a random number 0.5·(0,b / N s ), the purpose of moving the segments is to make the building outline have a certain random adjustment on the basis of the rectangle;

[0027] S25. Finally, randomly rotate the contour by 0-360°.

[0028] Preferably, the projection transformation in step S3 is processed using the fitgeotrans function in Matlab.

[0029] Preferably, the random parameters used in the process of generating the virtual image include:

[0030] 1) Building model: The radius of the building outline R∈[5,30] meters and the randomly generated building height H∈[5,50] meters are uniformly distributed;

[0031] 2) Texture: The texture of each exterior surface and ground of the building is generated using Perlin noise. The scale of Perlin noise is different for different surfaces and varies randomly.

[0032] 3) Satellite azimuth: The satellite azimuth actually corresponds to the shooting angle of the camera. The shooting angle range is [45,75]°. When the angle is 90°, it is the overlooking angle.

[0033] 4) Solar azimuth: Set the illumination to parallel illumination, with an angle range of [30,75]°;

[0034] 5) Terrain: The range of terrain height is [0,2]m, which is also randomly generated using Perlin noise;

[0035] 6) Building environment: Some trees are randomly set to take into account the fact that the shadow of the building may be blocked to a certain extent in reality;

[0036] 7) Ambient light: The intensity of ambient light is randomly generated each time. If the ambient light intensity is 0, it means that the backlight surface of the building is completely dark, which is equivalent to no diffuse reflection. If the ambient light intensity is 1, it means white;

[0037] 8) In the process of processing from the screenshot to the grayscale image with a resolution of 0.4 meters, Gaussian filtering of σ∈[0,1] and gamma correction of γ∈[0.3,2] are set.

[0038] Preferably, the sizes of the first grayscale picture and the second grayscale picture are 224×224×1 pixels.

[0039] Preferably, the first grayscale image and the second grayscale image are looped through the convolution layer for 5 times, and the number of channels of the image obtained by the convolution layer in each loop is 32, 64, 128, 256, and 512, respectively. The sizes of the images obtained after pooling in each loop are 112×112, 56×56, 28×28, 14×14, and 7×7 pixels, respectively. Then, 1×1×512 feature information is obtained through global mean pooling. The feature information of the building shadow and the feature information of the building edge are corrected for the altitude angle according to the solar altitude angle and the satellite altitude angle, respectively, that is, 512 values ​​are multiplied by the tangent value of the altitude angle tan(H). If the length of the building shadow is included in 512, the building height is obtained after multiplying by tan(H). The feature information is connected to obtain 1024 feature information values, and then two layers of fully connected layers plus a truncated activation layer are performed, and the truncation value of the activation layer is 50. The last layer is a regression layer with the sum of squares as the loss function.

[0040] Compared with the prior art, the above invention has the following advantages or beneficial effects:

[0041] (1) It can generate a large number of virtual remote sensing images with random parameters (including solar altitude angle, satellite altitude angle, building height, etc.), without the need to manually collect real satellite image data sets;

[0042] (2) The trained CNN has good generalization performance and improved automation capabilities. For images with different colors, contrasts, and light intensity characteristics from different sources, there is no need to manually adjust parameters like traditional building shadow extraction methods;

[0043] (3) The trained CNN can comprehensively utilize information such as building shadows and building edges to extract building height information, rather than using only one type of information to measure height, thus improving recognition accuracy;

[0044] (4) The strategy of generating virtual images for the training set while training CNN further improves the training efficiency of CNN;

[0045] (5) CNN does not require human intervention when extracting building height information, which greatly improves the automation and efficiency of the extraction process.

[0046] The present invention discloses a method for intelligently identifying building heights based on virtual remote sensing images, including five alternate steps of calculating the azimuth and altitude angles of remote sensing images, generating building outlines with random parameters, generating virtual satellite remote sensing images, training convolutional neural networks, and automatically extracting building height information. The identification method of the present invention can generate a large number of virtual remote sensing images with random parameters, and the trained convolutional neural network has good generalization performance and automation capabilities, and can comprehensively utilize information such as building shadows and building edges to extract building height information, thereby improving the recognition accuracy; the strategy of generating training set virtual images while training the convolutional neural network further improves the training efficiency of the convolutional neural network. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] The present invention and its features, appearance and advantages will become more apparent by reading the detailed description of non-limiting embodiments with reference to the following drawings. The same reference numerals indicate the same parts in all the drawings. The drawings are not drawn to scale, and emphasis is placed on illustrating the subject matter of the present invention.

[0048] Figure 1 The geometric principle diagram for measuring building height from a single optical remote sensing image;

[0049] Figure 2 Schematic diagram of solar azimuth and satellite azimuth;

[0050] Figure 3 A flowchart of a random contour algorithm in the step of generating a building contour with random parameters in an embodiment of the present invention;

[0051] Figure 4 is a structural diagram of a convolutional neural network used in an embodiment of the present invention;

[0052] Figure 5 A randomly generated building outline map in an embodiment of the present invention;

[0053] Figure 6 The training progress diagram and test results of the convolutional neural network in the embodiment of the present invention are shown;

[0054] Figure 7 This is an example diagram of the training set building height extraction results in an embodiment of the present invention;

[0055] Figure 8 This is a comparison chart of CNN predicted height, manually measured height and accurate height in an embodiment of the present invention. DETAILED DESCRIPTION

[0056] The structure of the present invention is further described below in conjunction with the accompanying drawings and specific embodiments, but is not intended to limit the present invention.

[0057] Example

[0058] A method based on virtual remote sensing images is used to intelligently identify building heights, including the following steps:

[0059] S1. When the azimuth and altitude angles in the remote sensing image are unknown, the azimuth and altitude angles of the remote sensing image are calculated; including the following specific processes:

[0060] S11. Estimation of the sun and satellite azimuths: Figure 2 As shown, find the appropriate shadow line segment and building edge line segment to invert the sun and satellite azimuths respectively;

[0061] S12. Estimation of solar altitude angle h so : When the image shooting date and the building longitude and latitude are determined, the solar altitude angle and azimuth at any time of the day are known. Since the solar azimuth is unique within a day, the corresponding solar altitude angle h can be found according to the solar azimuth obtained in step S11. so ;

[0062] S13, estimate the satellite altitude angle h sa :Building height H=L ob tan(h sa ), where L ob is the length of the building shadow, and the tangent value of the satellite elevation angle is tan(h sa )=H / L ob , thus obtaining the satellite altitude angle;

[0063] S14, estimate the building height of other buildings in a satellite image: Since the satellite altitude angle and the sun altitude angle have been obtained in steps S12 and S13, according to the building shadow length L ob Or the length of the building corner side L oa The height of other buildings can be inferred, and which formula to use depends on whether the length of the building's shadow or the length of the building's edge is easier to measure;

[0064] S2, generating building outlines with random parameters;

[0065] When using Unity3D to build a building model, an algorithm is first used to randomly generate a building outline, and then randomly generate a building height, so as to obtain a random building three-dimensional model; the algorithm generates a building outline with the following characteristics: Feature 1: the outline constitutes a single connected polygon area; Feature 2: has a major and minor axis similar to a rectangle; Feature 3: the angle between each side of the outline is 90°; Figure 3 The flowchart of the random contour algorithm in the step of generating random parameter building contour corresponds to the following steps:

[0066] 1) Randomly generate a circle with a radius of R as the approximate circumscribed circle of the target contour. This radius is a parameter that characterizes the approximate size of the contour. The range of the radius is a configurable parameter that depends on the size range of the contour of the building to be identified;

[0067] 2) Randomly generate an inscribed rectangle of a circle. Randomly select the ratio of the short axis to the long axis η (η is a random variable, and the probability density function is a 0-1 slope, that is, the probability of η being close to 1 is greater than the probability of being close to 0), so as to obtain an inscribed rectangle of the circle in the first step (length a, width b);

[0068] 3) Divide the long and short sides of the rectangle into segments: randomly generate a positive integer N L ≤5, as the number of segments of the long side, and then define the length l1 = a / N L , l2=a / (N L -1), divide the long side into 5 small segments according to the interval (l1,l2) of uniform random number distribution; similarly, divide the short side into 5 small segments according to the number N of segments s =[N L b / a], [·] is the rounding up function;

[0069] 4) Each segment moves up and down randomly, and the moving distance is a random number 0.5·(0,b / N s ) (the probability density function is a 1-0 oblique line distribution, that is, the greater the distance of segment movement, the smaller the probability of occurrence). The segment movement is to make the building outline have a certain random adjustment on the basis of the rectangle;

[0070] 5) Finally, randomly rotate the contour by 0-360°.

[0071] S3, generating virtual satellite remote sensing images;

[0072] First, a model of the building, the environment around the building, and lighting is established. Then, a camera is used to simulate the position of the satellite to take photos and screenshots, and orthogonal projection images are output. Then, the screenshots are projected and transformed with the ground as the reference coordinate system to obtain a virtual remote sensing image. The projection transformation is processed using the fitgeotrans function in Matlab. The virtual remote sensing image is rotated so that the sun azimuth is adjusted to 45° to obtain a first grayscale image with a resolution of 0.4 meters. Then, the virtual remote sensing image is rotated so that the satellite azimuth is adjusted to 45° to obtain a second grayscale image with a resolution of 0.4 meters. The random parameters used in the process of generating virtual images include:

[0073] 1) Building model: The radius of the building outline R∈[5,30] meters and the randomly generated building height H∈[5,50] meters are uniformly distributed;

[0074] 2) Texture: The texture of each exterior surface and ground of the building is generated using Perlin noise. The scale of Perlin noise is different for different surfaces and varies randomly.

[0075] 3) Satellite azimuth: The satellite azimuth actually corresponds to the shooting angle of the camera. The shooting angle range is [45,75]°. When the angle is 90°, it is the overlooking angle.

[0076] 4) Solar azimuth: Set the illumination to parallel illumination, with an angle range of [30,75]°;

[0077] 5) Terrain: The range of terrain height is [0,2]m, which is also randomly generated using Perlin noise;

[0078] 6) Building environment: Some trees are randomly set to take into account the fact that the shadow of the building may be blocked to a certain extent in reality;

[0079] 7) Ambient light: The intensity of ambient light is randomly generated each time. If the ambient light intensity is 0, it means that the backlight surface of the building is completely dark, which is equivalent to no diffuse reflection. If the ambient light intensity is 1, it means white;

[0080] 8) In the process of processing from the screenshot to the grayscale image with a resolution of 0.4 meters, Gaussian filtering of σ∈[0,1] and gamma correction of γ∈[0.3,2] are set.

[0081] S4, training convolutional neural network;

[0082] The CNN structure used in this embodiment to extract building height information is as follows: Figure 4As shown, the input remote sensing image needs to know the solar azimuth and altitude, satellite azimuth and altitude. If these angle parameters are uncertain, they can be estimated using the image shooting date and longitude and latitude according to the method in step S1. The information of the convolutional neural network input layer includes: the first grayscale image for extracting building shadow information, the second grayscale image for extracting building edge information, and solar altitude angle and satellite altitude angle information; the size of the first grayscale image and the second grayscale image is 224×224×1 pixel. The convolution kernel size of the convolutional layer of the convolutional neural network is 3×3. Through convolution-activation-pooling, the feature information in the image is gradually extracted. The size of the image will gradually decrease, and the depth information will gradually increase; Figure 4 The dotted box in the middle is looped for 5 times. The number of channels of the image obtained by the convolution layer in each loop is 32, 64, 128, 256, and 512 respectively. The size of the image obtained after pooling in each loop is 112×112, 56×56, 28×28, 14×14, and 7×7 pixels respectively. Then, the feature information of 1×1×512 is obtained through global mean pooling. The feature information of the building shadow is obtained on the left, and the feature information of the building edge is obtained on the right. Then, the altitude angle is corrected according to the solar altitude angle and the satellite altitude angle respectively, that is, the 512 values ​​are multiplied by the tangent value of the altitude angle tan(H). In this way, if 512 contains the length of the building shadow, then the building height is obtained after multiplying by tan(H). The left and right feature information are connected to obtain 1024 feature information values, and then two layers of fully connected layers plus a truncated activation layer (the truncation value is 50, that is, the height value obtained does not exceed 50m). The last layer is a regression layer with the sum of squares as the loss function. The entire CNN can be implemented in the deep learning toolbox in Matlab.

[0083] Because the training set is generated by Unity3D, there can be an infinite number of training sets in theory, so the CNN training strategy here adopts the method of generating images while training, rather than generating a certain amount of training set images first and then training them uniformly. This is equivalent to updating and generating new training sets after each batch of training sets has been trained for several rounds.

[0084] The training is performed using the small batch gradient descent method, with each batch containing 20 images. Each time the image training set for generating information contains 1,000 images, 800 images are used as the training set, and the remaining 200 images are used as the validation set. Each batch of training sets is trained for 10 rounds, that is, 400 batches. After 10 rounds of training, return to step S3 to update the training set and validation set, generate a new 1,000 images, and then train for another 10 rounds, and continue the cycle until the root mean square error of the training set tends to stabilize and stops;

[0085] S5. Automatically extract building height information;

[0086] By inputting the satellite remote sensing image into the convolutional neural network that has been trained in step S4 as required, the image can be automatically processed and the building height can be extracted.

[0087] Figure 5 These are examples of 15 random building outlines generated by the algorithm in step S2. It can be seen that the algorithm is able to generate more random building outlines based on rectangular outlines.

[0088] Figure 6 The training progress of 125 batches of training set images is given, which is equivalent to using a total of 125×8 million images for training, and each image is trained 10 times. The training set error finally dropped to about 3.5m. Theoretically, the root mean square error of the training set cannot drop to 0 because the resolution of the training set images is limited, and there are some extreme cases, such as shadows being completely blocked, and the ambient light being very dark, making it impossible to distinguish between the backlit surface of the building and the shadow, etc., so Figure 6 The root mean square error of the training set is only of relative significance and can be used to observe the training progress of CNN. Figure 6 The difference between the training set and the validation set is due to the fact that the CNN was trained for 10 epochs on the training set. Figure 7 These are the 10 images with the largest CNN recognition height errors from the 100 randomly selected training set images. The absolute value of the error is marked above the image, and the ID is the order of the image in the 100 images. It can be found that the ambient light intensity of the three images with IDs 65, 32, and 83 is too low, making it difficult to distinguish between shadows and backlit surfaces, while the remaining 10 images have either high satellite altitude angles or shadows that are blocked, resulting in low recognition accuracy.

[0089] This embodiment selects several buildings in New York to test the performance of CNN in extracting real remote sensing images. The height data of most buildings in the New York area can be found from the NYC Open Data, Building Footprints website, and is considered to be the accurate height of the building in the test set. The clearer remote sensing images of each building are selected from Google Earth historical images. The satellite altitude angle and solar altitude angle are unknown, so they are estimated using the shooting date and longitude and latitude according to the method in step S1.

[0090] The main principles for selecting buildings include:

[0091] 1) The size of the building outline meets R∈[5,30] meters and the building height H∈[5,50] meters;

[0092] 2) The building’s outline shape is approximately rectangular;

[0093] 3) The satellite altitude angle is within the range of [45,75]° and the sun altitude angle is within the range of [30,75]°;

[0094] 4) There should be no other buildings around the building as much as possible, because the virtual remote sensing images generated by the previous method currently do not take into account the interference of other buildings around.

[0095] According to the above rules, 185 images are selected here to test the trained CNN, such as Figure 8 As shown in the figure, the total root mean square error (RMSE) decreases as the training progresses, and the final root mean square error can be reduced to about 6m. The comparison of the actual building height and the CNN predicted height of each image in the test set shows that the prediction results of CNN are mainly random errors, without large systematic offset errors.

[0096] Those skilled in the art should understand that those skilled in the art can implement variations by combining the prior art and the above embodiments, which will not be described in detail here. Such variations do not affect the essential content of the present invention, and will not be described in detail here.

[0097] The above describes the preferred embodiments of the present invention. It should be understood that the present invention is not limited to the above-mentioned specific embodiments, and the devices and structures that are not described in detail should be understood to be implemented in a common manner in the art; any technician familiar with the art can use the above-disclosed methods and technical contents to make many possible changes and modifications to the technical solutions of the present invention without departing from the scope of the technical solutions of the present invention, or modify them into equivalent embodiments of equivalent changes, which does not affect the essential content of the present invention. Therefore, any simple modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solutions of the present invention are still within the scope of protection of the technical solutions of the present invention.

Claims

1. A method for intelligently identifying building height based on virtual remote sensing images, characterized in that: The following steps are involved: S1. When the azimuth and altitude angles in the remote sensing image are unknown, calculate the azimuth and altitude angles of the remote sensing image; The specific process includes the following: S11, estimate the sun and satellite azimuth: find the appropriate shadow line segment and building edge line segment to infer the sun and satellite azimuth respectively; S12. Estimation of solar altitude angle h so : When the image shooting date and the building longitude and latitude are determined, the solar altitude and azimuth at any time of the day are known. Since the solar azimuth is unique within a day, the corresponding solar altitude can be found according to the solar azimuth obtained in step S11. h so ; S13. Estimation of satellite altitude angle h sa :Building height H = L ob tan ( h sa ),in L ob is the length of the building shadow, and then the tangent of the satellite altitude angle is tan ( h sa ) = H / L ob , thus obtaining the satellite altitude angle; S14, estimate the building height of other buildings in a satellite image: Since the satellite altitude angle and the sun altitude angle have been obtained in steps S12 and S13, according to the length of the building shadow L ob Or the length of the building corner L oa The height of other buildings can be calculated; S2, generating building outlines with random parameters; When establishing a building model, an algorithm is first used to randomly generate a building outline, and then randomly generate a building height, so as to obtain a random building three-dimensional model; the algorithm generates a building outline with the following characteristics: characteristic 1: the outline constitutes a single connected polygon area; characteristic 2: has a major and minor axis similar to a rectangle; characteristic 3: the angle between each side of the outline is 90°; the algorithm for randomly generating a building outline includes the following steps: S21, randomly generate a circle with a radius R as the circumscribed circle of the target contour, wherein the radius is a parameter characterizing the size of the contour, and the range of the radius is a configurable parameter, which depends on the size range of the contour of the building to be identified; S22, randomly generate an inscribed rectangle of a circle; randomly select a ratio of the minor axis to the major axis η, where η is a random variable with a value between 0 and 1, to obtain an inscribed rectangle of the circle generated in step S21, where the length of the rectangle is a and the width is b; S23. Segment the long and short sides of the rectangle: randomly generate a positive integer N L ≤ 5, as the number of segments of the long side, and then define the length l1 = a / N L , l2 = a / (N L -1), divide the long sides into 5 small segments according to the interval (l1, l2) of uniform random number distribution; similarly, divide the short sides into 5 small segments according to the number of segments N s = [N L b / a], where [·] is the ceiling function; S24, each segment moves up and down randomly, and the moving distance is a random number 0.5·(0, b / N s ), the purpose of moving the segments is to make the building outline have a certain random adjustment on the basis of the rectangle; S25, finally randomly rotate the contour by 0-360°; S3, generating virtual satellite remote sensing images; First, a building, the environment around the building, and a lighting model are established, and then a camera is used to simulate the position of a satellite to take photos and screenshots, and an orthogonal projection image is output. Then, the screenshot is projected and transformed with the ground as a reference coordinate system to obtain a virtual remote sensing image; the virtual remote sensing image is rotated so that the sun azimuth angle is adjusted to 45° to obtain a first grayscale image with a resolution of 0.4 meters, and then the virtual remote sensing image is rotated so that the satellite azimuth angle is adjusted to 45° to obtain a second grayscale image with a resolution of 0.4 meters; S4, training convolutional neural network; The information of the input layer of the convolutional neural network includes: the first grayscale image for extracting the building shadow information, the second grayscale image for extracting the building edge information, and the solar altitude angle and satellite altitude angle information; the convolution kernel size of the convolutional layer of the convolutional neural network is 3×3, and the feature information in the image is gradually extracted through convolution-activation-pooling, the size of the image will gradually decrease, and the depth information will gradually increase; the small batch gradient descent method is used for training, and each batch contains 20 images; the image training set for generating information each time contains 1000 images, 800 images are used as training sets, and the remaining 200 images are used as verification sets; each batch of training sets is trained for 10 rounds, that is, 400 batches, and after 10 rounds of training, return to step S3 to update the training set and verification set, generate new 1000 images, and then train for 10 rounds, and keep looping until the root mean square error of the training set tends to be stable and stops; S5. Automatically extract building height information; By inputting the satellite remote sensing image into the convolutional neural network that has been trained in step S4 as required, the image can be automatically processed and the building height can be extracted.

2. The method for intelligently identifying building height based on virtual remote sensing images according to claim 1 is characterized in that: In step S14, whether the length of the building shadow or the length of the building edge itself is used to infer the height of other buildings depends on which length is easier to measure.

3. The method for intelligently identifying building height based on virtual remote sensing images according to claim 1 is characterized in that: The algorithm for establishing the building model in steps S2 and S3 can be implemented by the 3D game engine Unity3D.

4. The method for intelligently identifying building height based on virtual remote sensing images according to claim 1 is characterized in that: The projection transformation in step S3 is processed using the fitgeotrans function in Matlab.

5. The method for intelligently identifying building height based on virtual remote sensing images according to claim 4 is characterized in that: The random parameters used in the process of generating virtual satellite remote sensing images include: 1) Building model: The radius of the building outline R∈[5, 30] meters and the randomly generated building height H∈[5, 50] meters are uniformly distributed; 2) Texture: The texture of each exterior surface and ground of the building is generated using Perlin noise. The scale of Perlin noise is different for different surfaces and varies randomly. 3) Satellite azimuth: The satellite azimuth actually corresponds to the shooting angle of the camera. The shooting angle range is [45,75]°. When the angle is 90°, it is the overlooking angle. 4) Solar azimuth: The illumination is set to parallel illumination, with an angle range of [30, 75]°; 5) Terrain: The range of terrain height fluctuation is [0, 2]m, which is also randomly generated using Perlin noise; 6) Building environment: Some trees are randomly set to take into account the fact that the shadow of the building may be blocked to a certain extent in reality; 7) Ambient light: The intensity of ambient light is randomly generated each time. If the ambient light intensity is 0, it means that the backlight surface of the building is completely dark, which is equivalent to no diffuse reflection. If the ambient light intensity is 1, it means white; 8) In the process of processing from the screenshot to the grayscale image with a resolution of 0.4 meters, Gaussian filtering of σ∈[0, 1] and gamma correction of γ∈[0.3, 2] are set.

6. The method for intelligently identifying building height based on virtual remote sensing images according to claim 1 is characterized in that: The sizes of the first grayscale image and the second grayscale image are 224×224×1 pixels.

7. The method for intelligently identifying building height based on virtual remote sensing images according to claim 6 is characterized in that: The first grayscale image and the second grayscale image are cycled in the convolution layer for 5 times, and the number of channels of the image obtained by the convolution layer in each cycle is 32, 64, 128, 256, and 512 respectively. The sizes of the images obtained after pooling in each cycle are 112×112, 56×56, 28×28, 14×14, and 7×7 pixels respectively, and then 1×1×512 feature information is obtained by global mean pooling; the feature information of the building shadow and the feature information of the building edge are corrected for the altitude angle according to the solar altitude angle and the satellite altitude angle, that is, 512 values ​​are multiplied by the tangent value tan( H ); If 512 includes the length of the building's shadow, then multiply it by tan( H ) and then we get the building height; The feature information is connected to obtain 1024 feature information values, and then two layers of fully connected layers plus a truncated activation layer are performed, and the truncation value of the activation layer is 50; the last layer is a regression layer with the sum of squares as the loss function.

Citation Information

Patent Citations

  • Building height calculation and urban morphological parameter database establishment method

    CN110222586A

  • Building height detection method and system based on improved RetinaNet network, and electronic equipment

    CN113902792A