Source
Reconstructed from memory by students after the first exam, plus hints from a fellow student. Nothing here is official. Where the memory is uncertain, it says so.
TL;DR
- 100 points. Task 1: 20 multiple-choice questions over all lectures.
- Task 2: calculations with the pinhole model (Lectures 1-2).
- Task 3: transfer: point cloud → mesh with a signed distance field, training vs. inference.
- Task 4: NeRF vs. 3D Gaussian Splatting: formulas given, explain every symbol, compare.
- Last task: TRELLIS, structured vs. unstructured latents.
- Some tasks were forgotten, probably from Lectures 3-6 and 9-10. The exam was normalized; the best score was 80/100.
flowchart LR A["1 · Multiple choice<br/>20 P · all lectures"] --> B["2 · Calculations<br/>pinhole, L1-2"] B --> C["3 · Point cloud → mesh<br/>SDF, L5-6, L9"] C --> D["4 · NeRF vs. 3DGS<br/>L7-8"] D --> E["? · forgotten tasks<br/>L3-6, L9-10"] E --> F["last · TRELLIS latents<br/>L11"]
Task 1: Multiple Choice (20 points)
- 20 questions with 4 options each, 1 point per question: one fifth of the exam.
- Spread over all topics. Some are surface level, some go deep into concepts.
- Format includes statements to mark as true or false.
Typical true/false pairs from the slides
- “In a pinhole camera, everything is in focus.” True. “In a lens camera, everything is in focus.” False, only one object plane is sharp. See Pinhole vs. lens.
- ” in the extrinsic matrix is the camera position in world coordinates.” False, . See Extrinsics.
- “The columns of are the camera axes in world coordinates.” False for , true for .
- “Quaternions have no singularities and interpolate well.” True. Euler angles suffer from gimbal lock. See Which representation?.
- ” has 5 and has 7 degrees of freedom, both have rank 2.” True.
- “A shared per-point MLP makes PointNet permutation invariant.” False, the max pooling does. See PointNet.
- “Like DDPM, the DDIM reverse process is Markovian.” False, each DDIM step depends on the predicted , which is what allows far fewer steps. See DDIM.
Good sources for MC practice: the Self-Test section at the end of every lecture and the “trap” callouts.
Task 2: Calculations (Lectures 1-2)
Lecture 2.1, slide 11
What was asked:
- Pinhole model . Two people of different height, a camera with a given focal length at a given distance: how far must the camera move back so both appear equally tall?
- The same formula rearranged: , , given → compute .
- A third part with an matrix where each entry had 4 numbers. Probably depth and the principal point offset . Details forgotten; this reading is a guess.
What you need
Equal image height ⇔ equal ratio ; cancels.
Worked examples of exactly this type: Lecture 2.1, Worked Examples.
Trap
- Convert all lengths to the same unit first.
- are camera coordinates. If the task gives only “object at 4 m”, assume the camera is the origin, and write that assumption down.
- is the object height in but the sensor size in . See Notation.
Task 3: Point Cloud → Mesh (transfer task)
A museum has a point cloud of a statue with 200 points and wants a mesh.
- Draw the pipeline using a signed distance field (SDF).
- Say explicitly what happens at training time and at inference time.
- Two extra sub-questions (remembered with less certainty):
- the difference between a point cloud and a point map
- why an SDF cannot be computed directly on raw data without labels, and how to do it anyway
The minimal answer point cloud → SDF → marching cubes → mesh got 4 of 6 points (graded generously).
Answer outline
Training (on a dataset of many watertight shapes): sample a sparse input point cloud and query points with their ground-truth SDF values from each GT mesh → encoder (e.g. IF-Net: voxelize + 3D CNN) → local features → decoder predicts → loss against the GT SDF, update encoder and decoder.
Inference (the museum statue): 200 points → encoder once → query the decoder on a dense 3D grid → marching cubes on the zero level set → mesh.
Point cloud vs. point map: a point cloud is an unordered set of 3D points without connectivity. A point map is a dense, pixel-aligned image of 3D points: one point per pixel, all in one camera frame, convertible to depth.
SDF without labels: the sign needs inside/outside, and raw points have no volume. Workarounds: an unsigned distance field (NDF), or estimate normals and run Poisson surface reconstruction to get an indicator function.
Study:
- Lecture 6.1, the full exam task with pipeline diagram
- Lecture 5, the classical tools · Marching cubes · Poisson reconstruction
- Occupancy, UDF, SDF · NDF
- Lecture 9, Point maps
- Concepts: Signed Distance Function, Marching Cubes, Point Cloud, Point Map
Task 4: NeRF vs. 3D Gaussian Splatting
Both rendering formulas were given.
- Explain every symbol: volume density, / opacity, color, transmittance, Gaussian, …
- Compare NeRF and 3DGS: what they have in common and how they differ.
Doable if both models are understood.
The given formulas
Answer outline
Same: both are alpha compositing front to back: color × opacity × transmittance, summed. Both are differentiable and trained from posed images with a photometric loss.
Different:
- Representation: NeRF is implicit (the scene is in MLP weights); 3DGS is explicit (millions of Gaussians).
- : NeRF computes it from density and step size; 3DGS learns an opacity and multiplies it by the projected 2D Gaussian.
- Elements: samples along a ray vs. Gaussians sorted by depth.
- Color: MLP of position and view direction vs. spherical harmonics.
- Rendering: ray marching with many MLP queries vs. tile-based rasterization: real time.
- Editing: hard vs. easy. High frequencies: positional encoding vs. small Gaussians.
Study:
- Lecture 7, comparison table · Transmittance · Worked example
- Lecture 8, image formation · Covariance
- Symbol table: Notation, Neural Rendering
- Concepts: Volume Rendering, Gaussian Splatting
Forgotten Tasks
There were more tasks that nobody remembered. With 100 points in total, 20 for MC, the calculations and three remembered tasks, there is a gap. Probably from Lectures 3-6 and 9-10: SfM, stereo, rotations, surfaces, point cloud learning, learning-based reconstruction, diffusion.
The hints below point to what they might have been.
Last Task: TRELLIS and Latents (Lecture 11)
- TRELLIS, Structured 3D Latents (Xiang et al., CVPR 2025)
- The difference between structured and unstructured latents
- When to use which, and their advantages
Answer outline
One global latent loses fine detail, so shapes are encoded as many latent vectors.
- Structured (TRELLIS / SLAT): latents on a sparse voxel grid, one feature per active voxel (voxels that intersect the surface). The grid holds the coarse geometry, the features hold the details. Spatially aligned → interpolation, locality, local editing; one latent decodes to 3DGS, radiance field and mesh.
- Unstructured (3DShape2VecSet, Hunyuan3D 2.0): a set of latent vectors, the structure is encoded in the features. Compact, transformer friendly, currently dominant for generation. Query points read the shape by cross-attention.
Study: Structured vs. unstructured latents · TRELLIS · 3DShape2VecSet · Flow Matching
Hints for the Resit
Hints from a fellow student, close to the original wording:
| Hint | What it means | Study |
|---|---|---|
| ”SfM → basic pipeline” | features → matching → relative pose (8-point + RANSAC) → triangulation → incremental registration → bundle adjustment | Pipeline, Incremental SfM |
| ”Epipolar stuff → understand derivations” | derive from coplanarity, then ; why SVD and why a second SVD in the 8-point algorithm | Derivation, 8-point, Rank 2 |
| ”Pinhole camera, lecture 2 slide 11: the stuff we should be most familiar with” | by similar triangles, in both directions | Slide 11, Worked examples |
| ”Diffusion: slides 33 and 35 of lecture 10. Reconstruct the algorithm, reason about the equations, remember them” | the DDPM mean with , and algorithms 1 (training) and 2 (sampling), line by line | Slide 33, Slide 35, Worked example |
| ”Contrasting flow matching vs. diffusion” | ODE vs. SDE, velocity regression vs. noise prediction, fewer sampling steps, equivalent up to reparameterization for a Gaussian source | FM vs. diffusion |
| ”Put together pieces, with diffusion, to reconstruct depth and the back part of a scene” | combine monocular depth or point maps (visible part) with multi-view diffusion or a 3D generative model (hidden part) | Transfer sketch, Zero-1-to-3 |
Practice: a single photo of a room is given. Reconstruct the full 3D scene, including the parts behind the furniture. Which methods from the course would you combine, and what does each one contribute?
Answer outline
Visible geometry: monocular depth (Depth Anything) or DUSt3R with the image paired with itself → point map. Hidden parts are ill-posed, so they must be generated: multi-view diffusion (Zero-1-to-3, conditioned on the relative pose ) for novel views, then reconstruct from all views (3DGS or DUSt3R). Keep the views consistent with an explicit 3D representation in the loop (Gen-3Diffusion) or use SDS to optimize one 3D model. Alternatively: an image-conditioned 3D generator (TRELLIS, Hunyuan3D) for single objects.
Exam Tactics
- The biggest loss of points was not reading the task carefully. Every task is a block of text with about 3 hidden sub-questions, some with sub-sub-questions.
- Bring a highlighter. Mark every sub-question in the text, number them, tick them off.
- Write down your assumptions and the meaning of your symbols.
- Practice the calculations of Lectures 1-2 beforehand.
- Understand each topic intuitively: the transfer tasks reward combining pieces, not reciting slides.
- For pipeline questions: boxes and arrows, and at every box say which representation is there (points, SDF grid, mesh, …). Separate training and inference.