Image Registration Series

Aligning drifted semiconductor inspection images back to a golden reference – classical methods (phase correlation, ECC, SIFT+RANSAC) vs. deep learning (a from-scratch affine CNN, LoFTR deep feature matching, a VoxelMorph-style deformable network), scored against a synthetic ground-truth benchmark, plus which methods are actually licensed for company use.
series
computer-vision
image-registration
deep-learning
semiconductor
Author

Hasan Goni

Published

September 2, 2026

Modified

September 2, 2026

0.1 Series Overview

A wafer stage vibrates. A die heats up a few microns off its nominal position between one inspection frame and the next. A part gets re-fixtured slightly rotated. None of that is a defect – it’s just the image having moved – but every downstream step (die-to-die comparison, overlay metrology, a defect detector trained on a fixed coordinate frame) assumes the image hasn’t moved. Image registration is the fix: finding the transform that maps a drifted image back onto a reference frame so the two line up pixel-for-pixel again.

This series builds a small, fully-controlled synthetic benchmark – a golden “die image” plus two known-drift scenarios (pure rigid/affine stage drift, and affine drift plus a smooth local elastic warp standing in for thermal drift) – specifically so every method below can be scored against ground truth in pixels, not eyeballed from an overlay. Every method runs on the same pair, with real code, so the comparison is apples-to-apples. Same ethos as the rest of this blog: real code, real captured numbers, honest limitations reported alongside anything that works – including a phase-correlation failure mode that turned out to be a genuinely useful lesson about periodic industrial patterns.

The last post in the series is the one that prompted the whole series: which of these methods are actually licensed for company (not just research) use – because a permissive code license and a permissive pretrained-weights license are two different questions, and popular papers (SuperGlue/SuperPoint) are a real trap here.

0.1.1 Posts in this series

  1. Part 1 – The Benchmark and Classical Methods. Builds the synthetic die-image benchmark with known ground-truth drift, then runs phase correlation, ECC, and SIFT+RANSAC against it – including an honest, explained failure: phase correlation gets confused by the image’s own periodic grid pattern.
  2. Part 2 – Deep Learning: Affine Regression and Deep Feature Matching. A from-scratch CNN trained unsupervised to regress an affine transform, and LoFTR (a transformer-based deep feature matcher) as the commercially-licensed alternative to SuperGlue/SuperPoint – with a genuinely surprising result about which one actually wins.
  3. Part 3 – Deep Learning: Deformable Registration. A from-scratch VoxelMorph-style network (U-Net + spatial transformer, trained unsupervised on a similarity + smoothness loss) – the only method in the series that can actually correct the non-rigid “thermal drift” scenario, since every affine-only method above hits a hard floor there by construction.
  4. Part 4 – Head-to-Head, Licensing, and the Recommendation. Every method’s measured accuracy side by side, a license table (code license and pretrained- weights license, checked separately), and a concrete recommendation for semiconductor inspection work.

Reuse

Citation

BibTeX citation:
@online{goni2026,
  author = {Goni, Hasan},
  title = {Image {Registration} {Series}},
  date = {2026-09-02},
  langid = {en}
}
For attribution, please cite this work as:
Goni, Hasan. 2026. “Image Registration Series.” September 2.
Free email course · 7 days

Industrial Vision Foundations

AI can write the code, but someone still has to know which method fits a real inspection line. One short lesson a day for 7 days on the classical computer vision techniques that still run production systems.

Runnable code in every lesson. No spam, unsubscribe any time.

Questions, corrections or feedback?

Found a mistake, or want a topic covered next? Leave a comment below (sign in with GitHub), or write to hasanme1412@gmail.com. I read everything.