首页 / 确定系统和确定方法

确定系统和确定方法有效专利 发明

技术领域

[0001] 本发明涉及一种确定系统和确定方法,例如优选应用于用于确定从传感器得到的输入数据中包含的处理对象的确定系统和确定方法的确定系统和确定方法。

相关背景技术

[0002] 具有使用行为识别、物体识别、声音识别等各种传感器数据,对该传感器数据表示的对象进行识别、分类、检测的需求。
[0003] 例如有如下需求:用于监控系统、生活日志(life log)等,对从摄像机等得到的传感器数据进行分析,对人的行为进行自动识别。
[0004] 为了满足这样的需求,至今为止已经开发了众多识别技术。其中,作为代表性方法,可举出如下方法:按每个作为识别对象的类(class),收集学习数据(与各个类对应的传感器数据和该类名的标签数据),采用神经网络、SVM(Support Vector Machine,支持向量机)等方法,对传感器数据和类标签的关联进行学习的方法。
[0005] 例如,专利文献1中公开了一种用于对身体的动作进行识别来控制装置的功能的动作识别方法。更具体而言,专利文献1中公开了一种根据生物信号传感器的输出信号对用户的有意图的动作引起的动作赝象(artifact)进行检测,在检测出的动作赝象的信号模式与基准信号模式对应的情况下,生成与基准信号模式对应的用于控制目标装置的功能的控制信号的方法。
[0006] 但是,在按每个识别对象的类预先收集学习数据,用该学习数据对传感器数据和类标签的关联进行学习的方法中,在将预先决定的对象类(现有类)以外的类(新类)新追加到识别对象时,需要收集新类的学习数据,重构识别模型。
[0007] 对此,在非专利文献1、专利文献2等中提出了一种即使在只有少量或完全没有新类的学习数据的情况下也能够进行识别的方法。一般而言,完全没有新的识别对象的学习数据的情况被称为Zero-shot learning,只有一个样本的情况被称为One-shot learning,只有少量的情况被称为Few-shot learning。
[0008] 在除此之外的一般的识别方法中,根据学习数据在输入空间(或对输入空间进行转换而得的特征空间)内的分布,对各类在输入空间(特征空间)内的分布位置进行预先学习,当被给予新的样本时,基于该样本在输入空间(特征空间)内的位置进行分类。对此,在Zero-shot learning中,将输入信号(或对输入信号进行转换而得的特征量)转换为中间表达(常称为Attribute,在本申请中也使用该用语),在该Attribute空间内进行各样本的分类(识别)。作为输入数据和输出标签的中间表达的Attribute,表示分类(识别)对象的属性。例如,对于以在图像识别等中现有技术经常采用的SIFT(Scale-Invariant Feature Transform)特征量为代表的特征量,人难以直观地解释其值,但是对于Attribute,在多数情况下,人能够对其进行解释。Attribute的具体例在后面进行阐述。在从输入空间X向
Attribute空间A的投影f:X→A的情况下,使用现有的学习数据进行学习,而另一方面,在Attribute空间内各类的分布位置,通过利用不依赖于学习数据的方法进行定义,即使在没有学习数据的情况,即在新的识别对象(新类)的情况下,也能够进行识别。
[0009] 例如,在使用图像数据的物体识别任务中,如果学习数据中包含狗、牛、人、鸡等数据,则能够构成对“是否为四条腿”Attribute进行检测的分类器。同样,如果包含石鲷、条纹衬衫、海豚、素色衬衫等数据,则能够构成对“是否为条纹图案”Attribute进行检测的分类器。由此,能够根据现有的学习数据构建从输入向Attribute的转换f:X→A。
[0010] 在此,在要检测识别对象例如“斑马”的情况下,只要将斑马定义为“四条腿”且“条纹图案”的物体(在该情况下,手动定义Attribute空间内的“斑马”类的分布(点)位置),就斑马的图像而言,尽管没有包含在学习数据中,也能够根据对现有的学习数据进行学习后的转换f:X→A,在被给予斑马的图像时,对“是否为四条腿”和“是否为条纹图案”进行判断,在两者均为Yes的概率高时,能够判断为该图像表示斑马。
[0011] 此外,从输入向量向Attribute向量的转换与一般的机器学习中使用的特征提取不同,能够利用不依赖于学习数据的Attribute空间内的各类的分布、代表点等的方法进行定义。
[0012] 另外,作为Attribute空间内的分类的代表性方法,多使用nearest neighbor法等。
[0013] 现有技术文献
[0014] 专利文献
[0015] 专利文献1:日本特开2017-94055号公报
[0016] 专利文献2:日本特开2017-91192号公报
[0017] 非专利文献
[0018] 非专利文献1:Larochelle,H,Erhan,D and Bengio,Y;Zero-data Learning of New Tasks,Proceedings of the Twenty-Third AAAI Conference on Artificial Intelligence,2008

具体实施方式

[0054] 下面,参照附图详述本发明的实施方式。
[0055] (1)第1实施方式
[0056] 本实施方式提供一种针对一般被称为Zero-shot learning、One-shot learning、Few-shot learning方法的改善方法。在使用除此之外的机器学习方法时,预先收集识别对象的类的事物的样本数据(学习数据),基于该学习数据构建识别模型。因此,能够实现对能够(大量地)收集学习数据的类(在本说明书中有时将此称为现有类)的识别,但不能够实现对完全没有学习数据、或只有极少量学习数据的类(在本说明书中有时将此称为新类)的识别。与此相对,在Zero-shot learning、One-shot learning、和Few-shot learning中,即使在学习数据中完全不包含识别对象的类的事物的样本数据的情况、只包含一个样本的情况、只包含少量样本数据的情况下,通过使用Attribute(中间表达),也能够识别该类。本实施方式提供一种用于提高进行使用Attribute的识别时的精度的新的系统和方法,下面,对其具体结构进行说明。
[0057] 在图1中,100表示第1实施方式的识别系统整体。识别系统100包括:输入数据101、Attribute计算用DB(database)102、Attribute计算部103、识别用DB104、Attribute重要度DB105和识别部106。
[0058] 作为使识别系统100进行识别的事物的例子,有人的行为(行为识别系统)、映在图像、影像中等的物体(对象识别系统)、声音(声音识别系统)、字符(文字识别系统)等。下面,主要以行为识别系统为例对其具体处理(步骤)进行说明,但识别系统100的识别对象不限于行为识别系统。
[0059] 在输入数据101的获取中,能够将摄像机、麦克风、距离传感器、加速度传感器、陀螺仪传感器、肌电传感器、脉搏/心率传感器、照度传感器、压力传感器等各种传感器中的一个或多个进行组合而使用,不限定传感器的种类或数量。另外,可以将传感器的测量值保存到硬盘等后输入到Attribute计算部103进行后面的处理(离线处理),也可以将从传感器读取的测量值直接输入到Attribute计算部103进行后面的处理(实时处理)。
[0060] 在机器学习领域中,有时使用“识别(recognition)”、“分类(classification)”、“检测(detection)”、“定位(localization)”等用语。在本说明书中,描述了“识别”系统的例子,但因为可以容易地将其应用于分类问题、检测问题、定位问题,所以本发明的应用范围不限于识别问题。此外,适当地使用“确定”作为表示“识别”、“分类”、“检测”、“定位”等用语的上位概念的用语。
[0061] 例如,在本说明书中,“分类”是指对于一个输入数据,必定存在一个作为识别对象的类与之对应的情况下,确定该类。“识别”是指对于一个输入数据中,可能存在作为识别对象的类,可能存在一个或多个类的情况下,如果存在作为识别对象的类,则确定出其位于哪个位置。
[0062] 在此,在使用可穿戴式传感器的行为识别和行为分类的例子中,在一定时间的传感器的测量值整体与某一个对象行为相对应的情况下,确定该行为是什么行为的问题为“分类”问题。在一定时间的传感器数据中有0个以上的对象行为相对应的情况下,假设包含某些对象行为,则确定其为何时开始、何时结束、什么行为的问题为“识别”问题。
[0063] 同样,在使用图像的对象识别和对象分类的例子中,在某一个图像整体表示某一个目标对象的情况下,确定该对象是什么对象的问题为“分类”问题。在该图像中存在0个以上的目标对象的情况下,如果包含某些目标对象,则确定其在图像中的哪个位置、该对象是什么对象的问题为“识别”问题。
[0064] 首先,对识别系统100的概要进行说明。识别系统100读取输入数据101的值。然后,Attribute计算部103使用该值根据需要实施特征提取处理等,使用保存于Attribute计算用DB102中的参数,进行输入数据向Attribute空间的投影。识别部106接收该输出,并且读取用于在保存于识别用DB104的Attribute空间内进行识别处理的参数,结合保存于Attribute重要度DB105的每个Attribute的重要度(重要性),进行输入数据的识别处理。各处理、保存于各DB内的数据等详情在后面阐述。
[0065] 补充说明一下,Attribute计算用DB102是对用于将该处理对象投影到中间表达空间的参数进行保存的第1存储部的一例,其中,该中间表达空间以表示处理对象的各属性的各中间表达作为各维。Attribute计算部103是基于保存于第1存储部的参数,将从规定的传感器得到的输入数据或对该输入数据实施规定的前处理而得到的值投影到中间表达空间的计算部的一例。识别用DB104是对在中间表达空间中确定处理对象时使用的参数进行保存的第2存储部的一例。Attribute重要度DB105是将表示处理对象的各属性的各中间表达的重要度与该处理对象相对应地进行保存的第3存储部的一例。识别部106是基于保存于第
2存储部的参数、保存于第3存储部的重要度、和计算部的输出,确定输入数据中的处理对象的确定部的一例。
[0066] 图2是表示识别系统100中的硬件结构的一例的图。识别系统100例如能够使用具有图2所示的硬件结构的计算机200来实现。计算机200为笔记本个人计算机、平板终端等,包括输入装置201、中央运算处理装置202、主存储装置203、辅助存储装置204、输出装置205和总线206。输入装置201、中央运算处理装置202、主存储装置203、辅助存储装置204和输出装置205能够经由总线206进行数据的交互。
[0067] 输入装置201为键盘、鼠标等,对各种信息进行输入。中央运算处理装置202例如为CPU(Central Processing Unit),执行保存于主存储装置203的程序。主存储装置203为像DRAM(Dynamic Random Access Memory)这样的高速易失性存储装置,保存操作系统(OS)、应用程序等。中央运算处理装置202通过执行OS,实现计算机200的基本功能,通过执行应用程序,实现Attribute计算部103、识别部106(识别系统100的功能)。Attribute计算部103和识别部106的处理详情在后面阐述。
[0068] 辅助存储装置204为磁存储装置、闪存等大容量非易失性存储装置,对由中央运算处理装置202执行的程序、执行程序时使用的数据等进行保存。例如,从辅助存储装置204读出中央运算处理装置202要执行的程序,将其加载到主存储装置203,由中央运算处理装置202执行。另外,Attribute计算用DB102、识别用DB104和Attribute重要度DB105保存于辅助存储装置204。
[0069] 输出装置205为液晶显示器、投影仪、打印机等,能够输出识别结果。另外,为了实现Attribute计算部103、识别部106的运算的高速化,可以使用GPU(Graphics Processing Unit)。
[0070] 就输入数据101而言,可以使用USB(Universal Serial Bus)线缆等将传感器与计算机200连接来发送到计算机200,也可以经由网络进行发送,也可以将其写入CD(Compact Disc)、DVD(Digital Versatile Disc)等介质之后,通过计算机200将其读出。
[0071] 下面,以识别系统100为行为识别系统的情况为例,对各处理、数据格式等进行更详细地说明。为了对复杂行为高精度地进行自动识别,考虑将复杂行为分解为比较基本的要素,通过阶段性识别来提高识别精度,这是已知的。即,首先作为第1阶段根据输入数据进行各要素的识别,在第2阶段中基于该各要素的识别结果进行行为识别。
[0072] 作为构成复杂行为的简单要素的例子,可举出动作。在此,动作是指“抬起胳膊”、“蹲下”、“行走”等比较简单的身体活动和物体的动作。行为是指“移动物体”、“寻找物体”等多个动作或物体参与且具有较高级含义的行为。作为一例,“移动物体”行为能够表达为“抓取”、“行走”、“放下”三个动作的组合。
[0073] 此外,实际上难以明确地区分“动作”和“行为”,但识别系统100的主旨是将复杂的现象作为简单且基本的现象的组合来进行表达,在实施识别系统100方面,并不是必须在该含义中对在此所说的“动作”和“行为”进行明确地定义。
[0074] 例如,根据需要,可以将上述作为动作的一例进行说明的“行走”视为行为,且将更精细的腿的动作、胳膊的动作等视为动作,另外,也可以将作为行为的一例进行说明的“移动物体”视作更复杂的“打扫房间”行为的基本的动作要素。
[0075] 这样,在对行为进行阶段性表达时,也能够考虑分为大于或等于两个阶段。例如,作为识别部106识别的对象(确定部要确定的处理对象),可举出人的行为和/或人的动作。另外,作为构成行为的基本要素,除动作外,也可以使用身体的姿态(pose)、周围存在的对象等。
[0076] 由Attribute计算部103计算的Attribute,是指定性地构成该行为的基本要素。如上述那样,动作、姿态、周围的对象等成为Attribute的一例。换言之,作为表示处理对象的各属性的各中间表达之一,包含作为构成人的行为的基本要素的动作或姿态的发生与否、或发生概率。另外,作为表示处理对象的各属性的各中间表达之一,包含要确定行为的用户的周围的既定对象的存在与否或既定对象的存在概率。
[0077] 例如,“移动纸”行为能够通过“抓取”、“行走”、“放下”这些动作、和“纸”这一对象的组合来进行表达。因此,将Attribute空间考虑为与“抓取”、“行走”、“放下”、“纸”相当的四维空间,假设在作为后述的Attribute计算部103的处理结果识别出各动作、对象等的情况下,将“1”分配到输入数据中,在没有识别出的情况下,将“0”分配到输入数据中,则“移动纸”这一行为在该Attribute空间上能够用点(1,1,1,1)表达。
[0078] 实际上,为了也能够识别其它行为,也可以使用其它的Attribute(维),假设将Attribute空间定义为“抓取”、“行走”、“放下”、“跳跃”、“纸”、“猫”,则“移动纸”的行为是点(1,1,1,0,1,0)。
[0079] 在此,表示了以“0”或“1”(存在与否、发生与否等)表达各Attribute能否被识别的例子,但也可以使用其识别概率(存在概率、发生概率等)以“0”至“1”之间的实数来表达,也可以使用比“1”大的值和负值来表达。
[0080] 在此,Attribute的计算与机器学习中常用的特征提取处理的不同点在于,Attribute空间内的对象事物的识别能够不一定依赖于学习数据实现(Zero-shot 
learning),或者能够用极少量的学习数据来实现(One-shot learning、Few-shot 
learning)。
[0081] 在一般的特征提取处理中,在进行特征提取之后,如果要在特征空间内进行识别处理,则由于事先并不知道识别对象的各类在该特征空间内的分布,所以需要利用(大量的)学习数据来进行建立模型。
[0082] 但是,在Attribute空间中,例如,像上面的例子那样,用“抓取”、“行走”、“放下”、“跳跃”、“纸”、“猫”的六维Attribute空间内中(1,1,1,0,1,0)点表示“移动纸”行为的情况,能够不获取“移动纸”行为的学习数据地判断出。此外,在该情况下,相当于手动进行Attribute空间上的对象类的定义。后面,对以其它方法进行定义的方法进行说明。
[0083] 其中,对于输入数据向Attribute空间的投影,需要使用学习数据进行学习。对用于此的参数进行预先保存的装置为Attribute计算用DB102。另外,Attribute计算部103读出保存于Attribute计算用DB102的参数,进行输入数据向Attribute空间的投影计算。
[0084] 预先保存于Attribute计算用DB102的参数能够使用现有类的学习数据,使用所谓的监督式学习(supervised learning)方法求出,也可以使用任意现有的方法。
[0085] 例如,在使用从可穿戴式传感器获取的加速度数据、陀螺仪数据等作为输入数据,使用动作作为Attribute的情况下,也可以使用LSTM(Long-Short Term Memory)等RNN(Recurrent Neural Network)。在该情况下,例如,戴上可穿戴式传感器进行作为识别对象的动作,准备该动作的开始时间、结束时间和动作名的标签作为学习数据。然后,使用LSTM对用于根据传感器数据来识别动作的参数进行学习。
[0086] 此外,对于动作识别方法,无需限定于LSTM,也可以使用HMM(Hidden Markov Model)、CRF(Conditional Random Field)等。另外,对于输入数据或Attribute,无需限定于可穿戴式传感器的数据或动作,例如,在使用图像作为输入数据,使用对象作为
Attribute的情况下,也能够使用CNN(Convolutional Neural Network)、SVM(Support 
Vector Machine)等。另外,在进行这些学习处理前,根据需要可以进行平滑化、特征提取等前处理,也可以直接使用输入数据。在Attribute计算用DB102中,预先保存与这些识别模型相应的参数。例如,如果为神经网络,则保存网络结构、各神经元间的权重参数等。
[0087] 在根据未知的数据(用户的第一人称视角的图像、影像等)进行动作识别时,Attribute计算部103首先读出保存于Attribute计算用DB102的参数,根据需要对给予的数据实施规定的前处理后,计算识别模型的输出值。作为典型的输出,有各识别对象的动作、对象等的有无、概率等。
[0088] 图3是表示Attribute计算部103的输出数据的一例的图。在图3中的例子的情况下,因为Attribute空间的维为“4”,所以输出为四维向量。此外,一般而言,输入xi为多维向量、或汇总了这些向量的多个向量。
[0089] 接着,对一般的Zero-shot learning、One-shot learning、Few-shot learning中的识别部106的处理和保存于识别用DB104的数据进行说明。后面,对作为本实施方式的特征的Attribute重要度DB105和保存于Attribute重要度DB105的使用每个Attribute的重要度的识别部106的处理进行说明。
[0090] 在一般的Zero-shot learning中,在Attribute空间内进行分类的情况下最常用的方法之一为最近邻(nearest neighbor)法。如果设进行识别的输入数据为“x”,将利用Attribute计算部103将x投影到Attribute空间的结果预先设为“a”,则在最近邻法中,计算投影a与Attribute空间内的各样本的距离,以最近的样本的类标签作为输入数据x的类标签进行识别。
[0091] 在图4(A)中,例如,如果“△”表示输入数据x的投影a,“○”和“×”表示现有类的样本,则最近邻的样本为“△”和虚线连接的“○”,所以输入数据x被分类为○类。此外,设置一定的阈值,在与最近邻的样本的距离为该阈值以上的情况下,可以判断为“无符合类”。
[0092] 但是,如果就这样的话,因为对于新类(例如□类)来说样本并不存在,所以输入数据不会被分类为新类(即使输入□类数据,也不能正确识别)。
[0093] 因此,利用不依赖于学习数据的方法对Attribute空间内的新类的样本进行定义。例如,在识别系统100中,如果要识别“搬运”这一新类的行为,例如图4(A)中的Attribute a1和Attribute a2分别表示“正在行走”、“正在抓取”的动作(状态),则如图4(B)所示,“搬运”类在Attribute空间内能够以(1,1)点表示。这样,对于新类来说也能够通过在
Attribute空间内生成伪样本来识别。
[0094] 在该例中,将现有类的样本和新类的伪样本的坐标值预先保存到识别用DB104,识别部106进行计算输入数据x的投影a与这些样本的距离,输出距离最近的情况下的类标签的处理。在使用最近邻法以外的方法时,将与之相应的参数保存到识别用DB104,利用识别部106进行与之相应的处理。
[0095] 此外,在该例中,对于现有类的样本,直接使用学习数据,但对于现有类来说也可以与新类同样地生成伪样本并一起使用,也可以只使用伪样本。另外,对于伪样本,无需只生成一个点,例如,在上述例中,也可以根据以点(1,1)为中心的正态分布,随机产生与现有类数量大致相同的样本。此时,正态分布的协方差矩阵为超参数,优选通过交叉验证等方法进行确定。
[0096] 另外,在该例中,对手动生成伪样本(伪样本的代表点)的方法进行了说明,但也可以利用其它方法生成。作为一例,能够使用公知文献(例如,Socher,R,Ganjoo,M,Manning,C and Y.Ng,A;Zero-shot learning Through Cross-Modal Transfer,Advances in Neural Information Processing Systems(NIPS),2013)中介绍的方法。即,首先使用现有类的学习数据,求出使下述(式1)中表示的目标函数最小化的参数θ。
[0097] (式1)
[0098]
[0099] 在此,Ys为现有类的集合。Xy为类y的输入数据、或对其实施了规定的特征提取处理的数据的集合。wy使用word2vec等现有的方法进行向量化以使类y的标签名成为空间W的元数据。下面,将以向量对类的标签名等单词进行表达称为“单词的嵌入”,其结果,将对生成的单词进行表达的向量称为“(单词的)嵌入向量”。另外,将像空间W这样的嵌入向量成为元数据的空间称为“(单词的)嵌入空间”。θ(1)和θ(2)为参数。f为例如tanh等非线性激活函数。
[0100] 定性地,就(式1)而言,使用现有类的学习数据对将输入数据(输入数据的特征向量)投影到空间W时的参数进行学习,该空间W相当于本说明书中说明的Attribute空间。通过使用之前将wy投影到空间W时使用的word2vec等现有的方法,能够得到新类的Attribute空间,即空间W上的样本。更详细的内容可参照上述公知文献。
[0101] 通过这样的方式,如果使用Zero-shot learning方法,例如使用最近邻法,则即使是新类的数据,也能够进行Attribute空间内的识别处理。但是,在现有的方法中,因为对所有的Attribute进行对等地处理,所以在每个Attribute的重要度根据识别对象的类而不同的情况下,有时识别精度会降低。
[0102] 在图5中的例子中,对于进行识别处理的数据(下面,称为测试数据),例如,假设Attribute a2比Attribute a1更为重要,适合分类为×类。但是,如果使用最近邻法,则d1<d2,所以测试数据被分类为○类。该分类(误识别)是因为,尽管在该例子中Attribute a2比Attribute a1更为重要,但是对这些Attribute进行对等地处理而应用了最近邻法。
[0103] 例如,在识别系统100中,在要对“打字”行为、和“喝咖啡”行为进行识别的情况下,如果使用图6中的与位于表的第1列的关于对象、动作和姿态的Attribute,则像图6中的表的第2列和第3列那样,对各类在Attribute空间中的伪样本进行手动定义。
[0104] 记入了“0”处相当于没有符合Attribute,记入了“1”处相当于有符合Attribute。记入了“?”处,可以存在针对该行为的符合Attribute,也可以不存在针对该行为的符合Attribute,可以认为并不重要。例如,在喝咖啡时,既有坐着喝咖啡的时候,也有站着喝咖啡的时候,所以关于“(是否)坐着”姿态的Attribute对“喝咖啡”行为的识别而言并不重要。
[0105] 对于该并不重要的Attribute,如果不合理地定义例如“0”、“1”、“0.5”等中间值,在识别测试数据时,进行Attribute空间内的距离计算,则尽管例如“咖啡杯”等其它重要的Attribute与“喝咖啡”行为的定义一致,但由于该“坐着”Attribute(尽管实际上该Attribute的值可以为任意值)与定义不同,所以会发生不能正确识别的情况。
[0106] 因此,在本实施方式中,Attribute重要度DB105保持各Attribute对于各类的重要度,识别部106与此结合进行识别处理。更具体而言,Attribute重要度DB105预先保持图7所示的表。在图7中的例子中,例如,可以将w13、w15、w21、w22、w24、w26设定为“0”,将其它设定为“1”。
[0107] 识别部106在对测试数据进行识别时,例如根据下述(式2),计算测试数据与各样本和伪样本的距离,将该距离最小的样本的类标签作为测试数据的类标签进行输出。
[0108] (式2)
[0109]
[0110] 在此,d(k)表示测试样本与第k个样本的距离。wyki表示位于图7中的表那样的Attribute i对类yk的权重。ai(k)表示第k个样本的Attribute i的值。xi表示测试数据的Attribute i的值。通过这样计算,能够根据各Attribute对于各类的重要度进行计算距离时的加权,能够提高识别精度。
[0111] 对于Attribute的重要度的利用方法,除了在此说明的对各Attribute的值进行加权的例子外,还可以考虑如下方法:只使用重要度比规定的阈值高的Attribute;只使用按照重要度从大到小的顺序排列的规定的前k个的Attribute;在使上述k从“1”到规定的数量变化地分别进行了识别处理的基础上对结果进行系综(ensemble);变更根据重要度向分类器给予数据的顺序等,不限定其详细的利用方法。
[0112] 如图7所示,在设定各Attribute对于各类的重要度时,例如可以准备GUI(Graphical User Interface),使用户对各Attribute的重要度进行设定。在该情况下,如图8所示,是在识别系统100(图1记载的结构)中追加了Attribute重要度设定GUI 801的结构(识别系统800)。此外,中央运算处理装置202通过执行应用程序,实现Attribute重要度设定GUI 801。此外,Attribute重要度设定GUI 801为用于使用户对保存于第3存储部的重要度进行设定的用户界面部的一例。
[0113] 图9是表示用于设定各Attribute对于各类的重要度的GUI的一例的图。具有这种GUI的识别系统800以人的各关节是否弯曲为Attribute,对行为进行识别。
[0114] 用户首先将设定Attribute的重要度的行为类名输入到文本框901。也可以不是在文本框中直接输入的结构,而是从下拉列表等进行选择的结构。
[0115] 接着,用户从图中的○符号所示的关节位置902中选择认为对于对在文本框901中输入的行为类名的行为进行识别而言重要的关节位置902,进行单击。单击后,○符号的显示方式发生变化(例如,划上了斜线),表示该关节位置902的选择结束。再次单击选择结束的关节位置902,能够解除选择。
[0116] 用户在选择结束后单击设定按钮903。由此,例如,Attribute重要度设定GUI 801将相当于选择出的关节位置902的Attribute的重要度设定为“1”,将除此以外的重要度设定为“0”,并将其保存到Attribute重要度DB105。此外,在不仅“0”或“1”值,想要设定中间值等的情况下,例如可以在各关节的旁边显示文本框,用户能够使用任意数值将重要度输入到该文本框,也可以使用像滑动条那样的工具能够将其输入到该文本框。
[0117] 如上所述,通过考虑每个Attribute对于各类的重要度,即使在完全没有新类的学习数据的情况、或只有极少量的新类的学习数据的情况下,也能够较高精度地进行自动识别。根据上述结构,例如,在通过手势识别对家电产品、产业设备等设备进行操作的情况下,用户能够在任意时机对作为新的操作命令的手势进行自由定义,并且,能够对定义为该新的手势高精度地进行识别,所以用户的易用性得以显著提高。
[0118] (2)第2实施方式
[0119] 根据第1实施方式中说明的系统,用户通过考虑每个Attribute对于各类的重要度,能够高精度地识别完全没有学习数据、或只有极少量的学习数据的对新类。但是,在用户难以对每个Attribute对于各类的重要度进行手动设定的情况下,可以认为有时即使能够进行识别也非常费事。
[0120] 因此,在本实施方式中,对系统能够对每个Attribute对于各类的重要度进行推算并对重要度进行自动设定的带Attribute重要度自动设定功能的识别系统进行说明。此外,对于与第1实施方式的结构相同的结构,使用相同的符号并适当地省略其说明。
[0121] 根据本实施方式,不使用户对每个Attribute对于各类的重要度进行手动设定,也能够高精度地进行识别。
[0122] 图10是表示本实施方式的带Attribute重要度自动设定功能的识别系统(识别系统1000)的结构的一例的图。识别系统1000在图1记载的结构(识别系统100)的基础上,还包括Attribute重要度自动设定部1001。补充说明一下,Attribute重要度自动设定部1001是对保存于第3存储部的重要度进行推算并设定的设定部的一例。此外,中央运算处理装置
202通过执行应用程序,实现Attribute重要度自动设定部1001。
[0123] 下面,对Attribute重要度自动设定部1001的处理进行详细说明。作为一例,能够利用word2vec等的单词嵌入。在该情况下,像第1实施方式中说明的那样,使用单词的嵌入空间作为Attribute空间。例如,考虑使用Attribute A={a1,a2,……,an},对某识别对象的类c进行识别的情况。首先,使用word2vec等方法将类c的标签名嵌入到嵌入空间,将作为结果得到的嵌入向量设为xc。进而,同样将表示a1、a2、……、an的Attribute名分别嵌入到嵌入空间,将作为结果得到的嵌入向量设为X={x1,x2,……,xn}。
[0124] 在此,考虑使用X的线性组合对xc进行表达。其通过使下述(式3)所示的目标函数关于W={w1,w2,……,wn}最小化而得到。
[0125] (式3)
[0126]
[0127] 其中,(式3)的第2项||W||p为下述(式4)所示的正则化范数。
[0128] (式4)
[0129] ||W||p=(|w1|p+|w2|p+…+|wn|p)1/p   ……(式4)
[0130] 例如使用“2”作为p的值。特别是在要得到稀疏解的情况下,即在要得到W中除少数要素外的要素为“0”的解的情况下,可以使用p=1等。λ为超参数,使用交叉验证等方法决定。
[0131] 能够将由此得到的W解释为用于对类标签进行表达的各Attribute的重要度,所以Attribute重要度自动设定部1001将该值保存(记录)于Attribute重要度DB105。补充说明一下,设定部可以使用单词的嵌入空间作为中间表达空间,将在该嵌入空间对处理对象的类进行表达的嵌入向量表达为中间表达的嵌入向量的线性组合时的各向量的系数推算为中间表达的重要度。
[0132] 另外,可以根据需要以W的各要素成为“0”~“1”的值的方式进行标准化,或在对(式3)的最小化问题进行求解时,追加下述(式5)所示的限制条件。
[0133] (式5)
[0134]
[0135] 作为Attribute重要度自动设定部1001的其它实现方法,可以考虑使用Attribute空间内的现有类、新类的样本和伪样本,对每个Attribute对于各类的重要度进行推算的方法。作为一例,在使用单一的Attribute时,对能够以何种程度将各类从其它的类中分离出来的分类能力进行计算,能够使用该分类能力作为Attribute的重要度。补充说明一下,设定部也可以将各中间表达相对于处理对象的类的分类率作为各中间表达的重要度进行推算。
[0136] 就Attribute j对类k的分类能力而言,例如,使用样本和伪样本X={x1,x2,……,xn}以及其标签Y={y1,y2,……,yn},首先,通过对下述(式6)的优化问题进行求解来确定参数a(j)、b(j)。
[0137] (式6)
[0138]
[0139] 接着,能够通过下述(式7)对分类能力进行计算。在此,xi(j)为第i个(伪)样本的第j个Attribute的值。yi(k)为二值变量,该二值变量在第i个样本具有类k的标签时为“1”,除此之外为“-1”。C为超参数。
[0140] (式7)
[0141]
[0142] 通过如上处理,用户不对每个Attribute对于各类的重要度进行手动设定,也能够高精度地进行识别。
[0143] (3)第3实施方式
[0144] 根据第1实施方式和第2实施方式中说明的系统,通过考虑每个Attribute对于各类的重要度,能够高精度地识别完全没有学习数据、或只有极少量的学习数据的对新类。但是,在只有现有的Attribute时,可能不能得到用户对新类的期望的识别精度。例如,在行为识别系统中,只处理仅上半身参与的行为,作为Attribute也使用与上半身的动作相关的行为,但在作为新类也将伴随下半身的动作的行为进行处理的情况下,就该新类而言,在只靠关于现有的上半身的动作的Attribute,难以实现充分的精度。在这一点上,在现有的系统中,没有关于现有的Attribute在何种程度上对各类的识别有效的明确的指标,所以难以客观地对这种状况进行判断。
[0145] 因此,在本实施方式中,对系统使用每个Attribute的重要度对上述状况进行判断,根据需要对新的Attribute进行设定,而能够进一步提高识别精度的带Attribute追加功能的识别系统进行说明。此外,对于与第1实施方式的结构相同的结构,使用相同的符号并适当地省略其说明。
[0146] 图11是表示本实施方式的带Attribute追加功能的识别系统(识别系统1100)的结构的一例的图。识别系统1100在图1记载的结构(识别系统100)的基础上,还包括Attribute追加部1101。此外,中央运算处理装置202通过执行应用程序,实现Attribute追加部1101。
[0147] 下面,对Attribute追加部1101的处理进行说明。Attribute追加部1101使用第1实施方式和第2实施方式中记载的方法,对各现有的Attribute对于新类的重要度进行计算。而且,就Attribute追加部1101而言,例如,在计算出的重要度均比规定的阈值低的情况下,判断为在只有这些现有的Attribute时不能高精度地对该新类进行识别,进行新的
Attribute的追加。补充说明一下,Attribute追加部1101是基于各中间表达相对于新类的重要度来追加中间表达的追加部的一例。
[0148] 在追加新的Attribute时,可以准备用于用户对其进行手动设定的界面,也可以对新的Attribute进行自动设定。
[0149] 作为自动设定的方法,例如考虑如下方法。即,Attribute追加部1101使用单词嵌入空间作为Attribute空间,使用各Attribute的嵌入向量进行PCA(Principal Component Analysis),对针对最小特征值的特征向量进行提取。就该特征向量而言,现有的Attribute的嵌入向量的分布为最小方向,所以能够认为其为包含现有的Attribute中未包含的信息的方向。
[0150] 因此,Attribute追加部1101在成为预先设置的Attribute的候选的单词中,使用与该特征向量最近的单词作为新的Attribute。能够以例如成为Attribute的候选的单词的嵌入向量和该特征向量的余弦相似度为基准进行判断。此外,可以将这样追加的新的Attribute用于对现有类的识别,在不影响对现有类的识别精度的情况下,也可以将新追加的Attribute的权重设为“0”。
[0151] 如上所述,通过在现有的Attribute空间中没有结合的方向上追加Attribute,即使在只有现有的Attribute时不能高精度地对新类进行识别的情况下,也能够使用追加的新的Attribute,能够实现精度的提高。
[0152] (4)第4实施方式
[0153] 在本实施方式中,考虑以人的行为作为识别对象,作为该Attribute之一,在使用要识别行为的用户的周围的既定对象的存在概率的情况下,特别对对于对象的重要度的设定方法的例子进行详细说明。使用从玻璃类型的摄像设备等能够获取的用户的第一人称视角的图像或影像对对象的存在概率进行计算。另外,在本实施方式中,假设可以根据少量的实际数据而非伪样本得到新类在Attribute空间上的样本(即One-shot learning或Few-shot learning的设定)。
[0154] 根据现有的研究,在进行行为识别时,可以明确其周围存在的对象具有重要的信息。例如,为了对“读书”行为进行识别,需要得知拿着书的手的形态(姿态)或较低强度的身体动作,同时“书”对象是否存在的信息也很重要。同样,为了对“发送SMS(Short Message Service)”行为进行识别,关于手指的动作的信息和“手机”对象的存在非常重要。因此,例如,在将这些行为定义为新类的情况下,很自然地使用“书”、“手机”对象的存在与否或存在概率作为Attribute。
[0155] 但是,在获取这些新类的行为的样本(学习数据)时,例如如果在像办公室这样的环境中进行数据收集,则在收集“读书”行为类的样本数据时,除“书”对象外“手机”也可能进入图像帧中。在该情况下,“读书”行为被定义为存在“书”和“手机”两个对象(其存在概率高)。换言之,即使其它的Attribute都与“读书”行为一致,如果“手机”不存在,则也可能识别为不是“读书”行为。
[0156] 其原因在于,对于“读书”行为来说,尽管“手机”Attribute的重要度低,但是没有考虑这点地进行了识别处理。
[0157] 通常,可以认为用户在做某些行为时,会注视与其行为关联性高的对象。例如,在“读书”的情况下注视“书”,在“发生SMS”的情况下注视“手机”。因此,可以认为容易注视对行为来说重要的对象。
[0158] 因此,在本实施方式中,对能够使用用户的注视信息(注视与否、注视概率等)对对象的存在与否或存在概率、即Attribute的重要度进行设定的利用注视信息的带Attribute重要度设定功能的识别系统进行说明。此外,对于与第1实施方式的结构相同的结构,使用相同的符号并适当地省略其说明。
[0159] 图12是表示本实施方式的利用注视信息的带Attribute重要度设定功能的识别系统(识别系统1200)的结构的一例的图。识别系统1200在图1记载的结构(识别系统100)的基础上,还包括利用注视信息的Attribute重要度设定部1201。补充说明一下,利用注视信息的Attribute重要度设定部1201是基于用户对对象的注视信息对该对象的重要度进行设定的设定部的一例。此外,中央运算处理装置202通过执行应用程序,实现利用注视信息的Attribute重要度设定部1201。
[0160] 下面,对利用注视信息的Attribute重要度设定部1201的处理进行说明。在收集新类的学习数据时,假设获取合计F帧影像数据。在该情况下,可以认为F帧与一个行为数据对应(One-shot learning),也可以认为利用多个行为数据收集了合计F帧影像数据(Few-shot learning)。利用注视信息的Attribute重要度设定部1201使用该F帧数据,根据下述(式8),对Attribute j的重要度Ij进行计算。
[0161] (式8)
[0162]
[0163] 在此,f(oi(j))是在帧i中在对象j上存在用户的注视点的情况下为“1”,除此之外为“0”的函数。使用例如眼球跟踪眼镜(Eye-tracking glasses)等产品能够得到注视点的位置。另外,根据需要也可以进行标准化以使Ij的最大值为“1”,最小值为“0”。
[0164] 接着,对不使用眼球跟踪眼镜等用于获取注视点信息的特别的产品,而使用能够获取较廉价的第一人称视角的图像或影像的产品,只从第一人称视角的图像或影像中提取注视点信息的方法进行说明。
[0165] 图13是表示本实施方式的利用注视信息的带Attribute重要度设定功能的识别系统(识别系统1300)的结构的一例的图。如图13所示,识别系统1300是包括注视推算部1301的结构。此外,中央运算处理装置202通过执行应用程序,实现注视推算部1301。
[0166] 图14是表示注视推算部1301的结构的一例的图。注视推算部1301例如使用CNN进行注视推算作为注视推算和对象识别的多任务学习。补充说明一下,注视推算部1301为基于用户的第一人称视角的图像或影像,对对象的确定和注视的推算进行多任务学习,对该用户的注视信息进行推算的推算部的一例。
[0167] 注视推算部1301利用作为对象识别和注视推算两者的共同模块的基础网络(base network)对作为输入数据的一串图像帧进行处理。定性地,在基础网络中,能够解释为进行了低阶的特征提取。之后,注视推算部1301将作为基础网络的输出的特征图(feature map)分别作为输入给予对象识别网络、注视推算网络。
[0168] 在对象识别网络中,注视推算部1301将各对象的存在概率和各对象在各帧中的存在位置作为推算结果输出。另外,注视推算部1301将除了作为基础网络的输出的特征图以外的作为对象识别网络的输出(结果)的各对象的存在概率和各对象在帧中的存在位置输入到注视推算网络。定性地,在图像特征的基础上,能够对容易引起注视的对象的信息等进行学习,能够期望注视推算精度得到提高。
[0169] 另外,对作为事前准备,对于基础网络、对象识别网络和注视推算网络将汇总进行参数的调整(tuning)的方法进行说明。
[0170] 在对象识别网络中,注视推算部1301通过利用规定的算法(例如,误差反向传播法)求取Lobj=Lclass+αLloc所示的损失(表示与正确的值相差多少的值)的梯度,能够对网络的权重(对象识别网络中的参数)进行更新。在注视推算网络中,注视推算部1301通过利用规定的算法(例如,误差反向传播法)求取βLgaze所示的损失的梯度,能够对网络的权重(注视推算网络中的参数)进行更新。
[0171] 在此,Lclass是与对象的分类相关的损失,例如能够使用归一化指数函数(softmax function)。Lloc是关于对象的定位的损失,例如在以边界框(bounding box)的中心坐标及其宽度和高度表示对象的位置时,能够使用Lloc与这些正确的值(ground truth)的平方误差。Lgaze例如能够使用推算出的注视位置、和使用眼球跟踪眼镜等得到的正确值的注视位置的欧几里得距离等。α、β是对各损失的权重进行调整的参数,通过交叉验证等能够确定最佳值。
[0172] 在基础网络中,注视推算部1301通过利用规定的算法(例如,误差反向传播法)求取这些损失之和L=Lclass+αLloc+βLgaze的梯度,进行网络的权重(基础网络中的参数)的更新。
[0173] 此外,可以将表示注视点在帧中的各位置存在的概率的概率图作为注视推算网络的输出(注视信息)。
[0174] 另外,考虑到在握持某些对象时,容易注视该对象这一情况,在帧中存在手的情况下,可以追加对其位置进行推算的网络。在该情况下,如图15所示,将手推算网络追加到图14中的网络,将该输出也输入到注视推算网络。补充说明一下,推算部也可以还使用用户的第一人称视角的图像或影像中的图像帧内的手的存在概率或手的存在与否、和手在帧内的位置信息,对对象的确定和注视的推算进行多任务学习,对用户的注视信息进行推算。
[0175] 另外,关于参数的调整,在手推算网络中,注视推算部1301通过利用规定的算法(例如,误差反向传播法)求取损失γLhand的梯度,进行网络的权重(手推算网络中的参数)的更新。在该情况下,在基础网络中,注视推算部1301通过利用规定的算法(例如,误差反向传播法)求取L=Lclass+αLloc+βLgaze+γLhand的梯度,进行网络的权重(基础网络中的参数)的更新。
[0176] 例如能够使用表示推算出的手的位置的边界框的中心坐标及其宽度和高度、正确值的边界框的中心坐标及其宽度和高度的平方误差作为Lhand。γ是对Lhand的权重进行调整的参数。
[0177] (5)其它实施方式
[0178] 此外,在上述实施方式中,对将本发明应用于识别系统(100、800、1000、1100、1200、1300)的情况进行了说明,但本发明不限于此,也能够广泛应用于其它的各种确定系统。
[0179] 另外,在上述实施方式中,对利用一个计算机200实现识别系统100的情况进行了说明,但本发明不限于此,也可以利用多个计算机实现识别系统100。在该情况下,例如,Attribute计算用DB102、Attribute计算部103、识别用DB104、Attribute重要度DB105和识别部106分别设置于适当的计算机。
[0180] 上面,参照附图对本发明进行了详细说明,但本发明不限于这种具体结构,也包含所附的权利要求书的主旨内的各种变更和等效结构。例如,为了使本发明容易理解,通过上述实施例进行了详细说明,但也可以不包括所说明的所有的结构。此外,能够将一个实施例的结构的一部分替换到另一个实施例的结构,此外,还能够在一个实施例的结构中加入另一个实施例的结构。另外,能够对各实施例的结构的一部分进行其它的结构的追加、删除和置换。
[0181] 另外,可以通过例如在集成电路中进行设计等,利用硬件来实现上述各结构、功能、处理部、处理单元等的一部分或全部。另外,上述的各结构、功能等也可以通过由处理器执行实现各种功能的程序,用软件来实现。实现各功能的程序、表、文件等信息能够保存于存储装置(存储器)、硬盘、SSD(Solid State Drive)等存储装置、或IC卡、SD卡、DVD等非暂时性记录介质。
[0182] 另外,控制线或信息线表示认为需要说明的线,不一定表示安装到产品时需要的所有的控制线和信息线。实际上可以认为所有的结构都相互连接。
[0183] 另外,在不脱离本发明的主旨的范围内,可以适当地对上述结构进行变更、重组、组合、省略等。

当前第1页 第1页 第2页 第3页
相关技术
确定系统相关技术
系统确定相关技术
佐藤拓杜发明人的其他相关专利技术