No jobs

Education

Geometry you can move

Interactive foundations for the parts of vision and robotics that everybody has sat through a lecture on and nobody feels solid about. Each concept names the specific wrong picture it is built to repair, then gives you something to drag until the right one sticks.

Topics
12
Concepts
44
Reading
~7.6 h

Projective Geometry & the Camera Model

Why a camera is a linear map, once you stop insisting on Euclidean coordinates.

  1. 01 Why homogeneous coordinates One extra number turns projection, translation and points at infinity into linear algebra. 9′
  2. 02 The pinhole model Similar triangles, one division, and the reason depth is unrecoverable from one view. 10′
  3. 03 Intrinsics: from metres to pixels K is an affine map applied after the division. Each entry is a fact about a sensor. 11′
  4. 04 Lens distortion The pinhole model is a lie about real lenses, and the correction is not invertible in closed form. 8′

The Camera Pipeline

A pixel value is not a measurement of light. It is the output of four lossy stages that each had an opinion.

  1. 01 Scene-linear and sRGB The number in the file is a perceptual code, and arithmetic on it is not arithmetic on light. 9′
  2. 02 Exposure is a decision, not a measurement A darker picture is a gain the camera chose, from a weighted average of the frame you never saw. 11′
  3. 03 Photons, electrons, and why σ is not a constant The noise is a line through variance and mean, and ISO changes its slope by shrinking the well. 12′
  4. 04 Everything that is not linear any more Tone, gamma, local contrast and sharpening run before anything you train sees the image. 11′
  5. 05 The lens moved your labels Distortion, crop, resize and compression act on the image and not on the depth map or the mask. 10′

Two-View Geometry

What a second camera adds, what it cannot add, and how well it adds it.

  1. 01 The epipolar constraint A point in one image restricts its match in the other to a line — before anything is known about depth. 11′
  2. 02 Triangulation and its uncertainty Two rays never meet. Where you say the point is, and how sure you are, both depend on the baseline. 10′
  3. 03 Recovering pose, and the scale you cannot recover Eight points give you the essential matrix; decomposing it gives four poses and no metres. 10′

Fog, Light and Exposure

Fog is three coupled changes — a veil, a different light, and a camera that fights back — and simulating only the first is why augmented fog looks wrong.

  1. 01 The Koschmieder model, honestly Four symbols, three of them physical: what β, d and the airlight are actually constrained to be. 10′
  2. 02 Airlight is an estimate A is scattered light with a path length behind it, an estimator in front of it, and a dependence on β. 11′
  3. 03 Fog is not one number Two fields with the same mean β are not the same fog, and the mean does not determine the mean transmission. 10′
  4. 04 The camera fights back Gloom is undone by the auto-exposure and paid for in noise; the veil is what the meter is trying to ignore. 12′
  5. 05 When does a machine lose the object? Meteorological visibility is one threshold. Your quantiser and your sensor impose two more, and they are shorter. 12′

Uncertainty & State Estimation

Covariances as shapes, filters as products of Gaussians, and least squares as the thing underneath both.

  1. 01 A covariance is a shape Eigenvectors are the directions; square-rooted eigenvalues are the extents. Correlation is a tilt. 8′
  2. 02 Fusing measurements The Kalman gain is a precision-weighted average, and it is visible in the geometry. 11′
  3. 03 Nonlinear least squares Gauss–Newton, damping, and robust kernels — three answers to "the linearisation was optimistic". 11′

Robot Kinematics & Dynamics

Chains of transforms, the Jacobian as a map between velocity spaces, and why inertia depends on posture.

  1. 01 Forward kinematics as composition Each joint contributes one transform. The tip pose is their product, and the product is the whole model. 8′
  2. 02 The Jacobian A linear map from joint velocities to tip velocities, whose singular values are the arm’s instantaneous capability. 11′
  3. 03 Dynamics: why control is harder than kinematics Inertia depends on configuration, and the coupling terms mean no joint moves alone. 10′

Diffusion

The forward process is trivial and closed-form. The reverse process is the entire field. Almost every confusion about diffusion is a confusion about which one you are looking at.

  1. 01 Destroying an image on purpose A fixed schedule with a closed form: no network, no simulation, and any timestep in one multiply-add. 10′
  2. 02 Learning to undo one step The network never returns an image. It supplies the one missing term of a posterior that a sampler then integrates. 12′
  3. 03 ε, x₀ or v Three exact coordinate systems for one quantity. Choosing one chooses a loss weighting across the schedule, and nothing else. 11′
  4. 04 Why 25 steps and not 1000 Training defines a loss over a thousand timesteps. Inference visits twenty-five of them, and which twenty-five is a config key with consequences. 11′

Latent Diffusion

Diffusion in pixel space is unaffordable at 512×512. The fix is not a better sampler — it is to run the whole process somewhere smaller, and to be honest about what that costs.

  1. 01 The 48× that makes it possible Not a compression trick for speed. Moving the process into a code changes what is being modelled and what can no longer be represented. 10′
  2. 02 An autoencoder that is not the point A frozen, separately trained codec. Encode then decode with no diffusion at all, and whatever is lost is lost for every sample the model will ever make. 12′
  3. 03 What a 4-channel latent is Enough spatial correspondence to be useful, and enough channel opacity to be misleading if you read it as a small image. 10′
  4. 04 The 0.18215 nobody explains A constant that exists so the noise schedule sees the variance it was designed for — and a division whose absence produces an image rather than an error. 9′

Conditional Diffusion

A generator samples a plausible image. A conditional model samples the one that matches your input. The gap between them, in this architecture, is four extra channels.

  1. 01 Cross-attention, concat, ControlNet Three mechanisms, three assumptions about where the condition lives. Spatial alignment picks one of them for you. 11′
  2. 02 Eight channels, not four Widening the first convolution is one line. What its new weights start at is a real decision with three defensible answers and one right question. 12′
  3. 03 One encoder, two decoders Not two models. One pretrained encoder whose skips are consumed twice — and in the default mode it runs twice, which is where the cost is. 11′
  4. 04 Why not just regress? A regressor returns the mean of the plausible answers. A sampler returns one of them — and for an ill-posed inverse problem those differ in a way you can name. 12′
Euler View - ML Experiment Monitor