Enno Romkema is chief technology officer bij Technolution. Op 12 april geeft hij een lezing getiteld ’Embedded eyes‘ tijdens Bits&Chips 2006 Hightech Systemen.

24 April 2006

Beeldvormende apparatuur maakt steeds meer deel uit van ons dagelijks leven. Of het nu gaat om publieke toepassingen zoals bewakingssystemen en tolheffing, of industriële toepassingen zoals elektronenmicroscopen voor biologisch onderzoek en de chipindustrie en medische beeldvorming met MRI- of CT-scanners. De groeiende datastroom vraagt om intelligente camerasystemen of embedded eyes.

Achter de beeldvormende apparatuur zitten op dit moment nog operators om de machines te bedienen. Naarmate het gebruik van deze camerasystemen steeds verder groeit, is het echter geen haalbare kaart meer om achter elk apparaat een operator te zetten. Neem alleen al het grote aantal camera‘s langs de snelweg. Een verkeerscentrale krijgt honderden camerabeelden binnen. Het is geen doen om al deze stromen door een operator te laten controleren. Zolang er geen bijzonderheden optreden, hoeft ook niemand de beelden te zien. Alleen voor een afwijkend patroon is een operator nodig. Kortom, er ontstaat behoefte aan embedded eyes, intelligente camerasystemen die in staat zijn specifieke informatie uit de beelden te isoleren om zelfstandig taken uit te voeren en daarmee de systeemgebruikers te ontlasten. We praten dan niet meer over beeldvormende apparatuur maar over beeldverwerkende of beeldanalyserende apparatuur.

Ingebakken

In machinevisie zijn intelligente toepassingen al lang geen uitzondering meer. Veel productieprocessen maken gebruik van systemen die zelfstandig taken uitvoeren zoals kwaliteitscontroles. Wanneer de intelligentie in de logica van de camera wordt ondergebracht, krijgen we smartcamera‘s.

Kenmerkend voor machinevisie is dat het realtime systemen zijn waarvan de omgeving is geconditioneerd. De lichtcondities zijn zo optimaal mogelijk gekozen. De camerasystemen zijn geselecteerd voor de specifieke toepassing. Het fabrieksproces is voorspelbaar. De goede en foute toestanden zijn van tevoren bekend. Hierdoor hoeven de algoritmes voor machinevisie niet zo slim te zijn. Immers, onverwachte en ongecontroleerde gebeurtenissen zijn uitgesloten. De afhandeling van de voorspelbare uitzonderingen is hard ingebakken in het systeem.

De uitdaging voor computervisie is de successen van machinevisie uit te breiden naar de onvoorspelbare buitenwereld, waar de belichtingscondities niet of in veel mindere mate onder controle zijn. Op zich lijkt dit eenvoudig: we merken zelf ook geen verschil of we binnen onder het tl-licht zitten of dat we buiten in de zon staan. We zien de wereld om ons heen zonder problemen. Voor een computersysteem is dat veel lastiger omdat het moet omgaan met sterk wisselende omstandigheden. Er is moeilijk te ontkomen aan de neiging het succes van computervisie af te meten aan biologische visie, onze eigen kijkprestaties. Een vergelijking is snel gemaakt, maar een systeem maken dat net zo flexibel omgaat met een veranderende omgeving als onze ogen heeft heel wat meer voeten in aarde.

 advertorial 

The waves of Agile

Derk-Jan de Grood has created a rich source of knowledge for Agile coaches and leaders. With practical tips to create a learning organization that delivers quality solutions with business value. Order The waves of Agile here.

0642417354000
Dit systeem herkent alle verkeersborden met een rode rand. Uit het oorspronkelijke beeld van een verkeerssituatie (a) selecteert hij eerst alle rode kleuren (b). Alle gesloten vormen worden ingevuld, zodat een masker ontstaat (c). Vervolgens maakt het systeem een uitsnede van het oorspronkelijke beeld (d). Ten slotte wordt er automatisch een vergelijking gemaakt met een referentiebeeld (e) om het verkeersbord te herkennen. Het beeld met hetzelfde verkeersteken levert de hoogste score op, waarmee het bord is herkend.

Sluitertijd

Een deel van het probleem is dat we nog niet goed weten wat voor processen zich in onze ogen afspelen. Hetzelfde geldt voor een sluitende definitie van ’zien‘. We zouden biologisch kijken kunnen omschrijven als ’een actief proces om een stereoprojectie van de driedimensionale wereld te interpreteren, gestuurd door verworven omgevingskennis‘.

Hier blijkt meteen het grootste probleem voor computervisie. De computer heeft vaak geen kennis van de omgeving, laat staan dat hij op grond van deze kennis het waarnemingsproces kan sturen. Een voorbeeld. Wanneer je zelf een kenteken van een rijdende auto wilt lezen, dan doe je dat globaal als volgt: je volgt met je ogen de rijdende auto, je focust op het kenteken en volgt het kenteken tot je het volledig hebt kunnen lezen. Dit lijkt eenvoudig omdat je er zelf niet bij na hoeft te denken.

Om te focussen op een kenteken en dit object te volgen moet je wel weten wat een kenteken is (objectherkenning) en om een object te kunnen volgen moet je de bewegingssnelheid schatten (bewegingsdetectie) en met je ogen (en desnoods je hoofd) de beweging volgen zodat het kenteken lang genoeg stilstaat op je netvlies (objecttracking). Dit laatste is uitermate belangrijk omdat anders het kenteken niet kan worden gelezen vanwege bewegingsonscherpte.

Met de computer moeten we noodgedwongen een andere tactiek volgen. Neem een snelle camera met hoge resolutie en schiet een foto met een korte sluitertijd. Houd de camera stil. De auto staat door de korte sluitertijd nagenoeg stil op de foto, je zoekt het nummerbord en je probeert de cijfers en letters te herkennen door ze te vergelijken met een referentieset. Dit lijkt een aardige oplossing, maar met weinig licht kun je geen snelle sluitertijd kiezen. Het gevolg is dat de auto te veel bewegings-onscherpte vertoont en dat je dan geen kenteken meer kunt lezen. In de praktijk wordt dit opgelost door de omgeving te conditioneren met lichtbronnen.

De huidige generatie computervisietoepassingen zijn fundamenteel anders van opzet dan de benadering die ons eigen visuele systeem volgt. Daar is op zich niets mis mee, maar het blokkeert wel een sprong naar oplossingen die veel dichter bij biologische visie komen.

Dynamisch bereik

Er komen steeds meer oplossingen op de markt die de problemen van computervisietoepassingen in kleine stappen een voor een uit de weg ruimen. Door de toegenomen rekenkracht komen complexe realtime beeldbewerkingen en -analyse binnen handbereik. Denk daarbij niet alleen aan processoren die serieel data verwerken met software maar ook aan parallelle verwerking van beeldinformatie met programmeerbare logica (FPGA‘s). Voor de meeste toepassingen van embedded eyes is rekenkracht geen probleem meer.

De standaard camerasystemen hebben geen groot dynamisch bereik. De beelden die moeten worden geanalyseerd, veranderen door verschillende lichtcondities en noodzakelijke camera-instellingen. Dit heeft directe gevolgen op het aantal verkeerd geïnterpreteerde situaties. In de buitenwereld spelen naast belichting nog andere verstorende factoren een rol. Een kentekenlezende camera moet de nummerplaten zowel overdag als ‘s nachts goed registreren, maar ook bij slecht zicht door mist of regen. Pas als het aantal verkeerd geïnterpreteerde situaties tot een aanvaardbaar niveau is teruggebracht, kunnen we de toepassing implementeren.

De standaard camerasystemen hebben geen groot dynamisch bereik. De beelden die moeten worden geanalyseerd, veranderen door verschillende lichtcondities en noodzakelijke camera-instellingen. Dit heeft directe gevolgen op het aantal verkeerd geïnterpreteerde situaties. In de buitenwereld spelen naast belichting nog andere verstorende factoren een rol. Een kentekenlezende camera moet de nummerplaten zowel overdag als ‘s nachts goed registreren, maar ook bij slecht zicht door mist of regen. Pas als het aantal verkeerd geïnterpreteerde situaties tot een aanvaardbaar niveau is teruggebracht, kunnen we de toepassing implementeren.

Door de komst van camera‘s met een groot dynamisch bereik is het eenvoudiger om beelden te schieten zonder het nadeel van gedeeltelijke over- of onderbelichting. De informatie waar je naar op zoek bent in het beeld is dan in ieder geval in het opgenomen beeld aanwezig. Dit reduceert een van de foutenbronnen uit de keten. Voor toepassingen van embedded eyes is het camerasysteem zo een veel minder beperkende factor.

Plukrobots

Voor veel beeldanalyseproblemen wordt nog naar een principeoplossing gezocht. Zo willen we de visiesystemen opvoeden met kennis over de omgeving. Zelfs het basaal herkennen van objecten zodat het visiesysteem weet wat het is, is nog lang geen gemeengoed.

Het vinden van objecten in beelden en het volgen van deze objecten als ze bewegen, beginnen we steeds beter onder de knie te krijgen. Dit is alleen al te zien aan de webcamtoepassingen. Standaard zijn deze tegenwoordig uitgerust met algoritmes voor bewegingsdetectie en het volgen van gezichten in beeld. Voor andere commerciële toepassingen zoals persoonherkenning moeten de algoritmes nog betrouwbaarder worden.

De grote sprong naar visiesystemen die zich kunnen meten met onze eigen ogen, zal nog even op zich laten wachten. De kleinere stap naar embedded eyes ligt al wel binnen handbereik. Embedded eyes, smartcamera‘s voor buitentoepassingen, kunnen de combinatie van beeldbewerking en -herkenning realtime direct on-board uitvoeren. Daarmee zijn bijvoorbeeld compacte hoogintelligente bewakingscamera‘s te maken of complexere systemen zoals plukrobots of draagbare medische systemen waarvan embedded eyes een onderdeel vormen.