770 likes | 1.05k Views
ROBOT VISION Lesson 7/8: Shape from X Matthias Rüther. Golfball. Shape from Monocular Images. Verschiedene Möglichkeiten: Shape from Shading Streifenmethode Photometrisches Stereo Shape from Texture Statistische Methoden Strukturelle Methoden Geometrische Szeneneigenschaften.
E N D
Golfball Shape from Monocular Images Verschiedene Möglichkeiten: • Shape from Shading • Streifenmethode • Photometrisches Stereo • Shape from Texture • Statistische Methoden • Strukturelle Methoden • Geometrische Szeneneigenschaften 2 dim + “?” => 3 dim A priori Wissen
Overview • Shape from X techniques • Shape from Shading • Shape from Specularities • Three-Dimensional Information from Shadows • Shape from Multiple Light Sources, Photometric Stereo • Shape from Laser Ranging and Structured Light Images • Shape from Texture • Shape and Structure from Perspective Effects, Vanishing Points • Three-Dimensional Reconstruction from Different Views • Depth from Focus, Changing Camera Parameters • Surface and Shape from Contours
Shape from Shading Schattierung der Oberfläche beeinflußt die Raumempfindung: • Bsp.: Makeup ändert nicht nur Oberflächentextur • erzeugt Highlights und Schatten => Raumempfindung
Shape from Shading In Computer Vision erstmals durch Horn [Horn77]: • Oberflächenreflexion von untexturierten Objekten beinhaltet Tiefeninformation
Flächengrenzen Flächengrenzen spielen entscheidende Rolle bei Interpretation durch Menschen: • Begrenzungslinien werden als Grenze zu Hintergrund interpretiert: • => gleiche Schattierung -verschiedene Form
Formrekonstruktion Zur Vereinfachung wird immer Normalprojektion verwendet: • => Objekt ist entfernt und nahe der optischen Achse
keine Zweitbeleuchtung: Reflexion von anderen Gegenständen auf das Objekt ist ausgeschlossen • Es gibt keine Schlagschatten, Objekt ist unverdeckt bezüglich Lichtquelle - nur Selbstschatten Reflectance Map • Beleuchtungsquelle ist weit entfernt Reflexionseigenschaften sind zentraler Bestandteil von Shape from Shading Beleuchtung ist eine Funktion der Richtung und nicht Entfernung
Reflectance Map • Lambert‘sche Oberflächen: • Helligkeit hängt nur von Beleuchtungsrichtung ab, nicht von Beobachtungsrichtung • ein Oberflächenpunkt hat in allen Beobachtungsrichtungen gleiche Helligkeit • keine Totalreflexion • Reflectance Map einer Oberfläche: 2dim Plot des Gradientenraums (p,q) der normalisierten Bildhelligkeit einer Oberfläche als Funktion der Oberflächenorientierung
Gradient Space z=f(x,y) Oberflächennormale
PHONG MODEL L = E (aCOS q + bCOS a) n albedo Diffuse albedo Specular albedo a=0.3, b=0.7, n=2 a=0.7, b=0.3, n=0.5 REFLECTANCE MODELS LAMBERTIAN MODEL L = E r COS q
Reflectance Map 2dimPlot des Gradientenraums (p,q) der normalisierten Bildhelligkeit I einer Oberfläche als Funktion der Oberflächenorientierung
Reflectance Map • gerade Linie im Gradientenraum trennt beleuchtete von Schattenregionen: => Terminator • Nachteil des Modells: Es gibt keine komplett matten Oberflächen • Perfekter Spiegel: Licht wird nur in eine spezielle Richtung reflektiert (Einfallswinkel = Ausfallswinkel), in alle anderen Richtungen keine Reflexion
Reflectance Map • Realität Kombination aus matten und spiegelnden Reflexionseigenschaften: • Gewichteter Durchschnitt der diffusen und spiegelnden Komponente einer Oberfläche • Reflectance Maps für eine bestimmte Oberfläche müssen experimentell bestimmt werden • für allgemeines Shape from Shading nicht möglich • für mache Oberflächen jedoch bereits bestimmt => Normform
Normform der Reflectance Map • Spiegelnde Reflexion durch Ellipsein Reflectance Map • Übergang spiegelnd - diffus als Parabel • Diffuser Teil: Hyperbel • Grenze Licht - Schatten (Terminator) = Linie
Shape from Specularity • Suitable for highly reflective Surfaces • Specular Reflection map of a single point source forms a sharp peak (Specular model, Phong model)
Shape from Specularity • Principle: • If a reflection is seen by the camera and the position of the point source is known, the surface normal can be determined. • => use several point sources with known position: structured highlight inspection
Shape From Shadow • Also: Shape from Darkness • Reconstruct Surface Topography from self-occlusion • E.g. Building reconstruction in SAR images, terrain reconstruction in remote sensing
Shape From Shadow • A static camera C observes a scene. • Light source L travels over the scene x, position of L is given by angle . • L and C are an infinite distance away (orthographic projection). • Shadowgram: binary function f(x, ), stating whether scene point x was shadowed at light position .
Photometric Stereo • Multiple images, static camera, different illumination directions • At least three images • Known illumination direction • Known reflection model (Lambert) • Object may be textured
Photometric Stereo • Reflection model Albedo (reflectivity) • 3 unknowns per pixel at least three illumination directions
Photometric Stereo: Example Input images From Forsyth & Ponce Recovered normals Recovered albedo
Range Finder • Range Finder principles: • Runtime Range Finder • Triangulation Range Finder • - Sender and receiver with known position, triangulation similar to stereo principle • Optical Range Finder • Ultrasound Range Finder • e.g.: • Spot Projectors • Moiré Range Finder • Structured Light Range Finder • Pattern (stripe) projection 1 image 2 dim + geometry => 3 dim Depth information Receiver/Sender position
Runtime Range Finder • Determine sensor-object distance by measuring radiation runtime: • 1. Sender (coherent light) • 2. Scanning Unit • 3. Receiver (light detector) • 4. Phase detector Alt. Method: send light pulses => LIDAR (Light Radar), defense industry Problem: generating pulses, measuring runtime (both very short)
Ultrasound Range Finder • Used in commercial cameras (Autofocus Spot) • Advantages • Independent of sorrounding light, • Slow speed of ray • Disadvantages • coarse resolution, • Bad accuracy, • Pointwise, scanner necessary • Multiple Reflection/Echoes Applications: • Obstacle Detection: e.g.: “Car parking radar” • Level Measurement, silos, tanks, … • Underwater ranging (sonar), ... Typ. specifications: • Range: 5cm to 1-5m • Accuracy: +-3mm
Spot Projection • Determine sensor-object distance pointwise • 1. Sender (Laser beam) • 2. Scanning unit • 3. Receiver (CCD Camera) Distance by triangulation Laser Tracker: [Ishii76], early systems 1968 [Forsen68]
Triangulation Range Finder Principle: Projection of a plane onto a plane -> intersection is line (stripe) Distortion of stripe gives object depth by Triangulation
Structured Light Range Finder 1. Sender (projects plane) 2. Receiver (CCD Camera) Sensor image Geometry Z- direction X- direction
1 plane -> 1 object profile • To get a 3D profile: • Move the object • Scanning Unit for projected plane • Move the Sensor Object motion by conveyor band: => synchronization: measure distance along conveyor => y-accuracy determined by distance measurement Scanning Units (z.b: rotating mirror) are rare (accurate measurement of mirror motion is hard, small inaccuracy there -> large inaccuracy in geometry Move the sensor: e.g. railways: sensor in wagon coupled to speed measurement
Stripe Projection Determine object structure by projecting multiple stripes simultaneously and subsequent triangulation 1. Sender (planes) 2. Receiver (Camera)
Projector Lamp Lens system LCD - Shutter Pattern structure Line projector (z.b: LCD-640) Focusing lens (e.g.: 150mm) Example
Pattern projection Range Image Projected light stripes • Camera: IMAG CCD, Res:750x590, f:16 mm • Projector: Liquid Crystal Display (LCD 640), f: 200mm, Distance to object plane: 120cm
Moiré Range Finder • Project line structure, observe line structure through a grid • 1. Sender (Projektor mit Linien) • 2. Receiver (CCD Camera with line filter) Problem: identification of line ordering possible but hard, unsharp lines => inaccurate results Moiré Pattern Moiré Image
Triangulation Principle Baseline b CCD . Kamera Z • Object point
Lichtpunkttechnik Einfachste Methode zur Messung von Entfernungen: Punktweise Beleuchtung der Objektoberfläche Laser: Position auf der x-Achse : bekannter Richtungswinkel des Lasers zur Kamera : bekannter Schwenkwinkel des Lasers R: Schnittpunkt der Schwenkebene mit der optischen Achse P: zu vermessender Objektpunkt p(x,y): bekannter projizierter Objektpunkt P Z-achse: optische Achse der Kamera Es gilt für kamerazentriertes Koordinatensystem: räumlicher Fall eines projizierten Lichtpunktes
Lichtpunktstereoanalyse Kombination der Lichtpunkttechnik mit Verfahren der statischen Stereoanalyse: Laserpunkt wird an beliebiger Stelle auf das zu vermessende Objekt projiziert und mit zwei Kameras aufgenommen. Entfernungsberechnung: aus der Position des Laserpunktes analog zur statischen Stereoanalyse Vorteil gegenüber Lichtpunkttechnik: keine aufwendige Kalibrierung, da Orientierung des Laserstrahls nicht in Berechnung eingeht. Prinzipieller Aufbau für ein Verfahren nach der Lichtpunktstereoanalyse
Lichtschnittechnik 1) Projektion einer Lichtebene auf das Objekt (mittels Laser oder Projektoren) 2) Schnitt der Lichtebene mit der Objektoberfläche als Lichtstreifen sichtbar 3) Lokalisierung des Lichtstreifens mittels Kantenerkennung und Segmentierung Entfernungsberechnung: Kalibrierung: b, f, , Generierung eines Look-Up-Tables für Entfernungswerte Allgemein: Die Tiefenauflösung ist sowohl von der Auflösung des Bildsensors als auch von der Breite der erzeugten Lichtebene abhängig. Zur Vereinfachung steht Lichtebene senkrecht zur Referenzeben.
Gleichzeitige Projektion mehrerer Lichtschnitte Anstatt einer Lichtebene werden mehrere Lichtebenen auf das Objekt projeziert, um die Anzahl der aufzunehmenden Bilder zu reduzieren. Entfernungsberechnung: wie mit einer Lichtebene, jedoch muß jeder Lichtstreifen im Bild eindeutig identifizierbar sein. Problem: Aufgrund von Verdeckungen sind einzelne Streifen teilweise oder gar nicht im Kamerabild sichtbar -> keine eindeutige Identifikation der Lichtstreifen Anwendung: Glattheitsüberprüfung bei planaren Oberflächen ohne Tiefenwertberechnung.
Binärcodierte Lichtschnittechik Motivation: .) Lichtpunkt oder Lichtstreifen erfordern große Anzahl von Aufnahmen .) Mehrere projzierte Lichtmuster können nicht eindeutig identifiziert werden Codierung der Lichtmuster: Zur Unterscheidung der Lichtebenen Erzeugung zeitlich aufeinander folgender verschiedener binärcodierter Lichtmuster Vorteil: wesentlich weniger Aufnahmen für gleiche Anzahl von zu vermessenden Objektpunkten notwendig (log n) Codierung der Lichtstreifen nach Gray Code. Jede Lichtebene ist codiert jedes Pixel kann einer Lichtebene zugeordnet werden Tiefenberechnung erfolgt mit Hilfe einer Lookup Tabelle, für jede Lichtebene wird die Triangulation vorausberechnet (2d) Codierung
Tiefenberechnung für Streifenprojektor Durch die zeitliche Abfolge der Aufnahmen wird es ermöglicht, daß jeder Lichtstreifen im Kamerabild identifiziert wird. Verschiedene Lichtstreifen sind notwendig, um für jeden Bildpunkt einen zugehörigen Lichtstreifen festzustellen zu können. 1) Unterschiedlich breite Lichtstreifen werden zeitlich aufeinanderfolgend in die Szene projiziert und von der Kamera aufgenommen. 2) Für jede Aufnahme wird für jeden Bildpunkt festgestellt, ob dieser beleuchtet wird oder nicht. 3) Diese Information wird für jeden Bildpunkt und für jede Aufnahme im sog. Bit-Plane Stack abgespeichert. 4) Findet man im Bit-Plane Stack für einen Bildpunkt die Information, daß er bei den Aufnahmen z.B. hell, dunkel, dunkel, hell war (Code 1001), dann folgt daraus, daß dieser Bildpunkt vom vierten Lichtstreifen beleuchtet wird. 5) eindeutige Zuordnung „Lichtstreifen – Bildpunkt“ möglich
Abschattungen Laser erreicht Oberflächenpunkt Laser erreicht Oberflächenp. nicht keine Tiefeninformation Kamera sieht Oberflächenp. nicht keine Tiefeninformation Kamera sieht Oberflächenpunkt keine Tiefeninformation Tiefeninformation Laser Abschattung keine Kamera Abschattung keine Laser Abschattung
Abschattungen 2 virtuelle Kameras 2 Projektoren erzeugen 2 Lichtebenen = uneindeutig
Tiefenbild bzw. Range-Image Vergleich Intensitätsbild-Tiefenbild Aufnahme eines Intensitätsbildes Aufnahme eines Tiefenbildes
Beispiele (1) Tiefenbild einer Fischdose sowie einer Zigarettenschachtel Tiefenbild Intensitätsbild Tiefenbild Kantenbild
Beispiele (2) Tiefenbild einer Ebene und eines Spielzeug LKW's Ebene im KKS ungefiltert gefiltert
Beispiele (3) Tiefenbild eines Augapfels (Modell) mit Tumor Tiefenbild eines Augapfels (Modell) ohne Tumor Kantenbild eines Augapfels (Modell) mit Tumor Kantenbild eines Augapfels (Modell) ohne Tumor
Shape from Texture • A cat sitting on a table edge, depth cue is the change of texture size • Discrimination of depth levels by size of boxes. • Depth information within texture • What is texture?