English

Towards Real-world Lens Active Alignment with Unlabeled Data via Domain Adaptation

Computer Vision and Pattern Recognition 2026-01-09 v2 Image and Video Processing Optics

Abstract

Active Alignment (AA) is a key technology for the large-scale automated assembly of high-precision optical systems. Compared with labor-intensive per-model on-device calibration, a digital-twin pipeline built on optical simulation offers a substantial advantage in generating large-scale labeled data. However, complex imaging conditions induce a domain gap between simulation and real-world images, limiting the generalization of simulation-trained models. To address this, we propose augmenting a simulation baseline with minimal unlabeled real-world images captured at random misalignment positions, mitigating the gap from a domain adaptation perspective. We introduce Domain Adaptive Active Alignment (DA3), which utilizes an autoregressive domain transformation generator and an adversarial-based feature alignment strategy to distill real-world domain information via self-supervised learning. This enables the extraction of domain-invariant image degradation features to facilitate robust misalignment prediction. Experiments on two lens types reveal that DA3 improves accuracy by 46% over a purely simulation pipeline. Notably, it approaches the performance achieved with precisely labeled real-world data collected on 3 lens samples, while reducing on-device data collection time by 98.7%. The results demonstrate that domain adaptation effectively endows simulation-trained models with robust real-world performance, validating the digital-twin pipeline as a practical solution to significantly enhance the efficiency of large-scale optical assembly.

Keywords

Cite

@article{arxiv.2601.03718,
  title  = {Towards Real-world Lens Active Alignment with Unlabeled Data via Domain Adaptation},
  author = {Wenyong Li and Qi Jiang and Weijian Hu and Kailun Yang and Zhanjun Zhang and Wenjun Tian and Kaiwei Wang and Jian Bai},
  journal= {arXiv preprint arXiv:2601.03718},
  year   = {2026}
}