画像ピラミッド
読み: がぞうぴらみっど
元画像を段階的に縮小して多解像度の画像群を構築するデータ構造。物体検出やテンプレートマッチングでスケール不変性を実現するために用いられる。
画像ピラミッド (Image Pyramid) は、1 枚の画像から解像度を段階的に下げた複数の画像を生成し、ピラミッド状に積み上げたデータ構造である。各レベルは前のレベルを縮小したもので、底辺が元画像 (最高解像度)、頂点が最も粗い画像に対応する。
代表的な構築方法として、ガウシアンピラミッドとラプラシアンピラミッドがある。ガウシアンピラミッドはガウシアンフィルタで平滑化した後に 2 分の 1 にダウンサンプリングする操作を繰り返す。レベル 0 が原画像、レベル 1 は幅・高さが半分、レベル 2 はさらに半分となり、レベル k の解像度は元画像の 1/2^k になる。
- ガウシアンピラミッド: 各レベルで低域通過フィルタ + ダウンサンプリングを適用する。OpenCV では
cv2.pyrDown()で 1 段下げられる - ラプラシアンピラミッド: 隣接するガウシアンレベルの差分を保持する。画像の高周波成分 (エッジ) を各スケールで分離でき、画像合成やブレンディングに活用される
- スケール係数: 一般的には各レベルで解像度を 1/2 にするが、SIFT では
2^(1/3)刻みなどより細かいスケール間隔を使用する
画像ピラミッドの応用範囲は広い。物体検出ではスライディングウィンドウを複数スケールで走査する代わりに、固定サイズの検出器をピラミッドの各レベルに適用することで計算量を削減する。テンプレートマッチングでは粗いレベルで候補領域を絞り込み、細かいレベルで精密な位置合わせを行う粗密探索が可能になる。