【问题标题】:How to automatically blend images to create realistic composites (java)如何自动混合图像以创建逼真的合成 (java)
【发布时间】:2019-04-27 18:24:02
【问题描述】:

我有两张图片 - 背景和前景,具有不同的照明条件和色调。他们每个人都包含一个人。我也为前景图像中的人设置了一个 alpha 蒙版。我想将前景中的人(使用蒙版裁剪)与背景图像混合,以便最终图像看起来好像前景中的人站在背景中的人旁边(即逼真的合成混合)。我已经有了分割蒙版,我能够从前景图像中得到裁剪出来的人。看起来我们需要确保适当的照明、饱和度和颜色匹配以获得自然的混合感觉。看起来,我们可以很容易地手动使用 Photoshop( link1,link2)。给定两张带有人物的随机背景和前景图像,如何以编程方式获得类似的结果?

以下是我尝试过的方法;但它们每个都有特定的问题,并且只适用于特定类型的图像。

1.OpenCV 无缝克隆 - 非常适用于平面图像和类似的对比图像。问题:- 重,污迹,不能概括为所有类型的图像。

2.逼真的风格转移 - 效果很好;但它很重,需要特殊训练,并且只适用于少数几类图像。仍然可能存在人工制品。

3.Fast Color Transfer (pyimagesearch) - 适用于平面背景。背景颜色平均会导致颜色溢出到图像 roi,从而失去其自然感觉。

还尝试了正常的 Alpha 混合、拉普拉斯混合、直方图匹配等。此外,还尝试了 CLAHE、伽马校正、直方图均衡、边缘混合等技术来调整和改进混合的输出。不幸的是,这些组合都没有达到预期的效果。(注意:-输出不应理想地看起来好像一层堆叠或粘贴在背景图像之上)。即我们需要一个无缝的自然混合。

这是否可能仅使用某些 AI 模型,或者是否有任何轻量级的方法可以在 java 中使用一些标准库执行自动图像堆肥(通常应该适用于任何两个图像)?

我们正在尝试实现类似于以下方法的东西:-

  1. https://people.csail.mit.edu/yichangshih/portrait_web/

  2. https://arxiv.org/abs/1709.09828

  3. https://www.cs.cornell.edu/~kb/publications/egsr18_harmonization.pdf

【问题讨论】:

    标签: java android opencv blend


    【解决方案1】:

    终于找到答案了..这里是深色和谐的caffe实现:https://github.com/wasidennis/DeepHarmonization。它似乎是一个轻量级网络,并且运行速度非常快。仍在尝试弄清楚如何将其转换为对移动设备友好的格式,例如 tensorflow lite ...

    希望对某人有所帮助...

    【讨论】:

      猜你喜欢
      • 2014-05-18
      • 2015-09-18
      • 2021-07-12
      • 2012-07-15
      • 2017-12-02
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      相关资源
      最近更新 更多