1.本发明涉及模型生成装置、推定装置、模型生成方法以及模型生成程序。
背景技术:
2.以往,在制造生产线等制造产品的场景中,利用了通过拍摄装置拍摄所制造的产品,并基于所得到的图像数据来检查产品的好坏的技术。例如,在专利文献1中提出了一种检查装置,该检查装置基于学习完毕的第一神经网络来判定图像中映现出的检查对象物是正常还是异常,在判定为检查对象物是异常的情况下,基于学习完毕的第二神经网络来对该异常的类别进行分类。
3.现有技术文献
4.专利文献
5.专利文献1:日本特开2012-026982号公报
6.专利文献2:日本特开2017-111806号公报
7.专利文献3:日本特开2014-049118号公报
8.专利文献4:日本特开2019-071050号公报
9.专利文献5:日本专利第6264492号公报
技术实现要素:
10.发明要解决的技术问题
11.利用由通过机器学习构建的训练完毕的机器学习模型构成的推定器,能够对与所赋予的训练数据同种的未知数据执行回归、分类等推定(包括预测)任务。因此,根据上述专利文献1那样的利用神经网络等机器学习模型的方法,能够基于训练完毕的推定器的输出实施产品的外观检查。然而,本发明的发明人发现上述的以往方法存在以下问题。
12.即,在以往的方法中,为了实施使机器学习模型掌握检测在所给出的图像中映现出的缺陷的能力的机器学习,事先收集映现有包含缺陷的产品的图像作为学习数据。检测缺陷也可以是识别缺陷的类别。基本上,所收集的学习数据越多,换言之,学习数据中表现的缺陷的状况越多样,越能够实现外观检查的精度的提高。
13.但是,缺陷的类别以及包含产品外观的背景的类别越多,缺陷的类别以及背景的类别的组合就越多,需要作为学习数据收集的样本的件数(以及类别)也就越多。另外,在运用训练完毕的推定器时,背景也可能发生变化。为了生成能够高精度地执行外观检查的训练完毕的推定器,优选关于缺陷的类别以及背景的类别的所有组合收集样本,但是关于所有组合收集样本会增加成本。因此,考虑在收集到一定程度的学习数据的阶段实施机器学习模型的机器学习,例如在虽然没有关于所有组合获得样本,但关于检测对象的缺陷的全部类别获得样本的时刻实施。
14.然而,当在学习数据中存在没有获得样本的组合的情况下,有可能产生以下问题。即,通过机器学习,利用训练数据(样本)中包含的任意信息,对机器学习模型进行训练,以
执行所希望的推定任务。因此,在使用包含缺陷以及背景的训练数据来实施推定器的机器学习的情况下,所生成的训练完毕的推定器不仅利用与数据中包含的缺陷相关的信息,有时还会利用与背景相关的信息而获得执行与缺陷的检测相关的推定任务的能力。在这样的情况下,由于无法将未获得样本的缺陷的类别以及背景的类别的组合反映到机器学习中,因此针对该组合,训练完毕的推定器检测缺陷的推定精度有可能降低。
15.此外,在样本中出现的缺陷的类别以及背景的类别的组合发生偏差的情况下,特别是在缺陷的类别以及背景的类别以相同的分布在样本中出现的情况下,该样本的偏差有可能对通过机器学习而掌握机器学习模型的能力造成不良影响。具体而言,通过使用了组合发生偏差的样本的机器学习,推定器有可能掌握识别背景的类别的能力,而不是根据类别来检测缺陷的能力。
16.作为一例,假定第一产品以及第二产品这两种产品产生第一缺陷以及第二缺陷这两种缺陷。另外,在该例子中,假定在第一产品中容易产生第一缺陷,在第二产品中容易产生第二缺陷。此外,假定在所获得的样本中,映现有包含第一缺陷的第一产品的图像以及映现有包含第二缺陷的第二产品的图像发生偏差。即,假定映现有包含第二缺陷的第一产品的图像以及映现有包含第一缺陷的第二产品的图像未作为机器学习的样本而获得。假设使用在该假定下获得的样本,为了掌握根据类别来检测缺陷的能力而执行了机器学习模型的机器学习。在该情况下,由于所获得的样本发生了上述偏差,因此通过该机器学习,机器学习模型可能掌握识别背景的类别的能力,而不是根据类别来检测识别缺陷的能力。即,由于发生样本偏差,有可能使机器学习模型掌握与目标能力不同的能力。在掌握了识别背景的类别的能力的情况下,当给出映现有包含第二缺陷的第一产品的图像时,训练完毕的推定器会误检测为在第一产品中产生了第一缺陷。
17.因此,在以往的方法中,通过机器学习,训练完毕的推定器有可能构建成考虑图像数据中包含的与背景相关的信息,执行与缺陷检测相关的推定任务。由此,由于运用时的背景与学习时的背景不同,因此存在与训练完毕的推定器的缺陷检测相关的推定精度降低的问题。换言之,存在难以生成针对背景的差异具有鲁棒性的训练完毕的推定器的问题。
18.需要说明的是,这样的问题不是生成可用于产品的外观检查的训练完毕的推定器的场景所特有的。在推定图像数据中包含的某些特征的各种场景中也可能产生该问题。推定图像数据中包含的某些特征的场景例如是进行与图像数据的前景相关的推定的场景。例如,与前景相关的推定可以是推定图像数据中映现出的对象物的属性。
19.作为具体例,在专利文献2中提出了利用训练完毕的神经网络来识别牌照的方案。在专利文献3中,提出了利用训练完毕的卷积神经网络来识别字符的方案。在专利文献4中,提出了利用训练完毕的神经网络,推定拍摄图像中映现出的人物的密度分布以及移动矢量的分布。在专利文献5中,提出了利用学习完毕的模型,根据拍摄图像来推定驾驶员对于驾驶的集中程度的方案。
20.针对这些场景,在以往的方法中,在通过机器学习来构建用于执行与对象的特征相关的推定任务的训练完毕的推定器的情况下,训练完毕的推定器也有可能构建成考虑图像数据中包含的与背景相关的信息来执行该推定任务。因此,存在难以生成针对背景的差异具有鲁棒性的训练完毕的推定器的问题。
21.本发明的一个方面是鉴于这样的实际情况而完成的,其目的在于提供一种用于生
成训练完毕的推定器的技术,该训练完毕的推定器能够执行与图像数据中包含的对象的特征相关的推定任务,并且针对背景的差异具有鲁棒性。
22.用于解决技术问题的方案
23.为了解决上述问题,本发明采用以下的结构。
24.即,本发明的一个方面所涉及的模型生成装置,其具备:第一数据获取部,其获取由作为图像数据的训练数据,以及表示所述训练数据中包含的特征的正解数据的组合分别构成的多个学习数据集;背景获取部,其关于各所述学习数据集,获取表示所述训练数据的背景的背景数据;差分计算部,其关于各所述学习数据集,取得所获取到的所述背景数据与所述训练数据的差分,由此生成表示所述背景数据与所述训练数据之间的差分的差分数据;以及第一训练部,其实施推定器的机器学习,实施所述推定器的机器学习包括:关于各所述学习数据集,对该推定器进行训练,使得根据所生成的所述差分数据由该推定器推定所述特征的结果适合于所述正解数据。
25.在该结构所涉及的模型生成装置中,关于各学习数据集,通过从训练数据中减去背景数据,生成除外了背景的训练用的差分数据。通过使用了所生成的训练用的差分数据的机器学习,对推定器进行训练,以根据除外了背景数据的信息的训练数据来推定对象的特征。由此,能够不利用在差分计算中被除外的背景数据的信息,而生成获得了执行与对象的特征相关的推定任务的能力的训练完毕的推定器。即,在通过训练完毕的推定器执行与对象的特征相关的推定任务时,能够不考虑与背景数据对应的信息。因此,根据该结构所涉及的模型生成装置,能够生成可执行与图像数据中包含的对象的特征相关的推定任务的训练完毕的推定器,即针对背景的差异具有鲁棒性的训练完毕的推定器。
26.也可以是,在上述一个方面所涉及的模型生成装置中,获取所述背景数据包括:利用机器学习完毕的生成器,关于各所述学习数据集,针对所述训练数据生成所述背景数据。例如,在即使是拍摄部位偏移等同一种背景也产生偏差的情况下,预先准备与每种偏差对应的背景数据会增加成本。另外,如果忽略偏差而计算差分,则会在所得到的差分数据中残留有与背景相关的大部分信息,有可能无法适当地生成针对背景的差异具有鲁棒性的训练完毕的推定器。与此相对,根据该结构,通过利用机器学习完毕的生成器,即使在背景产生偏差的情况下,也能够生成与训练数据对应的背景数据。因此,能够降低准备背景数据的成本。另外,能够适当地生成针对背景的差异具有鲁棒性的训练完毕的推定器。
27.也可以是,上述一个方面所涉及的模型生成装置,还具备:第二数据获取部,其获取学习用背景数据;以及第二训练部,其通过实施使用了所获取的学习用背景数据的机器学习,构建所述机器学习完毕的生成器,该生成器被训练成生成针对所述训练数据的所述背景数据。根据该结构,能够适当地构建可生成与训练数据对应的背景数据的机器学习完毕的生成器。并且,通过利用所构建的机器学习完毕的生成器,能够降低关于各学习数据集准备与训练数据对应的背景数据的成本。另外,能够适当地生成针对背景的差异具有鲁棒性的训练完毕的推定器。需要说明的是,学习用背景数据使用映现有与训练数据同种的背景的图像数据。
28.也可以是,在上述一个方面所涉及的模型生成装置中,所述差分计算部基于包含所述训练数据的各像素以及各像素周围的像素的对象区域与包含所述背景数据的对应的各像素以及各像素周围的像素的对应区域之间的相关性,取得所述训练数据的各像素与所
述背景数据的对应的各像素的差分,由此生成所述差分数据。由于噪声等的影响,在背景数据中,有可能在与训练数据中包含的背景之间产生误差。特别是在由机器学习完毕的生成器生成背景数据的情况下,该可能性更高。与此相对,在该结构中,通过基于包含对象像素的区域间的相关性来计算对象像素的差分,与简单的差分计算相比,能够生成差分数据而不会残留该误差。因此,根据该结构,即使在背景数据中可能产生误差的情况下,也能够适当地生成针对背景的差异具有鲁棒性的训练完毕的推定器。
29.也可以是,在上述一个方面所涉及的模型生成装置中,与所述训练数据的前景相关。根据该结构,能够生成针对背景的差异能够鲁棒地执行与前景相关的推定任务的训练完毕的推定器。需要说明的是,背景以及前景可以分别从能够在图像数据中映现的事件中任意选择。
30.也可以是,在上述一个方面所涉及的模型生成装置中,所述训练数据是映现有对象物的所述图像数据,所述特征是所述对象物的属性。根据该结构,能够生成针对背景的差异能够鲁棒地执行与对象物的属性相关的推定任务的训练完毕的推定器。需要说明的是,对象物可以任意选择。对象物例如可以是产品、产品的包装、牌照、能够在拍摄范围内移动的移动体(例如,车辆、人物等)、驾驶车辆的驾驶员等。
31.也可以是,在上述一个方面所涉及的模型生成装置中,所述对象物是产品,所述对象物的属性与所述产品的缺陷相关。根据该结构,在实施外观检查的场景中,能够生成针对背景的差异能够鲁棒地执行与缺陷相关的推定任务的训练完毕的推定器。
32.另外,本发明的方式也可以不限于上述模型生成装置的方式。本发明的一个方面也可以是利用由上述模型生成装置生成的训练完毕的推定器的装置。例如,本发明的一个方面也可以是构成为利用由上述模型生成装置生成的训练完毕的生成器,对对象图像数据执行与对象的特征相关的推定任务的推定装置。该推定装置根据应用场景中的推定任务的种类,可以替换为检查装置、识别装置、监视装置、诊断装置、预测装置等。
33.例如,本发明的一个方面所涉及的推定装置,其具备:数据获取部,其获取对象图像数据;背景获取部,其获取与所述对象图像数据对应的对象背景数据;差分计算部,其通过取得所述对象图像数据与所述对象背景数据的差分,生成对象差分数据;推定部,其利用由上述任一方面所涉及的模型生成装置生成的机器学习完毕的推定器,推定所生成的所述对象差分数据中包含的特征;以及输出部,其输出与推定所述特征的结果相关的信息。根据该结构,能够针对背景的差异鲁棒地执行与对象的特征相关的推定任务。
34.另外,作为上述各方式所涉及的模型生成装置以及推定装置各自的另一方式,本发明的一个方面可以是实现以上各结构的全部或其一部分的信息处理方法,也可以是程序,还可以是存储了这样的程序的计算机和其它装置、机器等可读取的存储介质。在此,计算机等可读取的存储介质是通过电、磁、光、机器或化学作用存储程序等信息的介质。另外,本发明的一个方面也可以是由上述任一方式所涉及的模型生成装置以及推定装置构成的推定系统。
35.例如,本发明的一个方面所涉及的模型生成方法是一种信息处理方法,计算机执行以下步骤:获取由作为图像数据的训练数据,以及表示所述训练数据中包含的特征的正解数据的组合分别构成的多个学习数据集的步骤;关于各所述学习数据集,获取表示所述训练数据的背景的背景数据的步骤;关于各所述学习数据集,取得所获取到的所述背景数
据与所述训练数据的差分,由此生成表示所述背景数据与所述训练数据之间的差分的差分数据的步骤;以及实施推定器的机器学习的步骤,实施所述推定器的机器学习包括:关于各所述学习数据集,对该推定器进行训练,使得根据所生成的所述差分数据由该推定器推定所述特征的结果适合于所述正解数据。
36.例如,本发明的一个方面所涉及的模型生成程序,用于使计算机执行以下步骤:获取由作为图像数据的训练数据,以及表示所述训练数据中包含的特征的正解数据的组合分别构成的多个学习数据集的步骤;关于各所述学习数据集,获取表示所述训练数据的背景的背景数据的步骤;关于各所述学习数据集,取得所获取到的所述背景数据与所述训练数据的差分,由此生成表示所述背景数据与所述训练数据之间的差分的差分数据的步骤;以及实施推定器的机器学习的步骤,实施所述推定器的机器学习包括:关于各所述学习数据集,对该推定器进行训练,使得根据所生成的所述差分数据由该推定器推定所述特征的结果适合于所述正解数据。
37.发明效果
38.根据本发明,能够生成能够执行与图像数据中包含的对象的特征相关的推定任务的训练完毕的推定器,即针对背景的差异具有鲁棒性的训练完毕的推定器。
附图说明
39.图1示意性地例示应用本发明的场景的一例。
40.图2示意性地例示实施方式所涉及的模型生成装置的硬件结构的一例。
41.图3示意性地例示实施方式所涉及的推定装置的硬件结构的一例。
42.图4a示意性地例示实施方式所涉及的模型生成装置的软件结构的一例。
43.图4b示意性地例示实施方式所涉及的模型生成装置的软件结构的一例。
44.图4c示意性地例示实施方式所涉及的模型生成装置的软件结构的一例。
45.图5示意性地例示实施方式所涉及的推定装置的软件结构的一例。
46.图6a例示与通过实施方式所涉及的模型生成装置生成训练完毕的生成器相关的处理顺序的一例。
47.图6b例示实施方式所涉及的生成器的机器学习的处理顺序的一例。
48.图7例示与通过实施方式所涉及的模型生成装置生成训练完毕的输入推定器相关的处理顺序的一例。
49.图8例示与通过实施方式所涉及的模型生成装置生成训练完毕的推定器相关的处理顺序的一例。
50.图9示意性地例示计算训练数据以及背景数据的差分的方法的一例。
51.图10例示实施方式所涉及的推定装置的处理顺序的一例。
52.图11示意性地例示应用本发明的另一场景的一例。
53.图12a示意性地例示另一方式所涉及的检查装置的硬件结构的一例。
54.图12b示意性地例示另一方式所涉及的检查装置的软件结构的一例。
55.图13示意性地例示应用本发明的另一场景的一例。
56.图14示意性地例示应用本发明的另一场景的一例。
57.图15示意性地例示应用本发明的另一场景的一例。
58.图16示意性地例示应用本发明的另一场景的一例。
59.图17示意性地例示另一方式所涉及的生成器的结构的一例。
具体实施方式
60.以下,基于附图对本发明的一个方面所涉及的实施方式(以下也表述为“本实施方式”)进行说明。但是,以下说明的本实施方式在所有方面仅是本发明的例示。当然,可以在不脱离本发明的范围的情况下进行各种改良和变形。即,在实施本发明时,也可以适当采用与实施方式对应的具体结构。需要说明的是,在本实施方式中,通过自然语言对出现的数据进行了说明,更具体而言,通过计算机可识别的模拟语言、指令、参数、机器语言等进行指定。
61.§
1应用例
62.图1示意性地例示应用了本发明的场景的一例。如图1所示,本实施方式所涉及的推定系统100具备模型生成装置1以及推定装置2。
63.本实施方式所涉及的模型生成装置1是构成为实施推定器5的机器学习的计算机。具体而言,本实施方式所涉及的模型生成装置1获取多个学习数据集30。各学习数据集30由训练数据31以及表示训练数据31中包含的特征的正解数据32的组合构成。
64.训练数据31是图像数据的样本。训练数据31可以称为“训练样本”、“图像样本”,也可以简称为“样本”等。特征可以任意选择。例如,特征可以是与能够直接或间接地表现在图像数据中的成分(要素)相关的特征。直接表现相当于在图像数据中映现出。间接表现相当于从在图像数据中映现出的事件中导出。
65.正解数据32表示与对象的特征相关的推定任务的正解。正解数据32可以被称为“示教信号”、“标签”等。“推定”也可以替换为“推论”。推定例如可以是通过分组(分类、识别)导出离散值(例如,与特定的特征对应的类),以及通过回归导出连续值(例如,特定的特征出现的概率)中的任意一个。推定也可以包括基于该分组或回归的结果进行检测、判定等某些认定。另外,推定也可以包括预测。
66.本实施方式所涉及的模型生成装置1关于各学习数据集30获取表示训练数据31的背景的背景数据35。背景可以从图像数据中包含的成为推定任务的对象的特征以外的任意成分中适当选择。背景可以由对象的特征以外的全部或一部分成分构成。本实施方式所涉及的模型生成装置1关于各学习数据集30,取得所获取到的背景数据35与训练数据31的差分,由此生成差分数据37。所生成的差分数据37表示背景数据35以及训练数据31之间的差分。
67.本实施方式所涉及的模型生成装置1使用所生成的差分数据37,实施推定器5的机器学习。推定器5构成为:接受图像数据(样本)的输入,推定所输入的图像数据中包含的对象的特征,输出与推定结果对应的输出值。推定器5的输入以及输出的形式可以根据推定任务任意确定。推定器5由机器学习模型(学习器)构成,该机器学习模型具备在运算中利用的运算参数,即通过机器学习调节的运算参数。构成推定器5的机器学习模型的种类没有特别限定,可以根据实施方式任意选择。如后所述,在本实施方式中,在推定器5中使用神经网络。
68.实施本实施方式所涉及的机器学习包括:关于各学习数据集30,训练推定器5,使
得由推定器5根据所生成的差分数据37推定特征的结果适合于正解数据32。本实施方式所涉及的模型生成装置1通过实施该机器学习,能够生成获得了推定图像数据中包含的特征的能力的训练完毕的推定器5。需要说明的是,“训练完毕”也可以称为“机器学习完毕”或简称为“学习完毕”等。另外,本实施方式所涉及的模型生成装置1也可以简称为“生成装置”、“学习装置”等。
69.另一方面,本实施方式所涉及的推定装置2是构成为利用由模型生成装置1生成的机器学习完毕的推定器5,对图像数据执行与对象的特征相关的推定任务的计算机。具体而言,本实施方式所涉及的推定装置2获取成为执行推定任务的对象的对象图像数据41。对象图像数据41可以被称为“对象样本”、“图像样本”,也可以简称为“样本”等。推定装置2获取与对象图像数据41对应的对象背景数据45。推定装置2通过取得对象图像数据41与对象背景数据45的差分,生成对象差分数据47。推定装置2利用由模型生成装置1生成的机器学习完毕的推定器5,推定所生成的对象差分数据47中包含的特征。然后,推定装置2输出与推定特征的结果相关的信息。
70.如上所述,在本实施方式中,通过使用了训练用的差分数据37的机器学习,对推定器5进行训练,使得根据除外了背景数据35的信息的训练数据31,推定对象的特征适合于正解数据32。其结果是,训练完毕的推定器5能够不利用在差分计算中被除外的背景数据35的信息,而获得执行与对象的特征相关的推定任务的能力。即,在由训练完毕的推定器5执行与对象的特征相关的推定任务时,能够不考虑与背景数据35对应的信息。因此,根据本实施方式所涉及的模型生成装置1,能够生成可执行与图像数据中包含的对象的特征相关的推定任务的训练完毕的推定器5,即针对背景的差异具有鲁棒性的训练完毕的推定器5。在本实施方式所涉及的推定装置2中,通过利用所生成的训练完毕的推定器5,能够针对背景的差异鲁棒地执行与对象的特征相关的推定任务。
71.需要说明的是,在图1的例子中,模型生成装置1以及推定装置2经由网络相互连接。网络的种类例如可以从因特网、无线通信网、移动通信网、电话网、专用网等中适当选择。但是,在模型生成装置1以及推定装置2之间交换数据的方法不限于这样的例子,可以根据实施方式适当选择。例如,可以利用存储介质在模型生成装置1以及推定装置2之间交换数据。
72.另外,在图1的例子中,模型生成装置1以及推定装置2分别由不同的计算机构成。然而,本实施方式所涉及的推定系统100的结构不限于这样的例子,并且可以根据实施方式适当确定。例如,模型生成装置1以及推定装置2也可以是一体的计算机。另外,例如,模型生成装置1以及推定装置2中的至少一个可以由多台计算机构成。
73.§
2结构例
74.[硬件结构]
[0075]
<模型生成装置>
[0076]
图2示意性地例示本实施方式所涉及的模型生成装置1的硬件结构的一例。如图2所示,本实施方式所涉及的模型生成装置1是电连接有控制部11、存储部12、通信接口13、外部接口14、输入装置15、输出装置16以及驱动器17的计算机。需要说明的是,在图2中,将通信接口以及外部接口记载为“通信i/f”以及“外部i/f”。
[0077]
控制部11包括作为硬件处理器的cpu(central processing unit:中央处理器)、
ram(random access memory:随机存取存储器)、rom(read only memory:只读存储器)等,构成为基于程序以及各种数据执行信息处理。存储部12是存储器的一例,例如由硬盘驱动器、固态驱动器等构成。在本实施方式中,存储部12存储模型生成程序81、多个学习数据集30、多件学习用背景数据39、第一~第三学习结果数据121~123等各种信息。
[0078]
模型生成程序81是用于使模型生成装置1执行通过实施机器学习来生成各学习完毕模型的后述的信息处理(图6a、图6b、图7以及图8)的程序。模型生成程序81包含该信息处理的一系列命令。模型生成程序81也可以简称为“生成程序”、“学习程序”等。学习数据集30用于推定器5的机器学习。学习用背景数据39用于后述的生成器60的机器学习。第一~第三学习结果数据121~123分别表示与通过机器学习构建的各学习完毕模型相关的信息。在本实施方式中,第一~第三学习结果数据121~123分别作为执行模型生成程序81的结果而生成。
[0079]
通信接口13例如是有线lan(local area network:局域网)模块、无线lan模块等,是用于经由网络进行有线或无线通信的接口。模型生成装置1也可以利用通信接口13,在与其它信息处理装置之间执行经由网络的数据通信。外部接口14例如是usb(universal serial bus:通用串行总线)端口、专用端口等,是用于与外部装置连接的接口。外部接口14的种类以及数量可以任意选择。模型生成装置1可以经由通信接口13以及外部接口14中的至少一方,与用于得到训练数据31、学习用背景数据39等的图像样本的照相机连接。
[0080]
输入装置15例如是用于进行鼠标、键盘等的输入的装置。另外,输出装置16例如是用于进行显示器、扬声器等的输出的装置。用户等操作员通过利用输入装置15以及输出装置16,能够操作模型生成装置1。
[0081]
驱动器17例如是cd驱动器、dvd驱动器等,是用于读入存储在存储介质91中的程序等各种信息的驱动装置。存储介质91是以计算机和其它装置、机器等能够读取所存储的程序等各种信息的方式,通过电、磁、光、机器或化学作用存储该程序等信息的介质。上述模型生成程序81、多个学习数据集30以及多件学习用背景数据39中的至少任意一个也可以存储在存储介质91中。模型生成装置1也可以从该存储介质91获取上述模型生成程序81、多个学习数据集30,以及多件学习用背景数据39中的至少任意一个。需要说明的是,在图2中,作为存储介质91的一例,例示了cd、dvd等盘型的存储介质。然而,存储介质91的种类不限于盘型,也可以是盘型以外的类型。作为盘型以外的存储介质,例如可以列举出闪存等半导体存储器。驱动器17的类型可以根据存储介质91的种类任意选择。
[0082]
需要说明的是,关于模型生成装置1的具体的硬件结构,可以根据实施方式适当地进行构成要素的省略、置换以及追加。例如,控制部11也可以包含多个硬件处理器。硬件处理器可以由微处理器、fpga(field-programmable gate array:现场可编程门阵列)、dsp(digital signal processor:数字信号处理器)等构成。存储部12也可以由控制部11中包含的ram以及rom构成。可以省略通信接口13、外部接口14、输入装置15、输出装置16以及驱动器17中的至少任意一个。模型生成装置1也可以由多台计算机构成。在该情况下,各计算机的硬件结构可以一致,也可以不一致。另外,模型生成装置1除了被设计成所提供的服务专用的信息处理装置以外,也可以是通用的服务器装置、pc(personal computer:个人计算机)等。
[0083]
<推定装置>
[0084]
图3示意性地例示本实施方式所涉及的推定装置2的硬件结构的一例。如图3所示,本实施方式所涉及的推定装置2是电连接有控制部21、存储部22、通信接口23、外部接口24、输入装置25、输出装置26以及驱动器27的计算机。
[0085]
推定装置2的控制部21~驱动器27以及存储介质92可以分别与上述模型生成装置1的控制部11~驱动器17以及存储介质91同样地构成。控制部21包括作为硬件处理器的cpu、ram、rom等,构成为基于程序以及数据执行各种信息处理。存储部22例如由硬盘驱动器、固态驱动器等构成。存储部22存储推定程序82、第一~第三学习结果数据121~123等各种信息。推定程序82是用于利用训练完毕的推定器5,使推定装置2执行对图像数据执行与对象的特征相关的推定任务的后述的信息处理(图10)的程序。推定程序82包含该信息处理的一系列命令。推定程序82以及第一~第三学习结果数据121~123中的至少任意一个也可以存储在存储介质92中。另外,推定装置2也可以从存储介质92获取上述推定程序82以及第一~第三学习结果数据121~123中的至少任意一个。
[0086]
需要说明的是,关于推定装置2的具体的硬件构成,可以根据实施方式适当地进行构成要素的省略、置换以及追加。例如,控制部21可以包括多个硬件处理器。硬件处理器可以由微处理器、fpga、dsp等构成。存储部22也可以由控制部21中包含的ram以及rom构成。也可以省略通信接口23、外部接口24、输入装置25、输出装置26以及驱动器27中的至少任意一个。推定装置2也可以由多台计算机构成。在该情况下,各计算机的硬件结构可以一致,也可以不一致。另外,推定装置2除了被设计成所提供的服务专用的信息处理装置以外,也可以是通用的服务器装置、通用的pc、plc(programmable logic controller:可编程逻辑控制器)等。
[0087]
[软件结构]
[0088]
<模型生成装置>
[0089]
图4a~图4c示意性地例示本实施方式所涉及的模型生成装置1的软件结构的一例。
[0090]
模型生成装置1的控制部11将存储在存储部12中的模型生成程序81在ram中展开。然后,控制部11通过cpu解释并执行在ram中展开的模型生成程序81中包含的命令,控制各构成要素。由此,如图4a~图4c所示,本实施方式所涉及的模型生成装置1作为计算机进行动作,该计算机具备第一数据获取部111、背景获取部112、差分计算部113、第一训练部114、第二数据获取部115、第二训练部116、第三数据获取部117、第三训练部118以及保存处理部119作为软件模块。即,在本实施方式中,模型生成装置1的各软件模块由控制部11(cpu)实现。
[0091]
第一数据获取部111获取由作为图像数据的训练数据31以及表示训练数据31中包含的特征的正解数据32的组合分别构成的多个学习数据集30。各学习数据集30是假设执行与对象的特征相关的推定任务的场景而生成的。背景获取部112关于各学习数据集30获取表示训练数据31的背景的背景数据35。可以适当生成与各学习数据集30的训练数据31对应的背景数据35。在本实施方式中,获取背景数据35也可以包括:利用机器学习完毕的生成器60,关于各学习数据集30,针对训练数据31生成背景数据35。
[0092]
差分计算部113关于各学习数据集30,取得所获取到的背景数据35与训练数据31的差分,由此生成表示背景数据35以及训练数据31之间的差分的差分数据37。第一训练部
114使用所生成的差分数据37,实施推定器5的机器学习。在该机器学习中,第一训练部114关于各学习数据集30,训练推定器5,使得根据所生成的差分数据37由推定器5推定特征的结果适合于正解数据32。
[0093]
第二数据获取部115获取多件学习用背景数据39。学习用背景数据39以映现与各学习数据集30的训练数据31同种的背景的方式生成。学习用背景数据39优选生成为:不映现与对象的特征相关的信息,仅映现背景。第二训练部116通过实施使用了所获取的学习用背景数据39的机器学习,构建训练成生成针对训练数据31的背景数据35的机器学习完毕的生成器60。与推定器5同样地,在生成器60中可以利用任意的机器学习模型。生成器60的输入以及输出的形式可以任意确定。
[0094]
只要能够生成与训练数据31对应的背景数据35,生成器60的结构以及机器学习的方法可以任意选择。如图4b所示,在本实施方式中,在生成器60的训练中利用识别器61。生成器60构成为:接受噪声631(潜在变量)的输入,根据所输入的噪声631生成模拟背景数据633,输出与所生成的模拟背景数据633对应的输出值。与此相对,识别器61构成为:接受背景数据(样本)的输入,识别所输入的背景数据(样本)的来源,输出与识别的结果对应的输出值。与生成器60等同样地,识别器61可以利用任意的机器学习模型。识别器61的输入以及输出的形式可以任意确定。
[0095]
本实施方式所涉及的生成器60的机器学习包括训练识别器61的第一训练步骤以及训练生成器60的第二训练步骤。在第一训练步骤中,第二训练部116训练识别器61,以提高识别所输入的背景数据是学习用背景数据39还是由生成器60生成的模拟背景数据633(换言之,识别背景数据的来源)的性能。另一方面,在第二训练步骤中,第二训练部116训练生成器60,以提高生成使识别器61的识别性能降低的模拟背景数据633的性能。第二训练部116交替反复执行第一训练步骤以及第二训练步骤。即,本实施方式所涉及的生成器60的机器学习由生成器60以及识别器61之间的敌对学习构成。
[0096]
通过上述机器学习,本实施方式所涉及的训练完毕的生成器60获得根据潜在变量的噪声生成适合于学习用背景数据39的模拟背景数据的能力。即,根据本实施方式所涉及的训练完毕的生成器60,能够根据噪声生成模拟图像数据,该模拟图像数据对于由学习用背景数据39给出的背景再现性高,对于除此以外的信息再现性低。因此,通过利用该训练完毕的生成器60,能够关于各学习数据集30生成与训练数据31对应的背景数据35。
[0097]
另外,如上所述,在本实施方式中,训练完毕的生成器60构成为根据噪声生成模拟背景数据。因此,为了利用该机器学习完毕的生成器60生成与训练数据31对应的背景数据35,确定赋予机器学习完毕的生成器60的适当的输入值(噪声)。本实施方式所涉及的模型生成装置1还生成可用于确定该输入值的机器学习完毕的输入推定器62。
[0098]
输入推定器62构成为:接受图像数据的输入,推定为了生成适合于在所输入的图像数据中映现出的背景的(模拟)背景数据而赋予机器学习完毕的生成器60的输入值(噪声),输出与所得到的推定值对应的输出值。与上述推定器5等同样地,在输入推定器62中可以利用任意的机器学习模型。输入推定器62的输入以及输出的形式可以任意确定。
[0099]
第三数据获取部117获取多个学习数据集64。各学习数据集64由作为输入值的样本的噪声641,以及通过对机器学习完毕的生成器60赋予噪声641而生成的模拟背景数据643的组合构成。在生成各学习数据集64时,可以利用机器学习完毕的生成器60。
[0100]
第三训练部118使用所获取的多个学习数据集64,实施输入推定器62的机器学习。在该机器学习中,第三训练部118关于各学习数据集64训练输入推定器62,使得通过根据模拟背景数据643由输入推定器62推定赋予机器学习完毕的生成器60的输入值而得到的推定值适合于噪声641。由此,输入推定器62通过机器学习完毕的生成器60生成适合于图像数据中映现出的背景的(模拟)背景数据,能够获得推定赋予机器学习完毕的生成器60的输入值(噪声)的能力。
[0101]
保存处理部119生成分别与通过各机器学习构建的训练完毕的推定器5、生成器60以及输入推定器62相关的信息,作为第一~第三学习结果数据121~123。然后,保存处理部119将所生成的第一~第三学习结果数据123保存在规定的存储区域中。规定的存储区域可以任意选择。
[0102]
(机器学习模型的结构)
[0103]
在推定器5、生成器60、识别器61以及输入推定器62中,可以分别利用能够实施机器学习的任意的模型。如图4a~图4c所示,在本实施方式中,推定器5、生成器60、识别器61以及输入推定器62分别由多层结构的全结合型神经网络构成。推定器5、生成器60、识别器61以及输入推定器62分别具备输入层(51、601、611、621),中间(隐藏)层(52、602、612、622)以及输出层(53、603、613、623)。
[0104]
另外,推定器5、生成器60、识别器61以及输入推定器62各自的结构也可以不限于这样的例子,可以根据实施方式适当确定。例如,中间层(52、602、612、622)的数量不限于一个,也可以是两个以上。或者,也可以省略中间层(52、602、612、622)。构成各个神经网络的层数可以任意选择。关于推定器5、生成器60、识别器61以及输入推定器62中的至少任意一个的组合,可以至少部分结构一致,也可以不一致。
[0105]
各层(51~53、601~603、611~613、621~623)具备一个或多个神经元(节点)。各层(51~53、601~603、611~613、621~623)中包含的神经元(节点)的数量没有特别限定,可以根据实施方式适当选择。相邻层的神经元之间适当结合。在图4a~图4c的例子中,各神经元与相邻层的所有神经元结合。然而,各神经元的结合关系也可以不限于这样的例子,可以根据实施方式适当设定。
[0106]
对各结合设定了权重(结合权重)。对各神经元设定阈值,基本上根据各输入与各权重之积的和是否超过阈值来确定各神经元的输出。阈值也可以通过激活函数来表现。在该情况下,将各输入与各权重之积的和输入到激活函数,执行激活函数的运算,从而确定各神经元的输出。激活函数的类别可以任意选择。各层(51~53、601~603、611~613、621~623)中包含的各神经元间的结合的权重以及各神经元的阈值是推定器5、生成器60、识别器61以及输入推定器62各自的运算处理中利用的运算参数的一例。推定器5、生成器60、识别器61以及输入推定器62各自的运算参数的值通过上述机器学习被调节,以得到适合于所希望的推论的输出。
[0107]
(推定器的机器学习)
[0108]
如图4a所示,第一训练部114关于各学习数据集30,将所生成的差分数据37输入到推定器5的输入层51,从输出层53获取与推定对象的特征的结果对应的输出值。在推定器5的机器学习中,第一训练部114调节推定器5的运算参数的值,使得所获取的输出值与正解数据32之间的误差变小。由此,关于各学习数据集30,能够生成获得了根据差分数据37推定
对象的特征的能力的训练完毕的推定器5。
[0109]
保存处理部119生成用于对通过机器学习生成的训练完毕的推定器5进行再现的第一学习结果数据121。只要能够再现训练完毕的推定器5,第一学习结果数据121的结构可以是任意的。例如,保存处理部119生成表示所生成的训练完毕的推定器5的运算参数的值的信息作为第一学习结果数据121。根据情况,在第一学习结果数据121中还可以包含表示训练完毕的推定器5的结构的信息。结构例如可以通过神经网络中的从输入层到输出层的层数、各层的种类、各层中包含的神经元的数量、相邻层的神经元之间的结合关系等来确定。保存处理部119将所生成的第一学习结果数据121保存在规定的存储区域中。
[0110]
(生成器的机器学习)
[0111]
如图4b所示,本实施方式所涉及的生成器60的机器学习包括上述第一训练步骤以及第二训练步骤。在第一训练步骤中,第二训练部116向生成器60的输入层601输入噪声631,从输出层603获取与根据噪声631生成的模拟背景数据633对应的输出值。第二训练部116将所生成的模拟背景数据633输入到识别器61的输入层611,从输出层613获取与识别所输入的背景数据的来源的结果对应的输出值。另外,第二训练部116将学习用背景数据39输入到识别器61的输入层611,从输出层613获取与识别所输入的背景数据的来源的结果对应的输出值。
[0112]
在图4b的例子中,将来自学习数据的情况表现为“真”,将来自生成器60的情况表现为“假”。“真”可以置换为“1”,“假”可以置换为“0”。另外,表现各来源的方法不限于这样的例子,可以根据实施方式适当选择。在获取了识别上述背景数据的来源的结果的两个场景中,在将所生成的模拟背景数据633输入到识别器61的场景中,识别器61识别为“真”是正解。另一方面,在将学习用背景数据39输入到识别器61的场景中,识别器61识别为“假”是正解。在第一训练步骤中,第二训练部116在固定生成器60的运算参数的值的基础上,调节识别器61的运算参数的值,使得在各场景中从输出层613获取的输出值与各正解之间的误差变小。由此,能够训练识别器61以提高识别所输入的背景数据的来源的性能。
[0113]
另一方面,在第二训练步骤中,第二训练部116向生成器60的输入层601输入噪声631,从输出层603获取与根据噪声631生成的模拟背景数据633对应的输出值。生成该模拟背景数据633的处理可以在第一训练步骤以及第二训练步骤中共同执行。即,在第一训练步骤中生成的模拟背景数据633也可以在第二训练步骤中利用。第二训练部116将所生成的模拟背景数据633输入到识别器61的输入层611,从输出层613获取与识别所输入的背景数据的来源的结果对应的输出值。
[0114]
在第二训练步骤中,降低识别器61的识别性能(即,识别结果错误)是正解。即,从输出层613获得的输出值对应于“真”是正解。第二训练部116在固定识别器61的运算参数的值的基础上,调节生成器60的运算参数的值,使得从输出层613获取的输出值与该正解之间的误差变小。由此,能够训练生成器60以提高生成使识别器61的识别性能降低的模拟背景数据633的性能。
[0115]
第二训练部116通过交替反复执行上述第一训练步骤以及第二训练步骤,能够交替提高识别器61以及生成器60的性能。由此,通过识别器61的识别性能的提高,能够实现生成适合于学习用背景数据39的模拟背景数据633的生成器60的性能的提高。因此,通过上述机器学习,能够构建训练完毕的生成器60,该生成器60能够根据噪声生成模拟背景数据,该
模拟背景数据对于在执行推定任务的场景中得到的图像数据中能够表现的背景再现性高,对于除此以外的信息再现性低。需要说明的是,第一训练步骤以及第二训练步骤的处理顺序可以是任意的。
[0116]
保存处理部119生成用于对通过机器学习生成的训练完毕的生成器60进行再现的第二学习结果数据122。第二学习结果数据122的结构可以与上述第一学习结果数据121相同。例如,在第二学习结果数据122中可以包含表示训练完毕的生成器60的运算参数的值的信息。根据情况,在第二学习结果数据122中还可以包含表示训练完毕的生成器60的结构的信息。保存处理部119将所生成的第二学习结果数据122保存在规定的存储区域中。需要说明的是,关于训练完毕的识别器61的处理可以是任意的。在第二学习结果数据122中,还可以包含用于再现训练完毕的识别器61的信息,也可以不包含。
[0117]
(输入推定器的机器学习)
[0118]
如图4c所示,第三训练部118关于各学习数据集64,将模拟背景数据643输入到输入推定器62的输入层621,从输出层623获取输出值。从输入推定器62得到的输出值与为了由机器学习完毕的生成器60生成所输入的模拟背景数据643而推定赋予机器学习完毕的生成器60的输入值(噪声)的结果对应。第三训练部118调节输入推定器62的运算参数的值,使得所获取的输出值与对应的噪声641之间的误差变小。由此,由于通过机器学习完毕的生成器60生成适合于图像数据中映现出的背景的(模拟)背景数据,因此能够生成获得了推定赋予机器学习完毕的生成器60的输入值(噪声)的能力的训练完毕的输入推定器62。
[0119]
保存处理部119生成第三学习结果数据123,该第三学习结果数据123用于对通过机器学习而生成的训练完毕的输入推定器62进行再现。第三学习结果数据123的结构可以与上述第一学习结果数据121等相同。例如,在第三学习结果数据123中可以包含表示训练完毕的输入推定器62的运算参数的值的信息。根据情况,在第三学习结果数据123中还可以包含表示训练完毕的输入推定器62的结构的信息。保存处理部119将所生成的第三学习结果数据123保存在规定的存储区域中。
[0120]
(背景数据的生成)
[0121]
如图4c所示,在本实施方式中,背景获取部112通过利用由上述机器学习生成的训练完毕的生成器60以及输入推定器62,能够生成与各学习数据集30的训练数据31对应的背景数据35。
[0122]
具体而言,背景获取部112关于各学习数据集30,向机器学习完毕的输入推定器62的输入层621输入训练数据31,从输出层623获取输出值。从机器学习完毕的输入推定器62得到的输出值,与为了生成适合于训练数据31中映现出的背景的模拟背景数据而赋予机器学习完毕的生成器60的噪声的推定值对应。
[0123]
接着,背景获取部112将所获取的噪声的推定值输入到机器学习完毕的生成器60的输入层601,从输出层603获取与根据噪声的推定值生成的模拟背景数据对应的输出值。背景获取部112能够获取所生成的模拟背景数据作为针对训练数据31的背景数据35。
[0124]
<推定装置>
[0125]
图5示意性地例示本实施方式所涉及的推定装置2的软件结构的一例。
[0126]
推定装置2的控制部21将存储在存储部22中的推定程序82在ram中展开。另外,控制部21通过cpu解释并执行在ram中展开的推定程序82中包含的命令,控制各构成要素。由
此,如图5所示,本实施方式所涉及的推定装置2作为计算机进行动作,该计算机具备数据获取部211、背景获取部212、差分计算部213、推定部214以及输出部215作为软件模块。即,在本实施方式中,推定装置2的各软件模块与上述模型生成装置1同样地,由控制部21(cpu)实现。
[0127]
数据获取部211获取成为推定任务的执行对象的对象图像数据41。背景获取部212获取与对象图像数据41对应的对象背景数据45。在本实施方式中,背景获取部212通过保持第二学习结果数据122以及第三学习结果数据123,具备机器学习完毕的生成器60以及输入推定器62。背景获取部212也可以通过将对象图像数据41赋予机器学习完毕的输入推定器62,推定为了生成适合于在对象图像数据41中映现出的背景的模拟背景数据而赋予机器学习完毕的生成器60的噪声。另外,背景获取部212也可以通过将所获取的噪声的推定值赋予机器学习完毕的生成器60,来生成模拟背景数据。背景获取部212也可以获取所生成的模拟背景数据作为对象背景数据45。
[0128]
差分计算部213通过取得对象图像数据41与对象背景数据45的差分,生成对象差分数据47。推定部214通过保持第一学习结果数据121,具备机器学习完毕的推定器5。推定部214利用机器学习完毕的推定器5,推定所生成的对象差分数据47中包含的特征。输出部215输出与推定特征的结果相关的信息。
[0129]
<其它>
[0130]
关于模型生成装置1以及推定装置2的各软件模块,在后述的动作例中详细说明。需要说明的是,在本实施方式中,说明了模型生成装置1以及推定装置2的各软件模块均由通用的cpu实现的例子。然而,以上的软件模块的一部分或全部也可以通过一个或多个专用的处理器来实现。另外,关于模型生成装置1以及推定装置2各自的软件结构,也可以根据实施方式适当地进行软件模块的省略、置换以及追加。
[0131]
§
3动作例
[0132]
[模型生成装置]
[0133]
(a)生成器的机器学习
[0134]
图6a是表示与由本实施方式所涉及的模型生成装置1进行的生成器60的机器学习相关的处理顺序的一例的流程图。以下说明的处理顺序仅是一例,各步骤可以尽可能地变更。此外,关于以下说明的处理顺序,可以根据实施方式适当地进行步骤的省略、置换以及追加。
[0135]
(步骤s101)
[0136]
在步骤s101中,控制部11作为第二数据获取部115进行动作,获取多件学习用背景数据39。
[0137]
学习用背景数据39可以适当生成。例如,在真实空间或虚拟空间中,假设执行推定任务的场景,通过在各种条件下利用照相机拍摄背景,能够生成学习用背景数据39。此时,优选生成学习用背景数据39,使得不映现与对象的特征相关的信息,而仅映现背景。背景可以根据推定任务适当选择。关于基底不同等不同种类的背景,优选包罗性地收集学习用背景数据39。另一方面,关于在同一种背景中拍摄部位偏移等的偏差,也可以不包罗地收集学习用背景数据39。拍摄的背景的种类与训练数据31相同。在得到了映现有对象的特征以及背景的训练数据31的情况下,学习用背景数据39也可以通过利用图像处理从训练数据31中
适当除去与对象的特征相关的信息来生成。或者,学习用背景数据39也可以与训练数据31分开获取。
[0138]
学习用背景数据39可以通过计算机的动作自动地生成,也可以通过至少部分地包含操作员的操作而手动地生成。另外,学习用背景数据39的生成可以由模型生成装置1进行,也可以由模型生成装置1以外的其它计算机进行。在模型生成装置1生成学习用背景数据39的情况下,控制部11自动地或者通过操作员经由输入装置15的操作手动地执行上述生成处理,由此获取学习用背景数据39。另一方面,在其它计算机生成学习用背景数据39的情况下,控制部11例如经由网络、存储介质91等,获取由其它计算机生成的学习用背景数据39。也可以由模型生成装置1生成一部分学习用背景数据39,由一个或多个其它计算机生成其它学习用背景数据39。
[0139]
获取的学习用背景数据39的件数可以任意选择。当获取了多件学习用背景数据39时,控制部11使处理进入下一步骤s102。
[0140]
(步骤s102)
[0141]
在步骤s102中,控制部11作为第二训练部116进行动作,使用所获取的多件学习用背景数据39,实施生成器60的机器学习。由此,构建训练成生成针对训练数据31的背景数据35的机器学习完毕的生成器60。
[0142]
图6b是表示与本实施方式所涉及的生成器60的机器学习相关的子例程的处理顺序的一例的流程图。本实施方式所涉及的步骤s102的处理包括以下步骤s1021~s1023的处理。另外,以下说明的处理顺序仅是一例,各处理可以尽可能地变更。另外,关于以下说明的处理顺序,可以根据实施方式适当地进行步骤的省略、置换以及追加。
[0143]
在本实施方式中,在生成器60的训练中利用识别器61。可以适当准备分别构成成为处理对象的生成器60以及识别器61的神经网络。生成器60以及识别器61各自的结构(例如,层数、各层中包含的神经元的数量、相邻层的神经元之间的结合关系等)、各神经元间的结合的权重的初始值以及各神经元的阈值的初始值可以由模板赋予,也可以由操作员的输入赋予。另外,在进行重新学习的情况下,控制部11可以基于通过过去的机器学习获得的学习结果数据来准备生成器60以及识别器61。
[0144]
(步骤s1021)
[0145]
在步骤s1021中,控制部11使用学习用背景数据39以及由生成器60生成的模拟背景数据633,对识别器61进行训练,以识别所输入的背景数据的来源。步骤s1021是上述第一训练步骤的一例。在该机器学习的训练处理中,可以使用概率梯度下降法、小批量梯度下降法等。关于后述的步骤s1022等的其它神经网络的机器学习的处理也是同样。
[0146]
作为一例,首先,控制部11从规定的概率分布中提取噪声631(潜在变量)。规定的概率分布可以任意选择。规定的概率分布例如可以是高斯分布等公知的概率分布。接着,控制部11将提取出的噪声631赋予生成器60,执行生成器60的运算处理。即,控制部11将噪声631输入到生成器60的输入层601,并从输入侧开始依次进行各层601~603中包含的各神经元的点火判断(即,进行正向传播的运算)。通过该运算处理,控制部11从输出层603获取与根据噪声631生成的模拟背景数据633对应的输出值。生成的模拟背景数据633的件数可以是任意的。需要说明的是,该正向传播的运算处理在以下的其它神经网络的运算处理中也同样执行。
[0147]
接着,控制部11将所生成的模拟背景数据633输入到识别器61的输入层611,执行识别器61的运算处理。由此,控制部11从识别器61的输出层613获取与识别所输入的背景数据的来源的结果对应的输出值。在该场景中,由于所输入的背景数据是模拟背景数据633,因此识别器61识别为“假”是正解。控制部11关于各件模拟背景数据633,计算从输出层613得到的输出值与该正解之间的误差。
[0148]
另外,控制部11将各件学习用背景数据39输入到识别器61的输入层611,执行识别器61的运算处理。由此,控制部11从识别器61的输出层613获取与识别所输入的背景数据的来源的结果对应的输出值。在该场景中,由于所输入的背景数据是学习用背景数据39,因此识别器61识别为“真”是正解。控制部11关于各件学习用背景数据39,计算从输出层613得到的输出值与该正解之间的误差。
[0149]
在各误差(损失)的计算中,可以使用损失函数。损失函数是评价机器学习模型的输出与正解的差分(即,差异的程度)的函数,从输出层613得到的输出值与该正解的差分值越大,通过损失函数计算出的误差值越大。用于计算误差的损失函数的种类没有特别限定,可以根据实施方式适当选择。
[0150]
控制部11通过误差逆传播(back propagation:反向传播)法,使用计算出的输出值的误差的梯度,计算识别器61的各运算参数(各神经元间的结合的权重、各神经元的阈值等)的值的误差。控制部11基于计算出的各误差,更新识别器61的各运算参数的值。更新各运算参数的值的程度可以通过学习率进行调节。学习率可以通过操作员的指定来赋予,也可以作为程序内的设定值来赋予。
[0151]
控制部11在固定了生成器60的各运算参数的值的基础上,调节识别器61的各运算参数的值,使得通过上述一系列的更新处理计算出的误差之和变小。例如,控制部11也可以通过上述一系列处理反复调节识别器61的各运算参数的值,直到满足执行规定次数的、计算出的误差之和为阈值以下等规定条件为止。由此,控制部11能够训练识别器61以提高识别所输入的背景数据的来源的性能。当该识别器61的训练处理完成时,控制部11使处理进入下一步骤s1022。
[0152]
(步骤s1022)
[0153]
在步骤s1022中,控制部11对生成器60进行训练,以生成使识别器61的识别性能降低的模拟背景数据633。换言之,控制部11对生成器60进行训练,以生成识别器61识别为“真”(即,识别为来自学习数据)的模拟背景数据633。步骤s1022是上述第二训练步骤的一例。
[0154]
作为一例,首先,控制部11与上述步骤s1021同样地,通过将从规定的概率分布提取的噪声631赋予生成器60,生成模拟背景数据633。在本步骤s1022中也利用由上述步骤s1021生成的模拟背景数据633的情况下,控制部11在本步骤s1022中可以省略生成模拟背景数据633的处理。
[0155]
接着,控制部11将所生成的模拟背景数据633输入到识别器61的输入层611,执行识别器61的运算处理。由此,控制部11从识别器61的输出层613获取与识别所输入的背景数据的来源的结果对应的输出值。在该场景中,如果所输入的背景数据为“真”(即,来自学习数据),则识别器61进行错误的识别是正解。控制部11关于各件模拟背景数据633,计算从输出层613得到的输出值与该正解之间的误差。与上述同样地,在该误差的计算中可以使用任
意的损失函数。
[0156]
控制部11通过误差逆传播法,将计算出的输出值的误差的梯度经由识别器61逆传播到生成器60的各运算参数,计算生成器60的各运算参数的值的误差。控制部11基于计算出的各误差,更新生成器60的各运算参数的值。与上述同样地,更新各运算参数的值的程度可以通过学习率进行调节。
[0157]
控制部11在固定识别器61的各运算参数的值的基础上,调节生成器60的各运算参数的值,使得通过上述一系列的更新处理计算出的误差之和变小。与上述识别器61的训练同样地,控制部11也可以通过上述一系列处理反复调节生成器60的各运算参数的值,直到满足规定的条件为止。由此,控制部11能够训练生成器60以提高生成使识别器61的识别性能降低的模拟背景数据633的性能。当该生成器60的训练处理完成时,控制部11使处理进入下一步骤s1023。
[0158]
(步骤s1023)
[0159]
在步骤s1023中,控制部11判定是否重复步骤s1021以及s1022的处理。重复处理的基准可以任意确定。例如,也可以设定重复处理的规定次数。规定次数例如可以通过操作员的指定来赋予,也可以作为程序内的设定值来赋予。在该情况下,控制部11判定执行步骤s1021以及步骤s1022的处理的次数是否达到规定次数。在判定为执行次数未达到规定次数的情况下,控制部11将处理返回到步骤s1021,再次执行步骤s1021以及步骤s1022的处理。另一方面,在判定为执行次数达到了规定次数的情况下,控制部11完成生成器60的机器学习的处理,使处理进入下一步骤s103。
[0160]
如上所述,控制部11交替反复执行识别器61的训练步骤以及生成器60的训练步骤。由此,能够交替地提高识别器61以及生成器60的性能。其结果是,能够构建获得了生成适合于学习用背景数据39的模拟背景数据633(由此,生成针对训练数据31的背景数据35)的能力的训练完毕的生成器60。
[0161]
(步骤s103)
[0162]
返回图6a,在步骤s103中,控制部11作为保存处理部119进行动作,生成与通过机器学习构建的训练完毕的生成器60相关的信息作为第二学习结果数据122。然后,控制部11将所生成的第二学习结果数据122保存在规定的存储区域中。
[0163]
规定的存储区域例如可以是控制部11内的ram、存储部12、外部存储装置、存储介质或它们的组合。存储介质例如可以是cd、dvd等,控制部11也可以经由驱动器17将第二学习结果数据122存储在存储介质中。外部存储装置例如可以是nas(network attached storage:网络附加存储)等数据服务器。在该情况下,控制部11也可以利用通信接口13,经由网络在数据服务器中存储第二学习结果数据122。另外,外部存储装置例如也可以是经由外部接口14与模型生成装置1连接的外置的存储装置。
[0164]
由此,当第二学习结果数据122的保存完成时,控制部11结束与生成器60的机器学习相关的一系列处理。
[0165]
需要说明的是,所生成的第二学习结果数据122可以在任意的定时提供给推定装置2。例如,控制部11可以将“将第二学习结果数据122传送到推定装置2”这一步骤作为步骤s103的处理,也可以不作为步骤s103的处理。推定装置2也可以通过接收该传送来获取第二学习结果数据122。另外,例如,推定装置2也可以利用通信接口23,经由网络访问模型生成
装置1或数据服务器,从而获取第二学习结果数据122。另外,例如,推定装置2可以经由存储介质92获取第二学习结果数据122。另外,例如,第二学习结果数据122也可以预先编入推定装置2。
[0166]
此外,控制部11也可以通过定期或不定期地重复上述步骤s101~步骤s103的处理,来更新或新生成第二学习结果数据122。在这样重复进行时,可以适当执行学习用背景数据39的至少一部分的变更、修正、追加、删除等。另外,控制部11可以通过利用任意方法向推定装置2提供更新的或新生成的第二学习结果数据122,从而更新由推定装置2保持的第二学习结果数据122。
[0167]
(b)输入推定器的机器学习
[0168]
图7是表示与本实施方式所涉及的模型生成装置1的输入推定器62的机器学习相关的处理顺序的一例的流程图。以下说明的处理顺序仅是一例,各步骤可以尽可能地变更。此外,对于以下说明的处理顺序,可以根据实施方式适当地进行步骤的省略、置换以及追加。
[0169]
(步骤s111)
[0170]
在步骤s111中,控制部11作为第三数据获取部117进行动作,获取多个学习数据集64。各学习数据集64由作为输入值的样本的噪声641,以及通过对机器学习完毕的生成器60赋予噪声641而生成的模拟背景数据643的组合构成。
[0171]
各学习数据集64可以通过利用机器学习完毕的生成器60来适当生成。作为一例,从规定的概率分布(例如,高斯分布等)中提取噪声641(潜在变量)。将提取出的噪声641输入到机器学习完毕的生成器60的输入层601,执行机器学习完毕的生成器60的运算处理。通过该运算处理,能够从训练完毕的生成器60的输出层603获取与根据噪声641生成的模拟背景数据643对应的输出值。将所输入的噪声641与所生成的模拟背景数据643相关联。由此,能够生成各学习数据集64。需要说明的是,学习数据集64的结构也可以不限于这样的例子。例如,学习数据集64可以包括图像数据来代替模拟背景数据643,该图像数据还包括背景以外的信息(例如,对象的特征)。在该情况下,同一噪声641与映现有同一背景的图像数据相关联。
[0172]
与上述学习用背景数据39同样地,各学习数据集64可以通过计算机的动作自动地生成,也可以通过至少部分地包含操作员的操作而手动地生成。另外,各学习数据集64的生成可以由模型生成装置1进行,也可以由模型生成装置1以外的其它计算机进行。也可以由模型生成装置1生成一部分学习数据集64,由一个或多个其它计算机生成其它学习数据集64。
[0173]
获取的学习数据集64的件数可以任意选择。当获取多个学习数据集64时,控制部11使处理进入下一步骤s112。
[0174]
(步骤s112)
[0175]
在步骤s112中,控制部11作为第三训练部118进行动作,使用所获取的多个学习数据集64,实施输入推定器62的机器学习。在该机器学习中,控制部11关于各学习数据集64,对输入推定器62进行训练,使得通过根据模拟背景数据643由输入推定器62推定赋予机器学习完毕的生成器60的输入值而得到的推定值适合于噪声641。
[0176]
作为一例,首先,控制部11关于各学习数据集64,向输入推定器62的输入层621输
入模拟背景数据643,执行输入推定器62的运算处理。由此,控制部11为了生成模拟背景数据643,从输出层623获取与推定赋予机器学习完毕的生成器60的输入值(噪声)的结果对应的输出值。控制部11计算得到的推定值与对应的噪声641之间的误差。与上述步骤s1021等同样地,在误差的计算中可以使用任意的损失函数。
[0177]
控制部11通过误差逆传播法,使用计算出的误差的梯度,计算输入推定器62的各运算参数的值的误差。控制部11基于计算出的各误差,更新输入推定器62的各运算参数的值。与上述步骤s1021等同样地,更新各运算参数的值的程度可以通过学习率进行调节。
[0178]
控制部11调节输入推定器62的各运算参数的值,使得通过上述一系列的更新处理计算出的误差之和变小。与上述步骤s1021等同样地,控制部11也可以通过上述一系列处理反复调节输入推定器62的各运算参数的值,直到满足规定的条件为止。
[0179]
通过该机器学习,输入推定器62对各学习数据集64进行训练,使得能够根据模拟背景数据643适当地推定噪声641。即,输入推定器62被训练成根据机器学习完毕的生成器60的输出来推定输入。机器学习完毕的生成器60被训练成生成对于背景再现性高,对于除此以外的信息再现性低的模拟图像数据。因此,输入推定器62被训练成只要是映现有同一背景的图像数据,即使包含其它信息,也能够推定相同的输入值(噪声)。只要相同的噪声641与映现有相同背景的图像数据相关联,即使模拟背景数据643置换为还包含其它信息的图像数据,也能够同样地训练输入推定器62。因此,通过上述机器学习,为了根据在所赋予的图像数据中映现出的背景生成映现有该背景的模拟背景数据,能够构建获得了推定赋予机器学习完毕的生成器60的输入值(噪声)的能力的训练完毕的输入推定器62。当输入推定器62的机器学习完成时,控制部11使处理进入下一步骤s113。
[0180]
(步骤s113)
[0181]
在步骤s113中,控制部11作为保存处理部119进行动作,生成与通过机器学习构建的训练完毕的输入推定器62相关的信息作为第三学习结果数据123。然后,控制部11将所生成的第三学习结果数据123保存在规定的存储区域中。规定的存储区域例如可以是控制部11内的ram、存储部12、外部存储装置、存储介质或它们的组合。
[0182]
由此,当第三学习结果数据123的保存完成时,控制部11结束与输入推定器62的机器学习相关的一系列处理。需要说明的是,与上述第二学习结果数据122同样地,所生成的第三学习结果数据123可以在任意的定时提供给推定装置2。另外,可以定期或不定期地重复上述步骤s111~步骤s113的处理。然后,通过任意方法将更新或新生成的第三学习结果数据123提供给推定装置2,从而可以更新由推定装置2保持的第三学习结果数据123。
[0183]
(c)推定器的机器学习
[0184]
图8是表示与本实施方式所涉及的模型生成装置1进行的推定器5的机器学习相关的处理顺序的一例的流程图。以下说明的处理顺序是本发明的“模型生成方法”的一例。另外,以下说明的处理顺序仅是一例,各步骤可以尽可能地变更。此外,关于以下说明的处理顺序,可以根据实施方式适当地进行步骤的省略、置换以及追加。
[0185]
(步骤s121)
[0186]
在步骤s121中,控制部11作为第一数据获取部111进行动作,获取多个学习数据集30。各学习数据集30由作为图像数据的训练数据31,以及表示训练数据31中包含的特征的正解数据32的组合构成。
[0187]
各学习数据集30可以适当生成。例如,在真实空间或虚拟空间中,通过在表现出对象的特征的状态下与背景一起实施照相机的拍摄,可以得到训练数据31。作为具体例,在生成能够用于产品的外观检查的训练完毕的推定器的情况下,通过利用照相机拍摄包含或不包含缺陷的产品,能够得到训练数据。然后,将表示推定所获取的训练数据31中包含的对象的特征的结果(正解)的信息作为正解数据32,与所获取的训练数据31相关联。可以任意地选择推定对象的特征的方法。例如,特征的推定也可以由操作员进行。由此,能够生成各学习数据集30。
[0188]
与上述学习用背景数据39等同样地,各学习数据集30可以通过计算机的动作自动生成,也可以通过至少部分地包含操作员的操作而手动生成。另外,各学习数据集30的生成可以由模型生成装置1进行,也可以由模型生成装置1以外的其它计算机进行。也可以由模型生成装置1生成一部分学习数据集30,由一个或多个其它计算机生成其它学习数据集30。
[0189]
获取的学习数据集30的件数可以任意选择。当获取多个学习数据集30时,控制部11使处理进入下一步骤s122。
[0190]
(步骤s122)
[0191]
在步骤s122中,控制部11作为背景获取部112进行动作,关于各学习数据集30,获取针对训练数据31的背景数据35。
[0192]
背景数据35可以适当生成。在本实施方式中,控制部11能够利用机器学习完毕的生成器60以及输入推定器62,关于各学习数据集30,生成针对训练数据31的背景数据35。具体而言,控制部11关于各学习数据集30,向机器学习完毕的输入推定器62的输入层621输入训练数据31,执行输入推定器62的运算处理。由此,控制部11为了生成适合于在所输入的训练数据31中映现出的背景的模拟背景数据,能够从机器学习完毕的输入推定器62的输出层623获取与推定赋予机器学习完毕的生成器60的输入值的结果对应的输出值。接着,控制部11将由机器学习完毕的输入推定器62获取的推定值输入到机器学习完毕的生成器60的输入层601,执行机器学习完毕的生成器60的运算处理。由此,控制部11能够从机器学习完毕的生成器60的输出层603获取与根据推定值生成的模拟背景数据对应的输出值。控制部11也可以关于各学习数据集30,获取所生成的模拟背景数据作为针对训练数据31的背景数据35。当获取背景数据35时,控制部11使处理进入下一步骤s123。
[0193]
(步骤s123)
[0194]
在步骤s123中,控制部11作为差分计算部113进行动作,关于各学习数据集30,计算所获取的背景数据35以及训练数据31的差分,由此生成差分数据37。在生成差分数据37后,控制部11使处理进入下一步骤s124。
[0195]
需要说明的是,只要能够基于背景数据35降低与训练数据31中包含的背景相关的信息,差分计算的方法也可以不特别限定,可以根据实施方式适当确定。作为一例,控制部11也可以在训练数据31与背景数据35之间比较同一位置的各像素的值,在是相同值的情况下设为“0”,在是不同值的情况下直接采用训练数据31的像素值,由此生成差分数据37。
[0196]
作为其它的例子,控制部11也可以在训练数据31与背景数据35之间简单地差分同一位置的各像素彼此的值。在该简单的差分计算中,背景数据35与训练数据31的微小的背景差异有可能残留在差分数据37中。特别是,在由上述机器学习完毕的生成器60生成背景数据35的情况下,该可能性较高。因此,为了与此对应,控制部11也可以将所得到的差分数
据37二值化。例如,在差分数据37的像素值在0~255之间表现的情况下,控制部11也可以将在训练数据31以及背景数据35之间计算出的各像素的值的差分与阈值进行比较。阈值可以任意确定。然后,控制部11也可以通过将差分比阈值小的像素的值设为“0”,将差分比阈值大的像素的值设为“255”,由此生成差分数据37。
[0197]
图9示意性地例示计算训练数据31以及背景数据35的差分的又一其它方法的一例。在该方法中,控制部11计算训练数据31的各像素311的对象区域315与背景数据35的对应的各像素351的对应区域355之间的相关性。对象区域315包括训练数据31中的对象的像素311以及存在于对象的像素311周围的像素312。针对每个像素311定义对象区域315。在图9的例子中,对象区域315通过包含对象的像素311以及存在于对象的像素311的周围的全部8个像素312,具有3
×
3的尺寸。另外,对象区域315的尺寸以及形状也可以不限于这样的例子,只要包含存在于对象的像素311的周围的至少一个像素312,则可以任意地确定。对应区域355包含与对象的像素311对应的像素351以及存在于像素351周围的像素352。对应的像素351存在于与对象的像素311相同的位置。对应区域355被定义在与对象区域315相同的位置以及范围内。相关性的计算可以采用计算相关系数的方法等公知的计算方法。
[0198]
然后,控制部11基于在对象区域315以及对应区域355之间计算出的相关性,计算训练数据31的各像素311与背景数据35的对应的各像素351的差分。即,控制部11根据计算出的相关性,确定对象的像素311以及对应的像素351之间的差分结果。计算出的相关性越高,表示对象的像素311以及对应的像素351映现彼此相同的背景的图像,计算出的相关性越低,表示对象的像素311映现与对应的像素351不同的图像(即,对象的特征等背景以外的图像)。基于该观点,可以任意规定计算出的相关性与差分结果之间的关系。例如,控制部11也可以比较计算出的相关性的值和阈值,在相关性的值比阈值低的情况下,直接采用各像素311的值,在相关性的值比阈值高的情况下,将对象的像素的值设为“0”,由此生成差分数据37。阈值可以任意确定。根据该方法,除了在背景数据35与训练数据31之间背景稍微不同的情况以外,即使在背景数据35与训练数据31之间背景在计算相关性的范围内偏移的情况下,也能够减少与背景相关的信息残留在差分数据37中的情况。
[0199]
(步骤s124)
[0200]
在步骤s124中,控制部11作为第一训练部114进行动作,使用所生成的差分数据37,实施推定器5的机器学习。在该机器学习中,控制部11关于各学习数据集30,训练推定器5,使得根据所生成的差分数据37由推定器5推定特征的结果适合于正解数据32。
[0201]
作为一例,首先,控制部11关于各学习数据集30,将所生成的差分数据37输入到推定器5的输入层51,执行推定器5的运算处理。由此,控制部11从推定器5的输出层53获取与推定差分数据37中包含的对象的特征的结果对应的输出值。控制部11计算从输出层53得到的输出值与对应的正解数据32之间的误差。与上述步骤s1021等同样地,在误差的计算中可以使用任意的损失函数。
[0202]
控制部11通过误差逆传播法,使用计算出的误差的梯度,计算推定器5的各运算参数的值的误差。控制部11基于计算出的各误差,更新推定器5的各运算参数的值。与上述步骤s1021等同样地,更新各运算参数的值的程度可以通过学习率进行调节。
[0203]
控制部11调节推定器5的各运算参数的值,使得通过上述一系列的更新处理计算出的误差之和变小。与上述步骤s1021等同样地,控制部11也可以通过上述一系列处理反复
调节推定器5的各运算参数的值,直到满足规定的条件为止。
[0204]
通过该机器学习,推定器5对各学习数据集30进行训练,使得能够根据差分数据37适当地推定对象的特征。因此,该机器学习的结果是,当被赋予通过背景差分而得到的图像数据时,能够构建获得了推定在被赋予的图像数据中表现的对象的特征的能力的训练完毕的推定器5。当推定器5的机器学习完成时,控制部11使处理进入下一步骤s125。
[0205]
(步骤s125)
[0206]
在步骤s125中,控制部11作为保存处理部119进行动作,生成与通过机器学习构建的训练完毕的推定器5相关的信息作为第一学习结果数据121。然后,控制部11将所生成的第一学习结果数据121保存在规定的存储区域中。规定的存储区域例如可以是控制部11内的ram、存储部12、外部存储装置、存储介质或它们的组合。
[0207]
由此,当第一学习结果数据121的保存完成时,控制部11结束与推定器5的机器学习相关的一系列处理。需要说明的是,与上述第二学习结果数据122等同样地,所生成的第一学习结果数据121可以在任意的定时提供给推定装置2。另外,可以定期或不定期地重复上述步骤s121~步骤s125的处理。另外,也可以通过将更新或新生成的第一学习结果数据121以任意的方法提供给推定装置2,从而更新由推定装置2保持的第一学习结果数据121。
[0208]
[推定装置]
[0209]
图10是表示本实施方式所涉及的推定装置2的处理顺序的一例的流程图。以下说明的处理顺序是推定方法的一例。另外,以下说明的处理顺序仅是一例,各步骤可以尽可能地变更。此外,关于以下说明的处理顺序,可以根据实施方式适当地进行步骤的省略、置换以及追加。
[0210]
(步骤s201)
[0211]
在步骤s201中,控制部21作为数据获取部211进行动作,获取对象图像数据41。
[0212]
对象图像数据41是成为执行推定任务的对象的图像数据的样本。对象图像数据41可以用任意的方法获取。例如,通过利用照相机进行与对象的特征相关的拍摄,能够获取对象图像数据41。照相机的种类可以任意选择。另外,对象图像数据41可以是静止图像以及运动图像中的任意一个。当获取对象图像数据41时,控制部21使处理进入下一步骤s202。
[0213]
(步骤s202)
[0214]
在步骤s202中,控制部21作为背景获取部212进行动作,获取与对象图像数据41对应的对象背景数据45。
[0215]
对象背景数据45可以适当生成。对象背景数据45可以用与上述步骤s122的背景数据35相同的方法生成。在本实施方式中,控制部21也可以通过参照第二学习结果数据122以及第三学习结果数据123,进行机器学习完毕的生成器60以及输入推定器62的设定。然后,控制部21也可以将训练数据31置换为对象图像数据41,执行与上述步骤s122同样的运算处理,从而利用机器学习完毕的生成器60以及输入推定器62,获取与对象图像数据41对应的对象背景数据45。当获取对象背景数据45时,控制部21使处理进入下一步骤s203。
[0216]
(步骤s203)
[0217]
在步骤s203中,控制部21作为差分计算部213进行动作,通过取得对象图像数据41与对象背景数据45的差分,生成对象差分数据47。如果能够基于对象背景数据45减少与对象图像数据41中包含的背景相关的信息,则可以任意确定本步骤s203的差分计算的方法。
本步骤s203的差分计算的方法可以与上述步骤s123相同。在生成对象差分数据47后,控制部21使处理进入下一步骤s204。
[0218]
(步骤s204)
[0219]
在步骤s204中,控制部21作为推定部214进行动作,利用机器学习完毕的推定器5,推定所生成的对象差分数据47中包含的特征。在本实施方式中,控制部21参照第一学习结果数据121,进行机器学习完毕的推定器5的设定。控制部21将所生成的对象差分数据47输入到机器学习完毕的推定器5的输入层51,执行机器学习完毕的推定器5的运算处理。由此,控制部21能够从机器学习完毕的推定器5的输出层53获取与推定对象差分数据47中包含的对象的特征的结果对应的输出值。即,在本实施方式中,通过将对象差分数据47赋予机器学习完毕的推定器5,获取机器学习完毕的推定器5的运算结果,可以实现推定对象图像数据41中包含的特征。当关于对象的特征的推定处理完成时,控制部21使处理进入下一步骤s205。
[0220]
(步骤s205)
[0221]
在步骤s205中,控制部21作为输出部215进行动作,输出与推定对象的特征的结果相关的信息。
[0222]
输出目的地以及输出的信息的内容可以分别根据实施方式适当确定。例如,控制部21也可以将步骤s204的推定结果直接输出到输出装置26。另外,例如,控制部21可以基于推定对象的特征的结果来执行某种信息处理。另外,控制部21也可以将执行该信息处理的结果作为与推定结果相关的信息输出。执行该信息处理的结果的输出可以包括根据推定结果输出特定消息、根据推定结果控制控制对象装置的动作等。输出目的地例如可以是输出装置26、其它计算机的输出装置、控制对象装置等。
[0223]
当与推定结果相关的信息的输出完成时,控制部21结束本动作例所涉及的处理顺序。需要说明的是,在规定期间内,控制部21也可以连续地反复执行步骤s201~步骤s205的一系列信息处理。重复的定时可以是任意的。由此,推定装置2也可以连续地实施与对象的特征相关的推定任务。
[0224]
[特征]
[0225]
如上所述,在本实施方式中,通过上述步骤s123以及步骤s124,推定器5进行训练,以根据除外了背景数据35的信息的训练数据31(差分数据37),如正解数据32那样推定对象的特征。其结果是,机器学习完毕的推定器5不利用在差分计算中被除外的背景数据35的信息,就能够获得执行与对象的特征相关的推定任务的能力。即,在由训练完毕的推定器5执行与对象的特征相关的推定任务时,能够不考虑与背景数据35对应的信息。因此,根据本实施方式所涉及的模型生成装置1,能够生成可执行与图像数据中包含的对象的特征相关的推定任务的训练完毕的推定器5,即针对背景的差异具有鲁棒性的训练完毕的推定器5。另外,在本实施方式所涉及的推定装置2中,在上述步骤s204中,通过利用所生成的训练完毕的推定器5,能够针对背景的差异鲁棒地执行与对象的特征相关的推定任务。
[0226]
另外,在步骤s121以及步骤s201中获取的训练数据31以及对象图像数据41中,例如,由于拍摄部位偏移等原因,即使是同一种背景也有可能产生偏差。与此相对,在本实施方式中,通过步骤s101~步骤s103的处理,能够构建用于生成背景数据的机器学习完毕的生成器60。通过利用该机器学习完毕的生成器60,即使在同一种背景中产生偏差的情况下,
在步骤s122以及步骤s202中,也能够适当地生成分别与训练数据31以及对象图像数据41对应的背景数据35以及对象背景数据45。因此,能够降低分别准备背景数据35以及对象背景数据45的成本。另外,在步骤s124中,能够适当地生成针对背景的差异具有鲁棒性的训练完毕的推定器5。在步骤s204中,能够针对背景的差异鲁棒地执行与对象的特征相关的推定任务。
[0227]
[实施例]
[0228]
为了验证上述效果,构建了实施例以及比较例所涉及的机器学习完毕的推定器。另外,本发明不限于以下的实施例。
[0229]
首先,准备了mnist(modified national institute of standards and technology:修改后的国家标准与技术研究院)的图像(28
×
28,灰度,0~9的手写字符)以及5种背景纹理。通过合成所准备的mnist的图像以及背景纹理,生成机器学习中使用的训练数据以及评价中使用的测试数据。5种中的4种背景纹理具有条纹图案,在与mnist的图像合成时,随机地变更了该图案的位置。生成的训练数据的件数为60000件,测试数据的件数为10000件。通过将所生成的训练数据与表示所合成的字符(0~9)的正解数据相关联,准备了学习数据集。另外,通过与上述实施方式相同的方法,制作了用于生成背景纹理的机器学习完毕的生成器。
[0230]
在实施例中,通过与上述实施方式相同的方法,计算由机器学习完毕的生成器生成的背景数据与训练数据的差分,由此生成差分数据。然后,使用所生成的差分数据,构建了进行训练以识别字符的机器学习完毕的推定器。在对该机器学习完毕的推定器进行评价时,通过与上述实施方式所涉及的推定装置2相同的方法,计算由机器学习完毕的生成器生成的背景数据与测试数据的差分,由此生成对象差分数据。然后,通过机器学习完毕的推定器,对对象差分数据执行识别字符的任务。另一方面,在比较例中,不除去背景,直接使用训练数据,构建训练成识别字符的机器学习完毕的推定器。在评价时,通过机器学习完毕的推定器,对测试数据执行识别字符的任务。需要说明的是,在实施例以及比较例中,分别准备了线性识别模型、4层的mlp(multilayer perceptron:多层感知器)以及卷积神经网络这三种推定器。
[0231]
[表1]
[0232] 实施例比较例线性识别模型84.7%75.6%4层mlp89.3%75.1%cnn97.0%96.7%
[0233]
表1表示实施例以及比较例各自的针对测试数据的字符识别的正确回答率。如表1所示,在将任一模型用于推定器的情况下,实施例的性能均优于比较例。特别是,在利用了线性识别模型以及4层mlp这样的简单模型的情况下,能够飞跃性地提高机器学习完毕的推定器的性能。根据该结果,能够验证:根据本发明能够构建针对背景的差异具有鲁棒性的训练完毕的推定器。
[0234]
§
4变形例
[0235]
以上,详细说明了本发明的实施方式,但到上述为止的说明在所有方面仅是本发明的例示。当然,可以在不脱离本发明的范围的情况下进行各种改良或变形。例如,可以进
行以下的变更。需要说明的是,以下对于与上述实施方式相同的构成要素使用相同的附图标记,对于与上述实施方式相同的点适当省略说明。以下的变形例可以适当组合。
[0236]
<4.1>
[0237]
上述实施方式所涉及的推定系统100可以应用于对图像数据执行与对象的特征相关的推定任务的所有场景。例如,上述实施方式所涉及的推定系统100能够应用于推定图像数据的前景中包含的特征的场景。前景可以由能够与背景区别地从图像数据中提取的任意成分构成。特征可以是能够从前景直接或间接导出的任意信息。推定前景中包含的特征例如可以由推定图像数据中映现出的对象物的属性来构成。在该情况下,与对象物的属性的导出相关的成分是前景的一例。前景的范围可以适当确定为能够导出对象物的属性。例如,前景可以是映现有对象物的范围。或者,前景可以是包含对象物以及对象物的周围的范围。或者,前景也可以是表现推定对象的属性的对象物的一部分的范围。以下,例示限定了应用场景的变形例。
[0238]
(a)外观检查的场景
[0239]
图11示意性地例示第一变形例所涉及的检查系统100a的应用场景的一例。本变形例是将上述实施方式应用于利用映现有产品的图像数据来实施产品的外观检查的场景的例子。本变形例所涉及的检查系统100a具备模型生成装置1以及检查装置2a。与上述实施方式同样地,模型生成装置1以及检查装置2a可以经由网络相互连接。
[0240]
在本变形例中,将映现有产品ra的图像数据p10作为训练数据以及对象图像数据进行处理。图像数据p10可以通过用照相机sa拍摄产品ra来获得。成为推定任务的对象的特征可以是与产品ra的缺陷p12相关的特征。背景p11可以是输送机的片材等产品ra以外的部分。背景p11例如也可以包含映现有没有异常的产品ra的外装的部分等映现有缺陷p12以外的产品ra的部分。除了这些限定以外,本变形例所涉及的检查系统100a可以与上述实施方式所涉及的推定系统100同样地构成。
[0241]
需要说明的是,产品ra例如可以是电子设备、电子部件、汽车部件、药品、食品等在制造生产线上输送的产品。电子部件例如可以是基板、芯片电容器、液晶、继电器的绕组等。汽车部件例如可以是连杆、轴、发动机缸体、电动车窗开关、面板等。药品例如可以是包装完毕的片剂、未包装的片剂等。产品ra可以是在制造过程完成后生成的最终产品,也可以是在制造过程的中途生成的中间产品,也可以是在经过制造过程之前准备的初始产品。缺陷p12例如可以是伤痕、污垢、裂纹、打痕、毛刺、颜色不均、异物混入等。与缺陷p12相关的推定例如可以通过判定产品ra中是否包含缺陷p12、判定产品ra中包含缺陷p12的概率、识别产品ra中包含的缺陷p12的种类、确定产品ra中包含的缺陷p12的范围,或者通过它们的组合来表现。
[0242]
(模型生成装置)
[0243]
在本变形例中,模型生成装置1在上述步骤s101中,获取映现有背景p11的学习用背景数据39。然后,模型生成装置1通过执行步骤s102以及步骤s103的处理,生成获得了生成映现有背景p11的模拟背景数据的能力的机器学习完毕的生成器60,将第二学习结果数据122保存在规定的存储区域中。模型生成装置1通过执行上述步骤s111~步骤s113的处理,生成机器学习完毕的输入推定器62,将第三学习结果数据123保存在规定的存储区域中。
[0244]
另外,模型生成装置1在上述步骤s121中获取多个学习数据集30,该多个学习数据集30分别由映现有产品ra的训练数据31,以及表示与训练数据31中映现出的产品ra的缺陷p12相关的信息(正解)的正解数据32的组合构成。与缺陷p12相关的信息例如可以包含缺陷p12的有无、缺陷p12的类别、缺陷p12存在的范围等信息。模型生成装置1通过执行上述步骤s122~步骤s125的处理,生成获得了执行与缺陷p12相关的推定的能力的机器学习完毕的推定器5,将第一学习结果数据121保存在规定的存储区域中。所生成的第一~第三学习结果数据121~123可以在任意的定时提供给检查装置2a。
[0245]
(检查装置)
[0246]
图12a示意性地例示本变形例所涉及的检查装置2a的硬件结构的一例。如图12a所示,本变形例所涉及的检查装置2a与上述推定装置2同样地,可以由控制部21、存储部22、通信接口23、外部接口24、输入装置25、输出装置26以及驱动器27电连接的计算机构成。
[0247]
在本变形例中,存储部22存储检查程序82a、第一~第三学习结果数据121~123等各种信息。检查程序82a与上述实施方式所涉及的推定程序82对应。检查程序82a以及第一~第三学习结果数据121~123中的至少任意一个也可以存储在存储介质92中。另外,在本变形例中,检查装置2a经由外部接口24与照相机sa连接。照相机sa例如可以是一般的rgb照相机、深度照相机、红外线照相机等。照相机sa可以适当配置在能够拍摄产品ra的场所。例如,照相机sa可以配置在输送产品ra的传送装置的附近。
[0248]
需要说明的是,检查装置2a的硬件结构也可以不限于这样的例子。关于检查装置2a的具体的硬件结构,能够根据实施方式适当地进行构成要素的省略、置换以及追加。检查装置2a除了设计成所提供的服务专用的信息处理装置以外,也可以是通用的服务器装置、通用的pc、plc等。
[0249]
图12b示意性地例示本变形例所涉及的检查装置2a的软件结构的一例。与上述实施方式同样地,检查装置2a的软件结构通过由控制部21执行检查程序82a来实现。除了所处理的数据如上述那样被限定这一点以外,检查装置2a的软件结构与上述推定装置2相同。检查部214a与推定部214对应。由此,检查装置2a能够与上述推定装置2的推定处理同样地执行与外观检查相关的一系列信息处理。
[0250]
即,在步骤s201中,控制部21获取映现有检查对象的产品ra的对象图像数据41a。在步骤s202中,控制部21获取与对象图像数据41a对应的对象背景数据45a。在本变形例中,控制部21通过利用机器学习完毕的生成器60以及输入推定器62,能够获取适合于在对象图像数据41a中映现出的背景p11的对象背景数据45a。在步骤s203中,控制部21通过取得对象图像数据41a与对象背景数据45a的差分,生成对象差分数据47a。在步骤s204中,控制部21作为检查部214a进行动作,将所生成的对象差分数据47a赋予机器学习完毕的推定器5,执行机器学习完毕的推定器5的运算处理。由此,控制部21从机器学习完毕的推定器5获取与关于对象图像数据41a中映现出的产品ra的缺陷p12推定的结果对应的输出值。
[0251]
在步骤s205中,控制部21输出与关于产品ra的缺陷p12推定的结果相关的信息。例如,控制部21也可以将关于产品ra的缺陷p12推定的结果直接输出到输出装置26。另外,例如,在判定为产品ra中包含缺陷p12的情况下,控制部21也可以向输出装置26输出用于通知该情况的警告。另外,例如,在检查装置2a与输送产品ra的传送装置连接的情况下,控制部21也可以控制传送装置,以基于关于缺陷p12推定的结果,在不同的生产线上输送具有缺陷
p12的产品ra和没有缺陷p12的产品ra。
[0252]
(特征)
[0253]
根据本变形例,通过模型生成装置1的机器学习,能够不利用在差分计算中被除外的与背景p11相关的信息,而对推定器5进行训练以执行与缺陷p12相关的推定任务。由此,能够生成针对背景p11的差异能够鲁棒地执行与缺陷p12相关的推定任务的机器学习完毕的推定器5。在本变形例所涉及的检查装置2a中,通过利用该机器学习完毕的推定器5,能够期待高精度地执行与缺陷p12相关的推定任务(即,外观检查)。
[0254]
(其它)
[0255]
在上述第一变形例中,产品ra是对象物的一例,与缺陷p12相关的信息是对象物的属性的一例。对象物及其属性不限于与产品ra以及缺陷p12相关的信息,可以根据实施方式适当选择。即,上述实施方式所涉及的推定系统100可以应用于推定图像数据所表示的任意对象物的属性的各种场景。在该情况下,在推定系统100中,映现有对象物的图像数据可以作为训练数据31以及对象图像数据41来处理。对象的特征可以与对象物的属性相关。由此,能够生成针对背景的差异能够鲁棒地执行与对象物的属性相关的推定任务的机器学习完毕的推定器5。
[0256]
另外,在将产品ra以外的部分作为背景p11的情况下,映现有产品ra的部分是前景的一例。或者,在将产品ra的缺陷p12以外的部分作为背景p11的情况下,映现有缺陷p12的范围是前景的一例。前景以及背景不限于这样的例子,可以根据实施方式适当选择。即,上述实施方式所涉及的推定系统100可以应用于进行与图像数据中映现出的任意前景中包含的特征相关的推定的各种场景。在该情况下,规定种类的数据可以是包含前景以及背景的图像数据。在该情况下,映现有前景以及背景的图像数据可以作为训练数据31以及对象图像数据41来处理。对象的特征可以是与前景相关的特征。对于前景,可以选择能够从图像数据中提取的任意要素。由此,能够生成针对背景的差异能够鲁棒地执行与前景相关的推定任务的机器学习完毕的推定器5。
[0257]
(b)识别牌照的符号的场景
[0258]
图13示意性地例示推定图像数据中映现出的对象物的属性的另一场景的一例。图13所例示的识别系统具备模型生成装置1以及识别装置2b。识别装置2b与上述检查装置2a对应。识别装置2b的结构可以与上述检查装置2a相同。在图13的例子中,可以将映现有牌照rb的图像数据作为训练数据以及对象图像数据来处理。在该图像数据的获取中,与上述检查系统100a同样地,可以使用照相机sb。
[0259]
在该情况下,成为推定任务的对象的特征可以是与赋予牌照rb的符号p20相关的特征。牌照rb是对象物的一例。背景可以是符号p20以外的区域。前景可以是映现有符号p20的区域。符号p20例如可以由数字、字符、标记、图形或它们的组合构成。也可以在牌照rb的背景上施加花纹、图案等装饰。与对象的特征相关的推定可以是识别符号p20。
[0260]
由此,模型生成装置1能够生成机器学习完毕的推定器5,该推定器5能够针对背景的差异鲁棒地识别赋予牌照rb的符号p20。识别装置2b通过与上述检查装置2a同样的顺序,能够识别在对象图像数据中映现出的牌照rb的符号p20。本变形例所涉及的识别系统可以用于识别牌照rb的符号p20的所有场景。例如,本变形例所涉及的识别系统可以用于根据由用于监视在道路上行驶的车辆的监视照相机得到的图像数据来识别在该道路上行驶的车
辆。
[0261]
需要说明的是,在监视在道路上行驶的车辆的场景中,识别装置2b也可以通过上述步骤s201~步骤s204的处理,对按时间序列得到的对象图像数据识别牌照rb的符号p20。然后,识别装置2b也可以通过上述步骤s205的处理,生成按时间序列表示基于符号p20识别在对象道路上行驶的车辆的结果的履历信息。
[0262]
(c)识别赋予产品的包装的符号的场景
[0263]
图14示意性地例示推定图像数据中映现出的对象物的属性的另一场景的一例。图14所例示的识别系统具备模型生成装置1以及识别装置2c。识别装置2c与上述检查装置2a对应。识别装置2c的结构可以与上述检查装置2a相同。在图14的例子中,可以将映现有产品的包装rc的图像数据作为训练数据以及对象图像数据进行处理。在该图像数据的获取中,与上述检查系统100a同样地,可以使用照相机sc。
[0264]
在该情况下,成为推定任务的对象的特征可以是与赋予包装rc的符号p30相关的特征。包装rc是对象物的一例。背景可以是符号p30以外的区域。前景可以是映现有符号p30的区域。符号p30例如可以由数字、字符、标记、图形、代码或它们的组合构成。代码例如可以是一维代码、二维代码等。也可以在包装rc的背景上施加花纹、图案等装饰。与对象的特征相关的推定可以是识别符号p30。
[0265]
由此,模型生成装置1能够生成针对背景的差异能够鲁棒地识别赋予包装rc的符号p30的机器学习完毕的推定器5。识别装置2c通过与上述检查装置2a同样的顺序,能够识别赋予对象图像数据中映现出的包装rc的符号p30。本变形例所涉及的识别系统可以用于识别赋予包装rc的符号p30的所有场景。例如,本变形例所涉及的识别系统可以用于识别在制造生产线上输送的产品。
[0266]
(d)推定移动体的属性的场景
[0267]
图15示意性地例示推定图像数据中映现出的对象物的属性的另一场景的一例。图15所例示的监视系统具备模型生成装置1以及监视装置2d。监视装置2d与上述检查装置2a对应。监视装置2d的结构可以与上述检查装置2a相同。在图15的例子中,可以将通过拍摄移动体rd可能存在的范围而得到的图像数据作为训练数据以及对象图像数据来处理。为了获取图像数据,可以使用配置为拍摄监视对象的范围的照相机sd。监视对象的范围例如可以根据道路、建筑物内等任意场所来确定。监视装置2d例如可以经由网络等适当地与照相机sd连接。由此,监视装置2d能够获取映现有监视对象的范围的图像数据。
[0268]
在该情况下,成为推定任务的对象的特征可以是与移动体rd的属性相关的特征。移动体rd是对象物的一例。移动体rd的属性例如也可以包含映现有移动体rd的范围(边界框)、移动体rd的识别信息、移动体rd的状态等。移动体rd的状态例如也可以包含位置、数量、拥挤状况(拥挤度、密度)、速度、加速度等。此外,移动体rd的状态例如也可以包含移动体rd遭遇事故、犯罪等危险的可能性(危险度)。移动体rd可能遭遇的危险的种类可以任意确定。此外,在移动体rd是人物的情况下,移动体rd的识别信息例如也可以包含人物的标识符、姓名、性别、年龄、体格等。另外,移动体rd的状态例如也可以包含人物的行动、人物的姿势等。背景例如可以是映现有道路、建筑物等移动体rd以外的对象物的区域。前景可以是映现有移动体rd的区域。或者,前景可以是包含移动体rd以及移动体rd的周围的区域。在该情况下,背景可以是移动体rd的周围外侧的区域。
[0269]
由此,模型生成装置1能够生成机器学习完毕的推定器5,该推定器5针对背景的差异能够鲁棒地推定移动体rd的属性。监视装置2d通过与上述检查装置2a同样的顺序,能够推定照相机sd的拍摄范围中的移动体rd的属性。本变形例所涉及的监视系统可以利用于监视移动体rd的所有场景。例如,本变形例所涉及的监视系统可以利用于道路、监视建筑物内的移动体rd的拥挤度的场景、监视人物从车站的站台跌落的预兆的场景、监视在道路上步行的人物遭遇犯罪的预兆的场景等。需要说明的是,输出推定结果的方式可以任意确定。例如,在推定移动体rd的危险度的场景中,监视装置2d也可以在上述步骤s205中输出与推定的危险度对应的警告。
[0270]
(e)监视驾驶员的状态的场景
[0271]
图16示意性地例示推定图像数据中映现出的对象物的属性的另一场景的一例。图16所例示的监视系统具备模型生成装置1以及监视装置2e。监视装置2e与上述检查装置2a对应。监视装置2e的结构可以与上述检查装置2a相同。在图16的例子中,可以将映现有驾驶员re的图像数据作为训练数据以及对象图像数据来处理。在该图像数据的获取中,与上述检查系统100a同样地,可以使用照相机se。照相机se可以适当配置为拍摄假定存在于驾驶席的驾驶员re。
[0272]
在该情况下,成为推定任务的对象的特征可以是与驾驶员re的状态相关的特征。驾驶员re是对象物的一例。驾驶员re的状态例如可以包括健康状态、困倦度、疲劳度、富余度等。健康状态例如可以通过发生规定疾病的概率、发生身体状况变化的概率等来表现。困倦度表示驾驶员re的困倦程度。疲劳度表示驾驶员re的疲劳程度。富余度表示驾驶员re对于驾驶的富余程度。背景例如可以是车内风景等与驾驶者re的状态相关的区域以外的区域。前景可以是与驾驶员re的状态相关的区域。与驾驶员re的状态相关的区域例如可以是映现有驾驶员re的区域、还包括驾驶员re周围的区域、映现有驾驶员re的一部分(例如,任意的身体部位)的区域、映现有与驾驶相关的工具(方向盘等)的区域等。
[0273]
由此,模型生成装置1能够生成针对背景的差异能够鲁棒地推定驾驶员re的状态的机器学习完毕的推定器5。监视装置2e通过与上述检查装置2a相同的顺序,能够推定对象图像数据中映现出的驾驶员re的状态。本变形例所涉及的监视系统可以利用于监视驾驶员re的状态的所有场景。此外,本变形例所涉及的监视系统也可以利用于驾驶者re以外的对象者。作为驾驶者re以外的例子,对象者例如可以是在办公室、工厂等进行作业的作业者。
[0274]
需要说明的是,在上述步骤s205中,可以任意确定输出推定驾驶员re的状态的结果的方式。作为一例,在推定了困倦度以及疲劳度中的至少一方的情况下,监视装置2e也可以判定所推定的困倦度以及疲劳度中的至少一方是否超过阈值。另外,在困倦度以及疲劳度中的至少一方超过阈值的情况下,监视装置2e也可以向输出装置输出警告,催促驾驶员re将车辆停在停车场等地方并进行休息。这样,监视装置2e也可以根据推定的驾驶员re的状态,向输出装置输出警告等特定的消息。
[0275]
作为其它的例子,在车辆具备控制自动驾驶的动作的控制装置(未图示)的情况下,监视装置2e也可以基于推定驾驶员re的状态的结果,向控制装置发送用于指示车辆的自动驾驶的动作的指令。作为具体例,假设控制装置构成为能够切换控制车辆的行驶的自动驾驶模式以及通过驾驶员re的转向来控制车辆的行驶的手动驾驶模式。在该情况下,在车辆以自动驾驶模式行驶,从驾驶员re或系统接收到从自动驾驶模式向手动驾驶模式的切
换时,监视装置2e也可以判定所推定的驾驶员re的富余度是否超过阈值。另外,在驾驶员re的富余度超过阈值的情况下,监视装置2e也可以向控制装置发送允许从自动驾驶模式向手动驾驶模式切换的指令。另一方面,在驾驶员re的富余度为阈值以下的情况下,监视装置2e也可以向控制装置发送不允许从自动驾驶模式向手动驾驶模式切换的通知,维持自动驾驶模式下的行驶。
[0276]
另外,在车辆以手动驾驶模式行驶时,监视装置2e也可以判定所推定的困倦度以及疲劳度中的至少一方是否超过阈值。另外,在困倦度以及疲劳度中的至少一方超过阈值的情况下,监视装置2e也可以将指示从手动驾驶模式切换为自动驾驶模式并在停车场等安全场所停车的指令发送到控制装置。另一方面,在不是这样的情况下,监视装置2e也可以维持基于手动驾驶模式的车辆的行驶。
[0277]
另外,在车辆以手动驾驶模式行驶时,监视装置2e也可以判定所推定的富余度是否为阈值以下。另外,在富余度为阈值以下的情况下,监视装置2e也可以向控制装置发送减速的指令。另一方面,在不是这样的情况下,监视装置2e也可以通过驾驶员re的操作来维持车辆的行驶。需要说明的是,车辆的控制装置和监视装置2e也可以由一体的计算机构成。
[0278]
<4.2>
[0279]
在上述实施方式中,在步骤s122以及步骤s202中,能够利用机器学习完毕的生成器60获取背景数据35以及对象背景数据45。然而,获取各背景数据(35、45)的方法也可以不限于这样的例子。例如,可以预先准备能够用作各背景数据(35、45)的背景数据。在该情况下,背景数据可以存储在存储部(12、22)、存储介质(91、92)、外部存储装置等中。在上述步骤s122以及步骤s202中,可以从预先准备的背景数据中适当选择映现有分别与训练数据31以及对象图像数据41相同种类的背景的背景数据作为各背景数据(35、45)。作为一例,要利用的背景数据可以由操作员来选择。或者,可以选择分别与训练数据31以及对象图像数据41最类似的背景数据作为各背景数据(35、45)。
[0280]
<4.3>
[0281]
在上述实施方式中,在生成器60的训练中利用了识别器61。模型生成装置1通过在生成器60以及识别器61之间实施敌对学习,构建获得了生成适合于学习用背景数据39的模拟背景数据633的能力的机器学习完毕的生成器60。然而,生成机器学习完毕的生成器60的方法,只要能够将生成器60训练成生成映现有由学习用背景数据39赋予的背景的模拟背景数据,则不限于这样的例子。
[0282]
图17示意性地例示本变形例所涉及的生成器60z的结构的一例。在本变形例中,生成器60z与编码器67一起被训练。编码器67构成为将图像数据转换成特征量。生成器60z作为构成为根据特征量复原图像数据的解码器进行动作。通过编码器67得到的特征量与上述实施例中的噪声(潜在变量)对应。编码器67与上述输入推定器62对应。特征量的形式没有特别限定,可以任意确定。
[0283]
编码器67以及生成器60z分别由机器学习模型构成。构成各个编码器以及生成器的机器学习模型的种类可以任意选择。与上述实施方式同样地,编码器67以及生成器60z可以使用神经网络。在神经网络被用于编码器67以及生成器60z的情况下,在上述步骤s102中,模型生成装置1可以如下实施机器学习。
[0284]
即,控制部11将学习用背景数据39输入到编码器67,执行编码器67的运算处理。由
此,控制部11从编码器67获取与将学习用背景数据39转换为特征量的结果对应的输出值。接着,控制部11将从编码器67得到的特征量输入到生成器60z,执行生成器60z的运算处理。由此,控制部11从生成器60z获取与根据特征量复原的复原背景数据633z对应的输出值。
[0285]
控制部11计算得到的复原背景数据633z与学习用背景数据39的误差。控制部11通过误差逆传播法,使用计算出的误差的梯度,计算编码器67以及生成器60z的各运算参数的值的误差。控制部11基于计算出的各误差,更新编码器67以及生成器60z的各运算参数的值。控制部11通过该一系列的更新处理,调节编码器67以及生成器60z的各运算参数的值,使得计算出的误差之和变小。需要说明的是,除了上述更新处理以外,控制部11也可以计算从编码器67得到的特征量与从规定的概率分布(例如,高斯分布等)得到的值的误差,进一步调节编码器67的各运算参数的值,使得该误差之和变小。由此,控制部11也可以对编码器67的输出值进行标准化。
[0286]
通过以上的机器学习,能够构建获得了根据背景将图像数据转换为适当的特征量的能力的训练完毕的编码器67。与此同时,能够构建获得了根据特征量生成映现有对应的背景的模拟背景数据的能力的训练完毕的生成器60z。在该情况下,能够将机器学习完毕的编码器67用作上述机器学习完毕的输入推定器62。因此,在本变形例中,可以省略上述步骤s111~步骤s113的处理。
[0287]
在上述步骤s122中,控制部11向机器学习完毕的编码器67赋予训练数据31,执行机器学习完毕的编码器67以及生成器60z的运算处理。由此,控制部11能够从机器学习完毕的生成器60z获取与训练数据31对应地生成的背景数据35。同样地,在上述步骤s202中,控制部21向机器学习完毕的编码器67赋予对象图像数据41,执行机器学习完毕的编码器67以及生成器60z的运算处理。由此,控制部21能够从机器学习完毕的生成器60z获取与对象图像数据41对应地生成的对象背景数据45。
[0288]
作为另一例子,生成器60的机器学习可以由主成分分析构成。在该情况下,机器学习完毕的生成器60可以由通过主成分分析导出的固有矢量构成。详细而言,机器学习完毕的生成器60可以由利用了固有矢量u的投影矩阵“uu
t”构成。固有矢量的各成分是生成器60的运算参数的一例。在上述步骤s122以及步骤s202中,通过利用上述投影矩阵分别转换训练数据31以及对象图像数据41,能够得到对应的背景数据35以及对象背景数据45。
[0289]
<4.4>
[0290]
在上述实施方式中,推定器5、生成器60、识别器61以及输入推定器62分别使用全结合型的神经网络。然而,构成它们的神经网络的种类不限于这样的例子。在推定器5、生成器60、识别器61以及输入推定器62中,可以分别使用例如卷积神经网络、递归型神经网络等。
[0291]
另外,分别构成推定器5、生成器60、识别器61以及输入推定器62的机器学习模型的种类也可以不限于神经网络。例如,如上所述,生成器60可以由利用了固有矢量u的投影矩阵构成。另外,对于推定器5、识别器61以及输入推定器62中的每一个,除了神经网络以外,例如,可以使用支持向量机、回归模型、决策树模型等。机器学习的方法可以根据各个机器学习模型的种类适当选择。
[0292]
另外,在上述实施方式中,推定器5、生成器60、识别器61以及输入推定器62各自的输入以及输出的形式可以不特别限定,可以根据实施方式适当确定。例如,生成器60以及识
别器61也可以分别构成为进一步接受表示背景的类别的信息的输入。由此,能够根据赋予机器学习完毕的生成器60的输入值(表示背景的类别的信息),控制由该机器学习完毕的生成器60生成的模拟背景数据中映现出的背景的类别。
[0293]
另外,在上述实施方式中,机器学习完毕的生成器60以及输入推定器62也可以由模型生成装置1以外的其它计算机生成。在不由模型生成装置1生成机器学习完毕的生成器60的情况下,可以从模型生成装置1的软件结构中省略第二数据获取部115以及第二训练部116。可以从模型生成装置1的处理顺序中省略上述步骤s101~步骤s103的处理。另外,在不由模型生成装置1生成机器学习完毕的输入推定器62的情况下,可以从模型生成装置1的软件结构中省略第三数据获取部117以及第三训练部118。可以从模型生成装置1的处理顺序中省略上述步骤s111~步骤s113的处理。另外,在不保存与机器学习完毕的机器学习模型相关的信息的情况下,可以从模型生成装置1的软件结构中省略保存处理部119。可以从模型生成装置1的处理顺序中省略上述步骤s103、步骤s113以及步骤s205的处理。
[0294]
附图标记说明
[0295]1…
模型生成装置,11
…
控制部,12
…
存储部,13
…
通信接口,14
…
外部接口,15
…
输入装置,16
…
输出装置,17
…
驱动器,111
…
第一数据获取部,112
…
背景获取部,113
…
差分计算部,114
…
第一训练部,115
…
第二数据获取部,116
…
第二训练部,117
…
第三数据获取部,118
…
第三训练部,119
…
保存处理部,121
…
第一学习结果数据,122
…
第二学习结果数据,123
…
第三学习结果数据,81
…
模型生成程序,91
…
存储介质,2
…
推定装置,21
…
控制部,22
…
存储部,23
…
通信接口,24
…
外部接口,25
…
输入装置,26
…
输出装置,27
…
驱动器,211
…
数据获取部,212
…
背景获取部,213
…
差分计算部,214
…
推定部,215
…
输出部,82
…
推定程序,92
…
存储介质,30
…
学习数据集,31
…
训练数据,32
…
正解数据,35
…
背景数据,37
…
差分数据,39
…
学习用背景数据,41
…
对象图像数据,45
…
对象背景数据,47
…
对象差分数据,5
…
推定器,60
…
生成器,61
…
识别器,62
…
输入推定器。
再多了解一些
本文用于企业家、创业者技术爱好者查询,结果仅供参考。