TSM - Visual Inspection, Pattern Analysis, Low code și studenți motivați. Un mix reușit!

Andra Hegedus - Digital Tech Developer Sr Analyst @ Accenture


Scopul acestui articol este de a sumariza rezultatele colaborării dintre Universitatea Babeș-Bolyai (UBB) și Accenture. Aceasta a fost una reușită : pe parcursul ei am avut ocazia să explorăm o suită de tehnologii emergente: Inteligența Artificială (AI), Învățarea Automată (Machine Learning) și Dezvoltarea Software prin Low Code.

Cum a prins viață această colaborare? ... Lucrând de-a lungul timpului cu clienți din sectorul Digital Manufacturing & Operations, am întâlnit un set repetitiv de provocări care motivează investiția în modernizare a clienților noștri. Noi am restrâns lista la top 3 și făcând apel la tehnologiile emergente mai sus menționate am început să căutăm și să implementăm soluții. Această nevoie din lumea business, împreună cu dorința profesorilor și a studenților de a avea posibilitatea de a lucra pe un proiect inovativ, a făcut posibilă concretizarea acestui proiect.

Echipa de specialiști care a lucrat la aceste provocări a fost formată din: zece studenți care au adus o perspectivă nouă asupra situației și doi profesori pasionați de inovație din cadrul UBB secția germană, plus doi mentori din partea Accenture.

Temele abordate de-a lungul colaborării au fost:

Toate soluțiile au urmat același set de principii și bune practici de dezvoltare, iar, în același timp, au explorat platforma de Low Code, Mendix ca soluție de integrare și dezvoltare rapidă a aplicațiilor.

Mendix a fost aleasă ca platformă de dezvoltare din dorința noastră de a avea o aplicație care poate să ruleze atât în Cloud, cât și On-Premise. O platformă de dezvoltare care poate să fie mai rapid învățată de către toți participanții la acest proiect și care să ne ajute să ne asociem mai ușor cu alte produse, cum ar fi produse enterprise ca LIMS (Laboratory Information Management Systems), MES (Manufacturing Execution Systems) și AI.

Inspecția Vizuală (AI)

Provocare

Inspecția Vizuală este metoda des folosită pentru verificarea calității, care presupune existența unui personal calificat pentru evaluarea defectelor produselor. Dezavantajul acestei inspecții manuale include efortul uman substanțial cu costuri ridicate, cu o rată de eroare care variază între 20% și 30%. O altă problemă este viteza scăzută a inspecției, care în cazul cantităților mari de bunuri poate cauza blocaje în producție.

Cerințele pe baza cărora am dezvoltat soluția au fost următoarele:

Soluție

Proiectul a avut ca scop implementarea unei aplicații cu capabilități de inspecție vizuală pe un dispozitiv portabil (telefon sau tabletă). Utilizatorii aplicației au posibilitatea de a face fotografii la loturi de bunuri cu dispozitivul portabil și, de asemenea, pot executa inspecția vizuală automată.

Partea de client a aplicației a fost dezvoltată cu platforma de Low Code, Mendix. Partea de server este implementată în Mendix și Python și folosește algoritmul adecvat de inspecție a imaginilor, existent pe piață pentru scenariul nostru, adică algoritmul InceptionV3 ( librăria Tensor Flow).

AI as SaaS

AI as PaaS

Custom AI

Luând în considerare cele trei moduri în care poate să fie construit AI la momentul actual: AI as SaaS, AI as Pass si Custom AI. Noi am ales InceptionV3 pentru că am dorit să implementăm o soluție Custom ce poate să fie ulterior adaptată altor nevoi din business. Folosind un algoritm existent, ceea ce a rămas în responsabilitatea noastră, a fost să creăm Modelul de AI, Training Data și API-ul de consumare.

Architecture Overview

Algoritmul a fost testat pe un set de imagini care conțin recipiente cu lichid, cu scopul de a identifica puritatea compoziției. Algoritmul a fost antrenat pentru a grupa imaginile în cinci categorii: colorat (dacă lichidul are o culoare diferită decât targetul), solid (dacă lichidul are impurități), normal (acesta este rezultatul așteptat), prea mult (nivelul lichidului este mai mare decât targetul), prea puțin (nivelul lichidului este mai mic decât targetul). Noi categorii pot fi adăugate, iar algoritmul poate fi ușor adaptat pentru scenarii diferite.

Pentru antrenament a fost necesar un minim de 100 de imagini pentru fiecare categorie, dar pentru o performanță mai bună, recomandarea este de cel puțin 300 - 00 de imagini.

