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:
Inspecția Vizuala folosind AI, pentru controlul calității produselor finite;
Sisteme Predictive: Clustering Algorithms pentru analiza datelor înregistrate în timpul producției și Pattern Analysis Algorithms pentru predicția unor potențiale probleme de calitate;
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ă 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:
Găsirea unei modalități de a realiza inspecția vizuală fără a fi necesară achiziționarea unei camere industriale (de exemplu, Cognex) pentru recunoașterea imaginilor;
Identificarea produsele defecte pe baza unei liste configurabile de parametri;
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.
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.
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:
Având un set de date înregistrate (date de la senzori) să se identifice informațiile relevante de tip metadata;
Să se efectueze analiza datelor înregistrate cu scopul de a prezice probleme de calitate;
Colaborare cu echipa de Inspecție Vizuală (AI), cu scopul de a efectua analize pe datele rezultate în urma inspecției vizuale;
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:
Gaussian Naive Bayes: algoritm adesea utilizat pe seturi de date foarte mari, unde chiar și antrenamentul unui model liniar ar putea dura mult.
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).
DBScan Clustering, clusterizarea spațială bazată pe densitatea aplicațiilor cu zgomot (valori non-conforme).
Clustering Results
Î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:
Aplicația dezvoltată să fie o aplicație telefonică hibridă sau nativă;
Aplicația să poată funcționa în modul offline;
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:
Ușor de utilizat - poate fi folosit de personalul non-tehnic;
Extensibilă și ușor configurabilă, noile funcționalități pot fi adăugate cu efort mic de dezvoltare;
Oferă capacități offline, aplicația putând fi utilizată într-un depozit parțial izolat;
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ă.
de Ovidiu Mățan
de Mihai Talpoș