博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
「无中生有」计算机视觉探奇
阅读量:2117 次
发布时间:2019-04-30

本文共 2171 字,大约阅读时间需要 7 分钟。


计算机视觉 (Computer Vision, CV) 是一门研究如何使机器“看”的科学。1963年来自MIT的Larry Roberts发表的该领域第一篇博士论文“”,标志着CV作为一门新兴人工智能方向研究的开始。在发展了50多年后的今天,我们就来聊聊最近让计算机视觉拥有「无中生有」能力的几个有趣尝试:1)超分辨率重建;2)图像着色;3)看图说话;4)人像复原;5)图像自动生成。可以看出,这五个尝试层层递进,难度和趣味程度也逐步提升。(注:本文在此只谈视觉问题,不提太过具体的技术细节,若大家对某部分感兴趣,以后再来单独写文章讨论 :)



超分辨率重建 (Image Super-Resolution)

去年夏天,一款名为“”的岛国应用在动画和计算机图形学中着实火了一把。waifu 2x借助深度「卷积神经网络」(Convolutional Neural Network, CNN) 可以将图像的分辨率提升2倍,同时还能对图像降噪。简单来说,就是让计算机「无中生有」的填充一些原图中并没有的像素,从而让漫画看起来更清晰真切。大家不妨看看下图,真想童年时候看的就是如此啊!


不过需要指出的是,图像超分辨率的研究始于2009年左右,只是得力于「深度学习」的发展,waifu 2x可以做出更好的效果。在具体训练CNN时,输入图像为原分辨率, 而对应的超分辨率图像则作为目标,以此构成训练的“图像对” (image pair),经过模型训练便可得到超分辨率重建模型。waifu 2x的深度网络原型基于香港中文大学汤晓欧教授团队的工作。有趣的是,[1]中指出可以用传统方法给予深度模型以定性的解释。如下图,低分辨率图像通过CNN的卷积 (convolution) 和池化 (pooling) 操作后可以得到抽象后的特征图 (feature map)。基于低分辨率特征图,同样可以利用卷积和池化实现从低分辨率到高分辨率特征图的非线性映射 (non-linear mapping)。最后的步骤则是利用高分辨率特征图重建高分辨率图像。实际上,所述三个步骤与传统超分辨率重建方法的三个过程是一致的。


图像着色 (Image Colorization)

顾名思义,图像着色是将原本「没有」颜色的黑白图像进行彩色填充。图像着色同样借助卷积神经网络,输入为黑白和对应彩色图像的image pair,但是仅仅通过对比黑白像素和RGB像素来确定填充的颜色,效果欠佳。因为颜色填充的结果要符合我们的认知习惯,比如,把一条汪星人的毛涂成鲜绿色就会让人觉得很怪异。于是近期,早稻田大学发表在2016年计算机图形学国际顶级会议SIGGRAPH上的一项工作就在原来深度模型的基础上,加入了「分类网络」来预先确定图像中物体的类别,以此为“依据”再做以颜色填充。下图分别是模型结构图和颜色恢复demo,其恢复效果还是颇为逼真的。另外,此类工作还可用于黑白电影的颜色恢复,操作时只需简单的将视频中每一帧拿出来作colorization即可。


"看图说话" (Image Caption)

常说“图文并茂”,文字是除图像外另一种描述世界的方式。 近期,一项名为“image caption”的研究逐渐升温起来,其主要任务是通过计算机视觉和机器学习的方法实现对一张图像自动地生成人类自然语言的描述,即“看图说话”。值得一提的是,在今年的CV国际顶会上,image caption被列为了一个单独的session,其热度可见一斑。一般来讲在image caption中,CNN用来获取图像特征,接着将图像特征作为语言模型(RNN的一种)的输入,整体作为一个「end-to-end」的结构进行联合训练,最终输出对图像的语言描述(见下图)。

目前image caption领域的最好结果来自澳大利亚University of Adelaide的教授团队。与之前image caption工作相比,他们的改进与刚才提到的颜色恢复简直有异曲同工之妙,同样是考虑利用图像中物体的类别作为较精准的“依据”来更好的生成自然语言描述,即下图中的红色框框圈起的部分。Image caption的急速发展不仅加速了CV和NLP在AI大领域内的交融,同时也为增强现实应用奠定了更加坚实的技术基础。另外,我们更乐于看到今后日趋成熟的image caption技术嵌入到穿戴式设备上,那一天盲人便可以间接的“看到光明”。



人像复原 (Sketch Inversion)

就在六月初,荷兰科学家在上发布了他们的最新研究成果——通过深度网络对人脸轮廓图进行「复原」。如下图所示, 在模型训练阶段,首先对真实的人脸图像利用传统的线下边缘化方法获得对应人脸的轮廓图,并以原图和轮廓图组成的“图像对”作为深度网络的输入,进行类似超分辨率重建的模型训练。在预测阶段,输入为人脸轮廓(左二sketch),经过卷积神经网络的层层抽象和后续的“还原”可以逐步把相片般的人脸图像复原出来(右一),与最左边的人脸真实图像对比,足够以假乱真。在模型流程图下还另外展示了一些人像复原的结果,左侧一列为真实人像,中间列为画家手工描绘的人脸轮廓图,并以此作为网络输入进行人像复原,最终得到右侧一列的复原结果——目测以后刑侦警察再也不用苦练美术了

转载地址:http://jieef.baihongyu.com/

你可能感兴趣的文章
剑指offer 59. 把字符串转换成整数
查看>>
剑指offer 60. 不用加减乘除做加法
查看>>
leetcode 热题 Hot 100-3. 合并两个有序链表
查看>>
leetcode 热题 Hot 100-4. 对称二叉树
查看>>
Leetcode C++《热题 Hot 100-12》226.翻转二叉树
查看>>
Leetcode C++《热题 Hot 100-13》234.回文链表
查看>>
Leetcode C++《热题 Hot 100-14》283.移动零
查看>>
Leetcode C++《热题 Hot 100-15》437.路径总和III
查看>>
Leetcode C++《热题 Hot 100-17》461.汉明距离
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-19》543.二叉树的直径
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>
Leetcode C++《热题 Hot 100-23》3.无重复字符的最长子串
查看>>
Leetcode C++《热题 Hot 100-24》5.最长回文子串
查看>>
Leetcode C++《热题 Hot 100-26》15.三数之和
查看>>
Leetcode C++《热题 Hot 100-27》17.电话号码的字母组合
查看>>
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
Leetcode C++《热题 Hot 100-40》64.最小路径和
查看>>