Furniture three-dimensional reconstruction method and system

By adjusting the position and shape of the Gaussian ellipsoid based on the cumulative gradient and neighborhood distribution in three-dimensional reconstruction, the problem of insufficient accuracy and efficiency of three-dimensional reconstruction in the prior art is solved, and a more efficient and accurate three-dimensional reconstruction effect is achieved.

CN119478224APending Publication Date: 2025-02-18LIANYUNGANG TAISHI TECHNOLOGY CO LTD

Patent Information

Application Number
CN202411547834.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-01
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

The existing three-dimensional reconstruction methods have insufficient calculation volume and accuracy, especially in the segmentation and cloning of Gaussian ellipsoids in 3D Gaussian sputtering, which has a high randomness, which affects the accuracy of three-dimensional reconstruction.

Method used

By collecting sparse point clouds of furniture, a Gaussian ellipsoid collection is obtained, and during the splitting and cloning process, the center point position of the Gaussian ellipsoid is determined based on the accumulated gradient and neighborhood distribution, and the shape of the Gaussian ellipsoid is adjusted according to the shape and neighborhood distribution. , to avoid overlap and improve uniformity of spatial coverage.

Benefits of technology

It improves the accuracy and efficiency of three-dimensional reconstruction, reduces errors and overlaps in subsequent training, and ensures uniformity and continuity of spatial coverage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119478224A_ABST
    Figure CN119478224A_ABST
Patent Text Reader

Abstract

The invention relates to a furniture three-dimensional reconstruction method, which comprises the following steps: collecting sparse point clouds of furniture, and obtaining a Gaussian ellipsoid set according to the sparse point clouds; obtaining Gaussian ellipsoids to be split in the Gaussian ellipsoid set, and determining the positions of the central points of the two Gaussian ellipsoids to be generated based on the cumulative gradient of the Gaussian ellipsoids to be split and the distribution of the Gaussian ellipsoids in the neighborhood, according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two split Gaussian ellipsoids, the shapes of the two split Gaussian ellipsoids are determined; obtaining a Gaussian ellipsoid to be cloned in the Gaussian ellipsoid set, and determining the position of the central point of the Gaussian ellipsoid generated by cloning based on the distribution of the Gaussian ellipsoid in the neighborhood of the Gaussian ellipsoid to be cloned; and storing the trained Gaussian ellipsoid set, and performing three-dimensional reconstruction on furniture by using the stored Gaussian ellipsoid set.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of three-dimensional reconstruction, and in particular to a three-dimensional reconstruction method and system for furniture. Background Art

[0002] Traditional furniture design and display mainly rely on flat drawings and two-dimensional pictures, which have limited information expression and often cannot fully display the structure, material and details of furniture, thus affecting consumers' intuitive understanding of furniture. By reconstructing furniture in three dimensions, the appearance, structure and physical properties of furniture can be accurately reproduced, achieving high-fidelity restoration of finished product display. For consumers, three-dimensional reconstruction of furniture can also make virtual displays in online shopping more realistic, providing a 360-degree perspective, allowing consumers to have a fuller understanding of the product before making a decision, thereby increasing user experience and satisfaction. Moreover, virtual reality (VR) and augmented reality (AR) applications based on three-dimensional models also provide new possibilities for the promotion and marketing of furniture among consumers, enabling consumers to experience the placement effect of furniture in a virtual environment, thereby greatly reducing the uncertainty of purchase decisions. However, existing 3D reconstruction methods either have high computational complexity or low accuracy. The computational complexity and accuracy of 3D Gaussian sputtering have been improved, but the segmentation and cloning of the Gaussian ellipsoid in 3D Gaussian sputtering are very random, which requires retraining the newly generated Gaussian ellipsoid in subsequent training, which not only affects the speed but also may cause errors, which affects the accuracy of the 3D reconstruction of furniture. Summary of the invention

