对图像进行自动语义标注的方法、装置与计算机设备转让专利

申请号 : CN201610320009.X

文献号 : CN105930841B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘霄王江文石磊丁二锐

申请人 : 百度在线网络技术(北京)有限公司

摘要 :

根据本发明的实施例,提供了对图像语义标注装置进行训练的方法,包括:a.提供多幅训练图像,各训练图像的语义和视觉属性描述已知;b.将至少部分所述训练图像输入到所述图像语义标注装置的定位器;c.由所述定位器确定输入的每幅训练图像的至少一个局部区域,并将所确定的各个局部区域输入到所述图像语义标注装置的属性预测器;d.由所述属性预测器得到输入的每个局部区域的视觉属性预测结果;e.根据得到的每个局部区域的视觉属性预测结果以及相应训练图像的已知的视觉属性描述,训练所述定位器和所述属性预测器。

权利要求 :

1.一种对图像语义标注装置进行训练的方法,包括:a.提供多幅训练图像,各训练图像的语义和视觉属性描述已知;

b.将至少部分所述训练图像输入到所述图像语义标注装置的定位器;

c.由所述定位器确定输入的每幅训练图像的至少一个局部区域,并将所确定的各个局部区域输入到所述图像语义标注装置的属性预测器;

d.由所述属性预测器得到输入的每个局部区域的视觉属性预测结果;

e.根据得到的每个局部区域的视觉属性预测结果以及相应训练图像的已知的视觉属性描述,训练所述定位器和所述属性预测器。

2.如权利要求1所述的方法,其中:

所述多幅训练图像的语义为对应于同一粗粒度语义的不完全相同的细粒度语义。

3.如权利要求2所述的方法,其中:

所述粗粒度语义对应于一种粗粒度分类对象,不同的所述细粒度语义对应于属于该种粗粒度分类对象的不同的细粒度分类对象。

4.如权利要求3所述的方法,其中:

每个所述细粒度分类对象包含至少一个特征部位,所述视觉属性描述被根据其所对应的特征部位而划分为不同的组,所述方法包括:针对每个所述特征部位,重复所述步骤b至d直至所述视觉属性预测结果收敛。

5.根据权利要求1至4中任一项所述的方法,所述步骤a包括:对包含图像的网页进行挖掘,得到所述多幅训练图像、各训练图像的语义标签和所述视觉属性描述。

6.根据权利要求1至4中任一项所述的方法,所述步骤e包括:针对每个所述局部区域,根据该局部区域的视觉属性预测结果和相应训练图像的视觉属性描述,计算损失函数,用于对所述定位器和所述属性预测器的训练。

7.根据权利要求6所述的方法,所述步骤e还包括:根据反向传播算法,计算所述定位器和所述属性预测器的梯度,确定或更新所述定位器和所述属性预测器的参数。

8.根据权利要求4所述的方法,还包括:

f.从所述多幅训练图像中选取至少一部分训练图像;

g.由经过训练的所述定位器对选出的每幅训练图像进行处理,从而在该幅训练图像上定位该幅训练图像所对应的细粒度分类对象的至少一个特征部位;

h.将为每幅选出的训练图像定位的特征部位、该训练图像的已知的语义标签输入到所述图像语义标注装置的分类器,对所述分类器进行训练。

9.根据权利要求8所述的方法,所述步骤h包括:针对每幅选出的训练图像,计算定位出的每个特征部位的卷积特征;

根据计算出的每个特征部位的卷积特征,为该幅训练图像生成向量;

由支持向量机来根据所生成的向量来训练所述分类器。

10.根据权利要求9所述的方法,所述步骤h还包括:针对每幅选出的训练图像,计算该训练图像的整体的卷积特征;

所述为该幅图像生成向量的步骤还包括:

根据计算出的该幅图像的整体的卷积特征,以及计算出的该幅图像的每个特征部位的卷积特征,为该训练图像生成所述向量。

11.一种图像语义标注方法,包括:

I.根据权利要求1至10中任一项所述的方法对图像语义标注装置进行训练;

II.由所述经过训练的图像语义标注装置对待标注图像进行语义标注。

12.根据权利要求11所述的方法,所述步骤II包括:将所述待标注图像输入到所述经过训练的图像语义标注装置的定位器,由所述定位器定位所述待标注图像所对应的细粒度对象的至少一个特征部位;

将定位出的所述待标注图像所对应的细粒度对象的所述至少一个特征部位输入到所述经过训练的语义标注装置的分类器,由所述分类器根据所述至少一个特征部位生成所述待标注图像的语义。

13.根据权利要求12所述的方法,其中,所述分类器为所述待标注图像生成的语义包括细粒度语义。

14.一种能够对自身进行训练的图像语义标注装置,包括:第一单元,配置为提供多幅训练图像,各训练图像的语义和视觉属性描述已知;

定位器,配置为将所述多幅训练图像的至少一部分作为输入,确定输入的每幅训练图像的至少一个局部区域;

属性预测器,配置为将所述定位器确定的每个局部区域作为输入,得到输入的各局部区域的视觉属性预测结果;

第二单元,配置为根据得到的每个局部区域的视觉属性预测结果以及相应训练图像的已知的视觉属性描述,训练所述定位器和所述属性预测器。

15.根据权利要求14所述的图像语义标注装置,其中:所述多幅训练图像的语义为对应于同一粗粒度语义的不完全相同的细粒度语义。

16.根据权利要求15所述的图像语义标注装置,其中:所述粗粒度语义对应于一种粗粒度分类对象,不同的所述细粒度语义对应于属于该种粗粒度分类对象的不同的细粒度分类对象。

17.根据权利要求16所述的图像语义标注装置,其中:每个所述细粒度分类对象包含至少一个特征部位,所述视觉属性描述被根据其所对应的特征部位而划分为不同的组,所述定位器、属性预测器及第二单元还配置为:针对每个所述特征部位,执行各自的操作直至所述视觉属性预测结果收敛。

18.根据权利要求14至17中任一项所述的图像语义标注装置,所述第一单元还配置为:对包含图像的网页进行挖掘,得到所述多幅训练图像、各训练图像的语义标签和所述视觉属性描述。

19.根据权利要求14至17中任一项所述的图像语义标注装置,所述第二单元还配置为:针对每个所述局部区域,根据该局部区域的视觉属性预测结果和相应训练图像的视觉属性描述,计算损失函数,用于对所述定位器和所述属性预测器的训练。

20.根据权利要求19所述的图像语义标注装置,所述第二单元还配置为:根据反向传播算法,计算所述定位器和所述属性预测器的梯度,确定或更新所述定位器和所述属性预测器的参数。

21.根据权利要求17所述的图像语义标注装置,还包括:第三单元,配置为从所述多幅训练图像中选取至少一部分训练图像;

所述定位器还配置为,在经过所述第二单元训练后,对所述第三单元选出的每幅训练图像进行处理,从而在该幅训练图像上定位该幅训练图像所对应的细粒度分类对象的至少一个特征部位;

所述图像语义标注装置还包括:

分类器,配置为将所述定位器在选出的每幅训练图像上定位的每个特征部位、选出的每幅训练图像的已知的语义标签作为输入,来对所述分类器本身进行训练。

22.根据权利要求21所述的图像语义标注装置,所述分类器包括:第一元件,配置为针对所述第三单元选出的每幅训练图像,计算所述定位器定位出的每个所述特征部位的卷积特征;

第二元件,配置为根据计算出的每个特征部位的卷积特征,为该幅训练图像生成向量;

第三元件,配置为由支持向量机来根据所生成的向量来训练所述分类器。

23.根据权利要求22所述的图像语义标注装置,其中,所述分类器还包括:第四元件,配置为计算所述第三单元选出的每幅训练图像的整体的卷积特征;

所述第二元件还配置为,针对所述第三单元选出的每幅训练图像,根据所述第一元件计算出的该训练图像的各个特征部位的卷积特征,以及所述第四元件计算出的该训练图像的整体的卷积特征,为所述训练图像生成所述向量。

24.根据权利要求14所述的图像语义标注装置,其中:所述定位器还配置为,在经过所述第二单元的训练后,在待标注图像上定位出该待标注图像所对应的细粒度对象的至少一个特征部位;

所述分类器还配置为,将所述定位器在所述待标注图像上定位出的所述至少一个特征部位作为输入,生成所述待标注图像的语义。

25.根据权利要求24所述的图像语义标注装置,其中,所述分类器生成的所述待标注图像的语义包括细粒度语义。

26.一种计算机设备,包括如权利要求14至25中任一项所述的能够对自身进行训练的图像语义标注装置。

说明书 :

对图像进行自动语义标注的方法、装置与计算机设备

技术领域

[0001] 本发明涉及图像处理领域,尤其涉及一种对图像进行自动语义标注的方法、装置与包含该装置的计算机设备。

背景技术

[0002] 近十多年来,随着计算机网络技术的迅速发展、普及应用以及数据存储器成本的大幅下滑,多媒体数据库的使用变得越来越普遍。以图像、音乐、视频形式展现的多媒体信息无论在商业还是娱乐中都显现出了日益重要的作用。如何对如此大量的数据进行有效地管理和组织,并从中搜索出用户所需要的信息就成为非常重要的问题。对于多媒体数据,尤其是图像数据的浏览、搜索以及索引技术的研究已经有了很长时间的历史。如今,有关图像数据库和视觉信息搜索的话题已经变成了研究领域中最为活跃的一部分。
[0003] 要完成一次图像搜索,搜索引擎一般要求用户提供对于想要搜索的图像的描述。这些描述可以是一组关键字查询,或是一张案例图像。前一种的方式被称作为基于语义(标注)的图像搜索,后一种被称作为基于内容的图像搜索。
[0004] 为实现基于语义的图像搜索,需要对数据库中的图像进行语义标注。图像语义自动标注是指利用计算机视觉技术,让计算机对图像中的内容进行理解,从而给图像自动标注出文本语义的过程。也就是说,图像语义自动标注是使计算机对图像的语义进行准确地描述和理解的过程,其本质上就是建立图像和文本语义之间的关联。
[0005] 现有的图像语义标注方法主要有以下两种实现方式:
[0006] 第一种是由计算机在整幅图像上提取特征,并对图像进行分类识别,也即,将整幅图像作为分类器的输入。然而,很多近似类别的图像的整体相似度很高,例如,不同型号的三厢轿车的图像可能只在若干细节上有区别,而从整幅图像上提取的特征往往不足以准确对这种细粒度的图像分类进行区分,语义标注效果差。
[0007] 第二种则是由人工确定图像的显著性区域,这些显著性区域可以体现不同的细粒度图像之间的差别,例如,不同品牌的车型的车标,不同品种的猫的眼睛。而后,再对这些显著性区域提取特征,进行细粒度的图像语义标注。但是,由于图像数据库中的图像的数量巨大,要为每幅图像人工确定其显著性区域,显然会消耗极大的人力资源,限制了这种解决方案的可行性。
[0008] 只有解决现有技术中的上述问题,才能使图像语义的自动标注更进一步发展。

发明内容

