microsoft / VoTT

Visual Object Tagging Tool: An electron app for building end to end Object Detection Models from Images and Videos.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Active learning not working with custom model

DanielStraussKritzinger opened this issue · comments

Describe the bug
Active learning fails to load custom model and provides no feedback with regard to the possible cause.

To Reproduce
Steps to reproduce the behavior:

1.We trained a custom model (faster rcnn),
2. Converted the saved_model using tensorflowjs_wizard
3. Manually create the classes.json file just like the COCO SSD model
4. Changed the model path to the customized models directory

  1. then keep getting a "Error loading active learning model"

Expected behavior
From the threads that we have read, this is suppose to work, the model should be able to load and predict.

Desktop (please complete the following information):

  • OS: Ubuntu
  • Version 20.04.2 LTS

Additional context
This is a common problem as very little documentation on setting up the active learning models exists, something which has been asked for before.

Do you have any documentation about using active learning in VoTT? If you do, can you send me, please? I'm not finding anything about it.

I solved my problem by making use of ImgLabel and writing a small script which uses a object detection model output and writes it out in the same xml format and directory as required by ImgLabel.

This essentially works as an active learning pipeline as it auto annotates all the images which then only requires review by an annotator.

If you have any more questions let me know!

@DanielStraussKritzinger can you share the code please?

thank you

Are there any updates on this issue. I'm running into the same problem. compared my model.json with the one contained in this repo, and cannot find any obvious differences. Is it possible that the issue is with the version of TF? I used 2.4. Maybe the binary format has chanced since November 2020?

Vott is a dead project with very little people working on it. Honestly, check out ImgLabel. When labelling, it outputs its labelled annotations to a specified file in xml format. This output file both stores outputted annotations, but is also used to read into the application the annotations made. This thus means that you can manually add annotations to the xml file or you can use a model to predict the annotations and then write the output to the xml file. I did this and it works perfectly. You thus label a few images, train your model on those images, run the trained model on the images (which automatically also edits the xml files), check the newly annotated images for anything which is missing or wrong on imglabel, repeat...

I see, thanks. I had specific constraints that lead me to use VoTT (e.g. Azure blob storage support). Other options that directly support active learning are CoCo Annotator and Prodigy. https://github.com/jsbroks/coco-annotator and https://prodi.gy/