コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

コンピュータビジョンを使用して、Amazon Rekognition カスタムラベルで農業生産量を測定する

農業部門では、樹木の果実の量を特定して数える問題が、収穫量の推定において重要な役割を果たします。 樹木の所有者が、推定収穫量に基づいて毎年収穫前に樹木をリースする、樹木のレンタルとリースの概念が一般的になりつつあります。 手動で果物を数える一般的な方法は、時間と労力のかかるプロセスです。 これは、作物管理システムでより良い結果を得るために、最も難しいが最も重要なタスクの XNUMX つです。 この果物と花の量の見積もりは、農家がリース価格だけでなく、栽培方法や植物の病気の予防についてもより適切な決定を下すのに役立ちます。

ここで、コンピューター ビジョン (CV) 用の自動機械学習 (ML) ソリューションが農家を支援できます。 Amazon Rekognitionカスタムラベル はフルマネージドのコンピュータビジョンサービスであり、開発者はカスタムモデルを構築して、ビジネスに固有の画像内のオブジェクトを分類および識別できます。

Rekognition Custom Labelsでは、コンピュータービジョンの専門知識は必要ありません。 数千枚ではなく数十枚の画像をアップロードするだけで始めることができます。 画像にすでにラベルが付けられている場合は、数回クリックするだけでモデルのトレーニングを開始できます。 そうでない場合は、Rekognition Custom Labelsコンソール内で直接ラベルを付けるか、 Amazon SageMakerグラウンドトゥルース それらにラベルを付けます。 Rekognition Custom Labelsは、転移学習を使用して、トレーニングデータを自動的に検査し、適切なモデルフレームワークとアルゴリズムを選択し、ハイパーパラメーターを最適化し、モデルをトレーニングします。 モデルの精度に満足したら、ワンクリックでトレーニング済みモデルのホストを開始できます。

この投稿では、Rekognition カスタム ラベルを使用してエンド ツー エンドのソリューションを構築し、果物を検出およびカウントして農業生産量を測定する方法を紹介します。

ソリューションの概要

次の手順を使用して、果物を検出するカスタム モデルを作成します。

  1. を使用して果物を含む画像でデータセットにラベルを付ける Amazon SageMakerグラウンドトゥルース.
  2. Rekognition カスタム ラベルでプロジェクトを作成します。
  3. ラベル付きデータセットをインポートします。
  4. モデルをトレーニングします。
  5. 自動生成されたAPIエンドポイントを使用して、新しいカスタムモデルをテストします。

Rekognition カスタム ラベルを使用すると、Amazon Rekognition コンソールで ML モデルのトレーニング プロセスを管理できます。これにより、エンドツーエンドのモデル開発と推論プロセスが簡素化されます。

前提条件

農業収量測定モデルを作成するには、まずモデルをトレーニングするためのデータセットを準備する必要があります。 この投稿では、データセットは果物の画像で構成されています。 次の図は、いくつかの例を示しています。

私たちは自分の庭から画像を調達しました。 から画像ファイルをダウンロードできます。 GitHubレポ.

この投稿では、果物の収量のユースケースを紹介するために、ほんの一握りの画像のみを使用しています. より多くの画像でさらに実験することができます。

データセットを準備するには、次の手順を実行します。

  1. 作る Amazon シンプル ストレージ サービス (Amazon S3)バケット。
  2. このバケット内に XNUMX つのフォルダーを作成します。 raw_data および test_data、ラベル付けおよびモデル テスト用の画像を保存します。
  3. 選択する アップロード GitHub リポジトリからそれぞれのフォルダーに画像をアップロードします。
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

アップロードされた画像にはラベルが付けられていません。 次の手順で画像にラベルを付けます。

Ground Truth を使用してデータセットにラベルを付ける

ML モデルをトレーニングするには、ラベル付きの画像が必要です。 Ground Truth は、画像にラベルを付ける簡単なプロセスを提供します。 ラベル付けタスクは人間の労働力によって実行されます。 この投稿では、プライベート ワークフォースを作成します。 使用できます Amazon Mechanical Turk 大規模なラベリング用。

ラベリング要員を作成する

