image processing - framework - Um guia para convert_imageset.cpp



caffe: convolutional architecture for fast feature embedding (1)

Um guia rápido para o convert_imageset da Caffe

Construir

A primeira coisa que você deve fazer é criar o caffe e as ferramentas do caffe ( convert_imageset é uma dessas ferramentas).
Depois de instalar o caffe e certificar-se de que você executou o make tools também.
Verifique se um arquivo binário convert_imageset foi criado em $CAFFE_ROOT/build/tools .

Prepare seus dados

Imagens: coloque todas as imagens em uma pasta (vou chamá-la aqui /path/to/jpegs/ ).
Etiquetas: crie um arquivo de texto (por exemplo, /path/to/labels/train.txt ) com uma linha por imagem de entrada. Por exemplo:

img_0000.jpeg 1
img_0001.jpeg 0
img_0002.jpeg 0

Neste exemplo, a primeira imagem é rotulada como 1 enquanto as outras duas são rotuladas como 0 .

Converter o conjunto de dados

Execute o binário no shell

~$ GLOG_logtostderr=1 $CAFFE_ROOT/build/tools/convert_imageset \
    --resize_height=200 --resize_width=200 --shuffle  \
    /path/to/jpegs/ \
    /path/to/labels/train.txt \
    /path/to/lmdb/train_lmdb

Linha de comando explicada:

  • GLOG_logtostderr sinalizador GLOG_logtostderr é definido como 1 antes de chamar convert_imageset indica o mecanismo de log para redirecionar as mensagens de log para o stderr.
  • --resize_height e --resize_width redimensionam todas as imagens de entrada para o mesmo tamanho 200x200 .
  • --shuffle altera aleatoriamente a ordem das imagens e não preserva a ordem no arquivo /path/to/labels/train.txt .
  • A seguir, estão o caminho para a pasta de imagens, o arquivo de texto dos rótulos e o nome da saída. Observe que o nome da saída não deve existir antes de chamar convert_imageset caso contrário, você receberá uma mensagem de erro assustadora.

Outros sinalizadores que podem ser úteis:

  • - --backend - permite escolher entre um conjunto de dados levelDB ou levelDB .
  • --gray - converte todas as imagens em escala de cinza.
  • --encoded e --encoded_type - mantém os dados da imagem em formato compactado codificado (jpg / png) no banco de dados.
  • --help - mostra alguma ajuda, veja todos os sinalizadores relevantes em Sinalizadores de tools / convert_imageset.cpp

Você pode conferir $CAFFE_ROOT/examples/imagenet/convert_imagenet.sh para obter um exemplo de como usar convert_imageset .

https://src-bin.com

Eu sou relativamente novo no aprendizado de máquina / python / ubuntu.

Eu tenho um conjunto de imagens no formato .jpg, onde metade contém um recurso que eu quero que o caffe aprenda e metade não. Estou tendo problemas para encontrar uma maneira de convertê-los para o formato lmdb necessário.

Eu tenho os arquivos de entrada de texto necessários.

Minha pergunta é: alguém pode fornecer um guia passo a passo sobre como usar o convert_imageset.cpp no terminal do ubuntu?

obrigado





caffe