Position adjustment method and device, equipment and storage medium

By calculating the global error of the scan frame and adjusting the camera position, the problem of inaccurate camera position adjustment in the scanner was solved, and more accurate 3D model construction was achieved.

CN115187664BActive Publication Date: 2026-05-19SHINING 3D TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHINING 3D TECH CO LTD
Filing Date
2022-06-30
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

During the scanning process, existing technologies struggle to effectively adjust the position of the scanner camera to construct an accurate 3D model.

Method used

By acquiring the scan frames of the camera at the current position in the target scanner, calculating the global error, and adjusting the camera position based on the feature point pairs of adjacent scan frames and the centroid point pairs of each scan frame, the preset optimization conditions are met.

Benefits of technology

This improves the precision of camera position adjustment, ensuring the accuracy and integrity of the 3D model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115187664B_ABST
    Figure CN115187664B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a position adjustment method, device, equipment and storage medium. All scanning frames collected by a camera in a target scanner at a current position are acquired; global errors of all scanning frames at the current position are calculated based on feature point pairs in adjacent scanning frames and gravity center point pairs in each scanning frame, wherein the gravity center point pairs include a real gravity center of each scanning frame and a theoretical gravity center acquired by an inertia collection unit in the target scanner; if the global errors do not satisfy a preset optimization condition, the current position of the camera is adjusted until the global errors corresponding to the adjusted current position satisfy the preset optimization condition, and the adjusted current position of the camera is obtained. Thus, in the process of adjusting the position of the camera, the feature information of adjacent scanning frames and the gravity center of each scanning frame are considered to calculate the global errors, and the position of the camera is adjusted based on the global errors, which can ensure the position adjustment accuracy of the camera.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of three-dimensional scanning technology, and in particular to a position adjustment method, apparatus, device and storage medium. Background Technology

[0002] During the scanning process, it is necessary to constantly adjust the position of the camera within the scanner to facilitate subsequent stitching of scanned frames based on the adjusted camera position, thereby constructing a more accurate 3D model. Therefore, adjusting the camera position within the scanner is a crucial step in the scanning process. Consequently, proposing a method for adjusting the camera position within a scanner is a pressing technical problem that needs to be solved. Summary of the Invention

[0003] To address the aforementioned technical problems, this disclosure provides a position adjustment method, apparatus, device, and storage medium.

[0004] In a first aspect, this disclosure provides a position adjustment method, the method comprising:

[0005] Acquire all scan frames captured by the camera at the current location in the target scanner;

[0006] Based on the feature point pairs in adjacent scan frames and the centroid point pairs in each scan frame, the global error of all scan frames at the current position is calculated. The centroid point pairs include the true centroid of each scan frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner.

[0007] If the global error does not meet the preset optimization conditions, the current position of the camera is adjusted until the global error corresponding to the adjusted current position meets the preset optimization conditions, thus obtaining the adjusted current position of the camera.

[0008] Secondly, this disclosure provides a position adjustment device, the device comprising:

[0009] The scan frame acquisition module is used to acquire all scan frames captured by the camera in the target scanner at the current position;

[0010] The global error calculation module is used to calculate the global error of all scan frames at the current position based on the feature point pairs in adjacent scan frames and the centroid point pairs in each scan frame. The centroid point pairs include the true centroid of each scan frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner.

[0011] The position adjustment module is used to adjust the current position of the camera if the global error does not meet the preset optimization conditions, until the global error corresponding to the adjusted current position meets the preset optimization conditions, thus obtaining the adjusted current position of the camera.

[0012] Thirdly, embodiments of this disclosure also provide an electronic device, the device comprising:

[0013] One or more processors;

[0014] Storage device for storing one or more programs.

[0015] When one or more programs are executed by one or more processors, the one or more processors implement the methods provided in the first aspect.

[0016] Fourthly, embodiments of this disclosure also provide a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the method provided in the first aspect.

[0017] The technical solution provided in this disclosure has the following advantages compared with the prior art:

[0018] This disclosure discloses a positioning method, apparatus, device, and storage medium that acquires all scan frames captured by a camera in a target scanner at the current position. Based on feature point pairs in adjacent scan frames and centroid point pairs in each scan frame, a global error is calculated for all scan frames at the current position. The centroid point pairs include the actual centroid of each scan frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner. If the global error does not meet preset optimization conditions, the current position of the camera is adjusted until the global error corresponding to the adjusted current position meets the preset optimization conditions, thus obtaining the adjusted current position of the camera. Through this method, the feature information of adjacent scan frames and the centroid of each scan frame are considered when calculating the global error during camera position adjustment. The camera position is then adjusted based on this global error. This adjustment method conforms to real scanning conditions, thus ensuring the accuracy of the camera position adjustment. Attached Figure Description

[0019] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0020] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 A schematic flowchart illustrating a position adjustment method provided in an embodiment of this disclosure;

[0022] Figure 2A flowchart illustrating another position adjustment method provided in this embodiment of the disclosure;

[0023] Figure 3 This is a schematic diagram of the structure of a position adjustment device provided in an embodiment of the present disclosure;

[0024] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0025] To better understand the above-mentioned objectives, features, and advantages of this disclosure, the solutions disclosed herein will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.

[0026] Numerous specific details are set forth in the following description in order to provide a full understanding of this disclosure, but this disclosure may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some, and not all, of the embodiments of this disclosure.

[0027] This disclosure provides a position adjustment method, apparatus, device, and storage medium.

[0028] The following is combined Figures 1 to 2 The location adjustment method provided in this disclosure is described below. In this disclosure, the location adjustment method can be executed by an electronic device or a server. The electronic device may include devices with communication capabilities such as tablet computers, desktop computers, and laptop computers, or devices simulated by virtual machines or emulators. The server may be a server cluster or a cloud server. This embodiment uses an electronic device as the execution subject for specific explanation.

[0029] Figure 1 A schematic flowchart of a position adjustment method provided in an embodiment of this disclosure is shown.

[0030] like Figure 1 As shown, the position adjustment method may include the following steps.

[0031] S110. Obtain all scan frames acquired by the camera in the current pose of the target scanner.

[0032] In practical applications, during the operation of the target scanner, the target scanner can scan the object being scanned and use a camera to take pictures of the object being scanned, obtaining all the scan frames captured by the camera at the current position. All the scan frames at the current position are sent to the electronic device, so that the electronic device can obtain all the scan frames at the current position. Each scan frame includes the feature information of the object being scanned.

[0033] In this embodiment of the disclosure, the target scanner may be a handheld scanner for mobile scanning of the object being scanned.

[0034] In this embodiment of the disclosure, the feature information of the scanned object may include marker features, texture features, geometric features, etc.

[0035] The camera can be either a monochrome camera or a texture camera. A monochrome camera can be used to acquire the geometric features and landmark features of the scanned object, while a texture camera can be used to acquire texture features, thereby obtaining all scan frames at the current location.

[0036] In this embodiment of the disclosure, the current position refers to the position where the camera acquires scan frames. Specifically, the current position can be used as the initial position for position adjustment. If the current position is not suitable, it needs to be adjusted to bring the camera to a standard position, so as to facilitate the construction of a more accurate 3D model using the standard position.

[0037] S120. Based on the feature point pairs in adjacent scan frames and the centroid point pairs in each scan frame, calculate the global error of all scan frames at the current position, where the centroid point pairs include the true centroid of each scan frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner.

[0038] In practical applications, the electronic device searches for feature point pairs in adjacent scan frames and centroid point pairs in each scan frame. Then, it calculates the global error of all scan frames based on each feature point pair and each centroid point pair. Based on the global error, it determines whether the current position of the camera is accurate. If it is not accurate, the current position of the camera needs to be adjusted.

[0039] In this embodiment of the disclosure, the feature point pair consists of actual feature points on the scanned object. Optionally, the feature point pair may include one or more of marker point feature point pairs, texture feature point pairs, and geometric feature point pairs. Accordingly, the feature points in the scan frame may include any one of marker points, texture feature points, and geometric feature points.

[0040] In this embodiment of the disclosure, the true centroid of each scan frame can be determined by the distribution of feature points in that scan frame.

[0041] In this embodiment of the disclosure, the inertial measurement unit (IMU) can track the pose of the camera in real time. The pose can be the center of gravity of each scan frame acquired by the camera, i.e., the theoretical center of gravity.

[0042] In some embodiments, the local errors of feature point pairs in adjacent scan frames and centroid point pairs in each scan frame are calculated respectively, and then the obtained local errors are weighted and summed to obtain the global error of all scan frames.

[0043] In other embodiments, the local error of feature point pairs in adjacent scan frames is calculated, and then the local error is corrected based on the centroid point pairs in each scan frame to obtain the global error of all scan frames.

[0044] In some other embodiments, the local error of the centroid pairs in each scan frame is calculated, and then the local error is corrected based on the feature pairs in adjacent scan frames to obtain the global error of all scan frames.

[0045] Therefore, in this embodiment of the disclosure, the feature information of adjacent scan frames and the centroid of each scan frame are considered to calculate the global error, thus ensuring the accuracy of the global error calculation.

[0046] S130. If the global error does not meet the preset optimization conditions, adjust the current position of the camera until the global error corresponding to the adjusted current position meets the preset optimization conditions, and obtain the adjusted current position of the camera.

[0047] In practical applications, after obtaining the global error corresponding to the current position, the electronic device determines whether the global error meets the preset optimization conditions. If not, it continuously adjusts the current position of the target scanner and the camera until the global error corresponding to the adjusted current position meets the preset optimization conditions, and then obtains the adjusted current position of the camera.

[0048] In this embodiment of the disclosure, the preset optimization condition is a preset condition used to determine whether to adjust the camera position.

[0049] Specifically, the preset optimization conditions include: the global error is less than or equal to the preset error threshold, and / or the change in the global error within a preset number of adjustments is less than the preset value.

[0050] The preset error threshold is a pre-set error value used to determine whether to adjust the camera position. The preset adjustment number refers to the number of consecutive adjustments, and the preset value refers to the position change value used to determine whether to adjust the camera position.

[0051] An embodiment of this disclosure discloses a position adjustment method that acquires all scan frames captured by a camera in a target scanner at the current position; calculates the global error of all scan frames at the current position based on feature point pairs in adjacent scan frames and centroid point pairs in each scan frame, wherein the centroid point pairs include the true centroid of each scan frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner; if the global error does not meet the preset optimization conditions, the current position of the camera is adjusted until the global error corresponding to the adjusted current position meets the preset optimization conditions, thus obtaining the adjusted current position of the camera. Through this method, the feature information of adjacent scan frames and the centroid of each scan frame are considered in the process of adjusting the camera position to calculate the global error, and the current position of the camera is adjusted based on the global error. This adjustment method conforms to the actual scanning situation, thus ensuring the accuracy of the camera position adjustment.

[0052] Furthermore, after obtaining the current position of the camera after adjustment, the method may also include the following steps:

[0053] Based on the current position of the camera after adjustment, the scan frames are stitched together to generate a 3D model of the target.

[0054] It should be noted that the current position after camera adjustment can also refer to the current position of all scan frames after adjustment.

[0055] In a real-world scenario, if the camera's position when acquiring each scan frame is A, and position A is the first coordinate data of each scan frame in the camera coordinate system, after the electronic device obtains position A, it uses the transformation relationship between the camera coordinate system and the world coordinate system to transform position A from the camera coordinate system to the world coordinate system, thus obtaining the position A' of the camera acquiring each scan frame in the world coordinate system, where A' = A*RT. Furthermore, based on the position A' of each scan frame, the scan frames can be stitched together to obtain an initial model.

[0056] After optimization based on steps S120 and S130, the position A” of the camera when acquiring each scan frame in the optimized world coordinate system is obtained, where A” = A*RT’ or A” = A’*RT. Finally, all scan frames can be stitched together based on the position A” of the camera when acquiring each scan frame in the optimized world coordinate system to obtain the target 3D model.

[0057] The target 3D model is a virtual model of the scanned object displayed on an electronic device. Therefore, by stitching together the scan frames using the adjusted camera position, a high-precision 3D model is obtained.

[0058] In another embodiment of this disclosure, the corresponding local errors can be calculated based on the feature point pairs and the center point pairs respectively, and then the two local errors can be fused to obtain the global error of all scan frames.

[0059] Figure 2 A flowchart illustrating another position adjustment method provided in an embodiment of this disclosure is shown.

[0060] like Figure 2 As shown, the position adjustment method may include the following steps.

[0061] S210. Obtain all scan frames captured by the camera at the current location in the target scanner.

[0062] S210 is similar to S110, and will not be described in detail here.

[0063] S220. Calculate the first local error of feature point pairs in adjacent scan frames, and calculate the second local error of centroid point pairs in each scan frame, wherein the centroid point pairs include the true centroid of each scan frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner.

[0064] In some embodiments, the feature point pairs include marker point feature point pairs, texture feature point pairs, and geometric feature point pairs; correspondingly, the method for calculating the first local error specifically includes the following steps:

[0065] S2201. Calculate the first distance between pairs of feature points in adjacent scan frames;

[0066] S2202. Calculate the second distance between texture feature point pairs in adjacent scan frames;

[0067] S2203. Calculate the third distance between pairs of geometric feature points in adjacent scan frames;

[0068] S2204. The first distance, the second distance, and the third distance are weighted and summed to obtain the first local error.

[0069] Among them, the marker feature point pair is composed of marker points that have been pre-pasted on the scanned object.

[0070] The texture feature point pairs are composed of texture feature points on the scanned object. Optionally, the texture features can be color features.

[0071] The geometric feature point pairs are composed of geometric feature points on the scanned object. Optionally, the geometric features can be point cloud features of the scanned object.

[0072] The first distance, the second distance, and the third distance can be the square of the Euclidean distance.

[0073] The first local error is used to characterize the distance between feature point pairs on adjacent scan frames.

[0074] In other embodiments, the feature point pair includes any one of the following: marker point feature point pair, texture feature point pair, and geometric feature point pair. Then, the distance corresponding to each feature point pair can be calculated, and the calculated distance is used as the first local error.

[0075] In some other embodiments, the feature point pairs include any two of the following: marker point feature point pairs, texture feature point pairs, and geometric feature point pairs. Then, the distances corresponding to these two feature point pairs can be calculated, and the distances corresponding to these two feature point pairs can be weighted and summed to obtain the first local error.

[0076] In this embodiment of the disclosure, the optional method for calculating the second local error specifically includes the following steps:

[0077] S2205. Calculate the fourth distance between the centroid pairs in each scan frame to obtain the second local error.

[0078] The fourth distance can be the squared Euclidean distance. Understandably, since the data acquired by the IMU has relatively low precision, a smaller fourth distance allows for a smaller weighting of that distance, resulting in a smaller second local error and thus preventing the IMU-acquired data from affecting the camera's position adjustment accuracy.

[0079] S230. The first local error and the second local error are weighted and summed to obtain the global error of all scan frames at the current position.

[0080] In practical applications, electronic devices can obtain the weights corresponding to the first local error and the second local error respectively, and then perform a weighted summation of the first local error and the second local error according to their respective weights, and use the weighted summation result as the global error.

[0081] Therefore, in this embodiment of the present disclosure, when calculating the global error, at least one feature point pair and a centroid point pair are used to calculate the distance and fuse the two distances. This calculation method can ensure the accuracy of the global error calculation and improve the flexibility of the calculation method.

[0082] S240. If the global error does not meet the preset optimization conditions, adjust the current position of the camera until the global error corresponding to the adjusted current position meets the preset optimization conditions, and obtain the adjusted current position of the camera.

[0083] S240 is similar to S130, so it will not be described in detail here.

[0084] In another embodiment of this disclosure, for feature points in one frame of adjacent scan frames, corresponding feature points can be searched from the other frame in different ways to form feature point pairs in adjacent scan frames.

[0085] In some embodiments of this disclosure, feature point pairs include marker point feature point pairs; correspondingly, the method for determining feature point pairs in adjacent scan frames includes:

[0086] S1. For each marker point in one of the adjacent scan frames, search for the corresponding marker point in the other frame of the adjacent scan frame according to the first preset radius to obtain the feature point pair in the adjacent scan frames.

[0087] In practical applications, for each marker point in one of the adjacent scan frames, the electronic device can use a radius search method to search for the corresponding marker point in another frame of the adjacent scan frame, with the marker point as the center and a first preset radius as the search range, thereby obtaining the marker point feature point pair in the adjacent scan frames.

[0088] The first preset radius is the search range used for searching for marker points.

[0089] In other embodiments of this disclosure, feature point pairs include texture feature point pairs; correspondingly, the determination of feature point pairs in adjacent scan frames includes:

[0090] S2. For each texture feature point in one of the adjacent scan frames, search for the corresponding texture feature point in the other frame of the adjacent scan frame according to the second preset radius to obtain the texture feature point pair in the adjacent scan frames.

[0091] In practical applications, for each texture feature point in one of the adjacent scan frames, the electronic device can use a radius search method to search for the corresponding texture feature point in another adjacent scan frame with the texture feature point as the center and a second preset radius as the search range, thereby obtaining the texture feature point pair in the adjacent scan frames.

[0092] The second preset radius is the search range used for searching texture feature points.

[0093] In some embodiments, if a texture feature point is found in another frame, then each texture feature point in one frame and a corresponding texture feature point in the other frame constitute a texture feature point pair in the adjacent scan frame.

[0094] In other embodiments, if multiple texture feature points are found in another frame, the most similar texture feature point is searched in the other frame to form a texture feature point pair in adjacent scan frames. In this case, S2 may specifically include the following steps:

[0095] S21. If multiple corresponding texture feature points are found in another frame of an adjacent scan frame, multiple texture feature point pairs in the adjacent scan frame are obtained.

[0096] S22. Calculate the feature similarity for each pair of texture feature points in adjacent scan frames;

[0097] S23. Take the texture feature point pair with the highest feature similarity in adjacent scan frames as the final texture feature point pair in adjacent scan frames.

[0098] Among them, the texture feature point pairs in S21 are the preliminary feature point pairs obtained.

[0099] Feature similarity is used to characterize the distance between each pair of texture feature points. The greater the feature similarity, the smaller the distance between each pair of texture feature points, and vice versa.

[0100] Optionally, feature similarity can be Hamming distance, Euclidean distance, etc.

[0101] In some embodiments of this disclosure, feature point pairs include geometric feature point pairs; correspondingly, the method for determining feature point pairs in adjacent scan frames includes:

[0102] S3. For each geometric feature point in one of the adjacent scan frames, search for the nearest geometric feature point in the other adjacent scan frame to obtain the geometric feature point pair in the adjacent scan frames.

[0103] In practical applications, for each geometric feature point in one of the adjacent scan frames, the electronic device can use the nearest neighbor search method to search for the geometric feature point closest to the center in another frame of the adjacent scan frame, thereby obtaining the geometric feature point pair in the adjacent scan frames.

[0104] Therefore, in this embodiment of the disclosure, for different feature points, different methods can be used to search for corresponding feature points from another frame to form feature point pairs in adjacent scan frames, ensuring that the determination methods of various feature point pairs conform to the actual situation.

[0105] This disclosure also provides a position adjustment device for implementing the above-described position adjustment method, which is described below in conjunction with... Figure 3 The following description is provided. In this embodiment, the position adjustment device can be an electronic device or a server. The electronic device can include devices with communication capabilities such as tablets, desktop computers, and laptops, or devices simulated by virtual machines or simulators. The server can be a server cluster or a cloud server.

[0106] Figure 3A schematic diagram of the structure of a position adjustment device provided in an embodiment of this disclosure is shown.

[0107] like Figure 3 As shown, the position adjustment device 300 may include:

[0108] The scan frame acquisition module 310 is used to acquire all scan frames captured by the camera in the target scanner at the current position.

[0109] The global error calculation module 320 is used to calculate the global error of all scan frames at the current position based on the feature point pairs in adjacent scan frames and the centroid point pairs in each scan frame. The centroid point pairs include the true centroid of each scan frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner.

[0110] The position adjustment module 330 is used to adjust the current position of the camera if the global error does not meet the preset optimization conditions, until the global error corresponding to the adjusted current position meets the preset optimization conditions, and thus obtain the adjusted current position of the camera.

[0111] An embodiment of this disclosure discloses a position adjustment device that acquires all scan frames captured by a camera in a target scanner at the current position; calculates the global error of all scan frames at the current position based on feature point pairs in adjacent scan frames and centroid point pairs in each scan frame, wherein the centroid point pairs include the actual centroid of each scan frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner; if the global error does not meet a preset optimization condition, the current position of the camera is adjusted until the global error corresponding to the adjusted current position meets the preset optimization condition, thus obtaining the adjusted current position of the camera. Through this method, the feature information of adjacent scan frames and the centroid of each scan frame are considered in the calculation of the global error during camera position adjustment, and the camera position is adjusted based on the global error. This adjustment method conforms to the actual scanning situation, therefore, it can guarantee the accuracy of camera position adjustment.

[0112] In some embodiments of this disclosure, the global error calculation module 320 may include:

[0113] The local error calculation unit is used to calculate the first local error of feature point pairs in adjacent scan frames, and to calculate the second local error of centroid point pairs in each scan frame.

[0114] The global error calculation unit is used to perform a weighted summation of the first local error and the second local error to obtain the global error of all scan frames at the current position.

[0115] In some embodiments of this disclosure, feature point pairs include marker point feature point pairs, texture feature point pairs, and geometric feature point pairs;

[0116] Accordingly, the local error calculation unit is specifically used to calculate the first distance between pairs of feature points of marker points in adjacent scan frames;

[0117] Calculate the second distance between texture feature point pairs in adjacent scan frames;

[0118] Calculate the third distance between pairs of geometric feature points in adjacent scan frames;

[0119] The first local error is obtained by weighted summation of the first, second, and third distances.

[0120] In some embodiments of this disclosure, the local error calculation unit is specifically used to calculate the fourth distance between the centroid pairs in each scan frame to obtain the second local error.

[0121] In some embodiments of this disclosure, feature point pairs include marker point feature point pairs;

[0122] Accordingly, the device also includes: a marker feature point pair determination module;

[0123] The marker feature point pair determination module is used to search for the corresponding marker point in another frame of the adjacent scanning frames according to a first preset radius for each marker point in one frame of the adjacent scanning frames, so as to obtain the marker feature point pair in the adjacent scanning frames.

[0124] In some embodiments of this disclosure, feature point pairs include texture feature point pairs;

[0125] Accordingly, the device also includes: a texture feature point pair determination module;

[0126] The texture feature point pair determination module is used to search for the corresponding texture feature point in another frame of the adjacent scanning frames according to a second preset radius for each texture feature point in one of the adjacent scanning frames, so as to obtain the texture feature point pair in the adjacent scanning frames.

[0127] In some embodiments of this disclosure, the texture feature point pair determination module includes:

[0128] The texture feature point search unit is used to search for multiple corresponding texture feature points in another frame of adjacent scan frames to obtain multiple texture feature point pairs in adjacent scan frames.

[0129] The feature similarity calculation unit is used to calculate the feature similarity for each pair of texture feature points in adjacent scan frames;

[0130] The texture feature point pair determination unit is used to determine the texture feature point pair with the highest feature similarity in adjacent scan frames as the final texture feature point pair in adjacent scan frames.

[0131] In some embodiments of this disclosure, feature point pairs include geometric feature point pairs;

[0132] Accordingly, the device also includes: a geometric feature point pair determination module;

[0133] The geometric feature point pair determination module is used to search for the nearest geometric feature point in another frame of adjacent scan frames for each geometric feature point in one of the adjacent scan frames, so as to obtain the geometric feature point pair in the adjacent scan frames.

[0134] In some embodiments of this disclosure, the preset optimization conditions include: the global error is less than or equal to a preset error threshold, and / or the change in the global error within a preset number of adjustments is less than a preset value.

[0135] In some embodiments of this disclosure, the device further includes:

[0136] The model generation module is used to stitch together each scan frame based on the current position after the camera adjustment to generate a target 3D model.

[0137] It should be noted that, Figure 3 The position adjustment device 300 shown can perform... Figures 1 to 2 The various steps in the method embodiment shown are implemented. Figures 1 to 2 The processes and effects in the method embodiments shown are not described in detail here.

[0138] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure is shown.

[0139] like Figure 4 As shown, the electronic device may include a processor 401 and a memory 402 storing computer program instructions.

[0140] Specifically, the processor 401 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0141] Memory 402 may include a large-capacity storage for information or instructions. For example, and not limitingly, memory 402 may include a hard disk drive (HDD), a floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or a Universal Serial Bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 402 may include removable or non-removable (or fixed) media. Where appropriate, memory 402 may be internal or external to the integrated gateway device. In a particular embodiment, memory 402 is a non-volatile solid-state memory. In a particular embodiment, memory 402 includes read-only memory (ROM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable ROM (PROM), an erasable PROM (Electrically Programmable ROM, EPROM), an electrically erasable programmable PROM (EEPROM), an electrically alterable ROM (EAROM), or flash memory, or a combination of two or more of these.

[0142] The processor 401 reads and executes computer program instructions stored in the memory 402 to perform the steps of the position adjustment method provided in the embodiments of this disclosure.

[0143] In one example, the electronic device may also include a transceiver 403 and a bus 404. Wherein, as... Figure 4 As shown, the processor 401, memory 402 and transceiver 403 are connected via bus 404 and communicate with each other.

[0144] Bus 404 includes hardware, software, or both. For example, and not limitingly, a bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industrial Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a MicroChannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local Bus (VLB) bus, or other suitable buses, or a combination of two or more of these. Where appropriate, bus 404 may include one or more buses. Although specific buses are described and illustrated in the embodiments of this application, this application considers any suitable bus or interconnection.

[0145] The following are embodiments of a computer-readable storage medium provided in this disclosure. This computer-readable storage medium and the position adjustment methods of the above embodiments belong to the same inventive concept. For details not described in detail in the embodiments of the computer-readable storage medium, please refer to the embodiments of the above position adjustment methods.

[0146] This embodiment provides a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform a position adjustment method, the method comprising:

[0147] Acquire all scan frames captured by the camera at the current location in the target scanner;

[0148] Based on the feature point pairs in adjacent scan frames and the centroid point pairs in each scan frame, the global error of all scan frames at the current position is calculated. The centroid point pairs include the true centroid of each scan frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner.

[0149] If the global error does not meet the preset optimization conditions, the current position of the camera is adjusted until the global error corresponding to the adjusted current position meets the preset optimization conditions, thus obtaining the adjusted current position of the camera.

[0150] Of course, the computer-executable instructions provided in the embodiments of this disclosure are not limited to the above-described method operations, but can also perform related operations in the position adjustment method provided in any embodiment of this disclosure.

[0151] Based on the above description of the implementation methods, those skilled in the art can clearly understand that this disclosure can be implemented using software and necessary general-purpose hardware, and of course, it can also be implemented using hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as a computer floppy disk, read-only memory (ROM), random access memory (RAM), flash memory, hard disk, or optical disk, etc., including several instructions to cause a computer cloud platform (which may be a personal computer, server, or network cloud platform, etc.) to execute the position adjustment methods provided in the various embodiments of this disclosure.

[0152] Note that the above description is merely a preferred embodiment and the technical principles employed in this disclosure. Those skilled in the art will understand that this disclosure is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of this disclosure. Therefore, although this disclosure has been described in detail through the above embodiments, it is not limited to the above embodiments. Many other equivalent embodiments may be included without departing from the concept of this disclosure, and the scope of this disclosure is determined by the scope of the appended claims.

Claims

1. A position adjustment method, characterized in that, include: Acquire all scan frames captured by the camera at the current location in the target scanner; Based on the feature point pairs in adjacent scan frames and the centroid point pairs in each scan frame, the global error of all scan frames at the current position is calculated, wherein the centroid point pairs include the true centroid of each scan frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner. If the global error does not meet the preset optimization conditions, the current position of the camera is adjusted until the global error corresponding to the adjusted current position meets the preset optimization conditions, and the adjusted current position of the camera is obtained. The calculation of the global error of all scan frames at the current position based on feature point pairs in adjacent scan frames and centroid point pairs in each scan frame includes: Calculate the first local error of the feature point pairs in adjacent scan frames; The first local error is corrected based on the centroid pairs in each scan frame, and the global error of all scan frames at the current position is obtained.

2. The method according to claim 1, characterized in that, The step of correcting the first local error based on the centroid pairs in each scan frame to obtain the global error of all scan frames at the current position includes: Calculate the second local error of the centroid pair in each scan frame; The first local error and the second local error are weighted and summed to obtain the global error of all scan frames at the current position.

3. The method according to claim 1, characterized in that, The feature point pairs include marker point feature point pairs, texture feature point pairs, and geometric feature point pairs; Accordingly, calculating the first local error of the feature point pairs in adjacent scan frames includes: Calculate the first distance between the feature point pairs of the marker points in adjacent scan frames; Calculate the second distance between the texture feature point pairs in adjacent scan frames; Calculate the third distance between the pairs of geometric feature points in adjacent scan frames; The first local error is obtained by weighted summation of the first distance, the second distance, and the third distance.

4. The method according to claim 2, characterized in that, The calculation of the second local error of the centroid pair in each scan frame includes: The fourth distance between the centroid pairs in each scan frame is calculated to obtain the second local error.

5. The method according to claim 1, characterized in that, The feature point pair includes a marker point feature point pair; Accordingly, the method for determining feature point pairs in adjacent scan frames includes: For each marker point in one of the adjacent scan frames, a corresponding marker point is searched in another adjacent scan frame according to a first preset radius to obtain a marker point feature point pair in the adjacent scan frames.

6. The method according to claim 1, characterized in that, The feature point pairs include texture feature point pairs; Accordingly, the method for determining feature point pairs in adjacent scan frames includes: For each texture feature point in one of the adjacent scan frames, a corresponding texture feature point is searched from another adjacent scan frame according to a second preset radius to obtain a pair of texture feature points in the adjacent scan frames.

7. The method according to claim 6, characterized in that, For each texture feature point within one of the adjacent scan frames, the corresponding texture feature point is searched for in another adjacent scan frame according to a second preset radius to obtain texture feature point pairs in the adjacent scan frames, including: If multiple corresponding texture feature points are found in another frame adjacent to the scanned frame, multiple texture feature point pairs in the adjacent scanned frame are obtained; Calculate the feature similarity for each pair of texture feature points in adjacent scan frames; The texture feature point pair with the highest feature similarity in adjacent scan frames is taken as the final texture feature point pair in adjacent scan frames.

8. The method according to claim 1, characterized in that, The feature point pairs include geometric feature point pairs; Accordingly, the method for determining feature point pairs in adjacent scan frames includes: For each geometric feature point within one of the adjacent scan frames, the nearest geometric feature point is searched in the other adjacent scan frame to obtain a pair of geometric feature points in the adjacent scan frames.

9. The method according to claim 1, characterized in that, The preset optimization conditions include: the global error is less than or equal to a preset error threshold, and / or the change in the global error within a preset number of adjustments is less than a preset value.

10. The method according to any one of claims 1 to 9, characterized in that, Also includes: Based on the current position of the camera after adjustment, the scan frames are stitched together to generate a target 3D model.

11. A position adjustment device, characterized in that, include: The scan frame acquisition module is used to acquire all scan frames captured by the camera in the target scanner at the current position; A global error calculation module is used to calculate the global error of all the scanning frames at the current position based on the feature point pairs in adjacent scanning frames and the centroid point pairs in each scanning frame, wherein the centroid point pairs include the true centroid of each scanning frame and the theoretical centroid obtained by the inertial acquisition unit in the target scanner. The position adjustment module is used to adjust the current position of the camera if the global error does not meet the preset optimization conditions, until the global error corresponding to the adjusted current position meets the preset optimization conditions, and thus obtain the adjusted current position of the camera. The global error calculation module is specifically used to calculate the first local error of the feature point pairs in adjacent scan frames; and to correct the first local error based on the centroid point pairs in each scan frame to obtain the global error of all scan frames at the current position.

12. An electronic device, characterized in that, include: processor; Memory, used to store executable instructions; The processor is configured to read the executable instructions from the memory and execute the executable instructions to implement the method of any one of claims 1-10.

13. A computer-readable storage medium having a computer program stored thereon, characterized in that, The storage medium stores a computer program that, when executed by a processor, causes the processor to implement the method described in any one of claims 1-10.