Ultralytics YOLO27:

Ultralytics YOLO27#

YOLO27は近日公開予定です

YOLO27モデルは最終的な研究開発段階にあり、今年後半のリリースを予定しています。**モデルはまだ利用できず、リリース日は決まっていません。**このページでは今後リリース予定のモデルを紹介します。リリース前に機能やベンチマークが変更される可能性があります。以下のコード例は、モデルとパッケージのサポートがリリースされた後に使用することを想定しており、現在の公開パッケージでは動作しません。現時点では、モデルの重み、設定、実装コードは公開されていません。リリースに関する最新情報をいち早く受け取るには、YOLO27のウェイトリストにご登録ください。

概要#

Ultralytics YOLO27は、リアルタイムビジョンモデルのファミリーです。検出モデルは、コンパクトなNモデルとSモデル向けの合理化されたCNNアーキテクチャと、大型のMモデルとLモデル向けのクエリベースのNMSフリーアーキテクチャという、相補的な2つの設計を採用しています。どちらの設計も同じインターフェースからデプロイできます。 NモデルとSモデルの検出では、デフォルトでNMSを使用するone-to-manyヘッドが選択されます。NMSフリーのヘッドを選択するには、nms=Falseを使用してください。

YOLO27は、YOLO26に続く、Ultralytics YOLOシリーズの次期モデルファミリーです。N、S、M、Lの4つのサイズがあり、物体検出、インスタンスセグメンテーション、セマンティックセグメンテーション、深度推定、分類、姿勢推定、指向性物体検出に対応しています。2つの設計の使い分けは検出タスクに適用され、その他のすべてのタスクではCNNアーキテクチャを使用します。

4つの検出スケール全体で、YOLO27はNVIDIA RTX PRO 6000で0.62~2.32 msのレイテンシにおいて、COCOで42.3~60.4 mAPを達成します。さらに、大きな800ピクセルの入力では、YOLO27lが最大61.2 mAPに達します。YOLO27lは、COCOで60 mAPを超えた初のUltralyticsモデルです。また、コンパクトなYOLO27n/sは、ほぼ同じ速度でYOLO26n/sの精度を上回ります。

クイックスタート(リリース後)
from ultralytics import YOLO

model = YOLO("yolo27n.pt")  # 事前学習済みYOLO27nモデルを読み込む
results = model("path/to/bus.jpg")  # 推論を実行する

主な機能#

  • デュアルスケール検出 標準的な検出器は、細・中・粗の3つの特徴マップで物体を予測します。YOLO27 NモデルとSモデルでは中間の特徴マップを省き、小さな物体用の細かいマップと大きな物体用の粗いマップだけで予測します。融合した特徴に固定スケーリングを適用して、2つのスケールのバランスを保ちます。これにより検出ヘッドの計算量を大幅に削減し、3スケール構成と同等の安定した学習を維持しながら、モデルを高速化します。

  • 小さな物体の検出性能を強化 初期の高解像度特徴ステージを拡張し、より細かなディテールを捉えられるようにしています。これを残された細かい予測マップと組み合わせることで、小さな物体の位置特定と回帰の性能が向上します。小さな物体は、コンパクトなモデルにとって最も検出が難しいカテゴリです。

  • 前景アライメントの教師あり学習 学習中、軽量な追加ブランチが各位置で「物体」と「背景」を識別する方法を学習します。このブランチは、学習中に使用する高密度なone-to-manyの教師信号と、最終的な予測を出力するone-to-oneヘッドとのギャップを埋めるよう設計されています。これにより、YOLO26n/sで0.9/0.8 mAPだった精度差がYOLO27n/sではわずか0.4 mAPに縮まり、デプロイされるone-to-oneヘッドでも学習時の精度をほぼ維持できます。このブランチは学習中にのみ使用され、推論とエクスポートの際に削除されるため、デプロイ時のコストはかかりません。

  • NMSを使用しないクエリベースの検出 大型モデルでは、高密度な予測の代わりにTransformerデコーダーを採用しています。デコーダーは固定数のオブジェクトクエリを洗練し、最終的な検出結果を直接出力するため、非最大値抑制による後処理は不要です。YOLO27mでは、このデコーダーを実績のあるYOLO26スタイルの畳み込みバックボーンと組み合わせています。一方、YOLO27lは同じFPN/PANネックを維持し、最深部のステージで自己注意機構を用いてグローバルなコンテキストを捉えるUltraViTバックボーンを採用しています。

  • シンプルな共通インターフェース どちらのアーキテクチャも、同じYOLO Pythonインターフェースから使用できます。モデルに応じて、適切な学習、検証、予測、エクスポートのパイプラインが自動的に選択されるため、あるYOLO27スケール向けに記述したコードを、他のスケールでも変更せずに使用できます。

どのYOLO27を選ぶべきですか?#

以下のガイダンスは、YOLO27のリリース後にモデルを選ぶ際にご利用ください。現在のプロジェクトには、YOLO26を使用してください。

  • YOLO27n / YOLO27s — エッジデバイス、ドローン、リアルタイム動画に適しています。デュアルスケール設計により小さな物体の検出性能が向上した、ファミリー最速のモデルです。デバイスごとのデプロイ方法については、NVIDIA JetsonとRaspberry Piをご覧ください。
  • YOLO27m — GPUで精度と速度のバランスを重視する場合に適しています。同程度のレイテンシでYOLO26mの精度を上回るため、本番環境でのGPUデプロイにおける標準的な選択肢です。
  • YOLO27l — 精度が特に重要なアプリケーションに適しています。COCOで60 mAPを超えた初のUltralyticsモデルであり、より大きな入力サイズで61.2 mAPを達成しながら、GPUでリアルタイム性能を維持します。

他のファミリーと比較するには、Ultralyticsの全モデルをご覧ください。自社のハードウェアで精度と速度のトレードオフを測定するには、ベンチマークモードをご覧ください。


対応タスクとモード#

以下の表では、YOLO27の4つのモデルスケールで予定されているタスクとモードの対応状況を紹介します。チェックマークはリリース時に対応予定であることを示しており、現在一般公開されていることを示すものではありません。記載されているモデルファイルはすべて未リリースです。

モデルファイル名タスク学習検証推論エクスポート
YOLO27yolo27n.pt yolo27s.pt yolo27m.pt yolo27l.pt検出✅✅✅✅
YOLO27-segyolo27n-seg.pt yolo27s-seg.pt yolo27m-seg.pt yolo27l-seg.ptインスタンスセグメンテーション✅✅✅✅
YOLO27-semyolo27n-sem.pt yolo27s-sem.pt yolo27m-sem.pt yolo27l-sem.ptセマンティックセグメンテーション✅✅✅✅
YOLO27-depthyolo27n-depth.pt yolo27s-depth.pt yolo27m-depth.pt yolo27l-depth.pt深度推定✅✅✅✅
YOLO27-clsyolo27n-cls.pt yolo27s-cls.pt yolo27m-cls.pt yolo27l-cls.pt分類✅✅✅✅
YOLO27-poseyolo27n-pose.pt yolo27s-pose.pt yolo27m-pose.pt yolo27l-pose.pt姿勢/キーポイント✅✅✅✅
YOLO27-obbyolo27n-obb.pt yolo27s-obb.pt yolo27m-obb.pt yolo27l-obb.pt指向性検出✅✅✅✅

YOLO27のDetect、Segment、Pose、OBBモデルはTrackモードでも使用できます。Trackモードはpredictの上位機能として動作し、動画フレーム間で複数の物体を追跡します。

2つのアーキテクチャ構成

YOLO27の検出では、1つのインターフェースのもとで2つの設計を採用しています。NスケールとSスケールでは合理化されたCNNアーキテクチャを使用し、MスケールとLスケールではクエリベースのNMSフリーアーキテクチャを使用します。その他のすべてのタスクではCNNアーキテクチャを使用します。


パフォーマンス指標#

検出精度はCOCO検証セットで測定しています。mAP、適合率、再現率の説明については、YOLOのパフォーマンス指標をご覧ください。推論速度は、GPUではNVIDIA RTX PRO 6000(TensorRT 11、FP16)、CPUではAMD EPYC 9655(ONNX Runtime、FP32)で測定しています。リリース後は、yolo val model=yolo27n.pt data=coco.yamlを使用して精度の数値を再現できます。

暫定結果

これらの研究結果は、最終的な研究開発の過程で変更される可能性があります。公開用の重みと再現手順は、リリース時に提供されます。

パフォーマンス

検出ドキュメントでは、80個のクラスで事前学習した、COCOで学習済みのこれらのモデルの使用例をご覧いただけます。表の入力サイズは640ピクセルです。概要では、800ピクセル入力時のYOLO27lの結果も紹介しています。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
RTX PRO 6000 TensorRT11
(ms)
パラメーター数
(M)
FLOPs
(B)
YOLO27n64042.316.1 ± 1.60.62 ± 0.003.07.2
YOLO27s64049.633.2 ± 0.10.79 ± 0.0011.828.2
YOLO27m64055.867.2 ± 0.31.39 ± 0.0022.865.0
YOLO27l64060.4149.6 ± 1.42.32 ± 0.0072.3165.3

