Xenova/gelan-c

Xenova
Detección de objetos

Un modelo de detección de objetos compatible con Transformers.js y con pesos ONNX para facilitar su uso en aplicaciones web. Este modelo es capaz de identificar diferentes tipos de objetos en imágenes utilizando detección de objetos YOLOv9.

Como usar

Si aún no lo has hecho, puedes instalar la biblioteca JavaScript de Transformers.js desde NPM usando:

npm i @xenova/transformers

Ejemplo: Realizar detección de objetos con Xenova/gelan-c.

import { AutoModel, AutoProcessor, RawImage } from '@xenova/transformers';

// Cargar modelo
const model = await AutoModel.from_pretrained('Xenova/gelan-c', {
  // quantized: false,    // (Opcional) Usar versión no cuantizada.
});

// Cargar procesador
const processor = await AutoProcessor.from_pretrained('Xenova/gelan-c');
// processor.feature_extractor.do_resize = false;                   // (Opcional) Desactivar redimensionamiento
// processor.feature_extractor.size = { width: 128, height: 128 }   // (Opcional) Actualizar valor de redimensionamiento

// Leer la imagen y ejecutar el procesador
const url = 'https://huggingface.co/datasets/Xenova/transformers.js-docs/resolve/main/city-streets.jpg';
const image = await RawImage.read(url);
const { pixel_values } = await processor(image);

// Ejecutar detección de objetos
const { outputs } = await model({ images: pixel_values });
const predictions = outputs.tolist();

for (const [xmin, ymin, xmax, ymax, score, id] of predictions) {
  const bbox = [xmin, ymin, xmax, ymax].map(x => x.toFixed(2)).join(', ');
  console.log(`Found "${model.config.id2label[id]}" at [${bbox}] with score ${score.toFixed(2)}.`);
}
// Found "car" at [446.82, 377.56, 639.19, 477.84] with score 0.93.
// Found "car" at [177.22, 336.87, 399.68, 417.72] with score 0.93.
// Found "bicycle" at [1.01, 518.22, 110.25, 584.43] with score 0.91.
// Found "bicycle" at [352.25, 526.08, 463.18, 588.02] with score 0.90.
// Found "person" at [474.38, 430.36, 533.80, 534.33] with score 0.86.
// Found "bicycle" at [449.59, 476.04, 555.38, 537.74] with score 0.86.
// Found "person" at [34.38, 469.56, 79.05, 566.80] with score 0.83.
// Found "traffic light" at [376.79, 66.41, 401.90, 111.34] with score 0.82.
// ...

Funcionalidades

Detección de objetos
Compatibilidad con Transformers.js
Pesos ONNX
Actualización opcional de los valores de redimensionamiento
Versión no cuantizada opcional

Casos de uso

Identificación de vehículos en imágenes de calles
Detección de peatones y ciclistas en entornos urbanos
Reconocimiento de señales de tráfico