Kvalitetssäkring med Azure Custom Vision Service

För att säkerställa att VR-glasögonen i projekt Smarta Fabriker är korrekt monterade skapades en kvalitetssäkringstjänst till Smarta Fabrikers mobila applikation. Med hjälp av Microsoft Azure och machine learning-tjänsten Custom Vision Service (CVS) får montören svar på om glasögonen är korrekt monterade genom att hen fotograferar glasögonen i tre olika vyer. Denna artikel beskriver studenternas arbete med att utveckla denna funktion.

Det händer att besökare som tillverkar VR-glasögon i Smarta Fabriker monterar ihop glasögonen fel. Det vanligaste felet är att fliken som finns i mitten av glasögonen inte sitter på rätt position. För att upptäcka detta fel och även ge montören förslag på åtgärd skapade studenterna Giordano och Kenan en funktion som bygger på bildigenkänning. Mobilapplikationen uppdaterades sedan med denna funktion av studenterna Nick och Remi. Allt arbete handleddes av Cybercom under våren 2018.

20180404 110802
Studenterna Giordano, Nick och Remi i arbete med att utveckla kvalitetssäkringstjänsten.

Lösningen består av tre olika delar: en funktion i Smarta Fabriker-applikationen för att ta bilder på glasögonen, ett mellanlager i form av ett API och bildigenkänning i CVS. Skälet att skapa ett lager mellan mobilapplikationen och CVS är att CVS bara ger tillbaka förutsägelser och inget mer, men projektets ändamål krävde mer. Det API:et gör är att den tar emot de tre bilderna som skickas från mobilapplikationen och ändrar dem till rätt mått samt roterar dem till rätt vinkelgrad. Sedan skickas dessa bilder en och en till CVS för att få en förutsägelse av vilken vy bilden är tagen från och om glasögonen är rätt monterade. API:et för även statistik som den presenterar för användare med information om hur många människor som monterar rätt eller fel för just den vyn. Allt detta presenteras sedan i mobilapplikationen med information om varje vy och förslag på hur de vanligaste felen åtgärdas.

Azur Csv

CVS fungerar på så vis att man tränar den med bilder som man delar upp i olika kategoriseringar som t.ex. hund och katt. Varje grupp av bilder kan tillhöra flera kategorier som exempelvis både art och ras och på så sätt kan man även träna en maskin att inte bara se skillnad mellan hund och katt utan även mellan en schäfer och en labrador.

Maskinträningen var till en början en långsam och frustrerande process för studenterna då dokumentation på exakt hur CVS fungerar inte finns mer än information om hur den används och vad man kan göra med den på väldigt grundläggande nivå. När de lyckades klura ut att tjänsten är väldigt känslig för vissa saker samt vad den söker efter gick arbete både lättar och snabbare. Ljus, färger och kanter är saker som CVS letar efter för att lära sig att känna igen det man vill träna den att känna igen. Det är inte bara på själva objektet som dess faktorer spelar roll utan även i dess omgivning och bakgrund. För att underlätta träningen fick ett streck målas med olika färger över den flik som går i mitten av glasögonen, den vanligaste delen som folk monterade fel. Detta så att maskinen kunde förstå att det var här den skulle lägga fokus. Maskinen tränades även att känna igen om glasögonen saknar tryck, såsom QR-kod, Smarta Fabriker-loggan eller personens namn.

Glasögon
De tre vyerna på korrekta och icke korrekta glasögon

När man tränar en maskin i CVS kommer den att ge tillbaka resultat på precision och recall. Precision är hur troligt det är för vår maskin att klassificerar bilderna som den tränats med korrekt i procent, det vill säga av alla bilder som användes för att träna maskinen, hur många procent av dem prickade modellen korrekt. Recall visar av alla bilder som borde ha klassificerats korrekt, hur många identifiera maskinen som korrekt? En återkallelse (recall) på 100 % innebär att om 30 bilder finns i den bildkategorin som användes för att träna maskinen så hittade den alla 30 i just den kategorin.

Utifrån givet dataunderlag tränades maskinen till en precision på 96,2 % och recall på drygt 97,8 %. Med de bilder som fanns att träna maskinen med var det svårt att få högre. Eftersom sannolikheten att ett par VR-glasögon skulle avvika mer än det dataunderlag som fanns att träna maskinen med är dessa procentsatser tillräckligt bra.

Training The Machine
Skärmdump från när maskinen tränades.

Denna applikation visar kraften som existerar i att använda machine learning som del av fabrikens process. I större utsträckning skulle man kunna forma lösningar där man vid olika tillfällen i produktionslivscykeln ser över att produkten är korrekt med hjälp av bildigenkänning.

Nedan kan ni se filmen som Nick och Remi gjorde under sin praktik på Cybercom och som visar hela processen från beställning, tillverkning, montering och kvalitetssäkring. 


Taggar

Artikeln är taggad med följande taggar. Klicka på en tagg för att se alla artiklar med samma taggning.

Artikeln är kategoriserat som Fördjupning  |  Publicerad 2018-06-17  |  Skriven av Johan Bengtsson