Sisteme Predictive (Clustering & Pattern Analysis)

Provocare

Monitorizarea este recunoscută ca o componentă esențială a soluțiilor din industrie. În acest moment sistemele din fabrici colectează un volum de date fără precedent, însă pentru a putea interpreta aceste date și a le folosi în a lua decizii/acțiuni avem nevoie de Analytics.

Abordările curente privind analiza datelor se concentrează mai mult pe sisteme reactive ce permit doar personalului specializat să ia decizii importante. Provocarea în cazul nostru este să facem tranziția de la un sistem reactiv la unul predictiv, folosind un set de algoritmi de Clustering și de Pattern Analysis.

Cerințele pe baza cărora am dezvoltat soluția au fost următoarele:

Soluție

Soluția cuprinde o colecție de micro servicii consumate de o aplicație client dezvoltată cu platforma Low Code, Mendix. Utilizatorii pot să folosească aplicația pentru a încarcă fișiere cu date și să ruleze algoritmii de analiză pe ele.

Architectural Overview

Algoritmii de Pattern Analysis au fost utilizați pe un set de date înregistrate de senzorii unui echipament, date pe baza cărora am dorit să prezicem starea echipamentului. Algoritmii analizează modul în care PH-ul și temperatura din echipament vor evolua in timp. Pentru acest scenariu, algoritmii folosiți au fost:

Prediction Results

Algoritmii de Clustering au fost utilizați pentru analiza datelor înregistrate în urma inspecției vizuale prezentată în capitolul Inspecția Vizuală (AI). Pe baza datelor înregistrate am vrut să urmărim cum acuratețea predicției variază în timp și cum putem ajuta la îmbunătățirea rezultatelor. Pentru aceasta am folosit următorii algoritmi:

KMeans Clustering, un algoritm iterativ care încearcă să partiționeze setul de date în K subgrupuri distincte predefinite care nu se suprapun (clustere).

Clustering Results

Inventarierea 'Wall to Wall'

Provocare

În unele industrii există constrângeri legislative care obligă firmele să execute un inventar al materialelor prezente în fabrici. Aceasta sarcină este executată de multe ori în mod manual folosind scannere care implică costuri adiționale de achiziție. Scannere pe care noi am dorit să le înlocuim cu telefoane sau tablete. Provocarea, în acest caz, a fost dezvoltarea unei aplicații care să se integreze cu ușurință în sistemele existente ale întreprinderii, să funcționeze offline și să necesite un efort minim de instruire a operatorilor.

Cerințele pe baza cărora am dezvoltat soluția au fost următoarele:

Soluție

Soluția a constat în implementarea unei aplicații mobil hibridă cu două roluri de acces: administrator și utilizator. Administratorul are disponibilă capabilitatea de a importa datele de inventar dintr-un fișier Excel în baza de date a aplicației, iar utilizatorul poate scana codul QR al unei locații pentru a primi lista materialelor care trebuie inventariate.

Întreaga aplicație a fost dezvoltată folosirii platforma de Low Code, Mendix. Avantajele folosirii acestei platforme au fost date de modulele MxModelReflection și ExcelImporter disponibile pe Mendix Marketplace, module care au fost utilizate ca accelerator pentru dezvoltarea rapidă a capabilitații de import a datelor.

Aplicația dezvoltată este:

Concluzii

Ce am oferit prin acest program de cercetare?

Inițial, am oferit posibilitatea de a lucra cu tehnologii captivante într-un mediu destul de apropiat de proiectele pe care lucrăm în Accenture. Dar, în mare parte, direcția a fost dată de studenți, de implicarea și interesele lor. Împreună am explorat modalitățile agile de lucru, am avut conversații funcționale despre industriile în care activăm și discuții tehnice despre ultimele tehnologii și bune practici de dezvoltare.

Care sunt abilitățile tehnice pe care le căutăm la oamenii implicați în program?

Nu căutăm o abilitate tehnică în mod particular, dorim ca oamenii să fie curioși și deschiși să învețe lucruri noi. Fiecare subiect la care am lucrat a necesitat o muncă exploratorie. Și, în final, am obținut mai mult decât curiozitate și deschidere pentru a învăța lucruri noi: am găsit pasiune pentru tehnologie și inovație.

Ce am învățat noi din această experiență?

Ideile pe care studenții le-au implementat cu tehnologii inovatoare precum VI, AI în contextul Low Code ne-au oferit șansa de a explora noi modalități de implementare a soluțiilor într-un ritm mai rapid și cu o curbă de învățare mai plată.