Domain Adaptation Plan: LIPE V2 (MPIIGaze → Gaze360)
1. Executive Summary
The goal of this plan is to bridge the "Domain Gap" between controlled laboratory data (MPIIGaze) and in-the-wild data (Gaze360). Our baseline zero-shot evaluation showed an MAE of 24.3° on Gaze360. We aim to reduce this to **< 7.0°** while maintaining a CPU-optimized inference speed of > 400 FPS.
2. Technical Strategies & Predicted Impact
| Phase | Strategy | Technical Mechanism | Predicted MAE |
|---|---|---|---|
| 0 | Baseline | Zero-shot from MPIIGaze | 24.3° |
| 1 | Domain Randomization | Resolution Dropout + Noise Augmentation | 18.5° |
| 2 | Structural Adaptation | AdaLN + Feature-Level Alignment (DANN) | 12.5° |
| 3 | Expert Guidance | Multi-Domain Knowledge Distillation | 8.5° |
| 4 | Geometry Constraints | Self-Supervised Consistency Loss | < 7.0° |
3. Detailed Implementation Roadmap
Phase 1: Data Hardening (Augmentation & Preprocessing)
- Resolution Dropout: Randomly downsample 16x16 patches to 8x8 during training to simulate camera distance. Use
cv2.INTER_CUBICto prevent upsampling artifacts. - Edge-Preserving Denoising: Integrate Bilateral Filter (
cv2.bilateralFilter) to smooth homogeneous regions and reduce grain without blurring the critical iris boundaries. - Tuned CLAHE Preprocessing: Apply CLAHE with a conservative clipLimit (1.0 - 1.2) to enhance contrast in dark regions without amplifying noise into artifacts.
- Interpolation Strategy: Force
INTER_CUBICfor all resizing to preserve the "Gaze Gradient" in low-resolution conditions. - Geometric Jitter: Add Gaussian noise to MediaPipe landmarks (±2px) to simulate tracking instability.
- Extreme Pose Augmentation: Use existing rotation logic to synthetically create head poses beyond ±20°.
Phase 2: Feature Alignment (DANN & AdaLN)
- DANN (Domain-Adversarial Neural Network):
- Implement a Gradient Reversal Layer (GRL).
- Add a Domain Classifier branch to the
fusion_mlpto detect the source dataset. - Train the backbone to produce domain-invariant features.
- AdaLN (Adaptive Layer Normalization):
- Switch standard
LayerNormto domain-aware normalization. - Store separate affine parameters ($\gamma, \beta$) for MPII and Gaze360.
- Switch standard
Phase 3: Cross-Domain Distillation
- Multi-Domain Teacher: Use L2CS-Net (Pre-trained on Gaze360) to provide soft labels for Gaze360 images.
- Hybrid Loss: Combine
Adaptive Wing Loss(Hard labels) withKL-Divergence(Teacher soft labels) across both datasets.
Phase 4: Self-Supervised Consistency
- Mirror Invariance: Enforce $Yaw(Image) = -Yaw(Flipped_Image)$.
- Equivariance Loss: If an image is rotated by $\theta$, the predicted gaze must shift by $\theta$ in the 3D spherical space.
4. Architectural Modifications (src/models/student.py)
- Add
GRL(Gradient Reversal Layer) class. - Implement
DomainClassifierhead (2-layer MLP). - Update
forward()to handledomain_labeland returndomain_logits. - Refactor
geo_mlpto includeAdaLNlogic.
5. Success Criteria
- Accuracy: MAE on Gaze360 Frontal subset < 7.0°.
- Generalization: Maintain MAE on MPIIGaze < 5.0°.
- Efficiency: Latency < 1.5ms on single-core CPU.
Created: 2026-06-04 Status: INITIALIZED