一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

机器学习模型、生成装置、计算机程序的制作方法

2022-05-26 20:46:23 来源:中国专利 TAG:


1.本说明书涉及生成图像数据的机器学习模型。


背景技术:

2.近年来,神经网络、支持向量机等机器学习模型的利用、开发不断发展。例如在非专利文献1所公开的技术中,工业产品的异常检测使用了被称为变分自动编码器(variational autoencoder,vae)的数据生成模型。
3.现有技术文献
4.非专利文献
5.非专利文献1:立花亮介、松原崇、上原邦昭著、“基于深度生成模型的使用了非正则化异常分数的工业产品异常检测”2018年度人工智能学会全国大会(第三十二次)
6.如vae那样通过压缩信息来提取特征的模型能够提取抽象化的特征。但是,由于信息的压缩而失去了细致的特征。在使用这样的模型生成包含对象的图像的图像数据的情况下,所生成的图像数据难以表示对象的细致形状。这样的课题不限于通过压缩信息来提取特征的模型,是在利用其他方法提取特征的模型也共有的课题。


技术实现要素:

7.本说明书公开了如下的技术:能够生成表示具有细致形状的对象的图像数据。
8.本说明书中所公开的技术能够作为以下的应用例来实现。
9.[应用例1]一种机器学习模型,用于生成与包含输入对象的输入图像的输入图像数据对应的输出图像数据,是已学习完毕的机器学习模型,其中,所述机器学习模型是如下的模型:通过执行使用针对输入图像数据的多个运算参数的运算,从而进行所述输入图像数据的输入图像中所包含的输入对象的形状特征的提取、和包含基于所提取的形状特征的输出对象的输出图像的输出图像数据的生成,所述机器学习模型具备:输入层,该输入层执行使用所述输入图像数据的运算;以及输出层,该输出层设置于所述输入层的下游侧,且生成所述输出图像数据,所述输入层包括:第一提取部,该第一提取部提取所述输入对象中的包含于比所述输入图像小的第一输入范围中的部分的形状特征;第二提取部,该第二提取部与所述第一提取部并行设置,并提取所述输入对象中的包含于比所述输入图像小且比所述第一输入范围大的第二输入范围中的部分的形状特征;一个以上的位移信息取得部,该一个以上的位移信息取得部使用从所述第一提取部输出的数据执行运算,由此取得与由所述第一提取部提取出的所述形状特征在所述输入图像内的位置的位移相关的位移信息;以及加法运算部,该加法运算部将包括从所述第一提取部输出的数据、从所述第二提取部输出的数据和从所述一个以上的位移信息取得部输出的数据在内的多个数据相加。
[0010]
根据该结构,第一提取部输出与包含于比较小的第一输入范围中的部分的形状特征、即比较细致的形状特征对应的数据,第二提取部输出与包含于比较大的第二输入范围中的部分的形状特征、即比较粗糙的形状特征对应的数据。并且,在输入层中,由于这些数
据被相加,因此能够生成如下的输出图像数据:该输出图像数据表示除了具有比较粗糙的形状以外还具有比较细致的形状的输出对象。而且,加上从位移信息取得部输出的数据、即与由第一提取部提取出的形状特征在输入图像内的位置的位移相关的位移信息所对应的数据,因此能够针对比较细致的形状特征在输入图像内的位置的位移提高鲁棒性。
[0011]
[应用例2]根据应用例1所述的机器学习模型,其中,所述输出层包括:第一复原部,该第一复原部使用处理对象的数据中的与比所述输出图像小的第一输出范围对应的部分来复原形状特征;以及第二复原部,该第二复原部与所述第一复原部并行设置,并使用所述处理对象的数据中的与比所述输出图像小且比所述第一输出范围大的第二输出范围对应的部分来复原形状特征。
[0012]
根据该结构,第一复原部使用处理对象的数据中的与较小的第一输出范围对应的部分来复原形状特征、即复原比较细致的形状特征,第二复原部使用处理对象的数据中的与比较大的第二输出范围对应的部分来复原形状特征、即复原比较粗糙的形状特征。因此,能够生成如下的输出图像数据:该输出图像数据表示除了具有比较粗糙的形状以外还具有比较细致的形状的输出对象。
[0013]
[应用例3]根据应用例1或2所述的机器学习模型,其中,所述输入层包括作为卷积层的所述第一提取部、作为卷积层的所述第二提取部和作为池化层的所述位移信息取得部,所述输出层不包括池化层而包括作为转置卷积层的所述第一复原部和作为转置卷积层的所述第二复原部。
[0014]
由于输入层包括作为池化层的位移信息取得部,因此形状特征在输入图像内的位置的位移对输出层的运算的影响被缓和。因此,不包括池化层而包括作为转置卷积层的第一复原部和作为转置卷积层的第二复原部的输出层能够生成如下的输出图像数据,即该输出图像数据表示除了具有比较粗糙的形状以外还具有比较细致的形状的输出对象。
[0015]
[应用例4]根据应用例1至3中任一项所述的机器学习模型,其中,所述一个以上的位移信息取得部包括:第一位移信息取得部,该第一位移信息取得部取得与比所述输入图像小的第一位移范围内的位置的位移相关的第一位移信息;以及第二位移信息取得部,该第二位移信息取得部与所述第一位移信息取得部并行设置,并取得与比所述输入图像小且比所述第一位移范围大的第二位移范围内的位置的位移相关的第二位移信息,所述加法运算部将包括从所述第一提取部输出的所述数据、从所述第二提取部输出的所述数据、从所述第一位移信息取得部输出的数据和从所述第二位移信息取得部输出的数据在内的所述多个数据相加。
[0016]
根据该结构,第一位移信息取得部取得与比较小的第一位移范围内的位置的位移、即比较小的位置位移相关的第一位移信息,第二位移信息取得部取得与比较大的第二位移范围内的位置的位移、即比较大的位置位移相关的第二位移信息。并且,在输入层中,由于这些数据被相加,因此能够针对比较小的位置位移和比较大的位置位移提高鲁棒性。
[0017]
[应用例5]根据应用例1至4中任一项所述的机器学习模型,其中,所述输入层包括第三提取部,该第三提取部与所述第一提取部和所述第二提取部并行设置,并提取所述输入对象中的包含在比所述输入图像小且比所述第二输入范围大的第三输入范围中的部分的形状特征,所述加法运算部将包括从所述第一提取部输出的所述数据、从所述第二提取部输出的所述数据、从所述第三提取部输出的数据和从所述一个以上的位移信息取得部输
出的所述数据在内的所述多个数据相加。
[0018]
根据该结构,提取与三种细致度对应的三种形状特征,并将与三种特征对应的三种数据相加,因此能够生成如下的输出图像数据:该输出图像数据表示具有与三种细致度对应的三种形状特征的输出对象。
[0019]
[应用例6]根据应用例1至5中任一项所述的机器学习模型,其中,所述多个运算参数通过训练而被调整为,包含基准对象的基准图像的基准图像数据与通过将所述基准图像数据输入至所述机器学习模型而生成的输出图像数据之间的差变小。
[0020]
根据该结构,通过将包含输入对象的输入图像的输入图像数据输入至机器学习模型,能够生成包含如下对象的输出图像的输出图像数据:该对象是基于由输入层提取的形状特征的输出对象,且与基准对象的差异较小。
[0021]
[应用例7]一种生成装置,生成图像数据,所述生成装置具备:取得部,该取得部取得包含输入对象的输入图像的输入图像数据;输出图像数据生成部,该输出图像数据生成部通过将所述输入图像数据输入到已学习完毕的机器学习模型而生成与所述输入图像数据对应的输出图像数据;以及差分图像数据生成部,该差分图像数据生成部生成表示所述输入图像与所述输出图像数据的输出图像之间的差异的差分图像的差分图像数据,所述机器学习模型是如下的模型:通过执行使用针对输入图像数据的多个运算参数的运算,从而进行所述输入图像数据的输入图像中所包含的输入对象的形状特征的提取、和包含基于所提取的形状特征的输出对象的输出图像的输出图像数据的生成,所述机器学习模型具备:输入层,该输入层执行使用所述输入图像数据的运算;以及输出层,该输出层设置于所述输入层的下游侧,且生成所述输出图像数据,所述输入层包括:第一提取部,该第一提取部提取所述输入对象中的包含于比所述输入图像小的第一输入范围中的部分的形状特征;第二提取部,该第二提取部与所述第一提取部并行设置,并提取所述输入对象中的包含于比所述输入图像小且比所述第一输入范围大的第二输入范围中的部分的形状特征;一个以上的位移信息取得部,该一个以上的位移信息取得部使用从所述第一提取部输出的数据执行运算,由此取得与由所述第一提取部提取出的所述形状特征在所述输入图像内的位置的位移相关的位移信息;以及加法运算部,该加法运算部将包括从所述第一提取部输出的数据、从所述第二提取部输出的数据和从所述一个以上的位移信息取得部输出的数据在内的多个数据相加,所述多个运算参数通过训练而被调整为,包含基准对象的基准图像的基准图像数据与通过将所述基准图像数据输入至所述机器学习模型而生成的输出图像数据之间的差变小。
[0022]
根据该结构,通过将包含输入对象的输入图像的输入图像数据输入至机器学习模型,能够生成包含基于由输入层提取的形状特征的、与基准对象的差异较小的输出对象的输出图像的输出图像数据。因此,能够生成表示输入对象与基准对象之间的差异的差分图像数据。
[0023]
[应用例8]根据应用例7所述的生成装置,其中,所述差分图像数据生成部通过对所述输入图像数据进行平滑化处理而取得被平滑化的输入图像数据,通过对所述输出图像数据进行平滑化处理而取得被平滑化的输出图像数据,并使用所述被平滑化的输入图像数据和所述被平滑化的输出图像数据来生成所述差分图像数据。
[0024]
根据该结构,能够抑制差分图像数据中包含的噪声。
[0025]
[应用例9]根据应用例8所述的生成装置,其中,所述差分图像数据生成部进行边缘提取处理,并通过对所述差分图像数据进行从所述差分图像中提取与所述边缘部分不同的非边缘部分的处理,从而修正所述差分图像数据,该边缘提取处理提取所述被平滑化的输出图像数据的图像内的边缘部分。
[0026]
由于输入图像与输出图像之间的对象错位,差分图像可能包含边缘。根据上述结构,已修正的差分图像数据能够适当地表示与因输入图像与输出图像之间的错位引起的边缘不同的差异。
[0027]
[应用例10]一种计算机程序,用于生成图像数据的计算机,该计算机程序使计算机实现如下功能:取得功能,该取得功能取得包含输入对象的输入图像的输入图像数据;输出图像数据生成功能,该输出图像数据生成功能通过将所述输入图像数据输入到已学习完毕的机器学习模型而生成与所述输入图像数据对应的输出图像数据;以及差分图像数据生成功能,该差分图像数据生成功能生成表示所述输入图像与所述输出图像数据的输出图像之间的差异的差分图像的差分图像数据,所述机器学习模型是如下的模型:通过执行使用针对输入图像数据的多个运算参数的运算,从而进行所述输入图像数据的输入图像中所包含的输入对象的形状特征的提取、和包含基于所提取的形状特征的输出对象的输出图像的输出图像数据的生成,所述机器学习模型具备:输入层,该输入层执行使用所述输入图像数据的运算;以及输出层,该输出层设置于所述输入层的下游侧,且生成所述输出图像数据,所述输入层包括:第一提取部,该第一提取部提取所述输入对象中的包含于比所述输入图像小的第一输入范围中的部分的形状特征;第二提取部,该第二提取部与所述第一提取部并行设置,并提取所述输入对象中的包含于比所述输入图像小且比所述第一输入范围大的第二输入范围中的部分的形状特征;一个以上的位移信息取得部,该一个以上的位移信息取得部使用从所述第一提取部输出的数据执行运算,由此取得与由所述第一提取部提取出的所述形状特征在所述输入图像内的位置的位移相关的位移信息;以及加法运算部,该加法运算部将包括从所述第一提取部输出的数据、从所述第二提取部输出的数据和从所述一个以上的位移信息取得部输出的数据在内的多个数据相加,所述多个运算参数通过训练而被调整为,包含基准对象的基准图像的基准图像数据与通过将所述基准图像数据输入至所述机器学习模型而生成的输出图像数据之间的差变小。
[0028]
[应用例11]根据应用例10所述的计算机程序,其中,所述差分图像数据生成功能通过对所述输入图像数据进行平滑化处理而取得被平滑化的输入图像数据,所述差分图像数据生成功能通过对所述输出图像数据进行平滑化处理而取得被平滑化的输出图像数据,所述差分图像数据生成功能使用所述被平滑化的输入图像数据和所述被平滑化的输出图像数据来生成所述差分图像数据。
[0029]
[应用例12]根据应用例11所述的计算机程序,其中,所述差分图像数据生成功能进行边缘提取处理,并通过对所述差分图像数据进行从所述差分图像中提取与所述边缘部分不同的非边缘部分的处理,从而修正所述差分图像数据,该边缘提取处理提取所述被平滑化的输出图像数据的图像内的边缘部分。
[0030]
[应用例13]一种生成装置,生成图像数据,具备:取得部,该取得部取得包含输入对象的输入图像的输入图像数据;以及输出图像数据生成部,该输出图像数据生成部通过将所述输入图像数据输入到已学习完毕的机器学习模型而生成与所述输入图像数据对应
的输出图像数据,所述机器学习模型是如下的模型:通过执行使用针对输入图像数据的多个运算参数的运算,从而进行所述输入图像数据的输入图像中所包含的输入对象的形状特征的提取、和包含基于所提取的形状特征的输出对象的输出图像的输出图像数据的生成,所述机器学习模型具备:输入层,该输入层执行使用所述输入图像数据的运算;以及输出层,该输出层设置于所述输入层的下游侧,且生成所述输出图像数据,所述输入层包括:第一提取部,该第一提取部提取所述输入对象中的包含于比所述输入图像小的第一输入范围中的部分的形状特征;第二提取部,该第二提取部与所述第一提取部并行设置,并提取所述输入对象中的包含于比所述输入图像小且比所述第一输入范围大的第二输入范围中的部分的形状特征;一个以上的位移信息取得部,该一个以上的位移信息取得部使用从所述第一提取部输出的数据执行运算,由此取得与由所述第一提取部提取出的所述形状特征在所述输入图像内的位置的位移相关的位移信息;以及加法运算部,该加法运算部将包括从所述第一提取部输出的数据、从所述第二提取部输出的数据和从所述一个以上的位移信息取得部输出的数据在内的多个数据相加,所述多个运算参数通过训练而被调整为,包含基准对象的基准图像的基准图像数据与通过将所述基准图像数据输入至所述机器学习模型而生成的输出图像数据之间的差变小。
[0031]
此外,本说明书中公开的技术能够以各种形态实现,例如,能够以机器学习模型的训练方法及执行训练的训练装置、使用已学习完毕的机器学习模型的图像数据的生成方法及生成装置、使用图像数据的判断方法及判断装置、用于实现这些方法或装置的功能的计算机程序、记录有该计算机程序的记录介质(例如非暂时性记录介质)等形态实现。
附图说明
[0032]
图1是表示实施例的图像处理系统的说明图。
[0033]
图2是学习模型234的例子的说明图。
[0034]
图3是表示输入层l10的结构的框图。
[0035]
图4是表示中间层l20的结构的框图。
[0036]
图5是表示输出层l30的结构的框图。
[0037]
图6是表示训练处理的例子的流程图。
[0038]
图7(a)是基准标签片800的说明图。图7(b)是基准图像数据的例子的说明图。图7(c)是输出图像数据的例子的说明图。
[0039]
图8是表示差分数据生成处理的例子的流程图。
[0040]
图9是图像处理的说明图。
具体实施方式
[0041]
a.第一实施例:
[0042]
a1.装置结构:
[0043]
图1是表示实施例的图像处理系统的说明图。图像处理系统1000是用于处理产品700的外观的图像数据的系统。产品700可以是任意的产品,是预先决定的。在本实施例中,产品700是印刷有文字和图形等各种对象的标签片。以下,将产品700也称为标签片700。
[0044]
图像处理系统1000具备数据处理装置200和与数据处理装置200连接的数字照相
机100。数据处理装置200例如是个人计算机。数据处理装置200具有处理器210、存储装置215、显示图像的显示部240、接受用户的操作的操作部250以及通信接口270。这些要素经由总线相互连接。存储装置215包括易失性存储装置220和非易失性存储装置230。
[0045]
处理器210是进行数据处理的装置,例如是cpu。易失性存储装置220例如是dram,非易失性存储装置230例如是闪存。
[0046]
非易失性存储装置230存储有第一程序232、第二程序233和预测模型234。在本实施例中,预测模型234是人工神经网络的模型,是通过后述的训练处理而被训练的机器学习模型(以下也称为“机器学习模型234”或简称为“学习模型234”)。在本实施例中,学习模型234是程序模块。关于学习模型234的详情,将在后面说明。
[0047]
处理器210将在第一程序232、第二程序233以及学习模型234的执行中利用的各种中间数据暂时存储于存储装置215(例如易失性存储装置220、非易失性存储装置230中的任一个)。
[0048]
显示部240是液晶显示器、有机el显示器等显示图像的装置。操作部250是重叠配置在显示部240上的触摸面板、按钮、控制杆等接收用户的操作的装置。用户可以通过操作操作部250来将各种指示输入到数据处理装置200。通信接口270是用于与其他装置通信的接口(例如usb接口、有线lan接口、ieee802.11的无线接口)。数字照相机100与通信接口270连接。
[0049]
a2.学习模型的结构:
[0050]
图2是学习模型234的例子的说明图。在本实施例中,学习模型234的功能通过处理器210执行作为程序模块的学习模型234来实现。输入图像数据910被输入到学习模型234。输入图像数据910是对标签片700(图1)进行光学读取而得到的图像数据,由输入图像数据910表示的输入图像910i表示标签片700。在本实施例中,在标签片700印刷有图形701和字符串702。
[0051]
学习模型234提取输入图像数据910的输入图像910i的特征,基于提取出的特征对输入图像910i进行重构,由此生成表示输出图像940i的输出图像数据940。输出图像940i表示由输入图像910i的标签片700重构的标签片950。输出图像940i的标签片950具有与图形701对应的图形951和与字符串702对应的字符串952。
[0052]
输入图像910i和输出图像940i是具有与第一方向d1平行的两边和与垂直于第一方向d1的第二方向d2平行的两边的矩形图像。这些图像910i、940i通过沿第一方向d1和第二方向d2排列成矩阵状的多个像素各自的颜色值来表示。宽度w表示第一方向d1的像素数,高度h表示第二方向d2的像素数。在本实施例中,输入图像数据910和输出图像数据940是表示多个像素各自的颜色值的位图数据。另外,在本实施例中,各像素的颜色值用0至255这256个灰度的r(红)g(绿)b(蓝)的灰度值表示。
[0053]
此外,实际的标签片700可能具有对象(在本实施例中为图形701、字符串702)的一部分的缺失等缺陷。在本实施例中,学习模型234被训练为,即使在输入图像910i的标签片700具有缺陷的情况下,也生成表示没有缺陷的标签片的输出图像数据940(详情在后面叙述)。
[0054]
学习模型234具有:输入层l10,输入图像数据910被输入到该输入层;中间层l20,该中间层处理来自输入层l10的数据;以及输出层l30,该输出层处理来自中间层l20的数
据。
[0055]
图3是表示输入层l10的结构的框图。输入层l10使用输入图像数据910来生成表示输入图像数据910的特征(即输入图像910i的特征)的特征数据920。这样的输入层l10也称为编码器。在本实施例中,输入层l10具备三个卷积层311-313、两个池化层321和322以及加法运算部331。
[0056]
对三个卷积层311-313分别输入输入图像数据910。卷积层311-313分别执行卷积处理(convolution)和偏置的加法运算处理。
[0057]
由第一卷积层311进行的卷积处理是如下处理:对所输入的数据应用“p1
×
q1
×
r”尺寸的s个第一种输入滤波器fl11,算出表示所输入的数据与第一种输入滤波器fl11之间的相关的相关值。值p1表示第一种输入滤波器fl11的第一方向d1的尺寸(像素数),值q1表示第一种输入滤波器fl11的第二方向d2的尺寸(像素数),值r表示颜色成分的数量(在本实施例中为3(rgb))。一个第一种输入滤波器fl11包含“p1
×
q1
×
r”个权重。在应用第一种输入滤波器fl11的处理中,从输入图像数据910取得与第一种输入滤波器fl11的位置对应的部分的“p1
×
q1”个像素的rgb的灰度值、即“p1
×
q1
×
r”个灰度值的列表。算出所取得的列表与第一种输入滤波器fl11的“p1
×
q1
×
r”个权重的列表的内积。偏置的加法运算处理是在内积上加上对一个第一种输入滤波器fl11各准备一个的偏置的处理。“内积 偏置”表示相关值。一边使第一种输入滤波器fl11滑动、一边在第一种输入滤波器fl11的多个位置中的每一个位置进行相关值的算出。一个第一种输入滤波器fl11生成位图数据911,该位图数据911表示第一种输入滤波器fl11的多个位置中的每一个位置处的相关值。将由该位图数据911表示的图像911i也称为特征映射或卷积映射。卷积映射911i的像素的位置表示第一种输入滤波器fl11的位置。在本实施例中,进行卷积处理,以使得卷积映射911i的尺寸(即第一方向d1的像素数和第二方向d2的像素数)与输入图像910i的尺寸(即w
×
h)相同。因此,步长(使滤波器滑动的量)为1。另外,在输入图像910i的周围,通过零填充来补充像素。
[0058]
滤波器的总数s也称为通道数。在使用s个第一种输入滤波器fl11的情况下,生成s个位图数据911。在本实施例中,通道数s为8。
[0059]
卷积层311-313分别使用输入滤波器fl11-fl13来生成位图数据911-913。在三种输入滤波器fl11-fl13之间尺寸不同。第二种输入滤波器fl12比第一种输入滤波器fl11大,第三种输入滤波器fl13比第二种输入滤波器fl12大。两个滤波器之间的尺寸比较如下进行。在以第二滤波器包含第一滤波器的整体的方式将第一滤波器重叠在第二滤波器上的状态下第二滤波器包含不与第一滤波器重叠的部分的情况下,判断为第二滤波器比第一滤波器大。不限于滤波器,对于图像与窗口等二维区域的尺寸比较也是同样的。
[0060]
在本实施例中,第一种输入滤波器fl11的尺寸为p1
×
q1,第二种输入滤波器fl12的尺寸为p2
×
q2,第三种输入滤波器fl13的尺寸为p3
×
q3。并且,p1《p2《p3,q1《q2《q3。例如,p1=1,p2=2,p3=3,q1=1,q2=2,q3=3。卷积层311-313之间的差异仅为滤波器的尺寸不同这点。例如,通道数s对于三个卷积层311-313都是相同的。第二卷积层312生成s个位图数据912(即s张卷积映射912i),第三卷积层313生成s个位图数据913(即s张卷积映射913i)。此外,输入滤波器fl11-fl13中的任一个都比输入图像数据910的输入图像910i小。输入滤波器fl11-fl13的尺寸可以是输入图像910i的尺寸越大而被设置为越大的值。
[0061]
由卷积层311-313生成的卷积映射911i-913i的各像素的值受到输入图像910i的
对象中的包含于输入滤波器fl11-fl13中的部分的形状很大的影响。这样,卷积映射911i-913i可以表示包含于输入滤波器fl11-fl13中的部分的形状特征。第一卷积映射911i可以表示包含于小尺寸的第一种输入滤波器fl11中的小尺寸部分的形状特征。第二卷积映射912i可以表示包含于中等尺寸的第二种输入滤波器fl12中的中等尺寸部分的形状特征。第三卷积映射913i可以表示包含于大尺寸的第三种输入滤波器fl13中的大尺寸部分的形状特征。例如,第一卷积层311能够提取点等细致形状特征,第二卷积层312能够提取直线的特征,第三卷积层313能够提取曲线的特征。这样,卷积层311-313可以提取输入图像910i的对象中的包含于输入滤波器fl11-fl13中的部分的形状特征。第一卷积映射911i可以提取高分辨率的信息。第二卷积映射912i可以提取中间分辨率的信息。第三卷积映射913i可以提取低分辨率的信息。此外,所谓能够提取细致形状特征,也可以换句话说为能够提取高分辨率的信息。另外,所谓能够提取粗糙形状特征,也可以换句话说为能够提取低分辨率的信息。
[0062]
对两个池化层321、322分别输入来自第一卷积层311的s个位图数据911。池化层321、322执行使用窗口所包含的多个像素的多个值来决定代表值的处理。在本实施例中,池化层321、322分别进行所谓的最大池化。
[0063]
第一池化层321将“pa
×
qa”的第一窗口wn21应用于所输入的位图数据911。值pa表示第一窗口wn21的第一方向d1上的尺寸(像素数),值qa表示第一窗口wn21的第二方向d2上的尺寸(像素数)。使用第一窗口wn21的最大值的选择是一边使第一窗口wn21滑动、一边在第一窗口wn21的多个位置中的每一个位置进行的。第一池化层321生成位图数据914,该位图数据914表示第一窗口wn21的多个位置中的每一个位置处的最大值。将由该位图数据914表示的图像914i也称为特征映射或池化映射。池化映射914i的像素的位置表示第一窗口wn21的位置。在本实施例中,进行最大池化,使得要输出的池化映射914i的尺寸(即第一方向d1的像素数和第二方向d2的像素数)与所输入的卷积映射911i的尺寸(即作为输入图像910i的尺寸的w
×
h)相同。因此,步长(使窗口滑动的量)为1。另外,在要输入的卷积映射911i的周围,通过零填充来补充像素。
[0064]
对第一池化层321输入s个位图数据911。第一池化层321从s个位图数据911生成s个位图数据914。
[0065]
第二池化层322使用第二窗口wn22生成位图数据915。第二窗口wn22比第一窗口wn21大。具体而言,第一窗口wn21的尺寸为pa
×
qa,第二窗口wn22的尺寸为pb
×
qb。并且,pa《pb,qa《qb。例如,pa=3、pb=5,qa=3、qb=5。池化层321、322之间的差异仅为窗口的尺寸不同这点。第二池化层322从s个位图数据911(即s张卷积映射911i)生成s个位图数据915(即s张池化映射915i)。
[0066]
如上所述,输入到池化层321、322的卷积映射911i表示输入图像910i的对象的形状特征。池化层321、322决定窗口wn21、wn22内的代表性的值(在本实施例中为最大值)。因此,在卷积映射911i内的特征部分的位置位移处于窗口wn21、wn22的范围内的情况下、即输入图像910i内的对象的特征部分的位置位移处于窗口wn21、wn22的范围内的情况下,从窗口wn21、wn22能够决定大致相同的代表值。这样,池化层321和322能够在允许特征部分在wn21、wn22范围内的位置的位移的同时提取由第一卷积层311提取出的形状特征。输入图像910i上的特征部分的位置的位移对池化映射914i、915i带来的影响在位置的位移处于窗口
wn21、wn22的范围内的情况下被缓和。在位置的位移超过窗口wn21、wn22的范围的情况下,池化映射914i、915i根据位置的位移而变化。这样,池化映射914i、915i表示与由第一卷积层311提取的形状特征在输入图像910i内的位置的位移相关的信息。
[0067]
加法运算部331使用来自卷积层311-313和池化层321、322的5个位图数据911-915来生成特征数据920。特征数据920表示与所输入的映射9911i-915i相同的尺寸的映射(也称为特征映射920i)。在本实施例中,加法运算部331将5张映射911i-915i的相同位置的5个像素的5个值的合计值输入到激活函数,采用激活函数的计算值作为特征映射920i的相同位置的像素的值。在本实施例中,作为激活函数,使用所谓的relu(rectified linear unit:修正线性单元)。此外,加法运算部331按照每个通道执行从5个位图数据911-915生成1个特征数据920的处理。在本实施例中,由于通道数s为8,因此加法运算部331生成8个特征数据920。s个特征数据920被供给到中间层l20(图2)。
[0068]
此外,第一卷积层311利用包含s个第一种输入滤波器fl11的“p1
×
q1
×r×
s”个权重和与s个第一种输入滤波器fl11对应的s个偏置的运算参数集601。同样地,第二卷积层312利用包含s个第二种输入滤波器fl12的“p1
×
q1
×r×
s”个权重和s个偏置的运算参数集602。第三卷积层313利用包含s个第三种输出滤波器fl33的“p1
×
q1
×r×
s”个权重和s个偏置的运算参数集603。
[0069]
图4是表示中间层l20的结构的框图。中间层l20使用s个特征数据920来生成输出用的s个中间数据930。在本实施例中,中间层l20具备第一转换部410、第一全连接层415、第二全连接层420以及第二转换部430。
[0070]
一张特征映射920i表示“w
×
h”个像素各自的值(以下,将与特征映射的像素建立了对应的值也称为特征值)。s个特征数据920表示“w
×h×
s”个特征值。后述的第一全连接层415将“w
×h×
s”个特征值作为一维向量进行处理。第一转换部410根据“w
×h×
s”个特征值与一维向量的要素的预先决定的对应关系而将“w
×h×
s”个特征值的参照顺序转换为一维向量的要素的参照顺序。此外,可以是,省略第一转换部410,第一全连接层415根据上述对应关系参照“w
×h×
s”个特征值。
[0071]
第一全连接层415是与在一般的神经网络中使用的全连接层同样的层。在本实施例中,第一全连接层415使用“w
×h×
s”个特征值算出n个特征值。n可以为1以上的整数,可以为2以上的整数。n可以与“w
×h×
s”相同,可以是比“w
×h×
s”小的整数。另外,n可以是比“w
×h×
s”大的整数。n个特征值也分别被称为潜变量(以下,也称为潜变量920z)。第一全连接层415算出由所输入的“w
×h×
s”个特征值构成的向量与由“w
×h×
s”个权重构成的权重向量的内积。将计算出的内积作为1个特征值输出。省略偏置的加法运算和利用激活函数的运算。对于n个中间值的每一个分别准备权重向量。第一全连接层415利用包含n个权重向量(即“w
×h×s×
n”个权重)的运算参数集608。
[0072]
第二全连接层420是与在一般的神经网络中使用的全连接层同样的层。在本实施例中,第二全连接层420使用来自第一全连接层415的n个特征值来算出“w
×h×
s”个中间值。第二全连接层420算出对由所输入的n个特征值构成的向量与由n个权重构成的权重向量的内积加上偏置后的值(内积 偏置),并将计算出的值输入到激活函数。激活函数的计算值被用作1个中间值。在本实施例中,作为激活函数,使用所谓的relu。对“w
×h×
s”个中间值的每一个分别准备权重向量和偏置。第二全连接层420利用包含“w
×h×
s”个权重向量
(即“n
×w×h×
s”个权重)和“w
×h×
s”个偏置的运算参数集604。
[0073]
后述的输出层l30(图2)将“w
×h×
s”个中间值作为s张映射进行处理。与“w
×
h”的尺寸的图像同样地,一张映射由“w
×
h”个像素的值表示。第二转换部430根据“w
×h×
s”个中间值与s张映射图的多个像素的预先决定的对应关系而将“w
×h×
s”个中间值的参照顺序转换为s张映射的多个像素的参照顺序。以下,也将s张映射分别称为中间映射930i。另外,将表示中间映射930i的数据也称为中间数据930。中间层l20生成s个中间数据930。s个中间数据930供给到输出层l30(图2)。中间映射930i的中间值使用潜变量920z的n个特征值进行算出。因此,中间值表示输入图像910i的对象的特征。此外,可以是,省略第二转换部430,输出层l30根据上述对应关系参照“w
×h×
s”个中间值。
[0074]
图5是表示输出层l30的结构的框图。输出层l30使用s个中间数据930来生成表示对象的图像的输出图像数据940。这样的输出层l30也被称为解码器。在本实施例中,输出层l30具备3个转置卷积层511、512、513和加法运算部520。
[0075]
对3个转置卷积层511-513分别输入s个中间数据930。转置卷积层511-513分别执行转置卷积(transposed convolution)和偏置的加法运算处理。转置卷积是复原通过卷积处理提取出的特征的处理,例如包括对输入的映射进行放大的处理和使用放大后的映射的卷积处理。这样的转置卷积作为解码器的一部分而被利用。在本实施例中,省略了映射的放大处理。然后,转置卷积层511-513通过卷积处理从s张中间映射930i生成一张图像。
[0076]
第一转置卷积层511的卷积处理是如下处理:对所输入的s个中间数据930应用“p1
×
q1
×
s”尺寸的第一种输出滤波器fl31,从而计算出表示所输入的数据与第一种输出滤波器fl31的相关的相关值。值p1、q1是第一种输出滤波器fl31的尺寸,与第一卷积层311(图3)的第一种输入滤波器fl11的尺寸相同。如后所述,第一转置卷积层511利用r个第一种输出滤波器fl31。1个第一种输出滤波器fl31包含“p1
×
q1
×
s”个权重。在应用第一种输出滤波器fl31的处理中,从s个中间数据930分别取得与第一种输出滤波器fl31的位置对应的部分的“p1
×
q1”个像素的中间值、即“p1
×
q1
×
s”个中间值的列表。算出所取得的列表与第一种输出滤波器fl31的“p1
×
q1
×
s”个权重的列表的内积。偏置的加法运算处理是在内积加上对1个第一种输出滤波器fl31各准备了1个的偏置的处理。“内积 偏置”表示相关值。一边使第一种输出滤波器fl31滑动、一边在第一种输出滤波器fl31的多个位置中的每一个位置进行相关值的算出。1个第一种输出滤波器fl31生成位图数据931,该位图数据931表示第一种输出滤波器fl31的多个位置中的每一个位置处的相关值。如后所述,作为相关值,计算出对由与第一种输出滤波器fl31对应的多个像素的中间值表示的特征进行复原的值。以下,将由位图数据931表示的图像931i也称为部分复原图像。部分复原图像931i的像素的位置表示第一种输出滤波器fl31的位置。在本实施例中,进行卷积处理,以使得部分复原图像931i的尺寸(即第一方向d1的像素数和第二方向d2的像素数)与中间映射930i的尺寸(即w
×
h)相同。因此,步长(使滤波器滑动的量)为1。另外,在中间映射930i的周围,通过零填充来补充像素。
[0077]
在本实施例中,与输入图像910i的像素同样地,部分复原图像931i的1个像素与r个颜色成分的灰度值建立对应。在本实施例中,值r为3,1个像素与rgb的3个灰度值建立对应。第一转置卷积层511通过使用r个第一种输出滤波器fl31而针对每个像素算出r个值。由第一转置卷积层511生成的位图数据931是r色的位图数据。
[0078]
转置卷积层511-513分别使用输出滤波器fl31-fl33生成位图数据931-933。在三种输出滤波器fl31-fl33之间尺寸不同。第二种输出滤波器fl32的尺寸与第二种输入滤波器fl12的尺寸(p2
×
q2)相同,第三种输出滤波器fl33的尺寸与第三种输入滤波器fl13的尺寸(p3
×
q3)相同。转置卷积层511-513之间的差异仅是滤波器的尺寸不同这点。第二转置卷积层512生成1个r色的位图数据932(即一张r色的部分复原图像932i),第三转置卷积层513生成1个r色的位图数据933(即一张r色的部分复原图像933i)。此外,任一个输出滤波器fl31-fl33均比输出图像数据940的输出图像940i小。
[0079]
由转置卷积层511-513生成的部分复原图像931i-933i的各像素的值受到中间映射930i中的包含在输出滤波器fl31-fl33中的部分的中间值很大的影响。如利用图4所说明的那样,中间映射930i的中间值表示输入图像910i的对象的特征(包括形状特征)。因此,部分复原图像931i-931i能够表示由与输出滤波器fl31-fl33对应的部分表示的形状特征。第一部分复原图像931i能够表示由与小尺寸的第一种输出滤波器fl31对应的部分表示的小尺寸的形状特征。第二部分复原图像932i能够表示由与中尺寸的第二种输出滤波器fl32对应的部分表示的中尺寸的形状特征。第三部分复原图像933i能够表示由与大尺寸的第三种输出滤波器fl33对应的部分表示的大尺寸的形状特征。例如,第一转置卷积层511能够复原点等细致形状特征,第二转置卷积层512能够复原直线的特征,第三转置卷积层513能够复原曲线的特征。这样,转置卷积层511-513能够使用中间数据930中的与输出滤波器fl31-fl33对应的部分来复原形状特征。第一部分复原图像931i能够复原高分辨率的信息。第二部分复原图像932i能够复原中间分辨率的信息。第三部分复原图像933i能够复原低分辨率的信息。此外,所谓能够复原细致形状特征,也可以换句话说为能够复原高分辨率的信息。另外,所谓能够复原粗糙形状特征,也可以换句话说为能够复原低分辨率的信息。
[0080]
加法运算部520使用来自转置卷积层511-513的3个位图数据931-933来生成输出图像数据940。输出图像数据940表示与输入的部分复原图像931i-932i相同尺寸的输出图像940i。在本实施例中,加法运算部520将3张部分复原图像931i-933i的相同位置的3个像素的3个值的合计值输入到激活函数,采用激活函数的计算值作为输出图像940i的相同位置的像素的值。在本实施例中,作为激活函数,使用所谓的sigmoid函数。此外,加法运算部520按每r个颜色成分进行像素值的计算。在本实施例中,使用3张部分复原图像931i-933i的相同位置的3个像素的3个红色r的灰度值,计算出输出图像940i的相同位置的像素的红色r的灰度值。绿色g的灰度值和蓝色b的灰度值也同样地进行算出。所生成的输出图像940i能够表示复原后的各种尺寸的形状特征、即标签片。
[0081]
此外,第一转置卷积层511利用包含r个第一种输出滤波器fl31的“p1
×
q1
×s×
r”个权重和与r个第一种输出滤波器fl31对应的r个偏置的运算参数集605。同样地,第二转置卷积层512利用包含r个第二种输出滤波器fl32的“p1
×
q1
×s×
r”个权重和r个偏置的运算参数集606。第三转置卷积层513利用包含r个第三种输出滤波器fl33的“p1
×
q1
×s×
r”个权重和r个偏置的运算参数集607。
[0082]
a3.训练处理:
[0083]
图6是表示用于生成学习模型234的训练处理的例子的流程图。在本实施例中,学习模型234被训练为,在输入了标签片700的图像数据的情况下生成无缺陷的标签片的图像数据。通过训练,对包括上述的运算参数集601-608(图3-图5)的多个运算参数进行调整。训
练由数据处理装置200(图1)执行。在本实施例中,处理器210根据第一程序232执行训练的处理。
[0084]
在s110中,处理器210对学习模型234的多个运算参数(包括运算参数集601-608)进行初始化。例如,各运算参数被设定为随机值。
[0085]
在s115中,处理器210取得基准图像数据。基准图像数据是无缺陷的标签片(也称为基准标签片)的图像数据。图7(a)是基准标签片800的说明图。在基准标签片800印刷有图形801和字符串802。图7b是基准图像数据的例子的说明图。基准图像数据810是拍摄基准标签片800而得到的图像数据。在本实施例中,操作者在数字照相机100(图1)的拍摄区域内配置基准标签片800。然后,处理器210向数字照相机100供给拍摄指示。数字照相机100根据指示而拍摄基准标签片800,生成基准图像数据。处理器210从数字照相机100取得基准图像数据,并将基准图像数据存储于非易失性存储装置230。此外,处理器210也可以执行将从数字照相机100取得的图像数据中的表示基准标签片800的部分切出的裁剪处理而取得基准图像数据810。
[0086]
在s120中,处理器210使用基准图像数据810生成多个学习输入图像数据,并将生成的多个学习输入图像数据存储于非易失性存储装置230。在本实施例中,多个学习输入图像数据通过变更基准图像810i内的基准标签片800的位置或者朝向来生成。在多个学习输入图像数据之间,移动方向、移动量、旋转方向、旋转角度这4个参数中的一个以上参数彼此不同。这些参数在通过光学读取标签片来取得标签片的图像数据的情况下可能产生的偏移量的范围内被变更。这样,通过对已有的图像数据进行加工来生成多个学习用的图像数据的处理也被称为“data augmentation(数据增强)”。此外,并不限于位置或者朝向的变更,可以变更颜色,可以附加噪声,也可以进行平滑化处理。在任何情况下,多个学习输入图像数据都表示无缺陷的基准标签片800。
[0087]
在s130中,处理器210从多个学习输入图像数据中选择v个(v是1以上的整数)学习输入图像数据,将v个学习输入图像数据输入到学习模型234,生成v个输出图像数据。此外,作为v个学习输入图像数据,可以选择多个学习输入图像数据中的未使用的学习输入图像数据。另外,也可以从多个学习输入图像数据中随机选择v个学习输入图像数据。
[0088]
在s135中,处理器210针对输入到学习模型234的v个学习输入图像数据的每一个计算出表示学习输入图像数据和与学习输入图像数据对应的输出图像数据之间的差分的误差值。误差值基于预先决定的损失函数来计算。例如,在误差值的计算中使用均方误差(mse(mean squared error))。学习输入图像数据与输出图像数据的差分越小,误差值越小。
[0089]
在s140中,处理器210使用v个误差值来调整学习模型234的多个运算参数(包括运算参数集601-608)。具体而言,处理器210以误差值变小即学习输入图像数据与输出图像数据的差分变小的方式根据预先决定的算法来调整多个运算参数。作为算法,使用例如利用了误差反向传播法和梯度下降法的算法。
[0090]
在s150中,处理器210判断训练是否完成。训练完成的条件例如可以是在s135中计算出的所有误差值比预先决定的误差阈值小的条件。取而代之,训练完成的条件可以是输入了来自操作者的完成指示的条件。操作者确认由输出图像数据表示的图像是否能够充分地再现由对应的学习输入图像数据表示的图像。操作者根据确认结果而经由操作部250输
入训练的完成指示或继续指示。另外,训练完成的条件可以是s130-s140的处理被执行的次数为预先决定的次数阈值以上的条件。
[0091]
在判断为训练未完成的情况下(s150:否),处理器210转移到s130。在判断为训练完成的情况下(s150:是),在s160中,将具有已调整的运算参数的学习模型234(即已学习完毕的学习模型234)存储于非易失性存储装置230。然后,图6的处理结束。已学习完毕的学习模型234在后述的差分数据生成处理中被利用。
[0092]
已学习完毕的学习模型234构成为使计算机发挥使用已调整的参数来执行处理的功能。如利用图2-图5所说明的那样,学习模型234提取所输入的图像的对象(在此为标签片的图形和字符串)的特征(包括形状特征),并基于提取出的特征来复原对象的图像。图7(c)是由已学习完毕的学习模型234生成的输出图像数据的例子的说明图。该输出图像数据840表示通过将图7(b)的图像数据810输入到已学习完毕的学习模型234而生成的图像数据的例子。输出图像数据840的输出图像840i表示与图7(b)的图像810i的基准标签片800几乎相同的标签片800(包括图形801和字符串802)。如上所述,学习模型234使用无缺陷的对象的学习输入图像数据而被训练。在该情况下,不论输入图像的对象是否具有缺陷,已学习完毕的学习模型234都会生成表示无缺陷的对象的输出图像数据。
[0093]
a4.差分数据生成处理:
[0094]
图8是表示差分数据生成处理的例子的流程图。差分数据能够用于判断标签片的样本是否具有缺陷。差分数据的生成由数据处理装置200(图1)执行。在本实施例中,处理器210根据第二程序233来执行差分数据的生成处理。
[0095]
在s210中,处理器210取得作为标签片的样本的图像数据的对象输入图像数据,并将所取得的对象输入图像数据存储于存储装置215(例如非易失性存储装置230)。与图6的s115的处理同样地,使用数字照相机100进行对象输入图像数据710的取得。
[0096]
图9是图像处理的说明图。在图中,示出了在差分数据生成处理中被处理的多个图像710i、740i、710bi、740bi、760di、740bi、770i、770bi、780i的例子。这些图像从图中的上朝下按处理的顺序配置。
[0097]
在图9的左上示出了对象输入图像数据710的对象输入图像710i。对象输入图像710i表示具有缺陷的标签片700x(也称为输入标签片700x)。具体而言,标签片700x具有图形701的一部分的缺失701x和字符串702的一部分的缺失702x。另外,对象输入图像710i包含噪声710n。噪声710n可能由于数字照相机100中的数据处理等各种原因而产生。
[0098]
在s220(图8)中,处理器210通过将对象输入图像数据输入到已学习完毕的学习模型234而生成对象输出图像数据。在图9的右上方示出了对象输出图像数据740的对象输出图像740i。对象输出图像740i表示无缺陷的标签片750(也称为输出标签片750)。对象输出图像740i内的输出标签片750的位置和朝向与对象输入图像710i内的输入标签片700x的位置和朝向大致相同。输出标签片750的图形751和字符串752与基准标签片800(图7(a))的图形801和字符串802大致相同。对象输出图像740i包含噪声740n。噪声740n可能由于学习模型234的运算等各种原因而产生。
[0099]
在s230(图8)中,处理器210对对象输入图像数据和对象输出图像数据进行平滑化处理,生成平滑输入图像数据和平滑输出图像数据(平滑化处理也称为模糊处理)。在本实施例中,平滑化处理是使用平均值滤波器的处理。在图9的上数第二层示出了平滑输入图像
数据710b的平滑输入图像710bi和平滑输出图像数据740b的平滑输出图像740bi。如图所示,噪声710n、740n已被去除。此外,平滑化滤波器可以是中央值滤波器、高斯滤波器等其他各种滤波器。另外,平滑化处理不限于使用平滑化滤波器的处理,也可以是使图像上的像素的颜色值(也称为像素值)相对于图像上的位置的变化的变化平缓的各种处理。
[0100]
在s240(图8)中,处理器210对平滑输出图像数据进行边缘提取处理,生成边缘图像数据。在本实施例中,处理器210根据像素值(rgb值)计算出亮度值,对亮度值应用公知的sobel滤波器,计算出各像素的边缘量。然后,处理器210提取具有比预先决定的阈值大的边缘量的像素作为边缘像素。在图9的上数第三层的右侧示出了边缘图像数据740e的边缘图像740。边缘图像740表示输出标签片750的边缘部分750e(例如轮廓)、图形751的边缘部分751e(例如轮廓或图形的图案等)和字符串752的边缘部分752e(例如轮廓)。在本实施例中,边缘图像数据740e是二值位图数据。零像素值表示边缘像素,1像素值表示非边缘像素。此外,边缘提取滤波器可以是prewitt滤波器、roberts滤波器等其他各种滤波器。另外,边缘提取处理并不限于使用边缘提取滤波器的处理,也可以是提取图像上的像素值的变化相对于图像上的位置的变化是急剧的部分的像素的各种处理。
[0101]
在s250(图8)中,处理器210生成表示平滑输入图像数据与平滑输出图像数据之间的差分的差分图像数据。在本实施例中,差分图像数据表示差分图像,该差分图像示出平滑输入图像710bi与平滑输出图像740bi之间的差分。处理器210采用平滑输入图像710b和平滑输出图像740bi的相同位置的2个像素的2个颜色值的差分作为差分图像的相同位置的像素的颜色值。具体而言,差分图像的像素值被设定为根据平滑输入图像数据的rgb的像素值算出的亮度值与根据平滑输出图像数据的rgb的像素值算出的亮度值的差分的绝对值。差分图像的零像素值表示2个图像数据之间的差为零。并且,差分图像的像素值越大,2个图像数据之间的差越大。在图9的上数第三层的左侧示出了差分图像数据760d的差分图像760di。如上所述,平滑输入图像710bi具有图形701的缺失701x和字符串702的缺失702x。另一方面,平滑输出图像740bi不具有这样的缺失。因此,差分图像760di示出了与图形701的缺失701x对应的缺失部分701z和与字符串702的缺失702x对应的缺失部分702z。另外,在平滑输入图像710bi与平滑输出图像740bi之间,图像内的标签片700、750的位置可能会产生差异。因此,差分图像760di能够表示标签片的边缘部分700d、图形的边缘部分701d和字符串的边缘部分702d。此外,差分图像的像素值也可以由其他颜色成分表示。例如,差分图像的像素值可以表示红色r的差分的绝对值、绿色g的差分的绝对值、蓝色b的差分的绝对值这3色的灰度值。
[0102]
在s260(图8)中,处理器210使用边缘图像数据740e来修正差分图像数据760d。具体而言,执行从差分图像760di提取与边缘部分不同的非边缘部分的处理。在本实施例中,处理器210参照边缘图像数据740e,将差分图像数据760d中的边缘部分的像素值设定为零,由此生成已修正的差分图像数据。在图9的上数第四层的左侧示出了已修正的差分图像数据770的已修正的差分图像770i。已修正的差分图像770i示出了缺失部分701z、702z。差分图像760di中包含的边缘部分700d、701d、702d已被删除。此外,在本实施例中,边缘图像数据740e的零像素值表示边缘像素,1像素值表示非边缘像素。因此,处理器210通过对差分图像数据760d的像素的像素值乘以边缘图像数据740e的相同位置的像素的像素值,能够生成已修正的差分图像数据770。
[0103]
在s270(图8)中,处理器210对已修正的差分图像数据770进行二值化而生成二值差分图像数据。在本实施例中,处理器210通过对已修正的差分图像数据770的像素值与预先决定的二值化阈值进行比较而进行二值化。在图9的最下层的左侧示出了二值差分图像数据770b的二值差分图像770bi。二值差分图像770bi示出了与已修正的差分图像数据770的缺失部分701z、702z对应的差异部分701zb、702zb。此外,二值化的方法可以是判别大的值和小的值的各种方法。例如,可以采用所谓的大津二值化。
[0104]
在s280(图8)中,处理器210将对象输出图像数据740和二值差分图像数据770b合成而生成合成图像数据。在本实施例中,处理器210通过将对象输出图像中的差异部分的颜色变更为预先决定的特定颜色(例如白色、红色等),来生成合成图像数据。在图9的最下层的右侧示出了合成图像数据780的合成图像780i。输出标签片750中的差异部分701zb、702zb用特定颜色示出。
[0105]
在s290(图8)中,处理器210将表示对象输入图像与对象输出图像之间的差异部分的图像数据存储于存储装置215(例如非易失性存储装置230)。在本实施例中,差分图像数据(s250)、已修正的差分图像数据(s260)、二值差分图像数据(s270)以及合成图像数据(s280)表示差异部分。这些4个图像数据都是使用差分图像数据(s250)而得到的图像数据。在s290中存储于存储装置的图像数据可以是从上述的4个图像数据中任意选择的一个以上图像数据。在本实施例中,处理器210将二值差分图像数据和合成图像数据存储于非易失性存储装置230。
[0106]
通过以上过程,图8的处理结束。在s290中存储于存储装置的图像数据能够在各种处理中利用。例如,处理器210可以在显示部240显示合成图像780i(图9)。合成图像780i的观察者能够容易地确定差异部分701zb、702zb(特别是位置和形状)。另外,处理器210也可以通过解析二值差分图像数据770b来判断输入标签片700x是否具有缺陷。例如,在1个连续的差异部分的大小(例如像素数)为预先决定的阈值以上的情况下,可以判断为输入标签片具有缺陷。
[0107]
如上所述,图2的学习模型234是生成与包含标签片700的输入图像910i的输入图像数据910对应的输出图像数据940的机器学习模型。并且,在图8的处理中,使用已学习完毕的学习模型234。如利用图2-图5所说明的那样,学习模型234是执行使用针对输入图像数据910的多个运算参数(包括运算参数集601-608)的运算的模型。如利用图3所说明的那样,通过基于学习模型234的运算,提取输入图像数据910的输入图像910i中包含的输入对象(在本实施例中为标签片700的图形701和字符串702等)的形状特征。并且,如利用图4、图5所说明的那样,通过基于学习模型234的运算,生成包含基于所提取的形状特征的输出对象(在本实施例中为标签片950)的输出图像940i的输出图像数据940。
[0108]
如图2所示,学习模型234具备:输入层l10,该输入层执行使用输入图像数据910的运算;以及输出层l30,该输出层设置于输入层l10的下游侧,生成输出图像数据940。
[0109]
如图3所示,输入层l10具备卷积层311-313、池化层321、322以及加法运算部331。第一卷积层311是提取作为输入图像910i的对象的输入对象(图形701、字符串702等)中的包含在比输入图像910i小的第一种输入滤波器fl11的范围中的部分的形状特征的第一提取部的例子。第二卷积层312与第一卷积层311并行设置。第二卷积层312是提取输入对象中的包含在比输入图像910i小且比第一种输入滤波器fl11的范围大的第二种输入滤波器
fl12的范围中的部分的形状特征的第二提取部的例子。
[0110]
池化层321、322通过使用从第一卷积层311输出的数据执行运算而生成池化映射914i、915i的位图数据914、915。如利用图3所说明的那样,池化映射914i、915i能够受到由第一卷积层311提取的形状特征在输入图像910i内的位置位移的影响。在位置的位移处于窗口wn21、wn22的范围内的情况下影响被缓和。在位置的位移超过窗口wn21、wn22的范围的情况下,池化映射914i、915i能够根据位置的位移而变化。这样,池化映射914i、915i是与位置的位移相关的位移信息的例子。并且,池化层321、322是取得位移信息的位移信息取得部的例子。
[0111]
加法运算部331将包括从第一卷积层311输出的数据、从第二卷积层312输出的数据和从池化层321、322输出的数据在内的多个数据相加。
[0112]
根据以上的结构,第一卷积层311输出与比较细致的形状特征对应的数据,第二卷积层312输出与比较粗糙的形状特征对应的数据。例如,第一卷积层311能够提取细致形状特征,第二卷积层312能够提取线的特征。并且,输入层l10的加法运算部331将这些数据相加。
[0113]
因此,学习模型234能够生成表示除了具有比较粗糙的形状之外还具有比较细致的形状的输出对象的输出图像数据940。假设在输入层中并不是并行设置使用尺寸互不相同的滤波器的多个卷积层,而是假定为多个处理层(例如多个卷积层)串联连接。在该情况下,虽然能够提取比较粗糙的形状特征,但比较细致的形状特征的提取是困难的。根据上述结构,能够抑制这样的不良情况。
[0114]
另外,加法运算部331的加法运算对象包括从池化层321、322输出的数据。池化层321、322使用来自第一卷积层311的与比较细致的形状特征对应的数据来生成位图数据914、915。关于从池化层321、322输出的数据914、915,窗口wn21、wn22范围内的位置位移的影响被缓和。因此,能够针对比较细致的形状特征在输入图像内的位置位移提高鲁棒性。
[0115]
另外,如利用图5所说明的那样,输出层l30具备转置卷积层511-513和加法运算部520。第一转置卷积层511是使用处理对象的中间数据930中的、与比输出图像940i小的第一种输出滤波器fl31的范围对应的部分来复原形状特征的第一复原部的例子。第二转置卷积层512与第一转置卷积层511并行设置。第二转置卷积层512是使用处理对象的中间数据930中的、与比输出图像940i小且比第一种输出滤波器fl31的范围大的第二种输出滤波器fl32的范围对应的部分来复原形状特征的第二复原部的例子。
[0116]
第一转置卷积层511复原比较细致的形状特征,第二转置卷积层512复原比较粗糙的形状特征。因此,学习模型234能够生成表示除了具有比较粗糙的形状之外还具有比较细致的形状的输出对象的输出图像数据940。
[0117]
另外,如上所述,输入层l10包括作为第一提取部的例子的第一卷积层311、作为第二提取部的例子的第二卷积层312以及作为位移信息取得部的例子的池化层321、322。另外,输出层l30不包括池化层而包括作为第一复原部的例子的第一转置卷积层511和作为第二复原部的例子的第二转置卷积层512。由于输入层l10包括池化层321、322,因此形状特征在输入图像910i内的位置的位移对输出层l30的运算的影响被缓和。因此,不包括池化层而包括第一转置卷积层511和第二转置卷积层512的输出层l30能够生成如下的输出图像数据940,即该输出图像数据940表示除了具有比较粗糙的形状以外还具有比较细致的形状的输
出对象。
[0118]
另外,如利用图3所说明的那样,输入层l10具备第一池化层321和第二池化层322。第一池化层321是取得与比输入图像910i小的第一窗口wn21的范围内的位置位移相关的位图数据914的第一位移信息取得部的例子。第二池化层322与第一池化层321并行设置。第二池化层322是取得与比输入图像910i小且比第一窗口wn21的范围大的第二窗口wn22的范围内的位置位移相关的位图数据915的第二位移信息取得部的例子。
[0119]
并且,加法运算部331将包括从第一卷积层311、第二卷积层312、第一池化层321和第二池化层322分别输出的数据在内的多个数据相加。在该结构中,第一池化层321取得与比较小的位置位移相关的第一位图数据914,第二池化层322取得与比较大的位置位移相关的第二位图数据915。并且,输入层l10的加法运算部331将这些数据相加,因此能够针对比较小的位置位移和比较大的位置位移提高鲁棒性。
[0120]
另外,输入层l10(图3)具备与第一卷积层311和第二卷积层312并行设置的第三卷积层313。第三卷积层313是提取输入对象中的包含于比输入图像910i小且比第二种输入滤波器fl12的范围大的第三种输入滤波器fl13的范围中的部分的形状特征的第三提取部的例子。并且,加法运算部331将包括从第一卷积层311、第二卷积层312、第三卷积层313、第一池化层321和第二池化层322分别输出的数据在内的多个数据相加。这样,提取与三种细致度对应的三种形状特征,并将与三种特征对应的三种数据相加,因此能够生成表示具有与三种细致度对应的三种形状特征的输出对象的输出图像数据940。
[0121]
另外,如在图6的s140中说明的那样,学习模型234的多个运算参数(包括运算参数集601-608)通过训练而被调整为,学习输入图像数据与通过将学习输入图像数据输入至学习模型234而生成的输出图像数据之间的差变小。如在s120中说明的那样,学习输入图像数据使用包含基准标签片800的基准图像810i的基准图像数据810来生成。多个学习输入图像数据分别是包含基准标签片800的基准图像的图像数据。因此,如利用图8、图9所说明的那样,通过将包含输入标签片700x的对象输入图像710i的对象输入图像数据710输入至学习模型234,能够生成包含与基准标签片800的差异较小的输出标签片750的对象输出图像740i的对象输出图像数据740。这样的对象输出图像数据740能够利用于对象输入图像710i的对象(这里为输入标签片700x)的缺陷的检测。
[0122]
另外,在利用图8、图9说明过的处理中,处理器210使用已学习完毕的学习模型234进行以下的处理。在s210中,处理器210取得包含输入对象的对象输入图像710i的对象输入图像数据710。在s220中,处理器210通过将对象输入图像数据710输入至已学习完毕的学习模型234而生成与对象输入图像数据710对应的对象输出图像数据740。在s230、s250中,处理器210生成表示对象输入图像710i与对象输出图像740i之间的差异的差分图像760di的差分图像数据760d。学习模型234能够生成包含基于由输入层l10提取的形状特征的、与基准标签片800的差异较小的输出标签片750的对象输出图像740i的对象输出图像数据740。因此,处理器210能够生成表示输入标签片700x与基准标签片800之间的差异的差分图像数据760d。
[0123]
另外,如在s230、s250(图8)中说明的那样,处理器210通过进行对象输入图像数据710和对象输出图像数据740的平滑化处理而取得平滑输入图像数据710b和平滑输出图像数据740b,并使用平滑输入图像数据710b和平滑输出图像数据740b生成差分图像数据
760d。因此,能够降低差分图像数据760d中包含的噪声。
[0124]
另外,如在s240、s260(图8)中说明的那样,处理器210进行边缘提取处理,并通过对差分图像数据760d进行从差分图像760di提取与边缘部分不同的非边缘部分的处理,从而修正差分图像数据(s260),该边缘提取处理提取平滑输出图像数据740b的平滑输出图像740bi内的边缘部分(s240)。由于对象输入图像710i与对象输出图像740i之间的对象错位,差分图像760di可能包含边缘。根据上述结构,已修正的差分图像数据770能够适当地表示与因对象输入图像710i与对象输出图像740i之间的错位引起的边缘不同的差异。
[0125]
b.变形例:
[0126]
(1)学习模型的输入层不限于具备卷积层311-313(图3),也可以具备提取输入图像所包含的输入对象的形状特征的各种运算部(也称为提取部)。提取部可以构成为,使用输入图像中的包含在比输入图像小的输入范围中的部分的一个以上像素的各自的像素值,来提取输入对象中的包含在输入范围中的部分的形状特征。优选输入层具备使用尺寸互不相同的输入范围的多个提取部。由此,输入层能够提取尺寸互不相同的形状特征。换言之,输入层能够提取互不相同的分辨率的信息。提取部的总数可以是2以上的任意的数。
[0127]
此外,输入图像的尺寸(像素数)越大,学习模型的计算量越多,另外,提取部的总数越多,学习模型的计算量越多。因此,在输入图像的尺寸大的情况下,优选提取部的总数少。
[0128]
(2)学习模型234的输入层l10中包含的池化层321、322不限于执行最大池化处理,也可以执行使用窗口wn21、wn22内的一个以上的像素来决定代表值的各种处理。例如,池化层321、322可以执行平均池化处理。另外,可以对池化层321、322输入来自第二卷积层312的位图数据912。该位图数据912与来自第三卷积层313的位图数据913相比表示细致形状特征。因此,能够针对比较细致的形状特征在输入图像内的位置的位移提高鲁棒性。
[0129]
由池化层321、322生成的数据是与由提取部(例如卷积层311-313)提取的形状特征在输入图像内的位置的位移相关的位移信息的例子。位移信息可以是根据位置的位移而变化的各种信息。位移信息可以被决定为:在输入图像上的对象的位置的位移处于预先决定的位移范围内的情况下位置的位移对位移信息的影响变小,在位置的位移超过位移范围的情况下位置的位移对位移信息的影响变大。即,可以按如下方式算出位移信息:在2张输入图像之间对象的位置差处于位移范围内的情况下从2张输入图像得到的2个位移信息的差异变小,在位置差超过位移范围的情况下从2张输入图像得到的2个位移信息的差异变大。输入层不限于具备池化层,也可以具备取得位移信息的各种运算部(称为位移信息取得部)。
[0130]
优选输入层具备使用尺寸互不相同的位移范围的多个位移信息取得部。由此,能够针对尺寸互不相同的位移提高鲁棒性。此外,位移信息取得部的总数可以是1以上的任意数。在输入图像的尺寸大的情况下,优选位移信息取得部的总数少。不论在哪种情况下,都优选输入层的加法运算部将来自多个提取部和一个以上的位移信息取得部各个部的数据相加。由此,输入层能够提取各种尺寸的部分的形状特征,并且,能够提高针对输入图像内的对象的错位的鲁棒性。另外,一个以上的位移信息取得部也可以使用来自相同的提取部的相同的数据来取得位移信息。
[0131]
另外,在输入层的多个提取部包括使用第一输入范围的第一提取部和使用比第一
输入范围大的第二输入范围的第二提取部的情况下,一个以上的位移信息取得部优选使用来自第一提取部的数据。由此,能够针对比较细致的形状特征的位置的位移提高鲁棒性。在此,输入层可以不具备使用来自第二提取部的数据的位移信息取得部。由此,能够简化输入层的结构。
[0132]
(3)学习模型的输出层不限于具备转置卷积层511-513(图5),也可以具备复原形状特征的各种运算部(也称为复原部)。复原部可以将表示对象的特征(包括形状特征)的处理对象数据作为图像数据进行处理。并且,复原部可以构成为,使用由处理对象数据表示的图像中的包含在比输出图像小的输出范围内的部分的一个以上的像素各自的像素值来复原形状特征。输出层优选具备使用尺寸互不相同的输出范围的多个复原部。由此,输出层能够复原尺寸互不相同的形状特征。换言之,输出层能够复原互不相同的分辨率的信息。这里,优选地,多个复原部并行地设置,处理相同的处理对象数据,并且,输出层具备将从多个复原部中的每一个输出的数据相加的加法运算部。并且,从加法运算部输出的数据可以用作输出图像数据。由此,能够适当地复原尺寸互不相同的形状特征。在此,输出层可以不具备池化层(进而不具备位移信息取得部)。
[0133]
另外,复原部的总数可以为1以上的任意的数,优选为2以上。在输入图像的尺寸大的情况下,优选复原部的总数少。输出层的复原部的输出范围的尺寸可以与输入层的提取部的输入范围的尺寸不同。输出层的复原部的总数可以与输入层的提取部的总数不同。但是,优选的是,输入层具备使用尺寸互不相同的输入范围的u个(u为2以上的整数)提取部,输出层具备使用尺寸互不相同的输出范围的u个复原部,并且u个输入范围的尺寸与u个输出范围的尺寸分别相同。由此,能够适当地进行相互不同的多个尺寸的多种形状特征的提取和复原。
[0134]
(4)在图2-图5的学习模型234中,全连接层415、420(图4)从输入层l10(图3)的加法运算部331向输出层l30(图5)的复原部(具体而言为转置卷积层511-513)传递信息。全连接层415、420能够在抑制信息损失的情况下传递信息。因此,表示由输入层l10提取的各种尺寸的形状特征的信息被传递至输出层l30。其结果,输出层l30能够复原各种尺寸的形状特征。
[0135]
将输入层的加法运算部和输出层的复原部连接的中间层的结构不限于全连接层415、420,可以是各种结构。在此,优选中间层在抑制信息损失的情况下传递信息。例如,中间层可以具备串联连接的多个全连接层。另外,可以省略中间层。在该情况下,来自输入层的加法运算部的数据被输入到输出层的复原部。
[0136]
(5)学习模型的结构可以为其他各种结构代替上述的结构。通道数s可以是1以上的任意的数。通道数s越多,越能够进行各种形状特征的提取和复原。通道数s越少,学习模型的训练越容易。颜色成分的数r可以是1以上的任意的数。颜色成分可以是灰度、rgb、ycbcr、cmyk等任意的颜色成分。在r=1的情况下,学习模型可以处理灰度的位图数据。
[0137]
另外,学习模型可以为进行输入图像的对象的形状特征的提取和复原的各种模型来代替图2-图5的模型。例如,学习模型可以是被称为variational autoencoder(vae)(变分自动编码器)的模型。vae是将输入图像数据压缩为多维正态分布的参数(均值和方差)的模型。在采用vae的情况下,能够进行更细致的形状特征的提取和复原。在采用vae的情况下,中间层的结构可以与公知的vae的中间层同样地是处理正态分布的参数的各种结构。例
如,从图4的第一全连接层415输出的n个(n为偶数)特征值可以表示正态分布的参数。
[0138]
不论在哪种情况下,学习模型都以适于学习模型的方法进行训练。学习模型的多个运算参数优选被调整为:包含基准对象(例如基准标签片800)的基准图像的基准图像数据与通过将基准图像数据输入到学习模型而生成的输出图像数据之间的差变小。另外,优选使用包含基准对象的多张基准图像的多个基准图像数据来调整多个运算参数。在此,优选,在多张基准图像之间基准对象的位置和朝向中的至少一个互不相同。由此,已学习完毕的模型能够适当地处理各种输入图像数据。
[0139]
(6)差分数据生成处理可以为其他各种处理来代替图8的处理。例如,可以省略平滑化处理(s230)。在该情况下,在s250中,生成表示对象输入图像数据710与对象输出图像数据740之间的差分的差分图像数据。另外,可以省略边缘提取处理(s240)和差分图像数据的修正处理(s260)。在该情况下,在s270中,未修正的差分图像数据(例如差分图像数据760d)被二值化。差分图像可以是表示多个像素各自的像素值的差的图像。像素值差可以用各种颜色成分来表示(例如rgb、亮度值、ycbcr等)。
[0140]
(7)在图8的实施例中,数据处理装置200作为生成差分图像数据的生成装置进行动作。取而代之,数据处理装置200也可以作为不生成差分图像数据而通过将输入图像数据输入到学习模型来生成输出图像数据的生成装置进行动作。处理器210可以将生成的输出图像数据存储在存储装置215(例如非易失性存储装置230)中。能够在各种处理中利用输出图像数据(例如输出图像的显示、差分图像数据的生成等)。
[0141]
(8)图像处理系统1000的结构可以是其他各种结构来代替图1的结构。例如,与执行图6的训练的数据处理装置不同的数据处理装置可以执行图8的处理。另外,可以使用扫描仪代替数字照相机100。另外,产品700不限于标签片,可以是用于收容商品的箱或信封等纸制品、衬衫或毛巾等布制品、机械的部件等任意的产品。
[0142]
(9)图1的数据处理装置200可以是与个人计算机不同种类的装置(例如数字照相机、扫描仪、智能手机)。另外,也可以是,能够经由网络相互通信的多个装置(例如计算机)各分担一部分数据处理装置的数据处理的功能,从而作为整体提供数据处理的功能(具备这些装置的系统对应于数据处理装置)。
[0143]
在上述各实施例中,可以将由硬件实现的结构的一部分置换为软件,相反地,也可以将由软件实现的结构的一部分或者全部置换为硬件。例如,学习模型234可以代替程序模块而通过asic(application specific integrated circuit:专用集成电路)等硬件电路来实现。
[0144]
另外,在本发明的功能的一部分或者全部通过计算机程序实现的情况下,该程序能够以存储于计算机可读取的记录介质(例如非暂时性记录介质)的形式提供。程序可以在存储于与提供时相同或不同的记录介质(计算机可读取的记录介质)的状态下使用。“计算机可读取的记录介质”不限于存储卡、cd-rom这样的便携式记录介质,可以还包括各种rom等计算机内的内部存储装置、硬盘驱动器等与计算机连接的外部存储装置。
[0145]
以上,基于实施例、变形例对本发明进行了说明,但上述的发明的实施方式是为了容易理解本发明,并非限定本发明。本发明可以在不脱离其宗旨的情况下进行变更、改良,并且其等价物包括在本发明中。
[0146]
符号的说明
[0147]
100

数字照相机、200

数据处理装置、210

处理器、215

存储装置、220

易失性存储装置、230

非易失性存储装置、232

第一程序、233

第二程序、234

预测模型(机器学习模型)、l10

输入层、l20

中间层、l30

输出层、240

显示部、250

操作部、270

通信接口、311-313

卷积层、321

第一池化层、322

第二池化层、331

加法运算部、410

第一转换部、420

全连接层、430

第二转换部、511-513

转置卷积层、520

加法运算部、601-608

运算参数集、700、700x、750、800、950

标签片、701

图形、702

字符串、701z、702z

缺失部分、701zb、702zb

差异部分、fl11-fl13

输入滤波器、wn21

第一窗口、wn22

第二窗口、fl31-fl33

输出滤波器
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献