Xenova/yolov9-e
Xenova
Detección de objetos
Modelo de detección de objetos basado en YOLOv9 con pesos ONNX para ser compatible con Transformers.js. Este modelo ofrece una solución temporal hasta que WebML gane más tracción y permite la detección de objetos en imágenes utilizando la biblioteca Transformers.js.
Como usar
import { AutoModel, AutoProcessor, RawImage } from '@xenova/transformers';
// Cargar modelo
const model = await AutoModel.from_pretrained('Xenova/yolov9-e', {
// quantized: false, // (Opcional) Usar versión no cuantizada.
});
// Cargar procesador
const processor = await AutoProcessor.from_pretrained('Xenova/yolov9-e');
// processor.feature_extractor.do_resize = false; // (Opcional) Desactivar redimensionamiento
// processor.feature_extractor.size = { width: 128, height: 128 }; // (Opcional) Actualizar valor de redimensionamiento
// Leer imagen y ejecutar 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(`Se encontró "${model.config.id2label[id]}" en [${bbox}] con una puntuación de ${score.toFixed(2)}.`);
}
// Se encontró "auto" en [179.43, 337.57, 399.15, 418.16] con una puntuación de 0.94.
// Se encontró "auto" en [447.38, 378.70, 640.22, 477.43] con una puntuación de 0.93.
// Se encontró "bicicleta" en [352.49, 528.11, 463.47, 588.33] con una puntuación de 0.90.
// Se encontró "bicicleta" en [0.82, 519.37, 110.09, 584.06] con una puntuación de 0.89.
// Se encontró "bicicleta" en [448.96, 476.38, 556.01, 538.31] con una puntuación de 0.89.
// Se encontró "persona" en [550.09, 261.24, 592.19, 331.37] con una puntuación de 0.88.
// Se encontró "persona" en [472.53, 430.68, 534.50, 532.82] con una puntuación de 0.87.
// Se encontró "persona" en [393.59, 481.02, 442.97, 587.68] con una puntuación de 0.85.
...
Funcionalidades
- Detección de objetos
- Transformers.js
- Pesos ONNX
- Compatible con JavaScript
Casos de uso
- Detección de objetos en imágenes
- Implementación de modelos ONNX en aplicaciones web
- Pruebas de detección de objetos utilizando Transformers.js