Note: the MCT server must be set up in a server as it requires higher computation resources, and Jetson devices are not sufficient for MCT servers.

From version 1.5, we release another server image that enables the Multiple-camera Tracking (MCT) in the Asilla SDK.
With MCT function, you can recognize and track the same person across many cameras by merging and verifying functions, whether the same individual in different locations is.
You can either set up the MCT server in the same device where you are running the SDK client or in a separate device. Here's how to set up MCT along with the SDK Client from the Asilla SDK v1.5.

  • Please check the list of Supported Device Information for MCT Server before starting setup steps.
  • Setup the database

    Run following commands in the terminal to set up the database.
    python3 -m pip install gdown
    unzip build-mct-db.zip
    bash build-mct-db.sh
    sudo cp compose/amd/neo4j/*.jar $HOME/neo4j/plugins/
    curl -XPUT
    -H "Content-Type: application/json" http://localhost:9200/_cluster/settings
    -d '{ "transient": { "cluster.routing.allocation.disk.threshold_enabled": false } }'
    curl -XPUT
    -H "Content-Type: application/json" http://localhost:9200/_all/_settings
    -d '{"index.blocks.read_only_allow_delete": null}'
    docker restart mct_elastic_container
    docker restart mct_neo4j_container

    Setup the MCT server

    Current MCT Server Image supports following CUDA-11 devices:
    "sm61": ["gtx1080ti", "gtx1080", "gtx1070ti", "gtx1070", "gtx1060", "gtx1050ti", "gtx1050", "gtx1030", "testlap40", "testlap4"],
    "sm75": ["gtx1660ti", "gtx1660super", "gtx1660", "gtx1650super", "gtx1650", "rtx2080ti", "rtx2080super", "rtx2080", "rtx2070super", "rtx2070", "rtx2060super", "rtx2060", "titanrtx", "quadrortx5000", "quadrortx6000", "quadrortx8000", "quadrot1000", "quadrot2000", "teslat4"],
    "sm86": ["rtx3090", "rtx3080", "rtx3070", "rtx3060ti", "rtx3060", "rtx3050ti", "rtx3050", "rtxa6000"]

    Use the following command to pull and run the MCT server image from the docker hub.
    docker pull asilla/sdk_server:v1.5_cuda-11
    docker run -it --name sdk_mct_server --restart=always --runtime=nvidia --privileged --network host --ipc host --device /dev/mem:/dev/mem -v /etc/localtime:/etc/localtime asilla/sdk_server:v1.5_cuda-11
    Initiate the MCT server
    1. Use the below command to initiate the MCT server.
    2. asdk init
    3. Reset the database and start running the MCT server.
    4. asdk reset_db
      asdk run
    5. Pull the newest docker image and start the GUI Management.

    Setup configuration (using the Management GUI)

    1. Add the MCT server to the Device List
      • IP Address of the device (where MCT server is running)
      • API Port of the MCT server (5000 by default)
      • Device name for the MCT server

    2. Configure camera settings
      • Go to the Configuration
      • Choose Common Configuration
      • Set the following configurations in order to enable the MCT for a specific camera.


      • Note: With mct_alert_tag_list, you can add a tag for the people you are tracking. When a tagged person appears in the system, it will send an alert to the user immediately.

    3. After completing the configuration, click the Update button to save all the settings.

    Check the MCT connection
    After setting up, first is to check the connection of the MCT and your server.
    1. Go to the Setting section of Multicamera-tracking page
    2. If 3 Value parameters are default full filled as below, you successfully connected the MCT to your server.
      If not, you should restart the MCT server and run this command asdk run on Server again.

    3. Default value parameters
    Merge
    Sometimes, you may see the same person has been assigned with different Global PIDs, which means that the MCT model has identified them as a different person.
    At Show History, you can select and merge all the information to one unique PID or merge into a specific PID.

    Select all the rows of the same person to merge
    Verify
    1. To verify, click on the Global PID of the person
    2. If all the images are from the same person, select them all and click on the Verify button.
    3. If there’s information from an unrelated person, you can remove it simply by clicking on the Delete or Unrelate button.

    Note: After the verification, you can attach a TAG for the person. Therefore, once the tagged person has re-appeared, you will receive an alert immediately. To do so, in the camera Configuration, you need to add a tag for that person and update the mct_alert_tag_list.
    Get alerts
    To get the alerts from tagged people, please following these 2 steps:
    1. Go to Camera Edit of Configuration
    2. Select alert_enable to True
    Optional
    Frozen gallery
    Use Verified Data as Frozen Gallery to re-identify only (long term feature),
    Go to Setting page and update parameter frozen_gallery into True.

    Note: You need to fit verified data in advance before freezing the gallery.

    Update parameter frozen_gallery in the Setting page

    Name: MCT User Manual (PDF)
    Version: 1.5
    File name: AsillaSDK_ver1.5_MCT_GUI_UserManual.pdf
    Publication Date: 2022/01/28