DUICUO

よく使われるコンピュータービジョンツールのコレクション

背景紹介

ビジョンエンジニアの日常業務では、コンピュータービジョンツールの開発にかなりの時間を費やしますが、これらのツールはしばしば繰り返し発生する問題に悩まされています。この問題に対処するために、既存のコードを修正したり再利用したりすることがよくありますが、その結果、カスタマイズ性の欠如、コード構造の乱れによる後々のメンテナンスの困難、新しいデータセットへの適応性の欠如など、新たな問題が発生する可能性があります。これらの問題は、非常に厄介な問題です。

本日は、GitHubのオープンソースプロジェクト「roboflow/supervision」をおすすめします。このプロジェクトはGitHubで8,100以上のスターを獲得しており、一言で言えば「再利用可能なコンピュータービジョンツールを開発しています」ということです。

プロジェクト紹介

Supervisionプロジェクトの核となる目的は、再利用可能なコンピュータービジョンツールの作成を支援することです。ハードドライブからデータセットをロードしたり、画像や動画に検出結果を描画したり、ある領域内の検出結果の数を計算したりする必要がある場合でも、このプロジェクトを活用できます。さらに、Supervisionはモデルに依存しない設計となっています。分類、検出、またはセグメンテーションモデルを接続するだけで使用できます。

このプロジェクトは、高度にカスタマイズ可能な幅広いタグツールも提供しており、ユースケースに最適な視覚化を適用できます。さらに、このプロジェクトライブラリを参照することで、データセットの読み込み、分割、結合、保存のためのツールスイートを利用できます。

さらに、このプロジェクトでは関連するチュートリアルもいくつか提供しています。

使い方

Python 3.8 以降の環境では、次のコマンドを使用してこのパッケージをインストールできます。

 pip install supervision

その後、任意の分類、検出、またはセグメンテーションモデルを使用できます。Ultralytics、Transformers、MMDetectionなど、最も人気のあるライブラリ用に作成したコネクタを使用する必要がある場合は、次のコードを参照してください。

 >>> import cv2 >>> import supervision as sv >>> from ultralytics import YOLO >>> image = cv2.imread(...) >>> model = YOLO('yolov8s.pt') >>> result = model(image)[0] >>> detections = sv.Detections.from_ultralytics(result) >>> len(detections) 5

以下はこのプロジェクトのスタートレンドチャートです(プロジェクトのアクティビティレベルを表します)。

プロジェクトの詳細については、次のリンクをご覧ください。

オープンソースプロジェクトのアドレス: https://github.com/roboflow/supervision

オープンソースプロジェクトの作者: roboflow

プロジェクトに参加したメンバーは以下の通りです。

私たちをフォローして、興味深いオープンソース プロジェクトを一緒に探索しましょう。