jetpack6.2 & install torch & yolov12
- YOLOv12がリリースされたみたいです.jetson orin nanoで試したいとおもいました.
- Jetpack6.1のときはこことここ見ながらインストールしてたけど,6.2用のtorchがありません.
- デフォルトだと
python3 Python 3.10.12 (main, Nov 6 2024, 20:22:13) [GCC 11.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> torch.cuda.is_available() False
Install torch
まずは環境を整えます.
- Jetson orin nano super install pytorch
- jp6/cu126 index
-
https://qiita.com/Romihi/items/3c3e9ac7e4fe5b9adccc
python3 Python 3.10.12 (main, Nov 6 2024, 20:22:13) [GCC 11.4.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import torch >>> torch.cuda.is_available() True
これでtorch, torchvisionがインストールできました.
YOLOv12を動かす
- このエラーがずっと出てて治リませんでした.torchとtorchvisionのバージョンの違いが原因だったかもしれません.インストールし直したら治りました.
RuntimeError: operator torchvision::nms does not exist
- せっかくjetsonなのでtensorrtを使います.modelの変換は
model = YOLO("yolo12n.pt") # model = YOLO("yolov12n.pt") githubのreadme通りにyolov12nとするとだめ model.export(format="engine")
- 計算リソースはクロックを引き上げます.
sudo jetson_clocks
他のバージョンと実行結果比較
- 信頼度しきい値0.3で実行
- 検出されるような物体は3つくらいの環境をcsi cameraから画像を取り込んで推論
- yolo11nでは約36imgs/s, 12と比べて精度低い,変なクラスが検出された,しきい値次第?
- yolo12nでは約30imgs/s, 11と比べて精度高い,しきい値次第?
- yolo12n-pose, segなどの学習済みモデルがなぜか使えない.
- issue > https://github.com/ultralytics/ultralytics/issues/19352
- そもそも学習済みモデルが公開されていないようです.
- ultralyticsのyolo12のページにはサポートされていると書いていますが.
感想
これまでyolo11を使っていましたが,12が出たとのことで試しました.
これまでのコードを変えずにかんたんに試すことができました.
速度を取るなら11がいいかもしれません.
To Do
- yolo12n-pose, segを試す
- trt以外のモデルでも実行できるようにする
参考リンク
- 論文,https://www.arxiv.org/abs/2502.12524
- YOLO12 -Ultralytics YOLO, https://docs.ultralytics.com/ja/models/yolo12/
- YOLOv12: Attention-Centric Real-Time Object Detectors, https://github.com/sunsmarterjie/yolov12
- 実装したコード,