Text of Robot Vision SS 2005 Matthias Rüther 1 ROBOT VISION Lesson 7/8: Shape from X Matthias...
PowerPoint-Präsentation* Matthias Rüther Kawada Industries Inc. has introduced the HRP-2P for Robodex 2002. This humanoid appears to be very impressive. It is 154 cm (60") tall, weighs 58kg (127 lbs) and has 30 DOF. Here is a news release . Notice the LACK of a battery pack. Here is a new story about HRP2 . Robot Vision SS 2005 Matthias Rüther * * * erzeugt Highlights und Schatten => Raumempfindung Robot Vision SS 2005 Matthias Rüther * Oberflächenreflexion von untexturierten Objekten beinhaltet Tiefeninformation Robot Vision SS 2005 Matthias Rüther * Begrenzungslinien werden als Grenze zu Hintergrund interpretiert: => gleiche Schattierung -verschiedene Form * => Objekt ist entfernt und nahe der optischen Achse Robot Vision SS 2005 Matthias Rüther * Beleuchtung ist eine Funktion der Richtung und nicht Entfernung Es gibt keine Schlagschatten, Objekt ist unverdeckt bezüglich Lichtquelle - nur Selbstschatten keine Zweitbeleuchtung: Reflexion von anderen Gegenständen auf das Objekt ist ausgeschlossen Robot Vision SS 2005 Matthias Rüther * ein Oberflächenpunkt hat in allen Beobachtungsrichtungen gleiche Helligkeit keine Totalreflexion Robot Vision SS 2005 Matthias Rüther * * * albedo Diffuse albedo Specular albedo n a=0.3, b=0.7, n=2 a=0.7, b=0.3, n=0.5 Robot Vision SS 2005 Matthias Rüther * * 2dim Plot des Gradientenraums (p,q) der normalisierten Bildhelligkeit I einer Oberfläche als Funktion der Oberflächenorientierung Robot Vision SS 2005 Matthias Rüther * 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 Robot Vision SS 2005 Matthias Rüther * 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 Robot Vision SS 2005 Matthias Rüther * Übergang spiegelnd - diffus als Parabel Diffuser Teil: Hyperbel Robot Vision SS 2005 Matthias Rüther * Suitable for highly reflective Surfaces Specular Reflection map of a single point source forms a sharp peak (Specular model, Phong model) Reflectance map * 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 Panorama mirror * E.g. Building reconstruction in SAR images, terrain reconstruction in remote sensing http://ieeexplore.ieee.org/iel4/5649/15135/00698646.pdf?tp=&arnumber=698646&isnumber=15135 * 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 . http://ieeexplore.ieee.org/iel4/5649/15135/00698646.pdf?tp=&arnumber=698646&isnumber=15135 * At least three images * Robot Vision SS 2005 Matthias Rüther * * * - Sender and receiver with known position, triangulation similar to stereo principle 1 image Receiver/Sender position Depth information Optical Range Finder Ultrasound Range Finder * 1. Sender (coherent light) Alt. Method: send light pulses => LIDAR (Light Radar), defense industry Problem: generating pulses, measuring runtime (both very short) Die Signalphaserelativ zur reference phase ist proportional zur Laufzeit. Die Signalamplitude ist proportional zur zur Oberflächenreflektion. => Lichtintensität und Range Data * Advantages * Distance by triangulation * Principle: Projection of a plane onto a plane -> intersection is line (stripe) Distortion of stripe gives object depth by Triangulation 4689.unknown 4690.unknown * * 1 plane -> 1 object profile 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 To get a 3D profile: Move the object Move the Sensor * 1. Sender (planes) 2. Receiver (Camera) * * Camera: IMAG CCD, Res:750x590, f:16 mm Projector: Liquid Crystal Display (LCD 640), f: 200mm, Distance to object plane: 120cm Projected light stripes * 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é Image Moiré Pattern * · Angle baseline and principal direction b distance projector-camera * Punktweise Beleuchtung der Objektoberfläche : bekannter Richtungswinkel des Lasers zur Kamera der optischen Achse Es gilt für kamerazentriertes * 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 Orientierung des Laserstrahls 4711.psd * 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: 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. 1) peak at position xo 2) left side und right side of the peal using a threshold Vt 3) center points * Anstatt einer Lichtebene werden mehrere Lichtebenen auf das Objekt projeziert, um die Anzahl der aufzunehmenden Bilder zu reduzieren. Entfernungsberechnung: 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. 1) peak at position xo 2) left side und right side of the peal using a threshold Vt 3) center points * 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) 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 4714.unknown * 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. Verschiedene Lichtstreifen sind notwendig, um für jeden Bildpunkt einen zugehörigen Lichtstreifen festzustellen zu können. Durch die zeitliche Abfolge der Aufnahmen wird es ermöglicht, daß jeder Lichtstreifen im Kamerabild identifiziert wird. 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. möglich 4715.psd * * 2 virtuelle Kameras * * Tiefenbild Intensitätsbild Tiefenbild Kantenbild 4721.unknown 4722.unknown 4723.psd 4724.psd * Ebene im KKS * 4726.psd 4727.psd 4728.psd 4729.psd * 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 * Basic pattern not deterministic for natural objects Basic pattern approximately deterministic for man-made objects Repetition of pattern neither regular nor deterministic Only statistic regularity = uniform distribution Object shape can be recovered from geometric distortion of texture [Julesz75] Texture is not a local property, characterisitc for an area much larger than basic pattern. => Only basic shapes can be reconstructed (planes, spheres, …) Robot Vision SS 2005 Matthias Rüther * Texture Texture is the abstraction of a statistical homogenity in a part of the observer‘s field of view which contains much more information than the observer can handle. Texture is scale dependent: Many Texture elements need to be observed but must not exceed a certain maximum, such that their size is always bigger than sensor resolution. Robot Vision SS 2005 Matthias Rüther * Statistical Texture Analysis Suitable for natural textures, since they are not deterministic but follow statistical rules. First order grey value statistics: statistics of single pixels compared to pairs, triples, quadruples etc. Normalized texture histogram: grey value distribution function Disadvantage of first order statistics: insensitive against permutations => Checkerboard may have same statistics as salt‘n pepper noise. Second order grey value statistics: Distribution of neighborhood relations (Co-occurence Matrix) E.g.: relation „right of“: black-white, grey-white, white-white More suited for texture classification, because no geometrical properties are modeled. Robot Vision SS 2005 Matthias Rüther * Man made objects usually have deterministic textures Assumes that Texture is generated by a basic element „TEXEL“ which is repeated in a regular fashion. Perspective distortion of texels gives surface orientation/shape Characterization by invariant features (circles -> oriented ellipses) Robot Vision SS 2005 Matthias Rüther * Robot Vision SS 2005 Matthias Rüther * Exact description of texels necessary to model their distortion Simple, geometrical texels easier to handle 1. 2. * Circle = simple texel Same problem as shading: Object border including texture determines the shape Shape reconstruction based on perspective projection => Texture is a 2D surface pattern, not a 3D property. E.g. brick wall, printed cloth Aloimonos & Swain: Shape from Shading Shape from Texture Robot Vision SS 2005 Matthias Rüther * Texel must be identifiable Texel must not overlap All Texels must have same spatial dimension Texel are „small„, locally planar and have a unique surface normal Robot Vision SS 2005 Matthias Rüther * Robot Vision SS 2005 Matthias Rüther * Algorithms usable in a limited fashion on „real“ scenes. Tree Sunflower Audience * * E.g.: parallel lines confine a plane Planes are oriented by their vanishing points Vanishing points and vanishing line give the plane orientation. Problem: find vanishing points * Geometrical Scene Constraints e.g. intersecting area of parallel lines, symmetry axis of arbitrary objects Robot Vision SS 2005 Matthias Rüther * * Requires visibly rough surfaces Typical application: optical microscopy * Shape From Focus Visibly Rough Surfaces Optical roughness: the smallest spatial variations are much larger than the wavelength of incident electromagnetic wave. Visible roughness: smallest spatial variations are comparable to viewing area of discrete elements (pixels). Magnification: * Defocused: object point is mapped to spot with radius => defocusing is equivalent to convolution with low pass kernel (pillbox function) Robot Vision SS 2005 Matthias Rüther * Moving the object: changes sharp region only => Object is moved in front of static camera Robot Vision SS 2005 Matthias Rüther * At facet level magnification, rough surfaces give texture-rich images A defocused image is equivalent to a low-passed image As S moves towards focused plane, its focus increases. When S is best focused, Challenges: How to find best focus from finite number of measurements? Robot Vision SS 2005 Matthias Rüther * Purpose: respond to high frequency variations in image intensity within a small image area produce maximum response when image area is perfectly focused Possible solution: Alternative: Modified Laplacian * INxM … local intensity function (image window) Robot Vision SS 2005 Matthias Rüther * * Consider a single image point (x,y) Focus measure F is function of depth d: F(d) Goal find Fpeak from finite number of samples F1…F8 Robot Vision SS 2005 Matthias Rüther * Robot Vision SS 2005 Matthias Rüther * Possibility2: Gaussian interpolation Robot Vision SS 2005 Matthias Rüther * Angle baseline and principal direction b distance projector-camera