Página 1 de 2

Aquisicao de Imagem com ARM

MensagemEnviado: 31 Out 2007 22:12
por styg
Ta chegando a hora de fazer meu TCC, e comecei a trabalhar a respeito.
Minha ideia é de uma aplicaçao usando aquisicao de imagem, e algum processamento simples, como contagem de objetos por exemplo.

Pela simplicidade do projeto, descartei uso de DSP para tornar mais simples, e ja que ja trabalho com ARM essa é a opçao no momento.

A principio a ideia era utilizar um sensor como esse http://www.sparkfun.com/commerce/produc ... cts_id=637 , ou esse http://www.electronics123.com/s.nl/it.A/id.67/.f

Mas preciso decidir a respeito disso levando em conta minhas opçoes.. (considerando que o projeto pode vir a se tornar comercial, entao o custo tb eh importante)
1 - usar um desses sensores (carinho) mesmo, comunicando com o ARM
2 - usar essas cameras de vigilancia(barata) com saida analogica + decoder
3 - usar webcam (mais barata), dai tendo 2 alternativas:
3.1 - usar um ARM com usb host para ligar a webcam (imagino que seja a ideia mais F***)
3.2 - ver se consigo obter o sinal da webcam antes da usb (acho dificil)
outro problema em reaçao a webcam, é que a imagem ja vem comprimida em jpeg entao eu teria que descompactar pra analisar?

Se alguem teve paciencia pra ler até o final e tiver alguma sugestao, conselho, ideia, por favor, tenho ateh dezembro pra entregar o pre-projeto... ehhehe

up: dando uma googlada achei uns decoder jpeg, oq favoreceria o uso de uma webcam.
http://www.voicenet.com/~richgel/
http://www.saillard.org/programs_and_pa ... egdecoder/
http://sourceforge.net/projects/mb-jpeg

MensagemEnviado: 01 Nov 2007 22:54
por styg
Po pessoal,
24 horas..
48 exibiçoes..
1 voto..
0 reply..

:? :? :?

MensagemEnviado: 02 Nov 2007 02:22
por msamsoniuk
bom, eu estava pesquisando um negocio parecido para um mestrado q estou pensando em fazer (mas eu quero usar um coldfire canhao + um dsp cavalo). o q eu jah levantei sobre as diversas opcoes de cameras foi o seguinte:

a) webcam usb: eh um negocio projetado para baixo custo. normalmente usa um sensor cmos barato e um microcontrolador barato q comprime uma imagem pequena e envia algumas imagens pela interface usb. a interface em si nao tem muito bandwidth e, claro, comprimir video com um microcontrolador barato nao rende muitos frames por segundo. de quebra, normalmente eh um produto q o cara usa em cima do monitor para mostrar a cara na web, entao o conjunto optico eh ruim e, como diria o capitao nascimento, tentar usar uma webcam para aplicacoes serias significa q vai dar m**** e vai morrer gente.

b) camera ntsc: eh um circuito dedicado para gerar imagens com temporizacao ntsc, seja a tipica camera de seguranca monocromatica, seja uma camera RGB de maior qualidade. o sensor cmos (ou ccd) em si custa preco de banana e vc pode equipar ele com o conjunto optico q desejar, mas como eh um circuito analogico, o resultado vai depender de como vc vai digitalizar, entao, se vc quiser algo com qualidade broadcast 640x480 a 30 fps, vc vai precisar de um AD (caro) com banda de pelo menos 12M sample/s. eh bastante, mas eh considerado o minimo hoje para trabalhar com video (e olha q webcam usb nao arranha isso nem de longe!).

o maior pepino da camera ntsc eh que em qualidade broadcast ela intercala os frames impares e pares. isso gera um pepino dantesco para o processamento de imagem pq apesar de vc poder reagrupar as linhas, elas sao capturadas em tempos diferentes e isso faz q os objetos estejam em um lugar nas linhas impares e em outro nas linhas pares.

trabalhar com um volume menor de dados eh meio problematico no ntsc, pq a camera em si soh gera imagens com a mesma cadencia. o q vc poderia fazer eh sub-samplear em 6 ou 3M sample/s para pegar 320 ou 160 colunas, mas a camera vai continuar enviando 480 linhas a 30 fps. para sub-samplear em 240 e 120 linhas vc teria q dropar "manualmente".

