問題設定:小さな物体についての物体検知は如何にして可能になるのか
物体検知(Object detection)はコンピュータビジョンにおける基礎的かつ重要な問題として認識されている。物体検知のモデルは、画像検索、スマート監視、あるいは自動運転技術など、現実世界のアプリケーションを実現する鍵として認知されている。
しかし、検知したい物体が小さな物体となる場合、物体検知の性能は大幅に劣化することが指摘されている(Bai, Y., et al., 2018)。
「小さな物体の検知(small object detection: SOD)における主な難点は、小さな物体を背景(あるいは類似のカテゴリ)と区別し、その位置を特定するために必要な外観の情報が不足している点である。」
Bai, Y., Zhang, Y., Ding, M., & Ghanem, B. (2018). Sod-mtgan: Small object detection via multi-task generative adversarial network. In Proceedings of the European Conference on Computer Vision (ECCV) (pp. 206-221)., p2.
これを前提とすれば、既存の物体検知モデルの派生問題として位置付けられるSOD問題は、前景と背景の区別によって記述できる。この区別の観点から観れば、SOD問題は、特に背景が動的に変異する映像認識を対象とした物体検知の場合に、より一層深刻な問題として派生することがわかる。
「動的な背景から前景を検出することは、困難な課題である。何故なら、綺麗な背景画像の集合を発見することが非常に困難で、背景もまた動的に変異するからである。前景が消失している時か、映像系列の中で発生している時に、映像のフレームにおける幾つかの部分は綺麗な背景となる。そのため、ほとんどの時間において、ピクセルは背景に属する。これは、我々の研究の基本的な観察である。」
Xu, P., Ye, M., Li, X., Liu, Q., Yang, Y., & Ding, J. (2014, November). Dynamic background learning through deep auto-encoder networks. In Proceedings of the 22nd ACM international conference on Multimedia (pp. 107-116). ACM., p108.
Bai, Y., et al., (2018)の調査結果からも明らかな通り、既存の物体検知器には、SOD問題の解決策としての機能を期待することができない。小さな物体の検知が困難となるのは、小さな物体を捕捉するには画像を拡大せざるを得ず、画像を拡大して観測すれば、解像度の粗い画像を観測せざるを得ないためだ。前景を背景から区別しようとしても、その粗い画像の特徴を直接的に視認しても、ぼやけた境界しか知覚できない。
しかし、粗い解像度の元画像の表現を高解像度の画像表現へと写像する特徴変換器があれば、機能不全に陥っている既存の物体検知器でも、使い物にはなり得る。敵対的生成ネットワーク(generative adversarial network: GAN)によって鍛錬された生成器は、この特徴変換器として機能させることができる。
問題解決策:Multi-Task GAN
Bai, Y., et al. (2018)は、このSODの問題を解決するために、既存の物体検知器に組み込むことができる敵対的生成ネットワーク(generative adversarial network: GAN)に基づいたend-to-endの深層畳み込みニューラルネットワークを提案している。
GANのネットワーク構造は生成器と識別器に区別される。生成器は、超解像表現(super-resolved representations)を生成するために、小さな物体の画像をより大きなスケールにアップサンプリング(up-sample)する。一方で識別器は、物体検知のタスクに分類と回帰の機能を追加するために導入される。分類タスクにおいて識別器は、真の画像と生成された超解像度の画像を観測することで、観測データが実際の画像か生成画像かを識別する。
一方、識別器が取り組む回帰タスクは、物体の最適な境界ボックス(bounding boxes)を探索するために実行される。MTGANのネットワーク構造においては、この識別器の分類誤差と回帰誤差が生成器まで逆伝播されることで、生成器はより単純な分類とより良き物体の位置推定のために、解像度の高い画像を生成するようになる。
GANは生成器Gと識別器Dの学習を敵対的に実行する。この敵対的訓練では、Gの最適化とDの最適化が交互に実行される。GはDを欺くために、サンプルから学習していく。一方でDは生成器によって生成された疑似的な画像を真の画像から識別するべく学習する。この敵対的訓練によって最適化されるGANの誤差は、次のように定義される。
$$\mathcal{L}_{GAN}(G, D) = \mathbb{E}_{x \sim p_{data}(x)}[ \log D_{\theta}(x)] + \mathbb{E}_{z \sim p_z(z)}[\log (1 – D_{\theta}(G_{\omega}(z)))] \tag{1}$$
ここで、zはアトランダムにサンプリングされたノイズを表す。xは真のデータを表わす。$$\theta, \omega$$はそれぞれDとGのパラメタを表わす。目的関数を次のように記述するなら、Gが取り組むのはこの目的関数の最小化であり、Dが取り組むのはこの最大化となる。
$$arg \min_G \max_D \mathcal{L}_{GAN}(G, D) \tag{2}$$
GANのネットワーク構造が全体として取り組むのは、超解像度の表現学習問題、物体検知問題、そして境界ボックスの回帰問題を包含したSOD問題である。
$$\newcommand{\argmax}{\mathop{\rm arg~max}\limits} \newcommand{\argmin}{\mathop{\rm arg~min}\limits} \argmin_{\omega} \max_{\theta} \mathbb{E}_{(I^{HR}, u, v) \sim p_{train}(I^{HR}, u, v)}[\log D_{\theta}(I^{HR}, u, v)] \\ + \mathbb{E}_{(I^{LR}, u, v) \sim p_G(I^{LR}, u, v)}[\log (1 – D_{\theta}(G_{\omega}(I^{LR}), u, v))] \tag{3}$$
ここで、$$I^{LR}, I^{HR}$$は、それぞれ低解像度と高解像度の画像を表わす。uはクラスのラベルで、vは真の境界ボックスを表わす。一般的なGANとは異なり、このGANでは、生成器にはランダムノイズではなく低解像度の画像が入力される。
一方で識別器は、生成された高解像度の画像と真の高解像度の画像を識別するべく学習するだけではなく、オブジェクトのカテゴリを分類し、更には境界ボックスの回帰で物体の位置を推定していく。式(3)が意味しているのは、Gが、真の高解像度の画像から生成された高解像度の画像を識別するべく学習しているDを、欺くことを目指しているという点だ。
GがDを騙せるということは、Gは低解像度の画像を真の高解像度により類似した偽の高解像度画像を生成できるということである。つまり一連の敵対的訓練は、Gに、低解像度の画像を、より真に迫る高解像度の画像へと変換する機能を付与するのである。
機能的等価物:Perceptual GANs
高解像度の画像の特徴写像を担うという点では、Li, J., et al.(2017)のPerceptual GANsで導入されている生成器は、MTGANにおける生成器の機能的等価物であると考えられる。
通常のGANのミニマックスゲームは次のように定式化される。
$$\min_G \max_D L(D, G) = \mathbb{E}_{x \sim p_{data}(x)} \log D(x) + \mathbb{E}_{z \sim p_z(z)}[\log (1 – D(G(z)))]$$
ここで、Gはノイズ分布$$p_z(z)$$からサンプリングされたデータzをxの下での$$p_{data}(x)$$の分布へ写像する生成器を表す。Dは、観測データがGよりも$$p_{data}(x)$$のデータ分布によってサンプリングされている確率を推定する識別器を表す。Gの学習過程は、Dが推定を誤る確率を最大化するべく進行する。
Li, J., et al.(2017)のPerceptual GANsでは、このxとzが、それぞれ大きな物体(large objects)と小さな物体(small objects)の表現となる。大きな物体と小さな物体の特徴はそれぞれ、$$F_l, F_s$$とするなら、Perceptual GANsにおけるGの機能は、$$F_s$$の表現を$$F_l$$の元々の表現と類似するように変換することであると言える。しかしこの写像は、$$F_s$$の特徴に含まれている情報が制約されているために、困難となる。
そこでLi, J., et al.(2017)のPerceptual GANsでは、Gを新しい条件付き生成器に代替している。この生成器は、追加の補助情報を条件として観測することで、大きな物体と小さな物体の表現間の残差表現を生成することで、小さな物体の特徴fの低次元の表現を学習する。
$$\min_G \max_D L(D, G) = \mathbb{E}_{F_l \sim p_{data}(F_l)} \log D(F_l) + \mathbb{E}_{F_s \sim p_{F_s}(F_s \mid f)} [\log (1 – D(F_S + G(F_s\mid f)))]$$
この場合、生成器の学習は、小さな物体の超解像表現(super-resolved representations)を直接的に学習する場合よりも大幅に単純化することが可能になる。例えば、観測データ点の表現が大きな物体から得られたサンプルである場合、生成器はゼロの写像を学習するだけで済む。
この関連からLi, J., et al.(2017)は、物体検知機能としての有用性を高めるために、識別器に知覚的損失(perceptual loss)の関数を導入している。生成器が小さな物体の超解像表現の生成を目的としているのに対して、識別器の学習は敵対的誤差と知覚的誤差の二つに分岐する。敵対的誤差では、識別器は大きな物体についての元画像と超解像表現との間の誤差を逆伝播する。一方で知覚的誤差は、通常のGANにおけるミニマックス問題とは異なる方法で、生成された表現から得られる検出精度を妥当なものにするために参照される。
パラメタ$$\Theta_g$$を有する生成ネットワークを$$G_{\Theta_g}$$とすると、このパラメタは誤差関数$$L_{dis}$$から次のように得られる。
$$\Theta_g = \argmin_{\Theta_g} L_{dis}(G_{\Theta_g}(F_s)) \tag{1}$$
ここで、$$L_{dis}$$は識別器によって計算された敵対的誤差$$L_{dis\_a}$$と知覚的誤差$$L_{dis \_ p}$$の加重和となる。識別器の訓練は、小さな物体$$G_{\Theta_g}(F_s)$$の生成された超解像表現と大きな物体$$F_l$$の表現の双方に対して正しいラベルを割り当てることによって、その確率を最大化するべく実行される。
$$\Theta_a$$のパラメタを有する識別器の敵対的誤差のネットワークを$$D_{\Theta_a}$$とするなら、このパラメタは誤差関数$$L_a$$によって次のように最適化される。
$$\Theta_a = \argmin_{\Theta_a}L_a(G_{\Theta_g}(F_s), F_l) \tag{2}$$
ここで、
$$L_a = – \log D_{\Theta_a} (F_l) – \log (1 – D_{\Theta_a}(G_{\Theta_g}(F_s))) \tag{3}$$
これにより、識別器のネットワークは、現在生成されている小さな物体の超解像表現と真の大きな物体から得られた元画像の表現との間の差異を識別するように促される。
生成された超解像表現から利益を享受して検知精度を妥当なものに仕上げていくためには、大きな物体の特徴に基づき、知覚的誤差の最適化を最初に十分実行しておかなければならない。パラメタ$$\Theta_p$$を有した識別器を$$D_{\Theta_p}$$とするなら、このパラメタは大きな物体についての表現を参照した誤差関数$$L_{dis \_ p}$$から、次のように得られる。
$$\Theta_p = \argmin_{\Theta_p} L_{dis \_ p} (F_l) \tag{4}$$
ここで、$$L_{dis \_ p}$$は物体の分類とbounding-box regressionのマルチタスクの誤差関数となる。
学習時にはまず、データセットにおける全てのインスタンスの平均的なサイズを参照することで、相対的に小さな物体のサブ集合と相対的に大きな物体のサブ集合に区別する。そして、大きな物体を含むサブ集合に基づいて、ニューラルネットワークの各層のパラメタの学習を実行していく。更に、知覚的誤差によって学習したパラメタを用いて、小さな物体を含むサブ集合と、双方のサブ集合を観測する識別器の敵対的誤差に基づいて、生成器を更に訓練していく。
参考文献
- Bai, Y., Zhang, Y., Ding, M., & Ghanem, B. (2018). Sod-mtgan: Small object detection via multi-task generative adversarial network. In Proceedings of the European Conference on Computer Vision (ECCV) (pp. 206-221).
- Li, J., Liang, X., Wei, Y., Xu, T., Feng, J., & Yan, S. (2017). Perceptual generative adversarial networks for small object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1222-1230).
- Xu, P., Ye, M., Li, X., Liu, Q., Yang, Y., & Ding, J. (2014, November). Dynamic background learning through deep auto-encoder networks. In Proceedings of the 22nd ACM international conference on Multimedia (pp. 107-116). ACM.