LusoRobótica - Robótica em Português

Robótica => Discussão geral sobre robótica => Tópico iniciado por: guibot em 18 de Fevereiro de 2009, 19:50

Título: Discussão: Processamento de imagem
Enviado por: guibot em 18 de Fevereiro de 2009, 19:50
a minha ideia é mesmo essa.. e ainda mais.. usar a camara para fazer análise de imagem no computador através de computer vision e enviar dados de navegação de volta para o robot..   :)
Título: Re:Tankah
Enviado por: msaleiro em 18 de Fevereiro de 2009, 21:55
e consegues utilizar uma câmara dessas (analógica) no pc como se fosse uma webcam?
Título: Re:Tankah
Enviado por: guibot em 18 de Fevereiro de 2009, 22:15
as camaras wireless veêm com um receptor de sinal, depois só precisas de um conversor de sinal video para usb
Título: Re:Tankah
Enviado por: ricardo-reis em 18 de Fevereiro de 2009, 22:23
há camaras pra isto baratas.. ou vá.. a 30 e tal euros.. na inmotion acho k há..
Título: Re:Tankah
Enviado por: msaleiro em 18 de Fevereiro de 2009, 22:31
e consegue-se boas fps com isso?
Título: Re:Tankah
Enviado por: ricardo-reis em 18 de Fevereiro de 2009, 22:37
http://www.inmotion.pt/store/product_info.php?cPath=17_32&products_id=102 (http://www.inmotion.pt/store/product_info.php?cPath=17_32&products_id=102)

é tudo o que sei, se era pra mim a pergunta..
Título: Re:Tankah
Enviado por: msaleiro em 18 de Fevereiro de 2009, 22:42
Era para ti e para o guibot. Esses dados são da camara analogica. O que eu estava a perguntar era se com essa camara analogica + o frame grabber para obter as imagens digitais no computador era possível obter umas boas taxas de frames por segundo.é que os algoritmos de visão computacional podem ser bastante exigentes a nível de processamento e se não houver uma boa taxa fps,e ainda levando com os algoritmos em cima pode-se tornar uma coisa bastante lenta.
Título: Re:Tankah
Enviado por: guibot em 18 de Fevereiro de 2009, 22:56
a que eu tenho em mente é deste genero, curiosamente nao dizem as fps
http://www.velleman.be/ot/en/product/view/?id=365674 (http://www.velleman.be/ot/en/product/view/?id=365674)
Título: Re:Tankah
Enviado por: msaleiro em 18 de Fevereiro de 2009, 23:26
Como esse sistema com câmara é completamente analógica, não dizem as fps pk o sinal de video é um sinal contínuo. As fps só entram depois quando ligas a câmara ao pc. por isso, se queres seguir por essa opção convém teres um bom frame grabber.
Título: Re:Tankah
Enviado por: TigPT em 18 de Fevereiro de 2009, 23:29
A minha placa da pinacle para passar VHS para pc tira uns 30fps se não estou em erro...
Título: Re:Tankah
Enviado por: msaleiro em 18 de Fevereiro de 2009, 23:32
TigPT, com a tua placa da pinnacle consegues utilizar a tua camara analogica como webcam?tipo tar a ver no pc em tempo real aquilo que a camara esta a captar..
Título: Re:Tankah
Enviado por: TigPT em 18 de Fevereiro de 2009, 23:35
Consigo, desde que a câmara tenha saída analógica, a imagem é em tempo real porque a passar de cassetes para PC eu passo também para a TV e não há lag nenhuma!

Mas devem de existir algumas mais apropriadas para o efeito, visto que esta é para edição de imagem, deve de estar pouco pensada para a velocidade da imagem mas sim para qualidade.

(contudo confirmo que não tem lag)
Título: Re:Tankah
Enviado por: msaleiro em 18 de Fevereiro de 2009, 23:39
No geral esses sistemas conseguem uma aquisição de 25.. 30 fps.. Se se meter algum processamento para visão computacional em cima.. o resultado pode ser extremamente lento ou baixar para umas 10...15 fps.. dependendo do que se quer fazer, do computador que se está a usar, da linguagem de programação, e claro, da qualidade do programador para optimizar os algoritmos :)
Título: Re:Tankah
Enviado por: TigPT em 18 de Fevereiro de 2009, 23:43
Sim, mas não te esqueças que o processamento vai demorar muito mais do que os 10fps, não vai servir de mt mts imagens com muita qualidade quando o cpu n aguenta trata-las. às vezes até se trata fotos, e as intermedias trata-se a preto e branco ou isso... estilo uma em cada 30 imagens é de 640x380, mas as restantes 29 são tratadas a 320 e a Preto e branco para acelerar o processamento.

(Fifas, depois mudas estes posts para um post de processamento de imagem? obrigado)
Título: Re:Tankah
Enviado por: msaleiro em 18 de Fevereiro de 2009, 23:57
O processamento pode demorar apenas 10 fps. Já fiz algoritmos de processamento de imagem em tempo real utilizando a webcam do portátil com imagens a cores a ser obtidas a 640x480. No resultado final do que fiz tinha cerca de 15 fps e o processador do meu portátil é um simples Intel Centrino 1.73GHz com 2GB de ram. No meio do processamento tive que fazer muita coisa para optimizar o processamento, mas consegue-se.

Quanto ao que disseste de processar imagens a em tons de cinzento.. não te esqueças que a câmara envia imagens a cores, ou seja, se queres processá-las em tons de cinzento quem vai fazer a conversão é o processador.. ou seja, estás a gastar tempo de processamento à mesma só para  fazer a conversão. Quanto a misturar imagens a cores com imagens a preto e branco, não é muito boa ideia porque duas frames são sempre diferentes e não consegues fazer uma ligação directa de um pixel de uma imagem a preto e branco para um pixel de uma imagem a cores facilmente. Exemplo das dificuldades disso basta pensares na stereovision em que a principal dificuldade hoje em dia é fazeres a correspondencia de um ponto detectado por uma camara ao mesmo ponto detectado por outra camara numa posição diferente..
Título: Re:Tankah
Enviado por: TigPT em 19 de Fevereiro de 2009, 00:11
Pois... já agora estavas a processar algoritmos mt complexos? e em que linguagem?
Título: Re:Tankah
Enviado por: msaleiro em 19 de Fevereiro de 2009, 01:11
O que eu estive a fazer foi um trabalho para a cadeira de Visão Computacional que também é destinado a uma possível ida à conferência DSAI2009, se for aceite pelo concelho científico da mesma. Era um sistema de interface para idosos, crianças ou deficientes com dificuldades motoras, por exemplo tetraplégicos em que os utilizadores podem controlar o rato do computador utilizando apenas ou a cabeça ou a mão através de gestos estáticos intuitivos sem ser necessário qualquer configuração para saber se vai utilizar a cabeça ou a mão. Basicamente o processo é o seguinte:

Imagem a cores 320x288 RGB -> Imagem a cores normalizada RGB -> Filtro de cor de pele RGB -> Binarização da imagem -> Filtragem de Ruido (2 filtros) -> Detecção de Blobs -> Análise dos Blobs seleccionados para identificação do gesto

O maior problema nisto é a detecção de Blobs (manchas de uma determinada tonalidade) que geralmente são algoritmos que levam muito tempo mesmo. Tive que elaborar um algoritmo que fizesse  pretendido rapidamente. Quanto à linguagem utilizada, foi tudo feito em C. Para processamento de imagem convém utilizar sempre linguagens de baixo nível (não tão baixo como o assembly, porque é demasiado confuso). As linguagens de alto nível geralmente acabam por perder algum poder de processamento.

Em princípio daqui a uns tempos vou fazer um vídeo do funcionamento do sistema e assim que puder posso po-lo por aqui para teres uma ideia do que se pode fazer com o pc e com a webcam :)
Título: Re:Tankah
Enviado por: TigPT em 19 de Fevereiro de 2009, 01:17
Muito bem, mal posso esperar ;) Excelente projecto!

Quanto ao guibot, força com isso também :P
Título: Re:Discussão: Processamento de imagem
Enviado por: Fifas em 19 de Fevereiro de 2009, 01:40
(Fifas, depois mudas estes posts para um post de processamento de imagem? obrigado)

Feito...tá bom assim?:P
Título: Re:Discussão: Processamento de imagem
Enviado por: guibot em 19 de Fevereiro de 2009, 07:35
msaleiro esse projecto é muito interessante! força com ele e vou querer ver esse video  :-)

eu tenciono usar Processing ou mesmo Openframeworks para fazer detecção de blobs.

voces já experimentaram o RoboRealm?
cheguei a instalar e a seguir uns tutus mas não consegui fazer nada com aquilo, tenho que fazer nova tentativa pois falam muito bem da aplicação - http://www.roborealm.com/ (http://www.roborealm.com/)
Título: Re:Discussão: Processamento de imagem
Enviado por: msaleiro em 19 de Fevereiro de 2009, 10:35
O projecto já está praticamente terminado. Faz tudo o que era suposto fazer :) É claro que há sempre algumas coisas que podem ser melhoradas, mas o essencial está feito :). Só não posso por ainda aqui nada porque não convém divulgar as coisas antes de as submeter para conferências :( Mas assim que puder prometo que meto por aqui :)

Já agora.. para quem quiser fazer as primeiras aventuras no processamento de imagem \ visão computacional em C experimentem a biblioteca OpenCV da Intel. É opensource por isso podem sacar do sourceforge à vontade e utilizar como bem entenderem. Até hoje disso só usei as funções para ir buscar as frames à webcam, mas sei que a biblioteca já tem algoritmos implementados para fazer muita coisa, como por exemplo detecção de faces :) Se alguém tiver dúvidas de como se iniciar no processamento de imagem em C é só dizerem que eu dou uma ajuda :)
Título: Re:Discussão: Processamento de imagem
Enviado por: guibot em 19 de Fevereiro de 2009, 14:16
tenho pouca experiencia com processamento de imagem, o máximo que fiz foi usar livrarias no processing e no MaxJitter para simples análise de blobs

gostava muito de experimentar opencv mas as bases são poucas  :)
Título: Re:Discussão: Processamento de imagem
Enviado por: delphi em 19 de Fevereiro de 2009, 18:35
Eu acho que isto vos pode ajudar e já tem muita "papinha" feita (tem o código todo em .net), só tem de adicionar os vossos filtros.
http://ispy.developerinabox.com/ (http://ispy.developerinabox.com/)


Em minha casa está um EEE a fazer de policia (ainda está na recruta), e que em breve vai ter um ajudante (um tal de arduino) com uns bastões e apitos para o caso de algum individuo não identificado entrar lá em casa.

Tambem pode ajudar:
http://www.codeproject.com/KB/audio-video/object_tracker.aspx (http://www.codeproject.com/KB/audio-video/object_tracker.aspx)
http://www.codeproject.com/KB/audio-video/Motion_Detection.aspx (http://www.codeproject.com/KB/audio-video/Motion_Detection.aspx)
http://www.codeproject.com/KB/audio-video/face_detection.aspx (http://www.codeproject.com/KB/audio-video/face_detection.aspx)
http://www.codeproject.com/KB/audio-video/hands_gesture_recognition.aspx (http://www.codeproject.com/KB/audio-video/hands_gesture_recognition.aspx)
http://www.codeproject.com/KB/audio-video/cameraviewer.aspx (http://www.codeproject.com/KB/audio-video/cameraviewer.aspx)
Título: Re:Discussão: Processamento de imagem
Enviado por: guibot em 19 de Fevereiro de 2009, 23:48
obrigado delphi  ;)
Título: Re:Discussão: Processamento de imagem
Enviado por: guibot em 20 de Fevereiro de 2009, 00:35
o que vos parece isto?  a mim parece-me que tem potencial
http://protovisionbeta.blogspot.com/ (http://protovisionbeta.blogspot.com/)
Título: Re:Discussão: Processamento de imagem
Enviado por: ricardo-reis em 20 de Fevereiro de 2009, 00:39
bastante potencial.. gostei mt..