如何利用深度神经网络给图片自動上色本文介绍了开源神经网络图片上色技术,解析深度学习会自动上色的核心技术并且几秒钟就实现PS几个月的效果。
如今上色都昰人手工用Photoshop做的,一张图片要花好几个月才能完成需要进行大量调查研究,光是其中的一张脸就需要多达20层图层但是,基于深度神经網络的自动着色机器人可以几秒钟就实现PS几个月的效果,而且成效越来越惊人
下面,我们将分三个步骤展示如何打造你自己的着色神經网络第一部分讲解核心逻辑。我们将构建一个40行代码的神经网络作为“Alpha”着色机器人,这个代码片段实际上没有太多的魔法但可鉯让你熟悉基本操作。
然后我们将创建一个可以泛化的神经网络——“Beta”版本。Beta机器人能对以前没有看到的图像着色
最后,我们将神經网络与一个分类器相结合得到“最终”版本。我们将使用120万张图像训练过的Incepon Resnet V2为了让着色效果吸引眼球,我们将使用Unsplash(免费图库里媔的图片非常有艺术感和设计感)的人像作为数据,训练我们的神经网络
深度学习自动上色核心技术拆解#e#
核心技术拆解:自动着色=发现咴度与彩色间的特征
在本节中,我将概述如何渲染图像数字颜色的基础知识以及神经网络的主要逻辑。
黑白图像可以在像素网格中表示每个像素具有对应于其亮度的值,范围为0 - 255从黑色到白色。
彩色图像由三层组成:红色层绿色层和蓝色层。直观地你可能会认为植粅只存在于绿色层。但是如下图所示,绿色的叶子在三个通道中都有这些层不仅可以确定颜色,还可以确定亮度
为了得到白色这个顏色,需要将所有颜色均匀分布通过添加等量的红色和蓝色,绿色会变得更亮因此,彩色图像使用三层对颜色和对比度进行编码:
就潒黑白图像一样彩色图像中每个图层的值也都为0 - 255。值为0意味着该图层中没有颜色 如果所有颜色通道的值都为0,则图像像素为黑色
神經网络会创建输入值和输出值之间的关系。更准确地说着色任务实际上就是网络需要找到链接灰度图像与彩色图像的特征。
因此着色機器人要寻找的,就是将灰度值网格链接到三色网格的特征
Alpha版本:40行代码,实现基础着色机器人
我们从简单的神经网络开始给一张女性脸部图像(见下)着色。
只需40行代码我们就能实现以下转换。中间的图像是用神经网络完成的右边的图片是原始的彩色照片。当然这里的网络使用了相同的图像做训练和测试,稍后我们将在Beta版本中再来讲这一点
首先,我们使用一种算法来改变颜色通道从RGB到Lab。L表礻亮度a和b分别表示颜色光谱,绿-红和蓝-黄
如下所示,Lab编码的图像有一层灰度将三层颜色层压成两层。这意味着我们可以在最终预测Φ使用原始的灰度图像 此外,我们只有两个通道做预测
人类眼睛中有94%的细胞是确定亮度的,这是个科学事实只有6%的受体被用作顏色的传感器。如上图所示灰度图像比彩色层更加清晰。这也是我们最终预测中保持灰度图像的另一个原因
我们的最终预测是这样的。我们有一个输入灰度层我们想预测Lab中的两个彩色层。要创建最终的彩色图像我们将纳入用于输入的L/灰度图像,从而创建一个Lab图像
峩们使用卷积滤波器将一层转成两层。你可以将它们视为3D眼镜中的蓝/红滤镜每个滤波器确定我们在图片中看到的内容,可以突出显示或刪除某些东西从图片中提取信息。网络可以从滤波器中创建新的图像也可以将多个滤波器组合成一个图像。
卷积神经网络的每个滤波器都自动调整以帮助预期的结果。我们从堆叠数百个滤镜开始然后将它们缩小为两层,即a层和b层
Beta版本:为没有见过的图像着色
Alpha版本鈈能很好地给未经训练的图像着色。接下来我们将在Beta版本中做到这一点——将上面的将神经网络泛化。
以下是使用Beta版本对测试图像着色嘚结果
我们没有使用ImageNet,而是在FloydHub上创建了一个高质量图像的公共数据集图片来自Unsplash——公开的专业摄影师创意图片。这个数据集包括9.5万个訓练图像和500个测试图像
我们的神经网络要做的是发现将灰度图像与其彩色版本相链接的特征。
试想你必须给黑白图像上色,但一次只能看到9个像素你可以从左上角到右下角扫描每个图像,并尝试预测每个像素应该是什么颜色
例如,这9个像素就是上面那张女性人脸照爿上鼻孔的边缘要很好的着色几乎是不可能的,所以你必须把它***成好几个步骤
首先,寻找简单的模式:对角线所有黑色像素等。在每个滤波器的扫描方块中寻找相同的精确的模式并删除不匹配的像素。这样就可以从64个迷你滤波器生成64个新图像。
如果再次扫描圖像你会看到已经检测到的相同的模式。要获得对图像更高级别的理解你可以将图像尺寸减小一半。
你仍然只有3&mes;3个滤波器来扫描每个圖像但是,通过将新的9个像素与较低级别的滤波器相结合可以检测更复杂的图案。一个像素组合可能形成一个半圆一个小点或一条線。再一次地你从图像中反复提取相同的图案。这次你会生成128个新的过滤图像。
经过几个步骤生成的过滤图像可能看起来像这样:
這个过程就像大多数处理视觉的神经网络,也即卷积神经网络的行为结合几个过滤图像了解图像中的上下文。
我们的最终版本着色神经網络有四个组成部分我们将之前的网络拆分成编码器和解码器,在这之间使用了一个融合层
与编码器相并列的是当今最强大的一个分類器——Incepon Resnet v2,经过1.2M图像训练的网络我们提取了分类层,并将其与编码器的输出进行合并
通过将学习从分类器转移到着色网络,网络可以叻解图片中的内容因此,使网络能够将对象表示与着色方案相匹配
以下是一些验证图像,仅使用20张图像来训练网络
大多数图像变得佷差,但是由于大量验证/测试集(2500张图像),我设法找到了一些看上去还不错的图像在更多的图像上进行训练可以获得更加一致的结果,但是大部分都是棕色的这里是我运行的实验的完整列表,包括验证图像
伪造分类任务的目的是识别伪造图像,它可以被看作是一個二元分类问题逐帧处理视频。在数据集的支持下我...
基于神经网络的训练,每个单词被编码沿500 维向量 (a) 表示其独特的特征针对特定的語言对(例如...
对于Common Crawl上的语言建模,具有128GPU的同步SGD实现了标准分布式训练的最佳结果...
前一段时间做了一个数字识别的小系统基于BP神经网络算法的,用MFC做的交互在实现过程中也试着去找...
根据麦肯锡的报告,预计到2025年全球将会累计产生 10 亿人次的全基因组数据。
当谈到依赖于序列输入的任务时循环神经网络(RNN)是最成功的多层架构之一。RNN 可被视为一种特殊...
几乎所有目前最先进的神经网络都用到了dropout. 这篇教程介绍洳何通过几行Python代码在神经...
本次大赛将以一个互联网应用(如CTR)为切入点比赛协办方将提供资源(包括 AI 加速器)和数据集,...
用强化学习方法教机器人(模拟器里的智能体)能学会的动作花样繁多,细致到拿东西、豪放到奔跑都能搞定...
AIE助力Jovi“千人千面”需求如果说Jovi AI是一个汾析用户使用环境并且去贴合用户需求的大脑...
这是从NASA的卡西尼号飞船上拍摄的土星卫星Titan的红外图像。测量结果表明基于能量的可用性、煋...
我们的目标是通过对指称关系的实体进行定位,从而使用输入的指称关系来消除图像中的实体歧义 形式上而言...
通过对人脑处理信息时所采用方法的抽象总结和模拟,提出了神经网络的概念未经处理的数据(图像,声音信息...
当目标点处于障碍物近力场范围内此时无人機向目标前进时障碍物产生的斥力会急剧增大并超过目标点的吸引...
他解释说,其目标在于培养内部软件工程师使其在一至两年内熟习深喥学习。而当被问及DeepScale的...
如果说2016年3月份AlphaGo与李世石的那场人机大战只在科技界和围棋界产生较大影响的话那么2...
而对于自底向上的模式,将商業模型中的一部分委派给机器学习甚至从机器学习中得到全新的商业想法。自底向...
2013年德国政府提出的“工业4.0”战略就涵盖了人工智能“工业4.0”战略着重在制造业等领域利用...
Ashwin Kumar开发了基于图像标注的模型,允许用户从手绘的示意图创建可以工作的HTML网站...
看过NVIDIA创始人兼首席执荇官黄仁勋在GPU技术大会的主题演讲后,都会被其中提到的成果震撼这背...
在小数据上能更好地工作:为了实现高性能,深度学习需要非常夶的数据集之前提到的预训练的网络在120万...
图像分割的一般方法是先对物体进行检测,然后用边界框对画中物体进行分割最近,例如Mask R-CNN...
高級接口需要被用来告知用户自动驾驶汽车的行为是否与往常相同今天的仪表盘传达了关于汽车速度和剩余燃料...
前面介绍了经典的比较标准化的深度学习在广告里面的应用,接下来我们的方向在互联网数据中怎么样能够通过...
随着技术工艺的进步,摩尔定律的瓶颈似乎开始絀现追求单核更大功率的处理器还是比较困难的,而在SLAM...
“什么足够好?”是半导体行业一个潜在主题***因市场、应用的不同而有很大差异。就算在在同一设备中不...
伴随着人工智能不断发展,“无人XX”产品、应用也陆续出现在日常生活中它们运用人脸识别、遥感、物聯网...
我们不使用传统的依赖外部映射和探索的传统方法,而是让智能体学习像人类一样导航不用地图、GPS定位或...
为了创建游戏中的AI机器人,游戏开发者通常会根据规则手工编写一系列代码在大多数情况下,这种方法能使...
信息韩国国防部将投入29亿韩元开发智能情报系统 据韩聯社4月3日消息韩国国防部将于2019年前投入...
如何在Node.js环境下使用训练好的神经网络模型(Inception、SSD)识别图像中的物体。
从环境设置数据处理,模型训练效果调优的完整介绍和代码演示。
深度学习只是一种 计算机视觉 工具而不是包治百病的良药,不要因为流行就一味地使用它傳统的计算机视...
结节精检测采用三种模型分别预测候选结节概率,并根据模型间权重比例给出最终概率的方法主要优势在于,负...
上面这個 fit 函数中有个 lr 和 epoch它们分别代表了梯度下降法中的学习速率和迭代上限(...
举例来说,2013年Facebook成立人工智能实验室,当时请来了纽约大学教授楊立昆担任了实验室主...
使用NEST网络中每个神经元的行为都由一些数学方程来表示。未来的E级计算机比如计划在神户建设的P...
训练数据来自於标本数据和一系列真实样本数据包括包含214种植物的Herbarium255 数据库,包...
深度学习能发展起来主要是由于大数据的出现神经网络的训练需要大量嘚数据;而大数据本身也反过来促进了更...
毫无疑问,神经网络变得越来越流行在各式各样的产品中都可以找到它的相关应用。它们会根據你的兴趣自动调...
GitHub 上最热门的开源项目有哪些又有哪些新的项目挤进热门榜单了呢,一起来看看
近年来,深度学习在计算机视觉、语喑识别、自然语言处理等领域有着广泛应用然而,深度学习模型对大数据和...
日前百度凭借全新的人脸检测深度学习算法PyramidBox,在世界最权威的人脸检测公开评测集WID...
去年4月特斯拉AI总监Andrej Karpathy发表了一篇文章,揭示了机器学习论文总数、深度学...
Deep Voice是百度AI研究院一个由深度神经网络构建嘚高质量语音转(TTS )系统该系统不仅...
理解传统的计算机视觉实际上真的有助于你更好的使用深度学习。例如计算机视觉中最常见的神經网络是卷积神...
深度学习和人工智能是 2017 年的热词;2018 年,这两个词愈发火热但也更加容易混淆。我们将深...
本文将主要介绍深度学习模型在媄团平台推荐排序场景下的应用和探索
本系列文章旨在直观系统地梳理深度学习各领域常见概念与基本思想,使读者对深度学习的重要概念与思想有一直...
传统的磁共振成像仪注入基于GPU的深度学习技术造福更多的低收入患者。
26日从中国航天科工二院二部获悉该部近日成功研制“基于深度学习的智能辅助驾驶系统”,凭借方寸几厘米...
我们设计了一款深度强化学习智能体SPIRAL它可以和计算机的绘画程序交互,鈳以在电子画布上绘画也...
人拥有智能,离不开大脑、心脏和神经网络同样,万物智联的实现也离不开 “三驾马车”——IoT、AI ...
我们能做的僅仅是在理解和抽象的层面上进行操作每一个层级接收低下传上来的描述、丢弃它认为不相关的部分...
计算机发展到今天,已经大大改变叻我们的生活我们已经进入了智能化的时代。但要是想实现影视作品中那样充...
如果你对比大量垃圾邮件和正常邮件之后你会发现只有垃圾邮件一般会具备以上的讲故事方式——比如,来自尼...
近日中美贸易战氛围愈发剑拔***张,美国总统特朗普在白宫正式签署对华贸易備忘录依据“301调查”结果...
大型 RNN 是具备高度表达能力的模型,可以学习数据丰富的时空表征但是,文献中很多无模型 RL 方...
输入提供者只需在一开始传输他们的(加密)训练数据;在此之后所有的计算只涉及两个服务器这意菋着事实上...
对于神经网络来说,分类的意思是学习如何预测看到的脸是不是用户的脸所以,它需要一些训练数据来预测“是...
随着内存消耗的控制模拟速度将成为主要焦点。 例如在Jülich的超级计算机JUQUEEN上运行的...
一个由国际科学家组成的团队发明了一种算法,代表着模拟人类夶脑神经连接的研究向前迈进了重要的一步
以深度神经网络(DNN)为例,眼下的传统观点认为如果我们继续推进、继续投入,那么这些缺点就会被克服...
而DGX-2 单机箱***了 16 枚 V100总体性能达到了惊人的 2PFLOPS——业界第一台超...
在神经生物学里,这个神经网络可以分类神经元发出的信号以及检测出脑相关的病理活动,比方说癫痫还有神...
随着专用的处理器和软件的崛起,为开发具备人工智能的嵌入式系统敞开了大门
茬分布式AI环境下,同态加密神经网络有助于保护商业公司知识产权和消费者隐私本文介绍了如何基于Num...
人工智能引擎 AI Engine 指的是在骁龙移动平囼上加速终端侧人工智能用户体验实现的硬件与软件组...
目前关注深度学习市场的的芯片厂商有哪些呢?英伟达、谷歌、微软、IBM、寒武纪、哋平线、中星微、英特尔...
美国研究人员开发出一种过程可获取的深度学习计算机新算法能够揭示细胞的内部活动。人工智能可以执行多種...
都说最难读懂的是人心这种复杂高等动物互相理解都有难度。然而科技却可能轻而易举地做到了。在我们还没...
在语言建模领域(在┅个叫Penn Tree Bank的语言语料库中预测下一个词)基准是由困惑点定义...
我们的研究遵循自监督范例,并提出通过训练卷积神经网络(ConvNets)识别应用於其作为输入的图像...
深度神经网络由许多独立的神经元组成,这些神经元以复杂且反直觉的方式结合起来进而解决各种具有挑战性的...
基於Per-Pixel Loss的超分辨重建网络目标在于直接最小化高清原图与超分辨重建图像之间的差异...
Keras的开发设计注重用户友好,因而某种意义上它更加pythonic模块囮是Keras的另一个优...
运算将在一个有限域上进行,因此我们首先需要决定如何将有理数r表示为域元素即取自0, 1, ...,...
在为这样的大规模应用部署GPU加速時,出现了一个主要的技术挑战:训练数据太大而无法存储在GPU上可用...
理解深度神经网络的运作机制对于帮助我们解释它们的决定以及构建更强大的系统起到了至关重要的作用。
在这一简单的模型中单变量线性回归的任务是建立起单个输入的独立变量与因变量之间的线性關系;而多变量回...
这次就用TensorFlow写个神经网络,这个神经网络写的很简单就三种层,输入层--隐藏层----...
最近机器学习(ML)话题大热,Arm也推出神經网络机器学习软件 Arm NN这是一项关键技术,可...
原标题:分布式深度学习(I):汾布式训练神经网络模型的概述
翻译:KK4SBB 责编:何永灿
本文是分布式训练神经网络模型三篇系列文章的第一篇
在第一篇文章,我们首先了解一下如何使用GPU分布式计算来显著提高深度学习模型的训练速度以及会讨论其中面临的一些挑战和当前的研究方向。我们还会讨论在何種场景下适合(或不适合)采用分布式算法来训练神经网络模型
第二篇文章,我们会从Apache Spark的网络模型训练工具Deeplearning4j入手来讨论其实现细节,鉯及提供一个端到端训练的实际案例
最后,我们深入探讨Deeplearning4j的Spark实现并且讨论一些在最大化训练性能的过程中,所遇到的性能和架构设计仩的挑战问题我们也会讨论Spark如何与Deeplearning4j所使用的本地高性能计算函数库交互协作。
在大数据集上训练的现代神经网络模型在许许多多领域都取得了显著的效果从语音和图像识别到自然语言处理,再到工业界的应用比如欺诈检测和推荐系统。但是这些神经网络的训练过程非瑺耗时尽管近些年GPU的硬件技术、网络模型结构和训练方法均取得了很大的突破,但是单机训练耗时过久的事实仍无法回避好在我们并鈈局限于单机训练:人们投入了大量的工作和研究来提升分布式训练神经网络模型的效率。
我们首先介绍两种并行化/分布式训练的方法
茬模型并行化( model parallelism )方法里,分布式系统中的不同机器负责单个网络模型的不同部分 —— 例如神经网络模型的不同网络层被分配到不同的機器。
在数据并行化( data parallelism )方法里不同的机器有同一个模型的多个副本,每个机器分配到数据的一部分然后将所有机器的计算结果按照某种方式合并。
当然这些方法并不是完全互斥的。假设有一个多GPU集群系统我们可以在同一台机器上采用模型并行化(在GPU之间切分模型),在机器之间采用数据并行化
尽管在实际应用中模型并行化的效果还不错,数据并行化却是多数分布式系统的首选后者投入了大量嘚研究。一方面数据并行化在实现难度、容错率和集群利用率方面都优于模型并行化。分布式系统背景下的模型并行化挺有意思有不尐优势(例如扩展性),但在本文中我们主要讨论数据并行化
数据并行化式的分布式训练在每个工作节点上都存储一个模型的备份,在各台机器上处理数据集的不同部分数据并行化式训练方法需要组合各个工作节点的结果,并且在节点之间同步模型参数文献中讨论了各种方法,各种方法之间的主要区别在于: