Parking space detection methods, devices, vehicles, and storage media

By acquiring a bird's-eye view and using an image detection model to construct parking space bounding boxes, the problem of incomplete parking space detection caused by fisheye image top-down views is solved, improving the accuracy and safety of parking space detection.

CN116863442BActive Publication Date: 2025-10-28CHONGQING CHANGAN AUTOMOBILE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310731033.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-19
Publication Date
2025-10-28
Estimated Expiration
2043-06-19

AI Technical Summary

Technical Problem

In existing technologies, the parking space detection range is reduced when generating a top view based on fisheye images, resulting in incomplete parking space corner points and reduced detection accuracy.

Method used

By acquiring a bird's-eye view centered on the vehicle, and using a trained image detection model, parking space bounding boxes are constructed, including a set of markings and vertices. The markings and vertices are then filtered and merged to ensure completeness and accuracy.

Benefits of technology

It increases the parking space detection range, ensures the integrity of parking space corner points, improves the accuracy of parking space detection, and can determine whether there are obstacles in the parking space, thus improving the safety of automatic parking.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116863442B_ABST
    Figure CN116863442B_ABST
Patent Text Reader

Abstract

This application relates to a method, apparatus, vehicle, and storage medium for detecting parking spaces, and pertains to the field of autonomous vehicles. The method includes: acquiring a bird's-eye view centered on the vehicle, the bird's-eye view including at least one parking space, and the bird's-eye view being a three-dimensional image. The bird's-eye view is input into a trained image detection model to obtain a first set of markings and a first set of vertices. The first set of markings includes the markings of each parking space in the at least one parking space, and the first set of vertices includes the detected vertices of each parking space in the at least one parking space. Based on the first set of markings and the first set of vertices, multiple parking space bounding boxes are constructed, with one bounding box corresponding to one parking space. Thus, by detecting the vertices and markings of parking spaces using the bird's-eye view, the three-dimensional bird's-eye view can present parking spaces from multiple angles, increasing the detection range, ensuring the integrity of parking space corner points, and thus increasing the accuracy of parking space detection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of autonomous vehicles, specifically to a method, device, vehicle, and storage medium for detecting parking spaces. Background Technology

[0002] With the development of society and the economy, vehicles have become an essential tool for people's daily travel. However, with the increase in vehicle usage, the problem of parking difficulties has become increasingly prominent. To solve the parking problem, automatic parking systems can replace drivers in selecting suitable parking spaces, effectively avoiding accidents caused by driver subjectivity or blind spots.

[0003] Currently, vehicles can acquire fisheye images and process them to obtain a corresponding top-down view. Then, vehicles can use image detection algorithms to extract parking space corner points and construct parking spaces based on these corner points. However, generating a top-down view solely from fisheye images may reduce the detection range, resulting in incomplete parking space corner points and thus reducing the accuracy of parking space detection. Summary of the Invention

[0004] This application provides a method, apparatus, vehicle, and storage medium for detecting parking spaces, to at least solve the technical problems of reduced detection range and decreased accuracy in related technologies. The technical solution of this application is as follows:

[0005] According to a first aspect of this application, a method for detecting parking spaces is provided. The method includes: acquiring a bird's-eye view centered on a vehicle, the bird's-eye view including at least one parking space, the bird's-eye view being a three-dimensional image; inputting the bird's-eye view into a trained image detection model to obtain a first set of markings and a first set of vertices, the first set of markings including the markings of each parking space in the at least one parking space, and the first set of vertices including the detection vertices of each parking space in the at least one parking space; and constructing multiple parking space bounding boxes based on the first set of markings and the first set of vertices, each parking space bounding box corresponding to one parking space.

[0006] Based on the aforementioned technical means, this application detects the vertices and markings of parking spaces through a bird's-eye view. The bird's-eye view of the three-dimensional image can present the parking space from multiple angles, which can increase the detection range, ensure the integrity of the corner points of the parking space, and increase the accuracy of parking space detection.

[0007] In one possible implementation, the above-mentioned "constructing multiple parking space frames based on a first set of markings and a first set of vertices" includes: determining multiple endpoint distances and multiple angle differences based on the first set of markings, where the endpoint distance is the distance between any two markings and the angle difference is the angle difference between any two markings; generating a second set of markings based on the multiple endpoint distances and multiple angle differences, where the endpoint distance between any two markings in the second set is greater than a first preset distance threshold, or the angle difference is greater than a preset difference threshold; obtaining the length of each marking in the second set; filtering the second set of markings to determine a third set of markings, where the third set includes markings in the second set whose length is greater than or equal to a preset length threshold; and constructing multiple parking space frames based on the third set of markings and the first set of vertices.

[0008] Based on the aforementioned technical means, the server in this application can obtain complete parking space markings by merging lines, and delete invalid parking space markings by filtering and deleting shorter markings. This results in complete parking space markings, increasing the accuracy of parking space detection.

[0009] In one possible implementation, the first vertex set further includes the confidence score of each detected vertex, which indicates the accuracy with which the detected vertex represents the parking space. The parking space detection method further includes: acquiring a historical vertex set, which includes multiple historical vertices and the confidence score of each historical vertex. The aforementioned "constructing multiple parking space bounding boxes based on the first line set and the first vertex set" includes: filtering the first vertex set to determine a second vertex set, wherein the confidence score of each detected vertex in the second vertex set is greater than or equal to a preset confidence threshold, and the distance between any two detected vertices in the second vertex set is greater than a second preset distance threshold. Based on the second vertex set and the historical vertex set, a third vertex set is determined, wherein the distance between any two target vertices in the third vertex set is greater than a second preset distance threshold, and the target vertex is any vertex in the second vertex set and the historical vertex set. Based on the first line set and the third vertex set, multiple parking space bounding boxes are constructed.

[0010] Based on the aforementioned technical means, in this application, the server can filter parking space vertices according to the confidence level of the points to delete invalid parking space vertices. This increases the accuracy of parking space vertex identification, thereby improving the accuracy of parking space detection.

[0011] In one possible implementation, the parking space detection method further includes: for each of the multiple parking space frames, collecting N feature points from the parking space frame, where the feature points are used to indicate the feature information corresponding to the position within the parking space frame, and N is a positive integer. Based on the N feature points, determining target information, which is used to indicate whether there is an obstacle in the parking space or whether there is no obstacle in the parking space.

[0012] According to the above technical solution, the server of this application can determine whether there are obstacles in each parking space, thereby improving the safety of automatic parking.

[0013] According to a second aspect of this application, a parking space detection device is provided. The device includes: an acquisition unit for acquiring a bird's-eye view centered on a vehicle, the bird's-eye view including at least one parking space, and the bird's-eye view being a three-dimensional image; and a processing unit for inputting the bird's-eye view into a trained image detection model to obtain a first set of markings and a first set of vertices, the first set of markings including the markings of each of the at least one parking space, and the first set of vertices including the detection vertices of each of the at least one parking space; the processing unit is further configured to construct multiple parking space bounding boxes based on the first set of markings and the first set of vertices, each parking space bounding box corresponding to one parking space.

[0014] In one possible implementation, the processing unit is specifically used to determine multiple endpoint distances and multiple angle differences based on a first set of markings, where the endpoint distance is the distance between any two markings and the angle difference is the angle difference between any two markings. The processing unit is also specifically used to generate a second set of markings based on the multiple endpoint distances and angle differences, where the endpoint distance between any two markings in the second set is greater than a first preset distance threshold, or the angle difference is greater than a preset difference threshold. The acquisition unit is specifically used to acquire the length of each marking in the second set of markings. The processing unit is also specifically used to filter the second set of markings to determine a third set of markings, where the third set includes markings in the second set whose length is greater than or equal to a preset length threshold. Finally, the processing unit is specifically used to construct multiple parking space frames based on the third set of markings and a first set of vertices.

[0015] In one possible implementation, the first vertex set further includes the confidence score of each detected vertex, which indicates the accuracy with which the detected vertex represents the parking space. The acquisition unit is also configured to acquire a historical vertex set, which includes multiple historical vertices and the confidence score of each historical vertex. The processing unit is specifically configured to filter the first vertex set to determine a second vertex set, wherein the confidence score of each detected vertex in the second vertex set is greater than or equal to a preset confidence threshold, and the distance between any two detected vertices in the second vertex set is greater than a second preset distance threshold. The processing unit is specifically configured to determine a third vertex set based on the second vertex set and the historical vertex set, wherein the distance between any two target vertices in the third vertex set is greater than a second preset distance threshold, and the target vertex is any vertex in the second vertex set and the historical vertex set. The processing unit is specifically configured to construct multiple parking space bounding boxes based on the first marking set and the third vertex set.

[0016] In one possible implementation, the processing unit is further configured to collect N feature points from each of the multiple parking space frames, where the feature points indicate the feature information corresponding to the position within the parking space frame, and N is a positive integer. The processing unit is also configured to determine target information based on the N feature points, where the target information indicates whether an obstacle exists in the parking space or whether no obstacle exists in the parking space.

[0017] According to a third aspect provided in this application, a vehicle is provided, comprising: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute instructions to implement the method of the first aspect described above and any possible implementation thereof.

[0018] According to a fourth aspect provided in this application, a computer-readable storage medium is provided that, when the instructions in the computer-readable storage medium are executed by a processor of a vehicle, enables the vehicle to perform the methods described in the first aspect and any possible implementation thereof.

[0019] According to the fifth aspect provided in this application, a computer program product is provided, the computer program product including computer instructions that, when executed on a vehicle, cause the vehicle to perform the method described in the first aspect and any possible implementation thereof.

[0020] Therefore, the above-mentioned technical features of this application have the following beneficial effects:

[0021] (1) The vertex and markings of parking spaces can be detected by bird’s-eye view. The bird’s-eye view of the three-dimensional image can present the parking space from multiple angles, which can increase the detection range and ensure the integrity of the corner points of the parking space, thereby increasing the accuracy of parking space detection.

[0022] (2) Complete parking space markings can be obtained by merging lines, and shorter markings can be deleted by filtering to remove invalid parking space markings. In this way, complete parking space markings can be obtained, increasing the accuracy of parking space markings and thus increasing the accuracy of parking space detection.

[0023] (3) Parking space vertices can be filtered based on the confidence level of the points to remove invalid parking space vertices. This can increase the accuracy of parking space vertices, thereby increasing the accuracy of parking space detection.

[0024] (4) It can determine whether there are obstacles in each parking space, thus improving the safety of automatic parking.

[0025] It should be noted that the technical effects of any of the implementation methods in aspects two through five can be found in the technical effects of the corresponding implementation methods in aspect one, and will not be repeated here.

[0026] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description

[0027] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application, and do not constitute an undue limitation of this application.

[0028] Figure 1 This is a schematic diagram illustrating the structure of a parking space detection system according to an exemplary embodiment;

[0029] Figure 2 This is a flowchart illustrating a parking space detection method according to an exemplary embodiment;

[0030] Figure 3 This is a top view schematic diagram illustrating a grid division according to an exemplary embodiment;

[0031] Figure 4 This is a schematic diagram illustrating a mapping from a world coordinate system to pixel space according to an exemplary embodiment;

[0032] Figure 5 This is a schematic diagram of a pixel fusion structure according to an exemplary embodiment;

[0033] Figure 6 This is a schematic diagram of the network structure of a ResNet50 model according to an exemplary embodiment;

[0034] Figure 7 This is a schematic diagram of the network structure output by an image detection model according to an exemplary embodiment;

[0035] Figure 8 This is a schematic diagram illustrating a parking space vertex according to an exemplary embodiment;

[0036] Figure 9 This is a schematic diagram illustrating a parking space marking according to an exemplary embodiment;

[0037] Figure 10 This is a flowchart illustrating another parking space detection method according to an exemplary embodiment;

[0038] Figure 11 This is a flowchart illustrating another parking space detection method according to an exemplary embodiment;

[0039] Figure 12 This is a flowchart illustrating another parking space detection method according to an exemplary embodiment;

[0040] Figure 13This is a schematic diagram illustrating a feature point acquisition location according to an exemplary embodiment;

[0041] Figure 14 This is a structural diagram of a fully connected network model illustrated according to an exemplary embodiment;

[0042] Figure 15 This is a flowchart illustrating another parking space detection method according to an exemplary embodiment;

[0043] Figure 16 This is a block diagram illustrating a parking space detection device according to an exemplary embodiment;

[0044] Figure 17 This is a block diagram illustrating a vehicle according to an exemplary embodiment. Detailed Implementation

[0045] To enable those skilled in the art to better understand the technical solutions of this application, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.

[0046] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0047] Before providing a detailed description of the parking space detection method of this application embodiment, the implementation environment and application scenarios of this application embodiment will be introduced first.

[0048] With the development of society and the economy, vehicles have become an essential tool for people's daily travel. However, with the increase in vehicle usage, the problem of parking difficulties has become increasingly prominent. To solve the parking problem, automatic parking systems can replace drivers in selecting suitable parking spaces, effectively avoiding accidents caused by driver subjectivity or blind spots.

[0049] Currently, vehicles can acquire fisheye images and process them to obtain a corresponding top-down view. Then, vehicles can use image detection algorithms to extract parking space corner points and construct parking spaces based on these corner points. However, generating a top-down view solely from fisheye images may reduce the detection range, resulting in incomplete parking space corner points and thus reducing the accuracy of parking space detection.

[0050] To address the aforementioned problems, this application provides a parking space detection method. The method includes: a server acquiring a bird's-eye view centered on a vehicle, the bird's-eye view including at least one parking space, and the bird's-eye view being a three-dimensional image. The server inputs the bird's-eye view into a trained image detection model to obtain a first set of markings and a first set of vertices. The first set of markings includes the markings for each parking space in the at least one parking space, and the first set of vertices includes the detection vertices for each parking space in the at least one parking space. The server can construct multiple parking space bounding boxes based on the first set of markings and the first set of vertices, with each bounding box corresponding to one parking space. In this way, the three-dimensional bird's-eye view can present parking spaces from multiple angles, increasing the detection range, ensuring the integrity of parking space corner points, and thus increasing the accuracy of parking space detection.

[0051] The implementation environment of the embodiments of this application is described below.

[0052] Figure 1 This is a schematic diagram illustrating the structure of a parking space detection system according to an exemplary embodiment. Figure 1 As shown, the detection system for this parking space includes: a data acquisition device 101 and a server 102. The data acquisition device 101 is connected to the server 102.

[0053] The acquisition device 101 can be used to acquire images and send them to the server 102. The acquisition device 101 can be a camera.

[0054] It should be noted that the acquisition device is not limited in the embodiments of this application. For example, the acquisition device can be a fisheye camera. Another example is a wide-angle camera. Yet another example is a pinhole camera.

[0055] Server 102 can be a server deployed on a vehicle. Server 102 can communicate with acquisition device 101. For example, server 102 can acquire images from acquisition device 101. Furthermore, server 102 can process the images.

[0056] It should be noted that the server can be a single physical server, or a server cluster consisting of multiple servers. Alternatively, the server cluster can be a distributed cluster. Alternatively, the server can be a cloud server. This application does not limit the specific implementation of the server.

[0057] For ease of understanding, the method for detecting parking spaces provided in this application will be described in detail below with reference to the accompanying drawings. Figure 2 This is a flowchart illustrating a parking space detection method according to an exemplary embodiment, such as... Figure 2 As shown, the method includes the following steps:

[0058] S201, The server retrieves a bird's-eye view centered on the vehicle.

[0059] The bird's-eye view includes at least one parking space and is a three-dimensional image.

[0060] In one possible implementation, the server can acquire the vehicle's pose and construct a world coordinate system based on it. The server can then rasterize the world coordinate system, defining multiple grid cells. The server can then use a convolutional neural network model to obtain the center point of each grid cell.

[0061] For example, such as Figure 3 As shown, this is a top-view schematic diagram of a grid division. In the diagram, figure 301 represents a vehicle, and a dashed square represents a grid cell.

[0062] It should be noted that the range of the world coordinate system is not limited in this embodiment. For example, the range of the world coordinate system can be 20 meters × 20 meters × 2.5 meters. Or, for example, the range of the world coordinate system can be 30 meters × 30 meters × 3 meters. Or, for example, the range of the world coordinate system can be 25 meters × 25 meters × 2.5 meters. The physical size of a single grid cell is not limited in this embodiment. For example, the physical size of a single grid cell can be 0.01 meters × 0.01 meters × 0.1 meters. Or, for example, the physical size of a single grid cell can be 0.02 meters × 0.02 meters × 0.2 meters. Or, for example, the physical size of a single grid cell can be 0.03 meters × 0.03 meters × 0.3 meters.

[0063] In this embodiment, the server can acquire multiple camera images. For each grid, the server can project the grid's center point onto the multiple camera images to determine multiple pixels. One center point corresponds to multiple pixels, and the pixels are used to indicate the three-dimensional features of the grid's center point.

[0064] For example, such as Figure 4 As shown, this illustrates a schematic diagram of the mapping from the world coordinate system to pixel space. Wherein, point M(x′,y′,z) j ′) is used to represent a point in the world coordinate system, and points N1 and N2 are used to represent the projection of the world coordinate point M into the pixel space.

[0065] It should be noted that, in this embodiment of the application, the server can use a 7×7 large convolution kernel to fuse the pixels around the pixel as the feature representation of the pixel, which can improve the accuracy of the pixel feature representation.

[0066] Afterwards, the server can fuse multiple pixels into a target point by fusing point features through the fully connected layer. One center point corresponds to one target point, and the target point is used to indicate the two-dimensional features of the grid center point.

[0067] For example, such as Figure 5 As shown, this diagram illustrates a pixel fusion structure. Assuming a 3D point Q is any point in the world coordinate system, Q has m pixels, and each pixel has a feature channel C1. The server sequentially increases the dimensionality of the m pixels using a shared 1×1 convolution, increasing the feature channels to C2. Then, the server performs average pooling on the m features, and finally uses a 1×1 convolution for dimensionality reduction, resulting in the 3D feature [1,1,C3].

[0068] The server can then generate a bird's-eye view based on a three-dimensional coordinate system, multiple target points, and multiple camera images.

[0069] For example, the server can stitch together three-dimensional features along the vertical direction to obtain a bird's-eye view. The server can use a fully connected layer to process the two-dimensional features of the bird's-eye view.

[0070] It should be noted that, in the embodiments of this application, the camera image is converted into a bird's-eye view by reprojecting the pixels of the camera image plane onto the horizontal ground and using a transformation matrix.

[0071] For example, the transformation matrix formula can be expressed by Formula 1.

[0072]

[0073] Among them, Z c Used to represent object distance, i.e., the distance from the image plane to the object plane. `u` represents the x-coordinate (horizontal coordinate) of a pixel in the camera image within the image coordinate system, `v` represents the y-coordinate (vertical coordinate) of a pixel in the camera image within the image coordinate system, and `(u, v)` represents the coordinates of the center point of the camera image relative to the image coordinate system. d x d is used to represent the number of pixels in the camera image per unit distance along the horizontal axis (x-axis) in the world coordinate system. y This represents the number of pixels in the camera image per unit distance along the vertical axis (y-axis) in the world coordinate system. u0 represents the x-coordinate of the camera image's center point in the image coordinate system, v0 represents the y-coordinate of the camera image's center point in the image coordinate system, and (u0, v0) represents the coordinates of the target image's center point. f represents the lens focal length, R represents the rotation matrix for converting from the camera coordinate system to the world coordinate system, and T represents the translation matrix for converting from the camera coordinate system to the world coordinate system. (X) w Y w Z w () is used to represent the coordinates of a pixel in a camera image in the world coordinate system.

[0074] In one possible design, the server can determine the resolution of the bird's-eye view based on the range of the three-dimensional coordinate system and the physical size of a single grid.

[0075] For example, if the range of the three-dimensional coordinate system can be 20 meters × 20 meters × 2.5 meters, and the physical size of a single grid can be 0.01 meters × 0.01 meters × 0.1 meters, then the resolution of the bird's-eye view is 2000 × 2000 × 25.

[0076] S202. The server inputs the bird's-eye view into the trained image detection model to obtain the first set of datum lines and the first set of vertices.

[0077] The first set of markings includes the markings for each parking space in at least one parking space, and the first set of vertices includes the detected vertices for each parking space in at least one parking space.

[0078] It should be noted that the image detection model is not limited in the embodiments of this application. For example, the image detection model can be a residual neural network (ResNet) model. Another example is a region-based convolutional neural network (R-CNN) model. Yet another example is a deep neural network (YOLO) model.

[0079] For example, the server can obtain the first set of datum lines and the first set of vertices using the ResNet50 model. Figure 6The diagram illustrates a schematic of the ResNet50 model's network structure. The input image size is W×H, where W represents the image width, H represents the image height, and C represents the number of input channels. The server inputs the first image into ResNet50, which then passes through stages 0, 1, 2, 3, and 4 before outputting the second image. The ResNet50 model has four stages: Stage 0, Stage 1, Stage 2, Stage 3, and Stage 4. Stage 0 includes two modules: a 7×7 convolutional kernel and max pooling. CONV stands for Convolution, 7×7 refers to the kernel size, 64 refers to the number of kernels (i.e., the number of output channels of this convolutional layer), and / 2 indicates a stride of 2. The ResNet50 model also includes two convolutional blocks: Convolutional Block A and Convolutional Block B. Stage 1 includes 3 convolutional blocks, Stage 2 includes 4 convolutional blocks, Stage 3 includes 6 convolutional blocks, and Stage 4 includes 3 convolutional blocks. Convolutional Block A includes: the input image (number of channels C, number of channels in the left 1×1 convolutional layer C1, window length k, stride s), a 1×1 convolution, a k×k convolution, a batch normalization (BN) layer, and the ReLU activation function. Convolutional Block B includes: the input image (number of channels C, window length k), a 1×1 convolution, a k×k convolution, a batch normalization (BN) layer, and the ReLU activation function.

[0080] In one possible implementation, the server can input a bird's-eye view into a trained image detection model to obtain a first set of datum lines and a first set of vertices.

[0081] Optionally, the server can input the bird's-eye view into the trained image detection model and obtain the offset of each criterion in the first criterion set and the offset of each detected vertex in the first vertex set.

[0082] For example, such as Figure 7 The diagram illustrates a network structure output by an image detection model. The bird's-eye view extracts features through three stages of convolutional blocks. Then, four independent 1×1 convolutions output heatmaps of the detected parking space vertices, parking space markings, the offsets of the detected vertices, and the offsets of the markings. These are directly input into the first set of markings and the first set of vertices via a decode function. It should be noted that the marking positions in the first set of markings are the positions obtained by adding the offsets to the marking positions, and the detected vertex positions in the first set of vertices are the positions obtained by adding the offsets to the detected vertex positions.

[0083] It should be noted that, in the embodiments of this application, determining the offset of the parking space detection vertex and the offset of the marking can improve the accuracy of the position of the detected vertex in the first vertex set and the position of the marking in the first marking set.

[0084] In one possible design, the server can generate heatmaps of the first set of datum lines and the first set of vertices using a Gaussian distribution.

[0085] For example, such as Figure 8 As shown, this diagram illustrates a parking space vertex. Points I and J represent parking space vertices. The server can determine the midpoint of the intersection of two lane markings and project this midpoint onto a bird's-eye view. Then, the server can generate a two-dimensional Gaussian distribution centered on the midpoint of the intersection as a heatmap of that midpoint. Figure 9 The diagram illustrates a parking space marking. Lines 901, 902, and 903 represent parking space markings. Since real-world parking space markings have width, the server can project the centerline of the markings onto a bird's-eye view. Then, the server can construct a one-dimensional Gaussian distribution as a heatmap, using each point on the centerline as the center point and along a direction perpendicular to the centerline.

[0086] S203. The server constructs multiple parking space frames based on the first set of markings and the first set of vertices.

[0087] One parking space frame corresponds to one parking space.

[0088] It should be noted that, in this embodiment of the application, the parking space frame can be represented by an approximately parallel quadrilateral. That is, the parking space frame may include: four vertices and four markings.

[0089] In one possible implementation, the server can determine the vertices and markings of the parking space frame based on the distance between any two markings in the first marking set, the distance between any two detected vertices in the first vertex set, and the distance between the markings in the first marking set and the detected vertices in the first vertex set, thereby constructing multiple parking space frames.

[0090] The following describes, with reference to specific embodiments, how the server constructs multiple parking space frames based on the first set of markings and the second set of vertices in this application.

[0091] For example, for a first detected vertex in a first vertex set, the server can use other detected vertices within a preset range and the first detected vertex as vertices of the parking space bounding box, and select the nearest parking space marking from the first marking set to construct the parking space bounding box according to preset matching conditions. The preset matching conditions include: the Euclidean distance between the vertices of the parking space bounding box and the parking space bounding box markings, and the vertical distance between the vertices of the parking space bounding box and the parking space bounding box markings.

[0092] In one possible design, the first vertex set also includes the confidence score of each detected vertex in the first vertex set. The server can calculate the average confidence score based on the confidence scores of other detected vertices whose distance from the first detected vertex is within a preset range and the confidence score of the first detected vertex, and use the average confidence score as the confidence score of the parking space frame.

[0093] In this embodiment, the server stores historical parking space information, which includes multiple historical frames. The server can obtain multiple intersection-union ratios (IU / R), which represent the coverage between the historical frames and the parking space frames. For each IU / R, the server can determine whether the IU / R is within a preset IU / R range.

[0094] In one possible design, if the intersection-to-union ratio is less than a preset intersection-to-union ratio range, the server can store parking space frames.

[0095] It should be noted that, in this embodiment, if the intersection-union ratio (IU) is not less than a preset IU range, the server can determine that the parking space frame and multiple historical frames are weakly correlated. There are no historical frames with the same location as the parking space frame among the multiple historical frames.

[0096] In another possible design, if the intersection-union ratio (IU) is greater than a preset IU range, the server can dynamically weight the parking space frame based on the distance between its center point and the vehicle, and the confidence level of the parking space frame, to calculate the confidence level of the parking space frame. Then, the server can select the target frame with the highest confidence level for storage based on the confidence levels of the parking space frame and the historical frames.

[0097] In another possible design, if the cross-union ratio is within a preset range, the server can multiply the confidence level of the parking space frame by a preset coefficient and store the parking space frame.

[0098] Understandably, the server can acquire a bird's-eye view centered on the vehicle, including at least one parking space, and this view is a 3D image. The server can input this view into a trained image detection model to obtain a first set of markings and a first set of vertices. The first set of markings includes the markings for each parking space in at least one parking space, and the first set of vertices includes the detection vertices for each parking space in at least one parking space. Based on the first set of markings and the first set of vertices, the server can construct multiple parking space bounding boxes, with one bounding box corresponding to one parking space. In this way, the 3D bird's-eye view can present parking spaces from multiple angles, increasing the detection range, ensuring the integrity of parking space corner points, and thus improving the accuracy of parking space detection.

[0099] In some embodiments, to improve the accuracy of constructing parking space frames, such as Figure 10 As shown, the server constructs multiple parking space frames based on the first set of markings and the first set of vertices (S203), which may include the following steps:

[0100] S1001. The server determines multiple endpoint distances and multiple tilt angle differences based on the first set of markings.

[0101] Among them, the endpoint distance is the distance between the endpoints of any two markings, and the inclination angle difference is the difference in inclination angle between any two markings.

[0102] In one possible implementation, the server can select two traverses from a first set of traverses, determine the endpoint distance and tilt angle difference between the two traverses, and thus determine multiple endpoint distances and multiple tilt angle differences.

[0103] S1002. The server generates a second set of markings based on multiple endpoint distances and multiple tilt angle differences.

[0104] Among them, the endpoint distance between any two markings in the second marking set is greater than the first preset distance threshold, or the difference in inclination angle is greater than the preset difference threshold.

[0105] In one possible implementation, for any two markings, the server can determine whether the distance between the endpoints of the two markings is greater than a first preset distance threshold. The server can also determine whether the difference in the inclination angles of the two markings is greater than a preset difference threshold.

[0106] It should be noted that, in this embodiment, the first preset distance threshold is not limited. For example, the first preset distance threshold can be 1 meter. Or, for example, the first preset distance threshold can be 2 meters. Or, for example, the first preset distance threshold can be 1.5 meters. In this embodiment, the preset difference threshold is not limited. For example, the preset difference threshold can be 15 degrees. Or, for example, the preset difference threshold can be 20 degrees. Or, for example, the preset difference threshold can be 10 degrees.

[0107] In one possible design, if the distance between the endpoints of two markings is less than or equal to a first preset distance threshold, and the difference in the inclination angle of the two markings is less than or equal to a preset difference threshold, the server can merge the two markings to obtain the updated markings.

[0108] In another possible design, if the distance between the endpoints of two markings is less than or equal to a first preset distance threshold, and the difference in their inclination angles is greater than a preset difference threshold, the server can retain both markings.

[0109] It should be noted that, in this embodiment, parking space markings may be drawn with dashed lines or be missing in real life, which could lead to incomplete parking space markings in the image detection model after training. In this application, the server can merge two markings belonging to the same parking space to obtain a complete parking space marking.

[0110] S1003, The server obtains the length of each criterion in the second criterion set.

[0111] S1004. The server filters the second set of markings to determine the third set of markings.

[0112] The third set of markings includes markings in the second set whose length is greater than or equal to a preset length threshold.

[0113] In other words, the third set of markings includes: markings in the second set whose length is greater than a preset length threshold and markings in the second set whose length is equal to the preset length threshold.

[0114] It should be noted that the preset length threshold is not limited in this embodiment. For example, the preset length threshold can be 2 meters. Or, for example, the preset length threshold can be 1.5 meters. Or, for example, the preset length threshold can be 2.5 meters.

[0115] In one possible implementation, for each mark in the second mark set, the server can determine whether the length of the mark is greater than or equal to a preset length threshold.

[0116] In one possible design, if the length of the marking is greater than or equal to a preset length threshold, the server can retain the marking.

[0117] In another possible design, the server can delete the marking if the length of the marking is less than a preset length threshold.

[0118] It should be noted that, in this embodiment of the application, for each mark in the second mark set, the server can determine whether the mark's length is greater than or equal to a preset length threshold to determine whether to retain the mark. Thus, the server can obtain the third mark set.

[0119] S1005. The server constructs multiple parking space frames based on the third set of datum lines and the first set of vertices.

[0120] It should be noted that, in the embodiments of this application, the description of the server constructing multiple parking space frames based on the third set of markings and the first set of vertices can be found in S203, which describes the server constructing multiple parking space frames based on the first set of markings and the first set of vertices. It will not be repeated here.

[0121] Understandably, the server can determine multiple endpoint distances and multiple angle differences based on the first set of markings. Endpoint distance is the distance between any two endpoints of the markings, and angle difference is the difference in angle between any two markings. The server can generate a second set of markings based on these multiple endpoint distances and angle differences. The server can then filter the second set of markings to determine a third set of markings, which includes markings in the second set whose length is greater than or equal to a preset length threshold. The server can then construct multiple parking space boxes based on the third set of markings and the first set of vertices. In this way, the server can obtain complete parking space markings by merging lines and remove shorter markings through filtering to eliminate invalid markings. This results in complete parking space markings, increasing the accuracy of parking space detection.

[0122] In some embodiments, to improve the accuracy of constructing parking space frames, such as Figure 11 As shown, before the server constructs multiple parking space frames based on the first set of markings and the first set of vertices (S203), the following steps may also be included:

[0123] S1101, The server retrieves the historical vertex set.

[0124] The set of historical vertices includes: multiple historical vertices and the confidence level of each historical vertex.

[0125] In this embodiment of the application, S203 may further include the following steps:

[0126] S1102. The server filters the first set of vertices to determine the second set of vertices.

[0127] Among them, the confidence level of each detected vertex in the second vertex set is greater than or equal to the preset confidence threshold, and the distance between any two detected vertices in the second vertex set is greater than the second preset distance threshold.

[0128] It should be noted that, in this embodiment, the preset reliability threshold is not limited. For example, the preset reliability threshold can be 0.30. Or, for example, the preset reliability threshold can be 0.40. Or, for example, the preset reliability threshold can be 0.35. In this embodiment, the second preset distance threshold is not limited. For example, the second preset distance threshold can be 20 cm. Or, for example, the second preset distance threshold can be 15 cm. Or, for example, the second preset distance threshold can be 25 cm.

[0129] In one possible design, the first vertex set also includes the confidence score for each detected vertex.

[0130] The confidence level is used to indicate the accuracy with which the detected vertices represent parking spaces.

[0131] In one possible implementation, the server can obtain multiple first distances, where each first distance is the distance between any two detected vertices in a first vertex set. For each of the multiple first distances, the server can determine whether the first distance is greater than a second preset distance threshold.

[0132] In one possible design, if the first distance is less than or equal to a second preset distance threshold, the server can determine the first vertex from the two detected vertices based on the confidence levels of the two detected vertices corresponding to the first distance. The first vertex is the detected vertex with the highest confidence level among the two detected vertices. The server can then determine whether the confidence level of the first vertex is greater than or equal to the preset confidence threshold.

[0133] In this embodiment, if the confidence level of the first vertex is greater than or equal to a preset confidence threshold, the server can retain the first vertex. If the confidence level of the first vertex is less than the preset confidence threshold, the server can delete the first vertex.

[0134] In another possible design, if the first distance is greater than or equal to the second preset distance threshold, then for each of the two detected vertices, the server can determine whether the confidence of the detected vertex is greater than or equal to the preset confidence threshold.

[0135] In this embodiment, if the confidence level of a detected vertex is greater than or equal to a preset confidence threshold, the server can retain the detected vertex. If the confidence level of a detected vertex is less than the preset confidence threshold, the server can delete the detected vertex.

[0136] It should be noted that, in this embodiment, the server may first determine whether the confidence level of each detected vertex is greater than or equal to a preset confidence threshold, and retain the detected vertices whose confidence level is greater than or equal to the preset confidence threshold. Then, the server obtains the distance between any two detected vertices among the retained detected vertices and determines whether the distance between the two detected vertices is greater than a second preset distance threshold. If the distance between the two detected vertices is greater than the second preset distance threshold, the server can retain both detected vertices. If the distance between the two detected vertices is less than or equal to the second preset distance threshold, the server can retain the detected vertex with the highest confidence level among the two detected vertices.

[0137] S1103. The server determines the third vertex set based on the second vertex set and the historical vertex set.

[0138] Among them, the distance between any two target vertices in the third vertex set is greater than the second preset distance threshold, and the target vertex is any vertex in the second vertex set and the historical vertex set.

[0139] In one possible implementation, the server can merge the second vertex set and the historical vertex set into a fourth vertex set, which includes the target vertex, which is any vertex in both the second and historical vertex sets. The server can obtain multiple second distances, which are the distances between any two target vertices in the fourth vertex set. For each of the multiple second distances, the server can determine whether the second distance is greater than a second preset distance threshold.

[0140] In one possible design, if the second distance is less than or equal to a second preset distance threshold, the server can determine the second vertex from the two target vertices based on the confidence levels of the two target vertices corresponding to the second distance. The second vertex is the target vertex with the highest confidence level between the two target vertices. The server can retain the second vertex and delete the target vertex with the lower confidence level between the two target vertices.

[0141] In another possible design, if the second distance is greater than a second preset distance threshold, the server can retain the two target vertices corresponding to the second distance.

[0142] S1104. The server constructs multiple parking space frames based on the first set of markings and the third set of vertices.

[0143] It should be noted that, in the embodiments of this application, the description of the server constructing multiple parking space frames based on the first set of markings and the third set of vertices can be found in S203, which describes the server constructing multiple parking space frames based on the first set of markings and the first set of vertices. It will not be repeated here.

[0144] Understandably, the server can obtain a historical vertex set, which includes multiple historical vertices and the confidence score of each historical vertex. The server can filter the first vertex set to determine a second vertex set, where the confidence score of each detected vertex in the second vertex set is greater than or equal to a preset confidence threshold, and the distance between any two detected vertices in the second vertex set is greater than a second preset distance threshold. Based on the second vertex set and the historical vertex set, the server can determine a third vertex set, where the distance between any two target vertices in the third vertex set is greater than a second preset distance threshold, and the target vertex is any vertex from the second vertex set and the historical vertex set. The server can construct multiple parking space bounding boxes based on the first line marking set and the third vertex set. Thus, the server can filter parking space vertices based on the point's confidence score to delete invalid parking space vertices. This increases the accuracy of parking space vertex detection, thereby increasing the accuracy of parking space detection.

[0145] In some embodiments, after executing S301-S304 and S401-S403, the server can also construct multiple parking space libraries based on the third datum set and the third vertex set.

[0146] In some embodiments, in order to detect whether a parking space is vacant, such as Figure 12 As shown, after the server constructs multiple parking space frames based on the first set of markings and the first set of vertices (S203), the parking space detection method may further include: for each parking space frame in the multiple parking space frames, the server may execute S1201-S1202.

[0147] S1201, The server collects N feature points from the parking space frame.

[0148] Where N is a positive integer, and the feature points are used to indicate the feature information corresponding to the position in the parking space frame.

[0149] In one possible implementation, the server can determine the center point of the parking space frame, which is the intersection of the diagonals of the parking space frame. The server can use the center point of the parking space frame as the starting point and perform uniform sampling in a preset direction to collect N feature points, including the center point of the parking space frame.

[0150] The preset direction is the direction from the center point of the parking space frame to the target vertex of the parking space frame.

[0151] For example, if the center point of the parking space frame is point P, and the target vertices of the parking space frame include: point A, point B, point C, and point D, then the preset directions include: direction PA, direction PB, direction PC, and direction PD.

[0152] The following is a specific example illustrating how a server can collect N feature points from a parking space frame.

[0153] For example, such as Figure 13 The diagram illustrates a feature point acquisition location. If the preset directions include: direction PA, direction PB, direction PC, and direction PD, and two feature points are evenly acquired in each of these preset directions (k=2), then the N feature points include: the center point P of the parking space, point A1, point A2, point B1, point B2, point C1, point C2, point D1, and point D2, and N is 9.

[0154] In this embodiment of the application, the server may use interpolation to determine the feature vector of each feature point among N feature points.

[0155] In this way, using interpolation to determine the feature vector can improve the accuracy of the feature vector corresponding to the feature point.

[0156] S1202. The server determines the target information based on N feature points.

[0157] The target information is used to indicate whether there is an obstacle in the parking space or whether there is no obstacle in the parking space.

[0158] In one possible design, where the target information is used to indicate the presence of an obstacle in a parking space, the target information may also include the type of obstacle.

[0159] In one possible implementation, the server can input N feature points into a state classification model to determine target information. The state classification model is used to classify the feature points.

[0160] It should be noted that the state classification model is not limited in this embodiment. For example, the state classification model can be a fully connected network model. Another example is a K-means clustering model. Yet another example is a support vector machine model.

[0161] For example, such as Figure 14 The diagram illustrates the structure of a fully connected network model. The server inputs N feature points into the fully connected network model, and through three 1×1 convolutional layers, the server determines the target information. In the first 1×1 convolutional layer, C indicates the number of channels, and k indicates the window length.

[0162] In this embodiment of the application, for each parking space frame among multiple parking space frames, the server can execute S1201-S1202 to determine the target information corresponding to each parking space frame.

[0163] In other words, the server can execute S1201-S1202 for each parking space frame to determine whether there are obstacles in each parking space.

[0164] Understandably, for each of the multiple parking space frames, N feature points are collected from the frame. These feature points indicate the characteristic information corresponding to the location within the parking space frame, where N is a positive integer. The server can then determine the target information based on these N feature points. This target information indicates whether an obstacle exists in the parking space or not. In this way, the server can determine whether an obstacle exists in each parking space, improving the safety of automatic parking.

[0165] The method for detecting parking spaces in this application will be described below with reference to specific embodiments. Figure 15 As shown, the server can acquire camera images from four directions centered on the vehicle. The server can obtain the center point of each grid cell in the world coordinate system using a convolutional neural network model. The server can project the center point of each grid cell onto the camera images. The server can fuse and stitch the camera images from the four directions to obtain the 3D features of the bird's-eye view. The server can convert the 3D features of the bird's-eye view into 2D features. Then, the server can input the bird's-eye view into the convolutional neural network model to obtain the first vertex set and the first datum line set. The server can process the first vertex set and the first datum line set using a post-processing module to obtain the parking space bounding boxes. The server can determine the occupancy status of the parking space by performing region pooling on the parking space bounding boxes.

[0166] The above primarily describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the above functions, the parking space detection device or vehicle includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0167] This application embodiment can, based on the above method, exemplarily divide the parking space detection device or vehicle into functional modules. For example, the parking space detection device or vehicle may include various functional modules corresponding to each functional division, or two or more functions may be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; in actual implementation, there may be other division methods.

[0168] Figure 16This is a block diagram illustrating a parking space detection device according to an exemplary embodiment. (Refer to...) Figure 16 The detection device in this parking space is used to perform... Figure 2 , Figure 10 , Figure 11 and Figure 12 The method shown. The detection device for this parking space includes: an acquisition unit 1601 and a processing unit 1602.

[0169] The acquisition unit 1601 is used to acquire a bird's-eye view centered on the vehicle, the bird's-eye view including at least one parking space, and the bird's-eye view is a three-dimensional image. The processing unit 1602 is used to input the bird's-eye view into a trained image detection model to obtain a first set of markings and a first set of vertices. The first set of markings includes the markings of each parking space in at least one parking space, and the first set of vertices includes the detected vertices of each parking space in at least one parking space. The processing unit 1602 is further used to construct multiple parking space bounding boxes based on the first set of markings and the first set of vertices, with each parking space bounding box corresponding to one parking space.

[0170] In one possible implementation, the processing unit 1602 is specifically used to determine multiple endpoint distances and multiple angle differences based on a first set of markings, where the endpoint distance is the distance between any two markings and the angle difference is the angle difference between any two markings. The processing unit 1602 is also specifically used to generate a second set of markings based on the multiple endpoint distances and angle differences, where the endpoint distance between any two markings in the second set is greater than a first preset distance threshold, or the angle difference is greater than a preset difference threshold. The acquisition unit 1601 is specifically used to acquire the length of each marking in the second set of markings. The processing unit 1602 is specifically used to filter the second set of markings to determine a third set of markings, where the third set includes markings in the second set whose length is greater than or equal to a preset length threshold. The processing unit 1602 is specifically used to construct multiple parking space frames based on the third set of markings and a first set of vertices.

[0171] In one possible implementation, the first vertex set further includes the confidence score of each detected vertex, which indicates the accuracy with which the detected vertex represents the parking space. The acquisition unit 1601 is also used to acquire a historical vertex set, which includes multiple historical vertices and the confidence score of each historical vertex. The processing unit 1602 is specifically used to filter the first vertex set to determine a second vertex set, wherein the confidence score of each detected vertex in the second vertex set is greater than or equal to a preset confidence threshold, and the distance between any two detected vertices in the second vertex set is greater than a second preset distance threshold. The processing unit 1602 is specifically used to determine a third vertex set based on the second vertex set and the historical vertex set, wherein the distance between any two target vertices in the third vertex set is greater than a second preset distance threshold, and the target vertex is any vertex in the second vertex set and the historical vertex set. The processing unit 1602 is specifically used to construct multiple parking space frames based on the first marking set and the third vertex set.

[0172] In one possible implementation, the processing unit 1602 is further configured to collect N feature points from each of the multiple parking space frames, where the feature points are used to indicate feature information corresponding to the position within the parking space frame, and N is a positive integer. The processing unit 1602 is also configured to determine target information based on the N feature points, where the target information indicates whether an obstacle exists in the parking space or whether no obstacle exists in the parking space.

[0173] Regarding the apparatus in the above embodiments, the specific manner in which each unit performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0174] Figure 17 This is a block diagram illustrating a vehicle according to an exemplary embodiment. Figure 17 As shown, vehicle 1700 includes, but is not limited to, processor 1701 and memory 1702.

[0175] The aforementioned memory 1702 is used to store the executable instructions of the aforementioned processor 1701. It is understood that the aforementioned processor 1701 is configured to execute instructions to implement the parking space detection method in the above embodiment.

[0176] It should be noted that those skilled in the art will understand that Figure 17 The vehicle structure shown does not constitute a limitation on the vehicle; a vehicle may include, but is not limited to, other types of vehicles. Figure 17 This may indicate more or fewer components, or combinations of certain components, or different component arrangements.

[0177] Processor 1701 is the control center of the vehicle, connecting various parts of the vehicle through various interfaces and lines. It performs various vehicle functions and processes data by running or executing software programs and / or modules stored in memory 1702, and by calling data stored in memory 1702, thereby providing overall vehicle monitoring. Processor 1701 may include one or more processing units. Optionally, processor 1701 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, while the modem processor mainly handles wireless communication. It is understood that the modem processor may not be integrated into processor 1701.

[0178] The memory 1702 can be used to store software programs and various data. The memory 1702 may primarily include a program storage area and a data storage area, wherein the program storage area may store the operating system, application programs (such as processing units) required by at least one functional module, etc. Furthermore, the memory 1702 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0179] In an exemplary embodiment, a computer-readable storage medium including instructions is also provided, such as a memory 1702 including instructions, which can be executed by a processor 1701 of a vehicle 1700 to implement the parking space detection method in the above embodiment.

[0180] In actual implementation, Figure 16 The functions of the acquisition unit 1601 and the processing unit 1602 can both be provided by Figure 17 The processor 1701 calls the computer program stored in the memory 1702 to implement the process. The specific execution process can be found in the description of the parking space detection method in the previous embodiment, and will not be repeated here.

[0181] Optionally, the computer-readable storage medium may be a non-transitory computer-readable storage medium, such as a read-only memory (ROM), random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.

[0182] In an exemplary embodiment, this application also provides a computer program product including one or more instructions, which can be executed by the vehicle's processor to complete the parking space detection method in the above embodiments.

[0183] It should be noted that when one or more instructions in the computer-readable storage medium or computer program product are executed by the vehicle's processor, they implement the various processes of the above-described parking space detection method embodiment and achieve the same technical effect as the above-described parking space detection method. To avoid repetition, they will not be described again here.

[0184] Through the above description of the embodiments, those skilled in the art can clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above.

[0185] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another apparatus, or some features may be ignored or not executed. Furthermore, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0186] The units described as separate components may or may not be physically separate. A component shown as a unit can be one or more physical units; that is, it can be located in one place or distributed in multiple different locations. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0187] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0188] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, essentially, or the parts that contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a device (which may be a microcontroller, chip, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.

[0189] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for detecting parking spaces, characterized in that, The method includes: Obtain a bird's-eye view centered on the vehicle, the bird's-eye view including at least one parking space, the bird's-eye view being a three-dimensional image; The bird's-eye view is input into the trained image detection model to obtain a first set of markings and a first set of vertices. The first set of markings includes the markings of each of the at least one parking space, and the first set of vertices includes the detected vertices of each of the at least one parking space. The first set of vertices also includes the confidence score of each detected vertex, which is used to indicate the accuracy with which the detected vertex represents the parking space. Obtain a set of historical vertices, the set of historical vertices including: multiple historical vertices and the confidence level of each historical vertex; The first vertex set is filtered to determine the second vertex set, wherein the confidence of each detected vertex in the second vertex set is greater than or equal to a preset confidence threshold, and the distance between any two detected vertices in the second vertex set is greater than a second preset distance threshold. A third vertex set is determined based on the second vertex set and the historical vertex set, wherein the distance between any two target vertices in the third vertex set is greater than the second preset distance threshold, and the target vertex is any vertex in the second vertex set and the historical vertex set; Multiple parking space frames are constructed based on the first set of markings and the third set of vertices.

2. The method according to claim 1, characterized in that, The method includes: For each of the plurality of parking space frames, N feature points are collected from the parking space frame. The feature points are used to indicate the feature information corresponding to the position in the parking space frame, where N is a positive integer. Based on the N feature points, target information is determined, which is used to indicate whether there is an obstacle in the parking space or whether there is no obstacle in the parking space.

3. A parking space detection device, characterized in that, The device comprises: An acquisition unit is used to acquire a bird's-eye view centered on the vehicle, the bird's-eye view including at least one parking space, and the bird's-eye view being a three-dimensional image; The processing unit is configured to input the bird's-eye view into a trained image detection model to obtain a first set of markings and a first set of vertices. The first set of markings includes the markings of each of the at least one parking space, and the first set of vertices includes the detected vertices of each of the at least one parking space. The first set of vertices also includes the confidence score of each detected vertex, which is used to indicate the accuracy with which the detected vertex represents the parking space. The acquisition unit is further configured to acquire a set of historical vertices, the set of historical vertices including: multiple historical vertices and the confidence level of each historical vertex; The processing unit is specifically used to filter the first vertex set and determine the second vertex set, wherein the confidence of each detected vertex in the second vertex set is greater than or equal to a preset confidence threshold, and the distance between any two detected vertices in the second vertex set is greater than a second preset distance threshold. The processing unit is specifically used to determine a third vertex set based on the second vertex set and the historical vertex set, wherein the distance between any two target vertices in the third vertex set is greater than the second preset distance threshold, and the target vertex is any vertex in the second vertex set and the historical vertex set; The processing unit is specifically used to construct multiple parking space frames based on the first set of markings and the third set of vertices.

4. The apparatus according to claim 3, characterized in that, The processing unit is further configured to collect N feature points from each of the plurality of parking space frames, wherein the feature points are used to indicate feature information corresponding to the position in the parking space frame, and N is a positive integer; The processing unit is further configured to determine target information based on the N feature points, wherein the target information is used to indicate whether there is an obstacle in the parking space or whether there is no obstacle in the parking space.

5. A vehicle, characterized in that, include: processor; A memory for storing processor-executable instructions; wherein the processor is configured to execute the instructions to implement the method as claimed in claim 1 or 2.

6. A computer-readable storage medium, characterized in that, When the computer-executable instructions stored in the computer-readable storage medium are executed by the vehicle's processor, the vehicle is able to perform the method as described in claim 1 or 2.

Citation Information

Patent Citations

  • Parking space detection method, device and system

    CN114943954A

  • Methods and systems for parking line marker detection and pairing and parking spot detection and classification

    US20200089974A1