有部分图片由于csdn的问题大多数上传失败了,所以感兴趣的可以去看原论文:

http://cvil.eecs.yorku.ca/projects/public_html/image_recoloring/

Github代码链接:

https://github.com/mahmoudnafifi/Image_recoloring

github的代码我已经跑过了,没有大的问题。需要注意的就是vs的版本问题,项目中要求的是2015,我自己的是2017,所以有路径不同,找不到对应文件的情况。

修改方法:找到新的bin文件夹路径,然后修改对应行的代码。

项目GUI展示:

(没展示出来)

图1:(A)由RefineNet [LMSR17]获得的输入图像及其语义分割(对象蒙版)。 (B)由Photoshop的变化工具产生的重新着色的图像。 (C)从我们的方法重新着色的图像中,该方法考虑了图像中对象的颜色分布。

Abstract

我们提出了一种基于与图像中存在的对象相关的颜色分布来执行自动图像重新着色的方法。例如,当为包含天空物体的图像重新着色时,我们的方法结合了以下观察结果:“天空”类的物体的颜色分布具有蓝色(白天),黄色/红色(黄昏/黎明)和黑暗(夜间)。我们的工作利用了最新的深度学习方法,这些方法可以执行相当准确的对象级细分。通过使用数据集中用于训练深度学习对象分割方法的图像,我们能够对数据集中每个对象类别的颜色分布进行建模。给定一个新的输入图像及其相关的语义分割(即对象蒙版),我们执行颜色转移以将输入图像颜色直方图映射到一组目标颜色直方图,这些目标颜色直方图是基于图像中对象的学习到的颜色分布构造的。我们证明了我们的框架能够产生引人注目的颜色变化,这些颜色变化通常比现有方法产生的结果更有趣和独特。

1. Introduction and Related Work

图像重新着色的目的是操纵图像的RGB颜色值,以赋予其新外观以传达不同的外观和感觉

为此目的进行色彩处理的方式有多种,例如颜色转移(例如[FPC * 16]),外观转移(例如[LRT * 14])和样式转移(例如[LPSB17])。 图像编辑软件(例如Photoshop)提供了自动对图像进行重新着色的工具,以此为用户提供输入图像的有趣变化。图1显示了图像重新着色的典型情况,其中自动操纵输入图像以产生多个重新着色的变化。

绝大多数现有的重新着色方法都需要用户指定的目标图像(例如[FPC * 16,GEB16,LPSB17])。 有几种执行自动传送的方法(例如[HZMH14,LSL * 16])。据我们所知,这些现有方法并未在重新着色过程中明确考虑图像中存在的对象。这样的对象级语义信息可用于指导重新着色工作,以在输入图像上产生有趣且合理的变化。例如,如果输入图像具有天空对象,则重新着色的图像应利用来自训练数据的观察结果,即天空对象可以是蓝色,但不能是绿色。而且,如果原始输入图像已经具有具有蓝色外观的天空对象,则我们可以使用与该天空对象类别相关联的不同颜色(例如,带红色的外观)来为重着色结果提供更多的多样性。

贡献

我们提出了一种数据驱动的框架来自动为输入图像重新着色,该输入图像合并了有关图像中对象颜色分布的信息。具体来说,我们展示了如何从成千上万个带有标记对象的图像中模拟不同对象类别的颜色分布。给定一个新的输入图像及其对象分割,我们概述了生成一组不同颜色的重新着色图像的过程。 尽管这份简短的论文代表了正在进行的工作,但我们证明了我们的结果产生了令人信服的示例,这些示例提供了比现有方法更多的有趣变化。

图2:我们的图像重新着色框架。 我们使用深度学习方法来获取输入图像的语义分割作为对象蒙版。我们为每个对象生成一个颜色分布作为调色板,并在图像中选择一个对象作为主要对象。接下来,我们访问主要对象类的训练图像中的每个聚类(cluster)。对于每个聚类,我们选择一个颜色与输入对象的颜色最不相似的对象实例,并将其颜色添加到目标直方图中。在同一群集中,我们搜索在输入图像中找到的其他(非主要)对象,并在目标直方图中使用最不相似的实例。 最后,应用颜色转移将输入图像映射到我们生成的目标直方图。 对每个群集重复此操作,从而在输入图像上产生几种变化。 wobj是指输入图像中每个对象的像素比率。

2. Our Method

图2显示了我们的过程图。 我们首先描述数据准备,然后描述我们的方法的细节。

2.1. Training Data

我们的方法需要带有标记的对象蒙版的大量图像源,以便为每种类(类型)的对象建立颜色分布。 为此,我们使用了MIT场景解析基准(SPB)[ZZP * 17],其中包含20,210张带有像素遮罩的图像,适用于150种不同的对象类别。

对于每个对象类别b,我们在训练图像中提取该类别的所有对象实例的RGB像素值。对象类表示为一组颜色分布其中M是包含类b的对象实例的训练图像的数量。单个对象实例的颜色分布c(bi)被建模为调色板,具有[CFL * 15]中提出的方法生成的k种颜色。调色板表示形式还维持与调色板中每种颜色关联的像素数之比。

图3:对于训练数据中的每个对象类,我们提取出现在训练图像中的该类对象的每个实例,并以调色板的形式将其颜色外观表示为k种颜色的分布。然后,我们为每个对象类构造颜色分布的分布,称为DoD(颜色分布的分布)。 通过将调色板聚类为n个聚类来计算DoD

我们使用集合Cb为每个对象类b构建“颜色分布的分布”(DoD)。对象b的DoD是通过计算对象实例的每对调色板c(i)b和{c(bj)} Mj = 1之间的(EMD)[RTG00]生成的,其中i = [1 ,...,M]和j = i。根据Cb中所有颜色分布之间的EMD,我们使用具有Ward最小方差[WJ63]的聚集(自下而上)层次聚类生成n个颜色分布簇。

通过根据对象类别b的调色板对对象类别b的训练图像中的所有单个对象进行聚类,与聚类关联的每个对象实例都具有相似的整体颜色外观。

图3显示了此聚类过程的可视化。 在每个群集中,我们维护训练图像中出现的所有其他对象的列表。 后一点很重要,因为它为我们提供了一种方法,可以为特定对象类b查找出现在图像中的其他对象。

图4:对于主要对象的每个群集,我们搜索输入图像语义对象的最不相似的训练样本(以红色边框突出显示)。

2.2. Recoloring Procedure

给定输入图像I,我们使用RefineNet [LMSR17]计算其语义对象掩码M。请注意,此mask可能会很noisy(即RefineNet在SPB数据集上报告的像素准确率约为0.79)。I中的对象是根据I中每个对象的像素比率(wobj)和训练数据集中具有该对象类的训练样本的比率(robj)进行排名的。

这两项均归一化为0到1之间的范围。我们选择主要对象p作为得分最高的对象wobjp + robjp。

对于I中的主要对象和所有其他对象,我们计算它们的颜色分布(即具有相关像素权重的调色板)。然后,如第2.1节所述,访问主要对象类的每个群集。在群集中,我们根据主要对象的调色板的EMD和群集中的每个示例找到最不相似的对象实例。该不同对象实例的颜色将添加到目标直方图中。在同一群集中,对图像中存在的所有其他对象重复此过程。同样,我们使用EMD指标寻求与输入图像对象最不相似的调色板。

图4提供了说明性示例。来自训练数据的这些不同颜色将添加到目标直方图中。如果在输入图像中找到的对象不存在于群集中,我们会将输入对象的颜色复制到目标直方图。请注意,目标直方图的构建是基于I中每个对象的像素比通过加权求和来完成的。我们有目的地选择使用颜色最不相似的对象来提供明显不同的重新着色图像。但是,我们注意到可以调整选择目标对象实例的标准,以采用不同的策略。构建目标直方图后,我们会将输入直方图映射到目标直方图。 此映射产生重新着色的结果。 在实验中,我们使用Pitie和Kokaram [PK07]的方法将输入图像的颜色直方图转换为目标颜色直方图。 然后,我们将所有色域外像素缩放到[0-255]范围内。对主要对象类别中的每个聚类重复上述过程,生成n个输出图像。 Alg.1为我们的过程提供了伪代码。

3. Results

在我们的实验中,将DoD中使用的簇数设置为n = 20,将输入和目标颜色直方图bin的大小调整为分辨率32×32×32,并且我们的调色板固定为k = 20色。 我们在图2和图3中显示了三种颜色的调色板,以简化可视化。图5显示了我们的方法与其他三种方法的结果之间的比较。 提出了第一种方法[LRT * 14],将室外图像的外观转换为由用户选择的一组属性指定的不同场景外观。第二种方法[LSL * 16]是一种自动颜色/样式转移方法,该方法采用从ImageNet数据集[DDS * 09]上的预训练卷积神经网络(CNN)提取的深层特征中,以产生内容感知的颜色样式 。第三种方法[LPSB17]是基于CNN的方法,需要参考图像才能将其样式转换为输入图像。 结果表明,我们的方法无需任何用户交互或参考图像即可产生引人注目的结果。 其他定性结果如图6所示。

4. Concluding Remarks

我们提出了一种自动的数据驱动方法来生成重新着色的图像。 我们的方法利用了输入图像的语义对象信息以及这些对象的关联颜色分布,这些颜色分布已从数千个训练图像中建模。我们在几种输入图像上证明了该方法的有效性,并将我们的结果与其他产生颜色变化的策略进行了比较。

