Neste guia de início rápido, você seguirá as etapas para calibrar a distorção da lente e o deslocamento do ponto nodal, usando o plugin Camera Calibration.
Os exemplos neste guia usam uma câmera de produção, um sistema de rastreamento de câmera óptica e placas de captura Blackmagic 8k Pro para a entrada de vídeo de origem.
Pré-requisitos
Você deve ter o seguinte hardware:
- Câmera e lente (obrigatório);
- Conhecimento das distâncias focais e do comprimento focal da lente;
- Conhecimento das dimensões e resolução do sensor da câmera, incluindo qualquer impacto no tamanho da imagem, como fatores de corte;
- O sistema de codificação de lente, compatível com o Live Link (melhores práticas);
- Na ausência de um sistema de codificação de lente, você pode ler e inserir manualmente o parâmetro da lente em um assunto de Live Link virtual;
- Feed de vídeo SDI da câmera por meio de cartões de captura, como AJA ou Blackmagic (obrigatório);
- Sistema de rastreamento de câmera, compatível com o Live Link (obrigatório para a calibração de deslocamento nodal);
- O adereço de rastreamento de câmera deve ser posicionado acima da câmera de modo a ficar visível para o sistema de rastreamento de câmera (no caso de sistema óptico) com seu osso-raiz e eixo definido aproximadamente alinhados com a câmera voltada para a frente;
- O rastreamento de câmera é necessário para a calibração de deslocamento nodal, mas não necessário para a calibração de tamanho;
- Tabuleiros de xadrez impressos (obrigatório). Recomendado para ser impresso em di-bond ou cartão de isopor. Vários tamanhos podem ser necessários para calibrar para uma variedade de distâncias focais ou comprimento focal. Tabuleiros de xadrez menores permitem calibrar para distâncias focais mais próximas, e quadriculados maiores, para distâncias focais maiores. Da mesma forma para distância focal, tabuleiros de xadrez maiores serão mais úteis para lentes de ângulo mais amplo para melhorar a cobertura.
Você deve configurar o seguinte no seu projeto da Unreal Engine:
- O Plugin Camera Calibration;
- Os dados de foco e rastreamento, a íris e o zoom (FIZ) da câmera transmitidos pelo Live Link;
- Especificamente, seu nível deve ter um ator de CineCamera com os seguintes componentes adicionados:
- Um controlador de componente do Live Link que tem uma transformação e dados de rastreamento do sistema de rastreamento. Esta deve ser uma função de transformação.
- Um componente Controlador do Live Link com uma origem que fornece dados de codificação de lente. Esta deve ser uma função de câmera.
- Um componente de lente.
Alguns sistemas de rastreamento de câmera terão seus dados de codificação de lente e transformação combinados em uma função da câmera. Nesse caso, você teria apenas um único componente Controlador do Live Link e um componente de lente.
- Entrada de vídeo de origem.
- (Obrigatório) Uma configuração de fonte de mídia ou perfil de mídia para receber sua imagem da câmera SDI.
- (Opcional) Configuração de código de tempo e genlock no perfil de mídia se estiver usando um gerador de sincronização. Para definir isso, consulte Media Profile (Perfil de mídia).
- (Opcional) Timed Data Monitor para avaliar a sincronização e o código de tempo.
Crie um ativo Lens File
O ativo Lens File (arquivo de lente) é o contêiner que armazena os dados de calibração sobre uma lente, incluindo a distorção, o deslocamento nodal e a distância focal da lente. Clique duas vezes no arquivo de lente para abrir o Lens File Asset Editor (Editor de ativos de arquivo de lente), que é uma ferramenta útil para calcular esses dados. Um novo arquivo de lente precisa ser criado para cada combinação de corpo de lente para câmera.
Para criar um ativo de arquivo de lente em seu projeto, siga estes passos:
-
No Navegador de Conteúdo, clique com o botão direito para abrir o menu de contexto e clique em Miscellaneous, Lens File.
-
Dê um nome ao arquivo de lente como algo que descreva a combinação do rastreador de lente da câmera, como "CameraModel_50mm_TrackerA".
-
Atribua o arquivo de lente ao componente de lente no ator de CineCamera.
-
Clique duas vezes no ativo do arquivo de lente para abrir o Lens File Asset Editor. Isso cria atores de câmera de composição temporários no nível, que são removidos quando o editor de arquivos de lente é fechado.
-
Em Configurações da Janela de Visualização:
-
Defina Câmera como o ator de CineCamera.
-
Defina Fonte de mídia como perfil de mídia ou fonte de mídia e selecione o dispositivo de vídeo correto. Se o vídeo estiver sendo recebido corretamente, agora você poderá ver o vídeo adicionado na janela de visualização do arquivo de lente.
-
-
Em Lens Information:
-
Insira um Lens Model Name (nome do modelo da lente) e Serial Number (número de série). A convenção de nomenclatura recomendada combina o nome do corpo e a distância focal da câmera. Eles não são obrigatórios e são metadados úteis para o benefício do usuário.
-
Defina o Lens Model (modelo de lente) correto (Spherical ou Anamorphic).
-
Defina Sentor Dimensions para corresponder ao tamanho do sensor físico da sua câmera levando em consideração quaisquer fatores de corte ou outras configurações da câmera que alterem o tamanho efetivo do sensor.
-
Para lentes anamórficas, defina o Squeeze Factor (fator de compressão). Para lentes esféricas, Squeeze Factor deve ser definido como 1.0.
-
Defina a resolução da imagem e as dimensões de informações da imagem da câmera conforme apropriado.
As dimensões da imagem da câmera destinam-se a levar em conta as diferenças de taxa de proporção entre a resolução de gravação e a resolução da fonte de mídia transmitida. Se as dimensões do sensor tiverem sido definidas corretamente na etapa anterior, as dimensões da imagem da câmera podem ter sido ajustadas automaticamente pela ferramenta.
-
-
Selecione o ator de CineCamera no Organizador para abrir o painel Detalhes.
Na parte inferior do Lens File Asset Editor, você encontrará um resumo das propriedades atuais aplicadas ao arquivo de lente. A maioria das propriedades é exibida em branco ou "N/A" nesta etapa. Essas propriedades serão atualizadas conforme você continua com o processo de calibração. Depois que tudo estiver definido corretamente, você verá uma imagem adicionada do seu nível Unreal e o feed SDI, também verá o nome da CineCamera e do componente de lente, juntamente com os dados FIZ correspondentes no painel inferior.
Crie o tabuleiro de xadrez virtual
Esta etapa mostra como calcular a distorção da lente com o método comum de usar um tabuleiro de xadrez. Você pode usar um tabuleiro de xadrez impresso montado em uma superfície rígida e mantido à vista da câmera de produção ou uma imagem de tabuleiro de xadrez exibida em um tablet. Em seguida, você precisará criar um ator de tabuleiro de xadrez na UE para corresponder às propriedades do tabuleiro de xadrez físico.
Para criar um ator de tabuleiro de xadrez, siga estes passos:
-
Na barra de ferramentas principal, selecione Adicionar conteúdo e escolha **Virtual Production, Checkerboard (Produção virtual, Tabuleiro de xadrez) para adicionar um ator CameraCalibrationCheckerboard ao nível.
-
No Organizador, selecione o ator CameraCalibrationCheckerboard para abrir seu painel Detalhes. No painel Detalhes, em Calibration:
-
Defina Num Corner Rows como o número de cantos em uma das colunas do seu tabuleiro de xadrez. Neste exemplo, o número de cantos de linha é 7.
-
Defina Num Corner Columns como o número de cantos em uma das linhas do seu tabuleiro de xadrez. Neste exemplo, o número de cantos de coluna é 11.
-
Defina Square Side Length como o comprimento de um quadrado no seu tabuleiro de xadrez em centímetros (cm). Neste exemplo, cada lado quadrado tem 4,5 cm.
-
(Opcional) Defina Thickness como a espessura do tabuleiro de xadrez físico em centímetros.
-
Observe na imagem abaixo que a linha e as colunas do canto são contadas como o interior de cada um dos quadrados pretos externos:
Para o uso ideal da calibração de lente, é importante que o alinhamento do ator de tabuleiro de xadrez rastreado seja o mais preciso possível.
Você pode calcular a distorção e o deslocamento nodal da lente ao mesmo tempo se fizer uma faixa de seu tabuleiro de xadrez usando o Live Link com o mesmo sistema de rastreamento para a câmera. Isso pode ser obtido colocando-se marcadores ópticos ou um disco VIVE no tabuleiro de xadrez, conforme apropriado para seu sistema de rastreamento. Embora a calibração da lente vise compensar qualquer desalinhamento entre o tabuleiro de xadrez real e o ator do tabuleiro de xadrez rastreado, recomendamos que eles estejam pelo menos a 5 centímetros de translação e 5 graus de rotação em todos os eixos.
Para aplicar o rastreamento ao tabuleiro de xadrez na Unreal Engine, atribua o pai do ator de tabuleiro de xadrez a um ator com um componente do Live Link que recebe os dados do Live Link.
Calibrar a distorção da lente e o deslocamento nodal
Para calibrar a distorção da lente e o deslocamento nodal simultaneamente, siga estas etapas:
-
No Lens File Asset Editor, clique na aba Lens Distortion.
-
Clique em Capture settings e faça o seguinte:
-
Defina as configurações de Calibration Pattern como Checkerboard.
-
Defina Calibrator como o ator CameraCalibrationCheckerboard que você criou.
-
Habilite Is Calibrator Tracked.
-
Habilite Is Camera Tracked.
-
Habilite Show Overlay. Isso ajudará a mostrar uma indicação da cobertura da lente durante o faseamento de captura de dados.
-
-
Em Solve Settings, faça o seguinte:
- Habilite Solve Nodal Offset.
- Clique em Focal Length Guess, Set to Value e defina como você espera que a distância focal seja (por exemplo, 50 mm).
-
Posicione o tabuleiro de xadrez na frente da câmera, conforme mostrado abaixo.
-
Clique na janela de visualização para iniciar o processo de calibração e crie a primeira imagem a ser usada.
-
Mova o tabuleiro de xadrez pelo campo de visão da câmera e continue a clicar na imagem para capturar mais imagens de calibração. Certifique-se de mover a posição do tabuleiro de xadrez vezes suficientes para cobrir o campo de visão com imagens de sobreposição, em diferentes orientações e profundidades para aumentar a precisão da calibração.
Mova apenas o tabuleiro de xadrez. Não mova a câmera.
-
Ao clicar na janela de visualização e na opção de adição de imagens ao conjunto de dados, você pode querer excluir capturas incorretas (por exemplo, uma captura com desfoque de movimento). Para remover uma imagem, clique na imagem na lista e clique na tecla Delete.
Este vídeo demonstra a cobertura aproximada necessária:
-
Depois de coletar imagens de sobreposição suficientes para pelo menos cobrir o campo de visão completo, clique em Calibrate Lens.
-
Uma caixa de diálogo com uma mensagem será exibida. O erro de reprojeção indica a precisão da calibração.
-
Verifique se Distortion, Normalised Camera Intrinsics e Nodal Point Offset foram atualizados na parte inferior da janela do arquivo de lente.
A maioria das lentes terá diferentes valores de distorção em diferentes distâncias focais. Para tornar o arquivo de lente mais preciso para distorção, o processo acima deve ser repetido em diferentes distâncias de foco. Para uma calibração completa de lentes de zoom, você precisará realizar várias calibração em uma faixa de distâncias focais em uma faixa de comprimentos focais.
Confirmar resultado da calibração
Você deve notar que, após uma calibração, o tabuleiro de xadrez virtual é uma correspondência visual de elemento mais próxima na janela de visualização do arquivo da lente. No entanto, ainda mostrará uma discrepância de alinhamento visual. Isso ocorre porque, embora o desalinhamento entre o tabuleiro de xadrez real e o virtual tenha sido levado em consideração durante a calibração, o alinhamento ainda está incorreto no tabuleiro de xadrez. Agora que você tem uma lente calibrada e um deslocamento nodal, pode ajustar o alinhamento do tabuleiro de xadrez.
Para ajustar o alinhamento do tabuleiro de xadrez, siga estes passos:
-
No Lens File Asset Editor, alterne para a aba Nodal Offset.
-
Defina Nodal Offset Algo como Nodal Offset Checkerboard.
-
Defina Checkerboard como seu ator de tabuleiro de xadrez.
-
-
Clique na imagem para preencher todos os dados de canto da calibração.
-
Clique em Apply To Calibrator. Isso move o ator de tabuleiro de xadrez para a câmera para corresponder ao tabuleiro de xadrez físico.
-
Em Configurações da Janela de Visualização, defina Transparência como menor que 1 para verificar se o ator de tabuleiro de xadrez corresponde ao tabuleiro de xadrez físico na janela de visualização da câmera.
O vídeo a seguir demonstra o uso de uma transparência para sobrepor os feeds virtuais e de vídeo para validar a precisão da calibração com o tabuleiro de xadrez rastreado. Observe que, durante este exemplo, também deslocamos os dados de rastreamento para alinhar os quadros de vídeo.
Fluxo de trabalho de calibração opcional
O fluxo de trabalho a seguir pode ser usado com as etapas acima para levar em conta as diferenças no seu processo.
Como calibrar a distorção de lente sem deslocamento nodal
Esse fluxo de trabalho pode ser útil na ausência de rastreamento de câmera ou de um tabuleiro de xadrez rastreado, ou se você quiser realizar o deslocamento nodal como uma etapa separada.
Ao calibrar a distorção da lente e o deslocamento do nó, siga a etapa 1 com as seguintes adaptações:
- Defina o tipo Calibration como Distortion and Intrinsics;
- Defina Is Calibrator Tracked e Is Camera Tracked como apropriado.
Como calibrar o deslocamento nodal sem distorção de lente
Esse fluxo de trabalho pode ser útil se você já tiver calibrado a lente para distorção ou porque a lente foi recolocada no corpo da câmera ou a coroa de rastreamento da câmera foi movida.
Ao calibrar a distorção da lente e o deslocamento do nó, siga a etapa 1 com as seguintes adaptações:
- Defina o tipo Calibration como Nodal Offset.
Melhorando ou editando manualmente a calibração
É possível ajustar e editar manualmente a calibração. Isso é obtido usando a aba Lens File Panel.
Nesta aba, você encontrará um gráfico à direita e uma lista de parâmetros no canto superior esquerdo. Ajuste o foco ou o zoom da câmera do mundo real até ver uma discrepância e, em seguida, selecione o parâmetro que necessita de ajuste. Em seguida, edite o ponto no gráfico até que esteja satisfeito com o resultado. Você pode achar útil remover o painel de arquivo de lente para fazer ajustes enquanto visualiza o resultado na atualização da janela de visualização do arquivo de lente em tempo real.
Ajustar a interpolação entre os pontos também pode ajustar o resultado da calibração.
