UAV indoor positioning method and system based on 3D Gaussian splash rendering scene

Through cloud computing and 3DGS rendering scene methods, the problems of high computational complexity and low precision in UAV indoor positioning are solved, and efficient and accurate UAV positioning is achieved, which is suitable for small UAVs with limited computing resources.

CN120318481BActive Publication Date: 2025-09-16CHINA ORDNANCE SCI INST
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510810577.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-17
Publication Date
2025-09-16
Estimated Expiration
2045-06-17

AI Technical Summary

Technical Problem

In indoor environments, traditional UAV positioning methods such as visual SLAM, LiDAR-SLAM and wireless signal-assisted positioning have problems such as high computational complexity, high cost, limited accuracy or susceptibility to environmental interference, especially in the absence of initial pose estimation, it is difficult to achieve high-precision positioning.

Method used

A method based on 3D Gaussian splash rendering scene is adopted. A 2D voxelized 3DGS model is deployed on the cloud. A panoramic view is constructed using RGB-D images. Combined with Superpoint feature matching and PNP optimization, high-precision positioning is achieved without initial pose estimation.

Benefits of technology

It achieves high-precision positioning of drones with low computing resource requirements, improves the real-time and accuracy of positioning, supports multi-machine collaborative tasks, and reduces the requirements for drone terminal computing capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120318481B_ABST
    Figure CN120318481B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and system for indoor positioning of unmanned aerial vehicles (UAVs) based on a three-dimensional Gaussian splatter rendering scene. The method comprises: deploying a 2D voxelized 3DGS model in the cloud, reconstructing the scene, and configuring UAV communications; the UAV rotating in a fixed position to capture 12 RGB-D images to construct an image library of panoramic views; uploading the internal parameters of the UAV camera and the acquired image library to the cloud; determining the area where the UAV is located based on the uploaded image library; selecting the optimal query image from the image library based on feature density, and obtaining an initial pose estimate by matching features of the neighboring 3DGS model with the image database; rendering the image under the current pose estimate using 3DGS, and obtaining an updated pose estimate through feature matching and PNP optimization iteration; and transmitting the updated pose estimate calculated in the cloud to the UAV terminal to obtain UAV positioning. The present invention can achieve high-precision, low-resource UAV positioning without an initial pose estimate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot positioning technology, and in particular to a method and system for indoor positioning of a drone based on a three-dimensional Gaussian splatter rendering scene. Background Art

[0002] Over the past few years, with the rapid development of the drone industry and artificial intelligence (AI), drone research and application have made tremendous progress. However, in indoor environments, where GPS signals are weakened or even completely lost, traditional GNSS-based positioning methods are inadequate. Many approaches, such as SLAM (Simultaneous Localization and Mapping), require an initial pose estimate. Achieving drone positioning in indoor environments without a rough initial pose estimate has become a research priority.

[0003] In existing technologies, mainstream indoor positioning methods include visual SLAM, LiDAR-SLAM, visual positioning based on feature point matching, and wireless signal-assisted positioning. Visual SLAM relies on real-time map construction, which is computationally complex and resource-intensive, especially in large-scale scenarios. LiDAR-SLAM relies on high-precision laser radar equipment, which is expensive and prone to mismatching in textureless environments. Wireless signal-assisted positioning is significantly affected by environmental interference and has limited positioning accuracy. Summary of the Invention

[0004] In view of this, the purpose of the embodiments of the present invention is to provide a method and system for indoor positioning of unmanned aerial vehicles (UAVs) based on a three-dimensional Gaussian splatter rendering scene. This method can achieve high-precision, low-resource UAV positioning without initial pose estimation, eliminating the need for high-computing equipment and enabling the sharing of reconstructed 3DGS scenes to support other downstream tasks. The present invention aims to complete the initial positioning task in a scene that has already been reconstructed by 3DGS using LiDAR and a camera. This framework uses 3DGS to replace the traditional point cloud model to represent three-dimensional spatial scenes, enabling more accurate rendering of scene images and optimizing positioning accuracy. Simultaneously, an architecture for cloud storage, computing, terminal acquisition, and querying is designed to avoid excessive demands on UAV terminal memory and computing power, and also enables positioning tasks to be performed on different UAV terminals. Compared to traditional positioning methods such as SLAM, this method does not require the UAV's previous position information; instead, it uses only RGB-D images to align the UAV's position with the reconstructed scene. The implementation of this invention not only provides an efficient and accurate UAV positioning solution but also provides strong support for technological advancement and industrial development in related fields.

