Amazon SageMakerで画像認識(前編)

本記事でやること
Amazon SageMakerを使用して、猫が写っている画像から猫を検出し、認識することが目標です。
今回は、前編・中編・後編と3つに記事を分かれております。
前編では、Amazon SageMakerとはどういう物なのか
中編では、画像を入力データ形式に加工
最後に後編で、実際に学習させ学習結果から精度を導き出します。
Amazon SageMakerとは
Amazon SageMakerとは、素早く簡単に機械学習モデルの開発、学習、デプロイすることが出来る完全マネージド型の機械学習サービスです。特徴
事前に様々なアルゴリズムがインストールされているため、様々なケースに柔軟に対応できます。また、データ分析に適しているJupyter Notebook(データ分析を行うことが出 来る対話型ブラウザ実行環境)をインターフェースとしているのも特徴の一つです。
※アルゴリズムの種類や特徴を詳しく知りたい方は、下記のドキュメントを参照してください。
参考文献:
https://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/whatis.html
物体検出アルゴリズム
概要
単一のディープニューラルネットワークを使用して、画像内の物体(本記事では猫)を検出及び分類することが出来る教師付きアルゴリズムです。Single Shot multibox Detector(SSD)フレームワークを使用しており、VGG-16とResNet-50がサポートされています。
また、一から学習を行うことも、転移学習を行うことも可能です。
Single Shot multibox Detector
Single Shot mutibox Detectorとは物体検出を行う手法のことで、他の手法だとFaster R-CNNやYOLO等の手法が存在します。
特徴としては、従来の手法だと「画像内から物体を探索する処理」を何度も行いその度に演算を行っていたため、1枚の画像から物体検出を行うのにかなりの処理時間がかかっていました。
しかし、1度の演算で行うことで物体検出処理の高速化を可能にしたのが
Single Shot mutibox Detectorです。
参考文献:
https://www.acceluniverse.com/blog/developers/2020/02/SSD.html
VGG
VGGとは、深さが 16 層もしくは19層の畳み込みニューラル ネットワークです。2014年のILSVRC(ImageNet Large Scale Visual Recognition Challenge)という画像分類のコンペで提案され、画像分類部門で2位、物体のローカライゼーション部門で1位となり有名になりました。
VGGの問題点として、層が深くなったことで学習が進まなくなりそれ以上賢くならない問題(勾配消失問題)が発生する点です。
ResNet
ResNetとは、階層が深く精度が高い畳み込みニューラル ネットワークです。VGGの翌年、2015年に開かれたILSVRCの優勝モデルです。
特徴としては、勾配消失問題が発生しない仕組みと
桁違いの深さと高い精度が特徴です。
問題点として、層が深いゆえに学習時間が極端に長いのが挙げられています。
物体認識アルゴリズム
概要
物体認識アルゴリズムは、画像内の物体を分類することが出来る教師付き学習アルゴリズムです。ResNetが使用されており、一から学習を行うことも、転移学習を行うことも可能です。選択出来るResNetのレイヤー数として、[18, 34, 50, 101, 152, 200] または [20, 32, 44, 56, 110] 内の正の整数から選択できます。
入力データ形式
・RecordIO・イメージ形式
・拡張マニフェストイメージ形式
入力可能なデータ形式には上記、3つが存在します。
物体検出アルゴリズムではRecordIO形式が推奨されているため
RecordIO形式に変換していきます。
まとめ
・Amazon SageMakerの中に色んなアルゴリズムがあり、簡単に素早く機械学習を行うことが出来る・物体検出アルゴリズムには、VGGとResNetがサポートされている
・物体認識アルゴリズムには、ResNetがサポートされている
次回は、入力するデータを作成していきます。

- タグ:
- 新米エンジニア