Homonymy point searching method and device, equipment, storage medium and product

By adopting multiple positioning methods and matching algorithms in the homonymous point search method to determine the coordinates of homonymous points in the image to be searched, the problem of low homonymous point matching success rate in the existing technology is solved, and higher matching accuracy and success rate are achieved.

CN120673098APending Publication Date: 2025-09-19QIANXUN SPATIAL INTELLIGENCE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510896863.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2025-09-19

AI Technical Summary

Technical Problem

The success rate of matching homonymous points in existing technologies is relatively low, mainly because the inaccurate image pose solution causes the homonymous points to deviate from the epipolar line, increasing the risk of matching failure.

Method used

By obtaining the preset locations of homonymous points on multiple reference images, multiple positioning methods are used to determine the reference coordinates of the homonymous points in the image to be searched, and a preset matching algorithm is used to traverse each pixel in the search area. The coordinates of the homonymous points are determined by combining the shape matching algorithm and the matching results of multiple pixels.

Benefits of technology

The success rate of matching points with the same name is improved, the accuracy of the division of the search area is ensured, and the target point can still be accurately located even when the image quality is poor or the initial matching results are not ideal.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120673098A_ABST
    Figure CN120673098A_ABST
Patent Text Reader

Abstract

The invention provides a homonymy point searching method and device, equipment, a storage medium and a product. The method comprises the following steps: acquiring a plurality of preset homonymy point positions corresponding to a target point on a plurality of reference images; for the to-be-searched image, based on a plurality of preset homonymy point positions, adopting a plurality of positioning modes to respectively obtain a plurality of homonymy point reference coordinates of the target point on the to-be-searched image; determining a to-be-searched area in the to-be-searched image based on the plurality of homonymy point reference coordinates; traversing each pixel in the to-be-searched area by using a preset matching algorithm to obtain a matching result of each pixel; and based on a matching result of the plurality of pixels, determining a homonymy point coordinate corresponding to the target point in the to-be-searched image. And performing cross validation by using the plurality of homonymy point reference coordinates, finally determining the to-be-searched area and performing matching, ensuring the accuracy of division of the to-be-searched area, and improving the success rate of homonymy point matching.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a method, device, equipment, storage medium and product for searching for homonymous points. Background Art

[0002] In the field of photogrammetry, spatial intersection measurement using multiple images captured at different spatial poses is a crucial task. This relies on accurately finding the pixel coordinates corresponding to the same physical point on different images, also known as "keypoints." Currently, this field focuses on using algorithms such as feature extraction, matching, and filtering to identify keypoints between images, thereby automating spatial intersection measurement.

[0003] Currently, existing solutions rely on known camera poses to determine epipolar lines and perform block matching on these lines to find homonymous points. However, this approach places extremely high demands on epipolar line accuracy. If the image pose is inaccurate, causing homonymous points to stray from the epipolar lines, the risk of matching failure increases significantly, resulting in a low homonymous point matching success rate. Summary of the Invention

[0004] The embodiments of the present application provide a method, apparatus, device, storage medium, and product for searching for homonymous points, which can solve the technical problem of a low success rate in matching homonymous points.

[0005] In a first aspect, the present application provides a method for searching for points of the same name, the method comprising:

[0006] Acquire positions of a plurality of preset same-name points corresponding to target points on a plurality of reference images;

[0007] For the image to be searched, based on multiple preset homonymous point positions, multiple positioning methods are used to obtain multiple homonymous point reference coordinates of the target point on the image to be searched;

[0008] Determine a region to be searched in the image to be searched based on a plurality of reference coordinates of the same-name points;

[0009] Use the preset matching algorithm to traverse each pixel in the search area to obtain the matching result of each pixel;

[0010] Based on the matching results of the multiple pixels, the coordinates of the points of the same name corresponding to the target point in the image to be searched are determined.

[0011] In some possible implementations, determining the coordinates of a point of the same name corresponding to the target point in the image to be searched based on the matching results of the multiple pixels includes:

[0012] When a maximum value among the multiple matching results satisfies a threshold condition, the pixel coordinates of the pixel corresponding to the maximum value of the matching results are determined as the coordinates of the homonymous point;

[0013] When the maximum value among the multiple matching results does not meet the threshold condition, the shape matching algorithm is used to calculate the similarity of each pixel in the search area, and the coordinates of the points of the same name are determined based on the similarity of each pixel.

[0014] In some possible implementations, determining the coordinates of points of similarity based on the similarity of each pixel includes:

[0015] Obtaining a first weight corresponding to the similarity and a second weight corresponding to the matching result;

[0016] For each pixel, calculate the product of the similarity and the first weight, and the product of the matching result and the second weight, to obtain the corresponding comprehensive score result;

[0017] The coordinates of the points of interest are determined based on the comprehensive scoring results of each pixel.

[0018] In some possible implementations, a preset matching algorithm is used to traverse each pixel in the search area to obtain a matching result for each pixel, including:

[0019] Traverse each pixel in the search area and construct the corresponding image block with each pixel as the center;

[0020] The matching degree of each image block with the preset homonymous point image block is calculated to obtain the matching result of each pixel. The preset homonymous point image block is an image block constructed based on the preset homonymous point position in any reference image, or an image block constructed based on the coordinates of the homonymous point of the previous successfully matched image to be searched.

[0021] In some possible implementations, the similarity of each pixel in the search area is calculated using a shape matching algorithm, including:

[0022] For each pixel in the area to be searched, pixel sampling is performed on the contour edge of the image block corresponding to the pixel to obtain a discrete point set containing multiple contour pixels;

[0023] For each discrete point set, the cost matrix corresponding to the discrete point set is generated based on the relative position relationship between each contour pixel and other remaining pixels;

[0024] The similarity corresponding to each pixel is determined according to the cost matrix corresponding to each discrete point set.

[0025] In some possible implementations, for each discrete point set, a cost matrix corresponding to the discrete point set is generated based on the relative positional relationship between each contour pixel and other remaining pixels, including:

[0026] For each pixel in the discrete point set, determining a statistical region corresponding to the pixel, where the statistical region includes multiple sub-regions;

[0027] Based on the position coordinates of the remaining pixels in the discrete point set and the area range of each sub-area in the statistical area, the number of pixels in each sub-area is counted respectively to obtain the statistical result of a single pixel in the discrete point set;

[0028] According to the statistical results of all pixels in the discrete point set, the cost matrix corresponding to the discrete point set is constructed.

[0029] In some possible implementations, the multiple positioning methods include a projection point positioning method, and the projection point positioning method includes:

[0030] Determine the approximate three-dimensional coordinates of the target point based on the positions of multiple preset same-name points on the multiple reference images and the pose parameters of the multiple reference images;

[0031] Based on the approximate three-dimensional coordinates of the target point and the pose parameters of the image to be searched, the target point is back-projected into the image to be searched to obtain the coordinates of the first point of the same name.

[0032] In some possible implementations, the multiple positioning methods further include a multi-point positioning method, which includes:

[0033] Based on the first like-name point coordinates, a first coordinate system is established on the image to be searched with the first like-name point coordinates as the origin;

[0034] Based on the preset keypoint position on one of the reference images, a second coordinate system is established on the reference image with the preset keypoint position as the origin;

[0035] Determining position coordinates of a plurality of feature matching points in a first coordinate system and a second coordinate system, respectively, based on feature matching results between the image to be searched and the plurality of reference images;

[0036] Based on the affine transformation algorithm, the affine coordinates of the origin coordinates in the second coordinate system in the first coordinate system are determined according to the position coordinates of multiple feature matching points in the first coordinate system and the second coordinate system, so as to obtain the second same-name point coordinates.

[0037] In some possible implementations, the multiple positioning methods include an epipolar intersection positioning method, and the epipolar intersection positioning method includes:

[0038] generating corresponding epipolar lines in the image to be searched according to the positions of the plurality of preset same-name points on the plurality of reference images, the pose parameters of the plurality of reference images, and the pose parameters of the image to be searched;

[0039] Determine the coordinates of the third point of the same name based on the intersection of multiple polar lines.

[0040] In some possible implementations, determining the coordinates of the third point of similarity based on the intersection of the multiple epipolar lines includes:

[0041] When the plurality of epipolar lines have at least two intersection positions, the third point of similarity coordinates are determined based on the plurality of intersection positions.

[0042] In some possible implementations, the method further includes:

[0043] When the coordinates of the same-name points of the image to be searched are obtained, based on the same-name point positions corresponding to the target points on the reference images and the pose parameters of the reference images, a plurality of epipolar lines corresponding to the same-name point positions are generated in the image to be searched;

[0044] When the distances between the coordinates of the homonymous point and multiple polar lines meet the quality inspection conditions, the homonymous point search is determined to be successful.

[0045] In a second aspect, the present application provides a device for searching for homonymous points, the device comprising:

[0046] An acquisition module, configured to acquire positions of a plurality of preset same-name points corresponding to target points on a plurality of reference images;

[0047] A positioning module is used to obtain the reference coordinates of multiple homonymous points of the target point on the image to be searched based on multiple preset homonymous point positions using multiple positioning methods;

[0048] A determination module, configured to determine a region to be searched in the image to be searched based on a plurality of reference coordinates of points of the same name;

[0049] The traversal module is used to traverse each pixel in the search area using a preset matching algorithm to obtain a matching result for each pixel;

[0050] The determination module is further configured to determine the coordinates of a point of the same name corresponding to the target point in the image to be searched based on the matching results of the multiple pixels.

[0051] In a third aspect, the present application provides a homonymous point search device, the device comprising: a processor, and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the homonymous point search method described above.

[0052] In a fourth aspect, the present application provides a computer-readable storage medium having computer program instructions stored thereon. When the computer program instructions are executed by a processor, the method for searching for points of the same name as described above is implemented.

[0053] In a fifth aspect, the present application provides a computer program product. When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device executes the method for searching for points of the same name as described above.

[0054] The embodiment of the present application provides a method, device, equipment, storage medium and product for searching for homonymous points. By obtaining multiple preset homonymous point positions corresponding to the target point on multiple reference images, multiple positioning methods are used to obtain multiple homonymous point reference coordinates of the target point on the image to be searched based on the multiple preset homonymous point positions. Then, based on the multiple homonymous point reference coordinates, the area to be searched is determined in the image to be searched, and then a preset matching algorithm is used to traverse each pixel in the area to be searched to obtain a matching result for each pixel. Then, based on the matching results of the multiple pixels, the coordinates of the homonymous points corresponding to the target point in the image to be searched are determined. By cross-validating using multiple homonymous point reference coordinates, the area to be searched is finally determined and matched, thereby ensuring the accuracy of the division of the area to be searched and improving the success rate of homonymous point matching. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] The present application can be better understood from the following description of specific embodiments of the present application in conjunction with the accompanying drawings, in which:

[0056] Other features, objects and advantages of the present application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings, in which the same or similar reference numerals represent the same or similar features.

[0057] Figure 1 This is a flowchart of a method for searching for points of the same name provided by an embodiment of the present application;

[0058] Figure 2 This is a schematic diagram of the overall flow of a method for searching points of the same name provided by another embodiment of the present application;

[0059] Figure 3 This is a schematic diagram of a block matching process provided by an embodiment of the present application;

[0060] Figure 4 is a schematic diagram of a target template provided in one embodiment of the present application;

[0061] Figure 5 This is a schematic diagram of shape contexts at different reference points provided by an embodiment of the present application;

[0062] Figure 6 This is a schematic diagram of the structure of a device for searching for points of the same name provided by an embodiment of the present application;

[0063] Figure 7 This is a schematic diagram of the hardware structure of the same-name point search device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0064] The features and exemplary embodiments of various aspects of the present application will be described in detail below. In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than to limit the present application. For those skilled in the art, the present application can be implemented without the need for some of these specific details. The following description of the embodiments is merely to provide a better understanding of the present application by illustrating the examples of the present application.

[0065] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, the elements defined by the phrase "comprising..." do not exclude the presence of other identical elements in the process, method, article, or device comprising the elements.

[0066] Homologous points: The image points of the same point on the ground in different images. They reflect the observation results of the same physical point from different perspectives.

[0067] Pose: The position and posture of an object in space. The position of an image is represented by the three-dimensional coordinates of its photographic center. Pose can be expressed in a variety of ways, including Euler angles, quaternions, and rotation matrices.

[0068] Camera extrinsics: the camera's position and posture.

[0069] Camera intrinsic parameters: These are parameters that describe the internal properties of the camera and are related to the physical structure and optical characteristics of the camera. They mainly include: focal length, principal point, distortion coefficient, etc.

[0070] Spatial forward intersection measurement: refers to the method of restoring the light beams during stereo photography and establishing a geometric model, and then determining the spatial position of the model point by using the intersection of light rays with the same name.

[0071] Epipolar line: The intersection of the epipolar plane and the image plane. The epipolar plane is the plane formed by the photographic baseline (i.e., the line connecting the photographic centers of the two cameras) and any ground point. In a stereo image pair, the two epipolar lines where a given epipolar plane intersects the left and right images are called epipolar lines of the same name. Image points of the same name are located on epipolar lines of the same name.

[0072] Block matching: This algorithm calculates the similarity between a query image block and a target image block, and finds the image block within the search region that is most similar to the query image block. The similarity between two blocks is described using a custom criterion, such as SAD, SSD, NCC, and ZNCC.

[0073] Affine transformation: A linear transformation between two-dimensional coordinates that maintains the "flatness" of a two-dimensional graphic. Affine transformations can be achieved by combining a series of atomic transformations, including translation, scaling, flipping, rotation, and shearing.

[0074] Shape matching: Based on shape descriptions and certain criteria, the similarity or dissimilarity between two shapes is calculated. The matching result between the two shapes is represented by a numerical value, called shape similarity.

[0075] Shape context feature: A feature description method based on shape contour is adopted. The shape features are described using histograms in a logarithmic polar coordinate system, which can well reflect the distribution of sampling points on the contour.

[0076] Sum of Absolute Difference (SAD): the sum of the absolute values ​​of the pixel differences between two small blocks.

[0077] Sum of Squared Distance (SSD): The sum of the squares of the pixel differences between two small blocks.

[0078] Normalized Cross Correlation (NCC): This method calculates the correlation between two small blocks. A correlation close to 0 indicates that the two images are dissimilar, and a correlation close to 1 indicates similarity.

[0079] Zero Normalized Cross Correlation (ZNCC): Compared with NCC, it has an additional zero-mean processing.

[0080] In order to solve the problems in the prior art, the embodiments of the present application provide a method, apparatus, device, storage medium and product for searching for points with the same name.

[0081] Figure 1 FIG. 1 shows a flow chart of a method for searching for points of the same name provided by an embodiment of the present application. Figure 1 As shown, the method may include the following steps: S101 to S105.

[0082] S101: Acquire multiple preset same-name point positions corresponding to target points on multiple reference images.

[0083] In practice, the first step is to extract homonymous points related to the target point from multiple reference images. A target point is a specific point that you want to locate. These homonymous points represent the same physical or scene features across different images. The user can select these homonymous points in the image, and each reference image generates a set of coordinates representing the location of these homonymous points.

[0084] S102: for the image to be searched, based on multiple preset homonymous point positions, multiple positioning methods are used to respectively obtain multiple homonymous point reference coordinates of the target point on the image to be searched.

[0085] In a specific implementation, the image to be searched is located using the multiple preset homonymous points obtained in S101. Specifically, the homonymous points in the image to be searched are found using a variety of different positioning methods. For example, geometric transformations are used to map the coordinates of the homonymous points in the reference image to the image to be searched. Alternatively, a feature matching algorithm can be used to find the locations in the image to be searched that are most similar to the preset homonymous points. In this way, the use of multiple algorithms ensures higher positioning accuracy.

[0086] S103: Determine a region to be searched in the image to be searched based on the multiple reference coordinates of the same-name points.

[0087] In a specific implementation, a search area is determined based on the reference coordinates of the multiple points of the same name obtained in S102. These reference coordinates define the scope of the search area, forming a bounding box or complex geometric shape with these points. For example, if multiple points of the same name are located at the corners of an object in the image, these coordinates can determine the rectangular area where the object is located as the search area.

[0088] S104: traverse each pixel in the area to be searched using a preset matching algorithm to obtain a matching result for each pixel.

[0089] In a specific implementation, each pixel in the search area is traversed and matched using a preset matching algorithm. The matching algorithm is used to determine whether each pixel in the search image matches a specific area in the reference image. For example, a sliding template is used to match across the image, calculate a similarity score, and perform a calculation for each pixel in the search area. The matching result for each pixel is output. This score indicates the degree of match between the current pixel in the search image and the corresponding area in the reference image. If the score reaches a preset threshold, the pixel is considered a potential match point.

[0090] S105: Based on the matching results of the multiple pixels, determine the coordinates of the point of the same name corresponding to the target point in the image to be searched.

[0091] In a specific implementation, the multiple pixel matching results obtained in S104 are used to determine the coordinates of the same-name point corresponding to the target point in the image to be searched. Based on the different matching results, the matching information is integrated. By aggregating the matching results of the multiple pixels, a final coordinate point can be determined. This coordinate point is the position of the target point in the image to be searched, thereby obtaining the coordinates of the same-name point corresponding to the target point in the image to be searched.

[0092] The method for searching for homonymous points provided in an embodiment of the present application obtains multiple preset homonymous point positions corresponding to a target point on multiple reference images, and then, for the image to be searched, uses multiple positioning methods based on the multiple preset homonymous point positions to obtain multiple homonymous point reference coordinates of the target point on the image to be searched. Subsequently, based on the multiple homonymous point reference coordinates, the area to be searched is determined in the image to be searched, and then a preset matching algorithm is used to traverse each pixel in the area to be searched to obtain a matching result for each pixel. Furthermore, based on the matching results of the multiple pixels, the coordinates of the homonymous points corresponding to the target point in the image to be searched are determined. By cross-validating using the multiple homonymous point reference coordinates, the area to be searched is finally determined and matched, thereby ensuring the accuracy of the division of the area to be searched and improving the success rate of homonymous point matching.

[0093] To ensure that the target point can be accurately located, in some embodiments, S105 may include the following steps: S1051 to S1052.

[0094] S1051: When the maximum value among the multiple matching results meets the threshold condition, the pixel coordinates of the pixel corresponding to the maximum value of the matching results are determined as the coordinates of the same-name point.

[0095] In the specific implementation, the matching results of each pixel in the multiple matching results are first evaluated. The matching result is a score representing the similarity between the pixel and a certain area in the reference image, usually expressed by a similarity metric. The higher the matching result, the more similar the pixel is to the features in the reference image. If the maximum value of these matching results meets the preset threshold condition, it means that the matching point is accurately located in the image to be searched, and the pixel corresponding to the maximum matching result is the homonymous point of the target point. In this case, the coordinates of the homonymous point are the pixel position corresponding to the maximum matching result. For example, the matching results of each pixel and the reference image are evaluated. If the matching value of a pixel is 0.95 and is greater than the preset threshold of 0.9, the position of this pixel is used as the coordinates of the homonymous point of the target point.

[0096] S1052: When the maximum value among the multiple matching results does not meet the threshold condition, the similarity of each pixel in the search area is calculated using a shape matching algorithm, and the coordinates of the points of the same name are determined based on the similarity of each pixel.

[0097] In a specific implementation, if the maximum value among multiple matching results does not meet the threshold condition, that is, the accuracy of all matching results is not high, a more complex shape matching algorithm is required to further determine the coordinates of the homonymous points. During the shape matching process, each pixel in the search area is matched with the reference image shape based on the contour, and the similarity of each pixel in the search area is obtained. Based on these similarities, the coordinates of the most matching pixel are calculated, and these coordinates are used as the final location of the homonymous point.

[0098] The embodiment of the present application provides a method for searching for homonymous points. When the maximum value among multiple matching results meets the threshold condition, the pixel coordinates of the pixel corresponding to the maximum value of the matching results are determined as the coordinates of the homonymous point. When the maximum value among multiple matching results does not meet the threshold condition, a shape matching algorithm is used to calculate the similarity of each pixel in the area to be searched, and then the coordinates of the homonymous point are determined. Different processing methods are used in different situations to ensure that the target point can be accurately located even in blurred or low-quality images.

[0099] To ensure the accuracy of the scoring, in some embodiments, S1052 may include the following steps: S10521 to S10523.

[0100] S10521: Obtain a first weight corresponding to the similarity and a second weight corresponding to the matching result.

[0101] In a specific implementation, weights are assigned to the similarity and matching results of each pixel. Similarity is a measure of the similarity between a region in the searched image and a reference image, and can be calculated by, for example, normalized cross-correlation or mean square error. The matching result refers to the similarity score between the searched region and the reference image at a specific pixel location. The first weight is associated with the similarity value, and the second weight is associated with the matching result. The preset first and second weights are obtained.

[0102] S10522: For each pixel, calculate the product of the similarity and the first weight, and the product of the matching result and the second weight, to obtain a corresponding comprehensive score result.

[0103] In the specific implementation, a comprehensive score is calculated for each pixel based on the assigned weights. For each pixel, a comprehensive score is obtained by multiplying its similarity value by a first weight, and its matching result by a second weight. Specifically, for each pixel, the product of its similarity value and the first weight is calculated to represent the contribution of the pixel's similarity to the final score. Similarly, the product of the matching result and the second weight is calculated to represent the contribution of the matching result to the final score. These two products are then added together to obtain the pixel's comprehensive score.

[0104] S10523: Determine the coordinates of the points of the same name based on the comprehensive scoring results of each pixel.

[0105] In the implementation, the coordinates of the homonymous points are determined based on the comprehensive scores of each pixel. Each pixel's comprehensive score indicates how closely it matches the target region; pixels with higher scores are more likely to be homonymous points in the target region. By sorting the comprehensive scores of all pixels, the pixel with the highest score is selected as the coordinates of the homonymous point. Specifically, the comprehensive scores of all pixels are calculated and sorted from high to low. The pixel location with the highest comprehensive score is then selected as the final coordinate of the homonymous point.

[0106] The homonymous point search method provided in the embodiment of the present application ensures the accurate positioning of homonymous points by comprehensively considering the similarity and the weight of the matching results. In the case of poor image quality or unsatisfactory preliminary matching results, the ZNCC results are introduced to ensure the accuracy of the scoring.

[0107] To ensure the accuracy of the final coordinates of the same-name points, in some implementations, S104 may include the following steps: S1041 to S1042 .

[0108] S1041: Traverse each pixel in the area to be searched, and construct a corresponding image block with each pixel as the center.

[0109] In the specific implementation, each pixel of the image to be searched is traversed, and a corresponding image block is constructed with each pixel as the center. An image block refers to a portion of the area extracted from a pixel according to a certain window size, centered on that pixel. For example, a window size is first determined, and then each pixel is traversed starting from the upper left corner of the image to be searched. For each pixel, a pixel area within a window is extracted with that pixel as the center to form an image block. For example, if the window size is 3x3 pixels, the software will start from a pixel in the image to be searched, select the 8 pixels surrounding it and the pixel itself, and form a 3x3 area. By traversing each pixel, a corresponding image block can be constructed for each pixel.

[0110] S1042: Calculate the matching degree between each image block and the preset homonymous point image block to obtain the matching result for each pixel. The preset homonymous point image block is an image block constructed based on the preset homonymous point position in any reference image, or an image block constructed based on the homonymous point coordinates of the previous successfully matched image to be searched.

[0111] In a specific implementation, the degree of match between each image block in the searched area and a preset homonymous point image block is calculated. This preset homonymous point image block is typically constructed based on a known homonymous point location in a reference image, or based on the coordinates of a homonymous point from a previously successfully matched image. For example, a homonymous point image block is first obtained from a reference image, extracted from a known homonymous point location in the target area. The similarity between each image block to be searched and the preset homonymous point image block is then calculated, yielding a matching result for each pixel.

[0112] The homonymous point search method provided in this embodiment of the application traverses each pixel in the image being searched and constructs an image block centered on that pixel, preparing for subsequent matching. The method then calculates the degree of match between the image block being searched and the pre-set homonymous point image block, deriving a matching result for each pixel and determining which areas best match the target area. This precise matching ensures the accuracy of the final coordinates of the homonymous points.

[0113] In order to perform matching tasks in more scenarios, in some implementations, S1052 may include the following steps: S10524 to S10526.

[0114] S10524: For each pixel in the area to be searched, pixel collection is performed on the contour edge of the image block corresponding to the pixel to obtain a discrete point set including multiple contour pixels.

[0115] In a specific implementation, the contour edge of the image block corresponding to each pixel in the search area is identified, and the edge pixels are collected to form a discrete point set. The contour of an image block generally refers to the boundary portion of the image block where the values ​​of different pixels vary significantly. Specifically, an edge detection algorithm is used to process the image block to extract the edges of the image block. Then, for each image block to be searched, these edge pixels are identified, and the coordinates of these pixels are used as a discrete point set for subsequent processing. For example, if a part within an image block is the edge of an object, the pixel values ​​of this part will be significantly different from those of the surrounding area, and the edge detection algorithm will extract these different pixels.

[0116] S10525: For each discrete point set, based on the relative positional relationship between each contour pixel and other remaining pixels, generate a cost matrix corresponding to the discrete point set.

[0117] In the specific implementation, a cost matrix is ​​generated based on the relative position relationship between the contour pixels in each discrete point set and the other remaining pixels. The cost matrix is ​​a numerical matrix used to represent the relationship between different pixels, and the values ​​in it represent the "cost" or "difficulty" of matching between two pixels. Specifically, each contour pixel in the discrete point set is analyzed and its relative position (such as distance, angle, etc.) with other non-contour pixels is calculated. By calculating the distance, angle, or other feature differences between these pixels, a matrix is ​​generated, in which each element represents the cost between two pixels.

[0118] S10526: Determine the similarity corresponding to each pixel according to the cost matrix corresponding to each discrete point set.

[0119] In the implementation, the similarity of each pixel is calculated based on the cost matrix corresponding to each discrete point set. The similarity reflects the degree of match between the pixels in the search area and the target area. Specifically, the total cost of each discrete point set is calculated based on the values ​​in the cost matrix. This cost reflects the match between the search image block and the target image block, resulting in the similarity of each pixel. A lower cost generally indicates a higher similarity, while a higher cost indicates a lower similarity. Ultimately, the similarity results are used to determine which pixels best match the target area.

[0120] The method for searching for points of the same name provided in this embodiment of the application proceeds from image block contour extraction to cost matrix calculation, and then to final similarity evaluation. These steps not only identify image edge features but also accurately calculate the similarity between the searched area and the target area. This allows shape matching to be used when the matching degree falls below a preset first threshold, enabling matching tasks in a wider range of scenarios.

[0121] In order to obtain a more accurate similarity, in some embodiments, S10522 may include the following steps: S105251 to S105253.

[0122] S105251: For each pixel in the discrete point set, determine a statistical region corresponding to the pixel, where the statistical region includes multiple sub-regions.

[0123] In a specific implementation, a statistical region is determined for each pixel in the discrete point set. The statistical region is a region containing multiple sub-regions for subsequent statistical analysis. The statistical region in which each pixel is located is determined based on the position coordinates of each pixel in the discrete point set. Each statistical region may contain multiple sub-regions. For example, the image region of the discrete point set can be divided into different grids or blocks, and each grid or block is a sub-region. Specifically, assuming that the discrete point set contains multiple pixels, the image region is divided into 4 sub-regions. For each pixel in the discrete point set, it is associated with the sub-region in which it is located. For example, pixel A and pixel B are classified into sub-region 1 and sub-region 2, respectively.

[0124] S105252: Based on the position coordinates of the remaining pixels in the discrete point set and the area range of each sub-area in the statistical area, the number of pixels in each sub-area is counted respectively to obtain the statistical result of a single pixel in the discrete point set.

[0125] In the implementation, the number of pixels in each subregion is counted, and these statistical results are used to represent the feature information of each pixel. Specifically, for each pixel in the discrete point set, its position coordinates are used to determine the statistical region and subregion to which it belongs. Then, all subregions within the statistical region are traversed, and the number of pixels in each subregion is counted.

[0126] S105253: Construct a cost matrix corresponding to the discrete point set based on the statistical results of all pixels in the discrete point set.

[0127] In the specific implementation, the statistical results obtained in S105252 are used to construct a cost matrix. A cost matrix represents the cost of matching between different pixels, where each element represents the cost of matching between two pixels. Specifically, based on the statistical results for each pixel, the cost between that pixel and other pixels is calculated. The cost calculation is influenced by multiple factors, such as the spatial distance between pixels, color differences, and the distribution of pixels within the statistical area.

[0128] The method for searching for points of the same name provided in this embodiment defines a statistical region based on the pixel information of a discrete point set and generates a cost matrix based on the statistical results. These steps effectively analyze the relationships between pixels and calculate the matching costs between them, providing a basis for subsequent similarity calculations and ultimately achieving more accurate similarity. This information can be used to populate the values ​​in the cost matrix.

[0129] In order to obtain accurate coordinates of the first homonymous point, in some embodiments, the multiple positioning methods include a projection point positioning method, and the projection point positioning method may include the following steps: S201 to S202.

[0130] S201: Determine the approximate three-dimensional coordinates of a target point based on the positions of a plurality of preset same-name points on a plurality of reference images and the pose parameters of the plurality of reference images.

[0131] In its implementation, the method first extracts keypoints from multiple reference images. Then, based on the pose parameters of each image, the positions of these keypoints in 3D space are calculated. Using a triangulation algorithm, the approximate 3D coordinates of the target point are inferred based on the positions and pose parameters of the keypoints in the reference images.

[0132] S202: Based on the approximate three-dimensional coordinates of the target point and the pose parameters of the image to be searched, the target point is reversely projected into the image to be searched to obtain the coordinates of the first point of the same name.

[0133] In the specific implementation, the three-dimensional coordinates of the target point and the pose parameters of the image to be searched are first obtained. The pose parameters of the image to be searched typically include the position and orientation of the camera capturing the image. Then, using the camera's projection model, the three-dimensional coordinates of the target point are converted into two-dimensional coordinates in the image using the camera's pose parameters. Specifically, the backprojection process involves transforming the point in three-dimensional space into the camera coordinate system using the camera's rotation matrix and displacement vector, and then calculating the position of the three-dimensional point on the image plane using the projection matrix. This results in the two-dimensional coordinates of the target point in the image to be searched, i.e., the coordinates of the first homonymous point.

[0134] The embodiment of the present application provides a method for searching for homonymous points. By extracting homonymous points from multiple reference images and combining them with the camera's posture parameters, the software can calculate the three-dimensional coordinates of the target point. Then, based on the three-dimensional coordinates of the target point and the posture parameters of the image to be searched, the three-dimensional coordinates are reversely projected into the image to be searched to obtain the two-dimensional coordinates of the target point, thereby obtaining the accurate coordinates of the first homonymous point.

[0135] In order to obtain accurate coordinates of the second homonymous point, in some embodiments, the multiple positioning methods further include a multi-point positioning method, and the multi-point positioning method may include the following steps: S301 to S304.

[0136] S301: Based on the first like-name point coordinates, a first coordinate system is established on the image to be searched with the first like-name point coordinates as the origin.

[0137] In the specific implementation, the coordinates of the first point of the same name in the image to be searched are first obtained, and then this coordinate is used as the origin of the new coordinate system. The positions of all other points will be calculated relative to this origin.

[0138] S302: Based on the preset keypoint position on one of the reference images, establish a second coordinate system on the reference image with the preset keypoint position as the origin.

[0139] In a specific implementation, first, determine the location of a preset homonymous point in the reference image, and then use this point as the origin of the new coordinate system. Then, select a preset homonymous point in the reference image and use the location of this homonymous point as the origin to establish a second coordinate system.

[0140] S303: Determine the position coordinates of multiple feature matching points in the first coordinate system and the second coordinate system respectively according to the feature matching results between the image to be searched and the multiple reference images.

[0141] In a specific implementation, a feature matching algorithm is first used to find points or feature points with the same name in the image to be searched and multiple reference images. This matching determines the coordinates of these points in the image to be searched. These matching points are then converted to their positions in the first coordinate system established in step S301. Similarly, the coordinates of the feature matching points in the reference images are determined in the second coordinate system. The feature matching algorithm compares the images pixel by pixel, searching for the most similar feature regions and ultimately determining the coordinates of the matching points.

[0142] S304: Based on an affine transformation algorithm, determine the affine coordinates of the origin coordinates in the second coordinate system in the first coordinate system according to the position coordinates of multiple feature matching points in the first coordinate system and the second coordinate system, and obtain the second same-name point coordinates.

[0143] Affine transformation is a linear transformation that preserves parallel lines and translations. It can transform points in one coordinate system to another through operations such as translation, rotation, and scaling.

[0144] In the specific implementation, a set of affine transformation parameters is first calculated based on the positions of multiple matching points in the first and second coordinate systems. These parameters are then used to transform the origin of the second coordinate system (i.e., the position of the preset keypoint) into the first coordinate system, obtaining the affine coordinates of the point in the first coordinate system and the coordinates of the second keypoint.

[0145] The method for searching for homonymous points provided in this application establishes two coordinate systems based on feature matching between multiple reference images and the image to be searched, and accurately determines the coordinate relationship between the different images through affine transformation. This coordinate system transformation and feature matching ensures the accurate positioning of homonymous points from different perspectives, and can provide precise coordinate information for subsequent tasks such as image processing and target tracking, thereby obtaining accurate coordinates of the second homonymous point.

[0146] In order to obtain accurate coordinates of the third homonymous point, in some embodiments, the multiple positioning methods include a polar line intersection positioning method, and the polar line intersection positioning method may include the following steps: S401 to S402.

[0147] S401: generating corresponding epipolar lines in the image to be searched according to a plurality of preset same-name point positions on a plurality of reference images, the pose parameters of the plurality of reference images, and the pose parameters of the image to be searched.

[0148] In the specific implementation, the locations and pose parameters of multiple preset keypoints in multiple reference images are first determined. Pose parameters typically refer to the camera's rotation matrix and translation vector, which describe the camera's position and orientation in the world coordinate system. Based on this information, the epipolar lines of each keypoint in the search image are calculated. To generate these epipolar lines, a camera projection model is used for geometric derivation. For each keypoint in the reference image, its corresponding epipolar line in the search image is calculated using its pose parameters and the camera projection model.

[0149] S402: Determine the coordinates of the third point of the same name according to the intersection positions of the multiple polar lines.

[0150] In the specific implementation, multiple epipolar lines are first determined. These epipolar lines are generated in step S401 and represent the projection paths of the homonymous points under different viewing angles. Then, the intersection of these epipolar lines is calculated by mathematical methods. The intersection of the epipolar lines should theoretically be the exact position of the homonymous point, and this position is obtained by calculating the intersection of multiple epipolar lines. Due to possible errors, the average value or optimal solution of multiple intersections is usually selected to determine the position of the homonymous point and determine the coordinates of the third homonymous point.

[0151] The method for searching for homonymous points provided in an embodiment of the present application utilizes homonymous points, posture parameters, and geometric relationships in multiple reference images to generate polar lines in the image to be searched, and accurately locates the position of the third homonymous point by calculating the intersection of multiple polar lines.

[0152] In order to obtain a more accurate three-dimensional spatial point, in some embodiments, S402 may include the following steps:

[0153] When the plurality of epipolar lines have at least two intersection positions, the third point of similarity coordinates are determined based on the plurality of intersection positions.

[0154] In the specific implementation, it is necessary to detect whether there are multiple epipolar intersections in the search image. If multiple epipolar lines do have two or more intersections, once the multiple intersection locations are confirmed, the weighted average position of the intersections is calculated. In some cases, it is necessary to remove obviously abnormal data from the multiple intersection locations. For example, a point whose distance from other intersections is greater than a preset threshold is considered an outlier. Based on the weighted average calculation result, the coordinates of the third homonymous point are determined and output as the final calculation result, and the final coordinates of the third homonymous point are output.

[0155] The method for searching for homonymous points provided in the present application uses the locations of multiple intersections to determine the coordinates of a third homonymous point, checks the number and validity of the intersections, uses methods such as weighted averaging to accurately calculate the locations of the intersections, and outputs the final homonymous point coordinates, thereby obtaining a more accurate three-dimensional spatial point location.

[0156] In order to optimize the precise positioning of the homonymous points, in some embodiments, the method may further include the following steps: S501 to S502.

[0157] S501: When the coordinates of the same-name points of the image to be searched are obtained, based on the multiple preset same-name point positions corresponding to the target points on the multiple reference images and the posture parameters of the multiple reference images, multiple polar lines corresponding to the multiple preset same-name point positions are generated in the image to be searched.

[0158] In the implementation, the coordinates of the keypoints of the image to be searched are obtained. Then, multiple epipolar lines are generated using the positions and pose parameters of multiple preset keypoints in each reference image. These keypoints correspond to each other in different images, and the pose parameters describe the position and orientation of the camera in space for each reference image. Based on these pose parameters and the positions of the preset keypoints, the positions of the epipolar lines can be calculated using geometric relationships and a camera projection model.

[0159] S502: When the distances between the coordinates of the homonymous point and the plurality of polar lines meet the quality inspection conditions, it is determined that the homonymous point search is successful.

[0160] In the implementation, the distance between the coordinates of the keypoint in the image being searched and the generated epipolar lines is first calculated. The calculated distance is then compared with a quality control condition. This quality control condition can be a preset tolerance range, such as the maximum allowable distance error. If the distance is less than or equal to the tolerance range, the keypoint is correctly located and the search is successful. If it exceeds the tolerance range, the location fails and recalculation or parameter adjustment may be required.

[0161] The present invention provides a method for searching for homonymous points. This method generates epipolar lines based on multiple reference images and camera pose parameters, and verifies the coordinates of the homonymous points using quality control criteria. Epipolar lines are calculated based on multiple preset homonymous points and pose parameters. The successful search for homonymous points is verified by calculating the distances from the homonymous points to these epipolar lines. The precise positioning of the homonymous points is optimized by calculating geometric relationships.

[0162] As another embodiment, the rapid search and precise matching of points with the same name are achieved through two stages: the first is rough positioning, which aims to quickly locate and narrow the search range; the second is precise matching, which finds the point with the highest similarity as the point with the same name. Figure 2Rough positioning is primarily achieved through three methods: projection point positioning, four-point positioning based on affine transformation, and multipolar intersection positioning. In the projection point positioning process, the approximate 3D coordinates of the target point are first measured through forward intersection based on two or more manually selected homonymous points. Then, combined with the known poses of each image, this 3D point is back-projected onto the other images, resulting in the first set of homonymous point coordinates. However, since it is difficult to ensure the optimal intersection angle when selecting points, the calculated approximate 3D coordinates lack sufficient accuracy, and the results of back-projection point positioning can only be used as a reference. In the four-point positioning process based on affine transformation, by searching existing feature extraction and feature matching results, a set of feature matching pairs in each of the four quadrants with the homonymous point as the origin is found (generally, the feature point pairs closest to the origin are selected). The second set of homonymous point coordinates is then calculated using the affine transformation formula. However, this method may fail near image edges due to the inability to obtain four sets of feature point pairs covering all four quadrants. Therefore, the results of four-point positioning can only be used as a reference. In the process of multipolar line intersection location, multiple known homonymous points are projected onto other unknown images. In theory, the multipolar lines will intersect at one point, which is the homonymous point. However, in reality, multiple polar lines often intersect at multiple intersection points, which are distributed near the true homonymous point. Therefore, the results of this method can only be used as a reference.

[0163] After that, information fusion is performed on the above three results. If the three are close, a rectangular search area is constructed together; if one of them is inconsistent, the other two sets of results that are closer are taken; if all three are inconsistent, it is necessary to split it into two sub-areas and search for matches separately. However, this situation is very rare, reflecting that there may be major problems in the solution of the previous posture. Therefore, in most cases, it can converge to a whole area to be searched.

[0164] In the process of exact matching, accurate matching is performed based on ZNCC. In the search area, all pixels are traversed, and an image block is constructed with each pixel as the center. Then, the image blocks with known points of the same name are matched one by one, and the ZNCC value is calculated, such as Figure 3 As shown in the figure. For suspected homonymous points with the highest ZNCC score that meet a threshold (e.g., 0.7), the average distance to each known epipolar line is calculated. If the average distance is less than 10 pixels, the quality inspection passes and the homonymous point is considered a successful match. The ZNCC metric is effective for scenes with image rotations of no more than 15°. However, for larger rotations, the similarity of the tiles decreases rapidly, so that even correct matching points cannot meet the 0.7 threshold. In this case, shape matching is needed to address this issue.

[0165] Furthermore, facing larger corners, the similarity of the blocks will drop rapidly, and shape matching needs to be introduced to deal with this. Shape matching is based on shape context features, which is used to characterize the distribution of other pixel points in the neighborhood of a pixel point. For a given image block, the contour of the image block is obtained, and a set of discrete point sets, n in number, are collected from the edge of the contour. Calculate the shape context. Take any point in the point set obtained above as a reference point, take this point as the center of the circle, and establish N concentric circles at logarithmic distances in an area with R as the radius. Divide this area into M equal parts along the circumference to form the following: Figure 4 The target template shown. The vector relative position of this point to other points is simplified to the number of points distributed in each sector on the template. The statistical distribution histogram of these points becomes the shape context of the point. The shape context at different points is different, but corresponding points of similar contours tend to have similar shape contexts, such as Figure 5 As shown in the figure, by sampling n points, each serving as a reference point, we can ultimately obtain n shape histograms. These histograms describe the characteristics of the entire contour shape. The more sampling points, the finer the shape representation, but the greater the computational effort. A cost matrix is ​​calculated, and point matching is performed based on this matrix. A larger result indicates greater dissimilarity, while a smaller result indicates greater similarity.

[0166] After obtaining the shape matching similarity score, the ZNCC and shape context results are weighted to obtain a comprehensive score. Finally, the point with the highest similarity is selected based on this comprehensive score. Because the shape matching algorithm consumes a lot of computing power, it is only used when a single ZNCC match fails. Similarly, the point is also subjected to a quality check. If it passes, the match is successful; otherwise, the match fails.

[0167] Regardless of the success or failure of the match, as long as the matching of the same-name points of all images is not completed, it will automatically jump to the next frame to start a new round of matching. However, the difference is: if the match is successful, the same-name points of the most recently matched image will be used as a reference; if the match fails, the same-name points of the previous image will still be used as a reference.

[0168] Based on the method for searching for points with the same name provided in the above embodiment, the present application also provides a specific implementation of a device for searching for points with the same name, as shown in the following embodiment.

[0169] See first Figure 6 The embodiment of the present application provides a device 600 for searching for points of the same name, comprising the following modules:

[0170] The acquisition module 601 is used to acquire a plurality of preset same-name point positions corresponding to a target point on a plurality of reference images.

[0171] The positioning module 602 is used to obtain multiple reference coordinates of the same-name points of the target point on the image to be searched based on multiple preset same-name point positions and using multiple positioning methods.

[0172] The determination module 603 is configured to determine a region to be searched in the image to be searched based on a plurality of reference coordinates of points of the same name.

[0173] The traversal module 604 is configured to traverse each pixel in the area to be searched using a preset matching algorithm to obtain a matching result for each pixel.

[0174] The determination module 603 is further configured to determine the coordinates of a point of the same name corresponding to the target point in the image to be searched based on the matching results of the multiple pixels.

[0175] As an implementation of the present application, the determination module 603 includes:

[0176] The determining unit is configured to determine, when a maximum value among a plurality of matching results satisfies a threshold condition, the pixel coordinates of a pixel corresponding to the maximum value of the matching results as the coordinates of the homonymous point.

[0177] The determining unit is further configured to calculate the similarity of each pixel in the search area using a shape matching algorithm when the maximum value among the multiple matching results does not meet the threshold condition, and determine the coordinates of the points of the same name based on the similarity of each pixel.

[0178] As an implementation of the present application, the determining unit includes:

[0179] The acquisition subunit is used to obtain a first weight corresponding to the similarity and a second weight corresponding to the matching result.

[0180] The calculation subunit is used to calculate the product of the similarity and the first weight, and the product of the matching result and the second weight for each pixel, to obtain a corresponding comprehensive scoring result.

[0181] The determination subunit is used to determine the coordinates of the same-name points according to the comprehensive scoring results of each pixel.

[0182] As an implementation of the present application, the traversal module 604 includes:

[0183] The traversal unit is used to traverse each pixel in the area to be searched and construct a corresponding image block with each pixel as the center.

[0184] A calculation unit is used to calculate the matching degree of each image block with a preset homonymous point image block to obtain a matching result for each pixel. The preset homonymous point image block is an image block constructed based on the preset homonymous point position in any reference image, or an image block constructed based on the coordinates of the homonymous point of the previous successfully matched image to be searched.

[0185] As an implementation of the present application, the determining unit includes:

[0186] The acquisition subunit is used to perform pixel acquisition on the contour edge of the image block corresponding to each pixel in the area to be searched, so as to obtain a discrete point set containing multiple contour pixels.

[0187] The generating subunit is used to generate a cost matrix corresponding to each discrete point set based on the relative position relationship between each contour pixel and other remaining pixels.

[0188] The determination subunit is used to determine the similarity corresponding to each pixel according to the cost matrix corresponding to each discrete point set.

[0189] As an implementation of the present application, a generation subunit includes:

[0190] The determination subunit is used to determine, for each pixel in the discrete point set, a statistical area corresponding to the pixel, where the statistical area includes multiple sub-areas.

[0191] The statistical subunit is used to count the number of pixels in each sub-region based on the position coordinates of the remaining pixels in the discrete point set and the area range of each sub-region in the statistical area, so as to obtain the statistical result of a single pixel in the discrete point set.

[0192] The subunit is constructed to construct a cost matrix corresponding to the discrete point set based on the statistical results of all pixels in the discrete point set.

[0193] As an implementation of the present application, the device 600 for searching for points of the same name further includes:

[0194] The determination module is used to determine the approximate three-dimensional coordinates of the target point based on the positions of multiple preset same-name points on multiple reference images and the posture parameters of multiple reference images.

[0195] The projection module is used to reversely project the target point into the image to be searched based on the approximate three-dimensional coordinates of the target point and the pose parameters of the image to be searched, so as to obtain the coordinates of the first point of the same name.

[0196] As an implementation of the present application, the device 600 for searching for points of the same name further includes:

[0197] The establishing module is used to establish a first coordinate system on the image to be searched based on the first coordinate of the same name point and taking the first coordinate of the same name point as the origin.

[0198] The establishing module is further used to establish a second coordinate system on the reference image with the preset homonymous point position as the origin based on the preset homonymous point position on one of the reference images.

[0199] The determination module is used to determine the position coordinates of multiple feature matching points in the first coordinate system and the second coordinate system respectively according to the feature matching results of the image to be searched and the multiple reference images.

[0200] The determination module is also used to determine the affine coordinates of the origin coordinates in the second coordinate system in the first coordinate system according to the position coordinates of multiple feature matching points in the first coordinate system and the second coordinate system based on the affine transformation algorithm to obtain the second homonymous point coordinates.

[0201] As an implementation of the present application, the device 600 for searching for points of the same name further includes:

[0202] The generation module is used to generate corresponding multiple epipolar lines in the image to be searched according to multiple preset same-name point positions on multiple reference images, the posture parameters of the multiple reference images and the posture parameters of the image to be searched.

[0203] The determination module is used to determine the coordinates of the third point of the same name according to the intersection position of multiple polar lines.

[0204] Each module in the homonymous point search device provided in the embodiment of the present application can implement each step in the above-mentioned homonymous point search method and achieve corresponding effects. For the sake of brevity, they will not be repeated here.

[0205] Figure 7 A schematic diagram of the structure of the hardware for searching for points of the same name provided in an embodiment of the present application is shown.

[0206] The device for searching for points of the same name may include a processor 701 and a memory 702 storing computer program instructions.

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

[0208] The memory 702 may include a large capacity memory for data or instructions. By way of example and not limitation, the memory 702 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive, or a combination of two or more of these. Where appropriate, the memory 702 may include removable or non-removable (or fixed) media. Where appropriate, the memory 702 may be inside or outside the integrated gateway disaster recovery device. In a specific embodiment, the memory 702 is a non-volatile solid-state memory.

[0209] The memory may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device. Thus, generally, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the method for searching for points of the same name according to any one embodiment of the present disclosure.

[0210] The processor 701 reads and executes computer program instructions stored in the memory 702 to implement any one of the methods for searching for points of the same name in the above embodiments.

[0211] In one example, the device for searching for points with the same name may further include a communication interface 703 and a bus 710. Figure 7 As shown, the processor 701, the memory 702, and the communication interface 703 are connected via a bus 710 and communicate with each other.

[0212] The communication interface 703 is mainly used to implement communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0213] Bus 710 includes hardware, software or both, and the parts of online data flow metering equipment are coupled to each other. For example, but not limitation, bus can include accelerated graphics port (AGP) or other graphics bus, enhanced industry standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnection, industry standard architecture (ISA) bus, infinite bandwidth interconnection, low pin count (LPC) bus, memory bus, micro channel architecture (MCA) bus, peripheral component interconnection (PCI) bus, PCI-Express (PCI-X) bus, serial advanced technology attachment (SATA) bus, video electronics standard association local (VLB) bus or other suitable bus or two or more of these combinations. In appropriate cases, bus 710 can include one or more buses. Although the present application embodiment describes and shows specific bus, the application considers any suitable bus or interconnection.

[0214] In addition, in conjunction with the method for searching for points with the same name in the above embodiments, embodiments of the present application may provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when the computer program instructions are executed by a processor, any of the methods for searching for points with the same name in the above embodiments is implemented.

[0215] An embodiment of the present application further provides a computer program product, including a computer program, which, when executed, implements any one of the methods for searching for points of the same name in the above embodiments.

[0216] It should be understood that the present application is not limited to the specific configurations and processes described above and illustrated in the figures. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and illustrated as examples. However, the method process of the present application is not limited to the specific steps described and illustrated. Those skilled in the art can make various changes, modifications, and additions, or change the order of the steps after understanding the spirit of the present application.

[0217] The functional blocks shown in the above-described block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, they can be, for example, electronic circuits, application specific integrated circuits (ASICs), appropriate firmware, plug-ins, function cards, etc. When implemented in software, the elements of the present application are programs or code segments that are used to perform the required tasks. The program or code segment can be stored in a machine-readable medium, or transmitted on a transmission medium or a communication link by a data signal carried in a carrier wave. "Machine-readable medium" can include any medium that can store or transmit information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, ROMs, flash memories, erasable ROMs (EROMs), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.

[0218] It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, this application is not limited to the order of the above steps. In other words, the steps can be performed in the order mentioned in the embodiments, or in a different order, or several steps can be performed simultaneously.

[0219] Aspects of the present disclosure have been described above with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine so that these instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the function / action specified in one or more boxes of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor or a field programmable logic circuit. It is also understood that each box in the block diagram and / or flowchart and the combination of the boxes in the block diagram and / or flowchart can also be implemented by dedicated hardware that performs the specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0220] The above description is only a specific embodiment of the present application. Those skilled in the art will clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules and units described above can refer to the corresponding processes in the aforementioned method embodiments, and will not be repeated here. It should be understood that the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the scope of protection of the present application.

Claims

1. A method for searching points of the same name, characterized in that: The method comprises: Acquire positions of a plurality of preset same-name points corresponding to target points on a plurality of reference images; For the image to be searched, based on the multiple preset homonymous point positions, multiple positioning methods are used to respectively obtain multiple homonymous point reference coordinates of the target point on the image to be searched; Determining a to-be-searched area in the to-be-searched image based on the multiple reference coordinates of the same-name points; Using a preset matching algorithm to traverse each pixel in the area to be searched, and obtain a matching result for each pixel; Based on the matching results of the multiple pixels, the coordinates of the points of the same name corresponding to the target point in the image to be searched are determined.

2. The method for searching for points of the same name according to claim 1, wherein: The step of determining the coordinates of a point of the same name corresponding to a target point in the image to be searched based on the matching results of the plurality of pixels includes: When a maximum value among the multiple matching results satisfies a threshold condition, the pixel coordinates of the pixel corresponding to the maximum value of the matching results are determined as the coordinates of the homonymous point; When the maximum value among the multiple matching results does not meet the threshold condition, the similarity of each pixel in the area to be searched is calculated using a shape matching algorithm, and the coordinates of the points of the same name are determined based on the similarity of each pixel.

3. The method for searching for points of the same name according to claim 2, wherein: The determining of the coordinates of the points of the same name based on the similarity of the pixels includes: Obtaining a first weight corresponding to the similarity and a second weight corresponding to the matching result; For each pixel, calculating the product of the similarity and the first weight, and the product of the matching result and the second weight, to obtain a corresponding comprehensive score result; The coordinates of the points of interest are determined based on the comprehensive scoring results of the pixels.

4. The method for searching for points of the same name according to claim 2, wherein: The method of traversing each pixel in the area to be searched using a preset matching algorithm to obtain a matching result for each pixel includes: Traversing each pixel in the area to be searched, and constructing a corresponding image block with each pixel as the center; The matching degree between each of the image blocks and a preset homonymous point image block is calculated to obtain a matching result for each pixel. The preset homonymous point image block is an image block constructed based on the preset homonymous point position in any reference image, or an image block constructed based on the coordinates of the homonymous point of a previous successfully matched image to be searched.

5. The method for searching for points of the same name according to claim 4, wherein: The calculating the similarity of each pixel in the area to be searched by using a shape matching algorithm includes: For each pixel in the area to be searched, pixel collection is performed on the contour edge of the image block corresponding to the pixel to obtain a discrete point set containing multiple contour pixels; For each of the discrete point sets, generating a cost matrix corresponding to the discrete point set based on the relative position relationship between each contour pixel and other remaining pixels; The similarity corresponding to each pixel is determined according to the cost matrix corresponding to each discrete point set.

6. The method for searching for points of the same name according to claim 5, wherein: The step of generating, for each discrete point set, a cost matrix corresponding to the discrete point set based on a relative positional relationship between each contour pixel and other remaining pixels includes: For each pixel in the discrete point set, determining a statistical region corresponding to the pixel, where the statistical region includes a plurality of sub-regions; Based on the position coordinates of the remaining pixels in the discrete point set and the area range of each sub-area in the statistical area, the number of pixels in each sub-area is counted to obtain a statistical result of a single pixel in the discrete point set; According to the statistical results of all pixels in the discrete point set, a cost matrix corresponding to the discrete point set is constructed.

7. The method for searching for points of the same name according to claim 1, wherein: The multiple positioning methods include a projection point positioning method, and the projection point positioning method includes: Determining the approximate three-dimensional coordinates of the target point based on the positions of a plurality of preset like-name points on the plurality of reference images and the pose parameters of the plurality of reference images; Based on the approximate three-dimensional coordinates of the target point and the pose parameters of the image to be searched, the target point is reversely projected into the image to be searched to obtain the coordinates of the first point of the same name.

8. The method for searching for points of the same name according to claim 7, wherein: The multiple positioning methods also include a multi-point positioning method, and the multi-point positioning method includes: Based on the first coordinates of the same name point, establishing a first coordinate system on the image to be searched with the first coordinates of the same name point as the origin; Based on a preset keypoint position on one of the reference images, establishing a second coordinate system on the reference image with the preset keypoint position as an origin; Determining position coordinates of a plurality of feature matching points in the first coordinate system and the second coordinate system, respectively, based on feature matching results between the image to be searched and the plurality of reference images; Based on an affine transformation algorithm, the affine coordinates of the origin coordinates in the second coordinate system in the first coordinate system are determined according to the position coordinates of multiple feature matching points in the first coordinate system and the second coordinate system, thereby obtaining the second coordinates of the same name points.

9. The method for searching for points of the same name according to claim 1, wherein: The multiple positioning methods include an epipolar line intersection positioning method, and the epipolar line intersection positioning method includes: generating corresponding epipolar lines in the image to be searched according to the positions of the plurality of preset same-name points on the plurality of reference images, the pose parameters of the plurality of reference images, and the pose parameters of the image to be searched; The coordinates of the third point of similarity are determined according to the intersection positions of the plurality of polar lines.

10. The method for searching for points of the same name according to claim 9, wherein: Determining the coordinates of the third point of similarity based on the intersection positions of the plurality of polar lines includes: When the plurality of epipolar lines have at least two intersection positions, the third point-of-sense coordinates are determined based on the plurality of intersection positions.

11. The method for searching for points of the same name according to any one of claims 1 to 10, characterized in that: The method further comprises: When the coordinates of the same-name points of the image to be searched are obtained, based on the same-name point positions corresponding to the target point on the reference images and the pose parameters of the reference images, generating a plurality of epipolar lines corresponding to the same-name point positions in the image to be searched; If the distances between the coordinates of the homonymous point and the plurality of epipolar lines meet the quality inspection condition, it is determined that the homonymous point search is successful.

12. A device for searching for points of the same name, characterized in that: The device comprises: An acquisition module, configured to acquire positions of a plurality of preset same-name points corresponding to target points on a plurality of reference images; A positioning module is used to obtain, for the image to be searched, based on the multiple preset homonymous point positions, multiple positioning methods to obtain the multiple homonymous point reference coordinates of the target point on the image to be searched; a determination module, configured to determine a region to be searched in the image to be searched based on the multiple reference coordinates of the same-name points; A traversal module, configured to traverse each pixel in the area to be searched using a preset matching algorithm to obtain a matching result for each pixel; The determination module is further configured to determine the coordinates of a point of the same name corresponding to the target point in the image to be searched based on the matching results of the multiple pixels.

13. A device for searching for points of the same name, characterized in that: The device includes: a processor and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the method for searching for points of the same name according to any one of claims 1 to 11.

14. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed by a processor, the method for searching for points of the same name according to any one of claims 1 to 11 is implemented.

15. A computer program product, characterized in that When the instructions in the computer program product are executed by a processor of an electronic device, the electronic device is enabled to execute the method for searching for points of the same name as claimed in any one of claims 1 to 11.