AIの物体検出とは?YOLO・CNNなど機械学習による画像認識・最新事例徹底解説!
最終更新日:2024年11月12日
コンピュータビジョンのなかでも最も広く活用されている画像認識AIのビジネス活用が進んでいます。特に映像に何が何個映っているか判断する物体検出(物体検知)は製造業の外観検査、医療や建設業などで幅広く活用されている分野です。無料オープンソースPythonで動かせる手法もあり、ますます中小企業や個人での活用が期待されます。
関連記事:「コンピュータビジョンとは?仕組み・活用メリット・活用分野・注意点を徹底紹介!」
この記事ではAIによる物体検出に用いられるYOLO・CNNなどの最新ディープランニング手法、そして物体検出が活用されるビジネス用途について説明します。物体検出や物体検知に初めて接する方でも、簡単に概要を把握できる内容です。
また、AI Marketでは
画像認識については「【プロ厳選】画像認識・画像解析のAI開発に強い開発会社」で開発会社選びのポイントや厳選会社を紹介しています。あわせて一読ください。
目次
AIの物体検出とは
物体検出とは、画像の中から特定の物体の位置、種類、個数などの情報を認識する技術です。映像の中に何が、何個映っているか瞬時に判断する脳の機能をAIで実現します。個数をAIで認識する技術は個数カウントとして活用されます。
人間の目と脳は、画像を見て「人間が5人映っている」「花が映っている」「XXさんに似ている」と判断できます。一方、従来の機械にとって画像は単なるピクセルの集合体でしかなく、何が映っているのかは判断できませんでした。しかし、現在AIの活用によって画像データを読み込んで、そこから特定の情報を認識できるようになっています。
AIによる物体検出は製造業の外観検査、医療や建設業などで既に広く利用されています。私たちの身近な場面でも使われている、スマホカメラの顔検知機能や自動運転での歩行者検知は物体検出の活用例です。
AIによる製造業の外観検査の仕組み、種類、導入方法についてはこちらの記事で、わかりやすく解説しています。
画像分類・セグメンテーションとは違う?
画像分類は、画像に移っている物体の「種類」を分類する技術です。AIによって、画像に「何が映っているか」を類型化することは比較的早い段階で可能になっていました。手書きの数字を判別するOCRがその先駆けといえます。
その後、より複雑な画像を認識するために、対象となる画像の特徴的な要素を抽出していく「特徴化」という手法が進められていきました。物体検出では対象物の種類に加え、対象物の位置・個数の検出をしなければなりません。例えば、画像中央に男女のカップル、左端に女性が3人映っていると判断できるのが物体検出です。
「画像認識とは?なぜAIを使う?種類・導入ステップ・注意点を徹底解説!」では、画像認識における分類型の説明をしておりますのであわせてご覧ください。
「セグメンテーション」は、ピクセル(画素)レベルで画像を分割して判定を行う手法です。画像に映っている物体の種類に加えて、その物体の境界領域まで予測します。物体検出のように、物体の周りにバウンディングボックスを囲うのではなく、ピクセルレベルで判定を行っていきます。
セグメンテーションの代表格であるセマンティックセグメンテーションについてはこちらの記事で特集していますので併せてご覧ください。
物体検知の仕組み
物体検出は主に以下の2ステップで行われます。
1.対象物体が画像中のどこにありそうかを絞り込む(バウンディングボックスの発見)
2.対象物体が何であるかを分類(カテゴリー判断)
バウンディングボックスとは、画像や映像の中の物体を囲む長方形の枠のことです。スマホカメラの顔認識機能で顔の部分が枠で囲まれるのはご存じでしょう。物体検知のバウンディングボックスは、対象物全体を枠で囲むことです。
バウンディングボックスごとに画像認識を行うのがカテゴリー判断です。最初のステップでバウンディングボックスが多ければ多いほど、計算量が大きくなります。膨大なデータであっても正確性を落とさずに計算を速くするために、様々な手法が研究されてきました。
物体検知に用いられるディープラーニング、CNN
最近は、一般的な画像を迅速に読み込み理解するためにディープラーニング(深層学習)の手法が用いられるようになっています。そして、ディープラーニングの中で最も有名な「畳み込みニューラルネットワーク(CNN/Convolutional Neural Networks)」という手法を利用することがほとんどです。
CNNは画像データを細かなグリッドで分け、グリッドに「畳み込み」ながら、周辺のグリッドとの関係を「プーリング」と呼ばれる技術で読み取る手法です。不要な情報を取り除くと同時に、画像の特徴化を進めることができます。「畳み込み」と「プーリング」を繰り返すことでAIが画像中の物体の構成を学習します。
AI Marketでは
AI物体検出の最新6手法
AIによる物体検出に用いられる最新手法に以下があります。
- R-CNN
- YOLO
- SSD
- DCN
- DETR
- HOG
物体検知では、ディープラーニングの中で最も有名なCNN(畳み込みニューラルネットワーク)を基にした手法を利用することがほとんどです。特にR-CNN、YOLO、SSDの3パターンが多く使われています。最新の論文もほとんどはR-CNN・YOLO・SSDの派生形です。
AIによる物体認識に用いられる代表的な手法について説明します。
R-CNNはディープランニングの先駆け
R-CNNは、画像の中で物体の候補を囲む領域(バウンディングボックス)を約2,000個抽出して分類する手法です。探し出したバウンディングボックスそれぞれに対して畳み込みとプーリングを繰り返し、その候補が物体であるかどうかを判定して行きます。
CNNを使ったディープラーニングの最初の成功事例の一つですが、欠点として処理時間が非常に遅いこと、メモリを大量に消費することが挙げられます。まず、2,000個の物体候補を探して、そのあと一つひとつに畳み込みとプーリングを繰り返していくというステップを踏むからです。
この欠点を解消するため、R-CNNは以下のような多くの派生手法を生み出しました。
- Fast R-CNN
- Faster R-CNN
- Cascade R-CNN
上記はCNN処理の適用方法を改善したり、適用回数を削減するなどの方法です。画像の入力から物体の検出まで一気に学習・推定ができるようになり、学習時間・メモリの消費量ともに大幅に向上しています。
YOLOはリアルタイム検出可能でPythonで動作
YOLOは、You Only Look Onceの略で、処理速度が非常に早い物体検出アルゴリズムの1つです。YOLOの物体認識の手法は予め画像全体を正方形のグリッドに分割しておき、それぞれのグリッドに対象となる物体が含まれているかどうかを判定します。
対象物の候補を約2,000個探して個別に分析していくR-CNNと異なり、YOLOはYou Only Look Onceの名前の通りまず画像全体を見回して、対象物がなさそうな背景部分をばっさりカットします。そして、バウンディングボックス設定と分析を同時に行うので分析速度が格段に高速でリアルタイムの物体検出ができます。何もない背景から対象物を認識してしまう誤検出も格段に少なくなります。
YOLOはライセンスフリーで商用利用可能なことも大きな魅力で、最新はv5まで出ています。YOLO v5はPythonで動作し、自作のデータセットを簡単に学習する事ができるのも特徴です。
欠点としては、バウンディングボックスを個別に分析するFaster R-CNNに比べて識別の精度が落ちます。特に、物体が多数写っている場合は精度が低く、小さい物体を見逃す可能性も高くなるのが欠点です。
YOLOの仕組み、メリット、デメリット、いろいろな業界での活用事例をこちらの記事で詳しく説明していますので併せてご覧ください。
SSDはFaster R-CNNとYOLOのいいとこどり
SSDはSingle Shot MultiBox Detectorの略で、精度はFaster R-CNNと同等程度、処理速度も早いという特徴を持っています。YOLO同様、リアルタイムでの物体検出が可能です。
SSDでは、画像の畳み込みを行う際に読み込むグリッドのサイズをずっと小さくして、検出した物体候補に対して複数のサイズの領域で枠取りをします。大きさと縦横比が異なる複数種類の領域を準備して正確なバウンディングボックスの位置を予測するのが大きな特徴です。
この「アンカーボックス」手法は、Fast R-CNNでも用いられた手法を引き継いでします。物体検出の手法はYOLOと同じ手法を用いていますが、画像内に物体が多数ある場合や物体が小さい場合でもYOLOより正確に検出することができます。
ちなみに、YOLOやSSDのように物体の領域認識とクラス判定を同時に行うタイプの方法を1ステージ系と言います。R-CNNなどの2ステージ系に比べて処理速度を速くすることが可能です。SSDでは、ボックスサイズのずれをクラスの予測情報を使って修正・ディープラーニングしていくため、AIの学習速度が速いのが特長。他のソフトウェアとの連携が容易な点が高く評価されています。
DCNは異常形状物の正しい検出も可能に
DCN(Deformed Convolutional Networks)は、変形畳み込みネットワークと呼ばれ、物体検出を行う際のグリッドの形状を変えることで物体検出の精度を上げることを可能にしました。
通常のCNNでは物体の検出精度が矩形グリッドの形状に制約されてしまう制限があります。実際の画像では物体の一部が切れていたり変形していたりすることが少なくないため、異常な形状の物体は検出するのが困難でした。
DCNは畳み込みフレームの形状を可変にし、その変形のパターンをAIが学習することで特徴量の分布に対応した変形プーリングを実行します。これを変形処理をしない通常の畳み込み及びプーリングと比較することで、異常な形状の物体について正しい検出を可能とします。
DETRは機械学習との融合で高精度検知
DETR(End-to-End Object Detection with Transformers)は、物体検知の方法にTransformerという機械学習モデルを融合させた手法です。2020年5月にFacebookの研究チームによって論文が発表されました。
通常のAIは、学習させたいデータに意味付け(タグ付け)を行うアノテーション作業を事前に必要とします。一般的には、教師データ作成とも言われるこの作業方法によって学習の精度が大きく変わってしまいます。DETRは入力データのどこに注意を向けるか指示するアテンション(Attention)機構を導入することで、アノテーション処理の必要ないAI学習を可能にしたモデルです。
AI学習におけるアノテーションの用途や方法について、詳しくはこちらの記事で説明しています。
DETRは、3つの構成から成り立っています。
- Backbone:画像の特徴量をエンコードするCNN
- Transformer:アテンション(Attention)機構を用いて各物体の位置や種類の情報を分析し、事前に決められた個数の物体を予測するディープラーニングモデル
- FFN:Transformerの出力情報を、物体の位置座標・クラスラベルにデコードするネットワーク
シンプルな手法ですが高精度な検知ができる点がDETRの特徴です。
HOGは正確な顔認識に活用
HOG(Histogram of oriented gradient)とは、特徴点を基準とする不変の関係を検出する「スケール不変特徴量変換(SIFT)」を応用し、検出領域内の特徴量の勾配を使って形状を表現する技術です。
機械学習による顔検出が有効に機能するためには、人の顔を正面から撮った画像である必要があります。一般の画像では顔が横を向いていたり傾いている場合が多いため、このままでは正確に顔を認識できません。このため、向きが変わっても変化しない特徴を取り出す技術が必要になります。
分類問題に有効な学習手法、サポートベクターマシン(SVM)に用いる特徴量の検出手法として用いられます。
物体検出の活用事例
AIによる物体検出は、画像データを利用したコンピュータ処理の中で実際に活用されています。どのような用途で用いられているのか、代表的な例をいくつか見てみましょう。
製造業での異常検知
製造ラインでの目視検査をAIにより代替できます。本来の形状と異なる不良品をAIが検出することで、生産効率を改善することに役立っているのです。特に合否の判定に限度見本を用いる不良のように熟練が必要な品質判定では、人材不足や高齢化の対策としてAI物体検出の導入が進められています。
昨今は、エッジAIとして、製造ラインにAIを搭載したカメラを設置して、高速に処理する形での活用も増えています。
外観検査の種類、導入手順についてはこちらの記事で、わかりやすく解説しています。
また、製造業・工場の製造ラインで、AIの画像解析による外観検査の導入例の特集記事をご覧ください。
商業用途での商品管理、ブランド管理
商業施設での製品の売れ筋情報や、どのようなお客様がどのような商品を購入するかといった分析にもAI物体検出が活用されています。その他、売り場のお客様の流れを分析して滞留時間を計算したり、売れ筋商品のレイアウトを変えるための情報として利用されています。
医療分野での画像診断
臨床医療において、画像処理は非常に重要な診断情報です。CTやMRIのスキャン画像をAIの機械学習アルゴリズムで処理して腫瘍を検知したり、人体の深部にある病巣を検出し、ディープラーニングにより周囲の画像と結合して3次元画像としてVR化するなど、AIの活躍が最先端で進められている分野です。
自動運転
自動運転車の実用化が進むためには、自動車がカメラ画像をもとにAI物体検出により周囲の状況を判断し、信号や標識を識別することで人に代わって自走する技術が実装されてきます。
人間共存型ロボットのシーン理解
物体検出で認識した個別の物体を、もう一度全体の画像の中で構成し、画像を一つの景観として認識する「シーン理解」によりAIはより人間に近い形で画像を「状況」として認識できるようになるでしょう。人間共存型ロボットや自動運転で欠かせない技術です。
物体追跡による防犯性能の進化
検出した個々の物体を個別に識別して、動画の中でリアルタイムに検出し続けることで、「物体追跡」(オブジェクトトラッキング)が可能になります。特定の動画から、指定した対象が各画像間でどのように移動したかを推定できるようになるでしょう。スポーツ中継への活用や、防犯分野での活用が期待されています。
従来の監視カメラは、撮影シーンを固定して何らかの画像変化があった際に異常として捉えるだけでした。物体追跡が進化すれば、検出した人や物体を追跡して不審な動きを解析できます。
AIによる物体検出の注意点
AIによる物体検出を導入する場合は、学習データの準備がまず重要です。学習用の画像データに、意味付け(タグ付け)を行う作業をアノテーションといいます。一般的には、教師データ作成とも言われ、AI開発における非常に重要な役割をもっています。
AIによる画像認識で重要なアノテーションの代表的な手法、実施方法、注意点についてはこちらの記事で分かりやすく解説しています。
そして、実際の業務で物体検出を使う場合は、以下の2点に注意しましょう。
画像の構図を学習データに合わせる
物体検知は、事前に学習した画像データの特徴を使って画像の中から物体を見つけ出します。ですから、実際の業務で利用する場合は以下に気をつけると精度が上がります。
- できる限り背景は変わらないようにする
- カメラと撮影対象の間に余計なものが入り込まない
画像の解像度は必要最小限
特徴を抽出するために、最低限必要な画像を用いてデータ量を抑えるようにしましょう。撮影する画像の解像度が大きくなればなるほど、システムにかかる負荷が高くなり処理時間も増えるからです。
もちろん、画像の解像度が低すぎると特徴が抽出できず、検知精度が下がってしまうでしょう。しかし、以下の方法で取り扱う画像のデータ量を抑えることを検討できるでしょう。
- 解像度を下げる
- 画像を分割
- 画像を圧縮
- グレースケール画像を使う(色判定不要の場合)
データ量を抑えないと、せっかくAIを導入したのに、結局人間の目で見る方が速いことになりかねません。
最大分類数・物体数を大きくし過ぎない
分類するカテゴリの数、画像内に見つけ出す対象物の最大数によって、検知する結果が増えて処理の負担が大きくなります。精度も下がってしまいかねません。必要最低限のカテゴリに絞る、画像内に映る物体数を減らす工夫をしましょう。
AIによる物体検出の評価指標を抑えておく
AIによる物体検出にはいくつかの手法がありますが、それぞれの物体検出システムの性能を測るためにいくつかの指標が用いられています。代表的な指標として以下のようなものがあります。
指標 | 内容 |
---|---|
IoU(Jaccard係数) | AIが検出した物体の領域と実際の対象物の領域との類似度 大きいほど物体を正確に検出している。 |
処理速度 | 画像に対する物体検出にかかる時間 フレーム/秒(FPS)で測定される。 |
適合率 | 検出した物体のうち正しく読み取った物体と誤って検出した物体の比 AIが検出した物体が全て正解であれば1となる。 |
再現率 | 検出すべき物体のうちいくつを正しく検出できたかの比。画像中のすべての物体をAIが検出できれば1となる。 |
上記の適合率と再現率はトレードオフの関係にあります。見落としのないように多くのものを検出しようとすれば、正解でない物体を検出する可能性が高くなりますし、正解だけを検出しようとすれば対象が検出から漏れることが多くなるからです。
物体検出についてよくある質問まとめ
- 物体検出とは?
物体検出とは、画像の中から特定の物体の位置、種類、個数などの情報を認識する技術です。映像の中に何が、何個映っているか瞬時に判断する脳の機能をAIで実現します。
人間の目と脳は、画像を見て「人間が5人映っている」「花が映っている」「XXさんに似ている」と判断できます。一方、従来の機械にとって画像は単なるピクセルの集合体でしかなく、何が映っているのかは判断できませんでした。しかし、現在AIの活用によって画像データを読み込んで、そこから特定の情報を認識できるようになっています。
AI物体検出を使った開発は代行会社へ
人が目視で行う作業の自動化において、画像処理は重要な技術となります。特にその画像を基に何らかの判断を行う場合にはAIによる物体検出が非常に有効な技術です。物体の検出方法とその物体の種類を特定する双方の技術において、新しい手法が日々開発されています。
AI Marketでは
AI Marketの編集部です。AI Market編集部は、AI Marketへ寄せられた累計1,000件を超えるAI導入相談実績を活かし、AI(人工知能)、生成AIに関する技術や、製品・サービス、業界事例などの紹介記事を提供しています。AI開発、生成AI導入における会社選定にお困りの方は、ぜひご相談ください。ご相談はこちら
𝕏:@AIMarket_jp
Youtube:@aimarket_channel
TikTok:@aimarket_jp
運営会社:BizTech株式会社
掲載記事に関するご意見・ご相談はこちら:ai-market-contents@biz-t.jp