Ontwikkeling van algoritmen voor rolnummerherkenning

Cédric
Verstraeten

Stel, morgen bestel je bij je favoriete webshop een nieuwe smartphone. Enkele dagen later wordt het pakketje bij je thuis geleverd. Dolenthousiast maak je het open, maar wat blijkt? Het bevat helemaal geen smartphone, maar wel een haardroger. Ergens liep iets mis bij de afhandeling van je bestelling. Teleurgesteld meld je het probleem bij de klantendienst, en na veel geduld te hebben geoefend, krijg je uiteindelijk toch nog je nieuwe telefoon in handen. Vroeg of laat krijgt elke handelaar met dit soort misverstanden te kampen. Het oplossen ervan kost tijd en geld, en misschien nog belangrijker: het imago van het bedrijf lijdt eronder. Daarom moet men op zoek gaan naar manieren om deze problemen te vermijden. Bij grote bedrijven, zoals de staalreus ArcelorMittal, is het eigenlijk niet anders. Als grootste staalfabrikant ter wereld vervaardigt het bedrijf een belangrijke grondstof voor de productie van auto’s, keukenapparatuur, meubilair enzovoort. Een klant die zulke afgewerkte producten maakt, plaatst een bestelling bij ArcelorMittal, net zoals jij dat doet bij een webshop. Het staal wordt dan geproduceerd en naar de klant getransporteerd. En net als bij een webshop loopt dat helaas weleens mis en ontvangt de klant iets heel anders dan wat hij bestelde, met heel wat rompslomp tot gevolg.  Of het nu over een kleine webshop gaat of over een internationale staalreus, de verkoper heeft typisch een voorraad producten klaarliggen, die hij aan zijn klanten wil leveren. Hij heeft dan ook een manier nodig om zijn producten en bestellingen makkelijk te identificeren. Zowel bij een postpakketje met een gsm als bij een rol staal van vijf ton ligt de oplossing voor de hand: een etiket met daarop een bestelnummer. Vaak worden bestellingen echter met de hand verwerkt. Menselijke fouten bij het aflezen van de etiketten komen dan ook vaak voor. Zo gaat het ook bij de Gentse vestiging van ArcelorMittal. De rollen staal liggen er opgeslagen in magazijnen, waarin ze worden getransporteerd door kranen. Telkens een rol moet worden verplaatst, kijkt de kraanbestuurder het nummer op het etiket na. Niemand is perfect, dus zo nu en dan wordt de foute rol opgepikt, doorheen het magazijn verplaatst en uiteindelijk naar de verkeerde klant verzonden. Om zulke fouten te vermijden, beschikt ArcelorMittal ook over automatische kranen. Die zijn in staat om zonder menselijke tussenkomst de rollen doorheen het magazijn te verplaatsen. Hoe gaat dat nu in zijn werk? Op zo’n automatische kraan zit een camera, die beelden maakt van de opgepikte rol. Oorspronkelijk gebruikte men die beelden enkel om fouten op te sporen, bijvoorbeeld bij defecte kranen. Het etiket met het rolnummer wordt echter mee gefilmd, zodat men een computersysteem is gaan ontwikkelen om het nummer volautomatisch uit te lezen. Om dit mogelijk te maken, maakt men gebruik van een tak van de informatica die beeldverwerking wordt genoemd. Iedereen heeft vast weleens een foto bewerkt op zijn computer. De bewerkingen die je gebruikt bij het photoshoppen zijn eigenlijk pure wiskunde: pixels, de gekleurde puntjes waaruit een foto bestaat, worden vertaald naar getalwaarden en op allerlei manieren verwerkt. Ook het automatisch uitlezen van het nummer van een rol staal gebeurt op die manier: de camera op de kraan levert digitale beelden en het computersysteem verwerkt die om er nuttige informatie uit te halen. Om het rolnummer uit te lezen, voert het twee stappen uit. Eerst bepaalt het systeem waar op het beeld het etiket precies te vinden is. Door op zoek te gaan naar de gekende eigenschappen van het etiket, kan het afleiden waar het waarschijnlijk voorkomt. Zo is het etiket bijvoorbeeld steeds rechthoekig. Verder bestaat het uit zwarte tekst op een witte achtergrond; aan de hand van beeldverwerkingstechnieken kan het systeem zulke sterke overgangen duidelijk detecteren. Ook zijn de cijfers op het etiket allemaal even groot en hebben ze min of meer vaste plaatsen. Door die informatie nuttig te gebruiken, vindt het systeem de positie van het etiket, en hoeft het enkel nog dat deel van het beeld verder te bekijken. De tweede stap laat zich raden: eens het systeem het etiket heeft gevonden, moet het nog uitvissen welke cijfers erop staan. Dankzij optical character recognition of OCR kan de computer tekst herkennen op beelden. Men gebruikt deze technologie bijvoorbeeld bij flitscamera’s om nummerplaten te lezen, maar ook om historische werken digitaal beschikbaar te maken. In het geval van ArcelorMittal gaat het OCR-programma Tesseract op zoek naar cijfervormen op het etiket, en vertaalt het die naar het cijfer dat er het meest op lijkt. Tot slot vergelijkt het systeem het uitgelezen nummer met het nummer van de rol die de kraan moest oppikken. Komen beide nummers niet overeen, dan zijn ergens twee rollen verwisseld. In dat geval moet een medewerker van ArcelorMittal nog steeds optreden, maar krijgt de klant tenminste geen verkeerd product toegestuurd. Doordat de camerabeelden niet allemaal even duidelijk zijn, kan het systeem helaas niet altijd het rolnummer uitlezen. Toch herkent de eerste versie al meteen zo’n tweederde van de nummers, wat een multinational als ArcelorMittal een hele besparing kan opleveren.  Nu nog wachten tot webshops ook zo’n systeem in gebruik nemen, zodat jij ook meteen je telefoon in handen hebt.

Download scriptie (4.32 MB)
Universiteit of Hogeschool
Hogeschool Gent
Thesis jaar
2013