1

I'm trying to add a new class to the ms_coco_model (having 90 classes) in tensorflow object detection model and run the training set for the same. I'm using the pre-trained model checkpoint: "ssd_mobilenet_v1_coco_checkpoint" to speed up the training step.

I followed the blog https://towardsdatascience.com/how-to-train-your-own-object-detector-with-tensorflows-object-detector-api-bec72ecfe1d9, and this works perfectly. As it runs training step only on raccoon dataset having 1 class in the .pbtxt file. Outputs are as expected and able to detect "only" the raccoon in a given input file.

What I want to achieve is, to be able to detect raccoon as well as other objects in given input file. I followed the below approach :

  1. Converted raccoon annotations .xml to .json format (same as ms_coco dataset)
  2. Added raccoon images and annotations to ms_coco images and annotations files
  3. Ran the create_tfrecord script to generate tfrecord for the combined ms_coco + raccoon data, for training step
  4. Updated .pbtxt file and added raccoon class with id: 91
  5. Started training step with pre-trained model ssd_mobilenet_v1_coco_checkpoint

But even after running the training for ~2k steps, I'm not able to achieve expected output.

Is this approach correct to add a new class data to existing data model? Am I missing here anything?

Agaz Wani
  • 5,514
  • 8
  • 42
  • 62
  • Since the dataset is now very large (MS COCO itself is large), it needs to train for more than 2k steps. Can you share graphs of losses or run eval and share the results. – Anand C U Apr 24 '18 at 09:35

0 Answers0