c) camera LVDS (e outros bichos similares): projetado por engenheiros do BOPE, eles matam varios coelhos com o mesmo tiro de fuzil: integram o AD dentro do sensor cmos, de modo que o sinal jah sai digital (paralelo TTL ou serial LVDS), eliminam o entrelace e aumentaram a resolucao (comparavel a VGA, SVGA e varios modos HDTV). mas se vc achava os 12 M sample/s do NTSC muito, um sensor cmos destes operando em HDTV vai despejar 10x mais e a interface serial LVDS de uma camera destas opera tranquilamente na faixa de GHz, porem, diferentemente da camera ntsc, estas cameras costumam ser altamente controlaveis. uma camera em especial q eu estava pensando em usar tinha ateh facilidades de recorte e edicao da imagem na camera, atraves de parametros enviados via porta SPI.

para o sistema em si, a diferenca entre as tres cameras eh o bandwidth necessario e a quantidade de memoria por frame. para uma camera ntsc operando a 12M sample/s (640x480 a 30 fps) e amostras YUV de 16 bits vc precisaria de um bom sub-sistema de memoria, pq soh o DMA do frame para a memoria jah consome 24MB/s de banda. ter bastante memoria e bastante capacidade de cpu obviamente ajuda.

no caso de uma camera LVDS a banda eh cavalarmente maior e o mais certo seria despejar direto em um DSP cavalar dedicado para video, mas vc poderia tambem trabalhar apenas com uma sub-regiao de captura (ou mesmo setar uma resolucao menor) e diminuir consideravelmente a necessidade de banda e memoria. essas facilidades de funcionalidade vao depender apenas de qual cara do BOPE projetou o sensor q vc escolher, mas pode ser uma boa jogada se vc pesquisar bem.

MensagemEnviado: 02 Nov 2007 16:16
por styg
Ola Marcelo,
heeheh gostei das comparações a la 'tropa de elite'
realmente a sua ideia eh de uma projeto bem mais cavalo que o meu, só que no meu caso nao preciso me preocupar muito com banda, ja que soh vou analisar 1 imagem por vez, tipo, o cara coloca algo na frente da camera, aperta um botao, ela tira uma foto e analisa.
E como a resolução é baixa, tambem nao estou me preocupando com banda, ja que nao eh uma aplicaçao em tempo real, pode-se esperar alguns segundos ateh o resultado.

Essas cameras ntsc estao praticamente descartadas..
Entao sobra ou a webcam ou uma placa com a camera cmos.

valeu

Eu nao tenho as respostas, mas sei quem tem...

MensagemEnviado: 02 Nov 2007 19:48
por Andredeos
Da uma olhada em:

http://www.cs.cmu.edu/~cmucam/

Esses caras sao simplesmente os caras, eles sao da universidade americana Carnegie Mellon, e desenvolveram essa camera como projeto, e acabou se tornando um produto comercial. Como seu caso é um tcc, não deve querer chegar a tanto, mas eles tem uma boa base de informação.
A primeira, se não me engano, funcionava com um PIC, e a mais nova funciona com um LPC2148, bem conhecido aqui no Brasil.
Ela não faz apenas a captura, mas tem tambem varios algoritmos de tratamento de imagem ja embarcados.
Qto a escolha da camera, o "ideal" é vc escolher uma que ja tem saida digital, como as usadas em celular, que tem um barramento de dados paralelos, as aspas foram pq diversos fatores influenciam nisso, principalmente o preço e a disponibilidade desses produtos no nosso pais tupiniquim.
Espero ter ajudado.

MensagemEnviado: 02 Nov 2007 22:01
por ivan
Dá uma olhada neste link e ve se serve:
http://www.ovt.com/

Tem uns sensores cmos da National tb. Procura no site que eles mandam amostras.

MensagemEnviado: 03 Nov 2007 13:39
por styg
andredeos esse site da cmucam foi um dos primeiros que encontrei e realmente o melhor em informação, bem parecido com o q preciso.

ivan, na verdade a maioria dos sensores que tem por ai acho q sao da omnivision msm, o problema é que preciso da camera pronta ja com lente, por isso procuro os modulos tipo o cmucam.

