1.物体検出って何?
物体検出(英: object detection)とは
写真や動画に「何が」、「何処に」映ってるかを特定すること
1.1物体検出の簡単な流れ
画像を入力 ⇒ 物体検出モデルが画像を分析 ⇒ 画像を出力
・分析したい画像を「物体検出モデル」に入れると、画像に何が何処に映ってるかを勝手に調べてくれて出してくれます。
1.2物体検出モデルって何?
画像を分析してくれるAIのこと
・画像を受け取ったモデルは、「この画像には○○が××に映ってる! △△は□□に映ってる!」といった感じで調べてくれます。
・このモデルにはいろいろな種類があって、「識別の正確性を上げよう」、「識別の早さを上げよう」といった感じに日々研究されていて、改良が進んでいます。
2.YOLOって何?
物体検出モデルの一つ
識別の正確性よりも、「識別の早さ」を改良したモデル
・自動運転などでは、ドライブレコーダーからどれだけ早く何が何処に映っているかを知る必要があるので、よりリアルタイムに近い検出ができるようにモデルを改良しました。
2.2YOLOの仕組み
① 画像をS×S個の小さな正方形に分割する
②-1 バウンディングボックスの要素(5つ)を求める
②-2 一つ一つの小さな正方形が何を映しているかを判断する
③ ②-1と②-2を組み合わせて結果を出す
①:画像を画像をS×S個の小さな正方形に分割する
・入力された正方形の画像をさらに小さなS×S個の正方形に分割します。
・この小さな正方形を論文内では「グリッドセル(grid cell)」と呼んでます。
②-1:バウンディングボックスの要素(5つ)を求める
◎バウンディングボックスって何?
各小さな正方形にB個、配置される長方形だったり四角形だったりするもの
◎一つのバウンディングボックスは5個の特徴を持つ
・x:バウンディングボックスの中心のx座標
・y:バウンディングボックスの中心のy座標
・w:バウンディングボックスの横幅
・h:バウンディングボックスの縦幅
・F:信頼度
◎信頼度って何?
バウンディングボックスで囲った部分が、「背景」か「物体」かを表す数字。
$$ \huge{{0\leqq信頼度\leqq1}} $$
・信頼度は0から1までの間の数字です。
・信頼度が0に近いほど、バウンディングボックスの中身は「背景」を表しています。
・信頼度が1に近いほど、バウンディングボックスの中身は「物体」を表しています。
◎全部の小さな正方形に対してバウンディングボックスを描いた結果
②-2:一つ一つの小さな正方形が何を映しているかを判断する
・各小さな正方形がC種類のクラス中で、どのクラスに所属している可能性が高いかを判断します。
◎全部の小さな正方形を判断し、色分けした結果
③:②-1と②-2を組み合わせて結果を出す
・たくさんのバウンディングボックスから適切なものを選ぶために、NMS(Non-maximum suppression)という方法を使います。
◎NMS(Non-maximum suppression)って何?
余計なバウンディングボックスを消す方法
◎NMS(Non-maximum suppression)の流れ
・各クラスごとに、一番信頼度の高い枠を選びます。
・その枠と他の枠の重なり具合(IoU)を調べて一定以上の割合で重なっている枠を消します。
◎IoUって何?
基準の枠とその他の枠の重なり具合(割合)を表す数字
$$ \huge{{0\leqq IoU\leqq1}} $$
・IoUは0から1までの間の数字です。
・IoUが0に近いほど、2つの枠は「重なっていない」を意味します。
・IoUが1に近いほど、バウンディングボックスの中身は「重なっている」を意味します。
◎NMS(Non-maximum suppression)を行った後
YOLOシリーズの違いを簡単にまとめてみた
YOLOv5を実際に使ってみた①
【連合学習】YOLOが利用されている次世代の技術
参考文献
Yolo公式サイト
Yolo論文