用 GAN 生成的 2D 二次元「老婆」已经过时了。

还记得前不久的「东升发型生成器」吗?在那个视频中,B 站 up 主 Mars 隆重推出了自制的秃头生成器。不管你现在有多年轻,头发有多么浓密,那个生成器都能让你一眼望穿二十年后的自己。

这一充满「恶意」的项目引发了读者的集体不适,大家纷纷请求 up 主「整点儿阳间的东西」(听说粉丝毫不见涨,这锅机器之心不背)。

本着对读者的尊重和爱护,up 主这次换了个方向,开始研究起了「一键『老婆』生成器」。

先来看一下效果:

当然,除了「老婆」,其他手办也是可以的:

效果看上去不错,还省了买手办的钱,这是怎么做到的呢?

Mars 在视频中提到,因为生成二次元「老婆」这个主题有很多人都做过了,而且效果不错,所以他就想到一个主题类似但表达方式不同的点子——用 AR 来做。

在 Waifu Labs 网站上生成的 2D「老婆」。

他介绍说,现在市面上大部分的 AR(比如宝可梦 Go)都是通过指定 App 中的相机才可以看到增强现实的内容,但他想做的却是一个网页版 AR,也就是说,你只需要打开一个网页,从网页中再打开相机就能看到增强现实的内容。

那么具体要怎么实现呢?

他的思路可以概括为:先做一个网站,你可以在上面上传一个 3D 模型,网站就会自动生成一个二维码。然后你用手机(相机)去扫这个二维码,你刚刚上传的模型就会出现在现实世界里了。

思路有了,接下来就是寻找解决方案了。

备选的解决方案有这么几个:谷歌的 WebXR、AR.js 和 Argon.js。其中,WebXR 可能是所有解决方案中效果最好的,也是文档最为完善的,但问题在于它只支持极少部分安卓设备;后两个方案各方面表现都差不多,区别在于前者是完全开源的,因此 Mars 毫不犹豫地选择了前者。

选定了解决方案之后,先来尝试一个官方的例子。在写了一个静态文件服务器、创建 index.html、将例子中的代码复制进去运行服务器等一系列操作之后,预想中的增强现实画面并没有出现,只有一个报错页面弹了出来:

报错的原因在于,从 ios11 开始,只有通过 https 访问的网站才有打开相机的权限,Mars 通过安装一个名为 ngrok 的程序解决了这个问题。

问题解决了,再来试一下,果然,这次真的出现了增强现实的画面。

测试成功,接下来就是使用自己的模型了。

AR.js 提供了一个接口,可以将自己的模型对应到二维码或者图案上。但这里有一个问题:精美的 3D 模型要从哪里找呢?在视频中,Mars 推荐的是一个叫 Sketchfab 的网站。Sketchfab 和普通的图片网站类似,但不同之处在于,上面的模型都是 3D 的,而且大多渲染精良,既有付费模型,也有免费模型。

Sketchfab 网站首页。

下载到模型之后,将链接复制到之前创建的 index.html 文件里,就大功告成了!

为了方便大家自己动手,此次 Mars 还开源了整个项目的代码并在第二个视频(代码详解)中对代码和各个步骤进行了详细讲解,感兴趣的同学可以自己动手试一下。

代码地址:https://github.com/MarsWang42/AR-Laopo

最后再介绍一下宝藏 up 主 Mars。他本科毕业于同济大学土木工程系,2015 年进入 UC Irvine 开始学习计算机知识,后来成为一名程序员,并进入谷歌工作。在以往的视频中,他也分享过自己转专业和求职的诸多经验。

在视频的最后,Mars 表示,他将尽快将这个项目做成网页版跟大家分享。

编辑:张倩

来源:机器之心

关注微信公众号:互联网架构师,在后台回复:2T,可以获取我整理的教程,都是干货。

猜你喜欢

1、GitHub 标星 3.2w!史上最全技术人员面试手册!FackBoo发起和总结

2、如何才能成为优秀的架构师?

3、从零开始搭建创业公司后台技术栈

4、程序员一般可以从什么平台接私活?

5、37岁程序员被裁,120天没找到工作,无奈去小公司,结果懵了...

6、滴滴业务中台构建实践,首次曝光

7、不认命,从10年流水线工人,到谷歌上班的程序媛,一位湖南妹子的励志故事

8、15张图看懂瞎忙和高效的区别

9、2T架构师学习资料干货分享

你要“老婆”不?谷歌程序员20行代码送你一个!相关推荐

  1. 你要「老婆」不要?谷歌程序员20行代码把二次元「老婆」带到现实世界

    ‍ 用 GAN 生成的 2D 二次元「老婆」已经过时了. >>>> 还记得前不久的「‍东升发型生成器」吗?在那个视频中,B 站 up 主 Mars 隆重推出了自制的秃头生成器. ...

  2. 用c语言400行代码小游戏,程序员400行代码制作翻牌游戏解决无聊时间

    原标题:程序员400行代码制作翻牌游戏解决无聊时间 上班感觉累,很想放假,但是放假在家又感觉非常无聊,总是不知道干什么,又感觉还不如上班呢,反正无聊不如练练写小游戏吧,即练习了代码,做完后还能接着玩, ...

  3. 20行代码来生成一个自己的素描图片

    20行代码来生成一个自己的素描图片 你知道用代码生成自己的一个图片素描吗?今天我们就用20行代码来生成一个自己的素描图片. 现在让我们开始吧 第一步: 导入python模块 from PIL impo ...

  4. 新年将至, 程序员如何以代码送出新春祝福

    导读:农历新年将至,祝福的话汇成千言万语都寄托在贺卡之中,也许今年你受到了很多的挫折,又或者是顺顺利利度过了一年.但不管怎么样,不管是哭与笑,人生的年轮都已经转过了一圈.我们唯有继续向前走,不要回头, ...

  5. Python程序员30行代码素描表白!网友:花里胡哨

    总有人说程序员不够浪漫!其实我们只是没时间而已,等我们有时间了,还有普通人什么事儿?最近就有一个小伙伴上热搜了! 原来他用Python给可爱的女朋友画了一幅素描!不到30行代码,一起来学学给她一个惊喜 ...

  6. c语言程序员写贪吃蛇代码28,厉害了,程序员28行代码写贪吃蛇游戏,附源码!...

    对于贪吃蛇游戏,大家基本上都玩过,但是作为一个程序员,大家是否想过要自己去写一个贪吃蛇,毕竟玩别人写的游戏和自己写的游戏是两种截然不同的感受,而且也可以通过制作来提升自己的技术! 其实贪吃蛇的逻辑并不 ...

  7. 记事本贪吃蛇游戏代码_厉害了,程序员28行代码写贪吃蛇游戏,附源码!

    对于贪吃蛇游戏,大家基本上都玩过,但是作为一个程序员,大家是否想过要自己去写一个贪吃蛇,毕竟玩别人写的游戏和自己写的游戏是两种截然不同的感受,而且也可以通过制作来提升自己的技术! 其实贪吃蛇的逻辑并不 ...

  8. 欺负我是程序员?几行代码让你服

    写在前面 梦想橡皮擦,一个励志成为IT圈熟透了的人 故事的背景是这样的- 恩,这样,这样,然后这样,最后,我感觉自己被欺负了,然后要轰炸他的QQ,恩就是这样 本篇博客写出来就是担心被封禁了,毕竟结果不 ...

  9. 曲面屏 == 程序员标配?包邮送你一个!

    最近有粉丝留言让我多搞些抽奖活动,为了感谢大家对本公众号的大力支持本次联合了8个号主,送27寸金正曲面屏显示器,祝所有人新的一年工作顺利,工资芝麻开花节节高,希望本次抽奖可以给你带来好运.生活不易,望 ...

  10. 大神程序员几行代码增粉 100W 最后入狱,附源码。

    背景 几行代码让他增粉 100W 最后入狱,他就是著名 Samy 蠕虫病毒的作者 Samy Kamkar,通过 Samy 蠕虫成功为自己新增 100W 粉丝最后入狱.这也是一个里程碑,世界上第一只 & ...

最新文章

  1. 课程设计---停车场管理系统
  2. python的inspect模块
  3. [jQuery] jQuery的队列是如何实现的?队列可以用在哪些地方?
  4. SQL语句取某字段最大的那一条记录
  5. 巧用Linux 命令来拆分Windows下的大文件
  6. 敏捷开发 —— TDD(测试驱动开发)
  7. 网络通信之通过get/post方式提交参数给web应用
  8. 浅谈GIS中几种常用的坐标系统与投影系统
  9. LINUX使用OpenSSL进行签名
  10. Android LayoutInflater源码分析
  11. 德律aoi程式制作_精典德律AOI检测程式制作手册(全).ppt
  12. 【MATLAB航空航天工具箱】学习笔记--闰秒
  13. Chrome浏览器占用CPU资源过高(Software Reporter Tool)
  14. ubuntu桌面幻灯片_如何在Ubuntu中创建墙纸幻灯片
  15. Android仿360悬浮框
  16. Android编译Lambda,Android lambda 入门教程
  17. php项目素材,PHP素材资源解析平台源码V8.0(thinkPHP框架内核)
  18. PHP中mq是什么,MQ是什么
  19. 加班报税,体力不支?RPA智能申报,让报税轻松无忧
  20. 金融直播APP方案开发

热门文章

  1. 如何使用EasyRecovery的监控硬盘功能
  2. Camtasia实用技巧之行为效果
  3. 雅可比迭代法和高斯赛德尔迭代法
  4. 【redis】redis的bind配置
  5. Morpheus:虚拟现实的新杀器
  6. 揭开2016手机进化史 寒冬整合重返市场成主旋律
  7. += 对于可变对象和不可变对象的区别
  8. Three.js – Building a Cube with different mater...
  9. Centos rsync配置
  10. 搭建一个服务器框架,进程间利用管道通信,线程处理数据