問題設定:回帰問題としての物体検知問題

基本的にFast R-CNNとFaster R-CNNは、物体検知問題を<物体の分類問題>と<バウンディングボックスの回帰問題>に区別することで設計されている。概念史的に観察するなら、この物体検知問題の枠組みは、言うなれば<物体の分類問題>に<バウンディングボックスの回帰問題>を追加することで構成されていると見做せる。この観点から観れば、Fast R-CNNとFaster R-CNNは、分類モデルの機能的な拡張系として記述できる。

しかし、こうして<物体の分類問題>と<バウンディングボックスの回帰問題>の区別を導入すること自体には、必然性が無い。元々、ニューラルネットワーク最適化問題としての分類問題は、積層構造や活性化関数のような要素を追加した線形回帰モデルに、ソフトマックス関数と交差エントロピー誤差関数を実装することで成立する。分類問題の歴史を遡れば、この問題を回帰問題として再記述することも不可能ではないことがわかる。

したがって、物体検知問題をあくまでも回帰問題として記述したジョセフ・レドモンらのYOLO(You Only Look Once)のモデリングは、決して突飛な発想ではない。YOLOの設計では、分類モデルを機能的に再利用する代わりに、バウンディングボックスと関連するクラス確率への回帰問題として、物体検知問題が再記述されている。

問題解決策:YOLO

Fast R-CNNやFaster R-CNNのネットワーク構造が<バウンディングボックス回帰モデル>と<分類モデル>へと機能的に分化していたのに対して、YOLOはあくまでも単一のネットワーク構造で、物体のクラス確率推定とバウンディングボックス回帰を同時に成し遂げる。そのためYOLOは、全体の構造が単純で、処理も高速化できる。

YOLOのネットワーク構造では、入力された画像が$$S \times S$$のグリッドに分割される。物体検知は、物体の中心が位置するグリッドのセルとの対応関係から実行される。各グリッドセルは、$$B$$個のバウンディングボックスとそのバウンディングボックスの確信度(confidence scores)を予測する。この確信度は、バウンディングボックスの内部に物体が位置していると予測するモデル自身の信頼度と、その予測がどの程度正確であるのかについてのモデル自身の信頼度を表している。定式化して言えば、この確信度は次のように計算される。

$$p(Object) \times IoU_{pred}^{truth}$$

ここで、$$p(Object)$$は当該セルに物体が位置する確率を表す。また$$IoU_{pred}^{truth}$$は、予測されたバウンディングボックスと真のバウンディングボックスの和集合上の交差部分の割合を表す。もし当該セルに物体が存在していない場合、この確信度は$$0$$になる。

どのバウンディングボックスの情報も、バウンディングボックスの中心座標を表す$$(x, y)$$, バウンディングボックスの横幅と縦幅を表す$$w$$と$$h$$、そして確信度で構成されている。

また、どのグリッドセルにおいても、条件付きクラス確率$$C = p(Class_i \mid Object)$$が計算される。これらの確率は、内部に物体が位置するグリッドセルによって条件付けられている。YOLOでは、バウンディングボックスの個数$$B$$に拘わらず、一つのグリッドセルにつき、一つのクラス確率集合を予測する。

テストの段階では、この条件付き確率と個々のバウンディングボックスの確信度を乗算することで、推論を実行する。各バウンディングボックスにおいて、クラスに特化した確信度は次のように計算される。

$$p(Class_i \mid Object) \times p(Object) \times IoU_{pred}^{truth} = p(Class_i) \times IoU_{pred}^{truth}$$

この値は、クラス$$i$$がバウンディングボックス内部に位置する確率と、予測されたバウンディングボックスが物体にどの程度適合しているのかを反映した値となる。

YOLOのネットワーク構造は、典型的な深層畳み込みニューラルネットワークとして構成されている。ただしその出力層には、次のようなLeaky ReLu(leaky rectified linear)が採用されている。

$$\phi(x) = \begin{cases} x \ (x > 0) \ 0.1x \ (x <= 0) \end{cases}$$

誤差関数には「二乗和誤差(sum-squared error)」を採用することで、ニューラルネットワーク最適化を容易にしている。ただしこのニューラルネットワーク最適化では、平均的な精度を最大化するという問題解決には至らない。YOLOの設計段階では、位置の誤差と物体の分類誤差が等しく重み付けられている。だがこれは理想的ではない可能性もある。

「多くのグリッドセルに物体が含まれている画像」というのは、全体のデータセットから観れば、希少かもしれない。そのため、これらのセルの確信度が$$0$$に近付くことで、物体を含むセルから逆伝播される勾配を相殺してしまう恐れもある。これにより、学習は不安定化する。

この観点からYOLOの設計者たちは、バウンディングボックスの座標予測からの誤差を増大させると共に、物体を含まないバウンディングボックスの確信度予測に由来する誤差を減少させるためのパラメタ$$\lambda_{coord} = 5$$と$$\lambda_{noobj} = 0.5$$を用意している。これらは、言わば二つの誤差に適用されるトレードオフのパラメタとなる。

上述した誤差関数は、バウンディングボックスの面積に拘わらず、等しく重み付けを実行する。だが、大きなバウンディングボックスにおける小さな偏差は、小さなバウンディングボックスにおけるそれよりも重要ではない。この重要度は、誤差の数値にも反映されていなければならない。そのためYOLOでは、バウンディングボックスの横幅と縦幅を直接的に予測するのではなく、それぞれの平方根を予測している。

YOLOはグリッドセルごとに複数のバウンディングボックスを予測する。学習時には、一つのバウンディングボックス回帰の予測結果のみが、各物体に対応付けられる必要がある。そのため各予測器には、どの予測が真のバウンディングボックスで、IoUが最大化するのかに基づいて物体を予測するという「責任(responsible)」が割り当てられている。これにより、それぞれのバウンディングボックスごとに、予測器の特化が進行する。各予測器は、特定のサイズ、アスペクト比、そしてまた物体のクラスをより適切に予測することで、全体の再現率(recall)を向上させている。

以上を念頭に置けば、YOLOの誤差関数は全体として次のようになる。

$$\lambda_{coord}\sum_{i=0}^{S^2}\sum_{j=0}^B {1}_{ij}^{obj}[(x_i – \hat{x}_i)^2 + (y_i – \hat{y}_i)^2]$$

$$+ \lambda_{coord} \sum_{i=0}^{S^2}\sum_{j=0}^B{1}_{ij}^{obj}\left[ (\sqrt{w_i} – \sqrt{\hat{w}_i})^2 + (\sqrt{h_i} – \sqrt{\hat{h}_i})^2\right]$$

$$+ \sum_{i=0}^{S^2}\sum_{j=0}^B{1}_{ij}^{obj}(C_i – \hat{C}_i)^2$$

$$+\lambda_{noobj}\sum_{i=0}^{S^2}\sum_{j=0}^B {1}_{ij}^{noobj} (C_i – \hat{C}_i)^2 $$

$$+\sum_{i=0}^{S^2}{1}i^{obj}\sum{c \in classes}(p_i(c) – \hat{p}_i(c))^2$$

ここで、$${1}i^{obj}$$は、セル$$i$$に物体が位置する場合を指し示す。$${1}_{ij}^{obj}$$は、セル$$i$$における$$j$$番目のバウンディングボックスの予測器がその予測に「責任がある」ということを指し示している。

注意しなければならないのは、この誤差関数は、物体がグリッドセル内に位置する場合に、分類誤差を罰則として提示する。このことは上述した条件付きクラス確率の計算からも明らかだ。また上記の誤差関数は、予測器が真のバウンディングボックスに「責任がある」場合に、バウンディングボックスの位置の誤差を罰則として提示する。

YOLOの限界

YOLOは、バウンディングボックス回帰の予測に対して、強い空間的な制約を課している。各グリッドセルは、二つのボックスのみを予測し、尚且つ一つのクラスしか持つことができない。この空間的な制約は、物体検知問題においては機能的に等価と見做せるYOLOとR-CNNの重要な差異を指し示している。

「YOLOとR-CNNの間には、幾つかの類似点がある。各グリッドセルは、潜在的なバウンディングボックスを提案し、畳み込みされた特徴を利用することで、それらのボックスにスコアを付与する。しかしながら、我々のシステムは、グリッドセルの提案に空間的な制約を課すことで、同一の物体に対する複数の検知を補助する。」
Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You only look once: Unified, real-time object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 779-788)., p783.

この空間的な制約により、モデルが予測できる近傍のオブジェクトの個数が制限されることになる。実際YOLOの設計者たちは、鳥の群れなど、画像内に集合体で表示されている小さな物体(small objects)の検知に奮闘していた。

YOLOのモデルは、データからバウンディングボックスを学習する際に必要となる汎化に苦戦している。そのため、テストデータにアスペクト比や物体の構成などの点で、新奇性や異常性の高い観測データ点が含まれている場合には、汎化誤差の増加が懸念される。

加えて、YOLOの深層アーキテクチャには、入力された画像をダウンサンプリングする層が複数配置されている。そのためこのモデルでは、バウンディングボックスの予測が比較的粗い特徴抽出を前提に実行される。

YOLOの上述した誤差関数は、バウンディングボックスの面積の大小には拘わらず、同様の処理で誤差を計算する。面積の大きなバウンディングボックスにおける小さな誤差は、確かに学習には無害である。しかし、小さなバウンディングボックスにおける小さな誤差は、IoUに大きな影響を及ぼす。

問題解決策:YOLOv2

Fast R-CNNに比して、物体の位置に対するYOLOの予測性能は低い。Faster R-CNNが準拠していた領域提案ベースの方法と比較しても、YOLOの再現率は比較的低くなる。そのためYOLOは、分類の精度を維持しながら、位置の予測性能と再現率の改善のために拡張されることになった。

同時代のコンピュータビジョン(Computer vision)の解決策として機能していた深層アーキテクチャは、大規模かつ深いネットワーク構造で構成される傾向にあった。この時代の深層学習では、性能改善は、大規模化されたネットワーク構造を前提とした学習や複数のモデルのアンサンブルによって実現すると考えられていた。

しかしこれに対して、YOLOv2の設計では、より正確かつ高速な検知器が目指された。YOLOv2の設計者たちは、ネットワーク構造を大規模化させる代わりに、逆にネットワークを単純化することで、表現学習を容易にする策を採った。

バッチ正規化

YOLOv2が第一に採用したのは、「バッチ正規化(Batch normalization)」である。バッチ正規化は、他の正則化を必要とすることなく、大幅な性能改善を実現している。YOLOv2では、全ての畳み込み層にバッチ正規化が追加されている。これによりYOLOv2は、mAPを2%以上向上させることに成功している。

バッチ正規化は、モデルそのものの正規化においても機能する。バッチ正規化は過剰適合を防止すると共に、モデルからドロップアウトを除去することも可能にする。バッチ正規化があれば、ドロップアウトは不要になる。

高解像度分類器

この時代の物体検知器の多くは、ImageNetによる事前学習に依存していた。AlexNet以降、大多数の画像分類器は、$$256 \times 256$$ピクセル未満の入力画像で動作していた。YOLOv1も、分類器のネットワークを$$224 \times 224$$で訓練し、その解像度を、検知用に$$448 \times 448$$へと引き上げていた。これは、YOLOv1が事前学習と「微調整(fine-tuning)」に依存した学習アルゴリズムと深層アーキテクチャで構成されていたことを意味する。そのためYOLOv1では、ImageNetに準拠した深層ネットワークを物体検知器として再構築すると共に、新しい入力画像の解像度に調整する必要があることを意味する。

YOLOv2の場合は、最初から$$448 \times 448$$の解像度の画像を対象に、ImageNetで10エポックの事前学習を実行している。これにより、ネットワークはフィルターを調整することで、より高解像度の画像入力で、より適切に機能するようになる。ここから物体検知器として微調整すると、mAPが約4%増加したという。

アンカーボックス

YOLOは、畳み込みニューラルネットワークの表現学習を前提とした上で、バウンディングボックスの座標を直接的に予測する。一方、Faster R-CNNは、座標を直接的に予測する代わりに、厳密に定義された事前分布を利用することで、バウンディングボックスを予測する。このFaster R-CNNとYOLOの差異は、YOLOv2のネットワーク構造の設計に大きな手掛かりを与えている。

Faster R-CNNにおける領域提案ネットワーク(RPN)は、畳み込み層のみを利用することで、アンカーボックスのオフセットと確信度を予測する。予測の層もまた畳み込み層である。そのためRPNは、特徴写像の全ての場所で、これらのオフセットを予測する。座標の代わりにオフセットを予測することにより、バウンディングボックス回帰問題が単純な問題として再設定されているのである。

この観点から、YOLOv2の設計者たちは、アンカーボックスを利用したバウンディングボックスの予測器に着目する。v2の設計ではまず、プーリング層を一つ削除することで、ネットワークの畳み込み層から得られる特徴写像を高解像度にしている。また、ネットワーク全体の複合性を縮減するために、$$448 \times 448$$ではなく$$416 \times 416$$の画像サイズで動作するようにも変更している。

こうした画像サイズが採用されるのは、特徴写像に奇数の場所が必要となるためである。また、中央には必ず一つのセルが配置されていることが望ましいからでもある。物体、特に大きな物体は、画像の中央に位置する傾向がある。

アンカーボックスを導入したYOLOv2では、クラス確率推定の機能と、物体の位置についての予測機能が、疎結合状態になる。そしてその代わりとして、全てのアンカーボックスのクラスとオブジェクト性(objectness )が予測対象となる。尤も、ここでいうオブジェクト性の予測は、依然として、真のバウンディングボックスとのIoUから計算される。また、クラス確率は、物体がそのボックスに位置する場合の条件付きクラス確率となる。

問題解決策:YOLOv3

V2論文(Redmon, J., & Farhadi, A., 2017)では、このアンカーボックスの推定機能が精度・速度の面で改善されている。このモデルでは、バウンディングボックスの位置推定の事前分布を得るために、K-Means法による画像セグメンテーションが、IoUを視野に入れた特殊な距離関数と共に導入されている。

V3論文(Redmon, J., & Farhadi, A., 2018)でも、この事前分布のサンプルにK-Means法が用いられている。YOLOv2とYOLOv3は、通常の深層畳み込みニューラルネットワークにおける初期化戦略で発生する乱数パラメタ以外にもK-means法のセントロイドの初期化においても乱数を生じさせていることになる。カオス理論的に言えば、このK-Meansの出力結果はセントロイドの位置座標の初期値に対して鋭敏となる。学習にせよ推論、つまり物体の検出にせよ、この初期値鋭敏性が伴う。故に、K-Meansで派生するノイズの乱雑性は正則化としては機能しない。ノイズを加えれば精度が上がると短絡的に考える理由は何もない。

したがってこの初期値鋭敏性は、モデルの学習に有害な影響を与える可能性がある。とりわけこの可能性は、時系列的に観測対象の状態が遷移する場合には深刻になる。確かに初期値に介在する乱数は、一枚一枚の画像をスナップショットのように閲覧する場合には無害となる。だがこのYOLOの出力結果を時系列的に参照する場合と、尚且つYOLOの事後分布のサンプリングがこの乱数性を汎化できていると信頼しない場合には、YOLOの尤度を信頼しないということになるために、一つの系列の中の文脈であるにも拘らず、その系列集合の各要素にはそれぞれ異なる乱数値が影響を及ぼしてしまうことになる。一般的にK-means法の初期化には一様分布が用いられるため、この有害性は最大と捉えられる。

参考文献

  • Bochkovskiy, A., Wang, C. Y., & Liao, H. Y. M. (2020). YOLOv4: Optimal Speed and Accuracy of Object Detection. arXiv preprint arXiv:2004.10934.
  • Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You only look once: Unified, real-time object detection. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 779-788).
  • Redmon, J., & Farhadi, A. (2017). YOLO9000: better, faster, stronger. arXiv preprint., p7264-7265.
  • Redmon, J., & Farhadi, A. (2018). Yolov3: An incremental improvement. arXiv preprint arXiv:1804.02767.