AI 理解光影再突破!分解图像纹理和光影,调整图片不再苦恼
鱼羊肖肖来自奥飞寺
量子比特报告 公众号QbitAI
现在,AI对于光与影的理解越来越深入。
它不仅可以为可爱的二维少女线描图自动上色,还可以绘制合理的光影变化。
逆操作也可以用来从图像中提取纹理和光影。
只需“扫描”即可将名作或摄影海报分解为纯色层、阴影层和反射层。
现在,如果你想调整图片的纹理和光影,再也不用担心没有PSD或者图层被合并了。
这款新AI的开发者正是风靡二维圈的自动线描上色AIStyle2Paints的作者张律敏。
该论文已入选ECCV 2020 Spotlight。
剪掉多余的像素
分解图像时最需要解决的问题就是图像平滑,它可以使得图像变得更加模糊,但同时也使得光线、阴影和纹理的调整变得更加容易。
图像平滑的核心问题可以理解为估计图像中的像素是否是需要的。
图像平滑
也就是说,图像平滑要解决的最大问题是在图像去噪与外观保持之间找到平衡点。
换句话说,与锐化相反,平滑的目的是最大程度地保留图像的本质,同时消除图像噪声。
下面是经过平滑处理后的图像,可以看到,虽然经过平滑处理后图像变得模糊,但是我们还是可以隐约辨认出这是一片大海。
那么,平滑图像到底有什么用呢?
瞧,调整色温就简单多了,让画面中的天空和大海从蓝色变成绿色再变成紫色,似乎不是什么问题。
此外,图像平滑也是图像处理中纹理去除,材质处理,重新着色,图层提取等操作的基本处理步骤。
那么,如何让AI实现图像平滑呢?
研究人员发现,“擦除”图像中物体的部分外观(手动去除一些噪音)似乎可以为图像平滑带来更好的效果。
如果您是 Photoshop 专家,那么选择要删除的图像部分当然不是一项艰巨的任务。
然而,AI并不懂如何使用Photoshop……这就需要人类制定一些“规则”来告诉AI应该擦除哪些像素。
这里我们又回到了开头提到的图像平滑的本质:在图像去噪和外观保存之间找到平衡点。
简单来说,就是预估图像中哪些像素是需要的,哪些可以“擦掉”。
作者将此步骤称为擦除外观保存(EAP)。
这涉及到一个像素选择算法,作者创造了一个0-1背包来解决它。
0-1背包问题
该问题可以在像素背景下描述如下:如何选择该位置的像素值才能达到最好的图像平滑效果?
把这个位置比作一个背包,像素值就是能装满背包的选项,最好的像素值就是刚好能装满背包的最优解。
如下图所示,最快的方法就是计算出哪些像素必须保留,才能最大程度地恢复图像特征。
但如果让计算机用穷举法来列出算法,效率会非常慢。
0-1背包问题旨在用最少的步数列出每一步的最优解,并不断将其与新的结果进行比较。
这个算法的核心思想是子问题的最优解也可以用来解决父问题。
这样,在最大程度地使图像模糊的同时,能够保留图像的纹理结构。
归根结底,0-1背包的思想就是,某个像素值的最优解也可以用来解决某个像素块的最优解的问题。
该算法比通过强力堆积计算能力、穷举搜索最优像素解的方法速度要快得多。
如果简单地用伪代码表示,该算法的步骤如下:
这个算法是用Matlab实现的,作者说由于Python的稀疏优化较差,EAP一直没有迁移到Python。
与人类水平相当
研究人员将L0和L1两种平滑方法的结果与专业人士的结果进行了比较。
结果表明,人工智能在选择擦除位置时的操作与专家相似,平滑结果与专家处理的结果相当。
消融实验结果表明:
(1)在原始L1平滑中不使用EAP而使用极端lambda(10.0)会导致图像结构被破坏。
(2)在不使用EAP的情况下,重复原始的L1平滑多次(10次,与EAP配置相同),这会导致低饱和度和低对比度伪影。
(3)EAP方案不使用背包权重wp,而是为背包值设置一个固定阈值(0.1),所有高于该阈值的像素都视为擦除位置,这导致图像被压缩成少数几种颜色。
(4)在EAP方案中,所有背包权重wp都被一个常数(1.0)取代。这将导致所有不需要的模式都保留在最终结果中。
(5)在EAP方案中,不使用背包值vp,而是为背包重量设置一个固定阈值(0.1),所有低于该阈值的像素都被视为擦除位置。这将导致图像中所有明显的成分都被消除。
(6)在EAP方案中,所有背包值vp都被替换为常数(1.0)。这样可以保留突出的部件,但原有的结构将被破坏。
(7)本文提出的解决方案可以充分平滑图像,且不会造成其他伪影。
另外,利用PSNR(峰值信噪比)指标对几种不同的平滑方法进行了比较,结果表明基于EAP的方法的PSNR值明显高于其他方法,意味着实现了更彻底的纹理分解。
应用场景
看到这样的AI能力,您是否想过,您想将它应用在哪些场景呢?
作者还给出了几个例子。
例如可以轻松实现纹理替换。
比如调整画面的光影、色彩。
有网友表示:这不就是我一直想要的那种AI吗!
有网友还想到了现在在二次元圈火爆的上色AI Style2Paints。
天哪,那么这项技术会在 Style2Paints V5 中使用吗?
目前该项研究的代码已经开源,有兴趣的话可以直接点击文末链接尝试一下~
门户网站
GitHub地址:
项目地址:
- 超过-
本文为网易新闻•网易特别内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止任何非法转载。
每天5分钟把握行业发展机遇
文章评论