GoConqr has a new look! Let us know what you think.

Mind map

Haar Cascade

Thiago Alves English

Map content

Haar Cascade

  1. (1) Conseguir img negativas (sem o objeto)

    • http://image-net.org/
    • (Utilizar o) Downloader.py
      • Salvar as img negativas em um diretório
  2. (2) Criar uma lista de imagens negativas

    • (Utiliza o) CreateImagesList.py
      • Gera um arquivo de saida com o dir. de imagens negativas em cada linha "bg.txt"
  3. (3) Aquisição de imagens positivas

    • (3.0) Recortar de imagens reais
      • Conseguir uma grande quantidade de imagens com o objeto
        • (Utilizar o) Downloader.py
          • Salvar as imagens pos. em um diretório
        • Utiliza o opencv_annotation para informar onde os objetos estão em casa imagem
          • Gera como arquivo de saida o annotations.txt
            • annotations.txt é o mesmo arquivo que o images.lst criado pelo CreateSamples.py
    • (3.1) Gerar imagens positivas com a ajuda do OpenCV
      • (3.2) Conseguir imagens que não tenha o objeto (pode ser as negativas)
        • Salva as imagens que nal contém o obj. em um diretório
          • Utiliza o CreateImagesList.py para listar as imagens do diretório
            • Gera o arquivo "bg.txt"
      • (3.2) Conseguir imagens que contenham o somente objeto
        • Salva as imagens que somente contenham o objeto em um diretório
          • Importante que as imagens tenham proporções semelhantes
          • Utiliza o CreateImagesList.py para listar as imagens do diretório
            • Gera o arquivo "pos.txt"
      • Utiliza o CreateSamples.py para criar uma lista de imagens positivas
        • python CreateSamples.py --vec vetorpos.vec* --pos pos.txt --bg bg.txt --num 500 --bgcolor* 0 --bgthresh* 80 --inv* --randinv* --out-image-folder* ./saida/ --maxidev* 40 --maxzangle* 0.50 --maxxangle* 1.10 --maxyangle* 1.10 --width* 15 --height* 25
        • Gera o arquivo .vec se o argumento --vec for informado
        • Gera uma pasta com as imagens positivas criadas e o "images.lst" caso o argumento --out-image-folder tiver sido informado
          • images.lst é o mesmo arquivo que o annotations.txt criado pelo opencv_annotations
  4. (4) Conseguir o arquivo .vec

    • opencv_createsamples -info (images.lst ou annotations.txt) -num (quantidade de imgs para colocar no arquivo) -w 22 -h 80 -vec arquivoDeSaida.vec
      • Gera o ArquivoDeSaida.vec
  5. (5) Treinar o Classificador

    • Para isso utiliza o opencv_traincascade ele precisa de um conjunto de imagens negativas, e o arquivo .vec
      • Código de exemplo opencv_traincascade -data classifier -vec samples.vec -bg bg.txt -numStages 14 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 1000  -numNeg 2000       -w 22 -h 30 -mode ALL -precalcValBufSize 1024   -precalcIdxBufSize 1024  
      • Gera uma pasta no --data com o .xml de cada estágio e o final chamado Cascade.xml
  6. (6) Escolher melhores valores para o minNeighbors e scaleFactor

    • Para isso, utilizar o FindSFandMinNeigh.py, ele necessita de um arquivo que descreve um conjunto de imagens positivas (pos.txt ou annotations.txt) e um classificador treinado.
      • O console onde a aplicação foi executada irá apresentar como saida quais são os melhores valores para o MinNeighbors e o ScaleFactor
  7. (8) Encontrar os objetos em imagens e videos

    • Utiliza o ObjectFinder.py. Para isso será necessário que descreva os classificadores com seus parâmetros. Caso queira pocessar um conjunto de imagens, insira a pasta onde elas estão senão a webcam padrão será utilizada.
      • Exibição das imagens processadas.
  8. (7) Cria um arquivo que descreva os classificadores

    • Como visto na seção 6 do tutorial, será necessário descrever em um arquivo formatado a localização dos classificadores e os parâmetros que cada um utilizará.
      • Classificadores.csv (não precisa ter esse nome ou extensão, apenas estar separado por virgula e conter o cabeçalho, como no tutorial.)

Information

Description
Mind Map on Haar Cascade, created by Thiago Alves on 30/12/2016.
Created by
Thiago Alves
Views
7
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?