本文经AI新媒体量子比特(公众号ID:QbitAI)授权转载,转载请联系出处。红尘中,画是静的。但在一个神秘的计算机世界里,不管你信不信,一切都不一样了。画一只独角兽并轻轻敲击它。独角兽“活”了起来,又跑又跳,从纸上跳了下来。给它起个名字,轻轻点一下——有名字的独角兽从纸上进入了一个三维世界,开始不知疲倦地攀爬,小山小山……在这个世界上,还生活着各种奇异的生物在里面。奇怪的生物。比如躲在人群中跳秧歌的蜗牛。看,四条腿的怪物:天上行走的渔夫,恐怕不是仙女:戴帽子的鬼君,可以把一草一木变成精灵:卡通人物也有,你看哆啦A梦:皮鼠黄色皮卡丘这次没毛了:还有一张神奇大方的脸:这些小家伙都是吃瓜群众画的。在这个虚拟的世界里,随便涂鸦几笔,画出来的一切都会成真,堪称马良的神笔。他们奔跑在同一个世界里,与鬼怪纠缠在一起,如同夜间行走的鬼魂。这是在CMU学习的中国学生黄凌东创作的涂鸦世界。在这个世界上,任何人都可以像马良一样,用神笔画画,瞬间成真。不少吃瓜群众看到后惊呼:这简直就是魔术:我好喜欢这些涂鸦,可以看几天,哈哈。就像诗歌一样,都是有血有肉的意象,飘荡在自然随意的地方。你是怎么做到能够自动区分小鬼的“胳膊”和“腿”并有节奏地移动的,即使它们只是随意的涂鸦?这些涂鸦是如何“活”下来的?“造物主”黄用三步完成了这个世界的构建。在涂鸦中添加骨架就像检测人体的关键点。手绘涂鸦也需要关键点来确定骨骼的位置,以描述其精神。在这里,Huang使用了OpenCV的骨架化工具,借助Zhang-Suen的C++代码来实现它。但是这个实现遍历了图片中所有的效果,所以在web端实现的效果比较卡,比较慢。Huang不得不使用gpu.js用WebGL着色器的javascript分支重写代码。重写后快多了。比如我们放一张寡妇持枪的照片,它可以自动勾勒出照片的关键点,寡妇的躯干和持枪的两只手臂。让机器理解骨架但是现在问题来了,看到这样的图片,人类可以判断出是人和TA的两条胳膊,但是机器好像做不到。于是,Huang决定用一个8×8的窗口扫描整个图像,找出那些有笔画的部分,标记出来作为一个根块(rootpatch),然后看根块的小方块的四个边,无论哪一侧有线Extend,以便可以找到整个骨架,然后使用积极的中值模糊滤波器进行降噪。现在,机器终于可以理解你涂鸦的形状,以及它的内部骨骼结构。让涂鸦动起来接下来,我们得想办法让涂鸦动起来。在这里,黄确定了五个主要物种:哺乳动物、人类、鸟类、鱼类和植物。他根据涂鸦图像的骨骼,判断出画出来的小怪兽属于哪个物种,然后将身体器官分配到骨骼的不同部位:这是头,这是胳膊,这是腿……之后也就是说,他为不同的物种设置了单独的“行走”姿势,比如植物应该在固定的地方弹跳,哺乳动物和人类应该在地面上奔跑,鸟类应该放在空中拍打翅膀,还有鱼应该尾巴在水中游泳。经过这么一套程序,涂鸦就可以动起来了。对了,涂鸦怪兽生存的世界的“天、地、水”也需要定义。Huang使用二维高斯函数乘以Perlin噪声以生成类似于海中小岛的地图。中间高,周围低,最外层是水。这样,花鸟鱼虫都能找到自己的栖身之所。搞笑人工智能爱好者黄同学明年将从CMU毕业。在此之前,他是迪士尼的实习生。这位出生于1997年的少年创造了许多令人惊叹的项目。比如自动生成山水画:和Emoji小人大战:自动书法生成器:挺有意思的内容,可以戳传送门体验。专业的“马良”公司推出了涂鸦搬家,这种像神笔马良这样的功能居然已经被一家公司商业化了。前微软人机交互专家曹翔博士创立的小小牛科技就是这样一家公司。他们使用自主研发的WonderPainter技术,将各种物体变成会动的角色。比如在绘图界面画一个穿裙子的女孩:接下来女孩就可以直接开始跳舞了:小小牛的这项技术已经以游戏的形式应用在了一些网络营销活动中。未来,这种技术还可能在艺术创作、儿童教育等领域大放异彩,大大降低艺术创作的门槛。因此,“神笔马良”不仅技术前沿,未来的商业前景也隐隐咆哮。传送门Demo体验:https://doodle-place.glitch.me/差点忘了说,因为这个项目太火了,有时候要像滴滴一样排队才能进去。第一个皮卡丘和哆啦A梦在两个Demo服务器:https://doodle-place-server-2.glitch.me/原创博客:http://golancourses.net/2019/ngdon/03/05/ngdon-drawingsoftware/骨架代码:https://skeletonization-js.glitch.me/
