Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
src/main/java
.gitignore
README.md
download.sh
pom.xml

README.md

Object Detection in Java

Example of using pre-trained models of the TensorFlow Object Detection API in Java.

Quickstart

  1. Download some metadata files:

    ./download.sh
    
  2. Download a model from the object detection API model zoo. For example:

    mkdir -p models
    curl -L \
     http://download.tensorflow.org/models/object_detection/ssd_inception_v2_coco_2017_11_17.tar.gz \
    | tar -xz -C models/
    
  3. Have some test images handy. For example:

    mkdir -p images
    curl -L -o images/test.jpg \
      https://pixnio.com/free-images/people/mother-father-and-children-washing-dog-labrador-retriever-outside-in-the-fresh-air-725x483.jpg
    
  4. Compile and run!

    mvn -q compile exec:java \
      -Dexec.args="models/ssd_inception_v2_coco_2017_11_17/saved_model labels/mscoco_label_map.pbtxt images/test.jpg"
    

Notes

  • This example demonstrates the use of the TensorFlow SavedModel format. If you have TensorFlow for Python installed, you could explore the model to get the names of the tensors using saved_model_cli command. For example:

    saved_model_cli show --dir models/ssd_inception_v2_coco_2017_11_17/saved_model/ --all
    
  • The file in src/main/object_detection/protos/ was generated using:

    ./download.sh
    protoc -Isrc/main/protobuf --java_out=src/main/java src/main/protobuf/string_int_label_map.proto
    

    Where protoc was downloaded from https://github.com/google/protobuf/releases/tag/v3.5.1

You can’t perform that action at this time.