Plataforma de anotación de datos para Machine Learning con soporte multi-modalidad y multi-formato
18/62 sistemas implementados (29%)
Imágenes (9/13):
- Classification, Multi-Label, Detection, Segmentation, Instance Seg
- Keypoints/Pose, Polygon, Landmarks, OBB (Oriented Bounding Boxes)
Series Temporales (9/9): ✓ Todos implementados
- Classification, Forecasting, Anomaly Detection, Segmentation, Pattern Recognition, Event Detection, Regression, Clustering, Imputation
- Semantic Segmentation, Panoptic Segmentation, OCR, Depth Estimation (Imágenes)
- Audio (0/10): Classification, Speech Recognition, Sound Event Detection, etc.
- Video (0/9): Action Recognition, Object Tracking, Activity Detection, etc.
- 3D (0/9): Object Detection, Point Cloud, Mesh Segmentation, SLAM, etc.
- Texto/NLP (0/12): NER, Sentiment Analysis, Intent Classification, etc.
annotix/
├── index.html # Interfaz principal
├── css/ # Estilos modulares
├── js/ # Lógica de la aplicación
├── i18n.js # Sistema de internacionalización
├── locales/ # Carpeta de traducciones
│ ├── en.json # Inglés
│ ├── es.json # Español (predeterminado)
│ ├── fr.json # Francés
│ ├── zh.json # Chino
│ ├── ja.json # Japonés
│ ├── de.json # Alemán
│ ├── pt.json # Portugués
│ ├── it.json # Italiano
│ ├── ru.json # Ruso
│ └── ko.json # Coreano
└── README.md # Este archivo
- Descargar todos los archivos y mantenerlos en la misma carpeta.
- Abrir
index.htmlen un navegador moderno (Chrome, Edge, Firefox, Safari). - ¡Listo! No requiere instalación ni servidor backend.
- 🇬🇧 Inglés (English)
- 🇪🇸 Español (Spanish) - Predeterminado
- 🇫🇷 Francés (Français)
- 🇨🇳 Chino (中文)
- 🇯🇵 Japonés (日本語)
- 🇩🇪 Alemán (Deutsch)
- 🇵🇹 Portugués (Português)
- 🇮🇹 Italiano (Italiano)
- 🇷🇺 Ruso (Русский)
- 🇰🇷 Coreano (한국어)
- Clic en el selector de idioma en el header (esquina superior derecha).
- Seleccionar el idioma deseado.
- La interfaz se actualizará automáticamente.
- La preferencia se guarda en localStorage (
annotix_language).
- Múltiples proyectos en IndexedDB
- 6 modalidades: Imágenes, Audio, Video, Series Temporales, 3D, Texto/NLP
- 62 tipos de proyectos definidos (18 implementados)
- Import/Export de proyectos completos (
.tix) - Import/Export configuración (
.tixconfig) para trabajo en equipo
- Bbox: Bounding boxes rectangulares
- OBB: Oriented bounding boxes (rotados)
- Mask: Máscaras pixel-perfect para segmentación
- Polygon: Segmentación punto-a-punto
- Keypoints: Esqueletos y pose estimation
- Landmarks: Puntos independientes
- Classification: Etiquetas globales (single/multi-label)
- Select/Pan: Edición y navegación
- Redimensionar boxes arrastrando esquinas.
- Mover boxes completos.
- Eliminar anotaciones individuales.
- Deshacer última anotación.
- Flechas ← → para cambiar entre imágenes.
- Galería con vista previa.
- Filtros: Todas / Anotadas / Sin anotar.
- Crear clases ilimitadas.
- Cada clase con nombre y color personalizado.
- Editar y eliminar clases.
- Selección rápida con teclas 1-9.
- Zoom con rueda del mouse.
- Pan arrastrando (tecla H o middle-click).
- Controles de zoom (+, -, reset).
- Mostrar/ocultar etiquetas.
- YOLO: Detection, Segmentation, Pose (estructura estándar)
- COCO JSON: Detection, Segmentation, Polygon, Keypoints
- Pascal VOC XML: Object detection
- PNG Masks: Segmentación semántica (U-Net compatible)
- CSV: Classification, Landmarks, genérico
- Proyecto completo (
.tix) - Portabilidad total - Configuración (
.tixconfig) - Para compartir clases
- Código Python completo para entrenar modelos
- Soporte frameworks: YOLOv8/v11, Detectron2, TensorFlow, PyTorch, SMP
- Configuración automática según tipo de proyecto
- Exportación de modelos: ONNX, TorchScript, TFLite, OpenVINO, CoreML, TensorRT
| Tecla | Acción | Contexto |
|---|---|---|
| 1-9 | Seleccionar clase 1-9 | General |
| B | Herramienta Bbox | Detection |
| O | Herramienta OBB | OBB projects |
| M | Herramienta Mask | Segmentation |
| P | Herramienta Polygon | Polygon |
| K | Herramienta Keypoint | Pose |
| L | Herramienta Landmark | Landmarks |
| V | Herramienta Select | General |
| H | Herramienta Pan | General |
| Ctrl+S | Guardar imagen actual | General |
| Ctrl+Z | Deshacer última anotación | General |
| Delete | Eliminar seleccionada | General |
| Esc | Deseleccionar | General |
| ←/→ | Navegar imágenes | General |
| R/Shift+R | Rotar ±15° | OBB |
- Crear proyecto → Definir nombre, tipo (bbox/mask), clases iniciales.
- Cargar imágenes → Subir una o múltiples imágenes.
- Anotar → Usar herramientas para marcar objetos.
- Guardar → Ctrl+S después de cada imagen.
- Repetir → Navegar con flechas ← →.
- Exportar → Descargar dataset ZIP cuando termines.
- Crear proyecto con todas las clases definidas.
- Exportar configuración (
.tixconfig). - Compartir archivo con el equipo.
- Importar configuración recibida.
- Anotar sus imágenes asignadas.
- Exportar su dataset ZIP individual.
- Enviar al líder.
- Juntar todos los ZIP.
- Combinar carpetas images/ y labels/.
- Usar el dataset completo para entrenar.
<class_id> <x_center> <y_center> <width> <height>
Coordenadas normalizadas 0-1
<class_id> <x1> <y1> <x2> <y2> ... <xn> <yn>
Puntos del polígono normalizados
<class_id> <bbox> <x1> <y1> <v1> <x2> <y2> <v2> ...
Bbox + keypoints con visibilidad
Formato completo con imágenes, anotaciones, categorías y metadata
Archivos XML individuales por imagen con bboxes
Máscaras de segmentación como imágenes PNG
- IndexedDB: Todos los proyectos e imágenes anotadas.
- LocalStorage: Preferencia de idioma (
annotix_language). - Sin servidor: Todo funciona 100% en el cliente.
- Verificar formato soportado (JPG, PNG, WebP).
- Revisar consola del navegador (F12).
- Verificar que hay un proyecto seleccionado.
- Click en "Guardar" o Ctrl+S después de anotar.
- Chrome/Edge: ~500MB-1GB límite.
- Firefox: Sin límite específico.
- Safari: ~1GB límite.
- Exportar y limpiar proyectos viejos si es necesario.
- ✅ Chrome/Edge 90+
- ✅ Firefox 88+
- ✅ Safari 14+
- ✅ Opera 76+
- IndexedDB
- Canvas API
- Fetch API
- File API
- ES6+ JavaScript
- Sin tracking: No se envía información a servidores externos.
- Sin cuentas: No requiere registro ni login.
- Datos locales: Todo se almacena en el navegador del usuario.
- Semantic Segmentation completa
- Panoptic Segmentation
- OCR con bounding boxes de texto
- Depth Estimation visualization
- Espectrograma canvas para anotación
- Audio Classification
- Speech Recognition (transcripción + timestamps)
- Sound Event Detection
- Timeline-based annotation
- Object Tracking multi-frame
- Action Recognition
- Video Segmentation
- Point Cloud viewer (Three.js)
- 3D Bounding Boxes
- Mesh Segmentation
- SLAM Annotation
- Named Entity Recognition (NER)
- Sentiment Analysis
- Intent Classification
- Relation Extraction
Desarrollado por FabLab TecMedHub - Universidad Austral de Chile, Sede Puerto Montt.
Para preguntas o problemas:
- 📧 Email: tecmedhub@uach.cl
- 🌐 Web: [FabLab TecMedHub]
Desarrollado con ❤️ en Puerto Montt, Chile 🇨🇱