collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Iniciação ao openCV - Ajuda  (Lida 20545 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Ricardo

  • Mini Robot
  • *
  • Mensagens: 110
Re: Iniciação ao openCV - Ajuda
« Responder #15 em: 22 de Outubro de 2010, 11:16 »
Marvim:
Já implementaste com sucesso algum sistema com usando "feature points" ?
alguem?
KS

Com "feature points" presumo que estás a falar da identificação de "objectos" pre-definidos, é isso?
Uma das coisas que gostava que o meu robô fizesse era olhar em volta e perceber onde estava, através da observação de determinados objectos entretanto carregados. E se este processo fosse incremental, ou seja, ir aprendendo ao longo da sua vida, ainda melhor. Mas só o facto de ser necessário "milhares" de fotos de cada objecto a memorizar (pelo menos de forma a utilizar o método haas), crialogo sérios obstaculos.

Existe uma forma  melhor? É possivel processar uma imagem e ver, por exemplo, uma porta? Um quadro? Um interruptor?

Vou voltar também a pesquisar sobre este assunto.





Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.481
Re: Iniciação ao openCV - Ajuda
« Responder #16 em: 22 de Outubro de 2010, 12:12 »
"Com "feature points" presumo que estás a falar da identificação de "objectos" pre-definidos, é isso?"

Não só isso... ou não necessáriamente

http://en.wikipedia.org/wiki/Feature_detection_(computer_vision)
http://en.wikipedia.org/wiki/Interest_point_detection
http://en.wikipedia.org/wiki/Scale-invariant_feature_transform

"Uma das coisas que gostava que o meu robô fizesse era olhar em volta e perceber onde estava, através da observação de determinados objectos entretanto carregados. E se este processo fosse incremental, ou seja, ir aprendendo ao longo da sua vida, ainda melhor. Mas só o facto de ser necessário "milhares" de fotos de cada objecto a memorizar (pelo menos de forma a utilizar o método haas), crialogo sérios obstaculos.

Existe uma forma  melhor? É possivel processar uma imagem e ver, por exemplo, uma porta? Um quadro? Um interruptor?"

Claro que é,

http://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping

visualiza também estes videos:

http://mi.eng.cam.ac.uk/~sjt59/hips.html

KS

Offline Marvin

  • Mini Robot
  • *
  • Mensagens: 677
    • The scientist and the geek
Re: Iniciação ao openCV - Ajuda
« Responder #17 em: 22 de Outubro de 2010, 15:30 »

Marvim:
Já implementaste com sucesso algum sistema com usando "feature points" ?
alguem?



O projecto .netRC ( http://lusorobotica.com/index.php?topic=2834.msg30431 )  trabalha com feature points para seguir a direcção da cara, mas dai a ter "sucesso" não sei bem... os bugs são imensos devido a variação da luz e movimento da camara ou seja ruido.

Tenho de estar constantemente a fazer reset as features, mas quando "agarra" processa bem e rapido.
Dronetech BlogThe Scientist and the Geek

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Iniciação ao openCV - Ajuda
« Responder #18 em: 22 de Outubro de 2010, 23:59 »
Este projecto que estou a desenvolver anunciado aqui:
http://lusorobotica.com/index.php?topic=1358.msg13391#msg13391
usa openCV.

A minha experiencia com o openCV tem revelado que a documentação não é espetacular. Mas isto deve-se À natureza "volatil" de desenvolvimento da biblioteca, que está em constante avanço e acrescento de funcionalidades. Sim, já tem suporte para cuda e android. (SVN)

Provavelmente se encontrares tutorials na net estes estão "desactualizados", isto é, funcionam, mas provavelmente já nao é a maneira mais correcta de fazer as coisas. (falo por exemplo na declaração de tipos de variaveis do openCV... etc)

Como disseram depende bastante se o uso é em C ou C++ ou etc..

Na minha opinião os passos para se trabalhar e integrar com o openCV são (do básico até ao utilizador avançado)

. Procurar tutorials na net para ter uma visão geral do funcionamento da biblioteca.
. Ambientar-se com a referencia online da biblioteca para a linguagem q se esta a usar.
. Estudar exemplos basicos de codigo que vem juntamente com a biblioteca openCV (versoes do SVN)
. Procurem slides de aulas de universidades (estranjeiras e tambem algumas tugas) que falem de processamento de visão assim por alto
. Quando usarem funcionalidades avançadas, leiam antes um artigo (generico) relacionado com as funcionalidades que vao tentar implementar

Senso:
Citar
O que quero fazer é relativamente complexo, mete duas cameras a funcionar em paralelo, um ambiente com muito movimento e "ruido", será detectar linhas, obstaculos, formas, e depois tratar isso, tambem deve meter mascaras com força em cima, passagem entre diferentes modelos de cores(RGB, HSL, raw e sei lá que mais, que ainda nem sei bem o que tenho pela frente, mas sei que não é algo que vou fazer em 15 dias, nem em 6 meses lol)

Neste texto todo não explicas o que queres fazer, dizes o que vais fazer mas não o que isso pretende fazer. O que fazes com as linhas detectadas? com os obstaculos detectados? e tratas essas detecções para que finalidade?


Marvim:
Já implementaste com sucesso algum sistema com usando "feature points" ?
alguem?

KS
Linhas para saber que está dentro do campo e para detecção espacial, obstaculos para não bater nos amigos ou nos adversários, terá de distinguir amigo de inimigo, bola, pois é isso que ele anda á procura de uma bola para agarrar, saber o que é uma baliza, isto tudo com uma camera frontal e uma omnidireccional, tambem quero usar máscaras pois nem todos os dados das cameras são uteis.
Já agora, assim o mais basico para treinar primeiro no meu portatil com a webcam, para capturar imagem/video em tempo real para tentar uma simples detecção de faces e começar a usar transformadas para procurar bordas(edges) ou linhas.
Obrigado a todos pela ajuda fornecida! ;)
Avr fanboy

Offline Marvin

  • Mini Robot
  • *
  • Mensagens: 677
    • The scientist and the geek
Re: Iniciação ao openCV - Ajuda
« Responder #19 em: 23 de Outubro de 2010, 02:39 »
Linhas para saber que está dentro do campo e para detecção espacial, obstaculos para não bater nos amigos ou nos adversários, terá de distinguir amigo de inimigo, bola, pois é isso que ele anda á procura de uma bola para agarrar, saber o que é uma baliza, isto tudo com uma camera frontal e uma omnidireccional, tambem quero usar máscaras pois nem todos os dados das cameras são uteis.
Já agora, assim o mais basico para treinar primeiro no meu portatil com a webcam, para capturar imagem/video em tempo real para tentar uma simples detecção de faces e começar a usar transformadas para procurar bordas(edges) ou linhas.
Obrigado a todos pela ajuda fornecida! ;)

A bola tem uma cor especifica? Se sim é facil, senão vais ter de ir por edge detection. Lembra-te é q a velocidade de processamento da imagem para coisas deste tipo em movimento pode ser pesada.

Para a detecção de face e captura de video pesquisa estes temas:

cvCreateCameraCapture -> para a camara
cvHaarDetectObjects -> para a detecção de face (usas um haarcascade treinado)

Se quiseres/puderes usar C#, usa o Emgucv, se precisares de sample code para alem do q ja vem com o emgu eu posso-te fornecer algumas coisas.

Dronetech BlogThe Scientist and the Geek

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Iniciação ao openCV - Ajuda
« Responder #20 em: 23 de Outubro de 2010, 02:53 »
Estou a utilizar c/c++ em ambiente linux/ubuntu, a bola actualmente tem uma cor predominante saturada, mas pode ter mais que uma cor, mas tem sempre uma cor dominante, tenho de usar edge detection, pois a bola pode mudar de jogo para jogo, ou podem mudar as regras.
Acho que o melhor mesmo é ler o livro do opencv, sempre é uma base de começo e dai começar a brincar.
Edit:
Já agora, o livro é este:
http://www.amazon.com/gp/product/0596516134/ref=olp_product_details?ie=UTF8&me=&seller=
Já é de 2008  :-X
« Última modificação: 23 de Outubro de 2010, 02:58 por senso »
Avr fanboy

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.481
Re: Iniciação ao openCV - Ajuda
« Responder #21 em: 24 de Outubro de 2010, 12:24 »
Citação de: senso
obstaculos para não bater nos amigos ou nos adversários, terá de distinguir amigo de inimigo, bola, pois é isso que ele anda á procura de uma bola para agarrar, saber o que é uma baliza....

pois a bola pode mudar de jogo para jogo, ou podem mudar as regras.

Peço desculpas, mas continuo sem perceber qual a finalidade ou contexto da coisa. Falas em regras, estás a falar de algum concurso em especifico? quais sao as regras e objectivos e cenario?

KS

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: Iniciação ao openCV - Ajuda
« Responder #22 em: 24 de Outubro de 2010, 13:02 »
Tambem gostava de aprender ... mexo em vb.net

Offline VascoP

  • Mini Robot
  • *
  • Mensagens: 66
Re: Iniciação ao openCV - Ajuda
« Responder #23 em: 24 de Outubro de 2010, 13:29 »
Citação de: senso
obstaculos para não bater nos amigos ou nos adversários, terá de distinguir amigo de inimigo, bola, pois é isso que ele anda á procura de uma bola para agarrar, saber o que é uma baliza....

pois a bola pode mudar de jogo para jogo, ou podem mudar as regras.

Peço desculpas, mas continuo sem perceber qual a finalidade ou contexto da coisa. Falas em regras, estás a falar de algum concurso em especifico? quais sao as regras e objectivos e cenario?

KS

Quase de certeza que se refere a futebol robótico.

Offline Marvin

  • Mini Robot
  • *
  • Mensagens: 677
    • The scientist and the geek
Re: Iniciação ao openCV - Ajuda
« Responder #24 em: 24 de Outubro de 2010, 16:08 »
Tambem gostava de aprender ... mexo em vb.net

Não querendo ser "elitista" mas mais valia dares o passo para C#. Praticamente a mesma coisa mas tens mto mais documentação na web com projectos em C# do q em vb.net. Claro esta q podes usar as duas linguagens mas fica mais legivel se apenas fizeres numa.

Para .net o melhor é usares a biblioteca Emgu http://www.emgu.com/wiki/index.php/Main_Page (acho q tem exemplos em vb.net)
Dronetech BlogThe Scientist and the Geek

Offline GnGz

  • Mini Robot
  • *
  • Mensagens: 665
Re: Iniciação ao openCV - Ajuda
« Responder #25 em: 24 de Outubro de 2010, 17:24 »
Tambem gostava de aprender ... mexo em vb.net

Não querendo ser "elitista" mas mais valia dares o passo para C#. Praticamente a mesma coisa mas tens mto mais documentação na web com projectos em C# do q em vb.net. Claro esta q podes usar as duas linguagens mas fica mais legivel se apenas fizeres numa.

Para .net o melhor é usares a biblioteca Emgu http://www.emgu.com/wiki/index.php/Main_Page (acho q tem exemplos em vb.net)

Tens toda a razão . Acho que vou ir para o C# e depois até é mais facil de ir para o micro .net framework

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: Iniciação ao openCV - Ajuda
« Responder #26 em: 24 de Outubro de 2010, 20:58 »
O projecto que o senso fala é futebol robótico, liga média.

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.481
Re: Iniciação ao openCV - Ajuda
« Responder #27 em: 24 de Outubro de 2010, 22:34 »
O projecto que o senso fala é futebol robótico, liga média.

E estao a desenvolver robots, por alguma universidade/instituição ou é particular?

KS

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Iniciação ao openCV - Ajuda
« Responder #28 em: 24 de Outubro de 2010, 22:47 »
Universidade de Aveiro, robots feitos, hardware mais que escolhido e definido, linguagem usada é c/c++, a ideia é pegar no OpenCv para melhorar alguns aspectos da visão, já ando a ler partes da wiki e tal, mas compilar código em ubuntu está dificil, tenho de ir desenterrar um makefile decente.
Avr fanboy

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.481
Re: Iniciação ao openCV - Ajuda
« Responder #29 em: 25 de Outubro de 2010, 10:37 »
Universidade de Aveiro, robots feitos, hardware mais que escolhido e definido, linguagem usada é c/c++, a ideia é pegar no OpenCv para melhorar alguns aspectos da visão, já ando a ler partes da wiki e tal, mas compilar código em ubuntu está dificil, tenho de ir desenterrar um makefile decente.

ah Ooks, traduzindo: Estás a estudar a transação das bibliotecas gráficas já desenvolvidas no Cambada, para passarem a usar apenas openCV.
Já tinha conhecimento que isso estava a ser feito =)

Bom trabalho!

KS