Where am I? Using Vanishing Points

Similar documents
Where am I? Using Vanishing Points

Coordinate Systems. Ioannis Rekleitis

Prof. Feng Liu. Fall /17/2016

Computer Graphics and Animation 3-Viewing

5. Geometric Transformations and Projections

LOCAL GEODETIC HORIZON COORDINATES

A Mathematical Implementation of a Global Human Walking Model with Real-Time Kinematic Personification by Boulic, Thalmann and Thalmann.

3D Transformations. CS 4620 Lecture 10. Cornell CS4620 Fall 2014 Lecture Steve Marschner (with previous instructors James/Bala)

CIS 580, Machine Perception, Spring 2015 Homework 1 Due: :59AM

3D Transformations. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 11

Perspective projection and Transformations

Quaternions & Rotation in 3D Space

2D Transformations. Why Transformations. Translation 4/17/2009

Quaternions and Euler Angles

CS-184: Computer Graphics. Today. Lecture #5: 3D Transformations and Rotations. Transformations in 3D Rotations

Transforms II. Overview. Homogeneous Coordinates 3-D Transforms Viewing Projections. Homogeneous Coordinates. x y z w

Extended Perspective Shadow Maps (XPSM) Vladislav Gusev, ,

2. PROPELLER GEOMETRY

Introduction To Robotics (Kinematics, Dynamics, and Design)

Single View Geometry. Camera model & Orientation + Position estimation. What am I?

Single View Geometry. Camera model & Orientation + Position estimation. What am I?

ME 210 Applied Mathematics for Mechanical Engineers

Control of Mobile Robots

fmri pre-processing Juergen Dukart

Geometric Transformations

ANNOUNCEMENT. LECTURE 25 Spherical Refracting Surfaces

9.5 Polar Coordinates. Copyright Cengage Learning. All rights reserved.

Sphero Lightning Lab Cheat Sheet

Single View Geometry. Camera model & Orientation + Position estimation. Jianbo Shi. What am I? University of Pennsylvania GRASP

CSE 165: 3D User Interaction

Computer Graphics: Viewing in 3-D. Course Website:

This group contain tools that are no longer so required, but could still prove useful in the right circumstances.

Polar Coordinates. Chapter 10: Parametric Equations and Polar coordinates, Section 10.3: Polar coordinates 27 / 45

Visualisation Pipeline : The Virtual Camera

Goal. Rendering Complex Scenes on Mobile Terminals or on the web. Rendering on Mobile Terminals. Rendering on Mobile Terminals. Walking through images

6.7. POLAR COORDINATES

Lecture 5: Transforms II. Computer Graphics and Imaging UC Berkeley CS184/284A

Local Coordinate Systems From Motion Capture Data

Camera Registration in a 3D City Model. Min Ding CS294-6 Final Presentation Dec 13, 2006

Modeling Transformations

All lengths in meters. E = = 7800 kg/m 3

3D Shape Reconstruction (from Photos)

MEAM 620: HW 1. Sachin Chitta Assigned: January 10, 2007 Due: January 22, January 10, 2007

Single View Geometry. Camera model & Orientation + Position estimation. What am I?

CIS 580, Machine Perception, Spring 2016 Homework 2 Due: :59AM

Geometric transformations in 3D and coordinate frames. Computer Graphics CSE 167 Lecture 3

METR Robotics Tutorial 2 Week 3: Homogeneous Coordinates SOLUTIONS & COMMENTARY

9/5/2018. Physics colloquium today -- 9/05/2018 PHY 711 Fall Lecture /05/2018 PHY 711 Fall Lecture 4 3

GOSAT TANSO-FTS Polarization Model Description

Inertial Measurement Units II!

IB-2 Polarization Practice

Perspective Projection Describes Image Formation Berthold K.P. Horn

Modeling Transformations

Mono Vision Based Construction of Elevation Maps in Indoor Environments

Shape Matching / Object Recognition

Curl, Divergence, and Gradient in Cylindrical and Spherical Coordinate Systems

9-2. Camera Calibration Method for Far Range Stereovision Sensors Used in Vehicles. Tiberiu Marita, Florin Oniga, Sergiu Nedevschi

You will be writing code in the Python programming language, which you may have learnt in the Python module.

Collision Detection with Swept Spheres and Ellipsoids

NEW FINITE ELEMENT / MULTIBODY SYSTEM ALGORITHM FOR MODELING FLEXIBLE TRACKED VEHICLES

Announcements. Equation of Perspective Projection. Image Formation and Cameras

Attitude Representation

Lecture 5: Rendering Equation Chapter 2 in Advanced GI

3-D D Euclidean Space - Vectors

Stereo and 3D Reconstruction

Quaternions and Rotations

Transformations Review

Adaptation of Motion Capture Data of Human Arms to a Humanoid Robot Using Optimization

Announcements. The equation of projection. Image Formation and Cameras

Augmented Reality. Integrating Computer Graphics with Computer Vision Mihran Tuceryan. August 16, 1998 ICPR 98 1

BGC gimbal & Pixhawk SToRM32 Gimbal Controller

Polar Coordinates. Chapter 10: Parametric Equations and Polar coordinates, Section 10.3: Polar coordinates 28 / 46

= dv 3V (r + a 1) 3 r 3 f(r) = 1. = ( (r + r 2

So we have been talking about 3D viewing, the transformations pertaining to 3D viewing. Today we will continue on it. (Refer Slide Time: 1:15)

Camera Model and Calibration

Unit 13: Periodic Functions and Trig

CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2016 DR. MICHAEL J. REALE

Machine learning based automatic extrinsic calibration of an onboard monocular camera for driving assistance applications on smart mobile devices

Curves from the inside

CHAPTER 40 CARTESIAN AND POLAR COORDINATES

17/5/2009. Introduction

Autonomous Navigation for Flying Robots

Tracker Software. 103 年 11 月 Department of Physics, NDHU 國立東華大學物理學系製作

CHAPTER 2 SENSOR DATA SIMULATION: A KINEMATIC APPROACH

CS184: Using Quaternions to Represent Rotation

To graph the point (r, θ), simply go out r units along the initial ray, then rotate through the angle θ. The point (1, 5π 6

A Robust Docking Strategy for a Mobile Robot using Flow Field Divergence

3D Viewing Transformations

ECE 634: Digital Video Systems Mo7on models: 1/19/17

Camera Parameters Estimation from Hand-labelled Sun Sositions in Image Sequences

Computer Graphics. - Shading - Hendrik Lensch. Computer Graphics WS07/08 Light Transport

Computing tilt measurement and tilt-compensated e-compass

CS 548: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE

The Importance of Matrices in the DirectX API. by adding support in the programming language for frequently used calculations.

Color Correction Using 3D Multiview Geometry

Topography Reconstruction by Interferometric SAR Look Vector's Orthogonal Decomposition

Lecture 3.5: Sumary of Inverse Kinematics Solutions

Vision Review: Image Formation. Course web page:

521466S Machine Vision Exercise #1 Camera models

Environment Mapping. Overview

Transcription:

Whee am I? Using Vanishing Points

Vanishing point Vanishing line fo hoizon Vanishing point What can vanishing line tell us about me? Hoizon Camea pitch angle (looking down) Camea oll angle (tilted towad ight)

Whee am I w..t. Gound Plane? Camea u v 1 X Y K t C 1 2 3 W Z 1 How to compute?

What can a Vanishing Point tell us about? Camea v

What can a Vanishing Point tell us about? Camea Z 1 v

What can a Vanishing Point tell us about? Camea Z 1 1 C v K 1 2 3 t W 1 v

Single Vanishing Point Camea K -1 v 3 Z 1 1 C v K 1 2 3 t W 1 v K 3 v

Single Vanishing Point Camea K -1 v 3 Z 1 1 C v K 1 2 3 t W 1 v K 3 Kv -1 3-1 because 3 is a unit vecto. Kv Z vanishing point tells us about the suface nomal of the gound plane v

Single Vanishing Point Camea K -1 v 3 Z 1 1 C v K 1 2 3 t W 1 v K 3 Kv -1 3-1 because 3 is a unit vecto. Kv Z vanishing point tells us about the suface nomal of the gound plane Rotation ambiguity v

Single Vanishing Point Camea Kv -1 Kv 3-1 K -1 v 3 Z 1 1 Roll and pitch angle can be computed by the gound plane. v

Single Vanishing Point Camea Kv -1 Kv 3-1 K -1 v 3 Z 1 1 Roll and pitch angle can be computed by the gound plane. 3D spatial otation: a sequence of Eule angle otation (oll/pitch/yaw). v

Single Vanishing Point Camea Kv -1 Kv 3-1 K -1 v 3 Z 1 1 Roll and pitch angle can be computed by the gound plane. Yaw: otation about z axis: R yaw cos -sin sin cos 1 v

Single Vanishing Point Camea Kv -1 Kv 3-1 K -1 v 3 Z 1 1 Roll and pitch angle can be computed by the gound plane. Yaw: otation about z axis: R yaw Pitch: otation about y axis: Rpitch cos -sin sin cos 1 cos sin 1 -sin cos v

Single Vanishing Point Camea Kv -1 Kv 3-1 K -1 v 3 Z 1 1 Roll and pitch angle can be computed by the gound plane. Yaw: otation about z axis: R yaw Pitch: otation about y axis: Rpitch cos -sin sin cos 1 cos sin 1 -sin cos Roll: otation about x axis: R oll 1 cos -sin sin cos v

Single Vanishing Point Camea Kv -1 Kv 3-1 K -1 v 3 Z 1 1 Roll and pitch angle can be computed by the gound plane. Yaw: otation about z axis: R yaw Pitch: otation about y axis: Rpitch cos -sin sin cos 1 cos sin 1 -sin cos Roll: otation about x axis: R oll 1 cos -sin sin cos v -sin T 1 2 3 yaw pitch oll cos sin R R R cos cos

Single Vanishing Point Camea Kv -1 Kv 3-1 K -1 v 3 Z 1 1 Roll and pitch angle can be computed by the gound plane. -sin T 1 2 3 yaw pitch oll cos sin R R R cos cos Pitch: Roll: tan tan -1 31-1 32 33 2 2 32 33 v

Single Vanishing Point (Execise) ComputeCameaUsingVanishingPoint.m f = 1224; K = [f size(im,2)/2; f size(im,1)/2; 1]; m1 = [2563;25;1]; m2 = [2439;545;1]; m3 = [571;25;1]; m4 = [723;498;1]; l1 = GetLineFomTwoPoints(m1,m2); l2 = GetLineFomTwoPoints(m3,m4); v1 = GetPointFomTwoLines(l1,l2); v1 = v1/v1(3); 3 = inv(k)*v1/nom(inv(k)*v1) pitch = atan(-3(1)/nom(3(2:3))) oll = atan(3(2)/3(3)) 3 = -.736.8959.4381 pitch =.736 oll = 1.116

Two Vanishing Points Camea v Y v X

Two Vanishing Points Camea X 1 v Y v X Y 1

Two Vanishing Points Camea X 1 C v X K 1 2 3 t W X K 1 v Y v X Y 1

v Y Camea Two Vanishing Points v X X Y 1 1 C v X K 1 2 3 t W X K 1 C v Y K 1 2 3 t W Y K 2

v Y Camea Two Vanishing Points 1 X C v X K 1 2 3 t W X 3 K v X Y 1 C v Y K 1 2 3 t W Y K v K v -1-1 X 1, -1 2 K v X -1 1 K 2 3 1 2 K v Y Y : Othogonality constaint

Geometic Intepetation -1 KvX X 1

Geometic Intepetation -1 KvX X 1-1 KvY Y 1

Geometic Intepetation -1 KvX X 1-1 KvY Y 1

Geometic Intepetation K v K v -1-1 X Y -1 KvX X 1-1 KvY Y 1

Geometic Intepetation (Tanslation Ambiguity)

Geometic Intepetation (Tanslation Ambiguity)

Geometic Intepetation (Tanslation Ambiguity)

Two Vanishing Points Camea ComputeCameaUsingTwoVanishingPoints.m f = 4; K = [f size(im,2)/2; f size(im,1)/2; 1]; v Y v X l11 = GetLineFomTwoPoints(m11,m12); l12 = GetLineFomTwoPoints(m13,m14); l21 = GetLineFomTwoPoints(m21,m22); l22 = GetLineFomTwoPoints(m23,m24); v1 = GetPointFomTwoLines(l11,l12); v2 = GetPointFomTwoLines(l21,l22); 1 = inv(k)*v1/nom(inv(k)*v1); 2 = inv(k)*v2/nom(inv(k)*v2); 3 = Vec2Skew(1)*2; R =.2448 -.5178.424 -.1737 -.196 -.6978.9539.8327 -.1379 Not othogonal matix! det(r) =.577 R *R =.3299.294 -.236.294.5555 -.2327 -.236 -.2327 1.6224

Two Vanishing Points f = 1224; K = [f size(im,2)/2; f size(im,1)/2; 1]; ComputeCameaUsingTwoVanishingPoints.m Change focal length l11 = GetLineFomTwoPoints(m11,m12); l12 = GetLineFomTwoPoints(m13,m14); l21 = GetLineFomTwoPoints(m21,m22); l22 = GetLineFomTwoPoints(m23,m24); v1 = GetPointFomTwoLines(l11,l12); v2 = GetPointFomTwoLines(l21,l22); 1 = inv(k)*v1/nom(inv(k)*v1); 2 = inv(k)*v2/nom(inv(k)*v2); 3 = Vec2Skew(1)*2; Othogonal matix! R =.5846 -.8496.58 -.4149 -.3216 -.8367.6972.418 -.545 det(r) =.9948 R *R = 1.662 -.118.25 -.118.9757.285.25.285.953