[0003] In order to improve the accuracy of furniture 3D reconstruction, the present invention provides a furniture 3D reconstruction method, the method comprising the following steps: Collecting sparse point clouds of furniture, and obtaining a Gaussian ellipsoid set according to the sparse point clouds; Obtain the Gaussian ellipsoid to be split from the Gaussian ellipsoid set, determine the positions of the center points of the two Gaussian ellipsoids to be generated based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of the Gaussian ellipsoids in the neighborhood, and determine the shapes of the two Gaussian ellipsoids generated after the splitting according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting; Obtaining a Gaussian ellipsoid to be cloned from the Gaussian ellipsoid set, and determining the position of the center point of the cloned Gaussian ellipsoid based on the distribution of Gaussian ellipsoids in the neighborhood of the Gaussian ellipsoid to be cloned; The trained Gaussian ellipsoid set is saved, and the saved Gaussian ellipsoid set is used to reconstruct the furniture in three dimensions.

[0004] Preferably, the positions of the center points of the two Gaussian ellipsoids to be generated are determined based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of the Gaussian ellipsoids in the neighborhood, specifically: Get multiple preset coefficients and get the center coordinates of the Gaussian ellipsoid to be split; For each coefficient, calculate the product of the coefficient and the normalized cumulative gradient, add the center coordinate plus the product to the first set, and subtract the center coordinate from the product to the second set; Get the neighborhood of each element in the first set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the first Gaussian ellipsoid; Get the neighborhood of each element in the second set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the second Gaussian ellipsoid.

[0005] Preferably, the shapes of the two Gaussian ellipsoids generated after the splitting are determined according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting, specifically: Initialize the shapes of the two Gaussian ellipsoids after splitting to the shapes of the Gaussian ellipsoids to be split; The average distance from the center point of the split Gaussian ellipsoid to the boundary of the neighborhood Gaussian ellipsoid of the split Gaussian ellipsoid is obtained, and the shape of the split Gaussian ellipsoid is determined based on the average distance.

[0006] Preferably, the determining the shape of the Gaussian ellipsoid after splitting based on the average distance is specifically: Setting a maximum value and a minimum value of a weight range, calculating a difference between the maximum value and the minimum value, and calculating a ratio of an average distance to a threshold value, weighting the difference using the ratio, and subtracting the weighted value from the maximum value to obtain an adjustment parameter; An initialization value of the shape of the Gaussian ellipsoid after the splitting is obtained, and a ratio of the initialization value to the adjustment parameter is used as the shape of the Gaussian ellipsoid after the splitting.

[0007] Preferably, the determining of the position of the center point of the cloned Gaussian ellipsoid based on the distribution of the Gaussian ellipsoid in the neighborhood of the Gaussian ellipsoid to be cloned is specifically: Get the center point of the Gaussian ellipsoid to be cloned, and get a sphere with the center point as the center and a preset radius as the radius of the sphere, divide the surface of the sphere into multiple regions of equal size, and for each region, calculate the distance from the center of the region to the nearest Gaussian ellipsoid boundary, and take the center point of the region with the maximum distance as the position of the center point of the cloned Gaussian ellipsoid.

[0008] In addition, the present invention also provides a furniture 3D reconstruction system, which includes the following modules: A point cloud acquisition module, used for acquiring sparse point clouds of furniture, and obtaining a Gaussian ellipsoid set according to the sparse point clouds; A splitting module is used to obtain a Gaussian ellipsoid to be split from a Gaussian ellipsoid set, determine the positions of the center points of two Gaussian ellipsoids to be generated based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of Gaussian ellipsoids in the neighborhood, and determine the shapes of the two Gaussian ellipsoids generated after the splitting according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting; A cloning module, used for obtaining a Gaussian ellipsoid to be cloned from a Gaussian ellipsoid set, and determining the position of the center point of the cloned Gaussian ellipsoid based on the distribution of Gaussian ellipsoids in the neighborhood of the Gaussian ellipsoid to be cloned; The three-dimensional reconstruction module is used to save the trained Gaussian ellipsoid set and use the saved Gaussian ellipsoid set to perform three-dimensional reconstruction of furniture.

[0009] Preferably, the positions of the center points of the two Gaussian ellipsoids to be generated are determined based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of the Gaussian ellipsoids in the neighborhood, specifically: Get multiple preset coefficients and get the center coordinates of the Gaussian ellipsoid to be split; For each coefficient, calculate the product of the coefficient and the normalized cumulative gradient, add the center coordinate plus the product to the first set, and subtract the center coordinate from the product to the second set; Get the neighborhood of each element in the first set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the first Gaussian ellipsoid; Get the neighborhood of each element in the second set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the second Gaussian ellipsoid.

[0010] Preferably, the shapes of the two Gaussian ellipsoids generated after the splitting are determined according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting, specifically: Initialize the shapes of the two Gaussian ellipsoids after splitting to the shapes of the Gaussian ellipsoids to be split; The average distance from the center point of the split Gaussian ellipsoid to the boundary of the neighborhood Gaussian ellipsoid of the split Gaussian ellipsoid is obtained, and the shape of the split Gaussian ellipsoid is determined based on the average distance.

[0011] Preferably, the determining the shape of the Gaussian ellipsoid after splitting based on the average distance is specifically: Setting a maximum value and a minimum value of a weight range, calculating a difference between the maximum value and the minimum value, and calculating a ratio of an average distance to a threshold value, weighting the difference using the ratio, and subtracting the weighted value from the maximum value to obtain an adjustment parameter; An initialization value of the shape of the Gaussian ellipsoid after the splitting is obtained, and a ratio of the initialization value to the adjustment parameter is used as the shape of the Gaussian ellipsoid after the splitting.

[0012] Preferably, the determining of the position of the center point of the cloned Gaussian ellipsoid based on the distribution of the Gaussian ellipsoid in the neighborhood of the Gaussian ellipsoid to be cloned is specifically: Get the center point of the Gaussian ellipsoid to be cloned, and get a sphere with the center point as the center and a preset radius as the radius of the sphere, divide the surface of the sphere into multiple regions of equal size, and for each region, calculate the distance from the center of the region to the nearest Gaussian ellipsoid boundary, and take the center point of the region with the maximum distance as the position of the center point of the cloned Gaussian ellipsoid.

[0013] In addition, the present invention also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the method described above is implemented.

[0014] In the present invention, when the Gaussian ellipsoid needs to be split, the positions of the center points of the two Gaussian ellipsoids to be generated are determined according to the cumulative gradient and the distribution of the Gaussian ellipsoids in the neighborhood, and the shapes of the two Gaussian ellipsoids generated after the split are determined according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the split, so that the newly generated Gaussian ellipsoid can be prevented from overlapping with the existing Gaussian ellipsoids in the neighborhood, ensuring the uniformity and continuity of the spatial coverage. Moreover, when the Gaussian ellipsoid needs to be cloned, the position of the center point of the cloned Gaussian ellipsoid is determined based on the distribution of the Gaussian ellipsoid in the neighborhood of the Gaussian ellipsoid to be cloned, and similarly, the overlap of the Gaussian ellipsoids can be reduced, and the uniformity of the space can be improved. The effect of subsequent training is improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 This is a flow chart of Embodiment 1; Figure 2 Schematic diagram of the method for determining the center point of the Gaussian ellipsoid generated by splitting; Figure 3 Schematic diagram of the method for determining the center point of a new Gaussian ellipsoid generated for cloning; Figure 4 This is a structural diagram of the second embodiment. DETAILED DESCRIPTION

