https://github.com/WongKinYiu/yolov9 with ONNX weights to be compatible with Transformers.js.

Usage (Transformers.js)

If you haven't already, you can install the Transformers.js JavaScript library from NPM using:

npm i @xenova/transformers

Example: Perform object-detection with Xenova/gelan-c_all.

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

// Load model
const model = await AutoModel.from_pretrained('Xenova/gelan-c_all', {
    // quantized: false,    // (Optional) Use unquantized version.
})

// Load processor
const processor = await AutoProcessor.from_pretrained('Xenova/gelan-c_all');
// processor.feature_extractor.size = { shortest_edge: 128 }    // (Optional) Update resize value

// Read image and run processor
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);

// Run object detection
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 [63.06, 118.80, 139.61, 146.78] with score 0.84.
// Found "bicycle" at [158.32, 166.13, 195.02, 189.03] with score 0.81.
// Found "bicycle" at [123.22, 183.83, 162.71, 206.30] with score 0.79.
// Found "bicycle" at [0.56, 180.92, 39.26, 203.94] with score 0.78.
// Found "car" at [157.10, 132.38, 223.72, 167.69] with score 0.77.
// Found "person" at [193.04, 90.98, 207.09, 116.78] with score 0.77.
// Found "person" at [12.49, 164.97, 27.63, 197.55] with score 0.66.
// Found "traffic light" at [102.80, 74.25, 124.12, 95.75] with score 0.62.
// ...

Demo

Test it out here!


Note: Having a separate repo for ONNX weights is intended to be a temporary solution until WebML gains more traction. If you would like to make your models web-ready, we recommend converting to ONNX using πŸ€— Optimum and structuring your repo like this one (with ONNX weights located in a subfolder named onnx).

Downloads last month
819
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The HF Inference API does not support object-detection models for transformers.js library.

Spaces using Xenova/gelan-c_all 8