震撼发布!libcom:上海交大黑科技,一键搞定图像合成,让你的创意秒变现实!

快速阅读

  1. libcom 是上海交通大学开发的开源图像合成工具箱,旨在解决前景和背景不一致性问题,生成逼真合成图像。
  2. 它包含图像融合、和谐化、阴影生成等多种功能,基于传统图像处理和深度学习技术实现。
  3. 支持通过 pip install libcom 命令安装,用户只需简单地导入命令 import libcom,就能轻松调用库方法进行复杂的图像合成操作。

正文

libcom 是由上海交通大学 (BCMI) 实验室开发的一个图像合成工具箱。它的主要功能是解决前景和背景之间的不一致问题,比如外观、几何和语义上的不匹配,从而生成逼真的合成图像。

这个工具箱包含多种图像合成相关的操作,主要的功能包括:

  • 图像融合:在生成合成图像时,通过图像融合技术平滑前景与背景之间的过渡,减少可见的接缝和不自然的边界。
  • 图像和谐化:调整前景的光照和颜色,使其与背景的光照和颜色匹配,提高合成图像的真实感。
  • 阴影生成:为前景对象添加合适的阴影,增强前景与背景之间的相互作用和立体感。
  • 对象放置:确定前景对象在背景中的合理位置和大小,考虑遮挡、深度和场景的语义一致性。
  • 生成式合成:基于生成模型直接从前景和背景图像生成逼真的合成图像,考虑前景的几何和语义信息。

libcom 提供了一系列高效的算法实现,并且这些算法会随着版本迭代持续更新。用户只需简单导入命令 import libcom,就能轻松进行复杂的图像合成操作。

安装命令(超级简单!)

bash 复制代码
pip install libcom

图像融合示例

在这里我编写了一个简单的图像融合示例。它接收两张图片(一张前景图和一张背景图),然后使用不同的方法将前景图贴到背景图上,生成新的合成图片。最后,程序把这些合成图片和原图一起展示并保存,方便你看到不同合成效果的区别。

简而言之,它帮你快速看看怎么把一张图片贴到另一张图片上,并展示融合后的效果。

python 复制代码
from common import *
from libcom import get_composite_image
import os
import cv2

def main(fg_img_path, bg_img_path, result_dir='results'):
    # 确保结果目录存在
    os.makedirs(result_dir, exist_ok=True)

    # 假设foreground_mask和bbox是固定的或简单生成的
    fg_mask = 'path_to_foreground_mask.png'  # 替换为实际的mask路径
    bbox = [0, 0, 100, 100]  # 假设的bbox,格式为[x_min, y_min, width, height]

    img_list = [bg_img_path, fg_img_path]
    for option in ['none', 'gaussian', 'poisson']:
        comp_img, comp_mask = get_composite_image(fg_img_path, fg_mask, bg_img_path, bbox, option)
        img_list.append(comp_img)
        img_list.append(comp_mask)

    # 可视化结果
    img_name = os.path.basename(fg_img_path).replace('.png', '.jpg')
    grid_img = make_image_grid(img_list, cols=4)
    res_path = os.path.join(result_dir, img_name)
    cv2.imwrite(res_path, grid_img)
    print('save result to ', res_path)

if __name__ == '__main__':
    fg_img_path = 'path_to_foreground_image.png'  # 替换为实际的前景图像路径
    bg_img_path = 'path_to_background_image.jpg'  # 替换为实际的背景图像路径
    main(fg_img_path, bg_img_path)

解释:

  1. main函数 :直接接受前景图像和背景图像的路径,以及结果目录(默认为results)。
  2. 固定参数 :假设fg_maskbbox是已知的或可以简单生成的,以便于演示。
  3. 结果保存:结果图像保存在指定的结果目录中。

使用方法:

  1. fg_img_pathbg_img_path替换为实际的前景和背景图像路径。
  2. 运行脚本,结果将保存在results目录中。

libcom 库方法分类与简介

除了图像融合方法以外,libcom 库还提供了许多充满创意的图像处理方法。

主要功能

  • get_composite_image:一键生成合成图像,采用简单复制粘贴加图像融合技术。
  • OPAScoreModel:智能评估合成图像中前景物体放置的合理性。
  • FOPAHeatMapModel:预测背景前景组合的所有位置/尺度的合理性评分,输出最佳位置/尺度的合成图像。

色彩与风格调和

  • color_transfer:传统色彩转移法,让前景颜色完美匹配背景。
  • ImageHarmonizationModel:调整前景光照,与背景和谐统一。
  • PainterlyHarmonizationModel:艺术背景与真实前景风格无缝融合。

评估与定位

  • HarmonyScoreModel:评估合成图像前景与背景的和谐度。
  • InharmoniousLocalizationModel:精准定位合成图像中的不和谐区域。
  • FOSScoreModel:从几何和语义角度评估前景与背景的兼容性。

高级生成模型

  • ControlComModel:统一图像融合、和谐化、视角合成和生成式合成的扩散模型。
  • ObjectStitchModel:生成背景前景组合的合成图像,非物体像素自动填充为黑色。
  • ShadowGenerationModel:为插入物体生成逼真阴影,提升图像真实感。

资源

Docs 官方文档 (libcom.readthedocs.io/en/latest/o...)

Pip 项目地址 (pypi.org/project/lib...)

GitHub 仓库 (github.com/bcmi/libcom)

Demo 在线体验 (bcmi.sjtu.edu.cn/home/niuli/...)


❤️ 如果你也关注大模型与 AI 的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的 AI 应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

微信订阅号|搜一搜:蚝油菜花

相关推荐
爱写代码的小朋友18 小时前
使用 OpenCV 进行人脸检测
人工智能·opencv·计算机视觉
Cici_ovo19 小时前
摄像头点击器常见问题——摄像头视窗打开慢
人工智能·单片机·嵌入式硬件·物联网·计算机视觉·硬件工程
思通数据21 小时前
AI助力医疗数据自动化:诊断报告识别与管理
大数据·人工智能·目标检测·机器学习·计算机视觉·目标跟踪·自动化
(●'◡'●)知1 天前
基于树莓派的安保巡逻机器人--(一、快速人脸录入与精准人脸识别)
人工智能·python·opencv·机器学习·计算机视觉
程序小旭1 天前
DiffusionDet: Diffusion Model for Object Detection—用于对象检测的扩散模型论文解析
目标检测·计算机视觉·扩散模型
马甲是掉不了一点的<.<1 天前
计算机视觉常用数据集Cityscapes的介绍、下载、转为YOLO格式进行训练
人工智能·yolo·目标检测·计算机视觉·计算机视觉数据集
LeapMay1 天前
3D Gaussian Splatting 入门
计算机视觉·3d
BH042509091 天前
VQGAN(2021-06:Taming Transformers for High-Resolution Image Synthesis)
计算机视觉·扩散模型·图像生成·cv
BH042509091 天前
VQ-VAE(2018-05:Neural Discrete Representation Learning)
人工智能·计算机视觉
思通数科大数据舆情1 天前
开源AI助力医疗革新:OCR系统与知识图谱构建
人工智能·目标检测·机器学习·计算机视觉·目标跟踪·ocr·知识图谱