こんな方におすすめの記事です

  • 最先端のAI技術をビジネスで実用化したい
  • 物体検出の最新動向を知りたい
  • 製造業など各業界における物体検出の応用可能性を知りたい

この記事を読み終えるのに必要な時間

10分未満

劇的に進歩している「物体検出」

こんにちは!AI Research & Innovation Hubのつっちーです。
今回のブログテーマは「物体検出」です。
物体検出という技術はここ数年、Deep Learningの力によりものすごい勢いで進歩し劇的に精度が向上しています。
本ブログでは、製造業・建設業・土木業・医療など様々な分野に応用可能な物体検出について、概要から応用事例、実装までのポイントをお届けします!

目次

  1. 物体検出って何?
  2. どこに物体検出なんて使えるの?
  3. 物体検出手法のカテゴリ分け
  4. 最新の物体検出モデル実装
  5. まとめ

1. 物体検出って何?

物体検出は一言でいうと画像内の物体を検出する技術です。

arXiv:1512.02325v5
出典: “ SSD: Single Shot MultiBox Detector ”
キャプション:“ 2 The Single Shot Detector (SSD) Fig. 1: SSD framework.”
https://arxiv.org/pdf/1512.02325.pdf

画像を入力したときに、画像のどこに何が移っているかのバウンディングボックスをつけて出力する技術で、人間の目で確認していた作業を代替する技術といえるでしょう。
(バウンディングボックスはここでいう、赤い線や青い線です。) 

2. どこに物体検出なんて使えるの?

読者の方が物体検出を知った時にどう感じたかはわかりませんが、もし私が初めて物体検出の概要について上記の話を聞いたとしたら、そんなものがどこに使えるのか?と疑問に思います。
そんなのは目で見てやればいいのでは、と思うかと(笑)

ただ、実は物体検出はすごい技術なのです。
AIや人工知能というワードができたのは、“物体検出の技術が発達したからである”といっても過言ではないと私は考えています。
応用できる領域が多岐にわたるためです。
実際に、応用されている領域としては、製造業・建設業・土木業・医療などがあり、様々な業界で事例があります。

例えば、製造業であれば、不良部位を目でみて確認していたところを物体検出で代替するというアプローチがあります。
建設業の現場では、ヘルメットをかぶっているかいないか、現場監督が確認していた作業を物体検出で代替することもできますし、医療ではCT画像から医者が目で確認していた体の異常部位を物体検出で代替することができます。
どれも目視確認していた作業を自動化するための取り組みになります。

3. 物体検出手法のカテゴリ分け

機械学習をやっている方なら聞いたことがあるかと思いますが、物体検出手法にはR-CNN、YOLO、SSDなどがあります。
比較的新しいものだと、PeleeやM2Detなどがありますね。
この辺を知っている方は相当なマニアだと思います(笑)

Peleeによる物体検出例(詳細はこちらのブログを参照)

※弊社では、最新の物体検出モデルに多く取り組んでおり、以前もPeleeについてはいくつかブログを書いておりますので、ぜひこちらもご覧ください!(Pelee関連記事は本ブログの最後に掲載しています)

ただ、物体検出手法のカテゴライズは地味に難しいのではないかと思っています。
現在、物体検出手法にはR-CNN、YOLO、SSDの3パターンが多く使われており、世に出まわっている論文はこれらの派生形です。

R-CNN系は、Microsoftによって開発されているアーキテクチャで、R-CNN、Fast R-CNN、Faster R-CNNなどが有名です。
Faster R-CNNはFast R-CNNをEnd to Endにすることで、学習効率に関して10倍の高速化を実現しました。
ちなみに、Fast R-CNNの後にFaster R-CNNが発表されるまでの期間は数カ月です。
そのスピードでAI領域の技術は発展を遂げています。

物体検出におけるEnd-to-Endとは、複数のモデルを組み合わせることなく、入力と出力の関係を一つのモデルで学習するモデルです。
R-CNN、Fast R-CNNでは、各目的に合わせて学習を行っていました。
各目的とは、物体の位置推定(バウンディングボックス付け)、クラス分類(物体のクラス分け)などです。

セレクティブ探索で候補領域検出処理を代替したRPN(Refion Proposal Network)

arXiv:1506.01497v3
出典: “ Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks ”
キャプション:“ Figure 2: Faster R-CNN is a single, unified network for object detection. The RPN module serves as the ‘attention’ of this unified network.”
https://arxiv.org/pdf/1506.01497.pdf

