SDK ML Pipeline Builder

struct Metavision::DTPipeline_params

Structure to store parameters required to build and configure the detection and tracking pipeline.

Public Members

timestamp pipeline_delta_t_ = 10000

Delta of time between two updates of output

Note

This parameter changes the behavior of the pipeline

std::string record_file_ = ""

File name with the input events.

timestamp start_ts_ = 0

Timestamp at which the pipeline should start.

timestamp end_ts_ = std::numeric_limits<timestamp>::max()

Timestamp at which the pipeline should stop.

std::string output_detections_filename_ = ""

File name to store detection boxes.

std::string output_tracks_filename_ = ""

File name to store track information.

std::string output_video_filename_ = ""

File name to store video of the pipeline output.

bool display_ = false

Activates the display rendering.

int fps_ = 25

Refresh rate.

std::vector<int> camera_roi_

Region Of Interest set on the camera side.

bool transpose_input_ = false

Transpose the input event format.

bool flipX_ = false

Flip the events over X-axis.

bool flipY_ = false

Flip the events over Y-axis.

std::string noise_filtering_type_ = "trail"

Sets the noise filtering algorithm, available options are “trail” or “stc”.

timestamp noise_filtering_threshold_ = 10000

Threshold provided for the noise filter algorithm.

std::string object_detector_dir_ = ""

Folder from which the neural network is loaded.

float detector_confidence_threshold_ = 0.f

Minimal confidence for box detection.

float detector_NMS_IOU_threshold_ = 0.f

Threshold on Intersection Over Union value for checking box similarity.

std::string ml_runtime_ = "gpu"

Device running the neural network.

int network_input_width_ = 0

Neural Network input frame’s width.

int network_input_height_ = 0

Neural Network input frame’s height.

float detection_merge_weight_ = 0.7f

Weight to compute weighted track confidence.

timestamp deletion_time_ = 100000

Time without detection above which a track has to be deleted.

float max_iou_inter_track_ = 0.5f

Maximal IOU between two tracks to be considered as different.

float iou_to_match_a_detection_ = 0.2f

Threshold on IOU value to match two boxes.

float max_iou_for_one_det_to_many_tracks_ = 0.5f

Threshold above which a detection is considered ambiguous. It means that, a detection is discarded if several tracks match with an IOU

bool use_descriptor_ = false

Use a descriptor to check if two boxes are matching.

int number_of_consecutive_detections_to_create_a_new_track_ = 1

Number of consecutive detections before creating a new track.

timestamp timesurface_delta_t_ = 200000

Delta of time used to generate the timesurface.

bool do_not_update_tracklets_between_detections_

Update tracklets between detections.

template<typename Event>
class Metavision::DTPipeline

Detection and Tracking pipeline.

Template Parameters
  • Event: Event type consumed by the pipeline

Public Functions

DTPipeline(std::string filename_tracks = "", std::string filename_detections = "")

Constructs a Detection and Tracking Pipeline.

Parameters
  • filename_tracks: Filename to store the serialized track objects

  • filename_detections: Filename to store the serialized detections

void build_and_run(const DTPipeline_params &params)

Builds and runs the pipeline.

Parameters
  • params: Parameters to configure the execution