物体検知とは

どうもエンジニアのYです。

近年のトップダウン型AIの社会進出に伴い、AIソリューションの一つともなっている「物体検知」も幅広い業界で使用され始めています。

そこで今回は、その「物体検知技術」について、初心者にもわかりやすくまとめていきます。

目次

物体検知の基本

物体検出とは、AIにおける画像認識技術の一種で、画像や動画中の物体のインスタンスを見つけるためのコンピュータビジョン技術になります。

物体検出アルゴリズムは、通常、機械学習やディープラーニングを活用して意味のある結果を生成します。

人間は画像や映像を見るとき、一瞬のうちに興味のあるオブジェクトを認識し、その位置を特定することができ、物体検出の目標は、この知能をコンピュータで再現することになります。

現実世界では物体検出は、自動車が走行車線を検出したり、歩行者を検出したりして、交通安全を向上させる先進運転支援システム(ADAS)を支える重要な技術であり、ビデオ監視や画像検索システムなどにも応用されています。

最新の物体検知技術とその進化

物体検知技術は日々進化しており、特に深層学習の登場により、その精度は飛躍的に向上しています。

畳み込みニューラルネットワーク (CNN) をベースにしたYoloは高精度かつ処理と学習の速さ、そしてデータの揃えやすさから、物体検知のための代表的なモデルとして広く知られています。

You Only Look Once(Yolo)は、リアルタイムオブジェクト検出アルゴリズムです。YOLO(You Look Only Once)の名前通り、このアルゴリズムでは検出窓をスライドさせるような仕組みを用いず、画像を一度CNNに通すことで、オブジェクトを検出することができ、物体検知技術の開発において非常に有効な手段となっています。

以下はYoloのメリットになります。

  1. 非常に高速:複雑なパイプライン不要。CNNのみ。
  2. 予測時に画像全体についてグローバルに推論:画像全体を見るため、クラスに関する文脈情報(周辺情報)を暗黙にエンコード。
    → 画像内の背景を物体と誤認識する可能性が低下
  3. 汎化性能向上:新しいデータや予期せぬ入力に適用された場合でも影響を受けにくい

You Only Look Once(Yolo)の構成は以下のようになっています。

1. 主要な構成要素

YOLOはCNNベースのアーキテクチャを採用しており、画像から特徴を捉えるために複数の畳み込み層を用い、その後、物体の位置と確率を推測するために全結合層を組み込んでいます。

このネットワーク設計は、画像分類向けのGoogLeNetモデルから影響を受けていますが、24層の畳み込み層に続いて2層の全結合層を有し、GoogLeNetのインセプションモジュールを使用する代わりに、シンプルな1x1の畳み込みの後に3x3の畳み込みを適用する点では異なります。

2. インセプションモジュールとは

インセプションモジュールは、1x1、3x3、5x5などの異なるサイズのフィルターを持つ複数の畳み込み層を並列に配置することで構成されています。

この設計により、さまざまなスケールでの特徴抽出が可能となり、性能向上が期待できます。大きなモデルに単純に層を重ねると過学習や勾配消失の問題が生じる可能性がありますが、インセプションモジュールではこのような問題を回避しつつ効率的な計算を実現しています。

1x1の畳み込み層を介して、より大きなフィルターサイズの層に入力することで、計算コストを大幅に削減しています。

例えば、512チャネルの特徴マップに5x5フィルターを適用する場合、直接適用すると5x5x512x64で計算量は819200になりますが、1x1フィルターを間に挟むことで、(1x1x512x24)+(5x5x24x64)で計算量を50688にまで減少させることができます。

Yoloでの検知の仕組み

Yoloは主に以下の手順で物体を検知します。

  1. 画像をSxSのセルに区切る

画像内の物体の中央が特定のグリッドセルに位置する場合、そのセルが物体の識別を担当します。

  1. 各グリッドセルで、B個の境界ボックスとそれらの信頼度スコア(Pr(Object)*IOU)を推定

信頼度スコアは、ボックス内に物体が含まれる確率を示します。セル内に物体がない場合、信頼度は0(IOUが0のため)。存在する場合、予測ボックスと基準ボックスとの重なり(IOU)と等しい値になるように学習します。

各ボックスの予測は5つの要素(x, y, w, h, confidence)で構成され、(x, y)はグリッドセル内のボックスの中心の位置、(w)と(h)は画像全体に対して相対的なサイズを表します。

  1. 各グリッドセルは、C個のクラスの条件付き確率Pr(Classi|Object)も推定

ボックスはB個予測されますが、クラス確率は1つだけです。テスト時には、クラス確率と各ボックスの信頼度の積を計算します。この計算により、各ボックスに対するクラス固有の信頼度スコアが算出され、ボックスが物体にどの程度適合しているかとそのクラスに属する確率を含みます。S=7、B=2、C=20の設定では、最終的な予測は7x7x30(30=5x2+20)のテンソルになります。

IOUとは

IOU(Intersection Over Union)は、オブジェクト検出タスクにおいて、予測された境界ボックスと実際の(基準)境界ボックスとの重なりを測定する指標です。IOUは、予測ボックスと基準ボックスの交差部分(Intersection)と、両ボックスの合併部分(Union)の比率で計算されます。この値は0から1の間であり、1に近いほど予測の精度が高いことを示します。オブジェクト検出モデルのパフォーマンス評価において、IOUは予測の正確性を評価するための重要な指標となります。

実際の事例紹介

物対検知は現在様々な箇所で使用されています。

ここではいくつか代表例を挙げていきます。

1.テーマパークなど娯楽施設での群衆分析(来場者数分析や監視カメラなど)

2.自動車産業などでの物品の識別

3.飲食業界での検知(自動洗浄機に入れる際に事前に異物が含まれていないかチェックをする)

まとめ

このように物体検知技術は、多岐にわたる分野での活用事例があります。

日常生活の至るところでも物体検知が使われているところもあり、これからもどんどん世の中に進出をしてくるであろうと考えています。

超人気アニメ「ソード・アート・オンライン」の映画で出てきた「オーグマー」のようなウェアラブル・マルチデバイスもそのうち登場するかもしれません。

オーグマーはARと画像認識技術と物体検知システムの組み合わせでできたものですが、現時点でのAI開発の成長スピードとその他技術の発展速度を見るとそう遠くない未来に、このようなシステムも実現されるのではないかと考えています。

筆者である私も、実際に作成したことがありますので、この記事で興味が湧いた方はぜひ下記リンクからご覧いただければ幸いです!

URL: https://qiita.com/irohas_gawr/items/4ff5aa8c85f25915d6d2

SHARE
採用バナー