技术领域
[0001] 本发明涉及一种图像判定装置、学习方法及图像判定程序。
相关背景技术
[0002] 以往,在工厂自动化(Factory Automation,FA)领域中,将使用图像处理的自动控制广泛地加以实用。例如,已实现如下工序:拍摄工件等检查对象,基于从所述拍摄的图像中提取的特征量,检查所述工件是否良好。
[0003] 例如专利文献1中公开了下述装置,此装置使用识别器的输出结果来判定检查对象有无缺陷,所述识别器将在多个拍摄条件下拍摄的检查对象的图像用于学习用数据进行了学习。具体而言,专利文献1所记载的装置具有:学习用提取部件,从至少两个图像中分别提取所述图像的特征量,所述至少两个图像基于在至少两个不同的拍摄条件下对已知外观是否良好的对象物进行拍摄所得的图像;选择部件,从涵盖由所述学习用提取部件从所述至少两个图像中提取的特征量的、特征量中,选择用于判定对象物是否良好的特征量;以及生成部件,基于由所述选择部件所选择的所述特征量,生成判定对象物是否良好的识别器。
[0004] 现有技术文献
[0005] 专利文献
[0006] 专利文献1:日本专利特开2017‑49974号公报
具体实施方式
[0038] 以下,基于附图对本发明的一侧面的实施方式(以下也表述为“本实施方式”)进行说明。但是,以下说明的实施方式在所有方面仅为本发明的例示。当然可在不偏离本发明的范围的情况下进行各种改良或变形。即,实施本发明时,也可采用与实施方式相应的具体结构。另外,通过自然语言来说明本实施方式中出现的数据,但更具体而言,以计算机可识别的伪语言、命令、参数、机器语言等来指定。
[0039] §1适用例
[0040] 图1为表示本发明的实施方式的图像判定系统1的结构例的图。首先,对适用本发明的场景的一例进行说明。本实施方式的图像判定系统1利用图像判定装置100所包括的学习模型对通过拍摄检查对象从而生成的输入图像进行分析,进行缺陷检查或对象的分类。学习模型可使用学习数据,以将与检查对象有关的缺陷的有无或检查对象的种类分类的方式事先学习。而且,学习模型在获得了新的学习数据的情况下,可进行追加学习。本实施方式的图像判定系统1在进行学习模型的追加学习的情况下,以明确得知着眼于输入图像的何种特征而获得了判定结果的方式来更新学习模型。另外,检查对象例如包含处于制造过程的零件、制品等工件(Work piece)等。
[0041] 如图1所示,图像判定系统1例如通过对拍摄工件4所得的输入图像执行图像测量处理,从而实现工件4的外观检查或外观测量,所述工件4在带式输送器2上搬送且为检查对象。以下的说明中,作为图像测量处理的典型例,对适用于工件4表面的缺陷有无的检查等的示例进行说明,但不限于此,也可应用于缺陷种类的确定、缺陷的外观形状的尺寸测量、工件4的种类的确定等。
[0042] 在带式输送器2的上部配置有作为拍摄部的摄像机102,以摄像机102的拍摄视野6包含带式输送器2的规定区域的方式构成。通过摄像机102的拍摄而生成的图像数据(以下也称为“输入图像”)向图像判定装置100发送。摄像机102进行的拍摄是周期性地执行或在发生事件时执行。
[0043] 图像判定装置100经由上位网络8而与可编程逻辑控制器(Programmable Logic Controller,PLC)10及数据库装置12等连接。图像判定装置100的测量结果也可向PLC10和/或数据库装置12发送。另外,在上位网络8,也可除了PLC10及数据库装置12以外,还连接有任意的装置。
[0044] 图像判定装置100也可连接有用于显示处理中的状态或测量结果等的显示器104、以及作为受理用户操作的输入部的键盘106及鼠标108。
[0045] 图像判定装置100包括通过机器学习而生成的学习模型。学习模型包含:一个或多个特征提取器,受理图像作为输入,输出表示图像的特定特征的特征数据;以及判定器,基于从一个或多个特征提取器输出的特征数据,输出表示与图像有关的判定结果的输出数据。此处,一个或多个特征提取器例如可包含提取图像所含的边缘的边缘提取器、提取图像所含的平面区域的平面部提取器、提取图像的背景花纹的背景花纹提取器、提取图像所含的二值化区域的二值化区域提取器等。一个或多个特征提取器分别可为提取人容易理解的单一特征那样的模型,也可为机器学习模型,也可为规则库(rulebase)模型。判定器受理一个或多个特征数据作为输入,输出表示与图像有关的判定结果的输出数据。输出数据例如可为表示检查对象的缺陷有无、缺陷的种类、缺陷的外观形状的尺寸、检查对象的种类等的数据。判定器例如可由神经网络构成,可使用学习数据以输出所需的输出数据的方式事先学习。
[0046] 在生产线上流动的工件4的种类或拍摄条件等检查条件视生产线而为各种各样,未必与学习时的条件一致。因此,若将事先学习的学习模型用于生产线,则有时输出错误的判定结果。因此,有时收集学习模型无法正确判定的图像,进行学习模型的追加学习。此时,若无任何限制地进行学习模型的更新,则有时不明确是否着眼于当初设想的特征进行判定,无法说明着眼于图像的何种特征获得了判定结果。因此,在将学习模型导入至生产线的情况下,有时难以说明学习模型的可靠性,有时导致导入受阻。
[0047] 鉴于此种情况,本实施方式的图像判定装置100在进行追加学习的情况下,不将学习模型所含的一个或多个特征提取器加以变更,而更新判定器,而明确着眼于图像的何种特征获得了判定结果。一个或多个特征提取器分别提取图像的特定特征,因而即便通过追加学习而更新了判定器,也可明确着眼于图像的何种特征获得了判定结果。由此,在将学习模型导入至生产线的情况下,容易说明学习模型的可靠性,可使导入不受阻。
[0048] §2结构例
[0049] [硬件结构]
[0050] 图2为表示本实施方式的图像判定装置100的硬件结构的图。作为一例,图像判定装置100也可使用按照通用的计算机架构所构成的通用计算机来实现。图像判定装置100包含处理器110、主存储器(主存储部)112、摄像机接口114、输入接口116、显示接口118、通信接口120及贮存器(辅助存储部)130。这些组件典型而言经由内部总线122相互可通信地连接。
[0051] 处理器110通过将贮存器130中保存的程序在主存储器112中展开并执行,从而实现下文中使用下图详述的功能及处理。主存储器112包含易失性存储器,作为处理器110执行程序所需要的工作存储器发挥功能。
[0052] 摄像机接口为获取部的一例。摄像机接口114与摄像机102连接,获取由摄像机102所拍摄的输入图像。摄像机接口114也可对摄像机102指示拍摄时机等。
[0053] 输入接口116与键盘106及鼠标108等用户进行操作的输入部连接。输入接口116获取表示用户对输入部进行的操作等的指令。
[0054] 显示接口118与作为显示部的显示器104连接。显示接口118向显示器104输出通过处理器110执行程序从而生成的各种处理结果。
[0055] 通信接口120负责用于经由上位网络8与PLC10及数据库装置12等进行通信的处理。
[0056] 贮存器130保存用于实现学习模型136的图像处理程序132及操作系统(Operating System,OS)134等用于使计算机作为图像判定装置100发挥功能的程序。贮存器130也可还保存学习模型136、从摄像机102获取的输入图像138、及用于学习模型136的学习的学习数据140。另外,学习数据140可经由上位网络8从数据库装置12等外部设备获取,可暂时保存于贮存器130。
[0057] 保存于贮存器130的图像处理程序132也可经由数字多功能光盘(Digital Versatile Disc,DVD)等光学记录介质或通用串行总线(Universal Serial Bus,USB)存储器等半导体记录介质等而安装于图像判定装置100。或者,图像处理程序132也可从网络上的服务器装置等下载。
[0058] 本实施方式的图像处理程序132也可不包含用于实现本实施方式的功能的所有软件模块,而通过与OS134协作从而提供必要的功能。
[0059] 本实施方式的图像处理程序132也可组入至其他程序的一部分而提供。此时,图像处理程序132自身中也不含如所述般组合的其他程序所含的模块,而与所述其他程序协作来执行处理。如此,本实施方式的图像处理程序132也可为组入至其他程序的实施例。
[0060] 图2中示出了使用通用计算机来实现图像判定装置100的示例,但不限于此,也可使用专用电路(例如特殊应用集成电路(Application Specific Integrated Circuit,ASIC)或现场可编程门阵列(Field‑Programmable Gate Array,FPGA)等)来实现其全部或一部分功能。进而,也可使经网络连接的外部装置负责一部分处理。
[0061] [功能结构]
[0062] 图3为表示本实施方式的图像判定装置100的功能块的图。图像判定装置100包括保存于贮存器130的学习模型136、编辑部150及学习部152。
[0063] 学习模型136包含一个或多个特征提取器136a及判定器136b。一个或多个特征提取器136a分别基于检查对象的图像,输出表示图像的特定特征的特征数据。判定器136b基于从一个或多个特征提取器136a输出的特征数据,输出表示与图像有关的判定结果的输出数据。
[0064] 学习部152使用包含学习图像及标签数据的学习数据140,使判定器136b以下述方式进行学习,即:基于将学习图像输入至一个或多个特征提取器136a时输出的特征数据,输出表示与学习图像关联的标签数据的输出数据。此处,学习图像为预先拍摄的检查对象的图像。而且,标签数据为表示检查对象的状态的数据,例如可为表示与检查对象有关的缺陷的有无、缺陷的种类、缺陷的外观形状的尺寸、检查对象的种类等的数据。学习模型136的学习处理可在图像判定装置100组入至生产线前执行。
[0065] 学习部152使用新的学习数据,使判定器136b以下述方式进行追加学习,即:基于将新的学习数据所含的检查对象的图像输入至一个或多个特征提取器136a时输出的特征数据,由判定器136b输出表示与图像关联的标签数据的输出数据。此处,追加学习也可对一个或多个特征提取器136a进行而非对判定器136b进行。如此,可将由一个或多个特征提取器136a提取的特征固定,并且以可更高精度地进行图像判定的方式更新判定器136b。
[0066] 学习部152可通过执行判定器136b的参数的更新以及输入至判定器136b的特征数据的权重的更新中的至少任一者,从而进行判定器136b的追加学习。此处,例如在判定器136b由神经网络构成的情况下,判定器136b的参数可为节点的权重或偏置(bias)。而且,在输入至判定器136b的特征数据为N种的情况下,特征数据的权重wi(i=1~N)可为满足N
Σi=1wi=1的正实数。学习部152在判定器136b由神经网络构成的情况下,可通过反向传播(backpropagation)的方法来更新判定器136b的参数及输入至判定器136b的特征数据的权重。通过此种追加学习,能以更高精度地获得判定结果的方式更新判定器。
[0067] 学习部152也可与判定器136b的追加学习一并,更新一个或多个特征提取器136a的一部分特征提取器的参数。例如,在一个或多个特征提取器136a的一部分特征提取器由神经网络构成,且判定器136b由神经网络构成的情况下,学习部152可通过反向传播的方法来更新判定器136b的参数、输入至判定器136b的特征数据的权重以及一个或多个特征提取器136a的一部分特征提取器的参数。如此,通过追加学习将一个或多个特征提取器136a的一部分特征提取器也一并更新,由此能以更高精度地进行特征提取且获得更高精度的判定结果的方式更新判定器136b。
[0068] 编辑部150基于输入而进行一个或多个特征提取器136a的编辑。可通过将一个或多个特征提取器136a编辑,从而变更提取的图像的特征。在通过编辑部150进行了一个或多个特征提取器136a的编辑的情况下,学习部152可使用从编辑后的一个或多个特征提取器136a输出的特征数据,进行判定器136b的追加学习。如此,可灵活地变更提取的图像的特征,执行适于使用环境的图像判定。
[0069] 编辑部150可基于输入而追加输出表示图像的特定特征的特征数据的、新的特征提取器。在追加了新的特征提取器的情况下,学习部152可使用从包含所追加的特征提取器的多个特征提取器136a输出的特征数据,对判定器136b进行追加学习。如此,可明确对判定器136b的输入中追加的图像的特征而进行学习模型136的追加学习。由于追加的特征提取器明知,因而在学习模型136作出的判定在追加前后发生了变化的情况下其原因明知,也容易使学习模型136事后回到原本的结构。
[0070] 编辑部150可基于输入而将一个或多个特征提取器136a的一部分删除。在删除了特征提取器的情况下,学习部152可使用从更新后的一个或多个特征提取器136a输出的特征数据,进行判定器136b的追加学习。如此,可明确从对判定器136b的输入中删除的图像的特征而进行学习模型136的追加学习。由于删除的特征提取器明知,因而在学习模型136作出的判定在删除前后发生了变化的情况下其原因明知,也容易使学习模型136事后回到原本的结构。
[0071] 编辑部150可基于输入而对一个或多个特征提取器136a的参数进行编辑。
[0072] 在编辑了一个或多个特征提取器136a的参数的情况下,学习部152可使用从编辑后的一个或多个特征提取器136a输出的特征数据,进行判定器136b的追加学习。如此,可明确与输入至判定器136b的图像的特征有关的变更点而进行学习模型136的追加学习。由于经编辑的特征提取器明知,因而在学习模型136作出的判定在编辑前后发生了变化的情况下其原因明知,也容易使学习模型136事后回到原本的结构。
[0073] §3动作例
[0074] 图4为表示本实施方式的学习模型136的结构例的图。本示例的学习模型136包含边缘提取器136a‑1、平面部提取器136a‑2及背景花纹提取器136a‑3、以及判定器136b。
[0075] 边缘提取器136a‑1、平面部提取器136a‑2及背景花纹提取器136a‑3分别受理输入数据136i(检查对象的图像)作为输入,输出表示图像的特征的特征数据。此处,边缘提取器136a‑1提取图像所含的边缘,平面部提取器136a‑2提取图像所含的平面区域,背景花纹提取器136a‑3提取图像的背景花纹。
[0076] 判定器136b对从边缘提取器136a‑1输出的特征数据附加权重w1,对从平面部提取器136a‑2输出的特征数据附加权重w2,对从背景花纹提取器136a‑3输出的特征数据附加权重w3而输入,输出表示与输入数据136i(图像)有关的判定结果的输出数据136o。
[0077] 图5为表示本实施方式的学习模型136的编辑例的图。本示例中,表示通过编辑部150追加了特征提取器的示例。具体而言,表示了对图4所示的三个特征提取器追加了二值化区域提取器136a‑4的示例。本示例的学习模型136包含边缘提取器136a‑1、平面部提取器
136a‑2、背景花纹提取器136a‑3及二值化区域提取器136a‑4、以及判定器136b。
[0078] 二值化区域提取器136a‑4受理输入数据136i(检查对象的图像)作为输入,输出表示图像的特征的特征数据。此处,二值化区域提取器136a‑4提取图像所含的二值化区域。
[0079] 判定器136b对从边缘提取器136a‑1输出的特征数据附加权重w1,对从平面部提取器136a‑2输出的特征数据附加权重w2,对从背景花纹提取器136a‑3输出的特征数据附加权重w3,对从二值化区域提取器136a‑4输出的特征数据附加权重w4而输入,输出表示与输入数据136i(图像)有关的判定结果的输出数据136o。学习部152在追加了二值化区域提取器136a‑4的情况下,可使用新的学习数据,来更新判定器136b的参数及输入至判定器136b的特征数据的权重w1~权重w4。
[0080] 另外,本示例中对追加特征提取器的情况进行了说明,但关于删除特征提取器或编辑特征提取器的参数的情况,也可同样地进行判定器136b的追加学习。
[0081] 而且,例如不规则的黑色污垢开始附着于表面为白色的工件时,为了通过追加学习来检测黑色污垢,可通过编辑部150来追加二值化区域提取器136a‑4。而且,作为通过编辑部150来追加二值化区域提取器136a‑4的其他示例,可举出:对事先准备的一个或多个特征提取器136a新追加二值化处理的情况;或通过二值化处理来提取污垢的大致位置,与事先准备的一个或多个特征提取器136a一并进行缺陷检测的情况。
[0082] 图6为由本实施方式的图像判定装置100执行的图像判定处理的流程图。首先,图像判定装置100设定输出特征数据的一个或多个特征提取器136a,所述特征数据表示检查对象的图像的特定特征(S10)。
[0083] 随后,图像判定装置100将学习数据所含的学习图像输入至一个或多个特征提取器136a,将所输出的特征数据输入至判定器136b,以输出与学习数据所含的标签数据对应的输出数据的方式,进行判定器136b的学习(S11)。通过以上步骤,事先学习处理结束。
[0084] 随后,将图像判定装置100设置于生产线后,利用摄像机102来拍摄检查对象的图像(S12)。接着,图像判定装置100将新拍摄的图像输入至一个或多个特征提取器136a,将所输出的特征数据输入至判定器136b,通过表示与图像有关的判定结果的输出数据来判定图像(S13)。当然,也可反复进行图像的拍摄(S12)与判定处理(S13)。通过以上步骤,图像判定处理结束。
[0085] 图7为由本实施方式的图像判定装置100执行的学习模型136的追加学习处理的流程图。首先,图像判定装置100判定是否编辑特征提取器(S20)。是否编辑特征提取器可基于输入而决定。
[0086] 在编辑特征提取器的情况下(S20:是(YES)),图像判定装置100判定是否追加特征提取器(S21)。在基于输入而追加特征提取器的情况下(S21:是(YES)),图像判定装置100追加新的特征提取器(S22)。
[0087] 而且,图像判定装置100判定是否删除特征提取器(S23)。在基于输入而删除特征提取器的情况下(S23:是(YES)),图像判定装置100将所选择的特征提取器删除(S24)。
[0088] 而且,图像判定装置100判定是否编辑特征提取器的参数(S25)。在基于输入而编辑特征提取器的参数的情况下(S25:是(YES)),图像判定装置100基于输入对所选择的特征提取器的参数进行编辑(S26)。
[0089] 随后,图像判定装置100将新的学习数据所含的学习图像输入至编辑后的一个或多个特征提取器,将所输出的特征数据以规定的加权输入至判定器,以通过判定器的输出数据来再现新的学习数据所含的标签数据的方式,进行判定器的追加学习(S27)。
[0090] 此处,在也更新一个或多个特征提取器的一部分特征提取器的情况下(S28:是(YES)),图像判定装置100更新一个或多个特征提取器的一部分特征提取器的参数(S29)。
[0091] 另外,图像判定装置100也可反复进行更新判定器的参数、输入至判定器的特征数据的权重以及一个或多个特征提取器的一部分特征提取器的参数的处理,直到满足规定的条件为止。通过以上步骤,追加学习处理结束。
[0092] 以上所说明的实施方式是为了使本发明的理解容易,并非用于限定性地解释本发明。实施方式所包括的各元件及其配置、材料、条件、形状及尺寸等不限定于例示,可适当变更。而且,可将不同实施方式所示的结构彼此局部地替换或组合。
[0093] 另外,所述实施方式的一部分或全部也可如以下的附注那样记载,但不限于以下内容。
[0094] [附注1]
[0095] 一种图像判定装置(100),包括:
[0096] 一个或多个特征提取器(136a),分别基于检查对象的图像而输出表示所述图像的特定特征的特征数据;
[0097] 判定器(136b),基于从所述一个或多个特征提取器(136a)输出的所述特征数据,输出表示与所述图像有关的判定结果的输出数据;以及
[0098] 学习部(152),使用学习图像及标签数据的学习数据,使所述判定器(136b)以下述方式进行学习,即,基于将所述学习图像输入至所述一个或多个特征提取器(136a)时输出的所述特征数据,输出表示与所述学习图像关联的所述标签数据的所述输出数据,并且[0099] 所述学习部(152)使用新的学习数据,使所述判定器(136b)以下述方式进行追加学习,即,基于将所述新的学习数据所含的所述检查对象的图像输入至所述一个或多个特征提取器(136a)时输出的所述特征数据,由所述判定器(136b)输出表示与所述图像关联的标签数据的所述输出数据。
[0100] [附注2]
[0101] 根据附注1所记载的图像判定装置(100),其中,
[0102] 所述学习部(152)通过执行所述判定器(136b)的参数的更新以及输入至所述判定器(136b)的所述特征数据的权重的更新中的至少任一者,从而进行所述判定器(136b)的追加学习。
[0103] [附注3]
[0104] 根据附注1或2所记载的图像判定装置(100),其中,
[0105] 所述学习部(152)与所述判定器(136b)的追加学习一并,更新所述一个或多个特征提取器(136a)的一部分特征提取器(136a)的参数。
[0106] [附注4]
[0107] 根据附注1至3中任一项所记载的图像判定装置(100),还包括:
[0108] 编辑部(150),基于输入而进行所述一个或多个特征提取器(136a)的编辑。
[0109] [附注5]
[0110] 根据附注4所记载的图像判定装置(100),其中,
[0111] 所述编辑部(150)基于所述输入而追加输出表示所述图像的特定特征的特征数据的、新的特征提取器(136a)。
[0112] [附注6]
[0113] 根据附注4或5所记载的图像判定装置(100),其中,
[0114] 所述编辑部(150)基于所述输入而将所述一个或多个特征提取器(136a)的一部分删除。
[0115] [附注7]
[0116] 根据附注4至6中任一项所记载的图像判定装置(100),其中,
[0117] 所述编辑部(150)基于所述输入而对所述一个或多个特征提取器(136a)的参数进行编辑。
[0118] [附注8]
[0119] 一种学习方法,包括:
[0120] 使用包含学习图像及标签数据的学习数据,使判定器(136b)进行学习,所述判定器(136b)基于从一个或多个特征提取器(136a)输出的特征数据,输出表示与图像有关的判定结果的输出数据,所述一个或多个特征提取器(136a)基于检查对象的所述图像而分别输出表示所述图像的特定特征的所述特征数据,并且使所述判定器(136b)以下述方式进行学习,即,基于将所述学习图像输入至所述一个或多个特征提取器(136a)时输出的所述特征数据,而输出表示与所述学习图像关联的所述标签数据的所述输出数据;以及[0121] 所述学习部(152)使用新的学习数据,使所述判定器(136b)以下述方式进行追加学习,即,基于将所述新的学习数据所含的所述检查对象的图像输入至所述一个或多个特征提取器(136a)时输出的所述特征数据,由所述判定器(136b)输出表示与所述图像关联的标签数据的所述输出数据。
[0122] [附注9]
[0123] 一种图像判定程序,使图像判定装置(100)所包括的运算部作为下述部分发挥功能:
[0124] 一个或多个特征提取器(136a),分别基于检查对象的图像而输出表示所述图像的特定特征的特征数据;
[0125] 判定器(136b),基于从所述一个或多个特征提取器(136a)输出的所述特征数据,输出表示与所述图像有关的判定结果的输出数据;以及
[0126] 学习部(152),使用包含学习图像及标签数据的学习数据,使所述判定器(136b)以下述方式进行学习,即,基于将所述学习图像输入至所述一个或多个特征提取器(136a)时输出的所述特征数据,输出表示与所述学习图像关联的所述标签数据的所述输出数据,并且
[0127] 所述学习部(152)使用新的学习数据,使所述判定器(136b)以下述方式进行追加学习,即,基于将所述新的学习数据所含的所述检查对象的图像输入至所述一个或多个特征提取器(136a)时输出的所述特征数据,由所述判定器(136b)输出表示与所述图像关联的标签数据的所述输出数据。
[0128] 符号的说明
[0129] 1:图像判定系统
[0130] 2:带式输送器
[0131] 4:工件
[0132] 6:拍摄视野
[0133] 8:上位网络
[0134] 10:PLC
[0135] 12:数据库装置
[0136] 100:图像判定装置
[0137] 102:摄像机
[0138] 104:显示器
[0139] 106:键盘
[0140] 108:鼠标
[0141] 110:处理器
[0142] 112:主存储器
[0143] 114:摄像机接口
[0144] 116:输入接口
[0145] 118:显示接口
[0146] 120:通信接口
[0147] 122:内部总线
[0148] 130:贮存器
[0149] 132:图像处理程序
[0150] 134:OS
[0151] 136:学习模型
[0152] 136a:特征提取器
[0153] 136a‑1:边缘提取器
[0154] 136a‑2:平面部提取器
[0155] 136a‑3:背景花纹提取器
[0156] 136a‑4:二值化区域提取器
[0157] 136b:判定器
[0158] 136i:输入数据
[0159] 136o:输出数据
[0160] 138:输入图像
[0161] 140:学习数据
[0162] 150:编辑部
[0163] 152:学习部