Solução barata para fotografar com várias (> 2) câmeras sincronizadas (genlock ou LANC?)


10

Estou pesquisando fenômenos naturais na visão computacional e estou procurando um método de gravar vídeos de vários ângulos de câmera. É provável que o assunto se mova de maneira muito irregular, portanto, qualquer problema de sincronização entre as câmeras será um problema. Imagine uma chama ou água corrente, é difícil dizer exatamente, mas será necessário microssegundos em vez de milissegundos. Desejarei usar até 8 câmeras, idealmente restritas pelo orçamento, em vez da capacidade de mantê-las sincronizadas.

As câmeras que o departamento possui são DSLRs da Canon, no entanto, após muita pesquisa, parece inviável sincronizá-las, especialmente com esse nível de precisão. Portanto, se eu encontrar câmeras acessíveis que possam ser sincronizadas facilmente, poderemos comprar algumas.

As duas opções disponíveis para mim parecem ser genlock e LANC. Pelo que sei, não vou conseguir uma única câmera compatível com genlock por menos de, digamos, £ 5000. Mesmo esquecendo o sinal de genlock, é demais para nós podermos comprar um, muito menos 8. A coisa LAN / Sony / Canon parece mais viável, no entanto, não consigo encontrar nenhuma informação confiável sobre como proceder para configurar isso ou quais câmeras realmente suportam e que estão disponíveis agora. Eu continuo chegando a um beco sem saída tentando investigar isso, e não ajuda que a maioria das pessoas esteja tentando gravar apenas em estéreo. Alguém pode me aconselhar sobre qual configuração precisaríamos e quanto custaria aproximadamente? Ou se houver alguma outra solução de sincronização que alguém queira recomendar? Facilidade e custo são os maiores fatores!

Obrigado! E espero que isso não pareça uma pergunta de recomendação de compras. Embora eu queira fazer compras, eu realmente só preciso de ajuda para entender as técnicas de sincronização, e vou descobrir o que comprar depois disso!


Se você está preocupado com uma diferença de 8 milissegundos, não acha que precisa alugar câmeras que fotografam em ultra slomo como 200 fps +? O bloqueio GEN provavelmente seria incluído nessas câmeras.

Idealmente, eu adoraria poder alugar essas coisas, mas, novamente, o custo é proibitivo. Nada no nível do consumidor (que eu descobri) tem genlock, mesmo as câmeras de alta fps. E mesmo os 'fps altos' ainda não são nem altos o suficiente para dar sincronização do tipo genlock com apenas uma claquete. Eu ainda acho realmente difícil rastrear se uma câmera tem ou não genlock, parece algo compreendido pela indústria, do qual estou completamente alheio. De qualquer forma, obrigado por responder a um tópico tão antigo :).
Andrew Chinery

Eu fiz uma pergunta semelhante no caso de você estiver interessado: video.stackexchange.com/questions/12312/...
Kozuch

Respostas:


5

Um ano depois de postar esta pergunta, estou recebendo alguns comentários e respostas extras, o que é realmente ótimo. Tecnicamente, ainda é um problema, mas deixe-me compartilhar o que aprendi no ano passado, caso alguém tropeça nesta página com um problema semelhante.

Nós criamos duas soluções baratas para o problema que eu acho que vão funcionar, nas condições certas.

  1. Use uma luz estroboscópica de alta velocidade. Isso funciona apenas se o objeto não emitir luz (infelizmente não é o meu caso) e pode ser colocado em uma sala muito escura. Consiga uma luz estroboscópica muito rápida e precisa e defina-a para disparar na mesma frequência que as câmeras, digamos 50fps / 50hz. Em seguida, defina a velocidade do obturador de todas as câmeras para 1/50 de segundo, ou seja, o obturador está sempre aberto. Coloque o assunto em uma sala muito escura e defina a abertura para que o vídeo apareça em preto sem a luz. Em seguida, ilumine com a luz estroboscópica. Os vídeos serão naturalmente sincronizados, porque a única luz que eles recebem é do estroboscópio, e isso acontece uma vez por quadro. A dificuldade está em obter um estroboscópio preciso o suficiente. Mas ouvi dizer que eles são usados ​​em operações de fabricação pesadas para inspecionar lâminas / rodas / correias etc., que não podem ser desligadas. Você acende a ferramenta apenas com um estroboscópio que possui controle analógico e aumenta lentamente a velocidade do estroboscópio. À medida que você alcança a frequência da ferramenta, ela parecerá desacelerar e, eventualmente, parar. Agora você pode inspecionar problemas. Apenas não toque;).
  2. Use o sinal vsync no vídeo composto das câmeras. Isso é inspirado em http://samj.snappages.com/ . Esse sinal é enviado regularmente a cada quadro e, com alguns componentes eletrônicos, você pode medir a diferença entre o sinal em duas (ou mais) câmeras diferentes. Você pode ligar e desligar a câmera (ou, em algumas câmeras, tirar uma foto. Mais sobre isso mais tarde ...) e medi-la novamente e assim por diante. Se você é inteligente com o tempo no ciclo de potência, pode aproximá-los cada vez mais de um limite. Nós não acabamos tentando isso apenas porque não acabamos construindo o circuito, e achamos que isso seria complicado demais para trabalhar, especialmente com mais de duas câmeras.

