物体検出とは

共同執筆者

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

物体検出はニューラル・ネットワークを使用して画像に写っている物体の位置を特定し、分類する手法です。このコンピューター・ビジョンのタスクには、医学的画像から自動運転車まで、幅広い用途があります。

物体検出は、デジタル画像内の物体を見つけることを目的としたコンピューター・ビジョンのタスクです。したがって、これは人工知能の一例であり、特に意味カテゴリーに従って物体を認識して分類することにより、コンピューターが人間のように物を見るトレーニングで構成されています。1 物体の位置推定は、境界ボックスで物の境界線を定めることにより、画像内で特定の物体がどこにあるかを見つけ出す手法です。物体分類は、検出された物がどのカテゴリーに属するかを判断する別の手法です。物体検出タスクでは、物体の位置推定と分類のサブタスクを組み合わせて、1つ以上の画像に写っている物体インスタンスの位置と種類を同時に推定します。 2

コンピューター・ビジョンのタスク

物体検出は他のコンピューター・ビジョン技術と重複していますが、開発者はそれを個別の作業として扱っています。

画像分類(または画像認識)は、定義されたカテゴリーに従って画像を分類することを目的としています。基本的な例として、CAPTCHA画像テストがあります。このテストでは、複数画像を一時停止の標識が写っている画像と写っていない画像に整理できます。画像分類は、画像全体に1つのラベルを割り当てます。

これに対し物体検出では、指定されたカテゴリーに従って画像に写る各物体の範囲を示します。画像分類は一時停止の標識が写っている画像とそうでない画像を分類するものですが、物体検出は1枚の画像に写っているすべての道路標識や、車、人などその他の物体を識別して分類するものです。

画像セグメンテーション(またはセマンティック・セグメンテーション)は物体検知と似ていますが、より正確です。物体検知と同様に、セグメンテーションは意味カテゴリーに従って画像に写る物体の輪郭を描きます。ただしセグメンテーションでは、ボックスを使用して物体を示すのではなく、ピクセルレベルで物を区別します。

The DX Leaders

AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。

ご登録いただきありがとうございます。

ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。

物体検出の仕組み

物体検出の内部構造を理解するには、コンピューター・ビジョンとデジタル画像処理のより広い基礎が必要です。このセクションでは、一般的な概要について説明します。

画像処理

コンピューター・ビジョンでは、画像はf(x,y)として表される2次元の座標平面上に連続関数として表現されます。画像はデジタル化される際、サンプリングと量子化と呼ばれる2つの主要なプロセスを通ります。手短に言うと、連続画像関数をピクセル要素の連続しないグリッド構造に変換します。コンピュータはその後、視覚的な類似性とピクセルの近接性に従って、画像を個別の領域に分割することができます。3

注釈インターフェースを使用して画像にラベルを付けることにより、ユーザーは特定の物体を特定のピクセル・レベルの特徴(面積、濃淡値など)を持った領域として定義します。物体検出モデルは入力画像が与えられると、トレーニング用データ・セットで定義された領域に特徴が似ている領域を、同じ物として認識します。このように、物体検出はパターン認識の1つの形態なのです。物体検出モデルは、物体そのものを認識するのではなく、サイズや形状、色といったプロパティの集合体を認識します。そして、手動で注釈が付けられたトレーニング用データから推測される視覚的なパターンに従って、領域を分類します。4

たとえば自動運転車の物体検出モデルは、歩行者を認識しているのではなく、物体としての歩行者を特徴づける(トレーニング・データで定義された)一般的なパターンをなす一連の特徴を認識しているのです。

モデル・アーキテクチャー

モデルのファミリーが異なれば使用するアーキテクチャーも異なりますが、物体検知用のディープラーニング・モデルは一般的な構造に従います。これらのモデルはバックボーン、ネック、ヘッドで構成されます。

バックボーンでは、入力画像から特徴を抽出します。多くの場合、バックボーンは事前トレーニングされた分類モデルの一部から派生しています。特徴抽出は、バックボーンからネックに渡される、さまざまな解像度の特徴マップを無数に生成します。各画像の特徴マップは、この構造の後半部分で連結されます。次に階層化された特徴マップをヘッドに渡し、ヘッドで各特徴セットのバウンディング・ボックスと分類スコアを予測します。

