Xenova/yolov9-c_all
Xenova
Detección de objetos
Un modelo de detección de objetos con pesos ONNX compatible con Transformers.js. Este modelo permite detectar objetos en imágenes utilizando una biblioteca de JavaScript. Está diseñado para ser utilizado en aplicaciones web y aprovecha las capacidades de procesamiento de Transformers.js.
Como usar
Si aún no lo has hecho, puedes instalar la biblioteca JavaScript Transformers.js desde NPM usando:
npm i @xenova/transformers
Ejemplo: Realizar detección de objetos con Xenova/yolov9-c_all.
import { AutoModel, AutoProcessor, RawImage } from '@xenova/transformers';
// Cargar modelo
const model = await AutoModel.from_pretrained('Xenova/yolov9-c_all', {
// quantized: false, // (Opcional) Usar versión no cuantizada.
})
// Cargar procesador
const processor = await AutoProcessor.from_pretrained('Xenova/yolov9-c_all');
// processor.feature_extractor.size = { shortest_edge: 128 } // (Opcional) Actualizar valor de redimensionado
// 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 inputs = await processor(image);
// Ejecutar detección de objetos
const threshold = 0.3;
const { outputs } = await model(inputs);
const predictions = outputs.tolist();
for (const [xmin, ymin, xmax, ymax, score, id] of predictions) {
if (score < threshold) break;
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 "bicycle" at [0.64, 181.27, 38.81, 203.94] with score 0.84.
// Found "car" at [157.68, 137.26, 223.67, 167.39] with score 0.78.
// Found "bicycle" at [157.69, 167.86, 195.10, 188.92] with score 0.78.
// Found "bicycle" at [123.69, 184.40, 162.44, 206.26] with score 0.74.
// Found "car" at [62.47, 119.27, 139.17, 145.84] with score 0.73.
// Found "person" at [193.18, 91.03, 206.57, 116.17] with score 0.72.
// Found "traffic light" at [73.08, 20.15, 82.06, 35.85] with score 0.70.
// Found "person" at [11.45, 164.69, 27.88, 199.36] with score 0.69.
// ...
Funcionalidades
- Detección de objetos en imágenes.
- Compatibilidad con ONNX.
- Se integra con Transformers.js.
- Procesamiento de imágenes en aplicaciones web.
- Capacidad de utilizar versiones no cuantizadas del modelo.
Casos de uso
- Detección de bicicletas en imágenes de calles urbanas.
- Identificación de vehículos como coches.
- Reconocimiento de personas en entornos públicos.
- Detección de semáforos en imágenes de tráfico.
- Aplicaciones web que requieren procesamiento rápido de imágenes.