物体抽出したい画像が集まったら、オリジナルの学習モデルをカスタムラベルで作成します。
(1) Custom Labelsのプロジェクトを作成
Amazon RekognitionからCustom Labels -> Use Custom Labels -> Get Started -> S3バケットの作成をしていきます。このS3バケットに画像を入れて学習をしていきます。
(2) 学習用データセットを作成
プロジェクトが作成されると下の図のように、順番に何をするかが示されます。最初はデータセットを作成していきます。
1のcreate datasetをクリックします。
いくつかの選択肢がありますが、今回は
「Start with a single dataset」:学習データ、テストデータには自動で分割
「Import images from S3 bucket」:S3にアップロードしたデータを利用
の2つを選んで実施します。
今回は imageフォルダの中の3つのフォルダに入っている画像30枚を利用します。Custom Labelで強制的に作られたS3バケットの中にimageフォルダをアップロードしておきます。
アップロードが終わると、下記の画面が見えます。右上にある「Copy S3 URI」でリンクをコピーします。
コピーしたら、もう一度Custom Labelsに戻ります。S3 URIをコピーし、「Automatically assign image-level labels to images based on the folder name」にチェックを入れます。これでフォルダ名がラベル名となります。
ここまでできたら、Create Datasetをクリックします。画像が取り込まれると、ラベルのついた画像があることがわかります。
注意:AWS Academyで上記を実行すると、Network エラーになるかもしれません。なった場合は、S3からの同期ではなく、自分のPCからアップロードを選択して、一つひとつやってみて下さい。
(3) 学習の実行
「3. Train model」でボタンを押し実行します。
trainが始まり、進行中だと表示されます。数時間、学習に時間がかかります。
表示が変わり、精度など確認できれば学習完了です。
作成した学習モデルを使っていきます。学習済みのプロジェクトから上のメニューで「Use Model」を選択します。下の API Code でPythonを選択すると、pythonコードが出てきます。
ソースコードには、Start Model、Analyze Image、Stop Modelがあります。Start、Stopはプロジェクトのボタンでもできます。Startは時間がかかります。Stopはすぐにできます。利用しないときはStopしましょう。ここではAnalyze Imageを見ていきます。PythonコードをSageMakerで実行していくので、SageMakerを開きます。
!pip install boto3
でライブラリをインストールしておきます。モデルをStartした後、以下を実行します。AWS Academyの場合はセッション情報も必要です。
0 件のコメント:
コメントを投稿