CN107636698B - 程序生成装置、程序生成方法以及生成程序 - Google Patents
程序生成装置、程序生成方法以及生成程序 Download PDFInfo
- Publication number
- CN107636698B CN107636698B CN201580080754.5A CN201580080754A CN107636698B CN 107636698 B CN107636698 B CN 107636698B CN 201580080754 A CN201580080754 A CN 201580080754A CN 107636698 B CN107636698 B CN 107636698B
- Authority
- CN
- China
- Prior art keywords
- image
- program
- image processing
- evaluation value
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012545 processing Methods 0.000 claims abstract description 200
- 230000002068 genetic effect Effects 0.000 claims abstract description 17
- 238000011156 evaluation Methods 0.000 claims description 139
- 230000008569 process Effects 0.000 claims description 38
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000001914 filtration Methods 0.000 claims description 3
- 230000004083 survival effect Effects 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 24
- 238000000605 extraction Methods 0.000 description 17
- 239000004065 semiconductor Substances 0.000 description 17
- 230000006870 function Effects 0.000 description 9
- 238000003384 imaging method Methods 0.000 description 6
- 230000000052 comparative effect Effects 0.000 description 5
- 230000035772 mutation Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000005286 illumination Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 230000000873 masking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 241001377084 Actites Species 0.000 description 1
- 235000008317 Condalia obovata Nutrition 0.000 description 1
- 244000147935 Condalia obovata Species 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 230000010429 evolutionary process Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/96—Management of image or video recognition tasks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Genetics & Genomics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Physiology (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及程序生成装置、程序生成方法以及生成程序。使通过遗传编程生成图像处理程序时的生存选择合理化。运算部(1b)通过从分别组合了多个部分程序的多个图像处理程序(21、22、23、…)中选择图像处理程序(21),并变更图像处理程序(21)所包含的部分程序的一部分来生成图像处理程序(21a),并使用图像处理程序(21a)来执行针对输入图像(11)的图像处理,基于在图像处理的中途所输出的中间输出图像(31、32)和第一目标图像(12)的比较来判定是否将图像处理程序(21a)留给下一代,且在判定为留给下一代的情况下,将图像处理程序(21、22、23、…)的一个替换为图像处理程序(21a)。
Description
技术领域
本发明涉及程序生成装置、程序生成方法以及生成程序。
背景技术
通过遗传编程自动生成执行所希望的图像处理的图像处理程序的技术正受到关注。该技术使用输入图像和处理结果的图像(目标图像)的组这样的学习数据,通过遗传编程使将用于图像处理的部分程序(例如图像过滤的程序)组合而生成的图像处理程序最优化。
另外,作为利用了遗传编程的装置的例子,提出一种使用这一代的权重数据、和在前一代以前的世代所利用的权重数据来使变换器进化的遗传处理装置。
专利文献1:日本特开2011-14049号公报
非专利文献1:蓝木绅也、长尾智晴,“树形结构状图像变换的自动构建法ACTIT”,信息媒体学会杂志Vol.53,No.6,1999年6月20日,p.888-894
在通过遗传编程自动生成图像处理程序的处理中,例如使用如下那样的生存选择方法。使用与在学习的过程中所生成的个体对应的程序来处理学习数据所包含的输入图像。将作为处理结果而输出的输出图像与学习数据所包含的目标图像相比较,并基于其比较结果来判定是否将个体留给下一代。
然而,在该方法中,存在有时根据图像处理的内容而促进学习的有用的个体而被淘汰这样的问题。这个问题会成为图像处理程序的生成处理花费较长的时间的原因。
发明内容
在一个方面,本发明的目的在于提供能够使通过遗传编程生成图像处理程序时的生存选择合理化的程序生成装置、程序生成方法以及生成程序。
在一个方案中,提供通过遗传编程来生成程序的程序生成装置。该程序生成装置具有存储部和运算部。存储部存储包括输入图像和第一目标图像的学习数据。此处,第一目标图像表示在将输入图像变换为第二目标图像的处理的中途所输出的图像。运算部通过从分别组合了多个部分程序的多个图像处理程序中选择第一程序,并变更第一程序所包含的部分程序的一部分来生成第二程序,使用第二程序来执行针对输入图像的图像处理,并基于在图像处理的中途所输出的中间输出图像和第一目标图像的比较来判定是否将第二程序留给下一代,且在判定为将第二程序留给下一代的情况下,将多个图像处理程序的一个替换为第二程序。
另外,在一个方案中,提供计算机执行与上述的程序生成装置同样的处理的程序生成方法。
并且,在一个方案中,提供使计算机执行与上述的程序生成装置同样的处理的生成程序。
在一个方面,通过遗传编程能够使生成图像处理程序时的生存选择合理化。
本发明的上述和其它目的、特征和优点通过表示作为本发明的例子而优选的实施方式的附图与相关联的以下说明而更加清楚。
附图说明
图1是表示第一实施方式所涉及的程序生成装置的构成例以及处理例的图。
图2是表示图像处理程序的生成处理过程的比较例的图。
图3是表示交叉的例子的图。
图4是表示突然变异的例子的图。
图5是表示图像处理的例子的图。
图6是表示第二实施方式中的个体的评价过程的概要的图。
图7是表示图像处理装置的硬件构成例的图。
图8是表示图像处理装置具备的处理功能的构成例的框图。
图9是表示学习数据的第一例的图。
图10是表示学习数据的第二例的图。
图11是表示程序生成处理过程的例子的流程图(其1)。
图12是表示程序生成处理过程的例子的流程图(其2)。
图13是表示最终评价值以及权重系数的变化的例子的图。
图14是用于对使用于权重系数的计算的调制表格进行说明的图。
图15是表示第三实施方式中的程序生成处理过程的例子的流程图(其1)。
图16是表示第三实施方式中的程序生成处理过程的例子的流程图(其2)。
具体实施方式
以下,参照附图对本发明的实施方式进行说明。
〔第一实施方式〕
图1是表示第一实施方式所涉及的程序生成装置的构成例以及处理例的图。程序生成装置1是通过遗传编程来生成图像处理程序的装置。
程序生成装置1具有存储部1a和运算部1b。存储部1a例如作为RAM(Random AccessMemory:随机存取存储器)等易失性存储装置,或者HDD(Hard Disk Drive:硬盘驱动器)、闪存等非易失性存储装置来安装。运算部1b例如是处理器。
存储部1a存储学习数据10。学习数据10包括输入图像11、第一目标图像12以及第二目标图像13。第二目标图像13是在对输入图像11实施了图像处理的情况下,成为作为其处理结果而输出的图像的目标的图像。另一方面,第一目标图像12是在实施了将输入图像11变换为第二目标图像13那样的图像处理的情况下,成为在该图像处理的中途的某个阶段所输出的图像的目标的图像。例如对输入图像11中的特定的图像区域实施特定的处理这样的图像处理的情况下,作为第一目标图像12,能够使用区分开图像中的该特定的图像区域、和除此以外的图像区域(背景区域)的图像。各图像区域例如能够通过将特定的图像区域的像素值设为最大值、将背景区域的像素值设为最小值(0)等的像素值的分配来进行区分。
此外,也可以在存储部1a中存储多组学习数据10。
另外,存储部1a也可以存储程序群20。程序群20是运算部1b的处理中所利用的数据,包括多个图像处理程序21、22、23、…。程序群20所包含的图像处理程序21、22、23、…分别通过将多个部分程序组合来生成。部分程序是用于执行图像滤波器等图像处理的程序部件。每当程序群20的世代被更新时,程序生成装置1通过优先地使程序群20中适应度高的图像处理程序留下,从而生成执行所希望的图像处理的图像处理程序。
运算部1b从程序群20选择图像处理程序(步骤S1)。此处,作为例子,假设选择图像处理程序21。接下来,运算部1b通过对选择出的图像处理程序21所包含的部分程序的一部分进行变更来生成图像处理程序21a。该处理过程是使图像处理程序21进化的过程(步骤S2)。在该进化过程中,例如进行图像处理程序21与从程序群20选择出的其它图像处理程序之间的交叉、图像处理程序21或者该交叉后的程序的突然变异等。
假设通过进化过程,例如生成组合了部分程序P1~P3的图像处理程序21a。此外,图1中的“In”表示图像处理程序21a的输入部,“Out”表示图像处理程序21a的输出部。
接下来,运算部1b使用图像处理程序21a来执行针对输入图像11的图像处理(步骤S3)。运算部1b在该图像处理的中途输出中间输出图像。例如中间输出图像是作为图像处理程序21a所包含的部分程序P1~P3中除了最终段所编入的部分程序P3之外的部分程序P1、P2的各个的处理结果而被输出的图像。在图1的例子中,输出中间输出图像31作为部分程序P1的处理结果,输出中间输出图像32作为部分程序P2的处理结果。
接下来,运算部1b判定是否将所生成的图像处理程序21a留给下一代(步骤S4)。该步骤S4的处理包括对中间输出图像31、32和第一目标图像12进行比较的处理(步骤S4a)。在该步骤S4a中,例如输出图像间的类似度作为比较结果。另外,如图1的例子那样在步骤S4a中比较多个中间输出图像31、32和第一目标图像12的情况下,作为其比较结果,例如输出中间输出图像31、32与第一目标图像12的各类似度的最大值。运算部1b基于步骤S4a中的比较结果来判定是否将图像处理程序21a留给下一代。
此外,在步骤S4中,不光使用步骤S4a中的比较结果,还可以使用作为图像处理程序21a的执行结果而输出的最终输出图像和第二目标图像13的比较结果来进行判定。
在步骤S4中判定为将图像处理程序21a留给下一代的情况下,运算部1b将程序群20所包含的图像处理程序21、22、23、…的一个替换为图像处理程序21a(步骤S5)。由此,程序群20的世代被更新。
此处,作为是否将图像处理程序21a留给下一代的判定方法,考虑基于作为图像处理程序21a的图像处理的结果而输出的最终输出图像和第二目标图像13的比较来进行判定的方法。然而,在该方法中,在图像处理的中途即使生成第一目标图像12那样的与所希望的图像接近的图像,如果最终输出图像和第二目标图像13不类似,则图像处理程序21a被淘汰,不留给下一代的程序群20。这样,有助于学习的促进的可能性高的有效的图像处理程序被淘汰,会成为使直至图像处理程序的生成完成为止所花费的时间变长的原因。
与此相对,步骤S4a中的比较结果表示在图像处理程序21a的执行中途所输出的中间输出图像是否与所希望的图像接近的指标。通过在步骤S4中基于这样的指标来进行判定,在图像处理程序21a的执行中途能够输出适当的图像的可能性高的图像处理程序不会被淘汰而留给下一代的程序群20。由此,使生存选择合理化,使得处理过程被指定为适当的图像处理程序容易留给下一代。
而且,通过使用按照上述过程更新了世代的程序群20来反复执行步骤S1~S5的处理,步骤S4a中的比较结果表示的图像间的接近的程度上升的速度加快,学习速度提高。由此,直至程序群20所包含的图像处理程序、以及从那些图像处理程序通过进化过程所生成的图像处理程序的适应度的最大值达到规定的阈值为止的时间变短。即,缩短直至生成实现所希望的处理的图像处理程序为止的时间。
〔第二实施方式〕
接下来,对第二实施方式所涉及的图像处理装置进行说明。第二实施方式所涉及的图像处理装置具备与图1所示的程序生成装置1同样的处理功能、和执行通过该处理功能所生成的图像处理程序来进行图像处理的功能。
在以下的说明中,首先使用图2~图4对表示基于遗传编程的图像处理程序的生成处理的基本的过程的比较例进行说明,使用图5对比较例中的问题点进行说明。而且,之后对第二实施方式的图像处理装置进行说明。
图2是表示图像处理程序的生成处理过程的比较例的图。
在图像处理程序的生成处理之前,准备一个以上的学习数据50。学习数据50包括输入图像51、和对输入图像51实施了图像处理时的目标图像52。输入图像51例如通过利用相机拍摄被拍摄体来获得。
在基于遗传编程的图像处理程序的生成处理中,个体通过将一个以上的部分程序组合来构成。例如如图2的左上所示,个体用树形结构定义。
也预先准备能够编入个体的多个部分程序。以下,作为编入个体的部分程序的例子,假定图像滤波器,但部分程序并不限于图像滤波器,也能够使用进行其它种类的图像处理的程序。此外,在图2的左上,“F”表示图像滤波器,“I”表示输入端子,“O”表示输出端子。
基于遗传编程的图像处理程序的生成处理例如如下那样执行。首先,生成由多个初始个体构成的个体群61(步骤S11)。针对各初始个体的节点从预先准备的多个图像滤波器中随机选择图像滤波器,并编入。接下来,从生成的个体群61中随机取出2个母个体(步骤S12)。
接下来,通过对这两个母个体实施进化过程的处理来生成两个以上的子个体(步骤S13)。在进化过程中,对两个母个体进行交叉处理以及突然变异处理。通过对两个母个体分别进行不同的交叉处理或突然变异处理,可以生成3个以上的子个体。
接下来,分别对经过进化过程所生成的子个体、以及原来的母个体计算适应度(步骤S14)。在该处理中,对学***均值。
此处,在任意一个个体的适应度为规定的阈值以上的情况下,输出该个体作为最终的图像处理程序,程序生成处理结束。另一方面,在全部的个体的适应度都小于规定的阈值的情况下,从包含所生成的各子个体以及原来的两个母个体的个体群62中进行生存选择(步骤S15)。在该生存选择中,从个体群62中选择所计算出的适应度最大的个体。并且,利用规定的方法从个体群62内的剩余的个体中选择一个个体。例如以与适应度对应的概率从剩余的个体中选择个体。
将通过这样的生存选择所选择出的两个个体与个体群61所包含的两个个体(步骤S16)替换。例如将通过生存选择所选择出的两个个体与个体群61所包含的个体中作为母个体而被取出的两个个体替换。由此,将个体群61所包含的个体变更为下一代的个体。而且,重复同样的处理,直至适应度为规定的阈值以上的个体出现为止。
图3是表示交叉的例子的图。在图3中示出在母个体71a与母个体72a之间进行交叉,生成基于母个体71a的子个体71b、和基于母个体72a的子个体72b的情况下的例子。
母个体71a包括图像滤波器F1、F2、F3、F4,母个体72a包括图像滤波器F2、F3、F5、F6。此处,假设选择母个体71a中的图像滤波器F2的节点、和母个体72a中的图像滤波器F5的节点作为进行交叉的位置。
在交叉的处理中,例如不仅所选择出的节点成为交叉的对象,比该节点靠下位层的节点也成为交叉的对象。因此,在图3的例子中,替换母个体71a中的“图像滤波器F2、F1、与图像滤波器F2的一方连接的输入端子的节点、与图像滤波器F1连接的输入端子的节点”、和母个体72a中的“图像滤波器F5、与图像滤波器F5连接的输入端子的节点”。通过这样的交叉,生成包括图像滤波器F3、F4、F5的子个体71b、和分别包括一个图像滤波器F1、F2、F4并包括两个图像滤波器F3的子个体72b。
图4是表示突然变异的例子的图。在图4中,个体73a包括图像滤波器F3、F4、F5。该个体73a例如可以是从个体群61取出的母个体,或者可以是从个体群61作为母个体而被取出后,进行了交叉的个体。
此处,假设选择个体73a中的图像滤波器F3的节点作为进行突然变异的位置,并且选择图像滤波器F7作为基于突然变异的置换后的图像滤波器。此外,从预先准备的多个图像滤波器中随机选择基于突然变异的置换后的图像滤波器。通过这样的突然变异,生成包括图像滤波器F4、F5、F7的子个体73b。
然而,作为通过上述的过程所生成的图像处理程序的用途的例子,考虑在FA(Factory Automation:工厂自动化)领域中,对拍摄产品的图像实施图像处理来获得所希望的效果这种用途。例如考虑对拍摄产品的外观的图像实施图像处理来提取产生缺陷的位置、提取进行对位的位置、识别特定的部件上所印刷的字符这些用途。
在这些用途中,根据成为被拍摄体的产品的变更或改进、伴随于此所产生的拍摄环境的变化等,有时需要重新构建图像处理算法。因此,要求图像处理算法的构建的容易性。另外,要求构建对照明条件的变化、被拍摄体的形状、位置姿势的偏差等拍摄环境的变化的鲁棒性高的图像处理算法。
通过利用遗传编程,只要预先准备输入图像51和与该输入图像51对应的目标图像52就能够容易地生成可以在这些用途下使用的图像处理程序。另外,通过预先准备多个各自的拍摄环境不同的输入图像51和目标图像52的对(学习数据50),能够自动生成对拍摄环境的变化的鲁棒性高的图像处理算法。
此处,图5是表示图像处理的例子的图。作为图像处理的例子,有对输入图像内的特定的区域实施一些特定的处理的例。在图5中,作为其一个例子,示出从搭载在印刷电路基板上的半导体芯片的封装区域仅提取该区域中印刷的字符的部分作为特定的颜色(例如白色)的区域的处理。作为图像处理的结果而最终所输出的最终输出图像81d中仅提取半导体芯片的封装区域中所印刷的“ABC123”这样的字符的部分作为白色的区域。
此外,图5的图像处理例如作为用于从特定的区域识别字符的前处理而执行。另外,作为对特定的区域实施一些处理这样的处理的其它例子,可以考虑从搭载特定的部件的区域提取部件上所描绘的记号、花纹的部分作为特定的颜色的区域的处理。并且,另外,也考虑为了检测图像内的特定的区域中的部件的位置或倾斜,仅提取该区域中的部件的搭载区域作为特定的颜色的区域这样的处理。
以下,将成为字符、记号、花纹的提取对象的特定的区域记载为“提取对象区域”。
对于上述那样的图像处理中的输入图像,拍摄时的被拍摄体的亮度有可能在每个图像中产生较大的偏差。不光如此,图像内的提取对象区域的亮度的偏差程度和该区域以外的背景区域的亮度的偏差程度不同的情况也多。那是因为在提取对象区域和背景区域中亮度的偏差的产生原因有时不同。例如在提取对象区域和背景区域中光的反射率、颜色的趋势不同、因提取对象区域与背景区域的高度之差而来自周围的光的照射方式不同会成为原因。
因此,构建通过针对图像全体的处理来减少亮度的偏差的影响这样的前处理的算法的难易度较高。为了减少亮度的偏差的影响,优选分别对提取对象区域和背景区域实施各自的前处理。根据这样的理由,为了提高上述那样的图像处理中的鲁棒性,重要的是包括提取对象区域和背景区域的划分处理。
在图5所示的输入图像81a中,由于半导体芯片的封装区域为黑色,所以相对于照明的变动的亮度的变化较小。然而,由于成为背景的印刷电路基板为更明亮的颜色,所以相对于照明的变动的亮度的变化有可能变大。在程序员构建从示出了这样的被拍摄体的输入图像81a获得最终输出图像81d的图像处理程序的情况下,包括提取半导体芯片的封装区域的中间处理算法的情况较多。根据该中间处理算法,例如获得根据像素值等区分出提取出的区域和除此以外的背景区域的图像。而且,使用得到的图像来提取字符的区域。
作为这样区分出提取的区域和除此以外的背景区域的图像的例子,有对提取出的区域以外的背景区域进行遮蔽的遮蔽图像。在遮蔽图像中,将提取出的区域设为白区域(即,像素值为最大值的区域),将除此以外的背景区域设为黑区域(即,像素值为最小值的区域)。
图5所示的中间输出图像81b是通过上述那样的中间处理算法所生成的遮蔽图像的一个例子。该中间处理算法例如从输入图像81a提取与半导体芯片的封装区域类似的颜色的区域。另一方面,图5所示的图像处理例如也包括从输入图像81a提取与提取的字符类似的颜色的区域的处理。图5所示的中间输出图像81c是通过这样的处理所得到的图像的例子。而且,在图5所示的图像处理中,通过取中间输出图像81b和中间输出图像81c的逻辑与(and)来生成最终输出图像81d。
通过图2所示的过程生成用于执行这样的图像处理的图像处理程序的情况下,用于生存选择的个体的评价(即,适应度的计算)通过最终输出图像81d和与该最终输出图像81d对应的目标图像的比较来进行。该情况下,即使执行了在使用了个体的图像处理的执行中途能够提取提取对象区域那样的有效的处理,与此无关,通过基于最终的输出图像的评价结果来淘汰个体。因此,存在无法将在图像处理的执行中途获得有效的输出的个体留给下一代这个问题。
这表示若仅使用基于最终的输出图像的评价结果来进行个体的生存选择,则直至表示该评价结果的值收敛为止花费时间,成为图像处理程序的生成所需的时间变长的一个原因。换言之,通过不仅基于最终的输出图像,还基于也加入了图像处理的执行中途所获得的中间输出图像的评价结果来进行生存选择,有可能能够缩短图像处理程序的生成时间。
此外,作为用于解决上述的问题的其它方法,也考虑在输入图像上预先设定与提取对象区域对应的感兴趣区域(Region Of Interest:ROI)后,再生成图像处理程序的方法。然而,该方法仅能够适用于针对决定了提取对象区域的地方所存在的图像的图像处理。另外,作为其它方法,也考虑分别执行进行感兴趣区域的提取处理的程序的学习、和进行在此以后的处理的程序的学习的方法。然而,因进行多次的学习,整体的程序生成时间变长。
图6是表示第二实施方式中的个体的评价过程的概要的图。本实施方式的图像处理装置按照图6所示那样的过程评价个体。
在本实施方式中,作为学习数据82,准备输入图像82a、中间目标图像82b和最终目标图像82c的组合。最终目标图像82c是关于通过使用了评价对象的个体的图像处理而最终所输出的图像的目标图像。中间目标图像82b是关于在使用了评价对象的个体的图像处理的中途的阶段,即,在除了该个体的最终节点之外的任意一个节点中所输出的图像的目标图像。在图6的例子中,中间目标图像82b是用于遮蔽提取对象区域以外的区域(背景区域)的遮蔽图像。
在图6中,作为评价对象的个体的例子,示出具有图像滤波器F1~F9的个体74。本实施方式的图像处理装置将输入图像82a作为输入,执行使用了评价对象的个体74的图像处理。而且,图像处理装置获取由个体74中编入图像滤波器(部分程序)的各节点所输出的输出图像。
在所获取的输出图像中,大致划分为由除了最终节点之外的各节点(中间节点)所输出的中间输出图像83a、83b、83c、…、和由最终节点所输出的最终输出图像84。即,图像处理装置获取来自除了被编入个体74的最终节点的图像滤波器F9之外的其它图像滤波器F1~F9的输出图像,作为中间输出图像83a、83b、83c、…。另外,图像处理装置获取来自被编入个体74的最终节点的图像滤波器F9的输出图像(即,个体74的最终的输出图像),作为最终输出图像84。
图像处理装置除了基于获取到的最终输出图像84和最终目标图像82c的比较结果之外,还基于获取到的中间输出图像83a、83b、83c、…的各个和中间目标图像82b的比较结果来判定是否将个体74留给下一代。
更具体而言,图像处理装置对获取到的最终输出图像84和最终目标图像82c进行比较,并基于其比较结果来计算最终评价值85b。该计算方法能够采用与图2的步骤S14同样的方法,例如计算最终输出图像84与最终目标图像82c的类似度作为最终评价值85b。
除此之外,图像处理装置将获取到的中间输出图像83a、83b、83c、…的各个与中间目标图像82b进行比较,并基于其比较结果来计算中间评价值85a。例如图像处理装置计算中间输出图像83a、83b、83c、…的各个与中间目标图像82b的类似度,并将计算出的类似度中的最大值设为中间评价值85a。
而且,图像处理装置基于中间评价值85a和最终评价值85b来判定是否将个体74留给下一代。例如基于以与权重系数对应的比率将中间评价值85a和最终评价值85b合成所得的评价值来评价是否将个体74留给下一代。
根据这样的过程,不仅最终输出图像与成为目标的最终图像接近,且任意一个中间输出图像与成为目标的中间图像接近的个体传到下一代。在个体群61(参照图2)中,这样被推断为中间输出图像与中间目标图像接近的个体增加,从而从个体群61生成的母个体以及子个体的最终评价值容易上升,促进学习。结果缩短直至图像处理程序的生成完成为止的时间。
另外,图像处理装置也能够将对中间评价值和最终评价值进行加权所计算出的值,作为用于判定是否将个体留给下一代的评价值。例如图像处理装置在学习的初始阶段中使用增大中间评价值的权重所计算出的评价值,随着学习进行,逐渐使计算评价值时的最终评价值的权重增大。由此,在学习的初始阶段中,以重视中间输出图像与中间目标图像接近的方式进行学习。而且,若学习进行而中间评价值收敛,则最终输出图像接近最终目标图像被重视。个体群61中中间评价值高的个体越多,越缩短直至最终评价值达到规定的阈值为止的时间,所以如上述那样通过使权重变化而整体缩短直至图像处理程序的生成完成为止的时间。
接下来,对第二实施方式的图像处理装置的详细进行说明。
图7是表示图像处理装置的硬件构成例的图。图像处理装置100例如作为图7所示那样的计算机来实现。
图像处理装置100是装置整体被处理器101控制。处理器101可以是多处理器。处理器101例如是CPU(Central Processing Unit:中央处理器)、MPU(Micro Processing Unit:微处理单元)、DSP(Digital Signal Processor:数字信号处理器)、ASIC(ApplicationSpecific Integrated Circuit:专用集成电路)或者PLD(Programmable Logic Device:可编程逻辑器件)。另外,处理器101也可以是CPU、MPU、DSP、ASIC、PLD中的2个以上的要素的组合。
在处理器101上经由总线109连接有RAM(Random Access Memory:随机存取存储器)102和多个周边设备。
RAM102被用作图像处理装置100的主存储装置。在RAM102中暂时储存使处理器101执行的OS(Operating System:操作***)程序、应用程序的至少一部分。另外,在RAM102中储存处理器101的处理所需的各种数据。
作为与总线109连接的周边设备,有HDD103、图形处理装置104、输入接口105、读取装置106、网络接口107以及通信接口108。
HDD103被用作图像处理装置100的辅助存储装置。在HDD103中储存OS程序、应用程序以及各种数据。此外,作为辅助存储装置,也能够使用SSD(Solid State Drive:固态硬盘)等其它种类的非易失性存储装置。
在图形处理装置104上连接有显示装置104a。图形处理装置104按照来自处理器101的命令,使显示装置104a的画面显示图像。作为显示装置,有液晶显示器、有机EL(ElectroLuminescence:电致发光)显示器等。
在输入接口105上连接有输入装置105a。输入接口105将从输入装置105a输出的信号发送给处理器101。作为输入装置105a,有键盘、定位设备等。作为定位设备,有鼠标、触摸面板、平板、触摸板、轨迹球等。
在读取装置106上装卸移动式记录介质106a。读取装置106读取移动式记录介质106a中所记录的数据并发送给处理器101。作为移动式记录介质106a,有光盘、光磁盘、半导体存储器等。
网络接口107经由网络107a与其它装置之间进行数据的收发。
通信接口108与连接的外部设备之间进行数据的收发。在本实施方式中,在通信接口108上连接有相机108a作为外部设备,通信接口108将从相机108a发送的图像数据发送给处理器101。
根据以上那样的硬件构成,能够实现图像处理装置100的处理功能。
图8是表示图像处理装置具备的处理功能的构成例的框图。图像处理装置100具有图像获取部111、图像处理部112、程序生成部120、程序存储部130、要素存储部141、学习数据存储部142、个体群存储部143以及输出图像存储部144。
图像获取部111、图像处理部112以及程序生成部120的处理例如通过图像处理装置100的处理器101执行规定的程序来实现。另外,图像处理部112的处理的一部分通过图像处理装置100的处理器101执行保存在程序存储部130中的图像处理程序来实现。程序存储部130、要素存储部141以及学习数据存储部142例如作为图像处理装置100的HDD103的存储区域来实现。个体群存储部143以及输出图像存储部144例如作为图像处理装置100的RAM102的存储区域来实现。
图像获取部111从相机108a获取所拍摄到的图像的数据,并输出给程序生成部120或者图像处理部112。
程序生成部120通过遗传编程来生成图像处理程序,并将生成的图像处理程序保存于程序存储部130。此外,程序生成部120的内部结构后述。
图像处理部112经由图像获取部111获取由相机108a拍摄到的图像的数据。图像处理部112按照程序存储部130中所保存的图像处理程序,对获取到的图像的数据实施图像处理。处理后的图像例如显示于显示装置104a上。
程序存储部130对由程序生成部120生成的图像处理程序进行存储。
要素存储部141对能够编入由程序生成部120生成的各个个体的要素的数据进行存储。这些要素是成为图像处理程序的构成要素的部分程序,例如包括各种图像滤波器的程序。
学习数据存储部142存储多个包括输入图像、与该输入图像对应的中间目标图像以及最终目标图像的各数据的学习数据。学习数据所包含的输入图像例如可以是由与图像处理装置100连接的相机108a拍摄到的图像。另外,与输入图像对应的中间目标图像以及最终目标图像例如通过对输入图像实施修描处理来创建。
个体群存储部143存储个体群。个体群包括多个通过组合要素存储部141中所存储的要素(部分程序)而生成的个体(图像处理程序)。此外,也可以在个体群存储部143中存储与各个个体对应的图像处理程序其本身,也可以按照每个个体存储表示编入个体的各节点的部分程序名与节点间的连接结构的结构信息。另外,在个体群存储部143中,将针对各个个体所计算出的评价值与个体建立对应地进行存储。
输出图像存储部144对通过与生存选择的对象的个体对应的程序的执行所获得的输出图像进行存储。作为该输出图像,有由个体的中间节点所输出的中间输出图像、和由个体的最终节点所输出的最终输出图像。
程序生成部120具有学习控制部121、程序执行部122以及评价值计算部123。
学习控制部121统一地控制程序生成部120中的程序生成处理整体。例如学习控制部121执行初始个体群的生成、个体的进化处理、基于评价值的生存选择以及最终的图像处理程序的输出、由生存选择出的个体进行的个体群的更新等处理。
程序执行部122根据来自学习控制部121的指示来执行个体(图像处理程序)。程序执行部122通过个体的执行,不仅输出由该个体的最终节点所输出的最终输出图像,还输出由该个体的中间节点所输出的中间输出图像,并储存于输出图像存储部144。
评价值计算部123根据来自学习控制部121的指示来计算用于评价各个个体的评价值。作为所计算的评价值,除了前述的中间评价值以及最终评价值之外,还有综合评价值。
接下来,对学习数据的例子进行说明。
图9是表示学习数据的第一例的图。在图9中,作为例子,假定从搭载在印刷电路基板上的半导体芯片的封装区域仅提取该区域中所印刷的字符的部分作为白色区域这样的图像处理。该情况下,成为字符的提取对象的提取对象区域成为半导体芯片的封装区域。在生成用于通过图像处理装置100实现这样的图像处理的图像处理程序的情况下,例如使用图9所示那样的学习数据151~153。
学习数据151包括输入图像151a、中间目的图像151b以及最终目的图像151c。输入图像151a示出印刷电路基板。中间目的图像151b是遮蔽了输入图像151a中的半导体芯片的封装区域(提取对象区域)以外的背景区域的遮蔽图像。最终目的图像151c是输入图像151a中的仅半导体芯片的封装区域中所印刷的字符的部分成为白色的图像。
学习数据152包括输入图像152a、中间目的图像152b以及最终目的图像152c。输入图像152a示出印刷电路基板。然而,输入图像152a中所显示的印刷电路基板可以与输入图像151a中所显示的印刷电路基板不同,输入图像152a中的半导体芯片的搭载位置也可以与输入图像151a中的半导体芯片的搭载位置不同。中间目的图像152b是遮蔽了输入图像152a中的背景区域的遮蔽图像。最终目的图像152c是输入图像152a中的仅半导体芯片的封装区域中所印刷的字符的部分成为白色的图像。
学习数据153包括输入图像153a、中间目的图像153b以及最终目的图像153c。输入图像153a示出印刷电路基板。然而,输入图像153a中所显示的印刷电路基板可以与输入图像151a、152a中所显示的印刷电路基板不同,输入图像153a中的半导体芯片的搭载位置也可以与输入图像151a、152a中的半导体芯片的搭载位置不同。中间目的图像153b是遮蔽了输入图像153a中的背景区域的遮蔽图像。最终目的图像153c是输入图像153a中的仅半导体芯片的封装区域中所印刷的字符的部分成为白色的图像。
图10是表示学习数据的第二例的图。在图10中,作为例子,假定从搭载在道路上行驶的车辆的牌照区域仅提取该区域中所印刷的字符的部分作为白色区域这样的图像处理。该情况下,成为字符的提取对象的提取对象区域成为牌照区域。在生成用于通过图像处理装置100实现这样的图像处理的图像处理程序的情况下,例如使用图10所示那样的学习数据161~163。
学习数据161包括输入图像161a、中间目的图像161b以及最终目的图像161c。输入图像161a示出车辆。中间目的图像161b是遮蔽了输入图像161a中的牌照区域(提取对象区域)以外的背景区域的遮蔽图像。最终目的图像161c是输入图像161a中的仅牌照区域中所记载的字符的部分成为白色的图像。
学习数据162包括输入图像162a、中间目的图像162b以及最终目的图像162c。输入图像162a示出车辆。然而,输入图像162a中所显示的车辆可以与输入图像161a中所显示的车辆不同,输入图像162a中的牌照的位置也可以与输入图像161a中的牌照的位置不同。中间目的图像162b是遮蔽了输入图像162a中的背景区域的遮蔽图像。最终目的图像162c是输入图像162a中的仅牌照区域中所印刷的字符的部分成为白色的图像。
学习数据163包括输入图像163a、中间目的图像163b以及最终目的图像163c。输入图像163a示出车辆。然而,输入图像163a中所显示的车辆可以与输入图像161a、162a中所显示的车辆不同,输入图像163a中的牌照的位置也可以与输入图像161a、162a中的牌照的位置不同。中间目的图像163b是遮蔽了输入图像163a中的背景区域的遮蔽图像。最终目的图像163c是输入图像163a中的仅牌照区域中所记载的字符的部分成为白色的图像。
此处,如上述的图9、图10的例子那样,在生成图像处理程序时,优选利用提取对象区域的位置相互不同的多个学习数据。由此,即使将提取对象区域相互不同的拍摄图像作为图像处理的对象,也能够生成可高性能地获得所希望的结果的图像处理程序。
另外,在图9的输入图像151a、152a、153a中,拍摄时的向被拍摄体的照明的亮度相互不同。另外,在图10的输入图像161a、162a、163a中,拍摄时的光向被拍摄体的照射方式的分布相互不同。如这些例子那样,在生成图像处理程序时,优选利用包括亮度等拍摄条件相互不同的输入图像的多个学习数据。由此,即使在拍摄条件变动的情况下,也能够生成可稳定地获得所希望的结果的图像处理程序。
接下来,使用流程图对图像处理装置100的程序生成处理的详细进行说明。
图11~图12是表示程序生成处理过程的例子的流程图。
[步骤S21]学习控制部121接受用于学习数据的设定的输入操作。例如从学习数据存储部142中所存储的学习数据中指定本处理所使用的学习数据。此处,假设使用n组学习数据(其中,n为1以上的整数)。
[步骤S22]学习控制部121通过将要素存储部141中所登记的要素组合来生成多个初始个体,并将所生成的初始个体储存于个体群存储部143。由于该处理中所生成的个体群相当于图3所示的个体群61,所以此后,记为“个体群61”。
[步骤S23]按照如下那样的过程计算关于个体群61所包含的各个个体的中间评价值Fmid和最终评价值Flast。
学习控制部121选择一个个体群61所包含的个体,并使程序执行部122执行选择出的个体。程序执行部122按照选择出的个体,执行针对步骤S21中指定的n组学习数据所包含的各输入图像的图像处理。在该图像处理中,程序执行部122将选择出的个体的各节点中所输出的图像储存于输出图像存储部144。储存的输出图像有中间节点中所输出的中间输出图像、和最终节点中所输出的最终输出图像。即,针对n组学习数据的每一组,储存一个以上的中间输出图像和一个最终输出图像。
学习控制部121使评价值计算部123计算关于选择出的个体的中间评价值Fmid和最终评价值Flast。评价值计算部123首先按照该个体所包含的每个中间节点计算预备评价值。具体而言,该个体所包含的第k个中间节点的预备评价值f(k)通过使用在第k个中间节点中分别使用n组学习数据所输出的n个中间输出图像,按照以下的式子(1)来计算。
[数学式1]
在式子(1)中,W表示图像的水平方向的像素数,H表示图像的垂直方向的像素数。m(k,i)(x,y)表示使用第i个学习数据所包含的输入图像来在第k个中间节点中所输出的中间输出图像中坐标(x,y)的像素值。Mi(x,y)表示第i个学习数据所包含的中间目标图像中的坐标(x,y)的像素值。Vmax表示像素值可取的最大值。此外,这些像素值例如为亮度值。根据式子(1),预备评价值f(k)取0以上1以下的值。
评价值计算部123利用上述的方法计算关于个体所包含的全部中间节点的预备评价值f(k)。而且,评价值计算部123按照以下的式子(2)来计算与个体对应的中间评价值Fmid。即,与个体对应的中间评价值Fmid作为针对该个体所计算出的各预备评价值f(k)中的最大值来计算。
Fmid=max{f(k)}…(2)
另外,评价值计算部123使用在个体的最终节点中分别使用n组学习数据所输出的n个最终输出图像,按照以下的式子(3)来计算最终评价值Flast。
[数学式2]
在式子(3)中,oi(x,y)表示使用第i个学习数据所包含的输入图像所输出的最终输出图像中的坐标(x,y)的像素值。Ti(x,y)表示第i个学习数据所包含的最终目标图像中的坐标(x,y)的像素值。根据式子(3),最终评价值Flast与预备评价值f(k)同样地取0以上1以下的值。
根据以上的过程,计算关于个体群61所包含的各个个体的中间评价值Fmid和最终评价值Flast。评价值计算部123将计算出的中间评价值Fmid和最终评价值Flast与个体建立对应地登记至个体群存储部143。
[步骤S24]学***均值来计算。
[步骤S25]学习控制部121从个体群61所包含的个体中随机选择两个母个体。
[步骤S26]学习控制部121通过在选择出的两个母个体之间进行交叉来生成2个以上的规定量的子个体。
[步骤S27]学习控制部121使生成的子个体的任意一个节点产生突然变异,将编入到原来的子个体的节点的图像滤波器置换为要素存储部141中所登记的其它图像滤波器的任意一个。
[步骤S28]关于通过步骤S26、S27的处理所生成的各子个体的中间评价值Fmid和最终评价值Flast以与步骤S23中的关于个体的中间评价值Fmid和最终评价值Flast同样的过程计算。
[步骤S29]学习控制部121对步骤S25中所选择出的母个体以及关于步骤S26、S27中所生成的子个体的各个的最终评价值Flast、和规定的阈值进行比较。学习控制部121判定这些个体中是否存在最终评价值Flast大于阈值的个体。在不存在最终评价值Flast大于阈值的个体的情况下,执行步骤S30的处理。在存在最终评价值Flast大于阈值的个体的情况下,执行步骤S33的处理。
[步骤S30]学习控制部121使评价值计算部123计算关于步骤S25中所选择出的母个体、以及步骤S26、S27中所生成的子个体的各个的综合评价值Ftotal。评价值计算部123按照以下的式子(4)来计算这些各个个体的综合评价值Ftotal。
Ftotal=(1-t)Fmid+tFlast…(4)
[步骤S31]学习控制部121从步骤S25中选择出的母个体、以及步骤S26、S27中所生成的子个体中选择步骤S30中所计算出的综合评价值Ftotal最大的个体作为生存的个体。并且,学习控制部121从剩余的个体中再选择一个生存的个体。在该选择处理中,例如按照与计算出的综合评价值Ftotal对应的概率选择个体。
[步骤S32]学习控制部121通过步骤S31中所选择出的两个个体来置换个体群61所包含的个体中步骤S25所选择出的母个体。由此,个体群61的世代被更新。另外,关于步骤S31中所选择出的两个个体的中间评价值Fmid和最终评价值Flast在个体群存储部143中与个体建立对应地被登记。
此外,个体群61所包含的个体中被置换的个体的至少一个例如可以是综合评价值Ftotal或者最终评价值Flast最小的个体。
[步骤S33]学习控制部121将与步骤S29中被判定为最终评价值Flast大于阈值的个体对应的图像处理程序储存于程序存储部130,并结束处理。此外,在步骤S29中,在存在多个最终评价值Flast大于阈值的个体的情况下,学习控制部121将与这些个体中最终评价值Flast最大的个体对应的图像处理程序储存于程序存储部130。
根据以上的图11~图12的处理,在步骤S30中,基于关于各个个体的中间评价值Fmid和最终评价值Flast来计算关于生存选择的对象的各个个体的综合评价值Ftotal。而且,在步骤S31中,基于综合评价值Ftotal来选择生存的个体。由此,不仅利用作为使用了各个个体的图像处理的结果而输出的最终输出图像,也加上在该图像处理的中途所输出的中间输出图像的有效性来选择生存的个体。因此,处理过程的一部分被推断为适当的个体没有被淘汰而容易留给个体群61,随着那样的个体在个体群61中增加,个体群61内的个体的最终评价值Flast中的最大值也容易增加。因此,学习速度提高,缩短直至图像处理程序的生成完成为止的时间。
另外,在步骤S32中个体群61的世代被更新后,在步骤S24中,基于关于该世代的个体群61内的各个个体的中间评价值Fmid的分布状况来重新计算使用于综合评价值Ftotal的计算的权重系数t。因此,综合评价值Ftotal伴随着学习的进行而变动。
此处,通过基于关于个体群61内的各个个体的中间评价值Fmid的分布状况来计算权重系数t,权重系数t的值伴随着学习的进行而逐渐增加。因此,在计算综合评价值Ftotal时,随着学习进行,最终评价值Flast的合成比率变高。由此,在学习的初始阶段中,重视中间评价值Fmid来进行个体的生存选择,随着学习进行,重视最终评价值Flast来进行个体的生存选择。个体群61中中间评价值Fmid高的个体越多,越缩短直至最终评价值Flast达到规定的阈值为止的时间,所以通过如上述那样使权重系数变化,整体缩短直至图像处理程序的生成完成为止的时间。
图13是表示最终评价值以及权重系数的变化的例子的图。在该图13中,与本实施方式中的最终评价值Flast的变化一起同时还示出了在图12的步骤S30中不基于综合评价值Ftotal而基于最终评价值Flast来进行生存选择的情况下的最终评价值Flast的变化的比较例。此外,图13所示的最终评价值Flast的值是图12的步骤S29中与阈值相比较的最终评价值Flast中的最大值。
根据该图13的例子,在本实施方式中,直至最终评价值Flast超过规定的阈值为止的时间与比较例相比较,缩短1/2左右。另外,权重系数t整体伴随着个体群61的世代数的增加而上升。
〔第三实施方式〕
在第三实施方式中,示出代替基于中间评价值Fmid的计算值来计算权重系数t,而以根据学习的时间进行程度来计算的方式对第二实施方式进行了变形的例子。此外,第三实施方式所涉及的图像处理装置的基本的结构与第二实施方式相同,所以使用与第二实施方式同样的符号来进行说明。
图14是用于对使用于权重系数的计算的调制表格进行说明的图。图14所示的图表170是将调制表格中所登记的信息图表化的图。在图表170的例子中,权重系数t伴随着个体群61的世代数g的增加而分3阶段增加。本实施方式的图像处理装置100基于图表170所示那样的存储世代数g和权重系数t的对应关系的调制表格来计算权重系数t。
此外,权重系数t的计算只要是权重系数t伴随着学习的进行而增加那样的方法,则并不限于使用调制表格的方法。例如可以使用规定的计算式来计算权重系数t。
图15~图16是表示第三实施方式中的程序生成处理过程的例子的流程图。此外,在图15~图16中,对进行与图11~图12同样的处理的处理步骤标注相同的步骤编号来表示,省略其说明。
在图15~图16的处理中,从图11~图12的处理变更以下的点。在步骤S21与步骤S22之间追加步骤S21a、S21b。另外,删除步骤S24的处理,在步骤S23后执行步骤S25。并且,在步骤S32的后面追加步骤S32a、S32b,在步骤S32b后执行步骤S25。
[步骤S21a]学习控制部121设定权重系数t的调制表格。例如通过用户的输入操作设定世代数g和权重系数t的对应关系。
[步骤S21b]学习控制部121将世代数g初始化为1,对评价值计算部123指示权重系数t的设定。评价值计算部123参照调制表格来设定与当前的世代数g建立对应的权重系数t的值。
[步骤S32a]学习控制部121使世代数g自加1。
[步骤S32b]学习控制部121对评价值计算部123指示权重系数t的更新。评价值计算部123参照调制表格,使用与当前的世代数g建立对应的权重系数t的值来更新当前的权重系数t的设定值。
此外,步骤S21b的处理也可以在步骤S21a的结束后步骤S30的执行前的某个时机执行。另外,步骤S32a、S32b的处理也可以在步骤S32的结束后下一个步骤S30的执行前的某个时机执行。
根据以上说明的第三实施方式,权重系数t的值伴随着学习的进行而逐渐增加。由此,在学习的初始阶段中,重视中间评价值Fmid来进行个体的生存选择,随着学习进行,重视最终评价值Flast来进行个体的生存选择。因此,缩短直至图像处理程序的生成完成为止的时间。
此外,上述的各实施方式所示的装置(程序生成装置1以及图像处理装置100)的处理功能能够通过计算机来实现。该情况下,提供描述了各装置应具有的功能的处理内容的程序,通过由计算机执行该程序,从而在计算机上实现上述处理功能。描述处理内容的程序能够记录在计算机可读取的记录介质中。作为计算机可读取的记录介质,有磁存储装置、光盘、光磁记录介质、半导体存储器等。磁存储装置有硬盘装置(HDD)、软盘(FD)、磁带等。光盘有DVD(Digital Versatile Disc:数字多功能光盘)、DVD-RAM、CD-ROM(Compact Disc-Read Only Memory:光盘只读存储器)、CD-R(Recordable:可记录)/RW(ReWritable:可重写)等。光磁记录介质有MO(Magneto-Optical disk:磁光盘)等。
在使程序流通的情况下,例如销售记录了该程序的DVD、CD-ROM等移动式记录介质。另外,还能够预先在服务器计算机的存储装置中储存程序,经由网络将该程序从服务器计算机传送到其它计算机。
执行程序的计算机例如将移动式记录介质中记录的程序或者从服务器计算机传送的程序储存于自己的存储装置。而且,计算机从自己的存储装置读取程序,并执行按照程序的处理。此外,计算机还能够从移动式记录介质直接读取程序,并执行按照该程序的处理。另外,计算机还能够按照每次从经由网络连接的服务器计算机传送程序,逐次执行按照接受到的程序的处理。
上述仅是示出本发明的原理。进而,作为本领域技术人员能够进行许多变形、变更,本发明不限于上述示出、说明的准确的结构和应用例,对应的全部的变形例和等同物被视为由附加的权利要求及其等同物限定的本发明的范围。
符号说明
1 程序生成装置
1a 存储部
1b 运算部
10 学习数据
11 输入图像
12 第一目标图像
13 第二目标图像
20 程序群
21、21a、22、23 图像处理程序
31、32 中间输出图像
S1、S2、S3、S4、S4a、S5 步骤
Claims (6)
1.一种程序生成装置,通过遗传编程来生成程序,具有:
存储部,存储包括输入图像和第一目标图像的学习数据,其中,上述第一目标图像表示在将上述输入图像变换为第二目标图像的处理的中途所输出的图像;以及
运算部,通过从分别组合了多个图像滤波器程序的多个图像处理程序中选择第一程序,并变更上述第一程序所包含的上述图像滤波器程序的一部分来生成第二程序,使用上述第二程序来执行针对上述输入图像的图像处理,并基于在上述图像处理的中途所输出的中间输出图像和上述第一目标图像的比较、以及作为上述图像处理的结果而输出的最终输出图像和上述第二目标图像的比较,来判定是否将上述第二程序留给下一代,且在判定为将上述第二程序留给下一代的情况下,将上述多个图像处理程序的一个替换为上述第二程序,
所述多个图像滤波器程序分别是用于执行图像过滤处理的程序。
2.根据权利要求1所述的程序生成装置,其中,
在上述图像处理的执行中,通过执行上述第二程序所包含的上述图像滤波器程序中的分别编入到最终段以外的位置的非最终程序,从而按照每个上述非最终程序输出上述中间输出图像,
在上述判定中,基于按照每个上述非最终程序所输出的各个上述中间输出图像和上述第一目标图像的比较,按照每个上述非最终程序计算评价值,并基于上述评价值的最大值来判定是否将上述第二程序留给下一代。
3.根据权利要求1所述的程序生成装置,其中,
上述运算部还分别使用上述多个图像处理程序来执行针对上述输入图像的处理,并基于在上述处理的每一个中的中间输出图像和上述第一目标图像的比较来计算权重系数,
在上述判定中,基于上述中间输出图像和上述第一目标图像的比较来计算第一评价值,基于上述最终输出图像和上述第二目标图像的比较来计算第二评价值,并基于以与上述权重系数对应的比率合成上述第一评价值和上述第二评价值所得的第三评价值来判定是否将上述第二程序留给下一代。
4.根据权利要求1所述的程序生成装置,其中,
上述运算部反复执行包含上述选择、上述生成、上述执行、上述判定、以及上述替换在内的世代交替处理,使个体群的世代进行交替,上述个体群包含上述多个图像处理程序的每一个来作为初始个体,
上述世代交替处理还包括基于上述个体群的世代交替数来计算权重系数的处理,
在上述判定中,基于上述中间输出图像和上述第一目标图像的比较来计算第一评价值,基于上述最终输出图像和上述第二目标图像的比较来计算第二评价值,并基于以与上述权重系数对应的比率合成上述第一评价值和上述第二评价值所得的第三评价值来判定是否将上述第二程序留给下一代。
5.根据权利要求1~4中的任意一项所述的程序生成装置,其中,
上述第一目标图像是上述输入图像中区分开实施特定处理的第一图像区域和除此以外的第二图像区域的图像,
上述第二目标图像是对上述输入图像中的上述第一图像区域实施了上述特定处理的图像。
6.一种程序生成方法,通过遗传编程来生成程序,其中,
计算机执行:
从分别组合了多个图像滤波器程序的多个图像处理程序中选择第一程序;
变更上述第一程序所包含的上述图像滤波器程序的一部分来生成第二程序;
使用上述第二程序来执行针对输入图像的图像处理;
基于在上述图像处理的中途所输出的中间输出图像和第一目标图像的比较、以及作为上述图像处理的结果而输出的最终输出图像和第二目标图像的比较,来判定是否将上述第二程序留给下一代,其中,上述第一目标图像表示在将上述输入图像变换为上述第二目标图像的处理的中途所输出的图像;以及
在判定为将上述第二程序留给下一代的情况下,将上述多个图像处理程序的一个替换为上述第二程序,
所述多个图像滤波器程序分别是用于执行图像过滤处理的程序。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/068371 WO2016208037A1 (ja) | 2015-06-25 | 2015-06-25 | プログラム生成装置、プログラム生成方法および生成プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107636698A CN107636698A (zh) | 2018-01-26 |
CN107636698B true CN107636698B (zh) | 2021-10-19 |
Family
ID=57586632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580080754.5A Active CN107636698B (zh) | 2015-06-25 | 2015-06-25 | 程序生成装置、程序生成方法以及生成程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10489710B2 (zh) |
EP (1) | EP3316184B1 (zh) |
JP (1) | JP6468356B2 (zh) |
CN (1) | CN107636698B (zh) |
WO (1) | WO2016208037A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10838699B2 (en) | 2017-01-18 | 2020-11-17 | Oracle International Corporation | Generating data mappings for user interface screens and screen components for an application |
JP6663873B2 (ja) * | 2017-02-22 | 2020-03-13 | 株式会社日立製作所 | プログラム自動生成システム及びプログラム自動生成方法 |
US10489126B2 (en) * | 2018-02-12 | 2019-11-26 | Oracle International Corporation | Automated code generation |
JP7028317B2 (ja) * | 2018-05-18 | 2022-03-02 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
US10936912B2 (en) | 2018-11-01 | 2021-03-02 | International Business Machines Corporation | Image classification using a mask image and neural networks |
CN113168368B (zh) * | 2018-11-28 | 2023-09-29 | 株式会社特拉斯特技术 | 编程装置及记录介质 |
JP7427337B2 (ja) * | 2020-04-03 | 2024-02-05 | 株式会社ディスコ | ウエーハの検査方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201029474A (en) * | 2008-10-27 | 2010-08-01 | Nippon Telegraph & Telephone | Predicted pixel value generation process automatic producing method, image encoding method, image decoding method, devices therefor, programs therefor, and storage media which store the programs |
CN101848314A (zh) * | 2009-03-25 | 2010-09-29 | 富士施乐株式会社 | 图像处理装置、图像形成装置以及图像处理方法 |
JP2011014049A (ja) * | 2009-07-03 | 2011-01-20 | Nikon Corp | 遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラム |
WO2014104151A1 (ja) * | 2012-12-28 | 2014-07-03 | 富士通株式会社 | 画像処理装置及び特徴検出方法 |
CN104182770A (zh) * | 2013-05-24 | 2014-12-03 | 塔塔咨询服务有限公司 | 用于一个或多个图像处理算法的自动选择的方法和*** |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080069399A1 (en) * | 2004-12-24 | 2008-03-20 | Tomoharu Nagao | Image Processor |
JP4766030B2 (ja) * | 2007-10-11 | 2011-09-07 | 富士ゼロックス株式会社 | 画像処理装置及び画像処理プログラム |
JP5408128B2 (ja) | 2008-05-15 | 2014-02-05 | 株式会社ニコン | 画像処理装置、画像処理方法、処理装置、およびプログラム |
US20100277774A1 (en) * | 2009-05-04 | 2010-11-04 | Certifi Media Inc. | Image quality indicator responsive to image processing |
JP5313037B2 (ja) * | 2009-05-11 | 2013-10-09 | パナソニック株式会社 | 電子カメラ、画像処理装置および画像処理方法 |
JP5310298B2 (ja) * | 2009-06-24 | 2013-10-09 | 富士ゼロックス株式会社 | 画像処理装置、画像形成システム、およびプログラム |
JP5088395B2 (ja) * | 2010-04-15 | 2012-12-05 | 株式会社ニコン | 電子カメラ |
US9171264B2 (en) * | 2010-12-15 | 2015-10-27 | Microsoft Technology Licensing, Llc | Parallel processing machine learning decision tree training |
JP6103243B2 (ja) * | 2011-11-18 | 2017-03-29 | 日本電気株式会社 | 局所特徴量抽出装置、局所特徴量抽出方法、及びプログラム |
JP2014068273A (ja) * | 2012-09-26 | 2014-04-17 | Olympus Imaging Corp | 画像編集装置、画像編集方法、およびプログラム |
JP6179224B2 (ja) * | 2013-07-02 | 2017-08-16 | 富士通株式会社 | 画像処理フィルタの作成装置及びその方法 |
US9448771B2 (en) * | 2014-10-17 | 2016-09-20 | Duelight Llc | System, computer program product, and method for generating a lightweight source code for implementing an image processing pipeline |
CN106102555B (zh) * | 2014-06-16 | 2018-01-19 | 奥林巴斯株式会社 | 医疗用***及其图像处理设定方法以及图像处理装置 |
CN106462401B (zh) * | 2014-06-19 | 2019-09-10 | 富士通株式会社 | 程序生成装置和程序生成方法 |
CN104317556B (zh) * | 2014-10-22 | 2018-03-16 | 华为技术有限公司 | 一种流式应用升级方法、主控节点及流计算*** |
-
2015
- 2015-06-25 WO PCT/JP2015/068371 patent/WO2016208037A1/ja unknown
- 2015-06-25 EP EP15896359.5A patent/EP3316184B1/en active Active
- 2015-06-25 JP JP2017524525A patent/JP6468356B2/ja active Active
- 2015-06-25 CN CN201580080754.5A patent/CN107636698B/zh active Active
-
2017
- 2017-11-02 US US15/801,842 patent/US10489710B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201029474A (en) * | 2008-10-27 | 2010-08-01 | Nippon Telegraph & Telephone | Predicted pixel value generation process automatic producing method, image encoding method, image decoding method, devices therefor, programs therefor, and storage media which store the programs |
CN101848314A (zh) * | 2009-03-25 | 2010-09-29 | 富士施乐株式会社 | 图像处理装置、图像形成装置以及图像处理方法 |
JP2011014049A (ja) * | 2009-07-03 | 2011-01-20 | Nikon Corp | 遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラム |
WO2014104151A1 (ja) * | 2012-12-28 | 2014-07-03 | 富士通株式会社 | 画像処理装置及び特徴検出方法 |
CN104182770A (zh) * | 2013-05-24 | 2014-12-03 | 塔塔咨询服务有限公司 | 用于一个或多个图像处理算法的自动选择的方法和*** |
Non-Patent Citations (3)
Title |
---|
Automatic construction of image transformation algorithms using feature based genetic image network;Yuta Nakano,et al.;《IEEE Congress on Evolutionary Computation》;IEEE;20100927;全文 * |
Automatic construction of tree-structural image transformations using genetic programming;S. Aoki,et al.;《Proceedings 10th International Conference on Image Analysis and Processing》;IEEE;20020806;全文 * |
Efficient evolutionary image processing using genetic programming: Reducing computation time for generating feature images of the Automatically Construction of Tree-Structural Image Transformation (ACTIT);Haiying Bai,et al.;《2010 10th International Conference on Intelligent Systems Design and Applications》;IEEE;20110113;正文第II、III小节及图1-2 * |
Also Published As
Publication number | Publication date |
---|---|
US20180144249A1 (en) | 2018-05-24 |
EP3316184B1 (en) | 2020-03-11 |
US10489710B2 (en) | 2019-11-26 |
JP6468356B2 (ja) | 2019-02-13 |
JPWO2016208037A1 (ja) | 2018-03-15 |
EP3316184A4 (en) | 2018-07-18 |
CN107636698A (zh) | 2018-01-26 |
WO2016208037A1 (ja) | 2016-12-29 |
EP3316184A1 (en) | 2018-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107636698B (zh) | 程序生成装置、程序生成方法以及生成程序 | |
JP6504590B2 (ja) | 画像のセマンティックセグメンテーションのためのシステム及びコンピューター実施方法、並びに非一時的コンピューター可読媒体 | |
JP6639700B2 (ja) | マルチモーダルデジタル画像を生成する方法及びシステム | |
JP2021502638A (ja) | 3d畳み込みニューラルネットワークに基づく動作識別方法及び装置 | |
US20210383199A1 (en) | Object-Centric Learning with Slot Attention | |
US10325184B2 (en) | Depth-value classification using forests | |
US20180247183A1 (en) | Method and system for generative model learning, and recording medium | |
WO2019026104A1 (ja) | 情報処理装置、情報処理プログラム及び情報処理方法 | |
US20180286069A1 (en) | Image processing apparatus and image processing method | |
JP6989450B2 (ja) | 画像解析装置、画像解析方法及びプログラム | |
CN112967180A (zh) | 一种生成对抗网络的训练方法、图像风格转换方法和装置 | |
US20230237777A1 (en) | Information processing apparatus, learning apparatus, image recognition apparatus, information processing method, learning method, image recognition method, and non-transitory-computer-readable storage medium | |
CN112819151A (zh) | 用于识别图像的方法和设备以及训练方法 | |
US11625816B2 (en) | Learning device, image generation device, learning method, image generation method, and program | |
JP6729810B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
US20160171738A1 (en) | Heirarchy-based character rigging | |
US20210150238A1 (en) | Methods and systems for evaluatng a face recognition system using a face mountable device | |
Woźniak | Novel image correction method based on swarm intelligence approach | |
JP7331947B2 (ja) | 物体識別装置、物体識別方法、学習装置、学習方法、及び、プログラム | |
JP2022036131A (ja) | 学習装置、推論装置、学習方法、推論方法、コンピュータシステムおよびプログラム | |
JP2022151502A (ja) | プログラム、情報処理装置、及び方法 | |
CN113486924A (zh) | 带有槽位关注的以对象为中心的学习 | |
JP6331914B2 (ja) | アルゴリズム生成装置、アルゴリズム生成方法及びアルゴリズム生成用コンピュータプログラム | |
JPWO2007013425A1 (ja) | 画像処理自動構成装置 | |
KR102536481B1 (ko) | 오브젝트 인식을 위한 전자 장치 및 전자 장치의 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |