Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
The method for determining the three-dimensional annotation frame provided by the embodiment of the application can be applied to an application environment shown in fig. 1. The vehicle-mounted terminal 102 may communicate with the server 104, and both the vehicle-mounted terminal 102 and the server 104 may be computer devices. In the communication process, an implementation manner may be that the vehicle-mounted terminal 102 may acquire point cloud data acquired by a sensor on a vehicle, and transmit the point cloud data acquired by the sensor to the server 104 (or acquire the point cloud data through a road side base station and send the point cloud data to the vehicle-mounted terminal 102, and then the vehicle-mounted terminal 102 sends the point cloud data to the server 104), so that the server 104 performs subsequent processing on the point cloud data to obtain a three-dimensional labeling frame of a target, and sends relevant information of the three-dimensional labeling frame to the vehicle-mounted terminal 102 to locate the target. Another implementation manner may be that the vehicle-mounted terminal 102 may acquire point cloud data acquired by a sensor on the vehicle, directly process the point cloud data on the vehicle-mounted terminal 102 to obtain a three-dimensional labeling frame of the target, and locate the target according to the three-dimensional labeling frame, and meanwhile, the vehicle-mounted terminal 102 may transmit information such as vehicle position information and the like between the vehicle-mounted terminal 102 and the server 104. The in-vehicle terminal 102 herein may be, but not limited to, various computing devices and internet of things devices, portable wearable devices, etc., where the internet of things devices may be smart speakers, smart televisions, smart air conditioners, smart in-vehicle devices, etc., and the portable wearable devices may be smart watches, smart bracelets, headsets, etc. The server 104 may be implemented as a stand-alone server or as a server cluster of multiple servers.
In one embodiment, as shown in fig. 2, a method for determining a three-dimensional labeling frame is provided, and the method is applied to any one of the vehicle-mounted terminal or the server in fig. 1 for illustration, and the method may include the following steps:
s202, acquiring a point set formed by projecting point cloud data of a target onto a two-dimensional plane.
Wherein the target may be a vehicle, a pedestrian, an animal or plant, etc. in a road. Specifically, the point cloud data of the target is collected by adopting a sensor on the vehicle and sent to the computer equipment, or the point cloud data of the target is collected by adopting a road side base station and sent to the computer equipment. The point cloud data of the target which is generally collected are three-dimensional point cloud data, the point cloud data comprise a plurality of points, and each point respectively comprises corresponding three-dimensional coordinate, color, signal intensity and other information.
Specifically, before the three-dimensional labeling frame of the target is constructed, a two-dimensional plane may be selected in advance as the bottom surface of the three-dimensional labeling frame, for example, taking X, Y, Z as an example three coordinate axes of the three-dimensional space, the two-dimensional plane may include an XY plane, an XZ plane, or a YZ plane, where, for example, the XY plane may be selected as the bottom surface of the three-dimensional labeling frame. Then, each point in the target three-dimensional point cloud data can be projected onto a selected two-dimensional plane, and a point set formed by the points of the target is obtained on the two-dimensional plane. The set of points includes a plurality of points, each of which may carry its corresponding three-dimensional coordinates.
S204, constructing a plurality of rectangles by each side of the convex polygon according to the convex polygon formed by all points in the point set; each rectangle encloses a convex polygon.
In this step, after obtaining all the points in the point set, the convex hull calculation process may be performed on all the points in the point set by using a two-dimensional/2D convex hull algorithm on the two-dimensional plane, so as to obtain a minimum convex polygon containing/surrounding all the points. The convex Hull algorithm can be Jarvis stepping algorithm (Jarvis March), increment algorithm (Incremental Method), quick convex Hull algorithm (Quick Hull) and other algorithms.
In addition, when calculating the convex hulls of all points in the point set, only coordinate values of each point in two axial directions corresponding to the two-dimensional plane, for example, the two-dimensional plane is an XY plane, then only the x and y values of each point are used for calculating the convex hulls, and the z value does not participate in calculation, so that the convex hulls surrounding each point set can be obtained by rapid calculation, namely, a convex polygon comprising a plurality of edges is obtained. At the same time, a set of coordinates of points of a convex polygon in the clockwise direction can be output, for example denoted as c= { (x) 1 ,y 1 ),(x 2 ,y 2 ),......}。
Further, after the convex polygon formed by all the points in the point set is constructed, each side of the convex polygon can be used as one side of a rectangle, a rectangle corresponding to each side of the convex polygon is constructed, and each rectangle needs to contain/surround all the points in the point set, so that a plurality of rectangles can be obtained, and then the area of each rectangle can be calculated. Taking a convex polygon as an example, the rectangles respectively constructed by the convex polygon can be seen from two diagrams in fig. 3, and it can be seen that the areas and the shapes of the rectangles in the two diagrams are different.
S206, determining a target rectangle according to the area of each rectangle.
In this step, a plurality of rectangles can be constructed through the above steps, or the area of each rectangle can be calculated, and then the target rectangle can be determined therefrom. The target rectangle may be, for example, a rectangle having a medium area among a plurality of rectangles, or may be a rectangle having an area close to the minimum area, or may be a rectangle having a next smallest area, or may be a rectangle having a smallest area, or may be a target rectangle determined in other ways, which is not particularly limited herein.
And S208, determining a three-dimensional annotation frame corresponding to the target according to the height of the target and the target rectangle.
In this step, each point further includes its corresponding three-dimensional coordinate in the point set obtained after the point cloud data is projected, where only two axial coordinates are adopted in the process of calculating the convex polygon, that is, the bottom surface of the three-dimensional labeling frame is determined, and the height of the target may also be determined by another axial coordinate, and a certain height is added or the height of the target is directly used as the height of the three-dimensional labeling frame, so as to construct the three-dimensional labeling frame of the target.
After the three-dimensional labeling frame corresponding to the target is obtained, the target can be labeled in the point cloud data or the image data, so that the target can be used as training data when a neural network model is trained in subsequent scenes such as computer vision, unmanned driving and the like.
As can be seen from the above description, in the above method, the convex hull calculation is performed on the points of the target, and the convex hull calculation is attached to each point, that is, the target rectangle is obtained through the calculated convex polygon and attached to each point of the target, so that the accuracy of the three-dimensional labeling frame of the target constructed through the target rectangle is high, and the target is automatically followed in most scenes, so that excessive adjustment is not needed. Meanwhile, all steps in the embodiment can be automatically completed, so that the labeling efficiency can be improved, and the workload of manual labeling can be reduced.
In the method for determining the three-dimensional labeling frame, the point cloud data of the target is projected onto the two-dimensional plane to form the point set, a plurality of rectangles are constructed according to the convex polygon formed by all points in the point set, each side of the convex polygon is used for determining the target rectangle according to the area of each rectangle, and the three-dimensional labeling frame corresponding to the target is determined according to the height of the target and the target rectangle. Wherein each rectangle surrounds a convex polygon, and the convex polygon is formed by convex hulls of all points in the joint point set, so that the finally determined target rectangle is necessarily the joint point set as much as possible, the accuracy of the three-dimensional marking frame finally determined by the target rectangle and the height of the target is higher, and the marking accuracy of the target is higher; meanwhile, as the three-dimensional standard frame is automatically attached to all the points in the point set, the target rectangle is automatically calculated to generate the three-dimensional standard frame of the target, and the three-dimensional standard frame is not required to be manually adjusted under various scenes, the labeling workload of a labeling person can be reduced, and the labeling efficiency of the target is further improved.
In another embodiment, another method for determining a three-dimensional labeling frame is provided, and based on the above embodiment, as shown in fig. 4, the step S206 may include the following steps:
s302, constructing a rotation coordinate system corresponding to each rectangle by using each rectangle.
In this step, the convex polygon corresponding to the object is constructed on the two-dimensional plane, and the coordinate system corresponding to the two-dimensional plane is referred to as a world coordinate system, for example, an XY coordinate system, assuming that the two-dimensional plane is an XY plane.
In the above embodiment, as shown in fig. 3, each side of the convex polygon has a certain included angle with the X axis of the world coordinate system, so when a rectangle is constructed by constructing each side of the convex polygon, a certain included angle is formed between the constructed rectangle and the XY coordinate system, that is, each constructed rectangle rotates to a certain extent relative to the original XY coordinate system, and then a rotation coordinate system corresponding to each rectangle can be constructed accordingly and denoted as an X 'Y' coordinate system. The world coordinate system and the rotation coordinate system here are mainly directed to coordinate systems on two-dimensional planes.
Wherein the two sides of each rectangle are respectively parallel to the two axes of the corresponding rotation coordinate system (X 'Y' coordinate system). The rotation coordinate system constructed by each rectangle is different.
S304, determining the corresponding area of each rectangle according to the coordinates of the points in each rectangle under the rotation coordinate system.
In this step, by constructing each rectangle into its own rotation coordinate system, and calculating to obtain the included angle between each rotation coordinate system and the world coordinate system, then converting all the points in the original point set from the world coordinate system (XY coordinate system) to the corresponding rotation coordinate system, and calculating the area of each rectangle by the coordinates of each converted point.
S306, determining the minimum area in the areas, and determining the rectangle corresponding to the minimum area as a target rectangle.
In this step, after the area of each rectangle is obtained by calculation, the areas may be sorted from large to small or from small to large to obtain a sorting result, and the smallest area is selected from the sorting result, and the rectangle corresponding to the smallest area is obtained and is used as the target rectangle.
In this embodiment, by constructing a corresponding rotation coordinate system with each rectangle, and according to the coordinates of the points in each rectangle under the rotation coordinate system, the area corresponding to each rectangle is calculated, and the minimum area is determined therefrom, and the rectangle corresponding to each rectangle is taken as the target rectangle. The rectangular area is calculated through coordinate conversion, the accuracy of the area of the determined rectangle can be improved, in addition, the rectangle with the minimum area is used as the target rectangle, the finally obtained rectangle is the most likely to be attached to the target, namely the rectangle is the most in line with the actual rectangle, and the accuracy of the finally constructed three-dimensional labeling frame is further improved.
In another embodiment, another method for determining a three-dimensional labeling frame is provided, and based on the above embodiment, as shown in fig. 5, the step S208 may include the following steps:
s402, determining coordinates of four vertexes corresponding to the target rectangle in the world coordinate system according to two-dimensional coordinates and included angles of all points in the target rectangle in the rotating coordinate system.
In this step, the above-mentioned angle is the angle between the world coordinate system and the rotational coordinate system, that is, the angle between the side of the convex polygon used in constructing each rectangle and the X-axis of the world coordinate system (XY coordinate system). For each side of the convex polygon, the coordinates of its two endpoints can be noted as (x) i ,y i ) And (x) i+1 ,y i+1 ) Wherein i is the i-th point in the point set C which is output after the convex polygon is constructed. For each side of the convex polygon, the included angle between the convex polygon and the X-axis of the world coordinate system (XY coordinate system) is marked as theta, and the anticlockwise direction is positive, and the following formula (1) can be adopted to express:
through the formula (1), the included angle between each side of the convex polygon and the X axis can be calculated, namely, the included angle between the rotating coordinate system where each rectangle is located and the world coordinate system is calculated.
In addition, when the point cloud data of the object is projected onto the two-dimensional plane to obtain the point set, the coordinates of each point in the point set are the coordinates in the world coordinate system, and here, in order to facilitate rapid and accurate calculation of parameters such as the areas and the vertices of the plurality of rectangles formed by the convex polygon, the coordinates of all points in the point set may be converted from the world coordinate system to the rotation coordinate system, for example, the coordinates of the points in the XY coordinate system may be converted to the X 'Y' coordinate system.
For example, referring to fig. 6, assuming that the point P is a point in the XY coordinate system, its coordinates are (X, Y), the coordinate is now transformed to the X 'Y' coordinate system with the origin O unchanged and the counter-clockwise rotation θ, the coordinate of P in the X 'Y' coordinate system is (X ', Y'), and the specific coordinate transformation process can be seen as follows:
through the above formula (2), the coordinates of all the points in the point set can be down-converted from the XY coordinate system to the X 'Y' coordinate system.
Further, after obtaining the coordinates of all the points in the X 'Y' coordinate system (rotational coordinate system), alternatively, the extreme values of all the points in the two axial directions of the rotational coordinate system may be determined based on the two-dimensional coordinates of all the points in the rotational coordinate system, that is, the maximum X 'value and the minimum X' value are determined from the coordinates of the respective points in the X 'direction, denoted as X' max And X' min The method comprises the steps of carrying out a first treatment on the surface of the Simultaneously determining the maximum Y 'value and the minimum Y' value from the coordinates of each point in the Y 'direction, denoted as Y' max And Y' min 。
And then, four arithmetic processing can be carried out on the extreme values and the included angles in the two axial directions, and coordinates of four vertexes corresponding to the target rectangle in the world coordinate system are determined. In calculating coordinates of four vertexes of the target rectangle in the XY coordinate system, it is assumed that the four vertexes are p respectively 1 、p 2 、p 3 、p 4 Its coordinates are (x) p1 ,y p1 )、(x p2 ,y p2 )、(x p3 ,y p3 )、(x p4 ,y p4 ) For a specific calculation mode, see the following formula:
above p 1 、p 2 、p 3 、p 4 The four vertices are four vertices arranged in succession, e.g. p 1 Point of upper left corner of rectangle, then p 2 Point being the upper right corner of the rectangle, p 3 Point being the lower right corner of the rectangle, p 4 Is the point at the lower left corner of the rectangle. Through the formula (3), the coordinates of four vertexes of the target rectangle under the XY coordinate system can be obtained through calculation. For other rectangles, the calculation can also be performed in this way to obtain coordinates of four vertices in the XY coordinate system.
S404, generating a three-dimensional labeling frame by taking a rectangle formed by coordinates of four vertexes as the bottom surface of the three-dimensional labeling frame and taking the height of the target as the height of the three-dimensional labeling frame.
In this step, when the three-dimensional labeling frame is generated, the height of the target may also be calculated in advance, and optionally, the maximum value and the minimum value in the vertical direction may be determined according to the coordinates of all the points on the plane perpendicular to the two-dimensional plane; and determining the height of the target according to the maximum value and the minimum value.
Continuing with the example where the two-dimensional plane is the XY plane and another axis is the Z axis perpendicular to the XY plane, then the maximum coordinate value in the Z axis direction (denoted as Z max ) And minimum coordinate value (denoted as Z min ) And through the maximum coordinate value Z max Subtracting the minimum coordinate value Z min I.e. Z max -Z min The height of the target is obtained.
After that, after the coordinates of four vertices of the target rectangle in the XY coordinate system are obtained by calculation, the rectangle can be constructed by the coordinates of the four vertices, and the rectangle constructed here is taken as the bottom surface of the three-dimensional standard frame. And simultaneously, directly taking the calculated height of the target as the height of the three-dimensional labeling frame to generate a cuboid-shaped three-dimensional labeling frame.
In this embodiment, the coordinates of four vertices corresponding to the target rectangle in the world coordinate system are determined by the two-dimensional coordinates and the included angles of all the points in the target rectangle in the rotating coordinate system, the rectangle formed by the coordinates of the four vertices is taken as the bottom surface of the three-dimensional labeling frame, and the height of the target is taken as the height of the three-dimensional labeling frame, so that the three-dimensional labeling frame is generated, the bottom surface of the three-dimensional labeling frame can be accurately built by the four vertices, and the accuracy of the obtained three-dimensional labeling frame is improved. In addition, four-rule operation is performed on the extreme values and the included angles of the points in two axial directions to determine four vertex coordinates, so that coordinate values of the four vertices can be determined more quickly, and the efficiency of determining the vertex coordinates and the three-dimensional labeling frame is improved. Further, the height of the target is determined through the maximum and minimum values of all the points in the Z-axis direction, so that the efficiency of determining the height of the target can be further improved, and the efficiency of determining the three-dimensional annotation frame is further improved.
In another embodiment, another method for determining a three-dimensional labeling frame is provided, and based on the above embodiment, the method may further include the following steps:
four arithmetic processing is carried out on the extreme values of the target rectangle in the two axial directions, and the area of the target rectangle is determined.
In this step, specifically when calculating the area of the target rectangle, the extremum of the points in the target rectangle in the two axial directions of the rotation coordinate system may be used for calculation, and a specific calculation flow may be shown in fig. 7, and may include the following steps:
s502, respectively performing addition and subtraction operation on the extreme values in the two axial directions to obtain the difference value of the target rectangle in the two axial directions.
S504, performing multiplication processing on the difference value in the two axial directions to determine the area of the target rectangle.
In this step, continue withThe example in S402 is given by way of example that the maximum X ' value and the minimum X ' value of each point in the X ' direction are X ' respectively ' max And X' min The maximum Y ' value and the minimum Y ' value of each point in the Y ' direction are Y ' respectively ' max And Y' min Then the length of the target rectangle can be expressed as X 'here' max -X’ min The width can be expressed as Y' max -Y’ min The area of the target rectangle may then be calculated using the following formula, denoted S, as follows:
S=(X' max -X' min )*(Y' max -Y' min ) (4)
The area S of the target rectangle can be calculated by the above formula (4), and of course, for the above-constructed rectangles, the areas thereof can be calculated in this way, so that the areas of the respective rectangles can be obtained.
In this embodiment, four arithmetic operations are performed through extremum of all points in the target rectangle in two axial directions of the two-dimensional plane, so as to obtain the area of the target rectangle, and thus the efficiency of obtaining the target rectangle can be improved. In addition, the accuracy of the obtained target can be improved by adding and subtracting the extreme values in the two axial directions and then multiplying the extreme values.
In another embodiment, another method for determining a three-dimensional labeling frame is provided, and based on the above embodiment, as shown in fig. 8, the method may further include the following steps:
s602, determining coordinates of two vertexes positioned on a diagonal line of the target rectangle according to the coordinates of the four vertexes.
After the coordinates of the four vertices are calculated in S402 described above, two vertices located on the diagonal of the target rectangle and the coordinates thereof may be obtained in the order of arrangement of the four vertices. For example, the first vertex and the third vertex in the four vertices are two vertices on one diagonal, the second vertex and the fourth vertex are two vertices on the other diagonal, and a pair of vertices on one diagonal is selected for subsequent calculation.
S604, determining the three-dimensional coordinates of the center point of the three-dimensional standard frame according to the coordinates of the two vertexes, the maximum value and the minimum value.
In the step, after a pair of vertexes and coordinates thereof on a diagonal line are determined, two-dimensional coordinates of a center point of the three-dimensional standard frame, namely coordinate values of the center point in the X-axis direction and coordinate values of the center point in the Y-axis direction, can be obtained through two-dimensional coordinate calculation of the two vertexes; then through the maximum coordinate value Z of all points in the Z-axis direction max And the minimum coordinate value is marked as Z min Coordinate values of the center point in the Z-axis direction are obtained.
For example, assume that the determined pair of vertices is p 1 And p 3 Then the three-dimensional coordinates of the center point can be noted as { (x) p1 +x p3 )/2,(y p1 +y p3 )/2,(Z max +Z min )/2}。
After obtaining the center point of the three-dimensional labeling frame, the target rectangle, the height of the target, and the angle between one side of the target rectangle and the X-axis of the world coordinate system, the three-dimensional labeling frame may be generated, that is, the step S404 may be performed as follows:
s606, taking a rectangle formed by coordinates of four vertexes as the bottom surface of the three-dimensional labeling frame, taking the height of the target as the height of the dimensional labeling frame, and combining the three-dimensional coordinates and the included angles to generate the three-dimensional labeling frame.
In the step, the three-dimensional labeling frame can be positioned through the coordinates of the central point of the three-dimensional labeling frame, meanwhile, a rectangle formed by the coordinates of four vertexes is taken as the bottom surface of the three-dimensional labeling frame, the height of a target is taken as the height of the three-dimensional labeling frame, an initial three-dimensional labeling frame is generated, the initial three-dimensional labeling frame is rotated along the Z axis by the included angle, the rotation angles of the X axis and the Y axis are 0, and finally the generated three-dimensional labeling frame of the target can be obtained.
Of course, in actual situations, the user may adaptively adjust the position, the rotation angle, the size, and the like of the three-dimensional labeling frame according to the actual situations.
In this embodiment, a pair of vertexes and coordinates thereof on a diagonal line are selected from the coordinates of the four vertexes, and the coordinates of the central point of the three-dimensional labeling frame are obtained by combining the maximum and minimum values in the vertical direction, so that the three-dimensional labeling frame can be positioned more accurately through the central point, and then the three-dimensional labeling frame of the target is determined by combining the central point and the included angle between the target rectangle and the world coordinate system, and the finally obtained three-dimensional labeling frame is completely the same as the state of the target, so that the accuracy of the three-dimensional labeling frame is higher.
A specific embodiment is given below, and on the basis of the above embodiment, the above method may include the following steps:
s1, acquiring a point set formed by projecting point cloud data of a target onto a two-dimensional plane.
S2, constructing a plurality of rectangles by each side of the convex polygon according to the convex polygon formed by all points in the point set; each rectangle encloses a convex polygon.
S3, constructing a rotation coordinate system corresponding to each rectangle by using each rectangle.
S4, determining extreme values of all points in two axial directions of the rotating coordinate system according to two-dimensional coordinates of the points in each rectangle in the rotating coordinate system.
S5, respectively carrying out addition and subtraction operation on extreme values of the two axial directions of each rectangle to obtain a difference value of the two axial directions of each rectangle, and carrying out multiplication operation on the difference value of the two axial directions of each rectangle to determine the area of each rectangle.
S6, determining the minimum area in the areas, and determining the rectangle corresponding to the minimum area as a target rectangle.
S7, carrying out four arithmetic processing on extreme values and included angles in two axial directions of the target rectangle, and determining coordinates of four corresponding vertexes of the target rectangle in a world coordinate system; the included angle is an included angle between a world coordinate system and a rotating coordinate system.
And S8, determining coordinates of two vertexes positioned on the diagonal line of the target rectangle according to the coordinates of the four vertexes, and determining three-dimensional coordinates of the center point of the three-dimensional standard frame according to the coordinates of the two vertexes, the maximum value and the minimum value.
S9, determining the maximum value and the minimum value in the vertical direction according to the coordinates of all the points on the plane vertical to the two-dimensional plane, and determining the height of the target according to the maximum value and the minimum value.
S10, taking a rectangle formed by coordinates of four vertexes as the bottom surface of the three-dimensional labeling frame, taking the height of the target as the height of the dimensional labeling frame, and combining the three-dimensional coordinates of the central point and the included angle to generate the three-dimensional labeling frame.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
Based on the same inventive concept, the embodiment of the application also provides a device for determining the three-dimensional annotation frame for realizing the method for determining the three-dimensional annotation frame. The implementation of the solution provided by the device is similar to the implementation described in the above method, so the specific limitation in the embodiment of the determining device for one or more three-dimensional labeling frames provided below may be referred to the limitation of the determining method for three-dimensional labeling frames hereinabove, and will not be repeated herein.
In one embodiment, as shown in fig. 9, there is provided a device for determining a three-dimensional labeling frame, including: the method comprises a point set acquisition module 11, a rectangle construction module 12, a target rectangle determination module 13 and a three-dimensional annotation frame determination module 14, wherein:
a point set acquisition module 11, configured to acquire a point set formed by projecting point cloud data of a target onto a two-dimensional plane;
a rectangular construction module 12 for constructing a plurality of rectangles with each side of the convex polygon according to the convex polygon formed by all points in the point set; each rectangle surrounds the convex polygon;
a target rectangle determining module 13 for determining a target rectangle according to the area of each rectangle;
the three-dimensional labeling frame determining module 14 is configured to determine a three-dimensional labeling frame corresponding to the target according to the height of the target and the target rectangle.
In another embodiment, another device for determining a three-dimensional labeling frame is provided, and on the basis of the above embodiment, the three-dimensional labeling frame determining module 14 may include:
the vertex coordinate determining unit is used for determining coordinates of four vertexes corresponding to the target rectangle in the world coordinate system according to the two-dimensional coordinates and the included angles of all points in the target rectangle in the rotating coordinate system; the included angle is an included angle between a world coordinate system and a rotating coordinate system;
and the generating unit is used for generating the three-dimensional labeling frame by taking a rectangle formed by coordinates of four vertexes as the bottom surface of the three-dimensional labeling frame and taking the height of the target as the height of the three-dimensional labeling frame.
Optionally, the vertex coordinate determining unit may include:
the extremum determining subunit is used for determining extremum of all points in two axial directions of the rotating coordinate system according to two-dimensional coordinates of all points in the rotating coordinate system;
and the arithmetic processing subunit is used for carrying out four arithmetic processing on the extreme values and the included angles in the two axial directions and determining coordinates of four vertexes corresponding to the target rectangle in the world coordinate system.
In another embodiment, another device for determining a three-dimensional labeling frame is provided, where on the basis of the foregoing embodiment, the device may further include:
And the four-rule operation module is used for carrying out four-rule operation processing on extreme values of the target rectangle in two axial directions and determining the area of the target rectangle.
Optionally, the four arithmetic modules are specifically configured to perform addition and subtraction arithmetic processing on two extreme values in the axial direction respectively, so as to obtain a difference value of the target rectangle in the two axial directions; and carrying out multiplication processing on the difference value in the two axial directions to determine the area of the target rectangle.
In another embodiment, another device for determining a three-dimensional labeling frame is provided, and on the basis of the above embodiment, the target rectangle determining module 13 may include:
the construction unit is used for constructing a rotary coordinate system corresponding to each rectangle by using each rectangle;
an area determining unit, configured to determine an area corresponding to each rectangle according to coordinates of points in each rectangle in a rotational coordinate system;
and the target rectangle determining unit is used for determining the minimum area in the areas and determining the rectangle corresponding to the minimum area as a target rectangle.
In another embodiment, another device for determining a three-dimensional labeling frame is provided, where on the basis of the foregoing embodiment, the device may further include:
the height determining module is used for determining the maximum value and the minimum value in the vertical direction according to the coordinates of all the points on the plane vertical to the two-dimensional plane; and determining the height of the target according to the maximum value and the minimum value.
In another embodiment, another device for determining a three-dimensional labeling frame is provided, where on the basis of the foregoing embodiment, the device may further include:
the center point determining module is used for determining coordinates of two vertexes positioned on a diagonal line of the target rectangle according to the coordinates of the four vertexes; according to the coordinates of the two vertexes, the maximum value and the minimum value, determining the three-dimensional coordinates of the center point of the three-dimensional standard frame;
correspondingly, the generating unit is specifically configured to use a rectangle formed by coordinates of four vertexes as a bottom surface of the three-dimensional labeling frame, use a height of the target as a height of the three-dimensional labeling frame, and combine the three-dimensional coordinates and the included angles to generate the three-dimensional labeling frame.
The modules in the determining device of the three-dimensional labeling frame can be realized in whole or in part by software, hardware and a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In one embodiment, a computer device is provided, taking the example that the computer device is a server, and its internal structure diagram may be as shown in fig. 10. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database of the computer equipment is used for storing training data such as point cloud data, three-dimensional annotation frames and the like of the target. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a method of determining a three-dimensional annotation frame.
It will be appreciated by those skilled in the art that the structure shown in fig. 10 is merely a block diagram of some of the structures associated with the present application and is not limiting of the computer device to which the present application may be applied, and that a particular computer device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided comprising a memory and a processor, the memory having stored therein a computer program, the processor when executing the computer program performing the steps of:
acquiring a point set formed by projecting point cloud data of a target onto a two-dimensional plane; according to the convex polygon formed by all points in the point set, constructing a plurality of rectangles by each side of the convex polygon; each rectangle surrounds the convex polygon; determining a target rectangle according to the area of each rectangle; and determining a three-dimensional annotation frame corresponding to the target according to the height of the target and the target rectangle.
In one embodiment, the processor when executing the computer program further performs the steps of:
according to the two-dimensional coordinates and the included angles of all points in the target rectangle under the rotating coordinate system, determining coordinates of four vertexes corresponding to the target rectangle in the world coordinate system; the included angle is an included angle between a world coordinate system and a rotating coordinate system; and generating the three-dimensional labeling frame by taking a rectangle formed by coordinates of four vertexes as the bottom surface of the three-dimensional labeling frame and taking the height of the target as the height of the three-dimensional labeling frame.
In one embodiment, the processor when executing the computer program further performs the steps of:
determining extreme values of all points in two axial directions of the rotating coordinate system according to the two-dimensional coordinates of all points in the rotating coordinate system; four arithmetic processing is carried out on the extreme values and the included angles in the two axial directions, and coordinates of four vertexes corresponding to the target rectangle in the world coordinate system are determined.
In one embodiment, the processor when executing the computer program further performs the steps of:
four arithmetic processing is carried out on the extreme values of the target rectangle in the two axial directions, and the area of the target rectangle is determined.
In one embodiment, the processor when executing the computer program further performs the steps of:
respectively carrying out addition and subtraction operation on the extreme values in the two axial directions to obtain a difference value of the target rectangle in the two axial directions; and carrying out multiplication processing on the difference value in the two axial directions to determine the area of the target rectangle.
In one embodiment, the processor when executing the computer program further performs the steps of:
constructing a rotary coordinate system corresponding to each rectangle by using each rectangle; determining the corresponding area of each rectangle according to the coordinates of the points in each rectangle under the rotating coordinate system; and determining the minimum area in the areas, and determining the rectangle corresponding to the minimum area as a target rectangle.
In one embodiment, the processor when executing the computer program further performs the steps of:
determining the maximum value and the minimum value in the vertical direction according to the coordinates of all the points on the plane vertical to the two-dimensional plane; and determining the height of the target according to the maximum value and the minimum value.
In one embodiment, the processor when executing the computer program further performs the steps of:
according to the coordinates of the four vertexes, determining coordinates of two vertexes positioned on the diagonal line of the target rectangle; according to the coordinates of the two vertexes, the maximum value and the minimum value, determining the three-dimensional coordinates of the center point of the three-dimensional standard frame; and taking a rectangle formed by coordinates of four vertexes as the bottom surface of the three-dimensional labeling frame, taking the height of the target as the height of the dimensional labeling frame, and combining the three-dimensional coordinates and the included angles to generate the three-dimensional labeling frame.
In one embodiment, a computer readable storage medium is provided having a computer program stored thereon, which when executed by a processor, performs the steps of:
acquiring a point set formed by projecting point cloud data of a target onto a two-dimensional plane; according to the convex polygon formed by all points in the point set, constructing a plurality of rectangles by each side of the convex polygon; each rectangle surrounds the convex polygon; determining a target rectangle according to the area of each rectangle; and determining a three-dimensional annotation frame corresponding to the target according to the height of the target and the target rectangle.
In one embodiment, the computer program when executed by the processor further performs the steps of:
according to the two-dimensional coordinates and the included angles of all points in the target rectangle under the rotating coordinate system, determining coordinates of four vertexes corresponding to the target rectangle in the world coordinate system; the included angle is an included angle between a world coordinate system and a rotating coordinate system; and generating the three-dimensional labeling frame by taking a rectangle formed by coordinates of four vertexes as the bottom surface of the three-dimensional labeling frame and taking the height of the target as the height of the three-dimensional labeling frame.
In one embodiment, the computer program when executed by the processor further performs the steps of:
determining extreme values of all points in two axial directions of the rotating coordinate system according to the two-dimensional coordinates of all points in the rotating coordinate system; four arithmetic processing is carried out on the extreme values and the included angles in the two axial directions, and coordinates of four vertexes corresponding to the target rectangle in the world coordinate system are determined.
In one embodiment, the computer program when executed by the processor further performs the steps of:
four arithmetic processing is carried out on the extreme values of the target rectangle in the two axial directions, and the area of the target rectangle is determined.
In one embodiment, the computer program when executed by the processor further performs the steps of:
Respectively carrying out addition and subtraction operation on the extreme values in the two axial directions to obtain a difference value of the target rectangle in the two axial directions; and carrying out multiplication processing on the difference value in the two axial directions to determine the area of the target rectangle.
In one embodiment, the computer program when executed by the processor further performs the steps of:
constructing a rotary coordinate system corresponding to each rectangle by using each rectangle; determining the corresponding area of each rectangle according to the coordinates of the points in each rectangle under the rotating coordinate system; and determining the minimum area in the areas, and determining the rectangle corresponding to the minimum area as a target rectangle.
In one embodiment, the computer program when executed by the processor further performs the steps of:
determining the maximum value and the minimum value in the vertical direction according to the coordinates of all the points on the plane vertical to the two-dimensional plane; and determining the height of the target according to the maximum value and the minimum value.
In one embodiment, the computer program when executed by the processor further performs the steps of:
according to the coordinates of the four vertexes, determining coordinates of two vertexes positioned on the diagonal line of the target rectangle; according to the coordinates of the two vertexes, the maximum value and the minimum value, determining the three-dimensional coordinates of the center point of the three-dimensional standard frame; and taking a rectangle formed by coordinates of four vertexes as the bottom surface of the three-dimensional labeling frame, taking the height of the target as the height of the dimensional labeling frame, and combining the three-dimensional coordinates and the included angles to generate the three-dimensional labeling frame.
In one embodiment, a computer program product is provided comprising a computer program which, when executed by a processor, performs the steps of:
acquiring a point set formed by projecting point cloud data of a target onto a two-dimensional plane; according to the convex polygon formed by all points in the point set, constructing a plurality of rectangles by each side of the convex polygon; each rectangle surrounds the convex polygon; determining a target rectangle according to the area of each rectangle; and determining a three-dimensional annotation frame corresponding to the target according to the height of the target and the target rectangle.
In one embodiment, the computer program when executed by the processor further performs the steps of:
according to the two-dimensional coordinates and the included angles of all points in the target rectangle under the rotating coordinate system, determining coordinates of four vertexes corresponding to the target rectangle in the world coordinate system; the included angle is an included angle between a world coordinate system and a rotating coordinate system; and generating the three-dimensional labeling frame by taking a rectangle formed by coordinates of four vertexes as the bottom surface of the three-dimensional labeling frame and taking the height of the target as the height of the three-dimensional labeling frame.
In one embodiment, the computer program when executed by the processor further performs the steps of:
determining extreme values of all points in two axial directions of the rotating coordinate system according to the two-dimensional coordinates of all points in the rotating coordinate system; four arithmetic processing is carried out on the extreme values and the included angles in the two axial directions, and coordinates of four vertexes corresponding to the target rectangle in the world coordinate system are determined.
In one embodiment, the computer program when executed by the processor further performs the steps of:
four arithmetic processing is carried out on the extreme values of the target rectangle in the two axial directions, and the area of the target rectangle is determined.
In one embodiment, the computer program when executed by the processor further performs the steps of:
respectively carrying out addition and subtraction operation on the extreme values in the two axial directions to obtain a difference value of the target rectangle in the two axial directions; and carrying out multiplication processing on the difference value in the two axial directions to determine the area of the target rectangle.
In one embodiment, the computer program when executed by the processor further performs the steps of:
constructing a rotary coordinate system corresponding to each rectangle by using each rectangle; determining the corresponding area of each rectangle according to the coordinates of the points in each rectangle under the rotating coordinate system; and determining the minimum area in the areas, and determining the rectangle corresponding to the minimum area as a target rectangle.
In one embodiment, the computer program when executed by the processor further performs the steps of:
determining the maximum value and the minimum value in the vertical direction according to the coordinates of all the points on the plane vertical to the two-dimensional plane; and determining the height of the target according to the maximum value and the minimum value.
In one embodiment, the computer program when executed by the processor further performs the steps of:
according to the coordinates of the four vertexes, determining coordinates of two vertexes positioned on the diagonal line of the target rectangle; according to the coordinates of the two vertexes, the maximum value and the minimum value, determining the three-dimensional coordinates of the center point of the three-dimensional standard frame; and taking a rectangle formed by coordinates of four vertexes as the bottom surface of the three-dimensional labeling frame, taking the height of the target as the height of the dimensional labeling frame, and combining the three-dimensional coordinates and the included angles to generate the three-dimensional labeling frame.
The data (including, but not limited to, data for analysis, data stored, data displayed, etc.) referred to in this application are information and data authorized by the user or sufficiently authorized by each party.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, database, or other medium used in the various embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high density embedded nonvolatile Memory, resistive random access Memory (ReRAM), magnetic random access Memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric Memory (Ferroelectric Random Access Memory, FRAM), phase change Memory (Phase Change Memory, PCM), graphene Memory, and the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, and the like. By way of illustration, and not limitation, RAM can be in the form of a variety of forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), and the like. The databases referred to in the various embodiments provided herein may include at least one of relational databases and non-relational databases. The non-relational database may include, but is not limited to, a blockchain-based distributed database, and the like. The processors referred to in the embodiments provided herein may be general purpose processors, central processing units, graphics processors, digital signal processors, programmable logic units, quantum computing-based data processing logic units, etc., without being limited thereto.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples only represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the present application. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, which would be within the scope of the present application. Accordingly, the scope of protection of the present application shall be subject to the appended claims.