[0005] In a first aspect, an embodiment of the present invention provides a method for indoor positioning of a drone based on a three-dimensional Gaussian splatter rendering scene, which includes:

[0006] S100,deploys 2D voxelized 3DGS models on the cloud to reconstruct the scene and configure drone communications.

[0007] The S200 drone takes 12 RGB-D images by rotating at a fixed point to build an image library of panoramic views.

[0008] S300: Upload the internal parameters of the drone camera and the acquired image library to the cloud.

[0009] S400: The cloud determines the area where the drone is located based on the uploaded image library and obtains a candidate 3DGS area.

[0010] S500, the cloud selects the optimal query image from the image library based on feature density, and obtains an initial pose estimate by matching features of the neighboring 3DGS model and the image database.

[0011] S600: The cloud renders the image under the current pose estimation through 3DGS, and obtains an updated pose estimation through feature matching and PNP optimization iteration.

[0012] S700: Transmit the updated pose estimate calculated in the cloud to the drone terminal to obtain the drone positioning.

[0013] The present invention has no additional requirements on the memory and computing power of the drone, and realizes efficient initial pose estimation and positioning tasks through cloud computing.

[0014] In combination with the first aspect, an embodiment of the present invention provides a first possible implementation of the first aspect, wherein the deploying a 2D voxelized 3DGS model on the cloud in S100 for reconstructing the scene and configuring drone communication includes:

[0015] S110 , importing parameters of the 3DGS model into the cloud and saving them in the form of 2D voxels, wherein the training of the parameters of the 3DGS model is obtained by collecting, transmitting and calculating the scene image in advance.

[0016] S120 , importing the semantic table of objects in the scene corresponding to each voxel grid into the cloud to obtain a reconstructed scene.

[0017] S130, configuring the drone wireless communication module to the cloud.

[0018] In combination with the first aspect, an embodiment of the present invention provides a second possible implementation of the first aspect, wherein the drone in S200 rotates around a fixed point to capture 12 RGB-D images, and constructing an image library of a panoramic view includes:

[0019] S210: The drone keeps its spatial coordinates unchanged and rotates one circle in the horizontal direction.

[0020] S220 saves the images captured by the drone camera and the depth information acquired by the sensor every 30° to form 12 RGB-D images with panoramic views, thereby obtaining an image library of panoramic views.

[0021] In combination with the first aspect, an embodiment of the present invention provides a third possible implementation of the first aspect, wherein uploading the internal parameters of the drone camera and the acquired image library to the cloud in S300 includes:

[0022] S310 uploads the internal parameters of the drone camera to the cloud.

[0023] S320: Upload the RGB-D image and the corresponding rotation angle to the cloud.

[0024] In combination with the first aspect, an embodiment of the present invention provides a fourth possible implementation of the first aspect, wherein the cloud in S400 determines the area where the drone is located based on the uploaded image library, and obtains the candidate 3DGS area including:

[0025] S410: The cloud recognizes objects in the RGB-D image and saves semantic information of the objects.

[0026] S420 , comparing and identifying the semantic category of the object obtained from the RGB-D image with the object semantic table of each voxel region, and selecting a candidate 3DGS region.

[0027] In combination with the first aspect, an embodiment of the present invention provides a fifth possible implementation of the first aspect, wherein, in S500, the cloud selects an optimal query image from the image library based on feature density, and obtains an initial pose estimate by matching features of a neighboring 3DGS model and the image database, including:

[0028] S510: The cloud extracts Superpoint features of the RGB-D image under 12 viewing angles from the image library, and selects the viewing angle with the most dense features as a query image.

[0029] S520: Extract 3DGS parameters and a corresponding image database in the candidate 3DGS region.

[0030] S530 , brute force search the corresponding image database and perform feature matching with the query image, and select the pose corresponding to the closest database image as the initial pose estimation.

