自動執行 Amazon Lookout for Vision 訓練和部署,以進行異常偵測 - AWS 方案指引

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

自動執行 Amazon Lookout for Vision 訓練和部署,以進行異常偵測

由邁克爾·沃爾納(AWS),加布里埃爾·羅德里格斯·加西亞(AWS),王康康(AWS),舒克拉特霍傑夫(AWS),桑傑·阿肖克(AWS),亞辛·扎弗里(AWS)和加布里埃爾·齊爾卡(AWS)創建

代碼庫:automated-silicon-wafer-anomaly--換視detection-using-amazon-lookout覺

環境:生產

技術:機器學習和人工智能 CloudNative; DevOps

AWS 服務:AWS CloudFormation;AWS;AWS CodeBuild;AWS CodeCommit;AWS CodePipeline;AWS Lambda;Amazon Lookout for Vision

Summary

此模式可協助您將 Amazon Lookout for Vision 機器學習模型的訓練和部署自動化,以進行視覺檢查。雖然此模式專注於矽晶圓的異常偵測,但是您可以調整解決方案,以應用於各種產品和產業。

2020 年,全球最大的半導體製造商之一的年產能突破 1200 萬片等效 12 英寸晶圓。為了確保這些晶圓的品質和可靠性,目視檢測是生產過程中不可或缺的一個步驟。傳統的目視檢查方法,例如人工採樣或使用依賴統計措施的過時舊式工具,可能會耗時且效率低下。鑑於此過程的規模及其對於更廣泛的半導體產業的重要性,使用先進的人工智慧 (AI) 技術將視覺檢測最佳化和自動化,有很大的機會。

Lookout for Vision 有助於簡化圖像和物體檢測過程,減少了對昂貴且不一致的人工檢測的需求。該解決方案改善了質量控制,促進了準確的缺陷和損壞評估,並確保符合行業標準。此外,您無需專門的機器學習專業知識,就可以自動執行 Lookout for Vision 檢測流程。

使用此解決方案,您可以將計算機視覺模型集成到任何系統中。例如,您可以將模型集成到用戶上傳圖像並對其進行分析的網站中是否存在缺陷。下圖顯示了化學機械拋光 (CMP) 製程中具有刮傷缺陷的矽晶圓範例。您可以使用 Lookout for Vision」來偵測這些異常。例如,「檢 Lookout for Vision」以 99.04% 的信心偵測到此影像中的異常。

有刮痕缺陷的矽晶圓

此解決方案是根據使用 Amazon Lookout for Vision 部落格文章建立以事件為基礎的追蹤解決方案中所述的程式碼和使用案例為基礎。此解決方案會修改原始程式碼,以啟用 CI/CD 管道自動化,並整合開放原始碼 Amazon Lookout for Vision Python SDK () GitHub。如需有關 Python 開發套件的詳細資訊,請參閱使用 Python SDK 部落格文章建置、訓練和部署適用於視覺模型的 Amazon 瞭望工具

先決條件和限制

先決條件

架構

目標架構

此解決方案的架構圖

此架構說明透過 CI/CD 管道的 Amazon Lookout for Vision 模型的建置、訓練和部署的自動化作業。該圖顯示以下工作流程:

  1. 該代碼存儲在 Amazon 存儲 CodeCommit 庫中。開發人員可以修改代碼,更改輸入圖像或向自動化管道添加其他步驟。

  2. 在部署解決方案或更新 CodeCommit 存儲庫的主分支後,Amazon CodePipeline 會自動將代碼推送到 Amazon CodeBuild。

  3. CodeBuild 使用 Lookout for Vision Python SDK 來訓練和部署映像分類模型。用於訓練的映像存放在亞馬遜簡單儲存服務 (Amazon S3) 儲存貯體中。 CodeBuild 自動下載這些圖像並存儲它們。要根據您的需求自定義解決方案,您可以導入自己的圖像。

  4. Lookout for Vision 模型會透過 AWS Lambda 向最終使用者公開。但是,您不僅限於此方法。您也可以在 IoT 裝置的邊緣部署 Lookout for Vision,也可以按排程以批次處理程序的形式執行,以產生預測。

工具

AWS 服務

  • AWS CodeBuild 是全受管的建置服務,可協助您編譯原始程式碼、執行單元測試,以及產生準備好部署的成品。

  • AWS CodeCommit 是一種版本控制服務,可協助您以私密方式存放和管理 Git 儲存庫,而無需管理自己的原始檔控制系統。

  • AWS 可 CodePipeline協助您快速建模和設定軟體發行的不同階段,並自動執行持續發行軟體變更所需的步驟。

  • AWS Key Management Service (AWS KMS) 可協助您建立和控制加密金鑰,以協助保護資料。

  • AWS Lambda 是一種運算服務,可協助您執行程式碼,而不需要佈建或管理伺服器。它只會在需要時執行程式碼並自動調整規模,因此您只需為使用的運算時間付費。

  • Amazon Lookout for Vision 使用電腦視覺,準確且大規模地在工業產品中尋找視覺偵測。

  • Amazon Simple Storage Service (Amazon S3) 是一種雲端型物件儲存服務,可協助您儲存、保護和擷取任何數量的資料。

代碼存儲庫

此模式的程式碼可在 GitHub 自動化 Amazon Lookout for Vision 訓練和矽晶圓異常偵測儲存庫的部署中找到。

最佳實務

當執行程式碼做為實驗時,請務必停止您的 Amazon Lookout for Vision 端點

史诗

任務描述所需技能

克隆存 GitHub 儲庫。

針對矽晶圓異常偵測儲存庫的 GitHub 自動化 Amazon Lookout 視覺訓練和部署複製到您的本機工作站。

git clone https://github.com/aws-samples/automated-silicon-wafer-anomaly-detection-using-amazon-lookout-for-vision.git

Bash

建立虛擬環境。

輸入以下指令,在本機工作站上建立虛擬環境。

python3 -m venv .venv
Python

安裝依存項目。

建立虛擬環境後,輸入下列指令以安裝所需的相依性。

pip install -r requirements.txt
Python

(僅限 Linux 使用者) 啟動虛擬環境。

初始化完成並建立虛擬環境之後,請使用下列指令來啟動虛擬環境。

source .venv/bin/activate
Bash

(僅限 Windows 使用者) 啟動虛擬環境。

初始化完成並建立虛擬環境之後,請使用下列指令來啟動虛擬環境。

.venv\Scripts\activate.bat
PowerShell

部署堆疊。

  1. 在 AWS CDK CLI 中,輸入以下命令以合成 AWS CloudFormation 範本。

    cdk synth
  2. 輸入以下命令以部署 CloudFormation 堆疊。

    cdk deploy --all --require-approval never

    --all flag可確保一次安裝所有元件。 --require-approval永遠不需要核准每個元件部署。

AWS 管理員
任務描述所需技能

輸入範例測試事件。

  1. 開啟 Lambda 主控台中的函數頁面

  2. 選擇amazon-lookout-for-vision-project-lambda功能。

  3. 選擇測試標籤。

  4. 在 [測試事件] 下,選擇 [建立新事件]。

  5. 輸入以下內容。

  6. 選擇 測試

    { "tbd": "tbd" }
  7. 若要檢閱測試結果,在 Execution result (執行結果) 下,展開 Details (詳細資訊)。

一般 AWS

相關資源

AWS 文件

AWS 部落格文章