flowchart TD id0(Insected all point objects) --> id1(Compute bundle adjustment) id1 --> id2(Delete reject points) id2 --> id3(Find all target) id3 --> id1
SeaGis-CAL-Guide PT/BR
Guia do Usuário SeaGis-CAL
Search Keys: ressected; bandle; object point; convergence; compute; all images.
1 Introdução
O software de calibração produzido pela SeaGIS é baseado no processo de Fotogrametria Digital Interativa Estereorestitutiva.
A Fotogrametria (Phothogrammetry) é a arte, ciência ou tecnologia de obter medições e informações precisas de objetos físicos e do meio ambiente a partir de imagens, em especial fotografias.
Seu desenvolvimento decorre do fato de que fotografias são representações distorcidas da realidade, provocadas pela curvatura da lente e da perspectiva de onde o registro foi feito, que geralmente se distanciam do plano ortografico ideal. Dessa forma, imagens registradas por câmeras não são somente influenciadas pelas caracteristicas dos objetos e da luz do ambiente, mas também das propriedades caracteristicas da câmera.
Etimologicamente, o termo vem do grego:
phōtós (φῶς) = luz
grámma (γράμμα) = registro, escrita
métron (μέτρον) = medida
Ou seja, “medida a partir do registro da luz”.
A Fotogrametria Digital é portanto um método/ técnica de extração de dados feitas a partir de fotografias digitais e softwares, que permitem, a partir dos parâmetros da câmera, calibrar e corrigir as distorções das imagens, em um processo denominado de Restituição Fotogramétrica.
Quando esse processo de restituição fotogramétrica se dá a partir de um par de imagens do mesmo objeto denomina-se Estereofotogrametria/ Estereoscopia.
Na Estereofotogrametria/ Estereoscopia utiliza-se duas câmeras para se obter duas fotos do mesmo objeto tiradas de posições ligeiramente distintas, mas com grande área de sobreposição das imagens. Com isso é possivel indendificar um conjunto de pixels homólogos.
Na Estereofotogrametria Interativa, o processo de calibração consiste basicamente em marcar e associar manualmente pontos em ambas imagens indicando ao programa o conjunto de pixels homólogos (iguais). É por isso que na Fotogrametria Interativa (strictu senso) o processo de calibração demanda um grande esforço.
2 Termos & Conceitos
Ressected: Ressecção.
Bandle adjustment: Ajuste do feixe (pacote de feixe).
Eligible image measurements: Medições de imagem elegíveis
Eligible distance measurements: Medições de distância elegíveis
3 Workflow
Complete a inserção de pontos (objetos) em todas as imagens, depois: Adjustment: Compute bundle ajustment > Delete reject points > Find target > Compute bundle ajustment> Delete reject points > Compute bundle ajustment (Final)
4 Manual CAL (pt/br)
4.1 Quick Guide
Guia Rápido
Utilize este guia para percorrer, passo a passo, o processo de calibração de um sistema de câmeras estéreo. Após capturar e transferir as imagens de um cubo de calibração, siga as etapas descritas a seguir.
Este guia pressupõe que você já possui arquivos de câmera (.CamCAL) para iniciar a calibração. Caso isso não seja verdade, consulte a página de download do software (aqui) para encontrar arquivos de câmera comumente utilizados, entre em contato conosco para obter assistência ou consulte a seção Section 4.5 para criar os arquivos necessários.
É importante iniciar com arquivos de câmera que você saiba que estão corretos.
4.1.1 Organize the data
Organize os dados
Usando o Explorador de Arquivos do Windows, crie um novo diretório (pasta) para o projeto.
Copie todos os arquivos de imagem associados à calibração para o novo diretório (nova pasta). Normalmente, serão dois arquivos de vídeo: um da câmera esquerda e outro da câmera direita.
Copie para esse diretório o arquivo de pontos do objeto (.PtsCAL) do cubo de calibração. Esse arquivo deve ser sempre uma cópia limpa do arquivo original.
Copie para esse diretório os arquivos da câmera esquerda e direita (.CamCAL). Esses arquivos geralmente são provenientes da calibração anterior mais recente.
4.1.2 Create a new project
Crie um novo projeto
No CAL, crie um novo projeto usando Project | New project. Se necessário, você será solicitado a salvar quaisquer dados não salvos associados ao projeto atual. Insira um nome para o arquivo do projeto (por exemplo, “Calibration”) e salve o arquivo do projeto no novo diretório que você acabou de criar para este projeto.
A criação de um novo projeto inicia um processo de assistente (wizard process) que solicita a configuração do restante do projeto. Basta seguir as instruções, lembrando que todos os arquivos estão localizados no mesmo diretório, e que o CAL usará, por padrão, o diretório onde o novo arquivo de projeto foi criado.
Carregue os arquivos da câmera esquerda e direita (.CamCAL), conforme solicitado.
Carregue o arquivo do cubo de calibração (.PtsCAL), conforme solicitado.
Defina o diretório de imagens conforme solicitado. O diretório de imagens é automaticamente definido como o mesmo diretório do arquivo do projeto; portanto, se todos os arquivos da calibração estiverem em um único diretório, basta verificar e clicar em OK.
Salve o novo arquivo de medições conforme solicitado. Será necessário atribuir um nome a esse arquivo (por exemplo, “Measurements”), e ele será o local onde as medições da calibração serão armazenadas.
Carregue a imagem da câmera esquerda. Normalmente, esse será o arquivo de vídeo da câmera esquerda, e ele será automaticamente adicionado à configuração da sequência de filmes (Movie sequence) da câmera esquerda. Caso existam mais arquivos de vídeo na sequência, eles podem ser adicionados nesse momento (ver Sequências de filmes). Em seguida, clique em OK.
Carregue a imagem da câmera direita. Normalmente, esse será o arquivo de vídeo da câmera direita, e ele será automaticamente adicionado à configuração da sequência de filmes da câmera direita. Caso existam mais arquivos de vídeo na sequência, eles podem ser adicionados nesse momento (ver Sequências de filmes). Em seguida, clique em OK.
A janela Current project files (Arquivos do projeto atual) será exibida. Todos os campos devem estar preenchidos, e todos os itens listados devem estar no mesmo diretório. Clique em Close dialog (Fechar diálogo).
Se houver dificuldades para chegar a esse ponto, consulte Creating new projects and data organization(), que fornece mais detalhes ou mostra como configurar o projeto manualmente.
4.1.3 Medições
Ao realizar uma calibração de câmeras estéreo, é importante que as imagens utilizadas na calibração sejam pares estéreo. Se as imagens usadas na calibração não forem pares estéreo, a segunda etapa da calibração — que determina a orientação relativa (configuração estéreo) das câmeras — irá falhar.
Ao trabalhar com imagens estáticas, carregue um par estéreo e utilize a função Lock. No caso de arquivos de vídeo, utilize o reprodutor de vídeo e/ou o avanço quadro a quadro para sincronizar os vídeos esquerdo e direito, e então utilize a função Lock nos vídeos (veja: a função Lock, avanço em vídeos e imagens estáticas, e o reprodutor de vídeo).
Repita esse procedimento para cada uma das imagens de calibração. Em geral, devem ser utilizadas 20 imagens para cada câmera (veja o Apêndice A — Orientações do cubo de calibração).
A aba Images measured na janela principal do CAL indicará quantas imagens foram medidas (ao final, esse número deve ser 40: 20 imagens da câmera esquerda e 20 da câmera direita).
4.1.4 Ajuste
Após concluir todas as medições de imagem, calcule o ajuste de feixe usando Ajuste | Calcular ajuste de feixe.
Se você receber uma mensagem de aviso sobre medições de distância excluídas ou baixa precisão relativa, ignore-a por enquanto. Se o ajuste falhar, consulte os motivos pelos quais um ajuste de feixe pode falhar. Se ainda estiver com dificuldades para obter resultados que não convergem, tente uma solução apenas com a face frontal, descrita em Ajustes com falha em um cubo de calibração SeaGIS.
Quando o ajuste for bem-sucedido, siga os passos abaixo para produzir um conjunto “limpo” de medições de imagem, sem rejeições:
i. Aceite os resultados do ajuste (usando o botão Aceitar resultados).
ii. Exclua as medições rejeitadas usando Medição | Excluir medições de ponto rejeitadas.
iii. Procure por alvos ausentes usando Medição | Encontrar alvos em todas as imagens.
iv. Calcule outro ajuste de feixe (Ajuste | Calcular ajuste de feixe) e aceite os resultados.
v. Exclua as medições rejeitadas usando Medição | Excluir medições de ponto rejeitadas.
vi. Calcule um ajuste de feixe final (Ajuste | Calcular ajuste de feixe). Neste ponto, você deverá ter um ajuste de feixe correto. Verifique o seguinte no resumo de Ajuste (uma mensagem de aviso alertará sobre possíveis problemas de medição de distância e precisão relativa). Você deverá ter zero Eligible image measurements excluídas e zero Eligible distance measurements excluídas. Medições de distância excluídas podem ser causadas por um cubo montado incorretamente, cubo danificado ou medição de locais de pontos de ressecção incorretos – este problema deve ser corrigido. Verifique se o valor de precisão relativa está de acordo com o esperado para o seu sistema de câmera e método de calibração. O CAL possui alguns avisos integrados com base em cenários típicos de calibração: geralmente melhor que 1:10.000 para uma calibração estéreo de um sistema de câmera de alta definição usando o hardware de calibração SeaGIS. Valores mais baixos podem ser causados por baixa visibilidade, imagens desfocadas, iluminação inadequada (baixo contraste do alvo), número insuficiente de pontos medidos ou cubo muito distante das câmeras. Clique em Aceitar resultados.
Observe que o ajuste do feixe precisa ter qualidade aceitável antes de prosseguir.
4.1.5 Geração de arquivos de câmera estéreo
Note, todas as operações de menu mencionadas nesta seção estão em Measurement | Stereo constraints.
Configure as restrições estéreo usando Configure stereo constraints . Nesta caixa de diálogo, geralmente basta garantir que a câmera esquerda e a câmera direita estejam selecionadas corretamente e, em seguida, clicar no botão Automatic para gerar os pares esquerda/direita. Você receberá uma mensagem de erro se houver um número diferente de imagens esquerda e direita medidas, pois o software não consegue criar pares estéreo – você precisará encontrar e corrigir a imagem esquerda/direita que não possui uma imagem direita/esquerda correspondente (consulte Configurando restrições).
Estime as restrições usando Estimating constraints (consulte Estimando restrições). Um aviso será exibido se mais de quatro pares estéreo forem excluídos (consulte os comentários na próxima etapa).
Verifique a orientação relativa usando View stereo constraints. Verifique se os resíduos de restrição são aceitáveis e se não houve muitas restrições que foram excluídas do cálculo (coluna Exclusions). Se mais de quatro restrições forem rejeitadas, verifique novamente a sincronização estéreo. Para mais detalhes, consulte Visualizando as restrições.
Gere os arquivos da câmera estéreo usando Exportar arquivos da câmera estéreo (consulte Exportando arquivos da câmera estéreo).
4.1.6 Salvando resultados
A maneira mais simples de salvar o projeto e todos os dados associados é fechar o CAL. O programa solicitará que você salve todos os dados não salvos.
4.1.7 Carregando calibrações anteriores
Calibrações anteriores podem ser carregadas clicando duas vezes em um arquivo de projeto CAL (.PrjCAL) no Explorador de Arquivos do Windows ou usando o menu CAL > Projeto | Ler do arquivo.
Se arquivos (como arquivos de câmera, arquivo de pontos do objeto ou arquivo de medição) originalmente associados ao projeto tiverem sido movidos para uma unidade e/ou pasta diferente, o projeto será corrompido e você precisará recriá-lo manualmente, localizando e carregando os arquivos necessários. Consulte Recriando um projeto de calibração a partir de dados existentes.
4.2 General
4.3 Installation details
4.4 Project files
Reading and writing to file
4.5 Cameras
Câmeras
O acesso às informações da câmera e às operações específicas da câmera é feito por meio do menu Camera.
As informações da câmera são armazenadas em um arquivo (um arquivo separado para cada câmera). Os nomes dos arquivos de câmera atuais são armazenados no arquivo do projeto e são carregados automaticamente quando o CAL é iniciado. Observe que esses arquivos de câmera possuem a extensão .CamCAL. Esses arquivos são diferentes dos arquivos de câmera estéreo (com extensão .Cam), que o CAL exporta para uso em softwares de medição estéreo, como o EventMeasure ou o StereoLib.
4.5.1 Reading and writing to file
Leitura e gravação em arquivo
As informações da câmera podem ser gravadas em um arquivo ou lidas a partir de um arquivo. Para ler ou gravar um arquivo de câmera, utilize o comando de menu Camera | Left | Read from file ou Camera | Left | Write to file. Comandos idênticos estão disponíveis para a câmera direita.
Se uma nova câmera for lida a partir de um arquivo ou salva em um arquivo com um nome diferente, essa alteração será atualizada no arquivo de projeto atual.
4.5.2 Editing camera parameters
Edição de parâmetros da câmera
Para visualizar ou editar os parâmetros de uma câmera, utilize o comando de menu Camera | Left | Edit parameters (ou Camera | Right | Edit parameters para a câmera direita). Será exibida uma janela com os seguintes itens:
Itens com um visto verde ao lado podem ser editados dando um duplo clique no item e digitando um novo valor. Os itens na coluna Units indicam as unidades do parâmetro. Os valores na coluna Precision podem ser “Fixed parameter” (parâmetro fixo) ou um valor numérico. A ausência de valor indica que o parâmetro da câmera ainda não foi estimado por um ajuste de feixe; já um valor numérico indica que o parâmetro foi estimado pelo ajuste de feixe, e esse valor corresponde à precisão do parâmetro.
Os parâmetros X Pixel size e Y Pixel size são propriedades da câmera e, em geral, podem ser encontrados no site do fabricante ou em uma ficha técnica ou folha de especificações da câmera. Frequentemente, o tamanho do pixel precisa ser derivado a partir do tamanho do sensor da câmera e do formato da imagem. Normalmente, o fabricante informa esses valores em unidades de micrômetros. Certifique-se de converter os valores para milímetros (mm) ao inseri-los como parâmetros da câmera.
Para calibrações de câmera subaquáticas utilizando uma porta plana do invólucro da câmera, o valor da distância focal em água será aproximadamente 4/3 do valor no ar (por exemplo, uma lente com distância focal de 4,8 mm no ar terá aproximadamente 6,4 mm na água). Certifique-se de considerar o efeito de quaisquer adaptadores de lente grande-angular.
Quando uma nova câmera estiver sendo calibrada (isto é, não existe um arquivo .CamCAL prévio), será necessário especificar: Image rows, Image columns, X Pixel size, Y Pixel size, e estimar a Focal length. Todos os demais parâmetros da câmera podem ser inicialmente estimados como zero, tendo seus valores determinados durante o processo de calibração.
4.5.3 Fixing camera parameters
4.6 Pictures
4.7 Images and orientations
4.8 Object points and distances
4.9 Medições
Measurement
Esta seção aborda o processo de realização de medições de pontos, bem como descreve o uso dos itens do menu Measurement.
4.9.1 Pontos de Medida
Point measurement
4.9.2 Salvando e lendo as medidas
Saving and reading measurements
4.9.3 Convertendo vídeos para JPEG
Convert movie to JPEG
4.9.4 Frames deslocados
Offset frames
4.9.5 Visualizar dados de orientação
View orientation data
4.9.6 Visualizar/ Excluir medições de imagem
View/ delete image measurement
4.9.7 Resumo das medições de imagem
Image measurement summary
4.9.8 Excluir medições da face posterior
Delete back face measurement
Ao utilizar um cubo de calibração padrão da SeaGIS, é possível usar Measurement | Delete back face measurement para remover todas as medições de imagem associadas a pontos na face posterior do cubo. Essa função é uma ferramenta útil para lidar com ajustes de feixe (bundle adjustments) que não convergem; ver Section 4.10.5.
4.9.9 Cálculo do centróide
Centroiding
4.9.10 Restrições Estereoscópicas
Esta seção aborda as opções de menu disponíveis em Measurement | Stereo constraints. Essas operações são utilizadas para configurar restrições estereoscópicas e calcular a orientação relativa de um par de câmeras estereoscópicas (a orientação relativa descreve a posição e a orientação de uma câmera em relação à outra e é necessária para realizar medições com um sistema de câmeras estereoscópicas). Essas opções são fornecidas principalmente para gerar arquivos de câmera estereoscópica (extensão .cam) para uso com PhotoMeasure, EventMeasure e StereoLib.
Em calibrações de câmeras estereoscópicas, a câmera 1 refere-se à câmera esquerda e a câmera 2 refere-se à câmera direita. O CAL mantém um sistema de numeração, em vez de utilizar os termos “Esquerda” e “Direita”, para facilitar calibrações genéricas em sistemas com mais de duas câmeras.
4.9.10.1 Configuração das restrições
Use o comando de menu Configure stereo constraints para definir as restrições. Uma janela será exibida. O principal objetivo dessa janela é permitir a definição de pares estereoscópicos de imagens esquerda e direita, a partir dos quais a orientação relativa das câmeras pode ser determinada.
Selecione a câmera esquerda (Left camera) e a câmera direita (Right camera) apropriadas usando as caixas de seleção. Na maioria dos casos, o restante da configuração pode ser realizado utilizando o botão Automatic. Ao clicar em Automatic, a lista de pareamentos será preenchida com combinações de nome do arquivo da esquerda (nº do frame, nº da câmera) e nome do arquivo da direita (nº do frame, nº da câmera). Verifique se os pareamentos representam pares estereoscópicos válidos; caso contrário, será necessário editar a lista manualmente. Observe que, em calibrações estereoscópicas padrão, a câmera 1 corresponde à câmera esquerda e a câmera 2 à câmera direita.
Para excluir um pareamento, selecione-o e clique no botão Delete. Para adicionar um pareamento manualmente, selecione um Filename da câmera esquerda (nº do frame, nº da câmera) e um Filename da câmera direita (nº do frame, nº da câmera) e clique em Add. Se algum dos dados recém-adicionados já estiver presente na lista atual de pareamentos, ele será automaticamente removido e substituído pelo novo pareamento estereoscópico.
Clique em OK para aceitar a nova configuração ou em Cancel para ignorar as alterações.
4.9.10.2 Estimar restrições
Estimate constraints
Depois que as restrições estiverem configuradas, a orientação relativa pode ser estimada. Utilize o comando de menu Estimate constraints. Uma janela será exibida mostrando a orientação relativa calculada. Os detalhes dessa janela são explicados na seção Viewing the relative orientation.
Se mais de quatro pares estereoscópicos apresentarem exclusões associadas, será exibida uma mensagem de aviso. A presença de mais de quatro pares estereoscópicos com exclusões indica possíveis problemas de sincronização estereoscópica ou, alternativamente, problemas no ajuste de feixe (ver Viewing the constraints {Section 4.9.10.3} abaixo).
4.9.10.3 Visualização das restrições
Viewing the constraints
Depois que as restrições estereoscópicas forem configuradas (ver Configuring constraints) e estimadas (ver Estimating constraints, ou estimadas durante um ajuste de feixe), a qualidade da estimativa pode ser avaliada usando o comando de menu View stereo constraints. Esse comando abre uma janela que exibe cada pareamento estereoscópico em uma linha, iniciando com o Filename da câmera esquerda e da câmera direita (número do frame, número da câmera).
As colunas seguintes apresentam os resíduos para Base, Delta omega, Left phi, Left kappa, Right phi e Right kappa. Os resíduos correspondem à diferença entre a orientação relativa de cada par estereoscópico esquerda/direita individual e a orientação relativa média calculada a partir de todos os pares estereoscópicos.
A coluna final lista quaisquer componentes que tenham sido automaticamente excluídos do cálculo da orientação relativa com base em seus resíduos (ver Stereo constraints para a definição dos limiares dessas exclusões e para saber quando esses limiares podem precisar ser ajustados). A magnitude dos resíduos das restrições estereoscópicas depende, em grande parte, da qualidade da sincronização das câmeras estereoscópicas. Se uma das restrições apresentar muitos componentes excluídos, deve-se suspeitar que a sincronização estereoscópica desse pareamento esquerda/direita esteja incorreta. Isso frequentemente ocorre devido a movimento excessivo do sistema de câmeras e/ou da estrutura de calibração, em combinação com um pequeno erro de sincronização — possivelmente inferior a um frame — ou ainda devido a um erro na seleção do par estereoscópico durante a configuração das restrições (ver Configuring constraints).
Se muitos dos pares estereoscópicos estiverem sendo excluídos e a sincronização e a configuração dos pares estiverem corretas, pode ser necessário aumentar os limiares de exclusão. Para isso, aumente os valores de Critical value for base rejection e/ou Critical value for orientation rejection em Stereo constraints, e então reestime as restrições conforme descrito em Estimating constraints. Sempre investigue a sincronização das imagens estereoscópicas e o pareamento das imagens como a principal causa das rejeições antes de ajustar esses limiares.
É impossível obter uma sincronização consistentemente perfeita em sistemas de câmeras de vídeo estereoscópicas que dependem de sincronização visual. Nesses sistemas, o erro de sincronização pode chegar, no pior caso, a meio frame. Esse erro de sincronização, em combinação com o movimento do sistema de câmeras e/ou da estrutura de calibração, inevitavelmente resultará em exclusões nas restrições estereoscópicas. Em função desse erro de sincronização, é aceitável que até quatro pares estereoscópicos apresentem exclusões.
4.9.10.4 Visualização da orientação relativa
View relative orientation
Utilize o comando de menu View relative orientation para visualizar os parâmetros atuais da orientação relativa. Uma janela será exibida. Nessa janela, a origem dos parâmetros(Parameter source) será indicada como Bundle adjustment se os parâmetros tiverem sido estimados no ajuste de feixe (ver Stereo constraints); caso contrário, será exibido Camera positions and orientations, o que significa que a orientação relativa foi derivada das posições e orientações atuais das câmeras. O número de restrições será igual ao número de restrições configuradas em Configuring constraints.
A separação da base, Base separation (X), representa a separação física entre as câmeras. Em configurações estereoscópicas típicas, Delta omega, Left kappa e Right kappa tendem a ser próximos de zero, enquanto Left phi e Right phi representam o grau de convergência interna de cada câmera (embora esses valores também fiquem próximos de zero se as câmeras não convergirem). Cada parâmetro possui uma precisão associada ao seu cálculo.
4.9.10.5 Exportando os arquivos de câmera estereoscópica
Exporting stereo camera files
Para exportar arquivos de câmera estereoscópica, as restrições estereoscópicas devem estar configuradas (ver Configuring constraints), estimadas (ver Estimating constraints, ou estimadas durante um ajuste de feixe) e os resultados verificados (ver Viewing the constraints). Em seguida, os arquivos de câmera estereoscópica podem ser criados usando o comando de menu Export stereo camera files.
Se as restrições não tiverem sido configuradas ou estimadas, será exibida uma mensagem de erro. Inicialmente, os parâmetros da câmera esquerda serão mostrados em uma janela. Clique no botão Close da caixa de diálogo e uma mensagem solicitará que você salve os parâmetros da câmera esquerda. Clique em Yes, e uma janela padrão do Windows será exibida, permitindo selecionar o nome do arquivo de câmera estereoscópica para a câmera esquerda.
Após o salvamento do arquivo da câmera esquerda, uma nova janela será exibida com os parâmetros da câmera direita. Clique no botão Close da caixa de diálogo, e uma mensagem solicitará que você salve os parâmetros da câmera direita. Clique em Yes para abrir a janela do Windows, na qual será possível selecionar o nome do arquivo da câmera direita.
4.9.11 Ressecção de todas as imagens
O comando de menu Measurement | Resect all images na janela principal do CAL calcula uma ressecção em cada uma das imagens associadas ao projeto atual. Ao término do processo de ressecção, uma janela com um relatório resumido é exibida. A janela lista todas as imagens envolvidas na operação de ressecção, se a ressecção foi bem-sucedida e o erro RMS associado à ressecção. Consulte os botões Ressecção e Encontrar alvos automaticamente para obter mais informações sobre ressecções. Observe que pelo menos quatro pontos de ressecção devem ser medidos em uma imagem antes que ela possa ser ressecada.
Essa opção geralmente não é usada, pois as imagens normalmente são ressecadas individualmente à medida que são medidas.
4.9.12 Encontrar alvos em todas as imagens
O comando de menu Medição | Encontrar alvos em todas as imagens executa um processo automático no qual todas as imagens do projeto atual são carregadas e uma tentativa é feita para medir quaisquer pontos de objeto não medidos em cada imagem. Enquanto esse processo estiver em execução, uma janela de progresso será exibida. O processo pode ser cancelado a qualquer momento clicando no botão Cancelar na janela de progresso.
Essa opção geralmente é usada após um ajuste de feixe bem-sucedido. Após um ajuste de feixe, os parâmetros da câmera apresentam melhor qualidade e é provável que mais pontos de objeto possam ser medidos automaticamente. O procedimento geral consiste em excluir as medições excluídas pelo ajuste de feixe e, em seguida, executar esse processo para medir automaticamente quaisquer pontos de objeto não medidos. O ajuste de feixe pode então ser recalculado (consulte mais detalhes em Calculando o ajuste).
Observe que esse processo tentará encontrar (em cada imagem) apenas os pontos de objeto que atualmente não possuem medição. Se um ponto já estiver medido, a medição atual do ponto será mantida sem alterações.
4.9.13 Intersecção de todos os pontos
O comando de menu Medição | Intersecção de todos os pontos utiliza as posições e orientações atuais da câmera para todas as imagens e intersecta todas as medições da imagem para calcular as coordenadas do objeto. Essa funcionalidade é usada para estimar as coordenadas do espaço do objeto para pontos recém-medidos.
Ao realizar ajustes de feixe com cubos de calibração, essa opção não é utilizada.
4.9.14 Excluir medições de pontos rejeitadas
O comando de menu Medição | Excluir medições de pontos rejeitadas excluirá todas as medições de pontos que foram marcadas como rejeitadas (as medições de pontos podem ser rejeitadas por ressecções, intersecções ou ajuste de feixe; consulte Cores de pontos, Valores para rejeição de medição). Essa função é normalmente usada após um ajuste de feixe para excluir todas as medições de pontos rejeitadas.
Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org.
4.10 Ajuste
Adjustment
Esta seção trata dos comandos de menu disponíveis no menu Adjustment. Esses comandos são usados para configurar e executar um ajuste do fardo das imagens (bundle adjustment). Antes de calcular um ajuste de fardo, é necessário realizar a resseção de todas as imagens, ver Section 4.9.1, e medir a maioria dos alvos na maioria das imagens (preferencialmente, todos os alvos visíveis em todas as imagens).
4.10.1 Critérios de convergência
Convergence criteria
Durante o ajuste do fardo, os parâmetros (coordenadas dos pontos do objeto, posições e orientações da câmera e parâmetros de calibração da câmera) convergem para um valor final. O grau de convergência pode ser ajustado com precisão, se necessário. Consulte também Section 4.10.3.
4.10.1.1 Object points
Pontos do objeto
Para ajustar os critérios de convergência dos pontos do objeto, use o comando de menu Adjustment | Object point convergence criteria. Uma janela será exibida, permitindo o ajuste dos critérios de convergência. Esse valor geralmente pode ser definido como 1/1000 das unidades do espaço do objeto, por exemplo, 1 mícron se as unidades do espaço do objeto forem milímetros.1
4.10.1.2 Camera positions and orientations
Posições e orientações da câmera
Para ajustar os critérios de convergência da posição e orientação da câmera, use o comando de menu Adjustment | Camera position and orientation convergence criteria. Uma janela será exibida, permitindo o ajuste dos critérios de convergência. Há dois valores: um para as orientações da câmera em unidades de segundos de arco e outro para a posição da câmera. As unidades para a posição da câmera serão em unidades do espaço do objeto x 1000. Os valores padrão são 1 segundo de arco para orientação e 1/1000 das unidades do espaço do objeto para posição (por exemplo, 1 mícron se as unidades do espaço do objeto forem milímetros).
4.10.1.3 Camera parameters
Parâmetros da câmera
Os critérios de convergência para os parâmetros da câmera podem ser definidos usando o comando de menu Adjustment | Camera convergence criteria. Cada um dos parâmetros da câmera (consulte Section 4.5.2) possui seus próprios critérios de convergência. A tabela a seguir fornece os valores padrão para os critérios de convergência da câmera.
4.10.2 Ajustes de configuração
Adjustment settings
As configurações do bundle adjustment são controladas por meio do comando de menu Adjustment | Adjustment settings. Uma janela é exibida, permitindo configurar os parâmetros do ajuste. A seguir, são descritas as configurações e apresentados valores padrão recomendados.
4.10.2.1 Valores para medida de rejeição
Esses valores controlam a exclusão automática de medições de determinados cálculos quando se determina que a medição provavelmente contém erro.
Nome: Valor crítico para rejeição na ressecção.
Padrão: 3,00 pixels.
Descrição: Quando um ponto medido é utilizado em um cálculo de ressecção e o resíduo resultante é maior que esse valor, ele é excluído do cálculo. Quando isso ocorre, a cor do ponto é alterada para Point colour, residual failed (veja Point colours).Nome: Valor crítico para rejeição na interseção.
Padrão: 3,00 pixels.
Descrição: Quando um ponto medido é utilizado em um cálculo de interseção e o resíduo resultante é maior que esse valor, ele é excluído do cálculo. Quando isso ocorre, a cor do ponto é alterada para Point colour, residual failed (veja Point colours).Nome: Valor crítico para rejeição no bundle adjustment.
Padrão: 2,50 pixels.
Descrição: Quando um ponto medido é utilizado no bundle adjustment e o resíduo resultante é maior que esse valor, ele é excluído do ajuste. Quando isso ocorre, a cor do ponto é alterada para Point colour, residual failed (veja Point colours).Nome: Fator de rejeição para distâncias no espaço do objeto.
Padrão: 5,00.
Descrição: Esse fator é usado para definir um valor crítico (valor crítico = desvio padrão da medição de distância × fator de rejeição para distâncias no espaço do objeto) para remover distâncias de um bundle adjustment. Quando o resíduo de uma distância no bundle adjustment excede esse valor crítico, ela é excluída do ajuste.Nome: Fator de rejeição para restrições de coordenadas.
Padrão: 5,00.
Descrição: Esse fator é usado para definir um valor crítico (valor crítico = desvio padrão da restrição de coordenadas × fator de rejeição para restrições de coordenadas) para remover restrições de coordenadas de um bundle adjustment. Quando o resíduo de uma restrição de coordenadas no bundle adjustment excede esse valor crítico, ela é excluída do ajuste.Nome: % do valor crítico para cor de ponto de aviso.
Padrão: 80,0%.
Descrição: Veja Point colours. Esse valor pode ser configurado na janela de cores dos pontos e é descrito lá.
4.10.2.2 Precisão de medição de imagem
Nome: Desvio padrão da medição de imagem.
Padrão: 0,10 pixels.
Descrição: Define o desvio padrão para as medições na imagem. Como regra geral, utilize 0,10 pixels para medições feitas com centroiding e entre 0,50 e 1,00 pixels para medições feitas manualmente (apenas com o uso do mouse). Esse valor influencia a precisão dos parâmetros estimados no bundle adjustment APENAS se o parâmetro a seguir estiver definido como FALSE. Definir corretamente esse valor é importante para simulações.Nome: Reponderar observações de imagem usando sigma zero.
Padrão: True.
Descrição: Quando definido como true e ao executar um bundle adjustment, o desvio padrão das medições de imagem (descrito acima) será automaticamente ajustado para produzir um valor de sigma zero igual a 1 (± 0,05). Isso fornece automaticamente a “melhor” estimativa das precisões dos parâmetros. Esse valor normalmente deve ser mantido como true, a menos que você esteja realizando uma simulação. Note que apenas os desvios padrão das medições de imagem são alterados (o desvio padrão das medições de distância ou das restrições de coordenadas não é alterado). A nova estimativa do desvio padrão da medição de imagem é exibida no resumo dos resultados do ajuste (veja Computing the adjustment).
4.10.2.3 Restrições estéreo
Os parâmetros a seguir são relevantes apenas quando o objetivo do bundle adjustment é estimar os parâmetros de uma configuração de câmera estéreo.
Nome: Usar restrição estéreo.
Padrão: False.
Descrição: Quando definido como true, os parâmetros de orientação relativa são estimados (ou, mais precisamente, restringidos) durante o bundle adjustment. Na prática, cada par de imagens esquerda/direita é forçado a resultar na mesma orientação relativa, dentro dos limites definidos por SD for stereo base constraint e SD for stereo orientation constraint (veja abaixo).Nome: Valor crítico para rejeição da base.
Padrão: 5000,0 micrômetros.
Descrição: Durante o cálculo da orientação relativa (seja como parte do bundle adjustment ou usando Estimating constraints), qualquer componente da base que exceda esse valor para um par de imagens esquerda/direita será ignorado. As unidades utilizadas para esse parâmetro dependem do projeto atual. Esse valor pode precisar ser aumentado caso a sincronização estéreo das câmeras não seja perfeita (comum em sistemas de vídeo).Nome: Valor crítico para rejeição da orientação.
Padrão: 1800 segundos de arco.
Descrição: Durante o cálculo da orientação relativa (seja como parte do bundle adjustment ou usando Estimating constraints), qualquer componente de orientação que exceda esse valor para um par de imagens esquerda/direita será ignorado. Esse valor pode precisar ser aumentado caso a sincronização estéreo das câmeras não seja perfeita (comum em sistemas de vídeo).Nome: Desvio padrão (SD) para restrição da base estéreo.
Padrão: 100,0 micrômetros.
Descrição: Quando Use stereo constraint (veja acima) está definido como true, este é o valor de restrição aplicado a todos os pares de imagens esquerda/direita para o componente da base da orientação relativa. As unidades desse parâmetro dependem das unidades do projeto atual. Essa restrição pode precisar ser relaxada caso a sincronização estéreo das câmeras não seja perfeita (comum em sistemas de vídeo).
4.10.3 Cálculo do Ajuste
Computing the adjustment
Após todas as imagens serem ressecadas e os alvos medidos em todas elas, o ajuste de feixe pode ser calculado. Para executar o ajuste de feixe, use o comando de menu Adjustment | Compute bundle adjustment na janela principal do CAL. Uma janela de progresso é exibida com um botão Cancelar. O ajuste pode ser cancelado a qualquer momento clicando no botão Cancelar (o processo não será cancelado até que a iteração atual seja calculada). A janela exibe informações sobre o progresso do ajuste (o número da iteração) e o sigma zero (que indica a qualidade do ajuste e idealmente deve estar próximo de 1). O ajuste primeiro calcula uma solução inicial, seguida por uma série de soluções de reponderação, onde as medições de baixa qualidade são removidas automaticamente do ajuste. Finalmente, as precisões e correlações dos parâmetros são calculadas.
Nesta etapa, haverá um ajuste convergido com sucesso ou um ajuste que não convergiu. Uma nova janela será exibida. Essa janela contém duas caixas de listagem: a caixa de listagem superior exibe um resumo do ajuste em texto, e a caixa de listagem inferior exibe detalhes sobre o ajuste.
Uma caixa de mensagem pode ser exibida com avisos sobre medições de distância excluídas e/ou baixa precisão relativa. Os avisos são baseados em cenários típicos de calibração de câmeras estéreo usando o hardware de calibração SeaGIS. Nesses casos, o ajuste final do feixe não deve apresentar medições de distância excluídas, e há expectativas em relação à precisão relativa. Veja detalhes nos tópicos a seguir. Ignore o aviso se ele não se aplicar especificamente ao seu uso do CAL.
Considerando o resumo do ajuste, a primeira linha indicará se o ajuste convergiu com sucesso ou se houve falha. Outras informações fornecidas serão:
- Indica se as observações da imagem foram reponderadas para obter um sigma zero de 1 (consulte Precisão da medição da imagem) e se a reponderação foi bem-sucedida. O valor de sigma zero é fornecido, assim como a nova estimativa da precisão da medição da imagem.
- Indica se algum aspecto do processo de ajuste falhou e, em caso afirmativo, fornece uma indicação do que deu errado. Isso pode incluir falha na convergência dentro do número máximo de iterações (consulte Ajuste) ou falha na resolução das equações normais (isso geralmente indica que não foram medidos pontos de objeto suficientes em imagens suficientes ou pode ser causado por restrições de pontos de objeto sem sentido).
- O resíduo médio da imagem (geralmente deve ser sempre menor que 0,3 pixels).
- O número total de parâmetros do modelo de ajuste, parâmetros restritos e redundâncias. O número de redundâncias para uma calibração de câmera estéreo geralmente será da ordem de 5.000.
- O número de medições de imagem e distância elegíveis e excluídas, e restrições de pontos de objeto. As medições excluídas não atenderam aos parâmetros definidos em Valores para rejeição de medição. Após um ajuste inicial, pode haver muitas medições de imagem elegíveis excluídas. Isso é normal. Ao usar o hardware de calibração do SeaGIS (um cubo), não deve haver nenhuma medição de distância elegível excluída – isso pode indicar: um cubo montado incorretamente, um cubo danificado ou localizações de pontos de ressecção medidas incorretamente.
- Avisos se houver pontos no espaço do objeto que não possuem coordenadas estimadas. Isso ocorrerá se novos pontos do objeto forem adicionados sem estimativas de coordenadas (isso nunca deve acontecer com projetos de cubo de calibração). Use a interseção para estimar as coordenadas (consulte Interseccionar todos os pontos).
- Avisos se houver distâncias medidas para pontos do objeto que não existem ou para pontos do objeto que não possuem coordenadas estimadas.
- Avisos se houver posições de câmera não selecionadas (consulte Medição de ponto).
- Avisos se houver medições de imagem feitas para pontos de objeto que não existem ou para pontos de objeto que não possuem uma coordenada estimada.
- Avisos se houver medições associadas a uma câmera que não faz parte de um projeto (pode ocorrer se uma câmera for excluída de um projeto existente, mas ainda houver medições associadas à câmera excluída).
- Avisos se forem usadas restrições estéreo e as restrições não tiverem sido estimadas ou envolverem posições de câmera inválidas ou não estimadas (consulte Restrições estéreo).
- A precisão relativa (consulte View object point summary). Para a calibração estéreo de um sistema de câmera de alta definição usando o hardware de calibração do SeaGIS (um cubo), esse valor deve ser em torno de 1:10.000 ou melhor. A precisão relativa pode ser prejudicada por: baixa visibilidade, iluminação inadequada (baixo contraste do alvo), imagens desfocadas, número insuficiente de pontos medidos ou cubo muito distante das câmeras.
Se o ajuste não convergir, os parâmetros que não estão convergindo serão relatados. A não convergência geralmente está associada a uma geometria de rede inadequada ou a um número insuficiente de medições em imagens suficientemente diferentes (isso nunca deve ocorrer com redes de calibração que envolvem cubos de calibração, como no Apêndice A - Orientações do cubo de calibração). Para forçar a convergência do ajuste, os critérios de convergência para os parâmetros que estão falhando podem ser ajustados para forçar a rede a convergir (consulte Critérios de convergência) ou o número máximo de iterações para o ajuste do feixe pode ser aumentado temporariamente (consulte Ajuste).
A caixa de listagem Detalhes fornece informações mais detalhadas sobre os resultados do ajuste. Todos os itens listados podem ser visualizados com mais detalhes clicando duas vezes sobre o item. As seguintes informações são fornecidas:
- Parâmetros da câmera: Para cada câmera, um resumo dos parâmetros da câmera. Essas informações são as mesmas exibidas em Edição de parâmetros da câmera. Certifique-se de que a distância focal esteja correta. Todos os outros parâmetros devem ter uma magnitude pequena – parâmetros com grande magnitude indicam um problema.
- Resumo dos pontos do objeto. Essas informações são as mesmas exibidas em Visualização do resumo dos pontos do objeto. Verifique se a precisão relativa está correta. O número de pontos não estimados deve ser 0. O intervalo entre os desvios padrão máximo e mínimo dos pontos deve ser pequeno. Se o desvio padrão máximo dos pontos for muito grande, isso indica que alguns pontos do objeto não foram medidos o suficiente para estimar as coordenadas com precisão. Esses pontos devem ser identificados e mais medições de imagem devem ser feitas nesses pontos.
- Coordenadas/precisões dos pontos do objeto. Essas informações são as mesmas exibidas em Viewing and manipulating object space points (Visualização e manipulação de pontos no espaço do objeto). Nesta janela, identifique os pontos que apresentam desvios padrão maiores que a média (sX, sY, sZ). Geralmente, eles terão um número menor de medições (Nº de Obs.) em comparação com outros pontos. É necessário realizar mais medições de imagem nesses pontos. Verifique rapidamente se as coordenadas dos pontos do objeto estão dentro do intervalo esperado.
- Orientação e posições da câmera (e observações da imagem). Essas informações são as mesmas exibidas em Dados de orientação da imagem. Nesta janela, examine todas as posições e orientações da câmera e certifique-se de que os valores sejam razoáveis (observe especialmente as posições da câmera que não se encaixam). Observe a precisão das posições da câmera (sX, sY, sZ) e das orientações (sOmega, sPhi, sKappa), bem como o número de medições em cada imagem (Nº de obs.). Esses valores devem ter magnitude semelhante em todas as imagens. Se uma imagem apresentar um desempenho particularmente pior, pode ser porque ela não possui medições suficientes dos pontos do objeto ou porque a qualidade da imagem pode ser inferior. Você também pode examinar as medições e os resíduos de uma imagem específica clicando duas vezes nela, embora o Resumo de resíduos da imagem abaixo possa ser mais útil.
- Resumo de resíduos da imagem. Estas são as mesmas informações descritas em Resumo de medições da imagem. Analise os resíduos médios da imagem e identifique quaisquer imagens que apresentem uma média visivelmente maior do que as demais. Investigue as medições e/ou a qualidade da imagem associadas a essas imagens. Frequentemente, uma imagem com uma média alta pode ter pontos de ressecção mal identificados ou medições feitas em alvos mal identificados. Nesses casos, é prudente excluir todas as medições da imagem com uma média alta e medi-la novamente. Uma média alta também pode ser causada por baixa qualidade da imagem (geralmente desfoque de movimento).
- Todas as medições da imagem. Estas são as mesmas informações exibidas em Visualizar/excluir medições da imagem. Classifique os dados nesta janela clicando duas vezes na coluna Rejeitadas para trazer todas as medições rejeitadas para o topo. Observe se as medições rejeitadas tendem a estar associadas a um ou mais pontos do objeto. Nesse caso, investigue todas as medições até o(s) ponto(s) específico(s) do objeto, pois a medição pode ter sido feita no ponto errado.
- Medições de distância. Esta opção só será exibida se houver medições de distância. As informações são as mesmas exibidas em Visualizando e manipulando distâncias. Verifique se alguma distância está sendo excluída (isso não deve acontecer com um cubo de calibração e indica que o cubo ou os alvos nele contidos podem ter sido danificados fisicamente).
- Visualizar correlações. Clicar duas vezes neste item abre outra janela que permite visualizar as correlações entre os parâmetros. Insira o coeficiente de correlação desejado; quaisquer parâmetros acima do coeficiente de correlação especificado serão relatados. Você pode optar por incluir ou excluir os parâmetros de posição e orientação (orientação externa) da câmera, conforme necessário. Após a configuração, clique no botão Fechar caixa de diálogo e uma nova janela será exibida mostrando quaisquer parâmetros correlacionados. Se a janela estiver vazia, não havia parâmetros acima dos limites prescritos.
- Restrições estéreo e resíduos. Esses dados só aparecerão se você usar restrições estéreo no ajuste de feixe (consulte Restrições estéreo). As informações e a interpretação são as mesmas que em Visualizando as restrições. Se muitos dos componentes de restrição estéreo estiverem sendo excluídos, a ponderação da restrição pode precisar ser relaxada (consulte Restrições estéreo).
- Restrições estéreo – orientação relativa. Esses dados só aparecerão se você usar restrições estéreo no ajuste de feixe (consulte Restrições estéreo). As informações e a interpretação são as mesmas que em Visualizando a orientação relativa.
Se o ajuste for bem-sucedido, o botão Aceitar na parte inferior da janela será habilitado. Após avaliar os resultados do ajuste e certificar-se de que o resultado é válido, clique no botão Aceitar para adotar o resultado do ajuste de feixe. Ao clicar no botão Aceitar, os parâmetros da câmera, as coordenadas dos pontos do objeto e as posições e orientações da câmera são atualizados com os resultados calculados no ajuste de feixe. Se o ajuste falhar ou o resultado não for satisfatório, clique no botão Cancelar para ignorar os resultados do ajuste. Nunca aceite os resultados de um ajuste de feixe questionável.
Após concluir um ajuste de feixe bem-sucedido, é recomendável excluir as medições de imagem que foram excluídas pelo ajuste (consulte Excluir medições de pontos rejeitadas).
Se houver muitos pontos do objeto que não foram medidos com sucesso (como geralmente ocorre quando não há informações de calibração anteriores para uma câmera), esses pontos agora devem ser medidos automaticamente com sucesso. Assim que o ajuste de feixe for calculado com sucesso, haverá parâmetros de calibração da câmera melhores, permitindo que os alvos não medidos sejam medidos automaticamente. O procedimento para medição automática de todas as imagens do projeto é descrito em Encontrar alvos em todas as imagens. Após a medição de mais alvos, o ajuste do feixe pode ser recalculado. Observe que nunca será possível medir todos os alvos em todas as imagens, pois alguns alvos inevitavelmente estarão ocluídos.
4.10.4 Razões pelas quais um ajuste de feixe pode falhar
Às vezes, o ajuste de feixe pode falhar, e pode ser difícil identificar exatamente por que isso está acontecendo. A seguir estão algumas razões e soluções comuns:
- O ajuste pode não convergir devido a uma ou duas medições realmente ruins. Se for possível forçar o ajuste a convergir ao menos uma vez, essas medições problemáticas serão identificadas e removidas.
Ajuste o máximo de interações usando o Ajustment | Ajustment settings e ponha o Maximum iterations em 500.
- Medições insuficientes para pontos suficientes. Às vezes, há uma tendência de calcular o ajuste de feixe antes de realizar medições suficientes em um número adequado de pontos do objeto e em imagens suficientes. Quando isso ocorre, o ajuste de feixe pode falhar completamente ou não convergir. Nesse caso, é simplesmente necessário realizar mais medições. O ajuste de feixe depende de redundância (muitas medições) para detectar e eliminar de forma confiável medições errôneas. Se não houver medições suficientes, a detecção correta dessas medições incorretas torna-se difícil e pode levar à falha do ajuste de feixe.
Não se preocupe em calcular o ajuste de feixe até que toda a sequência de calibração tenha sido medida (ver Apêndice A — Orientações do cubo de calibração). Se o processo de centroiding não estiver encontrando muitos pontos, tente ajustar o brilho e o contraste da imagem para realçar os alvos (Brightness and contrast). Também pode ser necessário ajustar a configuração de centróide “Minimum Pixel Intensity Range”, reduzindo esse valor (Editing and fine tuning settings).
- Um ajuste pode falhar se pontos medidos tiverem sido atribuídos a um ID de ponto incorreto. Se um ponto for medido de forma consistente e receber um ID incorreto em muitas imagens, isso causará confusão no ajuste de feixe (ou seja, o ajuste de feixe não conseguirá identificar com precisão que o ponto incorreto foi medido). Isso pode se tornar um problema sério se os pontos iniciais de resseção forem identificados incorretamente, pois, nesse caso, todos os demais pontos do objeto medidos automaticamente na imagem provavelmente também serão identificados de forma incorreta.
Percorra todas as imagens e verifique cuidadosamente se os pontos de resseção estão corretamente identificados em cada imagem. Se você encontrar uma imagem com pontos de resseção medidos incorretamente, a forma mais simples é excluir a imagem e medi-la novamente.
- Se você estiver tendo dificuldades com um ajuste de feixe, especialmente se tiver aceitado os resultados de um ajuste ruim, é recomendável recarregar o arquivo original de pontos do objeto (uma versão “limpa” do arquivo, e não aquela criada pelo ajuste que está causando problemas; ver Reading the object point file).
Após recarregar uma versão “limpa” do arquivo de pontos do objeto, utilize o comando de menu Measurement | Resect all images e, em seguida, calcule novamente o ajuste de feixe.
Se isso não for bem-sucedido, recarregue uma versão limpa do arquivo de pontos do objeto usando Object points | Read from file. Exclua todas as medições, exceto os pontos de resseção: Measurement | View/delete image measurements, ordene pela coluna Point ID e apague todas as medições de pontos, mantendo apenas os pontos de resseção (nos cubos SeaGIS, estes correspondem aos pontos 100, 101, 102, 103 e 104).
Em seguida, faça a resseção de todas as imagens com Measurement | Resect all images, depois localize os alvos com Measurement | Find targets in all images e, por fim, recalcule o ajuste de feixe
- Quando um ajuste não converge, examine o relatório resumo dos resíduos de imagem na janela Adjustment results. Observe os campos Valid points e Average magnitude.
Investigue qualquer imagem que apresente um Average magnitude mais alto do que o habitual (qualquer valor superior a três vezes a média) e qualquer imagem que tenha um número de Valid points inferior ao esperado (menos da metade dos alvos medidos). Em geral, a maneira mais simples é excluir essas imagens e medi-las novamente.
Veja também a seção a seguir.
4.10.5 Falha de ajustes com um cubo de calibração SeaGIS
Frequentemente, a razão para a falha de um ajuste de feixe está relacionada a estimativas inadequadas dos parâmetros da câmera, o que resulta em medições automáticas de imagem de baixa qualidade. Quando se dispõem de boas estimativas dos parâmetros da câmera (obtidas a partir de calibrações anteriores), geralmente não há problemas na execução do ajuste. Quando o ajuste falha ao utilizar um cubo de calibração de duas faces, uma estratégia útil é realizar a calibração usando apenas a face frontal do cubo. Isso fornece boas estimativas dos parâmetros da câmera, permitindo que, posteriormente, seja calculada uma calibração utilizando ambas as faces do cubo.
Para chegar ao ponto em que o ajuste de feixe está falhando, presume-se que você já tenha realizado um conjunto de medições no material de calibração. As instruções abaixo assumem que um projeto já foi criado e que existe um conjunto completo de medições:
Salve uma cópia das medições realizadas até o momento usando Measurement | Write measurement file. Nomeie o arquivo como “Complete”, ou algo similar, para indicar que se trata do conjunto original completo de medições.
Carregue uma cópia original “limpa” do arquivo do cubo de calibração (.PtsCAL) usando Object points | Read from file.
Exclua as medições referentes aos pontos da face traseira do cubo usando Measurement | Delete back face measurements.
Realize a resseção de todas as imagens usando Measurement | Resect all images.
Calcule o ajuste de feixe em Adjustment | Compute bundle adjustment.
Supondo que o ajuste de feixe seja bem-sucedido, exclua as medições de pontos rejeitadas usando Measurement | Delete rejected point measurements.
Reintroduza a face traseira do cubo utilizando Measurement | Find targets in all images.
Execute um novo ajuste de feixe (agora utilizando os pontos medidos nas faces frontal e traseira do cubo) e prossiga da forma habitual após a conclusão bem-sucedida do ajuste de feixe.
5 Apêndices
6 Termos & Conceitos
Ressected: Ressecção.
Bandle adjustment: Ajuste do pacote.
Eligible image measurements: Medições de imagem elegíveis
Eligible distance measurements: Medições de distância elegíveis
7 Search Keys
| ressected | bandle | object point |
| convergence | compute | all images |
8 Workflow
Complete a inserção de pontos (objetos) em todas as imagens, depois:
flowchart TD id0(Insected all point objects) --> id1(Compute bundle adjustment) id1 --> id2(Delete reject points) id2 --> id3(Find all target) id3 --> id1
Adjustment: Compute bundle ajustment > Delete reject points > Find target > Compute bundle ajustment> Delete reject points > Compute bundle ajustment (Final) >
9 Manual CAL (pt/br)
9.1 Quick Guide
Guia Rápido
Utilize este guia para percorrer, passo a passo, o processo de calibração de um sistema de câmeras estéreo. Após capturar e transferir as imagens de um cubo de calibração, siga as etapas descritas a seguir.
Este guia pressupõe que você já possui arquivos de câmera (.CamCAL) para iniciar a calibração. Caso isso não seja verdade, consulte a página de download do software (aqui) para encontrar arquivos de câmera comumente utilizados, entre em contato conosco para obter assistência ou consulte a seção Section 4.5 para criar os arquivos necessários.
É importante iniciar com arquivos de câmera que você saiba que estão corretos.
9.1.1 Organize the data
Organize os dados
Usando o Explorador de Arquivos do Windows, crie um novo diretório (pasta) para o projeto.
Copie todos os arquivos de imagem associados à calibração para o novo diretório (nova pasta). Normalmente, serão dois arquivos de vídeo: um da câmera esquerda e outro da câmera direita.
Copie para esse diretório o arquivo de pontos do objeto (.PtsCAL) do cubo de calibração. Esse arquivo deve ser sempre uma cópia limpa do arquivo original.
Copie para esse diretório os arquivos da câmera esquerda e direita (.CamCAL). Esses arquivos geralmente são provenientes da calibração anterior mais recente.
9.1.2 Create a new project
Crie um novo projeto
No CAL, crie um novo projeto usando Project | New project. Se necessário, você será solicitado a salvar quaisquer dados não salvos associados ao projeto atual. Insira um nome para o arquivo do projeto (por exemplo, “Calibration”) e salve o arquivo do projeto no novo diretório que você acabou de criar para este projeto.
A criação de um novo projeto inicia um processo de assistente (wizard process) que solicita a configuração do restante do projeto. Basta seguir as instruções, lembrando que todos os arquivos estão localizados no mesmo diretório, e que o CAL usará, por padrão, o diretório onde o novo arquivo de projeto foi criado.
Carregue os arquivos da câmera esquerda e direita (.CamCAL), conforme solicitado.
Carregue o arquivo do cubo de calibração (.PtsCAL), conforme solicitado.
Defina o diretório de imagens conforme solicitado. O diretório de imagens é automaticamente definido como o mesmo diretório do arquivo do projeto; portanto, se todos os arquivos da calibração estiverem em um único diretório, basta verificar e clicar em OK.
Salve o novo arquivo de medições conforme solicitado. Será necessário atribuir um nome a esse arquivo (por exemplo, “Measurements”), e ele será o local onde as medições da calibração serão armazenadas.
Carregue a imagem da câmera esquerda. Normalmente, esse será o arquivo de vídeo da câmera esquerda, e ele será automaticamente adicionado à configuração da sequência de filmes (Movie sequence) da câmera esquerda. Caso existam mais arquivos de vídeo na sequência, eles podem ser adicionados nesse momento (ver Sequências de filmes). Em seguida, clique em OK.
Carregue a imagem da câmera direita. Normalmente, esse será o arquivo de vídeo da câmera direita, e ele será automaticamente adicionado à configuração da sequência de filmes da câmera direita. Caso existam mais arquivos de vídeo na sequência, eles podem ser adicionados nesse momento (ver Sequências de filmes). Em seguida, clique em OK.
A janela Current project files (Arquivos do projeto atual) será exibida. Todos os campos devem estar preenchidos, e todos os itens listados devem estar no mesmo diretório. Clique em Close dialog (Fechar diálogo).
Se houver dificuldades para chegar a esse ponto, consulte Creating new projects and data organization(), que fornece mais detalhes ou mostra como configurar o projeto manualmente.
9.1.3 Medições
9.1.4 Ajuste
Após concluir todas as medições de imagem, calcule o ajuste de feixe usando Ajuste | Calcular ajuste de feixe.
Se você receber uma mensagem de aviso sobre medições de distância excluídas ou baixa precisão relativa, ignore-a por enquanto. Se o ajuste falhar, consulte os motivos pelos quais um ajuste de feixe pode falhar. Se ainda estiver com dificuldades para obter resultados que não convergem, tente uma solução apenas com a face frontal, descrita em Ajustes com falha em um cubo de calibração SeaGIS.
Quando o ajuste for bem-sucedido, siga os passos abaixo para produzir um conjunto “limpo” de medições de imagem, sem rejeições:
i. Aceite os resultados do ajuste (usando o botão Aceitar resultados).
ii. Exclua as medições rejeitadas usando Medição | Excluir medições de ponto rejeitadas.
iii. Procure por alvos ausentes usando Medição | Encontrar alvos em todas as imagens.
iv. Calcule outro ajuste de feixe (Ajuste | Calcular ajuste de feixe) e aceite os resultados.
v. Exclua as medições rejeitadas usando Medição | Excluir medições de ponto rejeitadas.
vi. Calcule um ajuste de feixe final (Ajuste | Calcular ajuste de feixe). Neste ponto, você deverá ter um ajuste de feixe correto. Verifique o seguinte no resumo de Ajuste (uma mensagem de aviso alertará sobre possíveis problemas de medição de distância e precisão relativa). Você deverá ter zero Eligible image measurements excluídas e zero Eligible distance measurements excluídas. Medições de distância excluídas podem ser causadas por um cubo montado incorretamente, cubo danificado ou medição de locais de pontos de ressecção incorretos – este problema deve ser corrigido. Verifique se o valor de precisão relativa está de acordo com o esperado para o seu sistema de câmera e método de calibração. O CAL possui alguns avisos integrados com base em cenários típicos de calibração: geralmente melhor que 1:10.000 para uma calibração estéreo de um sistema de câmera de alta definição usando o hardware de calibração SeaGIS. Valores mais baixos podem ser causados por baixa visibilidade, imagens desfocadas, iluminação inadequada (baixo contraste do alvo), número insuficiente de pontos medidos ou cubo muito distante das câmeras. Clique em Aceitar resultados.
Observe que o ajuste do feixe precisa ter qualidade aceitável antes de prosseguir.
9.1.5 Geração de arquivos de câmera estéreo
Note, todas as operações de menu mencionadas nesta seção estão em Measurement | Stereo constraints.
Configure as restrições estéreo usando Configure stereo constraints . Nesta caixa de diálogo, geralmente basta garantir que a câmera esquerda e a câmera direita estejam selecionadas corretamente e, em seguida, clicar no botão *Automatic* para gerar os pares esquerda/direita. Você receberá uma mensagem de erro se houver um número diferente de imagens esquerda e direita medidas, pois o software não consegue criar pares estéreo – você precisará encontrar e corrigir a imagem esquerda/direita que não possui uma imagem direita/esquerda correspondente (consulte Configurando restrições).
Estime as restrições usando *Estimating constraints* (consulte Estimando restrições). Um aviso será exibido se mais de quatro pares estéreo forem excluídos (consulte os comentários na próxima etapa).
Verifique a orientação relativa usando View stereo constraints. Verifique se os resíduos de restrição são aceitáveis e se não houve muitas restrições que foram excluídas do cálculo (coluna Exclusions). Se mais de quatro restrições forem rejeitadas, verifique novamente a sincronização estéreo. Para mais detalhes, consulte Visualizando as restrições.
Gere os arquivos da câmera estéreo usando Exportar arquivos da câmera estéreo (consulte Exportando arquivos da câmera estéreo).
9.1.6 Salvando resultados
A maneira mais simples de salvar o projeto e todos os dados associados é fechar o CAL. O programa solicitará que você salve todos os dados não salvos.
9.1.7 Carregando calibrações anteriores
Calibrações anteriores podem ser carregadas clicando duas vezes em um arquivo de projeto CAL (.PrjCAL) no Explorador de Arquivos do Windows ou usando o menu CAL > Projeto | Ler do arquivo.
Se arquivos (como arquivos de câmera, arquivo de pontos do objeto ou arquivo de medição) originalmente associados ao projeto tiverem sido movidos para uma unidade e/ou pasta diferente, o projeto será corrompido e você precisará recriá-lo manualmente, localizando e carregando os arquivos necessários. Consulte Recriando um projeto de calibração a partir de dados existentes.
9.2 General
9.3 Installation details
9.4 Project files
Reading and writing to file
9.5 Cameras
Câmeras
O acesso às informações da câmera e às operações específicas da câmera é feito por meio do menu Camera.
As informações da câmera são armazenadas em um arquivo (um arquivo separado para cada câmera). Os nomes dos arquivos de câmera atuais são armazenados no arquivo do projeto e são carregados automaticamente quando o CAL é iniciado. Observe que esses arquivos de câmera possuem a extensão .CamCAL. Esses arquivos são diferentes dos arquivos de câmera estéreo (com extensão .Cam), que o CAL exporta para uso em softwares de medição estéreo, como o EventMeasure ou o StereoLib.
9.5.1 Reading and writing to file
Leitura e gravação em arquivo
As informações da câmera podem ser gravadas em um arquivo ou lidas a partir de um arquivo. Para ler ou gravar um arquivo de câmera, utilize o comando de menu Camera | Left | Read from file ou Camera | Left | Write to file. Comandos idênticos estão disponíveis para a câmera direita.
Se uma nova câmera for lida a partir de um arquivo ou salva em um arquivo com um nome diferente, essa alteração será atualizada no arquivo de projeto atual.
9.5.2 Editing camera parameters
Edição de parâmetros da câmera
Para visualizar ou editar os parâmetros de uma câmera, utilize o comando de menu Camera | Left | Edit parameters (ou Camera | Right | Edit parameters para a câmera direita). Será exibida uma janela com os seguintes itens:
Itens com um visto verde ao lado podem ser editados dando um duplo clique no item e digitando um novo valor. Os itens na coluna Units indicam as unidades do parâmetro. Os valores na coluna Precision podem ser “Fixed parameter” (parâmetro fixo) ou um valor numérico. A ausência de valor indica que o parâmetro da câmera ainda não foi estimado por um ajuste de feixe; já um valor numérico indica que o parâmetro foi estimado pelo ajuste de feixe, e esse valor corresponde à precisão do parâmetro.
Os parâmetros X Pixel size e Y Pixel size são propriedades da câmera e, em geral, podem ser encontrados no site do fabricante ou em uma ficha técnica ou folha de especificações da câmera. Frequentemente, o tamanho do pixel precisa ser derivado a partir do tamanho do sensor da câmera e do formato da imagem. Normalmente, o fabricante informa esses valores em unidades de micrômetros. Certifique-se de converter os valores para milímetros (mm) ao inseri-los como parâmetros da câmera.
Para calibrações de câmera subaquáticas utilizando uma porta plana do invólucro da câmera, o valor da distância focal em água será aproximadamente 4/3 do valor no ar (por exemplo, uma lente com distância focal de 4,8 mm no ar terá aproximadamente 6,4 mm na água). Certifique-se de considerar o efeito de quaisquer adaptadores de lente grande-angular.
Quando uma nova câmera estiver sendo calibrada (isto é, não existe um arquivo .CamCAL prévio), será necessário especificar: Image rows, Image columns, X Pixel size, Y Pixel size, e estimar a Focal length. Todos os demais parâmetros da câmera podem ser inicialmente estimados como zero, tendo seus valores determinados durante o processo de calibração.
9.5.3 Fixing camera parameters
9.6 Pictures
9.7 Images and orientations
9.8 Object points and distances
9.9 Measurement
Medições
Esta seção aborda o processo de realização de medições de pontos, bem como descreve o uso dos itens do menu Measurement.
9.9.1 Pontos de Medida
Point measurement
9.9.2 Salvando e lendo as medidas
Saving and reading measurements
9.9.3 Convertendo vídeos para JPEG
Convert movie to JPEG
9.9.4 Frames deslocados
Offset frames
9.9.5 Visualizar dados de orientação
View orientation data
9.9.6 Visualizar/ Excluir medições de imagem
View/ delete image measurement
9.9.7 Resumo das medições de imagem
Image measurement summary
9.9.8 Excluir medições da face posterior
Delete back face measurement
Ao utilizar um cubo de calibração padrão da SeaGIS, é possível usar Measurement | Delete back face measurement para remover todas as medições de imagem associadas a pontos na face posterior do cubo. Essa função é uma ferramenta útil para lidar com ajustes de feixe (bundle adjustments) que não convergem; ver Section 4.10.5.
9.9.9 Cálculo do centróide
Centroiding
9.9.10 Restrições Estereoscópicas
Stereo constraints
Esta seção aborda as opções de menu disponíveis em Measurement | Stereo constraints. Essas operações são utilizadas para configurar restrições estereoscópicas e calcular a orientação relativa de um par de câmeras estereoscópicas (a orientação relativa descreve a posição e a orientação de uma câmera em relação à outra e é necessária para realizar medições com um sistema de câmeras estereoscópicas). Essas opções são fornecidas principalmente para gerar arquivos de câmera estereoscópica (extensão .cam) para uso com PhotoMeasure, EventMeasure e StereoLib.
Em calibrações de câmeras estereoscópicas, a câmera 1 refere-se à câmera esquerda e a câmera 2 refere-se à câmera direita. O CAL mantém um sistema de numeração, em vez de utilizar os termos “Esquerda” e “Direita”, para facilitar calibrações genéricas em sistemas com mais de duas câmeras.
9.9.10.1 Configuração das restrições
Configure constraints
Use o comando de menu Configure stereo constraints para definir as restrições. Uma janela será exibida. O principal objetivo dessa janela é permitir a definição de pares estereoscópicos de imagens esquerda e direita, a partir dos quais a orientação relativa das câmeras pode ser determinada.
Selecione a câmera esquerda (Left camera) e a câmera direita (Right camera) apropriadas usando as caixas de seleção. Na maioria dos casos, o restante da configuração pode ser realizado utilizando o botão Automatic. Ao clicar em Automatic, a lista de pareamentos será preenchida com combinações de nome do arquivo da esquerda (nº do frame, nº da câmera) e nome do arquivo da direita (nº do frame, nº da câmera). Verifique se os pareamentos representam pares estereoscópicos válidos; caso contrário, será necessário editar a lista manualmente. Observe que, em calibrações estereoscópicas padrão, a câmera 1 corresponde à câmera esquerda e a câmera 2 à câmera direita.
Para excluir um pareamento, selecione-o e clique no botão Delete. Para adicionar um pareamento manualmente, selecione um Filename da câmera esquerda (nº do frame, nº da câmera) e um Filename da câmera direita (nº do frame, nº da câmera) e clique em Add. Se algum dos dados recém-adicionados já estiver presente na lista atual de pareamentos, ele será automaticamente removido e substituído pelo novo pareamento estereoscópico.
Clique em OK para aceitar a nova configuração ou em Cancel para ignorar as alterações.
9.9.10.2 Estimar restrições
Estimate constraints
Depois que as restrições estiverem configuradas, a orientação relativa pode ser estimada. Utilize o comando de menu Estimate constraints. Uma janela será exibida mostrando a orientação relativa calculada. Os detalhes dessa janela são explicados na seção Viewing the relative orientation.
Se mais de quatro pares estereoscópicos apresentarem exclusões associadas, será exibida uma mensagem de aviso. A presença de mais de quatro pares estereoscópicos com exclusões indica possíveis problemas de sincronização estereoscópica ou, alternativamente, problemas no ajuste de feixe (ver Viewing the constraints {Section 4.9.10.3} abaixo).
9.9.10.3 Visualização das restrições
Viewing the constraints
Depois que as restrições estereoscópicas forem configuradas (ver Configuring constraints) e estimadas (ver Estimating constraints, ou estimadas durante um ajuste de feixe), a qualidade da estimativa pode ser avaliada usando o comando de menu View stereo constraints. Esse comando abre uma janela que exibe cada pareamento estereoscópico em uma linha, iniciando com o Filename da câmera esquerda e da câmera direita (número do frame, número da câmera).
As colunas seguintes apresentam os resíduos para Base, Delta omega, Left phi, Left kappa, Right phi e Right kappa. Os resíduos correspondem à diferença entre a orientação relativa de cada par estereoscópico esquerda/direita individual e a orientação relativa média calculada a partir de todos os pares estereoscópicos.
A coluna final lista quaisquer componentes que tenham sido automaticamente excluídos do cálculo da orientação relativa com base em seus resíduos (ver Stereo constraints para a definição dos limiares dessas exclusões e para saber quando esses limiares podem precisar ser ajustados). A magnitude dos resíduos das restrições estereoscópicas depende, em grande parte, da qualidade da sincronização das câmeras estereoscópicas. Se uma das restrições apresentar muitos componentes excluídos, deve-se suspeitar que a sincronização estereoscópica desse pareamento esquerda/direita esteja incorreta. Isso frequentemente ocorre devido a movimento excessivo do sistema de câmeras e/ou da estrutura de calibração, em combinação com um pequeno erro de sincronização — possivelmente inferior a um frame — ou ainda devido a um erro na seleção do par estereoscópico durante a configuração das restrições (ver Configuring constraints).
Se muitos dos pares estereoscópicos estiverem sendo excluídos e a sincronização e a configuração dos pares estiverem corretas, pode ser necessário aumentar os limiares de exclusão. Para isso, aumente os valores de Critical value for base rejection e/ou Critical value for orientation rejection em Stereo constraints, e então reestime as restrições conforme descrito em Estimating constraints. Sempre investigue a sincronização das imagens estereoscópicas e o pareamento das imagens como a principal causa das rejeições antes de ajustar esses limiares.
É impossível obter uma sincronização consistentemente perfeita em sistemas de câmeras de vídeo estereoscópicas que dependem de sincronização visual. Nesses sistemas, o erro de sincronização pode chegar, no pior caso, a meio frame. Esse erro de sincronização, em combinação com o movimento do sistema de câmeras e/ou da estrutura de calibração, inevitavelmente resultará em exclusões nas restrições estereoscópicas. Em função desse erro de sincronização, é aceitável que até quatro pares estereoscópicos apresentem exclusões.
9.9.10.4 Visualização da orientação relativa
View relative orientation
Utilize o comando de menu View relative orientation para visualizar os parâmetros atuais da orientação relativa. Uma janela será exibida. Nessa janela, a origem dos parâmetros(Parameter source) será indicada como Bundle adjustment se os parâmetros tiverem sido estimados no ajuste de feixe (ver Stereo constraints); caso contrário, será exibido Camera positions and orientations, o que significa que a orientação relativa foi derivada das posições e orientações atuais das câmeras. O número de restrições será igual ao número de restrições configuradas em Configuring constraints.
A separação da base, Base separation (X), representa a separação física entre as câmeras. Em configurações estereoscópicas típicas, Delta omega, Left kappa e Right kappa tendem a ser próximos de zero, enquanto Left phi e Right phi representam o grau de convergência interna de cada câmera (embora esses valores também fiquem próximos de zero se as câmeras não convergirem). Cada parâmetro possui uma precisão associada ao seu cálculo.
9.9.10.5 Exportando os arquivos de câmera estereoscópica
Exporting stereo camera files
Para exportar arquivos de câmera estereoscópica, as restrições estereoscópicas devem estar configuradas (ver Configuring constraints), estimadas (ver Estimating constraints, ou estimadas durante um ajuste de feixe) e os resultados verificados (ver Viewing the constraints). Em seguida, os arquivos de câmera estereoscópica podem ser criados usando o comando de menu Export stereo camera files.
Se as restrições não tiverem sido configuradas ou estimadas, será exibida uma mensagem de erro. Inicialmente, os parâmetros da câmera esquerda serão mostrados em uma janela. Clique no botão Close da caixa de diálogo e uma mensagem solicitará que você salve os parâmetros da câmera esquerda. Clique em Yes, e uma janela padrão do Windows será exibida, permitindo selecionar o nome do arquivo de câmera estereoscópica para a câmera esquerda.
Após o salvamento do arquivo da câmera esquerda, uma nova janela será exibida com os parâmetros da câmera direita. Clique no botão Close da caixa de diálogo, e uma mensagem solicitará que você salve os parâmetros da câmera direita. Clique em Yes para abrir a janela do Windows, na qual será possível selecionar o nome do arquivo da câmera direita.
9.9.11 Ressecção de todas as imagens
O comando de menu Medição | Ressecção de todas as imagens na janela principal do CAL calcula uma ressecção em todas as imagens associadas ao projeto atual. Ao término do processo de ressecção, uma janela com um relatório resumido é exibida. A janela lista todas as imagens envolvidas na operação de ressecção, se a ressecção foi bem-sucedida e o erro RMS associado à ressecção. Consulte os botões Ressecção e Encontrar alvos automaticamente para obter mais informações sobre ressecções. Observe que pelo menos quatro pontos de ressecção devem ser medidos em uma imagem antes que ela possa ser ressecada.
Essa opção geralmente não é usada, pois as imagens normalmente são ressecadas individualmente à medida que são medidas.
9.9.12 Encontrar alvos em todas as imagens
O comando de menu Medição | Encontrar alvos em todas as imagens executa um processo automático no qual todas as imagens do projeto atual são carregadas e uma tentativa é feita para medir quaisquer pontos de objeto não medidos em cada imagem. Enquanto esse processo estiver em execução, uma janela de progresso será exibida. O processo pode ser cancelado a qualquer momento clicando no botão Cancelar na janela de progresso.
Essa opção geralmente é usada após um ajuste de feixe bem-sucedido. Após um ajuste de feixe, os parâmetros da câmera apresentam melhor qualidade e é provável que mais pontos de objeto possam ser medidos automaticamente. O procedimento geral consiste em excluir as medições excluídas pelo ajuste de feixe e, em seguida, executar esse processo para medir automaticamente quaisquer pontos de objeto não medidos. O ajuste de feixe pode então ser recalculado (consulte mais detalhes em Calculando o ajuste).
Observe que esse processo tentará encontrar (em cada imagem) apenas os pontos de objeto que atualmente não possuem medição. Se um ponto já estiver medido, a medição atual do ponto será mantida sem alterações.
9.9.13 Intersecção de todos os pontos
O comando de menu Medição | Intersecção de todos os pontos utiliza as posições e orientações atuais da câmera para todas as imagens e intersecta todas as medições da imagem para calcular as coordenadas do objeto. Essa funcionalidade é usada para estimar as coordenadas do espaço do objeto para pontos recém-medidos.
Ao realizar ajustes de feixe com cubos de calibração, essa opção não é utilizada.
9.9.14 Excluir medições de pontos rejeitadas
O comando de menu Medição | Excluir medições de pontos rejeitadas excluirá todas as medições de pontos que foram marcadas como rejeitadas (as medições de pontos podem ser rejeitadas por ressecções, intersecções ou ajuste de feixe; consulte Cores de pontos, Valores para rejeição de medição). Essa função é normalmente usada após um ajuste de feixe para excluir todas as medições de pontos rejeitadas.
Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see https://quarto.org.
9.10 Ajuste
Adjustment
Esta seção trata dos comandos de menu disponíveis no menu Adjustment. Esses comandos são usados para configurar e executar um ajuste do fardo das imagens (bundle adjustment). Antes de calcular um ajuste de fardo, é necessário realizar a resseção de todas as imagens, ver Section 4.9.1, e medir a maioria dos alvos na maioria das imagens (preferencialmente, todos os alvos visíveis em todas as imagens).
9.10.1 Critérios de convergência
Convergence criteria
Durante o ajuste do fardo, os parâmetros (coordenadas dos pontos do objeto, posições e orientações da câmera e parâmetros de calibração da câmera) convergem para um valor final. O grau de convergência pode ser ajustado com precisão, se necessário. Consulte também Section 4.10.3.
9.10.1.1 Object points
Pontos do objeto
Para ajustar os critérios de convergência dos pontos do objeto, use o comando de menu Adjustment | Object point convergence criteria. Uma janela será exibida, permitindo o ajuste dos critérios de convergência. Esse valor geralmente pode ser definido como 1/1000 das unidades do espaço do objeto, por exemplo, 1 mícron se as unidades do espaço do objeto forem milímetros.2
9.10.1.2 Camera positions and orientations
Posições e orientações da câmera
Para ajustar os critérios de convergência da posição e orientação da câmera, use o comando de menu Adjustment | Camera position and orientation convergence criteria. Uma janela será exibida, permitindo o ajuste dos critérios de convergência. Há dois valores: um para as orientações da câmera em unidades de segundos de arco e outro para a posição da câmera. As unidades para a posição da câmera serão em unidades do espaço do objeto x 1000. Os valores padrão são 1 segundo de arco para orientação e 1/1000 das unidades do espaço do objeto para posição (por exemplo, 1 mícron se as unidades do espaço do objeto forem milímetros).
9.10.1.3 Camera parameters
Parâmetros da câmera
Os critérios de convergência para os parâmetros da câmera podem ser definidos usando o comando de menu Adjustment | Camera convergence criteria. Cada um dos parâmetros da câmera (consulte Section 4.5.2) possui seus próprios critérios de convergência. A tabela a seguir fornece os valores padrão para os critérios de convergência da câmera.
9.10.2 Ajustes de configuração
Adjustment settings
9.10.3 Cálculo do Ajuste
Computing the adjustment
Após todas as imagens serem ressecadas e os alvos medidos em todas elas, o ajuste de feixe pode ser calculado. Para executar o ajuste de feixe, use o comando de menu Ajuste | Calcular ajuste de feixe na janela principal do CAL. Uma janela de progresso é exibida com um botão Cancelar. O ajuste pode ser cancelado a qualquer momento clicando no botão Cancelar (o processo não será cancelado até que a iteração atual seja calculada). A janela exibe informações sobre o progresso do ajuste (o número da iteração) e o sigma zero (que indica a qualidade do ajuste e idealmente deve estar próximo de 1). O ajuste primeiro calcula uma solução inicial, seguida por uma série de soluções de reponderação, onde as medições de baixa qualidade são removidas automaticamente do ajuste. Finalmente, as precisões e correlações dos parâmetros são calculadas.
Nesta etapa, haverá um ajuste convergido com sucesso ou um ajuste que não convergiu. Uma nova janela será exibida. Essa janela contém duas caixas de listagem: a caixa de listagem superior exibe um resumo do ajuste em texto, e a caixa de listagem inferior exibe detalhes sobre o ajuste.
Uma caixa de mensagem pode ser exibida com avisos sobre medições de distância excluídas e/ou baixa precisão relativa. Os avisos são baseados em cenários típicos de calibração de câmeras estéreo usando o hardware de calibração SeaGIS. Nesses casos, o ajuste final do feixe não deve apresentar medições de distância excluídas, e há expectativas em relação à precisão relativa. Veja detalhes nos tópicos a seguir. Ignore o aviso se ele não se aplicar especificamente ao seu uso do CAL.
Considerando o resumo do ajuste, a primeira linha indicará se o ajuste convergiu com sucesso ou se houve falha. Outras informações fornecidas serão:
- Indica se as observações da imagem foram reponderadas para obter um sigma zero de 1 (consulte Precisão da medição da imagem) e se a reponderação foi bem-sucedida. O valor de sigma zero é fornecido, assim como a nova estimativa da precisão da medição da imagem.
- Indica se algum aspecto do processo de ajuste falhou e, em caso afirmativo, fornece uma indicação do que deu errado. Isso pode incluir falha na convergência dentro do número máximo de iterações (consulte Ajuste) ou falha na resolução das equações normais (isso geralmente indica que não foram medidos pontos de objeto suficientes em imagens suficientes ou pode ser causado por restrições de pontos de objeto sem sentido).
- O resíduo médio da imagem (geralmente deve ser sempre menor que 0,3 pixels).
- O número total de parâmetros do modelo de ajuste, parâmetros restritos e redundâncias. O número de redundâncias para uma calibração de câmera estéreo geralmente será da ordem de 5.000.
- O número de medições de imagem e distância elegíveis e excluídas, e restrições de pontos de objeto. As medições excluídas não atenderam aos parâmetros definidos em Valores para rejeição de medição. Após um ajuste inicial, pode haver muitas medições de imagem elegíveis excluídas. Isso é normal. Ao usar o hardware de calibração do SeaGIS (um cubo), não deve haver nenhuma medição de distância elegível excluída – isso pode indicar: um cubo montado incorretamente, um cubo danificado ou localizações de pontos de ressecção medidas incorretamente.
- Avisos se houver pontos no espaço do objeto que não possuem coordenadas estimadas. Isso ocorrerá se novos pontos do objeto forem adicionados sem estimativas de coordenadas (isso nunca deve acontecer com projetos de cubo de calibração). Use a interseção para estimar as coordenadas (consulte Interseccionar todos os pontos).
- Avisos se houver distâncias medidas para pontos do objeto que não existem ou para pontos do objeto que não possuem coordenadas estimadas.
- Avisos se houver posições de câmera não selecionadas (consulte Medição de ponto).
- Avisos se houver medições de imagem feitas para pontos de objeto que não existem ou para pontos de objeto que não possuem uma coordenada estimada.
- Avisos se houver medições associadas a uma câmera que não faz parte de um projeto (pode ocorrer se uma câmera for excluída de um projeto existente, mas ainda houver medições associadas à câmera excluída).
- Avisos se forem usadas restrições estéreo e as restrições não tiverem sido estimadas ou envolverem posições de câmera inválidas ou não estimadas (consulte Restrições estéreo).
- A precisão relativa (consulte View object point summary). Para a calibração estéreo de um sistema de câmera de alta definição usando o hardware de calibração do SeaGIS (um cubo), esse valor deve ser em torno de 1:10.000 ou melhor. A precisão relativa pode ser prejudicada por: baixa visibilidade, iluminação inadequada (baixo contraste do alvo), imagens desfocadas, número insuficiente de pontos medidos ou cubo muito distante das câmeras.
Se o ajuste não convergir, os parâmetros que não estão convergindo serão relatados. A não convergência geralmente está associada a uma geometria de rede inadequada ou a um número insuficiente de medições em imagens suficientemente diferentes (isso nunca deve ocorrer com redes de calibração que envolvem cubos de calibração, como no Apêndice A - Orientações do cubo de calibração). Para forçar a convergência do ajuste, os critérios de convergência para os parâmetros que estão falhando podem ser ajustados para forçar a rede a convergir (consulte Critérios de convergência) ou o número máximo de iterações para o ajuste do feixe pode ser aumentado temporariamente (consulte Ajuste).
A caixa de listagem Detalhes fornece informações mais detalhadas sobre os resultados do ajuste. Todos os itens listados podem ser visualizados com mais detalhes clicando duas vezes sobre o item. As seguintes informações são fornecidas:
- Parâmetros da câmera: Para cada câmera, um resumo dos parâmetros da câmera. Essas informações são as mesmas exibidas em Edição de parâmetros da câmera. Certifique-se de que a distância focal esteja correta. Todos os outros parâmetros devem ter uma magnitude pequena – parâmetros com grande magnitude indicam um problema.
- Resumo dos pontos do objeto. Essas informações são as mesmas exibidas em Visualização do resumo dos pontos do objeto. Verifique se a precisão relativa está correta. O número de pontos não estimados deve ser 0. O intervalo entre os desvios padrão máximo e mínimo dos pontos deve ser pequeno. Se o desvio padrão máximo dos pontos for muito grande, isso indica que alguns pontos do objeto não foram medidos o suficiente para estimar as coordenadas com precisão. Esses pontos devem ser identificados e mais medições de imagem devem ser feitas nesses pontos.
- Coordenadas/precisões dos pontos do objeto. Essas informações são as mesmas exibidas em Viewing and manipulating object space points (Visualização e manipulação de pontos no espaço do objeto). Nesta janela, identifique os pontos que apresentam desvios padrão maiores que a média (sX, sY, sZ). Geralmente, eles terão um número menor de medições (Nº de Obs.) em comparação com outros pontos. É necessário realizar mais medições de imagem nesses pontos. Verifique rapidamente se as coordenadas dos pontos do objeto estão dentro do intervalo esperado.
- Orientação e posições da câmera (e observações da imagem). Essas informações são as mesmas exibidas em Dados de orientação da imagem. Nesta janela, examine todas as posições e orientações da câmera e certifique-se de que os valores sejam razoáveis (observe especialmente as posições da câmera que não se encaixam). Observe a precisão das posições da câmera (sX, sY, sZ) e das orientações (sOmega, sPhi, sKappa), bem como o número de medições em cada imagem (Nº de obs.). Esses valores devem ter magnitude semelhante em todas as imagens. Se uma imagem apresentar um desempenho particularmente pior, pode ser porque ela não possui medições suficientes dos pontos do objeto ou porque a qualidade da imagem pode ser inferior. Você também pode examinar as medições e os resíduos de uma imagem específica clicando duas vezes nela, embora o Resumo de resíduos da imagem abaixo possa ser mais útil.
- Resumo de resíduos da imagem. Estas são as mesmas informações descritas em Resumo de medições da imagem. Analise os resíduos médios da imagem e identifique quaisquer imagens que apresentem uma média visivelmente maior do que as demais. Investigue as medições e/ou a qualidade da imagem associadas a essas imagens. Frequentemente, uma imagem com uma média alta pode ter pontos de ressecção mal identificados ou medições feitas em alvos mal identificados. Nesses casos, é prudente excluir todas as medições da imagem com uma média alta e medi-la novamente. Uma média alta também pode ser causada por baixa qualidade da imagem (geralmente desfoque de movimento).
- Todas as medições da imagem. Estas são as mesmas informações exibidas em Visualizar/excluir medições da imagem. Classifique os dados nesta janela clicando duas vezes na coluna Rejeitadas para trazer todas as medições rejeitadas para o topo. Observe se as medições rejeitadas tendem a estar associadas a um ou mais pontos do objeto. Nesse caso, investigue todas as medições até o(s) ponto(s) específico(s) do objeto, pois a medição pode ter sido feita no ponto errado.
- Medições de distância. Esta opção só será exibida se houver medições de distância. As informações são as mesmas exibidas em Visualizando e manipulando distâncias. Verifique se alguma distância está sendo excluída (isso não deve acontecer com um cubo de calibração e indica que o cubo ou os alvos nele contidos podem ter sido danificados fisicamente).
- Visualizar correlações. Clicar duas vezes neste item abre outra janela que permite visualizar as correlações entre os parâmetros. Insira o coeficiente de correlação desejado; quaisquer parâmetros acima do coeficiente de correlação especificado serão relatados. Você pode optar por incluir ou excluir os parâmetros de posição e orientação (orientação externa) da câmera, conforme necessário. Após a configuração, clique no botão Fechar caixa de diálogo e uma nova janela será exibida mostrando quaisquer parâmetros correlacionados. Se a janela estiver vazia, não havia parâmetros acima dos limites prescritos.
- Restrições estéreo e resíduos. Esses dados só aparecerão se você usar restrições estéreo no ajuste de feixe (consulte Restrições estéreo). As informações e a interpretação são as mesmas que em Visualizando as restrições. Se muitos dos componentes de restrição estéreo estiverem sendo excluídos, a ponderação da restrição pode precisar ser relaxada (consulte Restrições estéreo).
- Restrições estéreo – orientação relativa. Esses dados só aparecerão se você usar restrições estéreo no ajuste de feixe (consulte Restrições estéreo). As informações e a interpretação são as mesmas que em Visualizando a orientação relativa.
Se o ajuste for bem-sucedido, o botão Aceitar na parte inferior da janela será habilitado. Após avaliar os resultados do ajuste e certificar-se de que o resultado é válido, clique no botão Aceitar para adotar o resultado do ajuste de feixe. Ao clicar no botão Aceitar, os parâmetros da câmera, as coordenadas dos pontos do objeto e as posições e orientações da câmera são atualizados com os resultados calculados no ajuste de feixe. Se o ajuste falhar ou o resultado não for satisfatório, clique no botão Cancelar para ignorar os resultados do ajuste. Nunca aceite os resultados de um ajuste de feixe questionável.
Após concluir um ajuste de feixe bem-sucedido, é recomendável excluir as medições de imagem que foram excluídas pelo ajuste (consulte Excluir medições de pontos rejeitadas).
Se houver muitos pontos do objeto que não foram medidos com sucesso (como geralmente ocorre quando não há informações de calibração anteriores para uma câmera), esses pontos agora devem ser medidos automaticamente com sucesso. Assim que o ajuste de feixe for calculado com sucesso, haverá parâmetros de calibração da câmera melhores, permitindo que os alvos não medidos sejam medidos automaticamente. O procedimento para medição automática de todas as imagens do projeto é descrito em Encontrar alvos em todas as imagens. Após a medição de mais alvos, o ajuste do feixe pode ser recalculado. Observe que nunca será possível medir todos os alvos em todas as imagens, pois alguns alvos inevitavelmente estarão ocluídos.
9.10.4 Razões pelas quais um ajuste de feixe pode falhar
Às vezes, o ajuste de feixe pode falhar, e pode ser difícil identificar exatamente por que isso está acontecendo. A seguir estão algumas razões e soluções comuns:
- O ajuste pode não convergir devido a uma ou duas medições realmente ruins. Se for possível forçar o ajuste a convergir ao menos uma vez, essas medições problemáticas serão identificadas e removidas.
Ajuste o máximo de interações usando o Ajustment | Ajustment settings e ponha o Maximum iterations em 500.
- Medições insuficientes para pontos suficientes. Às vezes, há uma tendência de calcular o ajuste de feixe antes de realizar medições suficientes em um número adequado de pontos do objeto e em imagens suficientes. Quando isso ocorre, o ajuste de feixe pode falhar completamente ou não convergir. Nesse caso, é simplesmente necessário realizar mais medições. O ajuste de feixe depende de redundância (muitas medições) para detectar e eliminar de forma confiável medições errôneas. Se não houver medições suficientes, a detecção correta dessas medições incorretas torna-se difícil e pode levar à falha do ajuste de feixe.
Não se preocupe em calcular o ajuste de feixe até que toda a sequência de calibração tenha sido medida (ver Apêndice A — Orientações do cubo de calibração). Se o processo de centroiding não estiver encontrando muitos pontos, tente ajustar o brilho e o contraste da imagem para realçar os alvos (Brightness and contrast). Também pode ser necessário ajustar a configuração de centróide “Minimum Pixel Intensity Range”, reduzindo esse valor (Editing and fine tuning settings).
- Um ajuste pode falhar se pontos medidos tiverem sido atribuídos a um ID de ponto incorreto. Se um ponto for medido de forma consistente e receber um ID incorreto em muitas imagens, isso causará confusão no ajuste de feixe (ou seja, o ajuste de feixe não conseguirá identificar com precisão que o ponto incorreto foi medido). Isso pode se tornar um problema sério se os pontos iniciais de resseção forem identificados incorretamente, pois, nesse caso, todos os demais pontos do objeto medidos automaticamente na imagem provavelmente também serão identificados de forma incorreta.
Percorra todas as imagens e verifique cuidadosamente se os pontos de resseção estão corretamente identificados em cada imagem. Se você encontrar uma imagem com pontos de resseção medidos incorretamente, a forma mais simples é excluir a imagem e medi-la novamente.
- Se você estiver tendo dificuldades com um ajuste de feixe, especialmente se tiver aceitado os resultados de um ajuste ruim, é recomendável recarregar o arquivo original de pontos do objeto (uma versão “limpa” do arquivo, e não aquela criada pelo ajuste que está causando problemas; ver Reading the object point file).
Após recarregar uma versão “limpa” do arquivo de pontos do objeto, utilize o comando de menu Measurement | Resect all images e, em seguida, calcule novamente o ajuste de feixe.
Se isso não for bem-sucedido, recarregue uma versão limpa do arquivo de pontos do objeto usando Object points | Read from file. Exclua todas as medições, exceto os pontos de resseção: Measurement | View/delete image measurements, ordene pela coluna Point ID e apague todas as medições de pontos, mantendo apenas os pontos de resseção (nos cubos SeaGIS, estes correspondem aos pontos 100, 101, 102, 103 e 104).
Em seguida, faça a resseção de todas as imagens com Measurement | Resect all images, depois localize os alvos com Measurement | Find targets in all images e, por fim, recalcule o ajuste de feixe
- Quando um ajuste não converge, examine o relatório resumo dos resíduos de imagem na janela Adjustment results. Observe os campos Valid points e Average magnitude.
Investigue qualquer imagem que apresente um Average magnitude mais alto do que o habitual (qualquer valor superior a três vezes a média) e qualquer imagem que tenha um número de Valid points inferior ao esperado (menos da metade dos alvos medidos). Em geral, a maneira mais simples é excluir essas imagens e medi-las novamente.
Veja também a seção a seguir.
9.10.5 Falha de ajustes com um cubo de calibração SeaGIS
Frequentemente, a razão para a falha de um ajuste de feixe está relacionada a estimativas inadequadas dos parâmetros da câmera, o que resulta em medições automáticas de imagem de baixa qualidade. Quando se dispõem de boas estimativas dos parâmetros da câmera (obtidas a partir de calibrações anteriores), geralmente não há problemas na execução do ajuste. Quando o ajuste falha ao utilizar um cubo de calibração de duas faces, uma estratégia útil é realizar a calibração usando apenas a face frontal do cubo. Isso fornece boas estimativas dos parâmetros da câmera, permitindo que, posteriormente, seja calculada uma calibração utilizando ambas as faces do cubo.
Para chegar ao ponto em que o ajuste de feixe está falhando, presume-se que você já tenha realizado um conjunto de medições no material de calibração. As instruções abaixo assumem que um projeto já foi criado e que existe um conjunto completo de medições:
Salve uma cópia das medições realizadas até o momento usando Measurement | Write measurement file. Nomeie o arquivo como “Complete”, ou algo similar, para indicar que se trata do conjunto original completo de medições.
Carregue uma cópia original “limpa” do arquivo do cubo de calibração (.PtsCAL) usando Object points | Read from file.
Exclua as medições referentes aos pontos da face traseira do cubo usando Measurement | Delete back face measurements.
Realize a resseção de todas as imagens usando Measurement | Resect all images.
Calcule o ajuste de feixe em Adjustment | Compute bundle adjustment.
Supondo que o ajuste de feixe seja bem-sucedido, exclua as medições de pontos rejeitadas usando Measurement | Delete rejected point measurements.
Reintroduza a face traseira do cubo utilizando Measurement | Find targets in all images.
Execute um novo ajuste de feixe (agora utilizando os pontos medidos nas faces frontal e traseira do cubo) e prossiga da forma habitual após a conclusão bem-sucedida do ajuste de feixe.