Upgrade Guide

2.1

Deployment

Previous versions should be backed up and the docker compose related artifacts have to be cleaned.

The user can run docker system df to view the images, containers, local volumes and build cache. If only Metropolis Microservices v2.0 related components were running in the system, then run docker stop $(docker ps -a -q) command to stop the containers gracefully. Finally run docker system prune --all --volumes to clean up the system.

Ensure to download the new sample input data tar as the directory structure of videos has been changed.

Multi-Camera Tracking

Switch to the updated app & visualization config schemas. Please refer Changelog and the microservice’s Configuration page for more details.

Under resources, the app_config.json file is renamed to app_mtmc_config.json for the Building K dataset. Similarly, the viz_config.json file is renamed to viz_mtmc_config.json. The calibration file for the Building K dataset is reanmed to calibration_building_k.json.

The input to io.protobufDataPath in app configuration is changed from a byte file to a text file format.

The main_visualization.py script is renamed to main_mtmc_visualization.py. The ground_truth option for io.vizMode is changed to ground_truth_bboxes.

Web API

Refer to the Changelog & the REST API documentation for the changes in Analytics & Tracking Web API.

Switch to the Ingress of v2.1 Analytics & Tracking API in K8s: /api/v2.1/analytics.


2.0

Deployment

Previous versions should be backed up and the Docker related artifacts have to be cleaned.

The user can run docker system df to view the images, containers, local volumes and build cache. If only Metropolis Microservices v1.1 related components were running in the system, then run docker system prune -a to clean up the system.

Ensure that Docker has at least been updated to 24.0.7. Please refer to Quickstart Prerequisites for the complete list.

Merge any desired & valid changes in the config files of previous versions to the corresponding config files in the new directory structure of this version.

Perception

We introduce two new Transformer-based models for people detection & ReID, respectively, with significant accuracy & robustness improvements as well as significant compute resource demands.

Refer to the following guide to evaluate & deploy the appropriate model combinations for the Multi-Camera Tracking reference app (and indirectly for Occupancy Analytics app).

Multi-Camera Tracking

Switch to the updated app & visualization config schemas. Please refer Changelog and the microservice’s Configuration page for more details.

Here are the config parameters that got renamed:

  • overwritingNumClusters -> clustering.overwrittenNumClusters

  • countingByClusteringDistThresh -> clustering.agglomerativeClusteringDistThresh

Web API

Refer to the Changelog & the REST API documentation for the changes in Analytics & Tracking Web API.

Switch to the Ingress of v2.0 Analytics & Tracking API in K8s: /api/v2/analytics.


1.1

Perception

The Perception microservice no longer includes libraries required for certain multimedia operations like audio data parsing, CPU decode, and CPU encode.

To support video streams or files that include audio, additional packages need to be installed (e.g. gstreamer1.0-libav, gstreamer1.0-plugins-good, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-ugly as required).

This can be enabled at deployment time with a configuration setting in the helm values files for Kubernetes deployment or enabling a command in the Dockerfile for Docker Compose. Please check the documentation of Multi-Camera Tracking and Occupancy Analytics applications for details.

Multi-Camera Tracking

Filtering thresholds have been updated with default values optimized for our internal dataset; users may need to fine-tune these on custom datasets.

Regions of Interest (ROI) can be defined in the calibration JSON file, and users can enable region-based filtering with the filterByRegionsOfInterest option.

Two input formats are supported for batch processing:

Additionally, to visualize the MOTChallenge format of ground truth, set vizMode to ground_truth.

Analytics & Tracking Web API

Refer to the Changelog & the REST API documentation for the changes in Analytics & Tracking Web API.

Switch to the Ingress of v1.1 Analytics & Tracking API in K8s: /api/v1.1/analytics