开源最强AI一键抠图一键去背景模型RMBG-1.4

目录

    • 前言
    • 训练数据
      • 图像分布:
      • 定性评估
    • 应用场景
    • 安装
    • 用法

前言

RMBG v1.4 是BRIA AI最先进的背景去除模型,旨在有效地将各种类别和图像类型的前景与背景分开。该模型已在精心选择的数据集上进行训练,其中包括:一般库存图片、电子商务、游戏和广告内容,使其适用于大规模企业内容创建的商业用例。其准确性、效率和多功能性目前可与领先的源可用模型相媲美。它是内容安全、合法许可的数据集和偏见缓解至关重要的理想选择。
在这里插入图片描述

训练数据

Bria-RMBG 模型经过了 12,000 多张高质量、高分辨率、手动标记(像素级准确度)、完全授权的图像的训练。我们的基准包括均衡的性别、均衡的种族以及不同类型的残疾人。为清晰起见,我们根据不同的类别提供了数据分布,以展示我们模型的多功能性。

图像分布:

类别分配
仅限对象45.11%
携带物品/动物的人25.24%
仅限人员17.35%
带有文字的人/物体/动物8.52%
纯文本2.52%
仅限动物1.89%
类别分配
真实感87.70%
非真实感12.30%
类别分配
非纯色背景52.05%
纯色背景47.95%
类别分配
单个主要前景对象51.42%
前景中有多个物体48.58%

定性评估

在这里插入图片描述

应用场景

以下是一些主要的应用场景:

  1. 电子商务
    • 产品展示:在线商店需要高质量的产品图片来吸引顾客。去背景技术可以快速创建专业的产品照片,使产品在白色或自定义背景上显得更加突出。
    • 广告和促销:用于创建广告素材,去除杂乱背景,突出产品或服务。

  2. 社交媒体和内容创作
    • 个人和品牌形象:内容创作者和网红可以使用去背景技术创建更专业的图像,用于社交媒体平台的个人资料照片、封面图片和帖子。
    • 视频制作:用于虚拟背景的更换,使视频看起来更专业。

  3. 平面设计
    • 海报和传单:设计师可以快速去除图片背景,以便将主体融入到各种设计项目中,如海报、传单和横幅。
    • 图标和标志设计:创建透明背景的图标和标志,便于在不同背景上使用。

  4. 虚拟试衣间
    • 服装和配饰:在线时尚零售商可以利用去背景技术展示服装和配饰,帮助顾客更好地进行虚拟试穿和搭配。

  5. 教育和培训
    • 教学资料:制作教学幻灯片和其他教育材料时,去除背景可以帮助突出重要的图像内容。
    • 在线课程:讲师可以使用去背景技术创建更专业的视频课程内容。

  6. 市场营销和广告
    • 品牌推广:用于创建清晰、吸引人的广告素材,帮助品牌更好地进行推广。
    • 内容个性化:根据不同的营销活动,快速更换背景以适应不同的主题和场景。

  7. 人力资源
    • 员工证件照:公司可以快速制作员工的专业证件照,用于员工卡、内网个人资料等。

  8. 游戏和娱乐
    • 角色和场景制作:游戏开发者可以更容易地创建角色和场景,去除多余背景以便更好地整合到游戏环境中。
    • 虚拟现实和增强现实:去背景技术在AR和VR中应用广泛,可以实现更逼真的交互体验。

  9. 摄影和视频编辑
    • 照片修图:摄影师可以使用去背景技术快速去除照片中的杂乱背景,使主体更突出。
    • 视频特效:视频编辑可以利用去背景技术添加特效或更换背景。

这些应用场景展示了AI扣图去背景技术的多功能性和重要性,帮助各行各业提高效率,提升视觉效果。

安装

pip install -qr https://huggingface.co/briaai/RMBG-1.4/resolve/main/requirements.txt

用法

加载管道

from transformers import pipeline
image_path = "https://farm5.staticflickr.com/4007/4322154488_997e69e4cf_z.jpg"
pipe = pipeline("image-segmentation", model="briaai/RMBG-1.4", trust_remote_code=True)
pillow_mask = pipe(image_path, return_mask = True) # outputs a pillow mask
pillow_image = pipe(image_path) # applies mask on input and returns a pillow image

或者加载模型

from transformers import AutoModelForImageSegmentation
from torchvision.transforms.functional import normalize
model = AutoModelForImageSegmentation.from_pretrained("briaai/RMBG-1.4",trust_remote_code=True)
def preprocess_image(im: np.ndarray, model_input_size: list) -> torch.Tensor:if len(im.shape) < 3:im = im[:, :, np.newaxis]# orig_im_size=im.shape[0:2]im_tensor = torch.tensor(im, dtype=torch.float32).permute(2,0,1)im_tensor = F.interpolate(torch.unsqueeze(im_tensor,0), size=model_input_size, mode='bilinear')image = torch.divide(im_tensor,255.0)image = normalize(image,[0.5,0.5,0.5],[1.0,1.0,1.0])return imagedef postprocess_image(result: torch.Tensor, im_size: list)-> np.ndarray:result = torch.squeeze(F.interpolate(result, size=im_size, mode='bilinear') ,0)ma = torch.max(result)mi = torch.min(result)result = (result-mi)/(ma-mi)im_array = (result*255).permute(1,2,0).cpu().data.numpy().astype(np.uint8)im_array = np.squeeze(im_array)return im_arraydevice = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device)# prepare input
image_path = "https://farm5.staticflickr.com/4007/4322154488_997e69e4cf_z.jpg"
orig_im = io.imread(image_path)
orig_im_size = orig_im.shape[0:2]
image = preprocess_image(orig_im, model_input_size).to(device)# inference 
result=model(image)# post process
result_image = postprocess_image(result[0][0], orig_im_size)# save result
pil_im = Image.fromarray(result_image)
no_bg_image = Image.new("RGBA", pil_im.size, (0,0,0,0))
orig_image = Image.open(image_path)
no_bg_image.paste(orig_image, mask=pil_im)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/860199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

疲劳驾驶智能识别摄像机

疲劳驾驶智能识别摄像机在道路安全管理中扮演着越来越重要的角色。这些先进的设备不仅仅是简单的监控工具&#xff0c;它们通过先进的技术和算法&#xff0c;有效地识别和预防司机疲劳驾驶&#xff0c;从而大大减少了交通事故的风险。 首先&#xff0c;这些智能识别摄像机采用高…

2024年希望杯数学竞赛各年级100道练习题及答案

链接里面有无答案版本链接&#xff1a;https://pan.baidu.com/s/1nTIVJrTEWUzb0LJNo4mI_Q 提取码&#xff1a;0548 –来自百度网盘超级会员V7的分享 一年级 二年级 三年级 四年级 五年级 六年级 七年级 八年级

【博士每天一篇文献-算法】Fearnet Brain-inspired model for incremental learning

阅读时间&#xff1a;2023-12-16 1 介绍 年份&#xff1a;2017 作者&#xff1a;Ronald Kemker&#xff0c;美国太空部队&#xff1b;Christopher Kanan&#xff0c;罗切斯特大学 期刊&#xff1a; arXiv preprint 引用量&#xff1a;520 Kemker R, Kanan C. Fearnet: Brain-…

基于Java中的SSM框架实现萌宠优购系统项目【项目源码】计算机毕业设计

基于Java中的SSM框架实现萌宠优购系统演示 研究背景 现在人们在生活中、工作中压力与日俱增&#xff0c;而宠物也在人们的生活扮演者越来越重要的角色。然而&#xff0c;对于一些宠物爱好者来说&#xff0c;宠物早已经是他们生活中不可或缺的一部分。因为宠物能与人有心灵的沟…

计算机进入安全模式

最近老是蓝屏------显示是REGISTRY_ERROR&#xff08;注册表错误&#xff09; 重启之后选择进入安全模式 我重启之后&#xff0c;按F8进不了安全模式。通过另一种方式进入&#xff0c;按住Shift键再按重启 重启之后出现以下界面 选择疑难解答&#xff0c;再选择高级选项 在高…

20240623日志:大模型压缩-sliceGPT

context 1. 剪枝方案图释2. 正交矩阵Q 1. 剪枝方案图释 Fig. 1.1 剪枝方案 图中的阴影是表示丢弃掉这部分数据。通过引入正交矩阵 Q Q Q使 Q ⊤ Q Q Q ⊤ I \mathrm{Q}^\top\mathrm{Q}\mathrm{Q}\mathrm{Q}^\top\mathrm{I} Q⊤QQQ⊤I&#xff0c;来大量缩减 X X X的列数和 W …

androidx.preference框架介绍

一,概要 Preference作为setting核心框架,笔者对此框架做一个简单的解析,androidx.preference本质是对设置领域提供了一层View封装,以android view本身的策略模式进行二次开发,将常用的一些设置样式封装到不同的Preference中,以达到快速开发设置相关功能。并且,此风格与…

将 MinIO 与 Keycloak OIDC 集成

Keycloak是一种单点登录解决方案。使用Keycloak&#xff0c;用户使用Keycloak而不是MinIO进行身份验证。如果没有Keycloak&#xff0c;您将不得不为每个用户创建一个单独的身份 - 从长远来看&#xff0c;这将很麻烦。您需要一个集中身份解决方案来管理 MinIO 的身份验证和授权。…

OpenHarmony 5.0 纯血鸿蒙系统

