De kwaliteitseisen voor fabrikanten nemen toe om aan de eisen van de klant te voldoen. Handmatige inspectie is meestal vereist om de productkwaliteit te garanderen, maar dit vereist aanzienlijke kosten en kan leiden tot productieknelpunten, verminderde productiviteit en verminderde efficiëntie. 

Defectinspectie voor industriële toepassingen heeft unieke kenmerken en uitdagingen in vergelijking met andere computervisieproblemen voor consumententoepassingen:

  • Gebrek aan gelabelde, geannoteerde en samengestelde gegevens
  • Defecten van interesse zijn structuren met een laag contrast
  • Meerdere schalen defectgroottes
  • Zeer asymmetrische datasets met zeer lage werkelijke defecten. 

De U-Net-aanpak die in deze blog wordt beschreven, vermijdt arbeidsintensieve en potentieel kwetsbare feature-engineering en stelt in plaats daarvan gegevensgestuurde modellen in staat om automatisch robuuste functierepresentaties te leren om state-of-the-art detectie- en segmentatieresultaten te genereren.

De problemen met traditionele kwaliteitsinspectie

Met de toenemende wereldwijde concurrentie proberen fabrikanten slimme fabrieksstrategieën te ontwikkelen die gebruikmaken van geavanceerde informatietechnologie (IT) en operationele technologie (OT) om hun productieprocessen te vergemakkelijken en te automatiseren. Om dit doel te bereiken, zijn productiesystemen vaak nodig om de wereld automatisch te zien en te begrijpen. 

Optische kwaliteitscontrole blijft een van de gebruikelijke methoden om kwaliteitscontrole voor zeer nauwkeurige productie te garanderen. Deze stap blijft echter een bottleneck naar volledige automatisering en integratie. De kwaliteitscontroles kunnen een reeks handmatige handelingen omvatten —  inclusief visuele bevestiging om ervoor te zorgen dat componenten de juiste kleur, vorm, textuur en positie hebben — die zeer uitdagend zijn vanwege de grote productvariaties. Kwaliteitsinspecteurs moeten zich voortdurend aanpassen aan verschillende kwaliteitseisen voor verschillende producten, wat vaak leidt tot onnauwkeurigheid en een gebrek aan constante kwaliteit. Met steeds toenemende productievolumes hebben kwaliteitsinspecteurs vaak last van oogvermoeidheid en andere gezondheidsproblemen die worden veroorzaakt door herhaalde productinspectie gedurende lange uren, waardoor meer defecte onderdelen kunnen passeren, defecte onderdelen die moeten worden doorgegeven. Menselijke inspectie wordt beperkt door toenemende kosten, trainingstijd en beperkte middelen, waardoor het een uitdagende oplossing is om op te schalen. Het automatiseren van defectinspectie met AI begint de productie te revolutioneren.

Traditionele computervisiemethoden die doorgaans worden gebruikt in productiemachines voor geautomatiseerde optische inspectie (AOI) vereisen intensieve menselijke en kapitaalinbreng.

Defecten kan visueel onderscheidend of subtiel zijn. Dit maakt het zeer uitdagend om alle defecten in verschillende omgevingen, zoals lichtomstandigheden, oppervlaktestructuren, robuust te detecteren.    

Veelvoorkomende industriële defecten zijn lokale anomalieën op homogene oppervlakken. Eerdere benaderingen om de detectie en classificatie van deze anomalieën te automatiseren, kunnen worden onderverdeeld in vier categorieën:

  1. Structurele morfologie op basis van defect
  2. Op basis van statistische textuurmetingen
  3. Handgemaakte transformatie filtergebaseerd
  4. Machine learning modelgebaseerd

De meeste van deze traditionele benaderingen zijn ontworpen met handgemaakte functies, waardoor ze toepassingsafhankelijk zijn en niet in staat zijn om te generaliseren of uit te schalen naar nieuwe toepassingen. Deze traditionele benaderingen hadden doorgaans ook te lijden van een slechte flexibiliteit en vereisten vaak dure en tijdrovende handmatige feature-engineering door domeinexperts. In een productiecase bij NVIDIA produceerde een traditionele AOI-machine in PCBA-productie hoge valse positieven (falende PCB's) met lage precisie. Voor industriële toepassingen kunnen de kosten van valse positieven en lage precisie extreem hoog zijn. De afweging tussen lage valse positieven en hoge precisie maakt het traditionele CV-algoritme zeer uitdagend, en eindigt dus met hoge valse positieven. Deep learning vindt automatisch de beste beslissingsgrens om een ​​balans te vinden tussen valse positieven en precisie, wat van enorme waarde kan zijn.

Hoe deep learning deze problemen aanpakt

Deep learning, met name CNN's, is zeer effectief gebleken voor beelddetectie en classificatie en wordt nu toegepast om industriële inspectietaken op te lossen. Het NVIDIA DL-platform, in figuur 1, is met succes toegepast voor het detecteren en segmenteren van defecten op een end-to-end manier voor een snelle ontwikkeling van automatische industriële inspectie. Alle processen zijn gebouwd op NGC-geoptimaliseerde docker-afbeeldingen voor snelle iteraties. 

Figuur 1: NVIDIA Deep Learning Platform

Eén populaire en effectieve neurale netwerkarchitectuur — oorspronkelijk voorgesteld voor biomedische beeldsegmentatie — is de U-Net-architectuur, die is samengesteld uit encoders, decoders en skip-verbindingslagen. Voor deze demonstratie is met name gebruik gemaakt van de U-Net-architectuur en de DAGM 2007-dataset (Figuur 2). Om de schaarste aan echte defectgegevens aan te pakken, worden alle zes defectklassen van de DAGM-dataset verenigd en behandeld als een enkele klasse. Deze gecombineerde trainingsset wordt gebruikt om de generalisatiemogelijkheden van U-Net te demonstreren. We hebben één U-Net-model gebouwd dat alle defectklassen kan segmenteren. Dit soort proces is gebruikelijk bij defectinspectie in echte productie. Om overfitting op een kleine DAGM-dataset te voorkomen, gebruiken we dezelfde architectuur als U-Net en experimenteren we met het aantal kernels om het model in onze dataset te laten passen.

Figuur 2: Voorbeelden van industriële fabricagefouten uit de DAGM-dataset.

De eerste stap was om de dataset aan te passen aan het U-Net-model, d.w.z. acht kernelnummers in de eerste laag, en vervolgens het kernelnummer te verdubbelen in de volgende hiërarchie van lagen. Vervolgens observeerden we het verlies van de leercurve van de training en besloten we of we de modelcomplexiteit verder wilden vergroten. Deze stap was om ervoor te zorgen dat we een model hadden met voldoende capaciteit om alle defecten te herkennen. Toen we eenmaal het vertrouwen hadden gekregen dat het model complex genoeg was om in de dataset te passen, voegden we regularisatietechnieken toe, zoals drop-outlagen, L1- of L2-regularisatie, of zelfs een poging om de dataset te vergroten. Het gemodificeerde U-Net is getraind met binaire kruisentropie en Adam-optimizer met een leersnelheid die begint met 1e-3. In gevallen waar er een tekort was aan gelabelde gegevens en snelle prestaties nodig waren, toonden we aan dat U-Net succesvol was in het generaliseren van de prestaties met regularisatietechnieken en een geschikt model is voor defectsegmentatie voor industriële inspectie.

In een segmentatiemodel, zoals U-Net, is de output een reeks kansen. Door deze kansen voor elke pixel te bepalen, wordt de defectklasse toegewezen voor elke pixel en wordt de precisie en terugroepactie voor de dataset bepaald. Het bepalen van de juiste drempel voor een voorkeur voor precisie of recall is volledig afhankelijk van de toepassing. In productiegevallen zijn defecten veel kleiner, meestal in het bereik van tientallen tot honderden defecte onderdelen per miljoen (DPPM). In deze zeer scheve dataset is de precisie-recall-waarde zeer gevoelig voor de drempelwaarde. Dit vereist sweep-experimenten van precisie en terugroepen op de drempel van waarschijnlijkheid. Als het verminderen van valse positieven (verhogen van de precisie) belangrijker is, moet de drempel voor waarschijnlijkheid worden verhoogd terwijl de afweging tussen precisie en terugroepactie wordt gemaakt. Dankzij de aangeleerde interne representaties van U-net kunnen beslissingsgrenzen worden gedefinieerd waarvan is aangetoond dat ze de afweging tussen toenemende gevoeligheid voor echte positieven drastisch verminderen en tegelijkertijd het aantal valse positieven aanzienlijk verminderen. 

Voor industriële toepassingen waar de kosten van valse positieven extreem hoog kunnen zijn, kan dit een bron van enorme waarde zijn. Het hebben van een door een domeinexpert afstembare drempelwaarde is ook wenselijk voor industriële inspectie, wat leidt tot interpreteerbare AI en het vermijden van louter input-output black-box-relaties van DL. Dit proces in twee stappen met afstembare drempelwaarde na DL kan worden toegepast op veel gebruikssituaties, waaronder medische beeldvorming, videobewaking en autonome machines. De eerste stap gebruikt U-Net om informatie uit de invoer te halen, waarna de tweede stap de uiteindelijke beslissing neemt op basis van informatie uit de vorige stap.

Om een ​​snelle implementatie van DL-training en inferencing te garanderen, werd NGC gebruikt voor Volta en Turing GPU-geoptimaliseerde TensorFlow (TF) en TensorRT (TRT) docker-containers, en voor edge-gebaseerde oplossingen Jetson AGX Xavier en Nano. Applicatiesoftware-ingenieurs of geavanceerde gebruikers die vertrouwd zijn met de extra stappen die nodig zijn om een ​​DL-model in een omgeving te brengen die mogelijk geen TensorFlow-framework heeft, worden aangemoedigd om native TRT te gebruiken voor maximale prestaties. We gebruikten de TensorRT NGC-container voor onze experimenten. Datawetenschappers of gebruikers voor rapid prototyping moeten geoptimaliseerde versnelde inferentie uitvoeren zonder het TF-framework te verlaten. We gebruiken TF‑TRT-inferentie op basis van TRT-geïntegreerde TensorFlow NGC-container. De afweging tussen TF-TRT versus TRT is dat TF-TRT eenvoudig te gebruiken is en integreert met TensorFlow-workflows voor snelle prototyping. Zodra een idee is geverifieerd om te werken met TF-TRT, kan TRT worden gebruikt voor maximale prestaties.

Samenvatting

U-Net werd gebruikt om een ​​end-to-end generiek defectinspectiemodel te bouwen op een openbare dataset, met behulp van het NVIDIA DL-platform voor end-to-end training en inferentie. Er werd een terugroeppercentage van 96,38% en een precisiepercentage van 99,25% met een vals alarmpercentage van 0,11% bereikt. Op V100 GPU's en TensorRT 4, vanuit een TensorFlow-container met de NVIDIA TensorRT-engine geïntegreerd, nam de inferentiedoorvoer met een factor 2,1 toe. Met een geoptimaliseerde TRT-container die gebruikmaakt van de NGC, werd de inferentiedoorvoer verder verbeterd met een factor 8,6 vergeleken met native TF. Voor energiezuinige en kleine inferentie-implementatie werden T4 GPU's en TensorRT 5 gebruikt. Vergeleken met CPU-gebaseerde inferentieprestaties, is er een prestatieverbetering van 11,9 keer met TF-TRT en 23,5 keer met INT8-precisie van TRT5 door NVIDIA Turing Tensor Cores. De T4 GPU is verpakt met een energiezuinige 70-watt, kleine PCIe-vormfactor, geoptimaliseerd voor scale-out servers en speciaal gebouwd om state-of-the-art AI te leveren. 

Voor edge-based, embedded en remote offline applicaties gebruikten we dezelfde code en richtten we ons op de NVIDIA Jetson-familie van embedded GPU's. De doorvoer van het Jetson Nano-platform is 18 FPS en de doorvoer van het Jetson AGX Xavier-platform is 228,1 FPS —  een prestatieverbetering van 12,7 keer die van het Jetson Nano-platform. Deze resultaten werden verkregen met behulp van native TRT. Met native TRT hoeft een DL-framework zoals Tensorflow niet op edge-apparaten te worden geïnstalleerd. Dit is belangrijk voor hen omdat het systeemvermogen, de systeemgrootte, de rekenkracht en de schijfopslag beperkt zijn. Bovendien, met automatische gemengde precisie (AMP), is DNN-grafiekoptimalisatie op FP16 en FP32 op Tensor Cores op Volta en Turing GPU's volledig automatisch, gebruiksvriendelijk, met geweldige prestaties. Met AMP werden de prestaties van U-net verder verbeterd met 17% voor training en 30% voor testen.

Lees voor meer gedetailleerde informatie de gerelateerde whitepaper “Automatische defectinspectie met behulp van de NVIDIA End -to-End Deep Learning Platform“.

Dr. Peter K Pyun
Principal Solution Architect, NVIDIA

Andrew Liu
Senior Solution Architect, NVIDIA

Charles Cheung
Deep Learning Solution Architect, NVIDIA

Barrie Mullins
Director of Technical Product Marketing voor Jetson, NVIDIA

Robert Sohigian
Technical Marketing Engineer, Enterprise Products Group, NVIDIA

0

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *