Meet YOLO26: next-gen vision AI.

Link to this sectionオブジェクト検出#

YOLO object detection with bounding boxes

物体検出とは、画像やビデオストリーム内の物体の位置とクラスを特定するタスクです。

物体検出器の出力は、画像内の物体を囲む境界ボックス(バウンディングボックス)と、各ボックスのクラスラベルおよび信頼度スコアのセットです。物体検出は、シーン内の対象物体を特定する必要があるものの、物体の正確な位置や正確な形状を知る必要がない場合に適した選択肢です。



Watch: Object Detection with Pretrained Ultralytics YOLO Model.
ヒント

YOLO26 DetectモデルはデフォルトのYOLO26モデル(yolo26n.ptなど)であり、COCOで事前学習されています。

Link to this sectionモデル#

YOLO26の事前学習済みDetectモデルをここに示します。Detect、Segment、PoseモデルはCOCOデータセットで、SemanticモデルはCityscapesで、ClassifyモデルはImageNetデータセットでそれぞれ事前学習されています。

モデルは、初回使用時に最新のUltralyticsリリースから自動的にダウンロードされます。

モデルサイズ
(ピクセル)
mAPval
50-95
mAPval
50-95(e2e)
速度
CPU ONNX
(ms)
速度
T4 TensorRT10
(ms)
パラメータ
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9
  • **mAPval**値は、COCO val2017データセットにおけるシングルモデル・シングルスケールの値です。
    再現するには yolo val detect data=coco.yaml device=0 を実行してください。
  • 速度は、Amazon EC2 P4dインスタンスを使用してCOCO val画像で平均した値です。
    再現するには yolo val detect data=coco.yaml batch=1 device=0|cpu を実行してください。
  • Params および FLOPs の値は、model.fuse() 後の融合済みモデルに対するものです。これは Conv 層と BatchNorm 層を統合し、エンドツーエンドモデルの場合は補助的な one-to-many 検出ヘッドを削除します。事前学習済みのチェックポイントは、完全なトレーニングアーキテクチャを保持しているため、数値が大きく表示される場合があります。

Link to this sectionトレーニング#

COCO8データセットでYOLO26nを画像サイズ640にて100エポック学習させます。利用可能な引数の全リストについては、設定ページを参照してください。

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.yaml")  # build a new model from YAML
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

trainモードの詳細はTrainページを参照してください。検出モデルは、Ultralytics Platformを通じてクラウドGPU上で学習させることも可能です。

Link to this sectionデータセット形式#

YOLO検出データセットのフォーマットについては、データセットガイドで詳しく解説しています。既存のデータセット(COCOなど)をYOLO形式に変換するには、UltralyticsのJSON2YOLOツールをご利用ください。また、AI支援型ラベル付けツールを使用して、Ultralytics Platform上で直接検出データセットにアノテーションを付けたり管理したりすることもできます。

Link to this section検証#

COCO8データセットで学習済みYOLO26nモデルの精度を検証します。modelは学習時のdataと引数をモデル属性として保持しているため、引数は不要です。

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list containing mAP50-95 for each category
metrics.box.image_metrics  # per-image metrics dictionary with precision, recall, F1, TP, FP, and FN

Link to this section予測#

学習済みYOLO26nモデルを使用して、画像に対する予測を実行します。

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xywh = result.boxes.xywh  # center-x, center-y, width, height
    xywhn = result.boxes.xywhn  # normalized
    xyxy = result.boxes.xyxy  # top-left-x, top-left-y, bottom-right-x, bottom-right-y
    xyxyn = result.boxes.xyxyn  # normalized
    names = [result.names[cls.item()] for cls in result.boxes.cls.int()]  # class name of each box
    confs = result.boxes.conf  # confidence score of each box

predictモードの詳細については、予測(Predict)ページを参照してください。

Link to this section結果の出力#

物体検出は画像1枚につき1つのResultsオブジェクトを返します。主要な予測フィールドはresult.boxesであり、これには検出された各物体のボックス座標、クラスID、および信頼度スコアが含まれます。

属性タイプ形状説明
result.boxesBoxes(N)検出ボックス。
result.boxes.datatorch.float32(N,6/7)未加工の [x1,y1,x2,y2,conf,cls]。必要に応じてトラックIDを含みます。
result.boxes.xyxytorch.float32(N,4)xyxy ピクセルボックス。
result.boxes.conftorch.float32(N,)確信度スコア。
result.boxes.clstorch.float32(N,)クラスID。名前を表示するには int にキャストします。

すべてのタスクにわたるタスク固有のResultsフィールドについては、タスク別予測結果(Predict Results by Task)セクションを参照してください。

Link to this sectionエクスポート#

YOLO26nモデルをONNX、CoreMLなどの別のフォーマットにエクスポートします。

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

利用可能なYOLO26エクスポートフォーマットは以下の表の通りです。format引数(format='onnx'format='engine'など)を使用して任意のフォーマットにエクスポートできます。エクスポートされたモデルに対して直接予測や検証を行うことも可能です(例: yolo predict model=yolo26n.onnx)。エクスポート完了後、モデルの使用例が表示されます。

形式format引数モデルメタデータ引数
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, quantize, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, quantize, dynamic, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, quantize, dynamic, simplify, workspace, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, quantize, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, quantize, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, quantize, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, quantize, device
NCNNncnnyolo26n_ncnn_model/imgsz, quantize, batch, device
IMX500imxyolo26n_imx_model/imgsz, quantize, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, quantize, data, fraction, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, quantize, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/imgsz, quantize, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn.onnximgsz, batch, name, quantize, data, fraction, device
LiteRTlitertyolo26n.tfliteimgszquantizebatchdatafractiondevice

exportの詳細については、Exportページを参照してください。

Link to this sectionよくある質問 (FAQ)#

Link to this sectionコーディングなしで検出モデルの学習やデプロイはできますか?#

はい、可能です。Ultralytics Platformでは、データセットのアノテーション、クラウドGPU上での検出モデルの学習、および推論エンドポイントへのデプロイを行うためのブラウザベースのワークフローを提供しています。開始方法についてはプラットフォームクイックスタートを参照してください。

Link to this section独自のデータセットでYOLO26モデルを学習させるにはどうすればよいですか?#

カスタムデータセットでYOLO26モデルを学習させる手順は以下の通りです。

  1. データセットの準備: データセットがYOLO形式であることを確認してください。詳細については、データセットガイドを参照してください。
  2. モデルの読み込み: Ultralytics YOLOライブラリを使用して、事前学習済みモデルを読み込むか、YAMLファイルから新しいモデルを作成します。
  3. モデルの学習: Pythonでtrainメソッドを実行するか、CLIで yolo detect train コマンドを実行します。
from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n.pt")

# Train the model on your custom dataset
model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)

詳細な設定オプションについては、設定ページにアクセスしてください。

Link to this sectionYOLO26で利用可能な事前学習済みモデルは何ですか?#

Ultralytics YOLO26は、物体検出インスタンスセグメンテーションセマンティックセグメンテーション、および姿勢推定のための様々な事前学習済みモデルを提供しています。これらのモデルは、COCOデータセット、セマンティックセグメンテーション用のCityscapes、または分類タスク用のImageNetで事前学習されています。利用可能なモデルの一部を以下に示します。

詳細なリストと性能指標については、モデルセクションを参照してください。

Link to this section学習済みYOLOモデルの精度を検証するにはどうすればよいですか?#

学習済みYOLO26モデルの精度を検証するには、Pythonの.val()メソッドまたはCLIの yolo detect val コマンドを使用します。これにより、mAP50-95、mAP50などの指標が得られます。

from ultralytics import YOLO

# Load the model
model = YOLO("path/to/best.pt")

# Validate the model
metrics = model.val()
print(metrics.box.map)  # mAP50-95

検証の詳細については、Valページを参照してください。

Link to this sectionYOLO26モデルはどのフォーマットにエクスポートできますか?#

Ultralytics YOLO26では、ONNXTensorRTCoreMLなどのさまざまなフォーマットへモデルをエクスポートでき、異なるプラットフォームやデバイス間での互換性を確保します。

from ultralytics import YOLO

# Load the model
model = YOLO("yolo26n.pt")

# Export the model to ONNX format
model.export(format="onnx")

サポートされているフォーマットの全リストと手順については、エクスポートページを確認してください。

Link to this sectionなぜ物体検出にUltralytics YOLO26を使用すべきなのですか?#

Ultralytics YOLO26は、物体検出インスタンスセグメンテーションセマンティックセグメンテーション、および姿勢推定において最先端の性能を提供するように設計されています。主な利点は以下の通りです。

  1. 事前学習済みモデル: COCOImageNetのような一般的なデータセットで事前学習されたモデルを活用することで、開発を迅速化できます。
  2. 高精度: 優れたmAPスコアを達成し、信頼性の高い物体検出を保証します。
  3. 速度: リアルタイム推論向けに最適化されており、迅速な処理を必要とするアプリケーションに最適です。
  4. 柔軟性: モデルをONNXやTensorRTなどのさまざまなフォーマットにエクスポートし、複数のプラットフォームにデプロイ可能です。

YOLO26が実際に活用されている事例や成功事例については、ブログをご覧ください。

コメント