[0009] 本发明的目的是提供一种新的图像语义标注方法和装置,以解决现有技术中的上述问题。
[0010] 具体地,根据本发明的第一方面的实施例,提供了一种对图像语义标注装置进行训练的方法,包括:a.提供多幅训练图像,各训练图像的语义和视觉属性描述已知;b.将至少部分所述训练图像输入到所述图像语义标注装置的定位器;c.由所述定位器确定输入的每幅训练图像的至少一个局部区域,并将所确定的各个局部区域输入到所述图像语义标注装置的属性预测器;d.由所述属性预测器得到输入的每个局部区域的视觉属性预测结果;e.根据得到的每个局部区域的视觉属性预测结果以及相应训练图像的已知的视觉属性描述,训练所述定位器和所述属性预测器。
[0011] 具体地,所述多幅训练图像的语义为对应于同一粗粒度语义的不完全相同的细粒度语义。
[0012] 具体地,所述粗粒度语义对应于一种粗粒度分类对象,不同的所述细粒度语义对应于属于该种粗粒度分类对象的不同的细粒度分类对象。
[0013] 具体地,每个所述细粒度分类对象包含至少一个特征部位,所述视觉属性描述被根据其所对应的特征部位而划分为不同的组,所述方法包括:针对每个所述特征部位,重复所述步骤a至d直至收敛。
[0014] 具体地,所述步骤a包括:对包含图像的网页进行挖掘,得到所述多幅训练图像、各训练图像的所述语义标签和所述视觉属性描述。
[0015] 具体地,所述步骤e包括:针对每个所述局部区域,根据该局部区域的视觉属性预测结果和相应训练图像的视觉属性描述,计算损失函数,用于对所述定位器和所述属性预测器的训练。
[0016] 具体地,所述步骤e还包括:根据反向传播算法,计算所述定位器和所述属性预测器的梯度,确定或更新所述定位器和所述属性预测器的参数。
[0017] 具体地,该方法还包括:f.从所述多幅训练图像中选取至少一部分训练图像;g.由经过训练的所述定位器对选出的每幅训练图像进行处理,从而在该幅训练图像上定位该幅训练图像所对应的细粒度分类对象的至少一个特征部位;h.将为每幅选出的训练图像定位的特征部位、该训练图像的已知的语义标签输入到所述图像语义标注装置的分类器,对所述分类器进行训练。
[0018] 具体地,所述步骤h包括:针对每幅选出的训练图像,计算定位出的每个特征部位的卷积特征;根据计算出的每个特征部位的卷积特征,为该幅训练图像生成向量;由支持向量机来根据所生成的向量来训练所述分类器。
[0019] 具体地,所述步骤h还包括:针对每幅选出的训练图像,计算该训练图像的整体的卷积特征;所述为该幅图像生成向量的步骤还包括:根据计算出的该幅图像的整体的卷积特征,以及计算出的该幅图像的每个特征部位的卷积特征,为该训练图像生成所述向量。
[0020] 根据本发明的第二方面的实施例,提供了一种图像语义标注方法,包括:I.根据权利要求1至10中任一项所述的方法对图像语义标注装置进行训练;II.由所述经过训练的图像语义标注装置对待标注图像进行语义标注。
[0021] 具体地,所述步骤II包括:将所述待标注图像输入到所述经过训练的图像语义标注装置的定位器,由所述定位器定位所述待标注图像所对应的细粒度对象的至少一个特征部位;将定位出的所述待标注图像所对应的细粒度对象的所述至少一个特征部位输入到所述经过训练的语义标注装置的分类器,由所述分类器根据所述至少一个特征部位生成所述待标注图像的语义。
[0022] 具体地,所述分类器为所述待标注图像生成的语义包括细粒度语义。
[0023] 根据本发明的第三方面的实施例,提供了一种能够对自身进行训练的图像语义标注装置,包括:第一单元,配置为提供多幅训练图像,各训练图像的语义和视觉属性描述已知;定位器,配置为将所述多幅训练图像的至少一部分作为输入,确定输入的每幅训练图像的至少一个局部区域;属性预测器,配置为将所述定位器确定的每个局部区域作为输入,得到输入的各局部区域的视觉属性预测结果;第二单元,配置为根据得到的每个局部区域的视觉属性预测结果以及相应训练图像的已知的视觉属性描述,训练所述定位器和所述属性预测器。
[0024] 具体地,所述多幅训练图像的语义为对应于同一粗粒度语义的不完全相同的细粒度语义。
[0025] 具体地,所述粗粒度语义对应于一种粗粒度分类对象,不同的所述细粒度语义对应于属于该种粗粒度分类对象的不同的细粒度分类对象。
[0026] 具体地,每个所述细粒度分类对象包含至少一个特征部位,所述视觉属性描述被根据其所对应的特征部位而划分为不同的组,所述第一单元、定位器、属性预测器及第二单元还配置为:针对每个所述特征部位,执行各自的操作直至收敛。
[0027] 具体地,所述第一单元还配置为:对包含图像的网页进行挖掘,得到所述多幅训练图像、各训练图像的语义标签和所述视觉属性描述。
[0028] 具体地,所述第二单元还配置为:针对每个所述局部区域,根据该局部区域的视觉属性预测结果和相应训练图像的视觉属性描述,计算损失函数,用于对所述定位器和所述属性预测器的训练。
[0029] 具体地,所述第二单元还配置为:根据反向传播算法,计算所述定位器和所述属性预测器的梯度,确定或更新所述定位器和所述属性预测器的参数。
[0030] 具体地,所述图像语义标注装置还包括:第三单元,配置为从所述多幅训练图像中选取至少一部分训练图像;所述定位器还配置为,在经过上述训练后,对所述第三单元选出的每幅训练图像进行处理,从而在该幅训练图像上定位该幅训练对象所对应的细粒度分类对象的至少一个特征部位;所述图像语义标注装置还包括:分类器,配置为将所述定位器在选出的每幅训练图像上定位的每个特征部位、选出的每幅训练图像的已知的语义标签作为输入,来对所述分类器本身进行训练。
[0031] 具体地,所述分类器包括:第一元件,配置为针对所述第三单元选出的每幅训练图像,计算所述定位器定位出的每个所述特征部位的卷积特征;第二元件,配置为根据计算出的每个特征部位的卷积特征,为该幅训练图像生成向量;第三元件,配置为由支持向量机来根据所生成的向量来训练所述分类器。
[0032] 具体地,所述分类器还包括:第四元件,配置为计算所述第三单元选出的每幅训练图像的整体的卷积特征;所述第二元件还配置为,针对所述第三单元选出的每幅训练图像,根据所述第一元件计算出的该训练图像的各个特征部位的卷积特征,以及所述第四元件计算出的该训练图像的整体的卷积特征,为所述训练图像生成所述向量。
[0033] 具体地,所述定位器还配置为,在经过上述训练后,在待标注图像上定位出该待标注图像所对应的细粒度对象的至少一个特征部位;所述分类器还配置为,将所述定位器在所述待标注图像上定位出的所述至少一个特征部位作为输入,生成所述待标注图像的语义。
[0034] 具体地,所述分类器生成的所述待标注图像的语义包括细粒度语义。
[0035] 根据本发明的第四方面的实施例,提供了一种计算机设备,包括前述的能够对自身进行训练的图像语义标注装置。
[0036] 与现有技术相比,根据本发明的实施例的方法、装置或计算机设备具有以下优点:
[0037] 1.经训练的定位器能够较为准确地定位图像中的显著性区域,由于这些显著性区域往往体现着不同细粒度图像之间的差别,例如,同是鸟类的图像,不同品种的鸟在羽毛颜色,嘴部颜色上会有细节上的差别,而这些差别正是体现在显著性区域中。精确定位这些显著性区域,能够使分类器更准确地“读”出其间的差别,精细地分类、标注图像。而这是仅仅提取全图信息进行标注的现有方式所无法做到的。
[0038] 2.与需要人工介入划定显著性区域、提供图像语义的训练方式不同,本发明的实施例中,定位器、属性预测器的训练所需的训练图像、训练图像的语义、以及本发明实施例特有的属性描述,都可以由计算机从互联网上的网页上挖掘得到,从而省去了大量的人工操作。
[0039] 本发明公开所披露的训练方案和语义标注方案可以视需要用于图像搜索、广告推荐、(交通管理的)车标识别及其它相关领域,用途广泛。