まず、ラベル付け作業員を作成しましょう。 次の手順を完了します。

  1. SageMakerコンソールの[ グラウンドトゥルース ナビゲーション ペインで、 労働力のラベル付け.
  2. ソフトウェア設定ページで、下図のように プライベート タブを選択 プライベートチームを作成.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
  3. チームの名前、従業員の名前を入力します (この投稿では、 labeling-team).
  4. 選択する プライベートチームを作成.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
  5. 選択する 新しい労働者を招待します。
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
  6. メールアドレスでワーカーを追加 セクションで、作業者の電子メール アドレスを入力します。 この投稿では、自分のメールアドレスを入力してください。
  7. 選択する 新しい労働者を招待する.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

ラベル付け作業員を作成しました。これは、次のステップでラベル付けジョブを作成する際に使用します。

Ground Truth ラベル付けジョブを作成する

ラベル付け作業を効果的に行うには、次の手順を実行します。

  1. SageMakerコンソールの[ グラウンドトゥルース、選択する ラベル付けジョブ.
  2. 選択する ラベル付けジョブを作成する.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
  3. 職種名、 入る fruits-detection.
  4. 選択 ラベル付けジョブ名とは異なるラベル属性名を指定したい.
  5. ラベル属性名入る Labels.
  6. 入力データの設定選択 自動データ設定.
  7. 入力データセットのS3の場所、前に作成したバケットを使用して、イメージの S3 の場所を入力します (s3://{your-bucket-name}/raw-data/images/).
  8. 出力データセットの S3 の場所選択 新しい場所を指定 注釈付きデータの出力場所を入力します (s3://{your-bucket-name}/annotated-data/).
  9. データ・タイプ、選択する 画像.
  10. 選択する 完全なデータ設定.
    これにより、イメージ マニフェスト ファイルが作成され、S3 の入力場所のパスが更新されます。 「入力データの接続に成功しました」というメッセージが表示されるまで待ちます。
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
  11. 詳細 追加の構成.
  12. 確認して 完全なデータセット 選択されています。
    これは、ラベル付けジョブにすべての画像を提供するか、フィルターまたはランダム サンプリングに基づいて画像のサブセットを提供するかを指定するために使用されます。
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
  13. タスクカテゴリ、選択する 画像 これは画像注釈のタスクであるためです。
  14. これは物体検出のユースケースであるため、 タスクの選択選択 境界ボックス.
  15. 他のオプションはデフォルトのままにして、 Next.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
  16. 選択する Next.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
    次に、ワーカーを指定し、ラベル付けツールを構成します。
  17. 労働者のタイプ選択 プライベートこの投稿では、社内の従業員を使用して画像に注釈を付けます。 公的契約労働者を選択するオプションもあります (アマゾン メカニカル ターク) またはパートナーの従業員 (ベンダー管理) ユースケースによって異なります。
  18. プライベート チームの場合は、先ほど作成したチームを選択します。コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
  19. 他のオプションはデフォルトのままにして、下にスクロールします バウンディング ボックス ラベル付けツールプライベート ラベリング チーム向けのラベリング ツールで、ここに明確な指示を提供することが不可欠です。 これらの指示は、ラベル付け中のアノテーターのガイドとして機能します。 適切な指示は簡潔であるため、口頭またはテキストによる指示は XNUMX 文に制限し、視覚的な指示に重点を置くことをお勧めします。 画像分類の場合、指示の一部として各クラスに XNUMX つのラベル付き画像を提供することをお勧めします。
  20. XNUMX つのラベルを追加します。 fruit および no_fruit.
  21. 詳細な手順を 提供する説明フィールド 労働者への指示。 例えば: You need to label fruits in the provided image. Please ensure that you select label 'fruit' and draw the box around the fruit just to fit the fruit for better quality of label data. You also need to label other areas which look similar to fruit but are not fruit with label 'no_fruit'オプションで、良いラベル付け画像と悪いラベル付け画像の例を提供することもできます。 これらの画像が公開されていることを確認する必要があります。
  22. 選択する 創造する ラベル付けジョブを作成します。
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

ジョブが正常に作成されたら、次のステップは入力画像にラベルを付けることです。

ラベル付けジョブを開始する

ジョブが正常に作成されると、ジョブのステータスは次のようになります。 InProgress. これは、ジョブが作成され、割り当てられたタスクに関してプライベート ワーカーに電子メールで通知されることを意味します。 タスクを自分自身に割り当てたので、Ground Truth Labeling プロジェクトにログインする手順が記載された電子メールを受け取るはずです。

コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

  1. メールを開き、提供されたリンクを選択します。
  2. メールに記載されているユーザー名とパスワードを入力します。
    メールに記載されている一時パスワードは、ログイン後に新しいパスワードに変更する必要がある場合があります。
  3. ログインしたら、ジョブを選択して選択します 作業を開始する.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
    提供されているツールを使用して、画像の拡大、縮小、移動、境界ボックスの描画を行うことができます。
  4. ラベルを選択します (fruit or no_fruit)、画像に境界ボックスを描画して注釈を付けます。
  5. 終了したら、を選択します 送信.

これで、ML モデルがトレーニングに使用する画像に正しくラベルを付けることができました。

Amazon Rekognition プロジェクトを作成する

農業収量測定プロジェクトを作成するには、次の手順を実行します。

  1. Amazon Rekognitionコンソールで、次を選択します カスタムラベル.
  2. 選択する 始める.
  3. プロジェクト名、 入る fruits_yield.
  4. 選択する プロジェクトを作成する.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

でプロジェクトを作成することもできます プロジェクト ページ。 にアクセスできます プロジェクト ナビゲーション ペインからページに移動します。 次のステップは、画像を入力として提供することです。

データセットをインポートする

農業生産量測定モデルを作成するには、まずデータセットをインポートしてモデルをトレーニングする必要があります。 この投稿では、データセットは Ground Truth を使用して既にラベル付けされています。

  1. 画像をインポートする選択 SageMaker Ground Truth によってラベル付けされた画像をインポートする.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
  2. マニフェスト ファイルの場所、マニフェスト ファイルの S3 バケットの場所を入力します (s3://{your-bucket-name}/fruits_image/annotated_data/fruits-labels/manifests/output/output.manifest).
  3. 選択する データセットを作成.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

ラベル付けされたデータセットが表示されます。

コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

これで、ML モデルのトレーニングを開始するための入力データセットが用意されました。

モデルをトレーニングする

画像にラベルを付けたら、モデルをトレーニングする準備が整います。

  1. 選択する 列車モデル.
  2. プロジェクトを選択、プロジェクトを選択 fruits_yield.
  3. 選択する 電車模型.
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

トレーニングが完了するまで待ちます。 これで、このトレーニング済みモデルのパフォーマンスのテストを開始できます。

モデルをテストする

農業生産量測定モデルを使用する準備が整いました。 Running 州。 モデルをテストするには、次の手順を実行します。

ステップ 1 : モデルを開始する

モデルの詳細ページで、 モデルを使用 タブを選択 開始.
コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。
Rekognition Custom Labels は、モデルを開始、使用、および停止するための API 呼び出しも提供します。

ステップ 2 : モデルをテストする

モデルが Running サンプル テスト スクリプトを使用できます。 analyzeImage.py 画像内の果物の数を数えます。

  1. からこのスクリプトをダウンロードします。 GitHubレポ.
  2. このファイルを編集してパラメータを置き換えます bucket バケット名と model Amazon Rekognition モデルの ARN を使用します。

パラメータを使用します photo および min_confidence この Python スクリプトの入力として。

コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

このスクリプトをローカルで実行するには、 AWSコマンドラインインターフェイス (AWS CLI) または使用 AWS クラウドシェル. この例では、CloudShell コンソールを介してスクリプトを実行しました。 CloudShell は 自由に使用する.

コマンドを使用して、必要な依存関係を必ずインストールしてください。 pip3 install boto3 PILLOW まだインストールされていない場合。
コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

  1. ファイルをアップロードする analyzeImage.py を使用して CloudShell に メニュー。
    コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

次のスクリーンショットは、入力画像で 15 つの果物を検出した出力を示しています。 写真の引数として 85.jpeg を指定し、引数として XNUMX を指定しました。 min_confidence の値です。

コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

次の例は、15 つの境界ボックスを持つ画像 XNUMX.jpeg を示しています。

コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。

同じスクリプトを他の画像で実行し、信頼スコアをさらに変更して実験できます。

ステップ 3: モデルを停止する

完了したら、モデルを停止して、不要な料金が発生しないようにしてください。 モデルの詳細ページの [モデルの使用] タブで、[停止] を選択します。

クリーンアップ

不要な料金が発生しないように、このチュートリアルで使用されているリソースを使用していないときは削除してください。 Amazon Rekognition プロジェクトと S3 バケットを削除する必要があります。

Amazon Rekognition プロジェクトを削除する

Amazon Rekognition プロジェクトを削除するには、次の手順を実行します。

  1. Amazon Rekognitionコンソールで、次を選択します カスタムラベルを使用する.
  2. 選択する 始める.
  3. ナビゲーションペインで、 プロジェクト.
  4. ソフトウェア設定ページで、下図のように プロジェクト ページで、削除するプロジェクトを選択します。
    1. 選択する 削除.
        プロジェクトを削除する ダイアログボックスが表示されます。
  5. プロジェクトにモデルが関連付けられていない場合:
    1. 入力します 削除 プロジェクトを削除します。
    2. 選択する 削除 プロジェクトを削除します。
  6. プロジェクトにモデルまたはデータセットが関連付けられている場合:
    1. 入力します 削除 モデルとデータセットを削除することを確認します。
    2. いずれかを選択する 関連モデルの削除, 関連するデータセットを削除するまたは 関連するデータセットとモデルを削除する、モデルにデータセット、モデル、またはその両方があるかどうかに応じて。

    モデルの削除が完了するまでに時間がかかる場合があります。 Amazon Rekognition コンソールは、トレーニング中または実行中のモデルを削除できないことに注意してください。 リストされている実行中のモデルを停止してから再試行し、トレーニングとしてリストされているモデルが完了するまで待ちます。 モデルの削除中にダイアログ ボックスを閉じても、モデルは削除されたままです。 後で、この手順を繰り返すことでプロジェクトを削除できます。

  7. 入力します 削除 プロジェクトを削除することを確認します。
  8. 選択する 削除 プロジェクトを削除します。

S3 バケットを削除する

最初にバケットを空にしてから削除する必要があります。

  1. ソフトウェア設定ページで、下図のように アマゾンS3 コンソール、選択 バケット.
  2. 空にするバケットを選択し、 空の.
  3. テキスト フィールドにバケット名を入力してバケットを空にすることを確認し、 空の.
  4. 選択する 削除.
  5. テキストフィールドにバケット名を入力してバケットを削除することを確認し、を選択します。 バケットを削除.

まとめ

この投稿では、Rekognition カスタム ラベルを使用してオブジェクト検出モデルを作成する方法を紹介しました。 この機能により、他のオブジェクトを指定したり、結果の精度を失ったりすることなく、オブジェクト クラスを検出できるカスタム モデルを簡単にトレーニングできます。

カスタムラベルの使用の詳細については、 Amazon Rekognitionカスタムラベルとは何ですか?


著者について

コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。ディーラジ・タクール アマゾンウェブサービスのソリューションアーキテクトです。 彼はAWSのお客様やパートナーと協力して、エンタープライズクラウドの採用、移行、戦略に関するガイダンスを提供しています。 彼はテクノロジーに情熱を注いでおり、分析とAI / MLの分野での構築と実験を楽しんでいます。

コンピュータビジョンを使用して、Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence で農業生産量を測定します。 垂直検索。 あい。サミール・ゴエル は、オランダのシニア ソリューション アーキテクトであり、最先端のイニシアチブでプロトタイプを構築することにより、顧客の成功を推進しています。 AWS に入社する前、Sameer はボストンで修士号を取得し、データ サイエンスを専攻していました。 Raspberry Pi での AI/ML プロジェクトの構築と実験を楽しんでいます。 あなたは彼を見つけることができます LinkedIn.

タイムスタンプ:

より多くの AWS機械学習