[0031] In combination with the first aspect, an embodiment of the present invention provides a sixth possible implementation of the first aspect, wherein, in S600, the cloud renders the current image under the pose estimation through 3DGS, and obtains an updated pose estimation through feature matching and PNP optimization iteration, including:

[0032] S610: The cloud renders the current image under the pose estimation through 3DGS.

[0033] S620 , extracting feature points of the rendered image, performing feature point matching with the query image, and adopting a PNP algorithm for refinement and iteration to obtain an updated pose estimate.

[0034] In combination with the first aspect, an embodiment of the present invention provides a seventh possible implementation of the first aspect, wherein the step of transmitting the updated pose estimate calculated in the cloud to the drone terminal to obtain the drone positioning in S700 includes:

[0035] S710: Transmit the updated pose estimate and the angle of the query image calculated in the cloud to the drone terminal.

[0036] S720: The drone calculates the current position and camera pose of the drone based on the camera position parameters and the query image angle.

[0037] In combination with the first aspect, the embodiment of the present invention provides an eighth possible implementation of the first aspect, wherein:

[0038] The drone communication supports data sharing between different drone terminals.

[0039] The reconstructed scene is constructed once and can also be used for other downstream tasks besides positioning.

[0040] In a second aspect, an embodiment of the present invention further provides a drone indoor positioning system based on a three-dimensional Gaussian splatter rendering scene, which includes:

[0041] The scene reconstruction module is used to deploy 2D voxelized 3DGS models on the cloud to reconstruct the scene and configure drone communications.

[0042] The image library construction module is used to capture 12 RGB-D images using a fixed-point rotation of the drone to construct an image library of panoramic views.

[0043] The image parameter acquisition module is used to upload the internal parameters of the drone camera and the acquired image library to the cloud.

[0044] The region judgment module is used in the cloud to judge the region where the UAV is located based on the uploaded image library to obtain a candidate 3DGS region.

[0045] The initial pose estimation module is used in the cloud to select the optimal query image from the image library based on feature density, and obtain the initial pose estimation by matching the features of the neighboring 3DGS model and the image database.

[0046] The updated pose estimation module is used to render the image under the current pose estimation through 3DGS in the cloud, and obtain the updated pose estimation through feature matching and PNP optimization iteration.

[0047] The positioning implementation module is used to transmit the updated pose estimate calculated by the cloud to the drone terminal to obtain the drone positioning.

[0048] The beneficial effects of the embodiments of the present invention are:

[0049] Traditional visual SLAM or positioning methods based on image matching usually require initial pose estimation. The present invention uses panoramic RGB-D image acquisition, 3DGS model matching and PNP optimization to quickly obtain the accurate position and attitude of the UAV when the initial pose is unknown, thereby improving the adaptability and stability of autonomous positioning.

[0050] Compared to traditional point cloud and voxel grid reconstruction methods, the 3DGS of our invention uses a Gaussian ellipsoid to represent the scene, enabling rapid, high-quality rendering and effectively improving the real-time performance and accuracy of indoor positioning. 3DGS scene reconstruction is a one-time process, allowing multiple drone terminals to share the same scene model. This not only improves the efficiency of multi-drone collaborative tasks but also provides high-quality scene information for other downstream applications.

[0051] The present invention adopts a cloud computing architecture and offloads computationally intensive tasks (such as feature extraction, matching, and pose optimization) to the server for processing, enabling the drone to achieve high-precision positioning without the need for a high-performance processor. This makes it suitable for small drones with limited computing resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. It should be understood that the following drawings only illustrate certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without paying any creative work.

[0053] Figure 1 This is a flow chart of the UAV indoor positioning method based on a three-dimensional Gaussian splatter rendering scene of the present invention. DETAILED DESCRIPTION

[0054] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions of the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings herein can be arranged and designed in various different configurations.

[0055] Please refer to Figure 1 The first embodiment of the present invention provides a method for indoor positioning of a drone based on a three-dimensional Gaussian splash rendering scene, which includes: S100, deploying a 2D voxelized 3DGS model on the cloud to reconstruct the scene and configure drone communication; S200, the drone rotates at a fixed point to shoot 12 RGB-D images to build an image library of a panoramic view; S300, uploading the internal parameters of the drone camera and the acquired image library to the cloud; S400, the cloud determines the area where the drone is located based on the uploaded image library to obtain a candidate 3DGS area; S500, the cloud selects the optimal query image from the image library based on feature density, and obtains an initial pose estimate by matching features of the neighboring 3DGS model and the image database; S600, the cloud renders the image under the current pose estimate through 3DGS, and obtains an updated pose estimate through feature matching and PNP optimization iteration; S700, transmitting the updated pose estimate calculated by the cloud to the drone terminal to obtain drone positioning.

[0056] The present invention has no additional requirements on the memory and computing power of the drone, and realizes efficient initial pose estimation and positioning tasks through cloud computing.

[0057] Among them, the cloud-based deployment of a 2D voxelized 3DGS model in S100 for reconstructing the scene and configuring drone communication includes: S110, importing the parameters of the 3DGS model to the cloud and saving them in the form of 2D voxels, so that it can efficiently render large-scale scenes with less memory requirements, wherein the training of the parameters of the 3DGS model is obtained by the prior collection, transmission and calculation of the scene image; S120, importing the semantic table of objects in the scene corresponding to each voxel grid to the cloud to obtain the reconstructed scene; S130, configuring the drone wireless communication module to the cloud, connecting the drone to the local area network of the current scene server, and ensuring that images and other data can be transmitted normally.

[0058] The 3DGS training process for map representation and visual relocalization is as follows: First, a color point cloud map is created from LiDAR scans, images, and poses to initialize the 3DGS, and then incremental training is performed on the initialization map. In large-scale spatial environments, the 3DGS map is stored as a 2D voxel map, using a KD tree architecture to support fast spatial queries. For each sub-map, that is, the voxels containing the 3DGS, the category semantic features of the instances it contains are extracted by extracting the object category features from the RGB image. The confidence of each semantic is saved and stored in the voxel as an additional attribute in addition to the 3DGS parameters. This is used for subsequent coarse position determination.

[0059] The process of capturing 12 RGB-D images from a fixed-point rotation of the drone in S200 to construct a panoramic image library includes: S210, where the drone maintains its spatial coordinates and rotates horizontally for one full rotation; S220, where images captured by the drone's camera and depth information acquired by the sensor are saved at 30° intervals to form 12 RGB-D images with a panoramic view, thus obtaining the panoramic image library. After a 30° horizontal rotation, the lidar and camera data are used to record the current viewing angle and calculate an RGB-D image.

[0060] Among them, uploading the internal parameters of the drone camera and the obtained image library to the cloud in S300 includes: S310, uploading the internal parameters of the drone camera to the cloud, modifying the camera internal parameters in the configuration file according to the camera model and uploading it. If the camera internal parameters are unknown, the camera internal parameters can be obtained through camera calibration; S320, uploading the RGB-D image and the corresponding rotation angle to the cloud.

[0061] Among them, the cloud in S400 determines the area where the drone is located based on the uploaded image library to obtain a candidate 3DGS area, including: S410, the cloud identifies objects in the RGB-D image and saves semantic information of the objects; S420, compares and identifies the semantic category of the object obtained in the RGB-D image with the object semantic table of each voxel area, and selects a candidate 3DGS area.

[0062] First, we use the original pose data to pinpoint the query location on a global map. This data can come from a variety of sources. Using the original pose as a reference, we retrieve the voxel in the global 3DGS map that is most likely to contain the query image's precise location. For cases where the current 3DGS voxel is unclear, we select candidate 3DGS voxels based on object category matching. We perform semantic and object segmentation on a given RGB image using the object detection method based on YOLOv8. We compare the object category and confidence stored in the voxels with 3DGS parameters and select the voxel with the highest overlap as the candidate region.

[0063] Among them, the cloud in S500 selects the optimal query image from the image library based on feature density, and obtains the initial pose estimation through feature matching of the neighboring 3DGS model and the image database, including: S510, the cloud extracts the Superpoint features of the RGB-D image under 12 perspectives from the image library, and selects the perspective with the densest features as the query image; S520, extracts the 3DGS parameters in the candidate 3DGS area and the corresponding image database; S530, brute force searches the corresponding image database and performs feature matching with the query image, and selects the pose corresponding to the closest database image as the initial pose estimate.

[0064] For further tasks, only one RGB-D image is needed to complete the positioning task. Therefore, it is necessary to select the best perspective for positioning from the surround view. The denser Superpoint features indicate the richness of the image's geometric structure and color. Therefore, the perspective with the densest Superpoint feature points is selected as the query view for positioning.

[0065] For 3DGS voxels in the candidate region, in addition to the 3DGS parameters used for scene reconstruction, they also contain a large amount of image data (which can also be obtained through 3DGS rendering). A brute force search is performed on the image data in the database, and the query image is matched with it. Using the normalized cross-correlation value as the metric, the image closest to the query image is selected and its corresponding pose is read. Some code examples are as follows:

[0066] # Superpoint feature extraction

[0067] def extract_superpoint_features(image):

[0068] sift = cv2.SIFT_create()

[0069] keypoints, descriptors = sift.detectAndCompute(image, None)

[0070] return keypoints, descriptors

[0071] # Select the view with the most dense features as the query image

[0072] def select_query_image(images):

[0073] max_features = 0

[0074] query_image = None

[0075] query_descriptors = None

[0076] for img in images:

[0077] _, descriptors = extract_superpoint_features(img)

[0078] if descriptors is not None and len(descriptors) > max_features:

[0079] max_features = len(descriptors)

[0080] query_image = img

[0081] query_descriptors = descriptors

[0082] return query_image, query_descriptors

[0083] # Read the 3DGS parameters of the candidate regions and the image database

[0084] def load_image_database(database_path):

[0085] image_paths = glob.glob(database_path + ' / *.jpg')

[0086] database = {}

[0087] for path in image_paths:

[0088] img = cv2.imread(path, cv2.IMREAD_GRAYSCALE)

[0089] _, descriptors = extract_superpoint_features(img)

[0090] if descriptors is not None:

[0091] database[path] = descriptors

[0092] return database

[0093] # Calculate the most similar database image

[0094] def find_best_match(query_descriptors, database):

[0095] best_match = None

[0096] best_score = -1

[0097] for path, descriptors in database.items():

[0098] if descriptors is not None:

[0099] sim_score = cosine_similarity(query_descriptors,descriptors).max()

[0100] if sim_score > best_score:

[0101] best_score = sim_score

[0102] best_match = path

[0103] return best_match, best_score

[0104] Among them, the cloud in S600 renders the current image under the pose estimation through 3DGS, and obtains the updated pose estimation through feature matching and PNP optimization iteration, including: S610, the cloud renders the current image under the pose estimation through 3DGS; S620, extracts the feature points of the rendered image, matches the feature points with the query image, and adopts the PNP algorithm to refine and iterate to obtain the updated pose estimation.

[0105] 3DGS is capable of quickly and accurately rendering images from a specified perspective. Feature points are extracted from the 3DGS-rendered image and matched with those extracted from the query image. Because 3DGS can obtain image depth information, the pose of the query image can be refined using a PNP approach for the matched feature points, serving as the estimated pose for the next iteration. Some code examples are as follows:

[0106] def render_3dgs_image(pose, scene_model):

[0107] """

[0108] Render the image at the current pose estimation using 3DGS.

[0109] :param pose: Current pose estimate (rotation + translation matrix)

[0110] :param scene_model: 3DGS scene model

[0111] :return: rendered RGB image

[0112] """

[0113] vis = o3d.visualization.Visualizer()

[0114] vis.create_window(visible=False)

[0115] vis.add_geometry(scene_model)

[0116] ctr = vis.get_view_control()

[0117] ctr.convert_from_pinhole_camera_parameters(pose)

[0118] vis.poll_events()

[0119] vis.update_renderer()

[0120] image = vis.capture_screen_float_buffer(do_render=True)

[0121] vis.destroy_window()

[0122] return np.asarray(image * 255, dtype=np.uint8)

[0123] def extract_features(image):

[0124] """

[0125] Extract feature points from the image.

[0126] :param image: Input RGB image

[0127] :return: key points and descriptors

[0128] """

[0129] sift = cv2.SIFT_create()

[0130] gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

[0131] keypoints, descriptors = sift.detectAndCompute(gray, None)

[0132] return keypoints, descriptors

[0133] def match_features(desc1, desc2):

[0134] """

[0135] Match feature points of two images.

[0136] :param desc1: query image descriptor

[0137] :param desc2: descriptor of the rendered image

[0138] :return: matching feature point index

[0139] """

[0140] bf = cv2.BFMatcher(cv2.NORM_L2, crossCheck=True)

[0141] matches = bf.match(desc1, desc2)

[0142] matches = sorted(matches, key=lambda x: x.distance)

[0143] return matches

[0144] def refine_pose(matches, kp1, kp2, camera_matrix):

[0145] """

[0146] Optimize pose estimation using the PNP algorithm.

[0147] :param matches: matching feature points

[0148] :param kp1: query image key points

[0149] :param kp2: rendered image key points

[0150] :param camera_matrix: camera intrinsic parameter matrix

[0151] :return: optimized rotation matrix and translation vector

[0152] """

[0153] obj_pts = np.array([kp1[m.queryIdx].pt for m in matches], dtype=np.float32)

[0154] img_pts = np.array([kp2[m.trainIdx].pt for m in matches], dtype=np.float32)

[0155] _, rvec, tvec, _ = cv2.solvePnPRansac(obj_pts, img_pts, camera_matrix, None)

[0156] R_mat = cv2.Rodrigues(rvec)[0]

[0157] return R_mat, tvec

[0158] In combination with the first aspect, an embodiment of the present invention provides a seventh possible implementation method of the first aspect, wherein the updated pose estimate calculated by the cloud is transmitted to the drone terminal to obtain the drone positioning described in S700, including: S710, transmitting the updated pose estimate calculated by the cloud and the angle of the query image to the drone terminal; S720, the drone calculates the current position and camera pose of the drone based on the camera position parameters and the query image angle.

[0159] Among them, the drone communication supports data sharing between different drone terminals; the reconstruction scene is a one-time construction and can also be used for other downstream tasks besides positioning.

[0160] A second embodiment of the present invention provides a drone indoor positioning system based on a three-dimensional Gaussian splash rendering scene, which includes: a scene reconstruction module, which is used to deploy a 2D voxelized 3DGS model on the cloud to reconstruct the scene and configure drone communication; an image library construction module, which is used for the drone to rotate and shoot 12 RGB-D images to build an image library of panoramic views; an image parameter acquisition module, which is used to upload the internal parameters of the drone camera and the acquired image library to the cloud; a region judgment module, which is used on the cloud to judge the region where the drone is located based on the uploaded image library to obtain a candidate 3DGS region; an initial pose estimation module, which is used on the cloud to select the optimal query image from the image library based on feature density, and obtain an initial pose estimate by matching features of neighboring 3DGS models and image databases; an updated pose estimation module, which is used on the cloud to render the image under the current pose estimate through 3DGS, and obtain an updated pose estimate through feature matching and PNP optimization iteration; and a positioning implementation module, which is used to transmit the updated pose estimate calculated on the cloud to the drone terminal to obtain drone positioning.

[0161] The embodiments of the present invention are intended to protect a method and system for indoor positioning of a drone based on a three-dimensional Gaussian splatter rendering scene, which has the following effects:

[0162] This paper proposes a method for indoor drone positioning based on a 3D Gaussian splatter rendering scene, enabling efficient and accurate indoor positioning with minimal computational resource requirements. By importing 3D Gaussian splatter parameters from the cloud and storing them in a 2D voxel grid format, this method enables efficient rendering of large-scale scenes with minimal memory usage. It also utilizes a KD tree architecture to accelerate spatial queries, thereby improving computational efficiency.

