奥运会游泳比赛赛AR是什么记录

游泳的话题 · · · · · ·
什么是话题
无论是一部作品、一个人,还是一件事,都往往可以衍生出许多不同的话题。将这些话题细分出来,分别进行讨论,会有更多收获。
游泳的影评 · · · · · ·
& && && && && && &
以下豆列推荐
· · · · · ·
(Dharma Bums)
(Rosemary)
谁在看这部电影
· · · · · ·
订阅游泳的评论:
douban.com, all rights reserved 北京豆网科技有限公司 上传我的文档
 下载
 收藏
粉丝量:19
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
增强现实及其在导航与位置服务中的应用
下载积分:500
内容提示:增强现实及其在导航与位置服务中的应用
文档格式:PDF|
浏览次数:54|
上传日期: 02:32:16|
文档星级:
全文阅读已结束,如果下载本文需要使用
 500 积分
下载此文档
该用户还上传了这些文档
增强现实及其在导航与位置服务中的应用
关注微信公众号AR也是个有故事的社会人
2018上半年,论持续时间最长的全球性“热点事件”恐怕要数2018两会了。除了报告工作、改善民生等意义,今年两会还有一个特别之处,也引起了大家的关注。那就是“两会”加乘了“AR科技”,人民有了一个关注国家大事的新方式。
今年两会期间,新华社APP重磅推出了AR功能,着实给了不少爱国人士惊喜。只要点击新华社app首页下方的“小新机器人”,扫描二代身份证带有国徽和长城图案的一面或者是《新华每日电讯》的报头,就能观看两会“委员通道”,还可以调用人工智能,发现更多“新闻彩蛋”。
这才是看政协委员为民生建言,浏览政府工作报告,领取民生福利的正确姿势啊!据说,未来新华社智能化编辑部还将不断优化AR、AI报道的用户体验,进一步将前沿技术和内容创新结合。
而事实上,这不是AR第一次与我们的日常生活擦出火花。作为便捷好用的交互手段之一,年过半百的AR才不是一个没有故事的同学!十足是个“社会人”~
计算机图形学之父Ivan Sutherland开发出了第一套增强现实系统,被命名为“达摩克利斯之剑”。这是人类的第一套AR设备,但受制于当时计算机的处理能力,这套系统笨重到显示器无法戴在头上,只能吊在天花板上,也仅仅能够将简单线框图转换为3D效果。
这是AR发展的里程碑式作品,然而它的粗糙使它在当时并不受重视。
AR的名字正式诞生是在这一年。波音公司的研究人员Tom Caudell与其同事在论文中首次使用了这个名字,用来描述“将计算机呈现的元素覆盖在真实世界上”这一技术。
也是在这一年,不少人针对“如何将虚拟图像叠加至真实世界”进行各项研究的同时,促使了AR与VR的界限愈渐清晰,至此,增强现实(AR)与虚拟现实(VR)的发展之路便彻底分离了。
这一年,AR与艺术发生了一次碰撞。艺术家Julie Martin设计出了“赛博空间之舞”,由真实的舞者与舞台上的虚拟投影进行交互。朦胧而婆娑的氛围完美诠释了AR的意境,这是AR的第一次戏剧秀。
AR与直播节目结缘,当时体育转播图文包装和运动数据追踪领域的领先公司Sportvision开发了1st&Ten系统。在实况橄榄球直播中,首次实现了“第一次进攻”黄色线在电视屏幕上的可视化。
直到现在,当你看游泳比赛时,泳道上出现的选手名字与信息,都是基于AR技术。
当年流行的电脑游戏Quake(雷神之锤)推出了AR扩展版,背着一个可穿戴式电脑的背包、一台HMD和一个只有两个按钮的输入器,就能在任何地方开始使用。
第一个AR浏览器RWWW被开发出,作为互联网入口界面的移动AR程序。不过,当时的AR硬件仍然略显笨重,需要一个头戴式显示器和一套复杂的追踪设备。
《Esquire》平面杂志首次应用了AR,将其封面对准笔记本的摄像头,封面上的罗伯特唐尼就跳出来,和你聊天并推广自己参演的电影《大侦探福尔摩斯》。这是平面媒体与AR的第一次结缘,希望燃起更多人多纸媒的青睐。
谷歌宣布开发Project Glass增强现实眼镜,虽然没有将AR技术推上更高的高度,但是却重新让人们的目光聚焦到增强现实上。
AR发展的触手最终来到了教育界,Osmo就是首个获得成功的 AR 儿童教育玩具。它依赖于一个平板电脑和一个app,利用一面镜子折射摄像头视角,就能在平板电脑前的区域玩各种益智游戏。
苹果公司在ios11系统中推出全新的增强现实组件ARKit,iPhone与iPad摇身一变成为了AR设备,AR的稳定性能也在不断提高。
苹果CEO蒂姆·库克十分重视AR的潜力,也为ARKit 2发布了一系列的新功能,包括支持联机体验,持续AR。阿里巴巴、腾讯等也在AR领域掷出大手笔,千亿级市场规模即将到来。2018年,AR将开启应用的元年。
进步与突破越来越密集,AR成为明日之星,谁掌握AR技术谁就占领了未来科技的一席之地。大佬们前赴后继,在AR领域耕耘着的远不止谷歌和苹果而已,越来越多的科技企业正在投入对AR的研究开发。
相比之下,AR虽然被国人接受的时间不如国外那样长达四五十年,但是日益昌盛的国力让我们在AR研究的领域不落人后。以我的天AR这样的国内AR技术标杆企业,毫无疑问,正面临着AR市场的巨大机遇,无尽潜力亟需我们去挖掘......
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点内容字号:
段落设置:
字体设置:
精准搜索请尝试:
非典型AR来袭:奥运会“泳池特效”与《DOTA2》大赛投影
来源:作者:光谱责编:珞樱
奥运会已经开始了,关注游泳比赛的观众一定在电视上看到过这样的画面:如果你是Dota 2玩家,这两天肯定在关注&The International 6(TI6国际邀请赛)估计赛场上有一幕肯定让你印象深刻:在每一场比赛前的Ban/Pick阶段,赛场中间的空地上,会出现两队所选英雄的“全息投影”,效果无比酷炫。奥运会跟Dota 2可谓风马牛不相及,但我们发现,就这两种呈现技术来说,其实是差不多的。先来看TI6比赛:这个所谓的“全息Ban/Pick”效果只出现在TI6官方输出的视频转播信号里,在现场的空地上是看不到的(在现场看大屏幕上能看到)。也就是说,它和很多宅男都爱看的初音未来演唱会一样,不是真正的全息投影。继续分析,我们把画面分为两部分看,第一部分是地板上的倒计时/比分/地图,第二部分英雄的“3D投影”。在&TI6负责场地搭建的内部人士“Samtrek”在Reddit上表示,赛场中间的地板其实是一块&344万像素的显示屏,由841块(29×29)4096像素(64×64)的LED屏组成。所有地板上的内容,包括文字、倒计时和比分数字以及比赛的地图示意,全部都是LED屏幕解决的。而Ban/Pick阶段的3D模型(包括模型下方的影子),其实都是由摄像机先拍下现场画面,计算机实时在视频输出信号里后期叠加的特效。再来看奥运会游泳比赛里的国旗:其实在现场也是看不到的。它们都是计算机后期处理,把虚拟的国旗和真实的画面合成之后转播出来的。具体来说,运动员的国籍已经录入到了计算机里,有运动员触壁完成比赛,系统会接收到数据并自动在计算机画面中显示他/她的姓名、国籍和名次。▲图片说明:这种泳道上的虚拟视觉技术叫做Virtual Lane Graphics,也有人叫它“泳池特效”(Pool VFX)而Valve(Dota 2开发商)在TI6现场采用的转播画面叠加技术,跟Virtual Lane Graphics差不多,但其先进之处有二:•&叠加上去的画面,从2D的国旗,变成带阴影的实时演算3D模型。这个无需过多解释;•&所用的摄像机从固定机位变成了移动机位。“Samtrak”透露,现场直播所用的摄像机都内置了传感器,支持“pitch, yaw & roll”。这三个词其实代表的就是三轴,意思是当镜头转向的时候,叠加的画面可以跟着镜头一起移动。过去在游泳比赛里的Virtual Lane Graphics技术比较落后,要求摄像机必须在一个定点上不能位移。而在TI6上,摄像机其实是装在摇臂上的,没有一个固定的机位。我们能在画面中看到,机位接近赛场中间,模型变大,离远,变小——这其实要求摄像机里还要支持对自己位置的判断。VR/AR业界用专有名词来描述这种能力:三度自由(3 degrees of freedom,3dof)和六度自由(6dof)。从奥运会上的固定机位到TI6上的移动机位,摄像机其实从3dof进化到了6dof。至于实现6dof,是通过类似于GPS的现场的位置锚点,还是机载的深度摄像头,目前尚未可知。Valve的保密工作一直做得很好……需要明确的是:这种技术不是VR,也并非典型意义上的AR,因为毕竟不是人眼直接观察到真实物体和虚拟物体的合成。尽管如此,我们还是应该把这种技术归类到AR的范畴里。假设在未来的电竞比赛上,我们把摄像机换成支持6dof的AR头显,每个现场观众都可以戴着头显在场地里随意行走,每一台头显都可以实时演算出模型,然后把它们以正确的大小、姿态放在正确的位置上,那才是典型意义上的AR,或者大家更愿意叫“全息投影”。我们离那样的未来有多远?一直关注TI比赛的朋友告诉我,上届还没有这个“全息投影”,这届看到的确觉得很酷炫。前几天我的同事还报道了一个用来玩VR游戏的“盔甲”,让FPS游戏变得格外“真实”。此外,观看Ti6比赛直播的许多观众在弹幕中指出,这个效果呈现很像以前的动漫《游戏王》。其实如果拥有《炉石传说》的暴雪公司,愿意在这类技术上采取更激进策略的话,动作、移动、攻防、特效等更加固定的卡牌对抗游戏确实更容易从PC端全面移植到VR/AR平台。▲图片说明:沙盘上的卡牌怎样在现实比赛场中幻化为有质感的怪兽?总的来说,VR/AR技术的话题已经炒热了一两年了,但我相信,像这届TI6一样,VR/AR技术会因为游戏,特别是硬核游戏和高质量的移动VR游戏,迎来真正的高潮和全球普及。
软媒旗下软件:
IT之家,软媒旗下科技门户网站 - 爱科技,爱这里。
Copyright (C) , All Rights Reserved.&figure&&img src=&https://pic3.zhimg.com/v2-87ac87ce11fdee_b.jpg& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic3.zhimg.com/v2-87ac87ce11fdee_r.jpg&&&/figure&&p&从出师未捷的GoogleGlass到全球爆款的PokemonGo,AR在大众视野中来来去去已经不是什么新鲜概念了,而Apple于2017年发布的ARKit 则让笔者作为一个设计师有一丢丢小紧张和小兴奋。&/p&&p&一方面AR已经广泛地进入消费级市场,意味着设计师随时可能被迫改变设计的方式与载体,但另一方面能参与到这个可能重塑人类生活形态的科技变革中又何尝不是一件超有乐趣的事情呢!&/p&&p&&b&问题目录&/b&&/p&&p&AR是什么?&/p&&p&ARKit是什么?&/p&&p&ARKit有什么优势?&/p&&p&ARKit成功应用案例?&/p&&p&设计会参与AR研发的环节?&/p&&p&AR体验有设计原则?&/p&&hr&&h2&&b&AR 是什么?&/b&&/h2&&p&维基百科对于AR的定义:&/p&&p&增强现实(Augmented Reality)是指透过摄影机影像的&a href=&https://link.zhihu.com/?target=https%3A//zh.wikipedia.org/wiki/%25E4%25BD%258D%25E7%25BD%25AE& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&位置&/a&及&a href=&https://link.zhihu.com/?target=https%3A//zh.wikipedia.org/wiki/%25E8%25A7%%25BA%25A6& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&角度&/a&精算并加上图像分析技术,让屏幕上的&a href=&https://link.zhihu.com/?target=https%3A//zh.wikipedia.org/wiki/%25E8%E6%2593%25AC%25E4%25B8%%C& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&虚拟世界&/a&能够与&a href=&https://link.zhihu.com/?target=https%3A//zh.wikipedia.org/w/index.php%3Ftitle%3D%25E7%258F%25BE%25E5%25AF%25A6%25E4%25B8%%action%3Dedit%26redlink%3D1& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&现实世界&/a&场景进行结合与&a href=&https://link.zhihu.com/?target=https%3A//zh.wikipedia.org/wiki/%25E4%25BA%%258B%2595& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&互动&/a&的技术。&/p&&p&更直观的解释就是:&b&透过屏幕,将虚拟内容套在现实世界上,帮助用户更便捷而直观地获取信息。&/b&&/p&&p&AR是个很新鲜的概念吗?对于普罗大众也许是,但是追本溯源,你会发现AR是一个已经发展了50年且日臻成熟的“老”概念。从实验室中的概念原型,到各个领域的大众研究,再到如今用户手中量产的商品,回顾AR发展的关键节点,也许你会发现自己在生活中早已接触过它。&/p&&h2&实验室的诞生&/h2&&figure&&img src=&https://pic3.zhimg.com/v2-e4b40c04abd768ffb6a286d50e05ec9c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic3.zhimg.com/v2-e4b40c04abd768ffb6a286d50e05ec9c_r.jpg&&&/figure&&p&1、世界上第一套增强现实系统“达摩克利斯之剑”于1968年面世,由计算机图形学之父萨瑟兰开发,受制于当时计算机的处理能力,这套系统将显示设备放置在用户头顶的天花板,用户通过头戴的终端设备能够将简单线框图转换为3D图像。&/p&&p&2、Aaugmented Reality这一术语诞生于波音公司。研究员Tom Caudell及团队为波音公司开发头戴式显示系统,通过将数字化图解叠加在电路板上帮助工程师组装电路板上的复杂电线束。&/p&&p&3、美国空军的VirtualFixtures虚拟帮助系统和哥大的KARMA机械师修理帮助系统是最早的AR原型。&/p&&p&4、1994年AR技术首次在艺术上得到实践。艺术家Julie Martin设计了名为Dancing in Cyberspace的表演。舞者与舞台上投影的虚拟内容互动。&/p&&h2&泛行业研究&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-55cf22cbfb03c3db7ef6a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic4.zhimg.com/v2-55cf22cbfb03c3db7ef6a_r.jpg&&&/figure&&p&1、1998年,游泳比赛时每个泳道会显示选手名字、国籍的AR技术在一次美国赛事直播中首次运用。&/p&&p&2、1999年美国海军开始使用战场增强现实系统。&/p&&p&3、2000年日本的加藤弘一研发了第一个增强现实SDK,在App应用领域带来了AR革命。&/p&&p&4、2009年罗伯特唐尼登上《Esquire》杂志,当读者将封面对准电脑的摄像头,罗伯特唐尼会从杂志封面跳出来与你互动推广自己的新电影。这也是平面媒体与AR的“初恋”。&/p&&h2&消费级产品&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-2cbeef1fd6c3fbfc6009b7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic4.zhimg.com/v2-2cbeef1fd6c3fbfc6009b7_r.jpg&&&/figure&&p&1、2012年,谷歌启动Project Glass项目。GoogleGlass将智能手机的信息投射到用户眼前并通过该设备直接通讯。两年后Google Glass正式开放预购。&/p&&p&2、2015年,现象级 AR 手游《Pokémon GO》创下载5亿次惊人纪录。同年微软发布迄今体验最好的AR头显设备 Hololens。&/p&&p&4、2016年,AR创业公司MagicLeap获得近8亿美金融资,即使它至今都没收售卖过任何产品!它的技术能将计算机生成的图像直接投射到人眼,最终在现实图景中上叠加一个虚拟图像。&/p&&h2&&b&ARKit 是什么&/b&&/h2&&p&AR经历了半个世纪的发展,但其对普通用户生活形态的影响甚微,我们还是习惯与2维的屏幕交互。直到2017年的WWDC大会,苹果在iOS 11中带来了全新的增强现实组件ARKit,该应用适用于iPhone和iPad平台。&/p&&p&ARKit的发布让使得iPhone一跃成为全球最大的AR平台,AR成为了可以迅速在几亿终端上使用的消费者级别产品。它不仅给开发者提供了非常好的开发平台,也会加速基础技术研发和内容生产的进度,从而推动整个行业的快速发展。&/p&&p&而技术胜利的号角往往是体验设计的起点,从现在开始设计师将会广泛的参与到这些虚拟现实的设计中来。&/p&&p&其实在ARKit没发布之前,QQ与支付宝都有做过AR的场景应用,那ARKit有什么性能亮点值得我们关注呢?主要有以下四点——&/p&&h2&&b&ARKit &/b&强在哪里?&/h2&&p&1、原深感摄像头&/p&&p&iPhoneX的“刘海”中有一个传感器可投射人眼不可见光,读取用户脸部的3D结构,通过苹果神经引擎即时处理数据,建立人脸模型。这个功能实现了FaceID和可爱的Animoji。&/p&&p&其实3D结构光技术是业界较通用的一种人脸识别技术,以前常应用于电影行业,比如吴彦祖在《魔兽》电影里面被该技术捕捉后再在电脑建模变成“古尔丹”,但是iPhoneX的应用是该技术第一次被运用到手机这种便携式终端上。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-6a24c436f09c91acaaf767cce8911705_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&401& data-thumbnail=&https://pic1.zhimg.com/v2-6a24c436f09c91acaaf767cce8911705_b.jpg& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic1.zhimg.com/v2-6a24c436f09c91acaaf767cce8911705_r.jpg&&&/figure&&p&2、视觉惯性里程计&/p&&p&ARKit 使用视觉惯性里程计 (VIO) 高精度地追踪四周的环境并感测它在房间内的移动。比如这个名为AR尺子的应用,帮助你不用任何测量工具,仅仅是使用iPhone就可以测量物体的精准尺寸。&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/348288& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic1.zhimg.com/80/v2-3fec92fd0c8_b.jpg& data-lens-id=&348288&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/80/v2-3fec92fd0c8_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/348288&/span&
&p&3、場景理解和照明估計&/p&&p&ARKit 可以检测桌子和地板等水平面,并能跟踪及放置物品在特定点上。ARKit 还能利用相机传感器来估计场景中可用光的总量,以此将正确的光亮度应用在虚拟对象上。&/p&&p&4、高性能硬件和渲染优化&/p&&p&快速理解场景理解,在现实世界场景上构建出精细迷人的虚拟内容。 对 Metal,SceneKit 以及 Unity 和 Unreal Engine (虚幻引擎) 等第三方工具中的 ARKit 优化加以利用。&/p&&h2&&b&ARKit &/b&有哪些成功案例?&/h2&&p&环境设计与家装&b& / IKEA&/b&&/p&&p&不知道你在宜家购物时有没有遇到这样的情况:你看到了自己喜欢的家具,但你不知道尺寸放在家里是否合适;有时候你量好了尺寸,但面对玲琅满目的商品,你不清楚这些家具放在家中会是什么效果。宜家在ARKit发布后推出了一款AR应用,解决了这些问题。&/p&&p&AR在环境设计、家装领域一直走在前列,因为本身这两个领域就需要设计师和消费者不断的去构建虚拟空间以完成用户的想象,AR恰恰以低成本的方式将其实现,即使你是一个空间想象力极差的用户。&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/555648& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic2.zhimg.com/80/v2-dfb7fbc263b387a15c3aadd_b.jpg& data-lens-id=&555648&&
&img class=&thumbnail& src=&https://pic2.zhimg.com/80/v2-dfb7fbc263b387a15c3aadd_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/555648&/span&
&p&教育与医疗&b& / &/b&人类解剖学图谱&/p&&p&人类解刨学图谱是一款专为医学学生开发的解剖App,在最新的版本里它增加了AR模式,学生们可以把1:1的人体模型放置在手术桌上深入观察。对于教育与医疗,AR都大有发挥的空间,想象一下有了AR以后,无论你是在一线城市,还是在小小的县城,不同家境的孩子的课堂上都可以通过AR看到相同的台风地理沙盘,这不仅仅关乎教育的方式,更关乎教育的资源与公平。&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/105216& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic4.zhimg.com/80/v2-c3b645ecf_b.jpg& data-lens-id=&105216&&
&img class=&thumbnail& src=&https://pic4.zhimg.com/80/v2-c3b645ecf_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/105216&/span&
&p&游戏、艺术与创意&b& / &/b&行尸走肉&/p&&p&美剧《行尸走肉》今年的营销手段独辟蹊径,跟随新一季发布的是一款AR丧尸游戏,粉丝们可以在大街小巷中躲避异次元的丧尸,拾取身边的武器来反抗。&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/623296& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic4.zhimg.com/80/v2-fc67cb5a064b4c7ac4753f_b.jpg& data-lens-id=&623296&&
&img class=&thumbnail& src=&https://pic4.zhimg.com/80/v2-fc67cb5a064b4c7ac4753f_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/623296&/span&
&h2&设计参与 &b&AR &/b&研发的环节?&/h2&&p&AR产品在工作时与现在的2维平面交互不同的地方:&/p&&p&1、多媒体捕捉现实图像&/p&&p&2、三维建模的3D立体模型&/p&&p&3、传感器追踪:追踪现实动态物体的六轴变化(X、Y、Z轴位移及旋转)。位移三轴决定了物体的方位和大小,旋转三轴决定物体显示的区域。&/p&&p&4、坐标的识别及转换:3D模型显示在现实图像是一个复杂的三维矩阵坐标。这个AR研发最难的部分因为有了ARKit也大大简化了流程。&/p&&p&5、虚拟物体交互&/p&&figure&&img src=&https://pic3.zhimg.com/v2-b8c8fed759aa2dcd509e7b86_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic3.zhimg.com/v2-b8c8fed759aa2dcd509e7b86_r.jpg&&&/figure&&h2&&b&AR &/b&体验有什么设计原则?&/h2&&p&设计原则对于设计师的工作起着提纲挈领的重要作用,针对AR体验设计这种陌生的设计载体,苹果也在iOS11的用户体验设计指南中进行了阐述。我选取了最重要的几个部分讲述一下(若部分术语翻译有误或与常用使用规范有别敬请指出)。&/p&&p&&b&原则1
设计一种体验&/b&&/p&&p&这部分是最重要的设计原则的概述,我将其整理为新维度、沉浸感、安全性三个方面——&/p&&figure&&img src=&https://pic2.zhimg.com/v2-d283e04dee4_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic2.zhimg.com/v2-d283e04dee4_r.jpg&&&/figure&&p&&b&新维度NewLatitude&/b&&/p&&p&1、渐进引导用户的移动&/p&&p&如果你的产品需要用户移动,应该先让用户适应AR体验,然后再鼓励他们运动。&/p&&p&2、避免术语,提示融入情境&/p&&p&在一个物体旁边提供一个视觉化的三维旋转的标志比提供文字要直观。当用户对情境提示没有反应时可以再显示文字。避免使用过于技术性的术语, 例如:ARKit、环境侦测、追踪等。&/p&&p&3、避免AR体验中断&/p&&p&用户每次进入AR时都要重新分析环境、检测平面,手机和相机的位置也无时无刻在改变。这会导致先前放置的物体被重新安置——它们或许无法再被放置在现实平面上。避免中断的方法是让人们在不离开&b&AR&/b&的情况下去改变物体和放置情况,例如在使用宜家AR放置一把沙发时,不退出就可以选择形式、材质等。&/p&&p&&b&沉浸感Immersion&/b&&/p&&p&1、全屏显示&/p&&p&让真实世界的画面和&b&AR&/b&物体尽量占据整个屏幕,避免操作按键和其他信息切割屏幕,破坏沉浸感。&/p&&p&2、以假乱真的虚拟模型&/p&&p&设计有质感、以假乱真的的3D形象,在现实光照下能产生合理的阴影,移动相机物体能发生改变。&/p&&p&3、运用声音、触觉反馈提升沉浸感&/p&&p&音效或者震动反馈可以创造一种虚拟物体与真实物体接触或者碰撞的感觉。音效可以让用户快速进入虚拟世界。&/p&&p&&b&安全性Security&/b&&/p&&p&1、安全第一&/p&&p&在有人或者物体的环境里大幅度的移动有可能造成危险,注意让用户安全地操作,避免大范围或者突然地移动。&/p&&p&2、考虑用户的生理舒适&/p&&p&很多用户长时间使用3D产品会产生“3D晕眩” ,一定要考虑到用户使用你的产品的方式和时长是否会带来不适。设计师可以通过减少游戏的级数或者在其中穿插休息时间来缓解用户疲劳。&/p&&p&3、考虑物理世界的限制&/p&&p&用户很可能在一个并不适合AR体验的环境下体验产品,例如他们可能在一个狭窄而没有平面的区域。因此设计师应考虑不同场景下设计不同的使用方式和功能,并且提前告知用户使用方法。&/p&&p&&b&原则2
关注用户,当用户进入应用&/b&&/p&&p&用户每次进入AR,都会有初始化评估环境的过程,这会花费数秒时间。为了减少用户的困惑以及加速进程,应该明确指示出这一过程并且鼓励用户探索他们的环境,积极寻找一个平面。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-d3eebdadc5fb10daa1835005_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&530& data-rawheight=&263& class=&origin_image zh-lightbox-thumb& width=&530& data-original=&https://pic4.zhimg.com/v2-d3eebdadc5fb10daa1835005_r.jpg&&&/figure&&p&&b&原则3
引导用户放置虚拟物体&/b&&/p&&p&帮助用户理解何时定位平面并且安放物体&/p&&p&虚拟标识是告知用户平面定位模式。屏幕中间的梯形标线可以提示用户他们应该寻找一个垂直的宽阔的平面。一旦这个平面被定位了,应该更换标识外形告诉用户现在可以安置物体。设计虚拟标识应该被视为App体验的一部分。&/p&&p&快速回应安置物体请求&/p&&p&平面侦测过程中精确度是逐渐提高的,当用户放置物体时应该使用当前已获得的信息立刻回应,然后再优化物体的位置。如果物体超出了侦测到的平面范围,直接将其拉拽回来。不要将其无限靠近侦测到的平面的边缘,因为这个边缘并不是稳定的。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-1bfe7c25ea18a81ab8496b19_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic2.zhimg.com/v2-1bfe7c25ea18a81ab8496b19_r.jpg&&&/figure&&p&&b&原则4 与虚拟物体交互&/b&&/p&&p&操作直接&/p&&p&最为直观的交互方式是让用户直接触碰屏幕上的物体与之互动,而不是让用户去操作一个与物体分离的控制按钮。但是要注意当用户在移动的时,这种直接的操作方式可能引发混乱。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-1fdf5d7b6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&682& data-rawheight=&170& class=&origin_image zh-lightbox-thumb& width=&682& data-original=&https://pic2.zhimg.com/v2-1fdf5d7b6_r.jpg&&&/figure&&p&简单交互&/p&&p&触碰手势是二维的,但是AR体验是建立在三维的真实世界中的。可以考虑以限定手势的平面纬度的方式简化用户与虚拟物体的交互&/p&&p&有吸引力的交互方式&/p&&p&手势不是与虚拟物体交互的唯一方式。你可以运用更多交互形式,如运动、逼近、表情等。比如当用户靠近一个角色时,它可以回头与用户对望。&/p&&h2&&b&拓展阅读&/b&&/h2&&p&苹果的ARKit给设计师的想象力新的动能,其实还有很多好玩的平台与产品我们可以关注,比如Google为Android系统研发的ARCore、微软的AR头显设备Hololens及其独有的有趣的手势、AR创业独角兽MgicLeap充满惊奇创意的概念设计······抛砖引玉,希望有兴趣的同学在AR领域引爆更多创意。最后的视频来自于MagicLeap对AR的畅想!&/p&&figure&&img src=&https://pic4.zhimg.com/v2-7bbf484b5562dbc64c5e3b2d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic4.zhimg.com/v2-7bbf484b5562dbc64c5e3b2d_r.jpg&&&/figure&&a href=&https://link.zhihu.com/?target=https%3A//v.qq.com/x/page/e.html& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic3.zhimg.com/v2-a772ac43dda_180x120.jpg& data-image-width=&320& data-image-height=&180& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&undefined_腾讯视频&/a&&p&部分资料来源&/p&&p&&b&1&/b&、&b&Human Interface Guidelines by Apple&/b&&/p&&p&&b&2&/b&、&b&“Augmented Reality”from wekipedia&/b&&/p&&p&&b&3&/b&、&b&The History of Augmented Reality (Infographic)&/b& &b&By &/b&&u&&a href=&https://link.zhihu.com/?target=https%3A//www.huffingtonpost.com/author/dennis-williams-ii& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Dennis Williams II&/a&&/u&&/p&&p&&br&&/p&&p&by 腾讯社交平台部 harryxu &a class=&member_mention& href=&https://www.zhihu.com/people/b1f9a58bf& data-hash=&b1f9a58bf& data-hovercard=&p$b$b1f9a58bf&&@徐相凯&/a& 感谢鹅厂设计小鲜肉的分享&/p&
从出师未捷的GoogleGlass到全球爆款的PokemonGo,AR在大众视野中来来去去已经不是什么新鲜概念了,而Apple于2017年发布的ARKit 则让笔者作为一个设计师有一丢丢小紧张和小兴奋。一方面AR已经广泛地进入消费级市场,意味着设计师随时可能被迫改变设计的方式…
&p&首先搬出宝典:&a href=&//link.zhihu.com/?target=http%3A//www.robots.ox.ac.uk/%7Evgg/hzbook/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Multiple View Geometry in Computer Vision&/a&。这本书基本涵盖了Vision-based SLAM这个领域的全部理论基础!读多少遍都不算多!另外建议配合Berkeley的课件学习。(&b&更新&/b&:这本书书后附录也可以一并读完,包括附带bundle adjustment最基本的levenberg marquardt方法,newton方法等)&/p&&br&&p&只要是SLAM问题就要涉及optimization,就要用到各种least square算法。所以另一个基础理论是Sparse Matrix,这是大型稀疏矩阵处理的一般办法。可以参考Dr. Tim Davis的课件:&a href=&//link.zhihu.com/?target=http%3A//faculty.cse.tamu.edu/davis/welcome.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Tim Davis&/a& ,他的主页里有全部的课程视频和Project。针对SLAM问题,最常用的least square算法是Sparse Levenberg Marquardt algorithm,这里有一份开源的代码以及具体实现的paper:&a href=&//link.zhihu.com/?target=http%3A//users.ics.forth.gr/%7Elourakis/sparseLM/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Sparse Non-Linear Least Squares in C/C++&/a&&/p&&br&&p&然后是框架级的工具。最常用的机器人框架是ROS&a href=&//link.zhihu.com/?target=http%3A//www.ros.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ROS.org | Powering the world's robots&/a&,可以使用在Windows,Linux和MacOS等操作系统上,里面包含一整套常用的机器人理论的算法和工具的实现。另一个开源工具集是OpenSLAM &a href=&//link.zhihu.com/?target=https%3A//www.openslam.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&OpenSLAM.org&/a&,其中的g2o是目前最流行的graph optimization的实现工具。另外OpenCV也是视觉相关必备的基础工具,Multiple View教材中的常用算法在OpenCV中都有常用的实现。(&b&更新&/b&:OpenCV的文档&a href=&//link.zhihu.com/?target=http%3A//docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Camera Calibration and 3D Reconstruction&/a& 中,包含SLAM相关的基础理论公式以及C/C++/Python实现的API)&/p&&br&&p&另外多说一句题外话,因为Optimization和图片的feature extraction是SLAM里最核心的两个问题,而这两个问题都是运算量极大的。好的SLAM框架要兼顾速度和精确度。目前大部分Vision或者RGBD的SLAM框架都是用C++来时实现完成的以确保运算速度。虽然我个人很欣赏Python,并且Python3也支持SciPy,OpenCV,ROS等重要工具,不过依然有大量的诸如g2o等基础性库在python下无法使用,而且如果要借鉴其他人的代码,最方便的还是在C++中实现。所以如果提问者有志于在这个领域做深入研究,夯实的C++基础是必不可少的。Introduction to Algorithms,以及 &a class=&member_mention& href=&//www.zhihu.com/people/ecc0ec035f& data-editable=&true& data-title=&@vczh& data-hash=&ecc0ec035f& data-tip=&p$b$ecc0ec035f& data-hovercard=&p$b$ecc0ec035f&&@vczh&/a& 推荐的C++ Primer等,都是在实际工作前要自己做好的功课。&/p&&br&&p&下面说一些硬件和实验上的知识储备。首先Vision-based SLAM常用摄像机标定(Camera Calibration)的世界通用简单方法,是张正友博士(Dr. Zhengyou Zhang,主页&a href=&//link.zhihu.com/?target=http%3A//research.microsoft.com/en-us/um/people/zhang/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Zhengyou Zhang's Home Page&/a&)的方法(张正友博士是本领域里少数的具有极其巨大影响力和贡献的华人学者,已成脑残粉嘤嘤嘤)。具体方法和实现,我在这里推荐两个,一个是Caltech工具箱:&a href=&//link.zhihu.com/?target=http%3A//www.vision.caltech.edu/bouguetj/calib_doc/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Camera Calibration Toolbox for Matlab&/a& ,以及相关paper:&a href=&//link.zhihu.com/?target=http%3A//www.vision.caltech.edu/bouguetj/calib_doc/htmls/ref.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Camera Calibration Toolbox for Matlab&/a&。该方法的另一个实现,是Matlab最新版本内置的Camera Calibration的application,自动导入标定图片并把得到的结果输出给Matlab,更加自动化,更加便捷准确。更多的Camera Model理论知识请参考Multiple View Geometry。&/p&&br&&p&至于RGB-D Camera,最常用的采集设备有两种,一种是Microsoft Kinect,一个生态环境完备的RGBD Camera,可以直接用Visual Studio可Kinect SDK直接开发,也有大量开发好的程序以供借鉴参考,也可以用OpenNI和ROS采集处理,我就不多介绍了,毕竟微软是对程序员最友好的公司没有之一(微软大法好)。另一个是Google的Project Tango,Google对于这个自家的神器还是很低调的,可以看看宣传片&a href=&//link.zhihu.com/?target=https%3A//www.google.com/atap/projecttango/%23project& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ATAP Project Tango&/a& ,绝对酷炫——可惜我们lab刚刚买的那一台,我还没有用过,所以对具体开发不太了解。&/p&&br&&p&另外有几个网上成熟的数据集和测试方法,一个是Malaga Dataset,一个西班牙的团队采集的Malaga城市数据:&a href=&//link.zhihu.com/?target=http%3A//www.mrpt.org/MalagaUrbanDataset& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Málaga Stereo and Laser Urban Data Set&/a&,覆盖了城市中汽车驾驶的各种情况(停车,加速,减速,行人,建筑,绿化带等),里面提供了双摄像头,Laser,IMU等数据以及GPS的ground truth trajectory。不过该版本因为是在市中心,所以GPS的ground truth并不可靠。另一个是慕尼黑工业大学Computer Vision Lab的RGB-D&/p&&p&dataset &a href=&//link.zhihu.com/?target=https%3A//vision.in.tum.de/data/datasets/rgbd-dataset& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&vision.in.tum.de/data/d&/span&&span class=&invisible&&atasets/rgbd-dataset&/span&&span class=&ellipsis&&&/span&&/a&,里面提供了大量的室内的RGBD数据集,以及非常方便好用的benchmark tools。第三个是KITTI Dataset:&a href=&//link.zhihu.com/?target=http%3A//www.cvlibs.net/datasets/kitti/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The KITTI Vision Benchmark Suite&/a&,也是认可度很广泛的汽车驾驶数据集。&/p&&br&&br&&br&原答案链接:&a href=&http://www.zhihu.com/question//answer/& class=&internal&&去美国读CS博士,方向是机器人导航,视觉方面,推荐一下相关编程方面准备?还有相关算法需要学习哪些? - 立党的回答&/a&&br&&br&光收藏不点赞,bs你们(手动斜眼
首先搬出宝典:。这本书基本涵盖了Vision-based SLAM这个领域的全部理论基础!读多少遍都不算多!另外建议配合Berkeley的课件学习。(更新:这本书书后附录也可以一并读完,包括附带bundle adjustment最基本的lev…
&figure&&img src=&https://pic1.zhimg.com/v2-3c7ce03ea319fe0b4c4d3_b.jpg& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic1.zhimg.com/v2-3c7ce03ea319fe0b4c4d3_r.jpg&&&/figure&&blockquote&&i&QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、上海、旧金山召开。自 2007年 3月份首次举办以来,已经有超万名高级技术人员参加过QCon大会。QCon内容源于实践并面向社区,演讲嘉宾依据热点话题,面向 5年以上工作经验的技术团队负责人、架构师、工程总监、高级开发人员分享技术创新和最佳实践。&/i&&/blockquote&&hr&&h2&前言&/h2&&p& 在AR技术火热的今天,各个资本大鳄、业内巨头竞相追逐。不管是谷歌眼镜、微软HoloLens、还是刚刚WWDC大会苹果推出的ARKit,都试图在这个领域分一杯羹。&/p&&p& 本篇文章是腾讯社交平台部视频项目组技术负责人lingtonke(柯灵杰)在QCon大会上的分享的整理。从AR的发展、原理、架构等方面,探讨AR中的识别与渲染技术的发展历程、架构及实际应用。&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-238aec653aebd23297d7_b.jpg& data-caption=&& data-rawwidth=&1440& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&https://pic1.zhimg.com/v2-238aec653aebd23297d7_r.jpg&&&/figure&&h2&AR中的识别与渲染技术&/h2&&p&增强现实,相信大家都不陌生。但是其实这个概念的出现已经有几十年的历史了,然而AR大量出现在科技媒体上吸引各方眼球也就是最近几年的事情。脑洞大开的AR应用将电影中的魔法变成了现实。&/p&&p&如果几年之前,你跟人说AR会大热,可能没有人会相信。但是,随着硬件与大众消费市场的发展,AR不再是实验室里的玩具,而成为时下乃至未来很长一段时间的热门。&/p&&p&&br&&/p&&h2&从虚拟现实到超越现实&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-aa3fe582ea7b8cf0bbcb2f4_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic4.zhimg.com/v2-aa3fe582ea7b8cf0bbcb2f4_r.jpg&&&/figure&&p&屏幕上图片所示的四个设备,大家是否都认得呢?&/p&&p&对于右边的一列来说,相信大家都不陌生。它们分别是2012年推出的VR眼镜Oculus和2015年推出的VR眼镜HoloLens。&/p&&p&左边的一列,可能很多人都不认识。&/p&&p&其实AR和VR技术比许多人认为的历史还要久远很多。&/p&&p&早在1962年,就当大部分人还在使用黑白电视的时候,Morton Heilig成功造出了一台能够正常运转的3D视频机器。它能让人沉浸于虚拟摩托车上的骑行体验,感受声响、风吹和震动。他给这台机器起名Sensorama Simulator。这也成为了历史上第一台VR设备。&/p&&p&而在1966年,由计算机图形学和增强现实之父萨瑟兰开发出了第一套增强现实系统,也是是人类实现的第一个 AR 设备。这套系统将显示设备放置在用户头顶的天花板,并通过连接杆和头戴设备相连,能够将简单线框图转换为3D效果的图像。&br&&/p&&h2&AR的历史&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-544ac1bfa0629528efa9ff5_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic4.zhimg.com/v2-544ac1bfa0629528efa9ff5_r.jpg&&&/figure&&p&AR的发展从来都不是一帆风顺的,它也有低谷。&/p&&p&1966年,第一台AR设备诞生。在之后的三十多年期间,AR技术似乎都没有什么大的进步。这主要是因为受到软硬件的限制,以及在消费市场上没有找到合适的切入方向。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-ca489bea65e5dda2ba9bfc0_b.jpg& data-caption=&& data-rawwidth=&497& data-rawheight=&160& class=&origin_image zh-lightbox-thumb& width=&497& data-original=&https://pic4.zhimg.com/v2-ca489bea65e5dda2ba9bfc0_r.jpg&&&/figure&&p&直到1990年,波音公司开始开发了一套头戴式显示系统,并发表了论文。在论文中,首次使用了增强现实这个词,用来描述将计算机呈现的元素覆盖在真实世界上这一技术。增强现实这一术语正式诞生。&/p&&p&到了1998年,AR技术第一次被大众所见识到。当时负责体育转播的Sportvision公司开发了1st & Ten系统。在实况橄榄球直播中,其首次实现了“第一次进攻”黄色线在电视屏幕上的可视化。类似于看奥运会游泳比赛时,会显示第一名的所在的直线。这是第一次AR技术被运用在直播当中。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-1ae69e981b6dae0fa441aefa_b.jpg& data-caption=&& data-rawwidth=&568& data-rawheight=&169& class=&origin_image zh-lightbox-thumb& width=&568& data-original=&https://pic2.zhimg.com/v2-1ae69e981b6dae0fa441aefa_r.jpg&&&/figure&&p&1999年,带来了App革命的第一个增强现实SDK。由日本奈良先端科学技术学院的两位教授共同开发了第一个 AR开源框架:ARToolKit。使得 AR 技术不仅仅局限在专业的研究机构之中,许多普通程序员也都可以利用 ARToolKit 开发自己的 AR 应用。直到今天ARToolKit依然还是最常使用的ARSDK之一。&/p&&p&相信之前火热的pokemon go大家还记忆犹新。其实最早的AR游戏是出现在2000年,它的名字是AR-Quake,AR版的雷神之锤。使用者需要背着一个可穿戴式电脑的背包,一台头戴式显示器和一个只有两个按钮的输入器。这款游戏在室内或室外都能进行,一般游戏中的鼠标和键盘操作由使用者在实际环境中的活动代替。&/p&&p&2000年之后,以信息技术为代表的科学技术飞速发展,各种AR设备和技术也如雨后春笋一样冒出来。包括12年的谷歌眼镜,15年的HoloLens,以及苹果刚推出的ARKit,更是在大火上又浇了热油。可以说,AR已经迎来了一波高潮。&/p&&p&&br&&/p&&h2&AR中的识别技术&/h2&&p&谈完了AR的历史,接下来我们来谈谈AR中的技术&/p&&figure&&img src=&https://pic4.zhimg.com/v2-6d398bee7becaa470a49613_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic4.zhimg.com/v2-6d398bee7becaa470a49613_r.jpg&&&/figure&&p&AR的技术流程大体是这样,使用摄像机对周围环境进行采集,通过一定的算法分析图像,实现对环境的理解。同时传感器获得用户的交互信息。程序对这些信息进行处理,对三维的虚拟场景进行变换和更新。之后,再渲染成二维的图像,最终显示出来,成为我们看到的影像。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-eaf6c85d03_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic1.zhimg.com/v2-eaf6c85d03_r.jpg&&&/figure&&p&这些技术流程可以粗略分为识别、渲染和显示三个部分。&/p&&p&识别也被称为三维注册。通过摄像头或传感器获取真实世界的信息,并进行分析。简单来说,也就是如何去理解周围的环境。对周围的环境理解越透彻,定位越准确,虚拟的影像就能和现实结合的越好。&/p&&p&一般可以分为基于视觉、基于传感器以及混合三大类。&/p&&p&渲染指的是将三维场景转化为二维图像的过程。这也是展示更加复杂,更加逼真的虚拟影像的技术基础。这部分技术,主要是计算机图形学的领域。在实际项目当中,一般可以采用游戏引擎来完成这部分的工作,或者直接使用底层的图形API。&/p&&p&最后是显示技术,这更多的属于硬件技术。指的是,渲染出来的图像如何和真实世界结合起来的方法。一般分为视频穿透式、光学穿透式和投影式三种。&/p&&p&比如手机和其他大部分移动设备使用的就是视频穿透式的,这也是成本最低最普遍的一种技术。&/p&&p&至于AR眼镜,比如微软HoloLens以及现在战斗机飞行员用的头盔等,甚至常见的汽车挡风玻璃上的数据显示。这种就属于光学穿透式。&/p&&p&最后一种,也是比较少见的,就是投影式,代表技术就是全息投影。能让观看者无需任何设备,即可享受到AR的视觉盛宴。&br&&/p&&h2&AR中的识别技术&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-de8b5e13bb642e80c3ba_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic4.zhimg.com/v2-de8b5e13bb642e80c3ba_r.jpg&&&/figure&&p&之前提到了,识别技术从类型上可以分为三类。基于视觉,基于传感器和混合。其中基于视觉的,又可以分为MarkerBased和MarkerLess两种。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-c488f9d39eebe1_b.jpg& data-caption=&& data-rawwidth=&539& data-rawheight=&172& class=&origin_image zh-lightbox-thumb& width=&539& data-original=&https://pic2.zhimg.com/v2-c488f9d39eebe1_r.jpg&&&/figure&&p&MarkerBased需要事先设定好一个标记,通过对Marker进行识别和评估确定其位置。而MarkLess可以用任何具有足够特征点的物体(例如:书的封面,你的桌子)作为平面基准。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-41bbd6ec8e_b.jpg& data-caption=&& data-rawwidth=&537& data-rawheight=&161& class=&origin_image zh-lightbox-thumb& width=&537& data-original=&https://pic3.zhimg.com/v2-41bbd6ec8e_r.jpg&&&/figure&&p&生成模型方法,主要是在当前帧对目标区域建模,下一帧寻找与模型最相似的区域,就是预测位置。比较著名的有卡尔曼滤波,粒子滤波等。&/p&&p&判别模型方法,主要是利用图像特征+机器学习。当前帧以目标区域为正样本,背景区域为负样本,使用机器学习方法训练分类器。然后,下一帧用训练好的分类器找最优区域。&/p&&p&与生成模型方法最大的区别,是分类器训练过程中用到了背景信息,这样分类器就能专注区分前景和背景,所以判别类方法普遍都比生成类的方法好。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-a06c427efabe_b.jpg& data-caption=&& data-rawwidth=&515& data-rawheight=&142& class=&origin_image zh-lightbox-thumb& width=&515& data-original=&https://pic4.zhimg.com/v2-a06c427efabe_r.jpg&&&/figure&&p&姿态估计方法主要有两种,一种是基于模型的,一种是基于学习的。&/p&&p&基于模型的方法通常利用物体的几何关系或者物体的特征点来进行估计。其基本思想是,利用某种几何模型或结构来表示物体的结构和形状,并通过提取某些物体特征,在模型和图像之间建立起对应关系,然后通过几何或者其它方法实现物体空间姿态的估计。&/p&&p&基于学习的方法借助于机器学习,从事先获取的不同姿态下的训练样本中学习二维观测与三维姿态之间的对应关系,并将学习得到的决策规则或回归函数应用于样本,所得结果作为对样本的姿态估计。&/p&&p&基于学习的方法一般采用全局观测特征,不需检测或识别物体的局部特征,具有较好的健壮性。其缺点是由于无法获取在高维空间中进行连续估计所需要的密集采样,因此无法保证姿态估计的精度与连续性。&/p&&h2&AR的技术领域&/h2&&figure&&img src=&https://pic2.zhimg.com/v2-27967afcce3a43e4a3f9_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/v2-27967afcce3a43e4a3f9_r.jpg&&&/figure&&p&总而言之,其实AR它不仅仅代表了一项技术,而是一个领域,一个许多技术的结合体。如果把和它相关的技术用一个个圈来表示,那大概是这个样子。&/p&&p&AR是多个领域知识交叉的一个领域,主要由人工智能,计算机视觉,图像处理,传感器技术等组成。&/p&&p&可以说现在AR的火热发展,也正是因为这些技术的发展达到了一个关键节点,使得AR真正的从实验室走向生活。&/p&&h2&AR中的渲染技术&/h2&&figure&&img src=&https://pic3.zhimg.com/v2-088ae2fb1aa58ae314ba27ad_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic3.zhimg.com/v2-088ae2fb1aa58ae314ba27ad_r.jpg&&&/figure&&p&&br&&/p&&p&接下来,我将通过两个工程中的实际案例,来谈谈AR中的渲染技术。&/p&&h2&效果展示&/h2&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/929856& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic2.zhimg.com/80/v2-a38ad0c11_b.jpg& data-lens-id=&929856&&
&img class=&thumbnail& src=&https://pic2.zhimg.com/80/v2-a38ad0c11_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/929856&/span&
&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/414464& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic1.zhimg.com/80/v2-58fccf549b20_b.jpg& data-lens-id=&414464&&
&img class=&thumbnail& src=&https://pic1.zhimg.com/80/v2-58fccf549b20_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/414464&/span&
&p&AR技术在现在的视频特效中也常有运用。比如这个落叶的效果,叶子似乎在随风不规则地飘落。或者这样的星空效果,天空中有星星闪烁,不时还有流星落下。&/p&&p&这是AR技术一种比较简单的运用。通过陀螺仪使电脑中的三维空间和现实中三维空间联系在一起,然后将虚拟的景色渲染出来。&/p&&p&这其实是一个典型的粒子系统。这种技术,在计算机图形学中用来模拟大量的sprite或者其他3D对象。从技术上来说,粒子系统和其他三维物体渲染的不同之处就是在于可以通过一个渲染指令,批量的渲染所有相同的物体,达到提高渲染效率的目的。比如雪花、落叶、雨水、火焰等等,就十分适合使用这样的渲染技术。&/p&&h2&粒子系统&/h2&&figure&&img src=&https://pic3.zhimg.com/v2-86af3ea628bde_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic3.zhimg.com/v2-86af3ea628bde_r.jpg&&&/figure&&p&粒子系统的主要属性有,运动轨迹,显示出来的样式,数量控制,以及生命周期等。对于视频特效来说,衡量一个粒子系统的好坏主要在于两个方面,可定制性和效率。&/p&&p&可定制性主要体现在能通过下发的脚本充分的控制粒子的所有属性和显示效果,尤其是运动轨迹和动画。&/p&&p&对于三维空间的运动以及其他属性的变化,如何脚本化配置,确实是一个问题。为了解决这个问题,可以引入表达式解析。所有的属性使用表达式进行配置,可以低成本、高效率的解决这个问题。比如说轨迹,大家想要的几乎所有三维空间的运动轨迹都可以用方程来表示。而且现在的硬件性能,对于简单表达式的解析速度完全足够,不会成为粒子系统的性能瓶颈。&/p&&h2&轨迹&/h2&&figure&&img src=&https://pic2.zhimg.com/v2-cc93e8a9e99e81aa1608f_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/v2-cc93e8a9e99e81aa1608f_r.jpg&&&/figure&&p&拿实际运用来说,要设计一个粒子轨迹的方程并不是一件困难的事情。&/p&&p&我举几个例子:&/p&&p&比如物体的匀加速运动,包括流星、落叶、飞机等物体的运动轨迹都可以用这个表示。对于这种轨迹,可以直接使用物理学的公式S=vt+。&/p&&p&对于稍微复杂一点点的,比如气球S型上升,怎么做呢?可以看到,三角函数Sin的图像是这样的,就是一个标准的S型,所以直接使用三角函数sin即可,这样就得到了横向的运动轨迹表达式,x=sin(vt)*a,这里v是摆动速度,a是摆动幅度。因为气球是匀速上升的,y直接使用之前的匀加速运动的方程即可。&/p&&p&三角函数还可以用于表示环绕轨迹,将极坐标方程转化为直角坐标方程,就得到了这样的式子,x=sin(vt)*r,z=cos(vt)*r&/p&&h2&粒子渲染&/h2&&figure&&img src=&https://pic1.zhimg.com/v2-109a384eacfa8b320bbe28b_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic1.zhimg.com/v2-109a384eacfa8b320bbe28b_r.jpg&&&/figure&&p&谈完定制性,接下来谈谈效率。其实从效率上来说,粒子系统已经是一个比传统模型一个个渲染高效很多的方案了。但是对于移动平台,每一分性能都弥足珍贵。所以还不够,是不是还有更多的优化空间呢?&/p&&p&上图表示的是一个计算机三维空间的示意图。三维空间中的每个物体都是由三角形组成,而每个三角形有三个顶点。对于粒子系统来说,每个粒子都是一个矩形,由两个三角形组成。和其他3D物体不同的是,它总是朝着摄像机,这种技术叫billboard广告板技术。在每帧的运算中,每个顶点都需要做一次三维坐标变换,一个粒子是两个三角形,也就是六个顶点,那就需要运算六次,十分浪费。&/p&&p&但是大家都知道,一个矩形只需要四个顶点就能组成,也就是说有两个顶点被重复运算了。也就是上图所示的1,5和2,3顶点。这时候可以使用顶点索引,渲染的时候输入一个顶点数组和一个索引数组来代替单纯输入一个顶点数组。这样运算性能就提高了三分之一。这个技术在OpenGL中叫做VBO。&/p&&p&但是还有没有更给力的呢?当然还有,物体总是朝向摄像机,也就是说每帧都需要对粒子面片进行旋转。而摄像机的观察矩阵中的旋转部分,又刚好抵消了这部分旋转。也就是说这部分旋转是浪费的。&/p&&p&而且,表示一个矩形区域,除了可以使用4个顶点,是不是也可以使用一个中心点+宽高的形式呢?&/p&&h2&点精灵&/h2&&figure&&img src=&https://pic1.zhimg.com/v2-4a524ebf91ff5d44dd79bed586fcecc3_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic1.zhimg.com/v2-4a524ebf91ff5d44dd79bed586fcecc3_r.jpg&&&/figure&&p&点精灵技术是一种赋予一个三维空间中的点,大小属性的一种技术,使得一个三维空间中的点,不但具有大小还可以渲染纹理。这里如果使用点精灵技术,就可以使得每个粒子的三维坐标运算次数降低为一次,也就是在坐标运算上的运算性能提高到了原来的6倍。&/p&&p&另一方面,在做序列帧动画的时候,应该将动画图片拼接成一个大的纹理,使用自定义的纹理坐标进行渲染。对于硬件来说,这样的效率是要高于使用大量小纹理的。这个技术叫做texture atlas。&/p&&p&因此,在这里需要自定义一个FragmentShader,用于重新计算像素的颜色。&/p&&p&这里需要注意的是,这个FragmentShader应该考虑到点精灵的缩放、由于陀螺仪调整摄像机的观察矩阵导致的旋转、以及texture atlas所需要的纹理坐标运算,所以是比较复杂。最终的公式大概就是屏幕上所展示的那样。&/p&&h2&1.1 3D涂鸦&/h2&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/761600& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic3.zhimg.com/80/v2-3a9dfbc57b19f6e43ce2_b.jpg& data-lens-id=&761600&&
&img class=&thumbnail& src=&https://pic3.zhimg.com/80/v2-3a9dfbc57b19f6e43ce2_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/761600&/span&
&p&&br&&/p&&p&AR能做的很多,很多2D的玩法,如果扩展到3D空间,结合上AR会变得更加有趣。&/p&&p&上图所示的是一个涂鸦,4个控制点共同决定了这个线条的轨迹。如果这不是一个二维空间,而是三维的会是怎么样的呢?&/p&&p&看屏幕上的轨迹在视角旋转之后,似乎和一开始想象的不太一样了。&/p&&p&事实上,通过三维的涂鸦,甚至可以在空间中像Minecraft一样自由搭建想要的东西,甚至可以绘制出一个复杂的建筑。&/p&&h2&构造模型&/h2&&figure&&img src=&https://pic2.zhimg.com/v2-c62cbe4d2cbee_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/v2-c62cbe4d2cbee_r.jpg&&&/figure&&p&三维涂鸦从技术上,相对于二维涂鸦来说,区别还是相当大的。其中一个点就是,三维画笔在空间中的轨迹是一个模型。需要用三角形去组成画笔所形成的轨迹,这里的轨迹可以是圆柱形的,可以是弹簧形,五角星形等任意的样式。构建轨迹点,通过插值转并转化为三角形顶点的坐标变换方法是个比较大的难点。&/p&&p&有一种比较简单的方法,拿圆柱形的模型举例。就是先假设线条都是垂直,那构造出来的圆就是在xz平面上的,构造一个二维圆的顶点就十分简单了。再使用点所在位置的切线,以及上向量就可以计算出变换矩阵。最后使用这个变换矩阵对之前的二维圆进行变换,就可以得到目标位置的各个顶点的坐标。这个方法,对于其他图形也可以适用。&/p&&p&简单来说,就是先在二维平面上构建图形,然后变换到三维空间去,来避免了直接在三维空间计算顶点的复杂性。&/p&&h2&光照&/h2&&figure&&img src=&https://pic2.zhimg.com/v2-aba56aad9e9c98ca6de570fc_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic2.zhimg.com/v2-aba56aad9e9c98ca6de570fc_r.jpg&&&/figure&&p&另一个和二维不一样的地方是,三维的模型颜色并不是一开始就决定的。决定颜色的计算过程叫做着色。模型最终的显示颜色会受到观察角度,光源、物体材质等因素影响。&/p&&p&光源类型上,主要有环境光、平行光、点光源、聚光灯等。光照算法上也有许多的算法可以选择。越复杂的光照算法,需要考虑的材质属性就越多。一般情况下我们只需要用简单光照模型即可满足我们大部分的要求,这样的模型使用的材质属性有环境反射、漫反射、镜面反射、自发光等。基本可以满足大部分场景的渲染需要。&br&&/p&&h2&着色&/h2&&figure&&img src=&https://pic1.zhimg.com/v2-ba3f67abc64c87c8fe7d8a_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic1.zhimg.com/v2-ba3f67abc64c87c8fe7d8a_r.jpg&&&/figure&&p&对于简单的光照模型,一般有三种主要的着色方法。Flat,Gouraud和Phong。&/p&&p&Flat着色不进行插值,每个三角面的颜色都由该三角面的第一个顶点色决定,运算量最小。&/p&&p&Gouraud着色对三角面上每个顶点颜色进行线性插值计算,运算量中等。&/p&&p&Phong着色对三角面上的顶点法线进行插值,并以此决定每个像素的颜色,运算量较大。&/p&&p&从右图的效果来看,使用flat着色在有弧形的模型,比如圆柱上,显示效果很差。&/p&&p&Gouraud着色的效果和Phong着色相比差距不大,不过如果对弧形区域认真观察,还是可以发现使用Phong着色的效果会比Gouraud着色略好。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-108539cfaa93ef462e2b8f95a19b61ec_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic1.zhimg.com/v2-108539cfaa93ef462e2b8f95a19b61ec_r.jpg&&&/figure&&p&不过,Phong这种着色方法也有一个很明显的缺点,就是对于类似正方体这种有棱角的形状来说,是不需要进行插值的。否则,进行插值这样的错误运算,会使得平面的颜色变得柔和,无法显示出棱角分明的效果。&/p&&p&为了避免这个问题,应该使用flat着色。或者让面与面之前的运算,不共享顶点法线。&/p&&p&所以,在实际项目中,应该根据需求,灵活的使用不同的着色算法。&/p&&h2&总结&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-744b63b3e47ce3c1000fddaf1af31a36_b.jpg& data-caption=&& data-rawwidth=&1280& data-rawheight=&720& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic4.zhimg.com/v2-744b63b3e47ce3c1000fddaf1af31a36_r.jpg&&&/figure&&p&今天我分享的东西,相对于AR这个庞大的领域来说仅仅是沧海一粟。&/p&&p&可以说,增强现实是计算技术的未来。可以预见的是,未来AR应用爆发之时,必将引领时代潮流,开拓千亿级市场空间。&/p&
QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、上海、旧金山召开。自 2007年 3月份首次举办以来,已经有超万名高级技术人员参加过QCon大会。QCon内容源于实践并面向社区,演讲嘉宾依据热点话题,面向 5年以上工作经验的技术…
&p&如果说去年是“ VR 元年”,那今年则可以称得上是 AR 的爆发年。2017 年,VR 市场趋于平静,技术逐渐沉淀;而 AR 增强现实技术的关注度却在不断升温。前段时间发布的支持 AR 的 iOS11 ,也玩出了各种花样。接下来,推荐几款优秀的 AR/VR 开源库,希望能对大家有所帮助。&/p&&h2&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/ar-js& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&1、AR.js&/a&&/h2&&p&AR.js 是一款应用于 Web 的高效增强现实(AR)库,基于 three.js + jsartoolkit5,无需安装。它适用于任何带有 webgl 和 webrtc 的手机,且运行速度非常快,在手机上也能高效运行,包括 Android、IOS 和 Windows phone 。&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-3d3c9f1b44a2b4bfcbc461_b.jpg& data-caption=&& data-rawwidth=&1200& data-rawheight=&675& class=&origin_image zh-lightbox-thumb& width=&1200& data-original=&https://pic4.zhimg.com/v2-3d3c9f1b44a2b4bfcbc461_r.jpg&&&/figure&&p&&br&&/p&&h2&&a href=&https://link.zhihu.com/?target=https%3A//github.com/google/lullaby& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&2、Lullaby&/a&&/h2&&p&Lullaby 是 Google 为 AR/VR 开发而推出的高性能 C++ 开源库,支持完整的 3D VR 环境,包括几何世界、全景图像和空间音频。它可实现高效的 runtime 性能,是由数据驱动的开发工具,可进行快速迭代。基于 Java API ,可与现有的安卓应用集成,支持 Cardboard/Daydream 头显、DaydreamVR 控制器和 VR 键盘,适用于 Android、iOS、Linux 和 Windows 平台。&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-a0a6dcacde84c43a1bd67a6c_b.jpg& data-caption=&& data-rawwidth=&881& data-rawheight=&400& data-thumbnail=&https://pic4.zhimg.com/v2-a0a6dcacde84c43a1bd67a6c_b.jpg& class=&origin_image zh-lightbox-thumb& width=&881& data-original=&https://pic4.zhimg.com/v2-a0a6dcacde84c43a1bd67a6c_r.jpg&&&/figure&&p&&br&&/p&&h2&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/a-frame& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&3、A-Frame&/a&&/h2&&p&A-Frame 是 Mozilla 开源的网页虚拟现实体验( WebVR )框架,旨在让创建 WebVR 体验变得更简单。它可在移动、桌面、Vive 和 Rift 在内的平台上运行,跨平台处理 3D 和 WebVR 模板。&/p&&p&A-Frame 被设计成 Web 开发者很熟悉的模样,HTML 代码易于阅读和复制粘贴。&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-2b0be28cab4233_b.jpg& data-caption=&& data-rawwidth=&775& data-rawheight=&348& data-thumbnail=&https://pic2.zhimg.com/v2-2b0be28cab4233_b.jpg& class=&origin_image zh-lightbox-thumb& width=&775& data-original=&https://pic2.zhimg.com/v2-2b0be28cab4233_r.jpg&&&/figure&&p&&br&&/p&&h2&4、&a href=&https://link.zhihu.com/?target=https%3A//github.com/exyte/ARTetris& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ARTetris&/a&&/h2&&p&ARTetris 是一款用 ARKit/SceneKit 实现的 iOS 增强现实版俄罗斯方块游戏,和目前 iOS 11 的 App Store 里的 AR 游戏一样,要求具有 A9 及以上的芯片的设备。开始游戏之前,需找到水平面,如地板、桌面等。&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-3efe7d8e21_b.jpg& data-caption=&& data-rawwidth=&2732& data-rawheight=&2048& class=&origin_image zh-lightbox-thumb& width=&2732& data-original=&https://pic4.zhimg.com/v2-3efe7d8e21_r.jpg&&&/figure&&p&&br&&/p&&h2&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/react-vr& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&5、React VR&/a&&/h2&&p&React VR 是 Facebook 开源的一款用于构建在 Web 浏览器中运行的 VR 应用的框架,使用与 React 相同的设计,让您通过声明式的组件构建丰富的 VR 世界和 UI。它将现代 API(例如 WebGL 和 WebVR)与 React 的声明能力结合起来,通过各种设备提供适用于消费者的体验。&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-f24a98b36b4ec0296716_b.jpg& data-caption=&& data-rawwidth=&1050& data-rawheight=&536& class=&origin_image zh-lightbox-thumb& width=&1050& data-original=&https://pic1.zhimg.com/v2-f24a98b36b4ec0296716_r.jpg&&&/figure&&p&&br&&/p&&h2&&a href=&https://link.zhihu.com/?target=https%3A//www.oschina.net/p/ideaspace& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&6、IdeaSpace&/a&&/h2&&p&IdeaSpace 是一款用于虚拟现实网页的 CMS 内容管理系统。可以像管理博客一样管理你的虚拟现实空间和资源。IdeaSpace 使用前面提到的 A-Frame 来实现主题和空间,提供强大的遵循 Web 标准的标识语言。可通过 Oculus Rift 或者 Google Cardboard 在浏览器上方便体验虚拟现实空间,无需安装插件和应用。&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-e1d10a23f_b.jpg& data-caption=&& data-rawwidth=&800& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic4.zhimg.com/v2-e1d10a23f_r.jpg&&&/figure&&p&&/p&
如果说去年是“ VR 元年”,那今年则可以称得上是 AR 的爆发年。2017 年,VR 市场趋于平静,技术逐渐沉淀;而 AR 增强现实技术的关注度却在不断升温。前段时间发布的支持 AR 的 iOS11 ,也玩出了各种花样。接下来,推荐几款优秀的 AR/VR 开源库,希望能对大…
&figure&&img src=&https://pic4.zhimg.com/v2-1f261aa59d5c042a7842_b.jpg& data-rawwidth=&696& data-rawheight=&188& class=&origin_image zh-lightbox-thumb& width=&696& data-original=&https://pic4.zhimg.com/v2-1f261aa59d5c042a7842_r.jpg&&&/figure&&p&今天去CCCV2017讲习班听了中科院自动化所模式识别国重实验室的申抒含老师和崔海楠老师的关于基于凸显的大规模场景三维重建的讲习班,把笔记整理了一下。&/p&&figure&&img data-rawheight=&2305& src=&https://pic1.zhimg.com/v2-588fec31e78515ddbed3_b.jpg& data-rawwidth=&2807& class=&origin_image zh-lightbox-thumb& width=&2807& data-original=&https://pic1.zhimg.com/v2-588fec31e78515ddbed3_r.jpg&&&/figure&&p&主要分为四点展开:&/p&&ol&&li&简介&/li&&li&稀疏重建sfm&/li&&li&稠密重建mvs&/li&&li&资源&/li&&/ol&&h2&1.简介&/h2&&p&首先讲了现在cv与类脑。&/p&&figure&&img data-rawheight=&745& src=&https://pic4.zhimg.com/v2-01d9fddf4_b.jpg& data-rawwidth=&979& class=&origin_image zh-lightbox-thumb& width=&979& data-original=&https://pic4.zhimg.com/v2-01d9fddf4_r.jpg&&&/figure&&ol&&li&脑的腹部通道进行物体视觉,现在CV上主要采用基于学习的方法。&/li&&li&脑的背部通道进行空间视觉,现在CV上主要采用基于几何的方法。&/li&&li&最后上述两者信息在前额汇集,综合处理。&/li&&/ol&&p&接着讲了几何视觉的核心问题:主要是机器人在三维环境中需要:&/p&&ol&&li&对二维图像理解&/li&&li&对三维环境感知&/li&&/ol&&p&而三维结构和相机的六自由度空间位姿是机器人感知决策动作的基础信息。&/p&&figure&&img data-rawheight=&784& src=&https://pic4.zhimg.com/v2-4ac6b688716ceb5089850_b.jpg& data-rawwidth=&1000& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&https://pic4.zhimg.com/v2-4ac6b688716ceb5089850_r.jpg&&&/figure&&p&接着讲了图像三维重建的基本流程:&/p&&figure&&img data-rawheight=&767& src=&https://pic4.zhimg.com/v2-b274f27a55d58e52cfdaf0188ffc92db_b.jpg& data-rawwidth=&1000& class=&origin_image zh-lightbox-thumb& width=&1000& data-original=&https://pic4.zhimg.com/v2-b274f27a55d58e52cfdaf0188ffc92db_r.jpg&&&/figure&&p&基本流程包括:&/p&&ol&&li&多视角图像&/li&&li&图像特征提取匹配&/li&&li&稀疏重建Sfm&/li&&li&稠密重建MVS&/li&&li&点云模型化 &/li&&li&生成三维模型&/li&&/ol&&p&然后科普了一下一些基础知识:&/p&&p&小孔成像:世界中的一个点经过小孔在图像平面上会形成一个倒立缩小的像。这就形成了几何相似三角形关系。如果我们把成像平面放到前面来,就是正立缩小的像。具体的焦距、图像片面,相机中心什么就不赘述了。右下角公式表示通过一个 相似性(比例&img src=&https://www.zhihu.com/equation?tex=%5Clambda+& alt=&\lambda & eeimg=&1&&) 可以建立图像坐标系和世界坐标系的关系。&/p&&figure&&img data-rawheight=&1805& src=&https://pic4.zhimg.com/v2-ffe63c86b93a1acc4e8cdb2f_b.jpg& data-rawwidth=&2393& class=&origin_image zh-lightbox-thumb& width=&2393& data-original=&https://pic4.zhimg.com/v2-ffe63c86b93a1acc4e8cdb2f_r.jpg&&&/figure&&p&然后说到了无穷远元素。它们用现在的xyz方法没办法表示。&/p&&figure&&img data-rawheight=&2097& src=&https://pic1.zhimg.com/v2-15efdc469b9e_b.jpg& data-rawwidth=&2801& class=&origin_image zh-lightbox-thumb& width=&2801& data-original=&https://pic1.zhimg.com/v2-15efdc469b9e_r.jpg&&&/figure&&p&于是提出了射影空间,齐次坐标是射影空间的坐标表达方式:一般的坐标在xyz后面加一个1,无穷远点最后一个为0.&/p&&figure&&img data-rawheight=&664& src=&https://pic3.zhimg.com/v2-e0fbbef80b3_b.jpg& data-rawwidth=&882& class=&origin_image zh-lightbox-thumb& width=&882& data-original=&https://pic3.zhimg.com/v2-e0fbbef80b3_r.jpg&&&/figure&&p&当然齐次非齐次的坐标转换通过除以最后一个 &img src=&https://www.zhihu.com/equation?tex=w& alt=&w& eeimg=&1&& 来实现。&/p&&p&这里有一个等价关系,即当非齐次坐标通过除以一个值 &img src=&https://www.zhihu.com/equation?tex=%5Clambda& alt=&\lambda& eeimg=&1&& 之后变成齐次而与一个已经存在的齐次坐标相等时为:齐次坐标在相差一个尺度时的等价。&/p&&figure&&img data-rawheight=&675& src=&https://pic2.zhimg.com/v2-b905f7bfcbb3fbdcb9fd0d20da4eaef2_b.jpg& data-rawwidth=&871& class=&origin_image zh-lightbox-thumb& width=&871& data-original=&https://pic2.zhimg.com/v2-b905f7bfcbb3fbdcb9fd0d20da4eaef2_r.jpg&&&/figure&&p& 那么小孔成像模型可以表达出来。&/p&&p&&img src=&https://www.zhihu.com/equation?tex=f& alt=&f& eeimg=&1&& 为焦距, &img src=&https://www.zhihu.com/equation?tex=u%2Cv& alt=&u,v& eeimg=&1&& 为主点:光心与相机平面的交点。&/p&&figure&&img data-rawheight=&588& src=&https://pic4.zhimg.com/v2-795e622f5aded_b.jpg& data-rawwidth=&810& class=&origin_image zh-lightbox-thumb& width=&810& data-original=&https://pic4.zhimg.com/v2-795e622f5aded_r.jpg&&&/figure&&p&接着介绍了相机坐标系和世界坐标系之间存在一个欧式坐标变换:&/p&&p&中间的矩阵由R转移矩阵和t平移向量组成。&/p&&figure&&img data-rawheight=&608& src=&https://pic2.zhimg.com/v2-6bdb315b882ae712b326d_b.jpg& data-rawwidth=&838& class=&origin_image zh-lightbox-thumb& width=&838& data-original=&https://pic2.zhimg.com/v2-6bdb315b882ae712b326d_r.jpg&&&/figure&&p&把两个式子写到一起:&/p&&figure&&img data-rawheight=&740& src=&https://pic3.zhimg.com/v2-3a064ad84dd40ea001c16_b.jpg& data-rawwidth=&975& class=&origin_image zh-lightbox-thumb& width=&975& data-original=&https://pic3.zhimg.com/v2-3a064ad84dd40ea001c16_r.jpg&&&/figure&&p&可以得到图像点和空间点的关系。通过相机内参数K 、相机旋转R和相机平移建立关系。&/p&&p&相机的内参数由相机硬件决定,而旋转平移由相机位姿决定。空间点是场景结构点。&/p&&p&接着说了由单张图是无法重建场景结构的。&/p&&figure&&img data-rawheight=&680& src=&https://pic2.zhimg.com/v2-c1c3ae00df795_b.jpg& data-rawwidth=&996& class=&origin_image zh-lightbox-thumb& width=&996& data-original=&https://pic2.zhimg.com/v2-c1c3ae00df795_r.jpg&&&/figure&&p&于是引出了多视图几何&/p&&figure&&img data-rawheight=&439& src=&https://pic3.zhimg.com/v2-d8ee050d89eef452f92be855a75a7a1c_b.jpg& data-rawwidth=&593& class=&origin_image zh-lightbox-thumb& width=&593& data-original=&https://pic3.zhimg.com/v2-d8ee050d89eef452f92be855a75a7a1c_r.jpg&&&/figure&&p&然后说求解思路:最小化重投影误差平方和&/p&&p&&img src=&https://www.zhihu.com/equation?tex=min%5Csum_i%7C%7CP_iX-x_i%7C%7C%5E2& alt=&min\sum_i||P_iX-x_i||^2& eeimg=&1&& 其中 &img src=&https://www.zhihu.com/equation?tex=P%3DK%5BR%7Ct%5D& alt=&P=K[R|t]& eeimg=&1&&&/p&&p&即空间点X通过之前说的坐标变换(左乘P投影到图像平面上)与图像平面上的x可以产生一个L2范数作为误差。建立一个目标函数为所有点的误差和。&/p&&figure&&img data-rawheight=&512& src=&https://pic4.zhimg.com/v2-0a8c4c36d88bed12b809_b.jpg& data-rawwidth=&674& class=&origin_image zh-lightbox-thumb& width=&674& data-original=&https://pic4.zhimg.com/v2-0a8c4c36d88bed12b809_r.jpg&&&/figure&&p&接着推导就可以写成 &img src=&https://www.zhihu.com/equation?tex=F%28%5Ctilde%7BX%7D%29-b& alt=&F(\tilde{X})-b& eeimg=&1&& 的形式。&/p&&figure&&img data-rawheight=&792& src=&https://pic2.zhimg.com/v2-f3c218f3d4ac3c4fed7d19_b.jpg& data-rawwidth=&1037& class=&origin_image zh-lightbox-thumb& width=&1037& data-original=&https://pic2.zhimg.com/v2-f3c218f3d4ac3c4fed7d19_r.jpg&&&/figure&&p&这样求解重投影误差最小化问题是一个高维非线性最小二乘问题。未知数数量由图像数量乘以旋转矩阵、平移向量、内参数、畸变加上稀疏点数目乘以世界坐标X。&/p&&figure&&img data-rawheight=&724& src=&https://pic2.zhimg.com/v2-afd13c70f6d7bddc703f_b.jpg& data-rawwidth=&1174& class=&origin_image zh-lightbox-thumb& width=&1174& data-original=&https://pic2.zhimg.com/v2-afd13c70f6d7bddc703f_r.jpg&&&/figure&&p&求解可以用捆绑调整的工具做。Bundle Adjustment.它是一种启发式的阻尼高斯牛顿法。&/p&&figure&&img data-rawheight=&176& src=&https://pic4.zhimg.com/v2-452bf3e79e9d_b.jpg& data-rawwidth=&942& class=&origin_image zh-lightbox-thumb& width=&942& data-original=&https://pic4.zhimg.com/v2-452bf3e79e9d_r.jpg&&&/figure&&p&因为要做初始值求解,接着科普两视图几何:&/p&&p&平面1上面的点p与其相机中心o连线,延长。这个线r在平面2中投影出一条极线。&/p&&figure&&img data-rawheight=&591& src=&https://pic2.zhimg.com/v2-e6a32dcea2921eaafc3d_b.jpg& data-rawwidth=&948& class=&origin_image zh-lightbox-thumb& width=&948& data-original=&https://pic2.zhimg.com/v2-e6a32dcea2921eaafc3d_r.jpg&&&/figure&&p&同理也可以在平面1投影出极线。连接 o t这条线叫基线。这三条线在一个平面上,这个平面叫做极平面。&/p&&figure&&img data-rawheight=&644& src=&https://pic3.zhimg.com/v2-fa3adac088c1cc1f3eb460fbbc11a911_b.jpg& data-rawwidth=&967& class=&origin_image zh-lightbox-thumb& width=&967& data-original=&https://pic3.zhimg.com/v2-fa3adac088c1cc1f3eb460fbbc11a911_r.jpg&&&/figure&&p&于是可以推出一个基本矩阵Fundamental matrix。&/p&&figure&&img data-rawheight=&760& src=&https://pic4.zhimg.com/v2-d43a0aeb4ff63bbd9d748bb_b.jpg& data-rawwidth=&1021& class=&origin_image zh-lightbox-thumb& width=&1021& data-original=&https://pic4.zhimg.com/v2-d43a0aeb4ff63bbd9d748bb_r.jpg&&&/figure&&p&当内参K1,K2已知,用 &img src=&https://www.zhihu.com/equation?tex=%5Ctilde%7Bp%7D%5Ctilde%7Bq%7D& alt=&\tilde{p}\tilde{q}& eeimg=&1&& 表示之后,可以推出本质矩阵Essential matrix。&/p&&figure&&img data-rawheight=&697& src=&https://pic1.zhimg.com/v2-3a9ca9e3dc33ffc50f7c5_b.jpg& data-rawwidth=&985& class=&origin_image zh-lightbox-thumb& width=&985& data-original=&https://pic1.zhimg.com/v2-3a9ca9e3dc33ffc50f7c5_r.jpg&&&/figure&&p&双视图几何的求解方法:&/p&&ol&&li&基本矩阵可以用8点法求解,本质矩阵可以用5点发求解。&/li&&li&通过SVD分解可以从本质矩阵中分解相机的R t.&/li&&li&已知K R T可以三角花求解三维点X&/li&&li&这样可以得到两视图重建的初始值,接着可以用BA进行非线性优化。&/li&&/ol&&figure&&img data-rawheight=&500& src=&https://pic2.zhimg.com/v2-7cee66b2de560d0e96b972_b.jpg& data-rawwidth=&844& class=&origin_image zh-lightbox-thumb& width=&844& data-original=&https://pic2.zhimg.com/v2-7cee66b2de560d0}

我要回帖

更多关于 游泳比赛 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信