YOLOXのPythonでのONNX、TensorFlow-Lite推論サンプルです。
ONNX、TensorFlow-Liteに変換したモデルも同梱しています。変換自体を試したい方はYOLOX_PyTorch2TensorFlowLite.ipynbを使用ください。
YOLOX-ONNX-DEMO.mp4
- Pytorch 1.9.0 or later
- apex 0.1 or later
- pycocotools 2.0 or later
- OpenCV 3.4.2 or later
- onnxruntime 1.5.2 or later
デモの実行方法は以下です。
python sample_onnx.py
- --device
カメラデバイス番号の指定
デフォルト:0 - --movie
動画ファイルの指定 ※指定時はカメラデバイスより優先
デフォルト:指定なし - --image
画像ファイルの指定 ※指定時はカメラデバイスや動画より優先
デフォルト:指定なし - --width
カメラキャプチャ時の横幅
デフォルト:960 - --height
カメラキャプチャ時の縦幅
デフォルト:540 - --model
ロードするモデルの格納パス
デフォルト:model/yolox_nano.onnx - --input_shape
モデルの入力サイズ
デフォルト:416,416 - --score_th
クラス判別の閾値
デフォルト:0.3 - --nms_th
NMSの閾値
デフォルト:0.45 - --nms_score_th
NMSのスコア閾値
デフォルト:0.1 - --with_p6
Large P6モデルを使用するか否か
デフォルト:指定なし
python sample_tlite.py
- --device
カメラデバイス番号の指定
デフォルト:0 - --movie
動画ファイルの指定 ※指定時はカメラデバイスより優先
デフォルト:指定なし - --image
画像ファイルの指定 ※指定時はカメラデバイスや動画より優先
デフォルト:指定なし - --width
カメラキャプチャ時の横幅
デフォルト:960 - --height
カメラキャプチャ時の縦幅
デフォルト:540 - --model
ロードするモデルの格納パス
デフォルト:model/yolox_nano_float16_quantize.tflite - --input_shape
モデルの入力サイズ
デフォルト:416,416 - --score_th
クラス判別の閾値
デフォルト:0.3 - --nms_th
NMSの閾値
デフォルト:0.45 - --nms_score_th
NMSのスコア閾値
デフォルト:0.1 - --with_p6
Large P6モデルを使用するか否か
デフォルト:指定なし
高橋かずひと(https://twitter.com/KzhtTkhs)
YOLOX-ONNX-TFLite-Sample is under Apache-2.0 License.
サンプル動画はNHKクリエイティブ・ライブラリーのイギリス ウースターのエルガー像を使用しています。