本連載の第2回から、画像認識AIの「Face API」を利用して顔や表情から感情を推測したり個人を識別・特定したりする方法を紹介している。今回はさらに応用範囲の広いAIの開発を紹介する。特定の対象物(オブジェクト)が写った画像を教師データとして学習させ、対象画像にそれが存在するかどうかを判定させる、というものだ。

 このようなAIでは、2012年に米Googleが発表した、ディープラーニングによる猫の認識がよく知られている。ディープラーニングでの学習には莫大なデータと計算リソースを必要とし、この例では約1000万枚の画像を使用して1000台のサーバーで3日間にわたり学習させたという(引用元論文:
http://static.googleusercontent.com/media/research.google.com/en//archive/
unsupervised_icml2012.pdf)。

 これと同じような方法で画像認識を実現しようとすると、莫大なデータや計算リソースに加え、ディープラーニングに対する深い理解が必要だ。

 しかしMicrosoft Cognitive Servicesを使えば、猫はもちろん、雲、自転車、橋といった任意のオブジェクトを認識するモデルを容易に作れる。「転移学習」という機械学習の方法を用いて少ない教師データで学習できるサービス「Custom Vision Service」が提供されているからだ。

 転移学習とは、ある領域で学習したモデルをベースに、追加学習を行い他の領域に適用する方法である。一から学習させて画像認識モデルを作るには、膨大な教師データ(猫の認識であれば猫が写った数万~数百万枚の画像)が必要だが、転移学習なら少ない教師データ(数枚程度の画像)で画像認識モデルを作成できる。膨大な教師データを用意できない場合にこの手法が利用される。

 Custom Vision Serviceでは、膨大な種類と数の画像を使って学習した汎用の画像認識モデルが提供される。ユーザーは、自ら用意した画像を追加学習させることで、独自の画像認識モデルを簡単に作成できる。

 Custom Vision Serviceで、特定のオブジェクトを判定させるために必要な教師データはわずかである。Microsoftによると、1枚に一つのオブジェクトが含まれる画像で学習させる場合、必要な画像は最低5枚だという。この程度であれば用意するのは難しくないだろう。

画像認識モデルの応用範囲は広い

 画像に写った任意のオブジェクトを認識できるAIを作れると、適用領域は一気に拡大する。例えば医療分野では、レントゲンや内視鏡の写真の分析などによって、腫瘍など特定の病気の有無を判定できるようになってきている。このほか電気製品のメーカーであれば、基板上の部品配置を学習させることで、部品の装着不良などを自動検知できる。食品・飲料メーカーでは、異物混入やリターナル瓶の傷・欠けを検知するといった使い方も考えられる。

 今回は、コイン(日本円の硬貨)を判別する画像認識モデルを作成する。プロセスは以下の通りだ。

 Process1 新規プロジェクトの作成

 新規プロジェクトを作成し、各種設定を行う

 Process2 教師データのアップロードとタグ付け

 教師データの画像をアップロードし、タグを設定する

 Process3 学習

 アップロードした画像を学習させる

 Process4 学習済みモデルのAPI化

 学習済みモデルをエクスポートし、エンドポイント(REST API)を発行する

 Custom Vision ServiceのGUIを使った作業が中心になる。ポイントとなる画面を示しながら、ステップバイステップで作業内容を解説していく。

この先は有料会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら