Image Matching: Local Features & Beyond  ·  CVPR 2026 Workshop
CVPR 2026 Workshop · Image Matching: Local Features & Beyond

RetailGlue: Semantic Product-Level Image Stitching
for Retail Shelf Panoramas

Arda Öztüner  •  Ayberk Çelik  •  İbrahim Şamil Yalçıner  •  Server Calap

REM People

88.4%
F1 Score (ViT-B/16)
20×
Speedup vs Dense
7×
Speedup vs Sparse
32,958
Annotated Correspondences
919
Image Pairs

Abstract

Panoramic shelf images are fundamental to retail analytics, yet constructing them remains a persistent challenge due to repetitive product patterns that confound stitching methods based on local feature matches. We propose a product-level image stitching pipeline that replaces ambiguous low-level feature matching with semantic product correspondences. A YOLOv11l detector trained on the SKU-110K dataset localizes products on individual frames, while DINOv3 embeddings serve as semantic descriptors for a fine-tuned LightGlue matcher. This detect-then-match approach elegantly avoids the detection quality degradation inherent to local feature matching pipelines. Pairwise correspondences are seamlessly extended to full panorama construction via a graph-based multi-image stitching framework that naturally partitions discontinuous sequences to maintain geometric integrity. We evaluate three DINOv3 variants, demonstrating that our semantic approach consistently outperforms baselines relying on local feature matching, with the ViT-B/16 variant achieving an end-to-end stitching F1 score of 88.4%. Furthermore, by drastically reducing the keypoint search space to semantic product instances, our pipeline achieves a remarkable 20× overall runtime speedup compared to state-of-the-art dense matchers, and a 7× speedup over sparse baselines.

Method Overview

RetailGlue inverts the conventional detect-after-stitch paradigm. Rather than applying detection to large, potentially distorted panoramas, we detect products on individual frames first and let those semantic identities drive the matching process.

Pipeline comparison
Figure 1. Comparison of image stitching pipelines. The local feature matching pipeline utilizes low-level keypoints and descriptors, whereas RetailGlue employs semantic product identities for robust and efficient alignment.
1

Product Detection

YOLOv11l trained on SKU-110K localizes products on individual frames.

2

Embedding Extraction

DINOv3 [CLS] tokens encode appearance invariant to viewpoint & lighting.

3

Product-Guided Matching

Fine-tuned LightGlue establishes correspondences using semantic descriptors.

4

Graph Construction

Pairwise matches build a weighted graph; redundant bridges are pruned.

5

Panorama Composition

Connected components yield geometrically consistent panoramas via BFS warping.

Contributions

Results

Product Matching Quality

We evaluate LightGlue fine-tuned with different DINOv3 variants against a DINOv2 baseline. DINOv3 ViT-L/16 achieves the best recall (79.4%), critical for reliable geometric alignment.

DINO Variant Desc. Dim. Precision (%) Recall (%) F1 (%)
DINOv2 ViT-S/1438469.761.565.3
DINOv3 ViT-S/1638478.271.974.9
DINOv3 ViT-B/1676879.168.473.4
DINOv3 ViT-L/16102476.879.478.1

Table 1. Product matching performance for fine-tuned LightGlue models. Bold indicates best in column.

End-to-End Stitching Quality on RemRetail100_v2

RetailGlue with DINOv3 ViT-B/16 achieves the best end-to-end F1 of 88.4%, surpassing all local feature matching baselines including the dense matcher RoMav2.

Pipeline / Matcher Dim. Acc. Prec. Rec. F1
Local feature matching pipelines (baselines)
SuperGlue25678.789.985.386.5
SuperPoint + LightGlue25680.289.586.987.8
DISK + LightGlue12873.985.982.583.3
MINIMA + LightGlue25679.890.186.687.6
RoMav2—80.390.486.988.1
SuperPoint + GlueStick25679.589.686.587.4
SuperPoint + LightGlueStick25680.290.287.087.9
RetailGlue (Ours)
DINOv2 ViT-S/14 + LightGlue38479.988.387.687.9
DINOv3 ViT-S/16 + LightGlue38479.989.487.488.1
DINOv3 ViT-B/16 + LightGlue76880.789.487.788.4
DINOv3 ViT-L/16 + LightGlue102480.289.787.488.3

Table 2. End-to-end stitching quality on RemRetail100_v2. All RetailGlue variants use the SKU-110K YOLO detector.

Runtime Comparison

Product localization and descriptor extraction are inherent prerequisites for retail analytics and add no extra overhead. The graph construction phase is the true bottleneck — and RetailGlue's semantic sparsity makes it negligible.

Sequence Method Graph Const. (s) Refinement (s) Composition (s) Total (s)
Short (4 images)
RoMav23.580.010.454.03
DISK + LightGlue4.850.030.685.56
RetailGlue (ours)0.480.010.671.16
Medium (8 images)
RoMav215.120.010.6915.82
DISK + LightGlue9.110.050.609.76
RetailGlue (ours)1.580.030.732.34
Long (13 images)
RoMav259.630.620.1860.43
DISK + LightGlue20.570.590.2021.36
RetailGlue (ours)2.340.510.183.03

Table 3. Runtime comparison (seconds). RetailGlue achieves 7× speedup over DISK+LightGlue and 20× over RoMav2 on long sequences.

Qualitative Results

Side-by-side comparisons of DISK + LightGlue (baseline) and our RetailGlue pipeline. Use the arrows to browse examples.

Multi-panorama generation via graph partitioning
Figure 2. Multi-panorama generation via graph partitioning. Given a challenging 8-frame sequence with insufficient overlap in the middle frames, our graph-based pipeline naturally divides the sequence into three geometrically consistent sub-panoramas rather than forcing a distorted global stitch.

RemRetail100_v2 Dataset

We introduce an extended retail benchmark specifically designed for image stitching evaluation. All data is publicly released on the Hugging Face Hub.

253
Sequences
1,172
Total Images
919
Image Pairs
32,958
Correspondences
35.9
Avg Matches/Pair

Ground truth correspondences were established through a semi-automatic process: initial matches were generated via brute-force matching, then manually verified and corrected using a custom annotation interface. The dataset is split 70/20/10 at the sequence level to prevent data leakage.

Downloads

The benchmark release is organized into four complementary dataset repositories on Hugging Face:

Dataset Contents Link
RemRetail100_v2 Raw shelf images for end-to-end stitching evaluation RemRetail100_v2
LightGlue · DINOv3 ViT-S/16 Images + 384-d embeddings + pair matches RetailGlue-lightglue-dinov3-vits
LightGlue · DINOv3 ViT-B/16 Images + 768-d embeddings + pair matches RetailGlue-lightglue-dinov3-vitb
LightGlue · DINOv3 ViT-L/16 Images + 1024-d embeddings + pair matches RetailGlue-lightglue-dinov3-vitl
Example image pairs from RemRetail100_v2
Figure 5. Example image pairs from RemRetail100_v2. Visualizations display overlapping shelf scenes alongside their manually verified, ground truth product matches.

BibTeX

If you find our work useful, please cite:

@inproceedings{oztuner2026retailglue,
  title     = {RetailGlue: Semantic Product-Level Image Stitching
               for Retail Shelf Panoramas},
  author    = {\"Ozt\"uner, Arda and \c{C}elik, Ayberk and
               Yal\c{c}{\i}ner, \.{I}brahim \c{S}amil and Calap, Server},
  booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision
               and Pattern Recognition Workshops (CVPRW) -- Image Matching:
               Local Features {\&} Beyond},
  year      = {2026}
}

Acknowledgements

We thank the open-source communities behind YOLOv11, DINOv3, and LightGlue. We also gratefully acknowledge the RemPeople family for their valuable support and contributions to this work, with special thanks to Rem People.