Skip to content

About

A reading path for computer vision engineering, from photon to production. Primary sources in dependency order, evidence-graded claims, and a runnable benchmark per section.

Topics

Resources

Contributing

Stars

11 stars

Watchers

1 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Vision Engineering

Links Quality Entries Benchmarks License

Shipping a vision system means knowing what a pixel measured, what a metric counted, and which number in a paper will survive contact with a camera. This is the reading that gets there, from a photon hitting a sensor to a model running in production, in the order that makes the next piece legible.

Scope. Image formation through deployment: sensors and optics, classical geometry, data and evaluation, the architectures and training that sit on them, the task families built from them, and what breaks in production. Not robotics control, not graphics for its own sake, and not general machine learning without a vision consequence.

Evidence. Primary sources only: the paper, the specification, the official model card, the repository, or the documentation of whoever maintains the tool. Every number behind an entry carries all the fields set out in What earns a place, or it is not used, and misc/notes/changelog.md counts what was checked and what was turned away.

Proof. Every section ends in a benchmark under misc/benchmarks/: the source, the pinned environment, the machine, the raw numbers and the analysis, all committed. Run them.

Section 1 is a path through the rest. Read it top to bottom before using the numbered sections as a reference. The rules the list is built to are in misc/notes/conventions.md.

Contents

1. Start here: the minimum mental model

Each entry assumes only the ones before it, so the order is the instruction.

  1. Recovering High Dynamic Range Radiance Maps from Photographs - Why a stored pixel value says nothing about radiance until the camera's response curve is known.
  2. Camera Calibration and 3D Reconstruction - Which distortion terms a calibration routine solves for, and so which lens errors it leaves in.
  3. A Pixel Is Not A Little Square - Why treating a sample as a little square breaks every resampling and alignment step after it.
  4. A guide to convolution arithmetic for deep learning - Why a padding or stride choice moves where each output value sits on the input grid.
  5. ImageNet Large Scale Visual Recognition Challenge - Where the task definition and the scoring rule behind a top-one accuracy figure are written down.
  6. ImageNet Classification with Deep Convolutional Neural Networks - What a convolution stack trained end to end on a labelled benchmark learns in place of designed features.
  7. Understanding deep learning requires rethinking generalization - Why fitting the training labels and generalising to new images are separate events.
  8. Are we done with ImageNet? - What the single label per image assumption hides when a picture holds several objects.
  9. MLPerf Inference Benchmark - Why a latency figure needs a scenario, a tail percentile and a timer boundary before it can be compared.
  10. Hidden Technical Debt in Machine Learning Systems - Where the costs that arrive after a model ships are named, from entangled features to unseen consumers.

Reproduce it: misc/benchmarks/01-transfer-function-pixels, one scene encoded through two transfer curves becomes two different arrays.

2. Image formation: optics, sensors, the ISP, colour, noise

Optics and projection

Sensors and noise

Colour

  • Fast Fourier Color Constancy - Why white balance is an estimate of the illuminant with an error of its own, not a fixed gain.
  • CSS Color Module Level 4 - Where the piecewise sRGB curve and its conversions to other spaces are kept in a maintained standard.
  • ITU-R BT.709 - Which primaries and camera encoding curve an unlabelled video frame is assumed to use.
  • ITU-R BT.2100 - Which transfer functions a high dynamic range signal may carry, and the display each one assumes.
  • ICC Specifications - How a colour space travels between two pipelines that agree on pixels and disagree on colour.

The image signal processor

Reproduce it: misc/benchmarks/02-signal-dependent-noise, noise that grows with the signal, and a denoiser tuned at one exposure failing at the others.

3. Classical foundations: filtering, features, multi-view geometry

Sampling and filtering

Features and correspondence

Calibration and two-view geometry

Estimation and bundle adjustment

  • Random Sample Consensus - Where fitting a model by rejecting most of the data is first stated as a method.
  • Locally Optimized RANSAC - Where the leading hypothesis is refined by local optimisation inside the sampling loop.
  • MAGSAC++ - How a robust estimator scores a model when the inlier threshold is marginalised away.
  • Bundle Adjustment - A Modern Synthesis - Where the cost, the sparse normal equations and the gauge freedom are set out together.
  • Ceres Solver - Which linear solver and robust loss a bundle adjustment needs before it runs on real data.

Reproduce it: misc/benchmarks/03-gaussian-against-box-blur, a box blur inverting contrast at frequencies where a Gaussian stays positive.

4. Datasets, labels and splits: where ground truth comes from and how it lies

The datasets that set the terms

  • The PASCAL Visual Object Classes (VOC) Challenge - Where the annotation guidelines and the difficult flag that later benchmarks inherited are written down.
  • Microsoft COCO - What counts as one instance, and when a region is marked as crowd and not labelled.
  • LVIS - Why a long-tail vocabulary is labelled federated, with each image checked for only some categories.

Annotation and label noise

Splits, leakage and duplication

Documentation and audit

Reproduce it: misc/benchmarks/04-near-duplicate-leakage, the same classifier scored under a random split and a group split.

5. Evaluation: IoU, mAP, protocols, and the ways a metric misleads

These protocols are different metrics that share a name, and a score produced under one says nothing about a score produced under another.

What the detection metrics compute

Protocols and reporting

Segmentation and dense metrics

How a metric misleads

Reproduce it: misc/benchmarks/05-average-precision-protocols, one set of detections scored under four published average precision protocols.

6. Convolutional architectures

Foundations

Depth, residuals and width

Efficient convolutional designs

  • MobileNets - Where the cost of a depthwise separable layer is derived and the width and resolution multipliers are defined.
  • Xception - How the multi-branch block of the Inception family reduces to depthwise separable convolution.
  • MobileNetV2 - Why an inverted bottleneck keeps activation memory inside a mobile budget.

Recipes against architectures

  • Bag of Tricks for Image Classification - Where the recipe changes usually credited to architecture are ablated one at a time.
  • EfficientNet - Where compound scaling is proposed alongside a baseline recipe that changed at the same time.
  • ResNet strikes back - Why a published baseline accuracy reports its training recipe as much as its architecture.

Reproduce it: misc/benchmarks/06-padding-stride-geometry, tensor shapes that match the formula while the feature moves.

7. Attention, vision transformers and hybrids

Most comparisons in this section use unequal pretraining data or compute, so the order of entries is a reading order and not a ranking.

Attention

Vision transformers

Data and recipes

Hierarchies and hybrids

Reproduce it: misc/benchmarks/07-attention-against-convolution-scaling, attention and convolution cost fitted over a token count sweep.

8. Training: objectives, augmentation, schedules, regularisation

Objectives

Augmentation

  • mixup - Why a training target can be a blend of two labels.
  • CutMix - Why a pasted region is wasted unless the label is mixed in proportion to its area.
  • AutoAugment - Where augmentation becomes a policy searched for each dataset.
  • RandAugment - Whether a policy search buys anything that a single strength setting cannot.
  • Fixing the train-test resolution discrepancy - Why random-resized crops make the right test resolution differ from the training crop size.

Schedules and optimisation

Regularisation and normalisation

Reproduce it: misc/benchmarks/08-augmentation-label-geometry, three ways of handling a box label under five augmentations.

9. Self-supervised learning and vision foundation models

Frozen feature accuracies in this section come from different probe protocols and cannot be compared across entries.

Contrastive learning

Self-distillation and masked modelling

Vision foundation models and weights

  • DINOv2 - Where the scaling work moves from the objective to the curation of the pretraining corpus.
  • Model Card for DINOv2 - Which checkpoints carry registers, and which probe produced each frozen feature number.
  • Model Card for DINOv3 - Where the licence terms stop being permissive and the satellite-trained weights are listed apart.

Evaluating representations

Reproduce it: misc/benchmarks/09-linear-probe-against-nearest-neighbour, two probes ranking the same representations in opposite orders.

10. Detection and segmentation

Most latency figures in this section leave preprocessing and non-maximum suppression outside the timer, so they compare neither with each other nor with a deployed system.

Detector families

  • Faster R-CNN - Where proposals move inside the network and anchors become the assignment rule.
  • SSD - How a single pass predicts boxes from default anchors on several feature maps at once.
  • Feature Pyramid Networks for Object Detection - Why a box of a given size is assigned to one pyramid level and not another.
  • YOLOv3 - How a grid-based single-stage detector predicts boxes at three scales from one network.
  • Cascade R-CNN - Why a detector trained at one overlap threshold degrades when scored at a higher one.

Set prediction and anchor-free designs

Segmentation

  • U-Net - Why skip connections between encoder and decoder decide how sharp a mask boundary is.
  • Mask R-CNN - Why rounding a pooled region to the feature grid misaligns its mask, and what exact-coordinate sampling changes.
  • Segment Anything - Why one click returns several candidate masks with no class attached, and how they are ranked.

Postprocessing and what ships

  • NonMaxSuppression - Where a runtime keeps a box exactly at the overlap threshold, and which box formats it accepts.
  • Soft-NMS - Why a neighbouring object disappears at one overlap threshold and survives at another.
  • Detectron2 - Where the postprocessing defaults behind several published numbers can be read as code.
  • YOLOv10 - Where duplicate removal is trained into the network and not left to a separate postprocessing step.

