Object Detection training with downloaded images

Hello! have been following the Hello AI World video series on youtube very closely to teach myself about image classification and object detection for a University project on the Jetson Nano 2GB board.

Currently I am trying to train an object detection network to detect power lines and towers. My problem is I want to train the network with user defined boundary boxes like the Data Capture Control tool in “S3E5 - Training Object Detection Models”. However instead of using the live camera feed to capture images and draw to boundaries for training, testing and validation I want to use a set of images I have scrubbed google images for and have placed into a folder onto the Jetson.

Any help with how I use the ‘Data Capture Control’ tool for application on existing downloaded images would be awesome. Perhaps a different command? For example instead of ‘camera-capture csi://0’ (I have a raspberry pi v2 camera module), is there a command such as ‘images-capture’ that is valid where I can access my downloaded images?

Any help would be greatly appreciated

Hi @samlockie, glad that you have been checking out the series!

To annotate sets of images that you already have saved and draw the bounding boxes on them, I recommend using the the CVAT tool. You can run this for free in the cloud and don’t need to install it onto your Jetson. After you are done annotating, just export your dataset in Pascal VOC format. You will also want to create a labels.txt for it.

Just download the exported dataset from CVAT to your Jetson, unzip it, and add your labels.txt - then it should be ready to use for training.

Hi @dusty_nv thanks for the feedback, that seems to be exactly what I need.

I have encountered a small problem when exporting in Pascal format, error: "Request failed with status code 500. “AssertionError: Image info differs for item ‘power-lines’\n”

My annotated images and XML file does however export fine when exported in CVAT format, can I use this on the Jetson for object detection training instead?

Hmm I haven’t seen an error like that from CVAT before, but if it still let you download the dataset that you can give it a try. After you extract the dataset on your Jetson, you will want to create a labels.txt file (with the class names, one per line) in the root directory of your dataset, because CVAT doesn’t create the labels.txt for you.

Then you would train it the same way as here: