Visão Computacional
Alessandro L. Koerich
Programa de Pós-Graduação em Engenharia Elétrica Universidade Federal do Paraná (UFPR)
Interfaces Câmera–PC
Introdução
• A medida que a resolução das câmeras torna-se
maior e as taxas de quadros mais rápidas: demanda por interfaces rápidas
• Qual a implicação da resolução e taxa de
Introdução
• Exemplo: câmera com resolução 640 x 480
pixels, 8 bits por pixel e 30 quadros por segundo Tamanho de cada quadro:
640 x 480 x 8 = 2.457.600 bits ou
Introdução
• Exemplo: câmera com resolução 640 x 480
pixels, 16 bits por pixel e 30 quadros por segundo
Tamanho de cada quadro: 640 x 480 x 16 = 4.915.200 bits
ou
Introdução
• Exemplo: câmera com resolução 640 x 480
pixels, 24 bits por pixel e 30 quadros por segundo
Tamanho de cada quadro: 640 x 480 x 24 = 7.372.800 bits
ou
Introdução
• Exemplo: câmera com resolução 640 x 480
pixels, 32 bits por pixel e 30 quadros por segundo
Tamanho de cada quadro: 640 x 480 x 32 = 9.830.400 bits
ou
Questão?
• Para transmitir um vídeo com resolução
640x480, 32 bits por pixel e capturado a 30 fps, qual a banda necessária?
Tamanho de cada quadro: 9.830.400 bits x 30fps = 294.912.000 bits/s
ou
36.864.000 bytes/s ou
Introdução
• Logo:
Maior Resolução Maior Banda
Maior Número de Cores Maior Banda Maior Taxa de Quadros Maior Banda
Interfaces
• As principais opções para câmeras industriais
digitais:
– Gigabit Ethernet (GigE)
– Camera Link (CL) – USB3.0? – 10GigE? • Outras opções: – FireWire (a/b) – USB 2.0
Interfaces
• Normalmente, FireWire e USB 2.0 não se
prestam para aplicações high-end!
• Em aplicações onde a distância ao processador
é curta, FireWire e USB são as escolhas
• Em sistemas dispersos em áreas amplas, GigE
Interfaces
• A escolha da interface depende:
– da velocidade
– da sincronização
– da geografia.
• Somente GigE permite longas distâncias em
cabos normais (Cat5e ou Cat6)!
• Camera Link (CL) é mais rápido que qualquer
outra interface. Somente CL inclui facilidades para disparo em tempo real (real-time
Firewire 1394a
• Grande uso com periféricos multimídia como câmeras de vídeo digital, discos rígidos, impressoras.
• Esta integrado em Power Macs, iMac, eMacs, PowerBooks, iBooks, e iPod.
• Opera a até 400 Mbps (1394a) e 800 Mbps (1394b).
• É uma implementação independente de plataforma.
Firewire 1394a
• Características:
– Fácil de usar
– Conectividade de baixo custo
– Boa definição de padrão
– Transferência robusta de imagem
– Interface de software padronizado conhecido como DCAM (IIDC) torna a integração fácil.
Camera Link
• Fácil integração câmera / frame grabber
• Conectores, cabos, formato de dados e controle
de sinal padronizados.
• Os chipsets Camera Link possuem altas taxas
de dados, perfeita para os requisitos de
transmissão de imagens atuais e expansível para necessidades futuras.
Camera Link
• Camera Link é direcionada a requisitos de
interface ponto-a-ponto e transferência de imagens absolutamente determinística.
Comparativo Interfaces Digitais
• Diversos parâmetros devem ser considerados
na seleção de uma interface digital:
– A taxa de transferência de dados afeta diretamente o número de quadros por segundo que uma câmera é capaz de fornecer, como uma função da resolução da câmera e profundidade dos pixels.
• Os parâmetros mais importantes são
Comparativo Interfaces Digitais
• USB 3.0?
– Começam a surgir alguns produtos baseados nesta nova tecnologia (2010).
– Intel fornecerá suporte somente a partir de 2011
– Características:
• "SuperSpeed" bus com transferência de 4 Gbit/s.
Placas de Aquisição (Frame Grabber)
• Muito processamento de imagem envolve o uso
de computadores. Placas de captura permite transferir os sinais da câmera em um
computador para análise.
• Para um sinal analógico (NTSC, PAL, YC, etc.),
a placa contém um conversor analógico-digital (ADC) para digitalizar o sinal.
• Outras, possibilitam a visão tempo-real do sinal.
GigE
• Está se tornando um padrão de interface
• Amplamente aceita, pois se baseia em uma
tecnologia bem estabelecida.
• Extensão clara para o futuro (10GigE).
• Contudo, depende também do balanço entre
pré-processamento na câmera e processamento central em um computador dedicado com
GigE
• Utiliza a tecnologia IEEE802.3 1000BASE-T
• Conexões de até 100 metros
• No padrão 1000BASE-T são utilizados os
quatros pares disponíveis no par trançado, por este motivo que ele consegue transmitir a 1000 Mbps.
GigE Vision
Padrão GigE Vision
• O padrão, que se baseia no UDP/IP, compreende quatro definições principais:
1. Um mecanismo que permite a aplicação detectar e enumerar
dispositivos e definir como os dispositivos obtém um endereço IP válido.
2. GigE Vision Control Protocol (GVCP) que permite a
configuração dos dispositivos detectados e garante confiabilidade na transmissão.
3. GigE Vision Steaming Protocol (GVSP) que permite as
aplicações receber informação dos dispositivos.
4. Registradores Bootstrap que descrevem o dispositivo
propriamente dito, ou seja, endereço IP atual, número de série, fabricante, etc.
Desempenho GigE Vision
• GigE Vision utiliza um Network Interface Card (NIC).
• Entretanto, os fabricantes de NICs fornecem drivers que utilizam IP-stack Windows ou Linux!
– IP-stack: é sujeito a comportamento imprevisível como atrasos
na transferência de dados.
• Esta limitação é superada por drivers que fazem
streaming de dados diretamente na memória a nível de kernel (DMA transfers).
– O DMA transfer quase elimina qualquer intervenção da CPU –
Desempenho GigE Vision
• Geralmente temos dois drivers disponibilizados
pelos fabricantes de câmeras:
– Filter Driver: separa os pacotes IP e transfere os pacotes de dados de imagem diretamente para a aplicação.
– High Performance Driver: separa os pacotes e os transfere diretamente para a aplicação via DMA. Específico para chipsets NIC.
Aplicações Múltiplas Câmeras GigE
• Todos os dispositivos em uma rede
compartilham a largura de banda disponível (100Mbytes/s).
• Quando mais câmeras forem penduradas em
uma mesma rede, a taxa de quadros máxima (fps) vai cair.
• Pode ser utilizado um switch para conectar
Aplicações Múltiplas Câmeras GigE
• Todos os dispositivos em uma rede
compartilham a largura de banda disponível (100Mbytes/s).
• Quando mais câmeras forem penduradas em
uma mesma rede, a taxa de quadros máxima (fps) vai cair.
• Pode ser utilizado um switch para conectar
múltiplas câmeras a um NIC. A banda será compartilhada.