[0163] 2. During the drone positioning process, the present invention adopts a method without initial pose estimation, using panoramic acquisition technology to acquire 12 RGB-D images, and selects the optimal perspective as the query image based on Superpoint feature point analysis. This method not only reduces the requirements for the local computing power of the drone, but also achieves efficient and real-time positioning through cloud computing. In addition, the method combines the YOLOv8 target detection algorithm to extract object category features from the RGB image and match them with the 3DGS voxel semantic table, thereby quickly determining the approximate position of the drone in the candidate area, realizing a semantically enhanced positioning mechanism.

[0164] 3. Regarding pose estimation, the present invention employs an initial pose estimation method based on database retrieval. This method uses a brute force search to match images in the 3DGS database and selects the pose corresponding to the closest database image as the initial estimate. 3DGS is used to render a virtual view of the current pose, which is then feature-matched with the query image. The pose estimation is then iteratively optimized using the PNP algorithm, further improving positioning accuracy. The application of cloud computing allows drones to quickly upload data and receive calculation results without relying on high-performance local computing units, effectively reducing the storage and computing power requirements of the drone terminal.

[0165] The computer program product of the method and device for indoor positioning of a drone based on a three-dimensional Gaussian splatter rendering scene provided in an embodiment of the present invention includes a computer-readable storage medium storing program code. The instructions included in the program code can be used to execute the method in the previous method embodiment. For specific implementation, please refer to the method embodiment and will not be repeated here.

[0166] Specifically, the storage medium can be a general storage medium, such as a mobile disk, a hard disk, etc. When the computer program on the storage medium is run, it can execute the above-mentioned drone indoor positioning method based on the three-dimensional Gaussian splash rendering scene, thereby realizing high-precision, low-resource-demand drone positioning without initial pose estimation, eliminating the drone's need for high-computing power equipment.

[0167] If the functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The aforementioned storage media include various media capable of storing program code, such as USB flash drives, mobile hard drives, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical disks.

[0168] Finally, it should be noted that the above-described embodiments are only specific implementations of the present invention, which are used to illustrate the technical solutions of the present invention, rather than to limit them. The scope of protection of the present invention is not limited thereto. Although the present invention has been described in detail with reference to the above-described embodiments, those skilled in the art should understand that any person skilled in the art can modify or easily conceive of changes to the technical solutions described in the above-described embodiments within the technical scope disclosed by the present invention, or replace some of the technical features therein with equivalents. Such modifications, changes, or replacements do not deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.

Claims

1. A method for indoor positioning of unmanned aerial vehicles based on a three-dimensional Gaussian splash rendering scene, characterized in that: include: S100, deploying a 2D voxelized 3DGS model in the cloud for scene reconstruction and configuring drone communication, specifically including: S110, importing parameters of the 3DGS model to the cloud and saving them in 2D voxel form, wherein the training of the parameters of the 3DGS model is obtained by previously collecting, transmitting, and calculating scene images; S120, importing a semantic table of objects in the scene corresponding to each voxel grid to the cloud to obtain a reconstructed scene; S130, configuring the drone wireless communication module to the cloud; The S200 drone takes 12 RGB-D images while rotating at a fixed point to build an image library of panoramic views; S300, uploading the internal parameters of the drone camera and the acquired image library to the cloud; S400, the cloud determines the area where the drone is located based on the uploaded image library, specifically including: S410, the cloud identifies objects in the RGB-D image and saves semantic information of the objects; S420, compares and identifies the semantic categories of the objects obtained in the RGB-D image with the object semantic table of each voxel area, and selects candidate 3DGS areas; S500: The cloud selects the optimal query image from the image library based on feature density, and obtains an initial pose estimate by matching features of the neighboring 3DGS model and the image database. Specifically, the process includes: S510: The cloud extracts Superpoint features of the RGB-D image under 12 viewing angles from the image library, and selects the viewing angle with the densest features as the query image; S520: Extracting 3DGS parameters and the corresponding image database in the candidate 3DGS region; S530: Brute-force searching the corresponding image database and performing feature matching with the query image, selecting the pose corresponding to the closest database image as the initial pose estimate; S600: The cloud renders the image under the current pose estimation through 3DGS, and obtains an updated pose estimation through feature matching and PNP optimization iteration; S700: Transmit the updated pose estimate calculated in the cloud to the drone terminal to obtain the drone positioning.

2. The method for indoor positioning of a UAV based on a three-dimensional Gaussian splash rendering scene according to claim 1, characterized in that: The drone in S200 takes 12 RGB-D images while rotating at a fixed point. The image library for building a panoramic view includes: S210, the UAV keeps its spatial coordinates unchanged and rotates one circle in the horizontal direction; S220 saves the images captured by the drone camera and the depth information acquired by the sensor every 30° to form 12 RGB-D images with panoramic views, thereby obtaining an image library of panoramic views.

3. The method for indoor positioning of a UAV based on a three-dimensional Gaussian splash rendering scene according to claim 1, characterized in that: Uploading the internal parameters of the drone camera and the acquired image library to the cloud in S300 includes: S310, uploads the drone camera’s internal parameters to the cloud; S320: Upload the RGB-D image and the corresponding rotation angle to the cloud.

4. The method for indoor positioning of a UAV based on a 3D Gaussian splash rendering scene according to claim 1, wherein: In S600, the cloud renders the image under the current pose estimation through 3DGS, and obtains an updated pose estimation through feature matching and PNP optimization iteration, including: S610, the cloud renders the current image under the pose estimation through 3DGS; S620 , extracting feature points of the rendered image, performing feature point matching with the query image, and adopting a PNP algorithm for refinement and iteration to obtain an updated pose estimate.

5. The method for indoor positioning of a UAV based on a three-dimensional Gaussian splash rendering scene according to claim 4, characterized in that: The step of transmitting the updated pose estimate calculated in the cloud to the drone terminal to obtain the drone positioning in step S700 includes: S710, transmitting the updated pose estimate and the angle of the query image calculated in the cloud to the drone terminal; S720: The drone calculates the current position and camera pose of the drone based on the camera position parameters and the query image angle.

6. The method for indoor positioning of a UAV based on a 3D Gaussian splatter rendering scene according to claim 1, wherein: The drone communication supports data sharing between different drone terminals; The reconstruction scene is constructed once.

7. A UAV indoor positioning system based on 3D Gaussian splash rendering scene, characterized by: include: The scene reconstruction module is used to deploy a 2D voxelized 3DGS model on the cloud to reconstruct the scene and configure drone communication. The operations performed by the scene reconstruction module include: S110, importing the parameters of the 3DGS model to the cloud and saving them in the form of 2D voxels, wherein the training of the parameters of the 3DGS model is obtained by collecting, transmitting and calculating the scene images in advance; S120, importing the semantic table of objects in the scene corresponding to each voxel grid to the cloud to obtain the reconstructed scene; S130, configuring the drone wireless communication module to the cloud; The image library construction module is used to capture 12 RGB-D images by the drone in a fixed rotation to build an image library of panoramic views; An image parameter acquisition module, used to upload the internal parameters of the drone camera and the acquired image library to the cloud; A region determination module is configured to determine the region where the drone is located based on the uploaded image library in the cloud. The operations performed by the region determination module include: S410, in which the cloud identifies objects in the RGB-D image and stores semantic information of the objects; S420, comparing and identifying the semantic categories of the objects obtained in the RGB-D image with the object semantic table of each voxel region to select candidate 3DGS regions; An initial pose estimation module is used in the cloud to select the optimal query image from the image library based on feature density, and obtain an initial pose estimate by matching features of the neighboring 3DGS model and the image database. The operations performed by the initial pose estimation module include: extracting Superpoint features of the RGB-D image under 12 viewing angles from the image library on the cloud side, and selecting the viewing angle with the densest features as the query image; extracting 3DGS parameters and the corresponding image database in the candidate 3DGS area; brute force searching the corresponding image database and performing feature matching with the query image, and selecting the pose corresponding to the closest database image as the initial pose estimate; The updated pose estimation module is used in the cloud to render the image under the current pose estimation through 3DGS, and obtain the updated pose estimation through feature matching and PNP optimization iteration; The positioning implementation module is used to transmit the updated pose estimate calculated by the cloud to the drone terminal to obtain the drone positioning.

Citation Information

Patent Citations

  • Visual repositioning method and system based on 3D Gaussian scene and storage medium

    CN118941629A