410 likes | 610 Views
Computer Vision. Presentatie titel. Technische Informatica www.hogeschool-rotterdam.nl/cmi. Rotterdam, 00 januari 2007. Les 3. Hoofdstukken 1.4 Beeldsensoren 1.5 Beeldtransport 1.6 Systeem voorbeelden. Beeldsensoren. Dit hoofdstuk gaat over de fundamenten van digitale beeldverwerking
E N D
Computer Vision Presentatie titel Technische Informatica www.hogeschool-rotterdam.nl/cmi Rotterdam, 00 januari 2007
Les 3 Hoofdstukken 1.4 Beeldsensoren 1.5 Beeldtransport 1.6 Systeem voorbeelden
Beeldsensoren • Dit hoofdstuk gaat over de fundamenten van digitale beeldverwerking • Korte beschrijving photo-elektrisch effect • De functionaliteit van CCD en CMOS wordt bekeken • Vergelijken van de technologieen
Fysische fundamenten • Gebaseerd op photo-elektrisch effect • Electronen worden vrijgemaakt door bestraling • De electronen gaan van de valentieband naar de geleidingsband in een halfgeleider materiaal • De geleidbaarheid neemt toe • Bij een P-N overgang die bestraald wordt , vindt ladingsscheiding plaats. Het spanningsverschil over de P-N overgang neemt toe. • Hiermee wordt stralingsenergie omgezet in electrische energie (photo-voltaisch effect) • CCD en CMOS sensoren zijn hierop gebaseerd
CCD • CCD was vroeger een analoog geheugen (bucket memory) • Nu wordt het gebruikt als digitale beeldsensor omdat de cellen photo-gevoelig zijn. • Door spanning te zetten op electroden wordt de lading steeds verplaatst (zie fig 1.17)
CCD • Bij een image sensor worden geen ladingen opgeteld gedurende de uitleesfase of gedurende het schuiven. • Eenvoudigste methode met Full-Frame-CCD (zie fig 1.18)
CCD • Deze sensors zijn zeer gevoelig Om vage beelden te voorkomen is een sluiter nodig of flitslicht. • Duurdere variant Frame-Transfer CCD Informatie wordt eerst vertikaal geklokt parallel in een apart geheugen. Vage beelden worden hierdoor minder • Meest eenvoudig ontwerp Interline –Transfer- CCD De lading wordt snel verplaatst naar lokale buffers en dan geklokt . Geen vage beelden , maar wel een lagere vul-factor
CCD • Een nadeel verder is dat de cellen niet lichtdicht kunnen worden gemaakt • Een oplossing is Frame-Interline-Transfer-CCD of FIT-CCD De kleine vul-factor kan verbeterd worden door microlensjes voor elke pixel • Tegenwoordig worden interlaced camera’s niet meer gemaakt
CMOS • Verschil met CCD is het ontwerp van de chip • De CCD sensor bevat alleen photodiodes • De CMOS integreert de lading lokaal voor elk pixel • De pixels zijn daarom vrij adresseerbaar • Het uitlezen is flexibeler, het uitlezen kan beperkt worden tot een bepaald gebied. • Het uitlezen kan dan evenredig sneller zijn • Tevens kunnen met CMOS andere componenten geintegreerd worden
CMOS • De uitgang van de pixel wordt aangesloten op een transistor en daarna versterkt • Hiermee is een rolling shutter te maken • Hiermee kan rij voor rij uitgelezen worden met een vertraging van ΔT (belichtingstijd) • Hiermee heeft ieder pixel dezelfde belichtingstijd , maar is in de tijd verschoven • Een oplossing is een extra FET transistor om een global shutter te maken. • Hiermee kan het begin (reset) en het eind (sluiten) van de integratietijd gelijktijdig worden gecontroleerd voor alle pixels (fig 1.21)
CMOS • Voor een vergelijking CMOS –CCD zie tabel 1.5 • ROI mode= region of interest
CMOS • Verschillen CMOS-CCD
Overdracht van beelden • Er zijn verschillende mogelijkheden om een camera aan een PC te koppelen (zie tabel 1.6)
Overdracht van beelden • Analoge overdracht • Gebruikt in industriele applicaties • Aansluiten is eenvoudig met consumenten producten (TV-kaarten) • Drivers voor windows ( VfW). • Drivers voor Linux ( Video for Linux) • Bij OpenCV is deze interface bibliotheek verborgen voor de gebruiker • E.v.t. converters gebruiken
Overdracht van beelden • USB Universal Serial bus • USB 2.0 480 Mb/s • USB 3.0 5 Gb/s • IEEE 1394b Firewire of i-Link • Momenteel meest gebruikt voor beeldverwerking • 63 devices aan te sluiten • Native support • IEEE 1394a 400 Mb/s • IEEE 1394b 3,2 Gb/s
Overdracht van beelden • Camera Link • Definieert standaard digitale video overdracht m.b.t kabels , connectors en interface kaarten • Gebruikt in de industrie voor zeer snelle verbindingen • Erg duur , zeer betrouwbaar • Real time beelden mogelijk • Nadeel centralisatie
Overdracht van beelden • Gigabit ethernet • Voordeel alles is gestandaardiseerd • kabels , connectors , interface kaart • 1 Gb/s • 100 m (met switches en routers onbeperkt) • GigE Vision • Hardware detection • GigE Vision Control protocol • Datatransfer UDP protocol • XML bevat lay-out van de camera
Overdracht van beelden • GenICam (Generic Interface for Camera’s) • Gespecificeerd door EMVA (European Machine Vision Association) • Sofware interface • XML file voor camera interface • Software gedeelte van GigEVision
Bandbreedte eisen • Voor een IP ( image processing) systeem dient de bandbreedte berekend te worden en het aantal interfaces • Gegeven een IP-taak die 4 kleuren camera’s nodig heeft met de volgende parameters: • Resolutie: 640*480 pixels • Kleurendiepte: 24 bit RGB, overdracht 8 bit Bayer-pattern ( hierbij zijn met een kleurenfilter meer groene dan blauwe en rode pixels ) http://www.siliconimaging.com/RGB%20Bayer.htm • Frame-rate: 30 fps • Overdracht: IEEE 1394
Bandbreedte eisen • Er kunnen 4 camera’s op 1 IEEE1394-poort ( qua vermogen, kabels , enz) • De maximale frequentie is ongeveer 40 Hz wat over de bus kan • Dat is voldoende voor 30 fps. • Echter het protocol reserveert 25 % voor eigen instructies ( is ongeveer 10Hz) • Zou net kunnen , in de praktijk niet. • Daarom 1 camera op 15 fps zetten.
Systeemvoorbeelden • In de volgende sheets worden complexe beeldverwerkende systemen behandeld
Menselijke Robot Hoofd • In fig 1.23 is de ARMAR_III getoond
Menselijke Robot Hoofd • Verlichting: • Werkterrein is de keuken. • Fluoriserende lampen met hoge frequency • Diffuus licht • Lenzen: • Ieder oog heeft een camera met M12 4 en 8 mm lens • Camera’s: • 4 kleuren Dragonfly camera’s • 1/3” CCD , 640*480 • IEEE 1394, 15 fps
Menselijke Robot Hoofd • Overdracht: • IEEE 1394 met DCAM IIDV protocol • PC-interface: • 4 camera’s verbonden via IEEE1394 HUB • Embedded PC • OS en drivers: • Debian Linux • LIBDC1394-API • Drivers uit de IVT-bibliotheek
Menselijke Robot Hoofd • Implementatie: • Vision wordt gebruikt voor: • Objecten herkennen (welk object op tafel) • Objecten volgen ( wie praat er) • Visuele terugkoppeling ( waar is mijn hand) • De software routines in C++ • Basis functies IVT-bibliotheek • Het centrale robotsysteem met MCA2 bibliotheek
Stereo Endoscopie • In fig 1.24 en 1.25 is een beeldverwerkend systeem te zien voor stereo endoscopie (medische toepassing)
Stereo Endoscopie • Het doel is om beweging van de chirurg op te nemen. Minimale –Invasieve Chirurgie
Stereo Endoscopie • Verlichting: • Werkterrein is de operatiekamer. • Halogeen lampen • Het licht wordt geleid door een glasfiber naar het uiteinde van de endoscoop • Lenzen: • Geintegreerd in de endoscoop. • Breedhoek lenzen • Camera’s: • 2 camera’s in de endoscoop • CCD , 640*480
Stereo Endoscopie • Overdracht: • Analoge overdracht PAL • Converters naar IEEE 1394 van The Image Sourcing • PC-interface: • Video signaal 640*480, 30 fps , 24 bit/pixel • 2 IEEE1394 PC kaarten • OS en drivers: • Linux • Open source software Unicap • Drivers uit de IVT-bibliotheek
Stereo Endoscopie • Implementatie: • Het systeem volgt de beweging van de chirurg op basis van stereobeelden • De beelden worden ingekleurd en ge-highlighted • De basisfuncties uit de IVT-bibliotheek
Smart Room • Met gebruik van meerdere camera’s kunnen real-time objecten of mensen worden bekeken in 3D • In de toekomst kunnen AVG’s in openbare gebouwen hiermee worden bestuurd (fig 1.26)
Smart Room • Architectuur in fig 1.27
Smart Room • Verlichting: • Fluoriserende lampen met hoge frequency • Diffuus licht • Lenzen: • Breedhoek lenzen • F=2.3 mm • Zowel dichtbij als veraf mogelijk • C-mount lens T2314FICS-3 • Camera’s: • DFK21F04 ,1/4”CCD , • 640*480, 30 fps
Smart Room • Overdracht: • IEEE 1394 • PC-interface: • Iedere camera’s verbonden via IEEE1394 met een PC . PC verbonden met ethernet • 1 centrale host die de berekeningen uitvoert voor doorsneden van de kamer • OS en drivers: • Windows XP • De driver voor de camera wordt door de fabrikant geleverd
Smart Room • Implementatie: • Software framework in C++ • Bibliotheken OpenCV. IVT en Qt/Winfree • Voor 3D reconstructie is de Binary Space Partitionerings procedure gebruikt (BSP) • http://en.wikipedia.org/wiki/Binary_space_partitioning
Industriele Kwaliteitscontrole • De onderdelen die getest moeten worden komen op een lopende band • De belichting wordt gecontroleerd en met meerdere camera’s gecalibreerd ( zie fig 1.28)
Industriele Kwaliteitscontrole • Verlichting: • Afhankelijk van testtaak • Calibratie met doorgelaten licht achter het object (transmitted licht) • Lichtbronnen met telecentrische lenzen • Lenzen: • Telecentrische lenzen • Nodig om de contouren te herkennen zonder perspectivische vervorming
Industriele Kwaliteitscontrole • OS en drivers: • Windows XP, Windows 2000 • De driver wordt met de frame grabber meegeleverd • Implementatie • De testroutines zijn gemaakt met COAK software van SAC • Met dit framework kan zonder programmeerkennis een routine gemaakt worden
Industriele Kwaliteitscontrole • Camera’s: • Grijs, Sony XC-ST50CE • ½”beeld sensor, analoge output • 752*852 pixels • De klok komt uit de framegrabber kaart voor synchronisatie • Overdracht: • Analoog video (grijs) • PC-interface: • PCI frame grabber Orion. • Embedded PC Compact Vision