Skip to content

Latest commit

 

History

History
89 lines (66 loc) · 3.63 KB

README.md

File metadata and controls

89 lines (66 loc) · 3.63 KB

NanoNets Object Detection Golang Sample

Golang Sample Python Sample Node.js Sample

Tracking the Millenium Falcon

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. Watch the video

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 .


Build an Object Detector for the Millenium Falcon

Note: Make sure you have go installed on your system if you don't. Install it from: https://golang.org/doc/install

Step 1: Clone the Repo

cd $GOPATH/src
git clone https://github.com/NanoNets/object-detection-sample-golang.git
cd object-detection-sample-golang

Step 2: Get your free API Key

Get your free API Key from http://app.nanonets.com/user/api_key

Step 3: Set the API key as an Environment Variable

export NANONETS_API_KEY=YOUR_API_KEY_GOES_HERE

Step 4: Create a New Model

go build object-detection-sample-golang/code/create-model && ./create-model

_Note: This generates a MODEL_ID that you need for the next step

Step 5: Add Model Id as Environment Variable

export NANONETS_MODEL_ID=YOUR_MODEL_ID

_Note: you will get YOUR_MODEL_ID from the previous step

Step 6: Upload the Training Data

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

Step 7: Train Model

Once the Images have been uploaded, begin training the Model

go build object-detection-sample-golang/code/train-model && ./train-model

Step 8: Get Model State

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

Step 9: Make Prediction

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.