根据简短的论文主题,拟议的框架代表了一项正在进行的工作。 我们未来的工作计划是根据生成的目标直方图找到一种更合适的方法来执行颜色转移。 其他方向包括增加训练图像和语义对象的数量,以及检查其他对颜色分布建模的方法。

论文《Image Recoloring Based on Object Color Distributions》整理笔记相关推荐

  1. 论文阅读:Semantic Aware Attention Based Deep Object Co-segmentation(ACCV2018)

    协同分割论文:Semantic Aware Attention Based Deep Object Co-segmentation(ACCV2018) 论文原文     code 目录 1.简介 2. ...

  2. 三维目标检测论文阅读:VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

    VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection 理解了PointPillars这篇文章后,看这篇文章就清 ...

  3. 【论文总结】FSCE: Few-Shot Object Detection via Contrastive Proposal Encoding(附翻译)

    论文地址:https://arxiv.org/pdf/2103.05950.pdf 代码地址:https: //github.com/MegviiDetection/FSCE 改进:主要是针对小样本检 ...

  4. 文献解读-CVPR2019-Stereo R-CNN based 3D Object Detection for Autonomous Driving

    小菜鸡最近跟着大佬们学看文献,那就适当地记录一下,当作自己的学习笔记吧.文中也有很多理解不到位的地方的,毕竟还只是个小菜鸟,不懂的地方多得是.所以哪里有问题的还请各位读者好好指点指点. 今天要介绍的论 ...

  5. VideoMatch: Matching based Video Object Segmentation

    Abstract: 1.视频目标分割是一个很重要的挑战,对于各种各样的视频分析任务.最近视频目标分割任务基于深度网络取得了state-of-the-art的结果. 2.由于作为预测任务的表述,这些方法 ...

  6. 计算机专业毕业英文论文一万字,计算机专业毕业设计论文外文文献中英文翻译(Object)...

    计算机专业毕业设计论文外文文献中英文翻译(Object) 外文资料 Object landscapes and lifetimes Technically, OOP is just about abs ...

  7. 深度学习论文: Task-Specific Context Decoupling for Object Detection及其PyTorch实现

    深度学习论文: Task-Specific Context Decoupling for Object Detection及其PyTorch实现 Task-Specific Context Decou ...

  8. 经典神经网络论文超详细解读(八)——ResNeXt学习笔记(翻译+精读+代码复现)

    前言 今天我们一起来学习何恺明大神的又一经典之作: ResNeXt(<Aggregated Residual Transformations for Deep Neural Networks&g ...

  9. ICCV2019超分辨率方向论文整理笔记

    ICCV2019超分辨率篇 IEEE International Conference on Computer Vision,即国际计算机视觉大会,与计算机视觉模式识别会议(CVPR))和欧洲计算机视 ...

最新文章

  1. 管理信息系统 课程设计
  2. 1600802071
  3. 为解决Thymeleaf数字格式化问题而想到的几种方案
  4. hdu2066一个人的旅行(多源点多汇点的最短路径问题)
  5. Linux内核深入理解系统调用(3):open 系统调用实现以及资源限制(setrlimit/getrlimit/prlimit)
  6. 自己动手写Docker系列 -- 4.2使用AUFS包装busybox
  7. eclipse的编辑器样式风格设置
  8. Qt网络编程——TCP
  9. asp.net 通过IHttpModule开发接口
  10. java中 自动输入一个按键_java-如何同时收听多个按键输入
  11. linux/unix下telnet提示Escape character is '^]'的意义
  12. Win10 无法保存对hosts权限所作的更改 拒绝访问
  13. 推流式搅拌器选型功率计算方法_QSJ-1000
  14. 中国大学 MOOC C语言程序设计----编程部分答案解析
  15. Google Chrome谷歌旧版本下载
  16. SEEK学习论坛-JavaWeb开发实训课题 (数据库MySQL+js+Ajax+Servlet)代码分享篇
  17. 一个事物两个方面的对比举例_写compare contrast essay如何对比两个事物/人物
  18. oracle银行借贷系统,Oracle ERP系統借贷关系表
  19. 考研中国科学院大学计算机分数线,中国科学院大学2017年考研分数线
  20. Windows下打开命令窗口几种方式

热门文章

  1. HBuilder真机联调iPhone手机设备问题+未受信任企业处理方法
  2. 从 Server Timing Header 看服务器是如何处理请求的
  3. 线性变换的矩阵表示式
  4. Windows CMD 检擦电脑是否被入侵[简单办法]
  5. 分享个免费的图文识别orc接口
  6. PYNQ-Z2上手笔记之系统安装
  7. TensorFlow2.0教程-使用keras训练模型
  8. Android 客户端与服务端的数据交互问题
  9. 【上位机与下位机通信】使用WIFI模块ESP8266连接单片机与上位机通信
  10. 嵌入式第四课(继续SPI之路)