--- license: apache-2.0 library_name: onnx pipeline_tag: image-segmentation tags: - onnx - onnxruntime-web - background-removal - salient-object-detection - u2net --- # u2netp (ONNX) A mirror of **u2netp** — the small ("portable") variant of [U²-Net](https://github.com/xuebinqin/U-2-Net) — for salient object detection, the model behind background removal. This repository exists so the model can be fetched directly by a browser at runtime. It is a **verbatim mirror**: the file is byte-for-byte the `u2netp.onnx` asset published by the [rembg](https://github.com/danielgatis/rembg) project, and its SHA-256 is pinned by the consumer. | | | | --- | --- | | File | `u2netp.onnx` | | Size | 4,574,861 bytes (4.36 MiB) | | SHA-256 | `309c8469258dda742793dce0ebea8e6dd393174f89934733ecc8b14c76f4ddd8` | | Opset | 11 | ## Tensor contract Read the input and output names off the graph rather than hardcoding them — the first of each is what the pipeline below uses. - **Input** — `float32[1, 3, 320, 320]`, NCHW, RGB. - **Output** — `float32[1, 1, 320, 320]`, a saliency map. U²-Net emits several side outputs; the **first** is the fused one to use. ## Pre / post-processing The model is fixed at 320×320, so the image is **squashed** to that size (aspect ratio is not preserved), then normalised with the ImageNet statistics: ``` scaled = (pixel / 255) / max_pixel_value_of_the_image tensor = (scaled - mean) / std mean = [0.485, 0.456, 0.406] std = [0.229, 0.224, 0.225] ``` Afterwards, min–max normalise the saliency map to 0–1, scale to 0–255, resize it back to the original dimensions (bilinear), and use it as the alpha channel of the source image. > **Note on other mirrors.** Some copies of this model ship a > `preprocessor_config.json` describing a letterbox resize > (`keep_aspect_ratio` / `do_pad`). That does **not** match the pipeline above, > and following it changes the output. ## Licence and credit The U²-Net weights are **Apache-2.0**. If you use them, cite the paper: ```bibtex @InProceedings{Qin_2020_PR, title = {U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection}, author = {Qin, Xuebin and Zhang, Zichen and Huang, Chenyang and Dehghan, Masood and Zaiane, Osmar and Jagersand, Martin}, journal = {Pattern Recognition}, volume = {106}, pages = {107404}, year = {2020} } ``` - Model and paper: [xuebinqin/U-2-Net](https://github.com/xuebinqin/U-2-Net) (Apache-2.0) - The release asset mirrored here: [danielgatis/rembg](https://github.com/danielgatis/rembg) (MIT)