Reproduce it: misc/benchmarks/10-nms-threshold-operating-point, the suppression threshold moving the operating point, and what suppression costs.

11. Video: temporal modelling and tracking

Video datasets and their protocols

Temporal modelling

Tracking metrics

Tracking

Reproduce it: misc/benchmarks/11-per-frame-against-identity, per-frame accuracy rising while identity consistency falls.

12. 3D: depth, stereo, SfM, SLAM, radiance fields and splatting

Depth and stereo

Structure from motion

Simultaneous localisation and mapping

Radiance fields and splatting

  • NeRF - Where view synthesis becomes a volume rendering problem fitted one scene at a time.
  • Instant Neural Graphics Primitives - How a multiresolution hash table moves an input encoding's work from network weights into lookups.
  • 3D Gaussian Splatting - What replaces marching along rays when a scene is a set of rasterised primitives and not a field.

Reproduce it: misc/benchmarks/12-depth-error-against-distance, depth error growing with distance under a fixed disparity error.

13. Generative vision: diffusion, editing, control

Distributional scores in this section depend on the feature network, the sample count and the resize, and a small gap between two of them is not a result.

What the scores measure

  • GANs Trained by a Two Time-Scale Update Rule - Where the Fréchet Inception Distance that generative results are quoted in is defined.
  • Rethinking FID - What the feature network and the sample count contribute to the number before the images do.
  • GenEval - How prompt adherence is scored object by object, which a distributional score cannot see.

Diffusion and its samplers

Latent and text-conditioned systems

Control and editing

Reproduce it: misc/benchmarks/13-distributional-metric-sensitivity, a distributional distance moving under changes a viewer cannot see.

14. Vision-language models

Contrastive image-text pretraining

  • CLIP - Where classification by text prompt is defined, and what it needs from the caption corpus.
  • Sigmoid Loss for Language Image Pre-Training - Why a pairwise sigmoid loss frees the batch size from carrying the whole negative set.
  • LAION-5B - Which filtering steps decided what an openly released corpus kept, and what they let through.
  • DataComp - What changes when the training recipe is frozen and only the data is allowed to move.

Generative vision-language models

  • BLIP-2 - What a learned query bottleneck does when the image encoder and the language model both stay frozen.
  • LLaVA - Where the instruction data for a conversational image model is synthesised by a text-only model.
  • Prismatic VLMs - What happens when the connector, the encoder and the data are varied one at a time.

Open weights and model cards

  • Model Card: CLIP - What the people who trained an image-text model say it was not built to do.
  • OpenCLIP - Why an overlap audit between a benchmark and a corpus needs checkpoints whose corpus is named.
  • Molmo and PixMo - Where training captions are collected from spoken descriptions and not distilled from a closed model.
  • Llama 3.2-Vision - Why a stated knowledge cutoff is the field an evaluation date has to be checked against.

Benchmarks and contamination

  • MMBench - Where answer options are rotated across repeated queries so a model scores only when it agrees with itself.
  • MMMU - Why a multimodal exam score depends on an answer extraction rule that quoted numbers leave out.
  • POPE - How object hallucination is measured with yes or no questions about objects that are absent.
  • MMStar - How much of a multimodal score survives when the image is removed from the input.
  • VLMEvalKit - Where the prompt template and answer extraction behind a reported score live.

Reproduce it: misc/benchmarks/14-contamination-audit, a contamination audit that needs no access to the model.

15. Efficiency and deployment: quantisation, distillation, compilers, edge, NPU

Speedups in this section are tied to their own hardware, batch size and timer boundary, and a speedup from one setting says nothing about another.

Quantisation

Distillation, pruning and sparsity

Compilers and runtimes

  • Open Neural Network Exchange Intermediate Representation - Which side is wrong when one graph runs differently on two runtimes that both claim to follow it.
  • Quantize ONNX Models - How a shipping runtime's post-training pass picks calibration, formats and per-channel scales.
  • TVM - Why a graph compiler searches schedules for each shape and does not call one vendor library.
  • ExecuTorch - Where ahead-of-time export and backend delegation replace a Python process as the deployment unit.

Edge, accelerators and measurement

  • XNNPACK - Which operators and instruction sets a CPU inference library covers, the list a runtime's fallback depends on.
  • MLComputeUnits - Why a Core ML latency figure is unreadable until the compute units the model may use are named.
  • Apple Neural Engine Transformers - Which tensor layouts and operator choices a neural engine accepts before a transformer runs on it.
  • LoadGen - Where the timer boundary around each query is fixed in code.

Reproduce it: misc/benchmarks/15-int8-quantisation-accuracy-and-latency, integer quantisation accuracy and latency by layer shape.

16. Robustness and failure modes: distribution shift, adversarial, bias, safety

A score on a corruption suite measures the suite as much as the model, so no score in this section transfers to another suite.

Distribution shift

Corruptions and synthetic perturbation

Adversarial robustness

Bias, calibration and safety

Reproduce it: misc/benchmarks/16-corruption-tuning-transfer, a pipeline tuned on one corruption, scored on corruptions held out from tuning.

Watchlist

Everything below is real but unproven: no item yet has all three of a specification or paper, a shipped implementation, and a public measurement stating every field. Each line says what would promote it. Last checked 2026-10-21.

Images, geometry and convolutional designs

  • Deep Joint Demosaicking and Denoising - Demosaicing and denoising posed as one learned problem, with no maintained implementation. Enters the core when a maintained implementation is measured against a sequential pipeline.
  • LoFTR - Detector-free matching whose pose result has been produced only by its authors. Enters the core when an outside group reruns the released configuration and checkpoint and publishes the pose result.
  • ShuffleNet V2 - Design rules derived from measured latency with the precision, warmup and timer boundary unstated. Enters the core when that latency is republished with precision, framework flags, warmup and the timer boundary.
  • Searching for MobileNetV3 - A searched mobile family whose on-device latency headline comes without a timer boundary. Enters the core when that latency is published with batch size, warmup and the timer boundary.

Attention and self-supervision

  • Stand-Alone Self-Attention in Vision Models - A backbone with no convolution left, measured only by its authors. Enters the core when released weights let another group reproduce the comparison at the stated budget.
  • Early Convolutions Help Transformers See Better - A stability finding about the patch stem with no released weights behind it. Enters the core when weights for the compared stems are released with the hardware stated.
  • CoAtNet - Convolution stacked under attention across growing corpora, with no official code or weights. Enters the core when the authors release weights for the models trained on public data.
  • Scalable Pre-training of Large Autoregressive Image Models - Autoregressive pretraining on a corpus nobody else holds. Enters the core when it is compared with contrastive and masked baselines at equal data and compute.
  • DINOv3 - A finding that dense features decay over long schedules, measured only on the authors' largest private run. Enters the core when the decay is measured on a released checkpoint with the dense protocol stated.

Tasks and generative systems

  • Mask2Former - One mask classification design claimed to serve semantic, instance and panoptic tasks alike. Enters the core when every task's result is published with its checkpoint, protocol and hardware.
  • DreamBooth - Subject-driven fine-tuning whose evaluation data is public and whose implementation is not. Enters the core when the authors release the training code behind the comparison.
  • FLUX - Open weights from a family with no paper, no specification and no public measurement. Enters the core when a paper or specification and a measurement stating every field are published.
  • Flamingo - A frozen language model taught to read images, with no released weights or code. Enters the core when weights or an implementation are released with the evaluation protocol.
  • Improved Baselines with Visual Instruction Tuning - Ablations that credit gains to the connector and the recipe, with checkpoints only for the final models. Enters the core when checkpoints for the ablation rows are released.

What earns a place

An entry is admitted only when every one of these holds, and the burden of proof sits with the entry.

  • It is a primary source: the original paper, the authors' own repository, an official model card or weight page, framework or compiler documentation, a dataset paper or official dataset page, or a standard.
  • Its URL resolves to the live canonical copy, never a mirror, an aggregator or a rehost.
  • Its line says why a reader would open it, in under one hundred and twenty characters, with no number, no author name and no praise.
  • Any number it rests on carries every evidence field in the tables below. A missing field sends it to the watchlist or out, and it is not softened into a caveat.
  • It sits in dependency order inside its subsection, and the subsection holds three to six entries. A seventh displaces one, and the pull request names which.
  • It enters the core only when a specification or paper, a shipped implementation and a public measurement stating every field all exist at once. Otherwise it waits on the watchlist with the condition that would promote it.
  • Each source appears once in the list.

An accuracy claim carries eight fields:

Accuracy claim
1 model and exact checkpoint
2 dataset, split and version
3 input resolution and preprocessing
4 metric with its full definition
5 protocol, single-scale or test-time augmentation, NMS settings
6 training data used
7 hardware
8 baseline compared against

A speed claim carries seven:

Speed claim
1 hardware and count
2 precision
3 batch size
4 input resolution
5 framework and version, with compile flags
6 warmup and the statistic reported
7 whether preprocessing and postprocessing are inside the timer

Every URL points at the live canonical copy, and misc/scripts/check_links.py and misc/scripts/check_format.py prove it on every push and again weekly.

CONTRIBUTING.md has the rules in full.

License

MIT. Maintained by @usamahz.

About

A reading path for computer vision engineering, from photon to production. Primary sources in dependency order, evidence-graded claims, and a runnable benchmark per section.

Topics

Resources

Contributing

Stars

11 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages