Your AI Is Only As Good As Your Data Quality!​
And a major factor to data quality is the annotation​
This is why you need CVAT – the Computer Vision Annotation Tool​
CVAT 2022 has a new look and a new infrastructure​
CVAT is maintained mainly by Intel, but you can customize and contribute as it is open
source, just github cvat
CVAT is Online​
It can run on CPUs or GPUs on Windows, Linux or mac, but only on Chrome browsers for now
CVAT is natively integrated with Cnvrg..​
If you’d like to use Cnvrg as the management platform​
​Look for the video on cnvrg
CVAT has many features but it is still pretty intuitive to get started ​
I’ll show you in a minute​
​
On the CVAT page, I’ll leave you the QR code​
Go to documentation, get started​
You can install on Mac, on Windows, or on WSL in Windows ​
I will run Ubuntu​
Just copy paste the installation,​
You need docker​
And you need docker-compose, to launch multiple containers at once​
And we clone the CVAT repository​
“Docker compose up” will bring all the services up..​
​
I already have many images in the system​
And a couple of containers..​
docker compose down –v​
Should shut everything down​
If not, just stop the containers, remove them and the images…​
I just want to start from scratch..​
Make sure you are in the CVAT directory..​
And docker-compose is starting​
Downloading and launching all the containers..​
​
Once it’s done, you can see that I have several containers running​
There is one for the CVAT User interface​
One for the server, one for the communication and so on..​
Basically micro-services that are working in containers and communicating to each other​
If you face any issue with launching CVAT, from my experience it’s most likely a permissions
issue​
Try to run this command, it usually helps​
And now localhost 8080​
And CVAT is up..​
​
All of these micro-services,, the containers I ran ​
are running now on my local machine​
But they could be run anywhere.​
Look for the AWS deployment guide​
For GPUs or any other AWS machine..​
All of these containers are configured at the docker-compose yaml file​
You can find here each of the containers and the resources, paths and tool versions they
are using​
And let’s look at the UI​
We start with creating a project​
projects correspond to a dataset​
So you might have an MNIST project or your Specific data-set project​
and each project might have tasks associated to it​
and assigned to annotate a sub-set or the full data-set
Let’s create a new task​
And add a couple of labels, car and person​
Lots of customizations are possible here, the colors and other attributes, ​
I’ll keep it simple, so I have only 2 labels.​
I’ll bring a video file in​
And submit​
And task was created, let’s open it​
Task is open, you can see that the video is not annotated.
​
If we go frame after frame..​
We can use OpenCV, ​
let’s load OpenCV​
And we can run histogram equalization on the full image​
Or we can use OpenCV contour to annotate an object​
Press escape to get out of that mode​
I will use a rectangle to annotate this car​
And another one to annotate that person​
The problem is that these annotations does not exist in the next frame, only for the
one I created them for..​
So I’m going to use tracking​
I mark this car​
I skip few frames and mark it again..​
Now this is a key-frame​
And another one.
​
And now if I go backward all the annotations are interpolated..​
And the result is annotation along multiple frames with minimal effort​
There are of course many more features, ​
Check out the 3D annotation option, ​
You can upload the annotation in various formats or export the data-set, ask for a review and
more ​
I’m sure you’ll find how to do it, it’s pretty intuitive
But the whole process can even be faster and easier than that.​
In the next video let’s take a look at semi automatic annotation using serverless function​
See you there..​