Xenova/gelan-e_all

Xenova
Detección de objetos

Xenova/gelan-e_all es un modelo de detección de objetos compatible con Transformers.js y ONNX. Este modelo puede ser utilizado para detectar objetos en imágenes con gran precisión. Es ideal para aplicaciones web que necesitan capacidades de detección de objetos sin depender de un backend pesado.

Como usar

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

npm i @xenova/transformers

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

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

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

// Cargar procesador
const processor = await AutoProcessor.from_pretrained('Xenova/gelan-e_all');
// processor.feature_extractor.size = { shortest_edge: 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 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 "car" at [157.78, 132.88, 223.89, 167.56] with score 0.89.
// Found "car" at [62.69, 120.29, 140.12, 146.40] with score 0.86.
// Found "bicycle" at [0.53, 180.42, 39.41, 204.48] with score 0.84.
// Found "bicycle" at [157.39, 163.91, 194.82, 189.06] with score 0.81.
// Found "person" at [192.77, 90.67, 207.29, 116.15] with score 0.80.
// Found "bicycle" at [124.00, 183.29, 162.22, 206.57] with score 0.78.
// Found "person" at [11.91, 164.63, 27.64, 200.17] with score 0.78.
// Found "person" at [166.75, 150.84, 187.49, 186.04] with score 0.74.
// ...

Funcionalidades

Detección de objetos
Compatible con Transformers.js
Pesos ONNX
Libre de licencia GPL-3.0

Casos de uso

Detección de objetos en imágenes
Integración en aplicaciones web sin necesidad de backend pesado
Análisis de imágenes en tiempo real para sitios web