224 Views
December 12, 24
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2024年度後期輪読会 第9回 [物体検出] Yolov2とその応用 京都大学 工学部 情報学科 数理工学コース B2 稲葉陽孔 1
アジェンダ ■ Yoloの手順と課題点 ■ Yolov2の改善点 ■ Yolov2の応用例(Fast Yolo) 2
アジェンダ ■ Yoloの手順と課題点 ■ Yolov2の改善点 ■ Yolov2の応用例(Fast Yolo) 3
Yoloの手順と課題点 ■ Yoloの手順(復習) 1.画像を448×448に直す 2.S×Sの格子状に画像を分ける(grid cellと呼ぶ) 3.各grid cellにおいて、B個のbboxを扱い、それに加えてconfidence(IoUで決める)を加える 4.各gird cellにおいて、Class probability mapを求める 5.2.と3.で得られた情報を元に、Final Predictionsを求める(NMSによって結合・削除) ■ 課題点 ・localization error(物体の場所における誤差)が大きい ・再現率が低い(=本物の物体を検出する能力が低い) →これらを解決するためにYolov2を作成 (resized) 4
アジェンダ ■ Yoloの手順と課題点 ■ Yolov2の改善点 ■ Yolov2の応用例(Fast Yolo) 5
Yolov2の改善点 ■Yolov1からの変更点 ・正規化層の追加 ・訓練させる際の事前学習済モデルの学習方法を変更 ・アンカーボックスの導入 ・Bboxの結合・削除の手法を改善 ・オフセットの改善 ・スキップ接続の導入 ・複数の画像サイズで訓練 ・入力画像の対象変更 6
Yolov2の改善点 ■正規化層の追加 各畳込み層において、正規化層を追加 ■訓練用学習済モデルの訓練方法を変更 v1では「ImageNetの224×224の画像を448×448の画像にリサイズ→事前学習」 だったが、これでは「事前学習とサイズ変換を同時に行う」必要がある →「448×448の画像から直接事前学習」に変更 7
Yolov2の改善点 ■アンカーボックスの導入 ・v1における後半の層を削除し、 14×14の特徴マップからアンカーボックスを用いてBboxを予測(VGG16) Yolo(v1) ・大きい物体は画像の中心を占めること いので、中心に関する情報が重要になる →特徴マップのサイズを奇数(13×13) にするために入力画像を416×416にし、 それに合わせてモデルのサイズも縮小 ※ :削除する層 が多 →mAPは下がったが、recallは上昇(81→86) 8
Yolov2の改善点 ■Bboxの結合・削除の手法を改良 Yolo v1では、NMSによる削除・結合の手法を用いていた →Bboxの選択肢が少ない →k-means法によって取りうる Bboxの選択肢を増やす 9
Yolov2の改善点 ■Bboxの結合・削除の手法を改良 k-means法によるBboxの結合・削除 →最終的なBbox予測手法が改善され、モデルが学習しやすくなる k-means法における距離 ※centroid:k-means法における重心 box :Bbox 10
Yolov2の改善点 ■オフセット(Bbox座標調整用パラメーター)の改善 Anchor Boxを用いてBboxを予測する場合、Bboxの座標調整のためにtxとtyも予測する Bboxの座標調整式 ※wa,ha:幅・高さ xa,ya:x座標・y座標(Bboxの元となるアンカーの左上座標) x,y:x座標・y座標(最終的なBboxの中心・(xa,ya)に対する相対座標) しかし、txとtyは無制限に値が取れるので、Bboxがどこにも移動しうる →学習が不安定になるので、オフセットの取り方を変える必要が出る 11
Yolov2の改善点 ■オフセットの改善 以下の式で座標調整することで、Bboxの中心座標の範囲が収まり、学習が安定する Bboxの座標調整式 ※pw,ph:幅・高さ(Bbox) cx,cy:x座標・y座標(Bboxの元となるアンカーの左上座標) bx,by:x座標・y座標(最終的なBboxの中心) σ:ロジスティック関数 tx,ty,tw,th,to:オフセット :Bboxのクラスと座標が合っているかに関する指標を予測 12
Yolov2の改善点 ■スキップ接続の導入 黄色部分(reorg)によって13×13のfeature mapと26×26のfeature mapをスキップ接続 →低解像度×高解像度の feature mapを扱え、 小さな物体も検出できるよう になる reorgの手法 13
Yolov2の改善点 ■複数の画像サイズで訓練 画像サイズの候補を{320,352,,,608}にし、各サイズ毎にネットワークのサイズも変え、訓練す る →解像度の異なる画像においても安定した精度が出る ■入力画像の対象を変える 入力画像を低解像度にすると精度が悪いので、高解像度の画像を対象にする 14
Yolov2の改善点 ■MAP・FPS比較結果 ■クラスごとのMAP比較結果 15
アジェンダ ■ Yoloの手順と課題点 ■ Yolov2の改善点 ■ Yolov2の応用例(Fast Yolo) 16
Yolov2の応用例 (Fast Yolo) ■概要(Fast Yolo) Yolov2はリアルタイムで計算・実行できるがGPU使用量が高く、メモリが制限されているデバイ スでビデオから物体検出するのは困難 →リアルタイムでビデオから検出するために高速化したFast Yoloを開発 motion-adaptive layer ■Fast Yoloの改善点(概要) ・Yolov2の構造を変更 ・motion-adaptive inferenceの導入 17
Fast Yoloの改善点 ■Yolov2の構造を変更 従来のYolov2では計算量が多いのでパラメーターを最適化し、計算量を削減する必要がある。 →最適化方法として遺伝アルゴリズムを採用(パラメータ数が2.8倍減) 18
Fast Yoloの改善点 ■遺伝アルゴリズム 1.Heredity(パラメーターの遺伝子)が継承される確率を計算 ※Hg:g回目の進化時のモデル構造 Sg:g回目の進化時のニューロン間の接続(=シナプス) に関する状態集合 wg,i:g回目の進化時のシナプス iの重み Z:正規化項(定数) 2.遺伝要素に環境要素(ランダム性)を付与し、最終的なパラメーターを引き継ぐ確率を計算 3.シナプスを残すか乱数によって選択 ※C:モデル構造によって変化する 環境要素(乱数)の取りうる最大値 ※U(0,1):0~1の間から取得する一様乱数 19
Fast Yoloの改善点 ■概要(motion-adaptive inference) 各ビデオフレーム毎に物体検出を行うと計算に伴う消費電力(/sec)が大きくなる →motion-adaptive inferenceによって特定のビデオフレームに 物体検出を施す必要があるか判断し、消費電力を削減し、処理速度を向上 20
Fast Yoloの改善点 ■手順(motion-adaptive inference) 1.フレームIt,Irefから1×1ConvによってYoloを通すか否か判断 2.Yoloを通す場合、Itから最適化済Yoloによって検出し(Class Probability Map) そうでない場合はIrefのProbability Mapを用いて検出する 3.Yoloを通した場合、IrefをItに更新 4.1~3を繰り返す ※It:現在のフレーム Iref:以前にスタックしたフレーム 21
Fast Yoloの改善点 ■精度・パラメータ数比較 ※O-Yolov2 ■FPS比較 パラメーター最適化 のみ行ったYolov2 22