CNNでパディングを用いる理由と画像サイズ維持の仕組み

こんにちは。ゆうせいです。

画像認識の分野で活用される畳み込みニューラルネットワーク(CNN)では、入力画像に対してフィルタと呼ばれる小さな数値の枠組みを重ね合わせ、特徴を抽出する畳み込み処理を行います。この処理を進める際、画像の周囲に特定の数値を付け足す「パディング」という操作が頻繁に適用されます。画像処理においてパディングを取り入れる背景には、画像の寸法変化や端に存在する情報の扱いに関する明確な理由が存在します。パディングの基礎概念、活用する目的、メリットとデメリットを順を追って解説します。

パディングの基礎概念と役割

パディングとは、入力画像の外周に余白となるピクセルを追加し、元の画像を一回り大きく拡張する処理を指します。

パディングの働きを額縁のマットに例える

パディングの役割は、絵画を飾る際に絵の周囲へ配置する白い台紙(額縁のマット)に例えられます。

絵画の端にある描画を保護したい場合、額縁の枠が絵の端に直接重なると、端の部分が見えにくくなったり隠れたりします。絵の周りにあらかじめ無地の余白台紙を敷いておけば、額縁の枠を余白の上に配置できるため、絵の端に描かれた内容まで隅々まで確認できるようになります。

CNNにおけるパディングも同様に、入力画像の周囲に数値(多くは0)を配置することで、元の画像の端にあるピクセルに対してもフィルタを十分に適用できるようにします。

パディングを用いる2つの理由

畳み込み処理においてパディングを適用する主な目的は、画像の寸法縮小を防ぐことと、端の情報消失を防ぐことの2点に整理されます。

画像サイズの縮小防止

フィルタを画像の上で端から順にずらしながら重ね合わせの計算を行うと、出力される特徴マップの寸法は元の画像よりも小さくなります。

例えば、縦横5マスの画像に対して縦横3マスのフィルタを適用すると、フィルタが収まる範囲は縦横3マス分にとどまり、出力されるデータは一回り小さくなります。畳み込み層を何十層も重ねる深層モデルでは、パディングを行わないと層を通過するたびに画像サイズが急激に減少し、途中でそれ以上の畳み込み処理を適用できなくなります。

外周に幅1マスの余白を追加してあらかじめ縦横7マスへ拡張しておけば、3マスのフィルタを適用しても出力サイズを元の5マスのまま維持できます。画像寸法を一定に保つことで、ネットワークを多層に構築することが可能になります。

画像の端に存在する情報の保護

パディングを行わない畳み込み処理では、画像の中央付近にあるピクセルと端にあるピクセルとで、計算に利用される回数に偏りが生じます。

中央のピクセルは、フィルタが少しずつずれていく過程で何度もフィルタの範囲内に含まれます。一方、四隅や境界付近のピクセルは、フィルタが画像の端に到達したごくわずかな回数しか計算に含まれません。端に写っている重要な輪郭や被写体の特徴が、層を重ねるごとに軽視され、出力結果へ反映されにくくなります。外周に余白を設けることで、画像の端にあるピクセルもフィルタの中央付近で捉えられる機会が増加し、境界付近の情報を均等に抽出できます。

パディングの種類と計算手順

代表的なパディングの手法には、ゼロパディングと呼ばれる処理があります。外周を数値の0で埋める手法であり、計算が簡潔であるため標準的に採用されています。

入力画像の高さをH、幅をWとし、フィルタの大きさをF、パディングで外周に追加するピクセルの厚みをP、フィルタを動かす歩幅(ストライド)をSとします。出力される特徴マップの高さH_outおよび幅W_outを求める計算式は次の通りです。

H_{out} = \frac{H + 2P - F}{S} + 1

W_{out} = \frac{W + 2P - F}{S} + 1

例えば、高さ5、幅5の画像(H=5, W=5)に対し、大きさ3のフィルタ(F=3)を歩幅1(S=1)で適用する場合を考えます。

パディングを行わない場合(P=0):

高さは (5 + 0 - 3) / 1 + 1 = 3 となり、縦横3マスのデータへ縮小します。この設定はValidパディングと呼ばれます。

外周に厚み1の余白を追加する場合(P=1):

高さは (5 + 2 - 3) / 1 + 1 = 5 となり、元の寸法である縦横5マスが保持されます。入出力のサイズを同一にするこの設定はSameパディングと呼ばれます。

パディングのメリットとデメリット

CNNの設計においてパディングを取り入れる際の特性を整理します。

メリット

  • 畳み込み処理に伴うデータの縮小を回避できるため、層を深く重ねたネットワーク構造を設計できます。
  • 四隅や境界付近のピクセルが計算に組み込まれる頻度が向上し、画像の端に存在する被写体の特徴を保持できます。
  • 入力と出力の縦横寸法を一致させられるため、スキップ結合のように異なる層同士のデータを足し合わせる構造を構築しやすくなります。

デメリット

  • 外周に余白ピクセルを追加する分だけ全体のデータサイズが拡張され、畳み込み計算の総量とメモリ使用量が増加します。
  • ゼロパディングを採用した場合、本来の画像には存在しなかった「値が0の境界」が人工的に付加されるため、境界線付近の特徴抽出に僅かな偏りが混入する可能性があります。

まとめ

パディングに関する理解を深めるための学習手順は次の通りです。

  1. 5×5のマス目に数値を配置した手書きの図を想定し、3×3のフィルタを用いてValidパディングとSameパディングそれぞれの出力サイズを手計算で比較する。
  2. 外周を0で埋めるゼロパディングのほかに、最も外側のピクセル値を外側へ引き延ばすレプリケーションパディングや、鏡のように反転させるリフレクトパディングの計算規則を確認する。
  3. 畳み込み層で維持したデータサイズを、必要な段階で計画的に半分へ縮小して情報量を凝縮させる「プーリング処理」の役割へと学習を進める。

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
海外放浪の末、2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。