Deep learning vervangt vision in logistiek

Deep learning is een krachtige technologie die zich snel ontwikkelt als de sleutel in de groei van de logistieke sector. Het is wezenlijk anders dan de technieken die momenteel worden gebruikt en daarom is er een verschuiving nodig in de ontwikkelaanpak en integratie. Een belangrijk verschil is het gebruik en het belang van data: deep learning-algoritmes hebben aanzienlijke hoeveelheden gegevens nodig om nieuwe taken te leren, maar het is nooit eenvoudig om zo veel gegevens correct te verwerken. In dit artikel bespreken we enkele do’s en don’ts voor het toepassen van deep learning in de logistiek.

Enrico Liscio en Valerio Carpani zijn computervision- en deep learning-engineers bij Fizyr.

20 september 2019

De logistieke sector is booming: de verwachte gemiddelde groei bedraagt zo’n 7 procent per jaar, tot een marktomvang van meer dan 357 miljard dollar in 2022. Alleen al in de VS werken vier miljoen arbeiders in de sector. In logistieke centra kunnen de salarissen voor deze mensen oplopen tot meer dan 50 procent van alle kosten. Daarbij hebben personeelsfunctionarissen moeite om het groeiend aantal vacatures in te vullen, vanwege de soms uitdagende werkomstandigheden en omdat er simpelweg te weinig arbeidskrachten beschikbaar zijn. Dus hoe zorgen we er dan toch voor dat jouw volgende Amazon-bestelling op tijd wordt afgeleverd?

Op dit moment zijn robots nog niet in staat om de grote variatie producten in de logistiek te verwerken.

Het antwoord is simpel: door het personeel te vervangen door robots. Hoewel ze in veel bedrijfstakken al gemeengoed zijn, bedroeg de wereldwijde verkoop van robots in de logistiek in 2016 minder dan twee miljard dollar. Op dit moment kunnen robots in de meeste logistieke taken de mens niet vervangen vanwege de enorme variatie die inherent is in deze sector. In autofabrieken die volstaan met robots hebben ze te maken met tientallen verschillende producten. Maar in de logistiek krijgen robots honderdduizenden producten voor hun kiezen, en elke week komen er duizenden bij. Conventionele oplossingen op basis van machinevision vereisen nauwkeurige modellen van alle producten om effectief te kunnen zijn, dus deze systemen kunnen dat op dergelijke schaal onmogelijk bijhouden.

Maar geen paniek: recente prognoses schatten de wereldwijde verkoop van robotica in logistiek in 2021 op 22,4 miljard dollar, een gemiddelde jaarlijkse groei van maar liefst 64 procent. De revolutie komt vanuit de software. Deep learning vervangt traditionele machinevision. Het grote voordeel van deep learning is het vermogen om te generaliseren: een deep learning-netwerk hoeft niet alle productmodellen te zien, maar heeft genoeg aan een representatieve steekproef. Een netwerk dat is getraind met standaard colablikjes kan bijvoorbeeld ook overweg met zijn slanke en langere tegenhangers. En vanuit een doos cornflakes zou het kunnen generaliseren naar een schoenendoos, hoewel die een andere kleur en vorm heeft.

Transfer learning

Van handmatig samengestelde datacollecties verschuift de aandacht daarom naar gegevens die de distributie van alle items in het magazijn vertegenwoordigen. Talrijke en grote datasets zijn beschikbaar op internet, zoals het enorme Imagenet, dat bestaat uit bijna vijftien miljoen afbeeldingen uit duizend verschillende categorieën, van stoplichten tot kattenrassen. Helaas zijn deze datasets te algemeen om direct in de logistiek toe te passen. Wat nodig is, is een specifiek annotatieschema – dat is de manier waarop de inhoud van afbeeldingen wordt gecategoriseerd en gelabeld. In de logistiek zijn we immers niet geïnteresseerd in het verschil tussen honden en katten, maar is het wel belangrijk om zachte zakken van dozen te kunnen onderscheiden. Bij Fizyr hanteren we bijvoorbeeld twee verschillende annotatieschema’s: één voor item picking en één voor pakketverwerking.

Een deep learning-netwerk kan goed generaliseren; het hoeft niet alle productmodellen te zien, maar slechts een representatieve steekproef. Zoals in deze toepassing bij Vanderlande.

Datasets kunnen worden gedeeld tussen applicaties. Eenvoudige vormen zoals dozen en cilinders zijn aanwezig in de hele logistieke sector, dus het combineren van verschillende datacollecties kan helpen bij het vergroten van de trainingsset. Een veelgebruikte methode in deep learning is transfer learning: je bereidt een netwerk voor met een grote, generieke dataset om het vervolgens te trainen met een kleinere, specifieke set zodat je het precies kunt afstemmen op de toepassing. Bij Fizyr hebben we een generieke dataset met tienduizenden afbeeldingen, die we als basis gebruiken voor al onze applicaties. Wanneer we met een nieuw project beginnen, hebben we slechts vijfhonderd tot duizend afbeeldingen van de klant nodig om een solide start te maken. Labelen en trainen met deze kleine hoeveelheid gegevens kost hooguit een paar dagen.

Steile leercurve

We hebben enkele tips besproken voor het gebruik van deep learning, maar hoe start je nou in de praktijk? Het ligt wellicht voor de hand om te kijken naar opensource deep learning-modellen en deze aan te passen aan jouw behoeftes. Hoewel dit een eenvoudig begin lijkt, zijn de resultaten meestal teleurstellend omdat de leercurve erg steil is. Deep learning-experts kunnen problemen identificeren die verborgen blijven voor minder ervaren ogen en zijn daarom in staat om veel sneller goede modellen te ontwikkelen. Ze kunnen bijvoorbeeld snel identificeren welk soort gegevens het netwerk in verwarring brengt of alleen op basis van de probleemstelling – en zonder allerlei tests – beslissen welk model ze moeten gebruiken. Bovendien is de software van gespecialiseerde bedrijven van industriële kwaliteit, iets dat meestal niet kan worden gezegd van de deep learning-code die je online kunt vinden. Daarnaast is het maken van tools rond de netwerken voor het verwerken van datasets, annotaties en getrainde modellen een complexe taak en kan de ontwikkeling en optimalisatie van deze tools jaren in beslag nemen.

Dit is het 3d beeld voor een robot: de drie dozen worden apart gesegmenteerd en voor elk wordt een eigen aanvliegroute voorgesteld.

Houd er rekening mee dat deep learning-projecten anders verlopen dan traditionele softwareprojecten. Waar van traditionele algoritmes wordt verwacht dat ze van meet af aan werken, hebben deep learning-netwerken een initiële leerfase, waarin het model wordt getest en getraind om de gewenste nauwkeurigheid te bereiken. De definitie van de nauwkeurigheid an sich kan zelfs onderwerp van discussie zijn: een grotere nauwkeurigheid van het deep learning-model leidt mogelijk niet direct tot meer succesvolle picks, vanwege de vele variabelen die in dergelijke systemen aanwezig zijn. Hoe goed een deep learning-systeem ook is, er is nooit garantie dat het ook echt alle producten goed verwerkt. Dat komt door de ondoorgrondelijkheid van het netwerk; dat is precies de complexiteit die het netwerk in staat stelt om zo goed te generaliseren.