[0016] In order to make the purpose, technical scheme and advantages of the embodiment of the present invention clearer, the technical scheme in the embodiment of the present invention will be clearly and completely described in conjunction with the drawings in the embodiment of the present invention. Obviously, the described embodiment is a part of the embodiment of the present invention, not all of the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present invention. In addition, the technical features in the various embodiments or single embodiments provided by the present invention can be combined with each other arbitrarily to form a feasible technical solution. This combination is not subject to the constraints of the sequence of steps and / or the structural composition mode, but must be based on the ability of ordinary technicians in the field to achieve. When the combination of technical solutions is contradictory or cannot be achieved, it should be considered that the combination of such technical solutions does not exist and is not within the scope of protection required by the present invention. If there are step numbers in the following embodiments, they are only set for the convenience of explanation, and the order between the steps is not limited in any way. The execution order of each step in the embodiment can be adaptively adjusted according to the understanding of those skilled in the art.

[0017] Embodiment 1, as Figure 1 As shown, the present invention provides a method for 3D reconstruction of furniture, the method comprising the following steps: S1, collecting sparse point clouds of furniture, and obtaining a Gaussian ellipsoid set according to the sparse point clouds; Before three-dimensional reconstruction of the furniture, it is necessary to obtain a sparse point cloud of the furniture, preferably the sparse point cloud is an SfM point cloud, and then the sparse point cloud is initialized to obtain a Gaussian ellipsoid set, that is, each point in the sparse point cloud is initialized to a Gaussian ellipsoid.

[0018] S2, obtaining a Gaussian ellipsoid to be split from the Gaussian ellipsoid set, determining the positions of the center points of the two Gaussian ellipsoids to be generated based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of the Gaussian ellipsoids in the neighborhood, and determining the shapes of the two Gaussian ellipsoids generated after the splitting according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting; During the training process of 3D Gaussian sputtering, a clone operation will be performed for the under-reconstructed Gaussian ellipsoid, and a split operation will be performed for the over-reconstructed Gaussian ellipsoid. The split operation is to split the Gaussian ellipsoid into two Gaussian ellipsoids, that is, to generate two Gaussian ellipsoids based on the Gaussian ellipsoid to be split. The position and scaling factor of the newly generated Gaussian ellipsoid have an impact on the coverage quality, rendering effect and subsequent training process. If the position is not selected properly, such as concentrated distribution of Gaussian ellipsoids in certain areas and a large number of gaps in other areas, it may lead to uneven or inaccurate spatial reconstruction. In one embodiment, the position of the center points of the two Gaussian ellipsoids to be generated is determined based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of the Gaussian ellipsoids in the neighborhood, specifically: Get multiple preset coefficients and get the center coordinates of the Gaussian ellipsoid to be split; For each coefficient, calculate the product of the coefficient and the normalized cumulative gradient, add the center coordinate plus the product to the first set, and subtract the center coordinate from the product to the second set; Get the neighborhood of each element in the first set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the first Gaussian ellipsoid; Get the neighborhood of each element in the second set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the second Gaussian ellipsoid.

[0019] For example, two coefficients are set to 1 and 2, and the center coordinates of the Gaussian ellipsoid to be split are obtained as (1, 2, 3). If the cumulative gradient of the Gaussian ellipsoid to be split is (1, -1, 3), the normalized cumulative gradient is (0.3, -0.3, 0.9). For the first coefficient 1, the product of the coefficient and the normalized cumulative gradient is (0.6, -0.6, 1.8), and the center coordinates are (1, 2, 3). The result obtained by adding the center coordinates to the product (1.6, 1.4, 4.8) is added to the first set, and the result obtained by subtracting the product from the center coordinates (0.4, 2.6, 1.2) is added to the second set. For the second coefficient 2, perform the same operation. Among them, the cumulative gradient is the cumulative result of the gradient of the Gaussian ellipsoid obtained by back propagation after each loss calculation in the training stage. Specifically, the cumulative gradient is the xyz_gradient_accum variable.

[0020] For each element in the first set, the neighborhood of the element is obtained. In one embodiment, the neighborhood is a 4-neighborhood or an 8-neighborhood, or other Gaussian ellipsoids within a certain range from the element. For example, the neighborhood is a 4-neighborhood, that is, the 4 Gaussian ellipsoids closest to the element. The first set has 3 elements, the average distance from the first element to the 4 neighborhoods is d1, the average distance from the second element to the 4 neighborhoods is d2, and the average distance from the third element to the 4 neighborhoods is d3. If d3 is the largest, the third element is used as the position of the center point of the first Gaussian ellipsoid E1. Similarly, the position of the center point of the second Gaussian ellipsoid E2 can be obtained, such as Figure 2 shown.

