Golang Sample | Python Sample | Node.js Sample |
---|---|---|
Images and annotations taken from - https://github.com/bourdakos1/Custom-Object-Detection
Images consists of frames taken from a clip from Star Wars: The Force Awakens.
Annotations are present for each frame and have the same name as the image name. You can find the example to train a model in golang and node, by updating the api-key and model id in corresponding file. There is also a pre-processed json annotations folder that are ready payload for nanonets api, the script used is node/xml-to-json.js .
Note: Make sure you have go installed on your system if you don't. Install it from: https://golang.org/doc/install
cd $GOPATH/src
git clone https://github.com/NanoNets/object-detection-sample-golang.git
cd object-detection-sample-golang
Get your free API Key from http://app.nanonets.com/user/api_key
export NANONETS_API_KEY=YOUR_API_KEY_GOES_HERE
go build object-detection-sample-golang/code/create-model && ./create-model
_Note: This generates a MODEL_ID that you need for the next step
export NANONETS_MODEL_ID=YOUR_MODEL_ID
_Note: you will get YOUR_MODEL_ID from the previous step
The training data is found in images
(image files) and annotations
(annotations for the image files)
go build object-detection-sample-golang/code/upload-training && ./upload-training
Once the Images have been uploaded, begin training the Model
go build object-detection-sample-golang/code/train-model && ./train-model
The model takes ~2 hours to train. You will get an email once the model is trained. In the meanwhile you check the state of the model
go build object-detection-sample-golang/code/model-state && ./model-state
Once the model is trained. You can make predictions using the model
go build object-detection-sample-golang/code/prediction
./prediction PATH_TO_YOUR_IMAGE.jpg
Sample Usage:
./prediction ./images/videoplayback0051.jpg
Note the golang sample uses the comverted json instead of the xml payload for convenience purposes, hence it has no dependencies.