Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München.

Slides:



Advertisements
Similar presentations
Computer Vision, Robert Pless
Advertisements

Fused Angles for Body Orientation Representation Philipp Allgeuer and Sven Behnke Institute for Computer Science VI Autonomous Intelligent Systems University.
CS B659: Principles of Intelligent Robot Motion Rigid Transformations.
Kinematic Modelling in Robotics
Computer vision: models, learning and inference
1 pb.  camera model  calibration  separation (int/ext)  pose Don’t get lost! What are we doing? Projective geometry Numerical tools Uncalibrated cameras.
Camera calibration and epipolar geometry
Camera Models A camera is a mapping between the 3D world and a 2D image The principal camera of interest is central projection.
3D Kinematics Eric Whitman 1/24/2010. Rigid Body State: 2D p.
Structure from motion.
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
Ch. 2: Rigid Body Motions and Homogeneous Transforms
3D Coordinate Systems and Transformations Revision 1
Structure from motion. Multiple-view geometry questions Scene geometry (structure): Given 2D point matches in two or more images, where are the corresponding.
Uncalibrated Geometry & Stratification Sastry and Yang
CS485/685 Computer Vision Prof. George Bebis
3-D Geometry.
COMP322/S2000/L221 Relationship between part, camera, and robot (cont’d) the inverse perspective transformation which is dependent on the focal length.
Ch. 3: Forward and Inverse Kinematics
CSCE 689: Computer Animation Rotation Representation and Interpolation
CSCE 441: Computer Graphics Rotation Representation and Interpolation
CSCE 641: Computer Graphics Rotation Representation and Interpolation Jinxiang Chai.
Single-view geometry Odilon Redon, Cyclops, 1914.
The Pinhole Camera Model
CS223b, Jana Kosecka Rigid Body Motion and Image Formation.
3D Graphics Goal: To produce 2D images of a mathematically described 3D environment Issues: –Describing the environment: Modeling (mostly later) –Computing.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Technical Background.
3-D Scene u u’u’ Study the mathematical relations between corresponding image points. “Corresponding” means originated from the same 3D point. Objective.
CS I400/B659: Intelligent Robotics Rigid Transformations.
CS 450: COMPUTER GRAPHICS 3D TRANSFORMATIONS SPRING 2015 DR. MICHAEL J. REALE.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 2.1: Recap on Linear Algebra Daniel Cremers Technische Universität.
1 C01 – Advanced Robotics for Autonomous Manipulation Department of Mechanical EngineeringME 696 – Advanced Topics in Mechanical Engineering.
Camera Geometry and Calibration Thanks to Martial Hebert.
CS 480/680 Computer Graphics Transformations Dr. Frederick C Harris, Jr.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 6.2: Kalman Filter Jürgen Sturm Technische Universität München.
Homogeneous Coordinates (Projective Space) Let be a point in Euclidean space Change to homogeneous coordinates: Defined up to scale: Can go back to non-homogeneous.
Course 12 Calibration. 1.Introduction In theoretic discussions, we have assumed: Camera is located at the origin of coordinate system of scene.
Geometric Models & Camera Calibration
Autonomous Navigation for Flying Robots Lecture 2.2: 2D Geometry
Rotations and Translations
Week 5 - Wednesday.  What did we talk about last time?  Project 2  Normal transforms  Euler angles  Quaternions.
Rick Parent - CIS681 ORIENTATION Use Quaternions Interpolating rotations is difficult.
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 2.3: 2D Robot Example Jürgen Sturm Technische Universität München.
Advanced Computer Graphics Spring 2014
Geometric Camera Models
Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 5.1: State Estimation Jürgen Sturm Technische Universität München.
Rotation and Orientation: Fundamentals Jehee Lee Seoul National University.
CS-498 Computer Vision Week 7, Day 2 Camera Parameters Intrinsic Calibration  Linear  Radial Distortion (Extrinsic Calibration?) 1.
1 Chapter 2: Geometric Camera Models Objective: Formulate the geometrical relationships between image and scene measurements Scene: a 3-D function, g(x,y,z)
Autonomous Navigation for Flying Robots Lecture 6.3: EKF Example
Chapter 2: Description of position and orientation Faculty of Engineering - Mechanical Engineering Department ROBOTICS Outline: Introduction. Descriptions:
Single-view geometry Odilon Redon, Cyclops, 1914.
Digital Image Processing Additional Material : Imaging Geometry 11 September 2006 Digital Image Processing Additional Material : Imaging Geometry 11 September.
CS559: Computer Graphics Lecture 9: 3D Transformation and Projection Li Zhang Spring 2010 Most slides borrowed from Yungyu ChuangYungyu Chuang.
Robotics Chapter 6 – Machine Vision Dr. Amit Goradia.
Euler Angles This means, that we can represent an orientation with 3 numbers Assuming we limit ourselves to 3 rotations without successive rotations about.
Computer Graphics I, Fall 2010 Transformations.
Week 5 - Monday.  What did we talk about last time?  Lines and planes  Trigonometry  Transforms  Affine transforms  Rotation  Scaling  Shearing.
MASKS © 2004 Invitation to 3D vision Lecture 6 Introduction to Algebra & Rigid-Body Motion Allen Y. Yang September 18 th, 2006.
CS682, Jana Kosecka Rigid Body Motion and Image Formation Jana Kosecka
Objectives Introduce standard transformations Introduce standard transformations Derive homogeneous coordinate transformation matrices Derive homogeneous.
Calibrating a single camera
Computer Animation Algorithms and Techniques
Ch. 2: Rigid Body Motions and Homogeneous Transforms
Homogeneous Coordinates (Projective Space)
Geometric Camera Models
Multiple View Geometry for Robotics
UMBC Graphics for Games
Rotation and Orientation: Fundamentals
The Pinhole Camera Model
Presentation transcript:

Computer Vision Group Prof. Daniel Cremers Autonomous Navigation for Flying Robots Lecture 3.1: 3D Geometry Jürgen Sturm Technische Universität München

Points in 3D  3D point  Augmented vector  Homogeneous coordinates Jürgen Sturm Autonomous Navigation for Flying Robots 2

Geometric Primitives in 3D  3D line through points  Infinite line:  Line segment joining : Jürgen Sturm Autonomous Navigation for Flying Robots 3

Geometric Primitives in 3D  3D plane  3D plane equation  Normalized plane with unit normal vector and distance Jürgen Sturm Autonomous Navigation for Flying Robots 4

3D Transformations  Translation  Euclidean transform (translation + rotation), (also called the Special Euclidean group SE(3))  Scaled rotation, affine transform, projective transform… Jürgen Sturm Autonomous Navigation for Flying Robots 5

3D Euclidean Transformations  Translation has 3 degrees of freedom  Rotation has 3 degrees of freedom Jürgen Sturm Autonomous Navigation for Flying Robots 6

3D Rotations  A rotation matrix is a 3x3 orthogonal matrix  Also called the special orientation group SO(3)  Column vectors correspond to coordinate axes Jürgen Sturm Autonomous Navigation for Flying Robots 7

3D Rotations  What operations do we typically do with rotation matrices?  Invert, concatenate  Estimate/optimize  How easy are these operations on matrices? Jürgen Sturm Autonomous Navigation for Flying Robots 8

3D Rotations  Advantage: Can be easily concatenated and inverted (how?)  Disadvantage: Over-parameterized (9 parameters instead of 3) Jürgen Sturm Autonomous Navigation for Flying Robots 9

Euler Angles  Product of 3 consecutive rotations (e.g., around X-Y-Z axes)  Roll-pitch-yaw convention is very common in aerial navigation (DIN 9300) Jürgen Sturm Autonomous Navigation for Flying Robots 10

Roll-Pitch-Yaw Convention  Roll, Pitch, Yaw  Conversion to 3x3 rotation matrix: Jürgen Sturm Autonomous Navigation for Flying Robots 11

Roll-Pitch-Yaw Convention  Roll, Pitch, Yaw  Conversion from 3x3 rotation matrix: Jürgen Sturm Autonomous Navigation for Flying Robots 12

Euler Angles  Advantage:  Minimal representation (3 parameters)  Easy interpretation  Disadvantages:  Many “alternative” Euler representations exist (XYZ, ZXZ, ZYX, …)  Difficult to concatenate  Singularities (gimbal lock) Jürgen Sturm Autonomous Navigation for Flying Robots 13

Gimbal Lock  When the axes align, one degree-of-freedom (DOF) is lost: Jürgen Sturm Autonomous Navigation for Flying Robots 14

Axis/Angle  Represent rotation by  rotation axis and  rotation angle  4 parameters  3 parameters  length is rotation angle  also called the angular velocity  minimal but not unique (why?) Jürgen Sturm Autonomous Navigation for Flying Robots 15

Conversion  Rodriguez’ formula  Inverse see: An Invitation to 3D Vision (Ma, Soatto, Kosecka, Sastry), Chapter 2 Jürgen Sturm Autonomous Navigation for Flying Robots 16

Axis/Angle  Also called twist coordinates  Advantages:  Minimal representation  Simple derivations  Disadvantage:  Difficult to concatenate  Slow conversion Jürgen Sturm Autonomous Navigation for Flying Robots 17

Quaternions  Quaternion  Real and vector part  Unit quaternions have  Opposite sign quaternions represent the same rotation  Otherwise unique Jürgen Sturm Autonomous Navigation for Flying Robots 18 Richard Szeliski, Computer Vision: Algorithms and Applications

Quaternions  Advantage: multiplication, inversion and rotations are very efficient  Concatenation  Inverse (=flip signs of real or imaginary part)  Rotate 3D vector using a quaternion: Jürgen Sturm Autonomous Navigation for Flying Robots 19

Quaternions  Rotate 3D vector using a quaternion:  Relation to axis/angle representation Jürgen Sturm Autonomous Navigation for Flying Robots 20

3D Orientations  Note: In general, it is very hard to “read” 3D orientations/rotations, no matter in what representation  Observation: They are usually easy to visualize and can then be intuitively interpreted  Advice: Use 3D visualization tools for debugging (RVIZ, libqglviewer, …) Jürgen Sturm Autonomous Navigation for Flying Robots 21

3D to 2D Perspective Projections Jürgen Sturm Autonomous Navigation for Flying Robots 22 Richard Szeliski, Computer Vision: Algorithms and Applications

3D to 2D Perspective Projections Jürgen Sturm Autonomous Navigation for Flying Robots 23 Richard Szeliski, Computer Vision: Algorithms and Applications

3D to 2D Perspective Projections Jürgen Sturm Autonomous Navigation for Flying Robots 24  Pin-hole camera model  Note: is homogeneous, needs to be normalized

Camera Intrinsics  So far, 2D point is given in meters on image plane  But: we want 2D point be measured in pixels (as the sensor does) Jürgen Sturm Autonomous Navigation for Flying Robots 25 Richard Szeliski, Computer Vision: Algorithms and Applications

Camera Intrinsics  Need to apply some scaling/offset  Focal length  Camera center  Skew Jürgen Sturm Autonomous Navigation for Flying Robots 26

Camera Extrinsics  Assume is given in world coordinates  Transform from world to camera (also called the camera extrinsics)  Projection of 3D world points to 2D pixel coordinates: Jürgen Sturm Autonomous Navigation for Flying Robots 27

Lessons Learned  3D points, lines, planes  3D transformations  Different representations for 3D orientations  Choice depends on application  Which representations do you remember?  3D to 2D perspective projections  You really have to know 2D/3D transformations by heart (for more info, read Szeliski, Chapter 2, available online) Jürgen Sturm Autonomous Navigation for Flying Robots 28