Real-time vision positioning method for agv
By employing GPU-accelerated SIFT-GPU technology, SVD dimensionality reduction, and multi-scale KD tree indexing, the AGV visual positioning method is optimized, solving the problems of high computational complexity and large storage requirements in traditional methods. This achieves fast and accurate position recognition and attitude estimation, improving computational efficiency and real-time performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GUANGDONG JATEN ROBOT & AUTOMATION
- Filing Date
- 2026-02-13
- Publication Date
- 2026-06-02
AI Technical Summary
Traditional AGV visual positioning methods have high computational complexity and large storage requirements in large-scale work scenarios, making it difficult to meet real-time requirements and costly. Existing technologies lack effective feature dimensionality reduction and indexing mechanisms, resulting in low computational efficiency.
Feature point extraction is performed using GPU-accelerated SIFT-GPU technology, combined with SVD dimensionality reduction and multi-scale KD tree indexing, and a dynamic voting mechanism for real-time matching. Parallel computing is achieved using the CUDA architecture, with adaptive feature point sampling and dynamic multi-scale nearest neighbor search to optimize the feature matching process.
It significantly improves feature extraction speed and computational efficiency, reduces data computation difficulty, and enables fast and accurate location recognition and pose estimation in large-scale image databases, thereby enhancing real-time performance and robustness.
Smart Images

Figure CN122134804A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of devices, and in particular to a real-time visual positioning method for AGVs. Background Technology
[0002] Some AGVs achieve positioning and movement within their work environment using vision-based solutions. Traditional vision-based positioning methods require feature matching of each query image with all images in the database, which is computationally intensive. To meet the real-time requirements of applications such as robot navigation, it is often necessary to reduce matching accuracy or increase hardware computing performance. However, increasing hardware computing performance often increases hardware costs. Furthermore, in large-scale work environments, the high-dimensional feature descriptor data generated by vision-based positioning consumes a large amount of storage space, and the computation is complex and inefficient, which is not conducive to large-scale applications. Summary of the Invention The purpose of this invention is to overcome the shortcomings of the prior art and provide a real-time visual positioning method for AGVs, which can reduce the difficulty of data calculation, simplify calculation, and improve calculation efficiency.
[0003] To achieve the above objectives, the present invention adopts the following technical solution: AGV real-time visual positioning methods include: Data acquisition: The AGV moves, and the vision recognition system collects images of the working environment; Data preprocessing: The acquired image data is preprocessed, and the global pose of the acquired image is recorded. The image dataset and the corresponding pose information are stored in the image database. Feature point extraction: SIFT feature points are extracted from each image in the database using GPU-accelerated SIFT-GPU technology, and several high-dimensional SIFT descriptors are generated. Dimensionality reduction: Dimensionality reduction is performed on high-dimensional SIFT descriptors; Pose calculation: Based on the global pose of the pre-stored database images, calculate and extract the global pose of each feature point; Indexing: Divide all feature points of the dimensionality-reduced dataset into several groups based on the magnitude of the response value; Real-time matching image dataset: Based on the current pose information of the AGV, several datasets with similar poses to the current AGV are extracted from the database. The current image is processed, and based on the feature point response values extracted from the current image, it is assigned to the corresponding response value scale group of the dataset. Within each scale group, a K-nearest neighbor search is performed on each feature point of the current image, and the search results are globally sorted. Several best matches are selected as candidate feature pairs. The number of feature points matching each image in the dataset with the current image is counted, and the dataset with the most matches is selected as the most relevant candidate image dataset. Candidate pose voting: Based on the feature points of the most relevant candidate image dataset, calculate the candidate poses of matching feature point pairs, and form a candidate pose point set by the poses corresponding to feature point pairs that meet the range; construct a voting grid covering the entire pose space in the coordinate system, project the translation components of the candidate poses onto the grid and accumulate the votes, traverse all grid cells, and select the grid region with the most votes and closest to the predicted pose as the peak region where the predicted pose is most likely to occur; select all feature points that vote to the peak grid to form an interior point set; Global pose calculation: Based on the inlier set, the ransac method is used to filter inliers. Based on the filtered inliers, the SVD method is used to calculate the global pose of the current test image. Then, the current pose of the AGV is obtained by converting the camera's installation pose under the AGV. When it is determined that the current test image is not in the dataset, the AGV's odometer is used for positioning and navigation to the next target point.
[0004] Compared with the prior art, the AGV real-time visual positioning method of the present invention has the following beneficial effects: (1) This invention relates to SIFT feature extraction, data dimensionality reduction processing, multi-scale KD tree indexing and search, and dynamic voting mechanism, thereby reducing the difficulty of data calculation, simplifying calculation, improving real-time performance, and improving calculation efficiency, so as to enable fast and accurate position recognition and pose estimation in working environments with large-scale image databases; (2) Traditional calculation methods lack effective feature dimensionality reduction and indexing mechanisms, and are computationally complex. In this invention, the high-dimensional SIFT descriptors are dimensionality reduced, thereby optimizing the data without reducing the matching accuracy and improving the efficiency of subsequent data processing. (3) The present invention uses a multi-scale KD tree indexing mechanism to process the data in the image database, and organizes the relevant data into multi-dimensional scale group data, which facilitates subsequent retrieval and thus improves the feature matching efficiency. (4) When matching image datasets in real time, this invention assigns all feature points contained in the image to the corresponding scale group according to their scale values, which can achieve pre-screening of scale matching, thereby reducing the difficulty of subsequent calculations and improving calculation efficiency. (5) The candidate pose voting of the present invention involves a pose estimation technique based on voting, and is a pose estimation method based on prior pose, which has high real-time performance.
[0005] Furthermore, the GPU-accelerated SIFT-GPU technology for batch extraction of SIFT feature points from images within the reference image database includes the following steps: GPU parallel computing optimization: Parallelization of the SIFT algorithm using the CUDA architecture; Key point detection: The SIFTGPU method is used to detect feature points and descriptors in the image; PCA Descriptor Dimensionality Reduction: The calculated feature point descriptors are reduced in dimensionality using principal component analysis.
[0006] This invention transforms traditional CPU serial computing into GPU massively parallel computing, which can increase feature extraction speed by 10-20 times and improve computational efficiency; the construction of multi-scale pyramids can effectively detect key points at different scales; the descriptor computation of this invention can ensure the invariance of data transformation rotation.
[0007] Furthermore, during the feature extraction process, an adaptive feature point sampling strategy is used to extract feature points, including the following steps: Response value sorting sampling: SIFT feature points are sorted in descending order based on their response values, and feature points with response values higher than a preset threshold are selected first and defined as stable feature points. Spatial distribution balance: Divide the image into a regular grid, and limit the number of feature points in each grid area to no more than a set value m, where m>1; Fixed sampling quantity control: n feature points are sampled for each reference image, n≥1.
[0008] The adaptive feature point sampling strategy ensures the uniformity and representativeness of the database feature distribution, avoiding interference in subsequent calculations due to uneven or unrepresentative data selection. Spatial distribution balance processing avoids the impact on calculation results caused by excessive concentration of feature points in texture-rich areas. Fixed sampling quantity control ensures the balance of feature contributions from different images in the database.
[0009] Furthermore, during the dimensionality reduction process, an adaptive principal component analysis dimensionality reduction algorithm based on SVD is executed.
[0010] Furthermore, the execution of the SVD-based adaptive principal component analysis dimensionality reduction algorithm includes the following steps: Covariance matrix calculation: Calculate the mean vector of all feature descriptors in the image database, construct a mean-free feature matrix, and calculate the covariance matrix. SVD decomposition optimization: The covariance matrix is decomposed using the Jacobi SVD algorithm to obtain eigenvalues and eigenvectors. The top k principal components with a cumulative contribution rate of 90-95% are selected, where k > 1.
[0011] Dimensionality reduction transformation: Project the original high-dimensional SIFT descriptor onto the 16-dimensional PCA subspace to complete the dimensionality reduction of the SIFT descriptor.
[0012] Furthermore, the indexing process includes the following steps: Scale statistics and grouping: Statistically analyze the scale distribution of all feature points in the image database, sort the scale values in ascending order, and divide them into p scale groups according to the principle of uniform distribution; Independent KD-tree construction: An independent KD-tree index is constructed for each scale group, based on the KDTreeIndexParams parameter of the FLANN library, setting the corresponding tree depth and leaf node size; Memory optimization management: A dynamic memory allocation strategy is adopted to allocate corresponding storage space according to the number of features in each scale group.
[0013] The indexing process of this invention is based on the multi-scale KD tree indexing technology of SVD, and the memory optimization management can avoid memory waste, thereby freeing up memory space for storage and computation.
[0014] Furthermore, during the real-time matching of image datasets, a dynamic multi-scale nearest neighbor algorithm is used to search and select several best matches as candidate feature pairs.
[0015] Furthermore, the dynamic multi-scale nearest neighbor search algorithm is executed, including the following steps: Real-time image scale group assignment: Based on the current pose information of the AGV, query images with a preset dynamic range, and assign the images to the corresponding scale groups according to the scale values of all feature points of the queried images; Parallel KNN search: K-nearest neighbor search is performed in parallel in the KD tree of each scale group. The search is performed on all scale groups, and the nearest feature points in the search dataset are globally sorted according to feature distance. The top 100 best matching feature pairs are selected as candidate feature pairs. Candidate dataset images: Calculate the number of matching features for each image in the dataset, select the dataset image with the most matching features as the most relevant candidate image, find the nearest neighbor dataset image of the pose calculated for the test image, and when the candidate image is the same as the nearest neighbor dataset image of the test image, then the dataset image can be determined as the image to be detected.
[0016] The dynamic multi-scale nearest neighbor search algorithm achieves scale-matched data pre-screening and dynamic scale-aware feature matching, which can significantly improve search efficiency.
[0017] Furthermore, the execution of candidate pose voting includes the following steps: Candidate pose calculation: Utilizing the local coordinate transformation relationship of feature points, based on each matching feature point pair in the most relevant candidate image dataset, inliers are filtered using the ransac method. The global pose of the candidate image is calculated using the SVD method based on the filtered inliers. The calculated global pose is compared with the pre-predicted pose, and the poses corresponding to feature point pairs that meet the preset range are formed into a candidate pose point set. Voting grid construction: Construct a voting grid in the world coordinate system according to preset rules. The grid size is set to A×B pixels, A and B≥10. The voting grid covers the entire possible pose space. Pose voting statistics: Project the translation component of each candidate pose onto the voting grid, and accumulate the votes for the corresponding grid cells; Peak detection: Traverse all grid cells and select the grid region with the most votes and the closest to the predicted pose as the peak region most likely to have the predicted pose. Interior point feature selection: Select all feature points that vote to the peak grid as the interior point set for subsequent accurate pose calculation.
[0018] Furthermore, after position calculation, RANSAC robust pose optimization is performed. The execution of RANSAC robust pose optimization includes: converting pixel coordinates into normalized camera coordinates using the parameter matrix in the visual camera, thereby performing RANSAC optimization in the camera coordinate system; and using the least squares method to fit rotation and translation parameters to calculate the pose change relationship between the two images.
[0019] After RANSAC robust pose optimization, the accuracy and robustness of pose estimation are improved, thus making the map stable. Attached Figure Description
[0020] Figure 1 This is a flowchart of the present invention. Detailed Implementation
[0021] The embodiments of the present invention are described below with reference to the accompanying drawings: See Figure 1 The AGV real-time visual positioning method of this embodiment includes: Data acquisition: The AGV moves, and the vision recognition system collects images of the working environment; Data preprocessing: The acquired image data is preprocessed, and the global pose of the acquired image is recorded. The image dataset and the corresponding pose information are stored in the image database. Feature point extraction: SIFT feature points are extracted from each image in the database using GPU-accelerated SIFT-GPU technology, and several high-dimensional SIFT descriptors are generated. Dimensionality reduction: Dimensionality reduction is performed on high-dimensional SIFT descriptors; Pose calculation: Based on the global pose of the pre-stored database images, calculate and extract the global pose of each feature point; Indexing: Divide all feature points of the dimensionality-reduced dataset into several groups based on the magnitude of the response value; Real-time matching image dataset: Based on the current pose information of the AGV, several datasets with similar poses to the current AGV are extracted from the database. The current image is processed, and based on the feature point response values extracted from the current image, it is assigned to the corresponding response value scale group of the dataset. Within each scale group, a K-nearest neighbor search is performed on each feature point of the current image, and the search results are globally sorted. Several best matches are selected as candidate feature pairs. The number of feature points matching each image in the dataset with the current image is counted, and the dataset with the most matches is selected as the most relevant candidate image dataset. Candidate pose voting: Based on the feature points of the most relevant candidate image dataset, calculate the candidate poses of matching feature point pairs, and form a candidate pose point set by the poses corresponding to feature point pairs that meet the range; construct a voting grid covering the entire pose space in the coordinate system, project the translation components of the candidate poses onto the grid and accumulate the votes, traverse all grid cells, and select the grid region with the most votes and closest to the predicted pose as the peak region where the predicted pose is most likely to occur; select all feature points that vote to the peak grid to form an interior point set; Global pose calculation: Based on the inlier set, the ransac method is used to filter inliers. Based on the filtered inliers, the SVD method is used to calculate the global pose of the current test image. Then, the current pose of the AGV is obtained by converting the camera's installation pose under the AGV. When it is determined that the current test image is not in the dataset, the AGV's odometer is used for positioning and navigation to the next target point.
[0022] Data preprocessing includes: compressing the image size to reduce computation, and performing image equalization to improve image contrast and facilitate feature point extraction.
[0023] To illustrate the feature point extraction process, suppose we have 10 images, and each image has 100 feature points detected, meaning 1000 points are entered into the database. Then, we will calculate the data information contained in these points.
[0024] Pose calculation is as follows: Each dataset image stores a global pose (including position and orientation). The position of each feature point in the image is known, so the global pose of each feature point can be calculated, and at the same time, it is recorded which dataset image this feature point belongs to.
[0025] To illustrate the indexing process, suppose the response values of the feature points are all between 1 and 50. Then, 1000 feature points can be divided into 5 groups based on their response values, from 0 to 10, 10 to 20, ..., 40 to 50. Assuming that each group is composed of the same number of feature points, then each group has 200 feature points.
[0026] Taking the real-time matching of image datasets as an example, suppose 100 points are extracted from the current test image, and the dataset consists of 1000 points. These points are already divided into 5 groups based on their response values. For example, if a feature point in a test image has a response value of 25, then a nearest neighbor search is performed on the 200 points in the 20-30 group to find the nearest feature point. Similarly, for each of the 100 test image feature points, 100 points can be found in the dataset. Although all suitable points can be found, the distance between different points varies; closer points are more realistic and effective. Therefore, the points need to be sorted according to their Euclidean distance, and only the 10 closest feature points are selected. Then, the dataset to which these 10 points belong is recorded (the dataset to which the feature point data belongs is recorded above). If 8 points are from the first dataset, and 2 are from the second and third datasets, then it is known that the match is from the first dataset, and only 8 points are selected. Similarly, the 8 points selected during the candidate pose voting process are also known to be from the first dataset.
[0027] Furthermore, the GPU-accelerated SIFT-GPU technology for batch extraction of SIFT feature points from images within the reference image database includes the following steps: GPU parallel computing optimization: Parallelization of the SIFT algorithm using the CUDA architecture; Key point detection: The SIFTGPU method is used to detect feature points and descriptors in the image; PCA Descriptor Dimensionality Reduction: The calculated feature point descriptors are reduced in dimensionality using principal component analysis.
[0028] The above method can significantly reduce dimensionality and improve computational efficiency while preserving as much original information as possible.
[0029] This invention transforms traditional CPU serial computing into GPU massively parallel computing, which can increase feature extraction speed by 10-20 times and improve computational efficiency; the construction of multi-scale pyramids can effectively detect key points at different scales; the descriptor computation of this invention can ensure the invariance of data transformation rotation.
[0030] Furthermore, during the feature extraction process, an adaptive feature point sampling strategy is used to extract feature points, including the following steps: Response value sorting sampling: SIFT feature points are sorted in descending order based on their response values (contrast), and feature points with response values higher than a preset threshold are selected first and defined as stable feature points; Spatial distribution balance: Divide the image into a regular grid, and limit the number of feature points in each grid area to no more than a set value m, where m>1; Fixed sampling quantity control: n feature points are sampled for each reference image, n≥1.
[0031] The adaptive feature point sampling strategy ensures the uniformity and representativeness of the database feature distribution, avoiding interference in subsequent calculations due to uneven or unrepresentative data selection. Spatial distribution balance processing avoids the impact on calculation results caused by excessive concentration of feature points in texture-rich areas. Fixed sampling quantity control ensures the balance of feature contributions from different images in the database.
[0032] Furthermore, during the dimensionality reduction process, an adaptive principal component analysis (PCA) dimensionality reduction algorithm based on SVD is executed.
[0033] Furthermore, the execution of the SVD-based adaptive principal component analysis dimensionality reduction algorithm includes the following steps: Covariance matrix calculation: Calculate the mean vector of all feature descriptors in the image database, construct a mean-free feature matrix, and calculate the covariance matrix. SVD decomposition optimization: The covariance matrix is decomposed using the Jacobi SVD algorithm to obtain eigenvalues and eigenvectors. The top k principal components with a cumulative contribution rate of 90-95% are selected, where k > 1.
[0034] Dimensionality reduction transformation: Project the original high-dimensional SIFT descriptor onto the 16-dimensional PCA subspace to complete the dimensionality reduction of the SIFT descriptor.
[0035] In this embodiment, the 128-dimensional SIFT descriptor is projected onto the 16-dimensional PCA subspace to achieve a compression ratio of 8:1 while maintaining the discriminativeness of the features.
[0036] Furthermore, the indexing process includes the following steps: Scale statistics and grouping: Statistically analyze the scale distribution of all feature points in the image database, sort the scale values in ascending order, and divide them into p scale groups according to the principle of uniform distribution; Independent KD-tree construction: An independent KD-tree index is constructed for each scale group, based on the KDTreeIndexParams parameter of the FLANN library, setting the corresponding tree depth and leaf node size; Memory optimization management: A dynamic memory allocation strategy is adopted (storage space is acquired on demand during program execution and released when not executing), and corresponding storage space is allocated according to the number of features in each scale group.
[0037] The indexing process of this invention is based on the multi-scale KD tree indexing technology of SVD, and the memory optimization management can avoid memory waste, thereby freeing up memory space for storage and computation.
[0038] Furthermore, during the real-time matching of image datasets, a dynamic multi-scale nearest neighbor algorithm is used to search and select several best matches as candidate feature pairs.
[0039] Furthermore, the dynamic multi-scale nearest neighbor search algorithm is executed, including the following steps: Real-time image scale group assignment: Based on the current pose information of the AGV, query images with a preset dynamic range, and assign the images to the corresponding scale groups according to the scale values of all feature points of the queried images; Parallel KNN search: K-nearest neighbor search is performed in parallel in the KD tree of each scale group. The search is performed on all scale groups, and the nearest feature points in the search dataset are globally sorted according to feature distance. The top 100 best matching feature pairs are selected as candidate feature pairs. Candidate dataset images: Calculate the number of matching features for each image in the dataset, select the dataset image with the most matching features as the most relevant candidate image, find the nearest neighbor dataset image of the pose calculated for the test image, and when the candidate image is the same as the nearest neighbor dataset image of the test image, then the dataset image can be determined as the image to be detected.
[0040] The dynamic multi-scale nearest neighbor search algorithm achieves scale-matched data pre-screening and dynamic scale-aware feature matching, which can significantly improve search efficiency.
[0041] Furthermore, the execution of candidate pose voting includes the following steps: Candidate pose calculation: Utilizing the local coordinate transformation relationship of feature points, based on each matching feature point pair in the most relevant candidate image dataset, inliers are filtered using the ransac method. The global pose of the candidate image is calculated using the SVD method based on the filtered inliers. The calculated global pose is compared with the pre-predicted pose, and the poses corresponding to feature point pairs that meet the preset range are formed into a candidate pose point set. Voting grid construction: Construct a voting grid in the world coordinate system according to preset rules. The grid size is set to A×B pixels, A and B≥10. The voting grid covers the entire possible pose space. Pose voting statistics: Project the translation component of each candidate pose onto the voting grid, and accumulate the votes for the corresponding grid cells; Peak detection: Traverse all grid cells and select the grid region with the most votes and the closest to the predicted pose as the peak region most likely to have the predicted pose. At the same time, record the second highest peak for ambiguity detection. Interior point feature selection: Select all feature points that vote to the peak grid as the interior point set for subsequent accurate pose calculation.
[0042] Furthermore, after position calculation, RANSAC robust pose optimization is performed. The execution of RANSAC robust pose optimization includes: converting pixel coordinates into normalized camera coordinates using the parameter matrix in the visual camera, thereby performing RANSAC optimization in the camera coordinate system; and using the least squares method to fit rotation and translation parameters to calculate the pose change relationship between the two images.
[0043] After RANSAC robust pose optimization, the accuracy and robustness of pose estimation are improved, thus making the map stable.
[0044] The computational efficiency test results of this method are as follows: Feature dimensionality reduction: PCA dimensionality reduction reduces storage space by 87.5% (128 dimensions → 16 dimensions); Multi-scale indexing: reduces search space by 90% and improves query speed by 10 times; Parallel processing: Supports multi-threaded feature extraction and matching; Real-time performance: SIFT feature extraction: 20-30ms, PCA dimensionality reduction: 1-2ms, KNN search: 10-15ms, voting calculation: 5-8ms, RANSAC optimization: 10-15ms; Positioning accuracy: Average error ±1cm, average error <1 degree. Robustness: Supports 360-degree viewing angle changes and can still accurately detect even with up to 50% occlusion.
[0045] Compared with the prior art, the AGV real-time visual positioning method of the present invention has the following beneficial effects: (1) This invention relates to SIFT feature extraction, data dimensionality reduction processing, multi-scale KD tree indexing and search, and dynamic voting mechanism, thereby reducing the difficulty of data calculation, simplifying calculation, improving real-time performance, and improving calculation efficiency, so as to enable fast and accurate position recognition and pose estimation in working environments with large-scale image databases; (2) Traditional calculation methods lack effective feature dimensionality reduction and indexing mechanisms, and are computationally complex. In this invention, the high-dimensional SIFT descriptors are dimensionality reduced, thereby optimizing the data without reducing the matching accuracy and improving the efficiency of subsequent data processing. (3) The present invention uses a multi-scale KD tree indexing mechanism to process the data in the image database, and organizes the relevant data into multi-dimensional scale group data, which facilitates subsequent retrieval and thus improves the feature matching efficiency. (4) When matching image datasets in real time, this invention assigns all feature points contained in the image to the corresponding scale group according to their scale values, which can achieve pre-screening of scale matching, thereby reducing the difficulty of subsequent calculations and improving calculation efficiency. (5) The candidate pose voting of the present invention involves a pose estimation technique based on voting, and is a pose estimation method based on prior pose, which has high real-time performance.
[0046] Based on the disclosure and teachings of the foregoing specification, those skilled in the art can make changes and modifications to the above embodiments. Therefore, the present invention is not limited to the specific embodiments disclosed and described above, and some modifications and changes to the present invention should also fall within the protection scope of the claims of the present invention. Furthermore, although some specific terms are used in this specification, these terms are only for convenience of explanation and do not constitute any limitation on the present invention.
Claims
1. A real-time visual positioning method for AGVs, characterized in that, include: Data acquisition: The AGV moves, and the vision recognition system collects images of the working environment; Data preprocessing: The acquired image data is preprocessed, and the global pose of the acquired image is recorded. The image dataset and the corresponding pose information are stored in the image database. Feature point extraction: SIFT feature points are extracted from each image in the database using GPU-accelerated SIFT-GPU technology, and several high-dimensional SIFT descriptors are generated. Dimensionality reduction: Dimensionality reduction is performed on high-dimensional SIFT descriptors; Pose calculation: Based on the global pose of the pre-stored database images, calculate and extract the global pose of each feature point; Indexing: Divide all feature points of the dimensionality-reduced dataset into several groups based on the magnitude of the response value; Real-time matching image dataset: Based on the current pose information of the AGV, several datasets with similar poses to the current AGV are extracted from the database. The current image is then processed, and based on the feature point response values extracted from the current image, it is assigned to the corresponding response value scale group in the dataset. Perform a K-nearest neighbor search for each feature point in the current image within each scale group and globally sort the search results, selecting several best matches as candidate feature pairs; The number of feature points that match each image in the statistical dataset with the current image is counted, and the dataset with the most matching points is selected as the most relevant candidate image dataset. Candidate pose voting: Based on the feature points of the most relevant candidate image dataset, calculate the candidate poses of matching feature point pairs, and form a set of candidate pose points by the poses corresponding to feature point pairs that meet the range. Construct a voting grid covering the entire pose space in the coordinate system, project the translation components of the candidate poses onto the grid and accumulate the votes, traverse all grid cells, select the grid region with the most votes and closest to the predicted pose as the peak region most likely to produce the predicted pose; select all feature points that vote to the peak grid to form an interior point set. Global pose calculation: Based on the inlier set, the ransac method is used to filter inliers. Based on the filtered inliers, the SVD method is used to calculate the global pose of the current test image. Then, the current pose of the AGV is obtained by converting the camera's installation pose under the AGV. When it is determined that the current test image is not in the dataset, the AGV's odometer is used for positioning and navigation to the next target point.
2. The AGV real-time visual positioning method according to claim 1, characterized in that, The GPU-accelerated SIFT-GPU technology for batch extraction of SIFT feature points from images within a reference image database includes the following steps: GPU parallel computing optimization: Parallelization of the SIFT algorithm using the CUDA architecture; Key point detection: The SIFTGPU method is used to detect feature points and descriptors in the image; PCA Descriptor Dimensionality Reduction: The calculated feature point descriptors are reduced in dimensionality using principal component analysis.
3. The AGV real-time visual positioning method according to any one of claims 1 to 2, characterized in that, During feature extraction, an adaptive feature point sampling strategy is used to extract feature points, including the following steps: Response value sorting sampling: SIFT feature points are sorted in descending order based on their response values, and feature points with response values higher than a preset threshold are selected first and defined as stable feature points. Spatial distribution balance: Divide the image into a regular grid, and limit the number of feature points in each grid area to no more than a set value m, where m>1; Fixed sampling quantity control: n feature points are sampled for each reference image, n≥1.
4. The AGV real-time visual positioning method according to claim 1, characterized in that, During the dimensionality reduction process, an adaptive principal component analysis dimensionality reduction algorithm based on SVD is executed.
5. The AGV real-time visual positioning method according to claim 4, characterized in that, The execution of the SVD-based adaptive principal component analysis dimensionality reduction algorithm includes the following steps: Covariance matrix calculation: Calculate the mean vector of all feature descriptors in the image database, construct a mean-free feature matrix, and calculate the covariance matrix. SVD decomposition optimization: The covariance matrix is decomposed using the Jacobi SVD algorithm to obtain eigenvalues and eigenvectors. The top k principal components with a cumulative contribution rate of 90-95% are selected, where k > 1. Dimensionality reduction transformation: Project the original high-dimensional SIFT descriptor onto the 16-dimensional PCA subspace to complete the dimensionality reduction of the SIFT descriptor.
6. The AGV real-time visual positioning method according to claim 1, characterized in that, Indexing involves the following steps: Scale statistics and grouping: Statistically analyze the scale distribution of all feature points in the image database, sort the scale values in ascending order, and divide them into p scale groups according to the principle of uniform distribution; Independent KD-tree construction: An independent KD-tree index is constructed for each scale group, based on the KDTreeIndexParams parameter of the FLANN library, setting the corresponding tree depth and leaf node size; Memory optimization management: A dynamic memory allocation strategy is adopted to allocate corresponding storage space according to the number of features in each scale group.
7. The AGV real-time visual positioning method according to claim 1, characterized in that, In the process of real-time matching of image datasets, a dynamic multi-scale nearest neighbor algorithm is used to search and select several best matches as candidate feature pairs.
8. The AGV real-time visual positioning method according to claim 1, characterized in that, The execution of the dynamic multi-scale nearest neighbor search algorithm includes the following steps: Real-time image scale group assignment: Based on the current pose information of the AGV, query images with a preset dynamic range, and assign the images to the corresponding scale groups according to the scale values of all feature points of the queried images; Parallel KNN search: K-nearest neighbor search is performed in parallel in the KD tree of each scale group. The search is performed on all scale groups, and the nearest feature points in the search dataset are globally sorted according to feature distance. The top 100 best matching feature pairs are selected as candidate feature pairs. Candidate dataset images: Calculate the number of matching features for each image in the dataset, select the dataset image with the most matching features as the most relevant candidate image, find the nearest neighbor dataset image of the pose calculated for the test image, and when the candidate image is the same as the nearest neighbor dataset image of the test image, then the dataset image can be determined as the image to be detected.
9. The AGV real-time visual positioning method according to claim 1, characterized in that, The process of voting on candidate poses includes the following steps: Candidate pose calculation: Utilizing the local coordinate transformation relationship of feature points, based on each matching feature point pair in the most relevant candidate image dataset, inliers are filtered using the ransac method. The global pose of the candidate image is calculated using the SVD method based on the filtered inliers. The calculated global pose is compared with the pre-predicted pose, and the poses corresponding to feature point pairs that meet the preset range are formed into a candidate pose point set. Voting grid construction: Construct a voting grid in the world coordinate system according to preset rules. The grid size is set to A×B pixels, A and B≥10. The voting grid covers the entire possible pose space. Pose voting statistics: Project the translation component of each candidate pose onto the voting grid, and accumulate the votes for the corresponding grid cells; Peak detection: Traverse all grid cells and select the grid region with the most votes and the closest to the predicted pose as the peak region most likely to have the predicted pose. Interior point feature selection: Select all feature points that vote to the peak grid as the interior point set for subsequent accurate pose calculation.
10. The AGV real-time visual positioning method according to claim 1, characterized in that, After position calculation, RANSAC robust pose optimization is performed. The execution of RANSAC robust pose optimization includes: converting pixel coordinates into normalized camera coordinates using the parameter matrix in the visual camera, thereby performing RANSAC optimization in the camera coordinate system; and using the least squares method to fit rotation and translation parameters to calculate the pose change relationship between the two images.