Você deve começar calculando quantos quadros por segundo precisa e quanta resolução de câmera pode processar nessa taxa de quadros. Se nada mais, isso impedirá que você gaste demais ou compre uma câmera que não atenda às suas necessidades.
Além disso, há uma variedade de recursos que tornam a escolha mais difícil / interessante. Câmeras diferentes (especialmente câmeras de rede como Axis) permitem alterar a qualidade da imagem ou especificar uma taxa de bits máxima para o fluxo de imagens. Algumas câmeras também oferecem opções de velocidade do obturador, permitindo um tempo de exposição constante ou uma iluminação média constante na imagem. Algumas câmeras são mais sensíveis que outras (a última vez que trabalhei com isso foi em 2009, e percebemos que o PS3 Eye se saiu muito bem em condições de pouca luz).
Provavelmente, a melhor coisa que você pode fazer seria executar seus algoritmos de processamento de imagem em algumas imagens estáticas que você tira com uma DSLR e tentar reduzir o tamanho e a qualidade do quadro para ver onde as coisas começam a falhar.
Esse é um tópico interessante e não é muito fácil de acertar na primeira tentativa. Da experiência com isso, aqui estão as coisas mais importantes.
Sincronização . A câmera deve estar 100% sincronizada. Por exemplo, digamos que o UGV esteja dirigindo a modestos 36 km / h (10 m / s) e gravando quadros a 30 quadros por segundo. Ou seja, em todos os quadros o UGV cobriria 3m. Agora, digamos que sua sincronização esteja desativada em 1ms, uma das câmeras estará desativada em ~ 0,3m, o que é ruim [bem no topo da minha cabeça]. Problemas de sincronização são muito difíceis de detectar.
Resolução . No contexto do estéreo, nos referimos à resolução de profundidade, ou quanta profundidade podemos resolver, dada uma mudança na disparidade. Uma excelente explicação pode ser encontrada aqui http://pub1.willowgarage.com/~konolige/svs/disparity.htm A equação que você deseja examinar é uma função da distância focal da imagem e da linha de base estéreo.δZ= Z2B fδd δZ B f δZ δd δd 1 / 2 δd .
Sobreposição . Você deseja se sobrepor entre as câmeras para obter estéreo. Portanto, você precisa escolher uma combinação de distância focal da lente (campo de visão) e linha de base para ter sobreposição suficiente para o aplicativo. Basicamente, a trigonometria funciona no quadro ou um script matlab / python rápido.
Para UGVs, existem dois usos para estéreo.
Estimativa de navegação e pose Neste caso, você provavelmente precisará de uma linha de base grande + distância focal longa. Isso permite que o aparelho de som veja e resolva melhor a profundidade e alcance mais longo.
Detecção e prevenção de obstáculos Você provavelmente precisará de uma linha de base mais curta e uma lente mais larga (menor distância focal) para poder focar em coisas muito próximas a você.
Alguns UGVs podem ter configurações estéreo, o grande campo de visão estreito da linha de base para navegação e outro ou dois para evitar obstáculos.
Tenha muito cuidado com o que você compra. Algumas empresas oferecem configurações estéreo já construídas. Eles são ótimos em termos de robustez, não perdem a calibração com facilidade e estão sempre sincronizados. O problema é que os disponíveis comercialmente têm uma pequena linha de base. Se você deseja construir o seu próprio. Suponho que você acabará fazendo isso, verifique se a câmera é sincronizável . O Firewire é ótimo para isso, duas câmeras no mesmo barramento sincronizam com precisão de 125 microssegundos imediatamente! As câmeras USB e Gige são difíceis de sincronizar. Quando você junta tudo, quer ter certeza de que as lentes não se moverão e a linha de base é rígida, muito rígida para a aplicação.
Também tenha cuidado na seleção de lentes. Nem todas as lentes funcionam com todas as câmeras. As lentes também têm uma resolução. Este é outro tópico, aqui está um pequeno artigo sobre este http://www.qualitymag.com/articles/90642-qa--selecting-lenses-for-machine-vision-systems
fonte