2段階検出器の場合はヘッドで物体の位置推定と分類を分けますが、1段階検出器の場合はこれらのタスクを組み合わせます。一般的には前者の方が位置推定の精度が高く、後者の方が迅速に実行されます。5

評価メトリクス

IoU(Intersection over Union)とは、物体検出モデルでよく使われる評価メトリクスです。境界ボックスは、モデルによって予測されるように、検出された物体の境界を示す四角形のアウトプットです。IoUは、2つの境界ボックスの交差面積(ボックスが重なり合う部分の面積)と結合面積(両方のボックスの合計面積)の比率を計算します。6

この式は次のように視覚化できます。

モデルは、IoUを使用して予測ボックスとグランド・トゥルース・ボックス間のIoUを計算することで、予測精度を測定します。モデル・アーキテクチャーは、IoUで最終的なバウンディング・ボックス予測も生成します。モデルは多くの場合、検出された1つの物体に対して数百個のバウンディング・ボックス予測を生成するため、モデルはIoUを使用してバウンディング・ボックス予測を重み付けし、検出された物体ごとに1つのボックスに統合します。

他のメトリクスは、物体検出モデルの異なる評価に利用される場合があります。GIoU(Generalized intersection over union)はIoUの修正版で、基本的なIoUだとNULL値を返す可能性がある物体の位置推定を改良したものです。7 物体検出の研究では、mAP(mean average precision)や再現率(recall)などの一般的な情報検索メトリクスも採用されています。

オフィスでミーティングをするビジネスチーム

IBMお客様事例

お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

物体検出アルゴリズムとアーキテクチャー

物体検出タスクには、さまざまな機械学習アプローチがあります。例としては、Viola-Jonesフレームワーク8や勾配方向ヒストグラム(histogram of oriented gradients)などがあります。9しかし最近の物体検出に関する研究開発では、主に畳み込みニューラル・ネットワーク(CNN)に重点が置かれています。そのため本ページでは、物体検出についての研究で最も議論されている2種類のCNNに焦点を当てます。これらのモデルは、Microsoft COCOデータセットやImageNetなどのベンチマーク用データセットでテストおよび比較されていることにご注意ください。

R-CNN(領域ベースの畳み込みニューラル・ネットワーク)は、領域提案と呼ばれる方法で画像ごとに2,000個の領域を予測する2段階の検出器です。R-CNNはその後、抽出した領域を均一なサイズに直して別のネットワークに通し、特徴の抽出と分類を行います。各領域は、その分類の信頼度によってランク付けされます。R-CNNは次に、スコアが高いと指定された領域と一定のIoU重複を持つ領域を除外します。残りの重なり合わない分類領域のうち最上位の領域がモデルの出力です。10 案の定、このアーキテクチャーは計算コストが高く、低速です。Fast R-CNNとFaster R-CNNは後の修正版で、R-CNNのアーキテクチャーを縮小したことで、処理時間を短縮しながら精度を高めています。11

YOLO(You Only Look Once)は、オープンソースのCNNフレームワークであるダークネットをベースにした1段階検出アーキテクチャーのファミリーです。2016年に初めて開発されたYOLOアーキテクチャーは、速度を重視しています。実際、YOLOの速度はリアルタイムの物体検知に適しており、最先端の物体検知器における共通記述子となっています。YOLOはR-CNNとはいくつかの点で異なります。R-CNNは抽出された画像領域を複数のネットワークに渡し、それぞれで特徴を抽出して画像を分類しますが、YOLOはこれらの働きを1つのネットワークにまとめます。次に、R-CNNが提案する領域が約2,000個であるのに対して、YOLOの境界ボックス予測は1画像あたり100個未満です。YOLOは、R-CNNより高速であることに加えてバックグラウンドの誤検出も少なくなりますが、位置推定エラーは多くなります。12 YOLOは登場以来、概して速度と精度に重きを置いた更新が数多く実施されています。13

R-CNNやYOLOはもともと物体検出のために開発されましたが、後のバージョンでは分類モデルとセグメンテーション・モデルをトレーニングすることもできます。具体的に言うと、Mask R-CNNは物体検出とセグメンテーションを組み合わせていますが、YOLOv5は分類、検出、セグメンテーションの各モデルをトレーニングできます。

もちろん、R-CNNとYOLO以外にもたくさんのモデル・アーキテクチャーがあります。SSDとRetinanetは、YOLOのような簡略化されたアーキテクチャーを使用する2つの追加モデルです。14 DETRは、Facebook社(現Meta社)によって開発されたもう1つのアーキテクチャーで、CNNとトランスフォーマー・モデルを組み合わせ、Faster R-CNNに匹敵するパフォーマンスを発揮します。15

ユースケースの例

多くのユースケースでは、物体検出自体は最終的な目的ではなく、より大きなコンピューター・ビジョン・タスクにおける1つの段階です。

自動運転

自動運転車は、車や歩行者などの物体を認識するために物体検知を広く採用しています。その一例がTesla社のオートパイロットAIです。YOLOやSimpleNetのようなシンプルなアーキテクチャーは速度が速いので、自動運転にとって明らかに理想的です。16

医用画像

物体検知は目視検査の作業を支援できます。たとえば、物体検知の研究を行う独立団体では、X線スキャンやMRIスキャンといった医学的画像から病気の生理学的な指標を特定するためのメトリクスとモデルを調査しています。この分野では多くの研究が、そのような病気の医学的画像が不足していることを考慮して、データセットの不均衡を改善することに焦点を当ててきました。17

セキュリティー

ビデオ監視には、防犯カメラの映像に写っている銃やナイフなど、犯罪に関連する物体を追跡するために、リアルタイムの物体検知を採用することがあります。このような物体を検出することで、セキュリティー・システムは犯罪の予測を高め、未然に防ぐことができるのです。研究者たちは、R-CNNとYOLOを併用した銃の検出アルゴリズムを開発しました。18

最近の研究

不均衡なデータセットは、物体検知タスクで悩みとなっている問題の1つです。多くの分野特化型データ・セットで、負のサンプル(つまり、対象となる物体が写っていない画像)が正のサンプルの数を大幅に上回っているためです。これは、病気の正サンプルを取得するのが難しい医学的画像にとって特に問題となります。最近の研究では、データ拡張を利用して限定的なデータ・セットを拡張および多様化し、モデルの性能向上を図っています。19

物体検知における過去の開発は、主に2D画像に焦点を当てていました。最近では、研究者は3D画像や動画の物体検出への応用に注目しています。モーション・ブラーおよびカメラのフォーカスシフトは、動画のコマをまたいで物体を識別する際に問題を引き起こします。研究者は、そのような制約があるにもかかわらず、コマをまたいで物体を追跡するのに役立つさまざまな方法とアーキテクチャーを研究してきました。たとえば、リカレント・ニューラル・ネットワーク・アーキテクチャーの長・短期記憶(LSTM)20や、トランスフォーマーベース・モデルなどです。21 トランスフォーマーは、リアルタイムの検出タスクに向けた物体検知モデルを高速化するために利用されてきました。並列処理技術は、この取り組みで注目すべきもう1つの研究分野です。 22

関連ソリューション
IBM Maximo Visual Inspection

外観検査を自動化する優れたノーコード・コンピューター・ビジョンの機能を活用します。

Maximoによる外観検査の詳細はこちら
人工知能(AI)コンサルティングおよびサービス

IBMコンサルティングAIサービスは、企業がAIをトランスフォーメーションに活用する方法を再考するのに役立ちます。

人工知能サービスの詳細はこちら
人工知能ソリューション

業界をリードするIBMのAIに関する専門知識とソリューションのポートフォリオで、ビジネスにAIを活用しましょう。

AIソリューションの詳細はこちら
次のステップ

IBM Maximo Visual Inspectionは、コンピューター・ビジョンのAI機能を品質管理チームや検査チームに提供します。外観検査を自動化する優れたノーコード・コンピューター・ビジョンの機能を活用できます。

Maximoによる外観検査の詳細はこちら 製品ツアーはこちら