画像認識

画像認識とは

画像認識 (Image Recognition)とは、画像および動画から文字や顔などのオブジェクトや特徴を認識し検出するパターン認識技術の一分野です。背景から特徴を分離抽出しマッチングや変換をおこない、目的となるオブジェクトや特徴を特定し認識します。人間にとっては写真に写っている人物が誰であるかを特定するのは非常に容易ですが、コンピューターによってこうした認識処理を自動的に行うのは高度な技術が必要となります。このため、コンピュータービジョンなどの関連技術では、画像認識は重要な研究対象になっています。

Viola-Jones法による顔認識の例

画像認識の背景

画像認識の歴史は古く、1960年代ぐらいから研究が進められてきました。当時はコンピューターが高価で性能も現在ほどよくなかったため、人工衛星の画像解析など限られた分野での研究が行なわれていました。それ以降、コンピューターの性能向上により、医療や工業など他の分野でも画像認識技術が広まりました。1980年代になるとパーソナルコンピューターの登場で画像認識の研究がより一般的になり、画像処理専用プロセッサの登場により、さらに応用分野が広がりました。1990年代になるとソフトウェアの分野でもさまざまな画像認識ソフトウェアが登場しはじめました。画像認識のための専用ハードウェアとソフトウェアが販売されるようになり、さまざまな産業分野に画像認識が広がりました。近年では、ディープラーニング (深層学習) などの機械学習技術の進歩とマルチコアCPUやGPU、ASIC/FPGAといったハードウェア性能の向上により、画像認識の精度が飛躍的に向上し、人間と同等かそれ以上の画像認識性能を見せるものも現れています。現在、画像認識はデジタルカメラの顔認識やスマートフォンの指紋認証など私たちの身近な生活に必要不可欠な存在となっています。

ディープラーニング (深層学習)による画像特徴抽出の例

画像認識の利点

  • 人間が行なっていた作業を自動化してコンピューターで処理させることができる
  • 人手によるヒューマンエラーが発生しないため大量画像の処理など大規模な画像に対して適用できる
  • 機械学習による画像認識では画像認識を行ないながら、学習用画像を収集し、継続的に性能改善できる

画像認識を実現するための課題

  • 認識対象を背景から分離するためにさまざまな画像処理アルゴリズムを何度も試行錯誤する必要がある
  • 機械学習など画像処理以外の分野の知識が必要となる
  • 機械学習をさせるためのトレーニングデータ (学習データ) としての大量の学習用画像が必要となる
  • トレーニングデータ (学習データ) から最適な画像特徴量を探索するのに時間がかかる
  • 機械学習では大量の学習用画像による学習で膨大な時間がかかる
  • 学習をするための前処理としての画像処理の試行錯誤に時間がかかる

画像認識の応用例

  • カメラで撮影時に顔に自動フォーカスする顔認識、登録した人の顔を自動で識別する人物識別
  • カメラで料理などの撮影対象によって色調などを自動調整するためのシーン認識
  • 虹彩や血管などを利用したバイオメトリックス、虹彩認証、画像認証
  • 画像から3次元空間を再構成しマーカーを認識し、情報を投影する AR(拡張現実)
  • マーカーレスで画像特徴点を使って3次元空間を構築する3次元空間認識 (マーカーレスAR)
  • ゲーム機などで3次元空間内のプレーヤーの姿勢を認識する姿勢認識

画像認識で使われる技術

MATLAB/Simulinkによる画像認識

画像認識システムの開発においては、画像処理によって抽出された特徴データの統計的な解析や最適な分類方法を試行錯誤するための環境が必要です。また、動的なオブジェクトを対象とする場合は、入力映像をリアルタイムで取り扱うストリーミング処理も重要となります。Computer Vision System Toolbox™ は、数値解析環境として強力なMATLABと併用することで、画像認識に必要な様々な画像特徴抽出パターンマッチングステレオビジョン画像のレジストレーション機能などの強力なアルゴリズムを提供します。また、入力映像をリアルタイムで取り扱うストリーミング処理機能がサポートされています。さらに、Statistics and Machine Learning Toolbox™を組み合わせることで最適な分類器を機械学習のためのアプリケーションを使って探索することができます。ディープラーニング (深層学習)などのニューラルネットワークを使った学習にはNeural Network Toolbox™が最適です。機械学習では大量の画像データの処理が必要となりますがParallel Computing Toolbox™を組み合わせることでマルチコアによる並列処理やGPU処理による高速化を実現できます。



その他製品に関する情報

参考: Steveによる画像処理, 画像強調, 画像セグメンテーション, 画像の各種変換, 画像解析, 空間変換, 画像レジストレーション, 画像および動画処理, 顔認識