Defines the object data structures and APIs.
Data Structures | |
| struct | dwObjectCamera |
| Objects found in camera. More... | |
| struct | dwObjectFreespace |
| Freespace object. More... | |
| struct | dwObjectFused |
| Fused objects. More... | |
| struct | dwObjectGeneric |
| Information about a base object. More... | |
| struct | dwObjectLaneAssignment |
| Object lane assignment. More... | |
| struct | dwObjectLaneAssignmentList |
| Object lane assignment list. More... | |
| struct | dwObjectLaneSpan |
| Object lane span data structure. More... | |
| struct | dwObjectLidar |
| Objects found in lidar. More... | |
| struct | dwObjectRadar |
| Objects found in radar. More... | |
| struct | dwObjectTrafficSignal |
| Traffic signal object. More... | |
Macros | |
| #define | DW_OBJECT_CUBOID_2D_COUNT 8 |
| #define | DW_OBJECT_IN_PATH_ANALYZER_MAX_LANE_COUNT 32 |
| The max number of lanes that can be processed. More... | |
| #define | DW_OBJECT_MAX_BOUNDARY_POINT_COUNT 30 |
| The maximum size of an object shape. More... | |
| #define | DW_OBJECT_MAX_CAMERA_COUNT 7 |
| #define | DW_OBJECT_MAX_FUSED_PARENT_OBJECT_COUNT 6 |
| The maximum number of objects that can make up a fused object. More... | |
| #define | DW_OBJECT_MAX_RADAR_COUNT 1 |
| #define | DW_OBJECT_MAX_SENSOR_COUNT 20 |
| #define | DW_OBJECT_MAX_SUBCLASS_COUNT_PER_CLASS 3 |
| #define | MAX_FREESPACE_BOUNDARY_POINT_COUNT 10 * MAX_OBJECT_BOUNDARY_POINT_COUNT |
Enumerations | |
| enum | dwCoordSystem { DW_COORD_SYSTEM_SENSOR = DW_COORDINATE_SYSTEM_SENSOR, DW_COORD_SYSTEM_RIG = DW_COORDINATE_SYSTEM_VEHICLE_BASE, DW_COORD_SYSTEM_LOCAL = DW_COORDINATE_SYSTEM_LOCAL, DW_COORD_SYSTEM_WORLD = DW_COORDINATE_SYSTEM_WORLD, DW_COORD_SYSTEM_CUSTOM = DW_COORDINATE_SYSTEM_CUSTOM, DW_COORD_SYSTEM_COUNT } |
| Coordinate systems used by dwObjectGeneric. More... | |
| enum | dwObjectState { DW_OBJECT_STATE_STATIONARY = 0, DW_OBJECT_STATE_MOVING = 1, DW_OBJECT_STATE_MOVING_ONCOMING = 2, DW_OBJECT_STATE_MOVING_CROSSTRAFFIC = 3, DW_OBJECT_STATE_UNKNOWN = 4, DW_OBJECT_STATE_COUNT } |
| Object kinematic state. More... | |
| struct dwObjectCamera |
| Data Fields | ||
|---|---|---|
| uint32_t | age | Age of the object track (camera frames) |
| dwVector2f | anchor | Anchor point for fence estimation. |
| float32_t | azimuth_r | azimuth angle from host car to object (flat ground plane assumption) |
| float32_t | azimuthLeft_r | azimuth angle from host car to object bottom left(flat ground plane assumption) |
| float32_t | azimuthRight_r | azimuth angle from host car to object bottom right(flat ground plane assumption) |
| dwRectf | box2D | Bounding box. |
| uint32_t | clusterCount | Number of elements in the cluster. |
| dwVector2f | cuboid2D[DW_OBJECT_CUBOID_2D_COUNT] | 3D cuboid bounding box projected onto 2D image. Coordinate system is image coordinate. |
| dwOrientedBoundingBox3f | cuboid3D | 3D cuboid. Coordinate system is virtual sensor coordinate. |
| float32_t | curvature | Signed inverse radius of fitted circle, 0 if angular velocity estimate is not available. |
| float32_t | depth_m | depth ~= distance*cos(azimuth) |
| float32_t | distance_m | Radial distance (in meter) from host car to object. |
| float32_t | frontMarker25D | Front marker 2.5D. |
| dwVector2f | imageVelocity | BBOX speed in pixel/sec. |
| uint32_t | imageVelocityTempBaseline |
The temporal baseline of the imageVelocity. Unit is the index number in the track history Specifically, it defines how many frames in the history are used to compute velocity |
| float32_t | inverseTimeToCollision_s | The inverse time to collision (s) |
| bool | isGeometricFittingValid | Flag to indicated whether the scale and translation are valid. |
| bool | isInverseTTCValid | is iTTC valid? |
| bool | isObjectInFrame | Object bounding boxes is fully visible, i.e., not touching image boundary. |
| bool | isOccluded | Final decision of object occlusion. |
| bool | isOccludedDNN | Final decision of object occlusion using DNN confidence. |
| bool | isSmall | Is a small Object? |
| bool | isUrgencyValid | Whether urgency value is valid. |
| bool | isVelInTempBaselineValid | Flag to indicate whether the computed velocity in the temoporal baseline is valid. |
| float32_t | longitudinalVelocity | |
| uint32_t | objectSubClass | The sub class of the object. |
| dwObstacle | obstacle | The original obstacle. |
| float32_t | occlusionConfidence | The occlusion confidence score. |
| float32_t | occlusionConfidenceDNN | The occlusion confidence by DNN. |
| float32_t | orientation25D_r | 2.5D Orientation in sensor space (rads) |
| float32_t | pointFrontMarker25D | indicates point on vertical front marker line for visualization of 2.5D orientation |
| float32_t | pointRearMarker25D | indicates point on vertical rear marker line for visualization of 2.5D orientation |
| float32_t | rearMarker25D | Rear marker 2.5D. |
| float32_t | scaleFactor | Scale factor change from the previous frame. |
| uint32_t | sensorId | Sensor ID. |
| float32_t | subclassConfidence[DW_OBJECT_MAX_SUBCLASS_COUNT_PER_CLASS] | The confidence of obtacle subclsses. |
| float32_t | urgency | Urgency (iTTC) |
| dwVector2f | velocityDirection | Direction of the linear velocity computed from estimated angular velocity. |
| dwVector2f | velocityInTempBaseline | Intermediate ground velocity (m/s). It is computed by using the frames in imageVelocityTempBaseline. |
| dwVector3f | velocityRelative | The velocity relative to the ego car in rig coordinate system (m/s) |
| dwVector2f | visibility25D | Visibility of the bounding box. |
| struct dwObjectFreespace |
| Data Fields | ||
|---|---|---|
| dwObjectGeneric | details | The original object. |
| dwObstacle | obstacle | The original obstacle. |
| struct dwObjectFused |
| Data Fields | ||
|---|---|---|
| float32_t | angularVelocityZ | |
| uint64_t | associatedObjectIds[DW_OBJECT_MAX_SENSOR_COUNT] |
id of the object that was used to create this fusion object. It can be used to access before fusion information from each sensor. |
| dwVector2f | fittedCircleCenter | |
| float32_t | fittedCircleRadius | |
| bool | hasAngularVelocity | |
| float32_t | inverseTimeToCollision_s | The inverse time to collision (s) |
| bool | isAssociated[DW_OBJECT_MAX_SENSOR_COUNT] | boolean flags that represents which sensor information was used to create this fusion object |
| bool | isInverseTTCValid | is iTTC valid? |
| dwObstacle | obstacle | The original obstacle. |
| struct dwObjectGeneric |
| Data Fields | ||
|---|---|---|
| uint32_t | boundaryPointCount | The number of points in the boundary. |
| dwVector3f | boundaryPoints[DW_OBJECT_MAX_BOUNDARY_POINT_COUNT] |
Points that define the perceived obstacle boundary. This is a fence polyline that is as close to the ground as possible and is in a clockwise order. (m) |
| float32_t | classConfidence | A float value from 0.0 to 1.0 indicating how confident the objectClass is. |
| dwCoordinateSystem | coordSystem | |
| uint64_t | id | The id of the object. |
| float32_t | inverseTimeToCollision_s | The inverse time to collision (1/s) |
| bool | isBoundaryValid | |
| bool | isInverseTTCValid | is iTTC valid? |
| dwObjectLaneAssignmentList | laneAssignments | The lane assignments for this object. |
| dwObjectLaneSpan | laneSpans[DW_LANEGRAPH_LANE_TYPE_COUNT] | Lane spans associated with this object This lane span data structure would be based on the fence polyline and the lane structure. |
| uint32_t | laneSpansCount | Number of lane spans associated with this object. |
| dwObjectClass | objectClass | The detected class of object. |
| dwObjectState | objectState | |
| float32_t | orientation_r | Object orientation with respect to rig (rad) |
| dwVector3f | position | Position of the object in the given coordinate system (m). |
| dwTime_t | timestamp_us | The time of creation (us). |
| dwVector3f | velocity | The velocity of the object in the given coordinate system (m/s). |
| float32_t | velocityConfidence | A float value from 0.0 to 1.0 indicating how confident the velocity is. |
| struct dwObjectLaneAssignment |
| Data Fields | ||
|---|---|---|
| uint32_t | laneId | The lane id. |
| float32_t | predictedRatio | The amount of predicted object pixel overlap in lane. |
| float32_t | ratio | The amount of object pixel overlap in lane. |
| dwLaneGraphLaneType | type | The lane type. |
| struct dwObjectLaneAssignmentList |
| Data Fields | ||
|---|---|---|
| dwObjectLaneAssignment | assignments[DW_OBJECT_IN_PATH_ANALYZER_MAX_LANE_COUNT] | The list of the lane assignments. |
| uint32_t | count | The count of lane assignments. |
| uint32_t | dominantLaneAssignment | The index of dominant lane assignment. |
| struct dwObjectLaneSpan |
| Data Fields | ||
|---|---|---|
| dwVector3f | anchorPoint | the anchor point (origin) which represents the start point of the distance calculation |
| float32_t | frontDistance | displacement integration along the lane polyline between lane span's front boundary to the anchor point |
| dwVector3f | frontPoint | front boundary point (on LaneGraph) of the object lane span along the travel direction |
| uint32_t | globalLaneID | ID of the lane which this object lane span occupies. |
| float32_t | rearDistance | displacement integration along the lane polyline between lane span's rear boundary to the anchor point |
| dwVector3f | rearPoint | rear boundary point (on LaneGraph) of the object lane span along the travel direction |
| struct dwObjectLidar |
| Data Fields | ||
|---|---|---|
| float32_t | confidence | Object estimate confidence. |
| dwObjectGeneric | details | The original object. |
| dwVector3f | dimensions | Dimensions of the object in the given coordinate system (h, w, l) with "details.position" as the center of the object. |
| dwObstacle | obstacle | The original obstacle. |
| dwVector3f | rotation | Rotation of the object in the given coordinate system (r, p, y) (rad) |
| uint32_t | sensorId | Sensor ID that allows to retrieve coord. |
| float32_t | vehicleConfidence | |
| float32_t | vruConfidence | |
| struct dwObjectRadar |
| Data Fields | ||
|---|---|---|
| uint32_t | age | Age of object track. |
| float32_t | azimuth_r | Azimuth angle in radians from host car to object. |
| float32_t | confidence | Object estimate confidence. |
| dwRadarDynamicState | dynamicState | Dynamic state of object(Stationary/Moving/Oncoming/CrossTraffic) |
| bool | isElevationValid | Elevation validity flag. |
| dwObstacle | obstacle | The original obstacle. |
| float32_t | radialVelocity | Velocity along the line of sight. |
| float32_t | radius | Distance along the line of sight. |
| uint32_t | sensorId | Sensor ID. |
| struct dwObjectTrafficSignal |
| Data Fields | ||
|---|---|---|
| dwBbox2Df | box2D | |
| dwBbox3Df | box3D | |
| uint32_t | clusterCount | Vote count of clustering method. |
| float32_t | confidence | |
| dwCoordinateSystem | coordSystem | Coord system. |
| uint64_t | id | Track ID. |
| dwTrafficLightClass | processedLightType | |
| dwSignClass | processedSignType | |
| dwTrafficLightClass | rawLightType | |
| dwSignClass | rawSignType | |
| dwTime_t | timestamp_us | Timestamp. |
| dwTrafficSignalType | type | |
| bool | valid | |
| #define DW_OBJECT_IN_PATH_ANALYZER_MAX_LANE_COUNT 32 |
| #define DW_OBJECT_MAX_BOUNDARY_POINT_COUNT 30 |
| #define DW_OBJECT_MAX_FUSED_PARENT_OBJECT_COUNT 6 |
| #define MAX_FREESPACE_BOUNDARY_POINT_COUNT 10 * MAX_OBJECT_BOUNDARY_POINT_COUNT |
| enum dwCoordSystem |
Coordinate systems used by dwObjectGeneric.
| Enumerator | |
|---|---|
| DW_COORD_SYSTEM_SENSOR | |
| DW_COORD_SYSTEM_RIG | |
| DW_COORD_SYSTEM_LOCAL | |
| DW_COORD_SYSTEM_WORLD | |
| DW_COORD_SYSTEM_CUSTOM | |
| DW_COORD_SYSTEM_COUNT | |
| enum dwObjectState |
| DW_API_PUBLIC dwStatus dwObjectCamera_reset | ( | dwObjectCamera * | object | ) |
Resets the fields of the given object to their initial state.
| [in] | object | Pointer to the object to reset. |
| DW_API_PUBLIC dwStatus dwObjectFreespace_reset | ( | dwObjectFreespace * | object | ) |
Resets the fields of the given object to their initial state.
| [in] | object | Pointer to the object to reset. |
| DW_API_PUBLIC dwStatus dwObjectFused_reset | ( | dwObjectFused * | object | ) |
Resets the fields of the given object to their initial state.
| [in] | object | Pointer to the object to reset. |
| DW_API_PUBLIC dwStatus dwObjectGeneric_fromObstacle | ( | dwObjectGeneric * | out, |
| const dwObstacle * | in | ||
| ) |
Copy lane assignment to dwObjectGeneric from dwObstacle.
| [out] | out | The generic object. |
| [in] | in | The obstacle. |
| DW_API_PUBLIC dwStatus dwObjectGeneric_fromObstacleLaneAssignment | ( | dwObjectGeneric * | out, |
| const dwObstacleLaneAssignment * | in | ||
| ) |
Copy lane assignment to dwObjectGeneric from dwObstacleLaneAssignment.
| [out] | out | The generic object. |
| [in] | in | The obstacle lane assignement. |
| DW_API_PUBLIC dwStatus dwObjectGeneric_reset | ( | dwObjectGeneric * | object | ) |
Resets the fields of the given object to their initial state.
| [in] | object | Pointer to the object to reset. |
| DW_API_PUBLIC dwStatus dwObjectGeneric_toObstacle | ( | dwObstacle * | out, |
| const dwObjectGeneric * | in | ||
| ) |
Copy obstacle from dwObjectGeneric to dwObstacle.
| [out] | out | The obstacle. |
| [in] | in | The generic object. |
| DW_API_PUBLIC dwStatus dwObjectGeneric_toObstacleLaneAssignment | ( | dwObstacleLaneAssignment * | out, |
| const dwObjectGeneric * | in | ||
| ) |
Copy lane assignment from dwObjectGeneric to dwObstacleLaneAssignment.
| [out] | out | The obstacle lane assignement. |
| [in] | in | The generic object. |
| DW_API_PUBLIC dwStatus dwObjectLidar_reset | ( | dwObjectLidar * | object | ) |
Resets the fields of the given object to their initial state.
| [in] | object | Pointer to the object to reset. |
| DW_API_PUBLIC dwStatus dwObjectRadar_reset | ( | dwObjectRadar * | object | ) |
Resets the fields of the given object to their initial state.
| [in] | object | Pointer to the object to reset. |