精华内容
下载资源
问答
  • 致 Python 初学者

    万次阅读 多人点赞 2019-11-10 00:03:26
    在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习...
    展开全文
  • 未来5-10年计算机视觉发展趋势

    千次阅读 多人点赞 2020-05-21 09:35:50
    为了进一步推动计算机视觉领域的发展,CCF-CV组织了RACV 2019,邀请多位计算机视觉领域资深专家相关主题的发展现状和未来趋势进行研讨。我们将研讨内容按专题实录整理,尽最大可能以原汁原味的形式还原观点争鸣...

    未来5-10年计算机视觉发展趋势

     

    https://mp.weixin.qq.com/s/al58JbrJbVQabdE15Ca-8g

     

    来源:CCF计算机视觉专委会

    引言

    计算机视觉是人工智能的“眼睛”,是感知客观世界的核心技术。进入21世纪以来,计算机视觉领域蓬勃发展,各种理论与方法大量涌现,并在多个核心问题上取得了令人瞩目的成果。为了进一步推动计算机视觉领域的发展,CCF-CV组织了RACV 2019,邀请多位计算机视觉领域资深专家对相关主题的发展现状和未来趋势进行研讨。我们将研讨内容按专题实录整理,尽最大可能以原汁原味的形式还原观点争鸣现场,希望有助于激发头脑风暴,产生一系列启发性的观点和思想,推动计算机视觉领域持续发展。

    本期专题为“未来5-10年计算机视觉发展趋势”。各位专家从计算机视觉发展历程、现有研究局限性、未来研究方向以及视觉研究范式等多方面展开了深入的探讨。

    主题组织者:林宙辰,刘日升,阚美娜讨论时间:2019年9月27日发言嘉宾:查红彬,陈熙霖,卢湖川,刘烨斌,章国锋参与讨论嘉宾[发言顺序]:谢晓华,林宙辰,林倞,山世光,胡占义,纪荣嵘,王亦洲,王井东,王涛,杨睿刚,郑伟诗,贾云得,鲁继文,王亮文字整理:阚美娜,刘日升

     

    开场:山世光、林宙辰

    山世光:上次计算机视觉专委会常委会上,在谭院士的倡议下这次RACV尝试一下相对比较小规模的、以讨论未来与问题为主的这样一种形式。这次的RACV希望所有的发言人,都不是讲自己的或已经做的工作,而是围绕着每一个主题讲一讲自己的观点和看法。大家在发言的时候可以无所顾忌,可以争论。我们会有记录和录音,但最后的文字会经过大家的确认之后才发布。

    林宙辰: RACV是希望大家有一些深入的研讨,互相挑战,以达到深入讨论的目的。第一个主题是未来5-10年CV的发展趋势。希望我们这次研讨会尤其是CV发展趋势这个主题能够类似达特茅斯会议,产生一些新的思想。

     

    嘉宾主题发言

    1. 查红彬

    未来五年或十年CV的发展趋势是很难预测的,有时候想的太多,反而容易跑偏。所以,今天我主要从自己认识的角度说说后面我们该做些什么样的事情。

    首先,说说什么叫计算机视觉?我这里给了一个比较严格的定义,即使用计算机技术来模拟、仿真与实现生物的视觉功能。但这个定义并没有将事情完全讲清楚,这里把计算机和视觉两个概念揉到了一起,但到底什么叫计算机、什么叫视觉并没有说。什么叫计算机大家是能够公认的。但什么叫视觉,其实在计算机视觉领域里还没有一个大家都认可的定义。

    我们不妨先看看现在计算机视觉领域里有哪些研究内容。先来看看今年ICCV各个分会的关键词,其中最大的几个领域是deep learning;recognition;segmentation, grouping and shape等。这些领域是视觉吗?说是图像处理、分析与理解也能说的通。关键问题在于,我们讲来讲去到底是不是真的在做视觉?这点有必要再想想。举个例子--人脸识别:人脸识别现在能识别大量的人脸图像与视频,几十万、几百万人都能够识别。它是用大数据驱动的方式来达到目的的,而且是离线学习的。但识别算法在实际应用中对光照、遮挡等的鲁棒性比较差。我们回过头看看人的人脸识别有些什么样的功能呢?我们人识别人脸的功能很强,但只能识别很少数量的人脸,如亲戚、朋友、同事等,超过一定范围之后人是很难识别出来陌生人的人脸的,我们能看到有差别但分不清谁是谁。第二个,人是在生活情景当中进行主动性的样本学习。我们之所以能够认识亲属,是因为我们在日常生活当中与他们生活在一起,建立了各种各样的关系。我们主动地用样本来学,利用了不同层次的特征。所以,尽管我们识别人脸的数量少,但是我们对抗干扰的能力很强。所以我觉得这是人的人脸识别和现在机器的人脸识别之间的差别。也就是,人的视觉中的人脸识别有它明显的特点,它能很好地应对现实环境中的视觉处理任务。

    那么现实环境中的视觉处理应该考虑哪些因素呢?我们有计算机、机器人这些智能机器,同时还有其它两个关键的部分。第一个部分是要通过视觉这个接口来同外部世界建立联系,同环境进行互动;第二个是我们讲视觉的时候,生物的感知机理给我们提供了很多依据。这其中,我们要应对的是现实环境的开放性,以及三维世界的复杂性,我们要面对场景当中很多动态的变化以及层次性结构的多样性。


     

    另一方面,生物的感知机理有什么呢?它是一个学习过程,但这个学习是柔性的,并不是我们现在这样的离线学习并固定的方式。我们现在的机器学习用起来就只是测试。但我们人的学习中测试和学习过程并不是严格可分的,它有结构上的柔性,也需要层次化的处理。此外,它有主动性,能够根据它的目的和任务主动地进行学习。同时,我们日常生活当中所需要的是一种时序数据的处理,是一种增量型的处理过程。从这样的角度来看,我们将来的计算机视觉研究需要考虑把真实环境的特点与生物的感知机理融合进来。这样就会更接近“视觉”这个词本来的意义。

    那这其中有哪些事情我们可以去考虑呢?首先是学习的问题。现在,深度学习用的很多,但它只是我们人的模式识别当中的一部分功能,对于视觉研究来说,还有很大的挖掘空间。也就是说,我们考虑计算机视觉中的机器学习的时候,不仅仅是深度,还要把网络的宽度、结构可重构性与结构柔性结合起来。我们要把不同的结构层次研究明白,同时把不同模块之间的连接关系考虑到网络里来。我们人的大脑就是这样的,大脑从视觉的低层特征抽取往上,它具有很多不同的功能性结构在里面,而且这个功能性结构是可塑的。其次,除了通常讲的识别功能之外,我们要把记忆、注意等一些认知机制通过学习的方式实现出来。目前已经有一些这方面的工作了。将来这些机制在计算机视觉里面可能会作为学习的一个核心目标,融到我们现在的整个体系当中。另外,还应考虑通过环境的交互这种方式来选择需要的样本进行自主学习等。所以,这种学习方式上的结构柔性应该是我们追求的一个目标。

    另外一点,我们现在的计算机视觉还比较缺乏对动态场景的处理。我们现在很多工作是在静态场景里面,像人脸识别也是在静态场景里面来做。尽管有时候我们用视频来做,但并没有深入考虑整个场景的动态特性。现在动态目标的跟踪、检测、分析、行为的识别与理解等这些工作都有在做,但还没有上升到一个系统化的水平。我们也应该把更多的注意力放到像移动传感器的定位、三维动态场景的重建与理解等一些事情上面来。所以,我认为动态视觉是未来的另一个重要研究方向。

    还有一个是主动视觉。主动视觉是把感知与运动、控制结合起来,形成一个闭环。计算机视觉里很早就有一个研究课题,叫视觉伺服,是想把控制和感知很好地结合起来。我们的感知一部分是为任务目的服务,另外一部分是为感知本身服务,即从一种主动控制的角度来考虑感知功能的实现,以提高感知系统的自适应能力,迁移学习、无间断学习或终身学习等都可以应用进来。此外,还应当考虑常识、意识、动机以及它们之间的关系。也就是说,我们要把视觉上升到有意识的、可控制的一个过程。


     

     

    如果我们把前面提到的时序与动态处理等结合起来之后,应该更多考虑在线学习。我们不应该全部依赖目前这种离线学习、仅使用标注数据,而是应该在动态的环境当中,根据运动与动态数据流本身的特性来做预测与学习。这样可以把前面提到的记忆与注意力等一些机制结合起来,最终实现一种无监督的在线学习系统。这样一来就能把现实环境中的一些特点与变化考虑进来,形成一套新的理论。而这个理论,跟现在的深度学习、图像处理分析与理解等相比,会更接近我们讲的视觉这个概念。


     

    2. 陈熙霖

    预测可见未来是一件风险极大的事,对于这个命题作文我只能说个人的观点。我更愿意从历史的角度来看这件事情。首先,我们回顾一下计算机视觉的发展历程。我把过去几十年的过程分为以下几个阶段。第一个阶段我称之为启蒙阶段,标志性的事件是1963年L. Robert的三维积木世界分析的博士论文(Machine Perception of Three-dimensional Solids)和1966年夏天Minsky安排几个本科生做的手眼系统。这个阶段对计算机视觉的估计过于乐观,认为这事太容易了,很快就可以解决,正如S. Papert的报告中写到的“The summer vision project is an attempt to use our summer workers effectively in the construction of a significant part of a visual system”。启蒙阶段的重要启示就是发现这个问题远比想象的困难。

    从七十年代初期开始进入第二个阶段,我称之为重构主义,这是以D. Marr的视觉框架为代表的。这个框架在Marr的总结性著作“Vision --A Computational Investigation into the Human Representation and Processing of Visual Information”中有很好的阐述。其核心是将一切对象恢复到三维表达。其基本过程是:图像à基本要素图(primal sketch)à以观察者为中心的三维表达(2.5D skecth)à以观察对象为中心的3D表达。这个过程看起来很漂亮,但却存在两方面的问题——首先是这样的过程是否是必须的,其次是如果都试图恢复三维,这样不论对感知测量还是计算是否现实。我个人认为三维在计算机视觉中的作用也是有限的。这个阶段的工作也导致了上世纪90年代初对计算机视觉研究的反思和争论。有兴趣的各位可以看看1991年CVGIP: Image Understanding第53卷第1期上的讨论文章。

    第三个阶段我称之为分类主义,反正只要能识别就好,不管白猫黑猫抓住老鼠就好。人脸识别、各种多类物体识别等都在这个阶段大行其道,研究者们采用各种各样的方法,从研究各类不变算子(如SIFT、HOG等)到分类方法(如SVM、AdaBoost等)。这个阶段推进了识别问题的解决,但似乎总差最后一公里。

    最近的一个阶段我称之为拼力气比规模阶段,其核心是联结主义的复兴,这得益于数据和计算资源的廉价化。这类方法在各种分类问题上似乎得到了很好的解决。但这些方法背后缺少了很多研究需要追求和思考的东西,过去我们都在讲找一个美妙的办法。如同我们希望瞄准目标,以最小的代价击中目标。现在这类方法更像是炮决,今天我们似乎进入了这样的炮决时代。

    那么未来会是怎么样的?从前面的发展历史来看,计算机视觉经过几十年的发展进入了野蛮人的时代。什么叫进入野蛮人的时代了?今天大家说人工智能热,可几乎所有拿来验证人工智能的例子都是和计算机视觉相关的。而今天很多所谓的计算机视觉研究就是拿深度学习训练一个模型,所以说这是个野蛮人的时代。那么野蛮人时代有什么问题?我们看上一个和野蛮人时代相关的历史——罗马帝国。罗马帝国是被野蛮人消灭的,罗马(更具体的是指西罗马)从建国到被灭亡,中间大概有500年。而且西罗马被灭了以后,还有一个叫神圣罗马帝国,按照尤瓦尔·赫拉利《人类简史》上的说法后者既不神圣也不是帝国。当年罗马帝国也是所有的东西都讲究漂亮美丽——斗兽场、引水渠以及打到哪修到哪的条条大路(通罗马)。计算机视觉早年的研究者也是天天追求漂亮,要数学上美、物理上美等等,就和当年罗马帝国一样。现在也真的和罗马帝国一样了,我们遇到了蛮族人。这个蛮族人是谁?就是深度学习,和过去罗马人关心文明,蛮族人关心财富一样,在计算机视觉的研究上,我们也面临着如何选择的问题。当然,历史也会惊人地相似,蛮族人占领罗马以后也不是什么都没干。后来他们建立神圣罗马帝国,到后来导致文艺复兴。今天计算机视觉的研究在我们看来也需要一个文艺复兴。什么是我们的文艺复兴?我们当下的计算机视觉就处在这么一个需要思考的时期。而不是一味地倒向深度学习。现在有些研究走向比蛮力的阶段,就跟打仗比坦克、大炮的数量一样,靠拼GPU的规模和计算能力。下一步,我们需要往哪里走?这是现在这个野蛮人时代需要思考的。

    预测未来五到十年这是一个风险极大的问题。所以我只能通过前面讲的历史和我的一点思考谈谈对未来的一些可能。

    首先,一个值得关注的未来趋势是从识别到理解,套用古人的说法就是从知其然到知其所以然。过去十多年计算机视觉在识别方面取得了显著的进展,但是现在的识别远远不是我们所期望的识别。例如你教它识别一个杯子,它不会想到杯子和水有任何关系,不会想到杯子有任何的其他功能,因而完全是填鸭式的。今天的识别远远不是可解释的。谈到可解释,我认为在计算机视觉领域的可解释应该是对结论的解释,而不是解释网络行为,前者应该更有价值。那么要解释这一切靠什么?应该是靠某种形式的逻辑关系,这种关系可以通过语言表达,语言应该起到桥接作用。这里的语言和自然语言有关系也有区别,可以是独立于我们自然语言的,是机器自己对世界理解的语言。换句话说,我们把世界的物体重新编码起来,然后把物体和物体,物体和环境的联系建立起来就好。有了这样的从基本属性到对象直至环境的关系,就有可能实现从知其然到知其所以然。所以我觉得未来最重要的趋势就是从无需知识支撑的识别到需要知识支撑的理解,或者说从单纯的Bottom-up的识别到需要知识启发的具有反馈、推理的更广义的计算机视觉,这也是我自己这几年特别关注的研究方向。

    其次,值得关注的一个趋势就是对空间感的有限需求。关于为什么动物需要视觉,主要是两方面的需求——首先要保证寻找食物和不被天敌吃掉——识别能力;其次是保证不会因为对空间的错误判断而造成意外伤害(摔倒或者撞击等)。视觉最重要的就是解决这两件事情。那么为什么讲对空间感的有限需求?我们的三维空间感,只是在相对比较近的时候,才需要很精确。在距离稍远一点的情况下,大多数时候其实不关心精确的空间位置,而可能关心一些如遮挡、顺序等关系。另外,如果你试图把一切对象都用三维来表示的话,不管是从计算的代价还是从可实现性来讲都很难。试想恢复一个一米远处的对象,可以做得很精确,而对于一百米或者更远的对象,如果希望保持相同的量化精度,对深度值的量化就会成问题。这就是说的有限需求的含义,但是我觉得这件事情一定很重要,特别是在较近的时候。

    第三个值得关注的趋势就是不同模态的结合,即所谓聪明合一,人的聪明离不开耳聪目明。这里的模态不仅仅限于视听觉,还可以包括不同的二维、三维的视觉传感信息等。生物的感知从来不是仅靠单一模态的。在多模态中需要解决好的一个问题是不同模态间的对齐与因果问题。如果同时存在从多个模态获取的信息,时空对齐是非常重要的挑战。与时空对齐相关的另一个问题是因果关系,虽然我们希望获得因果,但绝大多数时候得到的仅仅是关联,两个现象之间可以是第三个因素导致的,如同云层间放电导致电闪和雷鸣,这两件事是关联的,但绝不是电闪导致雷鸣。在绝大多数情况下我更倾向于去探索关联而不是因果,特别是在数据驱动的模型下,离开机理试图发现因果是困难的。但在未来的计算机视觉研究中不同模态的结合和关联是一个重要的趋势。

    第四个需要关注的趋势是主动视觉,所谓主动就是在视觉系统中纳入了反馈的机制,从而具有选择的可能。视觉如果仅仅以独立的形式存在,则不论是从感知所需的精度、分辨率以及处理的能力都需要成指数规模的增加,生物视觉由于有了主动选择的机制,因而在视野、分辨率、三维感知与能量消耗方面得到了很好的平衡。当计算机视觉的研究不仅仅是为了验证某个单一的功能时,上述生物视觉的平衡一样需要在计算机视觉系统中考虑,实现从感知、响应到行为的闭环。从被动感知走到主动的感知,这是从算法到系统的一个重要趋势。将视觉的“看”与“响应”和“行为”构成广义的计算机视觉系统,通过有主动的“行为”进行探索,实现“魂”和“体”的合一。这对视觉应用系统是至关重要的——例如一个经过预训练的服务机器人,可以通过在新环境中的主动探索,实现整体智能的提升。所以我认为这是未来视觉应用系统的重要趋势。

    我没有讲具体的算法哪些是重要的。我想说一件事情,就是关于深度学习,我觉得未来深度学习就会像今天计算机里看到的寄存器、触发器、存储器乃至CPU一样,成为基本构件。关于趋势,延续前面的划分,计算机视觉将进入一个知识为中心的阶段。随着深度学习的广泛应用,计算机视觉系统将不仅处理单一任务。在复杂视觉任务的处理中,主动视觉将起到重要的作用。通过主动的响应和探索,构建并完善视觉系统对观察世界的关联(因果)关系并借此理解空间对象的时空关系、物理属性等。这算是我对今天讨论问题的个人预测。


     

    3. 卢湖川

    刚才前面两位老师已经提纲挈领的提了一些观点,我可能有一些和他们是相似的。

    从理论方面来讲,我觉得目前深度学习的理论好像有点走不太动了。具体来说,从Backbone的发展来看,网络结构的设计,基本上没有更多新的内容。另一方面,某些领域还是比较热门的,发展比较快。比如说自然语言处理(NLP)和视觉的结合,这几年取得了很多进展,特别是聊天机器人等相关的实际需求,驱动着VQA等技术都有较大的进展。尤其是基于图的方法和视觉结合在一起可能会越来越热。以知识图谱为例,如果知道一些先验知识,知道一些知识图谱的话,可能会更好的去理解图像或者视频。例如,给定一幅图像,里面有一只猫和一个鱼缸,猫用爪子抱住了鱼缸,还盯着鱼缸里面的鱼,如果我们知道知识图谱里猫和鱼的关系, 我们就能很好的描述出猫想吃鱼缸里的鱼,从而更好的帮助视觉理解图像或视频里目标和目标之间的关系。所以说,我觉得基于图或图谱的方法和视觉结合在一起未来几年会有更大的发展。

    第二方面,我觉得三维视觉会继续快速发展。从前两年开始冒头,到现在已经较为火爆,不仅仅局限于三维场景重构等领域,最近基于三维视觉的检测与分割等都有一些优秀的工作涌现。随着基于各种各样的嵌入式设备和手机端的需求,像华为手机已经有三个背面的摄像头,甚至多个摄像头(它的三个摄像头的定义,一个是超广角的,一个是广角的,另外一个是高精度的摄像头,不同的分辨率,可以更多的去模仿人的视觉方式)。由于人观测世界本身是三维的,所以移动端的这种大量的应用会牵引着三维视觉在这方面越来越走向更深入的发展。

    第三方面,最初我们提到深度学习时,通常都会说手工设计的特征(handcrafted feature)有各种各样的不好,而深度学习是一个端到端的网络。实际上,深度学习的网络结构也是手工设计的(handcrafted)。目前,网络结构搜索NAS兴起之后,我觉得在这方面可能会有更多的一些改善,能够把一些常规的操作,包括一些常规的模块都融入进去,来不断优化网络结构而不是手工设计(handcrafted design)。我觉得未来几年在这方面,甚至包括网络结构的压缩和裁剪方面都会有更多的进步。

    第四方面,深度学习兴起之后,我们看到诞生了一大堆的数据集,并且都是有ground truth标注的数据,在其驱动下,深度网络达到了一个比较好的性能,目前绝大多数的数据集在性能方面基本上也趋于饱和了,但是距离实际问题仍然有较大的距离。另一方面,人对世界的认知基本都是小样本学习的结果,和目前的大数据驱动的模式不太一样。所以能否将当前大数据驱动的方式和人参与的方式结合起来?现在也有很多这样的论文来研究人主动参与的或者是human in the loop的学习方式,可以把人对ground truth的主动标记结合起来,引导快速的学习,甚至把性能提高到一个更高的高度。

    第五方面,视频理解在前几年开始有初步的发展,特别是到这几年有更多的需求和深入的趋势。因为现在基于图像的所有任务做到一定程度之后可能都做不动了,或者说没有更多的花样了,那么对视频的各种理解越来越多,包括视频摘要、视频场景分类、广告识别、台标识别等等,很多这方面的应用,我觉得未来几年会有更长足的发展。

    我觉得在主题(topic)方面,未来会有更多的发展领域。随着刚才陈老师说到野蛮人的时代来了,大家参与视觉研究的热情很高,不光是学术界,产业界对这种需求也是非常巨大的。因此我觉得目前深度学习领域,视觉会在各个行业纵深发展。举个例子,这两天有一个公司提出这样的一个需求,即鞋印踩上去之后,希望能识别是哪个犯罪嫌疑人来踩的,这个就是足迹识别。进一步,他们想通过这个足迹来判断这个鞋的鞋面是什么样的,是什么牌子的。然后通过这些线索进而去库里搜索比对,搜索完了之后,再去视频里面去找犯罪嫌疑人,即穿这种鞋的人到底是谁。这个过程中,一步一步的从源头开始到后面,形成了一系列的视觉问题,行业的这种纵深发展需求是无限巨大的。视觉里面还有很多之前没有想到的事情在不断进步,两天前我参加了工业机器人展,看到有一个捡包裹的机器人。我们都知道快递小哥要送了一大堆包裹,各种各样的包裹都有,能否在包裹车拉来一车包裹后,让机器人去分类呢?我在展会上看到就有这么个机器人,它会自动的去识别是什么样的包裹,而且知道它的三维的曲面是怎么样,因为包裹放的角度都完全不同,它会调整机械臂,适应包裹的三维曲面的法线方向,去吸附它。我感觉在不同行业实际需求下,像分割、三维建模等视觉技术都会快速在各个行业里得到深入的发展。

    另外,我觉得在医疗图像方面也会有很大的进展。医疗图像现在更多的是各个疾病的检测。昨天跟一个医疗单位在一起交流,他们提供了一个很大的平台,它的最终目标是通过病人的不同模态的信息,来最后综合判断病人到底是什么样的病。不仅仅是关注医学影像信息的,还有一些其他的一些检查结果,其实是一个跨模态的融合,包括图像标注、病案标注等等,他们都使得医疗图像未来和视觉的结合会越来越紧密。

    目前5G不光是速度快容量大,它其实给计算机视觉AI带来了一个更广阔的前景,特别是无人车方面,刚才几位也提到了三维的地图等。跟中国移动交流了之后,发现他们的高精度地图,可以通过5G带宽实时传输,是可以看到马路崖子这种厘米级的精细度。所以我觉得5G+AI会为我们视觉相关领域的发展带来巨大的机会。以上就是我对未来5-10年视觉发展趋势的一些理解。 


     

    4. 刘烨斌

    我主要围绕三维视觉、虚拟现实和人工智能的发展谈点想法。虚拟现实是2016年火了之后一直发展比较平稳。2018年XISHUJI有过关于虚拟现实的重要性的指示,虚拟现实技术改变了未来的交互方式,主要是这种人与环境、人与人之间的交互方式可能会变得更加自然简单,并且取代键盘、手机触屏等现有的功能。

    三维视觉的趋势是做视觉信息的重构,提供三维的内容给虚拟现实,这个是三维重建,三维虚拟现实通过真实渲染能够产生很多数据,为视觉问题服务。很多视觉问题皆有数据驱动,数据如何得来,越来越多的部分时通过三维引擎来得到。计算机视觉的研究对象有好几类,室外的、室内的、包括人体人脸还有手,还有一些医学和生命对象。以人为本是计算机视觉的核心,所以我主要以人作为视觉研究对象,举例说明计算机视觉的发展趋势。

    从人为研究对象的角度,虚拟现实有三个目标,也即三个I,一个Immersion,一个Interaction,一个Imagination。三者都是虚拟人(AI、机器等)和真实人之间的作用关系。首先,虚拟人在视觉外观上是真实的,未来的虚拟人不管是真实做出来的机器人还是存储在计算机中的,都有逼近真人的发展趋势,使得交互更加友好。而这个目标,本质上就是人体的三维重建。第二个要素是人机的交互,虚拟人一定要能感知真实人的行为,包括手势识别,行为识别,情绪等这样的一些理解。最后,虚拟人需要对场景有反应,能够智能化,他能够根据你的行为智能地做下一步的处理,保证产生一个真实的虚拟人。

    总体来说,虚拟现实的智能建模技术被列为新一代人工智能发展规划里的八大关键共性技术,重点突破虚拟对象智能的行为建模技术,提升虚拟现实中智能对象行为的社会性、多样性、交互逼真性,实现虚拟现实和增强现实等技术与人工智能的有机结合和高效互动。上述定义中的重点是行为建模,行为必须是接近人的智能的行为,才能有交互的逼真性等等。围绕这个人体的建模,目前的目标一个是要精准的重建,第二是要规模化的采集,第三是要便携式(手机单图像也能做),第四是速度足够快,能够响应交互的要求,第五就是现在一个大的发展趋势,建模的结果含有语义信息,即语义化建模,包括服装,人脸,头发等。最后第六就是智能生成,即重建结果能真实动画展示。现有的三维视觉重建技术很难满足这六个方面的要求,所以围绕这些目标还有很多研究需要做。

    人体重建主要目的之一是全息通信。这里展示微软做的holoportation系统,它实现实时的,多相机下的人体动态三维重建。但这个系统的缺点是,它要求具有主动光,导致系统复杂度高,实时性和便捷性成为矛盾。实现实时高精度三维动态重建,也是未来的一个学术研究趋势。我们研制的单个深度相机实时的重建,虽然速度和便捷性都趋于完美,但精度还有待提高。单图像人体三维重建,虽然现在的质量还不算完美,但我觉得这是一个很实用的技术应用趋势。通过单个图像我们就可以来简便地重建它的三维模型,未来肯定是能大放光彩的。单图像人手动态三维重建,通过单个RGB监控相机就可以来实现实时性,可以看出三维重建输出了语义信息,已经取代了传统二维计算机视觉识别问题成为发展趋势。

    服装产业占据国民生产总值的6%,数字化服装是一个非常重要的计算机视觉应用之地。这个是展示我们最新做的一些事情,通过单个视频,可以网上的视频,就能通过语义的建模来实现比较高质量的服装三维建模,对一些VR、AR都可以应用,它是通过对人体和服装的解耦,语义信息的加入,包括光照和纹理的解耦来实现。这种东西未来可以产生一些应用,包括改变体型,包括增强现实的模拟,右边就是一个互联网视频的重构,它可以改变服装的颜色等等。我觉得这种便携实时的三维重建的趋势就是从低层次的三维建模,包括体素的、网格的,逐渐走向高层次的三维建模,包括部件级的重建、物理信息分离、感知物理动力学、特征空间的提取。这些高维信息能够智能地建模和生成,响应环境,控制和预测。包括图形学里做的一些研究,好玩的比如能让一个人去动的虚拟对象的这种物理的约束,包括我们自己去爬山这种增强现实的技术也会引入进来,把物理、智能响应引入进来。

    最后再谈谈更有广泛意义的一些动态三维重建问题。例如,医疗方面的比如外科手术的术野场景的三维感知,就是个非刚性复杂动态场景的三维建模问题。这是展示肝脏手术的视频,能够动态跟踪它的形状,三维扫描的CT可以在动态的场景下实时非刚性映射,辅助医疗和手术。还有就是在生命科学领域的动物行为三维重建,我觉得动物是未来视觉的一个很大的可以应用的点,我们叫计算行为学,也叫神经行为学。它研究的是行为跟神经活动的映射关系,通过采集动物行为数据来进行分析。行为学上对人进行分析非常难,因为人的基因差别非常大。但对于动物来说,可以做到每个小鼠基因都是一样的,像譬如在猪、猴子上也比较容易控制一些其他的差别的因素,所以对医疗,包括基因控制都会有帮助。在Nature子刊、Nature methods、Neural Science上都有一些相关的文章。它这里面其实有很多问题,包括群体对象自然环境下的交互,非刚性的捕捉,高层语义检测,互遮挡三维恢复,时间序列分析,有很多研究发表在Nature上。动物行为三维重建研究趋势就是希望动物更加自由地在实验环境里去生活,被记录,药物干预后提早发现行为差别。这样的研究还是很多的,包括可以提取维度更高的特征。我们也是在做这样一些研究,这里面有四个小猪,有两个是有渐冻症的,我们通过多视点拍摄,希望重构三维小猪的动作,通过重建动作来识别渐冻症小猪的行为特点,对未来的基因调控和药物治疗带来帮助。


     

    5. 章国锋

    几位老师已经从计算机视觉大的层面对未来5-10年发展趋势做了展望,我从我熟悉的三维视觉和AR方面对未来5-10年的发展趋势发表一下自己的看法。

    我的研究方向主要是SLAM,所以我就先从SLAM的角度做一些发展趋势的展望。我们都知道视觉SLAM是很依赖特征的,未来SLAM技术的发展趋势必然会从以前的底层特征比如点、线、面,向高层特征比如语义、文字、物体等趋势发展。并且,现在已经有一些提取运动规律的工作比如人的步态规律、机器人和无人车的运动规则等等,来进一步提高定位的稳定性。

    有一个趋势是朝着多传感器融合的方向发展,其实每个传感器都有着它的优点和缺点,那么最好的方法就是把这些传感器的信息都融合起来,比如说随着深度相机的流行,一些手机上都安装了深度摄像头,还有Wifi、蓝牙、地磁信号等等,把这些信号都融合起来肯定可以提升定位的稳定性。未来还会有更多类型的传感器出现,比如这几年新出来的事件相机、偏振相机,相信未来5-10年还会有一些新的传感器出来。通过多传感器融合,我相信SLAM技术会做的越来越精准和鲁棒。

    还有一个趋势就是随着5G时代的到来SLAM会朝着云和端结合的趋势发展,比如说现在高精度地图的构建是放在云上,并且支持动态的更新。这就很自然地涉及到移动端上的SLAM和云上的高精度地图如何做紧耦合,如何利用语义地图的信息来更好地定位,不同终端如何协同来做SLAM。

    现在主要是深度学习的时代,对于SLAM来说,目前已有不少基于深度学习的工作,相信未来还会有更多这方面的工作涌现出来,比如如何学习一个更好的特征,如何学习更好的策略去解决SLAM中手写规则的困境,可能还会有做得很好的端到端的位姿学习。还有一个非常重要的就是语义信息的融合,比如说,结构的信息怎么跟语义信息做更好的融合,就像人眼一样看世界。我觉得这是未来的一个发展趋势。

    以上是关于SLAM方面的。然后,三维重建,刘老师前面已经讨论得很多了,尤其是动态场景的重建,我这里稍微再做一点补充。我觉得未来物体的三维扫描方面,一些便携式、移动式的RGBD传感器会越来越流行,比如说基于结构光和ToF的深度传感器,未来我相信还会有一些新的传感器出现,可以帮助实现实时高效的三维重建。这里重建的不只是几何和纹理,还包括材质、语义等等。基于照片/视频的三维重建技术未来几年也还会有一些进展,比如实现更高的几何精度和纹理,能得到更细粒度的语义,并且结合分布式平台的算力实现更高效的重建。

    在大规模场景的三维扫描方面,目前基于相机拍摄的视频或者照片已经可以做到城市级场景的三维重建。一般都是通过无人机航拍,然后重建出来。如果进一步结合深度传感器(比如Lidar),相信可以实现更高精度的场景构建。再结合分布式平台的计算能力,实现整个城市甚至整个地球的完整三维地图的重建将不是问题。当然只是静态场景的重建还不算太难,更难的是怎么实现动态物体的重建和场景的动态更新,因为真实的世界不是静态的,而是动态变化的。我觉得未来可能会通过相对低成本比如多传感器融合的方式来实现四维的场景地图的动态更新。包括前面讲的通过三维扫描获得的物体模型可以注册到真实世界的三维地图中,来实现三维信息的共享和传递。


     

     

    然后,我想谈一下识别和重建的关系。识别和重建未来5到10年会往更深层次的融合。目前三维重建基本上是bottom-up的方式,对先验知识的利用不够充分,未来5-10年可能会诞生top-down的方式,比如说先识别后重建,或者两者同步进行。识别能够提供更高层次的结构先验,反过来重建能够帮助做更好的物体识别,因此未来会更加紧密的融合。另外,也还需要深度学习和几何优化算法的融合,才能最终构建出兼具几何外观、语义信息、结构化的、可动态更新的3D场景表示。

    另外,因为我本人一直在做AR方面的应用,所以也想谈一下关于AR/VR、AI和三维视觉协同发展的趋势。其实AR主要是AI和三维视觉的应用。这三者如果能够紧密协同发展,那么我相信未来五到十年就可以实现一个地球级的现实世界的数字化。左边这个图是华为前不久提出的Cyberverse数字现实技术,它主要是通过相机、Lidar等传感器对真实世界进行扫描并构建高精度地图,然后基于高精度地图来实现室内外精准的定位和导航以及各种AR效果。Cyberverse实际上也不是一个完全新的概念,Magic Leap在2018年就提出过类似的概念Magicverse,旨在将大规模物理世界和数字世界持续地融合在一起。如右图所示,Magicverse包括好几个层,主要两种类型,一类是叫做基础层(包含物理世界和数字世界),还有一类叫空间应用层。基础层最底下是物理世界,然后在物理世界上构造一个对应的数字世界,然后再上面就是空间应用层,包括流动性、能源与水、健康与保健、通讯、娱乐等。

    要实现这样一个数字化的现实世界,最关键的一点就是对物理世界进行三维数字化,也就是如何对高精度地图进行采集、构建和更新。我相信未来必然是朝着多模态、多传感器采集和融合的方式发展,因为每个传感器都有着它的优点和缺点,需要融合互补。这里最难的问题可能是怎么进行动态更新。我相信众包式的采集和更新是实现这个目标的有效方式,可以实现低成本、高频次的更新。高精度地图除了三维还应该包括语义信息,因此语义信息的提取也是非常重要的,而且需要满足不同应用的语义信息,比如说定位、AR/VR的展示、行为分析等等。这就要实现不同粒度语义信息的提取,这里面的粒度可以大到整个商场,再到一个门店,再小一点就是一个商品。除了物理世界的三维数字化,还需要对人的行为进行数字化,运动行为、消费的行为、社交行为等等。

    对于这样构建的人的行为也好、三维空间也好,再结合SLAM、AR技术,我们可以实现地球级的AR应用。当然,这里首先需要解决云端的高精度地图怎么与终端SLAM紧耦合,这样才能够实现长时间大范围的精准定位和高品质虚实融合。松耦合模式会有一些缺陷,误差累积会很快,稳定性也不够好。基于这样的一种方式,我们可以实现室内外的分米级甚至到厘米级的定位和导航。

    另外,我们知道5G时代很快就要到来了。目前的AR计算还主要是在终端,比如手机、AR眼镜等。未来有5G的情况下很多计算都可以放到云或边上,对终端的计算要求相对弱化,终端未来更多的是提供数据采集、连接和显示的能力。因为有云端算力的加持,高品质的AR效果可以得以实现,比如高逼真的物理效果模拟,准确的遮挡效果和虚实交互,精准的光照估计和电影级的真实感绘制与虚实融合效果就成为可能。在5G时代,一方面传输速度非常快,另一方面有云端算力加持,未来应用APP甚至都不要预装,我们打开一个APP就像在浏览器上输入网址或电视机上切换频道一样便捷。

    以上是我对三维视觉和AR方面未来发展趋势的看法,供大家参考。

     

    专家讨论发言

    谢晓华
     

    我感觉我们是不是忽略了一点,就是硬件发展。例如我们之前做超分辨率,做了很多,但是后来高清相机一出来,很多工作就白做了。那会不会在未来的十年范围内视觉传感器这一块会有比较大的突破,然后刚才提到的一些工作就没有必要去做了。


     

    林宙辰

    我想说一说什么样的计算体系适合做计算机视觉?现在我们都是基于冯诺依曼体系,但是人的视觉处理过程跟冯诺依曼体系有很大的差别。如果是在新型的计算平台上面,是不是很多计算机视觉的问题能更好或更高效的解决,我觉得是可以探讨的。另外一个,我赞成主动视觉和在线学习。我觉得现在的视觉系统触碰到了一点是,每个人都是from scratch,这样的话精力有限你就只能做一个非常简单的任务。我觉得将来可以做一个像wiki一样的项目,全世界都可以贡献,这样的话大家都在共同构建一个统一的系统,而且这个系统可以利用网络上的所有数据,可以自我进化(evolution)。然后这个系统大家都可以公用,这样就可以解决每个人的系统不停的从头学习的问题,因为单个人做的话只能做很小的一部分。


     

    林倞

    我想谈一谈关于benchmark或者关于AI的评价系统或者CV评价系统的好坏的基准。因为我认为我们很多的研究是受这个基准所驱动的,或者说是跟这个benchmark是相互驱动的。现在CV的趋势是融合、协同等,那么未来我们可能会需要一种新的评价体系来看CV的状况,可能不需要在一个特别的识别问题或者分割问题上达到特别高的精度,但是我们同时接入理解、分析、可解释性等,这样才能评价一个AI或者CV系统的鲁棒性,更像人一样的而不是把它归类为一个分类问题或者重建问题,我觉得这个可能是我们要很具体的去讨论和去发现的问题。


     

    山世光

    我们讨论十年后视觉可以发展到一个什么样的水平,可是我们并没有定义清楚,我们该如何从总体上度量视觉智能的进步,比如说现在视觉智能水平是60分,十年后我们可以做到80分,这个没有明确的标准。包括什么是视觉理解、图像理解,怎么定义呢?比如我们做人脸识别,很清楚,就是以某个数据库上的识别率为准。可是作为一个general的视觉我们好像没有这样的一个标准。

    另外,作为一个标准的benchmark的角度来说的话,是不是人的视觉也是分两种,一种是通用的视觉,一种是专用的视觉。比如我们普通人看不懂医疗影像但专业医师就可以,但是我们都有通用的视觉的能力。这两类视觉实现的路径是一样的还是不一样的?

    还有一个就是刚才提到的十年后我们可能把地球都数字化了,但是这个数字话不见得是个简单的数字化,比如是地图化的,那地图化的话对我们做视觉的有什么样的帮助呢?我觉得是不是类似于出现了一个视觉智能测试的“靶场”,我们的很多东西都可以在这个“靶场”里去测试。例如很多做自动驾驶的系统初步的训练都是用的合成的模拟数据。那么也许我们有了一个很好的关于地球的数字化模拟的时候,我们就有了一个很好的视觉的“靶场”,这个“靶场”既可以做训练也可以做测试。

    此外,要不要做视觉常识?大家都在说知识,我觉得知识这个体系如果没有常识,感觉有些空中楼阁。我们做视觉先得有视觉常识,有常识才有可能有所谓的理解,我不知道是否正确,我觉得这个问题可以讨论。


     

    陈熙霖

    关于理解的评价问题,我们可以想想人是怎么做的。对于人类形成体系的知识我们确实有benchmark,确实有考题。可是对人类探索中的知识是没有考题的。大家理解的知识最后形成一个公共认可的交集,最后逐步拓展。所以,我个人认为在未来的推动理解的研究中,benchmark不能没有,但是不能唯Benchmark。如果说过去近30年中Benchmark推动了计算机视觉的发展,今天可能成为束缚了计算机视觉发展的一个因素。我经常跟学生为此争论,一些学生认为离开可评测数据集的工作就不是研究。而对真正智能的研究可能就是没有Benchmark——没有最聪明,只有更聪明。对于场景理解一类的任务而言,一个机器可能发掘出100组关系,另一个机器可能发掘出300组关系,那后者的理解能力可能就超越了前者,如果前者的关系是后者的真子集,那后者就一定具有更强的理解能力。当然更多的是两者可能具有互补性,如同人类的三人行必有我师。

    第二件事情是说通用视觉与专用视觉,我的观点是对于医疗判读这类的所谓专用视觉其实远远超越了视觉本身,它不仅仅是视觉,医生的判断是在视觉现象基础上的知识/逻辑推理。


     

    胡占义

    这个观点我有点不大同意。我最近十多年一直在研究生物视觉,视觉绝不是说就是感知,视觉包含认知。仅仅视觉物体识别这个具体问题,人类就有约三分之一的大脑皮层参与。当然,某个大脑皮层区域参与视觉问题,绝不能说该皮层就是视觉皮层。大脑的大多数高级皮层,都在于加工多种感觉信息融合后的信息,进行认知决策和行为规划。所以说视觉问题,它涉及真个大脑,包括皮层和皮下组织的联合加工,绝不是完全由大脑的视觉皮层完成。视觉皮层是指主要对视觉信息进行加工的皮层,很多皮层参与视觉信息加工,但不是视觉皮层。

    我先说第一个观点,人的视觉和计算机视觉是有区别的,如果说把人类视觉的脑加工机制完全解释清楚,我觉得和搞清楚宇宙起源的难度没有区别,我研究了差不多十五六年生物视觉,据我所知,神经科学领域目前对视觉V1区研究的比较清楚,V2区已不太清楚,更不用后面的V4和IT区,以及前额叶(PFC)等高级皮层。视觉问题处理基本涉及到大脑皮层的各个区域。所以说研究计算机视觉我觉得我们要弄清楚到底什么是计算机视觉,什么是计算机视觉的核心科学问题,我们不能够把什么东西都往上加。我觉得我们要好好讨论讨论,五到十年内我们到底主要是研究视觉感知还是视觉认知?如果研究视觉认知那是一万年的事。我目前不怎么研究计算机视觉了,我主要关注生物视觉了,也许我说的不对,但我觉得大家还是聚焦一些,目标可实现一些。

    我们讨论五到十年的计算机视觉研究方向,不是指具体的算法,我们十年前也不知道深度学习能达到今天这样的一个高度,我们要讨论到底哪些方向是值得研究的,我自己觉得有三个需要关注的方向:1.基于神经生理的计算机视觉,估计在五到十年以内是一个重大方向;2.视频理解;3.涉及中国特色的全球战略相关的视觉研究:如卫星数据理解(全球战略),深海水下视觉信息处理(深海战略)。


     

    纪荣嵘

    我自己觉得我从博士毕业到现在大概10年的时间,我认为计算机视觉是远远超过了我当时读书时的任何方向,比如说自然语言理解,信息检索等等。我觉得一个重要的原因是深度学习带来的收获。但另一个方面,我们的这些系统太大太厚重,有没有可能把这个系统做的小一些,做的开销更小一些,这里面有几个维度。大家能马上想到的维度就是把系统做小,做小就可以把它放到端上,放到嵌入式设备上。第二个就是把系统做快,现在自动驾驶或者端上的设备的计算,有可能需要系统处理数据要远远快于实时。

    第三点,现在我们很多时候都是在做单点的系统,每个摄像机执行的功能都是一个完整的闭环,花了很多的计算代价做了很多重复的事情,未来的视觉系统有没有可能由点到面进行大范围系统之间的协同。就是说有没有可能由专到广的,为什么是由专到广,现在每个模型只能解决一个任务,为了解决目标识别用的是目标识别的模型,为了解决语义分割用的是语义分割的模型,为了解决人脸而用人脸的模型,我觉得我们的人脑并没有分得那么清楚。one by one或者 1 v 1的我个人感觉太消耗资源了,有没有可能有一种更灵活的机制,网络结构可以由不同的形式组合在一起,比如说一套模型的backbone,它往上的话既可以做识别又可以做分割还可以检索,还可以做相关的理解。这样的话就可以把整个计算量给降下来。我相信人类进化到现在这个阶段,我们用我们的大脑实现了多任务的,高效能的,并行而且只占用极小的存储开销,我们每天只用吃三碗米饭,我们能完成这个计算机系统消耗多少的计算量来完成的事情。

    第四个观点,我觉得我们的系统现在“吃”数据“吃”的太厉害。我觉得我们人类自身真的没有用到这么多的数据进行学习,我们用了大量的数据复用,比如说我识别消防车,只需要在车子上加一些特殊的部件,我就能识别消防车,我们人是很智能的。但是我们现在的计算机系统太吃这些硬性的资源,所以我觉得在计算资源的消耗上和训练数据消耗上我们也应该探索更多的机制。

    然后,从我自己的感受来说,过去的时间我们看到世界往前发展,我特别希望未来的五到十年里面,计算机视觉的发展是由我们中国的学者去引领的,因为我们现在有巨量的市场,这个市场有我们能马上可以看到的技术痛点,这痛点就在我们身边,应该是我们来做,而不是让外国人来做我们的痛点,我们应该去引领它,所以我觉得未来的五到十年有很多是我们这些中国计算机视觉的学者应该去做的事情。


     

    林宙辰

    在手机上要越做越小,我觉得这不是正确的方向。将来的视觉系统应该越做越大,不是越做越小。所有的运算通过5G放在云上面运算是未来的一个趋势。我们大家都在云端上建立一个大系统,这样的话能够解决多样性的问题。因为要用一个小系统来解决各种各样的问题,我觉得这个概率上讲是不可能的,就是要建立一个跟人脑一样复杂的一个系统,它才能够解决各式各样的问题,这个系统肯定只能放在云上面,手机端愿意多算就多,少算就少算,不要把所有的计算都挤到一个小的手机上面来。


     

    纪荣嵘

    我觉得不一定完全正确。我觉得端上可以做一些轻量级的计算,云上做更重量的计算。而且端上的计算可以使数据的传输由重量级变轻量级。比如说原来传图像,现在可以只传特征,原来要传所有的区域,现在只要传特定的区域。因为手机只用作摄像设备感觉太浪费了,手机其实是一个很好的计算设备。


     

    林宙辰

    我们并不矛盾。我是说想在手机上解决所有的问题这一点我是反对的。一开始你说要在手机上做小网络这个东西,肯定是越小功能越差。


     

    胡占义

    对于这个问题我提个建议,5G对我们计算机视觉影响有多大,其实就是小终端和大终端的问题。如果5G网络很快,终端干脆就可以很小,不需要在这里处理,直接放到云上。我觉得5G对计算机视觉的影响确实要好好理解。


     

    王亦洲

    你俩说的没有矛盾,在专业任务上一定要压缩。处理是与任务相关的,只要满足任务的需求就行。视觉是一个ill-defined problem。什么是视觉这个概念太大了,但如果局限到图像,又太小了。所以怎么去把握它呢?我们丢这个阵地,就丢在了问题的复杂度上面。现在已经被深度学习占领了,我们再漂亮的理论、性能都不行。 然后我们丢在哪儿了呢?视觉问题是不是深度学习就解决了?视觉并不仅仅是一个学习问题,刚才说视觉可以很大,它可以是个认知的问题,top-down、bottom-up、然后各种任务,我们定义的视觉问题的复杂度不够,系统的复杂度也不够。所以我们要把系统的复杂度给加上去,把任务的复杂度也加上去,但是在每个具体的专项的任务上面, 我们要尽量让它简洁(compact), 让它适合于任务(fit for task)就够, 所以怎么去拿回这个阵地,我觉得要在这两方面,复杂度上面加大,然后才能够有可能把这个视觉的东西给拿回来。但视觉其实不单单是视觉问题,应该是视觉主导的任务完成的一个问题。所以,以后CVPR它有没有存在的意义,或者说是不是还是那个趋之若鹜的东西都不一定。


     

    山世光

    我们值得讨论的问题是,怎么撇清计算机视觉与机器学习的关系?我们在未来几年是不是就认怂了,是不是计算机视觉的问题就是机器学习的问题。这个我觉得我们年轻人还是特别困惑,比如说有什么问题是机器学习肯定搞不定,只能靠计算机视觉理论和方法来去搞定的呢? 


     

    陈熙霖

    是现在很多东西都被划到机器学习了。可以对比一下30年前机器学习的书和30年前模式识别的书,再拿今天机器学习和模式识别的书,看差别就行。


     

    胡占义

    我觉得机器学习这个东西,是一种手段,它可以用于计算机视觉,也可以用于自然语言处理。模式识别和数学没有区别,我比较理想,我觉得一个是一种解释手段,一个是说要解决什么科学问题。


     

    王井东

    接着刚才山老师提到这个问题。现在计算机视觉这么火,有多少是机器学习能做出来的东西。像alexnet也是做视觉问题,其实根本没必要担心。我自己也做过机器学习,可以举个例子,早先做过加速、大规模等,在Matlab上面做,这怎么能证明这是个大规模的问题,所以说同样根本不用担心这个问题。

    刚才讨论到一个问题,就是说计算机视觉5到10年怎么走。现在遇到一个状况,不管是中国还是美国,今年年视觉方向的工作机会(opening)特别少,从2012起视觉火了8年,应该怎么继续走。计算机行业外的人给予CV很高的期望,比如超越人类。其实这件事情不靠谱,根本没有超越人类。但是不做计算机视觉的人总觉得计算机视觉的人应该做些什么东西。但是现在到这个阶段,也许这跟当年神经网络一样,像过街老鼠一样,说计算机视觉的人吹牛皮。其实不是我们吹得,是别人吹的。我们要思考,我们视觉如果继续往前走,科学研究方面是一个问题,另一方面是如何去得到持续关注真正做一些能够work的系统出来。尽管我们今天已经在很多方面做得不错,但坦白来讲还没真正work。计算机视觉是不是应该纯粹从视觉的角度解决,其实多模态是一个很好的方向,单单靠视觉这一点,在监控系统里面还是很大的一个问题。从方向上来讲我比较看好多模态这个方向。


     

    王涛

    关于未来计算机视觉发展的趋势很多。我感觉一个最重要的趋势应该是主动视觉。Imagenet竞赛能识别很多的物体,但是图像分类真正在实际场景中就不管用。真正管用的是基于物体检测,然后再进行识别的像人脸识别这种技术。为什么人脸识别成功了,图像分类系统还不成熟。输入一张图像,你必须得按不同的区域不同的粒度进行分析,比如在会场我们拍张照片,识别人,那我们去数人头。但是如果要识别投影仪设备,必须定位到这个投影仪图像才能找到。第二个问题是投影仪的信息有多种层次,比如说有人想知道牌子,那你必须再细看到那个Logo,但是另外有人想知道怎么操作这个投影仪,那你必须得识别它的各种接口,你才能把它的功能识别出来。我感觉最近的Imagenet和ActivityNet行为识别竞赛,大家现在做的这两类竞赛都是用图像分类的竞赛做。用图像分类做竞赛,实际中都不能用,为什么呢?它没有像人一样主动去识别,你得看到这个人,看到那个人真正发生动作的那一帧,这才能把它识别出来,所以我感觉主动是非常重要的。

    第二个,要有层次。层次就是不仅要识别出一些基本的要素,还要把里面的不同层次关系能够结构化的提取出来。我们实验发现把东西拿在一起学的效果会很差,但是如果把这个东西分成两个部分,先固定解码器学编码器,然后再固定编码器学解码器,系统就学出来了。我们的学习得有一些像搭积木一样的层次,先把基本的比如人脸、水杯、花识别出来,然后拍一张照片能把物体之间的关系给识别出来。

    第三个,应该怎么研究。视觉研究很广,想要做成功,得针对具体的应用。人脸识别系统很成熟,但是用在自动驾驶上识别行人就不行,得一类一类来,在不同应用场景中,需要看到不同的数据和不同的性质。所以我认为针对具体应用,未来除了在深度学习基础上主动视觉,发挥层次融合推理应该是一个比较好的趋势。


     

    胡占义

    我觉得主动视觉很重要,但5-10年主动视觉不可能取得巨大进展。这涉及到生物里面反馈(feedback)的高层知识,但反馈很难短期内取得进展。关于视觉的目的1994年CVGIP组织了一个专刊,曾经有过一个辩论。从1994年到现在,可以说主动视觉没有任何的进展。在生物神经系统里面有大量的反馈,但不知道反馈是什么东西。如果神经科学很难给出一点启示的话,那么我们计算机视觉就很难把它做成。这是我的一点个人观点。


     

    王涛

    我觉得以前主动视觉不成功是因为研究方法不对和技术限制。


     

    胡占义

    Recurrent有两个,一个是同层的抑制,一个是高层的反馈,而高层的反馈在生物视觉里面大家知道有大量的反馈,但是反馈的是什么东西还不清楚。所以说根据我的理解,我觉得3-5年内生物视觉很难有较大进展。


     

    王亦洲

    我补充一下,回到学习上,学习是视觉的核心。视觉其实是个伪问题,但学习是一个永恒的本质问题。没有学习,视觉存不存在都不太重要了。与其叫计算机视觉还不如叫computational visual intelligence. 视觉是一种智能,智能的核心是学习怎么去获得知识,反馈只是学习和推理的一个环节。学习是什么?是简单的模式识别,还是高级学习,这可能是学习下一步应该走的,给学习起一个俗的名字叫元学习,如果要和计算机视觉对应,我们叫元认知。核心就是学习,不搞学习是不行的。


     

    杨睿刚

    我觉得机器视觉与生物视觉应该有区别,不一定机器视觉要学习生物视觉。举个例子,比如说看全局我要大照片,然后看局部我要小照片,但是如果你有一个摄像头,可以一下子拍10亿像素,或者有一个摄像装置能把光场记录下来,那active learning与passive learning就没有区别了。这种硬件区别至少在二维图像上,将来我觉得十亿像素应该是很快到来的事情。


     

    陈熙霖

    这个地方我补充一句,这里的主动不仅指分辨率,其本质是通过主动的“行为”进行探索,从而达到有限资源的最大化利用。


     

    杨睿刚

    你说的是一种主动感知的explore,还有一种不改变环境不改变物体的。


     

    陈熙霖

    即使是不做改变,比如从一个角度看和从另一个角度看,光场相机并不解决这类问题,我们无法获得对象背后的光场。


     

    杨睿刚

    光场相机阵列。


     

    林宙辰

    杨睿刚的意思是说干脆把所有的信息都采集了,这个机制还是有点不一样。

     

    王亦洲

    主动学习有一个停机问题,有一个选择的问题。就是说,你所有信息都在这儿,你什么时候停下来,你决定采哪一块,这是最重要的。所以主动学习,它并不是你把所有东西都拍上去,你也得要选择。


     

    杨睿刚

    选择的问题肯定要在里面,但是现在做主动学习肯定涉及到机器人等问题,超出了计算机视觉的范畴。


     

    王亦洲

    所以就不要抱着计算机视觉了,这个就是我的意思。


     

    胡占义

    主动学习这里面有两个概念。第一个是要有探索和注视,否则的话就没有主动性。第二个是记忆,主动视觉是从生物来的概念。在计算机视觉里面,主动视觉这个概念太大了。


     

    查红彬

    我想这里可以将主动视觉与深度学习进行对比。深度学习的问题在于要有标注数据库,需要事先整理好的数据。而视觉系统在实际场景中工作时,需要自己选择对自己有用的样本。这样,将样本选择与视点选择,结构重构,计算优化等策略结合起来,就能有效地发挥其主动性,而不需要让人把所有的数据都收集好喂给它。


     

    郑伟诗

    学习对视觉很重要。Benchmark推动也束缚了目前计算机视觉的发展,ReID做到97%,大家就想不到该做什么,但问题本身并没解决。数据库太有限,采集的东西没有完全反映整个问题,比如说行人的遮挡问题,各种各样的问题。在有限数据的时候,学习可能不能完完全全地解决它。有限数据下的学习,有没有可能受到3D方面的启发?把一个人整个3D的信息,还有行人整个行为的3D信息都能捕捉到的话,我们就可以去掉开放环境下所受到的这些影响,然后我们就可以重构。像我们可以构造一个靶场,这个靶场很重要,无论我们做任何的系统都要做测试,但如果只在有限数据上或片面的数据上做测试的话,我们在真实应用的时候可能就会有受限。因此如果我们能够把3D这种因素嵌入到现在以2D图像为主导的计算机视觉里面的话,可能会对我们整个计算机视觉在未来3到5年的发展能有另外一个维度的推动作用。

    那么为什么做3D?另外一件事情就是现在可能在全世界都在谈的数据隐私问题。数据采集的隐私问题越来越重要,如果你用的是一个虚拟的靶场的话,这种隐私问题就完全不存在。所以,在未来包括可能在国外人脸识别、行人识别,甚至一些行为识别都有可能会受到严重的法律因素的滞后的影响的话,那么我们更需要从3D的角度,从另外一个维度去考虑,是不是在这方面可以拓宽计算机视觉的发展方向,这是我的观点。 


     

    贾云得

    我们做视觉很早了,早先把它作为一条小河,我们流那么多年,突然下大暴雨,现在是洪水猛兽(深度学习)来了。五年以后估计这个模式都过去了。我觉得那条河还会在。因为,从视网膜到视皮层这条通路在那摆着呢,非常高效。因此,还会有好多人研究,五年十年以后我们中国实验室做什么?肯定还是小河里面。

    我看好两个方向。第一个是三维视觉,三维视觉不会很热,也不会很冷,会一直往下走。第二,就是胡老师说的视频理解。这个好几个老师也说了,多模态,就像我们看电影也是一样的,看会儿画面看字幕,看会儿字幕看画面,来回互相理解,现在好像挺热的。原来我们遇到的是数据-语义的鸿沟。后面我们在识别结果和意识间的鸿沟也会出现,一旦有鸿沟就变成热点,因为里边主观加的东西太多了。我觉得视频理解应该是一个热点。


     

    鲁继文

    我觉得我们现在用了很多机器学习的知识。下一步,我自己更愿意做一些特别的工作,就是从机器学习到机器推理。比如给你一幅图像,你一看就知道这个图像未来应该怎么样发展,但对于计算机再强的网络都不行。我觉得现在计算机视觉里面很多时候性能之所以好,是在于我们对这个问题的定义,在这种定义基础上已经基本上可以解决。现在我们可能要再去找一些更能够描述或者更能够匹配人类视觉能力的计算机视觉任务。现在比如说检测、分割、检索、识别,都是单独的视觉任务,这种单纯的视觉任务还是有点简单。当然有的老师可能有不同的观点,就是说他们的变化这种东西可能比较难。但实际上人的视觉更多的时候可能不是这样子的。所以,我觉得在计算机视觉里面一个很重要的问题是怎么样找到这样的任务,能够更好的与我们人类的视觉任务匹配起来,这样的任务既不能太难也不能太简单。这样的任务我觉得还需要我们多花时间去思考讨论,我自己也不知道是什么任务。


     

    王亮

    未来5到10年的CV发展趋势这个主题的主要目的是希望听听我们国内视觉界专家们的新见解。今天听了各位讲了很多,方方面面都有。如果说个趋势的话,每一个方面可能都会有一定的趋势,但大家的意见有不相同,也有相同的地方。这个主题的定位是希望通过这次的深度研讨梳理几个视觉领域中最重要的大家都认可的这样一个发展趋势,有不同的意见没有关系,而且这个讨论也是有交叉的。


     

    查红彬

    这种讨论我觉得挺好。讲一些发展趋势,然后大家能够有一些思想上的碰撞和火花。做视觉研究,大家在发展趋势上,如果有完全一样的看法会很奇怪。要整理出比较明确的发展趋势也很难。为什么呢? 谁要想做出很好的工作,他就应该有一些与别人不一样的看法,如果大家都是同样的看法,这事情就很难往下做。所以我觉得,我们更多的是通过交流各自的想法,启发我们自己能有一些新的思路,或者在我自己的这些想法上能找到一些更多的理由、依据,然后把这个事情做下去。所以我想通过这些讨论,更多的是咱们能不能将来在国际会议上,在研究成果方面,我们也有自己的一些特色在里边。到目前为止,我们写文章是在拼什么?就拼数据库测试上性能提高了百分之几,而且大多数是在别人方法上改进一下,然后做个实验说我提高了百分之多少。但是我们很少有说你的想法跟别人在什么地方不一样,然后你这个不一样的东西在某个地方用起来会有一些效果。一开始你可能效果会比较差,而且你也不容易轻松地打动别人,但是在你的带领之下很多人都会来做这个事情的时候就不一样了。所以我想说,能不能将来不是只盯着这个数据库上的数据去拼,而是有更多的比较好的创意出来。


     

    山世光

    是不是可以倡议建立一个只评价idea、方法原理,不评价在benchmark或者数据库上的好坏的审稿机制?


     

    陈熙霖

    胡老师刚才提到的1994年CVGIP组织的一个专刊中,当年提出了三个需要改进的方面,今天真正实现的只有一件——就是benchmark。那场讨论中说我们这个领域里的工作缺乏比较,自说自话,之后就产生了各种各样比较的数据集。所以我刚才有一句话,在过去近30年中Benchmark推动了计算机视觉研究的进步,就是指的那场讨论开始的。


     

    查红彬

    我同意你的观点。现在回过头来看看,计算机视觉研究了这么多年,也许就是在那些文章出来之后,我们再没有看到什么新的主意、新的理论出来了。在那之前百家齐放,好像有很多新的说法出来。在那个benchmark出来之后大家都在做同样的事情,最后整个领域就变得不怎么活跃了。


     

    胡占义

    我们既然研究计算机视觉,我建议大家读一读Marr的书。


     

    卢湖川

    刚才说到的benchmark,我觉得至少计算机视觉这个benchmark的存在,使得计算机视觉有别于纯粹的机器学习,而且特别是起到了该有的历史作用。现在大家对它的诟病最主要的原因就是它还是一个单一的benchmark。那只能说这个benchmark并不像人一样,那如果有人再去定一个更复杂的benchmark,它是多维的,也许这个benchmark就能够驱动下一个时代的发展,也许就能够完成像人一样的学习或者识别等等。我觉得benchmark本身并没有太大问题,因为人从小受教育的时候就是教他这是什么那是什么,只是人是一个综合的智能体。现在的benchmark如果再往更高的维度发展,也许能够有更好的收获。


     

    杨睿刚

    现在的benchmark太多了,哪些benchmark重要,哪些benchmark不重要,还有随之而来的各种各样的比赛,哪些是重要的,哪些不重要。在某种意义上是不是也跟大家说,我又拿了个世界第一,但可能这个世界第一里面只有十个人参加。那有没有一种方法可以有这样的一个更加好的量化机制,可以给benchmark一个benchmark。


     

    王井东

    Benchmark现在有个很大的问题是很多人做不了。Imagenet很多人做不了,那做不了从我们研究人员的角度来讲,就是文章可能出不去,这是一个可能不好的地方。 但从另外一个角度来讲benchmark挺重要的。视觉的任务目的很多,我们做视觉还有一个重要目的就是培养学生,那至于视觉培养学生这个功能可能是区别于其他的,比如Multimedia。Multimedia从培养学生的角度上我觉得是很好的。但它有个很大的缺点,是没有benchmark。从这个角度来讲benchmark还是需要的。只是现在审稿人对数据集的规模期望更大了,这对很多人来讲尤其是学校里面是很有挑战的,现在可能就少数几个公司比较强。这是我对benchmark的观点。


     

    王亦洲

    建议PRCV单开一个track,鼓励创新性。单开一个不看性能的track。


     

     

     

    展开全文
  • 对未来新型数据库的一点想法

    千次阅读 2017-02-21 13:07:24
    非常感谢您能阅读下我的分享,前年刚来北京的时候,互联网的关键词还是大数据,到去年alphago战胜李世石以后,转成了人工智能。人工智能的基础依然是数据,数据量和计算速度的...这里我说说我新型数据库的一点想法

    非常感谢您能阅读下我的分享,前年刚来北京的时候,互联网的关键词还是大数据,到去年alphago战胜李世石以后,转成了人工智能。人工智能的基础依然是数据,数据量和计算速度的飞速提成是人工智能发展的保障。我(一个业外人士)了解到市场上没有一个合适的数据库来适合这个场景的,为了迎合时代发展,数据库功能向这方面倾斜是必然趋势,也许已经了有很多产品,只是目前我没听过。这里我说说我对新型数据库的一点想法:

    1.支持GPU运算(必要)

    未来的数据库不仅仅是数据存储,更多的是数据处理。这些数据处理涉及到大量数学密集型的运算任务。而GPU擅长的就是处理需要大量数学密集型运算的任务,比如视觉模拟、超快数据库事务、计算视觉和机器学习等任务。目前好像有个MapD的数据库支持GPU

    2.高维计算的效率提高或者更好的支持(必要)

    随着数据维度的增大,对数据的分析越來越复杂,对数据的需求也不可能仅仅局限于传统的运算了,复杂的运算更多的涉及到高维度数据之间的运算。我现在目前接触到的东西,仅仅知道python里面的numpy包对高维度运算做了很好的支持。

    3.查找条件复杂化(必要)

    查找条件不仅仅是以前的用传统方法可以数据化的条件,他将是一些更抽象的条件。比如和某段文字最相似的文字,和某张图片相同的图片,某张图片中包含的图片,某个高维数据完全相同的数据等,这些用深度学习技术都可以大大较少查询的时间负责度和空间复杂度。我认为以后对这些数据的存储模式是高维数据利用som等网络训练出合理的模型,对应相应的低惟空间,再对应相应的分区。

    4.存储方式多样化(必要)

    以前的数据库都是对数据的机械存储,但是以后会更多的从数据中抽取一些特征,然后用这些特征再做相应的逻辑,这些特征一般是多维降维后的高维度数据,目前的数据库对这些数据的机械存储绝对不可能迎合未来需求。

    5.支持机器学习(这里不包括深度学习,不是太必要)

    hadoopmahout,sparkmllib,我就不说什么了

    6.支持深度学习即神经网络(非常必要)

    随着深度学习的理论的发展和深度学习工程技术的发展,深度学习慢慢的会深入到各个公司。深度学习往往涉及到大规模的数据,目前caffe使用的一个叫LMDB的数据库,theano,torch,tensorflow好像是对文件的直接操作,在这个场景仍没有一个较好的数据库,所以迫切的需要一个符合深度学习场景的数据库。

    深度学习的数据来源于数据库,结果保存在数据库,所以数据库需要对深度学习算法有很好的支持。在以后效率决定一切,还有一些存储和查询都会设计到一些神经网络来缩短时间复杂读和空间复杂度,所以从源码层次上支持深度学习也是必要的。

    7.支持深度学习的中间数据存储(必要)

    现在我接触到到的都是深度学习的结果,更深的应用都是对学习过程中中间数据的进一步处理,具体我现在还不太了解。


    最后总结下,其实这些功能都是互相依存的,高维数据使用GPU高效计算,深度学习使用GPU,抽象数据的查找,和多样化数据的存储依靠神经网络完成,神经网络又依赖深度学习。


    这是我昨天思考数据库的一些想法,也许不切合实际,也许会您早已经想过,也许会帮助您有更好的想法,写下来给您分享一下。


    最后,真诚的感谢您的阅读。

    展开全文
  • 谈谈我对未来想法

    千次阅读 2010-07-06 15:24:00
    我很珍惜这次机会,所以平时的工作还很用心,不过还好,我们组长也比较喜欢我,经常鼓励我,我也经常和他一起聊天,讨论未来技术发展的方向。o(∩_∩)o...。然后平时有空就打乒乓球,然后编程。顺便和公司方的技术...

    来总行珠海研发中心近半年的时间了,大部分的时间其实都在学习。我很珍惜这次机会,所以平时的工作还很用心,不过还好,我们组长也比较喜欢我,经常鼓励我,我也经常和他一起聊天,讨论未来技术发展的方向。o(∩_∩)o...。然后平时有空就打乒乓球,然后编程。顺便和公司方的技术人员聊天,了解最新技术动向。

    以前还没有毕业的时候,在学校DIC信息中心呆着觉得无聊就做一个论坛,也是为了学ASP边学边用。后来毕业了就没怎么管它了。工作后,觉得有继续学下去的必要,然后就在论坛中加了个相册的模块,大部分用JS写的,觉得功能不够,就仿照126写了个邮箱模块,还是觉得功能不够,想整个能进行实时沟通的工具,却发现了ASP的技术瓶颈:不能进行页面实时交互式的异步通信。因此又学AJAX。在学完AJAX后发现自己有能力搞定异步通信了,于是就在论坛中添加了个聊天模块,然后发现自己写的用户登录和注册页面现在看来实在太寒碜,就仿照现在的网络论坛的功能重新写了一个。在和公司方合作的近半年中,我们深入到了公司方实地开发的内部,帮助他们写JUNIT单元测试脚本,对代码进行走查。在这个过程中,我逐渐接触到并了解到了一些新的技术和架构。对自己的学习有一定的启迪。但更多的是深入的思考,包括对未来网络发展及技术走向的一些思考,下面听我慢慢道来。或许我的这些思考有些过于肤浅,有些过于理想和幼稚,但我毕竟努力去思考它,接着打算一步步去实现它。

    首先介绍两大主流架构:1是J2EE的架构,这个架构具有平台的通用性,由SUN公司推出。与之对应的是.NET架构,这个架构只能在WINDOWS上运行,要在其他系统中如UNIX或LINUX中运行得安装组件支持。我们公司方采用的是J2EE的架构,因此我们经常听到的就是他们夸自己的产品跨平台、兼容性好。o(∩_∩)o...,其实对也不对。因为所谓的跨平台支持还是会遇到很多的问题,例如服务器版本问题,可能以前开发J2EE的时候用TOMCAT做服务器开发得好好的,在测试的时候服务器上换成WEBLOGIC就老是挂掉。可能以前用IE6.0浏览器JS能够正常运行,换成火狐FIRFOX或NETSCAPE或者苹果的SAFARI不仅页面布局出问题,页面端JS程序还老是报错。结果最后的尴尬就成了:建议使用IE6.0版本以上的浏览器。。。。呵呵,扯远了,只是想说明一点,未必所谓的兼容就是好的。

    J2EE跨平台的确是它的优势,然而,如果因为这个去学J2EE,未免有点小题大做了。因为我已经会ASP了,同样可以跑程序。“不管白猫黑猫,逮住耗子就是好猫”。不管ASP还是JSP,搞定用户需求就是好程序。呵呵。那么,J2EE真正有哪些优势呢?这对我用ASP也是一种启迪啊!

    首先,J2EE实现的分层次的MVC架构。这也是JSP和ASP最本质的区别。M-model,V-view,C-contro。模型-视图-控制。JSP把数据库,服务器端程序(运算与控制),用户展现页面分别化成相对独立的清晰的层次。a.数据库叫持久层,b.服务器端运算叫业务逻辑层(JAVAbean实现),c.服务器端控制叫控制层(servlet实现),d.用户展现叫表现层(applet+css+js实现)。这样,程序结构一目了然,实现了层与层之间松耦合和向下兼容的关系。相对于ASP把服务器端运算、控制、客户端展现都揉进一个页面中,的确是一种进步。但是,高级ASP程序员也能够做到MVC架构:a.数据库持久层:将数据库连接提出来单独作为一个文件配置,需要的地方进行引用;b.业务逻辑层:由VBSCRIPT封装成的INC文件,同样是页面引用,(达到简单JAVABEAN的类封装后台运算的目的)。c.控制层:服务器端语言VBSCRIPT实现,d.表现层:css+js,js封装成js文件,由页面引用。

    再进一步来说,实际上,通过ajax,mvc架构还可以封装的更为彻底,此时,asp,jsp或php的差别就不是那么重要了:a.表现层:页面表现完全采用DHTML完成,这样,在用户浏览网页的时候根本看不出你用的是ASP,JSP,还是PHP,他/她只看到HTML网页。(目前很多大型门户网站就是这样做的,而且HTML网页执行效率更高)b.控制层:通过html中的ajax使用xhr调用服务器页面(asp.jsp或php)完成异步通信操作,实际上就是服务器端控制层所进行的工作。c.业务逻辑层和数据库持久层同上。

    然而,j2ee更大的优势在于:开源框架。这是asp无法比拟的。比如,实现上述MVC架构只是初级JAVA程序员的水平,到了中高级JAVA程序员,MVC就变成了:a.持久层:HIBERNATE框架,对数据库对象进行封装建模。b.业务逻辑层:spring轻量级开源框架(相对于高级JAVA程序员的EJB-EnterpriseJavaBean)c.控制层:servlet,d.表现层:structs框架。通过框架进行开发,好处在于:1.更完美的封装,比类对象的封装更进一步。框架本身就是代码高内聚低耦合的极致。2.完全面向接口式的编程。如果改变一个类的功能可能要改动很多的代码,改框架更轻松。3.代码复用效率高。举个例子,如果你用框架写一个东西和用ASP写一个东西,你把这个东西应用到其他的地方,用ASP可能要调试三天,或者重写代码(时间更多),而框架技术只需要3分钟不到(引用,调试好接口,复用它,搞定)。4.开源的优势。上述框架都是开源框架,能够应用于企业级别的开发而不担心版权和付费问题。而相比较起来,到了这个层次,ASP几乎只能通过扩展组件来支持,而现在支持ASP的扩展组件一是应用范围局限性,二不是开源产品,因此当实际开发中遇到这样的问题时,常常找不到对应的组件。而如果每个“车轮”都自造,是多么痛苦的一件事情!(.net相对较多,但仍然不开源)

    另外,J2EE正是基于上述框架模型,逻辑代码与数据完全分开,使其安全性和稳定性都超过了ASP和PHP,PHP还好,至少效率上很占优势,它部署的大型架构可以支持同时数亿个在线连接(如现在很火的开心农场就是基于PHP架构的,支持数亿在线连接),而ASP呢?和PHP相比速度慢、效率不高,和JSP(一般用于通信系统和银行系统)比稳定性不好、安全性不好、而且还不开源,这也是ASP最终没落的原因吧。

    那么,J2EE的架构优势我们基本上已经明瞭了。现在,我们可以看出,不到大型企业级应用的话,ASP是能够搞定的。那么,再聊聊未来web的发展趋势吧。同时也看看还有啥好东西值得咱学习的。

    首先可以肯定一点:B/S系统必将取代C/S系统成为未来web发展的主流。为什么?因为B/S系统有如下几点优势是C/S系统所不能及的:1、c/s系统存在客户端安装与部署问题,如果是一个大型应用,必须到每一台客户端计算机上安装客户端软件,一旦程序新版本发布,更新,升级,都必须在相应客户端进行升级。如果涉及到几十万上百万用户,这是一个不小的工作量;2、对于没有升级的用户版本存在不一致的问题,存在系统漏洞的风险;3、B/S直接在服务器端升级,与用户无关。同时B/S只需要浏览器即可访问,而80%的用户默认内置IE浏览器。从这种意义上来说,在用户端不用安装任何软件,也不用任何的升级过程即可享受B/S系统带来的应用和服务。

    您能够想象一下吗?未来我们的互联网将是什么样子的?五年?或者十年以后?

    我们大胆想象一下,未来web发展可以分为三步:1.b/s完全取代c/s实现桌面客户端应用需求;2.把上述范围拓展到手机和pda上(可能以后和电脑都叫智能终端);3.通过云计算实现共享处理和存储能力,从而实现智能终端的超级应用。

    想象一下,如果你打开手机(智能终端),能够一边打魔兽世界,一边和在大洋彼岸的朋友聊天,是多么惬意而疯狂的一件事情!这在现在看来难以想象的事情,实际上在技术上是完全有可能实现的!首先,就第一步而言,将BS的应用扩展至CS上,这是目前企业级开发追求的共同目标。现在的系统开发,我们已经很少看到使用CS做的系统了,每个公司进行宣传的时候都声称自己的系统是基于XX(.net或j2ee)架构的BS系统,以炫耀其先进性。的确,BS系统的优越性我们在之前已经讨论过。然而,目前的瘦客户端技术相较于CS的胖客户端技术来说,存在着以下几个方面的缺陷:1.瘦客户端技术的客户端展现能力还处于十分落后的地步:基于传统的提交网页的形式无法做到与服务器的实时交互,还好AJAX的出现解决了这个问题。然而,相较于传统的CS强大的客户端表现能力和丰富的用户交互体验来说,目前的网页技术还做得很不够,与CS还存在着一定的距离。2.目前基于瘦客户端的网络通信协议尚有待改进。例如要做到安装QQ客户端的语音、视频聊天,不仅仅是客户端表现的问题,还涉及到底层的通信协议。而AJAX技术目前也无法满足这个要求的。相应的,会催生出更多的技术和底层通信协议来实现上述目标。而一旦上述目标得以实现,可以说,网页QQ取代客户端QQ的时代就已经不远了。(基于RIA的FLEX技术不仅兼容了很多框架,而且支持SOCKET套接字,为通信专门开辟一条通道,有可能实现上述目标。)推而广之,相应涌现出来更多的技术一旦解决了BS前进道路上的种种困难(一旦成为网络发展的趋势,看似不可解决的这些困难也就微不足道了),那么,BS取代CS的时代也就不远了。

    那么,RIA可以把我们的互联网大大地向前推进一步,然而,这和我们之前提到的目标差距还很远。差距在哪里呢?例如:此时如果我想在一台性能很差的计算机上跑魔兽世界(假设此时的魔兽世界已经推出BS的版本),对于对硬件要求如此高的应用来说,这个目标在目前实际上是无法达到的。为什么,内存不够,显卡太差,CPU跑不起来,等等。那么,就目前的技术而言,有什么解决办法没有?答案是:有。B/S系统在设计的时候就把运算分为了两种,一种是在本地浏览器端运行的,例如JS脚本,另一种是在服务器端运行的,例如JAVA,VBSCRIPT,C#等。那么,如果我将页面呈现的内容交给浏览器端,而把所有运算的内容,包括显卡GPU进行高质量画质渲染所进行的计算量(可以想像这加起来计算量是多么的庞大,因此对带宽也有很大的要求,然而让我们仅仅对未来网络的发展基于乐观主义者的角度来考虑上述情况),统统交给服务器端来完成,最终仅仅把运算结果的数据阵列(一种可能的假设)以二进制流的形式传送给需要它的用户,那么,从理论上说,只要服务器的数据处理能力够强大,大到能够对所有这样的用户数据进行实时的并行的处理,那么上述应用是完全能够实现的。然而,就现在情况而言,一个好的架构师要求我们在设计程序的时候尽量在浏览器端完成一些服务器端不是非常迫切或必要的计算内容(例如页面验证等等,当然,出于安全考虑,服务器端也应有一个对应验证),以减少服务器端的压力。为什么呢?究其根本原因,还是服务器的处理能力的限制导致的。就目前服务器的处理能力而言,根本无法想象我们刚才提出的那种处理要求。就是把所有的数据处理都写成runat=server它都吃不消,更甭想帮你消化GPU的处理能力了。那么,我们的问题是:1.刚才提出的假设有可能实现吗?2.怎样实现?

    答案是:云计算。或许很多人对这个词的概念还很陌生。不过,请诸位去百度一下,或者去大公司网站对架构是或者总体设计师的要求看看,或许你会发现赫然写着一栏:熟悉网格计算,分布式计算,云计算。。。。。。,为什么我说云计算能够解决上述问题呢?现在我就介绍一下云计算的内容,理解简单一点,实际上它就是一种分布式运算。何谓分布式运算?即把本该由一台服务器(计算机)处理的内容切割成许多快,由一套看似独立的却又有彼此联系(网络连接)的计算机系统来共同并行完成上述内容。通过算法对每个子服务器进行负载均衡的资源分配,将一个大型的运算任务(本来有时间顺序,通过某种算法优化)切割成无时间顺序并发进行的小块,(【类似原理】:IBM的DATASTAGE的企业版本和服务器版本相比较,企业版有类似于通过某种算法对串行处理的数据进行切割且并行处理的能力)。然后通过集群管理汇总得到最终运算结果,这样,实际上我们从逻辑上可以把这个系统看成一台超级服务器,事实上,他们可能是许多能够共享处理能力的计算机集合。他们可能不处于同一个地方?对!这就是分布式的概念!可能这个集合中的一台计算机在中国,而其他的计算机分布于世界各地,他们之间通过INTERNET连接起来。这样,必须有一种协议,比如怎样进行协作?怎样共享处理能力?等等。这样,这个集合中可能有超级计算机的存在,也可能是一群落后的计算机的集合,然而,一旦通过某种优化的算法进行优化配置,这一群计算机的整体性能可能大于各台性能累加之和!(这也是哲学资源优化配置的内涵啊!:-)),试想,这样做一方面可以完全利用计算机资源(不必淘汰落后产品),另一方面只要这个计算机集群足够大,它的性能可能超越目前实际上最优秀的大型计算机!(事实上,很多科幻小说中已经描述了这样的一个情况的可能,整个互联网就是一台超级计算机!或许,人工智能也必须复杂到这样的一个程度,每一台电脑模拟一个神经元,几十亿个神经元的有序集合才能催生人工智能吧),而这所有的一切,都必须建立在共享处理能力的基础上!即分布式计算-云计算。当然,实现这一目标距离我们的现实依然很遥远,然而,就近一点的来说,对我们开头提到的问题,云计算有什么帮助呢?聪明的你可能已经想到了——既然分布式计算的目的就是共享处理能力,那么刚才的技术瓶颈不就是服务器处理能力的瓶颈吗?一旦云计算真正应用于互联网,实际上,用户集群的本身就是一个超级服务器,每个节点都可以动态贡献自己的处理能力和存储能力,按实际需求索取相应的处理和存储能力,而收费就像用电一样简单,用多少给多少。

    嗯,的确是个不错的想法。不过问题也多多啊!首先,病毒的问题。处理和存储的共享使病毒传播速度可以瞬间遍及整个网络。可能以后DOWN机不是一台两台,也不是一个两个局域网挂掉的问题了,是整个互联网的安全问题!其次,共享带来的对立面是隐私,如何更好地保护隐私?一旦共享,对于黑客的防范就变得更加困难(他总能找到你意想不到的后门在你毫无防备的时候偷偷进入)。如何更好地保护个人隐私?如何保证商业机密甚至军事机密?可能未来云计算面临的不仅仅是技术上的问题,还面临道德和法律的问题。

    但是,不能因为上述问题的存在而阻碍历史前进的步伐,首先,这是我们的一个梦,几代人的一个梦,自从我们小时候看阿童木那神奇的电子腕表就被那光炫迷人的未来科幻世界所深深吸引,我想,很多的IT精英们做着和我同样的一个梦,一旦这个梦想存在,就有人为这个梦想而努力!其次,这个技术的本身就是由计算机领域内的专家提出来的,它的出现,就是为解决我们当前所遇到的问题。因此我完全有理由相信,上述的梦想终有一天会成为现实,而我们的使命,就是把梦想实现!如果在实现梦想的过程中,能够抓住机遇,成就自己的一番事业,是多么美好的一件事情啊!

    呵呵。这个梦可能很幼稚,诸位看过了,笑过了,想想就好!

    展开全文
  • 软件测试工程师经典面试题

    万次阅读 多人点赞 2018-10-27 23:55:52
            经理or董事长:这个回答回答起来的话还是比较难把握的,因为在面试时,面试者往往对公司发展方向不是非常了解,所以在回答时可以再带一句,“具体的发展方向,还需要公司发展方向去调整”。...
  • 公司现在有多少个部门,我的岗位所在部门规模是怎样的,主要负责的事情是什么? c.公司的社保和公积金的问题,是入职即交还是转正再交?社保是几险几金 d.公司加班多吗,如果加班的话有加班费吗?晚上加班的话有...
  • WiFi未来发展趋势 你知道吗?

    千次阅读 2019-06-24 09:23:42
    对于学习网络工程的学子们来说,一些基本的网络技术是需要学习的,同样的网络工程行业的发展行情也是需要了解的,北大青鸟就来介绍一下网络工程中的WiFi发展趋势,拓展网络工程知识。 网络工程之WiFi发展趋势 第一...
  •  首先自我介绍下自己,鄙人现大三学生,准备奔四了,现在在一通信公司研发部担任一名开发工程师,本人文采一般,没过多的语言修饰,如有难懂句,错别字请多多包涵,也请尽量拍砖,争论使人变得聪明,我相信这是
  • 随着人工智能、移动互联网和物联网的兴起,大数据越变越大,也带来无限想象力和商业应用价值。 在2017年,我国大数据产业保持高速发展态势,...因此,未来几年,大数据产业将朝着以下趋势发展。 大数据发展趋势 ...
  • 这期间越来越多的新大使涌入进来,也有很多大使被成功大使的经验鼓舞着激励着,小编在此感谢大家云大使大咖秀系列的喜爱和支持,未来我们会出品更多的精品文章,也希望更多有经验有想法的大使加入我们。...
  •  屏读也是未来发展的趋势,屏幕是无处不在的,在交通工具的后方可以看到屏幕,在大楼的上方可以看到屏幕,每一页的书都可以用屏幕。我们在使用屏幕浏览信息的同时,屏幕也在审视我们,软件会监测,分析用户的浏览...
  • 测试行业的发展趋势和看法

    万次阅读 多人点赞 2019-02-20 15:49:46
    [ 声明:本文为博主梳理改编,转载请注明出处:... 我是从开发半道转去做测试的,当时刚从事测试这个行业的时候也是意气奋发,对未来充满无限憧憬,但是在这个行业摸爬滚打了十多年后,渐渐发现这个行业不...
  • 日前,地理信息科学(GIScience)之父,加州大学圣芭芭拉分校地理学名誉教授Michael...2011年,Esri公司的《ArcWatch》杂志曾请我预测未来GIS的发展方向,我提出五个想法:GIS将适应室内环境,我们将有能力知道所有事物
  • 《人工智能杂记》人工智能时间简史

    万次阅读 多人点赞 2018-03-13 08:54:55
    1人工智能基本概念 人工智能(Artificial Intelligence,AI)是指计算机像人一样拥有智能能力,是一个融合计算机科学、...2人工智能发展历程 人工智能的起源:人工智能在五六十年代时正式提出,1950年,一...
  • 浅析融媒体的发展现状和未来前景

    万次阅读 2020-02-29 21:04:33
    随着互联网的发展,融媒体时代迅速到来。自2014年中央提出媒体融合发展战略,到如今,媒体融合已走入第六个年头,六年之中媒介融合之路经历了多个阶段。媒体融合正由渠道、平台、经营、管理等方面的深度融合转向系统...
  • Android开发的未来发展方向

    千次阅读 2018-09-04 10:57:30
    比如很多公司要求会对对某项要求会优先考虑,比如现在流行的Kotlin,混合开发,跨平台开发,NDK,高级图像处理等,市场上很火爆的直播和小视频音视频这个细分领域的高级人才需求量也是比较大的,以至于AI、AR、VR...
  • SDN

    千次阅读 多人点赞 2017-06-29 11:35:37
    SDN的本质定义就是软件定义网络,也就是说希望应用软件可以参与网络的控制管理,满足上层业务需求,通过自动化业务部署简化网络运维。 1 SDN标准:ONF 网站:https://www.opennetworking.org/ 参考:...
  • USB 发展 缺陷 与 未来

    千次阅读 2020-03-17 18:00:12
    USB 发展 缺陷 与 未来 摘要 USB 是英文 Universal Serial Bus(通用串行总线)的缩写,自 USB-IF 于 1996 年推出 USB V1.0 后,USB 版本经历了多年,有 USB1.1,USB2.0,USB3.0,到现 在已发展为 3.1 版本...
  • 游戏行业未来发展趋势分析?

    万次阅读 2017-12-27 23:04:16
    我,一个刚刚准备进入游戏行业的小白,大致猜想了游戏未来的几个发展方向与趋势。我认为,游戏未来发展方向分为以下几个方向: 一、高新技术类型的游戏。 游戏行业可谓是分秒必争,尤其是现在的手游时代,更新...
  • 期初我计算机专业了解就是什么做PPT,打个word等,之后就知道有编程这个东西,许许多多枯燥的英文字母。 而现在我是一名大学生,学习的是计算机专业,到现在有三个月的时间了,接下来就说说自己计算机专业的...
  • 他们的想法为后世的哲学家所继承和发展,其中著名的有亚里士多德(三段论逻辑进行了形式分析),欧几里得(其著作《几何原本》是形式推理的典范),花剌子密(代数学的先驱,“algorithm”一词由他的名字演变而来...
  • 5G六大关键技术及未来发展趋势

    千次阅读 2020-12-29 00:00:00
    随着时代的快速发展,科学技术也不断创新以及改进,其中通信技术发展尤为迅速,为移动通信技术的更新换代提供条件支持。目前为止,通信领域最先进的技术是5G移动通信技术,预计会在2020年广泛使...
  • 1. 数据挖掘的含义 ...要想使数据真正成为一个公司的资源,只有充分利用它为公司自身的业务决策和战略发展服务才行,否则大量的数据只能成为包袱,甚至垃圾。因此,数据挖掘技术应运而生。 数据挖掘出现于20世纪80
  • 未来大数据发展趋势

    千次阅读 2020-07-21 18:59:31
    对于一些人来说,有些事情并不那么明确,这关系到大数据分析的未来发展趋势。很多新兴技术正在迅速发展。对于现在或即将使用它们的企业意味着什么? 那么什么是大数据?它包含了由一个实体保存的结构化和非结构化信息...
  • 为什么说flutter是未来移动技术的发展趋势

    万次阅读 多人点赞 2018-07-02 21:11:28
    其实我也并不认为flutter一定是移动技术未来发展趋势,但是可以确定的说,flutter的方向是没有问题的。即使它不会是成为下一个跨平台技术,也会有一个相似的技术来统治移动平台的发展.下面来阐述为什么flutter是一...
  • 也是很多大学生开始不知所措的阶段,不知道自己的未来该如何走下去,IT技术的提升、考研、就业等等问题相拥而至,其实如果有一个明确的路线规划,这些问题就不是问题了,下面阐述一下自己的想法! 对于实习: 我...
  • 程序员未来前景怎么样

    万次阅读 2018-08-09 11:02:19
    程序员未来前景怎么样我们?没办法去预测任何行业、任何职业未来十年会怎么样。  因为未来谁都不能确定。我只能说只要有互联网存在,程序员依然是个高薪热门行业。  只不过有可能Android程序员已经消失或者...
  • 自从3月离开360之后,已经很久没有出现在国内游戏圈里了,因为选择了在一家香港上市的游戏公司工作,这段时间一直在海外市场到处看,也花了不少时间思考整个游戏行业的发展历史和未来趋势,对比中国游戏市场和海外...
  • Leo Breiman和Adele Cutler发展出推论出随机森林的算法。而 "Random Forests" 是他们的商标。 这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的...
  • 关于未来科技的想象

    千次阅读 2017-11-29 22:15:22
    对于未来的科技可以设想许多,具体涉及到我这个想法的出发点是: 鼠标 没错,的确是鼠标,我前些天在网上买了一个鼠标,但是由于卖家物流原因,我没收到,于是退货了,想重新淘宝一个。 买的时候我在想,买个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,971
精华内容 36,788
关键字:

对公司未来发展的想法