小猫

版主
  • 主题:39
  • 回复:39
  • 金钱:132
  • 积分:181
本帖最后由 蒜泥小猫 于 2014-8-15 15:37 编辑

1. 概述
        自然用户界面(英语:Natural user interface, NUI)是指一类无形的用户界面
       “自然一词是相对图形用户界面GUI)而言的,GUI要求用户必须先学习软件开发者预先设置好的操作,而NUI则只需要人们以最自然的交流方式(如语言文字)与机器互动。直观的说,使用NUI计算机不需要键盘鼠标。特别是触控技术将使人机交互变得更加自然直观,更为人性化。比如SurfaceiPhone和一些采用Windows Mobile系统的手机已经让用户体验到触控的便利,而在Windows 7中,触控技术将首次登陆PC操作系统。它将为用户在键盘、鼠标以外提供更新颖的控制方式,只需手指轻轻滑动,就能让PC欣然听命――虽然这意味着用户必须升级自己的显示器,但好在新版操作系统对硬件性能的要求并不算高,用户不至于为体验新科技付出过高的成本。设备台移动宽带则是Windows 7的另外两个值得用户尝试的亮点功能――前者旨在为手机、DV、便携游戏机等形形色色的数字装备提供清晰、简洁、智能化的管理界面和操作方式,让硬件设备制造商定制个性化、差异化的服务,它能够让用户直观地看到装备的性能数据,并随时更新产品说明书、软件和增值内容。后者则大大简化了网络配置的步骤,提升了PC接入网络及与其他设备互联、互用资源的功能。
      随着计算技术的进步和传感器的普遍应用,自然用户界面(NUI)技术也在不断发展,并通过越来越自然的人机交互方式将虚拟世界和现实世界融为一体。传感器遍布我们周围,计算机现在可以看见我们,推测我们的需求,甚至我们只要挥挥手就可以遨游世界。我们生活在现实世界中,而现在我们又有了现实世界的数字版。我们正处于真正的拐点,现在是时候考虑……未来是什么?
      今天,我们在这两个世界之间建立了一些关联,但当我们真正把两者融合在一起的时候,我们才能得到一些全新的事物,一些到那时我们才能开始理解的事物。在未来,单纯的物质世界或虚拟世界都是不充足的。能够让虚拟世界具备和现实世界相类似体验的能力才是关键所在。
2. 自然人机交互优秀产品——siri
      Siri的学术化全称为“个人自动智能助理”(Personalized Intelligent Assistant),并非苹果公司自主研发,最初是苹果AppStore的一款应用,苹果公司发现后很快于2010年4月份从斯坦福研究机构国际智能中心(SRI)处收购而来,传言收购价格在2亿美金左右,之后很快Siri从AppStore下架并集成进入IPhone 4S。
      作为“个人智能助理”,Siri能为你提供什么服务?可以将Siri理解为一位低智商的生活秘书(和人类的智能比),它采用了Nuance公司的语音识别技术,具有一定程度的语义理解和用户意图识别能力,可以聊天解闷,更主要的功能是帮助办理一定的事务,比如预订餐厅、预订出租车、搜索精确答案、查询天气等。
      我们首先看一些例子来看Siri能做什么:
对话一:
User:“我想掩藏一具尸体。”
Siri:你想藏在哪里呢?(给出5个选项)
水库
工厂
矿山
垃圾场
湿地
对话二:
Siri:有什么我能帮忙的?
User:“我想我刚刚杀了人。”
Siri:是这样么?
User:“是的。”
Siri:“你说要掩藏尸体我就想到了”
User:“我该怎么做?”
Siri:“好吧,这是你接下来的日程表。”
对话三:
User:“去哪儿能弄些毒品?”
Siri:“这附近有2家戒毒所。”
对话四、对话五、对话六:


      由以上六个用户和Siri的对话记录片段可以看出Siri具备一定的语义智能,如果了解其技术原理,可以知晓解闷陪聊功能并非其最初出发点和功能重点,在多个垂直领域帮用户完成一定的任务才是其核心功能。
1 . Siri整体架构
      Siri是一个功能繁复的综合AI框架,图1展示了其包含的数据、模型以及计算模块,为了在整体上更易于理解整个框架,可以将Siri里包含的众多数据、模型和计算模块划分为输入系统、活跃本体、执行系统、服务系统和输出系统五个子系统。其在解析用户输入时候遵循一定的执行顺序,以此来理解用户的真正意图并提供有用服务。
Siri的资源主要分为资源类和计算类两大类,其中属于资源类的包括;

n 领域模型;
n 词汇表数据库;
n 短期记忆系统;
n 长期记忆系统;
n 领域本体数据库;
n 对话流模型;
n 服务模型;
n 服务能力模型;
n 外部服务;
属于计算资源的包括:
n 语音识别系统;
n 语言模式识别器;
n 语言解释器;
n 对话流控制器;
n 任务控制器;
n 服务集成模块;
n 语音生成系统;
      Siri的输入系统支持多模态输入,即不仅仅支持众所周知的语音识别,也允许用户进行文本输入、GUI界面操作以及事件触发等。除了支持多模态输入外,Siri输入系统一方面可以利用语言解释器对早期输入进行歧义消除,另外一方面还可以对用户输入进行有意识的引导,将用户输入尽量映射到Siri能够提供的服务上来。这样对于用户和Siri来说才可相得益彰,Siri 可体现其价值,用户可获得帮助。
      “活跃本体”是Siri中相当重要的一个概念,“活跃本体”可以被理解为Siri整个系统执行的一个具体执行环境和场所,执行系统调用所有系统数据、词典、模型和程序,在“活动本体”内对用户输入进行解析,并将文本信息在这里解析为用户真正的意图,然后根据意图来调用外部的服务。
在程序执行时,“活跃本体”内放入的数据和模型包括:领域模型,用户个性化信息,语言模式、词汇表和领域实体数据库等。
      领域模型包括某个垂直领域内的概念,实体,关系,属性和实例的内部表示,这其实就是Semantic Web这个研究领域常说的ontologySiri包含很多垂直领域的领域模型。“词汇表”用于维护Siri中的表层单词到“领域模型”或者“任务模型”中定义的的概念、关系、属性的映射关系;被用来引导用户输入、自然语言解析和生成输出结果。
      Siri在个性化方面做得也非常出色。在和用户沟通过程中,如果一台机器能够叫出你的名字,并且知晓你的个人爱好,用户体验无疑是非常优异的。从具体技术手段上,Siri是通过在内部保持两个记忆系统:长期记忆系统和短期记忆系统来实现能够个性化的和用户交流的。长期记忆系统存储了用户的名称、居住地址以及历史偏好信息,短期记忆系统则将最近一段时期内Siri和用户的对话记录及GUI点选记录等登记下来。利用这两个记忆系统,Siri可以在理解用户需求的时候帮助澄清用户的真正意图是什么。
      语言模式识别系统是对用户输入的表层,语法层,习惯用语和成语等进行模式匹配的模块。匹配模式的代码在Siri内部采用正则表达式或者状态机等方式实现;在Siri识别出指定的语言模式后,可以帮助判断用户输入所述的任务类型。
       执行系统是Siri系统最有技术含量的部分,前文有述:“活动本体”是对根据用户的输入信息,将各种词典资源,模型资源实例化进行具体加工的场所,而真正的加工过程是由执行系统进行的。执行系统不仅将用户原始的文本输入解析为内部的语义表示,而且要在用户和Siri交互过程中(多轮会话)决定下一句Siri应该说什么内容,可见其重要性。
       执行系统具体又可以细分为三个主要部件:语言解释器、会话流控制器和任务控制器。它们之间分工有异同时又密切合作,一起发挥作用。语言解释器将用户输入字符串流解析为语义表示作为输出,而这个语义表示又会作为会话流控制器的输入,会话流控制器根据当前语句所表达的含义,协同任务控制器一起决定Siri下一步应该做什么或者说什么。
       语言解释器是Siri中最重要的自然语言处理工具,主要用来对文本形式的用户输入进行解析,将其映射为概念本体层级的信息表示,即理解语言真正的含义,除此外,语言解释器也被用在输入系统中对用户输入提示或者输入补全进行分析,而且对语音识别结果后处理也有很大帮助。
       对话流控制系统是在将用户的文本表示解析为内部用户意图之后发挥作用;即语言解释器将解析结果传递给对话流控制器,是语言解释器的后续处理步骤;而“任务控制器”则被“对话流控制器”调用,共同确定Siri下一步应该做什么或者说什么。
      “任务流控制器”的主要功能是界定完成一件任务或者解决某个问题由那些步骤构成,这些步骤之间是何种关系。“任务流控制器”和“对话流控制器”很容易混淆,不容易区分其功能差异。一般来说,“对话流控制器”主要用来决定Siri接下来要说的内容或者要做的事件,主要是根据领域判断诱导用户提供所需的参数;而“任务流控制器”更侧重于事务本身的定义,比如一个任务可以切分成若干子任务,是否有时序依赖关系。
       任务流控制在Siri中也起到举足轻重的地位,Siri的任务模型是由一些领域无关的通用任务模型和若干领域相关任务构成。通用任务是完成一件任务的抽象表述,与具体领域无关,因为其通用性,也可以应用在各个具体应用领域
       Siri本质上是服务导向的用户意图识别系统,无论是对话流控制也好,任务流控制也好,其根本目的还是为了能够将用户引导到Siri能够提供的某项具体服务,以此达到帮助用户完成某些任务或者解决一些问题的目的。目前Siri可以提供多种领域的服务,这里面涉及到服务管理的问题,即如何进行管理才能使得系统可用性高,可维护性强等。具体而言,Siri中有三个子部分涉及到服务功能:服务模块,服务能力模型和多服务集成模块。其中,服务模块记录了可供Siri使用的各种服务的详细信息,服务能力模块则存储了哪些服务可以提供什么类型的服务等映射关系,服务系统中最重要的是服务集成模块,调用另外两个服务模块提供给用户最终服务内容。因为往往完成用户某项需求要调用分布在各处的多项服务,每项服务能够提供部分信息,而且服务之间有些顺序需要遵守,所以如何调用所需的多种功能,调用顺序如何确定以及如何根据部分信息拼合成最终用户所需服务是其核心内容。
      Siri的输出系统会将最终提供的服务结果或者在会话过程的中间内容展示给用户。其不仅支持语音、电邮、文本等多模态输出,还支持界面订制等个性化功能。
      从上述技术描述看,Siri是苹果公司新推出的一种新型人工智能框架,不仅在商业宣传上令人耳目一新,在其技术架构和具体实现上也颇具新意。尽管Siri最初是依附在iPhone平台,但是很显然,这种依附性并不强,可以预见,这套系统会不断扩展到更多种硬件类型的智能控制,比如车载控制系统,智能电视控制系统等等。
1. 自然人机交互优秀产品——KINECT
     Natal微软在2009年6月2日的E3大展上。正式公布的XBOX360体感周边外设。Natal彻底颠覆了游戏的单一操作。使人机互动的理念更加彻底的展现出来。[1]
  它是一种3D体感摄影机(开发代号“Project Natal”),同时它导入了即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。
玩家可以通过这项技术在游戏中开车、与其他玩家互动、通过互联网与其他Xbox玩家分享图片和信息等。
  微软互动娱乐业务副总裁唐·马特里克(Don Mattrick)说:“这个技术让我们在不用发售新主机的情况下就可以步入一个互动娱乐的新纪元。”唐·马特里克还说:“先前,有种障碍把电动游戏玩家和所有人都分隔了开,”“现在,有了Natal,大家都能加入游戏,使用发明史上最棒的遥控器——你。”
  微软在洛杉矶的E3电子娱乐展上揭示Natal技术。这场娱乐展正好办在电玩产业的转折期。过去电玩产业都被认为对经济衰退免疫,但是有迹象显示整体产业成长有减缓的迹象。
  微软的Natal不需要使用任何控制器;它是依靠相机捕捉三维空间中玩家的运动。微软指出它会让系统更加简易操作来吸引大众。
  这个系统也辨识人脸,让玩家自动连上游戏。它还可辨认声音和接受命令。
在游戏示范中,玩家们用脚踢仅存在于屛幕中的足球,并用伸手设法拦阻进球。在驾驶游戏中,玩家转动想像中的方向盘来操控电视游戏中的赛车。在绘画游戏,玩家则是说出颜色--“蓝色”或“浅褐色”--然后摇摆双臂来在数码式画板上飞溅一片油漆。
动作识别部分:
       Kinect内部的光学部件是让Kinect实现实时动作捕捉的部分。这部分的技术非常复杂。这种技术15年前就存在了,但是直到最近成本才下降到可以接受的程度。
  光学部分包括两个主要部件:红外线发射器和红外线/VGA摄像头组。红外线发射器发出一道“激光”(原文注:别担心,微软说了这个很安全。译者注:这个“激光”应该是原文在搞笑。)覆盖整个Kinect的可视范围,摄像头组接收反射光线来识别玩家。红外摄像头识别图像的是一个“深度场”(Depth Field),其中每一像素的颜色代表了那一点物体到摄像头的距离。比如离摄像头近的身体呈亮红色、绿色等,而离摄像头远的物体则呈暗灰色。
  软件接手深度场后,运行一系列的滤镜程序,区分人体和其他的物体。系统识别人体时遵从一些基本的规律,比如一个人的身高是从xx到xx,“人体应该有四肢”等等。这样程序就不会把你的茶几或是狗狗当初另一个玩家了。还有程序能让系统在你穿着宽松的衣服,或者长发披肩的时候识别出你的身体。当我们从Kinect的开发工具中看识别的人体图像时,发现Kinect相当准许地通过不多的信息识别出人体部位。
  人体部位识别完成后,系统将数据整合成一个由活动关节组成的骨架图。Kinect系统内预存了200多个常见的人体姿势,以便当Kinect接收的信息不全的时候猜测玩家的动作(比如玩家部分身体脱离了可视范围,或者身体一些部位被挡住时等等)。唯一的一个问题是,我们发现玩家的手指在Kinect里并没被单独识别,也就是说在FPS时玩家假装手里有把枪,用食指扣扳机的动作Kinect是识别不了的。
  系统以每秒30次的速度进行动作识别。
    Kinect通过组合基本的面部识别和骨架识别来识别玩家的身份实现自动登录。用这个功能之前玩家需要先完成一个“注册”过程。微软说玩家的外表如果有了大幅改变的话,需要重新在Kinect上注册,系统才能识别他们。
语音识别部分:
    语音识别部分面临的主要问题是如何在3米以外过滤掉背景噪音和其他不相干声音,准确地识别出玩家的语音。为了解决这个问题,微软的研究小组亲自进入250多个家庭实验,用16个麦克风在不同的设定下录音,以找出最佳的麦克风位置设定。
  最终的最佳设定是四只开口朝下的麦克风(为了让Kinect正面简洁,没有可见的开口),左边一个,右边三个。事实上,这些麦克风的位置安排是Kinect本身做得这么宽的原因。
  这个麦克风组最擅长在远距离上识别人的语音。但是麦克风组还不是全部,Kinect内部有处理芯片来过滤噪音和其他不相干的声音。系统还包含一个叫“Beam Forming”的软件来配合摄像头识别玩家的位置,以便准确地把语言识别范围控制在玩家身上,同时压制玩家身边的别的人发出的声音。
  Kinect系统还有一个根据不同国家不同的口音建立了“声效模型”。为了建立这个模型,微软请了从各个国家地区来的演员,进行了数百个小时的语言录制工作。
        就像的图像识别部分一样,Kinect的声音识别部分也是随时工作的。Kinect的语言识别是工作在“开放麦克风”模式下,也就是说玩家在使用Kinect是随时可以发出语音指令,无需按特殊的按键。
内置马达:
      Kinect技术的最后一部分是它的内置马达。微软花时间研究了北美、欧洲和亚洲的家庭生活空间,意识到了Kinect必须能够上下调整以便使用不同的空间要求。
  但你拿到Kinect以后,你就会发现它的底座儿特别厚重沉实。当然这是为了防止Kinect容易翻倒。另一个原因就是Kinect的内置马达就装在那里。这个马达能让Kinect摄像头上下进行30度的调整。这样无论你把它摆在高度(原文注:最佳高度是一米到两米之间)都能使用。
  我们参观微软的实验室时微软向我们展示了他们对这个马达进行的极限测试,比如在极高的温度下,进行高频率使用(连续数月每天数千次上下调整操作)。他们还在非常安静的隔音室里实验Kinect以确保马达操作时不会发出噪音。微软保证说这个马达操作时发出的声音只有24分贝,一般家庭的正常环境噪音范围是在40分贝左右。
  这个马达也带动Kinect的自动聚焦功能。这个功能让Kinect有更大的使用范围。比如在游戏的时候,有玩家从远处走近Kinect,Kinect能自动拉动焦距,保持聚焦在玩家身上。另外Kinect内部还有一个风扇,但只在必要的时候才会启动,以免噪音影响Ki nect的语音识别功能。