附图说明

[0040] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显,其中相同的单元由相同的附图标记表示。
[0041] 图1示出了根据本发明的实施例的方法、装置和计算机设备的典型应用环境;
[0042] 图2示出了根据本发明的实施例的对图像语义标注装置进行训练,及对待标注图像进行语义标注的方法的流程图;
[0043] 图3示出了根据本发明的实施例的能够对自身进行训练的图像语义标注装置的结构框图;
[0044] 图4为根据本发明的实施例的图像所对应的细粒度对象的特征部位的举例示意图;
[0045] 图5为根据本发明的实施例的对图像语义标注装置进行训练,并对图像进行语义标注的模块化示意图。

具体实施方式

[0046] 下面结合附图对本发明的实施例进行详细介绍。
[0047] 首先来看本发明的一个典型的应用环境,如图1所示。其中示出了两个计算机设备1和2,以及一个网络3,计算机设备1和2通过网络3互联,并且网络3还连接着其它图中未示出的网元或设备。在本例中,计算机设备1为搜索引擎运营商的一台服务器,运营商通过该服务器维护图像数据,这些图像数据一般是经过图像语义标注的,从而可以由终端用户通过计算机设备2(例如一台个人电脑或其它智能设备)在图像搜索时访问。例如,用户通过计算机设备2搜索关键词“特斯拉”,符合该语义的图像就会作为搜索结果显示在计算机设备2上。
[0048] 为了不断地更新图像数据库,计算机设备1处就需要不断地对新的未经语义标注的图像(也可因此称为待标注图像)进行语义标注,于是,就需要利用下文介绍的图像语义标注装置和训练、标注方法。在一些变化例中,用户侧的计算机设备2也可以被用于对图像的语义标注,此时只需为计算机设备2也安装/配置上下文所述的图像语义标注装置(例如图3所示的装置30)。
[0049] 了解了本发明的应用环境,下面介绍根据一个实施例的对图像语义标注装置进行训练,以及在训练后用图像语义标注装置来对待标注图像进行语义标注的方法,其流程图如图2所示。
[0050] 该方法典型地运行于图1所示的计算机设备1(例如,图像数据库相关的服务器)上。
[0051] 首先,在步骤S200中,提供多幅训练图像,各训练图像的语义和视觉属性描述已知。
[0052] 这多幅训练图像的语义可以为对应于同一粗粒度语义的不完全相同的细粒度语义。一般地,图像的语义可以是概括的说明图像属于哪一类对象,例如,“车”、“草地”、“猫”、“男人”,这类宽泛的语义在上下文中称为粗粒度语义。而有些时候,我们需要在同一粗粒度语义下再细分不同的细粒度语义,例如,两辆车的图像的粗粒度语义均为“车”,而其细粒度语义可以一个是“特斯拉”,另一个则是“丰田”。三张猫的图像的粗粒度语义均为“猫”,但可能其中一个的细粒度语义为“波斯猫”,其二为“加菲猫(卡通形象)”,其三为“汤姆猫(卡通形象)”,三张鸟的图像的粗粒度语义均为“鸟”,但其一的细粒度语义可以是“海鸥”,其二为“鹦鹉”,其三为“信天翁”。
[0053] 粗粒度语义可以对应于一种粗粒度分类对象,例如,鸟、狗、鱼、花,而不同的细粒度语义可以对应于一种粗粒度分类对象所对应的不同的细粒度分类对象。例如,鸟作为一个粗粒度分类对象,它可以对应海鸥、鹦鹉、信天翁等多种细粒度分类对象。
[0054] 其中,每个细粒度分类对象可以包含至少一个特征部位,例如以鸟为例,每个细粒度分类对象都可以包含至少一个特征部位,各训练图像的视觉属性描述被根据该视觉属性描述所对应的特征部位而划分为不同的组。例如针对鸟类的视觉属性描述可以依据鸟的生理部位归类为头部、胸部、翅膀、尾巴等几个组。
[0055] 定义细粒度分类对象的特征部位对于实现实施例中的训练过程和语义标注有特别的意义。典型地,同一粗粒度分类对象的不同的细粒度分类对象的特征部位的视觉属性描述可以不同,或者至少有一处特征部位x,细粒度分类对象A在该特征部位的视觉属性描述不同于细粒度分类对象B在该特征部位的视觉属性描述。例如,同属于粗粒度分类对象“鸟”的不同的细粒度分类对象“鹦鹉”和“海鸥”可以在头部这个特征部位上的属性有所区别,比如一个扁平,一个突起等。
[0056] 具体地,上下文中的视觉属性或视觉属性描述例如,红色、斑点花纹的翅膀(对应于特征部位翅膀),褐色、平整的头部(对应于特征部位头部)、白色和黑色混合、条纹状的尾部(对应于特征部位尾部),黑色的眼睛(对应于特征部位眼睛)等。可见,视觉属性描述介绍了图像的局部的视觉外观。在用数学表示时,每项属性都可以用“是”或“否”来表示对一个问题的回答,这样的问题例如,“(鸟的)翅膀是红颜色的吗?”“(鸟的)头部是平整的吗?”“(鸟的)尾巴是黑色的吗?”对每一张训练图像所表达的每个特征部位,应该都可以为其获得针对相关问题的答案,于是,训练图像的视觉属性描述都可以表达为一个与问题对应的由二进制信息“0”或“1”表示的列表。
[0057] 相应地,该方法优选地为每个需要定位的特征部位重复步骤S200至S208来训练定位器和属性预测器直至收敛。
[0058] 根据本发明的实施例,步骤S200中提供的训练图片的获得优选地由计算机设备1通过对网页进行挖掘获得。例如,一个对鸟类进行说明介绍的网页一般会包含以下信息:
[0059] -鸟的照片或图片;
[0060] -鸟的品种名称((细粒度)语义标签);
[0061] -鸟的外形特征(类似于上述的视觉属性描述);
[0062] -鸟的习性、食物种类等。
[0063] 于是,通过文字截取和图像截取功能,计算机设备1上的图像语义标注装置(未示出)将可以无需人为介入地获得大量图像以及这些图片的语义标签、以及视觉属性描述。这些图像的语义标签、视觉属性描述自从网页挖掘获得时,即是已知的,无需再由人工观察这些图像来输入其语义标签和/或视觉属性描述。另,本领域技术人员应当理解,在现有的训练图像的获得或生成过程中,并没有为训练图像提供视觉属性描述,这是本发明的实施例对领域的贡献之一。
[0064] 从网页或其它网络资源处挖掘获得上述训练图像、训练图像的语义标签、视觉属性描述可以依靠已知的或未来发展出的各种网页解析手段,包括但不限于中国发明专利公开103632388A中披露的方案,该发明专利公开通过引用而整体并入本申请,作为对步骤S200的一种实现方式的说明。根据一个替代的例子,步骤S200中的训练图像的语义和视觉属性描述也可以是人工通过肉眼识别添入的,这样做当然可以有较高的精度保证,但效率较低,本领域技术人员可视情况选择适用哪种方式。
[0065] 仍参照图2,在步骤S200后,该方法进入步骤S202,其中,将步骤200中提供的多幅训练图像中的至少一部分训练图像输入到作为训练对象的图像语义标注装置的定位器。这些训练图像可以是逐个串行输入,或者是并行输入的,在此不做特意的限制。定位器的主要功能是,如将在后文中提及的,在图像上对图像所对应的细粒度分类对象的特征部位进行定位,例如,在经过训练后,在一张鸟类的图像上,尽量精确地定位出头、胸、翅膀、尾部等特征部位(因为不同种类的鸟的外形特征主要集中在这几个部位上)。一个典型的例子如图4所示的,从左到右4张图像中,101a、101b、101c和101d分别表示了四只鸟的特征部位头部,102a、102b、102c和102d分别表示了四只鸟的特征部位胸部,103a、103b、103c和103d分别表示了四只鸟的特征部位翅膀,而104a、104b、104c和104d分别表示了四只鸟的特征部位尾巴。请注意,虽然本例中四只鸟(四个不同的细粒度分类对象)都包含四个特征部位,但本发明并不要求每个训练图像中所表达的细粒度分类对象都完整地包含同样数量的特征部位,例如,某些训练图像可以只示出鸟的头部和胸部,而有些训练图像可以只示出鸟的头部,等等。而上下文中所提及的需要定位的特征部位,则可以取这些训练图像中所表达的特征部位的并集。
[0066] 训练图像输入到定位器后,该方法进入步骤S204。在步骤S204中,由定位器确定训练图像的至少一个(例如,K个)局部区域。根据一个实施例,该等局部区域的位置是根据定位器输出的概率分布采样得到。可以预先设定好每个局部区域具有相同的、确定的大小(例如,确定的长度和宽度),于是,定位器只需要给出一个点(例如,局部区域的左上角)的坐标(x1,y1),该局部区域在训练图像上就可以确定了。根据不同的例子,定位器也可以确定局部区域的中心点或其它特定位置的坐标,从而确定该局部区域在训练图像上的位置和覆盖范围。可选地,定位器也可以针对每个要确定的局部区域,给出其四个角的坐标,这样,可以无需预定义每个局部区域的大小。本领域技术人员可以根据需要对此进行选择、改变或拓展。根据一个例子,一个上述的局部区域的大小可以设置为训练图像的大小的1/4,或者1/8。
[0067] 在步骤S204后,该方法进入步骤S206,其中,由属性预测器得到输入的每个局部区域的视觉属性预测结果。此处的属性预测器可以采用一个多输出的分类函数,由神经网络或软件包Caffe计算得到。
[0068] 随后的步骤S208中,根据视觉属性预测结果和步骤S200中提供的相应训练图像的已知的视觉属性描述,对定位器和属性预测器进行训练,具体地,针对定位器确定的每个局部区域,根据该局部区域的视觉属性预测结果和相应训练图像的视觉属性描述,计算损失函数,用于对定位器和属性预测器的训练。
[0069] 进一步地,上述训练包括:根据反向传播算法,计算定位器和属性预测器的梯度,确定或更新定位器和属性预测器的参数。
[0070] 如前所述,该方法中,优选地为每个需要定位的特征部位重复步骤S200-S208,直至收敛,完成对定位器和属性预测器的训练。
[0071] 之后的步骤S210-步骤S214是关于对分类器的训练,具体包括:
[0072] 在步骤S210中,由前述的多幅具有已知的语义(例如,已知的细粒度语义)和已知的视觉属性描述的训练图像中选取至少一部分训练图像,这个选择过程可以是随机的,或者根据用户输入的或系统预设的规则进行针对性选择。
[0073] 之后,方法进入步骤S212,其中,由经过训练的定位器对步骤S210中选出的每幅训练图像进行处理,从而在该幅训练图像上定位出该幅训练图像所对应的细粒度分类对象的至少一个特征部位。
[0074] 随后的步骤S214中,将为每幅选出的训练图像定位的特征部位、该训练图像的已知的语义输入到图像语义标注装置的分类器,对分类器进行训练。
[0075] 具体地,步骤S214可以通过以下过程实现:
[0076] 针对每幅选出的训练图像,计算定位出的每个特征部位的卷积特征;
[0077] 根据计算出的每个特征部位的卷积特征,为该幅训练图像生成向量;
[0078] 由支持向量机来根据所生成的向量来训练分类器。
[0079] 优选地,该向量的生成还考虑训练图像的整体的卷积特征,具体地根据这个优选例,步骤S214还包括:针对每幅选出的训练图像,计算该训练图像的整体的卷积特征。计算出的整体的卷积特征随该幅图像的每个特征部位的卷积特征一起用于为该训练图像生成上述向量。
[0080] 图2的最后,以步骤S220和步骤S222来说明经训练定位器、属性预测器和分类器后,图像语义标注装置对待标注图像的语义标注过程。在步骤S220中,先将待标注图像(例如图5中下半部所示的图像)输入到经过训练的图像语义标注装置的定位器,由定位器定位待标注图像所对应的细粒度对象的至少一个特征部位,例如鸟的头、胸等。
[0081] 而后的步骤S222中,将定位出的待标注图像所对应的细粒度对象的至少一个特征部位输入到经过训练的语义标注装置的分类器,由分类器根据至少一个特征部位生成待标注图像的语义。例如,对一张信天翁的鸟类图片,最终生成的语义可以是“信天翁”。
[0082] 至此,完成了对图像语义标注装置的训练及应用的描述。
[0083] 图3示出了根据本发明的实施例,可以对自身进行训练的图像语义标注装置30的示意性结构框图。其具体包括,第一单元302,定位器304,属性预测器306,第二单元308和分类器320,其中分类器320进一步包括第一元件322,第二元件324,第三元件36和第四元件328。
[0084] 具体地,第一单元302配置为提供多幅训练图像,各训练图像的语义和视觉属性描述已知。
[0085] 这多幅训练图像的语义可以为对应于同一粗粒度语义的不完全相同的细粒度语义。一般地,图像的语义可以是概括的说明图像属于哪一类对象,例如,“车”、“草地”、“猫”、“男人”,这类宽泛的语义在上下文中称为粗粒度语义。而有些时候,我们需要在同一粗粒度语义下再细分不同的细粒度语义,例如,两辆车的图像的粗粒度语义均为“车”,而其细粒度语义可以一个是“特斯拉”,另一个则是“丰田”。三张猫的图像的粗粒度语义均为“猫”,但可能其中一个的细粒度语义为“波斯猫”,其二为“加菲猫(卡通形象)”,其三为“汤姆猫(卡通形象)”,三张鸟的图像的粗粒度语义均为“鸟”,但其一的细粒度语义可以是“海鸥”,其二为“鹦鹉”,其三为“信天翁”。
[0086] 粗粒度语义可以对应于一种粗粒度分类对象,例如,鸟、狗、鱼、花,而不同的细粒度语义可以对应于一种粗粒度分类对象所对应的不同的细粒度分类对象。例如,鸟作为一个粗粒度分类对象,它可以对应海鸥、鹦鹉、信天翁等多种细粒度分类对象。
[0087] 其中,每个细粒度分类对象可以包含至少一个特征部位,例如以鸟为例,每个细粒度分类对象都可以包含至少一个特征部位,各训练图像的视觉属性描述被根据该视觉属性描述所对应的特征部位而划分为不同的组。例如针对鸟类的视觉属性描述可以依据鸟的生理部位归类为头部、胸部、翅膀、尾巴等几个组。
[0088] 定义细粒度分类对象的特征部位对于实现实施例中的训练过程和语义标注有特别的意义。典型地,同一粗粒度分类对象的不同的细粒度分类对象的特征部位的视觉属性描述可以不同,或者至少有一处特征部位x,细粒度分类对象A在该特征部位的视觉属性描述不同于细粒度分类对象B在该特征部位的视觉属性描述。例如,同属于粗粒度分类对象“鸟”的不同的细粒度分类对象“鹦鹉”和“海鸥”可以在头部这个特征部位上的属性有所区别,比如一个扁平,一个突起等。
[0089] 具体地,上下文中的视觉属性或视觉属性描述例如,红色、斑点花纹的翅膀(对应于特征部位翅膀),褐色、平整的头部(对应于特征部位头部)、白色和黑色混合、条纹状的尾部(对应于特征部位尾部),黑色的眼睛(对应于特征部位眼睛)等。可见,视觉属性描述介绍了图像的局部的视觉外观。在用数学表示时,每项属性都可以用“是”或“否”来表示对一个问题的回答,这样的问题例如,“(鸟的)翅膀是红颜色的吗?”“(鸟的)头部是平整的吗?”“(鸟的)尾巴是黑色的吗?”对每一张训练图像所表达的每个特征部位,应该都可以为其获得针对相关问题的答案,于是,训练图像的视觉属性描述都可以表达为一个与问题对应的由二进制信息“0”或“1”表示的列表。
[0090] 相应地,该方法优选地为每个需要定位的特征部位重复执行第一单元302、定位器304、属性预测器306和第二单元308的操作来训练定位器304和属性预测器306直至收敛。
[0091] 根据本发明的实施例,第一单元302提供的训练图片的获得优选地通过对网页进行挖掘获得。例如,一个对鸟类进行说明介绍的网页一般会包含以下信息:
[0092] -鸟的照片或图片;
[0093] -鸟的品种名称((细粒度)语义标签);
[0094] -鸟的外形特征(类似于上述的视觉属性描述);
[0095] -鸟的习性、食物种类等。
[0096] 于是,通过文字截取和图像截取功能,计算机设备1上的图像语义标注装置(未示出)将可以无需人为介入地获得大量图像以及这些图片的语义标签、以及视觉属性描述。这些图像的语义标签、视觉属性描述自从网页挖掘获得时,即是已知的,无需再由人工观察这些图像来输入其语义标签和/或视觉属性描述。另,本领域技术人员应当理解,在现有的训练图像的获得或生成过程中,并没有为训练图像提供视觉属性描述,这是本发明的实施例对领域的贡献之一。
[0097] 从网页或其它网络资源处挖掘获得上述训练图像、训练图像的语义标签、视觉属性描述可以依靠已知的或未来发展出的各种网页解析手段,包括但不限于中国发明专利公开103632388A中披露的方案,该发明专利公开通过引用而整体并入本申请,作为对第一单元302的一种实现方式的说明。根据一个替代的例子,第一单元302提供的训练图像的语义和视觉属性描述也可以是人工通过肉眼识别添入的,这样做当然可以有较高的精度保证,但效率较低,本领域技术人员可视情况选择适用哪种方式。
[0098] 仍参照图3,第一单元302提供的训练图像提供给定位器304,其中,其中,定位器304将前述的多幅训练图像中的至少一部分作为输入。这些训练图像可以是逐个串行输入,或者是并行输入的,在此不做特意的限制。定位器的主要功能是,如将在后文中提及的,在图像上对图像所对应的细粒度分类对象的特征部位进行定位,例如,在经过训练后,在一张鸟类的图像上,尽量精确地定位出头、胸、翅膀、尾部等特征部位(因为不同种类的鸟的外形特征主要集中在这几个部位上)。一个典型的例子如图4所示的,从左到右4张图像中,101a、
101b、101c和101d分别表示了四只鸟的特征部位头部,102a、102b、102c和102d分别表示了四只鸟的特征部位胸部,103a、103b、103c和103d分别表示了四只鸟的特征部位翅膀,而
104a、104b、104c和104d分别表示了四只鸟的特征部位尾巴。请注意,虽然本例中四只鸟(四个不同的细粒度分类对象)都包含四个特征部位,但本发明并不要求每个训练图像中所表达的细粒度分类对象都完整地包含同样数量的特征部位,例如,某些训练图像可以只示出鸟的头部和胸部,而有些训练图像可以只示出鸟的头部,等等。而上下文中所提及的需要定位的特征部位,则可以取这些训练图像中所表达的特征部位的并集。
[0099] 得到上述输入后,定位器304确定输入的各个训练图像中每幅训练图像的至少一个(例如,K个)局部区域。根据一个实施例,该等局部区域的位置随机采样自定位器输出的概率分布。可以预先设定好每个局部区域具有相同的、确定的大小(例如,确定的长度和宽度),于是,定位器只需要给出一个点(例如,局部区域的左上角)的坐标(x1,y1),该局部区域在训练图像上就可以确定了。根据不同的例子,定位器也可以确定局部区域的中心点或其它特定位置的坐标,从而确定该局部区域在训练图像上的位置和覆盖范围。可选地,定位器也可以针对每个要确定的局部区域,给出其四个角的坐标,这样,可以无需预定义每个局部区域的大小。本领域技术人员可以根据需要对此进行选择、改变或拓展。根据一个例子,一个上述的局部区域的大小可以设置为训练图像的大小的1/4,或者1/8。
[0100] 而后,由属性预测器306将确定的每个局部区域作为输入一个具有多输出节点的神经网络,得到相应局部区域的视觉属性预测结果,并提供给第二单元308。
[0101] 第二单元308根据视觉属性预测结果和相应训练图像的已知的视觉属性描述,对定位器和属性预测器进行训练,具体地,针对定位器确定的每个局部区域,根据该局部区域的视觉属性预测结果和相应训练图像的视觉属性描述,计算损失函数,用于对定位器和属性预测器的训练。
[0102] 进一步地,上述训练包括:根据反向传播算法,计算定位器和属性预测器的梯度,确定或更新定位器和属性预测器的参数。
[0103] 如前所述,优选地为每个需要定位的特征部位重复执行第一单元、定位器、属性预测器和第二单元的操作直至收敛,完成对定位器304和属性预测器306的训练。
[0104] 对分类器320的训练主要涉及以下过程:
[0105] 首先,由第三单元310从前述的多幅具有已知的语义(例如,已知的细粒度语义)和已知的视觉属性描述的训练图像中选取至少一部分训练图像,这个选择过程可以是随机的,或者根据用户输入的或系统预设的规则进行针对性选择。
[0106] 之后,由经过训练的定位器304对第三单元310选出的每幅训练图像进行处理,从而在该幅训练图像上定位出该幅训练图像所对应的细粒度分类对象的至少一个特征部位。
[0107] 最后,将为每幅选出的训练图像定位的特征部位、该训练图像的已知的语义输入到图像语义标注装置30的分类器320,对分类器320进行训练。
[0108] 具体地,分类器320包括以下元件以完成对自身的训练:
[0109] 第一元件322:配置为针对每幅选出的训练图像,计算定位出的每个特征部位的卷积特征;
[0110] 第二元件324:配置为根据计算出的每个特征部位的卷积特征,为该幅训练图像生成向量;
[0111] 第三元件326:配置为由支持向量机来根据所生成的向量来训练分类器320。
[0112] 优选地,第二元件324生成该向量时还考虑训练图像的整体的卷积特征,具体地,根据这个优选例,分类器320还包括一个第四元件328,其配置为针对每幅选出的训练图像,计算该训练图像的整体的卷积特征。计算出的整体的卷积特征也提供给第二元件324,于是可以随该幅图像的每个特征部位的卷积特征一起用于为该训练图像生成上述向量。
[0113] 对分类器320的训练也可以进行重复直至收敛。
[0114] 定位器304和分类器320可在训练后进一步用于对待标注图像的语义标注。具体地,在输入了一幅待标注图像(例如图5中下半部所示的图像)后,该图像将先到达经过训练的定位器304,由定位器304定位待标注图像所对应的细粒度对象的至少一个特征部位,例如鸟的头、胸等。这里,定位器304可以针对每个特征部位应用之前训练过程中生成的对应该特征部位的定位模型。
[0115] 而后,定位器304将对待标注图像的特征部位的定位结果提供给分类器320,由分类器320根据定位器304定位出的至少一个特征部位来生成待标注图像的语义。例如,对一张信天翁的鸟类图片,最终生成的语义可以是“信天翁”。
[0116] 至此,完成了对图像语义标注装置30的训练及应用的描述。
[0117] 图5从另一个角度示出了上文所述的训练和标注过程,简言之,在训练的第一个阶段,同时训练定位器和属性预测器。当属性预测器预测得到的视觉属性预测结果与训练图像的已知的视觉属性描述一致的时候,可以认为定位器选择到的局部区域是最适合判别描述该部位属性的区域,也即准确地定位了该特征部位。对定位器的训练得到多个定位模型,每个定位模型对应于一个特征部位。
[0118] 在训练的第二个阶段,训练分类器,获得分类模型。其中,对选出的各训练图像中的每个,提取基于全图的图像信息,以及基于每个特征部位的局部信息。将所有提取到的信息连接为一个高维向量来训练分类器,目的是使分类器得到的细粒度语义与相应的训练图像已知的语义相符。
[0119] 图5下部示出了训练后的语义标注过程,根据前面定位器得到的定位模型,在待标注图像上定位出多个特征部位,再利用训练后的分类器来预测出该待标注图像的细粒度语义。
[0120] 虽然示例性实施例可以有多种修改和替换形式,但是在附图中以举例的方式示出了其中的一些实施例,并且将在这里对其进行详细描述。但是应当理解的是,并不意图将示例性实施例限制到所公开的具体形式,相反,示例性实施例意图涵盖落在权利要求书的范围内的所有修改、等效方案和替换方案。相同的附图标记在各幅图的描述中始终指代相同的单元。
[0121] 在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0122] 后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
[0123] 这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
[0124] 应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
[0125] 这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
[0126] 还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
[0127] 除非另行定义,否则这里使用的所有术语(包括技术和科学术语)都具有与示例性实施例所属领域内的技术人员通常所理解的相同的含义。还应当理解的是,除非在这里被明确定义,否则例如在通常使用的字典中定义的那些术语应当被解释成具有与其在相关领域的上下文中的含义相一致的含义,而不应按照理想化的或者过于正式的意义来解释。
[0128] 示例性实施例的一些部分和相应的详细描述是通过计算机存储器内的软件或算法以及对于数据比特的操作的符号表示而给出的。这些描述和表示是本领域技术人员用以向本领域其他技术人员有效地传达其工作实质的描述和表示。正如其通常被使用的那样,这里所使用的术语“算法”被设想成获得所期望的结果的自相一致的步骤序列。所述步骤是需要对物理数量进行物理操纵的那些步骤。通常而非必要的是,这些数量采取能够被存储、传输、组合、比较以及按照其他方式被操纵的光学、电气或磁性信号的形式。主要出于通常使用的原因,已经证明有时把这些信号称作比特、数值、元素、符号、字符、项、数字等等是便利的。
[0129] 在后面的描述中将参照可以被实施为程序模块或功能处理的动作以及操作的符号表示(例如以流程图的形式)来描述说明性实施例,所述程序模块或功能处理包括实施特定任务或者实施特定抽象数据类型的例程、程序、对象、组件、数据结构等等,并且可以利用现有网络单元处的现有硬件来实施。这样的现有硬件可以包括一个或更多中央处理单元(CPU)、数字信号处理器(DSP)、专用集成电路、现场可编程门阵列(FPGA)计算机等等。
[0130] 但是应当认识到,所有这些以及类似的术语应当与适当的物理数量相关联,并且仅仅是被应用于这些数量的便利标签。除非明确地另行声明或者从讨论中可以明显看出,否则例如“处理”、“计算”、“确定”或“显示”等术语指的是计算机系统或类似的电子计算设备的动作和处理,其对被表示为所述计算机系统的寄存器和存储器内的物理、电子数量的数据进行操纵,并且将其变换成被类似地表示为所述计算机系统存储器或寄存器或者其他此类信息存储、传送或显示设备内的物理数量的其他数据。
[0131] 还应当提到的是,示例性实施例的软件实施的方面通常被编码在某种形式的程序存储介质上或者通过某种类型的传送介质来实施。所述程序存储介质可以是磁性(例如软盘或硬盘驱动器)或光学(例如紧致盘只读存储器或“CD ROM”)存储介质,并且可以是只读或随机存取存储介质。类似地,所述传送介质可以是双绞线、同轴电缆、光纤或者本领域内已知的某种其他适当的传送介质。示例性实施例不受任何给定实现方式的这些方面的限制。
[0132] 处理器和存储器可以一同操作来运行装置功能。举例来说,存储器可以存储关于装置功能的代码段。所述代码段又可以由处理器执行。此外,存储器可以存储处理变量和常数以供处理器使用。
[0133] 需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,其中的硬件可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
[0134] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他步骤,单数不排除复数。装置权利要求中陈述的多个装置也可以由一个装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。