对象识别方法、装置、设备及介质
技术领域
本公开涉及计算机
技术领域
,更具体地,涉及一种对象识别方法、装置、设备及介质。背景技术
随着高维数据的快速增长,高维数据聚类在许多领域中发挥着越来越重要的作用,例如文本挖掘,图像搜索,计算机视觉和生物信息学等领域。例如,在文本挖掘过程中,对文本包括的信息进行聚类,基于聚类的结果去识别文本包括的信息可准确地挖掘文本中事先未知的、可理解的、最终可用的知识和信息。又例如,在图像搜索中,对图像进行聚类,基于聚类结果去识别图像包括的关键信息,进而基于关键信息高效准确地搜索到待搜索的图像。因此,如何准确地对文本或图像进行聚类直接影响文本或图像信息识别的准确性,进而影响文本挖掘或图像搜索的效率及准确性。
发明内容
有鉴于此,本公开提供了一种对象识别方法、装置、设备及介质。
本公开的一个方面提供了一种对象识别方法,包括:获取待识别的多个对象,每个所述对象包括多个特征;采用特征选择矩阵分别对每个对象的所述多个特征进行选择,得到包括至少一个特征的多个对象;对所述包括至少一个特征的多个对象进行聚类,得到聚类结果;在确定所述聚类结果满足预设条件的情况下,根据所述聚类结果,识别所述多个对象包括的信息;以及在确定所述聚类结果不满足所述预设条件的情况下,根据所述聚类结果更新所述特征选择矩阵,并返回所述采用特征选择矩阵分别对每个对象的所述多个特征进行选择的操作。
根据本公开的实施例,所述采用特征选择矩阵分别对每个对象的所述多个特征进行选择,得到包括至少一个特征的多个对象,包括:分别提取每个对象不同维度的特征;将所述每个对象不同维度的特征组成每个对象的特征向量;采用特征选择矩阵分别对每个对象的特征向量进行选择,得到所述每个对象包括至少一个特征的特征向量。
根据本公开的实施例,所述采用特征选择矩阵分别对每个对象的所述多个特征进行选择,得到包括至少一个特征的多个对象,包括:构建行稀疏矩阵;通过所述行稀疏矩阵分别对所述每个对象的多个特征进行选择,得到包括至少一个特征的多个对象。
根据本公开的实施例,所述在确定所述聚类结果不满足所述预设条件的情况下,根据所述聚类结果更新所述特征选择矩阵,包括:在确定所述聚类结果包括的聚类准确度属于第一预设范围的情况下,更新所述特征选择矩阵,以选择不同种类的特征;在确定所述聚类结果包括的聚类准确度属于第二预设范围的情况下,更新所述特征选择矩阵,以选择不同数量的特征。
根据本公开的实施例,所述对所述包括至少一个特征的多个对象进行聚类,得到聚类结果,包括:固定聚类中心、所述特征选择矩阵及置信度中的任意两个变量的数值,计算另一个变量的数值,得到一组包括上述三个变量的数值;通过迭代的方式计算出多组包括上述三个变量的数值,得到聚类中心、所述特征选择矩阵及置信度的收敛值。
根据本公开的实施例,所述对象包括文本、图像、语音及视频中的至少之一。
根据本公开的实施例,所述图像集包括高维图像数据集。
根据本公开的实施例,所述高维图像数据集包括COIL20数据集或COIL100数据集或ORL人脸数据集或YALE人脸数据集。
根据本公开的实施例,所述对象为图像;所述对象包括图像;所述分别提取每个对象不同维度的特征,包括:提取所述图像以下特征中的至少一个:灰度值;二维直方图;尺度不变特征变换值;方向梯度直方图。
本公开另一方面提供一种对象识别装置,包括:获取模块,用于获取待识别的多个对象,每个所述对象包括多个特征;选择模块,用于采用特征选择矩阵分别对每个对象的所述多个特征进行选择,得到包括至少一个特征的多个对象;聚类模块,用于对所述包括至少一个特征的多个对象进行聚类,得到聚类结果;第一确定模块,用于在确定所述聚类结果满足预设条件的情况下,根据所述聚类结果,识别所述多个对象包括的信息;以及第二确定模块,用于在确定所述聚类结果不满足所述预设条件的情况下,根据所述聚类结果更新所述特征选择矩阵,并返回所述采用特征选择矩阵分别对每个对象的所述多个特征进行选择的操作。
根据本公开的实施例,所述选择模块包括:提取单元,用于分别提取每个对象不同维度的特征;组成单元,用于将所述每个对象不同维度的特征组成每个对象的特征向量。第一选择单元,用于采用特征选择矩阵分别对每个对象的特征向量进行选择,得到所述每个对象包括至少一个特征的特征向量。
根据本公开的实施例,所述选择模块还包括:构建单元,用于构建行稀疏矩阵;第二选择单元,用于通过所述行稀疏矩阵分别对所述每个对象的多个特征进行选择,得到包括至少一个特征的多个对象。
根据本公开的实施例,所述第二确定模块包括:第一确定单元,用于在确定所述聚类结果包括的聚类准确度属于第一预设范围的情况下,更新所述特征选择矩阵,以选择不同种类的特征;第二确定单元,用于在确定所述聚类结果包括的聚类准确度属于第二预设范围的情况下,更新所述特征选择矩阵,以选择不同数量的特征。
根据本公开的实施例,所述聚类模块包括:第一计算单元,用于固定聚类中心、所述特征选择矩阵及置信度中的任意两个变量的数值,计算另一个变量的数值,得到一组包括上述三个变量的数值;第二计算单元,用于通过迭代的方式计算出多组包括上述三个变量的数值,得到聚类中心、所述特征选择矩阵及置信度的收敛值。
本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以实现对象识别方法示例性系统架构100;
图2示意性示出了根据本公开实施例的对象识别方法的流程图;
图3示意性示出了根据本公开实施例的选择特征的流程图;
图4示意性示出了根据本公开另一实施例的选择特征流程图;
图5示意性示出了根据本公开实施例的聚类方法的流程图;
图6示意性实出了本公开实施例加权迭代求解方法的流程图
图7示意性示出了根据本公开的实施例的对象识别装置的框图;
图8示意性示出了根据本公开的实施例的选择模块的框图;
图9示意性示出了根据本公开的另一实施例的选择模块的框图;
图10示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释 (例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B 和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
一种高维数据的聚类方式在于:首先对高维数据进行特征选择,以实现降维,然后再使用聚类算法对降维后的数据进行聚类。然而,该方式中特征选择任务与后续的聚类任务无关,特征选择很有可能将对聚类任务有用的特征筛除,进而直接影响后续的聚类性能,聚类准确度较低。
本公开的实施例提供了一种对象识别方法以及能够应用该方法的装置。该方法包括获取待识别的多个对象,每个对象包括多个特征。采用特征选择矩阵分别对每个对象的多个特征进行选择,得到包括至少一个特征的多个对象。对包括至少一个特征的多个对象进行聚类,得到聚类结果。判断聚类结果是否满足预设条件,若否,根据聚类结果更新特征选择矩阵,并返回上一步操作,若是,执行下一步操作。根据聚类结果,识别多个对象包括的信息。
图1示意性示出了根据本公开实施例的可以实现对象识别方法示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括数据库101、网络102和服务器103。网络102用以在数据库100和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线和/或无线通信链路等等。
数据库100中例如可以存储待识别的对象,该对象例如可以包括文本、图像、语音及视频,网络102可以将待识别的对象输入服务器 103,服务器103可以是提供各种服务的服务器,例如对待识别对象的特征选择及聚类,根据聚类结果识别对象包括的信息。
需要说明的是,本公开实施例所提供的对象识别方法一般可以由服务器103执行。相应地,本公开实施例所提供的对象识别装置一般可以设置于服务器103中。本公开实施例所提供的对象识别方法也可以由不同于服务器103且能够与数据库101,和/或服务器103通信的服务器或服务器集群执行。相应地,本公开实施例所提供的对象识别装置也可以设置于不同于服务器103且能够与数据库101和/或服务器 103通信的服务器或服务器集群中。
例如,在对象识别时,对对象进行聚类的过程及根据聚类结果识别对象包括信息并不直接由服务器103执行,而是由能够与数据库 101、服务器103通信的服务器或服务器集群执行,对象识别完成后,再将识别的信息发送至服务器103。
应该理解,图1中的数据库、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的数据库、网络和服务器。
图2示意性示出了根据本公开实施例的对象识别方法的流程图。
如图2所示,该对象识别方法包括操作S201~S205。
在操作S201,获取待识别的多个对象,每个对象包括多个特征。
例如,获取的待识别对象可以是具有多维特征的文本、图像、语音、视频中的至少之一,也可以是以数值、向量或矩阵等形式所表现的多维数据。
在操作S202,采用特征选择矩阵分别对每个对象的多个特征进行选择,得到包括至少一个特征的多个对象。
高维数据具有多个特征属性,即其维度可以达到成百上千维,甚至更高。在数据识别过程中,通常会有针对性地筛选出高维数据的部分特征,组成新的数据,以减少数据识别的计算量和降低运算成本。
在操作S203,对包括至少一个特征的多个对象进行聚类,得到聚类结果。
在操作S204,在确定聚类结果满足预设条件的情况下,根据聚类结果,识别多个对象包括的信息。
在操作S205,在确定聚类结果不满足预设条件的情况下,根据聚类结果更新特征选择矩阵,并返回采用特征选择矩阵分别对每个对象的多个特征进行选择的操作。
根据本公开的实施例,特征选择和聚类过程是同步进行的,两者之间相互依赖,且特征选择的结果和聚类的结果相互影响。在聚类过程中动态控制实际参与聚类的特征数量和种类,以避免根据先验经验先进行特征选择而丢弃了对聚类过程有用的特征。
为了便于理解本公开实施例提供的对象识别方法,提供了以下示例进行描述。应当理解,该示例并不用于限制本公开。
例如,本公开实施例提供的对象识别方法在商品推荐中的应用。用户通过购物平台购买商品后,其对应的购买信息可以以文本的形式进行存储,例如,用户ID、购买地址、购买商品的类型等等,也即文本内容包括这些信息。为了能够向对应的用户推荐其感兴趣的商品,以获取用户之间的关联性,需要从文本中挖掘已知的具有价值的信息作为商品推荐的参考,该些有价值的信息例如可以包括用户购买某一商品的周期或频率,该周期或频率能够准确地反映用户在不同时间需要的商品,以便在正确的时间批量地向具有相似购买频率的用户推荐其需要的商品,进而提高商品购买成功率。此时,需要采用文本挖掘从基于文本数据包括购买商品的类型、购买该类型商品的次数以及购买该类型商品的时间间隔等特征挖掘出用户购买某一商品的周期或频率。采用本公开实施例提供的对象识别方法,以海量的包括用户ID、购买地址、购买商品的类型的文本为对象,对其海量的文本进行聚类,以便根据聚类结果高效准确地识别文本包括的关键信息,进而挖掘出对商品推荐有价值的信息。
又例如,本公开实施例提供的对象识别方法在图像搜索中的应用。当用于需要从海量的数据中快速准确搜索出其需要的图像时,可以采用本公开实施例提供的对象识别方法,以海量待搜索的图像为对象,首先对海量的图像进行聚类,得到图像的聚类结果,然后基于聚类结果可以快速识别不同类图像包括的信息,再基于识别的信息搜索与当前需要匹配的图像,搜索效率更高,匹配更准确。
再例如,本公开实施例提供的对象识别方法在另一种商品推荐中的应用。为对每一位用户进行同类商品推荐,获取的待识别对象为海量的包括用户购买信息的原始数据,该原始数据包括多种特征,例如,用户年龄、购买地址、购买时间段、购买的商品类型等。对该原始数据进行聚类分析即对该原始数据对应的用户进行分类,获得具有一定特征相似度的用户集合,以对不同用户集合的用户推荐不同的商品。对于同一原始数据,可基于不同特征进行聚类,得到不同的聚类结果。
例如,基于用户年龄和购买商品类型特征进行聚类,聚类结果为 20-30岁购买服饰商品的用户组成集合,以及30-40岁购买日用品商品的用户组成集合;再例如,基于购买地址和购买商品价值特征进行聚类,聚类结果为购买地址为大学区域购买价值为500元以下的商品的用户组成集合,购买地址为商务中心购买价值为500以上的商品的用户组成集合;再例如,基于用户性别、购买时间段和用户购买商品类型特征进行聚类,聚类结果为在20-24点购买服饰的女性用户组成集合,在22-24点购买电子产品的男性用户组成集合,在7-9点购买生鲜产品的女性用户组成集合,在11-13点购买速食食品的男性用户组成集合。
针对上述多个集合,每个集合具有不同的聚类质量。可理解地,本公开提供的对象识别方法需要识别出对象的最大相似度,则需要得到具有最优聚类质量的用户集合。因此,在聚类过程中,针对每一原始数据,确定基于何种特征以及多少数量的特征,进行聚类能得到最优解,是无法根据先验进行准确判断的。若仅是根据历史特征选择特征经验对高维原始数据进行特征选择,可能会导致关键特征被筛除,从未无法获得最优的聚类结果。
本公开实施例提供的对象识别方法,在聚类过程中,通过动态地不断更新特征选择矩阵,实现对特征选择数量和种类的不断改变。相比于传统的特征选择任务与后续的聚类任务无关的技术方案,可以避免特征选择丢弃对聚类过程其关键作用的特征,进而能够依据聚类结果准确地识别对象包括的关键信息,以及对象之间的关联性。并且由于先进行聚类后以不同类为单位分别识别(同一类具备共性),并不是从海量对象中直接进行信息识别,进而提高对象识别的效率。
为了更清楚的阐述本发明,下面结合具体实施例对图2所示的对象识别方法做进一步说明。
图3示意性示出了根据本公开实施例的选择特征的流程图。
如图3所示,操作S202进一步可以包括操作S301~S303。
在操作S301,分别提取每个对象的不同维度的特征。
根据本公开的实施例,上述对象识别方法可以用于识别文本、图像、语音、视频等对应处理高维数据,以高维图像数据为例,该高维图像数据例如可以包括COIL20数据集或COIL100数据集或ORL人脸数据集或YALE人脸数据集。当待识别的对象为图像数据集时,针对于每一数据,提取该图像数据的不同特征,提取特征包括灰度值、二维直方图、尺度不变特征变换值(SIFT)、方向梯度直方图(HOG) 等特征中的至少一个。
在操作S302,将每个对象不同维度的特征组成每个对象的特征向量。
根据本公开的实施例,针对于具有多维特征的文本、图像、语音、视频等对象,分别将从每个对象中提取的多个特征进行组合,构成该对象的特征向量,即将文本、图像、语音、视频数据转换成特征向量数据。
需要说明的是,对每一个对象采用相同的方式进行特征提取,同时以相同的方式进行特征组合,构成以相同形式所表现的特征向量。
例如,当待识别的对象为图像数据集时,提取一个图像数据对应的灰度值、二维直方图、SIFT值和HOG,并将灰度值、二维直方图、 SIFT值和HOG值进行串行拼接,组成表征该图像的特征向量。在特征向量中,每一个特征可以被转换成至少一个数值,则该特征向量可以为一个列向量。其中,对每一对象同一特征的转换方式相同,使得每个对象对应的最终列向量具有相同的行数,且每个列向量相同的行数的值表征同一特征。
在操作S303,采用特征选择矩阵分别对每个对象的特征向量进行选择,得到每个对象包括至少一个特征的特征向量。
本公开实施例提供的选择特征的方法,将具有文本、图像、语音、视频等形式的数据,转换成特征向量,得到的特征向量可以更准确地得到表征该对象的特征,以后续能够更好地对象的聚类及识别,提高信息识别的准确性。
图4示意性示出了根据本公开另一实施例的选择特征的流程图。
如图4所示,操作S202进一步可以包括操作S401~S402。
在操作S401,构建行稀疏矩阵,该行稀疏矩阵为特征选择矩阵。
在操作S402,通过行稀疏矩阵分别对每个对象的多个特征进行选择,得到包括至少一个特征的多个对象。
根据本公开的实施例,将行稀疏矩阵与表征每个对象特征的特征向量相乘,可实现对特征向量的稀疏化,以控制实际参与聚类的具有判别性特征的个数。特征选择的动机是从高维数据的多个原始特征中选择出至少一个特征。一方面,对原始高维数据进行降维,降低运算量和运算成本。另一方面,通常选择出的特征具有判别性,可以通过具有判别性的特征挖掘出对象之间的关联性。
图5示意性示出了根据本公开实施例的聚类方法流程图。
如图5所示,操作S205中在确定聚类结果不满足预设条件的情况下,根据聚类结果更新特征选择矩阵,可以包括操作S501~S502。
在操作S501,在确定聚类结果包括的聚类准确度属于第一预设范围的情况下,更新特征选择矩阵,以选择不同种类的特征。
在操作S502,在确定聚类结果包括的聚类准确度属于第二预设范围的情况下,更新特征选择矩阵,以选择不同数量的特征。
根据本公开的实施例,具体的地,可以通过以下目标公式进行聚类:
其中,n为待识别对象中对象的个数,c为聚类中心个数,i为待识别对象中对象的编号,j为聚类中心的编号,xi为示第i个对象对应的特征向量,mj为第j个簇类中心的向量,yij为第i个对象属于第j个簇的置信度,W为特征选择矩阵,即行稀疏矩阵,WT为特征选择矩阵的正交矩阵,‖W‖2,1为行稀疏矩阵W的l2,1范数,λ为正则化参数,0≤λ≤1, I为单位矩阵,s.t.表示约束。
需要说明的是,本公开中使用大写粗体字母表示矩阵,如W,I;使用小写粗斜体字母表示向量,如x,使用小写斜体字母表示标量,如y。
从整体上看待上述目标公式,第一项为损失项,表示投影后的数据对应的特征向量与不同簇中心向量的相似度,其中,WTxi表示对特征向量进行特征选择后的向量,增加特征选择矩阵的正交性可避免在后续的求解过程中陷入平凡解,mj表示特征选择后的向量的聚类中心。第二项λ‖W‖2,1用于动态控制实际参与聚类的具有判别性特征的个数,λ用于控制W的稀疏度,λ值越大矩阵W越稀疏。
根据本公开的实施例,预设条件可以是迭代停止条件。当聚类结果满足迭代停止条件时,则获得该聚类结果,执行根据聚类结果,识别多个对象包括的信息的操作。当得到的聚类结果不满足迭代停止条件时,更新特征选择矩阵,重新利用更新后的特征选择矩阵对对象进行特征选择,得到新的特征选择后的特征向量,并对新的特征向量进行聚类,重复上述操作直至满足迭代停止条件。通常情况下,新得到的特征选择后的特征向量与前一次得到特征选择后的特征向量不同。本领域技术人员可以理解,迭代停止条件可以包括迭代次数,当迭代次数达到预设次数时,则停止迭代,得到聚类结果。迭代停止条件还可以为聚类准确度的满足的数值范围。当然,本公开实施例并不局限于此。
例如,假设获取的多个对象具有5个特征A、B、C、D、E,采用特征选择矩阵对上述5个特征进行选择。具体的,在操作S502中,若聚类准确度不满足预设条件,则更新特征选择矩阵,并返回上一步操作。
例如,如果基于特征A和B进行聚类得到的聚类准确度的值小于等于0.3(第一预设范围),表示基于特征A和B进行聚类的准确度较低,因此需要改变所选取的特征,则更新特征选择矩阵。更新后的特征选择特征可以替换原有的一个特征或全部特征,例如,更新后的特征选择矩阵可选择A和C两个特征,或者选择C和D两个特征,执行采用更新后的特征选择矩阵对该对象的多个特征进行选择,得到多个包括A和C两个特征的特征向量,或者包括C和D两个特征向量,并重新进的聚类。
如果对包括C和D两个特征向量进行聚类得到的聚类准确度的值大于0.3且小于等于0.5(第二预设范围),表示基于特征C和D进行聚类的产生的聚类结果具有一定的准确度,可进一步挖掘特征之间的相似度,则更新特征选择矩阵,更新后的特征选择特征可以增加一个新的特征,例如更新后的特征选择矩阵可选择A、C和D三个特征,执行采用更新后的特征选择矩阵对该对象的多个特征进行选择,得到多个包括A、C和D三个特征的特征向量,并重新进行聚类。
如果对包括A、C和D三个特征进行聚类得到的聚类准确度的值大于0.5(满足预设条件的第三预设范围),表述基于A、C和D三个特征进行聚类的产生的聚类结果满足要求,则可以执行根据聚类结果,识别多个对象包括的信息的操作。
需要说明的是,上述例子中所列举的特征数量、特征类型、预设条件、为聚类准确度划分的范围以及选择特征的方式均为示例性地说明,并不对本公开的提供的技术方案的应用场景做限定,也不对本公开的提供的技术方案的具体实施例做限定。
通过本公开实施例,通过在聚类过程中不断动态调整特征的数量和种类,直至聚类结果满足迭代停止条件,实现聚类过程和特征选择过程的融。采用稀疏矩阵的正交矩阵进行特征选择,可以避免在聚类求解过程中陷入平凡解,提高聚类的准确性,进而可以依据更加准确的结果进行对象信息的识别,提高了信息识别的准确性。此外,通过行稀疏矩阵动态地选择实际参与聚类的判别性特征个数,可更好的将聚类与特征选择融合,实现灵活聚类,以提高聚类的准确性及效率,进而提高对象信息识别的准确性及其效率。
为了进一步提高本公开实施例提供的对象识别方法的准确性,本公开实施例还提供一种上述目标公式的加权迭代求解方法。即对包括至少一个特征的多个对象进行聚类,得到聚类结果,包括固定聚类中心、特征选择矩阵及置信度中的任意两个变量的数值,计算另一个变量的数值,得到一组包括上述三个变量的数值。再通过迭代的方式计算出多组包括上述三个变量的数值,得到聚类中心、特征选择矩阵及置信度的收敛值。
图6示意性实出了本公开实施例加权迭代求解方法的流程图。
如图6所示,该加权迭代求解方法例如可以包括操作S601~S603。
在操作S601,固定W及mj,更新Y对目标公式求解。矩阵Y为置信度矩阵,置信度矩阵Y为第i个对象属于不同簇的置信度yij构成的矩阵。
基于操作S601,固定W及mj不变,上述目标公式可以简化为:
通过上述限定,即可将目标公式的求解问题转化为带约束的一次线性优化问题,可直接使用现有的优化工具箱进行求解,例如利用拉格朗日算法求解极小值。
在操作S602,固定W及Y,更新mj对目标公式求解。
基于操作S602,固定W及Y不变,上述目标公式可以简化为:
s.t.WTW=I
对简化后的公式中的变量mj求导,并令导数为零得到mj的解,解为
在操作S603,固定mj及Y,更新W对目标公式求解。
基于操作S603,固定mj及Y不变,上述目标公式可以简化为:
s.t.WTW=I
令其中,表示第j个簇原始数据的均指向量,Sw为簇类内散度矩阵,表征聚类簇的紧致性,则可以进一步简化为:
s.t.WTW=I
其中,D为对角矩阵,其对角线上第i个元素的值为ε为一个任意很小的常数。基于最终简化的公式便可以直接得出Y。
通过上述操作S601~S603进行迭代求解,直至W、mj及Y趋近收敛,得到最终聚类结果。需要说明的是,上述操作S601~S603的执行并不一定按照上述先后顺序,可根据实际情况选择执行的逻辑先后顺序。
需要说明的是,在进行对象聚类之前,将待聚类的对象投影为数据矩阵,特征选择矩阵便可以构建为表示,其中,d表示数据矩阵的维度,即对象的个数,e为对象对应的特征向量包括的特征个数。‖WTxi-mj‖2为WTxi-mj的l2范数,‖W‖2,1为行稀疏矩阵W的l2.1范数。
下面对本公实施例中的l2范数和l2.1范数进行详细说明。
对于矩阵qab,qa分别表示矩阵(a,b)位置上的元素和第 a列元素构成的向量。对于向量其lp范数定义为 例如向量的l0范数表示为其l1范数表示为其中|·|表示绝对值。l2范数表示为 由向量范数扩展到矩阵范数,矩阵Q的F范数定义为:
矩阵Q的l2.0范数定义为:
矩阵Q的l2.1范数定义为:
依据上述定义,便可对上述目标公式进行求解。
相比于现有技术中的特征选择与聚类毫无关联的聚类操作,本公开实施例提供的聚类目标公式很好地将聚类与特征选择融合,增加特征选择矩阵的正交性可以避免在后续的求解过程中陷入平凡解,通过行稀疏矩阵及正则化参数动态的选择实际参与聚类的判别性特征个数,可更好的将聚类与特征选择融合,实现灵活聚类,提高聚类的准确性及效率,进而提高对象信息识别的准确性及其效率。
本公开实施例提供的加权迭代求解方法,通过加权迭代求解的方式求解聚类的目标公式,直至W、mj及Y趋近收敛,可进一步对象识别方法的准确性。
为了更加全面突出本公开的上述实施例提供的对象识别方法的有效性及优势,采用本公开实施例提供的数据聚类方法在COIL20, COIL100,人脸数据集ORL和YALE这4个标准数据集上进行识别实验,对象的信息如表1所示:
表1
对象
样本个数
特征个数
类别
COIL20
1440
1024
20
COIL100
7200
1024
100
ORL
400
1024
40
YALE
165
1024
15
选择现有技术中的三种方法与本公开实施例提供的聚类方法进行聚类对比。方法一:(Baseline):使用所有的特征进行k-means聚类;方法二(Max-var):当数据中某一方向上的方差越大则该特征的表达能力也就越强,因此根据数据的方差选择相应的特征进行k-means聚类;方法三(Laplacian Score):使用经典的Laplacian Score特征选择算法进行特征选择,然后将选择后的特征输入至k-menas进行聚类。聚类准确度作为本次实验的评价结果。聚类准确度是对聚类算法求解的最终聚类中心、特征选择矩阵及置信度的值进行准确度评估而得到的。聚类结果如表2(各方法在特征个数为50的聚类结果)及表3(各方法在特征个数为100的聚类结果)所示:
表2
数据集
Baseline
Max-var
Laplacian Score
本公开方法
COIL20
0.52
0.43
0.49
0.54
COIL100
0.47
0.03
0.29
0.49
ORL
0.46
0.37
0.38
0.53
YALE
0.37
0.34
0.38
0.45
表3
数据集
Baseline
Max-var
Laplacian Score
本公开方法
COIL20
0.52
0.49
0.51
0.55
COIL100
0.47
0.03
0.31
0.49
ORL
0.46
0.40
0.44
0.54
YALE
0.37
0.35
0.38
0.46
从表2及表3提供的结果数据可以明显的看出,本公开实施例提供的数据聚类方法相比于现有技术的三种方法聚类准确度最高,进而提高了对象信息识别的准确性。
图7示意性示出了根据本公开的实施例的对象识别装置的框图。
如图7所示,对象识别装置700例如可以包括获取模块710、选择模块720、聚类模块730、第一确定模块740及第二确定模块750。
获取模块710,用于获取待识别的多个对象,每个对象包括多个特征。
选择模块720,用于采用特征选择矩阵分别对每个对象的多个特征进行选择,得到包括至少一个特征的多个对象。
聚类模块730,用于对包括至少一个特征的多个对象进行聚类,得到聚类结果。
第一确定模块740,用于在确定聚类结果满足预设条件的情况下,根据聚类结果,识别多个对象包括的信息;以及
第二确定模块750,用于在确定聚类结果不满足预设条件的情况下,根据聚类结果更新特征选择矩阵,并返回采用特征选择矩阵分别对每个对象的多个特征进行选择的操作。
下面结合附图对图7所示的对象识别装置700进行进一步说明。
图8示意性示出了根据本公开的一个实施例的选择模块的框图。
根据本公开的实施例,如图8所示,选择模块720包括:
提取单元721,用于分别提取每个对象不同维度的特征。
组成单元722,用于将每个对象不同维度的特征组成每个对象的特征向量。
第一选择单元723,用于采用特征选择矩阵分别对每个对象的特征向量进行选择,得到每个对象包括至少一个特征的特征向量。
图9示意性示出了根据本公开的又一实施例的选择模块的框图。
根据本公开的实施例,如图9所示,选择模块720还包括:
构建单元724,用于构建行稀疏矩阵;
第二选择单元725,用于通过行稀疏矩阵分别对每个对象的多个特征进行选择,得到包括至少一个特征的多个对象。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块710、选择模块720、聚类模块730、第一确定模块740及第二确定模块750中的任意多个可以合并在一个模块/单元/ 子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,获取模块710、选择模块720、聚类模块730、第一确定模块740及第二确定模块750中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块710、选择模块720、聚类模块730、第一确定模块740及第二确定模块750中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中对象识别装置部分与本公开的实施例中对象识别方法部分是相对应的,其具体实施细节及带来的技术效果也是相同的,在此不再赘述。
图10示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,根据本公开实施例的电子设备800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分 808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有电子设备800操作所需的各种程序和数据。处理器801、ROM802以及RAM803通过总线804彼此相连。处理器 801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备800还可以包括输入/输出(I/O) 接口805,输入/输出(I/O)接口805也连接至总线804。电子设备800 还可以包括连接至I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器 810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包括用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包括的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器 (CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包括或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种用于景观的温室绿植栽培方法