All key formulas of the course on one page, in course order. Every block links to the section where it is derived and explained. Symbols are listed in Notation .
The formulas marked β were asked in the exam or named in the exam hints: the pinhole projection, the epipolar constraint, the 8-point algorithm, the NeRF and 3DGS rendering formulas, and the DDPM training and sampling algorithms. See Exam Structure .
β Pinhole projection β Basic perspective projection
x = f Z X β y = f Z Y β
X , Y , Z are camera coordinates. Image size is inversely proportional to depth.
Gaussian lens formula β Derivation
s o β 1 β + s i β 1 β = f 1 β
Field of view β Changing the focal length
FOV = 2 arctan ( 2 f h β ) ( h = sensorΒ size )
World to camera (extrinsics) β External parameters as R, T
P C β = R ( P W β β C ) = R P W β + T , T = β R C , C = β R T T
Camera to pixel (intrinsics) β Perspective projection matrix
u = s x β f β Z X β + o x β v = s y β f β Z Y β + o y β M in t β = β f / s x β 0 0 β 0 f / s y β 0 β o x β o y β 1 β 0 0 0 β β
Full projection β Summary: forward projection
u ~ = M in t β M e x t β P ~ W β , P = K [ R β£ t ] β R 3 Γ 4
Scaled orthographic projection β Orthographic projection
x s β = [ s 0 β 0 s β 0 0 β ] x c β
Rotations (Lecture 2.2)
Rotation group β Rotation matrix drawbacks
SO ( 3 ) = { R β R 3 Γ 3 β£ R R T = I , det ( R ) = 1 }
Euler angles β Euler angles
R ( Ξ± , Ξ² , Ξ³ ) = R x β ( Ξ± ) R y β ( Ξ² ) R z β ( Ξ³ )
Quaternion from axis and angle, rotation of a vector β Quaternions
q w β = cos 2 ΞΈ β , v = sin 2 ΞΈ β Ο , a β² = q β a Λ β q Λ β
SLERP β Interpolation
Slerp ( q 0 β , q 1 β , t ) = q 0 β ( q 0 β 1 β q 1 β ) t
Hat operator and Rodrigues formula β Exponential map
Ο ^ = β 0 Ο 3 β β Ο 2 β β β Ο 3 β 0 Ο 1 β β Ο 2 β β Ο 1 β 0 β β , exp ( ΞΈ Ο ^ ) = I + Ο ^ sin ΞΈ + Ο ^ 2 ( 1 β cos ΞΈ )
Kinematic chain (product of exponentials) β Kinematic chains
G s b β ( Ξ ) = e ΞΎ ^ β 1 β ΞΈ 1 β e ΞΎ ^ β 2 β ΞΈ 2 β β― e ΞΎ ^ β n β ΞΈ n β G s b β ( 0 )
Classical Reconstruction (Lecture 3)
SfM problem β The SfM problem
u ij β = P i β X j β , P i β = K i β [ R i β β£ t i β ] (onlyΒ u ij β Β isΒ known)
Linear triangulation β Linear triangulation
β y P 3 T β β P 2 T β P 1 T β β x P 3 T β y β² P 3 β² T β β P 2 β² T β P 1 β² T β β x β² P 3 β² T β β β X = 0 (SVD,Β smallestΒ singularΒ vector)
β Epipolar constraint, essential and fundamental matrix β Derivation , Fundamental matrix
x 0 T β E x 1 β = 0 , E = [ t ] Γ β R u 0 T β F u 1 β = 0 , F = K 0 β T β E K 1 β 1 β
E : rank 2, 5 DoF. F : rank 2, 7 DoF (9 entries, minus scale, minus det F = 0 ). Epipolar lines l ~ 0 β = E x 1 β , l ~ 1 β = E T x 0 β .
Pose from E β Recovering the relative pose
E = U diag ( 1 , 1 , 0 ) V T : t = Β± u 3 β , R = U W V T Β orΒ U W T V T , W = β 0 1 0 β β 1 0 0 β 0 0 1 β β
Four combinations; the one with the points in front of both cameras is correct.
β 8-point algorithm β The 8-point algorithm , Problem: rank
β₯ f β₯ = 1 min β β₯ W f β₯ 2 2 β β f = lastΒ columnΒ ofΒ V F = U diag ( Ο 1 β , Ο 2 β , 0 ) V T (secondΒ SVD,Β rankΒ 2)
Normalized 8-point β Normalization
x Λ i β = T i β x i β , F = T 0 T β F Λ T 1 β
RANSAC iterations β RANSAC , worked example
N β₯ log ( 1 β ( 1 β e ) s ) log ( 1 β p ) β
Bundle adjustment β Bundle adjustment
X , P min β i , j β β w i , j β β₯ u i , j β β Ο ( P i β , X j β ) β₯ 2 2 β
Rotation and translation averaging (global SfM) β Global SfM
R ^ min β β R ij β β R ^ j β R ^ i T β β t ^ min β β t ij β β β₯ t ^ i β β t ^ j β β₯ t ^ i β β t ^ j β β β
Stereo and Depth (Lecture 4)
Essential matrix after rectification β Image rectification
R = I , t = ( T , 0 , 0 ) , E = β 0 0 0 β 0 0 T β 0 β T 0 β β
Depth from disparity β Disparity and depth
z = d f b β
Similarity metrics β Similarity metrics
SAD = β β£ I L β β I R β β£ SSD = β ( I L β β I R β ) 2 NCC = β ( I L β β I Λ L β ) 2 β ( I R β β I Λ R β ) 2 β β ( I L β β I Λ L β ) ( I R β β I Λ R β ) β
Cost volumes β MVSNet
GC-Net:Β H Γ W Γ D ma x β Γ 2 F MVSNet:Β H Γ W Γ D Γ F (varianceΒ overΒ views)
Scale-invariant loss (monocular depth) β Scale ambiguity
L ( y , y ^ β ) = i β β β₯ log y i β β log y ^ β i β + Ξ± ( y , y ^ β ) β₯ 2 , Ξ± ( y , y ^ β ) = n 1 β i β β ( log y ^ β i β β log y i β )
Surface Reconstruction (Lecture 5)
Distance field, normal, closest point β Distance field
f ( p ) = q β S min β β₯ p β q β₯ , n ( p ) = β f ( p ) , q = p β f ( p ) β f ( p )
Poisson surface reconstruction β Poisson surface reconstruction
V ( x ) = i β β F ( x , x i β ) n i β , f = arg g min β β« B β β₯ V ( x ) β β g ( x ) β₯ 2 2 β d x βΊ Ξ f = β β
V
Screened PSR adds Ξ± β i β g ( p i β ) 2 .
Dual contouring QEF β Dual contouring
E [ x ] = i β β ( n i β β
( x β p i β ) ) 2
Mesh normal β Polygon meshes
n = ( p 2 β β p 1 β ) Γ ( p 3 β β p 1 β )
Procrustes alignment β Procrustes solution
Y Λ T X Λ = U Ξ£ V T , R = U V T , s = β₯ X Λ β₯ F 2 β tr ( Ξ£ ) β , t = y Λ β β s R x Λ
ICP alternation β The ICP algorithm
x i j + 1 β = arg x β X min β β₯ f j ( x ) β y i β β₯ 2 , f j + 1 = arg f min β i β β β₯ f ( x i j + 1 β ) β y i β β₯ 2
Neural Fields and Point Clouds (Lectures 6.1, 6.2)
Occupancy, UDF, SDF β What is a field?
occ ( p ) β { 0 , 1 } UDF ( p ) = dist ( p , S ) SDF ( p ) = Β± dist ( p , S )
The sign convention for inside differs between sources (see Signed Distance Function ).
Voxel grid interpolation β Voxel grids
f ( p ) = c i β β β f ( c i β ) k ( p , c i β )
IF-Nets and NDF β IF-Nets , NDF
f ( F 1 β ( p ) , β¦ , F n β ( p )) β¦ [ 0 , 1 ] (IF-Net) f ( β¦ ) β¦ R + (NDF)
PointNet β PointNet , T-Nets
f ( g ( h ( x 1 β ) , β¦ , h ( x n β )) ) , g = max , h , f = MLPs , L re g β = β₯ I β A A T β₯ F 2 β
Attention and Point Transformer β Attention , Point Transformer
y = j β β softmax ( d k β β q T k j β β ) v j β y i β = j β kNN ( i ) β β softmax ( Ξ³ ( q i β β k j β + Ξ΄ ) ) β ( v j β + Ξ΄ )
Neural Radiance Fields (Lecture 7)
Radiance field β Novel view synthesis
F ΞΈ β : ( x , y , z , ΞΈ , Ο ) βΌ ( r , g , b , Ο )
β Volume rendering (continuous) β Transmittance
C ( r ) = β« t n β t f β β T ( t ) Ο ( r ( t )) c ( r ( t ) , d ) d t , T ( t ) = exp ( β β« t n β t β Ο ( r ( s )) d s ) , r ( t ) = o + t d
β Volume rendering (discrete, NeRF) β Volume rendering in NeRF
C ^ ( r ) = i = 1 β N β T i β Ξ± i β c i β , Ξ± i β = 1 β exp ( β Ο i β Ξ΄ i β ) , T i β = j = 1 β i β 1 β ( 1 β Ξ± j β ) = exp ( β j = 1 β i β 1 β Ο j β Ξ΄ j β ) , Ξ΄ i β = t i + 1 β β t i β
NeRF loss β Training
L = r β β β C ^ ( r ) β C ( r ) β 2 2 β
Positional encoding β Positional encoding
Ξ³ ( p ) = ( sin ( 2 0 Ο p ) , cos ( 2 0 Ο p ) , β¦ , sin ( 2 L β 1 Ο p ) , cos ( 2 L β 1 Ο p ) )
3D Gaussian Splatting (Lecture 8)
β 3DGS rendering β Image formation
C = i β N β β c i β Ξ± i β j = 1 β i β 1 β ( 1 β Ξ± j β ) , Ξ± i β = o i β G i 2 D β ( x )
3D Gaussian and covariance β Parametrization , Covariance
G ( x ) = exp ( β 2 1 β ( x β ΞΌ ) T Ξ£ β 1 ( x β ΞΌ ) ) , Ξ£ = R S S T R T
Projection into 2D β Projection of the covariance
Ξ£ β² = J W Ξ£ W T J T
3DGS loss β Optimization
L = ( 1 β Ξ» ) L 1 β + Ξ» L D-SSIM β
Learning-Based Reconstruction (Lecture 9)
DUSt3R regression and confidence loss β Training objective , Confidence
β re g r β ( v , i ) = β z 1 β X i v , 1 β β z Λ 1 β X Λ i v , 1 β β , L co n f β = v β β i β D v β β C i v β β re g r β ( v , i ) β Ξ± log C i v β
Global alignment β Global alignment
Ο β = arg Ο , P , Ο min β e β E β β v β e β β i = 1 β H W β C i v , e β β₯ Ο i v β β Ο e β P e β X i v , e β β₯
Focal length from a point map β Downstream tasks
f 1 β β = arg f 1 β min β i , j β β C i , j 1 , 1 β β ( i β² , j β² ) β f 1 β X i , j , 2 1 , 1 β ( X i , j , 0 1 , 1 β , X i , j , 1 1 , 1 β ) β β
Diffusion Models (Lecture 10)
Forward process β Forward step
q ( x t β β£ x t β 1 β ) = N ( x t β ; 1 β Ξ² t β β x t β 1 β , Ξ² t β I ) , x t β = Ξ± Λ t β β x 0 β + 1 β Ξ± Λ t β β Ο΅ , Ξ± Λ t β = s = 1 β t β ( 1 β Ξ² s β )
Reverse process β Backward step
p ΞΈ β ( x t β 1 β β£ x t β ) = N ( x t β 1 β ; ΞΌ ΞΈ β ( x t β , t ) , Ο t 2 β I )
β DDPM mean (slide 33) and simple loss β DDPM
ΞΌ ΞΈ β ( x t β , t ) = Ξ± t β β 1 β ( x t β β 1 β Ξ± Λ t β β Ξ² t β β Ο΅ ΞΈ β ( x t β , t ) ) , L s im pl e β = E t , x 0 β , Ο΅ β [ β Ο΅ β Ο΅ ΞΈ β ( Ξ± Λ t β β x 0 β + 1 β Ξ± Λ t β β Ο΅ , t ) β 2 ]
β DDPM algorithms (slide 35) β Training and sampling algorithms
x 0 β βΌ q ( x 0 β ) , t βΌ Uniform ({ 1 , β¦ , T }) , Ο΅ βΌ N ( 0 , I )
gradient step on β ΞΈ β β Ο΅ β Ο΅ ΞΈ β ( Ξ± Λ t β β x 0 β + 1 β Ξ± Λ t β β Ο΅ , t ) β 2
repeat until converged
x T β βΌ N ( 0 , I )
for t = T , β¦ , 1 : z βΌ N ( 0 , I ) if t > 1 , else z = 0
x t β 1 β = Ξ± t β β 1 β ( x t β β 1 β Ξ± Λ t β β 1 β Ξ± t β β Ο΅ ΞΈ β ( x t β , t ) ) + Ο t β z
return x 0 β
DDIM β DDIM (Ξ± t β is the cumulative product here)
x t β 1 β = Ξ± t β 1 β β ( Ξ± t β β x t β β 1 β Ξ± t β β Ο΅ ΞΈ ( t ) β ( x t β ) β ) + 1 β Ξ± t β 1 β β Ο t 2 β β β
Ο΅ ΞΈ ( t ) β ( x t β ) + Ο t β Ο΅ t β
Zero-1-to-3 β Zero-1-to-3
ΞΈ min β E z βΌ E ( x ) , t , Ο΅ β β Ο΅ β Ο΅ ΞΈ β ( z t β , t , c ( x , R , T ) ) β 2 2 β
Flow Matching and 3D Generation (Lecture 11)
Flow and velocity β Flows and velocities
d t d β Ο t β ( x ) = u t β ( Ο t β ( x )) , sampling:Β solveΒ d t d β X t β = u t ΞΈ β ( X t β ) Β fromΒ t = 0 Β toΒ 1
β Flow matching training (simplest version) β Simplest version
X t β = ( 1 β t ) X 0 β + t X 1 β , E t , X 0 β , X 1 β β β u t ΞΈ β ( X t β ) β ( X 1 β β X 0 β ) β 2
FM vs. CFM β Flow matching loss
L CFM β ( ΞΈ ) = E t , X 1 β , X t β β β u t ΞΈ β ( X t β ) β u t β ( X t β β£ X 1 β ) β 2 , β ΞΈ β L FM β = β ΞΈ β L CFM β
Score distillation sampling β SDS
β ΞΈ β L S D S β = E t , Ο΅ β [ w ( t ) ( Ο΅ ^ β Ο΅ ) β ΞΈ β x β ] , x = g ( ΞΈ )