六年、六届学生接力,共铸上交大图像合成工具箱libcom

arXiv:2106.14490v5
如果你对 arXiv 的版本号有所了解,你就知道这篇论文已经更新了 4 次,现在已经来到了第 5 个版本。实际上,这个 arXiv 编号属于上海交通大学牛力团队一篇持续更新了四年的综述报告。 
该综述介绍了图像合成(image composition)领域需要解决的问题和应运而生的子任务,总结了各个子任务的数据集、传统方法、深度学习方法和实验现象,从鸿蒙初辟写到尘埃落地。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
论文标题:Making Images Real Again: A Comprehensive Survey on Deep Image Composition
论文地址:https://arxiv.org/abs/2106.14490v5
除了持续更新这份关于图像合成的综述,牛力团队还在持之以恒地研发和迭代一个图像合成工具箱:libcom。而这项工作更是已经持续了六年!
该团队自 2018 年底就开始从事图像合成领域的研究,从数据(10 + 原创数据集)到模型(30 + 原创模型)、论文(20 + 已发表论文),再到工具箱(libcom),历时六年,耗资数百万,由六届学生接力完成。
其中,所有数据集的每张图片都经过 2~3 人检查,以严格保证数据集的质量。所有模型的代码都经过 2~3 人检查,以确保没有严重的 bug。该团队打趣地表示:「如果有严重的 bug 请尽快打脸。」
六年、六届学生接力,共铸上交大图像合成工具箱libcom
在多年研究积累的基础上,该实验室于 2023 年底推出了尽量无需训练微调、对任意图片开箱即用的图像合成工具箱 libcom。并且牛力老师表示:「该工具箱的形式也是我们首创的,体现了我们对 image composition 领域的理解。」
截至 2024 年 10 月,libcom 已被下载安装了 1.2 万次。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

六年、六届学生接力,共铸上交大图像合成工具箱libcom

AI社交封面生成器 AI社交封面生成器

一句话/一张图一键智能生成社交媒体图片的AI设计神器

AI社交封面生成器 30 查看详情 AI社交封面生成器

