CN106462401A - 程序生成装置、程序生成方法和程序 - Google Patents

程序生成装置、程序生成方法和程序 Download PDF

Info

Publication number
CN106462401A
CN106462401A CN201480080009.6A CN201480080009A CN106462401A CN 106462401 A CN106462401 A CN 106462401A CN 201480080009 A CN201480080009 A CN 201480080009A CN 106462401 A CN106462401 A CN 106462401A
Authority
CN
China
Prior art keywords
program
subprogram
group
parameter
image
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.)
Granted
Application number
CN201480080009.6A
Other languages
English (en)
Other versions
CN106462401B (zh
Inventor
长门毅
肥塚哲男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN106462401A publication Critical patent/CN106462401A/zh
Application granted granted Critical
Publication of CN106462401B publication Critical patent/CN106462401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2111Selection of the most significant subset of features by using evolutionary computational techniques, e.g. genetic algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]

Abstract

缩短图像处理程序的生成时间。设定部(11)根据学习数据(30)内的至少从输入图像(31)得到的特征量和能够对多个部分程序中的参数可变程序选择性地设定的多个参数之间的关系,设定分别与多个参数对应的选择概率。选择处理部(12)在通过突然变异而使个体(41)进化时,在选择了参数可变程序作为在突然变异对象的位置新并入的部分程序的情况下,从多个参数中按照与各参数对应的选择概率来选择1个参数,将设定了该参数的参数可变程序并入个体(41)。

Description

程序生成装置、程序生成方法和程序
技术领域
本发明涉及程序生成装置、程序生成方法和程序。
背景技术
通过遗传编程来自动生成执行所期望的图像处理的图像处理程序的技术正在被关注。在该技术中,通过遗传编程使图像处理程序最优化,该图像处理程序是使用输入图像和处理结果的图像(目标图像)并组合用于图像处理的部分程序(例如,图像滤波器的程序)而生成的。
作为利用遗传编程的装置的例子,提出了如下的图像处理装置:使用者仅通过指定处理对象图像的一部分区域,并生成对所指定的区域实施使用者所期望的图像处理而得到的目标图像,来生成能够得到所期望的处理结果的图像处理步骤。
现有技术文献
专利文献
专利文献1:日本特开2009-151371号公报
非专利文献
非专利文献1:青木紳也,長尾智晴,「木構造画像変換の自動構築法ACTIT」,情報メディア学会誌Vol.53、No.6,1999年6月20日,p.890-892
发明内容
发明要解决的问题
在通过遗传编程来自动生成图像处理程序的处理中,存在程序生成处理所需要的时间较长的问题。例如,在上述处理中,预先准备的能够选择的部分程序越多,则能够实现接近作为目的的处理的高质量的图像处理的可能性就越高,但是,另一方面,搜索到适当的部分程序的组合为止的时间变长的可能性也提高。
在1个方面,本发明的目的在于,提供能够缩短图像处理程序的生成时间的程序生成装置、程序生成方法和程序。
用于解决问题的手段
在1个方案中,提供程序生成装置,该程序生成装置使用包含输入图像和对应的目标图像在内的学习数据,通过遗传编程来决定从多个部分程序中选择出的部分程序的组合,由此,生成图像处理程序。该程序生成装置具有如下的设定部和选择处理部。
设定部根据学习数据所包含的信息中的至少从输入图像得到的特征量与能够选择性地对多个部分程序中的参数可变程序进行设定的多个参数之间的关系,设定与多个参数分别对应的选择概率。选择处理部在通过突然变异使组合多个从多个部分程序中选择的部分程序而得到的个体进化时,在选择了参数可变程序作为在个体的突然变异对象的位置新并入的部分程序的情况下,从多个参数中按照与各参数对应的选择概率选择1个参数,将设定了该参数的参数可变程序并入个体。
此外,在1个方案中,提供执行与上述的程序生成装置同样的处理的程序生成方法。进而,在1个方案中,提供使计算机执行与上述的程序生成装置同样的处理的程序。
此外,在1个案中,提供程序生成装置,该程序生成装置使用包含输入图像和对应的目标图像在内的学习数据,通过遗传编程来决定从多个部分程序中选择的部分程序的组合,由此,生成图像处理程序。该程序生成装置具有如下的设定部和选择处理部。
设定部针对对多个部分程序进行分类而生成的多个组中的包含多个部分程序的组,根据该组所包含的各部分程序与学习数据所包含的信息中的至少从输入图像得到的特征量之间的关系,设定与该组所包含的部分程序分别对应的选择概率。选择处理部在通过突然变异使组合多个从多个部分程序中选择出的部分程序而得到的个体进化时,从多个组中选择1个组、且该组中包含多个部分程序的情况下,从该组所包含的部分程序中按照与各部分程序对应的选择概率选择1个部分程序,将该部分程序并入个体的突然变异对象的位置。
此外,在1个方案中,提供执行与上述的程序生成装置同样的处理的程序生成方法。进而,在1个方案中,提供使计算机执行与上述的程序生成装置同样的处理的程序。
发明的效果
在1个方面,能够缩短图像处理程序的生成时间。
本发明的上述和其他目的、特征和优点通过与表示作为本发明的例子而优选的实施方式的附图相关联的以下说明而更加清楚。
附图说明
图1是示出实施方式1-1的程序生成装置的结构例和处理例的图。
图2是示出图像处理程序的生成处理步骤的参考例的图。
图3是示出交叉的例子的图。
图4是示出突然变异的例的图。
图5是示出图像处理装置的硬件结构例的图。
图6是示出图像处理装置所具有的处理功能的结构例的框图。
图7是示出滤波器集数据库中注册的信息的例子的图。
图8是示出滤波器特性数据库中存储的信息的例子的图。
图9是示出程序生成处理整体的步骤的例子的流程图。
图10是示出图像滤波器的选择处理步骤的例子的流程图。
图11是示出与高斯滤波器有关的特性信息的例子的图。
图12是示出基于输入图像和目标图像的透过率的计算方法的例子的图。
图13是示出基于透过率的比较的选择概率的计算方法的例子的图。
图14是示出对高斯滤波器的参数的选择概率的设定处理例的流程图。
图15是示出亮度直方图和选择概率的设定例子的图。
图16是示出对阈值处理滤波器的参数的选择概率的设定处理例的流程图。
图17是对索贝尔滤波器的参数的选择概率的设定处理例的流程图。
图18是示出提取输入图像的特定区域的处理的例子的图。
图19是示出根据目标图像来决定遮蔽图案的处理例的图。
图20是示出遮蔽处理滤波器的参数的设定处理例的流程图。
图21是示出实施方式2-1的程序生成装置的结构例和处理例的图。
图22是示出在实施方式2-2中在滤波器集数据库中注册的信息的例子的图。
图23是示出图像滤波器的分组的例子的图。
图24是示出在实施方式2-2中在滤波器特性数据库中存储的信息的例子的图。
图25是示出程序生成处理整体的步骤的例子的流程图。
图26是示出图像滤波器的选择处理步骤的例子的流程图。
图27是示出对频率处理组所包含的各图像滤波器的选择概率的设定处理例的流程图。
图28是示出对阈值处理组所包含的各图像滤波器的选择概率的设定处理例的流程图。
图29是示出对微分处理组所包含的各图像滤波器的选择概率的设定处理例的流程图。
具体实施方式
以下,参照附图对本发明的实施方式进行说明。
〔实施方式1-1〕
图1是示出实施方式1-1的程序生成装置的结构例和处理例的图。程序生成装置10通过遗传编程来生成图像处理程序。
在程序生成装置10的未图示的存储装置中,预先存储用于分别执行图像处理的多个部分程序21、22、23、……。部分程序例如是图像滤波器。由程序生成装置10生成的图像处理程序是通过组合多个从预先存储的多个部分程序21、22、23、……中选择的部分程序来实现的。程序生成装置10使用学习数据30并通过遗传编程来决定应该在图像处理程序中包含的部分程序的最佳组合。
在学习数据30中包含输入图像31和目标图像32的对儿,该目标图像32是对该输入图像实施了作为目的的图像处理的情况下的图像。学习数据30也存储在程序生成装置10所具有的未图示的存储装置中。另外,在图1中,设为使用1组输入图像31和目标图像32的对儿,但是,也可以使用多组这样的对儿。
此外,预先存储的多个部分程序21、22、23、……中的至少1个部分程序能够设定参数。在图1中,作为例子,设为部分程序21是能够设定参数的“参数可变程序”。预先准备离散的值来作为能够在参数可变程序中进行设定的参数,在参数可变程序中设定从这些多个参数中选择出的参数。在图1的例中,能够对部分程序21设定参数#1、#2、#3。
程序生成装置10具有设定部11和选择处理部12。设定部11和选择处理部12的处理例如通过由程序生成装置10所具有的未图示的处理器执行规定的程序来实现。
设定部11设定分别与能够对参数可变程序(部分程序21)选择性地设定的多个参数对应的选择概率。设定部11根据学习数据30所包含的信息中的至少从输入图像31得到的特征量与各参数之间的关系,来设定与各参数对应的选择概率(步骤S1)。另外,也可以根据输入图像31和与其对应的目标图像32来计算特征量。
通过设定部11的设定处理,针对各参数,在参数可变程序中设定了该参数的情况下实现的处理的有效性越高,则设定越高的选择概率。有效性高表示,在参数可变程序中设定了该参数的情况下实现的处理内容接近作为目的的处理内容,对学习的贡献度较高。即,将设定了有效性较高的参数的参数可变程序在学习过程中并入个体,由此,根据个体而计算的适合度提高的可能性变高,其结果为,容易收敛于适合度较高的值,促进学习。
选择处理部12在基于遗传编程的学习处理中,从多个部分程序21、22、23、……中选择要在个体的节点并入的部分程序。组合多个从多个部分程序21、22、23、……中选择的部分程序而生成个体。个体例如具有树结构,对树结构内的各节点分配部分程序。
选择处理部12在选择了参数可变程序作为在个体的节点并入的部分程序的情况下,按照与能够设定的参数对应的选择概率来选择要在所选择的参数可变程序中设定的参数。然后,在参数可变程序中设定所选择的参数,将完成设定的参数可变程序并入相应的节点。
通过按照选择概率来选择在参数可变程序中设定的参数,越是被估计为对使用了学习数据30的图像处理的有效性高的参数,就越容易在参数可变程序中被设定。由此,容易生成适合度较高的个体,促进学习,其结果为,缩短图像处理程序的生成所需要的的时间的可能性提高。
这里,作为在个体的节点并入部分程序的情况,存在以下情况:在使个体发生突然变异时,代替在突然变异的对象的节点并入的部分程序而并入新的部分程序。以下,作为例子对以下情况进行说明:在图1所示的个体41所包含的部分程序P1~P4中,使部分程序P2发生突然变异(步骤S2)而使个体41进化。
选择处理部12例如随机地从多个部分程序21、22、23、……中选择代替部分程序P2而并入个体41的部分程序。这里,在选择了作为参数可变程序的部分程序21作为并入个体41的部分程序的情况下,(步骤S3),选择处理部12从能够在部分程序21中设定的参数#1~#3中按照对应的选择概率来选择1个参数(步骤S4)。选择处理部12在所选择的部分程序21中设定所选择的参数,将设定了参数的部分程序21并入个体41中来代替部分程序P2(步骤S5)。
通过这样的选择处理部12的处理,越是被估计为对使用了学习数据30的图像处理的有效性高的参数,越容易在参数可变程序中被设定。由此,促进学习,缩短图像处理程序的生成所需要的时间的可能性提高。
此外,能够在参数可变程序中设定的参数的数量越多,则生成接近作为目的的处理的高质量的图像处理程序的可能性越高,相反,程序生成处理所需要的时间变长的可能性也提高。通过上述的选择处理部12的处理,即使在增多能够在参数可变程序中设定的参数的数量的情况下,从其中实际设定有效的参数的可能性也提高。因此,能够抑制程序处理时间增大的可能性。因此,可提高能够在短时间内生成高质量的图像处理程序的可能性。
另外,作为在个体的节点并入部分程序的其他情况,存在以下情况:在生成初始个体时,在初始个体的各节点并入从多个部分程序21、22、23、……中选择的部分程序。在该情况下,选择处理部12也能够通过与上述的步骤S3~S5同样的步骤,来选择在各节点并入的部分程序。在该情况下,也与上述的突然变异的情况同样,促进学习,缩短图像处理程序的生成所需要的时间的可能性提高。
〔实施方式1-2〕
接着,对实施方式1-2的图像处理装置进行说明。实施方式1-的图像处理装置具有与图1所示的程序生成装置10同样的处理功能,以及执行通过该处理功能而生成的图像处理程序来进行图像处理的功能。
在以下的说明中,首先,使用图2~图4对表示基于遗传编程的图像处理程序的生成处理的基本步骤的参考例进行说明,然后,对实施方式1-2的图像处理装置进行说明。
图2是示出图像处理程序的生成处理步骤的参考例的图。
在图像处理程序的生成处理之前,准备1个以上的学习数据50。在学习数据50中包含有输入图像51和对输入图像51实施了图像处理时的目标图像52。输入图像51例如通过利用照相机对被摄体进行摄像而得到。
在基于遗传编程的图像处理程序的生成处理中,个体是组合1个以上的部分程序来构成的。例如,如图2的左上所示,通过树结构来定义个体。
还预先准备能够在个体中并入的多个部分程序。以下,假定图像滤波器作为在个体中并入的部分程序的例子,但是,部分程序不限于图像滤波器,也能够使用进行其他种类的图像处理的程序。另外,在图2的左上,“F”表示图像滤波器,“I”表示输入端子,“O”表示输出端子。
例如,如下执行基于遗传编程的图像处理程序的生成处理。首先,生成基于多个初始个体而得到的个体群61(步骤S11)。从预先准备的多个图像滤波器中随机选择图像滤波器,并将其并入各初始个体的节点。接着,从所生成的个体群61中随机取出2个父个体(步骤S12)。
接着,通过对这2个父个体实施进化过程的处理,生成2个以上的子个体(步骤S13)。在进化过程中,对2个父个体进行交叉处理和突然变异处理。也可以通过对个2个父个体进行分别不同的交叉处理和突然变异处理,生成3个以上的子个体。
接着,针对经过进化过程而生成的子个体以及原来的父个体,分别计算适合度(步骤S14)。在该处理中,对学习数据50的各输入图像51执行分别使用作为对象的个体的图像处理,通过对执行后的图像与对应的目标图像52进行比较,计算适合度。在存在多个学习数据50的情况下,针对各个个体来计算使用多个学习数据50而得到的适合度的平均值。
这里,在任意一个个体的适合度为规定的阈值以上的情况下,输出该个体作为最终的图像处理程序,程序生成处理结束。另一方面,在全部的个体的适合度小于规定的阈值的情况下,从包含所生成的各子个体和原来的2个父个体在内的个体群62中进行生存选择(步骤S15)。在该生存选择中,从个体群62中选择所计算出的适合度最大的个体。进而,通过规定的方法从个体群62内剩余的个体中选择1个个体。例如,通过与适合度对应的概率从剩余的个体中选择个体。
将通过这样的生存选择而选择出的2个个体与个体群61中包含的个体中的作为父个体而被取出的2个个体进行调换(步骤S16)。由此,将个体群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,以及分别包含1个图像滤波器F1、F2、F4且包含2个图像滤波器F3的子个体72b。
图4是示出突然变异的例子的图。在图4中,个体73a包含图像滤波器F3、F4、F5。该个体73a例如也可以是从个体群61取出的父个体,或者,也可以是在从个体群61作为父个体而取出后,进行了交叉而得到的个体。
这里,设为选择个体73a中的图像滤波器F3的节点来作为进行突然变异的部位,并且选择了图像滤波器F7来作为基于突然变异的置换后的图像滤波器。另外,从预先准备的多个图像滤波器中随机选择基于突然变异的置换后的图像滤波器。通过这样的突然变异,生成包含图像滤波器F4、F5、F7的个体73b。
此外,作为通过上述的步骤而生成的图像处理程序的用途的例子,考虑如下的用途:在FA(Factory Automation:工程自动化)领域中,对拍摄产品得到的图像实施图像处理从而得到所期望的效果。例如考虑如下用途:对拍摄产品的外观而得到的图像实施图像处理,提取产生了缺陷的部位,提取进行位置对齐的部位。
在这样的用途中,根据作为被摄体的产品的变更或改良、伴随于此的摄像环境的变化等,有时需要重新构建图像处理算法。因此,要求图像处理算法的构建的容易性。此外,要求构建针对照明条件的变化或被摄体的形状、位置姿势的偏差等摄像环境的变化的健壮性较高的图像处理算法。
通过利用遗传编程,仅预先准备输入图像51和与其对应的目标图像52,就能够容易地生成能够在这样的用途中使用的图像处理程序。此外,通过准备多个摄像环境分别不同的输入图像51和目标图像52的对儿(学习数据50),还能够自动生成针对摄像环境的变化的健壮性较高的图像处理算法。
此外,在基于遗传编程的图像处理程序的生成处理中,准备的能够选择的图像滤波器越多,则能够实现接近作为目的的处理的高质量的图像处理的可能性越高。例如,假设实现相同种类的图像处理并且准备了多个所设定的参数不同的多个图像滤波器。然后,假设在实现某个图像处理的情况下,最佳参数是“8”,但是没有准备设定了参数“8”的图像滤波器。该情况下,可能无法高精度地实现作为目的的处理。此外,虽然通过重复多个设定了“8”以外的参数的同种图像滤波器,可能会实现某种程度的精度的处理,但是,在该情况下,树结构的节点数变多的可能性较高,相应地,到学习结束为止的时间变长的可能性也较高。
这样,准备的能够选择的图像滤波器越多,则能够实现高质量的图像处理的可能性就越高。相反,到搜索到适当的图像滤波器的组合为止的的时间变长,其结果为,程序生成处理所需要的时间变长的可能性提高。
作为处理时间变长的主要原因,考虑在初始个体的生成时或图像滤波器的进化过程中,随机选择图像滤波器。如果随机选择图像滤波器,则可能会选择不适合用于实现所期望的图像处理的图像滤波器。
例如,在从初始个体群中选择了包含不适合的图像滤波器在内的个体作为父个体的情况下,根据所选择的父个体和基于该父个体的子个体分别计算的适合度成为较低的值的可能性较高。此外,在进化过程中生成包含不适合的图像滤波器的子个体的情况下,根据该子个体来计算的适合度成为较低的值的可能性也较高。因此,生成包含不适合的图像滤波器的个体越多,则在程序生成处理的过程中执行无助于适合度的增加的无用处理的可能性越高,学习的进展变慢的可能性变高。
因此,在实施方式1-2中,针对作为参考例而示出的上述的程序生成处理实施如下的设计。首先,作为在程序生成处理中利用的图像滤波器,准备在程序生成处理的过程中被选择时能够设定参数的图像滤波器。以下,有时将这样的图像滤波器称作“参数可变滤波器”。
通过准备参数可变滤波器,尽管只准备了1个同种的图像滤波器,也能够在生成初始个体时或进化过程中选择执行所设定的参数不同的多个处理的图像滤波器。由此,容易实现高质量的图像处理。
除此以外,按照能够对各个参数可变滤波器设定的每个参数,设定与对作为目的的图像处理的有效性对应的选择概率。而且,在生成初始个体时或进化过程中,所设定的选择概率越高的参数越容易被选择。由此,即使在能够设定的参数数量较多的情况下,在选择相应的参数可变滤波器时,也能提高设定有效性较高的参数的可能性,降低程序生成处理所需要的时间增大的可能性。
以下,对实施方式1-2的图像处理装置详细说明。
图5是示出图像处理装置的硬件结构例的图。图像处理装置100例如作为图5所示的计算机来实现。
图像处理装置100通过处理器101来控制装置整体。处理器101可以是多处理器。处理器101例如是CPU(Central Processing Unit:中央处理器)、MPU(Micro ProcessingUnit:微处理器)、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和多个周边设备连接。
RAM 102被用作图像处理装置100的主存储装置。在RAM 102中暂时存储让处理器101执行的OS(Operating System:操作系统)程序和应用程序中的至少一部份。此外,在RAM102中存储处理器101的处理所需要的各种数据。
作为与总线109连接的周边设备,存在HDD(Hard Disk Drive:硬盘设备)103、图形处理装置104、输入接口105、读取装置106、网络接口107和通信接口108。
HDD 103被用作图像处理装置100的辅助存储装置。在HDD 103中存储OS程序、应用程序和各种数据。另外,作为辅助存储装置,还能够使用SSD(Solid State Drive:固态设备)等其他种类的非易失性存储装置。
图形处理装置104与显示装置104a连接。图形处理装置104按照来自处理器101的命令,在显示装置104a的画面中显示图像。作为显示装置存在使用CRT(Cathode Ray Tube:阴极射线管)的显示装置和液晶显示装置等。
输入接口105与输入装置105a连接。输入接口105将从输入装置105a输出的信号发送到处理器101。作为输入装置105a,存在有键盘和指向设备等。作为指向设备,存在有鼠标、触摸面板、平板、触摸板、轨迹球等。
在读取装置106中拆装移动式记录介质106a。读取装置106读取移动式记录介质106a中记录的数据并将其发送到处理器101。作为移动式记录介质106a,存在有光盘、光磁盘、半导体存储器等。
网络接口107经由网络107a在与其他的装置之间进行数据的收发。
通信接口108在与所连接的外部设备之间进行数据的收发。在本实施方式中,在通信接口108上连接有照相机108a作为外部设备,通信接口108将从照相机108a发送的图像数据发送到处理器。
通过以上的硬件结构,能够实现图像处理装置100的处理功能。
图6是示出图像处理装置所具有的处理功能的结构例的框图。图像处理装置100具有图像取得部111、程序生成部112、图像处理部113、程序存储部130、滤波器集存储部140和学习数据存储部150。
图像取得部111和程序生成部112的处理例如通过由图像处理装置100的处理器101执行规定的程序来实现。程序存储部130、滤波器集存储部140和学习数据存储部150例如被实现为图像处理装置100的HDD 103的存储区域。
图像取得部111从照相机108a取得拍摄到的图像的数据,并输出到程序生成部112或图像处理部113。
程序生成部112通过遗传编程生成图像处理程序,将所生成的图像处理程序保存到程序存储部130。
图像处理部113的处理通过由图像处理装置100的处理器101执行程序存储部130中保存的图像处理程序来实现。图像处理部113经由图像取得部111取得由照相机108a拍摄到的图像的数据,对所取得的图像的数据实施图像处理。处理后的图像例如在显示装置104a中显示。
滤波器集存储部140存储多个能够通过学习处理部122进行选择的图像滤波器的程序。滤波器集存储部140中存储的图像滤波器的至少一部分是在程序生成处理的过程中进行选择时能够设定参数的参数可变滤波器。此外,滤波器集存储部140针对参数可变滤波器存储对各参数设定的选择概率。
进而,在滤波器集存储部140中针对参数可变滤波器的一部分而存储表示其特性的信息。在计算针对所对应的参数可变滤波器的各参数的选择概率时参照该信息。
学习数据存储部150存储1个以上分别包含输入图像和目标图像的各数据的学习数据。学习数据中包含的输入图像例如也可以是通过与图像处理装置100连接的照相机108a拍摄到的图像。
程序生成部112具有初始设定部121和学习处理部122。另外,初始设定部121是图1所示的设定部11的一例。此外,学习处理部122是图1所示的选择处理部12的一例。
初始设定部121进行用于执行程序生成处理的初始设定处理。例如,初始设定部121针对各个参数可变滤波器,按照每个参数计算选择概率,将计算出的选择概率与参数对应起来设定在滤波器集存储部140中。此外,初始设定部121针对滤波器集存储部140中存储的一部分的图像滤波器,根据学习数据来决定应该设定的参数。
学习处理部122使用被初始设定部121进行了初始设定的图像滤波器和学习数据存储部150中存储的学习数据,通过遗传编程来生成图像处理程序。在该程序生成处理过程中,学习处理部122在初始个体的节点处选择了参数可变滤波器时,按照与能够设定的各参数对应的选择概率来选择要设定的参数。此外,学习处理部122在选择了参数可变滤波器作为突然变异中的作为置换目的地的图像滤波器时,按照与能够设定的各参数对应的选择概率,选择要设定的参数。
接着,对滤波器集存储部140中存储的信息的例子进行说明。滤波器集存储部140中存储滤波器集数据库和滤波器特性数据库。
图7是示出滤波器集数据库中注册的信息的例子的图。
在滤波器集数据库141中,按照能够并入图像处理程序的每个图像滤波器注册有记录(record)。在各记录中注册有用于识别对应的图像滤波器的滤波器ID。在图7的例中,“滤波器#1”表示滤波器ID为“1”的图像滤波器。记录分别与1个图像滤波器程序的程序代码对应。另外,对应的程序代码例如存储在滤波器集存储部140中。
在滤波器集数据库141的各记录中注册属性信息。属性信息是表示相应的图像滤波器是“参数可变滤波器”、“参数未定滤波器”、“通常滤波器”中的哪种滤波器的信息。参数未定滤波器是指在初始状态下未设定所需要的参数的图像滤波器。在每次对参数未定滤波器执行程序生成处理时,在该处理内的初始设定步骤中,通过初始设定部121并根据学习数据来设定参数。在本实施方式中,注册遮蔽处理滤波器来作为参数未定滤波器。通常滤波器是指参数可变滤波器和参数未定滤波器以外的图像滤波器。
进而,在滤波器集数据库141的记录中的与参数可变滤波器对应的记录中,注册多个参数信息和与各参数信息对应的选择概率。在参数信息中注册能够在对应的参数可变滤波器中设定的参数的值。例如,在能够对参数可变滤波器设定2种参数的情况下,在参数信息中注册2种参数的数值的组合。针对相应的记录预先注册参数信息。
另外,在程序生成处理的过程中,在选择了参数可变滤波器来作为要并入个体的图像滤波器的情况下,进一步选择要在该参数可变滤波器中设定的参数。因此,在滤波器集数据库141中,与参数可变滤波器对应起来注册的参数信息越多,则实质上能够将越多数量的图像滤波器并入个体,所实现的图像处理步骤的数量变多。其结果为,能够实现接近作为目的的处理的高质量的图像处理的可能性提高。
如上所述,在使用了能够后来设定参数的参数可变滤波器的情况下,与能够设定的参数的变化的数量无关,要在滤波器集存储部140中预先存储的参数可变滤波器的程序代码是1组即可。因此,能够提高可实现高质量图像处理的可能性,并且降低滤波器集存储部140的存储容量。
选择概率表示在针对初始个体的节点或突然变异的对象节点而选择了对应的参数可变滤波器时,针对所选择的参数可变滤波器而选择相应参数的概率。在每次执行程序生成处理时,在该初始设定步骤中通过初始设定部121来设定选择概率。
这里,作为参数可变滤波器,例如存在低通滤波器、高通滤波器、带通滤波器、微分滤波器、阈值处理滤波器等。作为低通滤波器(平滑化滤波器)的例子,存在高斯(Gaussian)滤波器。作为微分滤波器的例子,存在索贝尔(Sobel)滤波器、拉普拉斯(Laplace)滤波器、普鲁伊特(Prewitt)滤波器。
作为能够在各参数可变滤波器中设定的参数,存在如下的参数。针对低通滤波器、高通滤波器、带通滤波器,能够设定滤波器直径(内核尺寸)作为参数。针对索贝尔滤波器、普鲁伊特滤波器,能够设定x方向和y方向的各微分次数、滤波器直径、或它们中的一方来作为参数。针对拉普拉斯滤波器,能够设定滤波器直径作为参数。针对阈值处理滤波器,能够设定阈值作为参数。
图8是示出滤波器特性数据库中存储的信息的例子的图。在滤波器特性数据库142中,针对参数可变滤波器中的一部分滤波器,注册每个参数信息的特性信息。在图8中示出针对能够在滤波器ID为“1”的参数可变滤波器(滤波器#1)中设定的参数信息“x1,y1”、“x1,y2”、“x2,y1”、“x2,y2”分别注册了特性信息的例子。
在本实施方式中,作为一例,滤波器特性数据库142中,注册关于低通滤波器、高通滤波器、带通滤波器等使特定的空间频带的信号成分增减的图像滤波器的特性信息。该情况下,作为特性信息,注册表示各图像滤波器的频率特性(对于空间频率的透过率特性)的信息。后面叙述该情况下的特性信息的例子。
接着,对程序生成处理步骤的详细情况进行说明。首先,图9是示出程序生成处理整体的步骤的例子的流程图。
[步骤S21]初始设定部121受理用于设定学习数据的输入操作。例如,从学习数据存储部150中存储的学习数据中指定在本处理中使用的学习数据。
[步骤S22]初始设定部121受理用于设定滤波器设置的输入操作。例如,从滤波器集数据库141中注册的图像滤波器中指定在本处理中使用的图像滤波器。
[步骤S23]初始设定部121针对步骤S22中指定的图像滤波器中的参数可变滤波器,按照每个参数计算选择概率,将计算出的选择概率设定在滤波器集数据库141中。在图11~图17中详细说明该处理。
[步骤S24]初始设定部121根据学习数据来决定在步骤S22中指定的图像滤波器中的参数未定滤波器中设定的参数。初始设定部121在对应的参数未定滤波器的程序代码中设定所决定的参数,从而将该程序代码设为能够执行的状态。另外,在图18~图20中详细说明该步骤S24的处理。
[步骤S25]学习处理部122生成包含规定数量的初始个体在内的个体群(初始个体群)。针对在各初始个体中设定的各节点,随机选择在步骤S22中指定的图像滤波器并进行组合,由此生成各初始个体。此外,学习处理部122在选择了参数可变滤波器的情况下,针对所选择的参数可变滤波器来选择要设定的参数。此时,学习处理部122按照滤波器集数据库141中按照每个参数设定的选择概率,来选择参数。在图10中详细说明该步骤S25的处理。
另外,在步骤S25中生成的个体群相当于图2所示的个体群61,因此,此后表述为“个体群61”。
[步骤S26]学习处理部122从个体群61中包含的个体中随机选择2个父个体。
[步骤S27]学习处理部122通过在所选择的2个父个体之间进行交叉来生成2个以上的规定数量的子个体。
[步骤S28]学习处理部122使所生成的子个体中的任意一个节点产生突然变异,将原来的子个体的节点中并入的图像滤波器置换为步骤S22中指定的其他图像滤波器中的任意一个滤波器。
此外,学习处理部122在选择了参数可变滤波器作为置换后的图像滤波器的情况下,针对所选择的参数可变滤波器选择要设定的参数。此时,学习处理部122按照滤波器集数据库141中针对每个参数设定的选择概率,来选择参数。
在图10中详细说明该步骤S28中的置换后的图像滤波器的选择处理。
[步骤S29]针对步骤S26中选择的各父个体和通过步骤S27、S28的处理得到的各子个体来计算适合度。在该处理中,针对计算对象的各个体进行如下的处理。
学习处理部122选择1个在步骤S21中指定的学习数据,针对所选择的学习数据中包含的输入图像来应用计算对象的个体的处理。学习处理部122计算通过个体的处理得到的图像与所选择的学习数据中包含的目标图像之间的一致度,从而计算适合度。学习处理部122针对步骤S21中指定的全部学习数据来执行以上的处理。学习处理部122计算所计算出的全部适合度的平均值,输出该平均值作为计算对象的个体的适合度。
[步骤S30]学习处理部122判定步骤S29中计算出的各个体的适合度中的最大值是否大于规定的阈值。在适合度的最大值大于阈值的情况下,执行步骤S32的处理。另一方面,在适合度的最大值为阈值以下的情况下,执行步骤S31的处理。
[步骤S31]学习处理部122在步骤S26中选择出的各父个体和通过步骤S27、S28的处理得的各子个体中,选择适合度最大的个体作为生存的个体。进而,学习处理部122从剩余的个体中进一步选择1个生存的个体。在该选择处理中,例如通过与计算出的适合度对应的概率来选择个体。
学习处理部122将个体群62的个体中的在步骤S26中选择出的2个个体调换为作为生存的个体而选择出的2个个体。由此,更新个体群62的世代。
[步骤S32]学习处理部122从步骤S29中计算了适合度的个体中选择适合度最大的个体。学习处理部122将选择出的个体所表示的图像处理程序存储在程序存储部130中,结束程序生成处理。
接着,详细说明在步骤S25选择要在个体的节点并入的图像滤波器的处理,以及在步骤S28中选择对突然变异的对象节点新并入的图像滤波器的处理。在这些选择处理中,学习处理部122执行如下的图10所示的处理。
图10是示出图像滤波器的选择处理步骤的例子的流程图。
[步骤S41]学习处理部122从步骤S22中指定的图像滤波器中随机(即,以相同的概率)选择图像滤波器。
另外,在该步骤S41中,也可以考虑能够在所指定的图像滤波器中的参数可变滤波器中设定的参数的数量,设定每个图像滤波器的选择概率。例如,假设在所指定的图像滤波器中,参数可变滤波器的数量为n,参数未定滤波器和通常滤波器的总数为m,能够对各参数可变滤波器设定p种参数的组合(即,在滤波器集数据库141中,在各参数可变滤波器中注册了p个参数信息)。该情况下,例如,将步骤S22中的参数可变滤波器的选择概率计算为p/(n·p+m),将参数未定滤波器和通常滤波器的各选择概率计算为1/(n·p+m)。
[步骤S42]学习处理部122在步骤S41中判定是否选择了参数可变滤波器。该判定是基于滤波器集数据库141中的与所选择的图像滤波器对应的记录中注册的属性信息而进行的。在选择了参数可变滤波器的情况下,执行步骤S43的处理。另一方面,在选择了参数可变滤波器以外的图像滤波器的情况下,执行步骤S44的处理。
[步骤S43]学习处理部122在滤波器集数据库141内的与所选择的图像滤波器对应的记录中,按照针对每个参数而设定的选择概率来选择参数。
[步骤S44]学习处理部122将步骤S41中选择的图像滤波器并入相应节点。此外,在所选择的图像滤波器是参数可变滤波器的情况下,学习处理部122在要并入节点的图像滤波器中设定在步骤S43中选择的参数。
接着,详细说明在图9的步骤S23中按照参数可变滤波器的每个参数来设定选择概率的处理。这里,作为参数可变滤波器的例子,对高斯滤波器、阈值处理滤波器、索贝尔滤波器进行说明。
首先,使用图11~图14对针对高斯滤波器的参数的选择概率的设定处理进行说明。关于高斯滤波器,在滤波器特性数据库142中注册有每个参数的特性信息,在选择概率的设定处理时参照特性信息。
图11是示出与高斯滤波器有关的特性信息的例子的图。在滤波器特性数据库142中,作为与高斯滤波器有关的特性信息,预先注册有表示设定了对应的参数的高斯滤波器的、针对空间频率的透过率的信息。这里,作为一例,透过率表示亮度值的透过率。此外,假设能够对高斯滤波器设定滤波器直径(内核尺寸)作为参数。
这里,当设空间频率为ν、参数(滤波器直径)为σ、图像滤波器中固有的系数为α时,通过下式(1)表示高斯滤波器的透过率L(ν,σ)。
L(ν,σ)=exp{-(αν22)}……(1)
在图11中,作为一例,示出对高斯滤波器分别设定“3”、“5”、“7”、“9”作为参数σ时的透过率。
图12是示出基于输入图像和目标图像的透过率的计算方法的例子的图。此外,图13是示出基于透过率的比较的选择概率的计算方法的例子的图。
首先,初始设定部121根据图9的步骤S21中指定的学习数据,根据输入图像求出针对对应的目标图像的透过率(频率透过特性)。这里,作为一例,假设指定了1组输入图像和目标图像的对儿。
为了计算透过率,初始设定部121对输入图像和对应的目标图像分别进行傅立叶变换,将各图像的数据转换为频域的数据。例如,如图12左上所示的曲线图201那样求出对输入图像f的亮度值进行傅立叶变换而得到的转换数据F(ν)。此外,例如,如图12左下所示的曲线图202那样求出对目标图像g的亮度值进行傅立叶变换而得到的转换数据G(ν)。使用下式(2)求出透过率H(ν)。
H(ν)=G(ν)/F(ν)……(2)
图12右侧所示的曲线图203示出基于曲线图201、202所示的转换数据F(ν)、G(ν),使用式(2)而求出的透过率H(ν)的例子。
接着,初始设定部121求出透过率H(ν)分别与在滤波器特性数据库142中注册为特性信息的每个参数的透过率L(ν,σ)之间的相关性,该透过率H(ν)是根据输入图像f和目标图像g来求出的。例如使用下式(3)来求出表示透过率H(ν)和与参数σ对应的透过率(ν,σ)之间的相关性的相关系数R(σ)。
这里,越是在各参数中,对应的透过率L(ν,σ)与求出的透过率H(ν)之间的相关性高的参数,在高斯滤波器中设定了该参数的情况下进行与作为目的的处理接近的处理的可能性就越高,估计为有效性较高。因此,初始设定部121以越是与透过率H(ν)之间的相关性高的参数则选择概率越高的方式,对各参数设定选择概率。
例如使用对各参数σ的相关系数R(σ)进行归一化的下式(4)来求出关于某个图像滤波器的参数σ的选择概率。
图13上侧所示的曲线图211重叠显示图11所示的每个参数的透过率L(ν,σ)和图12的曲线图203所示的透过率H(ν)。在该例中,所求出的与透过率H(ν)之间的相关性按照参数σ的值为“7”、“9”、“5”、“3”的顺序而变高。该情况下,例如,如图13下侧所示的曲线图212那样设定选择概率P(σ)。
另外,以上的图12、图13的例子是仅使用1组输入图像和目标图像的对儿的情况下的处理。在使用多组输入图像和目标图像的对儿的情况下,如接下来的图14所示,初始设定部121在按照每个对儿计算出相关系数后,按照每个参数求出相关系数的平均值,根据求出的平均值来决定选择概率。
图14是示出对高斯滤波器的参数的选择概率的设定处理例的流程图。
[步骤S101]初始设定部121从图9的步骤S21中指定的学习数据中选择1个学习数据(即,输入图像和目标图像的对儿)。
[步骤S102]初始设定部121对选择出的学习数据中包含的输入图像和目标图像分别进行傅立叶变换。
[步骤S103]初始设定部121根据通过傅立叶变换而得到的各数据,使用上述的式(2)来计算透过率H(ν)。
[步骤S104]初始设定部121使用上述的式(3)来计算所计算出的透过率H(ν)与作为特性信息而与能够在高斯滤波器中设定的各参数σ对应起来的各个透过率(ν,σ)之间的相关系数R(σ)。从滤波器特性数据库142中的与高斯滤波器对应的各记录取得透过率(ν,σ)。
[步骤S105]初始设定部121判定是否已经选择了在图9的步骤S21中指定的全部的学习数据。在存在未选择的学习数据的情况下,再次执行步骤S101的处理。在已经选择了全部的学习数据的情况下,执行步骤S106的处理。
[步骤S106]初始设定部121计算在步骤S101~S105的处理中针对相同的参数而根据不同的学习数据计算出的相关系数R(σ)的平均值Rave(σ)。由此,按照每个参数σ计算平均值Rave(σ)。
[步骤S107]初始设定部121通过对每个参数σ的相关系数的平均值Rave(σ)进行归一化,来计算每个参数σ的选择概率。针对式(4),代替各参数σ的相关系数R(σ)而代入每个参数σ的相关系数的平均值Rave(σ),由此计算选择概率。初始设定部121将计算出的选择概率与相应的参数对应起来,在滤波器集数据库141中的与高斯滤波器对应的记录中进行设定。
通过以上的图11~图14的处理,计算如下的有效度来作为相关系数或其平均值,其中,该有效度表示对高斯滤波器设定各参数而实现的各个图像处理以何种程度接近将输入图像转换为对应的目标图像的图像处理。然后,对各参数设定与相关系数或其平均值对应的选择概率。由此,在选择了高斯滤波器作为在学习处理部122的处理过程要在节点并入的图像滤波器时,容易在高斯滤波器中设定用于执行与作为目的的处理接近的图像处理的参数。
另外,针对高斯滤波器以外的低通滤波器、高通滤波器、带通滤波器等进行使特定的空间频带的信号成分增减的处理的参数可变滤波器,通过与上述的图11~图14同样的处理,也能够按照每个能够设定的参数来设定选择概率。
接着,使用图15、图16,对针对阈值处理滤波器的参数设定选择概率的设定处理进行说明。
阈值处理滤波器是针对像素值(这里为亮度值)为阈值以上或小于阈值的像素,对该像素值进行规定的转换处理的图像滤波器。作为转换处理,例如存在将像素值转换为最大值或最小值的处理。在以下的说明中,设为能够对阈值处理滤波器设定阈值来作为参数。阈值由亮度值表示。
图15是示出亮度直方图和选择概率的设定例的图。
首先,初始设定部121例如根据学习数据中包含的输入图像来计算亮度值的直方图。接着,初始设定部121判定直方图的谷底的位置。谷底的位置例如根据直方图的微分值来判定。或者,谷底的位置也可以被判定为2个峰值的位置之间的最小值的位置。
初始设定部121以所判定的谷底的位置为中心,呈正态分布状设定选择概率。即,参数的亮度值越接近所判定的谷底的位置,则在该参数中设定越高的选择概率,参数的亮度值距离所判定的谷底的位置越远,则在该参数中设定越低的选择概率。
阈值被设定为,例如能够在输入图像内将具有某些特征的区域从其以外的区域中提取出来。而且,具有某些特征的区域中的像素值的分布区域与其以外的区域中的像素值的分布区域大多数情况下位于不同的区域。亮度直方图中的谷底的位置大多数情况下接近这些各个分布区域的边界。因此,在通过阈值处理滤波器对某个输入图像进行处理的情况下,估计为基于该输入图像的亮度直方图中的谷底的位置大多数情况下接近所设定的阈值。
在图15的例中,根据亮度直方图221求出谷底的位置L1,将表示选择概率的曲线222设定为以谷底的位置L1为中心的正态分布状。所设定的参数表示为横轴的亮度值的离散值,通过曲线222求出与各参数对应的选择概率。
另外,以上的图15的例子是仅使用了1组输入图像和目标图像的对儿时的处理。在使用多组输入图像和目标图像的对儿的情况下,如接下来的图16所示,初始设定部121按照每个对儿求出亮度直方图,求出根据各亮度直方图而检测到的谷底的位置的平均值。然后,以所求出的平均值为中心,呈正态分布状设定选择概率。
图16是示出针对阈值处理滤波器的参数来设定选择概率的设定处理例的流程图。
[步骤S111]初始设定部121从图9的步骤S21中指定的学习数据中选择1个学习数据(即,输入图像和目标图像的对儿)。
[步骤S112]初始设定部121根据选择出的学习数据中包含的输入图像的亮度值来计算亮度直方图。
[步骤S113]初始设定部121判定亮度直方图的谷底的位置。
[步骤S114]初始设定部121判定是否已经选择了图9的步骤S21中指定的全部的学习数据。在存在未选择的学习数据的情况下,再次执行步骤S111的处理。在已经选择了全部的学习数据的情况下,执行步骤S115的处理。
[步骤S115]初始设定部121计算按照每个输入图像判定出的谷底的位置的平均值。
[步骤S116]初始设定部121生成以所计算出的平均值为中心的正态分布状的曲线,根据所生成的曲线,决定与能够在阈值处理滤波器中设定的各参数对应的选择概率。初始设定部121将所决定的选择概率与相应的参数对应起来,在滤波器集数据库141中的与阈值处理滤波器对应的记录中进行设定。
通过以上的图15、图16的处理,根据如下的有效度来设定与各参数对应的选择概率,其中,该有效度表示对阈值处理滤波器设定各参数而实现的各个图像处理以何种程度接近将输入图像转换为对应的目标图像的图像处理。由此,在选择了阈值处理滤波器作为在学习处理部122的处理过程中要在节点并入的图像滤波器时,容易在阈值处理滤波器中设定用于执行与作为目的的处理接近的图像处理的参数。
接着,使用图17来说明针对索贝尔滤波器的参数设定选择概率的设定处理。
初始设定部121例如针对学习数据中包含的输入图像,实施基于设定了各参数的索贝尔滤波器的图像处理。初始设定部121根据各图像处理的处理后的图像,按照每个图像计算像素值(例如,亮度值)的总和。索贝尔滤波器是进行边缘的提取的图像滤波器,因此,处理后的图像中的像素值的总和越大,则从越多的区域检测到边缘。因此,处理后的图像中的像素值的总和越大,则估计为所设定的参数用于对对应的输入图像进行处理的有效度越高。因此,像素值的总和越大,则初始设定部121将要对对应的参数设定的选择概率设为越大。
此外,以上说明的处理例是仅使用1个输入图像时的处理。在使用多个输入图像的情况下,进行如接下来的图17所示的处理。
图17是示出针对索贝尔滤波器的参数设定选择概率的设定处理例的流程图。
[步骤S121]初始设定部121从图9的步骤S21中指定的学习数据中选择1个学习数据(即,输入图像和目标图像的对儿)。
[步骤S122]初始设定部121使用设定了各参数的索贝尔滤波器,对所选择的学习数据中包含的输入图像实施图像处理。由此,得到参数的数量的处理后的图像。
[步骤S123]初始设定部121针对所得到的图像,分别计算亮度值的总和。由此,按照每个参数计算亮度值的总和。
[步骤S124]初始设定部121判定是否已经选择了图9的步骤S21中指定的全部的学习数据。在存在未选择的学习数据的情况下,再次执行步骤S121的处理。在已经选择了全部的学习数据的情况下,执行步骤S125的处理。
[步骤S125]在这时候,针对各个参数来计算学习数据的数量的亮度值的总和。初始设定部121从亮度值的总和中按照对应每个参数来提取总和的最大值。初始设定部121以使得所提取出的各最大值成为相同的值的方式,对按照每个参数计算出的亮度值的总和进行归一化。
基于设定了参数的索贝尔滤波器的处理后的图像中的亮度值的总和的最大值根据输入图像而不同。通过上述的归一化处理,按照每个输入图像而不同的处理后的图像中的亮度值的总和的最大值的差不容易作为误差而表现出来。
[步骤S126]初始设定部121按照每个参数来计算归一化后的总和的平均值。
[步骤S127]初始设定部121根据按照每个参数计算出的平均值,计算与各参数对应的选择概率。初始设定部121将所决定的选择概率与相应的参数对应起来,在滤波器集数据库141中的与索贝尔滤波器对应的记录中进行设定。
例如,将针对某个参数计算出的平均值除以针对全部参数计算出的平均值的合计,由此计算与该参数对应的选择概率。由此,平均值越高的参数,设定越高的选择概率。
通过以上的图17的处理,根据如下的有效度来设定与各参数对应的选择概率,其中该有效度表示对索贝尔滤波器设定各参数而实现的各个图像处理对于从输入图像提取边缘而言,以何种程度有效。由此,在选择了索贝尔滤波器作为在学习处理部122的处理过程中要在节点并入的图像滤波器时,容易在索贝尔滤波器中设定用于执行接近作为目的的处理的图像处理的参数。
另外,例如,关于拉普拉斯滤波器、普鲁伊特滤波器等索贝尔滤波器以外的微分滤波器,通过与上述的图17同样的处理,也可按照每个能够设定的参数来设定选择概率。
通过以上的图11~图17中说明的步骤,针对参数可变滤波器的各参数,设定与针对使用了学习数据的图像处理的有效性对应的选择概率。
如图10所示,学习处理部122在选择了参数可变滤波器作为要在个体的节点并入的图像滤波器的情况下,按照通过上述步骤设定的选择概率,来选择要在参数可变滤波器中设定的参数。由此,容易在参数可变滤波器中设定用于执行接近作为目的的处理的处理的参数。其结果为,在程序生成处理的过程中计算的适合度容易收敛于较高的值,缩短程序生成所需要的时间的可能性提高。
此外,在参数可变滤波器中能够设定的参数数量较多的情况下,也能够降低程序生成所需要的时间增大的可能性。因此,能够以短时间生成实现接近作为目的的处理的高质量图像处理的图像处理程序。进而,由于容易从较多的参数中选择合适的参数,因此,在所生成的图像处理程序中,降低了在多级连接设定了不合适的参数的参数可变滤波器的可能性。因此,还能够防止在个体生成的节点数增大,这一点也有助于程序生成处理时间的缩短。
接着,对决定要对参数未定滤波器设定的参数的处理进行说明。在以下的说明中,例示遮蔽处理滤波器作为参数未定滤波器。所设定的参数是表示遮蔽区域的坐标信息。
图18是示出提取输入图像的特定区域的处理的例子的图。作为学习数据,假设给出图18所示的输入图像251和目标图像252的对儿。在输入图像251中存在具有同种特征的2处的特征区域251a、251b。另一方面,在目标图像252中,仅提取与特征区域251a对应的区域252a,未提取与特征区域251b对应的区域。另外,目标图像252是2值图像,所提取的区域的像素值为“1”,其以外的区域(被遮蔽的区域)的像素值为“0”。
在这种情况下,在使用遗传编程的程序生成处理中,生成从输入图像251中提取具有同种特征的特征区域251a、252a双方的图像处理程序是比较容易的。在该情况下,在处理后的图像253中,提取与特征区域251a对应的区域253a和与特征区域251b对应的区域253b。但是,如果不给出这些区域的位置信息,则要生成仅提取特征区域251a、252a中的一方的图像处理程序是非常困难的。
对此,在本实施方式中,在滤波器集数据库141中预先准备能够自由设定参数的遮蔽处理滤波器的程序代码。而且,初始设定部121对学习数据中包含的目标图像进行解析,根据该解析结果来决定应该对遮蔽处理滤波器设定的参数。
图19是示出根据目标图像来决定遮蔽图案的处理例的图。
如图19的目标图像261a、261b、261c、……那样,在存在多个目标图像的情况下,首先,初始设定部121生成取目标图像261a、261b、261c、……的逻辑和的合成图像262。接着,初始设定部121针对合成图像262中的提取区域(像素值为“1”的区域)进行距离转换,计算距离转换图像263。距离转换是将从相应像素到其周围的非“0”像素的距离设为相应像素的值的转换。另外,在目标图像仅1个的情况下,初始设定部121对该目标图像进行直接距离转换。
接着,初始设定部121通过对所得到的距离转换图像263进行阈值处理,生成遮蔽图案264。即,针对距离转换图像263的各像素,在像素值(距离)大于规定的阈值的情况下将像素值转换为“1”,在像素值为阈值以下的情况下将像素值转换为“0”。所生成的遮蔽图案264中的值为“0”的区域(遮蔽区域)的坐标成为在遮蔽处理滤波器中设定的参数。另外,根据上述的阈值处理,在针对输入图像之间的提取对象区域的位置偏移而提取了规定的余量的状态下,设定遮蔽区域。
图20是示出遮蔽处理滤波器的参数的设定处理例的流程图。该图20的处理在图9的步骤S24中执行。另外,在图9的步骤S21中,设为指定了多个学习数据。
[步骤S131]初始设定部121取得步骤S21中指定的各学习数据中包含的目标图像的逻辑和,生成合成图像。
[步骤S132]初始设定部12对所生成的合成图像进行距离转换,生成距离转换图像。
另外,在步骤S21中仅指定了1个学习数据的情况下,初始设定部121对该学习数据进行距离转换。
[步骤S133]初始设定部121对所生成的距离转换图像进行阈值处理,生成遮蔽图案。
[步骤S134]初始设定部121设定所生成的遮蔽图案中的遮蔽区域的坐标来作为遮蔽处理滤波器的参数。具体而言,初始设定部121在滤波器集数据库141中的与遮蔽处理滤波器对应的记录中设定遮蔽区域的坐标,来作为参数信息。
通过以上的图19、图20中说明的处理,初始设定部121能够准确地设定遮蔽处理滤波器的参数,其中,该遮蔽处理滤波器用于从存在多个具有同种特征的特征区域的输入图像中提取比这些特征区域的数量少的区域。
〔实施方式2-1〕
在上述的实施方式1-1的程序生成装置10中,使用能够后来设定参数的部分程序(参数可变程序)。而且,程序生成装置10在选择了参数可变程序作为要在个体并入的部分程序时,按照与能够设定的各参数对应的选择概率来选择1个参数,在参数可变程序中设定所选择的参数。
与此相对,在实施方式2-1的程序生成装置中,为了在个体并入而对能够选择的多个部分程序进行分类,并分组。然后,程序生成装置在选择要在个体并入的部分程序时,首先,在选择了组后,从所选择的组中包含的部分程序中选择1个部分程序。这里,在组内包含多个部分程序的情况下,程序生成装置将选择概率与各部分程序对应起来。然后,在从组中包含的部分程序中选择1个部分程序时,按照选择概率进行选择。
图21是示出实施方式2-1的程序生成装置的结构例和处理例的图。图21所示的程序生成装置10a通过遗传编程来生成图像处理程序。另外,在图21中,对于与图1相同的结构要素标注相同的标号而进行示出,省略它们的的说明。
如前所述,将能够在个体并入的多个部分程序预先分类为多个组。在各组中包含1个以上的部分程序。在图21的例中,将能够在个体并入的多个部分程序分类为组#1~#3。而且,在组#1中包含部分程序#1~#3。
这里,作为在同一组中包含的部分程序,例如存在同种类的部分程序。例如,仅所设定的参数不同的同种类的部分程序被包含在同一组中。此外,还能够将对应的选择概率的计算方法彼此相同的部分程序包含在同一组中。
程序生成装置10a具有设定部11a和选择处理部12a。设定部11a和选择处理部12a的处理例如通过由程序生成装置10a所具有的未图示的处理器执行规定的程序来实现。
设定部11a针对包含多个部分程序的组,设定与该组中包含的各部分程序对应的选择概率。设定部11a根据学习数据30中包含的信息中的至少从输入图像31得到的特征量与各部分程序之间的关系,设定与各部分程序对应的选择概率。在图21中,作为一例,示出了设定部11a设定与组#1中包含的各部分程序对应的选择概率的情况(步骤S1a)。另外,也可以根据输入图像31和与其对应的目标图像32来计算特征量。
通过设定部11a的设定处理,针对各部分程序,通过该部分程序实现的处理的有效性越高,则设定越高的选择概率。有效性高表示,通过该部分程序而实现的处理内容接近作为目的的处理内容,对学习的贡献度高。即,通过将有效性高的部分程序在学习过程中并入个体中,根据个体计算的适合度变高的可能性提高,其结果为,适合度容易收敛于较高的值,促进学习。
选择处理部12a在基于遗传编程的学习处理中,在选择要在个体的节点并入的部分程序时,首先,例如随机选择组。然后,在所选择的组中包含多个部分程序的情况下,选择处理部12a按照与各部分程序对应的选择概率,从这些部分程序中选择1个部分程序,将所选择的部分程序并入相应节点。
通过从组中包含的部分程序中按照选择概率选择1个部分程序,从而越是被估计为对使用学习数据30的图像处理的有效性高的部分程序,被并入个体的可能性就越高。由此,容易生成适合度较高的个体,促进学习,其结果为,缩短图像处理程序的生成所需要的时间的可能性提高。
以下,作为一例对如下情况进行说明:在图21所示的个体41中包含的部分程序P1~P4中,使部分程序P2产生突然变异(步骤S2a),使个体41进化。
选择处理部12a从组#1~#3中例如随机选择1个组。这里,在假设选择了组#1时(步骤S3a),选择处理部12a从组#1中包含的部分程序#1~#3中按照对应的选择概率选择1个部分程序(步骤S4a)。选择处理部12a将所选择的部分程序并入个体41来代替部分程序P2。
通过这样的选择处理部12a的处理,越是被估计为对使用学习数据30的图像处理的效性高的部分程序,就越容易被并入个体。由此,促进学习,缩短图像处理程序的生成所需要的时间的可能性提高。
此外,为了并入个体而能够选择的部分程序的数量越多,则生成接近作为目的的处理的高质量图像处理程序的可能性越高,相反,程序生成处理所需要的时间变长的可能性也提高。通过上述的选择处理部12a的处理,即使在增多能够选择的部分程序的数量的情况下,从其中选择有效的部分程序而并入个体的可能性也提高。因此,能够抑制程序处理时间增大的可能性。因此,可提高能够以短时间生成高质量图像处理程序的可能性。
另外,作为在个体的节点并入部分程序的其他情况,存在以下情况:在生成初始个体时,在初始个体的各节点并入从多个部分程序中选择的部分程序。在该情况下,选择处理部12a也能够通过与上述的步骤S3a~S4a同样的步骤,来选择在各节点并入的部分程序。该情况下,也与上述的突然变异的情况同样,促进学习,缩短图像处理程序的生成所需要的时间的可能性提高。
〔实施方式2-2〕
接着,对实施方式2-2的图像处理装置进行说明。实施方式2-2的图像处理装置具有与图21所示的程序生成装置10a同样的处理功能,以及执行通过该处理功能而生成的图像处理程序来进行图像处理的功能。
实施方式2-2的图像处理装置例如能够作为图5所示的硬件结构的计算机来实现。此外,在此以后,针对实施方式2-2的图像处理装置的结构,使用图6所示的处理功能的模块名和标号来进行说明。在实施方式2-2的图像处理装置100中,程序生成部112的处理内容的一部分以及滤波器集存储部140中存储的信息的内容与实施方式1-2的情况不同。另外,在以下的说明中,程序生成部112内的初始设定部121是图21所示的设定部11a的一例,学习处理部122是图21所示的选择处理部12a的一例。
图22是示出在实施方式2-2中在滤波器集数据库中注册的信息的例子的图。图22所示的滤波器集数据库141a代替图7所示的滤波器集数据库141而被存储在滤波器集存储部140中。
在滤波器集数据库141a中按照对能够并入图像处理程序中的多个图像滤波器进行分类而得到的每个滤波器组来注册记录。在各记录中,注册有用于识别对应的滤波器组的组ID。在图22的例中,“滤波器组#1”表示组ID为“1”的滤波器组。
在各记录中,注册有表示对应的滤波器组中包含的图像滤波器的识别信息。在图22的例中,“滤波器#1”表示滤波器ID为“1”的图像滤波器。在各记录中,注册1个以上的图像滤波器的识别信息。即,在各滤波器组中包含至少1个图像滤波器。
在各记录中注册的图像滤波器的识别信息分别与单独的图像滤波器的程序代码对应起来。另外,对应的程序代码例如被存储在滤波器集存储部140。
进而,在与包含多个图像滤波器的滤波器组对应的记录中,针对表示图像滤波器的识别信息分别注册选择概率。选择概率表示在选择对初始个体的节点或突然变异的对象节点并入的图像滤波器时,在选择了相应滤波器组的情况下,从相应滤波器组选择相应图像滤波器的概率。在每次执行程序生成处理时,在该初始设定步骤中通过初始设定部121设定选择概率。
图23是示出图像滤波器的分组的例子的图。在图23所述的分类表3001中,作为滤波器组而例示了“频率处理组”、“阈值处理组”、“微分处理组”。
在1个滤波器组中,例如,虽然进行相同种类的图像处理,但是,能够包含所设定的参数不同的图像滤波器。图23的阈值处理组是这样的滤波器组的例子,在阈值处理组中包含分别设定的参数不同的多个阈值处理滤波器。另外,阈值处理滤波器的参数例如是阈值。
此外,在频率处理组和微分处理组中分别包含处理内容相似的多种图像滤波器。例如,在频率处理组中包含低通滤波器、高通滤波器。这些图像滤波器在使特定的空间频带的信号成分增减这一点上是共同的。此外,在频率处理组中,也可以包含所设定的参数分别不同的多个低通滤波器和多个高通滤波器。另外,作为设定不同的参数,例如可以举出滤波器直径(内核尺寸)等。
此外,在微分处理组中,例如包含索贝尔滤波器、拉普拉斯滤波器、普鲁伊特滤波器。这些图像滤波器在进行微分处理这一点上是共同的。此外,在微分处理组中,也可以包含所设定的参数分别不同的多个索贝尔滤波器、多个拉普拉斯滤波器、多个普鲁伊特滤波器。另外,作为针对索贝尔滤波器、普鲁伊特滤波器的设定不同的参数,可以举出x方向和y方向的各微分次数、滤波器直径或它们中的一方。作为针对拉普拉斯滤波器的设定不同的参数,可以举出滤波器直径。
针对以上的频率处理组和微分处理组中的任意一方,与相同滤波器组中包含的各图像滤波器对应的选择概率都是通过相同的计算方法来进行计算的。由此,能够对各图像滤波器准确地设定与对使用了学习数据的图像处理的有效性对应的选择概率。另外,在后面的图27~图29中说明每个滤波器组的选择概率的计算方法。
另外,关于到基于学习数据进行计算为止未设定参数的参数未定滤波器,被分类到仅包含该参数未定滤波器的滤波器组。在实施方式2-2中,决定要对参数未定滤波器(例如,遮蔽处理滤波器)设定的参数的处理的步骤与实施方式1-2同样,因此省略其说明。
图24是示出在实施方式2-2中在滤波器特性数据库中存储的信息的例子的图。图24所示的滤波器特性数据库142a代替图8所示的滤波器特性数据库142而被存储在滤波器集存储部140中。
在计算一部分滤波器组中包含的各图像滤波器的选择概率时,使用每个图像滤波器的特性信息。在滤波器特性数据库142a中注册这样的特性信息。在滤波器特性数据库142a中注册每个图像滤波器的记录。更具体而言,在滤波器特性数据库142a中,按照图像滤波器的类别和在该图像滤波器中设定的参数的每个组合来注册记录。而且,在各记录中注册相应的图像滤波器的特性信息。作为特性信息,例如在频率处理组中包含的图像滤波器的情况下,注册表示各图像滤波器的频率特性(对于空间频率的透过率特性)的信息。
接着,使用流程图对实施方式2-2中的程序生成处理进行说明。
图25是示出程序生成处理整体的步骤的例子的流程图。在图25中,对与图9相同的处理内容的步骤标注相同的步骤变化而进行示出,省略这些处理内容的说明。
图25所示的处理代替图9中的步骤S22、S23、S25、S28而分别包含步骤S22a、S23a、S25a、S28a。
[步骤S22a]初始设定部121受理用于设定滤波器设置的输入操作。例如,从滤波器集数据库141中注册的滤波器组中指定本处理中使用的滤波器组。
[步骤S23a]初始设定部121针对步骤S22a中指定的滤波器组中的包含多个图像滤波器的滤波器组,按照每个图像滤波器来计算选择概率,将计算出的选择概率设定在滤波器集数据库141a中。在图27~图29中详细说明该处理。
[步骤S25a]学习处理部122生成包含规定数的初始个体的个体群61(初始个体群)。学习处理部122在选择要在初始个体的各节点并入的图像滤波器时,首先,随机选择步骤S22a中指定的滤波器组。这里,在所选择的滤波器组中包含多个图像滤波器的情况下,学习处理部122按照与各图像滤波器对应的选择概率来选择1个图像滤波器。在图26中详细说明步骤S25a的处理。
[步骤S28a]学习处理部122使所生成的子个体中的任意一个子个体的节点产生突然变异,将在原来的子个体的节点并入的图像滤波器置换为在步骤S22a中指定的任意一个滤波器组内的其他任意一个图像滤波器。
如下执行置换后的图像滤波器的选择处理。学习处理部122随机选择在步骤S22a中指定的滤波器组。这里,在所选择的滤波器组中包含多个图像滤波器的情况下,学习处理部122按照与各图像滤波器对应的选择概率来选择1个图像滤波器。在图25中详细说明该步骤S28a中的置换后的图像滤波器的选择处理。
接着,详细说明在步骤S25a中选择要在个体的节点并入的图像滤波器的处理,以及在步骤S28a中选择要在突然变异的对象节点新并入的图像滤波器的处理。在这些选择处理中,学习处理部122执行接下来的图26所示的处理。
图26是示出图像滤波器的选择处理步骤的例子的流程图。
[步骤S51]学习处理部122从步骤S22a中指定的滤波器组中随机(即,以相同的概率)选择滤波器组。
另外,在该步骤S51中,也可以考虑在所指定的滤波器组中分别包含的图像滤波器的数量,设定每个滤波器组的选择概率。例如,假设指定了滤波器组#1~#3,滤波器组#1、#2、#3中分别包含的图像滤波器的数量为n1、n2、n3。该情况下,例如,滤波器组#1的选择概率被计算为n1/(n1+n2+n3),滤波器组#2的选择概率被计算为n2/(n1+n2+n3),滤波器组#3的选择概率被计算为n3/(n1+n2+n3)。
[步骤S52]学习处理部122判定是否在步骤S51中选择的组中包含多个图像滤波器。在所选择的组中包含多个图像滤波器的情况下,执行步骤S53的处理。另一方面,在所选择的组中仅包含1个图像滤波器的情况下,执行步骤S54的处理。在后者的情况下,将选择的图像滤波器确定为组中包含的图像滤波器。
[步骤S53]学习处理部122在滤波器集数据库141a内的与选择的滤波器组对应的记录中,按照按每个图像滤波器设定的选择概率来选择图像滤波器。
[步骤S54]学习处理部122将所选择的图像滤波器并入相应节点。
接着,对分别针对图23中例示的频率处理组、阈值处理组和微分处理组按照每个图像滤波器设定选择概率的处理进行说明。
图27是示出针对频率处理组中包含的各图像滤波器设定选择概率的设定处理例的流程图。
[步骤S201]初始设定部121从图25的步骤S21中指定的学习数据中选择1个学习数据(即,输入图像和目标图像的对儿)。
[步骤S202]初始设定部121对所选择的学习数据中包含的输入图像和目标图像分别进行傅立叶变换。
[步骤S203]初始设定部121根据通过傅立叶变换而得到的各数据,使用前述的式(2)来计算透过率H(ν)。
[步骤S204]这里,假设变量“σ”表示频率处理组中包含的各个图像滤波器的编号来进行说明。初始设定部121使用前述的式(3)来计算所计算出的透过率H(ν)与各个透过率(ν,σ)之间的相关系数R(σ),其中,该透过率(ν,σ)作为特性信息而与频率处理组中包含的各图像滤波器对应。从滤波器特性数据库142a中的与频率处理组对应的各记录中取得透过率(ν,σ)。
[步骤S205]初始设定部121判定是否已经选择了图25的步骤S21中指定的全部的学习数据。在存在未选择的学习数据的情况下,再次执行步骤S201的处理。在已经选择了全部的学习数据的情况下,执行步骤S206的处理。
[步骤S206]初始设定部121计算在步骤S201~S205的处理中针对相同的图像滤波器而根据不同的学习数据计算出的相关系数R(σ)的平均值Rave(σ)。由此,按照每个图像滤波器来计算平均值Rave(σ)。
[步骤S207]初始设定部121通过对每个图像滤波器的相关系数的平均值Rave(σ)进行归一化,来计算每个图像滤波器的选择概率。针对前述的式(4),代替各图像滤波器的相关系数R(σ)而代入每个图像滤波器的相关系数的平均值Rave(σ),由此计算选择概率。初始设定部121将计算出的选择概率与相应的图像滤波器对应起来,在滤波器集数据库141a中的与频率处理组对应的记录中进行设定。
通过以上的图27的处理,计算如下的有效度来作为相关系数或其平均值,其中,该有效度表示通过频率处理组中包含的各图像滤波器而实现的各个图像处理以何种程度接近将输入图像转换为对应的目标图像的图像处理。然后,对各图像滤波器设定与相关系数或其平均值对应的选择概率。由此,在学习处理部122的处理过程中选择了频率处理滤波器作为要在节点并入的图像滤波器的滤波器组时,容易选择用于执行接近作为目的的处理的图像处理的图像处理并将其并入节点。
图28是示出针对阈值处理组中包含的各图像滤波器设定选择概率的设定处理例的流程图。
[步骤S211]初始设定部121从图25的步骤S21中指定的学习数据中选择1个学习数据(即,输入图像和目标图像的对儿)。
[步骤S212]初始设定部121根据所选择的学习数据中包含的输入图像的亮度值来计算亮度直方图。
[步骤S213]初始设定部121判定亮度直方图的谷底的位置。
[步骤S214]初始设定部121判定是否已经选择了图25的步骤S21中指定的全部的学习数据。在存在未选择的学习数据的情况下,再次执行步骤S211的处理。在已经选择了全部的学习数据的情况下,执行步骤S215的处理。
[步骤S215]初始设定部121计算按照每个输入图像判定的谷底的位置的平均值。
[步骤S216]初始设定部121生成以所计算出的平均值为中心的正态分布状的曲线。初始设定部121通过对所生成的曲线和在阈值处理组所包含的各阈值处理滤波器中设定的参数进行比较,来决定与各阈值处理滤波器对应的选择概率。初始设定部121将所决定的选择概率与相应的阈值处理滤波器对应起来,在滤波器集数据库141a中的与阈值处理组对应的记录中进行设定。
通过以上的图28的处理,根据如下的有效度来设定与各阈值处理参数对应的选择概率,其中,该有效度表示通过阈值处理组所包含的各阈值处理滤波器而实现的各个图像处理以何种程度接近将输入图像转换为对应的目标图像的图像处理。由此,在学习处理部122的处理过程中选择了阈值处理组作为要在节点并入的图像滤波器的滤波器组时,容易选择执行接近作为目的的处理的图像处理的阈值处理滤波器并将其并入节点。
图29是示出针对微分处理组所包含的各图像滤波器设定选择概率的设定处理例的流程图。
[步骤S221]初始设定部121从图25的步骤S21中指定的学习数据中选择1个学习数据(即,输入图像和目标图像的对儿)。
[步骤S222]初始设定部121使用微分处理组中包含的各图像滤波器,对所选择的学习数据中包含的输入图像实施图像处理。由此,能够得到图像滤波器的数量的处理后的图像。
[步骤S223]初始设定部121分别针对所得到的图像计算亮度值的总和。由此,按照每个图像滤波器计算亮度值的总和。
[步骤S224]初始设定部121判定是否已经选择了图25的步骤S21中指定的全部的学习数据。在存在未选择的学习数据的情况下,再次执行步骤S221的处理。在已经选择了全部的学习数据的情况下,执行步骤S225的处理。
[步骤S225]在这时候,针对各个图像滤波器来计算学习数据的数量的亮度值的总和。初始设定部121从亮度值的总和中按照对应的每个图像滤波器来提取总和的最大值。初始设定部121以使得所提取出的各最大值成为相同的值的方式,对按照每个图像滤波器计算出的亮度值的总和进行归一化。
基于各图像滤波器的处理后的图像中的亮度值的总和的最大值根据输入图像而不同。通过上述的归一化处理,根据每个输入图像而不同的处理后的图像中的亮度值的总和的最大值的差不容易作为误差而表现出来。
[步骤S226]初始设定部121按照每个图像滤波器来计算归一化后的总和的平均值。
[步骤S227]初始设定部121根据按照每个图像滤波器计算出的平均值,来计算与各图像滤波器对应的选择概率。初始设定部121将所决定的选择概率与相应的图像滤波器对应起来,在滤波器集数据库141a中的与微分处理组对应的记录中进行设定。
例如,将针对某个图像滤波器计算出的平均值除以针对微分处理组内的全部图像滤波器计算出的平均值的合计,由此来计算与该图像滤波器对应的选择概率。由此,平均值越高的图像滤波器,设定越高的选择概率。
通过以上的图29的处理,根据如下的有效度来设定与各图像滤波器对应的选择概率,其中,该有效度表示通过微分处理组所包含的各图像滤波器而实现的各个图像处理对于从输入图像提取边缘而言,以何种程度有效。由此,在学习处理部122的处理过程中选择了微分处理组作为要在节点并入的图像滤波器的滤波器组时,容易选择执行接近作为目的的处理的图像处理的图像滤波器并将其并入节点。
通过在以上的图27~图29中说明的步骤,针对各滤波器组内的各图像滤波器,设定与针对使用了学习数据的图像处理的有效性对应的选择概率。
如图26所示,学习处理部122在选择了包含多个图像滤波器的滤波器组作为要在个体的节点并入的图像滤波器的滤波器组的情况下,按照通过上述步骤而设定的选择概率,选择滤波器组内的图像滤波器。由此,容易选择执行接近作为目的的处理的处理的图像滤波器。其结果为,在程序生成处理的过程中计算的适合度容易收敛于较高的值,缩短程序生成所需要的时间的可能性提高。
此外,在各滤波器组中包含的图像滤波器数量较多个的情况下,也能够降低程序生成所需要的时间增大的可能性。因此,能够以短时间生成实现接近作为目的的处理的高质量图像处理的图像处理程序。进而,由于容易从较多的图像滤波器中选择合适的图像滤波器,因此,在所生成的图像处理程序中,降低了在多级连接不合适的图像滤波器的可能性。因此,还能够防止在个体生成的节点数增大,这一点也有助于程序生成处理时间的缩短。
另外,上述的各实施方式所示的装置(程序生成装置10、10a和图像处理装置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等移动式记录介质。此外,还能够预先将程序存储在服务器计算机的存储装置中,经由网络将该程序从服务器计算机传送到其他的计算机。
执行程序的计算机例如将移动式记录介质中记录的程序或从服务器计算机传送的程序存储在自己的存储装置中。然后,计算机从自己的存储装置中读取程序,按照程序来执行处理。另外,计算机还能够从移动式记录介质直接读取程序,按照该程序来执行处理。此外,计算机还能够按照每次从经由网络连接的服务器计算机传送程序而逐次地按照接收到的程序来执行处理。
上述内容仅是示出本发明的原理。进而,作为本领域技术人员能够进行大量变形、变更,本发明不限于上述示出、说明的准确的结构和应用例,对应的全部的变形例和均等物被视为由附加的权利要求及其均等物限定的本发明的范围。
标号说明
10:程序生成装置
11:设定部
12:选择处理部
21、22、23:部分程序
30:学习数据
31:输入图像
32:目标图像
41:个体

Claims (20)

1.一种程序生成装置,其使用包含输入图像和对应的目标图像在内的学习数据,通过遗传编程来决定从多个部分程序中选择出的部分程序的组合,从而生成图像处理程序,其特征在于,该程序生成装置具有:
设定部,其根据所述学习数据所包含的信息中的至少从所述输入图像得到的特征量与能够选择性地对所述多个部分程序中的参数可变程序进行设定的多个参数之间的关系,设定与所述多个参数分别对应的选择概率;以及
选择处理部,在通过突然变异使组合多个从所述多个部分程序中选择出的部分程序而得到的个体进化时,在选择了所述参数可变程序作为在所述个体的突然变异对象的位置新并入的部分程序的情况下,从所述多个参数中按照与各参数对应的所述选择概率选择1个参数,将设定了该参数的所述参数可变程序并入所述个体。
2.根据权利要求1所述的程序生成装置,其特征在于,
进而,在生成组合多个从所述多个部分程序中选择出的部分程序而得到的初始个体时,在选择了所述参数可变程序作为要并入所述初始个体的部分程序的情况下,所述选择处理部从所述多个参数中按照与各参数对应的所述选择概率来选择1个参数,将设定了该参数的所述参数可变程序并入所述初始个体。
3.根据权利要求1或2所述的程序生成装置,其特征在于,
所述设定部计算将所述输入图像和所述目标图像分别转换为频域的数据而得到的第1转换数据和第2转换数据,并计算基于所述第1转换数据和所述第2转换数据的信息作为所述特征量。
4.根据权利要求3所述的程序生成装置,其特征在于,
所述程序生成装置还具有存储部,该存储部存储针对分别设定了所述多个参数的所述参数可变程序各自的透过率特性,
所述设定部计算基于所述第1转换数据和所述第2转换数据的透过率来作为所述特征量,计算所述存储部中存储的各个所述透过率特性与所计算出的所述透过率之间的相关性,根据所计算出的所述相关性来设定与所述多个参数分别对应的所述选择概率。
5.根据权利要求1或2所述的程序生成装置,其特征在于,
所述设定部计算所述输入图像的各像素的数据的直方图作为所述特征量。
6.根据权利要求1或2所述的程序生成装置,其特征在于,
所述设定部分别使用分别设定了所述多个参数的所述参数可变程序,生成对所述输入图像进行处理而得到的多个转换图像,计算基于所述多个转换图像的信息作为所述特征量。
7.根据权利要求1~6中的任意一项所述的程序生成装置,其特征在于,
所述设定部还根据所述目标图像对所述多个部分程序中的除了所述参数可变程序以外的一个部分程序设定参数。
8.一种程序生成装置,其使用包含输入图像和对应的目标图像在内的学习数据,通过遗传编程来决定从多个部分程序中选择的部分程序的组合,从而生成图像处理程序,其特征在于,该程序生成装置具有:
设定部,其针对对所述多个部分程序进行分类而生成的多个组中的包含多个部分程序的组,根据该组所包含的各部分程序与所述学习数据所包含的信息中的至少从所述输入图像得到的特征量之间的关系,设定与该组所包含的部分程序分别对应的选择概率;以及
选择处理部,在通过突然变异使组合多个从所述多个部分程序中选择的部分程序而得到的个体进化时,在从所述多个组中选择1个组、且该组中包含有多个部分程序的情况下,从该组所包含的部分程序中按照与各部分程序对应的所述选择概率选择1个部分程序,将该部分程序并入所述个体的突然变异对象的位置。
9.根据权利要求8所述的程序生成装置,其特征在于,
进而,在生成组合多个从所述多个部分程序中选择的部分程序而得到的初始个体时,在从所述多个组中选择1个组、且该组中包含多个部分程序的情况下,所述选择处理部从该组所包含的部分程序中按照与各部分程序对应的所述选择概率选择1个部分程序,将该部分程序并入所述初始个体的1个节点。
10.根据权利要求8或9所述的程序生成装置,其特征在于,
在所述多个组中的包含多个部分程序的组中,包含有多个所设定的参数不同的相同种类的部分程序。
11.根据权利要求8~10中的任意一项所述的程序生成装置,其特征在于,
针对所述多个组中的包含多个部分程序的组,通过彼此相同的计算方法来计算与该组所包含的各部分程序对应的所述选择概率。
12.根据权利要求8~11中的任意一项所述的程序生成装置,其特征在于,
所述设定部计算将所述输入图像和所述目标图像分别转换为频域的数据而得到的第1转换数据和第2转换数据,并计算基于所述第1转换数据和所述第2转换数据的信息作为所述特征量。
13.根据权利要求12所述的程序生成装置,其特征在于,
所述程序生成装置还具有存储部,该存储部针对所述多个组中的包含多个部分程序的组,存储针对该组所包含的部分程序各自的透过率特性,
所述设定部计算基于所述第1转换数据和所述第2转换数据的透过率来作为所述特征量,计算所述存储部中存储的各个所述透过率特性与所计算出的所述透过率之间的相关性,根据所计算出的所述相关性来设定与该组所包含的部分程序分别对应的所述选择概率。
14.根据权利要求8~11中的任意一项所述的程序生成装置,其特征在于,
所述设定部计算所述输入图像的各像素的数据的直方图作为所述特征量。
15.根据权利要求8~11中的任意一项所述的程序生成装置,其特征在于,
所述设定部针对所述多个组中的包含多个部分程序的组,分别使用该组所包含的部分程序,生成对所述输入图像进行处理而得到的多个转换图像,计算基于所述多个转换图像的信息作为所述特征量。
16.根据权利要求8~15中的任意一项所述的程序生成装置,其特征在于,
所述设定部还针对所述多个组中的包含1个部分程序的组,根据所述目标图像对该部分程序设定参数。
17.一种程序生成方法,使用包含输入图像和对应的目标图像在内的学习数据,通过遗传编程来决定从多个部分程序中选择出的部分程序的组合,从而生成图像处理程序,其特征在于,计算机执行以下步骤:
根据所述学习数据所包含的信息中的至少从所述输入图像得到的特征量与能够选择性地对所述多个部分程序中的参数可变程序进行设定的多个参数之间的关系,设定与所述多个参数分别对应的选择概率;以及
通过突然变异使组合多个从所述多个部分程序中选择出的部分程序而得到的个体进化时,在选择了所述参数可变程序作为在所述个体的突然变异对象的位置新并入的部分程序的情况下,从所述多个参数中按照与各参数对应的所述选择概率选择1个参数,将设定了该参数的所述参数可变程序并入所述个体。
18.一种程序生成方法,使用包含输入图像和对应的目标图像在内的学习数据,通过遗传编程来决定从多个部分程序中选择出的部分程序的组合,从而生成图像处理程序,其特征在于,计算机执行以下步骤:
针对对所述多个部分程序进行分类而生成的多个组中的包含多个部分程序的组,根据该组所包含的各部分程序与所述学习数据所包含的信息中的至少从所述输入图像得到的特征量之间的关系,设定与该组所包含的部分程序分别对应的选择概率;以及
在通过突然变异使组合多个从所述多个部分程序中选择出的部分程序而得到的个体进化时,在从所述多个组中选择1个组、且该组中包含有多个部分程序的情况下,从该组所包含的部分程序中按照与各部分程序对应的所述选择概率选择1个部分程序,将该部分程序并入所述个体的突然变异对象的位置。
19.一种程序,其使用包含输入图像和对应的目标图像在内的学习数据,通过遗传编程来决定从多个部分程序中选择的部分程序的组合,从而生成图像处理程序,其特征在于,该程序使计算机执行以下处理:
根据所述学习数据所包含的信息中的至少从所述输入图像得到的特征量与能够选择性地对所述多个部分程序中的参数可变程序进行设定的多个参数之间的关系,设定与所述多个参数分别对应的选择概率;以及
通过突然变异使组合多个从所述多个部分程序中选择的部分程序而得到的个体进化时,在选择了所述参数可变程序作为在所述个体的突然变异对象的位置新并入的部分程序的情况下,从所述多个参数中按照与各参数对应的所述选择概率选择1个参数,将设定了该参数的所述参数可变程序并入所述个体。
20.一种程序,其使用包含输入图像和对应的目标图像在内的学习数据,通过遗传编程来决定从多个部分程序中选择的部分程序的组合,从而生成图像处理程序,其特征在于,该程序使计算机执行以下处理:
针对对所述多个部分程序进行分类而生成的多个组中的包含多个部分程序的组,根据该组所包含的各部分程序与所述学习数据所包含的信息中的至少从所述输入图像得到的特征量之间的关系,设定与该组所包含的部分程序分别对应的选择概率;以及
在通过突然变异使组合多个从所述多个部分程序中选择出的部分程序而得到的个体进化时,在从所述多个组中选择1个组、且该组中包含多个部分程序的情况下,从该组所包含的部分程序中按照与各部分程序对应的所述选择概率选择1个部分程序,将该部分程序并入所述个体的突然变异对象的位置。
CN201480080009.6A 2014-06-19 2014-06-19 程序生成装置和程序生成方法 Active CN106462401B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/066278 WO2015194006A1 (ja) 2014-06-19 2014-06-19 プログラム生成装置、プログラム生成方法およびプログラム

Publications (2)

Publication Number Publication Date
CN106462401A true CN106462401A (zh) 2017-02-22
CN106462401B CN106462401B (zh) 2019-09-10

Family

ID=54935036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480080009.6A Active CN106462401B (zh) 2014-06-19 2014-06-19 程序生成装置和程序生成方法

Country Status (5)

Country Link
US (1) US10303447B2 (zh)
EP (1) EP3159790B1 (zh)
JP (1) JP6344471B2 (zh)
CN (1) CN106462401B (zh)
WO (1) WO2015194006A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254575A (zh) * 2017-07-13 2019-01-22 横河电机株式会社 车间控制辅助装置、车间控制辅助方法及记录介质
CN111066061A (zh) * 2017-09-11 2020-04-24 富士通株式会社 信息处理装置、信息处理方法和信息处理程序

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016208037A1 (ja) * 2015-06-25 2016-12-29 富士通株式会社 プログラム生成装置、プログラム生成方法および生成プログラム
JP6631641B2 (ja) * 2016-01-20 2020-01-15 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP2017182552A (ja) * 2016-03-31 2017-10-05 株式会社Screenホールディングス 処理フロー生成システム、処理フロー生成方法、およびプログラム
JP6703289B2 (ja) * 2016-10-26 2020-06-03 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
US11132180B2 (en) * 2018-01-05 2021-09-28 Microsoft Technology Licensing, Llc Neural-guided deductive search for program synthesis
CN112905181B (zh) * 2019-12-04 2023-10-10 杭州海康威视数字技术股份有限公司 一种模型编译、运行方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282822A (ja) * 1998-03-26 1999-10-15 Toshiba Corp 画像処理プログラム合成方法及びその装置並びに最適解探索方法及びその装置
JP2010244363A (ja) * 2009-04-07 2010-10-28 Nikon Corp 遺伝的処理装置、遺伝的処理方法およびプログラム
US20100278425A1 (en) * 2009-04-30 2010-11-04 Riken Image processing apparatus, image processing method, and computer program product

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040039716A1 (en) * 2002-08-23 2004-02-26 Thompson Dean S. System and method for optimizing a computer program
US7577935B2 (en) * 2004-02-14 2009-08-18 Matthew T. Reynolds Generative programming system and method employing focused grammars
EP1830320A4 (en) * 2004-12-24 2010-10-20 Nat Univ Corp Yokohama Nat Uni IMAGE PROCESSOR
JP4376199B2 (ja) 2005-03-31 2009-12-02 国立大学法人横浜国立大学 画像処理装置
US7711674B2 (en) * 2005-11-01 2010-05-04 Fuji Xerox Co., Ltd. System and method for automatic design of components in libraries
JP2007200246A (ja) * 2006-01-30 2007-08-09 Sharp Corp 画像処理アルゴリズムの評価方法、生成方法、装置、プログラムおよび記録媒体
CN101636698A (zh) * 2007-03-19 2010-01-27 陶氏环球技术公司 使用三维pareto-front遗传规划开发的推理传感器
JP2009151371A (ja) 2007-12-18 2009-07-09 Dainippon Screen Mfg Co Ltd 画像処理装置、画像処理方法およびプログラム
US20100179930A1 (en) * 2009-01-13 2010-07-15 Eric Teller Method and System for Developing Predictions from Disparate Data Sources Using Intelligent Processing
US8885565B2 (en) * 2012-09-28 2014-11-11 Intel Corporation Mixed off-site/on-site prediction computation for reducing wireless reconnection time of a computing device
US9741098B2 (en) * 2012-10-12 2017-08-22 Nvidia Corporation System and method for optimizing image quality in a digital camera
JP6179224B2 (ja) * 2013-07-02 2017-08-16 富士通株式会社 画像処理フィルタの作成装置及びその方法
GB201317203D0 (en) * 2013-09-27 2013-11-13 Cory Robert Computer program generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282822A (ja) * 1998-03-26 1999-10-15 Toshiba Corp 画像処理プログラム合成方法及びその装置並びに最適解探索方法及びその装置
JP2010244363A (ja) * 2009-04-07 2010-10-28 Nikon Corp 遺伝的処理装置、遺伝的処理方法およびプログラム
US20100278425A1 (en) * 2009-04-30 2010-11-04 Riken Image processing apparatus, image processing method, and computer program product

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254575A (zh) * 2017-07-13 2019-01-22 横河电机株式会社 车间控制辅助装置、车间控制辅助方法及记录介质
CN109254575B (zh) * 2017-07-13 2023-04-25 横河电机株式会社 车间控制辅助装置、车间控制辅助方法及记录介质
CN111066061A (zh) * 2017-09-11 2020-04-24 富士通株式会社 信息处理装置、信息处理方法和信息处理程序

Also Published As

Publication number Publication date
JPWO2015194006A1 (ja) 2017-04-20
WO2015194006A1 (ja) 2015-12-23
EP3159790A4 (en) 2017-06-21
US10303447B2 (en) 2019-05-28
JP6344471B2 (ja) 2018-06-20
CN106462401B (zh) 2019-09-10
EP3159790A1 (en) 2017-04-26
EP3159790B1 (en) 2021-03-24
US20170083295A1 (en) 2017-03-23

Similar Documents

Publication Publication Date Title
CN106462401A (zh) 程序生成装置、程序生成方法和程序
Lu et al. Generative adversarial networks (GANs) for image augmentation in agriculture: A systematic review
Ahmad et al. A survey on using deep learning techniques for plant disease diagnosis and recommendations for development of appropriate tools
Yin et al. Joint multi-leaf segmentation, alignment, and tracking for fluorescence plant videos
CN108399431A (zh) 分类模型训练方法以及分类方法
Romano et al. Enhanced deep learning approach for predicting invasive ductal carcinoma from histopathology images
CN105938557A (zh) 图像识别方法、图像识别装置
CN112819110B (zh) 基于权重生成的增量式小样本目标检测方法及系统
Koehl et al. Landmark-free geometric methods in biological shape analysis
CN108009593A (zh) 一种迁移学习最优算法选取方法及系统
CN109416313A (zh) 图像地图集系统和方法
Jubery et al. Using machine learning to develop a fully automated soybean nodule acquisition pipeline (snap)
CN113065609B (zh) 图像分类方法、装置、电子设备及可读存储介质
CN110046622A (zh) 一种有目标的攻击样本生成方法、装置、设备及存储介质
CN108475425A (zh) 图像处理装置、图像处理方法及图像处理程序
CN107636698A (zh) 程序生成装置、程序生成方法以及生成程序
Atanbori et al. Convolutional neural net-based cassava storage root counting using real and synthetic images
CN110188592B (zh) 一种尿液有形成分细胞图像分类模型构建方法及分类方法
CN115424053A (zh) 小样本图像识别方法、装置、设备及存储介质
CN109034218A (zh) 模型训练方法、装置、设备及存储介质
Amelio et al. An evolutionary approach for image segmentation
CN113222017A (zh) 探地雷达数据生成方法、控制装置、系统及存储介质
Augustin et al. A framework for the extraction of quantitative traits from 2D images of mature Arabidopsis thaliana
CN115546586A (zh) 红外弱小目标的检测方法、装置、计算设备及存储介质
CN115223042A (zh) 基于YOLOv5网络模型的目标识别方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant