はじめに
YOLOEは清華大学ソフトウェア学院のマルチメディア・インテリジェンス・グループ(THU-MIG)によって開発されたオープンソースプロジェクトで、正式名称は「You Only Look Once Eye」。PyTorchフレームワークをベースにしており、以下のグループに属している。 YOLO あらゆるオブジェクトをリアルタイムで検出し、セグメンテーションするシリーズの拡張版。GitHubでホスティングされており、このプロジェクトの中心的な特徴は、3つのモードをサポートしていることです:テキストによるキューイング、ビジュアルによるキューイング、そしてプロンプトなしの検出です。ユーザーはテキストや画像でターゲットを指定することもできるし、モデルが自動的に1200以上のオブジェクトを認識することもできる。公式データによると、YOLOEはLVISデータセットにおいてYOLO-Worldv2より1.4倍高速で、高い精度を維持しながら3倍安価に学習できる。また、このモデルは、追加のオーバーヘッドなしにYOLOv8またはYOLO11にシームレスに変換できるため、複数のデバイスへの展開に適しています。
機能一覧
- リアルタイムのオブジェクト検出をサポートし、画像やビデオ内のターゲットをすばやく識別します。
- オブジェクトの輪郭を正確に描くためのインスタンス分割機能を提供します。
- テキストプロンプト検出をサポートし、ユーザーは検出対象を指定するためにテキストを入力する。
- 視覚的な手がかりを検出し、写真を参照しながら類似の物体を認識する。
- 1200以上の一般的なオブジェクトを自動的に検出するノー・プロンプト・モードを内蔵。
- モデルはYOLOv8/YOLO11で再パラメータ化可能 推論のオーバーヘッドはない。
- さまざまな性能要件をサポートするために、事前に訓練されたさまざまなモデル(S/M/Lスケール)を提供します。
- 開発者が修正・拡張できるオープンソースのコードとドキュメント。
ヘルプの使用
YOLOEの使い方は、インストールと操作の2つに分かれます。以下は、ユーザーが簡単に使い始められるようにするための詳細な手順です。
設置プロセス
- 環境を整える
Python 3.10とPyTorchが必要。 仮想環境の作成にはCondaを使うことを推奨する:
conda create -n yoloe python=3.10 -y
conda activate yoloe
- クローンコード
YOLOEプロジェクトをGitHubからダウンロードする:
git clone https://github.com/THU-MIG/yoloe.git
cd yoloe
- 依存関係のインストール
CLIPとMobileCLIPを含む必要なライブラリをインストールする:
pip install -r requirements.txt
pip install git+https://github.com/THU-MIG/yoloe.git#subdirectory=third_party/CLIP
pip install git+https://github.com/THU-MIG/yoloe.git#subdirectory=third_party/ml-mobileclip
pip install git+https://github.com/THU-MIG/yoloe.git#subdirectory=third_party/lvis-api
wget https://docs-assets.developer.apple.com/ml-research/datasets/mobileclip/mobileclip_blt.pt
- 訓練済みモデルのダウンロード
YOLOEは以下のような様々なモデルを提供している。yoloe-v8l-seg.pt
.以下のコマンドでダウンロードする:
pip install huggingface-hub==0.26.3
huggingface-cli download jameslahm/yoloe yoloe-v8l-seg.pt --local-dir pretrain
あるいはPythonで自動的にロードする:
from ultralytics import YOLOE
model = YOLOE.from_pretrained("jameslahm/yoloe-v8l-seg.pt")
- インストールの確認
テスト・コマンドを実行し、環境に問題がないことを確認する:python predict_text_prompt.py --source ultralytics/assets/bus.jpg --checkpoint pretrain/yoloe-v8l-seg.pt --names person dog cat --device cuda:0
主な機能
1.テキスト警告検出
- 機能説明対応するオブジェクトを検出するためにテキストを入力します。
- 手続き::
- などの画像を用意する。
bus.jpg
. - コマンドを実行し、対象を指定する(例:"human, dog, cat"):
python predict_text_prompt.py --source ultralytics/assets/bus.jpg --checkpoint pretrain/yoloe-v8l-seg.pt --names person dog cat --device cuda:0
- 結果を表示すると、画像に検出されたオブジェクトのラベルが表示されます。
- などの画像を用意する。
- 調整方法検出されなかった場合、信頼度のしきい値を下げることができる:
--conf 0.001
2.視覚的手がかりの検出
- 機能説明参照画像から類似オブジェクトを検出。
- 手続き::
- 参考写真とターゲット写真を用意する。
- 視覚的手がかりモジュールをトレーニングする:
python tools/convert_segm2det.py python train_vp.py python tools/get_vp_segm.py
- テストを実行する:
python predict_visual_prompt.py --source test.jpg --ref reference.jpg --checkpoint pretrain/yoloe-v8l-seg.pt
- 出力をチェックし、結果を確認する。
- ほら参考写真は鮮明で特徴的でなければならない。
3.促されていない検出
- 機能説明プロンプトを入力することなく、写真内のオブジェクトを自動的に認識します。
- 手続き::
- モデルが事前に訓練された語彙(1200以上のカテゴリーをサポート)でロードされていることを確認する。
- コマンドを実行する:
python predict_prompt_free.py --source test.jpg --checkpoint pretrain/yoloe-v8l-seg.pt --device cuda:0
- 結果が表示され、すべての遺体にラベルが貼られる。
- 調整方法検出が不完全な場合は、最大検出数を増やすことができます:
--max_det 1000
4.モデル変換と配備
- 機能説明YOLOEをYOLOv8/YOLO11フォーマットに変換し、異なるデバイスにデプロイできるようにする。
- 手続き::
- エクスポートツールをインストールします:
pip install onnx coremltools onnxslim
- exportコマンドを実行する:
python export.py --checkpoint pretrain/yoloe-v8l-seg.pt
- 出力フォーマットは、TensorRT(GPU)またはCoreML(iPhone)をサポートしています。
- エクスポートツールをインストールします:
- パフォーマンスデータT4GPUの場合。
yoloe-v8l-seg.pt
FPSは102.5、iPhone12では27.2だった。
5.カスタムモデルのトレーニング
- 機能説明自分のデータセットでYOLOEを訓練する。
- 手続き::
- Objects365v1やGQAなどのデータセットを用意する。
- セグメンテーション注釈を生成する:
python tools/generate_sam_masks.py --img-path ../datasets/Objects365v1/images/train --json-path ../datasets/Objects365v1/annotations/objects365_train.json
- トレーニングキャッシュを生成する:
python tools/generate_grounding_cache.py --img-path ../datasets/Objects365v1/images/train --json-path ../datasets/Objects365v1/annotations/objects365_train_segm.json
- ランのトレーニング:
python train_seg.py
- 効果を確認する:
python val.py
その他のツール
- ウェブデモGradioでインターフェイスを起動します:
pip install gradio==4.42.0 python app.py
インタビュー
http://127.0.0.1:7860
.
アプリケーションシナリオ
- セーフティ・モニタリング
映像の中の人や物をリアルタイムで検出し、セキュリティ管理のためにアウトラインをラベリングする。 - インテリジェント輸送
道路上の車両や歩行者を識別し、交通分析や自律走行をサポートする。 - 工業品質管理
視覚的な手がかりで部品の欠陥を検出することで、生産性が向上します。 - 科学研究
実験画像の処理、対象物の自動ラベル付け、データ処理の高速化。
品質保証
- YOLOEとYOLOv8の違いは何ですか?
YOLOEは、オープン・シーン検出(テキスト、視覚、非促進)をサポートしているが、YOLOv8は固定カテゴリーに限定されている。YOLOEは、追加のオーバーヘッドなしでYOLOv8に変換することもできる。 - GPUが必要ですか?
CPUでも動作しますが、GPU(CUDAなど)の方が高速です。 - もし検査が正確でなかったら?
信頼閾値を下げる (--conf 0.001
)、またはテスト数を増やす(--max_det 1000
). - どのようなデバイスに対応していますか?
PC(TensorRT)、iPhone(CoreML)、その他多くのデバイスをサポート。