【初心者向け】物体検出(物体検知)とは何か?わかりやすく解説!

物体検出とは

物体検出とは、箱(バウンディングボックス)を使って、画像の中の物体の位置推定とクラス分類を同時に実行するタスクです。下記の図の場合、PersonとBicycleがバウンディングボックス(矩形)に囲まれていて、確信度のスコアが表示されています。画像分類は画像の中の1つの物体だけクラス分類が可能です。一方、物体検出は画像中の複数の物体に対して、物体ごとに位置推定とクラス分類が可能です。

物体検出の教師データ

物体検出では物体の場所と物体名を予測するタスクですので、物体検出の教師データは短形(4点座標)とラベルになります。教師データは通常アノテーションデータとして準備、以下のような.xml形式のファイルを作成します。

有名なものにPascal Vocデータがあります。画像データとアノテーションデータがセットで与えられる事を覚えておきましょう。

物体検出の流れ

物体検出では主に以下の2つの流れで行われます。まず最初に検出対象となる物体が画像中のどこにありそうかを探索します。その後、検出した物体が具体的に何であるかを画像分類します。最初のステップで検出対象となる物体候補となる検出窓が多ければ多いほど、たくさんの検出窓に対して検証をしないといけない為、計算量が大きくなります。最後のSTEPでは、それぞれの検出窓に対して画像分類を行います。通常の画像分類タスクと同様に、機械学習の分類器が利用されます。

物体検出の主要なモデル

物体検出はFaster R-CNN、YOLOなど複数モデルがありますが、ここではSSDモデルを解説します。SSDは2016年に提案されたモデルで精度(mAP: mean average precision)、速さ(fps:frame per second)を兼ね揃えたモデルです。SSDはSSD300、SSD512の2つのモデルがあります。ここでは縦×幅の画像サイズが300×300のSSD300で説明します。

こちらは、YOLO v2のサイトです。YOLOはSSDと同様、リアルタイムが可能な物体検出モデルでv2はSSDよりも高速なモデルです。実際に、下記のYOLO v2の動画を見てみてください。YOKO v2物体検出をGPUで動かすと、リアルタイム処理が可能で、バウンディングボックスを高速に作成します。物体検出は自動運転、ロボット、無人コンビニなど幅広い作業への応用が期待されています。

物体検出・画像認識を学ぶには

物体検出を学ぶに限らず、機械学習技術を学ぶ上でおすすめなのは、機械学習エンジニアからいつでも質問できる環境で学ぶことが大切です。

AI Academy Bootcampなら、6ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービスを提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください。

3 COMMENTS

現在コメントは受け付けておりません。