nightpoison
NES Member
Hello all,
I’m looking for some help with a new area of development I’ve been working with. I’m brand new to the Deep Learning field. I’ve been assigned some projects at work, and have being using NVIDIA DIGITS, which in earnest dumbs down the process. The newest project needs me to use Caffe directly, my end goal is to train a network model that will be used for vehicle detection. The model description I’m using is SSD Mobilenet, as the end product will be running on a Raspberry Pi 3 or something similar, as a Movidius NCS will be handling the brunt of the workload for the detection. I already have my software running on the Pi, with the NCS, and its running about 7fps, Which I’m good with for my current needs. I’m using a pre-trained model taken from NCAPPZOOV2 for the NCS. I would like to use that pretrained model to finetune it for only “Vehicles”. Right now it does cars, buses, people, bikes, and 16 other items for a total of 20. I just want one object, “Vehicle”.
I would like to use the SSD mobile net model found in the NCAPPZOO as its already proven to be able to compile for the NCS. The prototxt file is already configured for the NCS compiler. I have a couple questions.
When I was working with DIGITS it was very simple and straight forward. I would take my images and using annotation software like labelIMG, I would create a directory of .xml files with the annotation information. I would then convert the .xml files to .txt files, one for each image, each with a full list of all the objects I wanted labeled within a single image. In the end the directories would look something like this.
- train
- - - images
- - - - - 0.png
- - - - - …
- - - - - 99.png
- - - labels
- - - - - 0.txt
- - - - - …
- - - - - 99.png
- val
- - - images
- - - - - 100.png
- - - - - …
- - - - - 130.png
- - - labels
- - - - - 100.txt
- - - - - …
- - - - - 130.txt
The annotation .txt files would look like this
Vehicle 0.00 0 0.00 1171.00 142.00 1231.00 203.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
…
Vehicle 0.00 0 0.00 1110.00 100.00 1177.00 175.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
I know that DIGITS use Caffe, but specifically NVCaffe that is developed by Nvidia. So, while they are similar they are different. The GUI for DIGITS simplifies things, but when you switch to vanilla cafe it throws you for a loop. I don’t understand what the difference is, documentation on Caffe seems to be very poor, compared to say TensorFlow. I was able to find very clear documentation on TensorFlow, but it seems all the documentation for Caffe is geared toward image classification and not Detection. Does anyone know of clear documentation for setting up the dataset and training a new model off of a pretrained model for caffe?
I know to retrain I need the solver and weights. I need a dataset with properly formatted annotations, how to annotate them I’m not sure. I also need to make modifications to the solver to identify I’m only looking for 1 output as opposed to the 20 in the original.
If you have experience with Caffe, Movidius, Mobilenet, etc, please let me know. I could really use some help.
Michael
I’m looking for some help with a new area of development I’ve been working with. I’m brand new to the Deep Learning field. I’ve been assigned some projects at work, and have being using NVIDIA DIGITS, which in earnest dumbs down the process. The newest project needs me to use Caffe directly, my end goal is to train a network model that will be used for vehicle detection. The model description I’m using is SSD Mobilenet, as the end product will be running on a Raspberry Pi 3 or something similar, as a Movidius NCS will be handling the brunt of the workload for the detection. I already have my software running on the Pi, with the NCS, and its running about 7fps, Which I’m good with for my current needs. I’m using a pre-trained model taken from NCAPPZOOV2 for the NCS. I would like to use that pretrained model to finetune it for only “Vehicles”. Right now it does cars, buses, people, bikes, and 16 other items for a total of 20. I just want one object, “Vehicle”.
I would like to use the SSD mobile net model found in the NCAPPZOO as its already proven to be able to compile for the NCS. The prototxt file is already configured for the NCS compiler. I have a couple questions.
When I was working with DIGITS it was very simple and straight forward. I would take my images and using annotation software like labelIMG, I would create a directory of .xml files with the annotation information. I would then convert the .xml files to .txt files, one for each image, each with a full list of all the objects I wanted labeled within a single image. In the end the directories would look something like this.
- train
- - - images
- - - - - 0.png
- - - - - …
- - - - - 99.png
- - - labels
- - - - - 0.txt
- - - - - …
- - - - - 99.png
- val
- - - images
- - - - - 100.png
- - - - - …
- - - - - 130.png
- - - labels
- - - - - 100.txt
- - - - - …
- - - - - 130.txt
The annotation .txt files would look like this
Vehicle 0.00 0 0.00 1171.00 142.00 1231.00 203.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
…
Vehicle 0.00 0 0.00 1110.00 100.00 1177.00 175.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
I know that DIGITS use Caffe, but specifically NVCaffe that is developed by Nvidia. So, while they are similar they are different. The GUI for DIGITS simplifies things, but when you switch to vanilla cafe it throws you for a loop. I don’t understand what the difference is, documentation on Caffe seems to be very poor, compared to say TensorFlow. I was able to find very clear documentation on TensorFlow, but it seems all the documentation for Caffe is geared toward image classification and not Detection. Does anyone know of clear documentation for setting up the dataset and training a new model off of a pretrained model for caffe?
I know to retrain I need the solver and weights. I need a dataset with properly formatted annotations, how to annotate them I’m not sure. I also need to make modifications to the solver to identify I’m only looking for 1 output as opposed to the 20 in the original.
If you have experience with Caffe, Movidius, Mobilenet, etc, please let me know. I could really use some help.
Michael