cybermapping summary of lidar, cameras ......cybermapping summary of lidar, cameras, modeling...
TRANSCRIPT
CYBERMAPPINGSUMMARY OF LIDAR, CAMERAS,
MODELING
CYBERMAPPING LABUNIVERSITY OF TEXAS AT DALLAS
2009
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
1
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
2
Class 2 – Introduction to Model Construction
• Beam diameter vs range• What does a TIN model look like, model demonstrations• How is a TIN model described to a computer graphics
engine (Wavefront® (.obj) format)• 3D coordinate systems and Image coordinate systems• Linear transformations• Image coordinate systems• Pin hole camera model, projection of 3D to 2D• Collinearity Equations• Least Squares solution for transformation parameters• Homogeneous Transformation Matrix• Practice Work
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
3
References and Documentation
Dunn, F. and Parberry, I; 3D Math Primer for Graphics and Game Development, Wordware Publishing, Inc. 2002. ISBN 1-55622-911-9.
Mikhail, E.M., Bethel, J.S., McGlone, J.C.; Introduction to Modern Photogrammetry, John Wiley & Sons, Inc, 2001. ISBN 0-471-30924-9.
The following are located in the WEB CT folder for Class 2. Derivation of 2D Transformation Parameter.docDerivation of 3D Transformation Parameter.docDerivation of 2D3D Transformation Parameter_a.docCreating a 3D Virtual Model RevC.doc13_Pixel coordinate systems.doc
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
4
Beam Stepping Distance• Beam stepping angle is spec’d in either degrees/minutes/seconds,
in decimal degrees or in gons. There are 400 gons in a circle, just as there are 360 degrees in a circle.
• Unfortunately, the specs units are not radians (2π radians in a circle). If they were radians, a very rapid approximation of the stepping distance in meters can be made mentally. For small angles,
Stepping Distance = (angle in radians) * distancee.g. Stepping Angle = 0.00005 radians (.05 mRadians)
Stepping Distance (@800m) = 0.00005* 800 = 4 cm
1 gon = 0.9 deg 1 deg = 1.111 gon1 deg = 0.01745 radians
• Minimum specs for stepping tend to be 0.0012 => 0.004 deg0.002 deg = 0.035 mRadians = 3.5 cm at 1000 meters
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
5
Beam Divergence
• Beam Divergence – Optech Ilris 0.00974 deg (0.17 mRadian)– Riegl LMS 620i 0.004 deg (0.07 mRadian)– Riegl LPM 321 0.046 deg (0.8 mRadian)
• Beam diameter at exit ranges from a few millimeters to centimeters
• Spot diameter at distancediameter = beam at exit + divergence (radians) * distance
= 2 mm + 0.00007 radians * 500m = 3.7 cm
= 1 cm + 0.0008 radians * 500m = 41 cm
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
6
Range Measurement vs IntensityCD Reflectors Mounted on the Wall of the Student Union
Note angle of points from wall pointing toward scanner
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
7
Range Error vs Intensity
When a photo of light (visible or IR) strike a PN junction and electron-holepair is created. The electron goes toward the positive side and the holegoes toward the negative. This creates a current that can be measuredby an electronic circuit.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
8
Range Error vs Intensity
LIDAR emits a short pulse of light and measures the time for the returnsignal to reach the detector. Light travels at about 0.33 m / ns in air. Distance = ½ * time of flight * velocity of light. Enough returned energymust be received at the LIDAR detector to trigger the timing circuitry. Ifthe signal is very strong, the detector threshold will be reached faster thanif the signal is very weak. LIDAR detectors must compensate for this effect in order to provide accurate measurement of distance.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
9
Beam Size Study Using Riegl LPM
• Study compiled by Dean Tuck
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
10
Range Measurement vs Intensity
• Previously, we have manually selected control tiepoints in the 2D and 3D view modes of RiscanPro/RiProfile.
• Previously, we have manually selected control tiepoints on reflectors in finished models.
• Manually, selecting XYZ coordinates on either the raw data or a model which is created from the raw data such as is shown in theprevious slide has risk of serious range error.
• RiscanPro/RiProfile have a “Find Reflectors” option which compensates for the intensity of the returned signal.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
11
Reflection Artifact
Sinkhole Imaged with Riegl LPM-800 Daisetta, Texas
Blue Surface actually coated with oil
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
12
Reflection Artifact
Key Point: scanner has two rotation angles and range to compute location
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
13
Demonstration of Various Model Types
• Demonstration of a point cloud model
• Demonstration of an Open Scene Graph triangle model
• Demonstration of an ArcGIS ArcScene triangle model
• Demonstration of point cloud and triangle model
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
14
Delaunay triangulationFrom Wikipedia, the free encyclopedia
In mathematics, and computational geometry, a Delaunay triangulation for a set P of points in the plane is a triangulation DT(P) such that no point in P is inside the circumcircle of any triangle in DT(P). Delaunay triangulations maximize the minimum angle of all the angles of the triangles in the triangulation; they tend to avoid skinny triangles. The triangulation was invented by Boris Delaunay in 1934 [1].
Based on Delaunay's definition[1], the circumcircle of a triangle formed by three points from the original point set is empty if it does not contain vertices other than the three that define it (other points are permitted only on the very perimeter, not inside).
The Delaunay condition states that a triangle net is a Delaunaytriangulation if all the circumcircles of all the triangles in the net
are empty. This is the original definition for bidimensional spaces. It is possible to use it in tridimensional spaces by using a circumscribed sphere in place of the circumcircle.
For a set of points on the same line there is no Delaunay triangulation (in fact, the notion of triangulation is undefined forthis case).
For 4 points on the same circle (e.g., the vertices of a rectangle)the Delaunay triangulation is not unique: clearly, the two possibletriangulations that split the quadrangle into two triangles satisfy theDelaunay condition.
Generalizations are possible to metrics other than Euclidean. However in these cases a Delaunay triangulation is not guaranteed to exist or be unique.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
15
Structure of a 3D Virtual Model
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
16
Photograph Mapped to TIN ModelThe vertices in the TIN model are mapped to corresponding vertices in the photographs. TIN coordinates are at meter scale and photograph coordinates are at millimeter scale.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
17
Wavefront (.obj) Format• Two files:
– xxx.obj contains the triangle mesh description– xxx.mtl contains the photograph and lighting information
• Triangle Vertex List (XYZ) – 3D coordinate space– v x y z
• Vertex Normal List (ijk) – unit normal, average of surface normals of all triangles connected to the vertex. used for lighting control. (“vertex normal” is a convention used in graphics. strictly speaking, there can not be a “normal” or orthogonal line to a point in space)– vn i j k
• Texture Coordinates (uv) – image coordinates of the projection of the vertex onto the photograph. UV coordinate space ranges from 0 to +1.0.– vt u v
• Face (triangle) Definition – list of three vertices and their associated vertex normals and texture coordinates.f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3
• Control commands to group photos with lists of faces
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
18
Comparison of Pre- and Post-Process File Formats
Polyworks .obj output 3D PM .obj output
v X Y Z X Y Zv -18.877222 8.895758 4.299462 v -18.877222 8.895758 4.299462v -18.835718 8.839621 4.274588 v -18.835718 8.839621 4.274588v -18.813890 8.863178 4.254751 v -18.813890 8.863178 4.254751v -18.868557 8.951231 4.272544 v -18.868557 8.951231 4.272544
vn I J K I J Kvn 0.704897 0.208012 0.678123 vn 0.704897 0.208012 0.678123vn 0.702463 0.068769 0.708390 vn 0.702463 0.068769 0.708390vn 0.621970 0.182596 0.761454 vn 0.621970 0.182596 0.761454vn 0.740849 0.212389 0.637208 vn 0.740849 0.212389 0.637208
vt U Vvt 0.012703 0.562643vt 0.010797 0.562656vt 0.011298 0.559367vt 0.014315 0.561297
f v//vn v//vn v//vn f v/vt/vn v/vt/vn v/vt/vnf 1//1 2//2 3//3 f 1/ 1/1 2/ 2/2 3/ 3/3f 1//1 4//4 5//5 f 1/ 1/1 4/ 3/4 5/ 4/5f 1//1 6//6 4//4 f 1/ 2/1 6/ 5/6 4/ 3/4f 1115//1115 1114//1114 1116//1116 f 1115/11/1115 1114/12/1114 1116/1 7/1116
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
19
The ChallengeThe objective of the Draping Program is to find the correct UV coordinates in a photograph for each vertex (X,Y,Z) of every face triangle in the TIN model. The UV coordinates may be on different photographs. The vertices of triangles that abut two photographs will have UV coordinates in two photographs.
Process1. Orient each photograph (transformation parameters) to the TIN model. This will place the photograph in the same relationship to the TIN model that the camera was in when the photograph of the outcrop was taken.2. Project each vertex onto the plane which is defined by the camera sensor. If the vertex falls within the boundaries of the photograph continue processing the vertex. 3. Compute the camera coordinates for the vertex projection (Xc, Yc).4. Transform these X,Y coordinates to UV (.obj) coordinates.5. If all three vertices which make up the triangle fall within the photograph, write the data to the .obj file that is being constructed.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
20
Orientation of Photo to Model
Tiepoints in ArcMap Tiepoints in Polyworks
ArcGIS 9.x Image Coordinates 3D YXZ Coordinates
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
21
Coordinate System OrientationLeft Hand Coordinate System Right Hand Coordinate System
Camera Coordinate System Scanner Coordinate System
Left Hand Rotation Right Hand Rotation2D Counter-Clockwise rotation is thesame as RightHand rotation.
In order to convertfrom left hand to righthand coordinate system, or vice versa,multiply the valuesfor one axis by -1.We use the Z-axis. (Dunn & Parberry, p. 17)
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
22
Rotation and Terminology can be Confusing• 2D Rotations
– Holding a sheet of paper in front of you on which X and Y axes are drawn, if positive X is to your right and positive Y is up, then a rotation from the positive X axis to the positive Y axis is counter-clockwise.
– Looking toward the backside of the same sheet of paper, positive X is to your left, positive Y is up, and a rotation from the positive X axis to the positive Y axis is clockwise.
• 3D Rotations (from Dunn & Parberry, page 107)
Viewed From Positiverotation
Negative rotation
Positive rotation
Negativerotation
Negative end looking toward positive end
Counter-Clockwise
Clockwise Clockwise Counter-Clockwise
Positive endlooking towardnegative end
Clockwise Counter-Clockwise
Counter-Clockwise
Clockwise
Left-handed Coordinate System Right-handed Coordinate System
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
23
2D Transformation – The Basics
A transformation, without scaling, requires a translation of the origin of the axes of one of the coordinate systems to the origin of the other and it requires a rotation in order to align the axes of one coordinate system to those of the other. If the two coordinate systems are called black (b) and blue(bl) then the expression for transformation (counter-clockwise rotation) from black to blue is
Xbl = Xb*cos(θ) + Yb*sin(θ) + ΔXoYbl = -Xb*sin(θ) + Yb*cos(θ) + ΔYo
Linear Transformation Rotational Transformation
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
24
Counter-clockwise Rotations andClockwise Rotations
• Left Hand & Right Hand Coordinate System Positive Rotation Equations(Same as 2D Counter-clockwise rotation, looking down on the plane)
• Left Hand & Right Hand Coordinate System Negative Rotation Equations(Same as 2D Clockwise rotation, looking down on the plane)
• One can rotate the axes of one coordinate system into another or one can rotate the point. One is the inverse of the other. Most authors do not clarify which they are rotating. This creates serious confusion in the reader.
θθθθ
cos*sin*sin*cos*
YcXcYsYcXcXs+−=+=
θθθθ
cos*sin*sin*cos*
YcXcYsYcXcXs
+=−=
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
25
Matrix Algebra – Linear Transformations
• The linear transformation equations can be expressed in matrix form as below. The values in the S-coordinate system are found given the values in the C-coordinate system. ΔXo and ΔYo are the distances between the origins of the two coordinate systems. Rotation below is counter-clockwise in 2D, looking down onto the plane of rotation.
⎥⎦
⎤⎢⎣
⎡ΔΔ
+⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡
Δ++−=Δ++=
YoXo
YcXc
YsXs
YoYcXcYsXoYcXcXs
*cossinsincos
cos*sin*sin*cos*
θθθθ
θθθθ
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
26
Matrix Algebra – Linear Transformation• Solve for the C-coordinate values given the S-coordinate values
• A rotation matrix is orthogonal, therefore its inverse is the transpose of the matrix
• A matrix multiplied by its inverse results in the identity matrix
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡Δ−Δ−
⎥⎦
⎤⎢⎣
⎡ΔΔ
+⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡
YcXc
YoYsXoXs
YoXo
YcXc
YsXs
*cossinsincos
*cossinsincos
θθθθ
θθθθ
⎥⎦
⎤⎢⎣
⎡ −=⎟⎟
⎠
⎞⎜⎜⎝
⎛⎥⎦
⎤⎢⎣
⎡− θθ
θθθθθθ
cossinsincos
cossinsincos
INVERSE
⎥⎦
⎤⎢⎣
⎡1001
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
27
Matrix Algebra – Linear Transformation• The values for Xc and Yc are solved for by multiplying both sides of the
matrix equation by the inverse of the rotation matrix.
⎥⎦
⎤⎢⎣
⎡Δ−Δ−
⎥⎦
⎤⎢⎣
⎡ −=⎥
⎦
⎤⎢⎣
⎡
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡Δ−Δ−
⎥⎦
⎤⎢⎣
⎡ −
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡+−−+
=⎥⎦
⎤⎢⎣
⎡Δ−Δ−
⎥⎦
⎤⎢⎣
⎡ −
⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡ −=⎥
⎦
⎤⎢⎣
⎡Δ−Δ−
⎥⎦
⎤⎢⎣
⎡ −
YoYsXoXs
YcXc
YcXc
YoYsXoXs
YcXc
YoYsXoXs
YcXc
YoYsXoXs
θθθθ
θθθθ
θθθθθθθθθθθθθθθθ
θθθθ
θθθθ
θθθθ
θθθθ
cossinsincos
1001
cossinsincos
coscossinsinsincoscossincossinsincossinsincoscos
cossinsincos
cossinsincos
cossinsincos
cossinsincos
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
28
Positive Rotation Matrices about All Three Axes
About the X-Axis About the Y-Axis About the Z-Axis
Combined Rotation Matrix
Note: Matrix multiplication is not transitive. Once ω, Φ, and Κ are computed for a transformation that is rotated about X, then about Y, then about Z, the angles can not be used for a transformation that is first rotated about Z, then about Y, then about X. Pick a rotation order and consistently stick with it.
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
− ωωωω
cossin0sincos0
001
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −
φφ
φφ
cos0sin010
sin0cos
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−
1000cossin0sincos
κκκκ
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−=
ωωωω
φφ
φφκκκκ
cossin0sincos0
001
cos0sin010
sin0cos
1000cossin0sincos
M
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
29
3D Transformation Equation Used Here• Transformation Matrix M (multiplication of the individual rotation matrices)
• Transformation Equation Used to Derive the Collinearity Equations
• (Note that the translation values are positive. This convention was used when the programs that we use were developed. You may find that a negative value is used by others. It all works out OK if the convention is consistently used regardless of the sign chosen. When using transformation matrices from other sources, check on the sign. It may be necessary to negate the values)
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−+−−−+
=φωφωφ
κφωκωκφωκωκφκφωκωκφωκωκφ
coscoscossinsinsinsincoscossinsinsinsincoscossincoscossincossinsincossinsinsincoscoscos
M
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
Δ+Δ+Δ+
=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
ZoZYoYXoX
MZYX
222
*111
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
Δ+Δ+Δ+
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
ZoZYoYXoX
mmmmmmmmm
ZYX
222
*333231232221131211
111
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
30
Various Sources of Confusion
• Scanner (Right Hand Coordinate System) and Camera (Left Hand Coordinate System) must be reconciled in order to project model vertices into the XY plane of the camera sensor. This is done by multiplying either Z-axis by -1.
• 3D Math Primer for Graphics and Game Development by Fletcher Dunn & Ian Parberry uses a Left Hand Coordinate System. Transformationbetween coordinate system 1 and 2 is given by the following equation.
• Modern Photogrammetry by Edward Mikhail, James Bethel, & Chris McGlone uses a Right Hand Coordinate System. Transformation between coordinate system 1 and 2 is given by the following equation.
• Bottom Line: Choose a convention, be consistent, all will work out OK.
⎥⎦
⎤⎢⎣
⎡ΔΔ
+⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡YoXo
YX
YX
22
*cossinsincos
11
θθθθ
⎥⎦
⎤⎢⎣
⎡Δ−Δ−
⎥⎦
⎤⎢⎣
⎡−
=⎥⎦
⎤⎢⎣
⎡YoYXoX
YX
22
*cossinsincos
11
θθθθ
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
31
Problem with Small Differences between Large Numbers• When using UTM coordinate space it is necessary to use double
precision format for the numbers – Single precision max of 7 digits in the number– Double precision max of 15 digits in the number (16 for some systems) – UTM northing has 7 integer digits and 3 fraction digits for millimeter
measurements. e.g. 3,474,231.342 N 453,231,789 E
• Least Squares computation requires multiplying of the coordinates.3242521.324 * 4532421.956 = 1359726586002.789744Rounded to 15 significant digits 1,359,726,586,002.79
• We will lose one possibly two of the lower significant digits in our computations
• Use of translation before rotation (Xs + ΔXo) ensures that we do not lose precision in our computations.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
32
Image Coordinate Systems
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
33
UV Coordinates and Photographs
Regardless of the size of the photograph and regardless of the aspect ratio of the photograph the UV coordinates range from 0.0 to 1.0.
0,0
1.0, 1.0
0,0
1.0, 1.0
2048 x 2048
2048 x 1360
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
34
Why Use UV CoordinatesNo matter how much the image is zoomed in or out on the monitor the mapping of the vertices of a face triangle in the TIN model to the vertices of the triangle in the photograph remains the same. The pixels within the triangle defined by (v1, v2, v3) in the photograph are simply painted onto the triangle in the TIN model, regardless of how large or small the model triangle is on the monitor screen. This is handled by the graphics card.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
35
Conversion among Image Coordinate Systems• Naming Convention
XI : X in the ArcGIS 9.x coordinate systemYI : Y in the ArcGIS 9.x coordinate systemXS : X in the CCD sensor coordinate systemYS : Y in the CCD sensor coordinate systemUobj : X in Wavefront (.obj) coordinate systemVobj : Y in Wavefront (.obj) coordinate systemWPIXELS : image width in pixels (2048 in example)HPIXELS : image height in pixels (1536 in example)WMM : image width in millimeters (24 mm in example)HMM : image height in millimeters (18 mm in example)
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
36
Convert ArcGIS 9.x Coordinates to Sensor and Wavefront (.obj)Coordinates
( )( ) ( )( )
( )( ) ( )( )
( ) ( )( ) ( ) 0.11536/5.05.0/5.00.1
0.02048/5.05.0/5.0
0.91536185.02/15365.0*5.02/
0.122048245.02/20485.0*5.02/
=−+=−−=
=+−=+=
+=−+=−+=
−=−−−=−−=
PIXELSIobj
PIXELSIobj
PIXELS
MMPIXELSIS
PIXELS
MMPIXELSIS
HYV
WXUHH
HYY
WW
WXX
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
37
Convert Sensor Coordinates to ArcGIS 9.xand Wavefront (.obj) Coordinates
0.118
2/1892/
0.024
2/240.122/
5.05.02
153618
1536*0.95.02
5.05.02
20480.24
2048*0.125.02
+=+
=+
=
=+−
=+
=
+=+−+=+−=
−=−+−=−+=
MM
MMSobj
MM
MMSobj
PIXELS
MM
PIXELSSI
PIXELS
MM
PIXELSSI
HHY
V
WWX
U
HH
HYY
WW
WXX
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
38
Convert Wavefront (.obj) Coordinates to ArcGIS 9.xand Sensor Coordinates
( ) ( ) 5.05.01536*115.0*1
5.05.02048*0.05.0*
0.92
1818*0.12
*
0.1222424*0.0
2*
+=+−=+−=
−=−=−=
+=−=−=
−=−=−=
PixelsobjI
PIXELSobjI
MMMMobjS
MMMMobjS
HVY
WUX
HHVY
WWUX
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
39
Camera Basics
The Pin Hole camera is literally a box with a pin hole in it. The film is placed on the back of the box and the Object must remain motionless for seconds to minutes because the light to the film is severely limited.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
40
Camera Basics
The Pin Hole camera is literally a box with a pin hole in it. The film is placed on the back of the box and the Object must remain motionless for seconds to minutes because the light to the film is severely limited.
The modern camera uses a lens or lens system to direct the light from a large area to the focal plane. When an object is in focus, every ray from a given point on the object will converge at the same point on the Focal Plane, regardless of where it struck the lens.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
41
Camera Geometry
The camera model that is used is the “pin-hole” camera model. The laws and theorems of plane geometry apply. For similar triangles, corresponding angles are equal and the lengths of corresponding sides are proportional.
Image/Object = f/Z
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
42
Scaling Equation to Derive the Collinearity Equations• The equation relating the camera and scanner coordinates is expressed
using a scaling factor
• Divide by Z in order to eliminate the scaling coefficient
( ) ( ) ( )( )( ) ( ) ( )( )( ) ( ) ( )( )ZoZsmYoYsmXoXsmSf
ZoZsmYoYsmXoXsmSYcZoZsmYoYsmXoXsmSXc
Δ++Δ++Δ+=−Δ++Δ++Δ+=Δ++Δ++Δ+=
*33*32*31**23*22*21**13*12*11*
( ) ( ) ( )( )( ) ( ) ( )( )( ) ( ) ( )( )( ) ( ) ( )( )
( ) ( ) ( )( )( ) ( ) ( )( )( ) ( ) ( )( )
( ) ( ) ( )( )ZoZsmYoYsmXoXsmZoZsmYoYsmXoXsmfYc
ZoZsmYoYsmXoXsmZoZsmYoYsmXoXsmfXc
ZoZsmYoYsmXoXsmSZoZsmYoYsmXoXsmS
fYc
ZoZsmYoYsmXoXsmSZoZsmYoYsmXoXsmS
fXc
Δ++Δ++Δ+Δ++Δ++Δ+−
=
Δ++Δ++Δ+Δ++Δ++Δ+−
=
Δ++Δ++Δ+Δ++Δ++Δ+
=−
Δ++Δ++Δ+Δ++Δ++Δ+
=−
*33*32*31*23*22*21*
*33*32*31*13*12*11*
*33*32*31**23*22*21**33*32*31**13*12*11*
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
43
Similar Triangles to Derive the Collinearity Equations• The sides of similar triangles have the same ratios
image / f = object / Z
• Multiply both sides by f and multiply the Z-value of the scanner coordinates by -1 to orient the camera and scanner coordinate systems
• The results are the same either way. Choose the one that you understand the best.
( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )ZoZsmYoYsmXoXsm
ZoZsmYoYsmXoXsmf
YcZoZsmYoYsmXoXsmZoZsmYoYsmXoXsm
fXc
Δ++Δ++Δ+Δ++Δ++Δ+
=
Δ++Δ++Δ+Δ++Δ++Δ+
=
*33*32*31*23*22*21*33*32*31*13*12*11
( ) ( ) ( )( )( ) ( ) ( )( ) ( ) ( )( )
( ) ( ) ( )ZoZsmYoYsmXoXsmZoZsmYoYsmXoXsmfYc
ZoZsmYoYsmXoXsmZoZsmYoYsmXoXsmfXc
Δ++Δ++Δ+Δ++Δ++Δ+−
=
Δ++Δ++Δ+Δ++Δ++Δ+−
=
*33*32*31*23*22*21*
*33*32*31*13*12*11*
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
44
Collinearity Equations
The equations that are used to compute the X and Y coordinates on the camera sensor are shown below. Note that the origin is the center of the camera sensor, also called the principle point. If there is lens distortion, the principle point will not be at the physical center of the sensor, it will be offset to the side slightly.
Without Principle Point
With Principle Point
φωφω
φκφωκωκφωκω
κφκφωκωκφωκω
κφ
coscos33cossin32
sin31sinsincoscossin23sinsinsincoscos22
sincos21cossincossinsin13cossinsinsincos12
coscos11
=−=
=+=−=
−=−=+=
=
mmmmmmmmm
( ) ( ) ( )( )( ) ( ) ( )( ) ( ) ( )( )
( ) ( ) ( )ZoZsmYoYsmXoXsmZoZsmYoYsmXoXsmfYc
ZoZsmYoYsmXoXsmZoZsmYoYsmXoXsmfXc
Δ++Δ++Δ+Δ++Δ++Δ+−
=
Δ++Δ++Δ+Δ++Δ++Δ+−
=
*33*32*31*23*22*21*
*33*32*31*13*12*11*
( ) ( ) ( )( )( ) ( ) ( )( ) ( ) ( )( )
( ) ( ) ( )ZoZsmYoYsmXoXsmZoZsmYoYsmXoXsmfXpYc
ZoZsmYoYsmXoXsmZoZsmYoYsmXoXsmfXpXc
Δ++Δ++Δ+Δ++Δ++Δ+−
=−
Δ++Δ++Δ+Δ++Δ++Δ+−
=−
*33*32*31*23*22*21*
*33*32*31*13*12*11*
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
45
Computational Basics
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
46
Least Squares Computation of Transformation Parameters• Least Squares Method requires a linear equation • The Collinearity Equations are non-linear• A non-linear equation can be made locally linear using a Taylor Series
Expansion
• The least squares equation is expressed as where
(Refer to “Derivation of 2D3D Transformations” for full explanation)
• An iterative computation of the least squares solution is used to converge on the desired values. – An initial approximation for the values is necessary for the computation. – The initial approximation problem is resolved by stepping rotation angles by 30o
from 0 to 150o, 216 different starting values– Sometimes the solutions fail to converge– Maximum number of iterations = 30, – Computation stops when the change in values between iterations is < 0.1 ppb– The best answer is selected based upon lowest residuals
( ) ( ) ( ) ( )...' afaxafxf −+=
Δ= BF
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
−=
o
oc
o
oc
WV
fY
WU
fXF
*
*oBBBBBB
BBBBBBB ⎥
⎦
⎤⎢⎣
⎡=
262524232221
161514131211
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
ΔΔΔΔΔΔ
=Δ
zyxκφω
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
47
Photo to Model Transformation SolutionInput data for parameter generation - first line-------------------------------------------------------------ARI01Ga01c.JPG 50.00mm 23.6000mm 15.8000mm 3872 2592
Control point data-------------------------------------------------------------1.0 11.0578 0.7734 -42.512 -18.774 -3.992 11.0 6.7364 1.8653 -39.514 -21.622 -2.963 21.0 -0.4506 0.4337 -33.763 -25.388 -4.033 31.0 7.9174 1.2091 -32.346 -16.969 -2.900 3
Total number of solutions = 121 Number of unique solutions = 10
Residuals are in pixels1 0.4502 -0.10152 -0.7893 0.29413 0.2809 0.11023 -0.0100 0.0816
Parameter line generated"ARI01Ga01c.JPG 50.00 23.6000 15.8000 +1.744117 +2.188185 -0.137993 -0.391 +1.037 +0.190"
Mean SquaredOrdered solution set Residuals(meters)-----------------------------------------------------------------------------------------------------+1.744117 +2.188185 -0.137993 - 0.391 +1.037 +0.190 +6.000e-008-1.397476 +0.953408 +3.003599 -0.391 +1.037 +0.190 +6.000e-008-4.539068 +2.188185 -0.137993 -0.391 +1.037 +0.190 +6.000e-008+4.885710 +0.953408 -3.279586 -0.391 +1.037 +0.190 +6.000e-008+1.704709 -0.953812 +0.006704 -1.376 +0.480 -0.221 +3.004e-005-1.387548 +1.289616 -0.146295 +76.493 +37.315 +6.689 +3.098e-005+1.754045 +1.851977 +2.995298 +76.493 +37.315 +6.689 +3.098e-005+1.754045 +1.851977 -3.287887 +76.493 +37.315 +6.689 +3.098e-005-1.387548 +1.289616 +6.136890 +76.493 +37.315 +6.689 +3.098e-005-4.529140 +1.851977 +2.995298 +76.493 +37.315 +6.689 +3.098e-005
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
48
Homogeneous Transformation Matrices
Riegl Camera Mount Matrix+0.0087 +0.0040 -0.9999 -0.0085-0.0083 +0.9999 +0.0040 +0.1456+0.9999 +0.0084 -0.0087 +0.64960.0 0.0 0.0 +1.0
Riegl Camera Rotation Matrix-0.3064 -0.9516 -0.0194 0.0+0.9497 -0.3070 +0.0602 0.0-0.0632 0.0000 +0.9979 0.00.0 0.0 0.0 +1.0
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
ΔΔΔ
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
ΔΔΔ
+⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
Δ+++=Δ+++=Δ+++=
1222
1000333231232221131211
1111
222
333231232221131211
111
2*332*322*3112*232*222*2112*132*122*111
ZYX
ZommmYommmXommm
ZYX
ZoYoXo
ZYX
mmmmmmmmm
ZYX
ZoZmYmXmZYoZmYmXmYXoZmYmXmX
Expressing the transformation as a 4X4 matrix instead of as a 3X3 matrix is often used by other transformation programs, such as those that Riegl uses to color point clouds
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
49
Practice Work• Draw on a sheet of paper using a compass a 4x4 array of laser
shots assuming the following specs and setup below– Angular stepping distance = 0.002 deg– Range = 500 m– Beam size at scanner = 2 mm– Beam divergence = 0.004 deg
• Repeat the above assuming the following specs and setup– Angular stepping distance = 0.02 deg– Range = 100 m– Beam size at scanner = 1 cm– Beam divergence = 0.8 mRadian
• Range to a reflector is 500 m, reflector diameter is a CD (12 cm). Approximately how large will the reflector appear if the angularstepping distance is 0.02 deg, the beam at the scanner is 1 cm, and the beam divergence is 0.8 mRadian? If the beam strikes the reflector it will return a signal stronger than the surrounding terrain.
Carlos Aiken, PhD
4/13/2009 GEOS-5V08 Cybermapping & Close Range Photogrammetry I
50
Practice Work• Label the coordinates (ArcGIS 9.x, True UV, .obj UV, XY
in mm) for each corner and the absolute center of photo Exercise.jpg.
• Compute the True UV, .obj UV, and XY coordinates for the tiepoints in the photo Exercise2.jpg and the Exercise.dbf file from the shapefile
Carlos Aiken, PhD