Method, apparatus and medium for determining object coordinates
Patent Information
- Application Number
- CN202310371437.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-07
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2043-04-07
Smart Images

Figure CN116481424B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, specifically to the fields of driver assistance, map rendering, smart cockpit, human-machine co-driving, obstacle detection and cloud computing, and particularly to a method, apparatus, device and medium for determining object coordinates. Background Technology
[0002] In the current cockpit field, 3D human-machine co-driving maps have basically become a standard feature. Compared with traditional electronic maps, the biggest difference between 3D and 2D maps is that they overlay the results of perception (such as obstacles). Based on these perception results, the rendered page elements are richer, and the functions related to driver assistance are more diverse.
[0003] To ensure that obstacles are properly superimposed on the map and appear to be close to the ground, it is crucial to determine the actual height of the obstacles in the world coordinate system and then superimpose them onto the road surface based on their actual height. Summary of the Invention
[0004] This disclosure provides a method, apparatus, device, and medium for determining object coordinates to improve the efficiency of determining the coordinate values of an object in the Z-axis direction of the world coordinate system.
[0005] According to one aspect of this disclosure, a method for determining object coordinates is provided, comprising:
[0006] Based on the data acquisition results of the target object, the first true coordinate value of the target object in the X-axis direction of the world coordinate system and the second true coordinate value in the Y-axis direction of the world coordinate system are determined.
[0007] The target road surface grid where the target object is located is determined based on the first true coordinate value and the second true coordinate value, and a target bounding box surrounding the target road surface grid is established;
[0008] Obtain the virtual coordinate value in the Z-axis direction of the world coordinate system, and determine the virtual position point in the world coordinate system based on the first real coordinate value, the second real coordinate value, and the virtual coordinate value;
[0009] Determine the target distance between the virtual location point and the target bounding box, and based on the target distance and the virtual coordinates, determine the third true coordinates of the target object in the Z-axis direction of the world coordinate system.
[0010] According to another aspect of this disclosure, an apparatus for determining object coordinates is provided, comprising:
[0011] The first coordinate value determination module is used to determine the first true coordinate value of the target object in the X-axis direction of the world coordinate system and the second true coordinate value in the Y-axis direction of the world coordinate system based on the data acquisition results of the target object.
[0012] The bounding box creation module is used to determine the target road surface grid where the target object is located based on the first real coordinate value and the second real coordinate value, and to create a target bounding box that surrounds the target road surface grid.
[0013] The virtual location point determination module is used to obtain virtual coordinate values in the Z-axis direction of the world coordinate system, and determine virtual location points in the world coordinate system based on the first real coordinate value, the second real coordinate value, and the virtual coordinate value.
[0014] The second coordinate value determination module determines the target distance value between the virtual location point and the target bounding box, and determines the third true coordinate value of the target object in the Z-axis direction of the world coordinate system based on the target distance value and the virtual coordinate value.
[0015] According to another aspect of this disclosure, an electronic device is provided, comprising:
[0016] At least one processor; and
[0017] A memory that is communicatively connected to at least one processor; wherein,
[0018] The memory stores instructions that can be executed by at least one processor to enable the at least one processor to perform any of the methods of this disclosure.
[0019] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause a computer to perform any of the methods of this disclosure.
[0020] According to another aspect of this disclosure, a computer program product is provided, including a computer program and a method for the computer program to be executed by a processor according to any of the methods disclosed herein.
[0021] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0022] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0023] Figure 1AThis is a flowchart of a method for determining object coordinates according to embodiments of this disclosure;
[0024] Figure 1B This is a schematic diagram illustrating the principle of setting virtual coordinate values according to some embodiments of this disclosure;
[0025] Figure 2A This is a flowchart of another method for determining object coordinates disclosed in embodiments of this disclosure;
[0026] Figure 2B These are schematic diagrams of some axis-aligned bounding boxes disclosed according to embodiments of this disclosure;
[0027] Figure 2C This is a schematic diagram illustrating some virtual coordinate values as disclosed in the embodiments of this disclosure;
[0028] Figure 2D This is a schematic diagram showing the intersection of some virtual rays with candidate planes according to embodiments of this disclosure;
[0029] Figure 2E This is a schematic diagram of some target distance values disclosed in the embodiments of this disclosure;
[0030] Figure 2F This is a schematic diagram of some other target distance values disclosed according to embodiments of this disclosure;
[0031] Figure 2G These are schematic diagrams illustrating the determination of third true coordinate values according to embodiments of this disclosure;
[0032] Figure 2H This is a schematic diagram illustrating other determinations of third true coordinate values according to embodiments of this disclosure;
[0033] Figure 3 This is a schematic diagram of the structure of a device for determining object coordinates according to embodiments of this disclosure.
[0034] Figure 4 This is a block diagram of an electronic device used to implement the method for determining object coordinates disclosed in the embodiments of this disclosure. Detailed Implementation
[0035] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0036] Since a road often has many ups and downs, accurately obtaining the actual height of obstacles in the world coordinate system has become an urgent problem to be solved. If the actual height is higher than the road surface, the obstacle will appear to be floating in the air; if the actual height is lower than the road surface, the obstacle will appear to be sunk into the road surface.
[0037] The usual approach in existing technologies is to obtain the road network data of the nearby area from the map using the current vehicle's location information, and then call the road binding algorithm of the map module to further process the road network data in combination with the location information to find the road where the obstacle is located. Then, based on the height information of the entire road, the actual height of the obstacle is obtained, that is, the coordinate value of the obstacle in the Z-axis direction of the world coordinate system.
[0038] However, in practice, existing technologies typically involve processing massive amounts of road network data using road-binding algorithms, resulting in a huge computational load. This undoubtedly leads to low efficiency in determining the actual height of obstacles. Furthermore, due to the enormous computational load and the inherent errors of the road-binding algorithms, the accuracy of determining the actual height of obstacles is difficult to guarantee.
[0039] Figure 1A This is a flowchart illustrating methods for determining object coordinates according to embodiments of this disclosure. These embodiments are applicable to determining the coordinates of an object in a world coordinate system. The methods described in this embodiment can be executed by an object coordinate determination device disclosed in these embodiments. This device can be implemented using software and / or hardware and can be integrated into any computing-capable electronic device, such as a vehicle equipped with driver assistance features.
[0040] like Figure 1A As shown, the method for determining object coordinates disclosed in this embodiment may include:
[0041] S101. Based on the data acquisition results of the target object, determine the first true coordinate value of the target object in the X-axis direction of the world coordinate system and the second true coordinate value in the Y-axis direction of the world coordinate system.
[0042] The target object refers to a real entity existing in the road. It can be a moving entity, such as vehicles and pedestrians, or a stationary entity, such as traffic lights, road signs, and traffic barriers. This embodiment does not limit the specific type of the target object. All objects in the road that can be collected by data are within the protection scope of this embodiment.
[0043] The data acquisition result represents the result obtained by collecting data on the target object using the environmental perception function of the current data acquisition device. This data acquisition includes, but is not limited to, image data acquisition via high-precision cameras, radar data acquisition via millimeter-wave radar, and infrared data acquisition via infrared sensors. This embodiment does not limit the specific method of data acquisition; any method that can sense the target object using electronic devices is within the scope of protection of this embodiment. The current data acquisition device can be a vehicle equipped with a high-precision camera or millimeter-wave radar.
[0044] The world coordinate system represents an absolute coordinate system used to represent the position of objects in the world using world coordinates. The world coordinate system consists of three coordinate axes: the X-axis, the Y-axis, and the Z-axis.
[0045] In one implementation, the current data acquisition device acquires image data of the target object using a high-precision camera, obtains an acquired image containing the target object, performs target detection on the acquired image, and determines the first image coordinate value of the target object in the X-axis direction of the image coordinate system and the second image coordinate value in the Y-axis direction of the image coordinate system.
[0046] The system acquires the first absolute pose information of the current data acquisition device in world coordinates, as well as the relative pose information between the high-precision camera and the current data acquisition device. Then, based on the first absolute pose information and the relative pose information, it determines the second absolute pose information of the high-precision camera in world coordinates.
[0047] The intrinsic parameter information of the high-precision camera is obtained, and the coordinate system transformation of the first image coordinate value and the second image coordinate value is performed based on the second absolute pose information and the intrinsic parameter information to determine the first true coordinate value of the target object in the X-axis direction of the world coordinate system and the second true coordinate value in the Y-axis direction of the world coordinate system.
[0048] In another implementation, the current data acquisition device uses millimeter-wave radar to collect radar data from the target object, obtaining radar point cloud data of the target object. Based on the radar point cloud data, the relative distance between the millimeter-wave radar and the target object in the radar coordinate system, as well as the elevation angle of the millimeter-wave radar, are determined. Using coordinate system transformation technology, the radar coordinate system is transformed, thereby determining the first true coordinate value of the target object in the X-axis direction of the world coordinate system and the second true coordinate value in the Y-axis direction of the world coordinate system based on the relative distance value and the elevation angle.
[0049] By determining the first true coordinate value of the target object in the X-axis direction of the world coordinate system and the second true coordinate value in the Y-axis direction of the world coordinate system based on the data acquisition results of the target object, the coordinate value data preparation effect is achieved, laying the foundation for further determining the virtual position point based on the first and second true coordinate values.
[0050] S102. Determine the target road surface grid where the target object is located based on the first true coordinate value and the second true coordinate value, and establish a target bounding box that surrounds the target road surface grid.
[0051] In this context, a road surface mesh represents a three-dimensional road surface model. By dividing each three-dimensional road model in a high-precision map into a mesh, at least one road surface mesh is obtained for each three-dimensional road model. In other words, a three-dimensional road model is composed of at least one road surface mesh. The target road surface mesh represents the road surface mesh where the target object is located.
[0052] Bounding box algorithms are used to find the optimal bounding space for a discrete set of points. The basic idea is to approximate a complex geometric object with a slightly larger but simpler geometric shape. In this embodiment, the target bounding box represents a hexahedron used to approximate the target road surface mesh; that is, the target road surface mesh is enclosed by the target bounding box and used for subsequent data calculations.
[0053] The target bounding box has minimum and maximum coordinate values in the X, Y, and Z directions of the world coordinate system, respectively: X min X max Y min Y max Z min and Z max Furthermore, the coordinates of the target road surface mesh in the X-axis direction of the world coordinate system satisfy: X min <x<X max The coordinate values along the Y-axis in the world coordinate system satisfy: Y min <y<Y max The coordinate values along the Z-axis in the world coordinate system satisfy: Z min <z<Z max .
[0054] In one implementation, each road surface grid consists of at least one grid point. A pre-established relationship between each road surface grid and the coordinate values of its contained grid points is constructed, meaning that the road surface grid to which any grid point belongs can be uniquely determined based on its coordinate values. The coordinate values of a grid point are its coordinates along the X-axis and Y-axis of the world coordinate system.
[0055] Treating the target object as a grid point, we obtain its first and second true coordinates. We then identify the road surface grid that is correlated with these first and second true coordinates as the target road surface grid. For example, assuming the target object's first and second true coordinates are X1 and Y1 respectively, and road surface grid A is correlated with the coordinates (X1, Y1), then the target road surface grid containing the target object can be determined as road surface grid A.
[0056] Based on the minimum and maximum coordinate values of the target road surface mesh in the X-axis, Y-axis and Z-axis directions of the world coordinate system, a bounding box generation algorithm is used to generate a target bounding box that surrounds the target road surface mesh.
[0057] By determining the target road surface grid where the target object is located based on the first and second true coordinate values, and establishing a target bounding box that surrounds the target road surface grid, the target bounding box can be used to replace the target road surface grid for related data calculations, thereby reducing the difficulty and amount of data calculation.
[0058] S103. Obtain the virtual coordinate value in the Z-axis direction of the world coordinate system, and determine the virtual position point in the world coordinate system based on the first real coordinate value, the second real coordinate value, and the virtual coordinate value.
[0059] The virtual coordinate value represents a known coordinate value set along the Z-axis of the world coordinate system, used to assist in calculating the third true coordinate value of the target object along the Z-axis of the world coordinate system. The virtual position points are defined as the points in the world coordinate system whose coordinates along the X-axis, Y-axis, and Z-axis are respectively the first true coordinate value, the second true coordinate value, and the virtual coordinate value.
[0060] When determining the target distance between the virtual location point and the target bounding box, it is necessary to construct a virtual ray from the virtual location point toward the target bounding box. In order to ensure the certainty of the direction of the virtual ray, the virtual coordinate value is set to be greater than the maximum coordinate value of the target road in the Z-axis direction of the world coordinate system, or less than the minimum coordinate value of the target road in the Z-axis direction of the world coordinate system. Here, the target road refers to the road where the target object is located.
[0061] Figure 1B These are schematic diagrams illustrating the principles of setting virtual coordinate values as disclosed in embodiments of this disclosure, such as... Figure 1BAs shown, 10 represents the target road, 11 represents the spatial representation of the target road's maximum coordinate value along the Z-axis of the world coordinate system, and 12 represents the spatial representation of the target road's minimum coordinate value along the Z-axis of the world coordinate system. It can be understood that the bounding box of any road surface mesh within the target road 10 has coordinate values along the Z-axis of the world coordinate system that fall between the maximum coordinate value 11 and the minimum coordinate value 12.
[0062] If the virtual coordinate value is greater than the maximum coordinate value 11, then when determining the target distance between the virtual position point 13 and the target bounding box 14, a virtual ray that is vertically downward must be constructed from the virtual position point; similarly, if the virtual coordinate value is less than the minimum coordinate value 12, then when determining the target distance between the virtual position point 13 and the target bounding box 14, a virtual ray that is vertically upward must be constructed from the virtual position point.
[0063] However, if the virtual coordinate value is less than the maximum coordinate value 11 and greater than the minimum coordinate value 12, the direction of the virtual ray constructed from the virtual position point 13 cannot be determined because the positional relationship between the virtual position point 13 and the target bounding box 14 is uncertain.
[0064] By obtaining the virtual coordinate values in the Z-axis direction of the world coordinate system, and determining the virtual position point in the world coordinate system based on the first real coordinate value, the second real coordinate value, and the virtual coordinate value, a data foundation is laid for further determining the target distance value between the virtual position point and the target bounding box based on the virtual position point.
[0065] S104. Determine the target distance between the virtual location point and the target bounding box, and based on the target distance and the virtual coordinates, determine the third true coordinates of the target object in the Z-axis direction of the world coordinate system.
[0066] The target distance value represents the distance between the virtual location point and the target intersection point, where the target intersection point represents the intersection point formed by the virtual ray constructed from the virtual location point and the target bounding box.
[0067] In one implementation, when the virtual coordinate value is greater than the maximum coordinate value of the target road along the Z-axis of the world coordinate system, a vertically downward virtual ray is constructed from the virtual location point. That is, the direction of the virtual ray is perpendicular to both the X-axis and Y-axis of the world coordinate system, and opposite to the Z-axis. The target intersection point formed by the virtual ray and the target bounding box is determined. Based on the coordinate values of the target intersection point and the virtual location point in the world coordinate system, the target distance between the virtual location point and the target bounding box is determined. The difference between the virtual coordinate value and the target distance is used as the third true coordinate value of the target object along the Z-axis of the world coordinate system.
[0068] In another implementation, when the virtual coordinate value is less than the minimum coordinate value of the target road in the Z-axis direction of the world coordinate system, a vertically upward virtual ray is constructed from the virtual location point. That is, the direction of the virtual ray is perpendicular to the X-axis and Y-axis directions of the world coordinate system, and in the same direction as the Z-axis. The target intersection point formed by the virtual ray and the target bounding box is determined. Based on the coordinate values of the target intersection point in the world coordinate system and the coordinate values of the virtual location point in the world coordinate system, the target distance between the virtual location point and the target bounding box is determined. The sum of the virtual coordinate value and the target distance value is used as the third true coordinate value of the target object in the Z-axis direction of the world coordinate system.
[0069] This disclosure determines the first true coordinates of the target object in the X-axis direction and the second true coordinates in the Y-axis direction of the world coordinate system based on the data acquisition results of the target object. It then determines the target road surface grid where the target object is located based on the first and second true coordinates and establishes a target bounding box surrounding the target road surface grid. The disclosure also obtains the virtual coordinates in the Z-axis direction of the world coordinate system and determines a virtual location point in the world coordinate system based on the first, second, and virtual coordinates. Finally, it determines the target distance between the virtual location point and the target bounding box and, based on the target distance and the virtual coordinates, determines the third true coordinates of the target object in the Z-axis direction of the world coordinate system. This method directly determines the coordinates of the object in the Z-axis direction of the world coordinate system through geometric calculations, eliminating the need to process large amounts of road network data, reducing computational load, and increasing the efficiency of determining object coordinates. Furthermore, the reduced computational load also improves the accuracy of determining object coordinates.
[0070] Figure 2A This is a flowchart of another method for determining object coordinates disclosed in the embodiments of this disclosure. It is further optimized and extended based on the above technical solutions and can be combined with the above optional implementation methods.
[0071] like Figure 2A As shown, the method for determining object coordinates disclosed in this embodiment may include:
[0072] S201. Based on the data acquisition results of the target object, determine the first true coordinate value of the target object in the X-axis direction of the world coordinate system, and the second true coordinate value in the Y-axis direction of the world coordinate system.
[0073] S202. Determine the target road surface grid where the target object is located based on the first true coordinate value and the second true coordinate value, and establish a target bounding box that surrounds the target road surface grid.
[0074] The target bounding box is an axis-aligned bounding box, also known as an AABB bounding box. It is a hexahedron, and each side is parallel to a coordinate axis in the world coordinate system.
[0075] Figure 2B These are schematic diagrams of some axis-aligned bounding boxes disclosed in embodiments of this disclosure, such as... Figure 2B As shown, 200 represents an axis-aligned bounding box, and the X, Y, and Z axes represent the world coordinate system's X, Y, and Z axes, respectively. As can be seen, any side of the axis-aligned bounding box 200 will be parallel to one of the world coordinate system's X, Y, or Z axes.
[0076] S203. Obtain the standard coordinate value of the current data acquisition device in the Z-axis direction of the world coordinate system, and determine the virtual coordinate value based on the road undulation height threshold and the standard coordinate value.
[0077] The current data acquisition device is used to collect data from the target object. For example, the current data acquisition device can be a vehicle driving on the road and equipped with a high-precision camera or millimeter-wave radar. Correspondingly, the target object can be another vehicle that is also driving on the road.
[0078] Standard coordinate values can be obtained through the positioning device of the current data acquisition equipment. For example, if the current data acquisition equipment is the current vehicle, the standard coordinate values of the current vehicle in the Z-axis direction of the world coordinate system can be obtained through the GPS (Global Positioning System) carried by the current vehicle.
[0079] Because roads typically exhibit varying heights, meaning that different locations on the same road will have different coordinate values along the Z-axis in the world coordinate system, the road undulation height threshold is determined based on the difference between the maximum and minimum coordinate values of the road along the Z-axis. For example, if the maximum coordinate value of a road along the Z-axis is "100" and the minimum is "90", then the road undulation height threshold is set to be greater than "10". In this embodiment, the road undulation height threshold can be determined by statistically analyzing numerous roads with known undulation heights using a statistical algorithm. For instance, the threshold can be determined by averaging the results. Optionally, the road undulation height threshold can be set to "5".
[0080] When determining the target distance between the virtual location point and the target bounding box, it is necessary to construct a virtual ray from the virtual location point toward the target bounding box. In order to ensure the certainty of the direction of the virtual ray, it is necessary to ensure that the virtual coordinate value is greater than the maximum coordinate value of the target road in the Z-axis direction of the world coordinate system, or less than the minimum coordinate value of the target road in the Z-axis direction of the world coordinate system. Here, the target road refers to the road where the target object is located.
[0081] In one implementation, the sum between the road undulation height threshold and the standard coordinate value, and the difference between the road undulation height threshold and the standard coordinate value are determined, and the standard coordinate value of the current data acquisition device in the Z-axis direction of the world coordinate system is determined based on the sum or the difference.
[0082] By acquiring the standard coordinates of the current data acquisition device in the Z-axis direction of the world coordinate system, and determining the virtual coordinates based on the road undulation height threshold and the standard coordinates, the direction of the virtual ray constructed from the virtual position point determined by the virtual coordinates to the target bounding box is determined, ensuring that the entire method can be executed smoothly.
[0083] Optionally, virtual coordinate values are determined based on a road undulation height threshold and standard coordinate values, including:
[0084] The sum of the standard coordinate values and the road undulation height threshold is used as the virtual coordinate values.
[0085] In one implementation, a summation is performed based on the standard coordinate value and a road undulation height threshold, and the sum of the standard coordinate value and the road undulation height threshold is used as the virtual coordinate value. For example, assuming the standard coordinate value is Z1 and the road undulation height threshold is A1, the virtual coordinate value can be Z1 + A1.
[0086] It is understandable that, since the road undulation height threshold can be considered as greater than the difference between the maximum and minimum coordinate values of the target road along the Z-axis in the world coordinate system, the sum of the standard coordinate value and the road undulation height threshold will always be greater than the maximum coordinate value of the target road along the Z-axis, regardless of the specific value of the standard coordinate value. In other words, even if the standard coordinate value is the minimum coordinate value of the target road along the Z-axis, the sum of the standard coordinate value and the road undulation height threshold will still be greater than the maximum coordinate value of the target road along the Z-axis.
[0087] By using the sum of the standard coordinate values and the road undulation height threshold as the virtual coordinate values, it can be ensured that the virtual coordinate values are greater than the maximum coordinate values of the target road in the Z-axis direction of the world coordinate system. This ensures the direction determination of the virtual ray constructed from the virtual position point determined by the virtual coordinate values to the target bounding box (reverse direction of the Z-axis), and further ensures that the target distance value between the virtual position point and the target bounding box can be successfully determined.
[0088] Optionally, virtual coordinate values are determined based on a road undulation height threshold and standard coordinate values, including:
[0089] The difference between the standard coordinate value and the road undulation height threshold is used as the virtual coordinate value.
[0090] In one implementation, a difference is calculated between the standard coordinate value and the road undulation height threshold, and the difference between the standard coordinate value and the road undulation height threshold is used as the virtual coordinate value. For example, assuming the standard coordinate value is Z1 and the road undulation height threshold is A1, the virtual coordinate value can be Z1-A1.
[0091] Understandably, since the road undulation height threshold can be considered as greater than the difference between the maximum and minimum coordinate values of the target road along the Z-axis in the world coordinate system, the difference between the standard coordinate value and the road undulation height threshold is always less than the minimum coordinate value of the target road along the Z-axis, regardless of the specific value of the standard coordinate value. In other words, even if the standard coordinate value is the maximum coordinate value of the target road along the Z-axis, the difference between the standard coordinate value and the road undulation height threshold is still less than the minimum coordinate value of the target road along the Z-axis.
[0092] By using the difference between the standard coordinate value and the road undulation height threshold as the virtual coordinate value, it can be ensured that the virtual coordinate value is less than the minimum coordinate value of the target road in the Z-axis direction of the world coordinate system. This ensures the direction determination of the virtual ray constructed from the virtual position point determined by the virtual coordinate value to the target bounding box (in the same direction as the Z-axis), and further ensures that the target distance value between the virtual position point and the target bounding box can be successfully determined.
[0093] Figure 2C This is a schematic diagram illustrating some settings of virtual coordinate values disclosed in the embodiments of this disclosure, such as... Figure 2CAs shown, 201 represents the target road, 202 represents the spatial representation of a certain standard coordinate value, 203 represents the spatial representation of the target road's maximum coordinate value along the Z-axis in the world coordinate system, 204 represents the spatial representation of the target road's minimum coordinate value along the Z-axis in the world coordinate system, 205 represents the spatial representation of the road undulation height threshold, 206 represents the spatial representation of the virtual coordinate value determined by the sum of the standard coordinate value 202 and the road undulation height threshold 205, and 207 represents the spatial representation of the virtual coordinate value determined by the difference between the standard coordinate value 202 and the road undulation height threshold 205. It can be seen that the virtual coordinate value 206 is greater than the maximum coordinate value 203, and the virtual coordinate value 207 is less than the minimum coordinate value 204.
[0094] S204. Determine the virtual location point in the world coordinate system based on the first true coordinate value, the second true coordinate value, and the virtual coordinate value.
[0095] In one implementation, a location point in the world coordinate system composed of a first real coordinate value, a second real coordinate value, and a virtual coordinate value is used as a virtual location point.
[0096] S205. Construct a virtual ray using the virtual location point as the starting point of the ray.
[0097] The virtual ray is perpendicular to the X-axis and Y-axis of the world coordinate system.
[0098] Optionally, if the virtual coordinate value is greater than the maximum coordinate value of the target road in the Z-axis direction of the world coordinate system, then the direction of the virtual ray is perpendicular to the X-axis direction and the Y-axis direction of the world coordinate system, and opposite to the Z-axis direction of the world coordinate system.
[0099] Optionally, if the virtual coordinate value is less than the minimum coordinate value of the target road in the Z-axis direction of the world coordinate system, then the direction of the virtual ray is perpendicular to the X-axis direction and the Y-axis direction of the world coordinate system, and is in the same direction as the Z-axis direction of the world coordinate system.
[0100] S206. Determine the target plane that first intersects the virtual ray from the candidate planes of the target bounding box.
[0101] Here, the candidate plane represents the plane contained within the target bounding box.
[0102] In one implementation, the ray equation corresponding to the virtual ray and the candidate plane equation corresponding to each candidate plane are obtained. Since the ray equation and the candidate plane equation are equivalent when the virtual ray intersects with the candidate plane, the target plane that first intersects with the virtual ray is determined from each candidate plane according to the equivalence relationship between the ray equation and the candidate plane equation.
[0103] Optionally, the target plane that first intersects the virtual ray is determined from the candidate planes of the target bounding box, including the following steps A1, B1, and C1:
[0104] A1. Obtain the candidate plane normal vector and the candidate distance value from the origin of the world coordinate system to the candidate plane.
[0105] The candidate plane equation can be expressed by the following formula: X·n=D, where X represents a point on the candidate plane, n represents the candidate plane normal vector, and D represents the candidate distance value from the origin of the world coordinate system to the candidate plane.
[0106] Since the target bounding box in this embodiment is an axis-aligned bounding box, any candidate plane must be parallel to two coordinate axes in the world coordinate system. Therefore, the candidate plane normal vector can only be one of (1,0,0), (0,1,0), and (0,0,1). Furthermore, for the same reason, the candidate distance value can be determined based on the coordinates of the world coordinate system origin (0,0,0) and the coordinates of each candidate plane in the X, Y, and Z axes of the world coordinate system.
[0107] B1. Obtain the direction vector of the virtual ray, and determine the candidate ray variable value corresponding to the virtual ray when the virtual ray intersects with the candidate plane based on the candidate plane normal vector, candidate distance value, direction vector, first true coordinate value, second true coordinate value, and virtual coordinate value.
[0108] The equation of the virtual ray can be expressed by the following formula: R(t)=P0+t·d, where R(t) is a point on the virtual ray, P0 represents the coordinate value of the ray's starting point in the world coordinate system, i.e., the coordinate value of the virtual position point in the world coordinate system, d represents the direction vector of the virtual ray, and t represents the ray variable value of the virtual ray.
[0109] The direction vector d can be determined as follows:
[0110] Obtain auxiliary coordinate values along the Z-axis in the world coordinate system. Based on the first true coordinate value, the second true coordinate value, and the auxiliary coordinate value, determine an auxiliary position point in the world coordinate system. Perform vector calculations and normalization on the coordinate values of both the auxiliary and virtual position points. Use the resulting normalized vector as the direction vector d. It can be understood that if the auxiliary coordinate value is greater than the virtual coordinate value, it indicates that the direction vector is in the same direction as the Z-axis of the world coordinate system; if the auxiliary coordinate value is less than the virtual coordinate value, it indicates that the direction vector is in the opposite direction to the Z-axis of the world coordinate system.
[0111] Since R(t) in the ray equation and X in the candidate plane equation are equivalent when the virtual ray intersects the candidate plane, the candidate ray variable value corresponding to the virtual ray can be derived based on the candidate plane normal vector, candidate distance value, direction vector, first true coordinate value, second true coordinate value, and virtual coordinate value.
[0112] Optionally, based on the candidate plane normal vector, candidate distance value, direction vector, first true coordinate value, second true coordinate value, and virtual coordinate value, determine the candidate ray variable value corresponding to the virtual ray when it intersects with the candidate plane, including:
[0113] When the virtual ray intersects the candidate plane, R(t) = P0 + t·d = X. The P0 + t·d in the ray equation R(t) replaces X in the plane equation, i.e., (P0 + t·d)·n = D. Therefore, the candidate ray variable values are determined using the following formula:
[0114]
[0115] Where t represents the candidate ray variable value, D represents the candidate distance value, n represents the candidate plane normal vector, d represents the direction vector, and P x P represents the first true coordinate value. y P represents the second true coordinate value. z Represents virtual coordinate values.
[0116] The candidate ray variable values are determined using the following formula: P0=(P x ,P y ,P z This provides a way to directly solve for the candidate ray variable values, allowing the candidate ray variable values to be calculated directly using this formula, thus improving the calculation speed of the entire process.
[0117] Based on the discussion in step A1, the candidate plane normal vector n can only be one of (1,0,0), (0,1,0), and (0,0,1). Therefore, the above formula can be further derived as follows:
[0118] When the candidate plane is perpendicular to the X-axis of the world coordinate system When the candidate plane is perpendicular to the Y-axis of the world coordinate system When the candidate plane is perpendicular to the Z-axis of the world coordinate system Where, d x d y and d z This represents the sub-vectors of the direction vector in the X-axis, Y-axis, and Z-axis directions of the world coordinate system, respectively.
[0119] C1. Determine the target plane that first intersects with the virtual ray from the candidate planes based on the candidate ray variable values.
[0120] In one implementation, the values of each candidate ray variable are compared, and based on the comparison results, the target plane that first intersects with the virtual ray is determined from the candidate planes.
[0121] By obtaining the candidate plane normal vector and the candidate distance value from the origin of the world coordinate system to the candidate plane, the direction vector of the virtual ray is obtained. Based on the candidate plane normal vector, candidate distance value, direction vector, first real coordinate value, second real coordinate value, and virtual coordinate value, the candidate ray variable value corresponding to the virtual ray is determined when the virtual ray intersects with the candidate plane. Based on the candidate ray variable value, the target plane that first intersects with the virtual ray is determined from the candidate plane. This provides a scheme for calculating the first intersection plane between the ray and the bounding box, laying an important foundation for further calculation of the distance value between the first intersection plane and the ray starting point, and ensuring that the entire calculation process can be executed smoothly.
[0122] Optionally, the target plane that first intersects the virtual ray is determined from the candidate planes based on the candidate ray variable values, including:
[0123] The target plane is determined from the first candidate plane and the second candidate plane based on the first candidate ray variable value and the second candidate ray variable value.
[0124] In this embodiment, since the target bounding box is an axis-aligned bounding box and the direction of the virtual ray is perpendicular to the X-axis and Y-axis of the world coordinate system, the candidate planes within the target bounding box that may intersect with the virtual ray are only the first candidate plane and the second candidate plane, which are parallel to the X-axis and Y-axis of the world coordinate system, respectively. The first candidate ray variable value and the second candidate ray variable value represent the candidate ray variable values corresponding to the virtual ray when the virtual ray intersects with the first candidate plane and the second candidate plane, respectively.
[0125] Figure 2D These are schematic diagrams illustrating the intersection of some virtual rays with candidate planes according to embodiments of this disclosure, such as... Figure 2D As shown, the X-axis, Y-axis and Z-axis represent the X-axis, Y-axis and Z-axis of the world coordinate system, respectively. The direction of the virtual ray 208 is perpendicular to the X-axis direction and the Y-axis direction of the world coordinate system. Therefore, the candidate planes that may intersect with the target bounding box 209 include only candidate plane 210 and candidate plane 211.
[0126] In one implementation, if the value of the first candidate ray variable is less than the value of the second candidate ray variable, then the first candidate plane can be determined to be the target plane that first intersects with the virtual ray. If the value of the first candidate ray variable is greater than the value of the second candidate ray variable, then the second candidate plane can be determined to be the target plane that first intersects with the virtual ray.
[0127] For example, assuming the coordinates of the first candidate plane along the Z-axis of the world coordinate system are greater than those of the second candidate plane, it can be understood that the first candidate plane can be called the upper plane of the target bounding box, and the second candidate plane can be called the lower plane of the target bounding box. In this case, if the variable value of the first candidate ray is less than that of the second candidate ray, then the upper plane of the target bounding box can be determined as the target plane that first intersects with the virtual ray. If the variable value of the first candidate ray is greater than that of the second candidate ray, then the lower plane of the target bounding box can be determined as the target plane that first intersects with the virtual ray.
[0128] The target plane is determined from the first candidate plane and the second candidate plane based on the first candidate ray variable value and the second candidate ray variable value, thus eliminating the need to analyze and judge the candidate ray variable values other than the first candidate ray variable value and the second candidate ray variable value, thereby improving the speed and efficiency of the entire calculation process.
[0129] S207. Determine the coordinates of the target intersection point in the target plane along the Z-axis of the world coordinate system.
[0130] In one implementation, the target ray variable value corresponding to the virtual ray is determined when the virtual ray intersects the target plane. The target ray variable value is then substituted into the ray equation of the virtual ray to determine the target intersection point coordinates in the Z-axis direction of the world coordinate system.
[0131] Optionally, determine the coordinates of the target intersection point in the target plane along the Z-axis of the world coordinate system, including:
[0132] Determine the target ray variable value corresponding to the virtual ray when it intersects with the target plane; determine the target intersection point coordinate value based on the target ray variable value, virtual coordinate value, and target direction sub-vector.
[0133] Here, the target direction sub-vector is the sub-vector of the virtual ray's direction vector along the Z-axis in the world coordinate system.
[0134] In one implementation, the candidate plane that first intersects with the virtual ray is identified as the target plane, and the candidate ray variable value corresponding to the candidate plane is taken as the target ray variable value. The target ray variable value, virtual coordinate value, and target direction sub-vector are substituted into the ray equation for calculation, and the target intersection point coordinate value is determined based on the calculation result.
[0135] By determining the target ray variable value corresponding to the virtual ray when it intersects with the target plane, and based on the target ray variable value, virtual coordinate value, and target direction sub-vector, the target intersection point coordinate value is determined, laying the data foundation for subsequent calculation of the target distance value and ensuring that the entire calculation process can be executed smoothly.
[0136] Optionally, the target intersection point coordinates are determined based on the target ray variable value, virtual coordinate value, and target direction sub-vector, including:
[0137] The coordinates of the target intersection point are determined using the following formula:
[0138] Z = P z +t ′ d z
[0139] Where Z represents the coordinates of the target intersection point, and P z Represents virtual coordinate values, t ′ d represents the target ray variable value. z This represents the target direction sub-vector.
[0140] The coordinates of the target intersection point are determined using the following formula: Z = P z +t ′ d z This provides a way to directly solve for the coordinates of the target intersection point, allowing the coordinates of the target intersection point to be calculated directly using this formula, thus improving the calculation speed of the entire process.
[0141] S208. Determine the target distance value based on the target intersection point coordinates and virtual coordinates.
[0142] In one implementation, if the direction of the virtual ray is opposite to the Z-axis of the world coordinate system (i.e., the virtual coordinate value is greater than the target intersection point coordinate value), then the value obtained by subtracting the target intersection point coordinate value from the virtual coordinate value is used as the target distance value. If the direction of the virtual ray is in the same direction as the Z-axis of the world coordinate system (i.e., the virtual coordinate value is less than the target intersection point coordinate value), then the value obtained by subtracting the virtual coordinate value from the target intersection point coordinate value is used as the target distance value.
[0143] Figure 2E This is a schematic diagram of some target distance values disclosed in the embodiments of this disclosure, such as... Figure 2EAs shown, the Z-axis represents the direction of the Z-axis in the world coordinate system. The direction of the virtual ray 212 is opposite to the direction of the Z-axis in the world coordinate system. 213 represents the spatial representation of the virtual coordinate values. 214 represents the target bounding box. 215 represents the target plane. 216 represents the spatial representation of the target intersection point coordinate values. Then, 217 represents the spatial representation of the target distance values.
[0144] Figure 2F This is a schematic diagram of other target distance values disclosed according to embodiments of this disclosure, such as... Figure 2F As shown, the Z-axis represents the direction of the Z-axis in the world coordinate system. The direction of the virtual ray 218 is the same as the direction of the Z-axis in the world coordinate system. 219 represents the spatial representation of the virtual coordinate values. 220 represents the target bounding box. 221 represents the target plane. 222 represents the spatial representation of the target intersection coordinate values. Then, 223 represents the spatial representation of the target distance values.
[0145] By constructing a virtual ray with the virtual location point as the ray origin, the target plane that first intersects the virtual ray is determined from the candidate planes of the target bounding box. The coordinates of the target intersection point in the target plane in the Z-axis direction of the world coordinate system are then determined. Based on the target intersection point coordinates and the virtual coordinates, the target distance is determined. Thus, the target distance between the virtual location point and the target bounding box is determined through geometric calculations. This method requires less computation and is more efficient, further shortening the time required to determine the third true coordinates of the target object in the Z-axis direction of the world coordinate system.
[0146] S209. If the direction of the virtual ray is opposite to the Z-axis of the world coordinate system, execute S2101; if the direction of the virtual ray is in the same direction as the Z-axis of the world coordinate system, execute S2102.
[0147] S2101. The difference between the virtual coordinate value and the target distance value is used as the third true coordinate value.
[0148] S2102. The sum of the virtual coordinates and the target distance is used as the third true coordinate.
[0149] In one implementation, if the direction of the virtual ray is opposite to the Z-axis direction of the world coordinate system, that is, if the virtual coordinate value is greater than the maximum coordinate value of the target road in the Z-axis direction of the world coordinate system, then the result of subtracting the target distance value from the virtual coordinate value is taken as the third true coordinate value.
[0150] If the direction of the virtual ray is in the same direction as the Z-axis of the world coordinate system, it means that the virtual coordinate value is less than the minimum coordinate value of the target road in the Z-axis direction of the world coordinate system. In this case, the result of adding the target distance value to the virtual coordinate value is taken as the third true coordinate value.
[0151] By using the difference between the virtual coordinate value and the target distance when the direction of the virtual ray is opposite to the Z-axis of the world coordinate system, and the sum of the virtual coordinate value and the target distance when the direction of the virtual ray is in the same direction as the Z-axis of the world coordinate system, the third true coordinate value can be calculated regardless of whether the virtual coordinate value is greater than the maximum coordinate value of the target road in the Z-axis direction of the world coordinate system or less than the minimum coordinate value of the target road in the Z-axis direction of the world coordinate system, thus expanding the applicable scenarios of the solution.
[0152] Figure 2G These are schematic diagrams illustrating the determination of third true coordinate values according to embodiments of this disclosure, such as... Figure 2G As shown, the horizontal plane represents the plane formed by the X-axis and Y-axis in the world coordinate system. 224 represents the current data acquisition device. 225 represents the spatial representation of the standard coordinate values corresponding to the current data acquisition device 224. 226 represents the target bounding box surrounding the target road surface grid where the target object is located. 227 represents the spatial representation of the road undulation height threshold. 228 represents the spatial representation of the virtual coordinate values. 229 represents the spatial representation of the target distance value between the virtual location point 230 and the target bounding box 226. 231 represents the spatial representation of the target object's third true coordinate value in the Z-axis direction of the world coordinate system. It can be understood that the third true coordinate value 231 is determined based on the difference between the virtual coordinate value 228 and the target distance value 229.
[0153] Figure 2H These are schematic diagrams illustrating the determination of third true coordinate values according to embodiments of this disclosure, such as... Figure 2H As shown, the horizontal plane represents the plane formed by the X-axis and Y-axis in the world coordinate system. 231 represents the current data acquisition device, 232 represents the spatial representation of the standard coordinate values corresponding to the current data acquisition device 231, 233 represents the target bounding box surrounding the target road surface grid where the target object is located, 234 represents the spatial representation of the road undulation height threshold, 235 represents the spatial representation of the virtual coordinate values, 236 represents the spatial representation of the target distance value between the virtual location point 237 and the target bounding box 233, and 238 represents the spatial representation of the target object's third true coordinate value in the Z-axis direction of the world coordinate system. It can be understood that the third true coordinate value 238 is determined based on the difference between the virtual coordinate value 235 and the target distance value 236.
[0154] Figure 3 This is a schematic diagram of the structure of a device for determining object coordinates according to embodiments of this disclosure, which can be applied to determining the coordinate values of an object in a world coordinate system. The device of this embodiment can be implemented in software and / or hardware and can be integrated into any electronic device with computing capabilities.
[0155] like Figure 3 As shown, the object coordinate determination device 30 disclosed in this embodiment may include a first coordinate value determination module 31, a bounding box establishment module 32, a virtual position point determination module 33, and a second coordinate value determination module 34, wherein:
[0156] The first coordinate value determination module 31 is used to determine the first true coordinate value of the target object in the X-axis direction of the world coordinate system and the second true coordinate value in the Y-axis direction of the world coordinate system based on the data acquisition results of the target object.
[0157] The bounding box creation module 32 is used to determine the target road surface grid where the target object is located based on the first real coordinate value and the second real coordinate value, and to create a target bounding box that surrounds the target road surface grid.
[0158] The virtual position point determination module 33 is used to obtain the virtual coordinate value in the Z-axis direction of the world coordinate system, and determine the virtual position point in the world coordinate system based on the first real coordinate value, the second real coordinate value and the virtual coordinate value;
[0159] The second coordinate value determination module 34 determines the target distance value between the virtual location point and the target bounding box, and determines the third real coordinate value of the target object in the Z-axis direction of the world coordinate system based on the target distance value and the virtual coordinate value.
[0160] Optional, the virtual location point determination module 33 is specifically used for:
[0161] Obtain the standard coordinates of the current data acquisition device in the Z-axis direction of the world coordinate system; wherein, the current data acquisition device is used to acquire data from the target object;
[0162] The virtual coordinate values are determined based on the road undulation height threshold and standard coordinate values. Optionally, the virtual location point determination module 33 is further used for:
[0163] The sum of the standard coordinate values and the road undulation height threshold is used as the virtual coordinate values.
[0164] Optionally, the virtual location point determination module 33 is further used for:
[0165] The difference between the standard coordinate value and the road undulation height threshold is used as the virtual coordinate value.
[0166] Optionally, the target bounding box is an axis-aligned bounding box;
[0167] The second coordinate value determination module 34 is specifically used for:
[0168] A virtual ray is constructed with the virtual location point as the starting point; the direction of the virtual ray is perpendicular to the X-axis and Y-axis of the world coordinate system.
[0169] Determine the target plane that first intersects with the virtual ray from the candidate planes of the target bounding box, and determine the target intersection point coordinates in the Z-axis direction of the world coordinate system.
[0170] The target distance value is determined based on the target intersection point coordinates and the virtual coordinates.
[0171] Optionally, the second coordinate value determination module 34 is further used for:
[0172] Obtain the candidate plane normal vector and the candidate distance value from the origin of the world coordinate system to the candidate plane;
[0173] Obtain the direction vector of the virtual ray, and determine the candidate ray variable value corresponding to the virtual ray when the virtual ray intersects with the candidate plane based on the candidate plane normal vector, candidate distance value, direction vector, first true coordinate value, second true coordinate value, and virtual coordinate value.
[0174] The target plane that first intersects the virtual ray is determined from the candidate planes based on the candidate ray variable values.
[0175] Optionally, the second coordinate value determination module 34 is further used for:
[0176] The candidate ray variable values are determined using the following formula:
[0177]
[0178] Where t represents the candidate ray variable value, D represents the candidate distance value, n represents the candidate plane normal vector, d represents the direction vector, and P x P represents the first true coordinate value. y P represents the second true coordinate value. z Represents virtual coordinate values.
[0179] Optionally, the second coordinate value determination module 34 is further used for:
[0180] The target plane is determined from the first candidate plane and the second candidate plane based on the values of the first candidate ray variable and the second candidate ray variable.
[0181] Wherein, the first candidate plane and the second candidate plane represent candidate planes parallel to the X-axis direction and the Y-axis direction of the world coordinate system, respectively; the first candidate ray variable value and the second candidate ray variable value represent the candidate ray variable values corresponding to the virtual ray when the virtual ray intersects the first candidate plane and the second candidate plane, respectively.
[0182] Optionally, the second coordinate value determination module 34 is further used for:
[0183] Determine the target ray variable value corresponding to the virtual ray when the virtual ray intersects the target plane;
[0184] The target intersection point coordinates are determined based on the target ray variable value, virtual coordinate value, and target direction sub-vector.
[0185] Here, the target direction sub-vector is the sub-vector of the virtual ray's direction vector along the Z-axis in the world coordinate system.
[0186] Optionally, the second coordinate value determination module 34 is further used for:
[0187] The coordinates of the target intersection point are determined using the following formula:
[0188] Z = P z +t ′ d z
[0189] Where Z represents the coordinates of the target intersection point, and P z Represents virtual coordinate values, t ′ d represents the target ray variable value. z This represents the target direction sub-vector.
[0190] Optionally, the second coordinate value determination module 34 is further used for:
[0191] When the direction of the virtual ray is opposite to the Z-axis direction of the world coordinate system, the difference between the virtual coordinate value and the target distance value is used as the third true coordinate value;
[0192] When the direction of the virtual ray is in the same direction as the Z-axis of the world coordinate system, the sum of the virtual coordinate value and the target distance value is used as the third true coordinate value.
[0193] The object coordinate determination device 30 disclosed in this embodiment can execute the object coordinate determination method disclosed in this embodiment, and has the corresponding functional modules and beneficial effects of executing the method. Contents not described in detail in this embodiment can be referred to the descriptions in the method embodiments of this disclosure.
[0194] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0195] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0196] Figure 4A schematic block diagram of an example electronic device 400 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0197] like Figure 4 As shown, device 400 includes a computing unit 401, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 402 or a computer program loaded from storage unit 408 into random access memory (RAM) 403. RAM 403 may also store various programs and data required for the operation of device 400. The computing unit 401, ROM 402, and RAM 403 are interconnected via bus 404. Input / output (I / O) interface 405 is also connected to bus 404.
[0198] Multiple components in device 400 are connected to I / O interface 405, including: input unit 406, such as keyboard, mouse, etc.; output unit 407, such as various types of monitors, speakers, etc.; storage unit 408, such as disk, optical disk, etc.; and communication unit 409, such as network card, modem, wireless transceiver, etc. Communication unit 409 allows device 400 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0199] The computing unit 401 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 401 performs the various methods and processes described above, such as the method for determining object coordinates. For example, in some embodiments, the method for determining object coordinates may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 408. In some embodiments, part or all of the computer program may be loaded and / or installed on device 400 via ROM 402 and / or communication unit 409. When the computer program is loaded into RAM 403 and executed by the computing unit 401, one or more steps of the method for determining object coordinates described above may be performed. Alternatively, in other embodiments, the computing unit 401 may be configured to perform the method for determining object coordinates by any other suitable means (e.g., by means of firmware).
[0200] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0201] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0202] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0203] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0204] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0205] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0206] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0207] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for determining the coordinates of an object, comprising: Based on the data acquisition results of the target object, the first true coordinate value of the target object in the X-axis direction of the world coordinate system and the second true coordinate value in the Y-axis direction of the world coordinate system are determined. The target road surface grid where the target object is located is determined based on the first true coordinate value and the second true coordinate value, and a target bounding box surrounding the target road surface grid is established; Obtain the virtual coordinate value in the Z-axis direction of the world coordinate system, and determine the virtual position point in the world coordinate system based on the first real coordinate value, the second real coordinate value, and the virtual coordinate value; Determine the target distance value between the virtual location point and the target bounding box, and determine the third true coordinate value of the target object in the Z-axis direction of the world coordinate system based on the target distance value and the virtual coordinate value; Wherein, the target bounding box is an axis-aligned bounding box; Determining the target distance value between the virtual location point and the target bounding box includes: A virtual ray is constructed using the virtual location point as the ray origin; wherein the direction of the virtual ray is perpendicular to the X-axis and Y-axis of the world coordinate system. Determine the target plane that first intersects the virtual ray from the candidate planes of the target bounding box, and determine the target intersection point coordinates in the Z-axis direction of the world coordinate system. The target distance value is determined based on the target intersection point coordinates and the virtual coordinates.
2. The method according to claim 1, wherein, The process of obtaining the virtual coordinate value in the Z-axis direction of the world coordinate system includes: Obtain the standard coordinates of the current data acquisition device in the Z-axis direction of the world coordinate system; wherein, the current data acquisition device is used to acquire data from the target object; The virtual coordinate values are determined based on the road undulation height threshold and the standard coordinate values.
3. The method according to claim 2, wherein, Determining the virtual coordinate value based on the road undulation height threshold and the standard coordinate value includes: The sum of the standard coordinate value and the road undulation height threshold is used as the virtual coordinate value.
4. The method according to claim 2, wherein, Determining the virtual coordinate value based on the road undulation height threshold and the standard coordinate value includes: The difference between the standard coordinate value and the road undulation height threshold is used as the virtual coordinate value.
5. The method according to claim 1, wherein, Determining the target plane that first intersects the virtual ray from the candidate planes of the target bounding box includes: Obtain the candidate plane normal vector of the candidate plane, and the candidate distance value from the origin of the world coordinate system to the candidate plane; Obtain the direction vector of the virtual ray, and determine the candidate ray variable value corresponding to the virtual ray when the virtual ray intersects the candidate plane based on the candidate plane normal vector, the candidate distance value, the direction vector, the first real coordinate value, the second real coordinate value, and the virtual coordinate value; The target plane that first intersects the virtual ray is determined from the candidate planes based on the candidate ray variable values.
6. The method according to claim 5, wherein, The step of determining the candidate ray variable value corresponding to the virtual ray when the virtual ray intersects the candidate plane based on the candidate plane normal vector, the candidate distance value, the direction vector, the first true coordinate value, the second true coordinate value, and the virtual coordinate value includes: The candidate ray variable values are determined using the following formula: Among them, the Represents the candidate ray variable value, the Represents the candidate distance value, the The candidate plane normal vector is represented by the... Represents the direction vector, the Represents the first true coordinate value, the This represents the second true coordinate value, the This represents the virtual coordinate value.
7. The method according to claim 5, wherein, The step of determining the target plane that first intersects the virtual ray from the candidate planes based on the candidate ray variable values includes: The target plane is determined from the first candidate plane and the second candidate plane based on the first candidate ray variable value and the second candidate ray variable value; Wherein, the first candidate plane and the second candidate plane represent candidate planes parallel to the X-axis direction and the Y-axis direction of the world coordinate system, respectively; the first candidate ray variable value and the second candidate ray variable value represent the candidate ray variable values corresponding to the virtual ray when the virtual ray intersects the first candidate plane and the second candidate plane, respectively.
8. The method according to claim 1, wherein, Determining the coordinates of the target intersection point in the target plane along the Z-axis of the world coordinate system includes: Determine the target ray variable value corresponding to the virtual ray when the virtual ray intersects the target plane; The target intersection point coordinates are determined based on the target ray variable value, the virtual coordinate value, and the target direction sub-vector. Wherein, the target direction sub-vector is the sub-vector of the direction vector of the virtual ray in the Z-axis direction of the world coordinate system.
9. The method according to claim 8, wherein, The step of determining the target intersection point coordinates based on the target ray variable value, the virtual coordinate value, and the target direction sub-vector includes: The coordinates of the target intersection point are determined using the following formula: Among them, the The coordinates of the target intersection point are represented. Represents the virtual coordinate value, the The value of the target ray variable is represented by the value of the target ray variable. This represents the target direction sub-vector.
10. The method according to claim 1, wherein, The step of determining the third true coordinate value of the target object in the Z-axis direction of the world coordinate system based on the target distance value and the virtual coordinate value includes: When the direction of the virtual ray is opposite to the Z-axis direction of the world coordinate system, the difference between the virtual coordinate value and the target distance value is taken as the third real coordinate value; When the direction of the virtual ray is in the same direction as the Z-axis of the world coordinate system, the sum of the virtual coordinate value and the target distance value is used as the third real coordinate value.
11. A device for determining the coordinates of an object, comprising: The first coordinate value determination module is used to determine the first true coordinate value of the target object in the X-axis direction of the world coordinate system and the second true coordinate value in the Y-axis direction of the world coordinate system based on the data acquisition results of the target object. The bounding box creation module is used to determine the target road surface grid where the target object is located based on the first real coordinate value and the second real coordinate value, and to create a target bounding box that surrounds the target road surface grid. The virtual location point determination module is used to obtain virtual coordinate values in the Z-axis direction of the world coordinate system, and determine virtual location points in the world coordinate system based on the first real coordinate value, the second real coordinate value, and the virtual coordinate value. The second coordinate value determination module determines the target distance value between the virtual location point and the target bounding box, and determines the third real coordinate value of the target object in the Z-axis direction of the world coordinate system based on the target distance value and the virtual coordinate value. Wherein, the target bounding box is an axis-aligned bounding box; The second coordinate value determination module is specifically used for: A virtual ray is constructed using the virtual location point as the ray origin; wherein the direction of the virtual ray is perpendicular to the X-axis and Y-axis of the world coordinate system. Determine the target plane that first intersects the virtual ray from the candidate planes of the target bounding box, and determine the target intersection point coordinates in the Z-axis direction of the world coordinate system. The target distance value is determined based on the target intersection point coordinates and the virtual coordinates.
12. The apparatus according to claim 11, wherein, The virtual location point determination module is specifically used for: Obtain the standard coordinates of the current data acquisition device in the Z-axis direction of the world coordinate system; wherein, the current data acquisition device is used to acquire data from the target object; The virtual coordinate values are determined based on the road undulation height threshold and the standard coordinate values.
13. The apparatus according to claim 12, wherein, The virtual location point determination module is further used for: The sum of the standard coordinate value and the road undulation height threshold is used as the virtual coordinate value.
14. The apparatus according to claim 12, wherein, The virtual location point determination module is further used for: The difference between the standard coordinate value and the road undulation height threshold is used as the virtual coordinate value.
15. The apparatus according to claim 11, wherein, The second coordinate value determination module is further used for: Obtain the candidate plane normal vector of the candidate plane, and the candidate distance value from the origin of the world coordinate system to the candidate plane; Obtain the direction vector of the virtual ray, and determine the candidate ray variable value corresponding to the virtual ray when the virtual ray intersects the candidate plane based on the candidate plane normal vector, the candidate distance value, the direction vector, the first real coordinate value, the second real coordinate value, and the virtual coordinate value; The target plane that first intersects the virtual ray is determined from the candidate planes based on the candidate ray variable values.
16. The apparatus according to claim 15, wherein, The second coordinate value determination module is further used for: The candidate ray variable values are determined using the following formula: Among them, the Represents the candidate ray variable value, the Represents the candidate distance value, the The candidate plane normal vector is represented by the... Represents the direction vector, the Represents the first true coordinate value, the This represents the second true coordinate value, the This represents the virtual coordinate value.
17. The apparatus according to claim 15, wherein, The second coordinate value determination module is further used for: The target plane is determined from the first candidate plane and the second candidate plane based on the first candidate ray variable value and the second candidate ray variable value; Wherein, the first candidate plane and the second candidate plane represent candidate planes parallel to the X-axis direction and the Y-axis direction of the world coordinate system, respectively; the first candidate ray variable value and the second candidate ray variable value represent the candidate ray variable values corresponding to the virtual ray when the virtual ray intersects the first candidate plane and the second candidate plane, respectively.
18. The apparatus according to claim 11, wherein, The second coordinate value determination module is further used for: Determine the target ray variable value corresponding to the virtual ray when the virtual ray intersects the target plane; The target intersection point coordinates are determined based on the target ray variable value, the virtual coordinate value, and the target direction sub-vector. Wherein, the target direction sub-vector is the sub-vector of the direction vector of the virtual ray in the Z-axis direction of the world coordinate system.
19. The apparatus according to claim 18, wherein, The second coordinate value determination module is further used for: The coordinates of the target intersection point are determined using the following formula: Among them, the The coordinates of the target intersection point are represented. Represents the virtual coordinate value, the The value of the target ray variable is represented by the value of the target ray variable. This represents the target direction sub-vector.
20. The apparatus according to claim 11, wherein, The second coordinate value determination module is further used for: When the direction of the virtual ray is opposite to the Z-axis direction of the world coordinate system, the difference between the virtual coordinate value and the target distance value is taken as the third real coordinate value; When the direction of the virtual ray is in the same direction as the Z-axis of the world coordinate system, the sum of the virtual coordinate value and the target distance value is used as the third real coordinate value.
21. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the method of any one of claims 1-10.
22. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-10.
23. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-10.
Citation Information
Patent Citations
Omnibearing obstacle detection method based on multi-sensor fusion
CN111583337A
Safety simulation detection method and system for mobile robot
CN115709484A