Como eu disse, nós não acabamos fazendo nada disso. Acabamos fazendo uma oferta de financiamento para um sistema não-barato, projetado para esse fim exato, de uma empresa como a NorPix. Eles são sincronizados pela Ethernet e são configurados. Eu nunca fui capaz de descobrir como exatamente (protocolo etc) eles usam ethernet para sincronizar, portanto, se alguém quiser explicar que eu estaria muito interessado. Na última vez em que fui atualizado, disseram-me que encontramos algum dinheiro, mas é claro que, se você souber algo sobre burocracia acadêmica, não ficará surpreso ao descobrir que ainda estou esperando o equipamento!

Se alguém tiver uma ideia mágica que atinja a sincronização verdadeira de forma barata, ainda estou aberto a sugestões.

Para finalizar, mencionarei uma estratégia que não funcionou nos meus testes. E esse é o único neste site: http://3dfilmfactory.com/index.php?option=com_content&view=article&id=93:gen-lock-canon-5d-mark-ii-cameras-and-shoot-3d

É verdade que temos hardware diferente, Canon 60Ds, e tivemos lançamentos de obturador sem fio de marca muito baratos. No entanto, não tenho motivos para pensar que eles causaram alguma diferença perceptível na configuração do link. Configurei testes usando um dispositivo de LED, como Bokan sugeriu em sua resposta, e a diferença média na sincronização caiu apenas cerca de 1 ms depois de usar o disparador do obturador sem fio em comparação com os testes de controle e, às vezes, piorava. Não fiz nenhuma análise estatística, mas suspeito que não seria significativo em comparação com o acaso. Eu acho que é muito provável que a 3D Film Factory não estivesse gravando material em que notaria o problema de sincronização ou seu hardware mais caro fornecesse um resultado um pouco mais confiável que ainda não é mensurável. Escalando para mais de 2 câmeras, eu

No entanto, usando o disparador remoto faz redefinir o vídeo. Se você usar o botão 'gravar' nas câmeras (ou no controle remoto), ele simplesmente começará a salvar as imagens que já estão sendo processadas. Em outras palavras, se você medir a sincronização em vários testes diferentes sem desligar a câmera, tirar uma foto ou deixá-la entrar no modo de economia de energia, a sincronização será a mesma. Você pode incorporar esse mecanismo ao número de abordagem (2) acima: em vez de ligar e desligar as câmeras, as câmeras poderiam tirar fotos até que os sinais vsync estivessem alinhados. Seria um dispositivo interessante, mas nunca conseguimos realmente construí-lo.

Obrigado novamente por todas as sugestões. Espero que um dia alguém ache isso útil, e os meses que perdi tentando resolvê-lo economizarão um pouco de tempo!


Esse cara parece estar a fazer um hack HW com vsync para obter um vídeo composto em sincronia: letsmakerobots.com/node/29869
Kozuch

2

Eu fiz fotos DSLR de 4 câmeras com equipamento Nikon (D7000 e D3S). Para as nossas fotos, simplesmente fizemos um clapstick depois de todas as câmeras rodarem E logo antes do corte, então tivemos dois pontos de sincronização. Nosso tiro mais longo durou cerca de 18 minutos, e não houve desvio perceptível na sincronização no sistema de postagem. Embora o genlock seja o caminho PREFERIDO, descobri que muitos equipamentos digitais estão ~ próximos o suficiente ~ (diabos, gravei um videoclipe com a reprodução de um CD boombox e uma câmera de velocidade constante (sem controle de cristal) motor e foi ligado.

Para algo em menos de um minuto, como o seu projeto parece, estou bastante confiante de que você não precisará se preocupar com a sincronização.

Basta pegar uma tábua de passar, certifique-se de que todas as câmeras possam vê-la com clareza e em EXECUÇÃO, depois bata nela. Sem cortar, basta reposicionar o foco e a distância focal para onde você precisa para a foto. Capture a foto e, novamente, sem cortar, diminua o zoom para onde todas as oito câmeras possam ver o clapstick e bater palmas. Então você pode cortar suas câmeras. Sincronize os quadros onde o clapstick atinge as 8 fotos, e viola.

Boa sorte!


2
O problema não é um desvio, mas sim diferenças de milissegundos entre as câmeras que acontecem na inicialização. por exemplo, mesmo supondo que eu esteja gravando as duas câmeras a 60fps, isso significa que há ~ 16ms entre as "fotos" no vídeo. Na pior das hipóteses, duas câmeras podem ter 8ms de saída e isso seria totalmente incorreto na postagem, só é possível mover um quadro "para a esquerda ou direita" sem interpolar / falsificar um fps maior e um quadro é um movimento de 16ms, portanto você passa de 8ms para trás e 8ms na frente. Para muitos assuntos, isso provavelmente não é problema, mas infelizmente não são chamas tremeluzentes! Obrigado mesmo assim.
Andrew Chinery

1

Se sua pesquisa envolver alguma análise de movimento, considere fotografar com FPS alto. Você obterá uma melhor sincronização por padrão, pois o erro de sincronização não pode exceder o intervalo de tempo entre dois quadros.

Filmar em alta taxa de quadros em alta resolução custa muito, mas você pode trocar a resolução por FPS em câmeras baratas (como câmeras esportivas). A resolução geralmente é menos importante do que pensamos. A visão por computador tem precisão de subpixels. Se você mover um objeto branco sobre um fundo preto, a borda ficará com um atalho (cinza). Se o seu software levar em conta esses tons de cinza, teoricamente é possível obter uma precisão de 1/256 pixels de largura. Mas, para que isso funcione, é necessário ter dados descompactados, pois a quantificação da compressão compacta as cores e, portanto, altera as informações.

Para uma solução de sincronização barata, posso pensar nisso:

  • ligar todos os botões de partida eletricamente
  • crie um pequeno dispositivo led com vários leds exibindo um tempo preciso em binário (um led por bit), mostre esse dispositivo para cada câmera e sincronize manualmente as fotos. Tipo de palmas avançadas.

A diferença de sincronização pode ser tratada no lado do software. Se você estiver estudando o movimento, poderá analisá-lo em 2D para cada câmera e interpolar os resultados de uma câmera para adivinhar qual era a posição no momento capturada pela outra câmera. Pergunte se isso não está claro para você.

Essa compensação de software é definitivamente o caminho a percorrer. Especialmente se você tiver que compensar também o efeito do obturador de rolamento que a maioria das câmeras possui. A parte superior do quadro é filmada ligeiramente antes da parte inferior do quadro.


Definitivamente, é preferível uma alta taxa de quadros, a resolução não é um grande problema (embora muitas câmeras de baixa resolução de alta taxa de quadros também tendam a ter uma qualidade de imagem terrível). Mas fui informado por pesquisadores anteriores (cujo trabalho estou trabalhando) que a sincronização de fios é necessária para o sistema deles. Para imitar isso apenas com uma alta taxa de quadros, eu precisaria de mais de 1000 FPS. Talvez eu pudesse me safar menos, mas realmente postei a pergunta por falta de entendimento dos métodos de sincronização de hardware. Já temos um dispositivo LED, como você sugere. Mas obrigado pela resposta!
quer

Lembre-se de que tirar uma foto é apenas capturar luz. Você precisa de tanta luz quanto possível para obter um tempo de obturador mais rápido e imagens nítidas.
Bokan

Certo, e é por isso que as câmeras de baixa resolução também tendem a ter uma qualidade terrível a altas taxas de quadros. Embora a gravação de vídeo signifique que você recebe muita luz! Investigamos a compensação de software e isso cria mais dores de cabeça do que resolve neste caso. Eu estou procurando por 'verdade do solo', elas serão usadas para reconstruções e artefatos de movimento causarão problemas enormes, mesmo ignorando o fato de que isso minaria a alegação de ser de dados reais. Além disso, pesquisas feitas em chamas, em particular, mostraram que é quase impossível interpolar quadros.
Andrew Chinery

-1

Eu acho que a solução é bastante simples, segure um cronômetro grande na frente de duas câmeras nos primeiros segundos; durante a edição pode ser facilmente sincronizado. Eu usei esses métodos, funcionando bem.


11
Esta não é uma solução. A solução correta é adquirir câmeras compatíveis com GENLOCK. O GENLOCK garante que os obturadores das duas câmeras estejam sincronizados. Simplesmente não existe outro mecanismo que garanta qualquer consistência de sincronização com base em qualquer tentativa de iniciar as câmeras ao mesmo tempo.
Michael Tiemann

@MichaelTiemann está correto. Como indiquei acima, o problema não estava alinhando o vídeo durante a edição, de fato, uma única descarga de flash é muito mais simples (já que estávamos gravando no escuro). O problema estava sincronizando a captura real dos próprios quadros. Como acho que também comentei que a solução que acabamos usando foi comprar câmeras com sincronização adequada (não sei se era GENLOCK ou não, elas vieram de uma empresa de câmeras científicas e trabalharam com Ethernet). Também isso foi há 5 anos! Mas agradeço a esta pergunta ainda ocasionalmente recebe comentários ...
Andrew Chinery
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.