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:
JSON Schema via
jsonDataPath
Protobuf Schema (new) via
protobufDataPath
(need conversion to bytes)
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