Click here to load reader

Robot Vision SS 2005 Matthias Rüther 1 ROBOT VISION Lesson 7/8: Shape from X Matthias Rüther

  • View
    215

  • Download
    2

Embed Size (px)

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

Search related