Skip to content

Update stop sign detector to run without EdgeTPU #953

@Ezward

Description

@Ezward

The StopSignDetector runs a canned version of mobilenet for the EdgeTPU. This means that anyone that wants to use the stop sign detector must have an EdgeTPU. We should generalize the stop sign detector so it can also run the model on an RPi or a Nano.

Current code is using this model:
https://github.com/google-coral/edgetpu/raw/master/test_data/ssd_mobilenet_v2_coco_quant_postprocess_edgetpu.tflite
That model will recognize a stop sign without any additional training.

So we could use that same ssd mobilenet v2 coco in a more generic tflite variation, then modify the code run it on the RPi; see https://github.com/google-coral/edgetpu/blob/master/test_data/ssd_mobilenet_v2_coco_quant_postprocess.tflite.

See https://medium.datadriveninvestor.com/mobile-object-detector-with-tensorflow-lite-9e2c278922d0
and https://www.tensorflow.org/lite/examples/object_detection/overview for some related info.

Further, we could then compile the .tf file using the Nvidia compiler to get a file that will run fast on the Nano's GPU.

  1. Generalize the code so it can run either the EdgeTPU version or the CPU (tflite) version.
  2. Add configuration to choose either EdgeTPU or CPU
  3. Add support for JetsonNano GPU;
    • compile the model to an optimized version for the Jetson;
    • modify the code to enable it if on the Nano.
    • Add configuration to select GPU version

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions