Reconhecimento de Imagem


11

Procurando por um sistema de código aberto que permita o uso comercial para reconhecimento de imagens em uma coleção maciça e organicamente crescente de imagens em 2-D, onde as únicas variações conhecidas serão:

  • Dimensionamento do tamanho da imagem,
  • O ângulo em que a foto é tirada,
  • Compensações de sincronização de cores, o que significa que, devido a irregularidades na captura e renderização de uma cor de imagem de origem, varia de instância para instância,
  • Recorte da foto,
  • Adição de marca d'água ou texto,
  • Possíveis variações de foco, significando que a captura não estava em foco, não que um filtro de manipulação de imagem tenha sido aplicado.

Eu estou bem em ter que treinar o aplicativo, desde que o retorno disso seja compensado - ou seja, a longo prazo, espero que a contagem de instâncias em 2-D cresça além dos poucos milhares iniciais para cem de milhares; mas isso é de longo prazo, e eu ficaria feliz em ter uma solução que funcione bem com um conjunto de treinamento de 1000 instâncias e 10 exemplos por instância.

ATUALIZAÇÃO: A licença precisa poder ser usada para distribuição interna comercial sem a liberação do código fonte, mesmo interna para todos aqueles que possuem o binário. O código nunca será vendido, apenas usado interno, mas nem todo usuário terá acesso ao código fonte, apenas à interface.


2
Você já considerou o OpenCV?

+1 @pwny: Obrigado - então não, nunca experimentei nenhum sistema de visão computacional (CV), apenas tentando ter uma idéia de se a maneira como estou pensando no problema está correta. Eu indicaria o que são as imagens, mas, como se refere a um empreendimento comercial e o sistema CV seria apenas para uso interno, estou tentando não declarar o que o sistema estará processando, mas os desafios que ele enfrentará. Se o OpenCV atender aos requisitos atuais, publique-o como resposta e tente vincular-se a documentos relacionados que cobrem os requisitos funcionais fornecidos, se possível. Mais uma vez, obrigado!

1
Não existe "distribuição interna", de acordo com a lei de direitos autorais. Portanto, a maioria das licenças (tudo o que eu sei) não se preocupa com restrições a esse respeito.
MSalters

+1 @MSalters: Obrigado, você tem um link para "de acordo com a lei de direitos autorais" - ou seja, parece que você está dizendo que isso é declarado na Lei de direitos autorais dos EUA, embora talvez eu esteja apenas lendo seu comentário.

1
@ erros: Tecnicamente, é do TRIPS (artigo 1.3), que estabelece que uma pessoa coletiva (por exemplo, uma corporação) deve ser tratada como uma pessoa natural.
MSalters

Respostas:


10

Pode ser um pouco de baixo nível, mas o OpenCV pode fornecer as ferramentas necessárias para criar esse software de reconhecimento de imagem. Obviamente, o OpenCV não fornece tudo o que você precisa imediatamente (acho que não sou profissional), mas visa fornecer o que é necessário para a visão computacional em tempo real.

Você pode começar a ler a documentação aqui . Alguns bons livros também estão listados nessa página.

Espero que isso ajude, boa sorte!


A licença GPLV2 do OpenCV significa que ele não pode ser distribuído internamente em um sistema de código fechado? Obrigado!

Onde você vê a licença GPLV2? No primeiro parágrafo da página inicial, ele é listado como uma licença BSD.

@deterb: No rodapé, na parte inferior da página.

@deterb: parece que o link GPL é para o MoinMoin Wiki Engine usado para o wiki do OpenCV, não do OpenCV - obrigado por apontar o meu erro!

+1 @pwny: Como indicado, o OpenCV está sob uma licença BSD, indicada na página inicial do site (aparece o rodapé da licença GPLV2 não se aplica ao OpenCV), também tentou confirmar isso baixando o OpenCV e pesquisando a licença de pesquisa em todos os seus arquivos; que retornam outras licenças de terceiros, uma licença que parece ser para o OpenCV na forma de uma licença BSD, embora não indique que é uma licença BSD. Então, continuando com isso, sua resposta é uma grande ajuda e parece boa o suficiente para avançar. Obrigado!


2

Apenas para adicionar à discussão, atualmente estou trabalhando na correspondência de imagens e achei o ORB do OpenCV gratuito; no entanto SURF e SIFT não são. Você pode ver este exemplo como um possível ponto de partida.


1

O Pastec http://www.pastec.io deve atender aos requisitos da pergunta inicial.

É um índice de código aberto e um mecanismo de busca para reconhecimento de imagens lançado sob a LGPL. Permite adicionar, remover e procurar facilmente imagens correspondentes no índice usando uma API HTTP simples. Ele é baseado no OpenCV e usa o descritor ORB, que é livre de patentes, ao contrário do SURF e do SIFT.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.