OpenHarmony-v5.0-Beta1 版本已于 2024-06-20 发布。 OpenHarmony 5.0 Beta1 版本标准系统能力持续完善&#xff0c;ArkUI 完善了组件通过 C API 调用的能力&#xff1b;应用框架细化了生命周期管理能力&#xff0c;完善了应用拉起、跳转的能力&#xff1b;分布式软总线连接能力…

【面试题】漏洞复现的步骤

漏洞复现是信息安全工作中非常重要的一个环节&#xff0c;它通过对已发现的漏洞进行模拟攻击&#xff0c;来验证漏洞的存在性并深入理解其影响。以下是漏洞复现的主要步骤&#xff0c;并尽量以分点表示和归纳的形式呈现&#xff1a; 1. 收集漏洞信息 从漏洞公告、CVE&#xf…

Vue2中的render函数

Vue 推荐在绝大多数情况下使用模板来创建你的 HTML。然而在一些场景中&#xff0c;你真的需要 JavaScript 的完全编程的能力。这时你可以用render渲染函数&#xff0c;它比模板更接近编译器 。 在Vue2中&#xff0c;render函数是一个可选的、用于生成虚拟DOM的特殊函数。它是Vu…

国际网络专线怎么开通?

在全球化日益加速的今天&#xff0c;企业越来越需要稳定、高效的网络来支撑他们的跨国业务。国际网络专线&#xff0c;作为外贸企业、出海企业等拓展全球业务的关键基础设施&#xff0c;其重要性不言而喻。那么&#xff0c;企业如何才能开通国际网络专线呢&#xff1f;本文将详…

Amazon Q Developer 实战:从新代码生成到遗留代码优化(下)

简述 本文是使用 Amazon Q Developer 探索如何在 Visual Studio Code 集成编程环境&#xff08;IDE&#xff09;&#xff0c;从新代码生成到遗留代码优化的续集。在上一篇博客《Amazon Q Developer 实战&#xff1a;从新代码生成到遗留代码优化&#xff08;上&#xff09;》中…

docker常见问题-持续更新

docker 启动的问题解决 解决: 下载更新linux的win子系统, 重启就可以 WSL 2 installation is incomplete. 更加报错提示,猜测可能是我们使用的wsl2版本老了,需要我们自己手动更新一下,我们根据提示去微软官网下载最新版的wsl2安装后即可正常打开。更新包下载链接。 https://ws…

HBase:大数据时代的分布式存储利器

HBase&#xff1a;大数据时代的分布式存储利器 HBase&#xff1a;大数据时代的分布式存储利器1. HBase简介2. HBase特点3. HBase应用场景4. 总结 HBase&#xff1a;大数据时代的分布式存储利器 随着互联网和大数据技术的飞速发展&#xff0c;数据存储和计算需求呈现出爆炸式增…

Arduino - 串行绘图仪

Arduino - Serial Plotter Arduino - 串行绘图仪 In this tutorial, we will learn how to use the Serial Plotter on Arduino IDE, how to plot the multiple graphs. 在本教程中&#xff0c;我们将学习如何在Arduino IDE上使用串行绘图仪&#xff0c;如何绘制多个图形。 A…

webstorm无法识别@路径的问题,左键无法跳转

在项目根目录下创建 webstorm.config.js use strict; const webpackConfig require(vue/cli-service/webpack.config.js); module.exports webpackConfig;webstorm设置里找到以下位置&#xff0c;引入新建的 webstorm.config.js即可&#xff0c;不生效把webstorm重启一下

android Studio 无线开发调试: PC机远程安卓电脑 免费

背景 公司的安卓机比较大&#xff0c;还有连接着串口设备不好挪动。 但是遇到问题调试很麻烦。想找到一套远程调试方法。 实现 要求&#xff1a; adb android Studio 2023.3.1 安卓机IP:1928.168.1.228 直接用adb远程连接&#xff1a;adb connect 1928.168.1.228 默认端口…

HarmonyOS Next开发学习手册——ExtensionAbility

概述 EmbeddedUIExtensionAbility 是EMBEDDED_UI类型的ExtensionAbility组件&#xff0c;提供了跨进程界面嵌入的能力。 EmbeddedUIExtensionAbility需要和 EmbeddedComponent 一起配合使用&#xff0c;开发者可以在UIAbility的页面中通过EmbeddedComponent嵌入本应用的Embed…

读AI新生:破解人机共存密码笔记11智能爆炸

1. 大猩猩问题 1.1. 大约1000万年前&#xff0c;现代大猩猩的祖先创造了进化出现代人类的遗传谱系 1.1.1. 它们的物种基本上没有未来&#xff0c;除了我们屈尊所允许它们拥有的未来 1.1.2. 我们不希望在超级智能机器面前处于类似的地位 1.2. 大猩猩问题就是人类是否能在一个…