tutorial net image-processing neural-network machine-learning deep-learning computer-vision lmdb caffe

image-processing - tutorial - net forward



Una guía para convert_imageset.cpp (1)

Soy relativamente nuevo en machine learning / python / ubuntu.

Tengo un conjunto de imágenes en formato .jpg donde la mitad contiene una función que quiero que aprenda cafe y la otra mitad no. Tengo problemas para encontrar una manera de convertirlos al formato lmdb requerido.

Tengo los archivos de entrada de texto necesarios.

Mi pregunta es ¿alguien puede proporcionar una guía paso a paso sobre cómo usar convert_imageset.cpp en el terminal de ubuntu?

Gracias


Una guía rápida para convert_imageset de Caffe

Construir

Lo primero que debe hacer es crear caffe y las herramientas de caffe ( convert_imageset es una de estas herramientas).
Después de instalar caffe y make , asegúrese de ejecutar también make tools .
Verifique que se haya creado un archivo binario convert_imageset en $CAFFE_ROOT/build/tools .

Prepara tus datos

Imágenes: coloque todas las imágenes en una carpeta (lo llamaré aquí /path/to/jpegs/ ).
Etiquetas: cree un archivo de texto (por ejemplo, /path/to/labels/train.txt ) con una línea por imagen de entrada. Por ejemplo:

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

En este ejemplo, la primera imagen está etiquetada como 1 mientras que las otras dos están etiquetadas como 0 .

Convertir el conjunto de datos

Ejecute el binario en 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

Línea de comando explicada:

  • GLOG_logtostderr indicador GLOG_logtostderr se establece en 1 antes de llamar a convert_imageset indica el mecanismo de registro para redirigir los mensajes de registro a stderr.
  • --resize_height y --resize_width redimensionan todas las imágenes de entrada al mismo tamaño 200x200 .
  • --shuffle cambia aleatoriamente el orden de las imágenes y no conserva el orden en el archivo /path/to/labels/train.txt .
  • Los siguientes son la ruta a la carpeta de imágenes, el archivo de texto de las etiquetas y el nombre de salida. Tenga en cuenta que el nombre de salida no debería existir antes de llamar a convert_imageset contrario, recibirá un mensaje de error aterrador.

Otras banderas que pueden ser útiles:

  • --backend - le permite elegir entre un conjunto de datos levelDB o levelDB .
  • --gray - convierte todas las imágenes a escala de grises.
  • --encoded y --encoded_type - mantiene los datos de la imagen en forma comprimida codificada (jpg / png) en la base de datos.
  • --help - muestra algo de ayuda, vea todas las banderas relevantes en Banderas desde tools / convert_imageset.cpp

Puede consultar $CAFFE_ROOT/examples/imagenet/convert_imagenet.sh para ver un ejemplo de cómo usar convert_imageset .