Method of determining an orientation of an object
The method computes a concave hull and minimum distance sums to accurately determine object orientation, addressing inaccuracies in existing methods, especially with L-shaped clusters, achieving efficient and precise real-time results.
Patent Information
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-13
- Publication Date
- 2026-03-18
AI Technical Summary
Existing methods for determining object orientation, such as PCA and minimum area bounding box, struggle with unbalanced clusters and incomplete observations, particularly with L-shaped clusters, leading to inaccurate results, especially in real-time obstacle detection.
A method involving computing a concave hull of a point cluster, defining candidate bounding boxes, generating multiple inclinations, calculating minimum distance sums, and selecting the orientation based on the smallest sum to determine accurate bounding box orientation.
The method provides versatile and efficient real-time object orientation determination for both 2D and 3D clusters, reducing computational power and ensuring high accuracy, even with incomplete observations.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
The present invention relates to a method of determining the orientation of an object, designed to be used by automotive driving systems, in particular autonomous driving systems. A critical aspect of a safe autonomous driving system is accurate object tracking, which enables an ego-vehicle system to plan an appropriate path and avoid collisions with other vehicles or traffic participants. As a critical pre-processing step for object tracking, object orientation estimation techniques were subject of research. One known method for determining the orientation of an object is based on Principal Component Analysis (PCA), and generates a 2D or 3D bounding box around a cluster of points, based on the inclination or angle of the principal component i.e. the Eigen vector with highest Eigen value. Orientation of the generated bounding box is determined by minimum and maximum values of the Eigen-vector along each dimension. However, this method only works well on balanced clusters, meaning that if a cluster of points is unbalanced, the bounding box orientation fits the line crossing through the most number of points, and not through the real orientation of the obstacle represented virtually by that object. Another known method generates an oriented ..minimum area" bounding box (or a ..minimum volume" bounding box. when it comes to 3D). This method partially overcomes the issue with the Eigen vector method, that is, in case the points cluster has at least one point in an occluded area, the bounding box fits better the cluster orientation. Nevertheless, for unbalanced clusters which have no points on a side, the results are as poor as in the case of the Eigen vector method. In conclusion, the mentioned techniques struggle to produce satisfactory results when faced with incomplete observation measurements, such as L-shape clustered points without side contours or those including side-view mirrors. Or, in real life, in obstacle detection and tracking algorithms, many times the clusters depicting another car have a L-shape since that is the only visible part for the sensors of the ego-vehicle. In addition, the requirement for real-time results further increases the difficulty of the pose estimation task. Therefore, the technical problem to be solved is how to determine the orientation of an object based on a L-shape cluster of points. It is an object of the present invention to provide a method of determining an object orientation which enables accurate real-time results. This object is solved by a method of determining the orientation of an object with the features of claim 1. The dependent claims include advantageous further developments of the present principles as described below. The subject matter of the invention is a method of determining an orientation of an object, the method comprising the following steps: receiving a cluster of points, wherein the cluster of points is acquired from an object; computing a concave hull of the cluster of points; defining a candidate bounding box by finding edges of the computed concave hull; generating a plurality of inclinations of the candidate bounding box; computing, for each of the generated inclinations of the candidate bounding box, a minimum distance sum, wherein the minimum distance sum is the sum of each concave hull point's distance to the closest edge of the candidate bounding box, and generating a plurality of minimum distance sums. Finally, selecting as geometrical orientation of a bounding box from the plurality of inclinations of the candidate bounding box, the inclination corresponding to the smallest minimum distance sum from the generated plurality of minimum distance sums. The main advantages of the inventive method are its versatility (both suitable for 2D or 3D clustered points) and efficiency; by implementing this method, less computing power is needed to provide results in lower runtime. In a further embodiment, instead of an integer value of the best angle, fractions of a degree are used. Such a refinement proves the accuracy of the result obtained by employing the method. In yet another embodiment, when the method is applied on all clustered points (without the step of computing the concave hull), the accuracy is not sacrificed, even though the runtime is definitely lower. The invention concerns all applications having in scope obstacles detection based on clustered points, especially L-shape clustered points. It can be used in any area which implies obstacles / objects detection based on clustered points, in 2D or 3D. The output of the inventive method is a truthful representation of orientation of clusters-enclosing bounding boxes. Further aspects of the invention are described below. It will be apparent to those skilled in the art that the above features or embodiments of the method of determining an orientation of an object are also used in conjunction with the following aspects of the invention and vice versa. Further features of the present invention will become apparent from the following description and the appended claims in conjunction with the figures. Figures Fig. 1 shows schematically one embodiment of an apparatus for tracking objects, used to run a method in accordance with the present invention, Fig. 2 shows a flowchart of a method of determining an orientation of an object, according to invention, Fig. 3 illustrates a vehicle equipped with the apparatus for tracking objects, Fig. 4 presents a view of outputs of the inventive method, meaning L-shape clusters of points and bounding boxes associated with objects in the vicinity of a vehicle, Fig. 5 illustrates a 2D representation of bounding box enclosing a L-shape cluster of points, rotated anti-clockwise, in accordance with one embodiment of the method. Detailed description For a better understanding of the principles of the present invention, embodiments of the invention will be explained in more detail below with reference to the figures. Like reference numerals are used in the figures for the same or equivalent elements and are not necessarily described again for each figure. It is to be understood that the invention is not limited to the illustrated embodiments and that the features described may also be combined or modified. Fig. 1 schematically shows an apparatus 10 of tracking objects (respective objects not illustrated nor referenced in this figure), comprising a memory 11 storing instructions and at least one processor 12 coupled to the memory 11, the apparatus being provided a cluster 1000 of points. Cluster 1000 is a set of points extracted from data acquired from an object, for example, sensor data from a plurality of objects in the vicinity of a vehicle. More precisely, cluster 1000 comprises the digital representation of shapes, objects and space surrounding the vehicle (namely 2D or 3D shapes or objects), expressed as a discrete, time-stamped set of data points, where each point position has its set of Cartesian coordinates. Such data are acquired by sensing means (the sensing means being camera, radar, lidar or ultrasonic sensors, for example) and pre-processed by an object detection module (not illustrated nor referenced), a sub-unit of data processing systems of the vehicle. The object detection module is able to combine sensor data or data derived from disparate sources and to detect, identify and track objects (for example, traffic participants including pedestrians or infrastructure elements such as a light traffic pole or kerb). In this embodiment, data are transmitted and processed in real time, but in some other embodiments the cluster of points is received via V2X or V2E services (not part of this invention), from cloud, online or offline. Optionally, the processor 12 is configured to track an object from the exterior of a vehicle. Optionally and / or alternatively, the processor 12 is configured to detect and track an object from the exterior of the vehicle. In embodiments where the sensor data includes radar data, the radar data are captured with respect to a three-dimensional (3D) space. For example, one or more radar sensors 1 of the ego-vehicle EV are used to generate radar detections of objects in the environment around the vehicle. Generally, a radar system includes a transmitter that emits radio waves. The radio waves reflect off of certain objects and materials, and the radar sensor(s) detects these reflections and reflection characteristics such as bearing, azimuth, elevation, range (e.g., time of beam flight), intensity, Doppler velocity, radar cross section (RCS), reflectivity, SNR, and / or the like. Reflections and reflection characteristics depend on the objects in the environment, speeds, materials, sensor mounting position and orientation, etc. Generally, sensor data include raw sensor data, radar point cloud data, and / or reflection data processed into some other format. For example, reflection data are combined with position and orientation data (e.g., from GNSS and IMU sensors) to form a point cloud representing detected reflections from the environment. Each detection in the point cloud includes a three-dimensional location of the detection and metadata about the detection such as one or more of the reflection characteristics. Fig. 2 shows a flow chart of a method 100 of determining an orientation of an object, according to invention. In one embodiment of the method, applied to a 2D space, the method 100 comprises the following steps: receiving 101 a points cluster 1000, wherein the points cluster is generated from data acquired from an object, as discussed before, and computing 102 a concave hull of the cluster 1000 of points. Once the concave hull is computed, defining 103 a candidate bounding box by finding edges of the computed concave hull. Thereafter, for each candidate bounding box, defined in the previous step, generating 104 a plurality of inclinations of the candidate bounding box, followed by computing 105, for each of the generated inclinations of the candidate bounding box, a minimum distance sum. The minimum distance sum is the sum of distances from each concave hull point to the closest edge of the candidate bounding box and generating a plurality of minimum distance sums. Finally, selecting 106 as a geometrical orientation of a bounding box, from the plurality of inclinations of the candidate bounding box, the inclination corresponding to the smallest minimum distance sum from the generated plurality of minimum distance sums. In some embodiments, for step 102, there are employed several techniques of concave hull computation, such as k-nearest neighbors, kernel functions, convex hull and its Delaunay triangulation, a-concave hull algorithms etc. Adopting a concave hull instead of convex hull as the model of the polygon embracing all the points is driven by the fact that the concave hull covers an area smaller than the area covered by a convex hull, even though the perimeter of the concave hull is longer. In a further embodiment, the step 102 of computing a concave hull of the cluster 1000 of points is skipped altogether or replaced by an area optimization algorithm. Defining 103 a candidate bounding box means finding the extremes of each hull coordinate as xMin, xMax, yMin, yMax. These extreme coordinates define an enclosing bounding box based on min / max method. Enclosing bounding box will have the corners A(xMin, yMin), B(xMin, yMax), C(xMax, yMax), D(xMax, yMin). Generating 104 a plurality of inclinations of the candidate bounding box ABCD means rotating the concave hull with an angle of 5 degrees (in an exemplary case), between initial position and pi / 2. In this case, there are 19 inclinations in total, and for each inclination the enclosing bounding box is computed. For each of the generated inclinations of the candidate bounding box, computing 105 a minimum distance sum by finding the sum of distances from each concave hull point to the closest edge of the candidate bounding box, hence generating a plurality of minimum distance sums (19 in the given example). Initialize the current min distance sum with the distance corresponding to this initial position of the hull as being the sum of each vertex's (hull point) distance to the closest edge of the enclosing bounding box. In other words, for each hull's vertex check which is the closest bounding box edge; add this min distances for all the vertices in a sum of distances, and initialize the minimum distance with this sum. For each inclination compute the enclosing bounding box and the distance sum as described. At each step update the min distance sum if the case. Furthermore, refine the angle corresponding to min distance sum found at step 105 as follows: swap both left / right with 1 degree angle for 4 degrees. There will be a total of 8 new inclinations. At each swap, compute enclosing bounding box and distance sum for respective position and update min distance sum if the case. Selecting 106 the geometrical orientation of a bounding box, from the plurality of inclinations of the candidate bounding box, the inclination corresponding to the smallest minimum distance sum from the generated plurality of minimum distance sums. The best alignment of the cluster is given by the angle corresponding to min distance sum. Let's call this the best angle. Nevertheless, in case the bounding box is oriented with the length on y axis, the orientation can be adjusted as: best angle = best angle - 90 degrees. Further on, best angle gives the geometrical orientation (yaw) of the bounding box. By rotating the cluster with the best angle, the length and width of the resulted bounding box can be determined based on min / max of coordinates. By rotating the cluster with the best angle, the geometrical middle point of the bounding box can be determined based on min / max of coordinates. The real geometrical middle point of the cluster is obtained by back-rotation of the middle point with the best angle. These points describe the output features of the bounding box: orientation (yaw), geometry (length, width) and position (x, y). In a further embodiment of the present invention, the same method is applied subsequently for the planes xz and yz to determine a 3D bounding box features, such as orientation (yaw, pitch, roll), geometry (length, width, height) and position (x, y, z). Such features identified using the oriented bounding box are useful in recognizing the situation in which another vehicle suddenly comes close to the ego vehicle or the traveling environment, such as the state of traffic in an intersection. In addition, they will contribute to securing excellent real-time performance when applicable to a vehicle embedded system. This makes it possible to reconstruct the space surrounding the ego-vehicle in a much more accurate manner, and further supporting path planning. Fig. 3 illustrates an ego-vehicle EV equipped with an object tracking apparatus 10, fed with a points cluster 1000, obtained from data acquired by at least one sensor 1. The oriented bounding box(es) generated by the above-described method 100 of determining the orientation of an object is used, among other possible applications, to track an object by the object tracking apparatus 10 according to embodiments. Apparatus 10 is configured to extract a geometrical orientation of a bounding box from the cluster of points, to generate the oriented bounding box using the extracted geometrical orientation and to track an object using the oriented bounding box. The geometrical orientation of the bounding box is extracted from the cluster of points according to the method described above. Fig. 4 presents a view of how are „seen“ objects as oriented bounding boxes in the vicinity of the ego-vehicle EV. Oriented bounding boxes OB1 and OB2 were chosen given their L-shape perceived by sensors on the ego vehicle. Fig. 5 presents a sequence of consecutive planar rotations of one bounding box enclosing a 2D L-shape concave hull, starting from inclination I to inclination IV. It is apparent the sense of rotation is anti-clockwise. For each rotated position, the bounding box area is changing, as well as the min distance sum. The above-described oriented bounding box may be used in various other fields such as robotics, automated guided vehicles, unmanned aerial vehicles (drones), etc.
Claims
1. Method of determining the geometric orientation of an object, the method comprising:receiving (101) a cluster of points, wherein the cluster of points is acquired from an object;computing (102) a concave hull of the cluster of points;defining (103) a candidate bounding box by finding edges of the computed concave hull;generating (104) a plurality of inclinations of the candidate bounding box;computing (105), for each of the generated inclinations of the candidate bounding box, a minimum distance sum, wherein the minimum distance sum is the sum of each concave hull point's distance to the closest edge of the candidate bounding box, and generating a plurality of minimum distance sums; andselecting (106) as a geometrical orientation of a bounding box from the plurality of inclinations of the candidate bounding box, the inclination corresponding to the smallest minimum distance sum from the generated plurality of minimum distance sums.
2. The method of claim 1, wherein defining (103) the candidate bounding box means determining extreme coordinates of the concave hull, and finding edges of the candidate bounding box at the intersections of respective extreme coordinates.
3. The method of claim 1, wherein generating (104) the plurality of inclinations of the candidate bounding box means rotating the computed concave hull with predetermined angles between an initial position and 45° with respect to the vertical axis, wherein the predeterm ined angles are either an integer value of a degree, such as 5°, or fractions of a degree, such as 5‘.
4. The method of preceding claims, wherein generating (104) the plurality of inclinations of the candidate bounding box means further swapping both on left and right with a predetermined angle, wherein the predetermined swapping angles are either an integer value of a degree, such as 1 °, or fractions of a degree, such as 30‘.
5. The method of preceding claims, wherein the same sequence of steps is applied for the planes xOy, xOz and yOz to determine 3D bounding box features, meaning orientation expressed as yaw, pitch, roll, geometry expressed as length, width, height, and position, expressed as coordinates on x, y, z axis, respectively.
6. The method of preceding claims, wherein, in case the selected inclination corresponding to the smallest minimum distance sum is oriented with the length on y axis, the geometrical orientation of bounding box is adjusted by subtracting 90° from the selected inclination degrees.
7. An apparatus (10) fortracking objects, comprising:a memory (11) storing instructions and at least one processor (12) coupled to the memory (11), the apparatus being provided a cluster (1000) of points, wherein the objects tracking apparatus is configured to track an object by using at least one oriented bounding box, wherein a geometrical orientation of the bounding box is extracted from the cluster (1000) of points according to the method described in claims 1-6.
8. A computer program product comprising instructions, which, when executed on at least one processor, cause the at least one processor to carry out the method according to any of the claims 1 -6.
9. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one processor, cause the at least one processor to perform operations comprising the steps of the method from claims 1-6.11 06 25AMENDMENTS TO THE CLAIMS HAVE BEEN FILED AS FOLLOWS:Patent claims1. Method of determining the geometric orientation of a physical object, the method comprising:5 receiving (101) a cluster of points, wherein the cluster of points is acquired from a physical object;computing (102) a concave hull of the cluster of points;defining (103) a candidate bounding box by finding edges of the computed concave hull;10 generating (104) a plurality of inclinations of the candidate bounding box; computing (105), for each of the generated inclinations of the candidate bounding box, a minimum distance sum, wherein the minimum distance sum is the sum of each concave hull point's distance to the closest edge of the candidate bounding box, and generating a plurality of minimum distance sums; and15 selecting (106) as a geometrical orientation of a bounding box from the plurality of inclinations of the candidate bounding box, the inclination corresponding to the smallest minimum distance sum from the generated plurality of minimum distance sums.20 2. The method of claim 1, wherein defining (103) the candidate bounding boxmeans determining extreme coordinates of the concave hull, and finding edges of the candidate bounding box at the intersections of respective extreme coordinates.
3. The method of claim 1, wherein generating (104) the plurality of inclinations of25 the candidate bounding box means rotating the computed concave hull with predetermined angles between an initial position and 45° with respect to the vertical axis, wherein the predetermined angles are either an integer value of a degree, such as 5°, or fractions of a degree, such as 5‘.30 4. The method of preceding claims, wherein generating (104) the plurality ofinclinations of the candidate bounding box means further swapping both clockwise and anti-clockwise with a predetermined angle, wherein the predetermined rotating angles are either an integer value of a degree, such as 1 °, or fractions of a degree, such as 30‘.
5. The method of preceding claims, wherein the same sequence of steps is applied for the planes xOy, xOz and yOz to determine 3D bounding box features, meaning orientation expressed as yaw, pitch, roll, geometry expressed as length,5 width, height, and position, expressed as coordinates on x, y, z axis, respectively.
6. The method of preceding claims, wherein, in case the selected inclination corresponding to the smallest minimum distance sum is oriented with the length on y axis, the geometrical orientation of bounding box is adjusted by subtracting 90°10 from the selected inclination degrees.
7. An apparatus (10) fortracking objects, comprising:a memory (11) storing instructions and at least one processor (12) coupled to the memory (11), the apparatus being provided a cluster (1000) of points, wherein the1*0 15 objects tracking apparatus is configured to track a physical object by using at least CXJ one oriented bounding box, wherein a geometrical orientation of the bounding box¢0 is extracted from the cluster (1000) of points according to the method described inclaims 1-6.i—20 8. A computer program product comprising instructions, which, when executed onat least one processor, cause the at least one processor to carry out the method according to any of the claims 1 -6.
9. A non-transitory computer-readable device having instructions stored thereon25 that, when executed by at least one processor, cause the at least one processor to perform operations comprising the steps of the method from claims 1-6.
Citation Information
Patent Citations
Method and apparatus for judging vehicle driving direction, device and computer storage medium
US10513260B2
Histogram based l-shape detection of target objects
US20210293930A1
Systems and methods for efficient vehicle extent estimation
US20230041031A1