本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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.](images/getting-started/get-started-anomalous-cookie.png)
步驟 1:建立清單檔案並上傳圖片
在此程序中,您可以將 Amazon Lookout for Vision 文件存放庫複製到您的電腦。然後,您可以使用 Python (3.7 版或更高版本) 指令碼建立資訊清單檔案,並將訓練映像和遮罩映像上傳到您指定的 Amazon S3 位置。您可以使用資訊清單檔案來建立模型。稍後,您可以在本地存儲庫中使用測試映像來嘗試您的模型。
若要建立資訊清單檔案並上傳影像
按照設置亞馬遜 Lookout for Vision 察中的說明設置亞馬遜 Lookout for Vision. 請務必安裝適用於 Python 的AWS軟件開發套件
。 在您想要使用 Lookout for Vision 的AWS區域中,建立 S3 儲存貯體。
在 Amazon S3 儲存貯存貯存貯存貯存貯存貯存貯存貯存貯存
getting-started
請注意該資料夾的 Amazon S3 URI 和 Amazon S3 URI 和 Amazon S3 URI 和 Amazon S3 URI 和 Amazon Resource Name ( 您可以使用它們來設定權限並執行指令碼。
請確定呼叫指令碼的使用者具有呼叫
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
/*" ] }] }-
請確定您有名為的本機設定檔,
lookoutvision-access
且設定檔使用者具有上一個步驟的權限。如需詳細資訊,請參閱在本機電腦上使用設定檔。 -
下載壓縮文件,getting-started.zip。zip 檔案包含入門資料集和設定指令碼。
解壓縮
getting-started.zip
檔案。在命令提示中,執行下列動作:
導覽至
getting-started
資料夾。-
執行下列命令以建立資訊清單檔案,並將訓練映像和映像遮罩上傳到您在步驟 4 中記下的 Amazon S3 路徑。
python getting_started.py
S3-URI-from-step-4
指令碼完成時,請記下指令碼在其後顯示之
train.manifest
檔案的路徑Create dataset using manifest file:
。路徑應類似s3://
。path to getting started folder
/manifests/train.manifest
步驟 2:建立模型
在此程序中,您可以使用先前上傳到 Amazon S3 儲存貯體的映像和資訊清單檔案建立專案和資料集。然後,您可以建立模型並檢視模型訓練中的評估結果。
由於您是從入門資訊清單檔案建立資料集,因此不需要為資料集的映像加上標籤。當您使用自己的影像建立資料集時,您需要為影像加上標籤。如需詳細資訊,請參閱標記檔案。
重要
您需要支付成功訓練模型的費用。
建立模型
-
打開亞馬遜 Lookout for Vision 控制台 https://console.aws.amazon.com/lookoutvision/
. 請確保您位於 Amazon S3 儲存貯存貯存貯存貯存貯存貯存貯存貯存貯存貯存貯存貯存貯 AWS 步驟 1:建立清單檔案並上傳圖片 若要變更區域,請在導覽列中選擇目前顯示區域的名稱。然後選擇您要切換的區域。
-
選擇 Get started (開始使用)。
在「專案」區段中,選擇「建立專案」。
-
在建立專案頁面上,執行下列動作:
-
在專案名稱中,輸入
getting-started
。 -
選擇 Create project (建立專案)。
-
-
在專案頁面的 [運作方式] 區段中,選擇 [建立資料集]。
在建立資料集頁面上,執行下列動作:
-
選擇 [建立單一資料集]。
-
在 [影像來源設定] 區段中,選擇 [匯入由 SageMaker Ground Truth 標記的影像]。
-
對於 .manifest 檔案位置,請輸入您在步驟 6.c 中記下的資訊清單檔案的 Amazon S3 位置。步驟 1:建立清單檔案並上傳圖片Amazon S3 位置應該類似於
s3://
path to getting started folder
/manifests/train.manifest -
選擇建立資料集。
-
-
在專案詳細資訊頁面的 [映像] 區段中,檢視資料集影像。您可以檢視每個資料集影像的分類和影像分割資訊 (遮罩和異常標籤)。您也可以搜尋影像、依標籤狀態篩選影像 (已標記/未標記),或依指派給影像的異常標籤篩選影像。
-
在專案詳細資訊頁面上,選擇 [訓練模型]。
-
在 [訓練模型詳細資料] 頁面上,選擇 [訓練模型]
-
在 [您要訓練您的模型嗎? 」對話方塊中選擇「訓練模型」。
-
在「專案模型」頁面中,您可以看到訓練已經開始。檢視模型版本的「狀態」(S tatus) 欄,以檢查目前的狀態。模型的訓練時間至少為 30 分鐘。當狀態變更為 [訓練完成] 時,訓練已成功完成。
-
訓練結束後,請在「模型」頁面中選擇模型 1。
-
在模型的詳細資訊頁面中,檢視「效能測量結果」標籤中的評估結果。有下列測量結果:
由於模型訓練不具決定性,因此您的評估結果可能與此頁面上顯示的結果不同。如需詳細資訊,請參閱改善您的 Amazon Lookout for Vision 模型。
步驟 3:啟動模型
在此步驟中,您將開始主體模型,以便可以分析影像。如需詳細資訊,請參閱運行訓練有素的亞馬遜 Lookout for Vision 模型。
注意
系統會依模型執行的時間量來對您進行測試。你停止你的模型步驟 5:停止模型。
要啟動模型。
在模型的詳細資料頁面上,選擇 [使用模型],然後選擇 [將 API 整合至雲端]。
在「指AWS CLI令」區段中,複製指
start-model
AWS CLI令。-
請確定已設定AWS CLI為在您使用 Amazon Lookout for Vision 主控台的相同AWS區域中執行。若要變更AWS CLI使用的「AWS區域」,請參閱安裝 AWS 軟體開發套件。
-
於指令提示下,透過輸入
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" }
回到主控台中,選擇導覽窗格中的模型。
等待「狀態」欄中模型 (模型 1) 的狀態顯示為「主體」。如果您先前已在專案中訓練過模型,請等待最新的模型版本完成。
步驟 4:分析影像
在此步驟中,將會分析模型的影像。我們提供範例影像,您可以在電腦上的 Lookout Vision 文件儲存庫中的入門test-images
資料夾中使用。如需詳細資訊,請參閱偵測影像中的異常。
分析影像的步驟
-
在「型號」頁面上,選擇型號 1。
-
在模型的詳細資料頁面上,選擇 [使用模型],然後選擇 [將 API 整合至雲端]。
-
在「指AWS CLI令」區段中,複製指
detect-anomalies
AWS CLI令。 -
於指令提示下,透過輸入上一個步驟中的
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......" } }
-
在輸出中,注意下列事項:
-
IsAnomalous
是預測分類的布林值。true
如果圖像是異常的,否則false
。 -
Confidence
是一個浮點值,代表亞馬遜 Lookout for Vision 在預測中的信心。0 是最低的置信度,1 是最高的信心。 -
Anomalies
是在影像中找到的異常清單。Name
是異常標籤。PixelAnomaly
包括異常 (TotalPercentageArea
) 的總百分比面積和異常標籤的顏色 (Color
)。該清單還包括「背景」異常,該異常覆蓋了在圖像上發現的異常之外的區域。 -
AnomalyMask
是顯示分析影像上異常位置的遮色片影像。
您可以使用回應中的資訊來顯示分析影像和異常遮色片的混合,如下列範例所示。如需範例程式碼,請參閱顯示分類和區段資訊。
-
-
在指令提示下,分析入門
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....." } }
-
在輸出中,請注意,用於將影像
IsAnomalous
分類為沒有異常的false
值。用Confidence
來協助決定您對分類的信心。此外,Anomalies
陣列只有background
異常標籤。
步驟 5:停止模型
在此步驟中,將會停止主控模型。您需支付模型執行時間的費用。如果您不使用模型,則應停止它。下次需要時,將會重新啟動模型。如需詳細資訊,請參閱開始您的亞馬遜 Lookout for Vision 模型。
停止模型。
-
在導覽窗格中,選擇模型。
在「型號」頁面中,選擇型號 1。
在模型的詳細資料頁面上,選擇 [使用模型],然後選擇 [將 API 整合至雲端]。
在「指AWS CLI令」區段中,複製指
stop-model
AWS CLI令。-
於指令提示下,透過輸入上一個步驟中的
stop-model
AWS CLI指令來停止模型。如果您使用lookoutvision
設定檔取得認證,請新增--profile lookoutvision-access
參數。例如:aws lookoutvision stop-model \ --project-name getting-started \ --model-version 1 \ --profile lookoutvision-access
如果呼叫成功,則會顯示下列輸出:
{ "Status": "STOPPING_HOSTING" }
返回控制台,在左側導航頁面中選擇模型。
當「狀態」(Status) 欄中的模型狀態為「訓練完成」時,模型已停止。
後續步驟
當您準備好使用自己的影像建立模型時,請按照中的指示開始建立您的專案。這些說明包括使用 Amazon Lookout for Vision 主控台和 AWS SDK 建立模型的步驟。
如果您想嘗試其他範例資料集,請參閱範例程式碼和資料集。