対象者
awsのGroundTruthとRekognitionカスタムラベルに興味がある、
簡易的に物体検出プログラムを訓練、デプロイしてみたい方
記事を読むとできるようになること
awsのGroundTruthとカスタムラベルのシンプルな使用方法を実践し、サービスの利用イメージの概要を掴める
記事を読むのにかかる時間
5-10m
コンテンツの流れ
awsのGroundTruthにてlabel付けを行い、その後、カスタムラベルにてそのデータセットを用いて、訓練、
モデルのデプロイという流れとなります。
サービス簡易概要
GroundTruth:
さまざまな画像分析の訓練データを簡易に作成できる、アノテーションサービス、
類似としてはlabelmeなどがあるが、大きく異なるのは、アノテーションチームの管理や権限など、アノテーション作業に関するマルチな機能を簡易に実現可能なサービス
Rekognitionカスタムラベル:
簡易的に物体検出モデルをトレーニング、デプロイを行えるサービス
特に上記GroundTruthとの親和性が高い
以下GroundTruth関連の作業フロー
aws GroundTruthを選択後、以下画面でどういった形でラベルを保存するかを設定します。今回はobjectの境界ボックスを選択します
↓
以下画像を設定することで
ジョブを実行する人に向けて、適切なラベル画像と、不適切なラベル画像を添付し、作業イメージを共有することができます(今回は何も画像を設定していないためdefalut表示)
↓
GroundTruthにて、作業者はパブリックやプライベートとして依頼をすることができます。
作業者にはメールが届き、cognitoでログインを行い、ラベル付を行う。
という流れが多いかと思います
↓
以下がGroundTruth上でのラベル付け作業のイメージです。
アノテーションツールとしては、labelmeやlabelImgなどあり、慣れているアノテーションファイルを使用するのが良いかと思いますが、出力形式がmanifest形式というところをクリアできれば、見た目がリッチに使用できると思います
↓
GroundTruthでの操作によってs3上にjsonファイルができていることがわかります
↓
余談
GroudTruth 上で後日画像を追加する際などはこちらの「ジョブをチェーン」で追加可能です
以下カスタムラベル作業の流れ
↓
カスタムラベル上で先ほどのgroundTruthで作成したoutput.manifestがあるパスを指定する
↓
結果カスタムラベル上でGround Truth上で作成したデータセットが読み込めていることがわかる
↓
このようにカスタムラベル上で、modelが訓練開始となったことがわかります。
↓
特に優秀なのは訓練結果に対して、true positiveなど、検証画面が非常にリッチでわかりやすいものとなっています。
今回は訓練データの個数自体が少なく、学習がまともにできていないことがわかります
↓
訓練データが足りない場合は、GroudTruthで訓練データを追加したあと、以下のボタンでカスタムモデル側に同期を取ってあげるとデータセットの追加が可能です
↓
前回ラベルを使用するときは手動によるデータのセットアップを選択肢、入力データセットに、前回つけたラベルデータが格納されたmanifestファイルのパスを入れ、出力データセットを設定すると、前回データに追加をできます。