[0021] For the Gaussian ellipsoid, in addition to the position, the size of the Gaussian ellipsoid is also an important factor affecting the final rendering effect. In one embodiment, the shapes of the two Gaussian ellipsoids generated after the splitting are determined according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting, specifically: Initialize the shapes of the two Gaussian ellipsoids after splitting to the shapes of the Gaussian ellipsoids to be split; The average distance from the center point of the split Gaussian ellipsoid to the boundary of the neighborhood Gaussian ellipsoid of the split Gaussian ellipsoid is obtained, and the shape of the split Gaussian ellipsoid is determined based on the average distance.

[0022] Preferably, the determining the shape of the Gaussian ellipsoid after splitting based on the average distance is specifically: Setting a maximum value and a minimum value of a weight range, calculating a difference between the maximum value and the minimum value, and calculating a ratio of an average distance to a threshold value, weighting the difference using the ratio, and subtracting the weighted value from the maximum value to obtain an adjustment parameter; An initialization value of the shape of the Gaussian ellipsoid after the splitting is obtained, and a ratio of the initialization value to the adjustment parameter is used as the shape of the Gaussian ellipsoid after the splitting.

[0023] For example, the Gaussian ellipsoid to be split is E, and the Gaussian ellipsoids after splitting are E1 and E2. The shapes of E1 and E2 are initialized to be the same as E, wherein the shape refers to the length, width and height of the Gaussian ellipsoid. Specifically, in the 3D Gaussian sputtering source code, the shape is a scaling parameter.

[0024] After obtaining the center points of Gaussian ellipsoids E1 and E2, obtain the average distance from the center point of the split Gaussian ellipsoid to the boundary of the neighborhood Gaussian ellipsoid of the split Gaussian ellipsoid. For example, there are three Gaussian ellipsoids in the neighborhood of E1, and the average distance from the center point of E1 to the boundary of the three neighborhood Gaussian ellipsoids is d. If the weight range is [1.2,2], the difference between the maximum and minimum values ​​is 0.8. Further assuming that the ratio of the average distance d to the threshold is 0.6, the weighted result of the ratio to the difference is 0.48, and the maximum value 2 minus 0.48 is 1.52, that is, the adjustment parameter is 1.52. If the shape initialization value of E1 is (2, 5, 6), the ratio of the initialization value to the adjustment parameter is (1.3, 3.3, 3.9), that is, the shape of E1 is also scaling (1.3, 3.3, 3.9). It should be noted that after the new Gaussian ellipsoid is generated, the original Gaussian ellipsoid will be deleted.

[0025] S3, obtaining a Gaussian ellipsoid to be cloned from the Gaussian ellipsoid set, and determining the position of the center point of the cloned Gaussian ellipsoid based on the distribution of Gaussian ellipsoids in the neighborhood of the Gaussian ellipsoid to be cloned; For the Gaussian ellipsoid to be cloned, since cloning is to newly generate a new Gaussian ellipsoid, the shape of the new Gaussian ellipsoid directly copies the original Gaussian ellipsoid. However, if the position of the cloned Gaussian ellipsoid remains unchanged, it will overlap with the original Gaussian ellipsoid, and needs to be continuously updated in subsequent training. In order to speed up the training speed, in one embodiment, the distribution of the Gaussian ellipsoid in the neighborhood of the Gaussian ellipsoid to be cloned determines the position of the center point of the cloned Gaussian ellipsoid, specifically: Get the center point of the Gaussian ellipsoid to be cloned, and get a sphere with the center point as the center and a preset radius as the radius of the sphere, divide the surface of the sphere into multiple regions of equal size, and for each region, calculate the distance from the center of the region to the nearest Gaussian ellipsoid boundary, and take the center point of the region with the maximum distance as the position of the center point of the cloned Gaussian ellipsoid.

[0026] For example, if the Gaussian ellipsoid to be cloned is E and the center point is p, then a sphere is obtained with p as the center and the preset radius as the radius of the sphere. Then the surface of the sphere is divided into multiple regions of the same size, and the distance from the center of each region to the nearest Gaussian ellipsoid boundary is calculated, such as Figure 3As shown. Assume that it is divided into 6 regions of equal size, and the distance from the center of each region to the nearest Gaussian ellipsoid boundary is d1-d6 respectively. If d1 is the maximum value of d1-d6, the center of the region corresponding to d1 is used as the position of the center point of the cloned Gaussian ellipsoid. In this way, it is possible to avoid the newly cloned Gaussian ellipsoid being located in a Gaussian ellipsoid-dense area. For other properties of the Gaussian ellipsoid generated by splitting or cloning, such as opacity, etc., they are still determined by the default method in 3D Gaussian sputtering, and can also be determined by other methods, which are not specifically limited in the present invention.

[0027] S4, save the trained Gaussian ellipsoid set, and use the saved Gaussian ellipsoid set to reconstruct the furniture in three dimensions.

[0028] After using the optimizer to train the Gaussian ellipsoid set several times, when the loss or the preset number of iterations is reached, the trained Gaussian ellipsoid set is saved, and the furniture is reconstructed in three dimensions using the saved Gaussian ellipsoid set.

[0029] Embodiment 2: The present invention also provides a furniture 3D reconstruction system, such as Figure 4 As shown, the system includes the following modules: A point cloud acquisition module, used for acquiring sparse point clouds of furniture, and obtaining a Gaussian ellipsoid set according to the sparse point clouds; A splitting module is used to obtain a Gaussian ellipsoid to be split from a Gaussian ellipsoid set, determine the positions of the center points of two Gaussian ellipsoids to be generated based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of Gaussian ellipsoids in the neighborhood, and determine the shapes of the two Gaussian ellipsoids generated after the splitting according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting; A cloning module, used for obtaining a Gaussian ellipsoid to be cloned from a Gaussian ellipsoid set, and determining the position of the center point of the cloned Gaussian ellipsoid based on the distribution of Gaussian ellipsoids in the neighborhood of the Gaussian ellipsoid to be cloned; The three-dimensional reconstruction module is used to save the trained Gaussian ellipsoid set and use the saved Gaussian ellipsoid set to perform three-dimensional reconstruction of furniture.

[0030] Preferably, the positions of the center points of the two Gaussian ellipsoids to be generated are determined based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of the Gaussian ellipsoids in the neighborhood, specifically: Get multiple preset coefficients and get the center coordinates of the Gaussian ellipsoid to be split; For each coefficient, calculate the product of the coefficient and the normalized cumulative gradient, add the center coordinate plus the product to the first set, and subtract the center coordinate from the product to the second set; Get the neighborhood of each element in the first set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the first Gaussian ellipsoid; Get the neighborhood of each element in the second set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the second Gaussian ellipsoid.

[0031] Preferably, the shapes of the two Gaussian ellipsoids generated after the splitting are determined according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting, specifically: Initialize the shapes of the two Gaussian ellipsoids after splitting to the shapes of the Gaussian ellipsoids to be split; The average distance from the center point of the split Gaussian ellipsoid to the boundary of the neighborhood Gaussian ellipsoid of the split Gaussian ellipsoid is obtained, and the shape of the split Gaussian ellipsoid is determined based on the average distance.

[0032] Preferably, the determining the shape of the Gaussian ellipsoid after splitting based on the average distance is specifically: Setting a maximum value and a minimum value of a weight range, calculating a difference between the maximum value and the minimum value, and calculating a ratio of an average distance to a threshold value, weighting the difference using the ratio, and subtracting the weighted value from the maximum value to obtain an adjustment parameter; An initialization value of the shape of the Gaussian ellipsoid after the splitting is obtained, and a ratio of the initialization value to the adjustment parameter is used as the shape of the Gaussian ellipsoid after the splitting.

[0033] Preferably, the determining of the position of the center point of the cloned Gaussian ellipsoid based on the distribution of the Gaussian ellipsoid in the neighborhood of the Gaussian ellipsoid to be cloned is specifically: Get the center point of the Gaussian ellipsoid to be cloned, and get a sphere with the center point as the center and a preset radius as the radius of the sphere, divide the surface of the sphere into multiple regions of equal size, and for each region, calculate the distance from the center of the region to the nearest Gaussian ellipsoid boundary, and take the center point of the region with the maximum distance as the position of the center point of the cloned Gaussian ellipsoid.

[0034] Embodiment 3, the present invention further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the method described in embodiment 1 is implemented.

[0035] It should be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "includes..." do not exclude the existence of other identical elements in the process, method, article or device including the elements. Any "predetermined threshold", "preset threshold" and other similar expressions that do not indicate specific values ​​can be determined by a person of ordinary skill in the art through simple experiments or corresponding debugging.

[0036] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for 3D reconstruction of furniture, characterized in that: The method comprises the following steps: Collecting a sparse point cloud of the furniture, and obtaining a Gaussian ellipsoid set according to the sparse point cloud; Obtain the Gaussian ellipsoid to be split from the Gaussian ellipsoid set, determine the positions of the center points of the two Gaussian ellipsoids to be generated based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of the Gaussian ellipsoids in the neighborhood, and determine the shapes of the two Gaussian ellipsoids generated after the splitting according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting; Obtaining a Gaussian ellipsoid to be cloned from the Gaussian ellipsoid set, and determining the position of the center point of the cloned Gaussian ellipsoid based on the distribution of Gaussian ellipsoids in the neighborhood of the Gaussian ellipsoid to be cloned; The trained Gaussian ellipsoid set is saved, and the saved Gaussian ellipsoid set is used to reconstruct the furniture in three dimensions.

2. The method according to claim 1, characterized in that The positions of the center points of the two Gaussian ellipsoids to be generated are determined based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of the Gaussian ellipsoids in the neighborhood, specifically: Get multiple preset coefficients and get the center coordinates of the Gaussian ellipsoid to be split; For each coefficient, calculate the product of the coefficient and the normalized cumulative gradient, add the center coordinate plus the product to the first set, and subtract the center coordinate from the product to the second set; Get the neighborhood of each element in the first set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the first Gaussian ellipsoid; Get the neighborhood of each element in the second set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the second Gaussian ellipsoid.

3. The method according to claim 1, characterized in that The shapes of the two Gaussian ellipsoids generated after the splitting are determined according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting, specifically: Initialize the shapes of the two Gaussian ellipsoids after splitting to the shapes of the Gaussian ellipsoids to be split; The average distance from the center point of the split Gaussian ellipsoid to the boundary of the neighborhood Gaussian ellipsoid of the split Gaussian ellipsoid is obtained, and the shape of the split Gaussian ellipsoid is determined based on the average distance.

4. The method according to claim 3, characterized in that The shape of the Gaussian ellipsoid after splitting is determined based on the average distance, specifically: Setting a maximum value and a minimum value of a weight range, calculating a difference between the maximum value and the minimum value, and calculating a ratio of an average distance to a threshold value, weighting the difference using the ratio, and subtracting the weighted value from the maximum value to obtain an adjustment parameter; An initialization value of the shape of the Gaussian ellipsoid after the splitting is obtained, and a ratio of the initialization value to the adjustment parameter is used as the shape of the Gaussian ellipsoid after the splitting.

5. The method according to claim 1, characterized in that The method of determining the position of the center point of the cloned Gaussian ellipsoid based on the distribution of the Gaussian ellipsoid in the neighborhood of the Gaussian ellipsoid to be cloned is specifically as follows: Get the center point of the Gaussian ellipsoid to be cloned, and get a sphere with the center point as the center and a preset radius as the radius of the sphere, divide the surface of the sphere into multiple regions of equal size, and for each region, calculate the distance from the center of the region to the nearest Gaussian ellipsoid boundary, and take the center point of the region with the maximum distance as the position of the center point of the cloned Gaussian ellipsoid.

6. A furniture 3D reconstruction system, characterized in that: The system includes the following modules: A point cloud acquisition module, used for acquiring sparse point clouds of furniture, and obtaining a Gaussian ellipsoid set according to the sparse point clouds; A splitting module is used to obtain a Gaussian ellipsoid to be split from a Gaussian ellipsoid set, determine the positions of the center points of two Gaussian ellipsoids to be generated based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of Gaussian ellipsoids in the neighborhood, and determine the shapes of the two Gaussian ellipsoids generated after the splitting according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting; A cloning module, used for obtaining a Gaussian ellipsoid to be cloned from a Gaussian ellipsoid set, and determining the position of the center point of the cloned Gaussian ellipsoid based on the distribution of Gaussian ellipsoids in the neighborhood of the Gaussian ellipsoid to be cloned; The three-dimensional reconstruction module is used to save the trained Gaussian ellipsoid set and use the saved Gaussian ellipsoid set to perform three-dimensional reconstruction of furniture.

7. The system according to claim 6, characterized in that The positions of the center points of the two Gaussian ellipsoids to be generated are determined based on the cumulative gradient of the Gaussian ellipsoid to be split and the distribution of the Gaussian ellipsoids in the neighborhood, specifically: Get multiple preset coefficients and get the center coordinates of the Gaussian ellipsoid to be split; For each coefficient, calculate the product of the coefficient and the normalized cumulative gradient, add the center coordinate plus the product to the first set, and subtract the center coordinate from the product to the second set; Get the neighborhood of each element in the first set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the first Gaussian ellipsoid; Get the neighborhood of each element in the second set, and calculate the average value of the distance from the element to the center positions of other Gaussian ellipsoids in the neighborhood, and take the element with the largest average value as the position of the center point of the second Gaussian ellipsoid.

8. The system according to claim 6, characterized in that The shapes of the two Gaussian ellipsoids generated after the splitting are determined according to the shape of the Gaussian ellipsoid to be split and the neighborhood of the two Gaussian ellipsoids after the splitting, specifically: Initialize the shapes of the two Gaussian ellipsoids after splitting to the shapes of the Gaussian ellipsoids to be split; The average distance from the center point of the split Gaussian ellipsoid to the boundary of the neighborhood Gaussian ellipsoid of the split Gaussian ellipsoid is obtained, and the shape of the split Gaussian ellipsoid is determined based on the average distance.

9. The method according to claim 8, characterized in that The shape of the Gaussian ellipsoid after splitting is determined based on the average distance, specifically: Setting a maximum value and a minimum value of a weight range, calculating a difference between the maximum value and the minimum value, and calculating a ratio of an average distance to a threshold value, weighting the difference using the ratio, and subtracting the weighted value from the maximum value to obtain an adjustment parameter; An initialization value of the shape of the Gaussian ellipsoid after the splitting is obtained, and a ratio of the initialization value to the adjustment parameter is used as the shape of the Gaussian ellipsoid after the splitting.

10. A computer storage device, wherein a computer program is stored on the storage device, characterized in that: When the computer program is executed by a processor, the computer program implements the method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Method for establishing three-dimensional model of object and electrical equipment

    CN118447161A

  • Model training method, scene reconstruction method, device, equipment, medium and product

    CN118506322A

  • 3D Gaussian sputtering scene reconstruction method based on view dependence difference decoupling

    CN118710792A

  • System and method for three-dimensional augmented reality guidance for use of medical equipment

    US20180225993A1

Cited By

  • Three-dimensional scene reconstruction method based on Gaussian splashing

    CN120495543A

  • 3D scene reconstruction method based on Gaussian splattering

    CN120495543B