G検定対策 究極カンペをつくろう#2 画像認識(一般物体認識、物体検出、セグメンテーション、姿勢推定)

G検定対策 究極カンペをつくろう#2 画像認識(一般物体認識、物体検出、セグメンテーション、姿勢推定) G検定
G検定対策 究極カンペをつくろう#2 画像認識(一般物体認識、物体検出、セグメンテーション、姿勢推定)

物体検出

本節では、物体検出に関する代表的なモデルとその系譜について解説する。

物体検出

物体検出に関するモデルは、一般物体認識と比較すると要素数は少ないが、技術的には重要な位置を占めている。

まず、YOLO(You Only Look Once)は、リアルタイム処理に優れた物体検出モデルとして広く知られている。
YOLOは画像全体を一度に処理することで高速な推論を実現しており、リアルタイム検出が可能である。
バージョンも多数存在し、YOLOv8以降では物体検出に加え、姿勢推定やセグメンテーションにも対応している。

次に、R-CNN系列のモデル群が存在する。
R-CNN、Fast R-CNN、Faster R-CNNの順に、処理速度と精度の両面で改良が加えられてきた。
これらのモデルは多段検出器として分類され、高精度な検出を実現している。

さらに、Faster R-CNNを基盤とし、FCN(Fully Convolutional Network)によるセグメンテーションマスクを統合したモデルがMask R-CNNである。
Mask R-CNNは、物体検出とセグメンテーションを組み合わせたインスタンスセグメンテーションを実現する。
また、FPN(Feature Pyramid Network)を用いることで、小さな物体の検出精度やマスク予測の精度が向上している点も特徴である。

加えて、SSD(Single Shot MultiBox Detector)も重要なモデルである。
SSDVGG-16バックボーンとして採用し、YOLOと同様に1段検出器として設計されている。
リアルタイムでの高速処理と高精度な検出を両立しており、YOLOよりも高精度、Faster R-CNNよりも高速というバランスの取れた性能を有している。

以上をまとめると、R-CNN系列は多段検出器として高精度を実現し、YOLOおよびSSDは1段検出器として高速処理を実現している。
また、Mask R-CNNのように、物体検出とセグメンテーションを統合したモデルも存在する。

セグメンテーション

セグメンテーションとは、画像内の各ピクセルに対してクラスラベルを割り当てる技術である。
この技術は、画像認識の中でも特に詳細な領域分割を必要とする場面で活用される。

セグメンテーションには主に以下の3種類が存在する。

  • セマンティックセグメンテーション:画像内のピクセルをクラスごとに分類するが、同一クラス内の個体識別は行わない。
  • インスタンスセグメンテーション:同一クラス内でも個体ごとにピクセル単位で識別を行う。
  • パノプティックセグメンテーション:セマンティックとインスタンスの両方を統合した手法であり、背景も含めて包括的に分類を行う。
各種セグメンテーション

これらの手法は、ピクセル分類、個体識別、背景の扱いという観点から以下のように整理される。

手法ピクセル分類個体識別背景の扱い
セマンティック
インスタンス❌(主に物体のみ)
パノプティック✓(両方統合)

パノプティックセグメンテーションは最も包括的な手法であるが、その分モデルの規模が大きくなる傾向がある。

G検定においては、主にセマンティックセグメンテーションが対象となっており、一部においてMask R-CNNがインスタンスセグメンテーションとして登場する。

セグメンテーション

モデルの因果関係に着目すると、FCN(Fully Convolutional Network)を起点として、SegNet、U-Netへと発展している。
SegNetFCNを基にエンコーダ・デコーダ構造を導入したモデルであり、U-NetSegNetスキップ結合を加えることで性能を向上させた構造となっている。

また、PSPNetFCNから派生したモデルである。
PSPNetPyramid Pooling Module(PPM)を導入することで、マルチスケールな文脈理解、グローバル情報の補完、複雑なシーンへの対応力を向上させている。
PPM異なるサイズの畳み込み層を並列に配置することで、画像の多様なスケールに対応する構造を持つ。

PPM

さらに、DeepLabAtrous Convolution(またはDilation Convolution)を用いたモデルである。
Atrous Convolutionは畳み込みの受容野を広げる手法であり、カーネルの間に空間的な隙間を設けることで広範囲の情報を取得可能にする。
なお、Atrous ConvolutionDilation Convolution同一の技術であるが、論文上では前者、フレームワーク上では後者の名称が用いられることが多い。
このように、同一技術に対して異なる名称が存在する点には注意が必要である。

次のページへ

コメント

タイトルとURLをコピーしました