【第79回】AIはどこに何があるかどう見つける?物体検出(R-CNN, YOLO等)とは導入
画像の中に何があるかだけでなく、「どこにあるか」も知りたい場面があります。
そのための技術が物体検出です。
この記事では、R-CNNやYOLOなどの代表手法をやさしく解説します。
1. 読み方
ぶったいけんしゅつ (Object Detection)
2. 意味(定義)
「画像の中から、特定の対象物(物体)を見つけ出し、その位置を四角い枠(Bounding Box)で囲み、さらにそれが何であるか(クラス)を特定する技術」のことです。
分類 (Classification): 「この写真には犬が写っています」
物体検出 (Object Detection): 「写真のここ(座標)に、犬(クラス)がいて、あそこ(座標)に、猫(クラス)がいます」
【間違い探しの例え】
あなたは「間違い探し」の絵を見ています。
画像分類の状態: あなたは、その絵全体を見て「これは間違い探しの絵だ」と判断します。
物体検出の状態: あなたは、絵の中を隅々までスキャンして、「ここ(座標)に、鼻の形が違うクマがいる(クラス)」「あそこ(座標)に、帽子を忘れたウサギがいる(クラス)」と、間違いの場所と種類を特定します。
3. 歴史・背景
物体検出の歴史は、「いかにして『どこにあるか』を効率よく見つけるか」という、「精度 vs 速度」の戦いの歴史です。大きく分けて2つの系統(アプローチ)が進化してきました。
① 2段階検出法 (Two-Stage Detector) 【慎重な調査員】
まず「物体がありそうな場所」をざっくり探し出し、その後に「そこには何があるか」を詳しく調べる、という2ステップを踏む手法です。
代表例: R-CNN シリーズ (R-CNN → Fast R-CNN → Faster R-CNN)
特徴: 精度は非常に高いが、2段階の手順を踏むため、処理に時間がかかり「遅い」。
② 1段階検出法 (One-Stage Detector) 【素早いスナイパー】
「物体がありそうな場所」と「それが何か」を、たった一度のスキャンで同時に決定してしまう手法です。
代表例: YOLO シリーズ (You Only Look Once)
特徴: 精度は2段階法に一歩譲ることもあるが、とにかく「爆速」。リアルタイム(動画など)の処理が可能。
4. 比較・対比(似た用語との違い)
ここが試験で狙われる「整理」ポイントです!
R-CNN系 (Two-Stage) vs YOLO系 (One-Stage)
R-CNN: 「慎重・高精度・低速」。物体候補の抽出と分類を分ける。
YOLO: 「迅速・リアルタイム・高速」。一度のスキャンで全て終わらせる。
物体検出 vs セグメンテーション (Segmentation)
物体検出: 物体を「四角い枠(Bounding Box)」で囲む。
セグメンテーション: 物体の形に沿って「ピクセル単位」で塗りつぶす。(より精密な境界線が必要な場合に使用)
5. 活用シーン(どんな問題に使うか)
自動運転: 「歩行者」「信号機」「他の車」をリアルタイムで検知する。
防犯カメラ・監視システム: 「不審な動きをする人物」や「放置された荷物」を自動で見つける。
工場の検品作業: ベルトコンベアを流れる製品の「傷」や「欠陥」を瞬時に特定する。
スマート農業: 果実の「熟し具合」や「虫食い」をカメラで判別する。
6. G検定での出題傾向
G検定では、以下のポイントが狙われます!
手法の分類(最重要): 「R-CNNは2段階検出法」「YOLOは1段階検出法」という分類と、それぞれの「速度・精度」の特徴。
アルゴリズム名と特徴の紐付け: 「Faster R-CNN ↔ 高精度」「YOLO ↔ 高速・リアルタイム」。
用語の意味: 「Bounding Box(境界枠)」や「クラス(分類ラベル)」といった基本用語。
物体検出 vs セグメンテーションの違い: 枠で囲むのか、ピクセル単位で塗りつぶすのかという違い。
7. G検定の例題
【問題1:検出手法の分類】
物体検出アルゴリズムにおける「2段階検出法(Two-Stage Detector)」と「1段階検出法(One-Stage Detector)」に関する記述として、最も適切なものはどれですか?
A. 2段階検出法は、一度のスキャンで物体の位置とクラスを同時に決定するため、YOLOなどの手法がこれに該当する。
B. 1段階検出法は、物体が存在する可能性のある領域をまず特定し、その後に分類を行うため、R-CNNなどの手法がこれに該当する。
C. 2段階検出法(R-CNNなど)は、精度が高い傾向にあるが、処理速度は1段階検出法(YOLOなど)に比べて遅い傾向がある。
D. 1段階検出法は、画像内のすべてのピクセルに対してセグメンテーションを行うため、非常に高精度である。
【問題2:アルゴリズムの特徴】
「You Only Look Once (YOLO)」という名称を持つ物体検出アルゴリズムの最大の特徴として、正しいものはどれのどれですか?
A. 物体候補領域を抽出するプロセスと、分類プロセスを完全に分離して行うため、極めて高い精度を実現している。
B. 画像を一度スキャンするだけで、物体の位置特定とクラス分類を同時に行うことができ、リアルタイム処理に適した高速な検出が可能である。
C. 畳み込み層の代わりに、すべて全結合層のみを使用することで、計算量を大幅に削減している。
D. 物体の境界線をピクセル単位で精密に特定すること(セグメンテーション)に特化したアルゴリズムである。
8. 例題の回答と解説
【問題1 の回答】
正解:C
【解説】
A は「1段階検出法」の説明です。
B は「2段階検出法」の説明です。
C が正解。R-CNN系は慎重に探すので精度は高いですが、時間がかかります。
D は「セグメンテーション」の説明であり、物体検出の定義とは異なります。
【問題2 の回答】
正解:B
【解説】 YOLO(You Only Look Once)はその名の通り、「一度見るだけ」で処理を完了させます。この「一度のスキャンで位置とクラスを同時に決める」という仕組みが、爆速なリアルタイム検出を可能にしています。A はR-CNNの特徴、C は誤り、D はセグメンテーションの特徴です。
