This project contains python code for testing real time object detection on Jetson nano using smartphone camera input The IP Webcam app was used on smartphone as simple camera webserver. (https://play.google.com/store/apps/details?id=com.pas.webcam&hl=nl&gl=US)
Pretrained model backbones from tf.keras.applications and Tensorflow Hub are used Part1 --> Resnet50v2 with Imagenet weights (1000 classes) (image input: 224x224) Part2 --> Resnet Centernet MSCOCO dataset (100 classes) (image input: 512x512) These are converted to Tensorflow saved model format, ONNX, Tensorflow Lite.
- No optimization or quantization was done
- Adding a TensorRT engine is advised to get best performance (ONNX-TensorRT)
- tf.keras.applications model is adaptable
- The chosen Tensorflow Hub model is not adaptable (User object)
- The message queues between threads are global
- Object detection api (https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/install.html#tensorflow-object-detection-api-installation)
Model Conversion to ONNX in commandline: \path\to\python\python.exe -m tf2onnx.convert --saved-model \path\to\model\saved_models\objectResnetPretrained --output ResnetPretrained.onnx --opset 12 --verbose
Socket for transmitting inference result from Jetson Nano to desktop (Nano is headless) should be in separate thread