← All projectsCOSC 83 / Computer vision

Image feature matching

Classical feature detection and learned matching with a Siamese network.

RANSAC-verified feature matches between two panorama images
Panorama matches retained after RANSAC homography estimation. View full size (new tab): RANSAC-verified feature matches between two panorama images

Two approaches to matching

This COSC 83 project compares a classical pipeline with a learned matcher. The classical path uses Harris corners, SIFT descriptors, Lowe's ratio test, and RANSAC homography estimation. For the learned path, a two-tower ResNet18 shares weights between landmark images and predicts whether the pair depicts the same Oxford5k landmark.

Geometric verification

On the panorama pair, RANSAC retained 411 inliers from 420 tentative matches, for a 0.98 inlier ratio. The opening visualization shows the correspondences that survived the homography check.

Learned landmark pairs

The Siamese model was trained for 50 epochs with binary cross-entropy. On 1,335 held-out Oxford5k pairs, the recorded accuracy was 98.73%, with precision 0.9921, recall 0.9640, and F1 0.9778. The saved prediction sheet includes pairs the model labeled as same or different landmarks.

Siamese-network landmark-pair predictions with images, labels, and predicted probabilities
Saved predictions from the 50-epoch Siamese model. View full size (new tab): Siamese-network landmark-pair predictions with images, labels, and predicted probabilities

Training trace

The saved loss plot records the 50-epoch training run used for the held-out evaluation. OpenCV was used for SIFT descriptor computation and image I/O in the classical portion; the matching and homography stages remain part of the assignment implementation.

Siamese network training loss across 50 epochs
Loss recorded during the 50-epoch Siamese-network run. View full size (new tab): Siamese network training loss across 50 epochs
Mithun RameshkumarDartmouth College