Skip to content
Tutorials4 min read

Dibujando Cuadros Delimitadores para Detección de Objetos

Guía completa para configurar la anotación de cuadros delimitadores para tareas de visión por computadora, incluyendo colores de etiquetas y validación.

Potato Team·

Dibujando Cuadros Delimitadores para Detección de Objetos

La anotación de cuadros delimitadores es esencial para entrenar modelos de detección de objetos. Este tutorial cubre todo, desde la configuración básica hasta funciones avanzadas como pre-anotación y reglas de validación.

Configuración Básica de Cuadros Delimitadores

Configuración Mínima

yaml
annotation_task_name: "Object Detection Annotation"
 
data_files:
  - "data/images.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    name: objects
    description: "Draw boxes around all objects"
    tools:
      - bbox
    labels:
      - name: car
        color: "#FF6B6B"
      - name: person
        color: "#4ECDC4"
      - name: bicycle
        color: "#45B7D1"

Cómo Funciona

  1. Selecciona una etiqueta de la barra de herramientas
  2. Haz clic y arrastra para dibujar un cuadro
  3. Ajusta las esquinas para refinar el cuadro
  4. Agrega más cuadros según sea necesario
  5. Envía cuando hayas terminado

Configuración Detallada de Etiquetas

yaml
annotation_schemes:
  - annotation_type: image_annotation
    name: objects
    description: "Annotate all visible objects"
    tools:
      - bbox
    labels:
      - name: person
        color: "#FF6B6B"
        description: "Any human, partial or full"
        keyboard_shortcut: "p"
 
      - name: car
        color: "#4ECDC4"
        description: "Cars, trucks, SUVs"
        keyboard_shortcut: "c"
 
      - name: motorcycle
        color: "#45B7D1"
        description: "Motorcycles and scooters"
        keyboard_shortcut: "m"
 
      - name: bicycle
        color: "#96CEB4"
        description: "Bicycles of all types"
        keyboard_shortcut: "b"
 
      - name: traffic_light
        color: "#FFEAA7"
        description: "Traffic signals"
        keyboard_shortcut: "t"
 
      - name: stop_sign
        color: "#DDA0DD"
        description: "Stop signs"
        keyboard_shortcut: "s"

Agregar Atributos de Objeto

Captura información adicional sobre cada cuadro:

yaml
annotation_schemes:
  - annotation_type: image_annotation
    name: objects
    tools:
      - bbox
    labels:
      - name: person
        color: "#FF6B6B"
        attributes:
          - name: occlusion
            type: radio
            options: [none, partial, heavy]
          - name: truncated
            type: checkbox
            description: "Object extends beyond image"
          - name: difficult
            type: checkbox
            description: "Hard to identify"

Cuando los anotadores dibujan un cuadro, se les pedirá que completen estos atributos.

Reglas de Validación

Asegura la calidad de la anotación con validación:

yaml
annotation_schemes:
  - annotation_type: image_annotation
    name: objects
    tools:
      - bbox
    labels: [...]
    min_annotations: 1

Atajos de Teclado

Potato incluye atajos de teclado integrados para una anotación eficiente:

  • Las teclas numéricas seleccionan etiquetas
  • Suprimir elimina las anotaciones seleccionadas
  • Las teclas de flecha navegan entre elementos

Opciones de Visualización

Configura los ajustes de visualización de imágenes:

yaml
image_display:
  width: 800
  height: 600

Configuración Completa de Producción

yaml
annotation_task_name: "Autonomous Driving - Object Detection"
 
data_files:
  - "data/driving_frames.json"
 
annotation_schemes:
  - annotation_type: image_annotation
    name: objects
    description: "Annotate all traffic participants and objects"
    tools:
      - bbox
    min_annotations: 1
    labels:
      - name: vehicle
        color: "#FF6B6B"
        keyboard_shortcut: "v"
        attributes:
          - name: type
            type: radio
            options: [car, truck, bus, motorcycle, bicycle]
          - name: occlusion
            type: radio
            options: [0%, 1-25%, 26-50%, 51-75%, 76-99%]
 
      - name: pedestrian
        color: "#4ECDC4"
        keyboard_shortcut: "p"
        attributes:
          - name: pose
            type: radio
            options: [standing, walking, sitting, lying]
          - name: age_group
            type: radio
            options: [child, adult, elderly]
 
      - name: cyclist
        color: "#45B7D1"
        keyboard_shortcut: "c"
 
      - name: traffic_sign
        color: "#FFEAA7"
        keyboard_shortcut: "t"
        attributes:
          - name: sign_type
            type: radio
            options: [stop, yield, speed_limit, warning, other]
 
      - name: traffic_light
        color: "#DDA0DD"
        keyboard_shortcut: "l"
        attributes:
          - name: state
            type: radio
            options: [red, yellow, green, off, unknown]

Formato de Salida

json
{
  "frame_id": "frame_0001",
  "frame_path": "/images/frame_0001.jpg",
  "image_dimensions": {"width": 1920, "height": 1080},
  "annotations": {
    "objects": [
      {
        "label": "vehicle",
        "bbox": [450, 380, 680, 520],
        "attributes": {
          "type": "car",
          "occlusion": "0%"
        }
      },
      {
        "label": "pedestrian",
        "bbox": [820, 400, 870, 550],
        "attributes": {
          "pose": "walking",
          "age_group": "adult"
        }
      }
    ]
  }
}

Consejos para Cuadros Delimitadores de Calidad

  1. Cuadros ajustados: Minimizar el fondo en los cuadros
  2. Reglas consistentes: Documentar los casos extremos claramente
  3. Sesiones de calibración: Revisar ejemplos juntos
  4. Rastrear métricas: Monitorear el conteo y la distribución de tamaños de los cuadros

Próximos Pasos


Documentación completa en /docs/features/image-annotation.