肖像转素描:AI小素的前世今生
Posted 冰不语
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了肖像转素描:AI小素的前世今生相关的知识,希望对你有一定的参考价值。
一. 小素的全名和家族箴言
前段时间,我做了个AI,叫小素,能够把肖像图片转成素描风格。受限于数据集,目前只是人物肖像的转换效果还能看,其余的如风景建筑、花鸟虫鱼、风花雪月之类的图片,也可以转换,只是效果嘛…只能说一切皆有可能!
下面是小素的几张人物肖像的转换效果:
这几张转换效果还是不错的。特别是以下几点值得赞赏:
- 最重要的:眼神的神韵被捕捉到并在素描图像中保留了下来(即顾城《一代人》中的黑色的眼睛里的那一抹光明,注意瞳孔和黑眼珠不是单纯的一团黑,而是有明暗过渡的)。
- 留白:中国化讲究留白,有种“空即是色”的感觉。小素在这方面做的很好,留下了大片的空白,但却不显空洞,原因是第三条。
- 细节保留的很到位,双眼皮、卧蚕、甚至眼睫毛都有所体现。可谓是寥寥数笔,尽显风情。
- 头发有层次、纹理、明暗的变化,甚至素描图像中变得更飘柔了。
- 线条粗细、浓淡得当,可以参看发梢、锁骨等部位。
说到这里,请允许我重新正式地介绍一下AI小素:
小素的全名是**素描AI家族的风暴降生素描一世、不彩者、无色之人、千面之素、留白之王、花里胡哨总结者、安达尔素人和先民的女王、草原上的卡丽素、打碎缤纷者以及素之母!
**
家族箴言是Winter is coming, color is gone【凛冬将至,天下皆素】
!
因此,小素又被称为White Walker
!
二、小素的前世
其实远在做出小素之前,做图像转素描的想法就已经早早地存在了。cvpy.net
上线之初,我就做了最简版的图像转素描功能。最简版有多简呢,除了读图只调用了一个函数,不能更简了吧。这唯一的一个发挥作用的函数就是OpenCV
元老——厚德大佬threshold
。厚德大佬的功法如下:
固定阈值分割:
- 在
type
=cv.THRESH_BINARY
模式下,设定阈值thresh
,对于每个像素,如果小于阈值thresh
,则将其值设为0
,如果大于阈值thresh
,则设为最大值maxval
。 - type有四种不同的取值:
cv2.THRESH_BINARY
cv2.THRESH_BINARY_INV
cv2.THRESH_TRUNC
cv2.THRESH_TOZERO
cv2.THRESH_TOZERO_INV
没错,就是通过二值化实现类似的素描的效果。体验不太好的地方在于,每来一张图都需要手动调参,以寻求一个比较好的素描效果。由于原理简单,很多时候调参也未必能调出一个好的效果来。对于学习OpenCV
同学来说,厚德大佬threshold
存在的意义更大一些。毕竟他可以让人直观地看到threshold
的函数效果,通过调参直观地感受不同参数的不同取值对于结果的影响。
下面是我随便调参的两张图,注意红框中的参数变化:
这是调参结果还能看的图片,至于调参之后仍然不能看的,我就不展示了。毕竟“家丑不可外扬”。但是你可以自己去尝试制造属于自己的“家丑”…(感觉哪里怪怪的!)
三、小素的今生
不知道你是否看过本号的前面的一篇文章《一键智能抠图-原理与实现 | 可在线体验》,介绍了一种精细的自动化抠图模型U^2-Net
(有群友称之为优方奈
)。抠图效果放一张图示意一下:
模型结构如下,一看就知道为啥叫优方奈
。
笔者试过其抠图效果之后,不禁勾起了厚德大佬时代就埋下的素描化的思想萌芽。既然其抠图的效果这么好,那么能不能用它来做素描转换呢?
逻辑上好像没啥问题,那就试试吧。
最困难的问题是数据集哪里来?恰逢笔者前段时间刚看了一篇论文,叫《APDrawingGAN》
。顾名思义,这篇文章使用GAN来做肖像素描化的。具体细节本文按下不表,有兴趣的可以去看论文和代码。笔者感兴趣的是,作者给出了包含将近500张图片的数据集。部分截图如下:
是的,你没看错,几乎每一个人都出现了好几次,不同之处在于可能加了稍微旋转之类的增强。
但是不得不说,虽然数据集数量少,但是素描的质量还是挺不错的。放大一张看看:
反正我这个没有艺术细菌的人觉得画的还挺不赖。
数据集有了,模型也有了,剩下的就是开炉炼丹了。
笔者调好真火火候,一点点投入药材,连续炼制了九天九夜,不彩者、无色之人小素一世出世!小素降生之时,天降异象,霎时间天昏地暗,飞沙走石,万物黯然【失色】!
比如憧憬着七彩祥云的彩色女神紫霞仙子:
比如本来就很白的白石麻衣:
再比如下面这个谁(真不认识…):
再比如那个谁,到底是谁你来说吧。
看到这里你是想体验一把小素的的能力呢?还是想体验之后再开炉炼一波仙丹呢?
体验请到www.cvpy.net
找到AI小素
或者元老厚德
体验小素的前世今生。
开炉炼丹我已准备好单方灵药,关注公众号【CVPy】,后台呼叫【小素小素】获取单方和灵药。
以上是关于肖像转素描:AI小素的前世今生的主要内容,如果未能解决你的问题,请参考以下文章
AI画画到什么水平了?1行代码生成素描画,又一批人要失业啦!
python-20行代码将图片转素描画(附源码和成品下载地址)