objectDetection
Report for single object detection
Description
An objectDetection
object
contains an object detection report that was obtained by a sensor for a single
object. You can use the objectDetection
output as
the input to trackers such as multiObjectTracker
.
Creation
Description
creates an object detection
= objectDetection(time
,measurement
)detection
at the specified
time
from the specified
measurement
.
Tip
To create an empty objectDetection
object, use
objectDetection.empty()
.
creates a detection
= objectDetection(___,Name,Value
)detection
object with properties specified as one
or more Name,Value
pair arguments. Any unspecified
properties have default values. You cannot specify the Time
or Measurement
properties using Name,Value
pairs.
Input Arguments
time
— Detection time
nonnegative real scalar
Detection time, specified as a nonnegative real scalar. This argument sets the Time
property.
measurement
— Object measurement
real-valued N-element vector
Object measurement, specified as a real-valued
N-element vector. N is determined
by the coordinate system used to report detections and other parameters
that you specify in the MeasurementParameters
property for the
objectDetection
object.
This argument sets the Measurement
property.
Output Arguments
detection
— Detection report
objectDetection
object
Detection report for a single object, returned as an
objectDetection
object. An
objectDetection
object contains these
properties:
Property | Definition |
---|---|
Time | Measurement time |
Measurement | Object measurements |
MeasurementNoise | Measurement noise covariance matrix |
SensorIndex | Unique ID of the sensor |
ObjectClassID | Object classification |
MeasurementParameters | Parameters used by initialization functions of nonlinear Kalman tracking filters |
ObjectAttributes | Additional information passed to tracker |
Properties
Time
— Detection time
nonnegative real scalar
Detection time, specified as a nonnegative real scalar. You cannot set this property as a
name-value pair. Use the time
input argument
instead.
Example: 5.0
Data Types: double
Measurement
— Object measurement
real-valued N-element vector
Object measurement, specified as a real-valued N-element vector. You cannot
set this property as a name-value pair. Use the
measurement
input argument instead.
Example: [1.0;-3.4]
Data Types: double
| single
MeasurementNoise
— Measurement noise covariance
scalar | real positive semi-definite symmetric N-by-N matrix
Measurement noise covariance, specified as a scalar or a real positive semi-definite symmetric N-by-N matrix. N is the number of elements in the measurement vector. For the scalar case, the matrix is a square diagonal N-by-N matrix having the same data interpretation as the measurement.
Example: [5.0,1.0;1.0,10.0]
Data Types: double
| single
SensorIndex
— Sensor identifier
1
| positive integer
Sensor identifier, specified as a positive integer. The sensor identifier lets you distinguish between different sensors and must be unique to the sensor.
Example: 5
Data Types: double
ObjectClassID
— Object class identifier
0
(default) | nonnegative integer
Object class identifier, specified as a nonnegative integer. Use this property to distinguish
detections generated from different kinds of objects. For example, use 1 for
objects of type "car", and 2 for objects of type "pedestrian". The value
0
denotes an unknown object type.
When you specify this property as a nonzero integer, you can use the
ObjectClassParameters
property to specify the
detection classifier statistics.
Example: 1
Data Types: double
ObjectClassParameters
— Parameters for detection classifier
[]
(default) | structure
Parameters for detection classifier, specified as a structure. The
structure can contain any field. For class fusion with a multi-object
tracker, such as the trackerGNN
(Sensor Fusion and Tracking Toolbox) System object, you can specify the
ConfusionMatrix
field as follows.
Field Name | Description |
---|---|
ConfusionMatrix | Confusion matrix of the detection classifier, specified as an N-by-N real-valued matrix, where N is the number of possible object classes. The (i,j) element of the matrix represents the weight or probability that the classifier classifies the detection as class j if the true class of the detection is class i. For example, if
the classifier outputs two classes and makes right
classification 95% of the time, specify this matrix
as |
Data Types: struct
MeasurementParameters
— Measurement function parameters
{}
(default) | structure array | cell containing structure array | cell array
Measurement function parameters, specified as a structure array, a cell containing a structure
array, or a cell array. The property contains all the arguments used by the
measurement function specified by the MeasurementFcn
property of a nonlinear tracking filter such as trackingEKF
or trackingUKF
.
The table shows sample fields for the
MeasurementParameters
structures.
Field | Description | Example |
---|---|---|
Frame | Frame used to report measurements, specified as one of these values:
| 'spherical' |
OriginPosition | Position offset of the origin of the frame relative to the parent frame, specified as an [x y z] real-valued vector. | [0 0 0] |
OriginVelocity | Velocity offset of the origin of the frame relative to the parent frame, specified as a [vx vy vz] real-valued vector. | [0 0 0] |
Orientation | Frame rotation matrix, specified as a 3-by-3 real-valued orthonormal matrix. | [1 0 0; 0 1 0; 0 0 1] |
HasAzimuth | Logical scalar indicating if azimuth is included in the measurement. | 1 |
HasElevation | Logical scalar indicating if elevation is included in the measurement. For measurements reported in a rectangular frame, and if HasElevation is false, the reported measurements assume 0 degrees of elevation. | 1 |
HasRange | Logical scalar indicating if range is included in the measurement. | 1 |
HasVelocity | Logical scalar indicating if the reported detections include velocity measurements. For measurements reported in the rectangular frame, if HasVelocity is false, the measurements are reported as [x y z] . If HasVelocity is true , measurements are reported as [x y z vx vy vz] . | 1 |
IsParentToChild | Logical scalar indicating if Orientation performs a frame rotation from the parent coordinate frame to the child coordinate frame. When IsParentToChild is false , then Orientation performs a frame rotation from the child coordinate frame to the parent coordinate frame. | 0 |
ObjectAttributes
— Object attributes
{}
(default) | cell array
Object attributes passed through the tracker, specified as a cell
array. These attributes are added to the output of the multiObjectTracker
but not used by the tracker.
Example: {[10,20,50,100],'radar1'}
Examples
Create Detection from Position Measurement
Create a detection from a position measurement. The detection is made at a timestamp of one second from a position measurement of [100;250;10]
in Cartesian coordinates.
detection = objectDetection(1,[100;250;10])
detection = objectDetection with properties: Time: 1 Measurement: [3x1 double] MeasurementNoise: [3x3 double] SensorIndex: 1 ObjectClassID: 0 ObjectClassParameters: [] MeasurementParameters: {} ObjectAttributes: {}
Create Detection With Measurement Noise
Create an objectDetection
from a time and position measurement. The detection is made at a time of one second for an object position measurement of [100;250;10]
. Add measurement noise and set other properties using Name-Value pairs.
detection = objectDetection(1,[100;250;10],'MeasurementNoise',10, ... 'SensorIndex',1,'ObjectAttributes',{'Example object',5})
detection = objectDetection with properties: Time: 1 Measurement: [3x1 double] MeasurementNoise: [3x3 double] SensorIndex: 1 ObjectClassID: 0 ObjectClassParameters: [] MeasurementParameters: {} ObjectAttributes: {'Example object' [5]}
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Version History
Introduced in R2017aR2022b: Specify class confusion matrix
Using the new ObjectClassParameters
property, you can specify
detection class statistics in the form of a confusion matrix.
See Also
Objects
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)