一般物体認識について解説する当コラム。前回の「画像分類」に続き、今回は一般物体認識の分野の中でも「物体検出」と呼ばれる領域をテーマに、その概要や実用化のポイントを解説していきます。(*本コラムの内容は、『画像ラボ(2019年1月号)』への寄稿論文を抜粋編集したものです。物体検出とは、画像に写っている物体のカテゴリと共に、その物体が写っている場所をその物体を囲う四角形として出力する問題です。画像分類に比べて場所の推定が必要で、推定すべき項目が多い、一枚の画像に複数種類の物体が登場しうる、画像の一部に小さくしか登場しない物体を検出する必要がある、などの理由で難易度は大きく上がります。手法としては精度の高いTwo-Stage法と、高速なSingle-Stage法の2種類があります。Network)と、領域候補のカテゴリを識別するネットワーク(前述の画像分類と同じモデルが使われる)を直列にに実行する方法です。R-CNNがあります。Single-Stage法は、一つのネットワークで領域抽出とカテゴリ識別を同時に行う方法で、一般的に高速に動作します。Single-Stage法とTwo-Stage法は両方ともネットワークの構成要素(バックボーン)として画像分類のモデルを内包しています。原理的にバックボーンを別のものに置き換えることも可能です。NetではResNetまたResNeXt、YOLOではDarknetが使われています。Taskが挙げられます。テニスラケット、椅子、鏡などの80カテゴリで領域がアノテーションされています。Task用の教師データの例がこれらです。Precision)と呼ばれる指標が使われます。mAPは、数値の意味の直感的な理解が難しい指標ですが誤解を恐れずに言うと、システムがあるカテゴリの物体だと判断して100検出してきた中で真にそのカテゴリの物体が含まれるものの枚数の平均値です。具体的な定義は下記のように説明できます。物体検出では、適合率(Precision)、すなわちシステムが検出したものの中で正しく検出できていたものの比率、及び再現率(Recall)、すなわち正解ラベルに検出対象が含まれているものの内、システムが正しく検出できないものの比率の2つの指標で評価できます。この指標はトレードオフの関係なり、閾値を調整することで調整できます。Precision(AP)を計算します。APを複数の対象カテゴリ毎に平均を取るとmAPが計算できます。COCOに対して、2017年の優勝モデルはmAPが52.5を達成しています。これは4つのモデルのアンサンブルであり、単一モデルの性能では50.5です。v3が33.0、SSDが31.2となっています。物体検出は実行速度と精度のトレードオフがあり、mAP観点で精度が高いモデルが必ずしも優れているわけではないことに注意が必要です。v3でmAPが33.0のときに一枚の処理時間が51ms、SSDでmAPが28.0のときに61ms、mAPが31.2のときに125ms、RetinaNetはmAPが37.8のときに198msが報告されています。)物体検出の実用化の際の検討ポイントまず、物体検出の問題は、最新の結果でもmAPが50程度(検出してきたものの内、平均して半分は誤っている)であり、画像分類の問題に比べるとまだ精度向上の余地が大きい状況です。Taskにおいても、2015年から2017年の3年間でmAPが37.3、41.5、52.5と大幅な改善を見せており、領域として発展途上であることが窺えます。私の肌感覚としても、訓練されていない人間にも及ばない程度の結果になることが多く、その観点から、人間のエキスパートを置き換える目的より、例えば大量のカメラの24時間監視など、人間ではコスト的に難しいことを、精度は人間に及ばない前提で任せるといった使い方や、人間の判断材料として使うなどの使い方が向いていると言えます。前述のように未だ発展途上の問題であることから、コンペティションの優勝モデルなどの最新手法の精度と数年前の手法の精度に大きな乖離があることにも注意が必要です。そのため精度が求められる場面では、実装例が普及している有名手法では不十分で、最新の論文ベースの手法を実装しなければならず、技術力が重要になります。COCOに対するmAPが31.2と、今日では決して精度が高い手法とは言えません。SSDは元々高速性に特徴があるSingle-Stageの手法であり、実行速度を重視する場合は問題ありませんが、実行速度より精度が重要な場面には向いていないと言えます。問題設定やデータによってチューニングの余地が大きく、通常の画像分類のモデルに含まれるパラメータに加えて、物体検出特有のパラメータを備えています。そのため、精度を出すためにはアルゴリズムの内容を深く理解する必要があります。COCOのデータに最適化されていることが多い)。Taskの投稿時の結果では精度が45.5まで向上しており、チューニングの余地が大きいことが窺えます。検討、2速度要件を考慮したモデルの選定、3チューニング、3つが重要です。1については、精度が人間には及ばないことを前提で問題設定を検討する必要があります。2については、物体検出は速度と性能のトレードオフが明確に存在し、必要な実行速度によって達成可能な性能が大きく変わります。動画をリアルタイムに処理する必要があるような場面では、高速なSingle-Stage法を、場合によってはさらに精度を落として高速化して使う必要がありますし、速度よりも精度が重要な場面では高性能なTwo-Stage法を必要に応じてモデルアンサンブルすることが必要になります。それぞれのカテゴリの中でもモデルによる性能差は大きく、開発工数との兼ね合いの中でなるべく精度の高いモデルを出すことが重要になります。物体検出の主要な応用の一つとして、工場等での外観検査があります。様々なベンダーが外観検査向けの物体検出ソリューションを提供しています。生産現場でのカメラ画像から不具合箇所を含む領域を自動で検出するといったものです。自動運転や自律制御のための基礎技術としても物体検出は重要です。車の自動運転においても、物体検出が使用されます。システムを導入しました。搭乗橋に設置したカメラが航空機のドアの位置を検出し、機体をドアから10cm手前まで自動走行させるというものです(最終的な装着は手動)。ドローン等での空撮画像とも、物体検出は親和性が高いです。シドニー工科大学と産業用ドローンメーカーのリトルリッパーグループは、ドローンによる近海の空撮画像からサメの存在を検知する技術を開発しました。サメに加えて、イルカやエイなどの他の動物や、ボートなどの物体を対象カテゴリとして検出します。実環境で運用されており、90%の確率でサメを正しく認識することに成功しました。他にも、ミツイワ(株)はドローンによる空撮画像からの密漁船の監視サービスにNTTコムウェアの物体検出技術を活用しています。(引用:scimex)安心・安全の観点からの事故検知にも、物体検出技術が適用可能です。東京急行電鉄(株)は、パナソニックの画像解析技術を活用し、駅のホームでの人物検出により事故軽減を図るシステムを運用しています。具体的には、ホーム上の人を検知することで線路への落下やその可能性のある物を検知し、係員に通知するというものです。(引用:東京急行電鉄)医療分野にも応用が可能です。ブタペスト大の研究グループはマンモグラフィによるレントゲン写真から、物体検出技術を用いて乳がんの病変領域検出を試みました。R-CNNを用い、公開データベースに対して95%の識別率(AUC)を達成しました。同様に胸部レントゲン写真からの肺がんの検出や、CT画像からの病変の検出等も行われています。(2018))まとめ上下2本建てでお届けした当コラムでは、一般物体認識と呼ばれる技術領域を対象にディープラーニング技術の概要と、実用化に際しての検討ポイントについて述べてきました。現時点ではディープラーニングを用いた一般物体認識は、訓練されていない人間程度(場合によってはそれ以下)の能力になる場合が多く、それを前提としたビジネス導入のやり方を検討する必要があります。これまでに述べてきたように、未だ技術は急速に進化しつつあり、データやタスクの難易度によって訓練された人間と同程度の性能を実現できる日も近いと思われます。その時には実用化へのハードルが大きく下がり、活用事例が爆発的に増加することが予想されます。