VoTT, or Visual Object Tagging Tool, is an open-source annotation and labeling application tailored for image and video assets. Built using React + Redux and written in TypeScript, this tool facilitates the labeling of data needed for machine learning pipelines.
Getting Started with VoTT
Whether you’re a seasoned developer or a newcomer to the world of machine learning, getting started with VoTT is a straightforward process. Below are your options for installation.
Download and Install a Release Package for Your Platform (Recommended)
- VoTT is available for Windows, Linux, and OSX.
- To get started, download the appropriate platform package installer from GitHub Releases.
- Look for the versions prefixed with 2.x for the latest release.
Build and Run from Source
If you prefer to tinker under the hood, you can build VoTT from the source. To do this, ensure you have NodeJS 10.x and NPM installed. Then, follow these steps:
bash
git clone https://github.com/Microsoft/VoTT.git
cd VoTT
npm ci
npm start
IMPORTANT: This process will start both the Electron and browser versions of the application locally. Remember, the Electron version can access the local file system.
Run as a Web Application
You can also use VoTT directly in a modern web browser by visiting VoTT Web Application. Note that this version cannot access the local file system, so assets must be imported and exported through cloud projects.
Understanding VoTT’s Versions: V1 and V2
VoTT has evolved over time, with V2 serving as a major refactor from the original version. Unlike V1, which is no longer maintained, V2 is built with modern development frameworks and is designed for extensibility and maintainability.
V1 vs. V2
- V1 can be found on the v1 branch but will receive no updates.
- Any projects made in V1 can be converted to V2 format, making the transition smoother.
Using VoTT for Labeling
Labeling is the heart of your workflow in VoTT. This involves multiple tasks such as creating connections, projects, and finally labeling images and videos.
Creating Connections
VoTT functions on a “Bring Your Own Data” (BYOD) model, enabling users to create connections for the source of data and the target destinations. Supported connections include:
- Azure Blob Storage
- Bing Image Search
- Local File System
Establish connections through the ‘New Connections’ icon in the left navigation bar.
Creating a New Project
Projects in VoTT are collections of labeling configurations. They define both source and target connections and can be customized for different labeling needs. To create a new project:
Click on the New Project icon.
Configure Source and Target Connections.
Finalize the project settings.
Labeling an Image or Video
Labeling images and videos is done visually. For images, you can draw bounding boxes and assign tags, while for videos, you utilize controls to navigate frames and apply labels. Think of it like sculpting where you delineate shapes from a block of stone—the more precise your cuts, the clearer your sculpture becomes.
Troubleshooting Tips
If you encounter issues, here are a few troubleshooting ideas:
- Ensure you have the correct versions of NodeJS and NPM if building from source.
- Make sure your internet connection is stable for the web version to function properly.
- If you run into permissions issues with file access, consider checking your platform’s security settings.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Final Thoughts
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

