Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Panoptic Segmentation

パノプティックセグメンテーションは、すべてのピクセルにクラスを割り当て、個数を数えられる各オブジェクトに固有のIDを付与し、セマンティックセグメンテーションとインスタンスセグメンテーションを統合します。モデル、PQ、コードを解説します。

パノプティックセグメンテーションは、画像のすべてのピクセルに2つの値を割り当てるコンピュータビジョンタスクです。1つはクラスラベルで、数えられる物体に属するピクセルにはインスタンスIDも割り当てます。セマンティックセグメンテーションはすべてのピクセルにクラスラベルを付けますが、同じクラスの物体を区別しません。一方、インスタンスセグメンテーションは個々の物体を区別しますが、背景にはラベルを付けません。この2つを組み合わせた結果、シーン全体を重複なく表す単一のマップが得られます。道路、空、草地は領域としてラベル付けされ、各車両や人物はそれぞれ独立したセグメントになります。Facebook AI Researchとハイデルベルク大学のAlexander Kirillovらは、CVPR 2019で発表した論文Panoptic Segmentationで、このタスクと評価指標を定義しました。名前には、1つの視野内で見えるものをすべて含めるという定義が反映されています。

StuffとThings#

パノプティックセグメンテーションでは、クラスを次の2種類に分けます。

  • Things: 人、車、動物、ハンドバッグなど、形が定義された数えられる物体です。それぞれに独自のインスタンスIDが割り当てられるため、隣り合って立つ2人は2つのセグメントになります。
  • Stuff: 道路、空、草地、水、壁など、似たテクスチャや素材からなる形の定まらない領域です。空を複数のインスタンスに分けても意味がないため、同じstuffクラスのピクセルはすべて1つのセグメントになります。

COCOのパノプティックベンチマークは、things 80クラスとstuff 53クラスの計133クラスを使用します。Cityscapesの運転ベンチマークでは、things 8クラスとstuff 11クラスの計19クラスを評価します。曖昧なピクセルやどのクラスにも属さないピクセルにはvoidを割り当て、評価から除外します。COCOのパノプティック形式では、各セグメントに一意のIDを割り当てたPNG画像と、各IDをカテゴリーに対応付けるJSONファイルを保存します。

パノプティックモデルの仕組み#

初期のシステムでは、共有バックボーン上でセマンティックブランチとインスタンスブランチを動かし、固定ルールで出力を統合していました。たとえばPanoptic FPNは、インスタンス間の重複を信頼度で解決し、stuffよりインスタンスを優先してから、面積しきい値を下回るstuff領域を除去します。

Panoptic-DeepLabなどのボトムアップモデルは、セマンティックマップとともに、各物体の中心および各ピクセルから中心へのオフセットを予測し、その後、中心が示す位置に基づいてthingのピクセルをグループ化します。汎用モデルは、セマンティック、インスタンス、パノプティックの各セグメンテーションに同一のマスク分類アーキテクチャを使います。Mask2Formerは固定数のクエリを予測し、それぞれが1つのマスクと1つのクラスを出力するため、thingsとstuffの両方を扱えます。CVPR 2022の論文では、COCOパノプティックでPQ 57.8を達成しました。以下のHugging Face Transformersパイプラインは、COCOパノプティックで学習したMask2Formerチェックポイントを実行します。

import numpy as np
from transformers import pipeline

# Load Mask2Former trained on COCO panoptic: 80 thing and 53 stuff classes
segmenter = pipeline("image-segmentation", model="facebook/mask2former-swin-tiny-coco-panoptic")

# Each returned segment is one non-overlapping region with a class label and a binary mask
segments = segmenter("https://ultralytics.com/images/bus.jpg", subtask="panoptic")

for segment in segments:
    share = np.array(segment["mask"]).mean() / 255
    print(f"{segment['label']}: {share:.1%} of pixels")

出力には10個のセグメントが表示されます。4人、2つのハンドバッグ、そして画像の30.7%を占めるバスは、それぞれ別個のthingセグメントとして表示されます。これらに加えて、stuffセグメントとして、舗装(30.9%)、その他の建物(19.5%)、樹木(4.8%)がそれぞれ1つずつあります。「-merged」接尾辞は、細分化されたラベルを統合して作られたCOCOのstuffクラスを示します。各ピクセルは1つのセグメントにのみ属し、どのセグメントにも割り当てられない0.4%のピクセルはvoidです。

パノプティック品質(PQ)#

パノプティック予測は、パノプティック品質で評価します。同じクラスの予測セグメントは、Intersection over Union(IoU)が0.5を超える場合にグラウンドトゥルースセグメントと一致します。セグメントは重複しないため、各セグメントが一致できる相手は最大1つです。一致したものは真陽性(TP)、一致しない予測は偽陽性(FP)、一致しないグラウンドトゥルースセグメントは偽陰性(FN)です。PQは、一致したすべてのIoUの合計をTP + ½FP + ½FNで割った値で、次の2つの要素に分解できます。

  • セグメンテーション品質(SQ): 一致したセグメントのIoUの平均値であり、マスクの適合度を測定します。
  • 認識品質(RQ): TP / (TP + ½FP + ½FN)であり、セグメント検出のF1スコアです。

PQはクラスごとに計算して平均します。また、ベンチマークではthingsとstuffを分けた値も報告します。

パノプティック、セマンティック、インスタンスセグメンテーションの違い#

  • セマンティックセグメンテーション: すべてのピクセルについて、「このピクセルはどのクラスか」に答えます。隣接する3台の車は1つの車領域になります。
  • インスタンスセグメンテーション: 検出された物体のみを対象に、「このピクセルはどの物体の一部か」に答えます。背景ピクセルにはラベルが付かず、異なる物体のマスクは重複する場合があります。
  • パノプティックセグメンテーション: すべてのピクセルに対して両方の問いに答え、各ピクセルにセグメントを必ず1つだけ割り当てます。

Ultralytics YOLO26は、この2つの機能を別々のタスクとして提供します。-segモデルは各物体のマスクとクラスを返し、-semのセマンティックセグメンテーションモデルはすべてのピクセルのクラスを返します。これらのモデルは、19クラスのCityscapesまたは150クラスのADE20Kで事前学習されています。

実際のアプリケーション#

  • 自動運転車: 1つの出力で、走行可能な道路や歩道をstuffとして、各歩行者や車両をトラッカーが追跡できる個別のthingとして扱えます。
  • ロボティクス: 移動ロボットには、走行可能な床面と、持ち上げる対象や回避する対象のそれぞれが、一貫した単一のマップ上に必要です。
  • 医用画像解析: デジタル病理画像では、組織領域をstuffとしてセグメント化し、個々の核や細胞をthingsとして数えます。
  • 3Dと動画: 動画のパノプティックセグメンテーションでは、フレーム間でインスタンスIDの一貫性を保ちます。SemanticKITTIやnuScenesでベンチマークされるLiDARのパノプティックセグメンテーションでは、スキャン内のすべての3D点にクラスとインスタンスIDを割り当てます。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう