Detecção de objetos de uma só vez com o Deep Learning

7

Nos últimos anos, o campo de detecção de objetos sofreu um grande avanço após a popularização do paradigma Deep Learning. Abordagens como YOLO, SSD ou FasterRCNN mantêm o estado da arte na tarefa geral de detecção de objetos [ 1 ].

No entanto, no cenário específico do aplicativo em que nos é dada apenas uma imagem de referência para o objeto / logotipo que queremos detectar, os métodos baseados em aprendizado profundo parecem ser menos aplicáveis ​​e os descritores de recursos locais, como SIFT e SURF, aparecem como alternativas mais adequadas, com um custo de implantação quase zero.

Minha pergunta é: você pode apontar algumas estratégias de aplicação (de preferência com implementações disponíveis, em vez de apenas documentos de pesquisa descrevendo-as) em que o Deep Learning é usado com sucesso para detecção de objetos com apenas uma imagem de treinamento por classe de objeto?

Cenário de aplicativo de exemplo:

Imagem única de treinamento / referência Imagem de exemplo onde temos que detectar o logotipo

Nesse caso, o SIFT detecta com sucesso o logotipo na imagem:

Detecção bem sucedida com SIFT

Daniel López
fonte
FaceID, onde uma única foto você reconhece pessoas
Tim

Respostas:

3

Acontece que apenas treinar uma rede de detecção de objetos comum com um monte de aumento de dados obterá resultados decentes.

Peguei o logotipo "coca cola" da sua postagem e realizei algumas melhorias aleatórias nele. Então eu baixei 10000 imagens aleatórias do flickr e colei aleatoriamente o logotipo nessas imagens. Também adicionei regiões vermelhas aleatórias às imagens para que a rede não descobrisse que nenhum blob vermelho era um objeto válido. Algumas amostras dos meus dados de treinamento:

insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui

Treinei um modelo RCNN nesse conjunto de dados. Aqui estão algumas imagens do conjunto de testes que encontrei no google images e o modelo parece estar bem.

insira a descrição da imagem aqui insira a descrição da imagem aqui insira a descrição da imagem aqui

Os resultados não são perfeitos, mas eu bati isso em duas horas. Espero que com um pouco mais de cuidado com a geração de dados e com o treinamento do modelo, você possa obter resultados muito melhores.

Acho que idéias de trabalhos como Aprender a Modelar a Cauda podem ser usadas para permitir o aprendizado de novas categorias de objetos com apenas um ou alguns exemplos, em vez de precisar gerar um monte de dados como eu fiz, mas não estou ciente de eles fazendo experimentos com detecção de objetos.

shimao
fonte
Sim, essa é a abordagem que estamos aplicando há um tempo. Só queria saber se isso já foi aplicado na literatura antes ... Obrigado pela sua resposta!
Daniel López