OpenSource-Hub

supervision

ライブラリ

roboflow/supervision

再利用可能なコンピュータビジョンツール、検出、追跡、アノテーションをカバーします。

概要

Supervisionは、モデルに依存しないコンピュータビジョンツールライブラリであり、データの読み込み、画像アノテーション、オブジェクト追跡をサポートします。COCO、Pascal VOC、YOLOなどのフォーマットに対応し、Ultralytics、Transformersなどのライブラリと統合されています。迅速なプロトタイピングとデプロイに適しています。

README プレビュー

\n  \n    \n      \n    \n  \n\n\n\n[notebooks](https://github.com/roboflow/notebooks) | [inference](https://github.com/roboflow/inference) | [autodistill](https://github.com/autodistill/autodistill) | [maestro](https://github.com/roboflow/multimodal-maestro)\n\n\n\n[](https://badge.fury.io/py/supervision)\n[](https://pypistats.org/packages/supervision)\n[](LICENSE.md)\n[](https://badge.fury.io/py/supervision)\n[](https://codecov.io/gh/roboflow/supervision)\n\n[](https://snyk.io/advisor/python/supervision)\n[](https://colab.research.google.com/github/roboflow/supervision/blob/main/demo.ipynb)\n[](https://huggingface.co/spaces/Roboflow/Annotators)\n[](https://discord.gg/GbfgXGJ8Bk)\n\n\n    \n  \n\n\n\n## 👋 hello\n\n**We are your essential toolkit for computer vision.** From data loading to real-time zone counting, we provide the building blocks so you can focus on building applications around your models. 🤝\n\n## 💻 install\n\nPip install the supervision package in a\n[**Python>=3.9**](https://www.python.org/) environment.\n\n```bash\npip install supervision\n```\n\nRead more about conda, mamba, and installing from source in our [guide](https://roboflow.github.io/supervision/).\n\n## 🔥 quickstart\n\n### models\n\nSupervision was designed to be model agnostic. Just plug in any classification, detection, or segmentation model. For your convenience, we have created [connectors](https://supervision.roboflow.com/latest/detection/core/#detections) for the most popular libraries like Ultralytics, Transformers, MMDetection, or Inference. Other integrations, like `rfdetr`, already return `sv.Detections` directly.\n\nInstall the optional dependencies for this example with `pip install pillow rfdetr`.\n\n```python\nimport supervision as sv\nfrom PIL import Image\nfrom rfdetr import RFDETRSmall\n\nimage = Image.open(...)\nmodel = RFDETRSmall()\ndetections = model.predict(image, threshold=0.5)\n\nlen(detections)\n# 5\n```\n\n\n👉 more model connectors\n\n- inference\n\n    Ru

FAQ (5)

トラブル対応
物体検出において、Average Precision (AP) が単一のIoU閾値におけるPrecisionと異なるのはなぜですか?

Average Precision (AP) と固定 IoU 閾値での Precision は異なります。なぜなら、AP は Precision-Recall 曲線の下の面積であり、IoU 閾値を固定(例:IoU=0.5)したまま信頼度スコアの閾値を変化させて計算されるからです。単一の IoU 閾値での Precision は、その曲線上の一点(選択された信頼度と IoU における TP/(TP+FP))です。AP はすべての再現率レベルにわたって精度を集約し、検出器の性能の要約を与えるのに対し、単一閾値の Precision は一つの動作点での性能を反映します。これが、たとえ単一クラスの問題でも両者が異なり得る理由です。

参照 Issue #1709
トラブル対応
なぜultralyticsモデルは、Supervision InferenceSlicerで定義された512x512のスライスではなく、画像全体に対して推論を行うのですか?

Ultralyticsは、トレーニング時に使用されたimgszに入力のサイズを変更します。モデルがimgsz=2048でトレーニングされた場合、512x512スライスを推論前に2048x2048にアップスケールします。修正するには、モデルに希望するスライスサイズを渡します: result = model(image, device='cuda', imgsz=512)[0]。imgszがInferenceSlicerで設定されたslice_whと一致することを確認してください。

参照 Issue #1373
トラブル対応
同じクラスに複数のセグメンテーションマスクがあるCOCOデータセットをsupervisionで読み込む際に発生する 'ValueError: setting an array element with a sequence' の修正方法は?

このエラーは、supervision 0.20.0 において、COCOアノテーションが単一オブジェクトに対して複数のセグメンテーションエントリを持つ場合に発生します。一時的な回避策として、Ultralyticsのgeneral_json2yolo.pyからmerge_multi_segment()関数を適用し、読み込み前に複数のセグメンテーションマスクをマージしてください。恒久的な修正については、issue #1209を追跡してください。

参照 Issue #1209
トラブル対応
YOLOデータセットをsupervisionのas_cocoでCOCOに変換する際、アノテーションに重複したIDが生じるのはなぜですか?

これは既知の問題で、各split(train、valid、test)が独自のアノテーションIDシーケンスを生成するため、衝突が発生します。回避策:すべてのsplitを1つのYOLOデータセットにマージし、as_cocoを使用してマージしたデータセットをCOCOに変換した後、連続したアノテーションIDを維持しながらCOCOデータセットをサブセットに再分割します。

参照 Issue #768
ハウツー
condaを使ってsupervision 0.26.0をインストールする方法は?

supervision 0.26.0 が conda-forge で利用可能になりました。次のコマンドでインストールしてください: conda install -c conda-forge supervision=0.26.0

参照 Issue #1930