「検出」の後に「識別」を行うような直列の処理構成なのですが、これによって処理速度が遅いという問題がありました。
そこで、YOLO(You Only Look Once)では、画像認識を回帰問題に落とし込み、検出と識別を同時に行うことを実現しました。
それによって、処理が速くなり、画像全体も見渡すことができるので、背景を誤検知することはなくなりました。
現在でも、YOLOは改良が続けられており、最新のものではversion3までソースコードがアップロードされています。
ただし、小さい物体の検出が得意ではないため、精度は他と比較すると高くはありません。

物体検出を回帰問題で扱うYOLO

arXiv:1506.02640v5
出典: “ You Only Look Once:Unified, Real-Time Object Detection ”
キャプション:“ Figure 2: The Model. ”
https://arxiv.org/pdf/1506.02640.pdf

YOLOは改良が続いているので、一重に比較をすることはできませんが、精度と処理速度の二つの面で、Faster R-CNNとYOLOの真ん中にあるのがSSDの位置づけです。

ソースコードが公開されているものも多いので、時間がある時に試してみてください。

4. 最新の物体検出モデル実装

弊社では、最新論文の実装なども行っています。
最新のアーキテクチャを数カ月かけてつくりこむ期間もありました。
今回はその経験を元に、AAAI2019で採択されたM2Detについて紹介をします。

M2Detは北京大学、アリババ、テンプル大学のチームで開発された物体検出モデルです。
M2Detの論文著者が実装したコードはこちら(https://github.com/qijiezhao/M2Det)にあるので、是非試してみてください。
実装はPytorchで行われています。
下記はM2Detの精度(AP)と処理速度の表ですが、処理速度も精度もM2Detが圧倒的に高性能であることがわかります。

他手法と比較するM2Detの精度(AP)と処理速度

arXiv:1811.04533v3
出典: “ M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network ”
キャプション:“ Figure 5: Speed (ms) vs. accuracy (mAP) on COCO test-dev. ”
https://arxiv.org/pdf/1811.04533.pdf

ネットワークとしては、Backbone Networkと呼ばれる単純な特徴抽出器(VGGやResNet等)で特徴抽出を行い、Multi-Level Feature Pyramid Network(MLFPN)に流し、最終的にPrediction Layerで物体検出および物体認識を行う、といった内容になっています。

M2Detの面白さはMulti-Level Feature Pyramid Network(MLFPN)と呼ばれるアーキテクチャ内部の複数のピラミッド構造にあります。
MLFPNは3つのアーキテクチャからできています。
・Feature Fusion Module(FFM)
・Thinned U-Shape Module(TUM)
・Scale-wise Future Aggregation Module(SFAM)

M2Detのアーキテクチャ概要図

出典: “ M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network ”
キャプション:“ Figure 2: An overview of the proposed M2Det(320 × 320). ”
https://arxiv.org/pdf/1811.04533.pdf

ここでは、ネットワークについての詳細は書きませんが、本当にDeepなアーキテクチャとなっています。
ぜひ、現論文を参考にしてみてください。

5. まとめ

今回は、物体検出の概要から応用事例、最後に簡単に試せる実装までのポイントをお届けしました。

新しいネットワークについてきちんと数式レベルで学ぶと、本当に学びが多いです。
ただ、数式レベルで理解する必要がどこまであるかは場合によります。
「理解」より「体感」をすることも重要です。

様々な優良ソースコードが公開されているので、ぜひ一度、実装をすることで体感してみてはいかがでしょうか。

 

本記事で特集したAI論文の出典元 / Reference Lists

Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg. “SSD: Single Shot MultiBox Detector”. arXiv:1512.02325v5, https://arxiv.org/pdf/1512.02325.pdf

Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun. “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”. arXiv:1506.01497v3, https://arxiv.org/pdf/1506.01497.pdf

Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi. “You Only Look Once: Unified, Real-Time Object Detection”. arXiv:1506.02640v5, https://arxiv.org/pdf/1506.02640.pdf

Qijie Zhao. “M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network” Web, Retrieved from https://github.com/qijiezhao/M2Det

Qijie Zhao, Tao Sheng, Yongtao Wang, Zhi Tang, Ying Chen, Ling Cai and Haibin Ling. “M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network”. arXiv:1811.04533v3, https://arxiv.org/pdf/1811.04533.pdf

 

マクニカのARIH(AI Research & Innovation Hub)では、最先端のAI研究・調査・実装による評価をした上で最もふさわしいAI技術を組み合わせた知見を提供し、企業課題に対する最適解に導く活動をしています。
詳細は下記よりご覧ください。