【事例付き】様々なサービスに活用!画像認識技術とは

カメラアプリやiPhoneXのFaceIDなど様々なシーンで画像認識技術が使われるようになっています。画像認識技術とは何なのか詳しく解説しています。どんな事例があり、画像認識技術の原理は何なのか、ぜひ知っておきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

デジタルカメラのスマイルシャッターや、iPhoneXのFaceIDなど、画像認識の技術は私達の身の回りで多く使われており、生活を便利に豊かにしてくれています。

近年のコンピューターの性能向上、とりわけ人工知能(AI)の技術の向上と共に、画像処理の技術は飛躍的な発展を遂げました。すでに画像/動画認識率において、コンピューターは人間のレベルを凌駕する領域にまで達しています。

それでは画像認識はどのような技術なのでしょうか。仕組みや原理、どのようなシーンで使われているかなど、この記事で確認して行きましょう!

 

なお本記事は、TechAcademyのAIオンライン講座の内容をもとに作成しています。

 

目次

 

田島悠介

今回は画像認識について解説するよ。

大石ゆかり

田島メンター!画像認識というのは具体的にどのような技術なんですか〜?

田島悠介

パターン認識技術の1つなんだ。詳しく見ていこう。

大石ゆかり

分かりました!

 

画像認識とは

画像認識とは、画像や動画から特徴をつかみ、対象物を識別するパターン認識技術の1つです。

人間は、画像に写っているものが何であるか、これまでの経験から「理解」して判断することができます。しかし、コンピューターは画像に何が写っているかを「理解」することができません。

その代わりに、沢山の画像データから、対象物の特徴を学習させることで、未知の画像を与えた時に、対象物が何であるかを「確率」として表現することができるようになります。

画像認識の歴史は古く、1960年頃から研究されて来ました。昔はコンピューターの性能が低く、価格も高価であったため、大学の研究機関などの限られた分野での利用が主でしたが、現在ではパーソナルコンピューターはもちろん、デジタルカメラやスマートフォンなど、多くの電子機器に画像認識機能が取り入れられています。

 

また、画像認識は人工知能(AI)におけるディープラーニング技術により、近年著しい進化を遂げています。

ディープラーニングによる画像認識が大きく注目されるようになったのは、2012年に開催された「ILSVRC2012」という画像認識の大会です。この大会では、ImageNetという大量のラベル付き画像(画像と写っている物の名前のセット)を基に画像認識率を競い会います。前年度までの正解率は、高くても70%台前半でした。

TensorFlow Inception-v3

ところが2012年、ディープラーニングを使ったモデルが、一気に約85%の正解率を叩き出します。翌年からは、ディープラーニングを使ったモデル同士が競い合うようになり、正解率もどんどん向上して行きました。現在では正解率95%以上、人間を超えるレベルにまで到達しています。

それでは、画像認識の仕組み、原理はどのようなものなのでしょうか。詳しく見ていきましょう。

 

[PR]機械学習で挫折しない学習方法を動画で公開中

画像認識の仕組み、原理とは

はじめに、画像認識を行うためには、その前段階として、画像から対象物(もの)を抽出しなくてはなりません。

人間は画像から対象物を視覚として判断できますが、コンピューターにとっては、画像はピクセル毎の情報(色合い、明るさ)の集合体でしかありません。

また、対象物も様々な角度、大きさ、明るさで画像の中に存在しています。コンピューターに取ってみれば、ノイズだらけの混沌とした情報から、対象物を認識しなければならないのです。

 

そのため、画像認識の前に、コンピューターが画像を認識しやすくする処理を行います。その作業を画像処理と言います。画像処理は概ね以下のような手順で行われます。

  • 画像のノイズや歪みなどを取り除く
  • オブジェクトの輪郭を強調したり、明るさや色合いを調整することで、オブジェクトを抽出しやすくする
  • 画像からオブジェクトの領域を切り出す(領域抽出)
    ※領域抽出と画像認識は並行して行われることもあります。

領域抽出を行うことで、オブジェクトを一定の大きさで扱うことが出来るため、画像認識を行いやすくなります。

それでは、いよいよ画像認識についてです。

コンピューターに対象物を認識させるためには、おびただしい量の画像データとラベル(画像データが何を表すか)を与え、対象物を学習させる必要があります。

ここで機械学習が登場します。コンピューターは、画像データとラベルの組み合わせをもとに、ラベル毎の画像データの特徴を学習します。例えば「画像データのどの位置が濃い」といった特徴です。この学習の成果を「モデル」と言います。

Google

この時、元の画像を白黒にしたり、傾けたりすることで、学習データを増やすことも良く行われます。

Google

学習が進むと、コンピューターは画像データから、対象物の特徴を判断できるようになります。例えば人であれば「目が2つ」「口が1つ」というような情報をコンピューターが得るわけです。

少し前に、「Googleの研究開発によってコンピューターが猫を認識できるようになった」と話題になりました。その論文では、コンピューターが認識した「人間の顔」も掲載されていますので紹介しておきましょう。少し不気味ですが、目や口、鼻といった特徴が認識されていますね。

Google

これらの学習結果をもとに、コンピューターに未知の画像を与えると、コンピューターは未知の画像から対象物を認識し、対象物が何であるかを「確率」として表現することができるようになります。

 

画像認識の事例

それでは次に、画像認識の事例について見ていきましょう。現在、画像認識技術はとても広い分野で活用されています。

セキュリティ分野

現在最も盛んに研究が行われている分野の1つでしょう。監視カメラの映像分析、顔認証システム、不審者侵入検出など、多くのソリューションが実用化されています。

NEC NeoFace

http://jpn.nec.com/physicalsecurity/case.html

監視カメラ映像から顔認証を用いて犯罪者データベースと照合

パナソニック 顔認証ゲート

http://news.panasonic.com/jp/press/data/2017/12/jn171215-1/jn171215-1.html

羽田空港での、日本人の帰国手続の合理化に貢献

 

文字認識

古くから研究されている分野です。文字読み取り技術は「OCR(Optical Character Recognition)」とも呼ばれます。最近は翻訳技術と組み合わせたシステムも多く実現されています。

郵便区分機

https://ja.wikipedia.org/wiki/%E9%83%B5%E4%BE%BF%E5%8C%BA%E5%88%86%E6%A9%9F

機械学習ではありませんが、世界最大規模の文字認識システムは、郵便局の郵便区分機です。OCRだけでなく、物流と組み合わせたソリューションは、一読の価値があるでしょう。

Google翻訳の「リアルタイム翻訳」

https://play.google.com/store/apps/details?id=com.google.android.apps.translate&hl=ja

Google翻訳アプリには、カメラを使ってテキストをリアルタイムに翻訳する機能が実装されています。文字認識精度、スピードも意外に速く、オンラインでは約38種類の言語に対応しています。文字認識と翻訳技術を組み合わせた、素晴らしいソリューションです。

 

その他

その他にも、画像認識技術はとても広く使われています。

  • 工場における異常生産品の検出
  • SNSや個人売買アプリにおける不適切な画像の検出
  • 自動車の運転アシスト技術
  • 農作物の生育状況把握

 

画像認識ができるライブラリまとめ

最後に、代表的な画像認識のライブラリをご紹介します。

OpenCV

http://opencv.org/

画像処理、画像認識ライブラリの代表格です。インテルが開発・公開しているオープンソースのライブラリ(一部アルゴリズムは非商用)で、画像認識だけでなく、画像のノイズ除去、3次元画像処理、AR/VR対応等、幅広い画像処理を行うことができます。

 

TensorFlow

https://www.tensorflow.org/

ディープラーニングのライブラリですが、もちろん画像認識にも使うことができます。

 

Caffe

http://caffe.berkeleyvision.org/

こちらもディープラーニングのライブラリです。特に画像認識に強いと言われています。

 

Chainer

http://chainer.org/

Preferred Networksが開発した、国産のニューラルネットワークのライブラリです。

 

Google Cloud Vision API

https://cloud.google.com/vision/?hl=ja

Googleの画像認識技術の機能を利用できるAPIです。既に学習済のモデルを利用することができます。多くの対象物を認識できます。1000呼び出し/月まで無料で使えるので、試してみると良いでしょう。

 

Watson Visual Recognition

https://www.ibm.com/watson/jp-ja/developercloud/visual-recognition.html

IBMのWatsonの画像認識機能です。こちらも学習済のモデルを利用することができます。また、認識結果を日本語を含む多言語で返すことができるという特徴があります。

 

田島悠介

画像認識について、理解は深まったかな?

大石ゆかり

画像認識って、とても多く使われているんですね。勉強になりましたー!

田島悠介

気軽に利用できるAPIもあるから、使ってみるといいよ。深層学習や機械学習、自然言語処理については、また別のところで説明するね。

大石ゆかり

分かりました。ありがとうございました!

 

今回は、画像認識について解説しました。

これから画像認識を勉強したい、機械学習を使って何か作ってみたいという方は最初に理解しておきたい内容でしょう。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。

 

また、オンラインのプログラミングスクールTechAcademyでは、AIオンライン講座を開催しています。

AI(人工知能)の構築に必要な機械学習・ディープラーニングについて実践的に学習することができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

この記事を監修してくれた方

太田和樹(おおたかずき)
ITベンチャー企業のPM兼エンジニア

普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。

開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント

地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。