来源:机器之心
本文约2500字,建议阅读5分钟
本文介绍了AI条件下,抽象派作画。

有人将一张方块图、圆形图的组合生成了抽象的人脸!还有人将帆布油画《阿尼埃尔的浴场》还原为直线。

绘画,尤其是草图可以说是传达概念、对象和故事的一种方式。计算机视觉和人机交互方面的草图研究历史悠久,可追溯到 1960 年代。近年来,由于深度学习技术的快速发展,草图应用越来越多,这些技术可以成功地处理草图识别、生成、基于草图的检索、语义分割、分组、解析和抽象等任务。

关于草图的研究也不时的被网友顶上热搜,近日新闻网站 reddit 上就有一篇帖子热度爆表,短短十几个小时热度就达到 800+,原贴内容为:从形状到「脸」- 使用神经网络进行形状抽象的可微 2D 渲染。

它的效果是这样的:从动图展示效果来看,一开始输入为 4x4 不同形状的图像,最后生成了人脸轮廓(尽管生成的人脸轮廓有些抽象,但我们还是可以看出是人脸):

针对这一展示效果,网友纷纷表示惊艳,但可惜的是,原贴作者并没有给出更多的技术细节,但在评论区中,我们可以从原贴作者的回答中得出一些信息:

原贴作者即项目作者表示:「这是我用于神经渲染的 POC。该模型只是试图最小化输出与真值图像(在本例中为 celeb 数据集)之间的 L2 距离。动图中展示的是训练运行期间验证过程,遵循单一形状收敛。输入形状可以以任何形式开始,但 4x4 网格输入应该是最有趣的, 这一实现效果可扩展到很多应用。我正在考虑写一篇简短的文章,把自己的想法表达出来。」

上面的回复中,项目作者提到了自己并没有写技术文档,不过,也有网友分享了一篇今年 7 月的文章《 Differentiable Drawing and Sketching 》。项目作者表示:「这真的很酷!其实我一直在找类似的东西,但找不到,所以做了这个。」

具体而言:这篇文章是来自南安普敦大学的研究者提出了一种自底向上的可微松弛(relaxation)过程:即将点、线和曲线绘制到一个像素光栅(pixel raster)。这种松弛过程允许模型学习和优化端到端的可微程序和深度网络,此外,松弛过程还为网络提供了几个构建块,以控制如何对组合绘图过程建模。值得注意的是,该研究所提方法是自底向上的,这一特性允许绘图操作以能够模拟绘图的物理现实而不是被束缚的方式组成,例如,现代计算机图形学的方法。

  • 论文地址:

  • https://arxiv.org/pdf/2103.16194.pdf

  • GitHub 地址:

  • https://github.com/jonhare/DifferentiableSketching

论文展示了如何通过直接优化照片生成草图,以及在没有监督的情况下如何构建自动编码器将栅格化手写数字转换为矢量。

虽然论文与reddit项目作者的最终实现效果不同,论文是将图像抽象为点或线段的草图,项目则是将方块和圆形最终生成抽象人脸,但论文采用的方法对项目具有借鉴意义。因此,机器之心对论文《 Differentiable Drawing and Sketching 》中的技术细节进行了介绍。

技术解读:可微光栅化松弛

在这部分内容中,研究者讨论了如何将连续世界空间(continuous world space) W 中定义的点、线和曲线绘制或光栅化到图像空间中。

他们的目标是提出一种形式化方法(formalisation),使得最终可以定义相对于世界空间参数(如点坐标或线段起点和终点的坐标)可微的光栅化函数。

一维光栅化

研究者首先考虑了对一维点 p ϵ W 进行光栅化的问题,其中 W = R。具体来讲,点 p 的光栅化过程可以由函数 f(n; p) 来定义,该函数为图像空间中的每个像素计算一个值(通常为 [0 , 1])。这个图像空间的位置又由给出。

先来看看简单的最近像素(closest-pixel)光栅化函数。如果假设第 0 个像素覆盖点 p 的世界空间中的域 [0, 1),第一个像素覆盖 [1, 2) ,如此类推。然后,最近邻光栅化将真值点 p 映射到一个图像,如下等式(1)所示:

这一过程如下图 2a 所示。2b 则是另一种光栅化方案,其中在两个最近的像素上进行插值。

假设当被光栅化的点位于中点(midpoint)时,像素具有最大值,则如下等式(2)所示:

实际上,这些可以扩展至 2D 的函数在很多计算机图形系统中得到隐式地使用,但很少以我们编写它们的形式出现。

接下来是可微松弛。理想情况下,研究者希望能够定义一个相对于点 p 可微的光栅化函数,这允许 p 优化。等式(1)给出的光栅化函数对于 p 是分段可微的,但梯度几乎在所有地方都为零,这是没有用的。等式 (2) 在最邻近 p 的两个像素中具有一定的梯度,但总体而言它的梯度也几乎处处为零。

因此,研究者想定义一个光栅化函数,它对所有(或至少大部分)可能的 n 值都具有梯度。这个函数几乎在任何地方都应该是连续的和可微的。抗锯齿光栅化方法对如何实现这一点给出了一些提示:该函数可以根据 n 和 p 之间的距离为每个 n 计算一个值。

N 维中的松弛光栅化

以往定义的所有一维光栅化函数都可以简单地扩展为「在二维或更多维度上对一个点进行光栅化」。

线段可以通过其起始坐标 s = [s_x, s_y] 和结束坐标 e = [e_x, e_y] 来定义。为了开发一组通用、潜在可微的光栅化函数,研究者需要考虑光栅的形式化,就像在一维情况下所做的那样:找到一个函数,该函数在给定线段 f (n; s, e) 的情况下,能够在图像中所有像素位置集合 n 上定义一个标量场。

光栅化线段需要考虑像素与线段的接近程度。研究者高效地计算了任意像素 n 到线段上最近点的平方欧几里德距离,如下所示:

在最近邻光栅化的情况下,有人会问「这条线段是否穿过谈论中的像素」。只有在以下这种情况下才填充:

为了以相对于参数可微的方式光栅化曲线(与参数化无关),研究者遵循了与线段相同的通用方法:计算每个坐标与曲线之间的最小平方欧几里德距离 :

与线段的情况一样,接下来这一距离变换(distance transform)能够与「根据距离运行的光栅化函数」相结合:

扩展至多条线段

为了光栅化多条线段,研究者考虑论了将不同线段的光栅化组合成单个图像。具体而言,他们将光栅化不同线段 {s_1, e_1}, {s_2, e_2}, . . . , {s_i, e_i} 生成的图像表示为在相同图像空间上定义的矩阵 I ^(1) , I^ (2) , . . . , I^ (n)。

在最简单的二进制光栅化情况下,研究者认为相应像素的逻辑或(logical-or)可能会产生所需的效果,即将单个光栅化中着色的任何像素作为最终输出中的着色,如下等式(9)所示:

研究者还将这种 composition 松弛为可微的,并允许像素值为非二进制(但限于 [0, 1]),如下等式(10)所示:

最终,研究者得到了点或线段构图所需要的全部组件。

 图像优化示例

为了证明针对真实图像优化原语(primitives)方法的有效性,该研究提供了许多示例。例如图 4 和图 5 利用图 3a 中大小为 200 × 266 输入图像作为目标图像进行优化。

图 4 显示了使用模糊 MSE 损失优化 1000 个点和 1000 条线的结果,并展示了可以实现的整体效果。图 5 显示了使用一系列不同损失从同一起点优化 500 条线段的效果。

此外,该研究还将自动生成的草图与人类绘制的图像进行了比较。图 3b 是用笔(pen and ink)绘制的草图,用于生成图 4 和 5。很明显,草图广泛地捕捉了场景的整体结构和明暗区域。

编辑:王菁

校对:林亦霖

AI也能「抽象派」作画,圆形+方块组合,可微2D渲染下生成抽象人脸相关推荐

  1. AI突破的「阴暗面」:怎样防止GPT-3跟人类学坏?

    原文:IEEE Spectrum 编译:梦佳 近期,大规模语言模型频频出现在公众视野中. 前有Google发布首个万亿级模型 Switch Transformer,参数量达到1.6万亿,速度是Goog ...

  2. 解密「天池」:如何做好一场万人AI竞赛的「大后方」?

    来源:机器之心本文约9800字,建议阅读10+分钟面对数据集保护.算力公平性.结果可复现性等诸多挑战,天池是如何克服的呢? 一场一万五千人的竞赛,如何确保比赛顺利进行?如何保证公平公正?在这场活动中, ...

  3. AI应用说 | 「虫口夺粮」的害虫识别还是牛场24小时无人监控,AI+农业话题咱们唠一唠...

    关注公众号,发现CV技术之美 写在篇头:是时候,关注智慧农业这条"难且正确"的道路了. 在不断变化.机遇与危机并存的商业社会中,农业一直算不上"热点".但伴随国 ...

  4. 对话加拿大工程院于非院士:寻找 AI 领域的「香农定理」

    来源:AI科技评论本文为约7450字,建议阅读14分钟 本文介绍了加拿大工程院院士于非在人工智能定义等方面的学术观点. 我相信智能是一种自然现象,就像岩石滚动和冰雪融化般自然的现象.--摘自于非著作& ...

  5. 企业挖角 AI 教授是不是「原罪」?

    雷锋网 AI 科技评论按:AI 学者该不该在企业挂职?挂职的话,精力又该如何分配?这些问题随着 AI 的全面火热在学界频频被提起.最具代表性的一次交锋,要属去年 8 月份 Yann LeCun 与 U ...

  6. 文字工作者大敌?从征人文案到一首好诗,Notion AI都能「写」出来

    只要告诉Notion AI想要什么样的的文案,AI就生成出一篇草稿,让使用者直接进入编修润色阶段,减少写作者「冷启动」问题. 继充满版权争议的AI图像生成之后,现在AI也可以帮我们编写文章了.知名笔记 ...

  7. AI 换脸术「Deepfakes」进化简史

    来源 | Maximilian Schreiner  译者 | 核子可乐  策划 | 刘燕  AI前线 AI 伪造图像与视频,即 Deepfake,在近年迎来一波发展高潮.在本文中,我们将深入探究这段 ...

  8. 大AI巧用「砌砖」方法:LLM可通过将任务「外包」给专业领域的AI模型来提高其性能...

    来源:ScienceAI 本文约1800字,建议阅读5分钟 新的研究表明,让 LLM 将工作外包给规模较小的专业 AI 可以显著扩大其范围. 大型语言模型(LLM)功能的快速改进使它们能够处理范围广泛 ...

  9. 9月4日科技资讯|微信支付二维码被诉侵权;AI 换脸 App「ZAO」致歉; Android 10 正式发布

    「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道.风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯,让所有技术人,时刻紧跟业界潮流. 整理 | 胡 ...

最新文章

  1. zabbix_get 无法获取值(解决思路)
  2. 如何快速安全的插入千万条数据?
  3. 基于linux的java学习,Java学习---Linux总结
  4. xpath+多进程爬取网易云音乐热歌榜。
  5. 一款好看新颖的404页面源码
  6. r统计建模与r软件期末考试题_“统计学诺贝尔奖”授予 R 语言软件工程师 Hadley Wickham | 科研圈日报...
  7. 数据库三范式,轻松理解
  8. PC端天天生鲜页面实现
  9. JQuery实现步骤条效果(上一步,下一步)
  10. 一分钟学会看k线图_教你一分钟就能学会看k线图 不信来试 (图文)
  11. 2022-2022阿里巴巴Android面试真题解析,阿里+头条+抖音+百度+蚂蚁+京东面经
  12. 五粮液前三季净赚173亿背后:Q3净利增速下滑,3大流通股东减持
  13. nodejs调用SendCloud邮件API2.0
  14. 【VS问题已解决】警告被视为错误 - 没有生成“object”文件
  15. 在Java语言的if语句是什么表达式,if语句中的条件表达式中只能使用
  16. 好用且必备——思维导图软件
  17. 终于解决了hao123锁定主页的问题~
  18. Beats:在 Docker 里运行 Filebeat
  19. 真是太开心了居然看见google yahoo收录的身影-原创天地
  20. 用这个工具,让人抓狂的领导驾驶舱报表五步搞定

热门文章

  1. C++ 偏微分数值计算库_【动手学计算机视觉】第一讲:图像预处理之图像去噪...
  2. PTA 基础编程题目集 7-17 爬动的蠕虫 C语言
  3. python银行开户_Python数据挖掘与Stata应用实证寒假工作坊
  4. python营销骗局_python案例:金融营销活动中欺诈用户行为分析
  5. LuckyFrame V2.7.2 Beta 发布,一站式自动化测试平台
  6. 一篇SSM框架整合友好的文章(二)
  7. 使用Python统计Linux系统内存
  8. 解决“SCRIPT257: 由于出现错误 80020101 而导致此项操作无法完成。 ”
  9. Fragment-FragmentMannager中的方法
  10. 在linux终端远程登陆linux服务器