Afbeeldingsclassificatie met convolutionele neurale netwerken (CNN's)

Blob Storage
Container Registry
Data Science Virtual Machines
Kubernetes-service
Machine Learning

Oplossingsidee

Als u wilt dat we dit artikel uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsinformatie, laat het ons dan weten met GitHub Feedback!

Lean-productie, kostenbeheer en verspillingsvermindering zijn essentieel voor productie om concurrerend te blijven. Bij de printplaatproductie kunnen defecte borden fabrikanten geld en productiviteit kosten. Assemblylijnen zijn afhankelijk van menselijke operators om borden die als mogelijk defect zijn gemarkeerd door testmachines in de assembly-line snel te controleren en te valideren.

Een implementatie van dit oplossingsidee dat in dit artikel wordt besproken, analyseert elektronische onderdeelafbeeldingen die worden gegenereerd door assembly-line camera's in een circuitbordproductiebedrijf en detecteert hun foutstatus. Het doel is om de noodzaak van menselijke tussenkomst te minimaliseren of te verwijderen. De oplossing bouwt een systeem voor afbeeldingsclassificatie met behulp van een convolutioneel neuraal netwerk (CNN) met 50 verborgen lagen, vooraf getraind op 350.000 afbeeldingen in een ImageNet-gegevensset om visuele kenmerken van de afbeeldingen te genereren door de laatste netwerklaag te verwijderen. Deze functies worden vervolgens gebruikt om een boosted decision tree te trainen om de afbeelding te classificeren als 'pass' of 'fail' en de uiteindelijke score die wordt uitgevoerd op edge-machines in de fabriek. De resultaten van de classificatieprestaties zijn goed (tijdgebaseerde kruisvalidatie AUC > 0,90), wat aangeeft dat de oplossing geschikt is om menselijke tussenkomst voor foutdetectie van elektronische onderdelen in geassembleerde circuitborden drastisch te minimaliseren.

Gebruik deze oplossing om foutdetectie te automatiseren in plaats van alleen te vertrouwen op menselijke operators, en om de identificatie van defecte elektronische onderdelen te verbeteren en de productiviteit te verbeteren.

Architectuur

Architectuurdiagram: afbeeldingsclassificatie met convolutionele neurale netwerken en Azure Machine Learning. Download een SVG van deze architectuur.

Onderdelen

  • Azure Blob Storage:gegevens worden opgenomen en opgeslagen in Azure Blob Storage.
  • Op GPU gebaseerde Azure Data Science Virtual Machine (DSVM): De belangrijkste ontwikkelomgeving is de op Azure Ubuntu gebaseerde GPU-DSVM. De gegevens worden vanuit een blob naar een virtuele harde schijf (VHD) van Azure gehaald die is gekoppeld aan de DSVM. Op die VHD worden de gegevens verwerkt, worden de afbeeldingen ge featurized met behulp van een Deep Neural Network (DNN) en wordt een boosted tree-model getraind. De DSVM IPython Notebook-server wordt gebruikt voor het ontwikkelen van oplossingen.
    • Als alternatief voor op DSVM gebaseerde training kunt u voor grote gegevenssets ML Services in Azure HDInsight gebruiken om een uiterst schaalbare trainingsoplossing te bouwen.
  • Azure Container Registry:Het model en de webtoepassing worden verpakt in een Docker-afbeelding en naar de Azure Container Registry.
  • Azure Machine Learning Modelbeheer (MLOps): Azure Machine Learning maakt gebruik van een MLOps-benadering (Machine Learning Operations) voor het implementeren en beheren van het uiteindelijke model op een VM en om uit te schalen met behulp van Azure Kubernetes Service naar een met Kubernetes beheerd Azure-cluster. In de implementatievan dit oplossingsidee worden ook een voorspellende webservice en een Java ETL-service (extraheren, transformeren, laden) naar de VM geschreven, elk in een eigen container.
  • Azure Kubernetes Service (AKS): Voor de implementatie voor deze oplossing wordt Azure Kubernetes Service een door Kubernetes beheerd cluster uitgevoerd. De containers worden ge├»mplementeerd vanuit afbeeldingen die zijn opgeslagen in Azure Container Registry.

Volgende stappen