File size: 3,127 Bytes
a10ba7f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
Step 1: Pre-processing & Scale Stabilization (Executes at 30 FPS) 

Capture local eye landmark coordinates using an ultra-lightweight geometric extractor (e.g., MediaPipe Face Mesh):

$$\zeta_{t}=\{P_{inner},P_{outer},P_{pupil},P_{eyelid}\}\in R^{4\times2}$$



Apply an adaptive affine scaling matrix $\mathcal{T}_{scale}$ to normalize distance/scale variations:


$$V_{t}^{norm}=\mathcal{T}_{scale}(V_{t})$$



---

Step 2: Asynchronous Multi-rate Branch Routing 

The system splits operations based on the current frame index $t$:

CASE I: State A (Active Appearance Frame) — Triggered at $t \pmod 3 = 0$ (10 FPS) 

* 
**Landmark-Guided Patch Division:** Isolate the eye socket and extract $K=4$ sub-patches $I_{k}\in R^{8\times8\times1}$ using the localized pupil center $P_{pupil}$.


* 
**Mini Conv-Embedder:** Pass each patch through a shallow 3-layer CNN to obtain appearance tokens:



$$f_{k}^{app}=\text{Flatten}(\text{MaxPool}(\text{Conv2D}(I_{k})))\in R^{D}$$





* 
**Token-pair Feature Injection:** Project appearance and geometric markers onto a shared latent space, then concatenate into joint structural-appearance tokens:



$$T_{k}=[\mathcal{W}_{app}f_{k}^{app}||\mathcal{W}_{geo}P_{k}]$$





* 
**Fine Regressor:** Feed $T=\text{Concat}(T_{1},...,T_{K})$ into a flat MLP block to infer fine-grained gaze vectors:



$$G_{t}^{fine}=(\theta_{fine},\phi_{fine})$$






CASE II: State B (Missing Appearance Frame) — Triggered at $t \pmod 3 \neq 0$ (20 FPS) 

* 
**CPU Duty Cycle Optimization:** Power down the entire CNN inference branch and freeze memory image I/O operations.


* 
**Coarse Regressor:** Pass the normalized geometric vector $V_{t}^{norm}$ directly through an independent lightweight MLP:



$$G_{t}^{coarse}=\mathcal{M}\mathcal{L}\mathcal{P}_{coarse}(V_{t}^{norm})$$





* 
**Gaze Interpolation:** Compute the final coordinates by dynamically blending the current coarse prediction with the cached fine prediction from the last active frame:



$$G_{t}=\alpha\cdot G_{t}^{coarse}+(1-\alpha)\cdot G_{t-1}^{fine}$$






(where $\alpha \in [0, 1]$ is dynamically tuned based on eye landmark movement velocity ).



---

### Step 3: Lightweight Temporal Fusion (Post-Processing)

Pass the output vector $G_t$ through an Exponential Moving Average (EMA) or a One Dollar Filter to suppress tracking jitter and prevent spatial lag across state-switching intervals:


$$G_{smooth} = \beta \cdot G_t + (1 - \beta) \cdot G_{smooth, t-1}$$

---

## 4. Hardware and Deployment Optimization Roadmap

### A. Training & Knowledge Distillation (KD) Strategy

* **Hardware Configuration:** NVIDIA GeForce RTX 3060 Laptop GPU.
* **Framework:** PyTorch 2.x with CUDA acceleration.
* **Knowledge Distillation Pipeline:**
* **Teacher Network:** SOTA Appearance-based model (e.g., L2CS-Net with a ResNet-50 backbone) operating on high-resolution $224 \times 224$ inputs.
* **Student Network:** LIPE V2 shallow MLP architecture.
* **Mechanism:** Train LIPE V2 to replicate the soft output distributions and logit mappings of L2CS-Net, retaining deep geometric representations inside a highly compact model.