Architectuur voor de oplossing:Afbeeldingsclassificatie met Convolutional Neural Networks

Lean manufacturing, kostenbeheer en afvalvermindering zijn van essentieel belang om concurrerend te blijven. Bij de productie van printplaten kunnen defecte platen een nadelige invloed op het kostenplaatje en de productiviteit hebben. Assemblageregels zijn afhankelijk van menselijke operators om platen die door testmachines zijn aangemerkt als 'mogelijk defect' snel te beoordelen en valideren.

Deze oplossing analyseert afbeeldingen van elektronische onderdelen die zijn gemaakt door assemblageregelcamera's in een fabriek waarin printplaten worden geproduceerd en detecteert de foutstatus van deze onderdelen. Het doel is om de noodzaak van menselijk handelen te minimaliseren of zelfs geheel te voorkomen. De oplossing bouwt een afbeeldingsclassificatiesysteem met een Convolutional Neural Network met 50 verborgen lagen, dat vooraf is getraind met 350.000 afbeeldingen in een ImageNet-gegevensset, om zo visuele kenmerken van de afbeeldingen te genereren door de laatste netwerklaag te verwijderen. Deze kenmerken worden vervolgens gebruikt om een boosted-beslisboom te trainen voor de classificatie van de afbeelding als 'goedgekeurd' of 'afgekeurd' en de uiteindelijke score die wordt uitgevoerd op kantmachines in de fabriek. De resultaten van de classificatieprestaties zijn goed (tijdgebaseerde kruisvalidatie AUC > 0,90), wat wil zeggen dat de oplossing geschikt is voor een aanzienlijke vermindering van menselijk handelen voor de detectie van defecte elektronische onderdelen in geassembleerde printplaten.

Het gebruik van deze oplossing voor de automatisering van foutdetectie in plaats van uitsluitend vertrouwen op menselijke operators, helpt het bedrijf de identificatie van defecte elektronische onderdelen te verbeteren en de productiviteit te verhogen.

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

Begeleiding bij implementatie

Producten Documentatie

Azure Blob Storage

Gegevens worden opgenomen en opgeslagen in Azure Blob Storage.

Virtuele machines voor datatechnologie van Azure op basis van GPU

De kernontwikkelingsomgeving is de Azure Ubuntu-GPU DSVM. De gegevens worden uit een blob gehaald en overgezet naar een virtuele harde schijf (VHD) van Azure die is aangesloten op de DSVM. Op deze VHD worden de gegevens verwerkt, de afbeeldingen worden van kenmerken voorzien via een Deep Neural Network en er wordt een Boosted-boommodel getraind. Voor de ontwikkeling van de oplossing wordt de DSVM IPython Notebook-server gebruikt.

Azure Batch AI Training (BAIT)

Als alternatief voor DSVM-gebaseerde training gebruiken we voor computing-intensieve taken met afbeeldingsverwerking aan de hand van diepteleren BAIT als beheerd Azure Batch-framework voor parallelle en gedistribueerde computing via clusters met GPU-computerknooppunten.

Microsoft Machine Learning voor Apache Spark HDInsight Spark-cluster

Als alternatief voor DSVM-gebaseerde training gebruiken we voor big data-sets MMLSpark, om zo een zeer schaalbare trainingsoplossing te bouwen.

Azure Container Registry

Het model en de webtoepassing worden gebundeld in een Docker-afbeelding en naar Azure Container Registry geschreven.

Machine Learning Modelbeheer-service van Azure

De Azure Machine Learning Modelbeheer-service wordt gebruikt om het uiteindelijke model op een VM te implementeren, beheren en met Azure Container Service uit te schalen naar een door Kubernetes beheerd Azure-cluster.

Er worden ook een voorspellende webservice en Java ETL-service naar de VM geschreven, elk in een eigen container.

Azure Container Service-cluster

De implementatie voor deze oplossing maakt gebruik van de Azure Container Service die wordt uitgevoerd met een door Kubernetes beheerd cluster. De containers worden geïmplementeerd van afbeeldingen die in Azure Container Registry zijn opgeslagen.