SPPnet(1/4)発明の概要

はぐれ弁理士 PA Tora-O です。今回のテーマとして、物体検出の一手法であるSPPnetを題材に取り上げていきます。

背景

畳み込みニューラルネットワーク(以下、CNN)型の画像分類器である“AlexNet”の登場に伴い、CNNを導入した物体検出手法が提案されています。その一例として、R-CNN(Regions with CNN features)が挙げられます。このR-CNNでは、[1]全体画像の中から物体を含む部分画像を抽出し、[2]抽出された部分画像のサイズを調整し、[3]調整済みの部分画像をCNNに投入します。

参考:R-CNN(1/2)発明の概要

問題の所在

ところで、画像サイズを調整する際に、拡縮処理の場合には「画像の歪み」が、トリム処理の場合には「画像情報の欠損」が、パディング処理の場合には「ダミー情報の付加」がそれぞれ起こります。このように、元の画像とは異なる処理済みの画像を用いて検出を試みるため、どうしても検出精度が低下する傾向がみられます。

解決手段

そこで、上記した問題を解決すべく、SPPnetという構造モデルが提案されました。この技術は、Kaiming He et al.の論文(v4;2015) に記載されています。論文のタイトルから察する通り、SPPは、”Spatial Pyramid Pooling”の略記です。この表現だけではモデルを正確にイメージしにくいと思われますので、以下の図1,図2を用いて解説します。

【図1】SPPnetの構成例

[機能1]特徴抽出部
 ・層構成:C層&P層の混成
 ・入力 :抽出された部分画像
 ・出力 :特徴ピラミッド
 ・処理 :画像の局所演算とダウンサイジングの反復

[機能2]物体検出部
 ・層構成:F層&S層の構成
 ・入力 :特徴ピラミッドをフラット化した1次元配列データ
 ・出力 :検出結果(物体の位置および種類)
 ・処理 :ニューラルネット演算

図1のC層、P層、F層、S層はそれぞれ、畳み込み層(Convolution Layer)、プーリング層(Pooling Layer)、全結合層(Fully Connected Layer)、ソフトマックス層(SoftMax Layer)を表しています。CNNには、上記した4種類の層以外にも、正規化層を含む場合がありますが、今回のテーマとの関連性が薄いので説明を省略します。

【図2】後段層群のブロック図

図2の後段層群は、プーリング演算を通じて、特徴マップのサイズ変換を行います。ここで、後段層群は、直列的に接続された3つのプーリング層から構成されます。

  • 第1層:(H×V)→(4×4)のマップサイズ変換
  • 第2層:(4×4)→(2×2)のマップサイズ変換
  • 第3層:(2×2)→(1×1)のマップサイズ変換

ここで、入力データは、チャンネル(Ch)毎の特徴マップに相当します。この特徴マップのサイズは、横(H)×縦(V)であり、特徴抽出部に入力される部分画像のサイズに概ね比例します。

一方、出力データは、チャンネル(Ch)毎の特徴ピラミッドになります。この特徴ピラミッドは、第1~第3層からそれぞれ出力された多重解像度マップ(Multi-Resolution Map)の集合体であり、部分画像のサイズによらず一定のサイズを有しています。図2の例では、特徴ピラミッドを構成するピクセル数は、(4×4+2×2+1×1)=21個です。

このように、SPPnetは、CNNの途中で適切なプーリング演算を行うことで、CNNに入力される画像サイズの違いを吸収する点に技術的な特徴があります。サイズ違いを吸収できるということは、R-CNNのような事前のサイズ調整が不要になることを意味します。

以上、今回(第1回)は、SPPnetについて、その背景を含めて説明しました。この技術をさらに詳しく知りたい方は、例えば、「SPPnet」で検索してください。次回(第2回)は、SPPnetの実施例について検討していきます。

↓ブログランキングに参加しています。よろしければ1クリックお願いします。

にほんブログ村 士業ブログ 弁理士へ
にほんブログ村

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村