最新AI論文をキャッチアップ

物体検知のゴールドスタンダード!YOLO シリーズの新モデルを紹介!

物体検知のゴールドスタンダード!YOLO シリーズの新モデルを紹介!

Object Detection

3つの要点
✔️ 物体検知の分野でゴールドスタンダードとも言える YOLO の新たなモデルを提案
✔️ 物体検知の分野における最新技術を導入し、実験的に評価

✔️ MSCOCO Tesla V100 にて、43.5%AP(65.7 %AP50)、65 FPS を達成

YOLOv4: Optimal Speed and Accuracy of Object Detection                
written by Alexey Bochkovskiy, Chien-Yao Wang, Hong-Yuan Mark Liao
(Submitted on 23 Apr 2020)

Comments: Published by arXiv 
Subjects: Object Detection (cs: OB)

Code

背景

現在、深層学習の中で最も発展の著しい分野といっても過言ではない、「物体検知」の王道とも言える YOLO シリーズの新モデル yolov4 について、ご紹介していきます。

物体検知 (Object detection)とは

物体検知は、「ある画像(動画)を取り込み、画像(動画)から定められた物体の位置とカテゴリー(クラス)を検出する」手法のことです。例えば、以下の画像から、「ネコ」と「ネコの位置」を含めて検出するといった手法のことを指します。

従来の CNN との大きな違いは、「物体の種類」と「位置」の両方を検出する必要があるという点で、物体予測(確率マップ)と物体位置(連続値)の二つを出力する必要があります。具体的には、Bounding Box (矩形)と呼ばれる物体を囲む四角を推定していくことになります。

 この Bounding Box は、「中心座標(x ,y)」「幅」「高さ」「物体の種類」の5つの要素から構成されます。そのため、この5つの要素を CNN によって推定していくことになります。

 また、深層学習における物体検知は以下の二つの分類問題を解くモデルによって定義されます。

  1. 入力画像から固定サイズのウィンドウをすべての可能な位置で取得する問題
  2. 取得した領域(バッチ)を画像分類器に入力し、分類する問題

 この時、各ウィンドウが求まれば、SVM をはじめとした従来の機械学習で用いられている分類手法、また物体位置を回帰問題として推定するモデルに渡すことで、Bounding Box に必要な 5 つの要素が求まります。

 そのため、物体検出の肝は、最初の「ウィンドウサイズをどのように取得するか」であり、この点をどのように求めていくかによって、そのモデルの性能が決まっていくことになります。ウィンドウサイズの求め方の一つに、入力画像をダウンサンプリングし、複数サイズ用意した上で、固定サイズのウィンドウを求める方法があります。この方法では、64段階のダウンサンプリングを行い、各段階について、ウィンドウを求めます。この方法によって、様々な物体における「サイズ」「位置」の問題を特定することができます。

また、もう一つの問題として、「縦横比(アスペクト比)」があります。これは、同じ人でも、座っている状態と立っている状態で、異なるアスペクト比を持つように、物体ごとに様々な形で存在します。この問題については、Faster R-CNN という手法で最初に提案された、「アンカーボックス(Anchor Box)」が解決手法の一つとして提案されています。本記事では、深くは触れませんので、ご興味がある方は是非調べてみてください!

ここまで言っていきましたが、その大前提の検出を全てEnd-to-Endにした手法もあり話題になりました。現在行われているECCVにも出ていますが、AI-SCHOLARでは「ついに出た!本当にDETR! 物体検出の革新的なパラダイム」解説されています。他のAIエンジニアさんのアンテナ力に驚かされます。

YOLO とは

YOLOとは、リアルタイム物体検出 (object detection) システム のスタンダードな手法の一つで、2015 年から提案されて以来、多くのユーザに使用されている物体検知モデルです。それまでの手法では画像全体から、一度物体の候補となる領域を選定(Selective search)し、選定された領域をもとに SVM 等のアルゴリズムで分類を行っていました。しかし、こうした手法では、精度の向上は望めるものの、一度領域を選定する仮定を踏む必要があることから、リアルタイムに物体を検出するには不向きな一面がありました。

 YOLO では、この段階を省略することで、リアルタイム性に特化したアルゴリズムをなっています。まず、画像全体を S × S (通常、S=7) のグリッドに分解し、各グリッドで N 個の bounding box と confidence を予測します。ここでいう、confidence は、「Bounding Box の精度」と「Bounding Box が実際にオブジェクトを含むか(クラス関係なし)」に基づいて計算されます。YOLO ではこの二つを合わせ、一つの回帰問題として、問題設定を行うことで、領域候補の選定をすることなく、高速な物体検出を可能にしています。

一方、「分割されたグリッドサイズは固定」「グリッド内で識別できるクラスは1つ」「検出できる物体の数は2つ」といった制約があり、グリッド内に大量の物体がある場合に、識別精度が落ちる欠点があります。こうした点を解消し、識別精度を向上していったのが、後の、yolov2 yolov3 といったモデルです。

※ YOLO は、「You Only Look Once」(You only live once : 人生は一度きり、のもじり)の頭文字です。 

続きを読むには

(9813文字画像16枚)

AI-SCHOLARに
登録いただく必要があります。

1分で無料で簡単登録する

または

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする