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. |