首页 / 学习方法、学习装置、学习程序及图像处理装置

学习方法、学习装置、学习程序及图像处理装置实质审查 发明

技术领域

[0001] 本发明涉及一种进行图像学习的学习方法、学习装置及学习程序、以及使用通过该学习而构建的已学习模型的图像处理装置。

相关背景技术

[0002] 关于进行图像学习的技术,例如,专利文献1、2中记载了基于交叉熵损失的学习。
[0003] 以往技术文献
[0004] 专利文献
[0005] 专利文献1:日本特开2020‑061066号公报
[0006] 专利文献2:日本特开2020‑091543号公报

具体实施方式

[0042] [分割学习中的检测率]
[0043] 作为基于以往方法的分割(类别分类)的一例,对检测被摄体的缺陷的情况进行说明。
[0044] 机器学习中的分割(semantic segmentation:语义分割)中,一般使用交叉熵损失(cross‑entropy loss)。按照作为进行类别分类的对象的图像的1像素,赋予来自正确答案标签(p=Oor1)与学习模型的预测值(0≤q≤1)的差分的惩罚(=损失),并通过损失更新学习模型。例如,在缺陷检测任务的情况下,能够与p=1为“缺陷”,p=0为“非缺陷”相关联。另外,在以下说明中,有时将交叉熵损失记载为“CE损失”。
[0045] 在应作为分割任务而分类的同一类别中,有时同时存在微小检测对象和巨大检测对象。即,在缺陷检测的情况下,有时微小的缺陷与巨大的缺陷共存。然而,在一般的CE损失中,对各像素进行预测,且这些被同等对待,因此导致巨大的缺陷的学习频度高,但微小的缺陷越难以被学习。
[0046] 在将按每一个像素进行{缺陷,非缺陷}的二值分类时的正确答案标签设为p∈{0,1},将表示缺陷概率的输出值设为q∈[0,1]时,由下述式(1)、(2)表示CE损失。
[0047] [数式1]
[0048] CE(p,q)=‑(plog(q)+(1‑p)log(1‑q))…(1)
[0049] [数式2]
[0050]
[0051] 式(1)在各像素中定义。当更新模型的权重的单位即批量数为B时,CE损失取决于构成各输入分块图像Ii(1≤i≤B)的像素的坐标(x,y),但省略尾标。式(2)意味着取针对这些的平均(总像素数N:=B×H×W,H、W为输入分块图像的尺寸),图像中的像素被等价学习。
[0052] 例如,如图10所示,存在(i)巨大的缺陷900(参考图10的(a)部分)中的未检测到多个像素部分的部位(图10的(b)部分中的区域902)、及如图11所示的(ii)未检测到由多个像素构成的微小的缺陷910(参考图11的(a)部分)整体的部位(图11的(b)部分中的区域912),若未检测到的像素数与(i)的区域902和(ii)的区域912相等,则对损失函数的贡献也为相同程度。然而,从检测率的评价观点来看,优选相比如(i)那样对检测成功的缺陷(巨大的缺陷900)再现更详细的形状,而优先检测如(ii)那样完全无法检测的缺陷(微小的缺陷910)。
[0053] 如此,大大小小的检测对象混合存在的任务中,防止即使微小也不看漏、并且提高基于个数的检测率重要的情况下,无法通过如上述以往的损失函数考虑这些,因此优选更直接地设定用于提高检测率的损失。
[0054] 本申请的发明人在z荷重情况下进行了深入研究,得到了可获得检测率良好的学习模型的学习方法、学习装置学习程序、以及被摄体的瑕疵和/或缺陷的检测率良好的图像处理装置的见解。以下,对基于这种见解的本发明的实施方式进行说明。在说明中,根据需要参考附图。另外,在附图中,为了便于说明,有时会省略一部分构成要件的记载。
[0055] [学习装置的结构]
[0056] 图1是表示本发明的一实施方式所涉及的学习装置(图像处理装置)的概略结构的图。如图1所示,第1实施方式所涉及的学习装置10(学习装置、图像处理装置)具备处理部100(处理器、计算机)、存储部200、显示部300及操作部400,并将这些构成要件彼此连接以收发所需要的信息。关于这些构成要件,能够采用各种设置方式,可以在1处(1框体内、1室内等)设置各构成要件,也可以设置在分开的位置并经由网络进行连接。并且,学习装置10经由互联网等网络NW与外部服务器500和/或外部数据库510连接,能够根据需要获取处理中所使用的样品或学习数据,并且能够将处理结果等存储于外部服务器500和/或外部数据库510中。
[0057] [处理部的结构]
[0058] 如图2所示,处理部100具备处理器102(处理器、计算机)、ROM130(ROM:Read Only Memory:只读存储器)及RAM150(RAM:Random Access Memory:随机存取存储器)。处理器102进行处理部100的各部所进行的处理的总括控制,且具有数据获取部104、检测器106、判定部108、加权部110、更新部112、显示控制部114、记录控制部116及通信控制部118的功能。数据获取部104能够经由网络NW或从存储部200等记录介质进行输入,显示控制部114、记录控制部116能够分别进行向监视器310的显示及向存储部200的输出。这些处理根据需要经由通信控制部118来进行。
[0059] [检测器的结构]
[0060] 检测器106(处理器)具备学习模型,该学习模型具备进行分割的神经网络。作为神经网络,例如能够使用CNN(Convolutional Neural Network:卷积神经网络)、RNN(Recurrent Neural Network:递归神经网络)、SVM(Support Vector Machine:支持向量机)。如后述,通过本发明的一方式即学习方法,更新学习模型的参数。另外,学习结束后的检测器106(已学习模型)能够用于从被摄体的图像检测瑕疵和/或缺陷。即,学习结束后的学习装置10作为本发明的一方式所涉及的图像处理装置动作(后述)。
[0061] [CNN的层结构的例子]
[0062] 对在检测器106中使用CNN(学习模型的一例)的情况的层结构的例子进行说明。图3是表示学习模型224的层结构的例子的图。在图3的(a)部分所示的例子中,学习模型224包括输入层250、中间层252及输出层254。输入层250输入数据获取部104所获取的图像(分块图像)并输出特征量。中间层252包括卷积层256及池化层258,输入层250输入所输出的特征量并算出其他特征量。这些层成为多个“节点”通过“边缘”连结而成的结构,并保持多个权重参数。权重参数的值随着学习的进展而发生变化。学习模型224如图3的(b)部分所示的例子可以包括全结合层260。学习模型224的层结构并不限定于卷积层256和池化层258一一重复的情况,可以连续包括多个任一层(例如,卷积层256)。并且,可以连续包括多个全结合层
260。
[0063] [中间层中的处理]
[0064] 中间层252通过卷积运算及池化处理算出特征量。在卷积层256进行的卷积运算是通过使用了滤波器的卷积运算获取特征地图的处理,并起到从图像提取边缘内等的特征提取作用。通过使用了该滤波器的卷积运算,针对1个滤波器生成1通道(1张)“特征地图”。“特征地图”的尺寸通过卷积被缩小,且随着在各层中进行卷积而变小。在池化层258中进行的池化处理是缩小(或放大)通过卷积运算输出的特征地图而作为新的特征地图的处理,所提取的特征起到赋予耐用性的作用,以使不会受到由平行移动等带来的影响。中间层252能够由进行这些处理的1个或多个层构成。
[0065] 图4是表示图3所示的学习模型224中的卷积运算的状态的图。在中间层252的最初(第1个)卷积层中,进行通过多个图像构成的图像集(学习时为学习用图像集,检测等识别时为识别用图像集)与滤波器F1的卷积运算。图像集能够由具有纵向为H,横向为W的图像尺寸的N张(N通道)图像构成。在输入可见光图像的情况下,构成图像集的图像是R(红色)、G(绿色)、B(蓝色)3通道的图像。当与该图像集卷积运算的滤波器F1是图像集为N通道(N张),因此例如为尺寸5(5×5)的滤波器的情况下,滤波器尺寸成为5×5×N的滤波器。通过使用了该滤波器F1的卷积运算,针对1个滤波器F1生成1通道(1张)“特征地图”。在第2个卷积层中使用的滤波器F2是例如尺寸3(3×3)的滤波器的情况下,滤波器尺寸成为3×3×M。
[0066] 与第1个卷积层相同,在第2个至第n个卷积层中进行使用了滤波器F2~Fn的卷积运算。第n个卷积层中的“特征地图”的尺寸小于第2个卷积层中的“特征地图”尺寸,其原因在于通过直到前一段为止的卷积层或池化层被缩小。
[0067] 在中间层252的层中的靠近输入侧的卷积层中进行低阶特征提取(边缘的提取等),随着靠近输出侧而进行高阶特征提取(与对象物的形状、结构等相关的特征的提取)。另外,以关注区域(在本实施方式中为瑕疵和/或缺陷)的测量为目的进行分割时在后半部分的卷积层被放大,在最后的卷积层中获得与所输入的图像集相同尺寸的“特征地图”。另一方面,进行关注区域的检测的情况只要输出位置信息即可,因此并非一定需要放大。
[0068] 另外,中间层252除了卷积层256及池化层258以外,还包括进行批量归一化的层。批量归一化处理是以进行学习时的小批量为单位对数据分布进行正规化的处理,起到加速进行学习、降低对初始值的依赖性、抑制过度学习等作用。
[0069] [输出层中的处理]
[0070] 输出层254是根据从中间层252输出的特征量,进行反映到所输入的图像(分块图像等)上的关注区域的位置检测并输出其结果的层。在进行分割(类别分类)的情况下,输出层254通过从中间层252获得的“特征地图”,以像素级掌握显现在图像上的关注区域的位置。即,能够按图像的每一个像素检测是否属于关注区域(是否属于特定类别),并输出其检测结果。另一方面,在进行物体检测的情况下不需要像素级下的判断,输出层254输出对象物的位置信息。另外,“特定类别”例如为“缺陷”或“瑕疵”。输出层254可以细致分类缺陷或瑕疵并输出(气泡、异物混入、孔、裂纹、剥离等)。
[0071] 另外,输出层254(学习模型224)能够对单位区域输出检测结果(分割结果、类别分类结果)。并且,输出层254能够输出检测结果的准确性(概率、可靠度)。“单位区域”由1个像素构成,也可以由多个像素构成。
[0072] 输出层254可以执行关注区域的鉴别(分类)并输出鉴别结果。例如,输出层254将图像分类为“正常”、“瑕疵”、“缺陷”3个类目,作为鉴别结果,可以输出与“正常”、“瑕疵”、“缺陷”对应的3个分数(3个分数的合计为100%或1),在能够由3个分数明确分类的情况下,可以输出分类结果。另外,分类可以为2个类别,也可以多个类别。
[0073] 在输出鉴别结果的情况下,中间层252或输出层254中作为最后1层或多个层可以包括或不包括全结合层(参考图3的(b)部分)。
[0074] 输出层254可以输出关注区域的测量结果。在进行测量的情况下,能够从学习模型224直接输出成为对象的关注区域的测量值。并且,将成为对象的关注区域例如如上分割之后,能够以其结果为基础通过处理器102等来测量。在直接输出测量值的情况下,使图像学习测量值期本身,因此成为测量值的回归问题。
[0075] 在使用上述结构的学习模型224的情况下,在学习过程中,优选进行如下处理:比较输出层254所输出的结果与针对图像集的识别正确答案计算损失函数(误差函数),以损失函数变小(最小化)的方式,从输出侧的层向输入侧的层更新中间层252中的权重参数(误差反向传播)。对本实施方式中的损失函数的导出、及基于损失函数的学习模型的更新在后面进行详细叙述。
[0076] [基于除神经网络以外的方法的识别]
[0077] 学习模型224可以通过除神经网络以外的方法来进行检测。例如,能够根据所获取的图像的特征量检测关注区域。在该情况下,学习模型224将检测对象图像例如分割为多个矩形区域,将所分割的各矩形区域设定为局部区域,并按检测对象图像的每一个局部区域算出局部区域内的像素的特征量(例如色相),从各局部区域中确定具有特定色相的局部区域作为关注区域。同样地,学习模型224可以进行基于特征量的分类或测量。
[0078] [处理部及处理器的功能实现]
[0079] 上述处理部100及处理器102的各部(包括检测器106)的功能能够使用各种处理器(processor)及记录介质来实现。各种处理器包括例如执行软件(程序)来实现各种功能的通用的处理器即CPU(Central Processing Unit,中央处理器)。并且,在上述各种处理器中还包含作为专门用于图像处理的处理器的GPU(Graphics Processing Unit:图形处理器)、作为FPGA(Field Programmable Gate Array:现场可编程门阵列)等在制造后能够变更电路结构的处理器的可编程逻辑设备(Programmable Logic Device:PLD)。在进行图像的学习或识别的情况下,使用了GPU的结构是有效的。而且,作为ASIC(Application Specific Integrated Circuit:专用集成电路)等具有为了执行特定的处理而专门设计的电路结构的处理器的专用电路也包含在上述各种处理器中。
[0080] 各部的功能可以通过1个处理器来实现,也可以由相同种类或不同种类的多个处理器(例如,多个FPGA、或CPU和FPGA的组合、或CPU和GPU的组合)来实现。并且,也可以由1个处理器实现多个功能。作为由1个处理器构成多个功能的例子,第1有如下方式:如以计算机为代表,由1个以上的CPU和软件的组合构成1个处理器,并由该处理器实现多个功能。第2有如下方式:如以片上系统(System On Chip:SoC)等为代表,使用由1个IC(Integ rated Circuit:集成电路)芯片实现系统整体的功能的处理器。如此,关于各种功能,使用1个以上的上述各种处理器作为硬件结构来构成。而且,更具体而言,这些各种处理器的硬件结构为组合半导体元件等电路元件而成的电路(circuitry)。这些电路也可以为使用逻辑和、逻辑与、逻辑否定、异或及将它们组合而成的逻辑运算来实现上述功能的电路。
[0081] 在上述处理器或电路执行软件(程序)时,将要执行的软件的计算机(例如,构成处理部100的各种处理器或电路和/或它们的组合)可读取的代码预先存储于ROM130等非临时性记录介质中,并由计算机参考该软件。预先存储于非临时性记录介质中的软件包含用于执行本发明所涉及的数据处理方法的程序(数据处理程序)及在执行时使用的数据(第1DNA图谱数据、第2DNA图谱数据、后述癌症种类标签等学习数据、机器学习中所使用的权重参数等)。也可以在各种光磁记录装置、半导体存储器等非临时性记录介质中记录代码,而不是在ROM130中记录代码。在进行使用了软件的处理时,例如将RAM150用作临时存储区域,并且也能够参考例如存储于未图示的EEPROM(Electronically Erasable and Programmable Read Only Memory:电子可擦和可编程只读存储器)、闪存等非临时性记录介质中的数据。作为“非临时性记录介质”,也可以使用存储部200。另外,上述“非临时性记录介质”不包括载波信号传播信号本身这样的非有形的记录介质。
[0082] 使用了上述结构的处理部100的处理的详细内容在后面叙述。
[0083] [存储部的结构]
[0084] 存储部200由硬盘、半导体存储器等各种存储器件及其控制部构成,能够存储被摄体的图像(输入图像、分块图像)、学习数据、学习模型所使用的权重参数、学习方法的执行条件及其结果、图像处理方法的执行条件及其结果等。
[0085] [显示部的结构]
[0086] 显示部300具备例如由液晶显示器等显示器构成的监视器310(显示装置),能够显示被摄体的图像或学习方法、学习程序、图像处理方法的执行结果等。也可以由触摸面板型显示器构成监视器310,并且接受用户的指示输入。
[0087] [操作部的结构]
[0088] 操作部400具备作为操作器件的一例的键盘410及鼠标420,用户能够经由操作部400进行与本发明所涉及的学习方法、学习程序及图像处理方法的执行、结果显示等相关的操作。操作部400也可以具备其他操作设备。
[0089] [学习方法的处理]
[0090] 对本实施方式所涉及的学习方法(学习程序)的处理进行说明。图5是表示学习方法的处理的概要的流程图。另外,以下说明是本发明中的处理的一例,可以根据需要改变处理的顺序。
[0091] [处理的概要]
[0092] (学习数据的获取)
[0093] 当处理开始时,数据获取部104(处理器)获取由分块图像、及针对分块图像的单位区域的类别标签的正确答案数据这一对构成的学习数据(步骤S100:数据获取工序、数据获取处理)。数据获取部104可以从存储部200获取学习数据,也可以从外部数据库510获取。并且,数据获取部104可以一次性获取学习数据,也可以分多次获取。
[0094] (分块图像的分割)
[0095] 检测器106(处理器)使用上述学习模型224及学习数据进行所获取的分块图像的分割,并输出单位区域属于各类别的准确性(步骤S110:判定工序、判定处理)。“类别”设定例如为“瑕疵”、“缺陷”、“正常”(除“瑕疵”“缺陷”以外)。在此,能够将“瑕疵”定义为被摄体的不连续部分,并且,能够将“缺陷”定义为超过由规格或规格明细书等规定的标准导致检查结果不合格的瑕疵(例如,大小或程度超过标准的瑕疵),但在本发明中,可以不区分瑕疵和缺陷将两者均作为“缺陷”来处理。并且,也可以将瑕疵及缺陷分为多个种类(例如异物、气泡、孔、裂纹、剥离等)或程度(个数、大小、密度等),种类和/或程度不同的瑕疵及缺陷作为不同的类别来处理。另外,优选根据分类为哪种类别,预先设定检测器106(学习模型224)的层结构(全结合层的有无或输出的个数等),及准备与所分类的类别的种类、个数、程度等匹配的正确答案数据。
[0096] 另外,在本发明中,“单位区域”是由1个像素或多个像素构成的区域。
[0097] 以下,对按每一个像素分类为“缺陷”和“正常”2个类别的情况、即单位区域由1个像素构成而不区分瑕疵和缺陷的情况进行说明。并且,检测器106输出各像素属于缺陷类别的准确性q(q∈[0,1])。
[0098] (判定是否检测了特定类别)
[0099] 判定部108(处理器)按每一个分块图像(每一个第2单位区域),根据关于各像素的准确性q及正确答案数据p,按每一个分块图像,判定学习模型224是否准确地检测到属于特定类别(缺陷类别)的第2单位区域(步骤S120:判定工序、判定处理)。
[0100] (加权及更新)
[0101] 加权部110(处理器)根据上述判定结果,以分块图像单位对损失(损失函数)设定权重(步骤S130:加权工序、加权处理),更新部1.12(处理器)根据所加权的结果,更新检测器106的学习模型(步骤S140:更新工序、更新处理)。更新部112(处理器)使处理器102的各部重复步骤S100~S140的处理直到满足结束条件(直到在步骤S150中成为YES:是)。结束条件例如为结束所有学习数据的学习、结束规定次数的重复、损失收敛等。
[0102] [处理的详细情况]
[0103] 参考图6的流程图说明上述学习方法的处理的详细情况。
[0104] [类别的判定]
[0105] 判定部108(处理器)将检测器106(学习模型)所输出的准确性q(各像素属于缺陷类别的准确性)与阈值θ比较(步骤S122:判定工序、判定处理)。判定部108在准确性为阈值以上的情况下(q≥θ),能够判定为“判断对象的像素属于缺陷类别(特定类别)」。
[0106] [针对损失的加权及损失函数的导出]
[0107] 加权部110(处理器)将关于每一个分块图像的损失即CE损失作为第1损失,并如下以分块图像单位进行加权。
[0108] 加权部110根据各像素的准确性q和正确答案数据p并通过上述式(1)算出CE损失(步骤S131:加权工序、加权处理)。并且,加权部110将准确性q与正确答案数据p(步骤S132:加权工序、加权处理),在误检测或未检测到的情况(步骤S133中为是;参考以下式(4))、即比较结果为特定结果的情况下,以分块图像单位设定α=1作为针对CE损失的第1权重(步骤S134),在除误检测或未检测以外的情况(步骤S133中为NO:否;参考以下式(4))、即比较结果不是特定结果的情况下,以分块图像单位设定α=0作为第1权重。如此,加权部110在比较结果为特定结果的情况下,将相比比较结果不是特定结果的情况更大的权重设定为第1权重。
[0109] 加权部110(处理器)将进行了加权而得到的结果在由分块图像构成的批量整体中平均,导出第1损失函数(参考以下式(3),损失函数)(步骤S138;损失函数导出工序、损失函数导出处理)。
[0110] 上述加权及损失函数的导出能够通过以下式(3)、(4)表示。另外,在式(3)中,B为构成批量的分块图像的个数,N为批量的总像素数(=B×H×W,H、W为输入分块图像的尺寸)。
[0111] [数式3]
[0112]
[0113] [数式4]
[0114]
[0115] 式(4)中的θ∈(0,1)表示预先规定的缺陷概率的阈值,处理器102在准确性q为阈值θ以上时,其像素判定为有缺陷。此时,在误检测实际上不是缺陷的区域的情况(第1情况)、或者尽管是缺陷但未检测到的情况(第2情况)下,在式(3)中成为α(Ii)=1,损失添加到该分块中。相反,产生随着学习的进展,即使是缺陷一部也成功检测到的像素时,α(Ii)=0(第3情况),因此学习的优先度相对减少。
[0116] 详细说明式(4)中的加权时,“(作为分块的)误检测”定义为“在分块内的所有像素中正确答案标签p=0,且在分块内的任意1个像素中学习模型的输出值(准确性)q为阈值θ以上(q≥θ)的情况”,“(作为分块的)未检测”定义为“在分块中至少存在1个正确答案标签p=1的像素,且在分块内的所有像素中学习模型的输出值(准确性)q小于阈值(q<θ)的情况”。若为“(作为分块的)误检测”或“(作为分块的)未检测”,则α=1,除此以外的情况均成为α=0。另外,在式(4)中,并非针对片内的像素一一判定″未检测″和″误检测″,而是针对分块整体(第2单位区域)根据上述基准来确定1个判定结果。
[0117] [基于加权的对学习的影响]
[0118] 对基于上述加权的对学习的影响进行说明。例如,如图7的(a)部分(示出分块图像中的缺陷的正确答案范围的图)所示,考虑在分块图像920中存在巨大的缺陷922的情况(在缺陷922内侧的像素中p=1,外侧的像素中p=0)。并且,如图7的(b)部分所示,在该情况下,基于检测器106的检测结果在分块图像920A中检测比正确答案窄的区域作为缺陷922A(在缺陷922A内侧的像素中p=1,外侧的像素中p=0)。
[0119] 在该情况下,根据上述加权,α=0(判定为准确地检测)。其能够解释为“只要至少在其一部分检测到巨大的缺陷,则消除未检测的惩罚(加权为α=1)“,反过来说,“无需检测巨大的缺陷的区域‘整体’”。
[0120] 在图7所示的例子的情况下,根据以往的方法,若以像素级捕捉则无法检测到的面积大,因此欲根据其无法检测到的面积进一步学习巨大的缺陷922(加权)。相对于此,根据本发明的方法,这种巨大的缺陷922的学习在早期阶段结束(权重成为零)。相对于此,在微小的缺陷的情况下,原本例如由几个像素左右构成,“只要检测到缺陷的一部即可”之类的标准不会放宽条件。
[0121] 其结果,根据本发明的方法,仅对于巨大的缺陷“检测到”的标准放宽,微小的缺陷相对容易学习。
[0122] 从以上可知,根据本实施方式,即使是微小的缺陷也容易重点地学习未检测的区域,在提高检测率这样的观点上有利。
[0123] [损失函数的组合]
[0124] 在学习模型的更新中,加权部110(处理器)可以单独使用上述第1损失函数(Lweighted)作为损失函数,也可以使用组合Lweighted、及与针对批量的损失函数且与Lweighted不同的损失函数即第2损失函数而成的函数作为损失函数。例如,如以下式(5),可以将通常的CE损失作为第2损失函数(LCE),将以任意系数(λ>0)将第1损失函数与第2损失函数相加而成的函数作为损失函数(步骤S139:损失函数导出工序、损失函数导出处理)。
[0125] [数式5]
[0126] L=LCE+λLweighted…(5)
[0127] 另外,关于损失函数的进一步变化,在“损失函数的变化”一项中进行后述。
[0128] 处理器102可以根据经由操作部400的用户的操作确定使用哪一种损失函数,或者使用哪一种权重,也可以自动确定而无需用户操作。
[0129] [学习模型的更新]
[0130] 更新部112(处理器)在处于更新学习模型224的时刻的情况下(步骤S142中为是),使用所导出的损失函数,更新学习模型224的参数(步骤S144:更新工序、更新处理)。例如,更新部112更新学习模型的参数使损失函数最小化。另外,步骤S142中的更新时刻可以按每一个分块图像,也可以按每一个步骤(每一个批量),也可以按多个步骤。
[0131] [实施例]
[0132] 针对4px以下的微小的缺陷与10000px以上的巨大的缺陷并存的数据组,在以下条件下进行分割学习,在将CE损失用作损失函数的条件(以往的方法)下,FMLD(Foreign Material Less Dense:低密度异物缺陷)及FMMD(Foreign Material More Dense:高密度异物缺陷)的检测概率分别为74.5%及74.1%,但是在使用了上述实施方式的带有权重的CE损失的条件(本发明的方法)中,在合计200Epoch后的学习结果中,FMLD、FMMD的检测概率分别提高到89.7%、88.1%。在此,“检测概率”为将带有正确答案标签的连续区域作为“1个”计数时,针对所存在的总缺陷个数检测成功的个数。
[0133] <详细的条件>
[0134] (a)将上述加权适用于每一个Epoch的损失函数的导出。
[0135] (b)加权的条件适用式(4),并设定了式(5)的权重参数(系数)λ=0.1。
[0136] (c)判定的阈值固定为θ=0.5。
[0137] [第1实施方式的效果]
[0138] 如以上说明,根据第1实施方式所涉及的学习方法、学习装置及学习程序,能够获得检测率良好的学习模型。
[0139] [学习方法中的处理的变化]
[0140] [图像的变化]
[0141] 在本发明中,能够将放射线图像、可见光图像、近红外光图像等用于学习(或者学习完成后的图像处理)中,获取图像的频带并无特别限定。
[0142] [基于图像分割的分块图像的获取]
[0143] 在上述步骤S100中获取的分块图像有时不是与输入到检测器106(学习模型224)的图像的尺寸匹配的尺寸的图像。具体而言,有时拍摄到被摄体的图像(例如,几千像素×几千像素左右)的尺寸大于分块图像(例如,几十像素×几十像素~几百像素×几百像素程度)。在这种情况下,数据获取部104(处理器)能够获取根据输入到检测器106的图像的尺寸分割所输入的图像而成的图像作为分块图像(数据获取工序、数据获取处理)。由此,能够减轻对CPU、GPU等处理器或RAM等存储器的负荷。
[0144] 并且,数据获取部104在获取分块图像时,可以代替输入图像的分割(切割为分块图像)或者除乐分割之外,进行图像的尺寸调整(数据获取工序、数据获取处理)。例如,数据获取部104能够将矩形的图像整体输入为正方形。
[0145] 而且,数据获取部104(处理器)可以获取与欲检测的对象的尺寸(检测尺寸)对应的尺寸的分块图像。例如,如图8的流程图所示,数据获取部104输入图像及正确答案数据(步骤S102),并设定欲检测的对象(例如,被摄体的瑕疵和/或缺陷)的尺寸(步骤S104)。数据获取部104能够根据经由操作部400的用户的操作,或者按照所规定的条件自动(不经由用户的操作)设定对象的尺寸。
[0146] 数据获取部104根据所设定的尺寸将所输入的图像分割为分块图像(步骤S106)。可以进行上述尺寸调整。以后的处理与关于图5、6的流程图所述的处理相同。
[0147] [判定的阈值]
[0148] 处理器102(处理器)可以在学习过程中改变阈值θ。例如,根据“在学习的初期由于无法高精度地检测到瑕疵或缺陷,因此降低阈值(检测门槛、标准),随着学习的进行能够高精度地检测,随之提高阈值。”的想法,能够在学习的初期降低阈值,之后再提高。
[0149] [加权的变化]
[0150] 在上述第1实施方式中,作为针对分块图像的权重,在误检测或未检测的情况下(第1情况、第2情况)设定为α=1,在除此以外的場合(第3情况)情况下设定为α=0,但在本发明中,针对分块图像的加权并不限定于这种方式。除了上述方式以外,例如也可以通过将未检测的情况(第2情况)的权重设为大于误检测的情况(第1情况)的权重,提高微小的缺陷的检测率。图9是表示这种情况的加权处理的流程图。如图9所示,加权部110(处理器)能够在未检测的情况(在步骤S133A中为是)下,作为权重设定α=2(步骤S134A),在误检测的情况(在步骤S136中为是)下,设定α=1(步骤S137A),在除此以外的情况下(步骤S136中为否)设定为α=0。
[0151] [损失函数的变化]
[0152] 在上述第1方式中,对基于CE损失的LCE、Lweighted或这些的组合作为损失函数的情况进行了说明,但在本发明中,也能够使用与这些不同的损失函数。例如,加权部110(处理器)能够将均方和误差、Dice loss、IoU loss(Jaccard loss)、Tversky loss、Focal loss、这些的组合、以及这些与LCE和/或Lweighted的组合用作损失函数。在组合多个损失函数的情况下,如以下式(6),能够以任意个数、任意系数组合每一个损失函数而作为总损失函数Ltotal(损失函数)(损失函数导出工序、损失函数导出处理)。另外,优选Lweighted的系数大于0。
[0153] [数式6]
[0154]
[0155] 另外,在式(6)中,K为组合的损失函数的个数且为1以上的整数,λi为针对每一个损失函数的系数(任意实数),Li为每一个损失函数且为上述LCE、Lweighted、均方和误差、Dice loss、IoU loss(Jaccard loss)、Tversky loss、Focal loss等。
[0156] [作为图像处理装置的动作]
[0157] 完成上述学习后,检测器106的学习模型224成为已学习模型。即,学习完成后的学习装置10能够作为图像处理装置进行动作。根据该图像处理装置,能够使用通过本发明所涉及的学习方法学习到的已学习模型,并以良好的检测率检测被摄体的瑕疵和/或缺陷。
[0158] 以上,对本发明的实施方式及其变化进行了说明,但本发明并不限定于上述方式,可以在不脱离本发明的精神的范围内进行各种变形。
[0159] 符号说明
[0160] 10‑学习装置,100‑处理部,102‑处理器,104‑数据获取部,106‑检测器,108‑判定部,110‑加权部,112‑更新部,114‑显示控制部,116‑记录控制部,118‑通信控制部,130‑ROM,150‑RAM,200‑存储部,224‑学习模型,250‑输入层,252‑中间层,254‑输出层,256‑卷积层,258‑池化层,260‑全结合层,300‑显示部,310‑监控器,400‑操作部,410‑键盘,420‑鼠标,500‑外部服务器,510‑外部数据库,900‑巨大的缺陷,902‑区域,910‑微小的缺陷,912‑区域,F1‑滤波器,F2‑滤波器,NW‑网络,S100~S150‑学习方法的各步骤。

当前第1页 第1页 第2页 第3页