Amazon Lookout for Vision - Amazon Lookout for Vision

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon Lookout for Vision

在開始這些入門指示之前,我們建議您閱讀瞭解 Amazon Lookout for Vision

入門指示會示範如何使用建立範例影像分割模型。如果您要建立範例影像分類模型,請參閱影像分類資料集

如果您想快速嘗試示例模型,我們提供示例訓練圖像和蒙版圖像。我們還提供了一個 Python 腳本,用於創建圖像分割清單文件。您可以使用資訊清單檔案為專案建立資料集,而且不需要為資料集中的影像加上標籤。當您使用自己的影像建立模型時,必須為資料集中的影像加上標籤。如需詳細資訊,請參閱建立資料集

我們提供的圖像是正常和異常的 cookie。異常的餅乾在餅乾形狀上有裂縫。您使用影像訓練的模型會預測分類 (正常或異常),並在異常 Cookie 中尋找裂縫區域 (遮罩),如下列範例所示。

Chocolate chip cookie with a visible crack across its surface on a green background.

步驟 1:建立清單檔案並上傳圖片

在此程序中,您可以將 Amazon Lookout for Vision 文件存放庫複製到您的電腦。然後,您可以使用 Python (3.7 版或更高版本) 指令碼建立資訊清單檔案,並將訓練映像和遮罩映像上傳到您指定的 Amazon S3 位置。您可以使用資訊清單檔案來建立模型。稍後,您可以在本地存儲庫中使用測試映像來嘗試您的模型。

若要建立資訊清單檔案並上傳影像
  1. 按照設置亞馬遜 Lookout for Vision 察中的說明設置亞馬遜 Lookout for Vision. 請務必安裝適用於 Python 的AWS軟件開發套件

  2. 在您想要使用 Lookout for Vision 的AWS區域中,建立 S3 儲存貯體

  3. 在 Amazon S3 儲存貯存貯存貯存貯存貯存貯存貯存貯存貯存 getting-started

  4. 請注意該資料夾的 Amazon S3 URI 和 Amazon S3 URI 和 Amazon S3 URI 和 Amazon S3 URI 和 Amazon Resource Name ( 您可以使用它們來設定權限並執行指令碼。

  5. 請確定呼叫指令碼的使用者具有呼叫s3:PutObject作業的權限。您可以使用下列政策。若要指派權限,請參閱指派權限

    { "Version": "2012-10-17", "Statement": [{ "Sid": "Statement1", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3::: ARN for S3 folder in step 4/*" ] }] }
  6. 請確定您有名為的本機設定檔,lookoutvision-access且設定檔使用者具有上一個步驟的權限。如需詳細資訊,請參閱在本機電腦上使用設定檔

  7. 下載壓縮文件,getting-started.zip。zip 檔案包含入門資料集和設定指令碼。

  8. 解壓縮 getting-started.zip 檔案。

  9. 在命令提示中,執行下列動作:

    1. 導覽至 getting-started 資料夾。

    2. 執行下列命令以建立資訊清單檔案,並將訓練映像和映像遮罩上傳到您在步驟 4 中記下的 Amazon S3 路徑。

      python getting_started.py S3-URI-from-step-4
    3. 指令碼完成時,請記下指令碼在其後顯示之train.manifest檔案的路徑Create dataset using manifest file:。路徑應類似s3://path to getting started folder/manifests/train.manifest

步驟 2:建立模型

在此程序中,您可以使用先前上傳到 Amazon S3 儲存貯體的映像和資訊清單檔案建立專案和資料集。然後,您可以建立模型並檢視模型訓練中的評估結果。

由於您是從入門資訊清單檔案建立資料集,因此不需要為資料集的映像加上標籤。當您使用自己的影像建立資料集時,您需要為影像加上標籤。如需詳細資訊,請參閱標記檔案

重要

您需要支付成功訓練模型的費用。

建立模型
  1. 打開亞馬遜 Lookout for Vision 控制台 https://console.aws.amazon.com/lookoutvision/.

  2. 請確保您位於 Amazon S3 儲存貯存貯存貯存貯存貯存貯存貯存貯存貯存貯存貯存貯存貯 AWS 步驟 1:建立清單檔案並上傳圖片 若要變更區域,請在導覽列中選擇目前顯示區域的名稱。然後選擇您要切換的區域。

  3. 選擇 Get started (開始使用)。

    Amazon Lookout for Vision service description and Get started button highlighted.
  4. 在「專」區段中,選擇「建立專案」。

    Dashboard overview with empty statistics and a "Create project" button highlighted.
  5. 建立專案頁面上,執行下列動作:

    1. 專案名稱中,輸入getting-started

    2. 選擇 Create project (建立專案)

    Project creation interface for anomaly detection model with project name input field.
  6. 在專案頁面的 [運作方式] 區段中,選擇 [建立資料集]。

    Getting-started info page showing steps to prepare dataset and train model.
  7. 建立資料集頁面上,執行下列動作:

    1. 選擇 [建立單一資料集]。

    2. 在 [影像來源設定] 區段中,選擇 [匯入由 SageMaker Ground Truth 標記的影像]。

    3. 對於 .manifest 檔案位置,請輸入您在步驟 6.c 中記下的資訊清單檔案的 Amazon S3 位置。步驟 1:建立清單檔案並上傳圖片Amazon S3 位置應該類似於 s3://path to getting started folder/manifests/train.manifest

    4. 選擇建立資料集

    Dataset configuration options with single dataset creation selected and image import methods.
  8. 在專案詳細資訊頁面的 [映像] 區段中,檢視資料集影像。您可以檢視每個資料集影像的分類和影像分割資訊 (遮罩和異常標籤)。您也可以搜尋影像、依標籤狀態篩選影像 (已標記/未標記),或依指派給影像的異常標籤篩選影像。

    Image labeling interface showing three chocolate chip cookies with cracks, labeled as anomalies.
  9. 在專案詳細資訊頁面上,選擇 [訓練模型]。

    Getting-started page with instructions to prepare datasets and a Train model button.
  10. 在 [訓練模型詳細資料] 頁面上,選擇 [訓練模型]

  11. 在 [您要訓練您的模型嗎? 」對話方塊中選擇「訓練模型」。

  12. 在「專案模型」頁面中,您可以看到訓練已經開始。檢視模型版本的「狀態」(S tatus) 欄,以檢查目前的狀態。模型的訓練時間至少為 30 分鐘。當狀態變更為 [訓練完成] 時,訓練已成功完成。

  13. 訓練結束後,請在「模型」頁面中選擇模型 1

    Models page showing one model named Model 1 with Training complete status.
  14. 在模型的詳細資訊頁面中,檢視「效能測量結果」標籤中的評估結果。有下列測量結果:

    • 模型所做的分類預測的整體模型效能指標 (精確度召回F1 分數)。

      Model performance metrics showing 100% precision, recall, and F1 score for 20 test images.
    • 測試影像中發現異常標籤的效能指標 (平均 IoU、F1 分數)

      Table showing performance metrics for "cracked" label with 10 test images, 86.1% F1 score, and 74.53% Average IoU.
    • 試影像的預測 (分類、分段遮罩和異常標籤)

      Three chocolate chip cookies on dark surfaces, two with green anomalies labeled as "cracked".

    由於模型訓練不具決定性,因此您的評估結果可能與此頁面上顯示的結果不同。如需詳細資訊,請參閱改善您的 Amazon Lookout for Vision 模型

步驟 3:啟動模型

在此步驟中,您將開始主體模型,以便可以分析影像。如需詳細資訊,請參閱運行訓練有素的亞馬遜 Lookout for Vision 模型

注意

系統會依模型執行的時間量來對您進行測試。你停止你的模型步驟 5:停止模型

要啟動模型。
  1. 在模型的詳細資料頁面上,選擇 [使用模型],然後選擇 [將 API 整合至雲端]。

    Model 1 page with "Use model" button and dropdown option "Integrate API to the cloud".
  2. 在「指AWS CLI令」區段中,複製指start-modelAWS CLI令。

    AWS CLI command to start a Lookout for Vision model with project and version details.
  3. 請確定已設定AWS CLI為在您使用 Amazon Lookout for Vision 主控台的相同AWS區域中執行。若要變更AWS CLI使用的「AWS區域」,請參閱安裝 AWS 軟體開發套件

  4. 於指令提示下,透過輸入start-model指令啟動模型。如果您使用lookoutvision設定檔取得認證,請新增--profile lookoutvision-access參數。例如:

    aws lookoutvision start-model \ --project-name getting-started \ --model-version 1 \ --min-inference-units 1 \ --profile lookoutvision-access

    如果呼叫成功,則會顯示下列輸出:

    { "Status": "STARTING_HOSTING" }
  5. 回到主控台中,選擇導覽窗格中的模型

    AWSLookout for Vision console showing CLI commands to start model and detect anomalies.
  6. 等待「狀態」欄中模型 (模型 1) 的狀態顯示為「主體」。如果您先前已在專案中訓練過模型,請等待最新的模型版本完成。

    Model 1 with Hosted status, 100% precision and recall, created on September 21st, 2022.

步驟 4:分析影像

在此步驟中,將會分析模型的影像。我們提供範例影像,您可以在電腦上的 Lookout Vision 文件儲存庫中的入門test-images資料夾中使用。如需詳細資訊,請參閱偵測影像中的異常

分析影像的步驟
  1. 在「型號」頁面上,選擇型號 1

    Models table showing Model 1 with Hosted status, creation date, and 100% precision and recall.
  2. 在模型的詳細資料頁面上,選擇 [使用模型],然後選擇 [將 API 整合至雲端]。

    Model 1 page with "Use model" button and dropdown option "Integrate API to the cloud".
  3. 在「指AWS CLI令」區段中,複製指detect-anomaliesAWS CLI令。

    AWS CLI command for detect-anomalies with parameters for project, model version, and image file.
  4. 於指令提示下,透過輸入上一個步驟中的detect-anomalies指令來分析異常影像。對於--body參數,請從電腦上的入門test-images資料夾中指定異常影像。如果您使用lookoutvision設定檔取得認證,請新增--profile lookoutvision-access參數。例如:

    aws lookoutvision detect-anomalies \ --project-name getting-started \ --model-version 1 \ --content-type image/jpeg \ --body /path/to/test-images/test-anomaly-1.jpg \ --profile lookoutvision-access

    輸出格式應類似以下內容:

    { "DetectAnomalyResult": { "Source": { "Type": "direct" }, "IsAnomalous": true, "Confidence": 0.983975887298584, "Anomalies": [ { "Name": "background", "PixelAnomaly": { "TotalPercentageArea": 0.9818974137306213, "Color": "#FFFFFF" } }, { "Name": "cracked", "PixelAnomaly": { "TotalPercentageArea": 0.018102575093507767, "Color": "#23A436" } } ], "AnomalyMask": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAMACA......" } }
  5. 在輸出中,注意下列事項:

    • IsAnomalous是預測分類的布林值。 true如果圖像是異常的,否則false

    • Confidence是一個浮點值,代表亞馬遜 Lookout for Vision 在預測中的信心。0 是最低的置信度,1 是最高的信心。

    • Anomalies是在影像中找到的異常清單。 Name是異常標籤。 PixelAnomaly包括異常 (TotalPercentageArea) 的總百分比面積和異常標籤的顏色 (Color)。該清單還包括「背景」異常,該異常覆蓋了在圖像上發現的異常之外的區域。

    • AnomalyMask是顯示分析影像上異常位置的遮色片影像。

    您可以使用回應中的資訊來顯示分析影像和異常遮色片的混合,如下列範例所示。如需範例程式碼,請參閱顯示分類和區段資訊

    Chocolate chip cookie with green segmentation highlighting cracked areas, labeled as anomalous.
  6. 在指令提示下,分析入門test-images資料夾中的一般影像。如果您使用lookoutvision設定檔取得認證,請新增--profile lookoutvision-access參數。例如:

    aws lookoutvision detect-anomalies \ --project-name getting-started \ --model-version 1 \ --content-type image/jpeg \ --body /path/to/test-images/test-normal-1.jpg \ --profile lookoutvision-access

    輸出格式應類似以下內容:

    { "DetectAnomalyResult": { "Source": { "Type": "direct" }, "IsAnomalous": false, "Confidence": 0.9916400909423828, "Anomalies": [ { "Name": "background", "PixelAnomaly": { "TotalPercentageArea": 1.0, "Color": "#FFFFFF" } } ], "AnomalyMask": "iVBORw0KGgoAAAANSUhEUgAAAkAAAA....." } }
  7. 在輸出中,請注意,用於將影像IsAnomalous分類為沒有異常的false值。用Confidence來協助決定您對分類的信心。此外,Anomalies陣列只有background異常標籤。

步驟 5:停止模型

在此步驟中,將會停止主控模型。您需支付模型執行時間的費用。如果您不使用模型,則應停止它。下次需要時,將會重新啟動模型。如需詳細資訊,請參閱開始您的亞馬遜 Lookout for Vision 模型

停止模型。
  1. 在導覽窗格中,選擇模型

    AWSLookout for Vision console showing CLI commands to start model and detect anomalies.
  2. 在「型號」頁面中,選擇型號 1

    Models table showing Model 1 with Hosted status, creation date, and 100% precision and recall.
  3. 在模型的詳細資料頁面上,選擇 [使用模型],然後選擇 [將 API 整合至雲端]。

    Model 1 page with "Use model" button and dropdown option "Integrate API to the cloud".
  4. 在「指AWS CLI令」區段中,複製指stop-modelAWS CLI令。

    Copy button icon next to AWS CLI command for stopping a Lookout for Vision model.
  5. 於指令提示下,透過輸入上一個步驟中的stop-modelAWS CLI指令來停止模型。如果您使用lookoutvision設定檔取得認證,請新增--profile lookoutvision-access參數。例如:

    aws lookoutvision stop-model \ --project-name getting-started \ --model-version 1 \ --profile lookoutvision-access

    如果呼叫成功,則會顯示下列輸出:

    { "Status": "STOPPING_HOSTING" }
  6. 返回控制台,在左側導航頁面中選擇模型

  7. 當「狀態」(Status) 欄中的模型狀態為「訓練完成」時,模型已停止。

後續步驟

當您準備好使用自己的影像建立模型時,請按照中的指示開始建立您的專案。這些說明包括使用 Amazon Lookout for Vision 主控台和 AWS SDK 建立模型的步驟。

如果您想嘗試其他範例資料集,請參閱範例程式碼和資料集