项目地址:https://github.com/bcmi/libcom
可以看到,libcom 的 logo 是一个半人马的形象,实际上这正是为了体现图像合成的目标:融合不同的图像元素。这个半人马就是人和马的融合,同时 logo 中还添加了装饰性的蓝圈和黄圈的融合。另一个有趣的细节是,由于蓝色和黄色的过渡色是绿色,因此半人马系上了一条绿色的腰带。
具体能力上,libcom 集成了十几项图像合成功能(每个功能都有一到两个简单有效的方法),实现了对图像合成的全方位覆盖,并且每一个功能都有对应的仓库。牛力老师谦虚地说:「经过近一年的迭代,大多数功能的效果还凑合。」
另外值得一提的是,每个功能对应的仓库中都有训练代码。这是该团队专门为用户微调准备的:如果用户发现某项功能在自己的数据集上表现欠佳,原因很可能是数据差异,因此用户只需用自己收集的训练数据微调模型,替换掉原来的 checkpoint,就能让这些功能发挥出自己的完整实力。
libcom 的功能
在介绍 libcom 的十几项功能之前,我们首先要了解什么是图像合成(image composition)。 
图像合成是图像编辑(image editing)技术的一种,而图像编辑的原子操作包括增、删、改。其中「增」这个研究方向就叫做图像合成,指的是在图像中添加元素。另外,「删」是指从图像中擦除元素,该研究方向叫做图像填充(image inpainting)。「改」是指改变图像中元素的属性,该研究方向叫做属性编辑(attribute manipulation)。其余复杂的图像编辑操作皆可转化为「增」、「删」、「改」这三个原子操作的排列组合。 
因此,可以说图像合成在图像编辑的版图中三分天下居其一,并且其在虚拟现实、艺术创作、电商广告、数据增广等领域有着广泛应用。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
libcom 的十几项功能涵盖了图像合成的方方面面,从评估合成图的质量到得到高质量合成图:
1. get_composite_image:通过剪切粘贴、alpha 融合和泊松融合混合前景背景,如下图所示。这些是最简单的传统图像融合方法。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
2. OPAScoreModel:输入合成图和前景掩码,判断前景物体的放置(位置、大小)是否合理。输出的分数介于 [0,1] 之间,1 表示合理,0 表示不合理。在下图中,左边的合成图分数为 1,右边的合成图分数为 0。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
3. FOPAHeatMapModel: 输入一对背景图片和前景物体,输出该物体按照不同尺寸放在背景图片不同位置得到的合成图的合理性分数。假设有 K 个离散的前景物体尺寸,背景图片大小为 H*W, 则输出 H*W*K 的热力图。热力图上的每个像素对应一个放置的合理性分数,因此根据热力图可以获取合理的前景物体放置框。下图展示了单个前景物体尺寸的热力图以及根据热力图得到的前景物体放置框。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
4. color_transfer: 传统的颜色迁移方法,用于将背景的颜色迁移到前景,适用于简单场景的图像和谐化。下图是合成图和颜色迁移后的结果。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
5. ImageHarmonizationModel:输入合成图和前景掩码,图像和谐化模型调整前景的光照使其与背景和谐,输出和谐化结果。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
6. PainterlyHarmonizationModel:艺术图像和谐化与图像和谐化类似,区别在于背景是艺术图片。输入合成图和前景掩码,艺术图像和谐化模型调整前景的风格 (颜色、纹理、笔触等) 使其与背景一致,输出和谐化结果。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
7. HarmonyScoreModel: 输入合成图和前景掩码,判断前景和背景的光照是否匹配,输出前景与背景的和谐化分数。分数介于 [0,1] 之间,1 表示和谐,0 表示不和谐。在下图中,左边的合成图分数为 0.25,右边的合成图分数为 0.72。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
8. InharmoniousLocalizationModel: 输入一张图片,输出该图片不和谐区域的掩码。下图展示了合成图和模型预测的不和谐区域。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
9. FOSScoreModel: 输入一张合成图,预测前景和背景在几何和语义上的适配性分数,包括前景和背景的透视角度是否一致、前景物体的语义上下文是否合理等等。输出的适配性分数介于 [0,1] 之间,1 表示适配,0 表示不适配。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
10. ShadowGenerationModel: 输入一张合成图和前景掩码,为前景物体在背景上生成合理的阴影。该功能不是很稳定,通常每随机生成 5 张会有 1~2 张的阴影形状较好。下图展示了随机采样 5 次生成的结果。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
11. ControlComModel:输入一对背景图片和前景物体,把前景物体插入背景图片指定位置(黄色边界框),保持前景物体的姿态不变,做图像融合或者图像和谐化。两者的区别在于图像和谐化需要进一步调整前景物体的光照使其与背景和谐。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
12. MureObjectStitchModel: 输入一对背景图片和前景物体 (支持多张参考图),把前景物体插入背景图片指定位置(黄色边界框),调整前景物体的姿态和光照,得到合理的合成图。模型对于细节简单的物体和常见物体效果较好。对于细节复杂的物体,该团队建议用前景物体的 5~10 张图片花 10 分钟微调模型,这样一来,该模型的细节保留能力会大幅提升。该团队也提供了微调模型的代码。微调模型之后替换原来的 checkpoint 即可。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
libcom 背后的技术
通常而言,图像合成的用法是把一个前景物体插入到一张背景图片中,得到一张合成图。但是通过简单的剪切粘贴得到的合成图会存在诸多问题,我们可以将这些问题都看作是前景和背景不一致问题,其中包括外观不一致性几何不一致性语义不一致性。三种不一致性又可进一步分解成若干子问题(边界、光照、阴影、放置、遮挡、视角等)。
为了解决这些子问题,研究社区又提出了很多子任务(如图像融合、图像和谐化、阴影生成、物体放置等)。在图像合成中,不一致性(inconsistency)、子问题(issue)、子任务(sub-task)三者之间的关系如下图所示。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
上述这些子任务可以串行(sequential pipeline)或者并行(parallel pipeline)执行,以解决前景和背景之间的不一致性,得到高质量合成图。
串行流程和并行流程如下图所示,绿勾和红叉表示是否执行该子任务。
六年、六届学生接力,共铸上交大图像合成工具箱libcom
给定一对背景图片和前景物体,串行流程是先在背景中寻找前景物体的合理放置,通过图像混合解决边界不自然的问题,通过图像和谐化解决前背景光照不和谐的问题,通过阴影生成为前景物体在背景上生成合理的阴影。
而并行流程则是在一个模型中同时执行多个子任务,直接输出最终的合成图。并行流程也叫做生成式图像合成,近两年随着扩散模型的爆火而进入大众的视野。
libcom 的功能中有的基于串行流程,有的基于并行流程。
图像合成人才留步,团队在召唤
经过多年迭代发展的 libcom 功能虽多,但也有不少地方有待改进和补充。牛力老师表示,目前有待改进地方包括数据集扩充、模型调优、添加新功能、支持任意分辨率、工程优化、推理加速、跨平台迁移、版本升级迭代、用户界面等。
为了进一步推进这个项目的发展,牛力团队在此发出了诚挚邀请:「诚邀对图像合成感兴趣的大佬们指导工作,共铸 libcom,提供资金、数据、人力、技术等方面的支持。」贡献特别突出的人甚至可以获得 libcom 项目的冠名权,比如 JackLibcom、PonyLibcom。如有合作意向,请发送邮件到 ustcnewly@sjtu.edu.cn

以上就是六年、六届学生接力,共铸上交大图像合成工具箱libcom的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/416743.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
《星际:异端先知》女主谈网暴:尼尔叫我忽略它
上一篇 2025年11月7日 01:37:02
iOS 17.1.1 正式版解决了哪些问题? 是否值得升级到 iOS 17.1.1 正式版?
下一篇 2025年11月7日 01:37:07

相关推荐

  • 开源免费PHP工具 PHP开发效率提升利器

    推荐开源免费PHP开发工具以提升效率:VS Code、Sublime Text轻量高效,PhpStorm专业强大;调试用Xdebug、Kint、Ray;依赖管理选Composer;代码质量工具包括PHPStan、Psalm、PHP_CodeSniffer;数据库管理可用%ignore_a_1%MyA…

    2026年5月10日
    000
  • 谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧谷歌浏览器如何截图 谷歌浏览器页面截图技巧

    使用谷歌浏览器的开发者工具截图步骤:1. 按ctrl+shift+i(windows/linux)或cmd+option+i(mac)打开开发者工具。2. 点击右上角三个点,选择”更多工具”,再选择”截图”。3. 选择截取整个页面。推荐的谷歌浏览器扩展…

    2026年5月10日 用户投稿
    100
  • JavaScript计算器开发:解决数值显示与初始化问题

    本教程深入探讨了使用JavaScript构建计算器时常见的数值显示异常问题,特别是由于类属性未初始化导致的`Cannot read properties of undefined`错误。我们将详细分析问题根源,并通过在构造函数中调用初始化方法来解决该问题,同时优化显示逻辑,确保计算器功能稳定且界面显…

    2026年5月10日
    000
  • NextAuth getToken 在服务端返回 null 的问题排查与解决

    问题描述 在使用 Next.js 和 NextAuth 构建应用程序时,有时需要在服务端获取用户的身份验证信息。getToken 函数是 NextAuth 提供的一个便捷方法,用于从请求中提取 JWT (JSON Web Token)。然而,在某些情况下,尤其是在使用 getServerSidePr…

    2026年5月10日
    000
  • 虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版

    虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版虫虫漫画直接进入官网入口_虫虫漫画网页版清爽版

    虫虫漫画官网入口为www.ccmh.com,用户可直接通过浏览器访问,支持多端适配与账号同步功能,界面简洁无广告,提供海量国漫、日漫、韩漫资源,涵盖恋爱、玄幻等热门题材,更新及时,支持多种阅读模式及离线缓存,阅读体验流畅。 虫虫漫画直接进入官网入口在哪里?这是不少网友都关注的,接下来由PHP小编为大…

    2026年5月10日 用户投稿
    000
  • HTML文档如何工作?如何编辑HTML格式文件?

    HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?HTML文档如何工作?如何编辑HTML格式文件?

    浏览器解析和渲染html的过程包括:1. 解析html构建dom树;2. 结合css构建渲染树;3. 布局计算元素位置;4. 绘制像素到屏幕。编辑html可使用记事本、vs code、sublime text等文本或代码编辑器,其中vs code因语法高亮、自动补全和插件生态成为主流选择。标准htm…

    2026年5月10日 用户投稿
    000
  • GolangWeb项目异常捕获与日志记录

    答案:通过中间件使用defer和recover捕获panic,结合zap等结构化日志库记录请求链路信息,为每个请求生成trace ID,实现异常捕获与可追踪日志,提升系统稳定性与可观测性。 在Go语言Web项目中,异常捕获与日志记录是保障系统稳定性和可维护性的关键环节。Go本身没有像其他语言那样的t…

    2026年5月10日
    000
  • Python官网用户调查的参与方式_Python官网反馈提交详细教程

    答案是通过访问Python官网新闻页面、邮件邀请链接或GitHub仓库提交反馈。具体为:访问官网查找用户调查公告,或点击邮件中的专属链接参与,在GitHub的cpython仓库提交技术建议,并注意如实填写问卷与保护隐私。 如果您希望参与Python官网的用户调查并提交反馈,可以通过官方指定的渠道完成…

    2026年5月10日
    000
  • Go语言连接外部MySQL数据库:DSN配置与常见错误解析

    本文详细阐述了go语言使用`go-sql-driver/mysql`驱动连接外部mysql数据库的正确方法。重点介绍了数据源名称(dsn)的规范格式,特别是主机地址部分的配置,以避免常见的“getaddrinfow: the specified class was not found.”等网络解析错…

    2026年5月10日
    000
  • Tensorflow 音乐预测

    在本文中,我展示了如何使用张量流来预测音乐风格。在我的示例中,我比较了电子音乐和古典音乐。 你可以在我的github上找到代码:https://github.com/victordalet/sound_to_partition i – 数据集 第一步,您需要创建一个数据集文件夹,并在里面…

    2026年5月10日
    000
  • HTML/CSS中链接与按钮的正确嵌套:避免文本超链接化与结构优化指南

    本教程旨在解决HTML中链接()与按钮(button)或类按钮元素嵌套不当导致非预期文本超链接化的问题。我们将通过修正标签的错误闭合,并推荐使用 等语义化元素作为链接内容并应用按钮样式,来创建功能正确、结构清晰且包含文本或图像的交互式按钮,从而提升页面的可维护性和用户体验。 在网页开发中,我们经常需…

    2026年5月10日
    000
  • 如何根据当前月份动态排序 1-12 月?

    根据当前月份动态排序 1-12 月 想要实现根据当前月份动态排序 1-12 月,可以通过参考以下方法: 创建月份数组:首先,创建一个包含 1-12 月信息(如名称和值)的月份数组。获取当前月份:获取 javascript 中表示当前月份的数值(从 0 到 11)。重新排序月份数组:使用 javasc…

    2026年5月10日
    000
  • 学习了Python的Flask后,Go语言的Web框架该选Gin还是Beego?

    学习编程时,选择合适的框架至关重要。许多开发者在掌握Python Flask后,转向Go语言Web开发时,常常在Gin和Beego之间难以抉择。本文将深入分析,助您做出明智选择。 虽然网上搜索结果多建议使用Go原生标准库http,但实际上所有框架都是对http的封装。虽然使用http开发灵活,但工作…

    2026年5月10日
    000
  • Angular mat-tab 高度自适应与布局优化指南

    本教程旨在解决Angular Material mat-tab组件在Flexbox布局中无法自动填充父容器高度的问题。文章将深入分析问题根源,并提供使用CSS深度选择器(::ng-deep)精确控制mat-tab-body-wrapper和mat-tab-body高度的解决方案,确保组件在指定布局下…

    2026年5月10日
    000
  • JavaScript动态下拉菜单:实现日期选项与价格计算关联

    在现代web应用中,动态生成表单元素并使其具备交互逻辑是常见的需求。特别是在需要根据用户选择调整价格或服务参数的场景下,下拉菜单()常被用来展示一系列选项。本教程将指导您如何利用javascript动态生成一个包含日期选项的下拉菜单,并为每个选项关联一个具体的数值(如剩余天数),进而实现一个基于用户…

    2026年5月10日
    000
  • 如何在不暴露密钥的情况下,在客户端创建 Stripe Payment Link

    本文介绍了在纯静态网站环境下,如何利用 Stripe Payment Link 实现商品售卖,并着重讨论了在不暴露 Stripe 密钥的前提下,客户端创建 Payment Link 的可行性。分析了直接在客户端使用密钥的风险,并提出了预先生成 Payment Link 或使用后端服务动态生成 Pay…

    2026年5月10日
    000
  • html如何制作水印_HTML水印(文字/图片)添加与设置方法

    使用CSS和HTML可实现网页水印,方法包括:一、通过background-image与data URI嵌入斜向文字水印;二、利用伪元素结合transform旋转生成叠加文字层;三、插入img标签或背景图设置固定位置图片水印;四、用Canvas绘制多行斜纹并转Base64作背景;五、通过禁用右键、屏…

    2026年5月10日
    100
  • 使用CSS Grid实现不规则列布局:告别传统表格的限制

    本教程详细阐述如何利用css grid实现复杂的、不规则的列布局,尤其适用于那些传统html表格难以实现的块状结构。文章将通过具体的css属性和html结构示例,指导读者如何定义网格、控制子项的跨度与位置,以及优化自动布局流程,从而高效构建灵活且响应式的页面布局。 1. 传统表格的局限与CSS Gr…

    2026年5月10日
    000
  • 解决Go语言中GOPATH未设置错误及工作区配置指南

    本文旨在解决go语言开发中常见的“gopath not set”错误,并提供详细的go工作区配置指南。内容涵盖`gopath`环境变量的设置、go项目目录结构、`path`变量的扩展,以及一些高级配置技巧,旨在帮助开发者建立一个高效、规范的go开发环境,确保包的下载、编译和运行顺利进行。 Go语言在…

    2026年5月10日
    000
  • 掌握 JavaScript 中的高阶函数

    现代 javascript 开发严重依赖函数式编程,掌握其基本思想将极大提高你的编码能力。 高阶函数是这个范式最有力的武器之一。为了帮助您掌握它们,本文将介绍它们的定义、应用程序和独特的实现。 1. 函数式编程 函数式编程是一种编程范式,强调: 纯函数:没有副作用的函数,对于相同的输入返回相同的输出…

    2026年5月10日
    000

发表回复

登录后才能评论
关注微信