Semantic Segmentation
ピクセルレベルの画像理解のためのセマンティックセグメンテーションを探ります。Ultralytics YOLO26を使用して、高精度なセグメンテーションモデルを学習・デプロイする方法を学びましょう。
セマンティックセグメンテーションは、画像内のすべてのピクセルに対して特定のクラスラベルを割り当てることで、画像を個別の領域に分割するコンピュータビジョンのタスクです。画像全体に単一のラベルを割り当てる画像分類や、オブジェクトの周囲にバウンディングボックスを描画する物体検出といった単純なタスクとは異なり、セマンティックセグメンテーションはシーンのピクセルレベルでの理解を提供します。この詳細な分析は、オブジェクトの正確な形状や境界がその同一性と同じくらい重要となるアプリケーションにおいて不可欠です。これにより、マシンは道路、歩行者、あるいは医療スキャン内の腫瘍を構成する正確なピクセルを区別し、人間と同じように世界を「見る」ことが可能になります。
Link to this sectionセマンティックセグメンテーションの仕組み#
セマンティックセグメンテーションの本質は、画像を分類が必要なピクセルのグリッドとして扱うことです。ディープラーニングモデル、特に畳み込みニューラルネットワーク(CNN)は、このタスクにおける標準的なアーキテクチャです。広く使用されているU-Netなどの典型的なアーキテクチャでは、エンコーダー・デコーダー構造を採用しています。エンコーダーは入力画像を圧縮して高レベルの特徴(テクスチャや形状など)を抽出し、デコーダーはこれらの特徴を元の画像解像度にアップサンプリングして、正確なセグメンテーションマスクを生成します。
これを実現するために、モデルは、人間のアノテーターが各ピクセルをクラスに従って注意深く色付けした大規模なアノテーション済みデータセットで学習されます。Ultralytics Platformなどのツールは、高品質なグランドトゥルースデータの作成を迅速化する自動アノテーション機能を提供することで、このプロセスを支援します。学習が完了すると、モデルは各ピクセルの値がクラスIDに対応するマスクを出力し、事実上画像に意味という「色」を塗ります。
Link to this section関連概念の区別#
セマンティックセグメンテーションを他のピクセルレベルのタスクと混同することはよくあります。プロジェクトに適したアプローチを選択するには、その違いを理解することが重要です。
- インスタンスセグメンテーション: セマンティックセグメンテーションが同じクラスのすべてのオブジェクトを単一のエンティティとして扱う(例:すべての「車」を青色にする)のに対し、インスタンスセグメンテーションは個々のオブジェクトを区別します(例:「車A」は青色、「車B」は赤色)。
- パノプティックセグメンテーション: これは両方の概念を組み合わせたものです。すべてのピクセルにクラスを割り当てる(セマンティック)と同時に、カウント可能なオブジェクトの個々のインスタンスを分離(インスタンス)することで、最も包括的なシーンの理解を提供します。
Link to this section実社会での応用#
ピクセル単位の精度で視覚データを解析する能力は、多くの重要な産業においてイノベーションを促進しています。
- 自動車におけるAI: 自動運転車は安全に走行するために、セグメンテーションに大きく依存しています。走行可能領域と歩道を識別し、歩行者、車、障害物の輪郭を正確に描くことで、自動運転システムはリアルタイムで重要な判断を下すことができます。
- 医療におけるAI: 医療画像処理において、モデルはCTスキャンやMRIから臓器、病変、腫瘍をセグメンテーションします。これは、放射線科医が治療計画のために腫瘍の体積を計算したり、ロボット手術ツールを極めて高い精度で誘導したりするのに役立ちます。
- 農業におけるAI: 農家はドローンの航空画像とセグメンテーションを使用して、作物の健康状態を監視しています。ピクセルを「健康な作物」「雑草」「土壌」として分類することで、自動化システムは除草剤の散布を標的化し、化学物質の使用量を削減しつつ収穫量を最適化できます。
Link to this sectionUltralyticsによるセグメンテーションの実装#
Modern segmentation models need to balance accuracy with speed, especially for real-time inference on edge devices. The Ultralytics YOLO26 model family includes specialized segmentation models (denoted with a -seg suffix) that are natively end-to-end, offering superior performance over older architectures like YOLO11.
以下の例は、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()Link to this section課題と今後の方向性#
大幅な進歩にもかかわらず、セマンティックセグメンテーションは依然として計算負荷が高いタスクです。すべての単一ピクセルに対して分類を生成するには、かなりのGPUリソースとメモリが必要です。研究者はこれらのモデルの効率化に積極的に取り組んでおり、携帯電話や組み込みデバイス上で重いネットワークを実行するためにモデル量子化などの手法を模索しています。
さらに、大量のラベル付きデータセットが必要であるという点がボトルネックとなっています。これに対処するため、業界は合成データ生成と自己教師あり学習へと移行しており、数百万もの手動ピクセルラベルを必要とせずに、モデルが生画像から学習できるようにしています。これらの技術が成熟するにつれて、スマートカメラ、ロボティクス、拡張現実アプリケーションにおいて、セグメンテーションはさらに普及していくことが予想されます。






