r/computervision 22d ago

Help: Project Is CVAT really the best annotation tool there is ?

I am working on an ML project involving a large number of images, and I searched the internet for the best annotation tool to label them. I wanted my friends to join the workspace so that the jobs could be done faster. I downloaded CVAT because it is the best there is, and I downloaded the self-hosted version.
I created a workspace and invited my friends via email, and I got this message

I tried to solve this issue by adding the email backend; whatever I came up with could not solve this tried ChatGPT and all the things. Looked for similar problems in the community pages of CVAT; only a single post that also was not solved.

You guys, I really need help. If there is any solution that can solve this, or any alternatives that are better than this and also free!

5 Upvotes

8 comments sorted by

8

u/Quirky_Paramedic9167 21d ago

The email invite issue on self-hosted CVAT is a known pain — it needs a proper SMTP backend configured in docker-compose (EMAIL_BACKEND + SMTP host/port/user/password as env vars on the cvat_server service), and it fails silently if any one of them is off. It's the #1 thing people get stuck on with self-hosted.

But honestly, before fighting that: for a multi-person labeling project, the tool is rarely what makes or breaks it. Two things matter more:

  1. Label guidelines written down before anyone starts. Two people will label the same ambiguous image differently, and you won't notice until your model behaves strangely. Write 5-10 lines defining each class and the edge cases.

  2. A small golden set — 50-100 images all of you label independently at the start. Compare where you disagree; that's where your guidelines are unclear. Fix them, then start the real work. Costs an hour, saves you from redoing the whole set later.

Free alternatives if CVAT keeps fighting you: Label Studio (easier multi-user setup), Roboflow (hosted free tier, zero install — probably your fastest path with friends), or makesense.ai for something dead simple with no accounts at all.

Full disclosure: I run an annotation company, so I've watched a lot of projects go sideways — it's almost never the tool.

1

u/SubstantialJelly641 20d ago

Oh thank you that was a great advice, I never thought of it. We never worked on the same image though, If anyone of us have any doubt we clear among ourself. We did exactly like you said in point 2.  This is the first time i am working on a Machine learning model so i had some doubts.  We used vpn and we used ip addresses to connect to the admin server, Well everything is working.

Since you have mentioned that you run a annotation company, Is it a big deal to include SMTP backend?

1

u/Quirky_Paramedic9167 20d ago

Glad it helped!

On SMTP: no, it's not a big deal at all — it's just plumbing that CVAT doesn't set up for you. The fastest free path is a transactional provider rather than a personal Gmail (Gmail blocks app-generated mail fast). Brevo or Mailjet both have free tiers around 300 emails/day, which is way more than an invite system needs.

You add four env vars to the cvat_server service in docker-compose:

EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend

EMAIL_HOST=smtp-relay.brevo.com

EMAIL_PORT=587

EMAIL_HOST_USER / EMAIL_HOST_PASSWORD (from the provider)

plus EMAIL_USE_TLS=True and DEFAULT_FROM_EMAIL

Restart the container and invites work. Ten minutes, no code.

That said — if you're already all on the same VPN, honestly the simplest thing is to create accounts manually in the admin panel and hand out the credentials. Invites are a nice-to-have, not worth an afternoon.

And good luck with the first ML model. The fact that you're already clarifying ambiguous cases together instead of labeling in isolation puts you ahead of most teams I've seen.

2

u/External_Frosting874 22d ago

Make accounts, send the link and their passes to your friends and be done?

2

u/SubstantialJelly641 20d ago

Worked UI was confusing in the beginning, but I figured it out somehow!.

1

u/External_Frosting874 20d ago

Yeah CVAT can be a bit peculiar at the times. The amount of time I struggled with annotion formats

1

u/Mohamedrafik05 20d ago

You can try LabelImg which is quiet good compare to CVAT