Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Predict annotations locally and upload vs upload images and predict in CVAT #2060

Closed
davodogster opened this issue Aug 20, 2020 · 7 comments
Closed
Labels
question Further information is requested

Comments

@davodogster
Copy link

davodogster commented Aug 20, 2020

Hi CVAT Team, I'm a big fan of the model assisted annotation and have been converting my TFOD1 models to OpenVINO to use them for assisted annotation in a previous version of CVAT.

However, you have the upload annotations feature which means that if we can get our data into the correct format, e.g Pascal VOC or YOLO, and put it in a zip file then we can upload model assisted annotations from absolutely any object detection model that we can run locally.

Uploading annotations works with both Pascal and YOLO - I've tried it by dumping annotations from CVAT and then re-uploading them. I've noticed that the YOLO ZIP folder must be called "data" whereas the Pascal VOC folder can be called anything. Have also discovered that if you select upload pascal and chose YOLO format annotations, it doesn't throw any error (also doesn't work of course). I'm not using the latest version though - I installed CVAT earlier in the year.

Do you have a preference over one of these approaches and have you thought about conversion scripts (e.g raw preds to pascal voc format) for when people predict bboxes and categories outside CVAT?

Cheers,
Sam

@zhiltsov-max
Copy link
Contributor

Hi. I'm not sure I understood the question correctly, but there is no preference - you can use any method, which fits your case best:

  • You can upload annotations obtained by any method using one of the supported formats
  • You can upload images, a model, and run auto annotation inside CVAT

If you are interested in dataset conversion tools, take a look at our Datumaro project, which can convert between many formats and do other useful things.

@davodogster
Copy link
Author

Hi. I'm not sure I understood the question correctly, but there is no preference - you can use any method, which fits your case best:

  • You can upload annotations obtained by any method using one of the supported formats
  • You can upload images, a model, and run auto annotation inside CVAT

If you are interested in dataset conversion tools, take a look at our Datumaro project, which can convert between many formats and do other useful things.

Thanks, Yes I've done both of those bullet points before.
When I talk about conversion scripts I'm talking about converting raw model output with the bounding boxes, scores, and class labels from TFOD into Pascal and/or YOLO annotations which can be uploaded to CVAT which gives model assisted annotation without the trouble (we used to have to convert our model to OpenVINO format for CVAT) of uploading a model to CVAT.

@zhiltsov-max
Copy link
Contributor

zhiltsov-max commented Aug 24, 2020

I think, there is no specific integration with TFOD yet, however, there is an opportunity to implement it after other TF models like this, please check if it could help.

@davodogster
Copy link
Author

I think, there is no specific integration with TFOD yet, however, there is an opportunity to implement it after other TF models like this, please check if it could help.

Looks good but I don't know anything about serverless functions. I think some documentation or a tutorial for classical TFOD models like faster RCNN, mask RCNN would help CVAT users.

@zhiltsov-max
Copy link
Contributor

@nmanovic, please, answer here.

Basically, you need to put TFOD into a Docker container and provide a simple wrapping script to invoke inference with TFOD for a single image.

@nmanovic
Copy link
Contributor

@davodogster , I agree that we need a tutorial how to implement a serverless function. For now you can just look at the code as an example: https://github.com/opencv/cvat/tree/develop/serverless/tensorflow/faster_rcnn_inception_v2_coco/nuclio

Don't hesitate ask a specific question. I will be glad to answer.

@nmanovic nmanovic added the question Further information is requested label Aug 27, 2020
@bsekachev
Copy link
Member

Tutorial is in a progress #3124

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants