Reconhecimento de padrões em imagens

800 views
Skip to first unread message

Victor Vidigal Ribeiro

unread,
May 5, 2017, 6:15:26 PM5/5/17
to Python Brasil
Oi pessoal, gostaria de uma dica de vocês sobre reconhecimento de imagens.

Gostaria de identificar imagens que têm logotipos de empresas.
Funcionaria da seguinte forma. 
Eu tenho diversas imagens e um logotipo de uma empresa.
Gostaria que o sistema mostrasse quais imagens possuem o logotipo da empresa.

Se o sistema puder marcar na imagem original onde está o logotipo, também seria muito bom.

Eu já tentei utilizar o OpenCV e o scikit-image.
Entretanto, os resultados são horríveis. Eles sempre falam que encontram os logotipos, mesmo quando não existe o logotipo na imagem. Além disso, marcam a imagem original em lugares aleatório.

Alguém tem alguma dica para me ajudar por favor?


Obrigado.
--
Victor Vidigal Ribeiro
SKYPE: victor.vidigal
ICQ: 74173463
Tel.: 55 21 9 8446-5622

Diego Nascimento

unread,
May 5, 2017, 6:32:04 PM5/5/17
to python...@googlegroups.com
É estranho deveria reconhecer as imagens.

Você já tentou usar tensor flow?

Aqui tem uma matéria, o kra mostra um trabalho parecido e usa tensorflow, você pode tirar uma idéia.


Uma ferramenta que gosto muito para machine learning é torch, que usa lua como linguagem de programação, aqui tem um post que mostra alguns exemplos, você pode fazer alguns testes, talvez resolva teu problema, pode criar uma API para o python a partir dele.


Abraço.

--
--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasil+unsubscribe@googlegroups.com

---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasil+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Igor dos Santos Montagner

unread,
May 5, 2017, 7:20:18 PM5/5/17
to Python Brasil
Oi Victor,

qual técnica você tentou usar? Este problema não é simples e o desempenho de um programa deste tipo vai variar muito conforme as condições das suas imagens e da quantidade de imagens de exemplo que você possui.

Abraços.

Victor Vidigal Ribeiro

unread,
May 6, 2017, 4:03:52 PM5/6/17
to Python Brasil
Obrigado Diego, vou tentar ver o tensor flow. Já ouvi falar dele.

Igos, no caso do OpenCV usei esse exemplo, que utiliza vários algorítmos: 'cv2.TM_CCOEFF', 'cv2.TM_CCOEFF_NORMED', 'cv2.TM_CCORR', 'cv2.TM_CCORR_NORMED', 'cv2.TM_SQDIFF', 'cv2.TM_SQDIFF_NORMED'



--
Victor Vidigal Ribeiro
SKYPE: victor.vidigal
ICQ: 74173463
Tel.: 55 21 9 8446-5622

--

Igor dos Santos Montagner

unread,
May 6, 2017, 8:14:49 PM5/6/17
to Python Brasil
Então, Victor, usando Template Matching você não vai chegar muito longe mesmo....  Isto só funciona para casos muito simples. Peguei rapidinho duas referências um pouco mais profundas sobre como usar keypoints e descritores locais para fazer reconhecimento de objetos.

O primeiro é o vídeo abaixo. Ele é um pouco longo, mas mostra uma aplicação muito parecida com o que você quer fazer.

O segundo é esta página do OpenCV que mostra exemplos da utilização de keypoints e descritores para encontrar objetos em imagens.

Você está desenvolvendo isto para um projeto ou por curiosidade mesmo? Se for para um cliente é importante fazer ele entender que nenhum reconhecimento funciona 100% e que dependendo do contexto a chance de funcionar diminui. Quanto mais você puder controlar o ambiente de aquisição de imagens melhor.

Abraços.


---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.

Rafael Novello

unread,
May 8, 2017, 9:54:43 AM5/8/17
to Python Brasil
Oi Victor, tudo bem?

Já pensou em usar alguma API para isso? Que seu saiba a AWS tem uma API [1] que pode te ajudar bastante.

O uso da API é pago, claro, mas acredito que o tempo necessário para criar, aprimorar e treinar um modelo em tensorflow faça valer a pena o custo da AWS.

PS: Não quero te desmotivar a testar o tensorflow, longe disso, vale muito a pena! Só estou sugerindo um caminho alternativo.


Espero ter ajudado!
Reply all
Reply to author
Forward
0 new messages