YOLO(You Only Look Once)は、画像中の物体を高速かつ高精度に検出するディープラーニングアルゴリズムです。従来の物体検出手法とは異なり、画像全体を一度だけ畳み込みニューラルネットワークに入力して物体の位置と種類を同時に予測するため、リアルタイム処理に非常に優れています。防犯カメラや自動運転など幅広く活用されています。
YOLOとは
YOLOは、画像全体を1回確認するだけで、中に何がどこにあるかを素早く特定できるリアルタイム物体検出手法です。
詳しく解説
従来の物体検出モデルでは、画像内の候補領域を段階的に絞り込んでから識別を行う手法が主流でしたが、YOLOは画像全体を格子状のグリッドに分割し、単一の畳み込みニューラルネットワーク(CNN)で領域予測とクラス分類を同時に実行します。この『1回の処理(You Only Look Once)』で検出を完結させる構造により、処理速度が飛躍的に向上しました。検出の精度と速度のバランスに優れており、エッジデバイスやリアルタイム映像解析における標準的なアルゴリズムとして進化を続けています。
具体例・使われ方
自動運転システムにおける歩行者や障害物のリアルタイム検知、防犯カメラ映像からの不審者や車両の特定、工場における製品の欠陥検査、スポーツ解析での選手やボールのトラッキングなどに利用されています。
似た用語との違い
Faster R-CNNなどの2段階検出モデル(Two-stage detector)は、候補領域の抽出と識別を別々に行うため精度が高い一方で処理に時間がかかります。これに対しYOLOは1段階検出モデル(One-stage detector)であり、精度と処理速度を両立させて高速なリアルタイム処理を実現しています。
注意点
YOLOは高速である反面、初期のバージョンでは画面内で密集している小さな物体や、アスペクト比が極端な物体の検出精度が落ちる傾向がありました。また、用途やハードウェア環境に応じて適切なバージョンやパラメータを選択しないと、十分な性能が得られない場合があるため注意が必要です。