YOLO(2/4)実施例の説明

はぐれ弁理士 PA Tora-O です。前回(第1回)では、YOLOの概要について説明しました。改めて復習されたい方は、こちらのリンクから確認をお願いします。今回(第2回)は、YOLOの実施例について説明します。

ネットワーク構成

YOLOは、畳み込みニューラルネットワーク(CNN)の一種であり、GoogLeNet(Inception-v1)をベースにしたモデルのようです。図1から理解されるように、(1)関心領域の提案機能、(2)物体の検出機能が一体化されており、ネットワーク構成ではその機能が区別できません。

【図1】YOLOのネットワーク構成

出展:“You Only Look Once: Unified, Real-Time Object Detection”

YOLOによれば、物体の検出対象である画像が入力されると、処理結果として、データサイズがS×S×(5B+C)であるテンソルデータが出力されます。ここで、「S」はグリッド分割数、「B」は境界ボックス数、「C」はクラス分類数に相当します。本論文の例では、PASCAL VOC の画像データセットを用いているため、S=7、B=2、C=20に設定されています。

テンソルデータの定義

続いて、テンソルデータの定義について詳しく説明します。このテンソルデータは、境界ボックスの位置及び物体の種類に関するスコアを、画像の部分領域(グリッド)毎に計算するためのパラメータに相当します。

【図2】テンソルデータの解釈(一部加筆あり)

出展:“You Only Look Once: Unified, Real-Time Object Detection”

[1]グリッドの設定
CNNの処理過程を通じて、画像の全体領域がS×S個のグリッドに分割されます。この分割は、画像の描画内容(コンテンツ)にかかわらず固定的に行われるので、1つの物体が複数のグリッドに分割される場合が多くなります。この不都合は、以下のようにテンソルデータを上手く定義することで解消されます。

[2]境界ボックスの位置情報
境界ボックスの位置は、グリッド毎の位置情報として定義されます。この位置情報は、グリッド毎の相対座標系によって、4つの成分(x,y,√h,√w)を有するベクトル形式で表現されます。

[3]境界ボックスの信頼度
境界ボックスの信頼度(Confidence)は、正解(Ground True)との一致度を示すIoUと、物体の存在確率 P(Obj) の積によって計算されます。なお、IoU(Intersection over Union)の定義は、図3に示す通りです。

【図3】IoUの定義

上記した位置情報及び自信度の組(合計5つの成分)は、境界ボックス毎に用意されます。上記した「B=2」の意味は、グリッドサイズが十分に小さいので、1つのグリッドの中に複数の異なる境界ボックス(の一部分)が存在し得るが、高々2個であろう、という仮定に基づきます。

[4]分類結果の確からしさ
物体の分類結果の確からしさは、グリッド毎の条件付き確率 P(Ci|Obj) を用いて表現されます。

[5]物体の検出方法
続いて、上記した信頼度と条件付き確率を積算することで、グリッド毎・種類毎のスコアを導出します。
  スコア = P(Obj)・P(Ci|Obj)・IoU
予め定められた判定閾値を上回るスコアがある場合、該当する「境界ボックスの位置」及び「物体の種類」の組を抽出することで、グリッド毎に物体(全部または一部)が検出されます。そして、隣り合うグリッド同士の検出結果を統合することで、複数のグリッドを跨ぐ物体を検出することができます。

 

以上、今回(第2回)は、YOLOの実施例について説明しました。次回(第3回)は、One-stage Detector の先行技術である “OverFeat” の紹介と、技術的な相違点について説明します。

↓ブログランキングに参加しています。よろしければ1クリックお願いします。

にほんブログ村 士業ブログ 弁理士へ
にほんブログ村

にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村