Efficient Scan-Window Based Object Detection using GPGPU 松島千佳 8. 19. 2008 はじめに 歩行者検出における問題点 HOG特徴量の算出時に重複部分が存在するため処理コストが高い 検出ウィンドウの移動やスケールの変化 検出ウィンドウ内のブロックの移動 解決法 制限付きHOG特徴量の算出方法 多重解像度の入力画像を用意しセルのサイズで分割 事前に全てのヒストグラムを算出 GPUを用いた高速化 GPGPUのプログラムモデル 1. 入力データを2次元のテクスチャに変換し,GPUのメモリに転送 2. フラグメントプログラムを全てのピクセルに対し実行 3. いくつかのテクスチャ間を反復し,レンダリング手順を実行 CPUベースのHOG-SVM検出器 歩行者検出 DalalらによってHOG-SVMを用いた手法が提案 歩行者検出の実行時間について分析 スキャンウィンドウのサイズ: w×h (w = 64,h = 128) Histogram of Oriented Gradients (HOG) グレースケールの画像から算出される傾きのヒストグラムを 正規化したもの パラメータ 1セル : r×r ピクセル (r = 8) ビンの数 : 8ビン 1ブロック : c×cセル (c = 2) HOGのメモリアクセス数の演算コスト HOG特徴量のベクトル計算 効率よく算出するためにIntegral Imageを使用 Lは特徴ベクトルの大きさ 4点の頂点演算で四角い領域内の和を算出 アクセスコストの比率 Integral Imageを用いた方がアクセスコストは低い 事前計算することに対しオーバーヘッドが存在 SVM識別器 統計的な学習方法 クラス内のマージンが最大となる識別境界を決めること 線形SVM 特徴ベクトルと重みベクトル間の内積 出力が閾値より大きければ特徴ベクトルは人として識別 メモリアクセスに関する演算コストは2L 入力画像の1スケールにおける検出の総演算コスト dはスキャンウィンドウのずらし幅 GPUベースのHOG-SVM検出器 問題点 Integral Imageの演算をGPGPUへ応用することは難しい GPU-CPU間のデータ転送は高コスト 解決方法 4つのモジュールに分割して処理 スケーリング 特徴抽出 識別 削減 スケーリング 入力画像だけを転送 GPU内で異なるスケールの画像を全て生成 メインメモリからGPUへ転送するデータを削減 特徴抽出 隣接したスキャンウィンドウにはオーバーラップ存在 ずらし幅が小さいため 提案方法 スキャンウィンドウに左右されないヒストグラムを事前に演算 識別モジュールの後に異なるウィンドウ間でそれらを共有 ずらし幅dの大きさはセルの大きさrと同じ ヒストグラムのセルの境界はいつもスキャンウィンドウのずらし幅 特徴抽出のレンダリングの手順 識別 特徴量の配列から結果を格納するテクスチャにレンダリング ヒストグラムの値と重みベクトル間の内積を算出 算出した値を正規化 特徴抽出と識別ステップの総演算コスト CPUベースのものと提案法のアクセスコストの比率 今回のパラメータを使用した場合,比率は0.46 Integral Imageを用いたHOG-SVM検出器よりも2倍速い 識別のレンダリング手順 評価(1) 検出器の性能を評価 INRIAの人データを使用 パラメータ r=d=8 c=2 スケール比 = 1.2 評価(2) 検出器の処理速度を評価 CAVIARデータセットを使用 3つの異なる方法を実装 1. 2. 3. CPUベースでIntagral Imageを用いた検出器(CPU-II) CPUベースでヒストグラムを事前に演算した検出器(CPU-HC) GPGPUベースの検出器(GPGPU) おわりに GPUのを用いたHOG特徴量の算出方法について記述 スケール比率が1.05の場合 GPGPUを用いた検出器は1画像あたり73msで処理することが可能
© Copyright 2024 ExpyDoc