Architektura řešení: Klasifikace obrázků s využitím konvolučních neuronových sítí

Štíhlá výroba, kontrola nákladů a snižování množství produkovaného odpadu jsou nezbytnými předpoklady toho, aby výroba zůstala konkurenceschopná. Při výrobě desek s plošnými spoji mohou vadné desky pro výrobce znamenat finanční ztrátu a snížení produktivity. U montážních linek se využívá lidská obsluha. Ta rychle prohlédne a prověří desky, které přístroje pro testování označily jako potenciálně chybné.

Toto řešení analyzuje obrázky elektronických komponent vygenerované kamerami montážní linky v závodě na výrobu desek s plošnými spoji a detekuje jejich chybový stav. Cílem je minimalizovat nebo dokonce eliminovat nutnost zásahu člověka. Toto řešení s využitím konvoluční neuronové sítě vytváří systém pro klasifikaci obrázků s 50 skrytými vrstvami, které je předem vytrénované na 350 000 obrázků v datové sadě ImageNet, a generuje vizuální funkce obrázků odebráním poslední síťové vrstvy. Tyto funkce se potom využívají k tréninku posíleného rozhodovacího stromu a klasifikaci obrázku jako vyhovujícího nebo nevyhovujícího a k finálnímu vyhodnocení, které se v závodě provádí na okrajových počítačích. Výsledky klasifikace jsou hodnoceny jako dobré (časově závislé křížové ověření oblasti pod křivkou ROC > 0,90). To indikuje, že řešení je vhodné k výraznému omezení zásahu člověka při detekci chyb elektronických komponent v sestavených deskách s plošnými spoji.

Využití tohoto řešení k automatizaci detekce chyb (na rozdíl od spoléhání se výhradně na lidskou obsluhu) pomáhá zlepšit identifikaci chybných elektronických komponent a zvýšit produktivitu.

Azure Blob Storage GPU Data Science Virtual Machine Azure Container Registry Azure Machine Learning Model Management Service Machine Learning Model Predictive Web Application Azure Container Service Java ETL

Pokyny k implementaci

Produkty Dokumentace

Azure Blob Storage

Data se ingestují a ukládají ve službě Azure Blob Storage.

Virtuální počítač Azure pro datové vědy založený na GPU

Základním vývojovým prostředím je virtuální počítač Azure GPU pro datové vědy založený na Ubuntu. Data se načítají z objektu blob do virtuálního pevného disku Azure (VHD) připojeného k virtuálnímu počítači pro datové vědy. Na tomto disku VHD se zpracují data, pomocí hluboké neuronové sítě se zpracují obrázky a natrénuje se model posíleného rozhodovacího stromu. K vývoji řešení se používá server DSVM IPython Notebook.

Školení Azure Batch AI (BAIT)

Jako alternativu k tréninku na základě DSVM pro úlohy náročné na výpočetní výkon, které využívají zpracování obrázků na základě obsáhlého learningu, používáme BAIT jako spravovanou architekturu Azure Batch pro paralelní a distribuované výpočetní prostředí s využitím clusterů výpočetních uzlů GPU.

Microsoft Machine Learning pro cluster Apache Spark HDInsight Spark

Jako alternativu k tréninku na základě DSVM pro velké objemy dat využíváme MMLSpark k vytvoření vysoce škálovatelného tréninkového řešení.

Azure Container Registry

Model a webová aplikace jsou zabalené do image Dockeru a zapsané ve službě Azure Container Registry.

Správa modelů ve službě Azure Machine Learning

Služba Správa modelů ve službě Azure Machine Learning se používá k nasazení a správě finálního modelu ve virtuálním počítači a k horizontálnímu navýšení kapacity s využitím služby Azure Container Service v clusteru Azure spravovaném pomocí protokolu Kubernetes.

Do virtuálního počítače je také zapsaná prediktivní webová aplikace a služba Java ETL (každá do vlastního kontejneru).

Cluster Azure Container Service

Nasazení pro toto řešení využívá Azure Container Service s clusterem spravovaným pomocí protokolu Kubernetes. Kontejnery se nasazují z imagí uložených v Azure Container Registry.