Edited at

Amazon SageMaker Ground Truth を試してみる

Amazon AI by ナレコム Advent Calendar 2018の3日目の記事です。

今日は、AWS re:Invent 2018で発表された Amazon SageMaker Ground Truth [1] について書いていきます。


Amazon SageMaker Ground Truthとは

機械学習や深層学習をする際に様々なデータセットを用いますが、そのデータセットには真値(Ground Truth)が必要です。

物体検出をして矩形(Bounding Box)が得られますが、検出領域が真値のBounding Boxと一致している部分を計算し精度を求めます。そのズレが誤差になるわけです。[2]

このように予測した結果を評価するためには、まず真値が必要です。

世の中には様々なデータセットが用意されていますが、数千枚・数万枚以上の画像を人の手でラベリングしています。

Amazon SageMaker Ground Truthは、データセットの真値の作成をサポートします。以下のようなラベルデータを作成できます。


  • テキスト分類(Text classification)

  • 画像分類(Image classification)

  • 物体検出(Bounding box)

  • セマンティック・セグメンテーション(Semantic Segmentation)

  • ユーザー定義のカスタムタスク(Custom)

物体検出[1]やテキスト分類[3]は例があるので、セマンティック・セグメンテーションについてやってみたいと思います。


S3にデータセットをアップロード

今回使用したのは、KITTI Vision Benchmarkのセグメンテーション用のデータセットであるdata_semantics.zipです。training->image_02から000000_10.png ~ 000009_10.pngまで10枚の画像をS3にアップロードします。

SMGT04.PNG


ラベリングジョブの作成

Amazon SageMakerのGround Truth->ラベリングジョブを選択し、Create labeling jobをクリックします。

SMGT05.PNG

S3のパスを指定し、manifestファイルを作成します。

SMGT07.PNG

IAM roleを新規作成します。

SMGT08.PNG

最終的なJob overviewです。

SMGT09.PNG

Task TypeのSemantic Segmentationを選択します。

SMGT10.PNG

Workersを作成します。

SMGT12.PNG

タスクの内容とラベルを追加します。

SMGT20.png


ラベリングツールを用いてラベリング

ラベリング労働力にあるLabeling portal sign URLから、ラベリングツールへ移動します。

usernameとpasswordはWorkers作成の際に書いたemailアドレスに届きます。

新しいパスワードを入力して、ログインします。

SMGT24.png

ツールを使って自分でラベリングしていきます。

ラベルを選択して(例えばperson)、人の領域をクリックして線でつないでいきます。

SMGT29.png

車も同様にラベリングします。

SMGT34.png

10枚全部行います。大変...


ラベリング結果

しばらく経つと、ラベリングジョブがCompleteとなります。

SMGT35.png

SMGT36.png

実際にこれを真値として使っていく方法は今後調べていきたいと思います。


参考文献

[1] Amazon SageMaker Ground Truth — 高い精度のデータセットを構築し、ラベル付けのコストを最大70%削減

[2] Deepに理解する深層学習による物体検出 by Keras

[3] AWS SageMaker Ground Truthでテキストのラベリングを試してみる