Guía de inicio | Instalación | Uso | Ejemplos
Labelme es una herramienta de anotación de imágenes gráficas inspirada en http://labelme.csail.mit.edu.
Está escrito en Python y utiliza Qt para su interfaz gráfica.
Ejemplo de conjunto de datos VOC de segmentación de instancias.
Otros ejemplos (segmentación semántica, detección y clasificación de bbox).
Varias primitivas (polígono, rectángulo, círculo, línea y punto).
Anotación de imagen para polígono, rectángulo, círculo, línea y punto. (tutorial)
Anotación de bandera de imagen para clasificación y limpieza. (#166)
Anotación de vídeo. (anotación de vídeo)
Personalización de la GUI (etiquetas/banderas predefinidas, guardado automático, validación de etiquetas, etc.). (#144)
Exportación de conjuntos de datos en formato VOC para segmentación semántica/de instancias. (segmentación semántica, segmentación de instancias)
Exportación de conjuntos de datos en formato COCO, por ejemplo, segmentación. (segmentación de instancias)
Si eres nuevo en Labelme, puedes comenzar con Labelme Starter, que contiene:
¿Guías de instalación para todas las plataformas: Windows, macOS y Linux?
Tutoriales paso a paso : ¿primera anotación para editar, exportar e integrar con otros programas?
¿ Una recopilación de recursos valiosos para una mayor exploración?.
Hay opciones:
Instalación independiente de la plataforma: Anaconda
Instalación específica de plataforma: Ubuntu, macOS, Windows
Binarios precompilados desde la sección de lanzamiento
Necesita instalar Anaconda y luego ejecutar lo siguiente:
# python3conda create --name=labelme python=3source enable labelme# conda install -c conda-forge pyside2# conda install pyqt# pip install pyqt5 # pyqt5 se puede instalar mediante pip en python3pip install labelme# o puedes instalar todo mediante el comando conda # conda instala labelme -c conda-forge
sudo apt-get install labelme# orsudo pip3 install labelme# o instale el ejecutable independiente desde:# https://github.com/labelmeai/labelme/releases# o instale desde sourcepip3 install git+https://github.com/labelmeai/ etiquetarme
brew install pyqt # tal vez pyqt5pip instale labelme# o instale el ejecutable/aplicación independiente desde:# https://github.com/labelmeai/labelme/releases# o instale desde sourcepip3 instale git+https://github.com/labelmeai/labelme
Instale Anaconda y luego, en un mensaje de Anaconda, ejecute:
conda crear --nombre=labelme python=3 conda activar etiquetame pip install labelme# o instale la aplicación/ejecutable independiente desde:# https://github.com/labelmeai/labelme/releases# o instale desde sourcepip3 install git+https://github.com/labelmeai/labelme
Ejecute labelme --help
para obtener más detalles.
Las anotaciones se guardan como un archivo JSON.
labelme # simplemente abre gui# tutorial (ejemplo de una sola imagen) ejemplos de cd/tutorial labelme apc2016_obj3.jpg # especifica el archivo de imagenlabelme apc2016_obj3.jpg -O apc2016_obj3.json # cierra la ventana después de guardarlabelme apc2016_obj3.jpg --nodata # no incluye los datos de la imagen, sino la ruta relativa de la imagen en el archivo JSONlabelme apc2016_obj3.jpg --labels highland_6539_self_stick_notes,mead_index_cards,kong_air_dog_squeakair_tennis_ball # especificar lista de etiquetas# ejemplos de segmentación semántica cd ejemplos/segmentación_semántica labelme data_annotated/ # Abrir directorio para anotar todas las imágenes en éllabelme data_annotated/ --labels etiquetas.txt # especificar la lista de etiquetas con un archivo
--output
especifica la ubicación en la que se escribirán las anotaciones. Si la ubicación termina en .json, se escribirá una única anotación en este archivo. Solo se puede anotar una imagen si se especifica una ubicación con .json. Si la ubicación no termina en .json, el programa asumirá que es un directorio. Las anotaciones se almacenarán en este directorio con un nombre que corresponde a la imagen en la que se realizó la anotación.
La primera vez que ejecute labelme, creará un archivo de configuración en ~/.labelmerc
. Puede editar este archivo y los cambios se aplicarán la próxima vez que inicie labelme. Si prefiere utilizar un archivo de configuración de otra ubicación, puede especificar este archivo con el indicador --config
.
Sin el indicador --nosortlabels
, el programa enumerará las etiquetas en orden alfabético. Cuando el programa se ejecuta con este indicador, mostrará las etiquetas en el orden en que se proporcionan.
Las banderas se asignan a una imagen completa. Ejemplo
Las etiquetas se asignan a un único polígono. Ejemplo
¿Cómo convertir un archivo JSON a una matriz numpy? Ver ejemplos/tutorial.
¿Cómo cargar un archivo PNG de etiqueta? Ver ejemplos/tutorial.
¿Cómo obtener anotaciones para la segmentación semántica? Ver ejemplos/segmentación_semántica.
¿Cómo obtener anotaciones, por ejemplo, segmentación? Ver ejemplos/instance_segmentation.
Clasificación de imágenes
Detección de cuadro delimitador
Segmentación semántica
Segmentación de instancias
Anotación de vídeo
git clone https://github.com/labelmeai/labelme.gitcd labelme# Instale anaconda3 y labelmecurl -L https://github.com/wkentaro/dotfiles/raw/main/local/bin/install_anaconda3.sh | bash -s .source .anaconda3/bin/activate instalación de pip -e.
A continuación se muestra cómo crear el ejecutable independiente en macOS, Linux y Windows.
# Configurar condaconda crear --name labelme python=3.9 conda activar labelme# Construya el ejecutable independientepip install .pip install 'matplotlib<3.3'pip install pyinstaller pyinstaller labelme.spec dist/labelme --versión
Asegúrese de que la prueba a continuación pase en su entorno.
Consulte .github/workflows/ci.yml
para obtener más detalles.
instalación de pip -r requisitos-dev.txt formato ruff --check # `formato ruff` para corregir automáticamenteruff check # `ruff check --fix` para corregir automáticamenteMPLBACKEND='agg' pytest -vsx tests/
Este repositorio es la bifurcación de mpitid/pylabelme.