Advanced modules samples

Metavision Advanced Modules

Advanced modules C++ samples

C++ samples of the advanced modules are showing some algorithms in action.

In the following table, for each sample, you will find:

Name

Description

Module

Using SDK

pipelines

UI framework

used for display

Main algorithms or classes

demonstrated in the sample

metavision_blinking_pattern_focus

Focuses an event-based camera using a blinking pattern

Calibration

Yes

SDK UI

DftHighFreqScorerAlgorithm

metavision_mono_calibration

Estimates intrinsics parameters of an event-based camera

using a blinking pattern

Calibration

Yes

OpenCV

BlinkingFrameGeneratorAlgorithm

BlinkingDotsGridDetectorAlgorithm

metavision_noise_filtering

Filters events with a noise filter (Activity, Trail or STC)

and displays them on the screen

CV

Yes

SDK UI

ActivityNoiseFilterAlgorithm

TrailFilterAlgorithm

SpatioTemporalContrastAlgorithm

metavision_data_rate

Displays event rate from an event-based camera

or from a RAW file

CV

Yes

SDK UI

ActivityNoiseFilterAlgorithm

SpatioTemporalContrastAlgorithm

AntiFlickerAlgorithm

metavision_sparse_optical_flow

Computes the sparse optical flow for moving objects

CV

Yes

SDK UI

SparseOpticalFlowAlgorithm

metavision_undistortion

Undistort and distort coordinates of events

CV

No

OpenCV

CameraGeometry

metavision_edgelet_2d_tracking

Tracks 2D edgelets

CV3D

No

OpenCV

Edgelet2dDetectionAlgorithm

Edgelet2dTrackingAlgorithm

metavision_model_3d_tracking

Tracks known 3D objects

CV3D

No

SDK UI

Model3dDetectionAlgorithm

Model3dTrackingAlgorithm

metavision_counting

Counts small objects moving vertically (e.g. bulk counting)

Analytics

No

SDK UI

CountingAlgorithm

metavision_jet_monitoring

Monitors jets being dispensed and sends alarms

when the dispensing frequency isn’t correct

Analytics

No

SDK UI

JetMonitoringAlgorithm

metavision_psm

Counts and estimates the sizes of objects moving vertically

Analytics

No

SDK UI

PsmAlgorithm

metavision_generic_tracking

Tracks any moving object

Analytics

No

SDK UI

TrackingAlgorithm

metavision_spatter_tracking

Tracks simple non-colliding objects

Analytics

No

SDK UI

SpatterTrackerAlgorithm

metavision_vibration_estimation

Estimates vibration frequency per pixel and shows the dominant

frequency (the most common frequency among all pixels)

Analytics

Yes

SDK UI

FrequencyMapAsyncAlgorithm

metavision_detection_and_tracking_pipeline

Inference Pipeline of Detection and Tracking

ML

No

OpenCV

DTPipeline

Advanced modules Python samples

Python samples of the advanced modules are showing some algorithms in action.

In the following table, for each sample, you will find its modules and the main algorithm or classes demonstrated in the sample.

Name

Description

Module

Main algorithms

demonstrated in the sample

show_calibrated_poses

Visualize the 3D locations of a calibration

pattern detected during intrinsics calibration

Calibration

N/A

metavision_ground_plane_calibration

Computes the mapping between the camera’s reference system

and the world’s reference system (camera is rigidly attached)

Calibration

FrequencyAlgorithm

FrequencyClusteringAlgorithm

metavision_noise_filtering

Filters events with a noise filter Activity, Trail or STC)

and displays them on the screen

CV

ActivityNoiseFilterAlgorithm

TrailFilterAlgorithm

SpatioTemporalContrastAlgorithm

metavision_data_rate

Displays event rate from an event-based camera

or from a RAW file

CV

ActivityNoiseFilterAlgorithm

SpatioTemporalContrastAlgorithm

AntiFlickerAlgorithm

metavision_sparse_optical_flow

Computes the sparse optical flow for moving objects

CV

SparseOpticalFlowAlgorithm

metavision_model_3d_tracking

Tracks known 3D objects

CV3D

Model3dDetectionAlgorithm

Model3dTrackingAlgorithm

metavision_counting

Counts small objects moving vertically (e.g. bulk counting)

Analytics

CountingAlgorithm

metavision_jet_monitoring

Monitors jets being dispensed and sends alarms

when the dispensing frequency isn’t correct

Analytics

JetMonitoringAlgorithm

metavision_psm

Counts and estimates the sizes of objects moving vertically

Analytics

PsmAlgorithm

metavision_generic_tracking

Tracks any moving object

Analytics

TrackingAlgorithm

metavision_spatter_tracking

Tracks simple non-colliding objects

Analytics

SpatterTrackerAlgorithm

metavision_vibration_estimation

Estimates vibration frequency per pixel and shows the dominant

frequency (the most common frequency among all pixels)

Analytics

FrequencyMapAsyncAlgorithm

metavision_detection_and_tracking_pipeline

Inference Pipeline of Detection and Tracking

ML

DTPipeline

DataAssociation

eval_coco_kpi

Evaluates Detection and Tracking pipeline on coco KPIs

ML

evaluate_detection

vizu_gt_det

Visualizes Ground Truth and ML detection results

ML

draw_box_events

train_detection

Trains Detection model with Pytorch Lightning

ML

LightningDetectionModel

export_detector

Exports detection checkpoint to torch.jit model

ML

LightningDetectionModel

classification_inference

Performs classification inference

ML

CDProcessorIterator

HDF5Iterator

train_classification

Trains supervised classification model with Pytorch Lightning

ML

ClassificationModel

export_classifier

Exports classification checkpoint to torch.jit model

ML

ClassificationModel

flow_inference

Performs Optical Flow inference with a flow network

ML

FlowModel

train_flow

Trains Optical Flow model

ML

FlowModel

export_flow

Exports flow checkpoint to torch.jit model

ML

FlowModel

generate_hdf5

Writes HDF5 feature files from event files

ML

generate_hdf5

viz_data

Visualizes a precomputed HDF5 dataset with or without bbox labels

ML

SequentialDataLoader

viz_moving _mnist

Visualizes the Moving MNIST

ML

MovingMNISTDataset

bbox_txt2npy

Converts Bbox from text format to numpy format

ML

EventBbox