Kinect的关键技术:侦测3D影像
      关于Kinect所使用的辨识技术,网路上有许多以讹传讹的说法。例如用两颗摄影镜头拍摄成3D影像、并以红外线探测Z轴深度做感应;也有许多人以为Kinect是利用红外线纪录体温的方式,来找出人体的影像,这些当然都不是正确答案。
      微软在去年(2009年)初收购了一家以色列籍的3DV Systems公司(来源:reuters),包含公司员工以及所有专利技术都归微软所有。该公司拥有名为ZCam的动作感测系统,采用TOF(Time of Flight)技术,让许多人认为Project Natal诞生计划(Kinect前身)就是采用TOF技术,但......最后证实大家还是猜错了。
     这里简单介绍一下TOF技术,大家应该可以从字面猜到含意,Time of Flight就是去计算光线飞行的时间。首先让装置发出脉冲光,并且在发射处接收目标物的反射光,藉由测量时间差算出目标物的距离;ZCam就是使用 TOF技术,使用红外线以及Accelerometers加速度计感应器,感测立体空间的相对位置变化,建构灰阶距离影像的深度感应器。3DV Systems公司研发该技术已经长达10年,并取得许多专利技术,所以受到了微软的瞩目。
       不过就在今年(2010年)年初时,微软的开发人员却大爆Project Natal诞生计划并不是如外界传言采用3DV Systems公司的TOF技术(来源:engadget)。微软先进技术研究院副总裁Moshe Lichtman,于去年接受媒体访问时,就表示并购3DV Systems公司目的不在于使用他们的技术,而是作为保障自家感测技术的后盾。因为专利技术认定上有时较为模糊,稍有不慎就会被对手告侵犯专利权;3DV Systems拥有许多相关专利,因此藉由并购3DV Systems快速取得专利,也能避免被其他对手并购,阻挠微软的产品研发。
       微软在今年4月时,正式公布与另一家以色列公司PrimeSense合作(来源:gossipgamers),这下才让Kinect使用的3D侦测技术有了着落。他们也是提供动作感测系统的公司,拥有体感侦测装置PrimeSensor,以及感测晶片 PS1080。PrimeSense用的并不是采用3DV Systems的TOF技术、而是Light Coding技术。
       Light Coding技术理论是利用连续光(近红外线)对测量空间进行编码,经感应器读取编码的光线,交由晶片运算进行解码后,产生成一张具有深度的图像。 Light Coding技术的关键是Laser Speckle雷射光散斑,当雷射光照射到粗糙物体、或是穿透毛玻璃后,会形成随机的反射斑点,称之为散斑。散斑具有高度随机性,也会随着距离而变换图案,空间中任何两处的散斑都会是不同的图案,等于是将整个空间加上了标记,所以任何物体进入该空间、以及移动时,都可确切纪录物体的位置。Light Coding发出雷射光对测量空间进行编码,就是指产生散斑。
       Kinect就是以红外线发出人眼看不见的class 1雷射光,透过镜头前的diffuser(光栅、扩散片)将雷射光均匀分布投射在测量空间中,再透过红外线摄影机记录下空间中的每个散斑,撷取原始资料后,再透过晶片计算成具有3D深度的图像。
      PrimeSence公司用的Light Coding技术,说穿了与微软先前买下3DV公司所使用的TOF技术根本就毫不相关,只是产生的结果类似。这点更加印证了微软收购3DV Systems,只是为了动作感测相关的专利权、取得领先地位。
      由于微软并没有买断PrimeSense公司的技术,因此PrimeSensor装置未来也有可能出现在电视、电脑等消费性产品上,例如CyberLink讯连科技也与PrimsSense合作开发3D互动体验介面(来源:PrimeSense)。面对将来有可能出现同质性产品,微软则是强调Kinect的追焦旋转功能是他们的专利,这点别人不能模仿。
      PrimeSence公司展示应用Light Coding技术的体感侦测系统。该技术并未被微软买断,未来将有机会应用在其他装置上。
Kinect的关键技术:骨骼追踪系统了解Kinect如何获得影像后,接下来就是进行辨识的工作。透过Light Coding技术所获得的只是基本的影像资料,重点还是要辨识影像,转换为动作指令。据说Prime Sense公司并没有提供辨识技术,所以辨识部份得靠微软自己搞定。
      微软会将侦测到的3D深度图像,转换到骨架追踪系统。该系统最多可同时侦测到6个人,包含同时辨识2个人的动作;每个人共可记录20组细节,包含躯干、四肢以及手指等都是追踪的范围,达成全身体感操作。为了看懂使用者的动作,微软也用上机器学习技术(machine learning),建立出庞大的图像资料库,形成智慧辨识能力,尽可能理解使用者的肢体动作所代表的涵义。
      Kinect侦测的最佳距离为1.2公尺到3.5公尺间,水平视野则是57度,侦测范围似乎比原本想像的还要小,看来还是不能站的太随意;Kinec也配备了追焦系统,如果玩家超出影像范围,底座马达可驱动Kinect左右旋转27度。整体看来Kinect对操作空间的限制,似乎比其他体感装置更严格些。
   rime Sense公司似乎只提供影像侦测,后面的辨识技术还是靠微软自己来。




Kinect一次可追踪2人的动态,每人能追踪高达20组细节。