PR

アルゴリズムを選んで学習

 以上の仕組みを使った典型的な開発の流れは次のようになる。一例として、監視カメラの映像から人物を検出するアプリケーションを考える。

 まず、利用する深層学習のアルゴリズムを考える。ユーザーが自らアルゴリズムを構築することも可能だが、多くの場合はDIMoが提供するアルゴリズムをそのまま適用できる。人物検出の場合は、例えば汎用の物体検出向けアルゴリズムを選択する。

 アルゴリズムを選んだら、次は深層学習のモデルを構築する。DIMoは人物を検出できる学習済みのモデルも提供するが、カメラの置かれている環境や状況によっては満足のいく精度が出ないこともある。その場合は実環境でデータを収集し、教師あり学習を実行する。

教師あり学習=個々のデータに対応する正解のデータも併せて提供することで、機械を学習させる方法。画像認識の場合は、それぞれの画像に写ったものの名称や、それが写っている画像の領域などを指定する。

 教師あり学習には、データに人手で「正解」をつけた教師データが必要になる。例えば人物を検出するアルゴリズムでは、映像中で人が映っている箇所を矩形(bounding box)で囲むか、人が映った箇所の画素を塗りつぶして教師データとする。この作業をアノテーションと呼ぶ。DIMoでは映像用の「アノテーション支援ツール」を提供しており、作業の負担を軽減できる(図4)。

図4 アノテーションをツールで支援
図4 アノテーションをツールで支援
DIMoのアノテーション支援ツールの画面。矩形(bounding box)で囲む方式と(a)、認識対象が映った部分の画素を塗りつぶして画像から切り出す(セグメンテーション)方式(b)の2つを用意している。
[画像のクリックで拡大表示]

 その後、できあがった教師データを使って、モデルを学習させる。学習が済みモデルが用意できたら、データ処理の流れをBQL言語で記述する。これを実行可能なプログラムに変換してAgentが動くデバイスにダウンロードし、実際の処理を実行する。