Stop Sign Detection
This part utilize a Google Coral accelerator and a pre-trained object detection model by Coral project to perform stop sign detection. If the donkey car see a stop sign, it will override the pilot/throttle
to 0. In addition, a bounding box will be annotated to the cam/image_array
.
Requirement
To use this part, you must have:
How to use
Put the following lines in myconfig.py
STOP_SIGN_DETECTOR = True
STOP_SIGN_MIN_SCORE = 0.2
STOP_SIGN_SHOW_BOUNDING_BOX = True
Install Edge TPU dependencies
Follow the Coral Edge TPU get started instructions to install the necessary software. For the RaspberryPi follow the Linux instructions.
The stop sign detector uses a pre-compiled model, so we only need the inference runtime to make this work. However, if you are creating your own model then you will need the Edge TPU Compiler on your RaspberryPi (or Linux laptop if you are training on that). Note that the compiler only runs on Linux.
Detecting other objects
Since the pre-trained model are trained on coco, there are 80 objects that the model is able to detect. You can simply change the STOP_SIGN_CLASS_ID
in stop_sign_detector.py
to try.
Accuracy
Since SSD is not good at detecting small objects, the accuracy of detecting the stop sign from far away may not be good. There are some ways that we can make enhancement but this is out of the scope of this part.
Getting this to work without the Coral Edge TPU
There is an issue in the Github for making this work without the Coral Edge TPU. If you get this working please submit a pull request.