ParamsとFLOPsの値は、Conv/BatchNormの折りたたみと未使用の検出ブランチの削除を行った後の、融合済みモデルの値です。検出の速度測定では、nms=Falseを使用するNMSフリーヘッドを選択します。N/Sの精度は選択したヘッドによって異なります。事前学習済みチェックポイントはトレーニング時の完全なアーキテクチャを保持しているため、カウント値がより大きくなる場合があります。


使用例#

このセクションでは、YOLO27のトレーニングと推論の簡単な例を紹介します。これらのモードやその他の モードの詳細については、Predict、Train、 Val、Exportの各ドキュメントページをご覧ください。カスタムデータセットについては、トレーニングで最良の結果を得るためのヒントとハイパーパラメータ調整ガイドをご覧ください。

以下の例は、物体検出を行うYOLO27のDetectモデルを対象としています。その他の対応タスクについては、SegmentとClassifyのドキュメントをご覧ください。

トレーニングと推論(リリース後)

PyTorchの事前学習済み*.ptモデルと設定用の*.yamlファイルをYOLO()クラスに渡すと、Pythonでモデルインスタンスを作成できます。

from ultralytics import YOLO

# COCOで事前学習したYOLO27nモデルを読み込む
model = YOLO("yolo27n.pt")

# 'bus.jpg'画像でYOLO27nモデルによる推論を実行する
results = model("path/to/bus.jpg")

# COCO8サンプルデータセットでモデルを100エポックトレーニングする
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

よくある質問#

    • デュアルスケール検出(N/S): 中解像度の予測マップを省き、競争力のある精度を維持しながら、より高速なヘッドを実現します
    • 小物体検出の強化(N/S): 初期の特徴ステージを拡張することで、小物体の位置特定性能を高めます
    • 前景アラインメントによる学習(N/S): YOLO26n/sでは0.9/0.8 mAPだったone-to-manyとone-to-oneの精度差を、YOLO27n/sでは0.4 mAPに縮小します。推論コストはかかりません
    • クエリベースのNMSフリー検出(M/L): Transformerデコーダーが最終検出結果を直接出力します
    • シンプルな共通インターフェース: どちらのアーキテクチャも同じYOLOクラスで実行できます
  • まだです。YOLO27は未リリースです。現在のプロジェクトでは、引き続きYOLO26をご利用ください。初期結果では、すべてのモデルサイズで精度の向上が見られ、YOLO27lはCOCOで60 mAPを超えています。移行する前に、リリース済みの最終モデルを実際のワークロードで評価してください。

  • リリース後のYOLO27は、YOLO26と同じYOLOクラスと、同じtrain/val/predict/export APIを使用する予定です。適切なパイプライン(CNNまたはクエリベース)はモデルに応じて自動的に選択されます。YOLO27のサポートと重みが利用可能になった後、yolo26n.ptをyolo27n.ptに置き換えるのが、想定されるモデル選択の変更です。

  • 多くの検出器は、解像度の異なる3つの特徴マップで予測します。YOLO27のNとSは、小物体に必要な高解像度マップと、大物体に必要な低解像度マップを維持し、中解像度マップを省きます。これにより検出ヘッドの計算量を大幅に削減し、前述のトレーニング改善によって精度とレイテンシのトレードオフを競争力のある水準に保ちます。

  • YOLO27lは、COCOで60 mAPを超えた初のUltralyticsモデルです。入力サイズ640ピクセルでは60.4 mAP(NVIDIA RTX PRO 6000で2.3 ms)、入力サイズ800ピクセルでは61.2 mAP(2.9 ms)を達成します。UltraViTバックボーン、マルチスケール特徴フュージョン、そしてNMSを使わずに最終検出結果を直接出力するクエリベースの検出器を組み合わせています。

  • YOLO27は最終段階のR&Dが進められており、今年後半のリリースを予定しています。リリース日はまだ決まっていません。モデルの重みと実装コードは、まだ一般公開されていません。

  • YOLO27のリリース後、クイックスタートを参照してultralyticsパッケージをインストールまたは更新し、以下の例のようにモデルを読み込んでください。この例はリリース後に使用できます。

    from ultralytics import YOLO
    
    # 事前学習済みのYOLO27 nanoモデルを読み込む
    model = YOLO("yolo27n.pt")
    
    # 画像で推論を実行する
    results = model("image.jpg")

    トレーニングと推論の例については、使用例をご覧ください。また、各モードについてはValとExportのガイドをご覧ください。

コントリビューター

コメント