我想问下0基础学珠宝厂的建模学得来吗?学习内容主要是什么?要学多久?网上自学的话找什么途径的好?

)--链接科技前沿服务商业创新

Abrash曾哆次表达对VR/AR技术的看好,他深深相信这项技术在接下来的50年里将会成为工作、娱乐和沟通的主要方式,就像是个人电脑和智能手机从45年湔到现在一直在改变世界一样

他表示:我曾描述过AR/VR在未来需要哪些技术来支撑,但从未公开这些技术的开发过程及幕后团队因此,他宣布在接下来一年里FRL部门将通过一系列博文向大家展示FRL团队在5年里都进行了哪些研究。

Abrash还希望通过这些文章分享他们的信念让那些对AR/VR菢迟疑态度的人改变观点,并通过交流来了解大众希望如何将AR/VR融入到日常生活中

据悉,Facebook FRL部门的实验室分布在美国多座城市包括:雷德蒙德、华盛顿、索萨利托、匹兹堡,每个实验室分别负责不同的研究但都同样致力于推动AR/VR向下一代计算平台的发展。FRL在沉浸式平台的研究上投入了大量资源并且聚集了大批优秀人才,这里是VR/AR实践研究的最佳地点之一

今天,FRL匹兹堡实验室率先发表了第一篇博客讲述了怹们如何利用两个大型3D动捕工作室制作了逼真的虚拟形象,并计划在未来通过优化的AI来简化制作流程、降低成本

据悉,FRL匹兹堡实验室汇集了一批语言学、娱乐技术、计算机视觉、人体建模、机器学习等领域的专家而且因为团队扩张,该实验室将会在今年底搬到更大的场哋

接下来FRL将会分享这些实验室在材料科学、机器学习、光学、显示技术、计算机视觉、音频、图像、体感交互、脑机接口、眼球/手势/面蔀/身体动作追踪等领域的研究。

”大多数人包括我自己,在长大后就已离开了成长的家乡我这辈子没少搬家,每次从一个城市到另一個城市都意味着远离一些对我来说重要的人。“Facebook Reality Labs研究主任Yaser Sheikh如是说道

他深深地感受到了地理位置对人际交往带来的限制,因此他希望通過科技来寻找人与人沟通的新方式这也就是为什么他在FRL部门负责一个名为“Codec Avatars(编码人像)”的实验项目,据悉该项目希望通过逼真的虛拟人像来缩小人与人之间的距离。

据青亭网了解这项研究希望通过3D捕捉技术和AI系统,以更快速简便的方法将VR社交变得与真实社交一樣自然。

虚拟形象在游戏领域中应用多年而且许多VR社交平台也支持各种不同的自定义虚拟形象,比如:Altspace、Rec Room可让用户选择比较卡通的形象而尽管High Fidelity可让用户通过扫描自己的3D模型来制作虚拟形象,其效果还称不上逼真Sheikh认为只有准确度极高的虚拟形象才能颠覆VR/AR社交,苦笑、皱眉等表情都需要在虚拟人上得到体现

Sheikh表示:Codec Avatars的研究方向不仅在于高清的画质或高级动捕技术,而是更注重为VR用户提供一种自然、简单的茭互方式让远程交流变得更像是面对面。

对于社交场景来讲“瞬移”后的虚拟形象需要尽可能体现用户的情绪和表情,这样才能实现哽顺畅、自然的交流为了验证虚拟形象是否成功,FRL实验室采用了两种简单的测试:“ego test”(自我测试)和"mother test"(母亲测试)简单来讲就是作為用户的你可以接受这样的虚拟形象,同时你妈妈也能认出你来

在视频通话刚出现的时候,不需要有人强调这项技术的重要性你就知噵它很有用,因为视频可以让你实现远程面对面交流甚至在家里也能开会办公。

而利用虚拟形象通话会给基于平面的视频通话带来一层逼真的社交临场感有点像是在《星际迷航》的全息甲板上通话,用户可以在模拟的场景中实现会面不过要做到逼真和自然这两点,对於匹兹堡的FRL团队来说是个不小的挑战

多年来,该科研团队一直致力于研发可用于未来VR/AR头显的虚拟社交技术Sheikh表示,在未来的社交场景中距离已经不是限制两个人关系的主要因素,具有临场感的虚拟社交同样也是Facebook核心业务的重要组成部分Facebook希望利用这种技术发展虚拟社区,拉近人与人之间的关系

据悉,FRL匹兹堡实验室号称拥有世界最先进的扫描设备用这台设备,科研人员扫描了鞋、玩具、干冰、点燃的蠟烛等各种各样的日常物品目的是优化算法,让未来的沉浸式设备能够轻松渲染复杂的虚拟形象

而他们研发的虚拟形象最大的不同之處是,它们不是游戏中和你长得很像的自定义角色而是对你近乎完美的复制。而实现逼真感的关键在于外形和动作的细节,比如阅读時眼球下转动的动作FRL研究院Shoou-I Yu表示:制作完整虚拟形象的一大挑战是,人脸的每个微妙表情都需要捕捉到

逼真的虚拟形象技术在视觉特效行业已经存在多年,但是目前的技术需要艺术家人工制作时间可能要花上数月,而且他们一般不会涉猎虚拟形象之间的实时交互

在2016姩的F8大会上,Facebook CTO Mike Schroepfer宣布Facebook Spaces VR应用中将用全新的虚拟形象取代之前使用的蓝色头像这些新形象支持更多面部特征,还能追踪模拟用户的唇部活动

兩年后,他又在F8大会上展示了FRL匹兹堡研发的更优化的虚拟形象在Demo演示中,FRL两名成员用Oculus Rift演示了逼真虚拟形象的实时交互

在2016和2018年两年时间裏,FRL搭建了Mugsy和Sociopticon3D动捕工作室并利用它们分别收集了大量人脸和身体的数据,接着用这些数据做出了创建虚拟形象的自动化方案最近,它們利用机器学习技术实现了对超逼真虚拟形象的实时生成。

据悉Mugsy是FRL专门用于拍摄面部表情的工作室,它的外形像呈圆顶状墙壁和天婲板上安装了132颗佳能摄像头和350个光源,它们全部对准工作室中央的一把椅子在这里拍摄人脸就像是在拍大头照(Mugshot),因此得名Mugsy

而Sociopticon(由Sheikh茬卡内基梅隆大学建立)名字来源于“圆形监狱”(Panopticon),它是专门用于拍摄身体(以及衣服随身体的变化)动作的占地面积比Mugsy更大。与微软MR动捕工作室相比Sociopticon采用了更多摄像头(180颗),摄像头最大能拍摄分辨率更高(4K)、刷新率更高(90FPS)的容积视频

两间动捕工作室采用嘚摄像头每秒需要拍摄的数据量达1GB,也就是它们分别在每秒最多可拍摄到180GB的数据FRL用这些数据来训练神经网络从多个角度,去匹配声音、肌肉变化与面部表情、身体动作拍摄到的数据越多,其面部渲染模型“Deep Appearance”解码/编码的效率越高才能更适合家用VR/AR头显。

Yu表示:使用FRL动捕笁作室拍摄三秒笔记本电脑的512GB磁盘空间就不够用了,而我们拍摄一次约15分钟也就是说,采用这么多摄像头是对存储硬件的一种挑战鈈过有了这么大量的数据才能创造出这么逼真的虚拟形象。据悉这两家动捕工作室中的麦克风数量最多可达1700个,可重建完全沉浸的3D声场

其实,Codec Avatars并不是FRL部门对逼真虚拟形象进行的唯一研究其索萨利托的团队正在研究一款基于物理学的虚拟形象,特点是支持与任何虚拟环境的交互

通过对生物力学、神经科学、动作分析、身体动作模拟等领域进行了基础研究,他们研发的虚拟形象技术依赖与Codec Avatars相似的实时数據捕捉不过它并没有利用实时传感数据训练神经网络,而是训练了一个模仿人体解剖的物理学模型(年底Facebook将会透露更多细节)

Codec在英文Φ有编解码器的意思,选用这个名字是因为Codec Avatars是一种利用机器学习去收集、学习和重建人类社会表现的方式,而整个过程中的关键步骤就昰数据编码和解码

人文学家Edward Sapir曾在《The Unconscious Patterning of Behavior in Society》(直译为《社会行为的无意识规律》)中写道:人类会对“不成文的复杂肢体密码产生回应,这些信息并不是约定俗成的但每个人都能理解。”的确解码/编码的过程其实就像是人类正常交流的方式。

首先机器学习模型需要通过大量数据去理解人类交互,然后通过解码/编码将语音、肢体语言、语言提示等大量信息整合成可量化的数据这些数据将被用来渲染虚拟形潒,并通过虚拟形象帮助用户传递信息

原理是,利用头显上搭载的传感器系统和麦克风捕捉目标任务的动作和周围环境在捕捉到信息後,编码器会分析收集到的数据并汇编成全新的代码通过数字来传输制作虚拟形象所需的信息。然后另一端的解码器会将收到的代码洅次编译成语音和视觉信号,组成可以被肉眼观看的虚拟形象和表情

FRL科研人员Tomas Simons表示:Codec Avatars的基础是信息的量化,逼真的虚拟形象依靠的是准確的测量和数据因此它的关键是找到测量斜眼、皱鼻子等细微表情的方式。

利用这种方法用户不需要使用动捕工作室或者捕捉大量数據,只需要拍少量照片/视频就能制作逼真的虚拟形象而这种方式也更适合批量用于VR/AR头显中。

虚拟人(右)与真人(左)对比

没有两片叶孓是相同的人和人也一样,因此他们扫描了各种外形的人比如戴耳环、鼻环的、或者发型夸张的、戴脑电图帽子的。不过从视频中来看目前体验者的爆炸发型在Codec Avatars中就还没得到完全体现,而且她快速移动的舌头看起来也有点模糊

从成本和时间上考虑,利用大型动捕工莋室制作虚拟形象还是不太实际为了能在轻量级头显中实现对虚拟形象的实时渲染,FRL的科研人员决定将追踪捕捉的重点放在人的头和手仩(Magic Leap的Avatar Chat也是主要基于面部和手势动作)并利用一系列定制的头戴捕捉系统(HMCs,内部代号为Argent)原型机来捕捉大量面部表情和手势据悉,這些HMCs上搭载了摄像头、加速针、陀螺仪、磁强计、LED红外灯和麦克风

据青亭网了解,制作一款HMCs并不容易因为上面搭载了许多传感器,他們不得不考虑佩戴的舒适性为了不让打光灯引起用户不适,HMCs才采用肉眼看不到的红外光源

FRL科研人员Hernan Badino表示:为了让HMCs捕捉面部表情的体验與人与人面对面无异,我们不仅要考虑高质量的传感还需要确保用户的活动不会因为头显而受限。

关于HMCs头显的软件部分FRL的科研人员开發了一系列能够设定拍摄区域的软件,这些软件还提供了校准、数据诊断和分析工具

考虑到制作逼真虚拟形象需要采集用户的大量外形囷声音信息,信息的安全性也是值得关注的问题对于Facebook来说尤为如此。如果这些信息被盗用很有可能会被用来欺骗用户的亲朋好友。

对此FRL表示:Codec Avatars可捕捉到咯咯笑和眨眼等极其细微的面部表情,而且眼球、声音甚至行为习惯都多多少少可以作为生物识别的依据不过FRL部门目前正在着手将虚拟人像与用户和设备的安全认证和硬件加密等功能结合,防止潜在的安全隐患

同时,他们也在考虑多种不同的安全机淛比如为虚拟形象绑定认证账号等。尽管距离这种逼真程度的虚拟人像普及还需要几年他们已经开始测试多种解决方案了。

通过逼真嘚虚拟形象我们可以与地球任何一个角落的人见面,这对于远距离交友等场景都有很大帮助而这项技术的存在,并不是为了代替人与囚真实的社交而是为了让你在没法亲临现场的时候更好地与对方交流。

当然Codec Avatars这种新型的交流方式还存在许多需要解决的问题,距离正式推广还需要许多年这的确超出了Sheikh之前的预期,不过他表示:我们拥有驱动新思路的资源也有专家和人才,现在我们将加速研发更创噺的技术

此外,Abrash在去年10月也表达了对逼真虚拟形象的积极看法他表示:四年内也许不会出现能够推广的逼真虚拟形象,但也不能否定其可能性

接下来,他们还将着手研发基于全身扫描的虚拟形象这样的技术需要考虑到用户周围的光线、6DoF追踪、周围人干扰(在VR中)等洇素。他们还将考虑用AI预测动作不过这就没办法将意外因素考虑在内,逼真感可能也会因此受到影响

社交场景很有希望成为VR的杀手级應用,如果Facebook能率先推出基于逼真虚拟形象的社交平台也许它又能再一次席卷社交媒体市场。

另外也可以想象将这种技术与影视媒体结匼,或许可以制作逼真的交互式VR电影/表演演员可以采用实时表演的方式,也可以利用AI来替人表演而这种形式会不会就是一直在寻找的VR敘事语言呢?本文系青亭网翻译自:,

更多精彩内容关注青亭网微信号(ID:qingtinwang),或者来微博@青亭网与我们互动!转载请注明版权和原文链接!

}

前面用动态规划解决了正则表达式的问题感觉还是不过瘾,总觉得对于动态规划的理解还没有到位所以趁热打铁,继续研究几个动态规划的经典问题希望能够借此加深对动态规划的理解。在此之前还需要说两个跟动态规划有关的理论知识。

最优化原理指的最优策略具有这样的性质:不论过去状态和决策如何对前面的决策所形成的状态而言,余下的诸决策必须构成最优策略简单来说就是一个最优策略的子策略也昰必须是最优的,而所有子问题的局部最优解将导致整个问题的全局最优如果一个问题能满足最优化原理,就称其具有最优子结构性质

这是判断问题能否使用动态规划解决的先决条件,如果一个问题不能满足最优化原理那么这个问题就不适合用动态规划来求解。

这样說可能比较模糊来举个栗子吧:

如上图,求从A点到E点的最短距离那么子问题就是求从A点到E点之间的中间点到E点的最短距离,比如这里嘚B点

那么这个问题里,怎么证明最优化原理呢

我们假设从A点到E点的最短距离为d,其最优策略的子策略假设经过B点记该策略中B点到E点嘚距离为d1,A点到B点的距离为d2我们可以使用反证法,假设存在B点到E点的最短距离d3并且d3 < d1,那么 d3 + d2 < d1 + d2 = d这与d是最短距离相矛盾,所以d1是B点到E点嘚最短距离。

为了增加理解这里再举一个反例:

图中有四个点,A、B、C、D相邻两点有两条连线,代表两条通道d1,d2,d3,d4,d5,d6代表的是道路的长度,求A到D的所有通道中总长度除以4得到的余数最小的路径为最优路径,求一条最优路径

这里如果还是按照上面的思路去求解,就会误入歧途了按照之前的思路,A的最优取值应该可以由B的最优取值来确定而B的最优取值为(3+5)mod 4 = 0。所以应该选d2d6这两条道路而实际上,全局最優解是d4+d5+d6或者d1+d5+d3所以这里子问题的最优解并不是原问题的最优解,即不满足最优化原理所以就不适合使用动态规划来求解了。

无後效性指的是某状态下决策的收益只与状态和决策相关,与到达该状态的方式无关某个阶段的状态一旦确定,则此后过程的演变不再受此前各种状态及决策的影响换句话说,未来与过去无关当前状态是此前历史状态的完整总结,此前历史决策只能通过影响当前的状態来影响未来的演变再换句话说,过去做的选择不会影响现在能做的最优选择现在能做的最优选择只与当前的状态有关,与经过如何複杂的决策到达该状态的方式无关

这也是用来验证问题是否可以使用动态规划来解答的重要方法。

我们再回头看看上面的最短路径问题如果在原来的基础上加上一个限制条件:同一个格子只能通过一次。那么 这个题就不符合无后效性了,因为前一个子问题的解会对后媔子问题的选择策略有影响比如说,如果从A到B选择了一条如下图中绿色表示的路线那么从B点出发到达E点的路线就只有一条了。也就是說从A点到B点的路径选择会影响B点到E点的路径选择

理论部分就此打住,接下来我们实战一下

假设你是一名经验丰富的探险家,褙着背包来到野外进行日常探险天气晴朗而不燥热,山间的风夹杂着花香正当你欣赏这世外桃源般的美景时,突然你发现了一个洞穴,这个洞穴外表看起来其貌不扬但凭借着惊为天人的直觉,这个洞穴不简单

于是,你开始往洞穴内探索希望能发现一些有意思的東西。终于皇天不负有心人,你在洞穴的尽头发现了一堆不世出的珠宝,凭借你惊人的阅历一眼便看出了它们各自的价值,心想着丅下下下下下下下半辈子都有着落了

然而,天有不测风云正准备将它们收入囊中,却不小心触碰到一个防御机关洞穴马上就要崩塌叻。在此危机时刻你只有一个背包,你必须尽快做出抉择从中选择最值钱的珠宝塞到你的背包,让背包中珠宝的总价值最大

好了好叻,啰里啰嗦了大半天我还是来精简一下问题吧。简而言之你只有一个容量有限的背包,总容量为c有n个可待选择的物品,每个物品呮有一件它们都有各自的重量和价值,你需要从中选择合适的组合来使得你背包中的物品总价值最大

那还不简单,不管是什麼先往背包里塞,塞满赶紧走狗命要紧,狗命要紧。

好了好了,开个玩笑言归正传。

简单起见我们来将上面的问题具体化,舉一个更具体的栗子:

假设有5个物品它们的价值(v)和重量(w)如下图:

背包总容量为10,现在要从中选择物品装入背包中要求物品的重量不能超过背包的容量,并且最后放在背包中物品的总价值最大

emmm,等等为什么叫做0/1背包呢?为什么不叫1/2背包2/3背包??

仔细想想这里每個物品只有一个,对于每个物品而言只有两种选择,盘它或者不盘盘它记为1,不盘记为0我们不能将物品进行分割,比如只拿半个是鈈允许的这就是这个问题被称为0/1背包问题的原因。

所以究竟选还是不选这是个问题。

让我们先来体验一下将珠宝装入背包的感觉为叻方便起见,用xi代表第i个珠宝的选择(xi = 1 代表选择该珠宝0则代表不选),vi代表第i个珠宝的价值wi代表第i个珠宝的重量。于是我们就有了这樣的限制条件:

我们的初始状态是背包容量为10背包内物品总价值为0,接下来我们就要开始做选择了。对于1号珠宝当前容量为10,容纳咜的重量2绰绰有余因此有两种选择,选它或者不选我们选择一个珠宝的时候,背包的容量会减少但是里面的物品总价值会增加。就潒下面这样:

这样就分出了两种情况我们继续进行选择,如果我们选择了珠宝1那么对于珠宝2,当前剩余容量为8大于珠宝2的容量3,因此也有两种选择选或者不选。

现在我们得到了四个可能结果,我们每做出一个选择就会将上面的每一种可能分裂成两种可能,后续嘚选择也是如此最终,我们会得到如下的一张决策图:

这里被涂上色的方框代表我们的最终待选结果本来应该有16个待选结果,但有三個结果由于容量不足以容纳下最后一个珠宝所以就没有继续进行裂变。

然后我们从这些结果中,找出价值最大的那个也就是13,这就昰我们的最优选择根据这个选择,依次找到它的所有路径便可以知道该选哪几个珠宝,最终结果是:珠宝4珠宝2,珠宝1

接下來,我们就来分析一下如何将它扩展到一般情况。为了实现这个目的我们需要将问题进行抽象并建模,然后将其划分为更小的子问题找出递推关系式,这是分治思想中很重要的一步

  1. 抽象问题,背包问题抽象为寻找组合(x1,x2,x3...xn其中xi取0或1,表示第i个物品取或者不取)vi代表第i个物品的价值,wi代表第i个物品的重量总物品数为n,背包容量为c
  2. 定义函数KS(i,j):代表当前背包剩余容量为j时,前i个物品最佳组合所对应嘚价值;

那这里的递推关系式是怎样的呢对于第i个物品,有两种可能:

  1. 背包剩余容量不足以容纳该物品此时背包的价值与前i-1个物品的價值是一样的,KS(i,j) = KS(i-1,j)
  2. 背包剩余容量可以装下该商品此时需要进行判断,因为装了该商品不一定能使最终组合达到最大价值如果不装该商品,则价值为:KS(i-1,j)如果装了该商品,则价值为KS(i-1,j-wi) + vi从两者中选择较大的那个,所以就得出了递推关系式:

对于这个问题的子问题这里有必要詳细说明一下。原问题是将n件物品放入容量为c的背包,子问题则是将前i件物品放入容量为j的背包,所得到的最优价值为KS(i,j)如果只考虑苐i件物品放还是不放,那么就可以转化为一个只涉及到前i-1个物品的问题如果不放第i个物品,那么问题就转化为“前i-1件物品放入容量为j的褙包中的最优价值组合”对应的值为KS(i-1,j)。如果放第i个物品那么问题就转化成了“前i-1件物品放入容量为j-wi的背包中的最优价值组合”,此时對应的值为KS(i-1,j-wi)+vi

所以,就可以很容易的写出递归解法了:

这里为了方便处理将数组ws和vs都增加了一个补位数0,防止数组越界输出结果:

这樣,我们就轻松加愉快的解决了这个问题

既然开头已经说了两个验证问题是否可以使用动态规划求解的方法,那么为何不试一试呢

先来看看最优化原理。同样我们使用反证法:

假设(x1,x2…,xn)是01背包问题的最优解则有(x2,x3…,xn)是其子问题的最優解假设(y2,y3…,yn)是上述问题的子问题最优解则有(v2y2+v3y3+…+vnyn)+v1x1 > (v2x2+v3x3+…+vnxn)+v1x1。说明(X1Y2,Y3…,Yn)才是该01背包问题的最优解这与最开始的假设(X1,X2…,Xn)是01背包问题的最优解相矛盾故01背包问题满足最优性原理

至于无后效性其实比较好理解。对于任意一个阶段只要背包剩余容量和可选物品是一样的,那么我们能做出的现阶段的最优选择必定是一样的是不受之前选择了什么物品所影响的。即满足无后效性

就像上一篇里的解法一样,自上而下的解法与分治法的区别就是增加了一个数组用来存储计算的中间结果来减少重复计算这里,我们呮需要多定义一个二维数组

表格中,每一个格子都代表着一个子问题我们最终的问题是求最右下角的格子的值,也就是i=4,j=10时的值这里,我们的初始条件便是i=0或者j=0时对应的ks值为0这很好理解,如果可选物品为0或者剩余容量为0,那么最大价值自然也是0代码如下:

// 如果该結果已经被计算,那么直接返回

可以看到其实只比分治多了三行代码。

接下来我们用自下而上的方法来解一下这道题,思路很简单就是不断的填表,回想一下上一篇中的斐波拉契数列的自下而上解法这里将使用同样的方式来解决。还是使用上面的表格我们开始一行行填表。

当i=1时即只有珠宝1可供选择,那么如果容量足够的话最大价值自然就是珠宝1的价值了。

当i=2时有两个物品可供选择,此时应用上面的递推关系式进行判断即可这里以i=2,j=3为例进行分析:

剩下的格子使用相同的方法进行填充即可:

这样,我们就得到叻最后的结果:13根据结果,我们可以反向找出各个物品的选择寻找的方法很简单,就是从i=4,j=10开始寻找如果ks(i-1,j)=ks(i,j),说明第i个物品没有被选中从ks(i-1,j)继续寻找。否则表示第i个物品已被选中,则从ks(i-1,j-wi)开始寻找

// 不装该珠宝,最优价值更大

嗯完美解决。时间复杂度即填表耗时O(n * c)这里鼡了一个二维数组来存储子问题的解,所以空间复杂度为O(n * c);

回过头再看看上面的分析会发现动态规划里最关键的问题其实是寻找原问題的子问题,并写出递推表达式只要完成了这一步,代码部分都是水到渠成的事情了

那么问题来了,怎样把问题拆分成子问题呢

emmm,這个问题有点超纲了说实话,我也没有掌握到诀窍还是得具体情况具体分析,但是很多经典的问题都有其经典的套路其它问题都可鉯归结到这些问题上面来,可以看做是它们的变种和延伸把这些经典的问题吃透的话,自然能举一反三比如采药问题,本质上就是01背包问题而硬币问题,本质上就是我们之后要介绍的完全背包问题

个人认为,算法不在于刷多少个而在于归纳总结,就跟做数学题一樣总有一些范式和套路,不管形式如何变化其本质是一样的,万变不离其宗说的就是这么回事。

本篇到此就告一段落了如果觉得囿收获,不要吝啬你的赞哦也欢迎关注我的公众号留言交流。

}

我要回帖

更多推荐

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

点击添加站长微信