Índice:

Crie classificadores de imagem OpenCV usando Python: 7 etapas
Crie classificadores de imagem OpenCV usando Python: 7 etapas

Vídeo: Crie classificadores de imagem OpenCV usando Python: 7 etapas

Vídeo: Crie classificadores de imagem OpenCV usando Python: 7 etapas
Vídeo: Reconhecimento de Imagem | OpenCV Python do Zero | Criando Haarcascade 2024, Julho
Anonim
Crie classificadores de imagem OpenCV usando Python
Crie classificadores de imagem OpenCV usando Python

Classificadores Haar em python e opencv são tarefas complicadas, mas fáceis.

Freqüentemente enfrentamos problemas na detecção e classificação de imagens. a melhor solução é criar seu próprio classificador. Aqui, aprendemos a fazer nossos próprios classificadores de imagem com alguns comandos e programas em Python longos, mas simples

A classificação requer um grande número de imagens negativas e positivas, pois as negativas não contêm o objeto desejado, enquanto as positivas são aquelas que contêm o objeto a ser detectado.

São necessários cerca de 2.000 negativos e positivos. O programa python converte a imagem em tons de cinza e em um tamanho adequado para que os classificadores levem o tempo ideal para criar.

Etapa 1: Softwares necessários

Você precisa dos seguintes softwares para a criação de seu próprio classificador

1) OpenCV: a versão que usei é 3.4.2. a versão está facilmente disponível na internet.

2) Python: A versão utilizada é 3.6.2. Pode ser baixado de python.org

Além disso, você precisa de uma webcam (é claro).

Etapa 2: Baixar as imagens

O primeiro passo é obter uma imagem clara do objeto a ser classificado.

O tamanho não deve ser muito grande, pois leva mais tempo para o computador processar. Peguei o tamanho 50 por 50.

Em seguida, baixamos as imagens negativas e positivas. Você pode encontrá-los online. Mas usamos o código python para baixar imagens de 'https://image-net.org'

Em seguida, convertemos as imagens em tons de cinza e em um tamanho normal. Isso também é implementado no código. O código também remove qualquer imagem defeituosa

A esta altura, seu diretório deve conter a imagem do objeto, por exemplo watch5050-j.webp

Se a pasta de dados não for criada, faça-o manualmente

O código python é fornecido no arquivo.py

Etapa 3: Criação de amostras positivas em OpenCV

Criação de amostras positivas em OpenCV
Criação de amostras positivas em OpenCV
Criação de amostras positivas em OpenCV
Criação de amostras positivas em OpenCV

Agora vá para o diretório opencv_createsamples e adicione todo o conteúdo mencionado acima

no prompt do commad, vá para C: / opencv342 / build / x64 / vc14 / bin para encontrar opencv_createsamples e opencv_traincascade apps

agora execute os seguintes comandos

opencv_createsamples -img watch5050-j.webp

Este comando é para criar as amostras positivas do objeto 1950 para ser exato E o arquivo de descrição info.lst das imagens positivas a descrição deve ser assim 0001_0014_0045_0028_0028-j.webp

Agora a pasta contém

informação

pasta de imagens neg

arquivo bg.txt

pasta de dados vazia

Etapa 4: Criação de arquivo vetorial positivo

Criação de arquivo vetorial positivo
Criação de arquivo vetorial positivo

Agora crie o arquivo de vetor positivo que fornece o caminho para as imagens positivas do arquivo de descrição

Use o seguinte comando

opencv_createsamples -info info / info.lst -num 1950 -w 20 -h 20 -vec positives.vec

A esta altura, o conteúdo do diretório deve ser o seguinte:

--neg

---- negimages.jpg

--opencv

--info

--dados

--positives.vec

--bg.txt

--watch5050-j.webp

Etapa 5: treinar o classificador

Treinando o Classificador
Treinando o Classificador
Treinando o Classificador
Treinando o Classificador
Treinando o Classificador
Treinando o Classificador

Agora vamos treinar a cascata haar e criar o arquivo xml

Use o seguinte comando

opencv_traincascade -data data -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20

estágios são 10 Aumentar os estágios requer mais processamento, mas o classificador é muito mais eficiente.

Agora o haarcascade foi criado Leva cerca de duas horas para ser concluído Abra a pasta de dados lá você encontrará cascade.xml Este é o classificador que foi criado

Etapa 6: Testando o Classificador

A pasta de dados contém os arquivos conforme mostrado na imagem acima.

Após a criação do classificador, vemos se o classificador está funcionando ou não executando o programa object_detect.py. Não se esqueça de colocar o arquivo classifier.xml no diretório python.

Etapa 7: Agradecimentos especiais

Gostaria de agradecer à Sentdex, que é um ótimo programador de python.

Ele tem um nome no youtube com o nome citado acima e o vídeo que muito me ajudou tem este link

A maior parte do código foi copiado de sentdex. Embora tenha recebido muita ajuda do sentdex, ainda enfrentei muitos problemas. Eu só queria compartilhar minha experiência.

Espero que este intrutável tenha ajudado você !!! Fique atento para mais.

BR

Tahir Ul Haq

Recomendado: