1 画像分割の基礎
1.1 定義と目的
画像分割は、デジタル画像を意味のある複数の領域(セグメント)に分割するコンピュータビジョンの基本技術である。各ピクセルにクラスラベルやインスタンスIDを割り当てることで、画像内の物体、境界、背景を識別・分離する。目的は、画像をより解釈しやすい単位に変換し、後続の認識・分析タスクの前処理として機能することにある。
1.2 画像分割の歴史
画像分割の研究は1960年代のエッジ検出や領域分割の試みに端を発する。1970~80年代には閾値処理や領域拡張法などの古典的手法が確立された。1990年代後半からグラフカットやレベルセット法が登場。2012年以降、深層学習の普及により全結合畳み込みネットワーク(FCN)が革命をもたらし、以降U-Net、Mask R-CNN、トランスフォーマーベース手法へと発展を遂げた。
1.3 セグメンテーションの種類
1.3.1 セマンティックセグメンテーション
セマンティックセグメンテーションは、画像内の各ピクセルをあらかじめ定義されたカテゴリ(人、車、道路など)に分類するタスクである。同一カテゴリに属する個別の物体は区別されず、背景と前景のピクセル単位のラベルマップが出力される。
1.3.2 インスタンスセグメンテーション
インスタンスセグメンテーションは、物体検出とセマンティックセグメンテーションを組み合わせたタスクである。画像内の個々の物体インスタンスを検出し、それぞれに対してピクセルレベルのマスクを生成する。同一カテゴリの異なる物体(例:複数の人物)は別々のインスタンスとして扱われる。
1.3.3 パノプティックセグメンテーション
パノプティックセグメンテーションは、セマンティックセグメンテーションとインスタンスセグメンテーションを統合したタスクである。stuff(道路、空などの無定形領域)はセマンティックラベルで、things(人、車などの数えられる物体)はインスタンスラベルで同時に分割する。一枚の画像に対して統一的なシーン理解を提供する。
2 主要手法
2.1 従来手法
2.1.1 閾値処理
閾値処理は最も単純な画像分割手法の一つである。ピクセルの輝度値や色情報に基づき、設定した閾値より大きいか小さいかで前景と背景を分離する。大津の二値化などが代表的なアルゴリズムであり、コントラストの高い画像や単純な二値分割に適する。照明変動や複雑なテクスチャには弱い。
2.1.2 領域拡張法
領域拡張法は、シードピクセルを起点として周囲のピクセルを類似性基準(色、輝度、テクスチャ)に従って統合していく手法である。領域分割(region splitting)と領域統合(region merging)の組み合わせによる領域ベースの分割も含まれる。シードの選択や停止条件の設定が結果に大きく影響する。
2.1.3 グラフカット
グラフカットは、画像をグラフとしてモデル化し、最小カット問題(エネルギー最小化)を解くことで領域分割を実現する手法である。前景と背景のシードをユーザが指定するインタラクティブな方式が一般的で、GrabCutなどに応用される。最適解が保証される一方、計算コストが比較的高い。
2.2 深層学習手法
2.2.1 全結合畳み込みネットワーク(FCN)
FCN(Fully Convolutional Network)は、従来のCNNの全結合層を畳み込み層に置き換え、任意サイズの画像入力に対してピクセル単位のラベルマップを出力できるようにしたネットワークである。2015年に提案され、画像分割における深層学習の先駆けとなった。転置畳み込みを用いたアップサンプリングにより、ダウンサンプリングで失われた空間情報を復元する。
2.2.2 U-Net
U-Netは、医療画像分割のために開発されたエンコーダ・デコーダ型のネットワークである(2015年)。左右対称なU字構造を持ち、エンコーダで特徴を抽出、デコーダで空間解像度を復元する。スキップ接続により低レベルの詳細情報と高レベルの抽象情報を融合し、少ない訓練データでも高精度な分割を実現する。
2.2.3 Mask R-CNN
Mask R-CNNは、Faster R-CNNを拡張したインスタンスセグメンテーションモデルである(2017年)。物体検出と同時に各インスタンスのバイナリマスクを予測するブランチを追加した。RoI Alignを用いて特徴マップから正確な領域特徴を抽出し、ピクセル単位のマスク生成を可能にした。COCOデータセットで高い性能を示した。
2.2.4 トランスフォーマーベース手法
2.2.4.1 Vision Transformer (ViT)
Vision Transformer(ViT)は、画像をパッチに分割し、Transformerエンコーダで処理するアーキテクチャである(2020年)。画像分割への応用では、パッチレベルの特徴を自己注意機構で捉え、グローバルな文脈情報を活用できる。従来のCNNに比べて大規模データで高い性能を発揮するが、計算コストが大きい。
2.2.4.2 DETRとMaskFormer
DETR(Detection Transformer)は、Transformerを用いた物体検出手法であり、その発展形としてMaskFormerは画像分割タスクに適用される。MaskFormerはセマンティック・インスタンス・パノプティックセグメンテーションを統一的に扱えるアーキテクチャを提供する。Transformerのエンコーダ・デコーダ構造により、二値マスクとクラス予測を同時に行う。
3 評価指標
3.1 Intersection over Union (IoU)
IoU(Jaccard係数)は、予測領域と正解領域の重なり具合を評価する指標である。予測と正解の積集合のピクセル数を和集合のピクセル数で割った値で定義され、0から1の値をとる。1に近いほど分割精度が高い。
3.2 平均交差比(mIoU)
mIoU(mean Intersection over Union)は、全クラスのIoUを平均した指標である。セマンティックセグメンテーションの最も一般的な評価指標であり、背景クラスを含む全カテゴリのIoUを計算して平均する。各クラスのサンプル数が不均衡な場合、クラスごとのIoUの単純平均よりも頻度で重み付けする場合もある。
3.3 ピクセル精度
ピクセル精度は、正しく分類されたピクセルの総数を全ピクセル数で割った値である。単純な指標だが、クラス不均衡の影響を強く受ける。背景クラスが大半を占める画像では、背景を常に正解と予測すれば高い値になるため、分割性能の評価としては不十分な場合がある。
3.4 Dice係数
Dice係数(F1スコア)は、IoUと同様に予測と正解の重なりを測る指標である。2×(積集合)/(予測領域の面積+正解領域の面積)で定義される。IoUよりも高い値になりやすく、医療画像分割などで広く用いられる。同じピクセル誤差でもIoUよりも感度が高い。
4 実装とツール
4.1 主要フレームワーク
4.1.1 PyTorch
PyTorchは、動的計算グラフを特徴とする深層学習フレームワークである(Facebook/Meta開発)。直感的なAPIと豊富なモデル zoo(torchvisionなど)により、画像分割モデルの研究・実装に広く利用される。転置畳み込みやスキップ接続の記述が容易で、研究コミュニティでのデファクトスタンダードである。
4.1.2 TensorFlow
TensorFlowは、Googleが開発した深層学習フレームワークである。Keras高レベルAPIを通じて簡潔なモデル構築が可能。TensorFlow Model Gardenにはセグメンテーションモデルの実装が多数含まれ、プロダクション環境でのデプロイに適する。2.x系では動的実行(Eager Execution)がデフォルトとなっている。
4.2 代表的なライブラリ
4.2.1 OpenCV
OpenCVは、画像処理・コンピュータビジョンのオープンソースライブラリである。従来の画像分割手法(閾値処理、ウォーターシェッド、グラフカットなど)の実装が豊富で、深層学習モデルの推論にも対応している(cv2.dnnモジュール)。軽量な前処理や後処理に用いられる。
4.2.2 Detectron2
Detectron2は、Meta(旧Facebook)が開発した物体検出・セグメンテーションのためのライブラリである。Mask R-CNN、Panoptic FPNなど最先端モデルの実装を提供し、設定ファイルによる柔軟な実験管理が可能。研究とプロダクションの両方で利用される。
4.3 データセット
4.3.1 PASCAL VOC
PASCAL VOC(Visual Object Classes)は、2005年から2012年まで開催されたチャレンジのデータセットである。20クラスの物体(人、動物、乗り物、家庭用品など)から構成され、セマンティックセグメンテーションのベンチマークとして歴史的に重要な役割を果たした。画像数は約1.2万枚と比較的小規模だが、標準的な評価指標を提供する。
4.3.2 COCO
COCO(Common Objects in Context)は、大規模な物体検出・セグメンテーションデータセットである(2014年公開)。80クラスの物体カテゴリ、33万枚以上の画像、個々のインスタンスに対するセグメンテーションマスクを提供する。インスタンスセグメンテーションやパノプティックセグメンテーションの主要なベンチマークとして広く使われる。
4.3.3 Cityscapes
Cityscapesは、都市景観のセマンティックセグメンテーション用データセットである(2016年公開)。ドイツの50都市で撮影された道路シーン画像を提供し、19クラス(道路、歩道、車、人、標識など)のピクセルレベルのラベルが付与されている。自動運転の文脈で頻繁に使用される高品質なデータセットである。
5 応用分野
5.1 医療画像診断
医療画像分割は、CTスキャン、MRI、病理画像などから臓器や病変領域を抽出するために用いられる。腫瘍の検出・体積測定、血管のセグメンテーション、細胞核の識別など、診断支援や治療計画に不可欠である。U-Netをはじめとする深層学習モデルが標準的に採用されている。
5.2 自動運転
自動運転では、カメラ画像のセグメンテーションにより道路、歩行者、車両、標識、障害物などをピクセル単位で認識する。セマンティックセグメンテーションは環境理解の基盤であり、安全な走行制御に貢献する。CityscapesやBDD100Kなどの実走データセットを用いたモデルが開発されている。
5.3 リモートセンシング
リモートセンシング画像(衛星画像や航空写真)のセグメンテーションは、土地利用分類(農地、森林、水域、市街地)、建物抽出、道路ネットワークの自動生成などに応用される。大規模な地理空間データの解析を効率化し、都市計画や環境モニタリングに活用される。
5.4 ロボットビジョン
ロボットビジョンでは、画像分割によって物体の位置や形状を把握し、把持や回避行動の決定に利用する。インスタンスセグメンテーションにより個々の物体を識別し、シーン理解とインタラクションを可能にする。家庭用ロボットから産業用ロボットまで幅広く応用される。
5.5 画像編集と拡張現実
画像編集ソフトでは、セグメンテーションにより被写体の切り抜き(背景除去)や領域別の色調補正を実現する。拡張現実(AR)では、現実シーンをセグメンテーションすることで仮想オブジェクトの適切な重畳や遮蔽処理を行う。スマートフォンのカメラアプリでも一般的な機能となっている。
6 課題と将来展望
6.1 少量データ学習
画像分割モデルの訓練には大量のピクセル単位のラベル付きデータが必要であり、アノテーションコストが高い。少数のラベルデータや弱ラベル(バウンディングボックスレベルなど)から高精度な分割を達成する手法(半教師あり学習、自己教師あり学習、プロンプトベース学習)の研究が進められている。
6.2 リアルタイム処理
自動運転やロボット制御などの応用では、ミリ秒単位の推論速度が要求される。モバイル端末やエッジデバイス上での軽量モデル(MobileNetベース、EfficientNetベース)や、構造の高速化(BiSeNet、ICNetなど)の開発が進んでいる。量子化やプルーニング、知識蒸留も重要な技術である。
6.3 ドメイン適応と一般化
学習データと実環境のドメイン差(照明、天候、カメラ特性など)により分割性能が低下する問題がある。ドメイン適応(Domain Adaptation)やドメイン一般化(Domain Generalization)の手法により、未見の環境でもロバストに動作するモデルが求められる。シミュレーションと実データの組み合わせも有効なアプローチである。
6.4 エッジケースへの対応
稀な状況や困難なシーン(異常物体、極端な遮蔽、まれな照明条件など)への対応は、実用上の大きな課題である。異常検知やオープンセット認識の概念を導入し、学習データに存在しないクラスを「unknown」として扱う手法も研究されている。また、敵対的攻撃に対するロバスト性の向上も重要な研究テーマである。