Apresenta o algoritmo clássico de ajuste de elipse por 2D Canny Edge + RANSAC para localização robusta do centro da pupila em vídeos de alta taxa de quadros em espectro infravermelho.
Passo 1: Extração de Características e Rastreamento da Pupila / Glint (P-CR)
Como Executar em Detalhes Tecnológicos:
O objetivo deste primeiro passo é capturar a imagem do olho via câmera e localizar com precisão sub-pixel o centro da pupila e o reflexo corneano (glint) criado por iluminação infravermelha próxima (NIR):
- Captura & Filtragem Inicial: Utilize uma câmera com filtro passa-alto NIR (850nm ou 940nm) para eliminar ruídos de luz visível. Converta o frame capturado para escala de cinza e aplique um filtro Gaussiano para suavizar ruídos de alta frequência.
- Detecção do Centro da Pupila (Pupil Detection): Aplique limiarização adaptativa (Adaptive Thresholding) ou algoritmo Starburst/RANSAC para isolar os pixels escuros da pupila. Ajuste uma elipse sobre os contornos válidos (Ellipse Fitting via mínimos quadrados) para estimar o centro geométrico $(x_p, y_p)$ mesmo sob oclusão parcial das pálpebras.
- Detecção dos Glints Corneanos (Glint Center): Busque os pontos de brilho intenso (picos de iluminação infravermelha) na córnea usando filtro de limiar alto e análise de componentes conectados. O centro de massa geométrico fornece a posição do glint $(x_g, y_g)$.
- Vetor P-CR (Pupil-Center Corneal Reflection): Calcule o vetor de diferença espacial $\vec{v}_{PCR} = (x_p - x_g, y_p - y_g)$. Este vetor cancela pequenos movimentos indesejados da cabeça e isola o movimento do olho.
Fornece técnica para filtrar falsas detecções de glint e pupila causadas por cílios, pálpebras e suor, aumentando a estabilidade temporal do sinal P-CR.
Apresenta algoritmo geométrico para detecção e pareamento de múltiplos glints em setups com vários LEDs infravermelhos, tratando reflexos como constelações espaciais.
Artigo teórico seminal que estabelece as equações matemáticas para estimativa geométrica do vetor P-CR sob tolerância a variações na iluminação ambiente.
Revisão abrangente catalogando técnicas de limiarização, ajuste de formato de pupila e eliminação de interferência de brilho em setups remotos e baseados em vídeo.
Passo 2: Estimação de Pose da Cabeça e Construção do Vetor do Olhar 3D
Como Executar em Detalhes Tecnológicos:
Nesta etapa, o sistema precisa determinar a orientação tridimensional da cabeça do usuário e a direção do vetor óptico do olho no espaço 3D real:
- Detecção de Pontos de Referência Faciais (Facial Landmarks): Utilize redes neurais leves (como MediaPipe Face Mesh ou PnP de 68 pontos) para extrair os pontos 2D dos cantos dos olhos, nariz e queixo a partir da imagem do rosto.
- Estimativa de Pose da Cabeça 3D (Head Pose via Perspective-n-Point): Resolva o problema PnP (ou ePNP) comparando os pontos 2D capturados com um modelo 3D genérico da cabeça humana. Isso retorna a matriz de rotação $\mathbf{R}_{head}$ e o vetor de translação $\vec{t}_{head}$ da cabeça em relação à câmera.
- Eixo Óptico e Eixo Visual (Optical to Visual Axis Transform): O eixo óptico une o centro do globo ocular ao centro da pupila. No entanto, o eixo visual (fóvea) possui um deslocamento angular ($\alpha, \beta$, tipicamente $4^\circ \text{ a } 8^\circ$). Aplique a transformação tridimensional: $\vec{g}_{3D} = \mathbf{R}_{head} \cdot \mathbf{R}_{eye}(\theta, \phi) \cdot \vec{v}_{fovea}$.
- Modelos de Deep Learning para Olhar 3D: Empregue arquiteturas baseadas em CNN + Cross-Attention (como CrossGaze) para estimar diretamente os componentes vetoriais unitários $(g_x, g_y, g_z)$ sem depender de calibração intrusiva.
Introduz representação pictórica intermediária para regredir o vetor de olhar 3D a partir de imagens simples de câmera, reduzindo o erro angular sob movimentos de cabeça.
Utiliza mecanismos de atenção cruzada fundindo características locais do olho e globais da face para predizer o vetor $3D$ $(x,y,z)$ sem necessidade de dados de profundidade adicionais.
Apresenta o framework MPIIGaze e arquitetura CNN para estimativa de vetor de olhar 3D diretamente a partir de monóculos de câmeras convencionais em condições reais de iluminação.
Detalha o modelo geométrico 3D do globo ocular e a relação trigonométrica entre rotação da pupila, raio do olho e projeção vetorial no espaço.
Modelagem matemática rigorosa para reconstrução do eixo óptico 3D usando parâmetros intrínsecos de câmeras e pose de cabeça no espaço livre.
Passo 3: Calibração Geométrica Câmera-Projetor e Matriz de Homografia
Como Executar em Detalhes Tecnológicos:
Nesta etapa, é estabelecida a correspondência espacial precisa entre o sistema de coordenadas da câmera, o projetor e a superfície física da parede:
- Modelagem do Projetor como Câmera Inversa: Tratamos o projetor como um dispositivo óptico inverso com centro de projeção e matriz intrínseca $\mathbf{K}_{proj}$.
- Projeção de Padrões Estruturados (Structured Light / Checkerboard): O projetor emite padrões de xadrez ou códigos de cinza (Gray Code) sobre a parede. A câmera captura esses padrões para estabelecer correspondências 2D-2D entre os pixels do projetor $(u_p, v_p)$ e os pixels da câmera $(u_c, v_c)$.
- Cálculo da Homografia do Plano ($\mathbf{H}_{proj\to wall}$): A relação entre os pontos na parede física e a imagem projetada é regida por uma matriz de transformação projetiva $\mathbf{H}$ de dimensão $3 \times 3$: $$\begin{bmatrix} x_w \\ y_w \\ 1 \end{bmatrix} \sim \mathbf{H} \begin{bmatrix} u_p \\ v_p \\ 1 \end{bmatrix}$$ Resolva $\mathbf{H}$ utilizando o algoritmo DLT (Direct Linear Transformation) com minimização de erro de reprojeção.
- Correção de Distorção Não-Linear: Aplique coeficientes de distorção radial e tangencial ($k_1, k_2, p_1, p_2$) tanto para a lente da câmera quanto para a lente do projetor.
Método clássico para calibração de projetor usando padrões de código de cinza e estimativa de sub-pixel com homografia local.
Mostra como calcular homografias e alinhar a projeção em tempo real sobre superfícies sem necessidade de marcadores rígidos manuais.
Análise matemática rigorosa provando a equivalência geométrica entre parametrização de câmeras e projetores em matrizes de transformação projetivas.
Apresenta método de calibração dinâmica gerando padrões de teste através da matriz de homografia estimada entre os dispositivos de entrada e saída visual.
Técnica avançada desenvolvida no Carnegie Mellon University para calibração de projetores apontando para paredes e superfícies planas sem necessidade de telas especiais.
Passo 4: Mapeamento de Coordenadas 2D e Interseção no Plano da Projeção
Como Executar em Detalhes Tecnológicos:
Com o vetor do olhar 3D e a posição do plano da parede calibrados, o quarto passo calcula o ponto exato de interseção onde o olho está focando no plano projetado:
- Interseção Raio-Plano (Ray-Plane Intersection): Defina a equação do plano da parede $P_{wall}: \vec{n} \cdot \vec{x} + d = 0$ no espaço 3D. O vetor do olhar 3D forma uma reta paramétrica: $\vec{r}(t) = \vec{p}_{olho} + t \cdot \vec{g}_{3D}$. O ponto de interseção tridimensional $\vec{x}_{inter}$ é obtido isolando $t$: $$t = -\frac{\vec{n} \cdot \vec{p}_{olho} + d}{\vec{n} \cdot \vec{g}_{3D}}$$
- Transformação para Coordenadas de Tela 2D (Px X, Px Y): Converta o ponto 3D na parede $\vec{x}_{inter}$ para o sistema de coordenadas 2D do projetor através da matriz de homografia inversa $\mathbf{H}^{-1}$: $$\begin{bmatrix} x_{pixel} \\ y_{pixel} \\ 1 \end{bmatrix} = \mathbf{H}^{-1} \begin{bmatrix} x_{inter} \\ y_{inter} \\ 1 \end{bmatrix}$$
- Calibração Polinomial de Mapeamento (Polynomial Gaze Mapping): Aplique transformação polinomial de 2ª ou 3ª ordem para corrigir pequenos erros sistemáticos de refração ou curvatura da córnea: $$x' = a_0 + a_1 x + a_2 y + a_3 x y + a_4 x^2 + a_5 y^2$$
Demonstra como usar transformações de homografia para mapear diretamente dados de vetores do olho para coordenadas numéricas de tela mantendo invariância espacial.
Análise detalhada sobre correção de erros de mapeamento de olhar na tela e minimização de deslocamento por calibração de mínimos quadrados.
Formulações matemáticas para interseção do eixo visual em superfícies de exibição remotas sob deslocamento tridimensional da cabeça do usuário.
Validação empírica das equações polinomiais de mapeamento de olhar 2D e cálculo de precisão angular em pixels de exibição.
Modelagem do processo de projeção e mapeamento de coordenadas oculares em telas e paredes de grande formato.
Passo 5: Integração do Pipeline Híbrido em Tempo Real e Otimização
Como Executar em Detalhes Tecnológicos:
O último passo consolida todos os módulos em um loop de execução assíncrono de baixa latência (< 16ms / 60 FPS):
- Arquitetura Multithread (Web Workers / Pipeline Concorrente): Separe a captura de imagem da câmera (Thread 1 - 60 FPS), o processamento de visão computacional / inferência da neural net (Thread 2) e a renderização do feedback visual na projeção (Thread 3 / WebGL Canvas).
- Filtragem Temporal (Filtro de Kalman / One Euro Filter): Aplique filtro de Kalman adaptativo para suavizar o tremor de fixação ocular (jitter) sem introduzir atraso perceptível durante sacadas rápidas. O One Euro Filter ajusta a frequência de corte dinamicamente de acordo com a velocidade do movimento dos olhos.
- Classificação de Eventos Oculares (Fixações vs. Sacadas): Implemente o algoritmo I-VT (Velocity-Threshold Identification) ou I-DT (Dispersion-Threshold) para distinguir quando o usuário está fixando o olhar em um ponto da parede (> 100ms) ou realizando uma transição rápida.
- Renderização sem Latência na Projeção: Utilize chamadas `requestAnimationFrame()` em JavaScript puro para atualizar a posição do cursor/ponto de olhar na parede em sincronia com a taxa de atualização do projetor.
Estrutura clássica para otimização de pipeline multithread e calibração dinâmica para garantir rastreamento contínuo em tempo real sem interrupções.
Técnicas de otimização de buffers de frames e redução de latência no processamento de eventos visuais em sistemas interativos de tempo real.
Estratégias de aceleração computacional e uso de filtros temporais para estimação contínua de olhar com taxa de atualização de 60 Hz.
Mapeamento dos requisitos de tempo de resposta, algoritmos de suavização de sacadas e estabilidade em ambientes reais.
Implementação prática de pipeline sem latência em arquiteturas de computação distribuída para controle de ponteiros em telas em tempo real.
Todos os 25 artigos listados acima foram categorizados e verificados quanto à disponibilidade de acesso direto ao texto completo (PDF). Para navegar entre os detalhes de cada um, utilize a aba "🛠️ Passos do Pipeline" ou explore as seções abaixo correspondentes a cada um dos 5 passos do projeto.