visão computacional - ufpr · 2010-09-21 · • entretanto, os fabricantes de nics fornecem...
TRANSCRIPT
Visão Computacional
Alessandro L. Koerich
Programa de Pós-Graduação em Engenharia ElétricaUniversidade Federal do Paraná (UFPR)
Interfaces Câmera–PC Analógica, Firewire, GigE, Camera Link, USB
Visão Computacional 2010 [email protected]
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 quadros?
Visão Computacional 2010 [email protected]
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
ou307.200 bytes
Visão Computacional 2010 [email protected]
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
ou614.400 bytes
Visão Computacional 2010 [email protected]
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
ou921.600 bytes
Visão Computacional 2010 [email protected]
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
ou1.228.800 bytes
Visão Computacional 2010 [email protected]
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
ou36.864.000 bytes/s
ou35,15Mbytes/s ou 281,25Mbits/s
Visão Computacional 2010 [email protected]
Introdução
• Logo:Maior Resolução Maior BandaMaior Número de Cores Maior BandaMaior Taxa de Quadros Maior Banda
Visão Computacional 2010 [email protected]
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
Visão Computacional 2010 [email protected]
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 é a interconexão escolhida.
Visão Computacional 2010 [email protected]
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 triggering).
Visão Computacional 2010 [email protected]
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.
• Cabeamento simples, hot swapping.
Visão Computacional 2010 [email protected]
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.
Visão Computacional 2010 [email protected]
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.
Visão Computacional 2010 [email protected]
Camera Link
• Camera Link é direcionada a requisitos de interface ponto-a-ponto e transferência de imagens absolutamente determinística.
Visão Computacional 2010 [email protected]
Camera Link
Visão Computacional 2010 [email protected]
Camera Link
Visão Computacional 2010 [email protected]
Comparativo Interfaces Digitais
Visão Computacional 2010 [email protected]
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 apresentados no quadro a seguir.
Visão Computacional 2010 [email protected]
Comparativo Interfaces Digitais
Visão Computacional 2010 [email protected]
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.• 3.2 Gbit/s (0.4 Gbyte/s ou 400 MByte/s), utilizável.
Visão Computacional 2010 [email protected]
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. Pode-se capturar imagens e salvá-las para futura manipulação e impressão.
Visão Computacional 2010 [email protected]
Placa de Captura
Visão Computacional 2010 [email protected]
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 múltiplas câmeras.
Visão Computacional 2010 [email protected]
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.
Visão Computacional 2010 [email protected]
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.
Visão Computacional 2010 [email protected]
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 –
crítico quando aplicações em tempo real necessitam de toda a CPU para processar imagens.
Visão Computacional 2010 [email protected]
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.
Visão Computacional 2010 [email protected]
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.
Visão Computacional 2010 [email protected]
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.