Method, device, storage medium and computer program product for valet parking
By acquiring parking lot map information and sensor data, driving routes are generated and adjusted in real time, solving the problems of path accuracy and safety in complex parking lot environments, and achieving the effects of precise navigation and automatic parking.
Patent Information
- Application Number
- CN202511393672.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-28
- Publication Date
- 2025-12-05
- Estimated Expiration
- 2045-09-28
AI Technical Summary
Existing valet parking technologies struggle to achieve precise navigation and automated parking in complex parking environments, especially in maintaining path accuracy and safety during the parking process.
By acquiring map information of the parking lot and the starting position of the car, a driving route is generated. Using sensors such as cameras and 3D scanners, combined with algorithms and artificial intelligence technology, the system monitors the car's deviation from the route in real time and makes adjustments to ensure that the car travels along the planned route to the target parking space.
It enables precise navigation and automatic parking in complex parking environments, improving parking efficiency and safety, and ensuring that the car always travels along the optimal path during the journey.
Smart Images

Figure CN120863616B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of valet parking, and more particularly to a method, apparatus, storage medium, and computer program product for valet parking. Background Technology
[0002] Automated Valet Parking (AVP) technology has garnered widespread attention in recent years due to its significant improvement in parking convenience and safety. As a crucial component of intelligent transportation, valet parking technology has achieved remarkable technological advancements in recent years. Valet parking systems utilize hardware such as sensors, cameras, radar, and LiDAR, along with sophisticated algorithms and artificial intelligence (AI) technologies, enabling vehicles to autonomously complete the entire process from finding a parking space to parking. This system not only reduces the parking burden on drivers but also improves parking efficiency and safety.
[0003] Therefore, designing a valet parking method has become an urgent problem to be solved. Summary of the Invention
[0004] The purpose of this invention is to provide a method, apparatus, storage medium, and computer program product for valet parking.
[0005] To achieve one of the above-mentioned objectives, one embodiment of the present invention provides a method for valet parking of a car in a parking lot, comprising the following steps: acquiring map information of the parking lot, as well as the starting position and target parking space of the car; generating a driving path from the starting position to the target parking space based on the map information; controlling the car to drive along the driving path to the target parking space, and if the car is detected to deviate from the driving path during the driving process, controlling the car to return to the driving path.
[0006] As a further improvement to one embodiment of the present invention, generating a driving path from the starting position to the target parking space based on map information specifically includes: based on map information, using... algorithm, The algorithm or Dijkstra's algorithm generates the driving path from the starting position to the target parking space.
[0007] As a further improvement of one embodiment of the present invention, the vehicle is equipped with a camera; the step of controlling the vehicle to return to the driving path if the vehicle is detected to deviate from the driving path specifically includes: acquiring multiple visual words corresponding to the parking lot; performing the following processing on each image frame captured by the camera: acquiring keyframes captured by the camera, wherein the capture time of the keyframes is earlier than the capture time of the image frames; extracting key points and descriptors corresponding to each key point from the image frames, wherein the descriptors are used to quantify the local image information of the corresponding key points; matching each descriptor corresponding to the image frame with multiple visual words to generate a bag-of-words vector; calculating the similarity between the image frames and keyframes based on the bag-of-words vector; if the similarity is less than a first preset threshold... When the keyframe is captured, the target position is obtained, and the car is located at the target position. Then, if the target position is not on the driving path, the car is controlled to return to the driving path. .
[0008] As a further improvement of one embodiment of the present invention, extracting key points and descriptors corresponding to each key point from the image frame specifically includes: extracting key points from the image frame based on the SIFT algorithm, SURF algorithm, or ORB algorithm, and then generating descriptors corresponding to each key point.
[0009] As a further improvement of one embodiment of the present invention, the step of clustering all descriptors to obtain a number of visual words specifically includes: using the K-means clustering algorithm to cluster all descriptors to obtain a number of visual words.
[0010] As a further improvement of one embodiment of the present invention, the car is equipped with a 3D scanner; the valet parking method further includes the following steps: when the distance between the car and the target parking space is less than a second preset threshold, the following steps are continuously executed: acquiring a preset first set of point clouds corresponding to the target parking space, and controlling the 3D scanner to acquire a second set of point clouds of the target parking space; for each point in the first set of point clouds, finding the nearest corresponding point in the second set of point clouds; when the distance between any point in the first set of point clouds and its corresponding point is greater than a third preset threshold, deleting the point in the first set of point clouds and deleting its corresponding point in the second set of point clouds; generating a rotation matrix R and a translation vector t between the first set of point clouds and the second set of point clouds; estimating the new position of all points in the first set of point clouds based on the rotation matrix R and the translation vector t, thereby obtaining a temporary point cloud; when the distance between any point in the temporary point cloud and its corresponding point in the second set of point clouds is less than a fourth preset threshold or the number of times the steps are executed is greater than a fifth preset threshold, stopping the execution of subsequent steps; otherwise, executing the steps again.
[0011] This invention also provides a device for valet parking of a car in a parking lot, comprising the following modules: an information acquisition module, used to acquire map information of the parking lot, as well as the starting position and target parking space of the car; and based on the map information, to generate a driving path from the starting position to the target parking space; and a control module, used to control the car to drive along the driving path to the target parking space, and, if the car is detected to deviate from the driving path during the driving process, to control the car to return to the driving path.
[0012] As a further improvement to one embodiment of the present invention, the information acquisition module is further configured to: based on map information, use... algorithm, The algorithm or Dijkstra's algorithm generates the driving path from the starting position to the target parking space.
[0013] This invention also provides an electronic device, including a processor, a memory, and a program or instructions stored in the memory and executable on the processor, wherein the program or instructions, when executed by the processor, implement the steps of the valet parking method described above.
[0014] This invention also provides a storage medium storing a program or instructions that, when executed by a processor, implement the steps of the valet parking method described above.
[0015] Compared to existing technologies, the technical advantages of this invention are as follows: This invention provides a method, apparatus, storage medium, and computer program product for valet parking. The valet parking method includes the following steps: acquiring map information of the parking lot, as well as the starting position of the vehicle and the target parking space; generating a driving path from the starting position to the target parking space based on the map information; controlling the vehicle to travel along the driving path to the target parking space, and, if the vehicle deviates from the driving path during the journey, controlling the vehicle to return to the driving path. This method enables users to automatically achieve the function of automatic parking. Attached Figure Description
[0016] Figure 1 This is a flowchart illustrating a method for valet parking of a car in a parking lot, according to an embodiment of the present invention. Detailed Implementation
[0017] The present invention will now be described in detail with reference to the embodiments shown in the accompanying drawings. However, these embodiments do not limit the present invention, and any structural, methodological, or functional modifications made by those skilled in the art based on these embodiments are included within the scope of protection of the present invention.
[0018] The terms used herein, such as “above,” “over,” “below,” and “under,” indicating spatial relative position, are for illustrative purposes to describe the relationship of one unit or feature relative to another unit or feature as shown in the accompanying drawings. These terms may be intended to include different orientations of the device in use or operation other than those shown in the figures. For example, if the device in the figures is flipped, a unit described as being “below” or “under” another unit or feature would be “above” that unit or feature. Therefore, the exemplary term “below” can encompass both above and below orientations. The device may be oriented in other ways (rotated 90 degrees or otherwise), and the spatially related descriptive terms used herein will be interpreted accordingly.
[0019] Embodiment 1 of the present invention provides a method for valet parking of cars in parking lots, such as... Figure 1 As shown, it includes the following steps:
[0020] Step 101: Obtain the map information of the parking lot, as well as the starting position and target parking space of the car; based on the map information, generate a driving route from the starting position to the target parking space.
[0021] In practice, when a car enters a parking lot, it can access the parking lot's map information via the network (this map information can be high-definition and includes the parking lot's geometry, parking space layout, traffic signs, and potential obstacles). Furthermore, the user can input a target parking space, or a frequently used parking space, with the car's current location as the starting point. The driving path from the starting point to the target parking space can then be calculated. Methods for calculating this path include: 1. Shortest path algorithm: calculating the shortest path from the car's current location to the parking space and selecting the shortest path as the parking route; 2. Optimal path algorithm: considering factors such as road conditions, calculating the optimal path from the car's current location to the parking space and selecting the optimal path as the parking route; 3. Intelligent path planning algorithm: using machine learning and artificial intelligence technologies, predicting the best parking path based on the car's historical driving data and parking needs.
[0022] In addition, a parking reference database can be set up for the parking lot, which stores an optimal route from each parking space to the parking lot entrance. This route can be established based on multiple manual experiments or automated parking. In other words, the parking reference database contains pre-planned driving routes.
[0023] Step 102: Control the car to drive along the driving path to the target parking space, and if the car is detected to deviate from the driving path during the driving process, control the car to return to the driving path.
[0024] In this method, when a car enters the parking lot, the system automatically loads the corresponding high-definition map information of the parking lot and a parking reference database (ideally, each parking space has an optimal path area to the parking lot entrance, which can be established based on multiple manual experiments or automated parking). This information includes the geometry of the parking lot, the layout of parking spaces, traffic signs, and possible obstacles. The reference database contains pre-planned optimal paths, which are generated based on the static characteristics of the parking lot and historical data.
[0025] Preliminary global path planning. The system detects the car's starting position and target parking space, and uses parking lot map information and a reference database to preliminarily plan a global path. This path is the shortest or optimal route from the car's current position to the target position, taking into account the parking lot's traffic rules and the car's driving restrictions.
[0026] As the car moves, the system continuously compares its current position and surrounding environment with the optimal path area in the reference database. This ensures the car stays on the optimal path. If the system detects that the car has deviated from the optimal path, it will automatically adjust the car's position to return it to the optimal path area.
[0027] In this embodiment, generating a driving path from the starting position to the target parking space based on map information specifically includes: based on map information, using... algorithm, The algorithm or Dijkstra's algorithm generates the driving path from the starting position to the target parking space.
[0028] here, The algorithm divides the map into several blocks (nodes), each with its own variables recording its state and values. A global queue determines which node to inspect and modify. When the robot's starting position changes, or when the state of certain areas in the map changes (e.g., from unknown to occupied), the algorithm recalculates the affected portion of the path, rather than completely recalculating the entire path.
[0029] The algorithm generally includes the following steps: 1. Initialization: Create a grid (or map) to represent the environment. Each grid cell represents a location and contains its cost (the cost from the starting point to the target). 2. Heuristic estimation: Perform heuristic estimation on the target point. The cost of the target point is initialized to 0. Use heuristic functions (such as Manhattan distance, Euclidean distance, etc.) to estimate the cost of each location. 3. Path search: Starting from the target point, use heuristic estimation (i.e., path search)... The idea is to search backwards from the starting point. The algorithm checks the neighboring points of the current point and updates the cost of the neighbors. If a shorter path is found than the current path, the path and cost of that neighbor are updated; 4. Response to environmental changes: If the environment changes during the path search process (e.g., obstacles are added or their positions change), the algorithm will respond accordingly. The algorithm updates the path incrementally instead of recalculating from scratch; 5. Search complete, generating the shortest path from the starting point to the target; 6. Real-time updates, in dynamic environments... The algorithm continuously updates the path through incremental calculations.
[0030] The algorithm aims to find the path with the lowest total cost from the starting point to the ending point in a weighted graph. During the search process, the algorithm selects nodes to expand based on an estimation function. The working principle can be seen as a combination of Dijkstra's algorithm and heuristic search. Dijkstra's algorithm relies solely on the actual cost of the paths already traversed, while... By using a heuristic estimation function, the remaining cost from the current node to the destination is predicted, reducing unnecessary node exploration and improving search efficiency.
[0031] Dijkstra's algorithm is used to find the shortest path from a given vertex (source vertex) to all other vertices in a graph, requiring that the weights of the edges in the graph be non-negative. Its core principle is to gradually determine the shortest path tree using a greedy strategy, ultimately obtaining the shortest distance from the source vertex to all reachable vertices. Key steps include: 1. Initialization: Define an array `dis` to record the initial distances from the source vertex to each vertex (weights of directly reachable edges, and infinity for unreachable edges), and a set `T` to store the vertices whose shortest paths have been determined (initially containing only the source vertex); 2. Iterative update: Each time, select the vertex `u` corresponding to the minimum value not yet added to `T` from `dis`, add it to `T`, and relax the adjacent vertices `v` of `u` (i.e., compare `dis[v]` with `dis[u] + w(u,v)`, and update to the smaller value); 3. Termination condition: The algorithm terminates when all vertices have been added to `T`.
[0032] In this embodiment, the car is equipped with a camera; if the car is detected to have deviated from the driving path, controlling the car to return to the driving path specifically includes: acquiring multiple visual words corresponding to the parking lot; here, multiple descriptors corresponding to the parking lot can be acquired first, and then the multiple descriptors can be clustered to obtain multiple visual words. Optionally, the K-means clustering algorithm can be used to cluster the multiple descriptors.
[0033] The update formula for cluster centers can be Here, S is the set of descriptors assigned to cluster centers c. c_new is the updated cluster center. Each cluster center represents a "word" of the visual vocabulary, calculated by the clustering algorithm based on all descriptors (such as SIFT, ORB, and other feature point descriptors); c is a certain cluster center; S is the set of descriptors assigned to cluster center c, usually all descriptors with the smallest distance to a certain center, and the size of S is determined according to the number of clusters set in the clustering algorithm; X is a specific descriptor. A descriptor is a numerical representation of local features around a local region (such as keypoints or feature points) in an image. A descriptor is a mathematical encoding of image feature points, with the aim of enabling these features to be matched and recognized between different images.
[0034] Each image frame captured by the camera is processed as follows:
[0035] Acquire key frames captured by the camera, wherein the key frames were captured earlier than the image frames. Here, previously captured image frames can be stored, and then some image frames can be identified as key frames. These key frames can be image frames containing a relatively large number of descriptors.
[0036] Key points and descriptors corresponding to each key point are extracted from the image frame. The descriptors are used to quantify the local image information of the corresponding key points. Each descriptor in the image frame is matched with multiple visual words to generate a bag-of-words vector. Here, the bag-of-words vector contains multiple elements, each of which corresponds to a visual word. It can be understood that the word is used to represent the number of times the visual word appears in the image frame.
[0037] The similarity between the image frame and the keyframe is calculated based on bag-of-words vectors.
[0038] Here, the similarity can be expressed as Euclidean distance. , Bag-of-words vectors and The Euclidean distance between the two bag-of-words vectors is used to measure the similarity between them. and These are the bag-of-words vectors for the image frame and the keyframe, respectively. and The dimension of each is n. Bag-of-words vectors The word in the i-th dimension, Bag-of-words vectors The word in the i-th dimension, The meaning of words Corresponding codes and words The difference between the corresponding codes.
[0039] Here, the similarity can be the cosine similarity. , Bag-of-words vectors and Cosine similarity measures the directional similarity between two vectors.
[0040] If the similarity is less than the first preset threshold When the keyframe is captured, the target position is obtained, and the car is located at the target position. Then, if the target position is not on the driving path, the car is controlled to return to the driving path. Here, the least squares method can be used to control the car to return to the driving path. It is understood that this valet parking method can optimize the car's trajectory and eliminate accumulated errors.
[0041] In this embodiment, extracting key points and descriptors corresponding to each key point from the image frame specifically includes: extracting key points from the image frame based on the SIFT algorithm, SURF algorithm, or ORB algorithm, and then generating descriptors corresponding to each key point.
[0042] SIFT (Scale Invariant Feature Transform) is a local feature description algorithm. SIFT incorporates scale invariance, and can achieve good detection results when the image is rotated, the image brightness is changed, or the shooting position is moved. In SIFT, the scale space extrema of keypoints can be calculated using Laplacian of Gaussian (LoG) or Difference of Gaussian (DoG).
[0043] SURF (Speeded Up Robust Features) is a robust image recognition and description algorithm that can be used for computer vision tasks such as object recognition and 3D reconstruction. It is partly inspired by the SIFT algorithm.
[0044] The ORB (Oriented Fast and Rotated Brief) algorithm is used to quickly create feature vectors from keypoints in an image. These feature vectors can then be used to identify objects within the image. Fast and Brief are the feature detection and vector creation algorithms, respectively. ORB first identifies specific regions in the image called keypoints. Keypoints are small, prominent areas in the image, such as corners, or those with pixel values that abruptly change from light to dark. ORB then calculates a corresponding feature vector for each keypoint. The feature vectors created by the ORB algorithm contain only 1s and 0s, called binary feature vectors. The order of the 1s and 0s varies depending on the specific keypoint and its surrounding pixel region. This vector represents the intensity pattern around the keypoint, so multiple feature vectors can be used to identify larger areas, or even specific objects within the image. ORB is characterized by its extremely high speed and its relative insensitivity to noise and image transformations, such as rotation and scaling.
[0045] In this embodiment, the step of clustering all descriptors to obtain a number of visual words specifically includes: using the K-means clustering algorithm to cluster all descriptors to obtain a number of visual words.
[0046] K-means clustering is a partition-based unsupervised learning method that iteratively optimizes the data into K clusters, maximizing the similarity within the same cluster and the differences between different clusters. Its steps are as follows:
[0047] Step 1: Initialization phase. Randomly select K samples as initial cluster centers (K needs to be pre-set). The impact of randomness can be reduced through optimization methods such as K-Means++.
[0048] Step 2: Allocation and Update Iteration
[0049] The assignment step involves calculating the distance (usually Euclidean distance) from all samples to each cluster center and assigning the sample to the nearest cluster.
[0050] The update step involves recalculating the mean of each cluster as the new cluster center, using the following formula: Here, S is a subset of descriptors assigned to cluster centers c. The above steps are repeated until a termination condition is met (e.g., the cluster centers no longer change, the maximum number of iterations is reached, etc.). This represents the updated cluster centers. Each cluster center represents a "word" of the visual vocabulary, calculated by the clustering algorithm based on all descriptors (such as SIFT, ORB, and other feature point descriptors). `c` is a specific cluster center. `S` is the set of descriptors assigned to cluster center `c`, typically all descriptors with the smallest distance to a given center. The size of `S` is determined by the number of clusters set in the clustering algorithm. `X` is a specific descriptor, a feature vector extracted from the image. A descriptor is a numerical representation of local features around a local region (such as keypoints or feature points) in an image. A descriptor is a mathematical encoding of image feature points, aiming to enable matching and recognition of these features across different images.
[0051] Step 3: Termination conditions. Common criteria include: cluster center change is less than a threshold, sample assignment no longer changes, or sum of squared errors (SSE) converges.
[0052] In this embodiment, the car is equipped with a 3D scanner; the valet parking method further includes the following steps: when the distance between the car and the target parking space is less than a second preset threshold, the following steps are continuously executed: acquiring a preset first set of point clouds corresponding to the target parking space, and controlling the 3D scanner to acquire a second set of point clouds of the target parking space; for each point in the first set of point clouds, finding the nearest corresponding point in the second set of point clouds; when the distance between any point in the first set of point clouds and its corresponding point is greater than a third preset threshold, deleting the point in the first set of point clouds and deleting its corresponding point in the second set of point clouds; generating a rotation matrix R and a translation vector t between the first set of point clouds and the second set of point clouds; estimating the new positions of all points in the first set of point clouds based on the rotation matrix R and the translation vector t, thereby obtaining a temporary point cloud; when the distance between any point in the temporary point cloud and its corresponding point in the second set of point clouds is less than a fourth preset threshold or the number of times the steps are executed is greater than a fifth preset threshold, stopping the execution of subsequent steps; otherwise, executing the steps again.
[0053] Here, in the high-precision map of the parking lot, the surrounding area typically stores existing point cloud data. This point cloud data is obtained through scanning by sensors such as LiDAR during the parking lot design or parking space construction, and usually includes information such as the building structure, obstacles, and ground markings at that location. The coordinates of the target parking space are determined, and the corresponding point cloud is retrieved from the parking space's high-precision map point cloud data database. The first set of point clouds can be stored in a parking reference database, or a storage system can be set up in the parking lot to store the first set of point clouds, which the car can retrieve from the parking reference database via wireless communication.
[0054] Here, assuming the first point cloud is P and the second point cloud is Q, we aim to find the rotation matrix R and translation vector t that minimizes the error when transforming P to Q. Error function localization. ,in, and These are the points corresponding to P and Q, respectively.
[0055] To solve for R and t using SVD, we first calculate the centroids of the two point clouds: , .
[0056] Then, subtract the centroid of each point to obtain a new point cloud. and Next, we construct the cross-covariance matrix H. .
[0057] use Decomposition of H: .
[0058] The rotation matrix R can be calculated in the following way: .
[0059] if Then it needs to be adjusted to be an orthogonal rotation matrix. The translation vector t can be calculated as follows: .
[0060] If the target parking space and the reference parking space are a perfect match in the autonomous driving system's database, this method can be used to precisely adjust the car's position and perform the parking maneuver. A rotation matrix and a translation vector are applied to transform the car's point cloud data Q into the coordinate system of the target parking space. Based on the calculated pose transformation, a path from the current position to the target parking space is planned. The car is controlled to travel along the planned path, performing steering, acceleration, and braking operations until the car is completely parked in the target parking space. The car's position and surrounding environment are monitored in real time, and the path is fine-tuned as necessary to ensure the safety and accuracy of the parking process. Once the car is correctly parked in the space, the parking process ends, and the driver or system operator is notified. Parking-related information, such as parking time and parking space location, is recorded for later use. Through these steps, the autonomous driving system can use the ICP algorithm to precisely adjust the car's position and perform the parking maneuver, ensuring efficiency and safety even when the target and reference parking spaces are a perfect match.
[0061] The method described in this invention enables precise navigation in complex parking environments. Utilizing onboard sensors and a pre-built high-definition parking map, the system monitors the vehicle's position in real time and compares it with known locations to identify whether the vehicle has returned to a previously visited area. By analyzing vehicle sensor data and parking map information, the system can identify available parking spaces and match them based on vehicle size and parking space characteristics. Combining the results of loop closure detection and parking space matching, the system dynamically plans the optimal path from the current location to the target parking space, taking into account dynamic changes within the parking lot, such as the movement of other vehicles and obstacles. The system continuously monitors environmental changes and optimizes the path based on real-time data to ensure the vehicle can safely and efficiently reach the target parking space.
[0062] Embodiment 2 of the present invention provides a device for valet parking of a car in a parking lot, comprising the following modules: an information acquisition module, used to acquire map information of the parking lot, as well as the starting position and target parking space of the car; and based on the map information, to generate a driving path from the starting position to the target parking space; and a control module, used to control the car to drive along the driving path to the target parking space, and if the car is detected to deviate from the driving path during the driving process, to control the car to return to the driving path.
[0063] In this embodiment, the information acquisition module is further configured to: based on map information, use... algorithm, The algorithm or Dijkstra's algorithm generates the driving path from the starting position to the target parking space.
[0064] Embodiment 3 of the present invention provides an electronic device, including a processor, a memory, and a program or instructions stored in the memory and executable on the processor. When the program or instructions are executed by the processor, they implement the steps of the valet parking method in Embodiment 1.
[0065] Embodiment 4 of the present invention provides a storage medium storing a program or instructions, which, when executed by a processor, implement the steps of the valet parking method in Embodiment 1.
[0066] It should be understood that although this specification describes embodiments, not every embodiment contains only one independent technical solution. This way of describing the specification is only for clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment can also be appropriately combined to form other embodiments that can be understood by those skilled in the art.
[0067] The detailed descriptions listed above are merely specific descriptions of feasible embodiments of the present invention, and are not intended to limit the scope of protection of the present invention. All equivalent embodiments or modifications made without departing from the spirit of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for valet parking of a vehicle in a parking lot, said vehicle being provided with a 3D scanner; characterized in that, The method comprises the following steps: acquiring map information of the parking lot and a starting position and a target parking space of the vehicle; generating a driving path from the starting position to the target parking space based on the map information; controlling the vehicle to drive to the target parking space along the driving path, and if it is detected that the vehicle deviates from the driving path during driving, controlling the vehicle to return to the driving path; when the distance between the vehicle and the target parking space is less than a second preset threshold, continuously performing the following steps: acquiring a preset first group of point clouds corresponding to the target parking space, and controlling the 3D scanner to acquire a second group of point clouds of the target parking space; for each point in the first group of point clouds, finding the nearest corresponding point in the second group of point clouds; when the distance between any point in the first group of point clouds and the corresponding point is greater than a third preset threshold, deleting the point in the first group of point clouds and deleting the corresponding point in the second group of point clouds; generating a rotation matrix R and a translation vector t between the first group of point clouds and the second group of point clouds; based on the rotation matrix R and the translation vector t, estimating a new position of all points in the first group of point clouds to obtain a temporary point cloud; when the distance between any point in the temporary point cloud and the corresponding point in the second group of point clouds is less than a fourth preset threshold or the number of times of performing the steps is greater than a fifth preset threshold, stopping the subsequent steps; otherwise, performing the steps again.
2. The valet parking method according to claim 1, wherein The generating of the driving path based on the map information specifically comprises: Based on the map information, using an algorithm, an algorithm or Dijkstra's algorithm to generate a driving route from the start location to the target parking space.
3. The method of valet parking according to claim 1, characterized in that, the vehicle is provided with a camera; the controlling of the vehicle to return to the driving path if it is detected that the vehicle deviates from the driving path specifically comprises: acquiring a plurality of visual vocabularies corresponding to the parking lot; performing the following processing on each image frame captured by the camera: acquiring a key frame captured by the camera, the capturing time of the key frame being earlier than the capturing time of the image frame; extracting a key point and a descriptor corresponding to each key point from the image frame, the descriptor being used to quantify the local image information of the corresponding key point; matching each descriptor corresponding to the image frame with the plurality of visual vocabularies to generate a bag-of-words vector; calculating the similarity between the image frame and the key frame based on the bag-of-words vector; If the similarity < first preset threshold If the similarity < first preset threshold .
4. The valet parking method according to claim 3, wherein the extracting of the key point and the descriptor corresponding to each key point from the image frame specifically comprises: extracting the key point from the image frame based on the SIFT algorithm, the SURF algorithm or the ORB algorithm, and then generating the descriptor corresponding to each key point.
5. The valet parking method according to claim 3, wherein the clustering processing of all descriptors to obtain a plurality of visual vocabularies specifically comprises: performing the clustering processing of all descriptors to obtain a plurality of visual vocabularies using the K-means clustering algorithm.
6. An apparatus for valet parking of a vehicle in a parking lot, said vehicle being provided with a 3D scanner; characterized in that, The method comprises the following modules: an information acquisition module, configured to acquire map information of the parking lot and a starting position and a target parking space of the vehicle; and generate a driving path from the starting position to the target parking space based on the map information. The control module is configured to control the vehicle to drive along the driving path to the target parking space, and if the vehicle deviates from the driving path during the driving, control the vehicle to return to the driving path; when the distance between the vehicle and the target parking space is less than a second preset threshold, the following steps are continuously performed: obtaining a preset first group of point clouds corresponding to the target parking space, and controlling the 3D scanner to obtain a second group of point clouds of the target parking space; for each point in the first group of point clouds, a nearest corresponding point in the second group of point clouds is found; when the distance between any point in the first group of point clouds and the corresponding point is greater than a third preset threshold, the point in the first group of point clouds is deleted, and the corresponding point in the second group of point clouds is deleted; a rotation matrix R and a translation vector t between the first group of point clouds and the second group of point clouds are generated, all points in the first group of point clouds are estimated to new positions based on the rotation matrix R and the translation vector t, and a temporary point cloud is obtained; when the distance between any point in the temporary point cloud and the corresponding point in the second group of point clouds is less than a fourth preset threshold or the number of times of performing the steps is greater than a fifth preset threshold, subsequent steps are stopped; otherwise, the steps are performed again.
7. A valet parking device according to claim 6, wherein, The information acquisition module is further configured to: Based on the map information, using an algorithm, an algorithm or Dijkstra's algorithm to generate a driving route from the start location to the target parking space.
8. An electronic device, comprising: The processor, the memory, and the program or the instructions stored on the memory and executable on the processor are included, and the program or the instructions are executed by the processor to realize the steps of the valet parking method according to any one of claims 1-5.
9. A storage medium, characterized by The program or the instructions are stored on the storage medium, and the program or the instructions are executed by the processor to realize the steps of the valet parking method according to any one of claims 1-5.
Citation Information
Patent Citations
Valet parking method and device
CN110466502A
Valet parking method, device and apparatus and storage medium
CN112037567A