图像识别开源代码_灰度图像着色开源代码

Victory组近期整理了灰度图像着色开源代码,文章刊登于《中国计算机学会计算机视觉专委会简报》2019年第2期上。

灰度图像(gray image)是每个像素只有一个采样颜色的图像,即单通道图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度,理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。

灰度图像着色是将单通道的灰度图像,通过一定的操作,使其成为三通道的彩色图像的方法,在在影视处理、数字娱乐和动漫制作等方面有着广泛的应用前景。

在灰度图像着色领域,传统方法信息提取率不高,着色效果不理想,但随着人工智能的不断发展,灰度图像着色的效果越来越让人满意。目前灰度图像着色一般模式为:首先利用神经网络的信息提取的高效性,对图像中的各类信息及特征进行提取,构建并训练深度学习模型。训练网络时与原图像进行对比,逐渐减小网络输出结果的信息、分类等各类型的损失。训练完成后,只需向网络输入一张灰度图片,即可生成一张颜色饱满、鲜明逼真的彩色图片。下图为灰度图像着色示意图。

a8dd0aca76684b72e081da6dfb45bd52.png

图1 灰度图像着色示意图

本文着重介绍几个基于深度学习的灰度图像说色技术的开源代码,包括训练深度学习模型的常用数据集和几个经典的图像着色深度神经网络的模型。

1.ImageNet数据集

介绍:ImageNet 是一个计算机视觉系统识别项目,是目前世界上图像识别最大的数据库。是美国斯坦福的计算机科学家,模拟人类的识别系统建立的。能够从图片识别物体。ImageNet是一个非常有前景的研究项目,未来用在机器人身上,就可以直接辨认物品和人了。超过1400万的图像URL被ImageNet手动注释,以指示图片中的对象;在至少一百万个图像中,还提供了边界框。ImageNet包含2万多个类别; 一个典型的类别,如“气球”或“草莓”,包含数百个图像。

主页:http://www.image-net.org/

2.Place365数据集

介绍:Places365是Places2数据库的最新子集。 Places365有两个版本:Places365-Standard和Places365-Challenge。Places365-Standard系列列车拥有来自365个场景类别的约180万张图像,每张图像最多可存储5000张图像类别。Places365-Challeng系列还有620万张图片以及Places365-Standard的所有图片(所以总共800万张图片),每张图片最多有40,000张。

主页:http://places2.csail.mit.edu/

  1. 3.Colorful image colorization(CNN模型)

论文:Zhang R, Isola P,Efros A A. Colorful image colorization[C]//European conference on computervision. Springer, Cham, 2016: 649-666.

工作:该方案在自动图像着色的图形学领域取得了进步:设计了一个合适的损失函数来处理着色问题中的多模不确定性,维持了颜色的多样性;介绍了一种新型的着色算法评估框架,而且这种评估框架有应用到其他图像合成任务的潜力;通过在百万数量级的彩色图片上训练在这类任务上抵达了一个新的水准。该方法将图像着色任务转化为一个自监督表达学习的任务,并且在一些基准上获得了最好的效果。下图为网络结构图。

68a02bfc7d52b062a9700c2e33fb42b9.png

图2 Colorful image colorization网络结构图

代码:http://richzhang.github.io/colorization/

4.Image Colorization with Generative Adversarial Networks(GAN模型)

论文:NazeriK, Ng E. Image Colorization with Generative Adversarial Networks[J]. arXivpreprint arXiv:1803.05400, 2018.

工作:该方法使用GAN自动将灰度图像着色到可接受的视觉程度的彩色图像。将当前方法扩展到高分辨率图像。网络是针对公开可用的数据集(如CIFAR-10和Places365)进行训练。下图为该网络结构图:

985c8de71b0a487b67abd456e57a9763.png

图3 网络结构图

5.Interactive Deep Colorization(CNN模型)

论文:ZhangR, Zhu J Y, Isola P, et al. Real-time user-guided image colorization withlearned deep priors[J]. arXiv preprint arXiv:1705.02999, 2017.

工作:该方法是一种用于用户引导的图像着色的深度学习方法。系统将灰度图像以及本地用户的提示共同映射带卷积神经网络(CNN)中去,最终输出彩色图像。该方法通过模拟用户输入训练一百万张图像。为了引导用户进行有效的输入选择,系统根据输入图像和当前用户输入推荐可能的颜色作为备选颜色。着色在单个前馈过程中执行,可实现实时使用。下图为该方法的网络结构图:

1576b2dec3f8d655af366d0918ec4f5d.png

图4 Interactive DeepColorization网络结构图

代码:https://richzhang.github.io/ideepcolor

6.Automatic Colorization of Grayscale Images(CNN模型)

论文:IizukaS, Simo-Serra E, Ishikawa H. Let there be color!: joint end-to-end learning ofglobal and local image priors for automatic image colorization withsimultaneous classification[J]. ACM Transactions on Graphics (TOG), 2016,35(4): 110.

工作:该方法结合了全局先验和局部图像特征。基于卷积神经网络,加入深层网络具有融合层,允许网络合并小图像块的局部信息和整个图像的全局信息,以端到端的方式进行训练。此外,与大多数基于CNN的现有方法不同,该架构可以处理任何分辨率的图像。利用现有的大型场景分类数据库来训练模型,利用数据集的类标签来更有效地和区别地学习局部信息和全局信息。下图为模型示意图:

9085dd9886db527af85c0e1ba79e126c.png

图5 Automatic Colorization of Grayscale Images模型示意图

代码:https://github.com/williamFalcon/pix2pix-keras

7.Deep Exemplar-basedColorization(CNN模型)

论文:He M, Chen D, Liao J, et al.Deep exemplar-based colorization[J]. ACM Transactions on Graphics (TOG), 2018,37(4): 47.

工作:该方法是一种基于样本的局部着色的深度学习方法。该方法使用的端到端着色网络不是像传统的基于示例的方法那样使用手工制作的规则,而是学习如何从大规模数据中选择传播方式和预测颜色。即使在使用与输入灰度图像无关的参考图像时,该方法也可以很好地执行并且很好地推广。该网络允许用户通过简单地提供不同的参考来实现可定制的结果,只需选择顶部参考建议,就可以完全自动执行着色。

代码:https://github.com/msracver/Deep-Exemplar-based-Colorization

于浩洋

北京电子科技学院在读研究生,研究方向为同态加密,图像生成。

Email:

pec7@163.com

7c0e6d266e5b95651fdf544c1bdff21d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/566935.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【adb】电脑通过ADB向手机传输文件

具体步骤如下: Step1 下载ADB工具 下载最新版本的 ADB工具 !!! 注意:一定要是最新版本的ADB,否则很可能导致无法识别到手机。 将下载的ADB解压以后的文件如下图所示: Step2 添加环境变量 将 ADB的路径 D:\platformtools &…

git 提交文件_GIT不小心提交了大文件导致提交失败怎么办?

出现问题的原因在commit的时候,我们之前提交的版本里面已经包含了些大文件了,虽然后来在新的提交里面删除了这些大文件,但是之前commit的记录还是存在,所以之后提交还是会失败1) 模拟一下环境:新建仓库并且添加一个 te…

ztree 标准得json数据格式_酷站推荐 - json-c.github.io/json-c - json-c API

json-c.github.io/json-c/http://json-c.github.io/json-c/JSON:JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。类似 XML。 JSON 比 XML 更小、更快,更易解析。JSON(JavaScript Object …

qt弹框输入密码_Android仿支付宝密码输入框

实现效果图:实现流程:1、定义6位密码输入View思路:要绘制边框矩形,绘制分割线,绘制圆点。绘制圆的数目要与字符串的长度有关,添加或者删除都要修改字符串,输入6位后就是要关闭弹框,拿…

esc指令检查打印状态_Z.115 胶片自助打印设备

一、概述病人在完成影像检查后,需要快速获取结果,传统的方式是向病人发放胶片和诊断报告,随着大型医院病人检查量的快速增加,这种方式有诸多弊病。自助打印机将胶片和诊断报告打印集成起来,消除时空障碍,实…

java执行class找不到main函数_你所不知道的HelloWorld背后的执行原理

专注于Java领域优质技术,欢迎关注作者:饭谈编程【今日最佳】对于程序员而言,所谓的二八定律指的是 花百分之八十的时间去学习日常研发中不常见的那百分之二十的原理。据说阿里某程序员对书法十分感兴趣,退休后决定在这方面有所建树…

java接口文档生成工具_【分享】接口文档生成工具apipost

一、为什么要写接口文档?正规的团队合作或者是项目对接,接口文档是非常重要的,一般接口文档都是通过开发人员写的。一个工整的文档显得是非重要。项目开发过程中前后端工程师有一个统一的文件进行沟通交流开发,项目维护中或者项目…

jacobi matlab程序,jacobi迭代法实验MATLAB程序数值分析

jacobi迭代法实验MATLAB程序数值分析 例1. 求线性方程组 得近似解。精确解为x*[3,2,1]’。 解:对方程进行移项就得 记为Axb,或写为xB0 xf,其中 取初始值,代入原方程组可得再将把它代入可得.反复利用这个计算过程,得到一向量序列和…

java 水印乱码,linux java程序加水印及中文乱码方案

在linux,centos环境下的,生成的带文字的水印图片在显示为方框乱码。img.setFont(new Font("宋体", Font.BOLD, 20));写中文进入图片之前必须设置字体,而且这个字体必须支持中文,否则就会出现乱码或者方框、问号等等。Bu…

resultmap拿不到数据_阿里巴巴国际站每日电商运营工作数据表格

一、日常运营工作表1.数据日报统计每天的流量数据:2.数据周报统计每周的流量数据:3.数据月报统计每月流量数据:前半部分后半部分4.P4P月数据总览统计P4P的流量数据:大图包含上面所有的方案5.P4P日数据总览6.爆款数据统计每月统计爆…

jenkins ssh 远程部署_Jenkins部署jar到远程服务器

首选得确定Jenkins的安装完整,还有插件的安装,除默认插件,此处必备插件:Publish Over SSH,SSH plugin,因为我源码在gitlab所以关于gitlab的插件我也安装了,看各自的情况选择安装。然后到系统管理…

jieba分词_Jieba.el – 在Emacs中使用jieba中文分词

jieba.el在Emacs中使用jieba中文分词众所周知, Emacs并没有内置中文分词系统, 以至于 forward-word 和 backward-word 以及 kill-word 等以单词为单位的操作只能粗暴的标点符号进行确定所谓”词汇”, (其实是中文里的句子).jieba.el 利用nodejieba对buffer中的中文句子进行分割…

java php 女生数量,萌妹子告诉你php和java如何选

原标题:萌妹子告诉你php和java如何选phpPHP 独特的语法混合了C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系…

new 结构体指针_Go:我应该用指针替代结构体的副本吗?

logo对于许多 golang 开发者来说,考虑到性能,最佳实践是系统地使用指针而非结构体副本。我们将回顾两个用例,来理解使用指针而非结构体副本的影响。1. 数据分配密集型让我们举一个简单的例子,说明何时要为使用值而共享结构体&…

localstorage存储大小_Cookie 已凉,Web 存储该这么做!

本文经授权转自公众号CSDN(ID:CSDNnews)作者 | 浪里行舟责编 | 郭芮随着移动网络的发展与演化,我们手机上现在除了有原生 App,还能跑“WebApp”——它即开即用,用完即走。一个优秀的 WebApp 甚至可以拥有和原生 App 媲美的功能和体…

php获取变量数据类型,php如何确定变量的数据类型

在php中,数据类型有:Boolean 布尔类型、Integer 整型、Float 浮点型、String 字符串、Array 数组、Object 对象、Resource 资源类型、NULL;知道一个数据的类型,能够更加有效地进行代码逻辑处理。1、使用 var_dump() 函数,可以获取…

深入理解java虚拟机 - jvm高级特性与最佳实践(第三版)_JVM虚拟机面试指南:年薪30W以上高薪岗位需求的JVM,你必须要懂!...

JVM的重要性很多人对于为什么要学JVM这个问题,他们的答案都是:因为面试。无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎。不管是工作还是面试中,JVM都是必考题。如果不懂JVM的话,薪酬会非常吃亏。其实学习JVM并…

label居中_表格固定列宽时如何居中?

列宽固定居中的设置的时候,我们通常使用 p{宽度} 来指定固定的列宽,这时单元格会自动换行,换行之后是左对齐的,如何获得居中对齐呢?\begin{tabular}{|p{54pt}l|p{71pt}c|p{71pt}c|}\hline Method& Train set&T…

github新建仓库推送代码教学

之前一直用gitee,准备转到github。因为一步一步尝试。如果是新手或许文章会有帮助 点击 new 创建 拉代码 Idea 打开 复制一个 pom 文件作为 maven 管理 提交代码 不出意外的出意外,报错 点击authorize JetBrains 失败 分析问题 本质就是没有…

Linux数码管和点阵程序,随笔:python turtle绘制八段数码管和共阳极8x8led点阵

为更新而更新,为保持更新状态而更新。给学生讲解用gpiozero库控制八段管和8x8共阳极LED点阵。已经讲解了单个LED的控制,RGB彩色灯珠的控制,在讲解八段管就很容易理解,多个八段管的讲解稍微麻烦一点,然后LED点阵为了便于…