問題設定:物体検知としての「エイム」

FutureNNAimbotは、物体検知(object detection)の機械学習モデルを利用することで、FPS(First Person shooter)のゲーム画面上で特定のオブジェクトを認識し、オブジェクトを狙って撃つ「エイム」用のアルゴリズムとして設計されている。このアルゴリズムは、ゲームのメモリを全く阻害せず、スクリーンショットの画像を学習することで、ゲーム画面上のオブジェクトを認識する。

FutureNNAimbotの機能は、「エイム(aim)」の自動化に他ならない。この用語は、FPSのようなアクションシューティング系のゲームで使用されるスラングのようなもので、「狙いを付ける」や「標的に(銃を)向ける」といった動作を意味する。FutureNNAimbotはこの「エイム」を自動化することで成り立つ「チート(cheat)」である。

問題解決策:Yolo

具体的なモデルとして利用されているのは、Alturos.Yoloである。Yoloのアーキテクチャやアルゴリズムはバージョンごとに微妙に異なっているものの、機能的には物体検知(Object detection)を分類ではなく回帰によって成立させるという思想に変わりは無い。他の多くの物体検知とは異なって、Yoloの出力は物体の範囲を指し示すx, y, w, hと検知結果の確信度を表すconfidenceの形式で構成される。

この物体の範囲の推論において鍵となっているのは、Bounding Box Predictionという予測モデルである。YoloのV1論文(Redmon, J., et al., 2016)まで遡ると、画像観測時のYOLOの俯瞰的な視点が主張されている。

“YOLO reasons globally about the image when making predictions. Unlike sliding window and region proposal-based techniques, YOLO sees the entire image during training and test so it implicitly encodes contextual information about classes as well as their appearance.”

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)., pp.779-780.

そしてYOLOは、画像の全体をグリッドに分割する。

“Our system divides the input image into S x S grid.”

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)., p780.

予測ははじめこのグリッドごとに実行される。

“Each grid cell predicts B bounding boxes and confidence scores for those boxes. These confidence scores reflect how confident the model is that the box contains an object and also how accurate it thinks the box is that it predicts.”

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)., p780.

そして、最終的には、対象範囲に応じたサイズのbounding boxが得られる。予測結果はx, y, w, hとconfidenceで、gluon-cv.mxnetのモデルから得られる値に対応している。

“Each bounding box consists of 5 predictions: x, y, w, h, and confidence.”

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)., p780.

V2論文(Redmon, J., & Farhadi, A., 2017)でもこのBounding Box Predictionが精度・速度の面で改善されている。Bounding Boxの位置推定の事前分布として画像セグメンテーションとしてのK-Means法が、IOUを視野に入れた特殊な距離関数と共に導入されている点は、特に注意を引く。

“Instead of choosing priors by hand, we run k-means clustering on the training set bounding boxes to automatically find good priors. However, what we really want are priors that lead to good IOU scores, which is independent of the size of the box.”

Redmon, J., & Farhadi, A. (2017). YOLO9000: better, faster, stronger. arXiv preprint., p7264-7265.

この時点でYOLOは、通常の深層畳み込みニューラルネットワークにおける初期化戦略(ガウス分布など)で発生する乱数パラメタ以外にもK-means法のセントロイドの初期化においても乱数を生じさせていることになる。

派生問題:YOLOv2とYOLOv3の初期値鋭敏性

カオス理論的に言えば、このK-Meansの出力結果はセントロイドの位置座標の初期値に対して鋭敏となる。学習にせよ推論、つまり物体の検出にせよ、この初期値鋭敏性が伴う。故に、K-Meansで派生するノイズの乱雑性は正則化としては機能しない。ノイズを加えれば精度が上がると短絡的に考える理由は何もない。

したがってこの初期値鋭敏性は、モデルの学習に有害な影響を与える可能性がある。とりわけこの可能性は、FPSのゲームの戦況のように、時系列的に観測対象の状態が遷移する場合には深刻になる。

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

V3論文(Redmon, J., & Farhadi, A., 2018)でも、この事前分布のサンプルにK-Means法が用いられている。

“We still use k-means clustering to determine our bounding box priors.”

Redmon, J., & Farhadi, A. (2018). Yolov3: An incremental improvement. arXiv preprint arXiv:1804.02767., p2.

派生問題:オブジェクトのoverlaps

事前分布のサンプリングの段階で行なわれる画像セグメンテーションで苦戦を強いられるような画像では、後の深層畳み込みニューラルネットワークによって構成される事後分布のサンプリングもまた同様に苦戦を強いられる可能性が高まる。

事前分布のサンプリングが画像セグメンテーションであることを踏まえると、オブジェクトのセントロイドや形状部分が重なり合う場合に、苦戦を強いられると予想は付く。

この観点から言えば、V1論文からV3論文まで登場している、overlapsという概念が重要となる。画像にYOLOが検知し得る二つ以上のオブジェクトが存在する場合、あるbounding boxesの背景に別のbounding boxesが存在していることもあれば、それらのbounding boxesが相互に重なり合うこともある。

二次元平面の画像に映る二つのオブジェクトが重なり合うのは、一方が他方よりもカメラに近い場合となる。これは一方が他方よりも大きく見える場合に対応する。この関連から観れば、V2論文でK-means法が導入される直前の文脈で以下のような断り書きがあるのは理由の無いことではないことがわかる。

“Objects, especially large objects, tend to occupy the center of the image so it7s good to have a single location right at the center to predict these objects instead of four locations that are all nearby.”

Redmon, J., & Farhadi, A. (2017). YOLO9000: better, faster, stronger. arXiv preprint., p7264.

そしてv3論文では、当初YOLOが大きなオブジェクトよりも小さなオブジェクトの検出に苦戦していたが、それが今や精度と性能の面で逆転しているという。

In the past YOLO struggled with small objects. However, now we see a reversal in that trend. With the new multi-scale predictions we see YOLOv3 has relatively high APs performance. However, it has comparatively worse performance on medium and larger size objects.

Redmon, J., & Farhadi, A. (2018). Yolov3: An incremental improvement. arXiv preprint arXiv:1804.02767., p2.

しかしこの「大きな(large)オブジェクト」(および「中程度(medium)のオブジェクト」)と「小さな(small)オブジェクト」を区別する場合、overlapsしているオブジェクトの境界が盲点となっている。言い換えれば、large/medium/smallのオブジェクトを区別する場合、オブジェクトと非オブジェクトの区別が盲点となる。つまり画像の二次元平面で言えば、オブジェクトの領域内とオブジェクトの領域外の<差異の統一>が盲点となる。

各オブジェクトの境界線に対する認識精度は、上述した事前分布のサンプリングに伴う乱雑性ゆえに、不確実性が高い部分と言える。とはいえ、YOLOが Object detection として機能する上で、この問題は顕在化し難いと考えられる。YOLOの出力結果は、分類モデルではなく回帰モデルとして形式化されている。x, y, w, hとconfidenceの形式で出力することによって、Bounding Boxesがoverlapsした場合の境界の不確実性は解消( ≒ 無害化 ≠ 解決)されている。

しかしながら、FPSのゲームの戦況は、決して静的ではない。戦況は動的に遷移していく。FPSの「エイム」の対象となる敵たちは、「物体(object)」ではなく「移動体(moving object)」である。オブジェクトが単なる静的な物体ではなく移動体となる場合、オブジェクトと非オブジェクトの境界もまた時系列的に変動することになる。したがって、「エイム」の自動化を物体検知問題ではなく移動体検知問題として再設定するなら、オブジェクトの境界設定の不確実性がより一層有害となるのである。

問題再設定:YOLOによる派生ノイズと情報損失

以上のBounding Box Predictionの副作用に基づく派生問題は、次のように整理できる。

  • 画像セグメンテーションに基づいた事前分布のサンプリングに伴う初期値鋭敏性。
  • および、重なり合うオブジェクト同士の境界設定の不確実性。

この派生問題を前提とした場合、YOLOのモデルは、次のような「ノイズ派生と情報損失を伴わせた特徴変換器」として捉えられる。

  • 入力する情報:映像内に存在する全ての特徴が埋め込まれている画像集合。
  • 出力する情報:検知したオブジェクトのセントロイド、横幅、縦幅、確信度。
  • 派生するノイズ:画像セグメンテーションに基づく事前分布のサンプリングに伴う初期値鋭敏ゆえのバイアス。とりわけ、オブジェクトの中心座標(セントロイド)に関するバイアス。
  • 損失する情報:「入力する情報」から「出力する情報」を差し引いた情報。とりわけ、オブジェクトと非オブジェクト(画像に二次元平面で言えば、オブジェクトの領域内とオブジェクトの領域外)の差異に関する情報。

問題解決策:Yolo v4

この派生ノイズと情報損失に関連した指摘として、2020年に発表されたばかりのYoloのV4論文では、更に予測されたオブジェクトの座標値についての整合性が問題視されている。

to directly estimate the coordinate values of each point of the BBox is to treat these points as independent variables, but in fact does not consider the integrity of the object itself.

Bochkovskiy, A., Wang, C. Y., & Liao, H. Y. M. (2020). YOLOv4: Optimal Speed and Accuracy of Object Detection. arXiv preprint arXiv:2004.10934., p3.

座標値を推定することと、オブジェクトそれ自体の整合性を推定することとは、区別されなければならない。関連研究ではこの問題に対して幾つかの誤差関数が設計されている。

とはいえ、当のV4論文で提案されている新モデルは、Yolov3のアーキテクチャやアルゴリズムとは大きく異なっている。そのために、Yolov4の機能が、Yolov1からYoloV3までのモデルで記述されていた問題の解決策そのものであるとは考え難い。派生ノイズと情報損失の諸問題は、Yolov4で採用される多くの正則化の技術によって解消されているか、あるいは問題そのものが回避されている。

その他にも、V4論文では画像のモザイクやブレなどを活用したデータの水増しによる正則化なども提案されているが、データアーギュメンテーション(Data argumentation
)自体はそもそも何ら新しい指摘とはならない。

しかし、Yolov4の参照問題があくまでも物体検知問題であるという事実に変わりは無い。確かに物体検知器として観れば、V4はV3に比べ、検知精度や検知速度を大幅に改善させている。だがこれが移動体検知としても機能し得るのか否かについては、また別の問題となる。

参考文献

  • 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.