1行定義
YOLOとは、画像全体を1つのCNNに一度だけ通し、物体の位置とクラスを同時に予測する、高速な1段階型の物体検出モデルのことです。
くわしく
YOLO(You Only Look Once)は、2015年にJoseph Redmonらが発表した物体検出モデルです。名前のとおり、画像をネットワークに一度見せるだけで、どこに何があるかを答えます。
2段階型と1段階型
それまで主流だったR-CNN系の手法は、まず物体がありそうな候補領域を挙げ、次に候補ごとに中身を分類する2段階の手順をとっていました。精度は高いものの、手順が多く、処理に時間がかかります。
YOLOは、この2つの段階を1つにまとめました。物体を囲む枠(バウンディングボックス)とクラスを、1つのCNNで画像全体からまとめて予測します。このような方式を1段階型(ワンステージ)と呼びます。
しくみ
最初のYOLOは、入力画像を7×7のグリッド(マス目)に分けます。各マスは、自分の中に中心がある物体について、枠の位置と大きさ、物体がある確からしさ(信頼度)、クラスごとの確率を出力します。最後に、同じ物体に重なった枠を整理して結果を決めます。
特徴と弱点
基本のモデルはGPUで毎秒45枚の画像を処理でき、動画をその場で解析するリアルタイム検出を実現しました。画像全体を見て判断するため、背景を物体と取り違える誤りも少なめでした。
一方、各マスが出せる枠の数が少ないため、小さな物体が密集する場面は苦手です。枠の位置の正確さでも、当時の2段階型に及びませんでした。その後、YOLOv2、YOLOv3と改良版が続き、弱点は少しずつ改善されています。同じ1段階型の代表的なモデルにSSDがあります。
覚え方
「候補を挙げずに、一度見ただけで答える」のがYOLOです。
G検定での出題
出題のされ方
候補領域を作らずに位置とクラスを1つのネットワークで同時に予測する1段階型である点、R-CNN系の2段階型との速度の違い、グリッドごとに予測する仕組みと小さな物体が苦手な点が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| YOLOこのページの用語 | 画像全体を1つのCNNに一度だけ通し、物体の位置とクラスを同時に予測する、高速な1段階型の物体検出モデル |
| SSD | 解像度の異なる複数の特徴マップの各位置に置いた基準の枠をもとに、物体の位置とクラスを一度に予測する1段階型の物体検出モデル |
| Faster R-CNN | 候補領域の抽出もニューラルネットワーク(RPN)で行うようにして、検出を高速にした2段階型の物体検出モデル |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
最初のYOLOは、物体がありそうな候補領域を先に約2,000個切り出し、その1つずつをCNNで分類する。
答えを見る
答え × 誤り
それはR-CNNの手順です。YOLOは候補領域を作らず、画像全体から物体の位置とクラスを一度に予測します。
-
最初のYOLOは、1つのグリッドセルが予測できる物体の数に限りがあるため、鳥の群れのように小さな物体が密集した場面を苦手とする。
答えを見る
答え ◯ 正しい
各セルは少数の枠と1組のクラス確率しか出しません。1つのセルに複数の小さな物体が入ると取りこぼしやすく、論文でも限界として挙げられています。
-
最初のYOLOは、高速さと引き換えに、物体を囲む枠の位置を正確に合わせる精度では、当時の2段階型の手法に及ばなかった。
答えを見る
答え ◯ 正しい
論文でも、位置合わせの誤りが多い一方、背景を物体と取り違える誤りは少ないと報告されています。後の版で位置の精度は改善されました。