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