bcmi/libcom

Image composition toolbox: everything you want to know about image composition/compositing or object/subject insertion/addition/compositing.

libcom – 一站式图像合成工具箱

功能简介

  • 提供一个 Python 库 (import libcom),整合了一系列即用型模型与工具,专注于图像合成——即将前景对象插入背景图像并使其看起来真实的任务。
  • 涵盖完整流程:
    1. 放置 (Placement) – OPAScoreModel / FOPAHeatMapModel 评估对象应放置的位置,并建议最佳位置与比例。
    2. 外观匹配 (Appearance matching) – 色彩传递、图像协调 (PCTNet, LBM)、绘画风格协调 (PHDNet, PHDiffusion)。
    3. 几何与语义检查 (Geometry & semantics check) – FOSScoreModel 评估几何与语义的相容性;InharmoniousLocalizationModel 检测不协调的区域。
    4. 阴影与反射合成 (Shadow & reflection synthesis) – ShadowGenerationModel (GPSDiffusion) 与 ReflectionGenerationModel (RGDiffusion)。
    5. 生成式合成 (Generative composition) – KontextBlendingHarmonizationModel (基于 Flux) 与 OSInsertModel 可实际生成前景嵌入背景的图像,并可选择性调整姿势、光照或风格。
    6. 简易基准 (Simple baseline) – get_composite_image 执行简单的复制粘贴,并支持 Alpha 或 Poisson 融合。

如何使用

import libcom
# naive blend
result = libcom.get_composite_image(fg, bg, mask)
# evaluate placement
score = libcom.OPAScoreModel(bg, fg).predict()
# harmonise illumination
harmonised = libcom.ImageHarmonizationModel(bg, fg).run()
# generate shadow
shadowed = libcom.ShadowGenerationModel(bg, fg).run()

所有模型皆为已发表研究代码的轻量封装 (例如 PCTNet, LBM, PHDNet, GPSDiffusion)。该库会自动处理预训练权重的下载、预处理,并返回 Pillow/NumPy 图像格式。

重要性
图像合成是照片编辑、AR/VR 内容创作、合成数据生成与视觉特效的核心能力。过去,每个子任务都需要拼凑不同的研究实现。libcom 将其统一在一致的 API 下,大幅加快了实验与下游产品集成的速度。

安装与平台

  • 需要 Linux, Python 3.10+, PyTorch ≥ 2.6。
  • 通过 PyPI 安装:pip install libcom (包会在首次使用时下载大型模型文件)。
  • 提供详细文档、教程与在线展示工作台 (https://libcom.ustcnewly.com/)。

社区与未来

  • 采用 Apache 2.0 开源授权,由上海交通大学类脑计算与机器智能实验室 (SJTU) 维护。
  • 作者欢迎贡献新模型并合作进行推理加速。

TL;DR: libcom 是一个 Python 工具箱,整合了用于真实感对象插入各个步骤的先进模型,包含放置评分、色彩/光照协调、阴影与反射合成,甚至是生成式合成,让您只需几行函数调用,即可将原始的前景与背景对组合成为精致的合成图像。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目