CVAT is an interactive video and image annotation tool for computer vision. It provides a user-friendly interface for annotating images and videos, making it ideal for computer-assisted intervention applications. MONAI Label can deploy computer vision-related tasks with the CVAT viewer, such as endoscopy segmentation and tracking.
Supported applications can be found in the sample-apps folder under the endoscopy section. These applications include models like DeepEdit, Tooltracking, and InBody/OutBody classification, which can be used to create and refine labels for various medical imaging tasks.
To install CVAT and enable Semi-Automatic and Automatic Annotation, follow these steps:
git clone https://github.com/opencv/cvat
cd cvat
# Use your external IP instead of localhost to make the CVAT projects sharable
export CVAT_HOST=`hostname -I | awk '{print $1}'`
# Start CVAT from docker-compose, make sure the IP and port are available.
# Refer: https://docs.cvat.ai/docs/administration/advanced/installation_automatic_annotation/
docker-compose -f docker-compose.yml -f components/serverless/docker-compose.serverless.yml up -d
# Create a CVAT superuser account
docker exec -it cvat_server bash -ic 'python3 ~/manage.py createsuperuser'Note: The setup process uses ports 8070, 8080, and 8090. If alternative ports are preferred, please refer to the CVAT Guide. For more information on installation steps, see the CVAT Documentation for Semi-automatic and Automatic Annotation.
After completing these steps, CVAT should be accessible via http://127.0.0.1:8080 in Chrome. Use the superuser account created during installation to log in.
# Get Nuclio dashboard
export NUCLIO_VERSION=1.13.0
wget https://github.com/nuclio/nuclio/releases/download/$NUCLIO_VERSION/nuctl-$NUCLIO_VERSION-linux-amd64
chmod +x nuctl-$NUCLIO_VERSION-linux-amd64
ln -sf $(pwd)/nuctl-$NUCLIO_VERSION-linux-amd64 /usr/local/bin/nuctlThis step is to deploy MONAI Label plugin with endoscopic models using Nuclio tool.
Prerequisite: MONAI Label Server is up and running for endoscopy app.
# Run MONAI Label Server (Make sure this Host/IP is accessible inside a docker)
export MONAI_LABEL_SERVER=http://`hostname -I | awk '{print $1}'`:8000
git clone https://github.com/Project-MONAI/MONAILabel.git
# Deploy all endoscopy models
./plugins/cvat/deploy.sh endoscopy
# Or to deploy specific function and model, e.g., tooltracking
./plugins/cvat/deploy.sh endoscopy tooltracking
# Deploy SAM2 Interactor
./plugins/cvat/deploy.sh sam2 interactor
After model deployment, you can see the model names in the Models page of CVAT.
To check or monitor the status of deployed function containers, you can open the Nuclio platform at http://127.0.0.1:8070 (by default) and check whether the deployed models are running.
That's it! With these steps, you should have successfully installed CVAT with the MONAI Label extension and deployed endoscopic models using the Nuclio tool.
Not Needed to publish the model to CVAT. Model is always served via MONAI Label.

