#机器学习 #ONNX #加载图像 #背景去除

rmbg

Rust 对 BRIA 背景去除 v1.4 模型库的接口

1 个不稳定版本

0.1.0 2024 年 3 月 28 日

#494图像

自定义许可

14KB
136

RMBG Crate

本 crate 提供了一个易于使用的接口,用于从图像中去除背景,利用机器学习模型。它旨在无缝集成到需要背景去除功能的 Rust 项目中。

Rust 文档:https://docs.rs/rmbg/latest/rmbg/struct.Rmbg.html Crates.io:https://crates.io/crates/rmbg

功能

  • 加载机器学习模型以从图像中去除背景。
  • 保持原始图像尺寸,用透明度替换背景。
  • 预处理和后处理图像以符合模型要求。

入门指南

先决条件

在开始使用 rmbg crate 之前,您需要下载所需的 model.onnx 文件。此模型是关键组件,因为它是背景去除过程的核心。您可以从以下 URL 下载它

https://hugging-face.cn/briaai/RMBG-1.4/blob/main/onnx/model.onnx

将下载的 model.onnx 文件放置在项目中的一个已知目录中。

安装

rmbg 添加到您的 Cargo.toml 文件

[dependencies]
rmbg = { version = "0.1.0", default-features = false }

针对库开发者的说明

如果您正在开发包含 rmbg 的库,强烈建议禁用默认功能,以避免不必要的膨胀。Cargo 特性是累加的,在库中启用默认功能可能会阻止下游用户选择不使用这些功能,从而导致编译时间和二进制文件大小增加。

相反,您可以在以下方式中启用开发依赖项中的必要功能

[dev-dependencies]
rmbg = { version = "0.1.0", features = ["download-binaries"] }

指示下游用户根据需要包含 ort,并启用 download-binaries 功能

[dependencies]
ort = { version = "...", features = ["download-binaries"] }

使用方法

要在项目中使用 rmbg crate,首先,使用 model.onnx 文件的路径初始化 Rmbg 结构的实例。然后,调用 remove_background 方法处理图像。

以下是一个简单的示例

use rmbg::Rmbg;
use image::DynamicImage;

fn main() -> anyhow::Result<()> {
    // Load the model
    let rmbg = Rmbg::new("path/to/model.onnx")?;

    // Load an image
    let original_img = image::open("path/to/image.png")?;

    // Remove the background
    let img_without_bg = rmbg.remove_background(&original_img)?;

    // Save or further process `img_without_bg` as needed
    Ok(())
}

许可

本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。

模型许可

本crate使用的.onnx模型受其自身许可协议约束。该模型以bria-rmbg-1.4许可证发布,这是一个仅限非商业用途的Creative Commons许可证。若要商业使用该模型,需要与BRIA签订商业协议。

请确保在使用该模型时遵守其许可协议。

依赖项

~6–8MB
~153K SLoC