模型訓練疑難排 - Amazon Lookout for Vision

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

模型訓練疑難排

資訊清單檔案或訓練影像的問題可能會導致模型訓練失敗。在重新訓練模型之前,請檢查下列潛在問題。

異常標籤顏色與遮色片影像中異常的顏色不相符

如果您正在訓練影像分割模型,資訊清單檔案中異常標籤的顏色必須與遮色片影像中的顏色相符。資訊清單檔案中影像的JSON行具有中繼資料 (internal-color-map),可告知 Amazon Lookout 視覺哪種顏色對應於異常標籤。例如,下一#2ca02c行中scratch異常標籤的顏色為。JSON

{ "source-ref": "s3://path-to-image", "anomaly-label": 1, "anomaly-label-metadata": { "class-name": "anomaly", "creation-date": "2021-10-12T14:16:45.668", "human-annotated": "yes", "job-name": "labeling-job/classification-job", "type": "groundtruth/image-classification", "confidence": 1 }, "anomaly-mask-ref": "s3://path-to-image", "anomaly-mask-ref-metadata": { "internal-color-map": { "0": { "class-name": "BACKGROUND", "hex-color": "#ffffff", "confidence": 0.0 }, "1": { "class-name": "scratch", "hex-color": "#2ca02c", "confidence": 0.0 }, "2": { "class-name": "dent", "hex-color": "#1f77b4", "confidence": 0.0 } }, "type": "groundtruth/semantic-segmentation", "human-annotated": "yes", "creation-date": "2021-11-23T20:31:57.758889", "job-name": "labeling-job/segmentation-job" } }

如果遮色片影像中的顏色與中的值不符hex-color,訓練會失敗,您需要更新資訊清單檔案。

更新資訊清單檔案中的顏色值
  1. 使用文字編輯器,開啟您用來建立資料集的資訊清單檔案。

  2. 對於每一JSON行(影像),檢查internal-color-map欄位中的顏色 (hex-color) 是否與遮色片影像中異常標籤的顏色相符。

    您可以從現場獲取蒙版圖像的anomaly-mask-ref位置。將圖像下載到您的計算機,然後使用以下代碼獲取圖像中的顏色。

    from PIL import Image img = Image.open('path to local copy of mask file') colors = img.convert('RGB').getcolors() #this converts the mode to RGB for color in colors: print('#%02x%02x%02x' % color[1])
  3. 對於每個指定色彩不正確的影像,請更新影像JSON行中的hex-color欄位。

  4. 儲存更新資訊清單檔案。

  5. 從專案中刪除現有的資料集。

  6. 使用更新的資訊清單檔案在專案中立新資料集。

  7. 訓練模型。

或者,對於步驟 5 和 6,您可以呼叫UpdateDatasetEntries作業並為您要更新的影像提供更新的JSON行來更新資料集中的個別影像。如需範例程式碼,請參閱 新增更多影像 (SDK)

遮色片影像不是格PNG式

如果您要訓練影像分割模型,遮色片影像必須是PNG格式。如果您是從資訊清單檔案建立資料集,請確定您參考的遮罩影像anomaly-mask-ref為PNG格式。如果遮罩圖像不是PNG格式,則需要將它們轉換為PNG格式。將影像檔案的副檔名重新命名為是不夠的.png

您在 Amazon Lookout for Vision 主控台或使用「 SageMaker Ground Truth」任務建立的遮罩影像是以PNG格式建立的。您不需要變更這些影像的格式。

若要更正資訊清單檔案中的非PNG格式遮罩影像
  1. 使用文字編輯器,開啟您用來建立資料集的資訊清單檔案。

  2. 對於每一JSON行(圖像),請確保圖像anomaly-mask-ref引用PNG格式圖像。如需詳細資訊,請參閱建立清單檔案

  3. 儲存更新的資訊清單檔案。

  4. 從專案中刪除現有的資料集。

  5. 使用更新的資訊清單檔案在專案中立新資料集。

  6. 訓練模型。

分段或分類標籤不正確或遺失

缺少或不正確的標籤可能會導致訓練失敗或建立效能不佳的模型。建議您為資料集中的所有影像加上標籤。如果您未標記所有影像且模型訓練失敗,或者您的模型效能不佳,請新增更多影像。

請檢查以下內容:

  • 如果您要建立區段模型,遮罩必須緊密覆蓋資料集影像上的異常狀況。若要檢查資料集中的遮罩,請檢視專案資料集圖庫中的影像。如有必要,請重繪影像遮色片。如需詳細資訊,請參閱分割圖像(控制台)

  • 請確定資料集影像中的異常影像已分類。如果您要建立影像分割模型,請確定異常影像具有異常標籤和影像遮色片。

    請務必記住您要建立的模型類型 (區段或分類)。分類模型不需要異常影像上的影像遮色片。請勿將遮罩新增至用於分類模型的資料集影像。

    更新遺失標示的步驟
    1. 開啟專案的資料集庫。

    2. 過濾未標記的圖像以查看哪些圖像沒有標籤。

    3. 執行以下任意一項:

      • 如果您要建立影像分類模型,請每個未標籤的影像分類。

      • 如果您要建立影像分割模型,請對每個未標籤的影像進行分類和區段

    4. 如果您要建立影像分割模型,請在遺失遮色片的任何已分類異常影像中新增遮色片。

    5. 訓練模型。

如果您選擇不修正不良或遺失的標籤,建議您新增更多已標記的影像,或從資料集中移除受影響的影像。您可以從控制台或使用UpdateDatasetEntries操作添加更多內容。如需詳細資訊,請參閱將影像新增至資料集

如果您選擇移除影像,您必須重新建立沒有受影響影像的資料集,因為您無法從資料集中刪除影像。如需詳細資訊,請參閱從資料集中移除影像