Camera Intrinsics
- Também chamado: intrinsic parameters, intrinsic matrix
- Categoria: Foundations & spatial maths › Frames & transforms
- Tags: camera-calibration, computer-vision, projective-geometry, sensors, 3d-perception
Os parâmetros internos de uma câmera, distâncias focais, ponto principal e distorção da lente, que mapeiam pontos 3D no referencial da câmera para coordenadas de pixel.
Definição
Parâmetros intrínsecos da câmera (camera intrinsics) são os parâmetros que descrevem como uma câmera transforma a luz vinda de pontos 3D no seu próprio sistema de coordenadas em posições de pixel. No modelo pinhole, eles são reunidos em uma matriz K de 3×3, que contém as distâncias focais fx e fy expressas em pixels, o ponto principal (cx, cy) onde o eixo óptico encontra a imagem e, às vezes, um termo de cisalhamento (skew) que é zero em quase todos os sensores modernos. Um ponto (X, Y, Z) no referencial da câmera se projeta no pixel u = fx·X/Z + cx e v = fy·Y/Z + cy. Lentes reais acrescentam distorção, normalmente modelada com coeficientes radiais e tangenciais no modelo de Brown-Conrady, ou com modelos olho de peixe específicos para lentes grande-angulares.
Os parâmetros intrínsecos são estimados por calibração. O método comum, introduzido por Zhang (2000), fotografa um alvo plano, como um tabuleiro de xadrez, de muitas orientações e resolve K e os coeficientes de distorção minimizando o erro de reprojeção; as ferramentas de calibração de câmera do OpenCV, do MATLAB e do ROS seguem todas essa abordagem. As calibrações de fábrica armazenadas em câmeras de profundidade costumam ser boas o suficiente para uso direto, mas devem ser lidas do dispositivo, não chutadas. Os parâmetros intrínsecos mudam com a resolução, o recorte, o zoom e às vezes o foco, então uma calibração só vale para o modo de imagem em que foi feita.
Os parâmetros intrínsecos diferem dos extrínsecos, que descrevem onde a câmera está em relação ao robô ou ao mundo. Juntos, eles dão a projeção completa de pontos do mundo para pixels. Robôs usam parâmetros intrínsecos em toda parte: para retroprojetar pixels de profundidade em nuvens de pontos, recuperar a pose de objetos a partir de pontos-chave da imagem com Perspective-n-Point, remover a distorção das imagens antes da correspondência de características e renderizar imagens sintéticas de treinamento que correspondam a uma câmera real. Manter os parâmetros intrínsecos fora de um modelo aprendido, e aplicá-los depois em uma etapa geométrica, permite que a mesma rede funcione com uma câmera diferente.
Por que importa
Qualquer medição que ligue pixels à geometria do mundo real depende dos parâmetros intrínsecos. Erros neles distorcem nuvens de pontos, enviesam estimativas de pose e quebram a correspondência entre imagens simuladas e reais, então parâmetros intrínsecos corretos são um pré-requisito para a maior parte da visão robótica.
Principais aplicações
- Retroprojeção de imagens de profundidade em nuvens de pontos
- Estimativa de pose de objetos e da câmera com PnP
- Remoção da distorção de imagens antes do rastreamento de características e da odometria visual
- Renderização de dados sintéticos de treinamento que correspondam a uma câmera real
- Retificação estéreo e estimativa de profundidade
Na prática
Uma equipe troca a câmera RGB-D do seu sistema de preensão por outra com resolução diferente. O detector de pontos-chave produz coordenadas de pixel, e a pose é recuperada com PnP usando a matriz da câmera. Em vez de retreinar, a equipe lê os parâmetros intrínsecos da nova câmera a partir do driver para a resolução exata do fluxo em uso, passa as imagens sem distorção ao detector e atualiza K na etapa de PnP. Uma verificação rápida reprojeta na imagem o modelo 3D de um objeto conhecido na pose estimada; as bordas se alinham com diferença de um ou dois pixels, o que confirma que os parâmetros estão certos. Quando depois reduzem as imagens pela metade para ganhar velocidade, também dividem fx, fy, cx e cy pela metade.
Equívocos comuns
- A distância focal em K é a distância focal da lente em milímetros — ela é expressa em pixels e depende do tamanho do pixel do sensor e da resolução da imagem
- Os parâmetros intrínsecos continuam os mesmos quando as imagens são redimensionadas ou recortadas — o redimensionamento muda as distâncias focais e o ponto principal, e o recorte desloca o ponto principal
- O ponto principal é sempre o centro exato da imagem — normalmente fica perto, mas pode estar deslocado vários pixels ou mais
- A distorção da lente pode ser ignorada em robótica — ela importa mais perto das bordas da imagem e em lentes grande-angulares, onde erros não corrigidos podem ser grandes
Quem deve saber
- Engenheiros de visão e percepção robótica
- Desenvolvedores que usam câmeras RGB-D para manipulação
- Pesquisadores que geram dados sintéticos de treinamento
- Estudantes de robótica que aprendem geometria projetiva
Tecnologias relacionadas
- OpenCV calibrateCamera
- ROS camera_calibration
- Modelo de câmera pinhole (Pinhole Camera Model)
- Modelo de distorção de Brown-Conrady (Brown-Conrady Distortion Model)
- Modelo olho de peixe de Kannala-Brandt (Kannala-Brandt Fisheye Model)
Termos relacionados
Projetos relacionados
- pySLAM: Hybrid Python/C++ visual SLAM pipeline with classic and deep-learning front-ends
- AprilTag: The standard visual fiducial marker system for robot localization and pose estimation
- MRPT: Comprehensive C++ toolkit for mobile robotics, SLAM, and sensor-based navigation
- Gazebo: Industry-standard open-source robotics simulator with multi-physics and ROS integration
- PULP-Dronet: Visual navigation for nano-drones with CNN inference onboard a PULP processor.
- OpenWeedLocator: Low-cost Raspberry Pi weed detector that uses computer vision for precision spot spraying
Vídeos
- Intrinsic and Extrinsic Matrices | Camera Calibration: First Principles of Computer Vision
- Linear Camera Model | Camera Calibration: First Principles of Computer Vision