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にアップロードします。
ラベリングジョブの作成
Amazon SageMakerのGround Truth->ラベリングジョブを選択し、Create labeling jobをクリックします。
Task TypeのSemantic Segmentationを選択します。
ラベリングツールを用いてラベリング
ラベリング労働力にあるLabeling portal sign URLから、ラベリングツールへ移動します。
usernameとpasswordはWorkers作成の際に書いたemailアドレスに届きます。
新しいパスワードを入力して、ログインします。
ツールを使って自分でラベリングしていきます。
ラベルを選択して(例えばperson)、人の領域をクリックして線でつないでいきます。
10枚全部行います。大変...
ラベリング結果
しばらく経つと、ラベリングジョブがCompleteとなります。
実際にこれを真値として使っていく方法は今後調べていきたいと思います。
参考文献
[1] Amazon SageMaker Ground Truth — 高い精度のデータセットを構築し、ラベル付けのコストを最大70%削減
[2] Deepに理解する深層学習による物体検出 by Keras
[3] AWS SageMaker Ground Truthでテキストのラベリングを試してみる