Semantic Segmentation
ピクセルレベルの画像理解のためのセマンティックセグメンテーションを探ります。Ultralytics YOLO26を使用して、高精度なセグメンテーションモデルを学習・デプロイする方法を学びましょう。
セマンティックセグメンテーションは、すべての個々のピクセルに特定のクラスラベルを割り当てることで、画像を個別の領域に分割するコンピュータビジョンタスクです。画像全体に単一のラベルを割り当てる画像分類や、オブジェクトの周囲にバウンディングボックスを描画するオブジェクト検出のような単純なタスクとは異なり、セマンティックセグメンテーションはシーンのピクセル単位の理解を提供します。この詳細な分析は、オブジェクトの正確な形状と境界がそのアイデンティティと同じくらい重要であるアプリケーションにとって極めて重要です。これにより、機械は人間により近い形で世界を「見る」ことができるようになり、道路、歩行者、または医療スキャン内の腫瘍を構成する正確なピクセルを区別できるようになります。
セマンティックセグメンテーションの仕組み#
その核心において、セマンティックセグメンテーションは画像を分類する必要のあるピクセルのグリッドとして扱います。ディープラーニングモデル、特に畳み込みニューラルネットワーク (CNN)がこのタスクの標準的なアーキテクチャです。広く使用されているU-Netなどの一般的なアーキテクチャは、エンコーダ・デコーダ構造を採用しています。エンコーダは入力画像を圧縮して高レベルの特徴(テクスチャや形状など)を抽出し、デコーダはこれらの特徴を元の画像解像度にアップサンプルして、正確なセグメンテーションマスクを生成します。
これを達成するために、モデルは、人間のアノテーターがクラスに従って各ピクセルを慎重に色付けした大規模なアノテーション済みデータセットでトレーニングされます。Ultralytics Platformなどのツールは、高品質な正解データの作成を高速化する自動アノテーション機能を提供することで、このプロセスを容易にします。トレーニングが完了すると、モデルはすべてのピクセル値がクラスIDに対応するマスクを出力し、画像に意味を効果的に「描き込み」ます。
関連概念の区別#
セマンティックセグメンテーションを他のピクセルレベルのタスクと混同することはよくあります。プロジェクトに適したアプローチを選択するには、その違いを理解することが重要です。
- インスタンスセグメンテーション: セマンティックセグメンテーションが同じクラスのすべてのオブジェクトを単一のエンティティとして扱う(例:すべての「車」が青色で塗られる)のに対し、インスタンスセグメンテーションは個々のオブジェクトを区別します(例:「車A」は青、「車B」は赤)。
- パノプティックセグメンテーション: これは両方の概念を組み合わせたものです。すべてのピクセルにクラスを割り当て(セマンティック)ながら、数えられるオブジェクトの個々のインスタンスも分離し(インスタンス)、最も包括的なシーン理解を提供します。
実社会での応用#
ピクセル単位の精度で視覚データを解析する能力は、多くの重要な産業においてイノベーションを促進しています。
- 自動車分野におけるAI: 自動運転車は安全にナビゲートするためにセグメンテーションに大きく依存しています。走行可能領域と歩道を識別し、歩行者、車、障害物の輪郭を正確に描画することで、自動運転システムはリアルタイムで重要な決定を下すことができます。
- ヘルスケア分野におけるAI: 医療画像処理において、モデルはCTスキャンやMRIから臓器、病変、または腫瘍をセグメント化します。これにより、放射線科医が治療計画のために腫瘍の体積を計算したり、極めて高い精度でロボット手術ツールを誘導したりすることが支援されます。
- 農業分野におけるAI: 農家は空中ドローンの画像とセグメンテーションを使用して作物の健康状態を監視します。ピクセルを「健康な作物」、「雑草」、「土壌」として分類することにより、自動システムは除草剤の散布をターゲットに絞り、化学物質の使用量を削減し、収穫量を最適化できます。
Ultralyticsによるセグメンテーションの実装#
現代のセグメンテーションモデルは、特にエッジデバイスでのリアルタイム推論において、精度と速度のバランスを取る必要があります。Ultralytics YOLO26モデルファミリーには、ネイティブにエンドツーエンドであり、YOLO11などの古いアーキテクチャよりも優れたパフォーマンスを提供する、特殊なセグメンテーションモデル(-segサフィックスで示される)が含まれています。
次の例は、ultralytics Pythonパッケージを使用して画像上でセグメンテーションを実行する方法を示しています。これにより、オブジェクトの境界を描写するバイナリマスクが生成されます。
from ultralytics import YOLO
# Load a pre-trained YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results
# This will display the image with the segmentation masks overlaid
results[0].show()課題と今後の方向性#
大幅な進歩にもかかわらず、セマンティックセグメンテーションは依然として計算集約型です。すべての単一ピクセルの分類を生成するには、かなりのGPUリソースとメモリが必要です。研究者たちは、モバイルフォンや組み込みデバイスで重いネットワークを実行するために、モデル量子化などの技術を探索し、効率性のためにこれらのモデルを最適化することに積極的に取り組んでいます。
さらに、大量のラベル付きデータセットの必要性がボトルネックとなっています。これに対処するため、業界は合成データ生成と自己教師あり学習へと移行しており、数百万の手動ピクセルラベルを必要とせずに、モデルが生画像から学習できるようになっています。これらの技術が成熟するにつれて、スマートカメラ、ロボティクス、および拡張現実アプリケーションにおいてセグメンテーションがさらに普遍的なものになると期待できます。






