An optimization method and system for viewpoint networks

By optimizing the construction method of the viewpoint network, the problems of blind spots and insufficient global perspective in traditional viewpoint planning are solved, achieving more efficient 3D reconstruction and lower hardware costs, and improving the robustness and completeness of detailed information of the viewpoint network.

CN120047611BActive Publication Date: 2025-10-28WUHAN UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510009461.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-01-03
Publication Date
2025-10-28
Estimated Expiration
2045-01-03

AI Technical Summary

Technical Problem

Traditional viewpoint planning methods fail to fully consider environmental complexity, resulting in blind spots and uncovered areas, a lack of global perspective, poor robustness of viewpoint networks and incompleteness of detailed information, high hardware costs, and low efficiency of 3D reconstruction.

Method used

By acquiring the edge set array of the quantized scan region and scene target, a viewpoint network is constructed. This network is then used to fill in connected viewpoints and overlapping connection points, filter redundant viewpoints, optimize the viewpoint network, provide global connectivity and overlapping regions, reduce the number of viewpoints, and lower hardware costs.

Benefits of technology

It improves the robustness of the viewpoint network and the comprehensiveness of the scanning area, enhances the completeness of scene target detail information, and reduces hardware costs and computational resource requirements for 3D reconstruction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120047611B_ABST
    Figure CN120047611B_ABST
Patent Text Reader

Abstract

This invention discloses a method and system for optimizing viewpoint networks. The method involves acquiring an edge set array of a quantized scanning region and a scene target, constructing a viewpoint network on the quantized scanning region to obtain a first viewpoint network; adding connected viewpoints to the first viewpoint network to obtain a second viewpoint network; adding overlapping connection points to the second viewpoint network according to a preset first overlap threshold to obtain a third viewpoint network; and filtering redundant viewpoints in the third viewpoint network based on the edge set array to obtain an optimized viewpoint network corresponding to the scene target. This method can effectively improve the robustness of the viewpoint network and the comprehensiveness of the viewpoint scanning region, which is beneficial for improving the completeness of the scene target detail information acquired by the viewpoint network. This invention relates to the field of sensor deployment technology.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of sensor deployment technology, and in particular to an optimization method and system for viewpoint networks. Background Technology

[0002] With the widespread application of lidar and camera sensors in 3D reconstruction of object surfaces, the viewpoint planning (VPP) problem has become an important research direction. The core of the VPP problem is to construct a viewpoint network with optimal sensor position and orientation so that the object surface can achieve the predetermined reconstruction target in 3D reconstruction.

[0003] Currently, traditional viewpoint planning methods typically construct a viewpoint network for scene targets based on geometric analysis, consisting of multiple sensor positions and orientations. This approach fails to fully consider the complexity of the environment, and is prone to blind spots or uncovered viewpoint scanning areas, resulting in poor completeness of the captured scene target details. In addition, this approach often only focuses on the relationships between local viewpoints, lacking a sufficient global perspective, and the robustness of the viewpoint network is unsatisfactory.

[0004] Therefore, the problems existing in the current technology still need to be solved and optimized. Summary of the Invention

[0005] The purpose of this invention is to at least partially solve one of the technical problems existing in the related art.

[0006] Therefore, one objective of this invention is to provide a method and system for optimizing viewpoint networks. This method can effectively improve the robustness of viewpoint networks and the comprehensiveness of viewpoint scanning areas, thereby improving the completeness of scene target detail information acquired by the viewpoint network.

[0007] To achieve the above-mentioned technical objectives, the technical solutions adopted in the embodiments of this application include:

[0008] In a first aspect, embodiments of this application provide a method for optimizing viewpoint networks, comprising:

[0009] Obtain the edge set array of the quantized scanning region and the scene target, and construct a viewpoint network for the quantized scanning region to obtain the first viewpoint network;

[0010] The first viewpoint network is supplemented with connected viewpoints to obtain a second viewpoint network. The second viewpoint network includes several second viewpoints and several original first viewpoints of the first viewpoint network. The newly added target viewpoints in the second viewpoint network have direct connectivity with at least two non-target viewpoints in the second viewpoint network. The target viewpoint is any one of the second viewpoints, and the non-target viewpoints are the first viewpoints or second viewpoints other than the target viewpoints.

[0011] Based on a preset first overlap threshold, overlapping connection points are added to the second viewpoint network to obtain a third viewpoint network;

[0012] Based on the edge set array, redundant viewpoint filtering is performed on the third viewpoint network to obtain an optimized viewpoint network corresponding to the scene target.

[0013] In addition, the method according to the above embodiments of this application may also have the following additional technical features:

[0014] Furthermore, in one embodiment of this application, the step of constructing a viewpoint network on the quantized scanning region to obtain a first viewpoint network includes:

[0015] Obtain the preset threshold for adjacent pixels at the viewpoint;

[0016] The quantized scanning area is imaged to obtain a first region image;

[0017] The first region image is subjected to boundary transformation to obtain the second region image;

[0018] The second region image is inverted to obtain the third region image;

[0019] The third region image is subjected to ridge line extraction and skeleton thinning to obtain a thinned skeleton line image;

[0020] Based on the threshold of adjacent pixels of the viewpoint, viewpoints are extracted from the skeleton line intersections in the thinned skeleton line image to obtain the first viewpoint network.

[0021] Furthermore, in one embodiment of this application, the step of performing connected viewpoint supplementation on the first viewpoint network to obtain a second viewpoint network includes:

[0022] Using the current first viewpoint network as the fourth viewpoint network, the first connected path of each fourth viewpoint pair in the fourth viewpoint network is obtained;

[0023] Based on all the first connected paths, the farthest point is added to the fourth viewpoint network to obtain the fifth viewpoint network and the farthest point addition identifier of the fifth viewpoint network. The farthest point addition identifier is used to indicate whether the fifth viewpoint network is the fourth viewpoint network after the farthest point is added.

[0024] If the newly added identifier of the farthest point indicates that the fifth viewpoint network is the fourth viewpoint network after adding the farthest point, then the current first viewpoint network is updated according to the fifth viewpoint network, and then the process returns to execute the step of using the current first viewpoint network as the fourth viewpoint network and obtaining the first connected path of each fourth viewpoint pair in the fourth viewpoint network; or, if the newly added identifier of the farthest point indicates that the fifth viewpoint network is not the fourth viewpoint network after adding the farthest point, then the fifth viewpoint network is determined as the second viewpoint network.

[0025] Further, in one embodiment of this application, the step of performing farthest point supplementation on the fourth viewpoint network based on all the first connected paths to obtain the fifth viewpoint network and the farthest point addition identifier of the fifth viewpoint network includes:

[0026] Based on all the first connected paths, the fourth viewpoint network is filtered to obtain several fifth viewpoint pairs and a second connected path corresponding to each fifth viewpoint pair. The fifth viewpoint pairs are fourth viewpoint pairs with direct connectivity.

[0027] Based on all the second connected paths, perform a farthest point search on the corresponding fifth viewpoint pairs to obtain several target farthest points;

[0028] Based on the farthest points of all the targets, the fourth viewpoint network is updated by adding first viewpoints to obtain the fifth viewpoint network and the newly added identifiers of the farthest points.

[0029] Further, in one embodiment of this application, based on the second connectivity path, a farthest point search is performed on the corresponding fifth viewpoint pair to obtain the target farthest point, including:

[0030] Obtain the current fifth viewpoint pair and the distance threshold of the current fifth viewpoint pair;

[0031] The farthest point is found in the second connected path of the current fifth viewpoint pair. The farthest point in the middle is the path pixel with the largest viewpoint distance among all path pixels in the second connected path. The viewpoint distance is the minimum interval distance between the path pixel and the straight line where the current fifth viewpoint pair is located.

[0032] The distance threshold and the viewpoint distance of the farthest intermediate point are compared to obtain the distance comparison result;

[0033] If the distance comparison result is that the viewpoint distance of the farthest intermediate point is greater than or equal to the distance threshold, then the farthest intermediate point is determined as the farthest target point.

[0034] Furthermore, in one embodiment of this application, the step of adding overlapping connection points to the second viewpoint network according to a preset first overlap threshold to obtain a third viewpoint network includes:

[0035] Using the current second viewpoint network as the sixth viewpoint network, the first viewpoint overlap of each sixth viewpoint pair in the sixth viewpoint network is obtained;

[0036] Based on the first overlap threshold and all first viewpoint overlaps, intermediate points are added to the sixth viewpoint network to obtain the seventh viewpoint network and the intermediate point addition identifier of the seventh viewpoint network. The intermediate point addition identifier is used to indicate whether the seventh viewpoint network is the sixth viewpoint network after adding intermediate points.

[0037] If the newly added intermediate point identifier indicates that the seventh viewpoint network is the sixth viewpoint network after adding the intermediate point, then the current second viewpoint network is updated according to the seventh viewpoint network, and then the process is repeated to return to the execution step of using the current second viewpoint network as the sixth viewpoint network and obtaining the first viewpoint overlap of each sixth viewpoint pair in the sixth viewpoint network; or, if the newly added intermediate point identifier indicates that the seventh viewpoint network is not the sixth viewpoint network after adding the intermediate point, then the seventh viewpoint network is determined as the third viewpoint network.

[0038] Further, in one embodiment of this application, the step of adding intermediate points to the sixth viewpoint network based on the first overlap threshold and all first viewpoint overlaps to obtain the seventh viewpoint network and the intermediate point addition identifier of the seventh viewpoint network includes:

[0039] Based on the first overlap threshold, the overlap of all first viewpoints is compared to obtain the overlap comparison result corresponding to the overlap of each first viewpoint.

[0040] Based on all the overlap comparison results, the sixth viewpoint network is filtered to obtain several seventh viewpoint pairs. The seventh viewpoint pairs are the sixth viewpoint pairs whose corresponding first viewpoint overlap is less than the first overlap threshold.

[0041] For all the seventh viewpoint pairs, select the intermediate point to obtain the target intermediate point for each seventh viewpoint pair;

[0042] Based on all the target intermediate points, the sixth viewpoint network is updated with a second viewpoint to obtain the seventh viewpoint network and the newly added intermediate point identifiers.

[0043] Furthermore, in one embodiment of this application, the step of performing redundant viewpoint filtering on the third viewpoint network based on the edge set array to obtain an optimized viewpoint network corresponding to the scene target includes:

[0044] The edge set array is uniformly sampled to obtain a segmented edge set, which includes several scene segmentation edges of the scene target;

[0045] Based on the segmented edge set, overlap information is extracted from the third viewpoint network to obtain a scan information table. The scan information table includes several scan information arrays, each scan information array corresponds to a third viewpoint in the third viewpoint network, and each scan information array includes several scan array elements. Each scan array element is used to characterize whether the viewpoint scan edge of the third viewpoint overlaps with the corresponding scene segmentation edge.

[0046] The optimized viewpoint network is obtained by performing heuristic optimization on the scan information table.

[0047] Furthermore, in one embodiment of this application, the step of performing heuristic optimization on the scan information table to obtain the optimized viewpoint network includes:

[0048] Obtain the preset second overlap threshold and edge count threshold;

[0049] Using the current scan information table as the first information table, obtain the preferred viewpoint set corresponding to the first information table;

[0050] The first information table is filtered for preferred viewpoint information to obtain a preferred viewpoint array and preferred viewpoints corresponding to the preferred viewpoint array. The preferred viewpoint array is the scan information array with the most overlapping relationships in the first information table.

[0051] Based on the preferred viewpoint array, the row and column information of the first information table is updated to obtain a second information table and several information viewpoints corresponding to the second information table;

[0052] Based on the second overlap threshold and the preferred viewpoint, all the information viewpoints are screened for overlap to obtain several candidate viewpoints. Each candidate viewpoint is an information viewpoint whose second viewpoint overlap is greater than or equal to the second overlap threshold. The second viewpoint overlap is the viewpoint overlap between the information viewpoint and the preferred viewpoint.

[0053] Based on the edge count threshold, the edge count of the scan information array of all the candidate viewpoints is compared to obtain the edge count comparison result. The edge count comparison result is used to characterize whether there is at least one candidate viewpoint whose total supplementary edge count is greater than the edge count threshold. The total supplementary edge count is the total number of scene segmentation edges that overlap with the viewpoint scan edge of the candidate viewpoint.

[0054] If the edge count comparison result indicates that the total number of supplementary edges for at least one of the candidate viewpoints is greater than the edge count threshold, then the preferred viewpoint set is updated according to the preferred viewpoint to obtain an updated preferred viewpoint set, and the optimized viewpoint network is obtained based on the updated preferred viewpoint set; or, if the edge count comparison result indicates that the total number of supplementary edges for at least one of the candidate viewpoints is greater than the edge count threshold, then the preferred viewpoint set is updated according to the preferred viewpoint and the candidate viewpoint with the largest total number of supplementary edges, and the current scan information table is updated according to the candidate viewpoint with the largest total number of supplementary edges and the second information table, and then the process returns to the step of using the current scan information table as the first information table and obtaining the preferred viewpoint set corresponding to the first information table.

[0055] Secondly, embodiments of this application provide an optimization system for viewpoint networks, comprising:

[0056] The first processing unit is used to obtain the edge set array of the quantized scanning region and the scene target, and to construct a viewpoint network for the quantized scanning region to obtain the first viewpoint network.

[0057] The second processing unit is used to add connected viewpoints to the first viewpoint network to obtain a second viewpoint network. The second viewpoint network includes a plurality of second viewpoints and a plurality of original first viewpoints in the first viewpoint network. The newly added target viewpoint in the second viewpoint network has a direct connection relationship with at least two non-target viewpoints in the second viewpoint network. The target viewpoint is any one of the second viewpoints, and the non-target viewpoints are the first viewpoints or second viewpoints other than the target viewpoints.

[0058] The third processing unit is used to fill in overlapping connection points in the second viewpoint network according to a preset first overlap threshold to obtain a third viewpoint network.

[0059] The fourth processing unit is used to perform redundant viewpoint filtering on the third viewpoint network based on the edge set array to obtain an optimized viewpoint network corresponding to the scene target.

[0060] Thirdly, embodiments of this application also provide an electronic device, including:

[0061] At least one processor;

[0062] At least one memory for storing at least one program;

[0063] When the at least one program is executed by the at least one processor, the at least one processor performs the method described above.

[0064] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a processor-executable program, which, when executed by the processor, is used to implement the above-described method.

[0065] The advantages and beneficial effects of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application:

[0066] This application discloses a method and system for optimizing viewpoint networks. The method involves obtaining an edge set array of a quantized scanning region and a scene target, and constructing a viewpoint network on the quantized scanning region to obtain a first viewpoint network. The first viewpoint network is then supplemented with connected viewpoints to obtain a second viewpoint network. The second viewpoint network includes several second viewpoints and several original first viewpoints of the first viewpoint network. Each newly added target viewpoint in the second viewpoint network has a direct connection with at least two non-target viewpoints in the second viewpoint network. The target viewpoint is any one of the second viewpoints, and the non-target viewpoints are either the first viewpoints or second viewpoints other than the target viewpoints. Based on a preset first overlap threshold, overlapping connection points are added to the second viewpoint network to obtain a third viewpoint network. Finally, redundant viewpoint filtering is performed on the third viewpoint network based on the edge set array to obtain an optimized viewpoint network corresponding to the scene target. This method constructs a viewpoint network in the quantized scanning area and adds connected viewpoints to the first viewpoint network. It can fully consider the global connectivity between viewpoints in the viewpoint network and provide a sufficient global perspective for the viewpoint network. This can effectively improve the robustness of the viewpoint network and the comprehensiveness of the viewpoint scanning area, which is conducive to improving the completeness of scene target detail information subsequently acquired by the viewpoint network. Attached Figure Description

[0067] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the following description is provided with accompanying drawings of the relevant technical solutions in the embodiments of this application or the prior art. It should be understood that the accompanying drawings described below are only for the purpose of clearly illustrating some embodiments of the technical solutions in this application. For those skilled in the art, other drawings can be obtained based on these drawings without any creative effort.

[0068] Figure 1A flowchart illustrating a viewpoint network optimization method provided in an embodiment of this application;

[0069] Figure 2 A schematic diagram of a quantization scanning area provided in an embodiment of this application;

[0070] Figure 3 A schematic diagram of the viewpoint scanning edge of a sixth viewpoint pair provided in an embodiment of this application.

[0071] Figure 4 A schematic diagram of the structural framework of a viewpoint network optimization system provided in an embodiment of this application;

[0072] Figure 5 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0073] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain this application, and should not be construed as limiting this application. The step numbers in the following embodiments are set only for ease of explanation, and there is no limitation on the order between the steps. The execution order of each step in the embodiments can be adaptively adjusted according to the understanding of those skilled in the art.

[0074] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.

[0075] Currently, traditional viewpoint planning methods typically construct a viewpoint network for scene targets based on geometric analysis, consisting of multiple sensor positions and orientations. This approach fails to fully consider the complexity of the environment, and is prone to blind spots or uncovered viewpoint scanning areas, resulting in poor completeness of the captured scene target details. In addition, this approach often only focuses on the relationships between local viewpoints, lacking a sufficient global perspective, and the robustness of the viewpoint network is unsatisfactory.

[0076] Furthermore, geometric analysis-based methods often fail to reconstruct scene targets using as few viewpoints as possible. The viewpoint network constructed using these methods has a large number of viewpoints, resulting in high hardware costs for the viewpoint network. Additionally, the subsequent acquisition time for 3D point clouds is long, and the computational resources required for 3D reconstruction are substantial, leading to poor efficiency in subsequent 3D reconstruction. Moreover, in order to capture every detail of the scene target as much as possible, the viewpoints in the constructed viewpoint network are often unevenly distributed in space, with insufficient or unbalanced overlapping areas in the viewpoint planning, resulting in poor robustness of the viewpoint network.

[0077] In view of this, embodiments of the present invention provide a method and system for optimizing viewpoint networks. The method constructs a viewpoint network for a quantized scanning region. Specifically, it extracts the skeleton of the quantized scanning region, where the joints of the skeleton represent the convergence points of the viewpoint's observation information. Then, a first viewpoint network is constructed based on the skeleton, which can provide the viewpoint network with a sufficient global perspective and effectively improve the comprehensiveness of the viewpoint scanning region.

[0078] Furthermore, this method supplements the first viewpoint network by selectively adding the farthest points along the connecting paths between viewpoints in the first viewpoint network. This fully considers the global connectivity between viewpoints in the viewpoint network, effectively improving the robustness of the viewpoint network and the comprehensiveness of the viewpoint scanning area. This is beneficial for improving the completeness of the scene target detail information subsequently acquired by the viewpoint network. At the same time, since the newly added farthest points are added to the connecting paths between viewpoints, that is, the newly added farthest points are placed on the skeleton and joints, it can effectively ensure that the entire scene target space is covered with the fewest viewpoints, effectively reducing the number of viewpoints used by the viewpoint network. This is beneficial for reducing the hardware cost of the viewpoint network and reducing the subsequent 3D point cloud acquisition time and the computing resources required for 3D reconstruction.

[0079] In addition, this method adds overlapping connection points to the second viewpoint network. Specifically, it selectively adds intermediate points on the connection path between each viewpoint in the second viewpoint network. This can further consider the overlapping areas of viewpoint planning between each viewpoint in the viewpoint network, based on fully considering the global connectivity between each viewpoint in the viewpoint network, which is beneficial to improving the robustness of the viewpoint network.

[0080] Furthermore, by performing redundant viewpoint filtering on the third viewpoint network, this method can eliminate redundant viewpoints in the viewpoint network based on fully considering the global connectivity and overlapping areas of each viewpoint. This can further optimize the viewpoint network to cover the entire scene target space with the fewest viewpoints, which helps to reduce the hardware cost of the viewpoint network and reduce the subsequent 3D point cloud acquisition time and the computing resources required for 3D reconstruction.

[0081] Reference Figure 1In this embodiment of the application, a method for optimizing a viewpoint network includes:

[0082] Step 110: Obtain the edge set array of the quantized scanning region and the scene target, and construct a viewpoint network for the quantized scanning region to obtain the first viewpoint network;

[0083] In the embodiments of this application, the scene target can be the scene environment to be scanned (such as the space environment inside a house) or the object to be scanned, and the quantized scanning area can be the quantized representation of the scanning area obtained after the scanning sensor (such as a LiDAR sensor) scans the scene target.

[0084] For example, refer to Figure 2 For a given scanning sensor, its scanning range parameters include the minimum scanning radius r. min and maximum scan radius r max The scanning range parameter characterizes the distance to and viewing angle of objects that the scanning sensor can capture. In planar geometry, the position of the scanning sensor is set as the center O, using r... min and r max Draw two circles that intersect the target line segment (line segment AB) in the scene and r. min The points of intersection are C and D, while the points of intersection with r are... max The intersection points are E and F. The quantized scanning area in line segment AB that can be scanned by this scanning sensor is:

[0085] S valid =intersect(AB,EF)-intersect(AB,CD)

[0086] Among them, S valid The quantized scanning area in line segment AB that can be scanned by the scanning sensor is the effective area of ​​the viewpoint scanning edge of the scanning sensor, which includes line segment EC and line segment DB; intersect(·) is the intersection symbol.

[0087] It is understood that the edge set array can be the edge position information of the scene target, etc. In this embodiment of the application, taking the scene target as a house scene as an example, its edge set array can be obtained from the wall line information of the house scene obtained from the two-dimensional plane information file (such as DXF file, etc.). The wall line information includes the side length, position coordinates, etc., and thus generates the edge set array.

[0088] It should be noted that after obtaining the quantized scanning area, an initial viewpoint network corresponding to the scene target can be constructed based on the quantized scanning area of ​​the scanning sensor, and the constructed initial viewpoint network is determined as the first viewpoint network.

[0089] In some embodiments, step 110, constructing a viewpoint network on the quantized scanning region to obtain a first viewpoint network, includes:

[0090] A1. Obtain the preset threshold for adjacent pixels at the viewpoint;

[0091] A2. Perform region imaging on the quantized scanning region to obtain a first region image;

[0092] A3. Perform boundary transformation on the first region image to obtain the second region image;

[0093] A4. Perform boundary inversion on the second region image to obtain the third region image;

[0094] A5. Extract ridge lines and refine the skeleton of the third region image to obtain a refined skeleton line image;

[0095] A6. Based on the threshold of adjacent pixels of the viewpoint, the viewpoint is extracted from the skeleton line intersections in the thinned skeleton line image to obtain the first viewpoint network.

[0096] In this embodiment, the viewpoint adjacent pixel threshold is used to characterize the threshold of adjacent pixels on the skeleton line graph. This threshold can be a minimum threshold, and its specific array can be set according to the actual situation. In this embodiment, the viewpoint adjacent pixel threshold is 3 as an example. Step A2 can be to sequentially perform image preprocessing such as grayscale conversion, normalization, and binarization on the quantized scanning area to obtain a binary image of the quantized scanning area, and then determine the binary image as the first region image.

[0097] It is understandable that step A3 can be to add a boundary to the first region image and perform a distance transformation (such as Euclidean distance transformation) on the first region image after adding the boundary to obtain the second region image; then, the boundary originally added in the second region image can be removed to maintain the original size of the image, and the pixel values ​​of each pixel in the second region image can be flipped to obtain the third region image, which can be used to extract the skeleton line.

[0098] It should be noted that step A5 can be ridge filtering applied to the third region image to obtain the topological skeleton line of the quantized scanning region, and then the topological skeleton line is refined to obtain a refined skeleton line image. For the skeleton line in the refined skeleton line image, its joints represent the points where the most information converges. Therefore, step A6 can be based on the threshold of adjacent pixels of the viewpoint to filter the intersection points in the skeleton line. Specifically, pixels with no less than 3 adjacent points on the refined skeleton line image can be identified as intersection points to obtain several intersection points. All intersection points constitute the initial viewpoint network (i.e., the first viewpoint network). Each viewpoint in the first viewpoint network corresponds to the position of a scanning sensor. The first viewpoint network formed by the initial skeleton intersection points can ensure that the quantized scanning region fully covers the scene target.

[0099] Step 120: Add connected viewpoints to the first viewpoint network to obtain a second viewpoint network. The second viewpoint network includes several second viewpoints and several original first viewpoints of the first viewpoint network. The newly added target viewpoints in the second viewpoint network have direct connectivity with at least two non-target viewpoints in the second viewpoint network. The target viewpoint is any one of the second viewpoints, and the non-target viewpoints are the first viewpoints or second viewpoints other than the target viewpoints.

[0100] In this embodiment of the application, connected viewpoints can be added to a number of first viewpoints in the first viewpoint network to obtain a second viewpoint network. The newly added second viewpoint is connected to at least two viewpoints in the second viewpoint network other than itself.

[0101] In some embodiments, step 120, adding connected viewpoints to the first viewpoint network to obtain a second viewpoint network, includes:

[0102] B1. Using the current first viewpoint network as the fourth viewpoint network, and obtaining the first connected path for each fourth viewpoint pair in the fourth viewpoint network;

[0103] In this embodiment of the application, for the addition of connected viewpoints in a certain cycle, the latest first viewpoint network can first be used as the fourth viewpoint network, and the fourth viewpoint pair formed by each viewpoint and other viewpoints in the fourth viewpoint network can be obtained. Then, based on the fourth viewpoint pair, the first connected path between the two fourth viewpoints is determined.

[0104] It should be noted that in the fourth viewpoint network of the current cycle, the fourth viewpoint can be the original first viewpoint in the first viewpoint network, or it can be a connected viewpoint newly added in the previous cycle. In addition, since there are a certain number of disconnected viewpoint pairs in the first viewpoint network, some of the fourth viewpoint pairs obtained in step B1 may also be disconnected. For disconnected fourth viewpoint pairs, their corresponding first connected path can be empty.

[0105] B2. Based on all the first connected paths, the farthest point is added to the fourth viewpoint network to obtain the fifth viewpoint network and the farthest point addition identifier of the fifth viewpoint network. The farthest point addition identifier is used to indicate whether the fifth viewpoint network is the fourth viewpoint network after the farthest point is added.

[0106] In some embodiments, step B2, which involves adding the farthest point to the fourth viewpoint network based on all the first connected paths to obtain a fifth viewpoint network and the newly added farthest point identifier of the fifth viewpoint network, includes:

[0107] B21. Based on all the first connected paths, the fourth viewpoint network is filtered for viewpoint pairs to obtain several fifth viewpoint pairs and a second connected path corresponding to each fifth viewpoint pair, wherein the fifth viewpoint pair is a fourth viewpoint pair with a direct connection relationship.

[0108] In this embodiment, based on all first connected paths, the farthest point can be added to the corresponding fourth viewpoint pairs in the fourth viewpoint network to obtain the fifth viewpoint network and the farthest point addition identifier. Specifically, if the fourth viewpoint network successfully adds at least one farthest point, an indicator indicating that the fifth viewpoint network is the farthest point addition identifier of the fourth viewpoint network after adding the farthest point can be obtained; or, if the fourth viewpoint network fails to successfully add at least one farthest point, an indicator indicating that the fifth viewpoint network is not the farthest point addition identifier of the fourth viewpoint network after adding the farthest point can be obtained, that is, the fifth viewpoint network is the same as the fourth viewpoint network.

[0109] It is understandable that step B21 can be to delete the fourth viewpoint pairs in all fourth viewpoint pairs where the first connected path is empty, and retain the fourth viewpoint pairs where the first connected path is not empty, thereby obtaining several fifth viewpoint pairs with a connection relationship, and a second connected path corresponding to each fifth viewpoint.

[0110] It should be noted that for a pair of fifth viewpoints with a direct connection relationship, there are no other viewpoints on the connection path between the two fifth viewpoints, and the connection path between the two fifth viewpoints can be a segment of skeleton line in the thinned skeleton line image.

[0111] B22. Based on all the second connected paths, perform a farthest point search on the corresponding fifth viewpoint pairs to obtain several target farthest points;

[0112] Further, step B22, searching for the farthest point of the corresponding fifth viewpoint pair based on the second connected path to obtain the farthest target point, includes:

[0113] B221. Obtain the current fifth viewpoint pair and the distance threshold of the current fifth viewpoint pair;

[0114] B222. Find the farthest point in the second connected path of the current fifth viewpoint pair to obtain the middle farthest point. The middle farthest point is the path pixel with the largest viewpoint distance among all path pixels in the second connected path. The viewpoint distance is the minimum interval distance between the path pixel and the straight line where the current fifth viewpoint pair is located.

[0115] B223. Compare the distance threshold with the viewpoint distance of the farthest intermediate point to obtain the distance comparison result;

[0116] B224. If the distance comparison result is that the viewpoint distance of the farthest intermediate point is greater than or equal to the distance threshold, then the farthest intermediate point is determined as the farthest target point.

[0117] In this embodiment of the application, each fifth viewpoint pair can be iterated through according to all second connected paths to obtain several target farthest points. The number of target farthest points is not necessarily the same as the number of fifth viewpoint pairs. Specifically, if each fifth viewpoint pair has a farthest point that meets the conditions, the number of target farthest points obtained is the same as the number of fifth viewpoint pairs; otherwise, if at least one fifth viewpoint pair has a farthest point that does not meet the conditions, the number of target farthest points obtained is less than the number of fifth viewpoint pairs.

[0118] It is understandable that, for a certain loop traversal process, the fifth viewpoint pair and distance threshold corresponding to the current loop traversal process can first be obtained. There are various ways to obtain the distance threshold, such as it can be a preset value or it can be obtained by querying a distance threshold value table, which will not be elaborated here in this application embodiment. In addition, in this application embodiment, all fifth viewpoint pairs can use the same distance threshold, or the distance thresholds corresponding to all fifth viewpoint pairs can be not completely the same.

[0119] It should be noted that step B222 can involve finding a path pixel in the second connected path of the fifth viewpoint pair such that the viewpoint distance from this path pixel to the line containing the corresponding two fifth viewpoints is maximized. Specifically, step B222 can first determine the corresponding viewpoint line based on the two fifth viewpoints, and then find a path pixel in the corresponding second connected path that has the largest minimum distance to the viewpoint line, and designate this path pixel as the farthest point in the middle. Furthermore, the minimum distance between the path pixel and the viewpoint line can be obtained by connecting the path pixel and the viewpoint line with a perpendicular line, which will not be elaborated further in this application.

[0120] It is worth mentioning that step B223 can be a comparison between the distance threshold and the viewpoint distance to obtain the distance comparison result. Specifically, if the distance comparison result shows that the viewpoint distance of the farthest point in the middle is greater than or equal to the distance threshold, it means that the farthest point in the middle meets the condition. At this time, the farthest point in the middle can be determined as the target farthest point corresponding to the current fifth viewpoint pair, and the current fifth viewpoint pair is updated. Then, step B221 is executed to find the farthest point for the next fifth viewpoint pair. Alternatively, if the distance comparison result shows that the viewpoint distance of the farthest point in the middle is greater than or equal to the distance threshold, it means that the farthest point in the middle does not meet the condition. At this time, the farthest point in the middle can be deleted, and the current fifth viewpoint pair is updated. Then, step B221 is executed to find the farthest point for the next fifth viewpoint pair. The same logic applies to the fifth viewpoint pairs in the remaining loop traversal process, and can be easily deduced by analogy.

[0121] B23. Based on the farthest points of all the targets, perform first viewpoint supplementation and update on the fourth viewpoint network to obtain the fifth viewpoint network and the newly added identifier of the farthest point.

[0122] In this embodiment, after all fifth viewpoint pairs have been iterated through, all generated farthest target points can be added to the fourth viewpoint network to obtain the fifth viewpoint network. Specifically, if the total number of generated farthest target points is 0, the resulting fifth viewpoint network is the same as the fourth viewpoint network, and the newly added farthest point identifier indicates that the fifth viewpoint network is not the fourth viewpoint network after adding the farthest point; or, if the total number of generated farthest target points is greater than or equal to 1, the newly added farthest point identifier indicates that the fifth viewpoint network is the fourth viewpoint network after adding the farthest point.

[0123] B3. If the newly added identifier of the farthest point indicates that the fifth viewpoint network is the fourth viewpoint network after the addition of the farthest point, then the current first viewpoint network is updated according to the fifth viewpoint network, and then the process returns to execute the step of using the current first viewpoint network as the fourth viewpoint network and obtaining the first connected path of each fourth viewpoint pair in the fourth viewpoint network.

[0124] Alternatively, B4, if the newly added identifier of the farthest point indicates that the fifth viewpoint network is not the fourth viewpoint network after the addition of the farthest point, then the fifth viewpoint network is determined to be the second viewpoint network.

[0125] In this embodiment, if the newly added identifier for the farthest point is that the fifth viewpoint network is the fourth viewpoint network after adding the farthest point, it means that there may still be a farthest point in the fifth viewpoint network whose viewpoint distance is greater than or equal to the distance threshold that can be added. In this case, the fifth viewpoint network can be used as the latest first viewpoint network, and then return to execute B1 to continue adding the farthest point; or, if the newly added identifier for the farthest point is that the fifth viewpoint network is not the fourth viewpoint network after adding the farthest point, it means that the fifth viewpoint network is the same as the fourth viewpoint network, and there is no farthest point in the fifth viewpoint network whose viewpoint distance is greater than or equal to the distance threshold that can be added. In this case, the current fifth viewpoint network can be determined as the second viewpoint network.

[0126] Step 130: Based on the preset first overlap threshold, fill in the overlapping connection points of the second viewpoint network to obtain the third viewpoint network;

[0127] In this embodiment of the application, overlapping connection points can be added to several second viewpoints in the first viewpoint network according to a first overlap threshold, thereby obtaining a third viewpoint network. The third viewpoint network can fully consider the viewpoint planning overlap area between each viewpoint in the viewpoint network.

[0128] In some embodiments, step 130, which involves adding overlapping connection points to the second viewpoint network according to a preset first overlap threshold to obtain a third viewpoint network, includes:

[0129] C1. Using the current second viewpoint network as the sixth viewpoint network, and obtaining the first viewpoint overlap degree of each sixth viewpoint pair in the sixth viewpoint network;

[0130] In this embodiment of the application, for the addition of overlapping connection points in a certain cycle, the latest second viewpoint network can first be used as the sixth viewpoint network, and the sixth viewpoint pair formed by each viewpoint and other viewpoints in the sixth viewpoint network can be obtained. Then, based on the sixth viewpoint pair, the first viewpoint overlap degree of each sixth viewpoint pair is determined.

[0131] For example, referring to Figure 3 For the sixth viewpoint a and the sixth viewpoint b in the sixth viewpoint pair, the viewpoint scan edge observed by the sixth viewpoint a can be represented as L. a The viewpoint scan edge observed from the sixth viewpoint b can be represented as L. b Then the common edge segment of the sixth viewpoint a and the sixth viewpoint b can be represented as:

[0132] L ab =L a ∩L b

[0133] Among them, L ab Let be the common edge segment of the sixth viewpoint a and the sixth viewpoint b. Figure 3 Line segments GH and IJ are in the diagram; ∩ is the intersection symbol.

[0134] The overlap between the sixth viewpoints a and b and the first viewpoints of ab can be expressed as:

[0135]

[0136] Among them, O ab The overlap between the sixth viewpoint and the first viewpoint of ab is denoted as .

[0137] C2. Based on the first overlap threshold and all first viewpoint overlaps, add intermediate points to the sixth viewpoint network to obtain the seventh viewpoint network and the intermediate point addition identifier of the seventh viewpoint network. The intermediate point addition identifier is used to indicate whether the seventh viewpoint network is the sixth viewpoint network after adding intermediate points.

[0138] Further, step C2, adding intermediate points to the sixth viewpoint network based on the first overlap threshold and the overlap of all first viewpoints, to obtain the seventh viewpoint network and the intermediate point addition identifier of the seventh viewpoint network, includes:

[0139] C21. Based on the first overlap threshold, compare the overlap of all the first viewpoints to obtain the overlap comparison result corresponding to the overlap of each first viewpoint.

[0140] C22. Based on all the overlap comparison results, the sixth viewpoint network is filtered to obtain several seventh viewpoint pairs, wherein the seventh viewpoint pairs are the sixth viewpoint pairs whose first viewpoint overlap is less than the first overlap threshold.

[0141] C23. Select the intermediate point for all the seventh viewpoint pairs to obtain the target intermediate point for each seventh viewpoint pair;

[0142] C24. Based on all the target intermediate points, perform second viewpoint supplementation and update on the sixth viewpoint network to obtain the seventh viewpoint network and the newly added intermediate point identifiers.

[0143] In this embodiment of the application, an intermediate point can be added to the corresponding sixth viewpoint pair in the sixth viewpoint network based on the first overlap threshold and the first viewpoint overlap of each sixth viewpoint pair, thereby obtaining the seventh viewpoint network and the newly added intermediate point identifier. The content of the newly added intermediate point identifier is similar to that of the aforementioned newly added farthest point identifier, and can be easily deduced by analogy.

[0144] Understandably, step C21 can be a comparison of the overlap degree of each first viewpoint with the first overlap degree threshold, thereby obtaining an overlap degree comparison result corresponding to the overlap degree of each first viewpoint; step C22 can be based on each overlap degree comparison result to filter the corresponding sixth viewpoint pairs in the sixth viewpoint network, thereby obtaining several seventh viewpoint pairs. Specifically, for a certain overlap degree comparison result, if the overlap degree comparison result is that the first viewpoint overlap degree is greater than or equal to the first overlap degree threshold, it means that the overlap degree of the sixth viewpoint pair corresponding to the overlap degree comparison result is sufficient, that is, there is no insufficient or unbalanced overlap area in the viewpoint planning of the two sixth viewpoints in the sixth viewpoint pair; or, if the overlap degree comparison result is that the first viewpoint overlap degree is less than the first overlap degree threshold, it means that the overlap degree of the sixth viewpoint pair corresponding to the overlap degree comparison result is insufficient, that is, there is insufficient or unbalanced overlap area in the viewpoint planning of the two sixth viewpoints in the sixth viewpoint pair. In this case, the sixth viewpoint pair can be determined as the seventh viewpoint pair, and the other overlap degree comparison results can be deduced by analogy.

[0145] It should be noted that, for a given seventh viewpoint pair, step C23 can involve selecting a midpoint on the connected path between the two seventh viewpoints in the pair, and defining this midpoint as the target midpoint of the seventh viewpoint pair. Here, the midpoint is the path pixel located in the middle of the connected path of the seventh viewpoint pair. The same logic applies to the other seventh viewpoint pairs. Then, after obtaining the target midpoint for each seventh viewpoint pair, all the obtained target midpoints can be added to the sixth viewpoint network to obtain the seventh viewpoint network.

[0146] It is worth mentioning that the number of viewpoint pairs in the seventh viewpoint pair obtained in step C22 can be 0 or greater than or equal to 1. If the number of viewpoint pairs in the seventh viewpoint pair obtained in step C22 is 0, then the number of target intermediate points obtained in step C23 is also 0. In this case, the seventh viewpoint network obtained in step C24 is consistent with the sixth viewpoint network, and its corresponding intermediate point addition identifier is that the seventh viewpoint network is not the sixth viewpoint network after adding intermediate points; or, if the number of viewpoint pairs in the seventh viewpoint pair obtained in step C22 is not 0, then the seventh viewpoint network obtained in step C24 is the sixth viewpoint network after adding intermediate points, and its corresponding intermediate point addition identifier is that the seventh viewpoint network is the sixth viewpoint network after adding intermediate points.

[0147] C3. If the newly added intermediate point identifier indicates that the seventh viewpoint network is the sixth viewpoint network after the intermediate point is added, then the current second viewpoint network is updated according to the seventh viewpoint network, and then the process is returned to execute the step of using the current second viewpoint network as the sixth viewpoint network and obtaining the first viewpoint overlap of each sixth viewpoint pair in the sixth viewpoint network.

[0148] Alternatively, C4, if the newly added identifier of the intermediate point indicates that the seventh viewpoint network is not the sixth viewpoint network after the intermediate point is added, then the seventh viewpoint network is determined to be the third viewpoint network.

[0149] In the embodiments of this application, the contents of steps C3 to C4 are similar to those of steps B3 to B4 mentioned above, and can be easily deduced by analogy. Therefore, this application will not repeat them here.

[0150] Step 140: Based on the edge set array, perform redundant viewpoint filtering on the third viewpoint network to obtain an optimized viewpoint network corresponding to the scene target.

[0151] In this embodiment of the application, redundant viewpoints in the third viewpoint network can be filtered based on the edge position information of scene targets in the edge set array, thereby obtaining an optimized viewpoint network. This optimized viewpoint network not only fully considers the global connectivity and overlapping areas of each viewpoint in the viewpoint network, but also uses the smallest viewpoint to cover the entire space of the scene targets.

[0152] In some embodiments, step 140, which involves performing redundant viewpoint filtering on the third viewpoint network based on the edge set array to obtain an optimized viewpoint network corresponding to the scene target, includes:

[0153] D1. Uniformly sample the edge set array to obtain a segmented edge set, wherein the segmented edge set includes several scene segmentation edges of the scene target;

[0154] D2. Based on the segmented edge set, the overlapping information of the third viewpoint network is extracted to obtain a scanning information table. The scanning information table includes several scanning information arrays. Each scanning information array corresponds to a third viewpoint in the third viewpoint network. Each scanning information array includes several scanning array elements. Each scanning array element is used to characterize whether the viewpoint scanning edge of the third viewpoint overlaps with the corresponding scene segmentation edge.

[0155] In this embodiment of the application, step D1 may be to uniformly sample the edge set array and segment the edge set array by using a specific length as the segmentation standard to obtain a segmented edge set. The segmented edge set includes several scene segmentation edges, and the segmentation length of each scene segmentation edge is the same.

[0156] Understandably, for a certain third viewpoint in the third viewpoint network, step D2 can extract overlapping information from each scene segmentation edge in the segmented edge set based on the viewpoint scanning edge corresponding to that third viewpoint. Specifically, it can determine whether the viewpoint scanning edge overlaps with each scene segmentation edge, thereby obtaining several first scene segmentation edges and several second scene segmentation edges. The first scene segmentation edges are those that overlap with the viewpoint scanning edges, and the second scene segmentation edges are those that do not overlap with the viewpoint scanning edges. Then, according to generating a corresponding first scan array element for each first scene segmentation edge and a corresponding second scan array element for each second scene segmentation edge, the scan information array corresponding to that third viewpoint can be obtained by integrating all the first scan array elements and all the second scan array elements. The same applies to the other third viewpoints. After obtaining the scan information arrays of all third viewpoints, the scan information table can be obtained by integrating all the scan information arrays.

[0157] It should be noted that the embodiments of this application do not impose specific restrictions on the specific representation of the scan array elements. For example, the first scan array element can be element "1", and the second scan array element can be element "0"; or, the first scan array element can be element "true", and the second scan array element can be element "false". The examples in this application are for illustrative purposes only.

[0158] D3. Perform heuristic optimization on the scan information table to obtain the optimized viewpoint network.

[0159] Further, step D3, performing heuristic optimization on the scan information table to obtain the optimized viewpoint network, includes:

[0160] D31. Obtain the preset second overlap threshold and edge count threshold;

[0161] D32. Using the current scan information table as the first information table, obtain the preferred viewpoint set corresponding to the first information table;

[0162] D33. Filter the first information table to obtain a preferred viewpoint array and preferred viewpoints corresponding to the preferred viewpoint array. The preferred viewpoint array is the scan information array with the most overlapping relationships in the first information table.

[0163] D34. Based on the preferred viewpoint array, update the row and column information of the first information table to obtain a second information table and several information viewpoints corresponding to the second information table;

[0164] D35. Based on the second overlap threshold and the preferred viewpoint, perform overlap screening on all the information viewpoints to obtain several candidate viewpoints. Each candidate viewpoint is an information viewpoint whose second viewpoint overlap is greater than or equal to the second overlap threshold. The second viewpoint overlap is the viewpoint overlap between the information viewpoint and the preferred viewpoint.

[0165] D36. Based on the edge count threshold, the scan information arrays of all the candidate viewpoints are compared to obtain an edge count comparison result. The edge count comparison result is used to characterize whether there is at least one candidate viewpoint whose total supplementary edge count is greater than the edge count threshold. The total supplementary edge count is the total number of scene segmentation edges that overlap with the viewpoint scan edge of the candidate viewpoint.

[0166] D37. If the edge count comparison result is that there is no candidate viewpoint whose total supplementary edge count is greater than the edge count threshold, then the preferred viewpoint set is updated according to the preferred viewpoint to obtain the updated preferred viewpoint set, and the optimized viewpoint network is obtained according to the updated preferred viewpoint set.

[0167] Alternatively, D38, if the edge count comparison result is that there is no candidate viewpoint whose total supplementary edge count is greater than the edge count threshold, then the preferred viewpoint set is updated according to the preferred viewpoint and the candidate viewpoint with the largest total supplementary edge count, and the current scan information table is updated according to the candidate viewpoint with the largest total supplementary edge count and the second information table, and then the process returns to the step of using the current scan information table as the first information table and obtaining the preferred viewpoint set corresponding to the first information table.

[0168] In this embodiment of the application, for a certain optimization process in heuristic optimization, the current scan information table can first be used as the first information table, and the preferred viewpoint set corresponding to the first information table can be obtained. Specifically, if the optimization process is the first optimization process, the current scan information table can be the scan information table obtained in step D2, and the preferred viewpoint set is a blank viewpoint set; or, if the optimization process is the second or more optimization processes, the current scan information table can be the updated scan information table obtained in step D38 of the previous optimization process, and the preferred viewpoint set can be the updated preferred viewpoint set obtained in step D38 of the previous optimization process.

[0169] It is understandable that the preferred viewpoint information filtering in step D33 can be a statistical filtering of the scan array elements in each scan information array. Specifically, it can be a statistical count of the total number of scan array elements representing overlapping relationships (i.e., the aforementioned first scan array elements) in each scan information array, and then the scan information array with the largest total number of overlapping scan array elements is determined as the preferred viewpoint array, and the preferred viewpoint is the third viewpoint corresponding to the preferred viewpoint array.

[0170] It should be noted that the row and column information update in step D34 can first be achieved by deleting the preferred viewpoint array from the first information table, that is, deleting the row containing the preferred viewpoint array from the first information table; at the same time, the columns containing all scan array elements representing the overlap relationship in the preferred viewpoint array are obtained, and then the columns containing the corresponding scan array elements in the first information table are deleted, thereby determining the remaining scan information array as the second information table, and the third viewpoint corresponding to each scan information array is determined as the information viewpoint.

[0171] It is worth mentioning that the overlap screening in step D35 can first be based on the preferred viewpoint, calculating the second viewpoint overlap between it and each information viewpoint to obtain the second viewpoint overlap corresponding to each information viewpoint; then, comparing the second overlap threshold with the magnitude of each second viewpoint overlap, and determining the information viewpoints whose second viewpoint overlap is greater than or equal to the second overlap threshold as candidate viewpoints. Step D36 can be based on the edge count threshold, comparing the edge count with the scan information array corresponding to each candidate viewpoint to obtain the edge count comparison result.

[0172] For a given candidate viewpoint's scan information array, the total number of supplementary edges in the scan information array can be the total number of scan array elements representing overlapping relationships. Specifically, if the edge count comparison result indicates that the total number of supplementary edges for no candidate viewpoint is greater than the edge count threshold, then the preferred viewpoint can be added to the preferred viewpoint set to obtain an updated preferred viewpoint set, which is then used as an optimized viewpoint network that minimizes the number of viewpoints, has sufficient viewpoint overlap, and strong network observation integrity. Alternatively, if the edge count comparison result indicates that the total number of supplementary edges for at least one candidate viewpoint is greater than the edge count threshold, then the preferred viewpoint and several candidate viewpoints with the largest total number of supplementary edges among all candidate viewpoints can be added to the preferred viewpoint set, and the current scan information table can be updated based on the second information table and the candidate viewpoints with the total step size edge count.

[0173] It should be added that the preset edge count threshold can be set according to the actual situation, such as 0, 1, etc.; also, for updating the scan information table, it can first be based on the column of the scan array element representing the overlap relationship corresponding to the candidate viewpoint with the largest total supplementary edge count, delete the column of the corresponding scan array element in the second information table, so as to obtain the updated second information table, and then replace and update the current scan information table based on the updated second information table.

[0174] It is worth noting that, since different candidate viewpoints may have the same total number of supplementary edges, there can be multiple candidate viewpoints with the largest total number of supplementary edges. In the first feasible implementation, for several candidate viewpoints with the largest total number of supplementary edges, these candidate viewpoints with the largest total number of supplementary edges can be added to the preferred viewpoint set.

[0175] Alternatively, in a second feasible implementation, the preferred viewpoints can first be added to the preferred viewpoint set to obtain an intermediate preferred viewpoint set. Then, the viewpoint set overlap between each candidate viewpoint with the largest total number of supplementary edges and the intermediate preferred viewpoint set can be obtained. The candidate viewpoint corresponding to the largest viewpoint set overlap is then added to the intermediate preferred viewpoint set, thereby updating the preferred viewpoint set. For a candidate viewpoint with the largest total number of supplementary edges, the viewpoint set overlap can first be obtained by acquiring the intermediate viewpoint overlap between the candidate viewpoint and each preferred viewpoint in the intermediate preferred viewpoint set. Then, the largest intermediate viewpoint overlap among all intermediate viewpoint overlaps is determined as the viewpoint set overlap corresponding to the intermediate preferred viewpoint set. This example is for illustrative purposes only.

[0176] The following describes in detail, with reference to the accompanying drawings, an optimization system for viewpoint networks according to embodiments of this application.

[0177] Reference Figure 4 An optimization system for viewpoint networks proposed in this application includes:

[0178] The first processing unit 101 is used to obtain the edge set array of the quantized scanning region and the scene target, and to construct a viewpoint network for the quantized scanning region to obtain a first viewpoint network.

[0179] The second processing unit 102 is used to add connected viewpoints to the first viewpoint network to obtain a second viewpoint network. The second viewpoint network includes a plurality of second viewpoints and a plurality of original first viewpoints in the first viewpoint network. The newly added target viewpoint in the second viewpoint network has a direct connection relationship with at least two non-target viewpoints in the second viewpoint network. The target viewpoint is any one of the second viewpoints, and the non-target viewpoints are the first viewpoints or second viewpoints other than the target viewpoints.

[0180] The third processing unit 103 is used to fill in overlapping connection points of the second viewpoint network according to a preset first overlap threshold to obtain a third viewpoint network.

[0181] The fourth processing unit 104 is used to perform redundant viewpoint filtering on the third viewpoint network based on the edge set array to obtain an optimized viewpoint network corresponding to the scene target.

[0182] It is understood that the content of the above method embodiments is applicable to this system embodiment. The specific functions implemented in this system embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are also the same as those achieved in the above method embodiments.

[0183] Reference Figure 5 This application also provides an electronic device, including:

[0184] At least one processor 201;

[0185] At least one memory 202 is used to store at least one program;

[0186] When the at least one program is executed by the at least one processor 201, the at least one processor 201 implements the method embodiment described above.

[0187] Similarly, it can be understood that the content of the above method embodiments is applicable to this device embodiment. The specific functions implemented by this device embodiment are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0188] This application also provides a computer-readable storage medium storing a program executable by a processor 201, which, when executed by the processor 201, is used to implement the above-described method embodiments.

[0189] Similarly, the content of the above method embodiments is applicable to the present computer-readable storage medium embodiments. The specific functions implemented by the present computer-readable storage medium embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0190] In some alternative embodiments, the functions / operations mentioned in the block diagrams may not occur in the order shown in the operation diagrams. For example, depending on the functions / operations involved, two consecutively shown blocks may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order. Furthermore, the embodiments presented and described in the flowcharts of this application are provided by way of example to provide a more comprehensive understanding of the technology. The disclosed methods are not limited to the operations and logic flows presented herein. Alternative embodiments are contemplated in which the order of various operations is changed and sub-operations described as part of a larger operation are executed independently.

[0191] Furthermore, although this application is described in the context of functional modules, it should be understood that, unless otherwise stated to the contrary, one or more of the functions and / or features may be integrated into a single physical device and / or software module, or one or more functions and / or features may be implemented in a separate physical device or software module. It is also understood that a detailed discussion of the actual implementation of each module is unnecessary for understanding this application. Rather, given the properties, functions, and internal relationships of the various functional modules in the apparatus disclosed herein, the actual implementation of the module will be understood within the scope of conventional technology for an engineer. Therefore, those skilled in the art can implement the application set forth in the claims using ordinary techniques without excessive experimentation. It is also understood that the specific concepts disclosed are merely illustrative and not intended to limit the scope of this application, which is determined by the full scope of the appended claims and their equivalents.

[0192] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part 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 several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods in the embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0193] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device.

[0194] More specific examples of computer-readable media (a non-exhaustive list) include: electrical connections (electronic devices) having one or more wires, portable computer disk drives (magnetic devices), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which programs can be printed, because programs can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.

[0195] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0196] In the foregoing description of this specification, the references to terms such as "one embodiment," "another embodiment," or "some embodiments," etc., indicate that a specific feature, structure, material, or characteristic described in connection with an embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.

[0197] Although embodiments of this application have been shown and described, those skilled in the art will understand that various changes, modifications, substitutions and variations can be made to these embodiments without departing from the principles and spirit of this application, the scope of which is defined by the claims and their equivalents.

[0198] The above is a detailed description of the preferred embodiments of this application, but this application is not limited to the embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this application, and these equivalent modifications or substitutions are all included within the scope defined by the claims of this application.

Claims

1. A method for optimizing viewpoint networks, characterized in that, include: Obtain the edge set array of the quantized scanning region and the scene target, and construct a viewpoint network for the quantized scanning region to obtain the first viewpoint network; The first viewpoint network is supplemented with connected viewpoints to obtain a second viewpoint network. The second viewpoint network includes several second viewpoints and several original first viewpoints of the first viewpoint network. The newly added target viewpoints in the second viewpoint network have direct connectivity with at least two non-target viewpoints in the second viewpoint network. The target viewpoint is any one of the second viewpoints, and the non-target viewpoints are the first viewpoints or second viewpoints other than the target viewpoints. Based on a preset first overlap threshold, overlapping connection points are added to the second viewpoint network to obtain a third viewpoint network; Based on the edge set array, redundant viewpoint filtering is performed on the third viewpoint network to obtain an optimized viewpoint network corresponding to the scene target; The step of performing redundant viewpoint filtering on the third viewpoint network based on the edge set array to obtain an optimized viewpoint network corresponding to the scene target includes: The edge set array is uniformly sampled to obtain a segmented edge set, which includes several scene segmentation edges of the scene target; Based on the segmented edge set, overlap information is extracted from the third viewpoint network to obtain a scan information table. The scan information table includes several scan information arrays, each scan information array corresponds to a third viewpoint in the third viewpoint network, and each scan information array includes several scan array elements. Each scan array element is used to characterize whether the viewpoint scan edge of the third viewpoint overlaps with the corresponding scene segmentation edge. The optimized viewpoint network is obtained by performing heuristic optimization on the scan information table. The step of performing heuristic optimization on the scan information table to obtain the optimized viewpoint network includes: Obtain the preset second overlap threshold and edge count threshold; Using the current scan information table as the first information table, obtain the preferred viewpoint set corresponding to the first information table; The first information table is filtered for preferred viewpoint information to obtain a preferred viewpoint array and preferred viewpoints corresponding to the preferred viewpoint array. The preferred viewpoint array is the scan information array with the most overlapping relationships in the first information table. Based on the preferred viewpoint array, the row and column information of the first information table is updated to obtain a second information table and several information viewpoints corresponding to the second information table; Based on the second overlap threshold and the preferred viewpoint, all the information viewpoints are screened for overlap to obtain several candidate viewpoints. Each candidate viewpoint is an information viewpoint whose second viewpoint overlap is greater than or equal to the second overlap threshold. The second viewpoint overlap is the viewpoint overlap between the information viewpoint and the preferred viewpoint. Based on the edge count threshold, the edge count of the scan information array of all the candidate viewpoints is compared to obtain the edge count comparison result. The edge count comparison result is used to characterize whether there is at least one candidate viewpoint whose total supplementary edge count is greater than the edge count threshold. The total supplementary edge count is the total number of scene segmentation edges that overlap with the viewpoint scan edge of the candidate viewpoint. If the edge count comparison result indicates that the total number of supplementary edges for at least one of the candidate viewpoints is greater than the edge count threshold, then the preferred viewpoint set is updated according to the preferred viewpoint to obtain an updated preferred viewpoint set, and the optimized viewpoint network is obtained based on the updated preferred viewpoint set; or, if the edge count comparison result indicates that the total number of supplementary edges for at least one of the candidate viewpoints is greater than the edge count threshold, then the preferred viewpoint set is updated according to the preferred viewpoint and the candidate viewpoint with the largest total number of supplementary edges, and the current scan information table is updated according to the candidate viewpoint with the largest total number of supplementary edges and the second information table, and then the process returns to the step of using the current scan information table as the first information table and obtaining the preferred viewpoint set corresponding to the first information table.

2. The method according to claim 1, characterized in that, The step of constructing a viewpoint network for the quantized scanning region to obtain a first viewpoint network includes: Obtain the preset threshold for adjacent pixels at the viewpoint; The quantized scanning area is imaged to obtain a first region image; The first region image is subjected to boundary transformation to obtain the second region image; The second region image is inverted to obtain the third region image; The third region image is subjected to ridge line extraction and skeleton thinning to obtain a thinned skeleton line image; Based on the threshold of adjacent pixels of the viewpoint, viewpoints are extracted from the skeleton line intersections in the thinned skeleton line image to obtain the first viewpoint network.

3. The method according to claim 1, characterized in that, The step of adding connected viewpoints to the first viewpoint network to obtain the second viewpoint network includes: Using the current first viewpoint network as the fourth viewpoint network, the first connected path of each fourth viewpoint pair in the fourth viewpoint network is obtained; Based on all the first connected paths, the farthest point is added to the fourth viewpoint network to obtain the fifth viewpoint network and the farthest point addition identifier of the fifth viewpoint network. The farthest point addition identifier is used to indicate whether the fifth viewpoint network is the fourth viewpoint network after the farthest point is added. If the newly added identifier of the farthest point indicates that the fifth viewpoint network is the fourth viewpoint network after adding the farthest point, then the current first viewpoint network is updated according to the fifth viewpoint network, and then the process returns to execute the step of using the current first viewpoint network as the fourth viewpoint network and obtaining the first connected path of each fourth viewpoint pair in the fourth viewpoint network; or, if the newly added identifier of the farthest point indicates that the fifth viewpoint network is not the fourth viewpoint network after adding the farthest point, then the fifth viewpoint network is determined as the second viewpoint network.

4. The method according to claim 3, characterized in that, The step of performing farthest point addition on the fourth viewpoint network based on all the first connected paths to obtain the fifth viewpoint network and the farthest point addition identifier of the fifth viewpoint network includes: Based on all the first connected paths, the fourth viewpoint network is filtered to obtain several fifth viewpoint pairs and a second connected path corresponding to each fifth viewpoint pair. The fifth viewpoint pairs are fourth viewpoint pairs with direct connectivity. Based on all the second connected paths, perform a farthest point search on the corresponding fifth viewpoint pairs to obtain several target farthest points; Based on the farthest points of all the targets, the fourth viewpoint network is updated by adding first viewpoints to obtain the fifth viewpoint network and the newly added identifiers of the farthest points.

5. The method according to claim 4, characterized in that, Based on the second connectivity path, a farthest point search is performed on the corresponding fifth viewpoint pair to obtain the target's farthest point, including: Obtain the current fifth viewpoint pair and the distance threshold of the current fifth viewpoint pair; The farthest point is found in the second connected path of the current fifth viewpoint pair. The farthest point in the middle is the path pixel with the largest viewpoint distance among all path pixels in the second connected path. The viewpoint distance is the minimum interval distance between the path pixel and the straight line where the current fifth viewpoint pair is located. The distance threshold and the viewpoint distance of the farthest intermediate point are compared to obtain the distance comparison result; If the distance comparison result is that the viewpoint distance of the farthest intermediate point is greater than or equal to the distance threshold, then the farthest intermediate point is determined as the farthest target point.

6. The method according to claim 1, characterized in that, The step of adding overlapping connection points to the second viewpoint network according to a preset first overlap threshold to obtain a third viewpoint network includes: Using the current second viewpoint network as the sixth viewpoint network, the first viewpoint overlap of each sixth viewpoint pair in the sixth viewpoint network is obtained; Based on the first overlap threshold and all first viewpoint overlaps, intermediate points are added to the sixth viewpoint network to obtain the seventh viewpoint network and the intermediate point addition identifier of the seventh viewpoint network. The intermediate point addition identifier is used to indicate whether the seventh viewpoint network is the sixth viewpoint network after adding intermediate points. If the newly added intermediate point identifier indicates that the seventh viewpoint network is the sixth viewpoint network after adding the intermediate point, then the current second viewpoint network is updated according to the seventh viewpoint network, and then the process is repeated to return to the execution step of using the current second viewpoint network as the sixth viewpoint network and obtaining the first viewpoint overlap of each sixth viewpoint pair in the sixth viewpoint network; or, if the newly added intermediate point identifier indicates that the seventh viewpoint network is not the sixth viewpoint network after adding the intermediate point, then the seventh viewpoint network is determined as the third viewpoint network.

7. The method according to claim 6, characterized in that, The step of adding intermediate points to the sixth viewpoint network based on the first overlap threshold and the overlap of all first viewpoints to obtain the seventh viewpoint network and the intermediate point addition identifier of the seventh viewpoint network includes: Based on the first overlap threshold, the overlap of all first viewpoints is compared to obtain the overlap comparison result corresponding to the overlap of each first viewpoint. Based on all the overlap comparison results, the sixth viewpoint network is filtered to obtain several seventh viewpoint pairs. The seventh viewpoint pairs are the sixth viewpoint pairs whose corresponding first viewpoint overlap is less than the first overlap threshold. For all the seventh viewpoint pairs, select the intermediate point to obtain the target intermediate point for each seventh viewpoint pair; Based on all the target intermediate points, the sixth viewpoint network is updated with a second viewpoint to obtain the seventh viewpoint network and the newly added intermediate point identifiers.

8. An optimization system for viewpoint networks, characterized in that, include: The first processing unit is used to obtain the edge set array of the quantized scanning region and the scene target, and to construct a viewpoint network for the quantized scanning region to obtain the first viewpoint network. The second processing unit is used to add connected viewpoints to the first viewpoint network to obtain a second viewpoint network. The second viewpoint network includes a plurality of second viewpoints and a plurality of original first viewpoints in the first viewpoint network. The newly added target viewpoint in the second viewpoint network has a direct connection relationship with at least two non-target viewpoints in the second viewpoint network. The target viewpoint is any one of the second viewpoints, and the non-target viewpoints are the first viewpoints or second viewpoints other than the target viewpoints. The third processing unit is used to fill in overlapping connection points in the second viewpoint network according to a preset first overlap threshold to obtain a third viewpoint network. The fourth processing unit is used to perform redundant viewpoint filtering on the third viewpoint network based on the edge set array to obtain an optimized viewpoint network corresponding to the scene target. The step of performing redundant viewpoint filtering on the third viewpoint network based on the edge set array to obtain an optimized viewpoint network corresponding to the scene target includes: The edge set array is uniformly sampled to obtain a segmented edge set, which includes several scene segmentation edges of the scene target; Based on the segmented edge set, overlap information is extracted from the third viewpoint network to obtain a scan information table. The scan information table includes several scan information arrays, each scan information array corresponds to a third viewpoint in the third viewpoint network, and each scan information array includes several scan array elements. Each scan array element is used to characterize whether the viewpoint scan edge of the third viewpoint overlaps with the corresponding scene segmentation edge. The optimized viewpoint network is obtained by performing heuristic optimization on the scan information table. The step of performing heuristic optimization on the scan information table to obtain the optimized viewpoint network includes: Obtain the preset second overlap threshold and edge count threshold; Using the current scan information table as the first information table, obtain the preferred viewpoint set corresponding to the first information table; The first information table is filtered for preferred viewpoint information to obtain a preferred viewpoint array and preferred viewpoints corresponding to the preferred viewpoint array. The preferred viewpoint array is the scan information array with the most overlapping relationships in the first information table. Based on the preferred viewpoint array, the row and column information of the first information table is updated to obtain a second information table and several information viewpoints corresponding to the second information table; Based on the second overlap threshold and the preferred viewpoint, all the information viewpoints are screened for overlap to obtain several candidate viewpoints. Each candidate viewpoint is an information viewpoint whose second viewpoint overlap is greater than or equal to the second overlap threshold. The second viewpoint overlap is the viewpoint overlap between the information viewpoint and the preferred viewpoint. Based on the edge count threshold, the edge count of the scan information array of all the candidate viewpoints is compared to obtain the edge count comparison result. The edge count comparison result is used to characterize whether there is at least one candidate viewpoint whose total supplementary edge count is greater than the edge count threshold. The total supplementary edge count is the total number of scene segmentation edges that overlap with the viewpoint scan edge of the candidate viewpoint. If the edge count comparison result indicates that the total number of supplementary edges for at least one of the candidate viewpoints is greater than the edge count threshold, then the preferred viewpoint set is updated according to the preferred viewpoint to obtain an updated preferred viewpoint set, and the optimized viewpoint network is obtained based on the updated preferred viewpoint set; or, if the edge count comparison result indicates that the total number of supplementary edges for at least one of the candidate viewpoints is greater than the edge count threshold, then the preferred viewpoint set is updated according to the preferred viewpoint and the candidate viewpoint with the largest total number of supplementary edges, and the current scan information table is updated according to the candidate viewpoint with the largest total number of supplementary edges and the second information table, and then the process returns to the step of using the current scan information table as the first information table and obtaining the preferred viewpoint set corresponding to the first information table.

Citation Information

Patent Citations

  • Unknown object surface measurement viewpoint planning method based on boundary inspection

    CN114626112A

  • Three-dimensional reconstruction and target surface plane point cloud generation method

    CN117593454A