Learn: Annotating Data

 Example of the CVAT interface
Example of the CVAT interface

VFRAME uses annotated images and video frames to train neural networks. Annotations are simply boxes with a label. For example, the image above contains a bounding box with the RBK250 label. This data tells a neural network to classify anything within the rectangular region as the RBK250 (positive data) and anything outside of the box as not-a-rbk250 (negative data). The more correctly drawn rectangles there are, the better the neural network will work. Each annotation makes a small contribution towards teaching a neural network about how the object can appear.

Below is a short guide for using CVAT to annotate data for the VFRAME project. CVAT is an open source project with several of their own tutorials. But for now, all you need to learn is (1) how to start a new job, (2) drawing labeled boxes, and (3) saving your work. You will need to receive login credentials before proceeding. Then, log in and start by selecting a job.

 Start by selecting a job from the Task. When using videos, each Task contains only one job. The size of the job is specified as the number of Frames. This job contains only 14 frames.
Start by selecting a job from the Task. When using videos, each Task contains only one job. The size of the job is specified as the number of Frames. This job contains only 14 frames.

Selecting a Job

When you login, select the Tasks item from the top menu bar. You'll be shown a list of your jobs. Each job typically contains one video, and each video is simply comprised of several images. Some videos may contain only 1 or 2 frames with one object each (that's an easy job!), however, some videos may contain over 50 with many objects per frame. Start by selecting the job you want to work on. If you don't see any jobs, they are either all done or have not yet been assigned.

Drawing Boxes

The 2 most important parts of annotation are selecting the correct object-label and accurately drawing the bounding boxes around the object. Boxes should form a tight fit around the object and not include any additional space. Boxes should be accurate to with +/- 1 pixel. You may need to zoom in to make the box more accurate (a mouse with scroll wheel works best for this). Accurate boxes increase the accuracy of the neural network, while inaccurately drawn boxes will lower the accuracy and possibly cause the neural network to misclassify objects. The animation below shows all the steps needed to annotate a job.

 Start annotating by selecting the correct object-label and then click the "Shape" button
Start annotating by selecting the correct object-label and then click the "Shape" button
 Start annotating by selecting the correct object-label and then Shape
Start annotating by selecting the correct object-label and then Shape
 Correct: Box tightly drawn around the edges of the object with no additional space
Correct: Box tightly drawn around the edges of the object with no additional space
 Incorrect: Box includes parts of the ground, not drawn tightly.
Incorrect: Box includes parts of the ground, not drawn tightly.
 RBK250: Examples of RBK250 annotations
RBK250: Examples of RBK250 annotations

Tips

Interface FAQs