Ja ate pedi datasheet de um sensor p ovt, eles mandaram um form de confidencialidade pra poderem ceder o datashhet, v c pode.. vou preencher e retornar pra ver c consigo informação sobre o sensor.

MensagemEnviado: 03 Nov 2007 21:45
por ivan
Dá uma olhada no site da National q tem algumas coisas lá.
Eu tenho uma evm da omni ov9620 se não me engano.

MensagemEnviado: 08 Nov 2007 16:01
por tcpipchip
Qual o tempo minimo entre imagens máximo que podes esperar?

MensagemEnviado: 10 Nov 2007 14:36
por styg
tcpip, 1fps ja ta otimo..

é como c fosse colocar uma folha com o desenho na frente do sensor.. dai captura a imagem, depois troca a folha por outro desenho, e captura novamente, e assim vai...

MensagemEnviado: 11 Nov 2007 09:34
por jeanfernandes
Sty,
Dá uma olhada no projeto vencedor do Contest no Circuit Cellar do Alberto (acho que AVR). Depois que voce capturar a imagem seja em JPEG, e por num componente Delphi padrão voce pode ver a imagem como um BMP sem problema, é varrer o componente e fazer o que bem entender. Ele armazena a imagem num SDCARD. Lá tem tudo, codigo fonte, esquema ,etc....O que ele faz off line voce poderá fazer online.
Eu imagino que dê pra usar a USB do ARM para transferir o bagulho pro PC.

Existe alguns componentes que facilitam e muito essa sua necessidade sem ter que usar Hardware para capturar a imagem da câmera. Tipo o TVideoGrabber. Basta conectar uma webcam, capturar a imagem de video, e dar um snapshot na imagem e salvar como quiser. Eu uso este componente num projeto multimídia e funciona primeira. Mas ae num sei se se aplica pro teu TCC, mas que funciona bem funciona.

Fuiz.

MensagemEnviado: 12 Nov 2007 09:25
por styg
entao jean, a ideia é quero algo independente do pc, quase que portatil..
mesmo sabendo que conectando ao pc simplificaria meu hardware.
vou olhar esse projeto ai, valeu :)

MensagemEnviado: 04 Fev 2009 14:59
por Renato
jeanfernandes escreveu:Sty,
Dá uma olhada no projeto vencedor do Contest no Circuit Cellar do Alberto (acho que AVR).


Ele usa o módulo câmera ITM-C-328, comunicação serial máximo 115200bps.
Alguém vende este módulo no Brasil ?
Alguma outra opção similar de câmera, mas com maior velocidade
de comunicação (SPI preferencial) ?

MensagemEnviado: 09 Fev 2009 19:55
por tcpipchip
Eu tenho ela...
E-mail me private
115200 serial nao SPI, bit oriented, fiz exemplo em BASIC

MensagemEnviado: 15 Fev 2009 10:59
por gpenga
Bem no Ano passado eu desenvolvi um circuito com um ARM7 LPC2138 e o AD TLC5540 da Texas um circuito de captura de imagens para uma camera monocromatica destas de vigilancia, usei ele para fazer uma equipe de futebol de robo e o meu tcc, ganhamos o 3 lugar no sulamericano de futebol de robos categoria f-180.
O sistema ainda tinha um LCD de celulara para mostras as imagems capturadas e processadas, mais uma resolucao baixa, 176X205 com 30 quadros por segundo.
mais funcinou bem !
A principal vantegem o custo! fizemos com uns 3000 reais uns 10 robozinhos.
A principal desvantagem !
A qualidade das imagens ruins e a capacidade de processamento limitado .
Mais usei o sistema em diversos robos e me atende bem ate hoje no youtube tem um robo meu que participou de uma competicao de robos submarinos, quase sempre ele ia atras das bolinhas .

http://www.youtube.com/watch?v=QNY_u1ou06A

http://www.youtube.com/watch?v=VToyALVWjsE

http://www.youtube.com/watch?v=601khwVSMnA


Mais estou trabalhando num sistema com o Blackfin, para este ano a faculdade liberou uma verba. :D

Bem o importante e vc verificar qual sistema atente melhor a sua necessidade.