CN108140133A - 程序生成装置、程序生成方法及生成程序 - Google Patents

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

Info

Publication number
CN108140133A
CN108140133A CN201580083986.6A CN201580083986A CN108140133A CN 108140133 A CN108140133 A CN 108140133A CN 201580083986 A CN201580083986 A CN 201580083986A CN 108140133 A CN108140133 A CN 108140133A
Authority
CN
China
Prior art keywords
node
program
level group
sections
processing
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
CN201580083986.6A
Other languages
English (en)
Other versions
CN108140133B (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 CN108140133A publication Critical patent/CN108140133A/zh
Application granted granted Critical
Publication of CN108140133B publication Critical patent/CN108140133B/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/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • 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
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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/87Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Multimedia (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

生成实现高精度的图像分类处理的图像分类程序。生成部(1a)分别生成表示图像分类程序的树结构(11a,11b,11c,…)。各个树结构具备第1层级群(12a)和第2层级群(12b),第1层级群(12a)的节点的要素分别从用于针对输入图像实施前处理的图像滤波器(21a,21b,21c,…)中选择,第2层级群(12b)的节点的要素从用于设定分别不同的值而作为用于基于通过针对第1层级群(12a)的节点选择的要素的执行来取得的信息来生成分类器的控制参数的设定程序(31a,31b,31c,…)中选择。遗传处理部(1b)基于树结构(11a,11b,11c,…),通过遗传编程来输出适应度超过规定的阈值的树结构。

Description

程序生成装置、程序生成方法及生成程序
技术领域
本发明涉及程序生成装置、程序生成方法及生成程序。
背景技术
用于判断图像中拍摄到的物体属于哪个类别的图像处理被称为图像分类。在图像分类中,最为通常的是分类为2个类别的图像处理,例如,分类为人脸和非人脸的2个类别的人脸图像识别被广泛地利用。
另外,关于图像处理程序的生成,具有通过遗传编程而自动生成执行所期望的图像处理的图像处理程序的技术。该技术为如下的技术:利用输入图像和作为目标的处理结果(例如,目标图像),通过遗传编程而将组合用于图像处理的部分程序(例如,图像滤波器的程序)而生成的图像处理程序优化。
并且,提出了在图像分类程序的生成中应用遗传编程的技术。在该技术中,设置在计算输入到分类器的特征量群的特征量群算出部的前级的滤波器列通过进化的计算而被优化。
现有技术文献
专利文献
专利文献1:日本特开2007-213480号公报
非专利文献
非专利文献1:青木绅也,长尾智晴,“树结构图像转换的自动构建法ACTIT”,信息媒体学术期刊Vol.53,No.6,1999年6月20日,第890-892页(青木紳也,長尾智晴,「木構造画像変換の自動構築法ACTIT」,情報メデイア学会誌Vol.53,No.6,1999年6月20日,p.890-892)
发明内容
发明要解决的课题
在图像分类中,以下两点在提高分类精度时非常重要:从图像提取何种特征量而使用及基于所取得的特征量生成何种分类器。但是,为了搜索这两点的最佳的组合,需要专家的高度的知识和大量的研发时间。
另外,在通过进化的计算来将滤波器列优化的上述的技术中,关于分类器的生成,不属于通过进化的计算来实现的优化的对象。
在一个侧面中,本发明的目的在于提供一种可生成实现高精度的图像分类处理的图像分类程序的程序生成装置、程序生成方法及生成程序。
用于解决课题的手段
在一个方案中,提供一种具备生成部和遗传处理部的程序生成装置。生成部分别生成表示图像分类程序的多个树结构。在此,多个树结构分别具有分别包括1个以上的相邻的层级的第1层级群和第2层级群,第1层级群的节点的要素分别从针对输入图像而实施前处理的多个图像滤波器中选择,第2层级群的节点的要素从用于作为用于基于通过执行针对第1层级群的节点选择的要素取得的信息来生成分类器的控制参数而设定分别不同的值的多个设定程序中选择。遗传处理部基于多个树结构,通过遗传编程来输出适应度超过规定的阈值的树结构。
另外,在一个方案中,提供一种使计算机执行与上述的程序生成装置相同的处理的程序生成方法。
并且,在一个方案中,提供一种使计算机执行与上述的程序生成装置相同的处理的生成程序。
发明效果
根据一个侧面,能够生成实现高精度的图像分类处理的图像分类程序。
关于本发明的上述及其他的目的、特征及优点,通过作为本发明的例子而表示优选的实施方式的附图及相关的以下的说明而可清楚地得知。
附图说明
图1是表示第1实施方式的程序生成装置的结构例及处理例的图。
图2是表示第2实施方式的图像处理装置的硬件结构例的图。
图3是表示个体的结构例的图。
图4是表示各个区间的要素例的图。
图5是表示个体及输出数据的数据结构例的图。
图6是表示图像处理装置所具备的处理功能的结构例的框图。
图7是表示程序生成处理过程的例子的流程图。
图8是表示交叉处理过程的例子的流程图。
图9是表示突然变异处理过程的例子的流程图。
图10是表示学习/适应度算出处理的过程的例子的流程图(其1)。
图11是表示学习/适应度算出处理的过程的例子的流程图(其2)。
图12是表示使用交叉验证法的情况下的学习/适应度算出处理的过程的例子的流程图(其1)。
图13是表示使用交叉验证法的情况下的学习/适应度算出处理的过程的例子的流程图(其2)。
图14是表示使用交叉验证法的情况下的学习/适应度算出处理的过程的例子的流程图(其3)。
图15是表示基于输出数据而进行的图像分类处理过程的例子的流程图。
图16是表示分类器的再学习过程的例子的流程图。
图17是表示变形例中的图像分类程序的生成处理过程的例子的流程图。
具体实施方式
下面,参照附图,对本发明的实施方式进行说明。
〔第1实施方式〕
图1是表示第1实施方式的程序生成装置的结构例及处理例的图。图1所示的程序生成装置1具备生成部1a和遗传处理部1b。生成部1a及遗传处理部1b的处理例如通过由程序生成装置1所具备的处理器执行规定的程序来实现。
生成部1a生成分别表示图像分类程序的多个树结构11a,11b,11c,…。图像分类程序是用于判断输入图像属于多个类别的哪个类别的程序。另外,多个树结构11a,11b,11c,…分别具备分别包括1个以上的相邻的层级的第1层级群12a和第2层级群12b。
第1层级群12a的节点的要素从包括在第1要素群20中的多个图像滤波器21a,21b,21c,…中选择。多个图像滤波器21a,21b,21c,…是分别针对输入图像实施前处理的程序。在图1的例子中,在树结构11a的第1层级群12a中包括节点N1~N4,节点N1~N4的各个要素从多个图像滤波器21a,21b,21c,…中选择。
第2层级群12b的节点的要素从包括在第2要素群30中的多个设定程序31a,31b,31c,…中选择。多个设定程序31a,31b,31c,…分别是作为用于基于通过执行针对第1层级群12a的节点选择的要素取得的信息来生成分类器的控制参数,设定分别不同的值的程序。
在图1的例子中,设定程序31a,31b,31c是为了生成分类器而分别设定参数a,b,c的程序。另外,在树结构11a的第2层级群12b中包括节点N5,N6,节点N5,N6的各个要素从多个设定程序31a,31b,31c,…中选择。
遗传处理部1b根据通过生成部1a生成的多个树结构11a,11b,11c,…,通过遗传编程输出适应度超过规定的阈值的树结构。
例如,遗传处理部1b以多个树结构11a,11b,11c,…包括在树结构群10的状态为起点,执行如下的处理。遗传处理部1b根据从树结构群10中选择的母的树结构而生成子树结构。遗传处理部1b基于通过根据所生成的子树结构而进行的处理来生成的分类器的分类正确率而算出子树结构的适应度。在所算出的适应度为上述的阈值以下的情况下,遗传处理部1b将包括在树结构群10的树结构的一个替换为子树结构。遗传处理部1b反复执行以上的处理,直到子树结构的适应度超过上述的阈值为止。
根据以上的程序生成装置1,通过遗传编程,将第1层级群12a的各个节点的要素和第2层级群12b的各个节点的要素分别优化。由此,可呈现前处理的算法和分类器的生成算法的最佳的组合。因此,能够生成可执行高精度的图像分类处理的图像分类程序。
〔第2实施方式〕
接着,对第2实施方式的图像处理装置进行说明。第2实施方式的图像处理装置具备与图1所示的程序生成装置1相同的处理功能和执行通过该处理功能而生成的图像分类程序来执行图像分类处理的功能。
图2是表示第2实施方式的图像处理装置的硬件结构例的图。第2实施方式的图像处理装置100例如作为图2所示的计算机来实现。
图像处理装置100通过处理器101来对整个装置进行控制。处理器101可以是多处理器。处理器101例如为CPU(CentralProcessingUnit:中央处理单元)、MPU(MicroProcessingUnit:微处理单元)、DSP(DigitalSignalProcessor:数字信号处理器)、ASIC(ApplicationSpecificIntegratedCircuit:专用集成电路)或PLD(ProgrammableLogicDevice:可编程逻辑器件)。另外,处理器101可以是CPU、MPU、DSP、ASIC、PLD中的2个以上的要素的组合。
RAM(RandomAccessMemory:随机存取存储器)102和多个周边设备介由总线109而连接到处理器101。
RAM102被用作图像处理装置100的主存储装置。在RAM102中临时地存储有使处理器101执行的OS(OperatingSystem:操作***)程序、应用程序的至少一部分。另外,RAM102中存储有通过处理器101而进行的处理中所需的各种数据。
作为连接到总线109的周边设备,具有HDD(HardDiskDrive:硬盘驱动器)103、图形处理装置104、输入接口105、读取装置106、通信接口107及网络接口108。
HDD103被用作图像处理装置100的辅助存储装置。在HDD103中存储有OS程序、应用程序及各种数据。另外,作为辅助存储装置,可使用SSD(SolidStateDrive:固态硬盘)等其他种类的非易失性存储装置。
在图形处理装置104中连接有显示装置104a。图形处理装置104按照来自处理器101的命令,将图像显示到显示装置104a的画面。作为显示装置,具有液晶显示器、有机EL(ElectroLuminescence:电致发光)显示器等。
输入装置105a连接到输入接口105。输入接口105将从输入装置105a输出的信号发送到处理器101。作为输入装置105a,具有键盘、指示设备等。作为指示设备,具有鼠标、触摸面板、平板、触摸板、跟踪球等。
可在读取装置106上拆装便携型记录介质106a。读取装置106读取记录到便携型记录介质106a的数据并发送到处理器101。作为便携型记录介质106a,具有光盘、磁光盘、半导体存储器等。
通信接口107与所连接的外部设备之间收发数据。在本实施方式中,照相机107a作为外部设备而连接到通信接口107,通信接口107将来自照相机107a的图像数据发送到处理器101。
网络接口108介由网络108a而与其他装置之间收发数据。
通过以上的硬件结构,能够实现图像处理装置100的处理功能。
上述的图像处理装置100通过遗传编程而自动地生成用于将输入图像分类为多个类别中的1个类别的图像分类程序。作为基于所生成的图像分类程序而进行的图像分类处理,例如具有判断在输入图像中是否拍摄到人脸的处理、判断输入图像中所拍摄的产品、部件是合格品还是不合格品的处理等。
在通过图像分类程序而实现的处理中具备通过使用学习图像的学习来生成分类器的分类器生成处理和基于学习图像而生成输入到分类器的特征信息的前处理。在实现高精度的图像分类的点上,以下两点非常重要:从学习图像提取何种特征量而使用及基于所取得的特征量而生成何种分类器。图像处理装置100通过遗传编程,搜索分类器的生成算法和前处理算法的最佳的组合。由此,生成实现可进行高精度的图像分类的分类器的处理的图像分类程序。
图3是表示个体的结构例的图。如图3所示,在遗传编程中所涉及的个体通过作为各个节点的要素而设定程序模块的树结构来表示。另外,表示个体的树结构被区分为分别包括1个以上的相邻的层级的区间。在本实施方式中,如图3所例示,树结构从其叶侧朝向根侧而区分为C(Conversion)区间、F(Feature)区间、D(Data)区间、T(Type)区间、P(Parameter)区间及L(Learning)区间。
各个区间与图像分类的处理阶段对应,基于包括在各个区间的要素而执行对应的阶段的处理。例如,C区间、F区间及D区间与用于生成输入到识别器的数据的前处理对应。C区间与使用图像转换滤波器,将输入图像转换为适合特征提取的处理对应。F区间与使用特征提取滤波器而从C区间的处理中转换的图像提取特征量的处理对应。D与基于在F区间的处理中提取的特征量而生成输入到分类器的输入数据的处理对应。
T区间与选择分类器的种类的处理对应。P区间与设定通过使用学习图像的学习而生成分类器的学习参数的处理对应。P区间例如被分成Pa区间和Pr区间。Pa区间与设定学习参数的绝对值的处理对应,Pr区间与设定学习参数的相对值的处理对应。对Pa区间设定的绝对值通过使用对Pr区间设定的相对值而进行的加减运算、缩放等而被增减,从而决定用于生成分类器的学习参数。L区间与通过使用学习图像而进行的学习来生成分类器的处理对应。
对区间内设定的节点数、节点之间的结构在每个区间中均不同。例如,在C区间中,最根侧的节点数与设定到F区间的最叶侧的节点数相同。另外,C区间的从根侧节点向叶侧设定的节点的分岐数、段数例如是在C区间的根侧节点和最叶侧的节点为止的最大的层级数(节点段数)为一定数以下等条件下决定的。
在F区间中,最根侧的节点数与可输入到对D区间设定的程序模块的数据数相同。另外,例如,从根侧节点朝向叶侧连接有一定数以下的节点。
在D区间中设置有层级数的限制。例如,作为D区间的要素,假设设定2个输入的程序模块,并假设D区间的层级数被限制为2以下。在该情况下,如果D区间的层级数为1,则D区间的节点数变成1,D区间的数据输入数变成2。另外,如果层级数为2,则D区间的节点数变成3,D区间的数据输入数最大为4。
对T区间、Pa区间、Pr区间及L区间设定有一个节点。另外,例如对Pa区间、Pr区间中设定有串联的2个以上的节点。
图4是表示各个区间的要素例的图。另外,在图4中,为了便于说明,使区间的记载顺序与图3的顺序不同。
关于在区间内的节点上可作为要素而设定的程序模块,在每个区间独立地准备,并预先存储到要素存储部150。在设定初始个体的树结构时,关于包括在某个区间的要素,从与其区间对应的程序模块中选择。
如图4所示,在要素存储部150中作为与C区间对应的程序模块,分别存储有用于转换输入图像的图像转换滤波器151a,151b,151c,…。作为图像转换滤波器151a,151b,151c,…的例子,可适用Smooth滤波器、Sobel滤波器、Laplace滤波器、And滤波器、Sub滤波器、Add滤波器、Or滤波器、Erode滤波器、Dilate滤波器、Threshold滤波器等。
另外,在要素存储部150中作为与F区间对应的程序模块,存储有用于提取特征量的特征提取滤波器152a,152b,152c,…。作为特征提取滤波器152a,152b,152c,…的例子,可适用算出平均亮度的滤波器、算出亮度直方图的滤波器、执行FFT(FastFourierTransformation:快速傅立叶转换)的滤波器等。另外,还可适用区域分割数等控制参数不同的相同种类的滤波器。
另外,在要素存储部150中,作为与D区间对应的程序模块,存储有用于生成分类器的输入数据的输入数据生成模块153a,153b,153c,…。作为输入数据生成模块153a,153b,153c,…的例子,可适用输入数分别为1,2的程序模块、执行输入数据的标准化、输入数据的压缩等的程序模块。在此,如上述,在D区间中层级数可改变。D区间的层级数和在D区间的要素上所设定的程序模块的输入数可改变,从而能够进行可改变特征维数的学习。
另外,在要素存储部150中,作为与T区间对应的程序模块,存储有用于指定分类器的种类的分类器种类设定模块154a,154b,154c,…。另外,在要素存储部150中,作为与L区间对应的程序模块,存储有用于生成分类器的分类器生成模块155a,155b,155c,…。
在T区间和L区间之间,对可设定的程序模块存在依赖性。具体地,分类器种类设定模块154a,154b,154c,…和分类器生成模块155a,155b,155c,…一对一地对应。并且,当决定一个区间的要素时,可唯一地决定另一个区间的要素。例如,当作为T区间的要素而决定分类器种类设定模块154a时,作为L区间的要素而决定分类器生成模块155a。
在T区间及L区间与Pa区间之间也对可设定的程序模块存在依赖性。在要素存储部150中,作为在Pa区间可设定的程序模块,存储有与分类器种类设定模块(或分类器生成模块)分别对应的多个绝对值设定模块。例如,与分类器种类设定模块154a对应的绝对值设定模块156aa,156ab,156ac,…、与分类器种类设定模块154b对应的绝对值设定模块156ba,156bb,156bc,…、与分类器种类设定模块154c对应的绝对值设定模块156ca,156cb,156cc,…存储在要素存储部150中。并且,例如,在作为T区间的要素而决定某个分类器种类设定模块的情况下,作为Pa区间的要素,设定与所决定的分类器种类设定模块对应的绝对值设定模块中的一个。
在要素存储部150中,作为与Pr区间对应的程序模块,存储有用于增减学习参数的绝对值而进行微调的相对值设定模块157a,157b,157c,…。
如上述,存储于要素存储部150的程序模块设定到图3的树结构的节点,从而生成个体。图像处理装置100首先生成包括在个体群的多个初始个体之后,基于从该个体群选择的母个体而生成子个体,并将适应度高的子个体替换成个体群内的母个体。图像处理装置100反复执行这样的处理,将具有一定以上的适应度的个体作为最佳个体而输出。
在这样的处理中,在使母个体进化而生成子个体时,母个体的1个以上的节点的要素被变更。在为了进行母个体的进化而导致某个节点的要素被变更的情况下,变更后的要素成为针对该节点所属的区间预先准备的程序模块。例如,在通过突然变异而改变C区间的要素的情况下,变更后的要素从与C区间对应的图像转换滤波器中选择。
通过这样的处理,在各个区间中的处理算法的组合被优化。例如,用于提取输入到分类器的特征量的处理算法和用于生成分类器的处理算法的组合被优化。其结果,在选择用于进行图像分类的适当的分类器的种类、学习参数的同时,能够提取适于向其分类器输入的特征量。因此,能够生成分类精度高的图像分类程序。
在此,对绝对值设定模块和相对值设定模块进行补充说明。P区间分为用于设定学习参数的绝对值的Pa区间和用于设定相对值的Pr区间。如上述,Pa区间的要素从与对T区间或L区间设定的程序模块对应的绝对值设定模块中选择。对此,作为Pr区间的要素的相对值设定模块是针对通过Pa区间的要素设定的学习参数的绝对值而分别相加或减去不同的数的程序模块。或者,相对值设定模块是将所设定的绝对值通过使用分别不同的系数的乘法运算而进行缩放的程序模块。
通过构成为这样的结构,例如通过Pa区间的要素而大概地设定学习参数,并通过Pr区间的要素而对学习参数进行微调。根据分类器的种类的不同,作为学习参数而设定的数值的范围有时不同。因此,作为Pa区间的要素,只要准备设定对T区间设定的种类的分类器中可设定的范围内的数值的要素即可。因此,为了非常具体地覆盖所有种类的分类器中可设定的数值的范围,无需准备大量的用于设定学习参数的程序,由此能够减少程序模块的数量。另外,提高遗传编程中的学习效率。
另外,在作为分类器而例如使用SVM(Support Vector Machine:支持向量机)的情况下,作为T区间及P区间的要素可适用如下的要素。作为与T区间对应的分类器种类设定模块154a,154b,154c,…,可适用指定所使用的内核函数的程序模块。作为所指定的内核函数,例如可适用LINEAR内核、POLY内核、RBF(Radial Basis Function:径向基函数)内核、SIGMOID内核等。
另外,作为与Pa区间及Pr区间对应的绝对值设定模块,可适用作为学习参数而设定C,γ的值的程序模块。作为与L区间对应的分类器生成模块155a,155b,155c,…,可适用用于生成使用通过T区间的要素而指定的内核函数的分类器的程序模块。
另外,在T区间中,既可从SVM以外的其他的多个种类的分类器中选择,也可从SVM的分类器和其他的多个种类的分类器中选择。
图5是表示个体及输出数据的数据结构例的图。个体例如作为表示树结构的内容的树结构数据200而表现。树结构数据200包括图像转换滤波器结构201、特征提取滤波器结构202、数据生成模块结构203、分类器种类设定模块信息204、参数设定模块信息205及分类器生成模块信息206。
图像转换滤波器结构201包括表示C区间中的节点的结构的信息和对各个节点设定的图像转换滤波器的识别信息。特征提取滤波器结构202包括表示F区间中的节点的结构的信息和对各个节点设定的特征提取滤波器的识别信息。数据生成模块结构203包括表示D区间中的节点的结构的信息和对各个节点设定的输入数据生成模块的识别信息。
分类器种类设定模块信息204包括T区间的节点设定的分类器种类设定模块的识别信息。参数设定模块信息205包括对Pa区间的节点设定的绝对值设定模块的识别信息和对Pr区间的节点设定的相对值设定模块的识别信息。分类器生成模块信息206包括对L区间的节点设定的分类器生成模块的识别信息。
另外,输出数据210是与通过遗传编程而最终输出的个体相关的信息。输出数据210包括与其个体相关的图像转换滤波器结构201、特征提取滤波器结构202、数据生成模块结构203、分类器种类设定模块信息204、参数设定模块信息205、分类器生成模块信息206及分类器信息207。分类器信息207包括表示通过使用学习图像的学习来生成的分类器的信息。例如,分类器信息207是实现分类器的处理的程序模块。
另外,输出数据210以如下的程序的形式输出:将基于图像转换滤波器结构201、特征提取滤波器结构202及数据生成模块结构203而从要素存储部150提取的程序模块和基于分类器信息207实现的程序模块结合而成。
另外,输出数据210可以不包括分类器种类设定模块信息204和参数设定模块信息205。但是,在输出数据210中包括分类器种类设定模块信息204和参数设定模块信息205,从而能够使用输出数据210而进行使用新的学习图像的分类器的再学习。
接着,对图像处理装置100的具体情况进行说明。
图6是表示图像处理装置所具备的处理功能的结构例的框图。图像处理装置100具备图像取得部111、图像分类处理部112、程序生成部120、要素存储部150、采样图像存储部131、个体群信息存储部132及输出数据存储部133。
图像取得部111及程序生成部120的处理例如通过图像处理装置100的处理器101执行规定的程序来实现。另外,图像分类处理部112的一部分处理通过由图像处理装置100的处理器101来执行基于存储在输出数据存储部133的输出数据的图像分类程序来实现。要素存储部150、采样图像存储部131、个体群信息存储部132及输出数据存储部133例如作为图像处理装置100的RAM102的存储区域而实现。
图像取得部111从照相机107a取得所拍摄的图像的数据,并输出到程序生成部120或图像分类处理部112。
程序生成部120通过遗传编程而生成图像分类程序,并将与所生成的图像分类程序对应的输出数据保存到输出数据存储部133。另外,关于程序生成部120的内部结构将后述。
图像分类处理部112介由图像取得部111取得通过照相机107a拍摄的图像的数据。图像分类处理部112按照基于存储在输出数据存储部133的输出数据实现的图像分类程序,判断所取得的图像的数据属于哪个类别。判断结果例如显示在显示装置104a。
要素存储部150存储能够组装到通过程序生成部120生成的个体的要素的数据。
采样图像存储部131存储利用于分类器的学习、评价的多个采样图像的数据。在各个采样图像中附加有表示其采样图像所属的类别的标签。作为采样图像,可使用通过图像取得部111而从照相机107a取得的图像。
个体群信息存储部132存储通过程序生成部120生成的个体群的数据。包括在个体群的个体在程序生成处理过程中随时被更新。
输出数据存储部133存储与在通过程序生成部120的处理而最终输出的个体相关的信息。
程序生成部120具备GP(Genetic Programming:遗传编程)学习控制部121、图像转换部122、特征提取部123、输入数据生成部124、种类设定部125、参数设定部126、分类器生成部127及分类处理部128。
GP学习控制部121对通过遗传编程执行的整个程序生成处理进行控制。例如,GP学习控制部121执行初始个体的生成、个体的进化处理、适应度的算出等处理。
图像转换部122按照对个体的树结构中的C区间的节点设定的图像转换滤波器,执行对输入图像的图像转换处理。
特征提取部123按照对个体的树结构中的F区间的节点设定的特征提取滤波器,执行来自图像转换后的输入图像的特征量提取处理。
输入数据生成部124按照对个体的树结构中的D区间的节点设定的输入数据生成模块,根据所输入的特征量而生成输入到分类器的输入数据。
种类设定部125按照对个体的树结构中的T区间的节点设定的分类器种类设定模块,执行设定分类器的种类的处理。
参数设定部126按照对个体的树结构中的Pa区间的节点设定的绝对值设定模块和对Pr区间的节点设定的相对值设定模块,执行设定分类器的学习参数的处理。
分类器生成部127按照对个体的树结构中的L区间的节点设定的分类器生成模块,使用通过参数设定部126设定的控制参数而执行通过学习生成分类器的处理。
分类处理部128与通过分类器生成部127生成的分类器对应,判断评价图像属于哪个类别。
接着,使用流程图来对图像处理装置100的处理进行说明。
图7是表示程序生成处理过程的例子的流程图。
[步骤S11]GP学习控制部121生成多个初始个体,将表示所生成的初始个体的信息存储到个体群信息存储部132。下面,将存储到个体群信息存储部132的个体称为“个体群”。
作为初始个体的生成过程,基本上,在各个区间中按照图3中说明的条件设定节点,各个节点的要素从与节点所属的区间对应的程序模块中选择来设定。在使用图4所示的要素的情况下,初始个体例如由以下的过程来进行设定。
GP学习控制部121选择对在L区间、Pr区间、Pa区间、T区间中分别包括一个的节点设定的要素。GP学习控制部121将对各个区间的节点设定的要素,从与其区间对应地准备的程序模块中随机地选择。但是,对L区间的节点设定的分类器生成模块通过对T区间的节点设定的分类器种类设定模块而唯一地决定。另外,对Pa区间的节点设定的要素从与对T区间的节点设定的分类器设定模块对应的绝对值设定模块中随机地选择。
另外,对Pa区间设定多个层级的节点。在该情况下,优选对每个节点单独地准备绝对值设定模块,对各个节点设定不同种类的控制参数。另外,使Pa区间和Pr区间的各个节点层级数一致,针对Pa区间的每个节点,在Pr区间进行控制参数的微调。
接着,在D区间的最大层级数为2的情况下,GP学习控制部121随机地决定将D区间的层级数设为1还是设为2。在层级数为1的情况下,T区间的节点数变成1。GP学习控制部121从输入数据生成模块中随机地选择对其节点设定的要素。另外,在层级数为2的情况下,D区间的节点数变成2以上。GP学习控制部121从输入数据生成模块中随机地选择D区间中的根侧的节点设定的要素。在所选择的输入生成模块的输入数为1的情况下,对叶侧设定一个节点,在输入数为2的情况下,对叶侧设定两个节点。GP学习控制部121从输入数据生成模块中随机地选择对所设定的各个节点设定的要素。通过这样的处理,D区间的输入数变成1至4中的任意个。
接着,GP学习控制部121设定F区间的要素。F区间的节点数与D区间的输入数相同。GP学习控制部121从特征提取滤波器中随机地选择在F区间的各个节点设定的要素。
接着,GP学习控制部121设定C区间的要素。C区间的根侧的节点数与F区间的节点数相同。GP学习控制部121对C区间的根侧的节点的各个叶侧设定节点,从图像转换滤波器中随机地选择对各个节点设定的要素。对某个节点设定的图像转换滤波器的输入数为2的情况下,从其节点朝向叶侧设定2个节点。GP学习控制部121从设定完要素的节点朝向叶侧的节点设定随机地选择的图像转换滤波器,并且决定其叶侧的节点的数。这样,GP学习控制部121中,例如,来自C区间的根侧的节点的最大层级数成为规定值以下,并且以使包括在C区间中的节点数为规定值以下的方式决定节点的结构,并决定各个节点的要素。
[步骤S12]GP学习控制部121从包括在个体群的个体中随机地选择两个母个体。
[步骤S13]GP学习控制部121使用所选择的母个体而生成2以上的规定数的子个体。例如,GP学习控制部121在所选择的两个母个体之间进行交叉,从而生成2个以上的规定数的子个体。GP学习控制部121在所生成的各个子个体的任意个的节点上发生突然变异,变更其节点的要素。另外,关于交叉及突然变异的方法,分别在图8、图9中详细说明。
[步骤S14]GP学习控制部121选择所生成的子个体的一个。
[步骤S15]GP学习控制部121根据所选择的子个体,执行通过学习而进行的分类器的生成及对所生成的分类器的适应度的算出。关于该步骤S15的具体的处理例,在图10~图14中进行说明。
[步骤S16]GP学习控制部121判断是否选择完所有的在步骤S13中生成的子个体。在存在未选择的子个体的情况下,GP学习控制部121使处理进入步骤S14,选择未选择的子个体中的一个。另外,在选择完所有的子个体的情况下,GP学习控制部121使处理进入步骤S17。
[步骤S17]GP学习控制部121判断在步骤S15中针对各个子个体算出的适应度中的最大适应度是否大于规定的阈值th。在最大适应度为阈值th以下的情况下,GP学习控制部121使处理进入步骤S18。另外,在最大适应度大于阈值th的情况下,GP学习控制部121使处理进入步骤S19。
[步骤S18]GP学习控制部121从在步骤S13中生成的子个体中,将适应度最高的子个体作为生存的子个体而选择。并且,GP学习控制部121从剩余的子个体中还选择一个生存的个体。在该选择处理中,例如,以与适应度对应的概率来选择个体。GP学习控制部121将个体群的个体中的、在步骤S12中选择的母个体替换为生存的两个个体。
[步骤S19]GP学习控制部121在步骤S13中生成的子个体中,将适应度最高的子个体判断为最佳个体,将与最佳个体相关的输出数据保存到输出数据存储部133。在该输出数据中还包括表示对最佳个体的步骤S15的处理过程中生成的分类器的分类器信息。
另外,在步骤S14中仅将子个体作为选择的对象,但不仅子个体,还可以将步骤S12中选择的母个体也作为选择的对象。
图8是表示交叉处理过程的例子的流程图。图8的处理是在图7的步骤S13中,由两个母个体通过交叉处理而生成两个子个体的情况下的处理。
[步骤S21]GP学习控制部121在两个母个体中,从一个母个体随机地选择节点。
[步骤S22]GP学习控制部121从另一个母个体选择与在步骤S21中选择的节点相同区间的节点。在其区间存在多个节点的情况下,GP学习控制部121从中随机地选择一个节点。
[步骤S23]GP学习控制部121将在一个母个体的树结构中,从步骤S21中选择的节点朝向叶侧的树结构和在另一个母个体的树结构中,从步骤S22中选择的节点朝向叶侧的树结构相互替换。但是,在步骤S21,S22中选择的节点为T区间、Pa区间、L区间中的任意个的情况下,GP学习控制部121将T区间、Pa区间及L区间的树结构在子个体之间进行替换。
图9是表示突然变异处理过程的例子的流程图。图9的处理是在图7的步骤S13中,在所生成的子个体中发生突然变异的情况的处理。
[步骤S31]GP学习控制部121从子个体随机地选择节点。
[步骤S32]GP学习控制部121确定步骤S31中选择的节点所属的区间。GP学习控制部121从存储在要素存储部150的、与所确定的区间对应的要素中随机地选择目前设定在步骤S31中选择的节点的要素以外的要素。
[步骤S33]GP学习控制部121将对在步骤S31中选择的节点设定的要素替换成在步骤S32中选择的要素。
其中,在步骤S31中选择的节点为T区间、Pa区间、L区间中的任意个的情况下,GP学习控制部121在步骤S32、S33中,对在步骤S31中选择的节点以外的要素也进行替换。具体地,GP学习控制部121首先对T区间的节点用步骤S32、S33的过程进行要素的替换,并进行Pa区间及L区间的节点的替换。Pa区间的节点的要素从与在T区间中重新选择的要素对应的要素中选择。关于L区间的节点的要素,选择与在T区间重新选择的要素对应的要素。
图10~图11是表示学习/适应度算出处理的过程的例子的流程图。图10~图11的处理与图7的步骤S15的处理对应。图10~图11的处理中利用的子个体是指在图7的步骤S14中所选择的子个体。另外,在图10~图11中,作为例子,在采样图像存储部131中分别存储有多个学习用图像的数据和评价用图像的数据。
[步骤S51]GP学习控制部121从学习用图像中选择一个。
[步骤S52]图像转换部122按照对子个体的C区间的节点设定的图像转换滤波器,对在步骤S51中选择的学习用图像执行图像转换处理。
[步骤S53]特征提取部123按照对子个体的F区间的节点设定的特征提取滤波器,基于在步骤S52中转换的图像而提取特征量。
[步骤S54]GP学习控制部121判断是否选择完所有的学习用图像。在存在未选择的学习用图像的情况下,GP学习控制部121使处理进入步骤S51,从未选择的学习用图像中选择一个。另外,在选择完所有的学习用图像的情况下,GP学习控制部121使处理进入步骤S55。
[步骤S55]输入数据生成部124按照对子个体的D区间的节点设定的输入数据生成模块,基于在步骤S53中提取的特征量而生成输入到分类器的输入数据。
[步骤S56]种类设定部125按照在子个体的T区间的节点设定的分类器种类设定模块而设定分类器的种类。
[步骤S57]参数设定部126按照对子个体的Pa区间的节点设定的绝对值设定模块和对Pr区间的节点设定的相对值设定模块而设定要在分类器设定的学习参数。
[步骤S58]分类器生成部127按照对子个体的L区间的节点设定的分类器生成模块,执行用于生成分类器的学习处理。在该学习处理中,利用在步骤S57中设定的学习参数和在步骤S55中生成的输入数据和附加在各个学习图像上的标签。通过学习处理而生成分类器。实际上,生成表示所生成的分类器的分类器信息。分类器信息例如为对实现分类器的处理的程序模块或实现分类器的处理的函数等的程序模块设定的控制参数。
接着,执行图11的步骤S61的处理。
[步骤S61]GP学习控制部121从评价用图像中选择一个。
[步骤S62]图像转换部122按照对子个体的C区间的节点设定的图像转换滤波器而对在步骤S61中选择的评价用图像执行图像转换处理。
[步骤S63]特征提取部123按照对子个体的F区间的节点设定的特征提取滤波器,基于在步骤S62中转换的图像而提取特征量。
[步骤S64]输入数据生成部124按照对子个体的D区间的节点设定的输入数据生成模块,基于在步骤S63中提取的特征量生成输入到分类器的输入数据。
[步骤S65]分类处理部128按照在步骤S58中生成的分类器信息,基于在步骤S64中生成的输入数据,执行判断在步骤S61中选择的评价用图像属于哪个类别的分类处理。
[步骤S66]分类处理部128对通过步骤S65的分类处理而获得的分类结果和附加到步骤S61中选择的评价用图像的标签所示的类别进行比较,从而判断分类结果正确还是不正确。
[步骤S67]GP学习控制部121判断是否选择完所有的评价用图像。在存在未选择的学习用图像的情况下,GP学习控制部121使处理进入步骤S61,从未选择的评价用图像中选择一个。另外,在选择完所有的评价用图像的情况下,GP学习控制部121使处理进入步骤S68。
[步骤S68]GP学习控制部121从步骤S66中的判断结果算出正确率。GP学习控制部121基于所算出的正确率而算出子个体的适应度。
在该步骤S68中,也可将根据惩罚项而校正所算出的正确率的值作为适应度而输出。作为惩罚项,可使用特征维数、树结构的尺寸(包括在树结构中的节点数或节点的最大层级数)、使用SVM的情况下的支持矢量数等。例如,一般地,与所取得的数据比较,分类器的复杂度越大,越容易发生过学习。因此,GP学习控制部121例如以在特征维数越大,并且树结构的尺寸越大,并且支持矢量数越大时,使正确率越小的方式校正而算出适应度。另外,特征维数可基于对子个体的D区间设定的输入数据生成模块而进行判别。这样,根据惩罚项而校正正确率,从而能够准确地评价学习结果的优劣,能够生成分类精度高的图像分类程序。
另外,在特征维数、树结构尺寸、支持矢量数的至少一个极小的情况下,陷入过学习的状态而导致一般化性下降。因此,通过惩罚项进行的校正量可以不是单调函数。
在以上的图10~图11的处理中,独立地准备了学习用图像和评价用图像。对此,通过使用交叉验证法,从而可以不独立地准备学习用图像和评价用图像,而可使用所有的在采样图像存储部131中准备的采样图像来执行分类器的学习和评价。下面,举出在图12~图14中使用交叉验证法的情况下的处理例。
图12~图14是表示在使用交叉验证法的情况下的学习/适应度算出处理的过程的例子的流程图。图12~图14的处理与图7的步骤S15的处理对应。在图12~图13的处理中所利用的子个体是指,在图7的步骤S14中选择的子个体。
[步骤S71]GP学习控制部121从采样图像中选择一个。
[步骤S72]图像转换部122按照对子个体的C区间的节点设定的图像转换滤波器,对步骤S71中选择的采样图像执行图像转换处理。
[步骤S73]特征提取部123按照对子个体的F区间的节点设定的特征提取滤波器,基于在步骤S72中转换的图像而提取特征量。
[步骤S74]GP学习控制部121判断是否选择完所有的采样图像。在存在未选择的采样图像的情况下,GP学习控制部121使处理进入步骤S71,从未选择的采样图像中选择一个。另外,在选择完所有的采样图像的情况下,GP学习控制部121使处理进入步骤S75。
[步骤S75]输入数据生成部124按照对子个体的D区间的节点设定的输入数据生成模块,基于在步骤S73中提取的特征量而生成输入到分类器的输入数据。
[步骤S76]种类设定部125按照对子个体的T区间的节点设定的分类器种类设定模块而设定分类器的种类。
[步骤S77]参数设定部126按照对子个体的Pa区间的节点设定的绝对值设定模块和对Pr区间的节点设定的相对值设定模块而设定对分类器设定的学习参数。
[步骤S78]分类器生成部127按照对子个体的L区间的节点设定的分类器生成模块而执行用于生成分类器的学习处理。在该学习处理中,可利用步骤S77中设定的学习参数和在步骤S75中生成的输入数据和附加到各个学习图像的标签。通过学习处理而生成分类器。
另外,在子个体在图7的步骤S19中被选择为最佳个体的情况下,在该步骤S78中生成的分类器是包括在输出数据中的分类器。因此,步骤S75~S78的处理未在上述的时机执行,而在子个体被选择为最佳个体的情况下在步骤S19中执行。
接着,执行图13的步骤S81的处理。
[步骤S81]GP学习控制部121将采样图像分类成分别包括相同数的图像的N个群组。GP学习控制部121在所分类的群组中,将(N-1)个的群组的采样图像决定为学习用图像,将剩余的1个群组的采样图像决定为评价用图像。
[步骤S82]GP学习控制部121在图12的步骤S73中提取的特征量中,将基于在步骤S81中决定的学习用图像的特征量确定为处理对象。输入数据生成部124按照对子个体的D区间的节点设定的输入数据生成模块,基于作为处理对象而确定的特征量而生成输入到分类器的输入数据。
[步骤S83]种类设定部125按照对子个体的T区间的节点设定的分类器种类设定模块而设定分类器的种类。
[步骤S84]参数设定部126按照对子个体的Pa区间的节点设定的绝对值设定模块和对Pr区间的节点设定的相对值设定模块,设定对分类器设定的学习参数。
[步骤S85]分类器生成部127按照对子个体的L区间的节点设定的分类器生成模块而执行用于生成分类器的学习处理。在该学习处理中,利用在步骤S84中设定的学习参数和在步骤S82中生成的输入数据和附加到在步骤S81中决定的各个学习用图像的标签。通过学习处理,生成分类器。
接着,执行图14的步骤S91的处理。
[步骤S91]GP学习控制部121从图13的步骤S81中决定的评价用图像中选择一个。
[步骤S92]GP学习控制部121在图12的步骤S73中提取的特征量中,将基于步骤S91中选择的评价用图像而提取的特征量作为处理对象而选择。输入数据生成部124按照对子个体的D区间的节点设定的输入数据生成模块,基于作为处理对象而选择的特征量而生成输入到分类器输入数据。
[步骤S93]分类处理部128使用在图13的步骤S85中生成的分类器,基于在步骤S92中生成的输入数据执行用于判断在步骤S91中选择的评价用图像属于哪个类别的分类处理。
[步骤S94]分类处理部128对通过步骤S93的分类处理获得的分类结果和附加到步骤S91中选择的评价用图像的标签所示的类别进行比较,从而判断分类结果正确还是不正确。
[步骤S95]GP学习控制部121判断是否选择完所有评价用图像。在存在未选择的评价用图像的情况下,GP学习控制部121使处理进入步骤S91,从未选择的评价用图像中选择一个。另外,在选择完所有评价用图像的情况下,GP学习控制部121使处理进入步骤S96。
[步骤S96]在图13的步骤S81中,作为将N群组可分类为学习用图像和评价用图像的各个群组的模式,存在N模式。GP学习控制部121判断是否对这些所有的模式处理完。在存在未处理完的模式的情况下,GP学习控制部121使处理进入步骤S81,通过未处理完的新的模式而确定学习用图像和评价用图像。另外,在对所有的模式处理完的情况下,GP学习控制部121使处理进入步骤S97。
[步骤S97]GP学习控制部121由步骤S94中的判断结果而算出正确率。GP学习控制部121基于所算出的正确率而算出子个体的适应度。另外,在该步骤S68中,GP学习控制部121在与图11的步骤S68相同的过程中,根据惩罚项而校正所算出的正确率,将校正后的值作为适应度而输出。
根据以上的图12~图14的处理,与图10~图11的处理进行比较,使用较少的采样图像来生成分类精度高的图像分类程序。
图15是表示基于输出数据的图像分类处理过程的例子的流程图。
[步骤S101]图像分类处理部112基于存储在输出数据存储部133的输出数据210的图像转换滤波器结构201、特征提取滤波器结构202及数据生成模块结构203,对C区间、F区间及D区间的节点设定要素。
[步骤S102]图像分类处理部112基于输出数据210的分类器信息207而构成分类器。
[步骤S103]图像分类处理部112通过图像取得部111而取得分类处理对象的图像。该图像例如为通过照相机107a而拍摄的图像。
[步骤S104]图像转换部122按照对C区间的节点设定的图像转换滤波器而对所取得的图像执行图像转换处理。
[步骤S105]特征提取部123按照对F区间的节点设定的特征提取滤波器,基于在步骤S104中转换的图像而提取特征量。
[步骤S106]输入数据生成部124按照对D区间的节点设定的输入数据生成模块,基于在步骤S105中提取的特征量而生成输入到分类器的输入数据。
[步骤S107]分类处理部128使用基于输出数据210的分类器信息207而实现的分类器,根据在步骤S106中生成的输入数据,执行用于判断所取得的图像属于哪个类别的分类处理,并输出分类结果。
另外,在取得了新的采样图像的情况下,使用这些采样图像和输出数据而执行分类器的再学习。
图16是表示分类器的再学习过程的例子的流程图。
[步骤S121]GP学习控制部121根据存储在输出数据存储部133的输出数据210的图像转换滤波器结构201、特征提取滤波器结构202、数据生成模块结构203、分类器种类设定模块信息204、参数设定模块信息205及分类器生成模块信息206,对C区间、F区间、D区间、T区间、Pa区间、Pr区间及L区间的节点设定要素。另外,与图15的步骤S101的区别点在于,基于输出数据210而进行分类器的种类及学习参数的设定。
下面,基于步骤S121中设定的要素,将重新准备的采样图像用作学习图像而执行与图9的步骤S51~S58相同的处理。另外,在步骤S58的学习处理中,使用附加到重新准备的采样图像的标签。
[步骤S122]GP学习控制部121将输出数据210的分类器信息207更新为步骤S58中生成的分类器的信息。
〔第2实施方式的变形例〕
接着,对将第2实施方式的图像处理装置100的一部分处理变形的变形例进行说明。另外,在以下的变形例的说明中,使用与第2实施方式的图像处理装置100的结构要素相同的符号而进行说明。
在生成图像分类程序时,可控制为仅将属于特定的区间的节点的要素通过遗传编程而优化。例如,GP学习控制部121以仅将T区间、Pa区间、Pr区间及L区间的节点的要素优化的方式控制程序生成处理。在该情况下,在包括在个体群的各个初始个体中,对C区间、F区间及D区间的各个节点设定预先决定的要素。并且,在程序生成处理中,仅将T区间、Pa区间、Pr区间及L区间的节点的要素作为进化的对象,对于C区间、F区间及D区间的各个节点的要素不进行变更。通过这样的控制,可仅将分类器的生成算法优化。
另外,关于仅将属于特定的区间的节点的要素优化的处理,例如,可用来将用于算出适应度的惩罚项优化。例如,为了将作为惩罚项而使用的特征维数优化,通过遗传编程而将基于图像特征量而生成输入数据为止的处理优化即可。具体地,可仅将C区间、F区间及D区间或F区间和D区间的各个节点的要素优化。另外,为了将用作惩罚项的SVM的支持矢量数优化,有效的方法是将分类器的生成的过程优化。因此,仅将T区间、Pa区间、Pr区间及L区间的各个节点的要素优化即可。
并且,设置分别仅将不同的区间的节点的要素优化的多个动作模式,按照规定的条件来切换这些动作模式。在以下的变形例中,可将仅将C区间的要素优化的动作模式1和仅将F区间及D区间的节点的要素优化的动作模式2和仅将T区间、Pa区间、Pr区间及L区间的节点的要素优化的动作模式3进行切换。即,在动作模式1中,能够将学习图像的转换处理的算法优化。在动作模式2中,能够将基于转换的图像而生成输入到分类器的输入数据的处理的算法优化。在动作模式3中,能够将分类器的生成算法优化。
图17是表示变形例中的图像分类程序的生成处理过程的例子的流程图。另外,在图17中,在与图7进行相同的处理的处理步骤中赋予相同的步骤编号而表示。
[步骤S11a]GP学习控制部121设定为动作模式1。
[步骤S11b]GP学习控制部121生成多个初始个体,将表示所生成的初始个体的信息存储到个体群信息存储部132。与图7的步骤S11的区别点在于,关于所有的个体,对C区间以外的区间的节点设定预先决定的要素。
之后,执行图7所示的步骤S12~S17的处理。但是,在步骤S13中生成子个体时,只有特定的区间的节点的要素成为进化的对象。具体地,在动作模式1中只有C区间的节点的要素成为进化的对象,在动作模式2中,只有F区间及D区间的节点的要素成为进化的对象,在动作模式3中,只有T区间、Pa区间、Pr区间及L区间的节点的要素成为进化的对象。
并且,在步骤S17中,在子个体的适应度中的最大适应度为阈值th以下的情况下,在执行步骤S18的处理之后,执行步骤S18a的处理。
[步骤S18a]GP学习控制部121判断是否满足用于切换动作模式的条件,并根据其判断结果而切换动作模式。在目前是动作模式1的情况下,切换为动作模式2,在目前为动作模式2的情况下,切换为动作模式3。之后,再次执行步骤S12以后的处理。
作为动作模式的切换方法,例如具有在适应度的上升停滞的情况下切换动作模式的方法。具体地,在步骤S16中算出的适应度的最大值的增加率为规定的阈值以下的情况下,GP学习控制部121将动作模式切换为下一个动作模式。由此,在每个区间,可将节点的要素依次优化。另外,作为其他的方法,GP学习控制部121在个体群的世代数达到规定数的情况下,由动作模式1切换成动作模式2,在世代数达到比其大的规定数的情况下,由动作模式2切换成动作模式3。
另外,关于上述的各实施方式所示的装置(程序生成装置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 树结构群
11a,11b,11c,… 树结构
12a 第1层级群
12b 第2层级群
20 第1要素群
21a,21b,21c,… 图像滤波器
30 第2要素群
31a,31b,31c,… 设定程序

Claims (10)

1.一种程序生成装置,其具备:
生成部,其生成分别表示图像分类程序的多个树结构,所述多个树结构分别具有分别包括1个以上的相邻的层级的第1层级群和第2层级群,所述第1层级群的节点的要素从用于分别针对输入图像实施前处理的多个图像滤波器中选择,所述第2层级群的节点的要素从用于设定分别不同的值而作为控制参数的多个设定程序中选择,该控制参数用于基于如下信息来生成分类器,该信息是通过执行针对所述第1层级群的节点选择的要素取得的;及
遗传处理部,其基于所述多个树结构,通过遗传编程来输出适应度超过规定的阈值的树结构。
2.根据权利要求1所述的程序生成装置,其中,
所述多个树结构还分别具备第3层级群,
所述第3层级群的节点的要素是从用于设定基于所述信息生成的分类器的种类的多个种类设定程序中选择的。
3.根据权利要求2所述的程序生成装置,其中,
用于设定分别不同的值而作为所述控制参数的1个以上的所述设定程序与所述多个种类设定程序分别对应地存储到存储部中,
所述第2层级群的节点的要素是从与作为所述第3层级群的节点的要素而选择的所述种类设定程序对应的1个以上的所述设定程序中选择的。
4.根据权利要求1至3中的任意一项所述的程序生成装置,其中,
所述多个树结构还分别具备第4层级群,
所述第4层级群的节点的要素是从多个校正程序中选择的,该多个校正程序利用分别不同的值,校正按照作为所述第2层级群的节点而选择的所述设定程序设定的所述控制参数的值。
5.根据权利要求1至4中的任意一项所述的程序生成装置,其中,
所述多个图像滤波器分别为用于基于所述输入图像提取特征量的程序,
所述多个树结构还分别具有第5层级群,
所述第5层级群的节点的要素从多个数据生成程序中选择,该多个数据生成程序用于基于按照作为所述第1层级群的节点的要素而选择的所述图像滤波器提取的特征量,生成输入数据,该输入数据是为了基于所述第2层级群的节点的要素生成分类器而输入的,
所述多个数据生成程序为受理分别不同的数量的特征量的输入来生成所述输入数据的程序,根据针对作为所述第5层级群的节点的要素而选择的所述数据生成程序输入的特征量的输入数,所述第1层级群中包括的节点数发生变化。
6.根据权利要求1至5中的任意一项所述的程序生成装置,其中,
所述遗传处理部以所述多个树结构包括在树结构群的状态为起点,反复执行如下处理:基于从所述树结构群中选择的父树结构生成子树结构,根据分类器的分类正确率来算出所述子树结构的适应度,该分类器是通过基于所述子树结构的处理生成的,在所算出的适应度为所述阈值以下的情况下,将所述树结构群中包括的树结构之一替换成所述子树结构。
7.根据权利要求6所述的程序生成装置,其中,
所述遗传处理部算出根据惩罚项校正所述分类正确率而得到的值作为所述子树结构的适应度,其中,所述惩罚项基于所述子树结构中的节点的结构或基于通过基于所述子树结构的处理生成的分类器。
8.根据权利要求6或7所述的程序生成装置,其中,
该程序生成装置具备:第1动作模式,在生成所述子树结构时,使所述第2层级群的节点的要素保持固定;以及第2动作模式,在生成所述子树结构时,使所述第1层级群的节点的要素保持固定,
所述遗传处理部基于所述子树结构的适应度的增加率,从所述第1动作模式切换为所述第2动作模式。
9.一种程序生成方法,在该程序生成方法中,使计算机执行如下处理:
生成处理,生成分别表示图像分类程序的多个树结构,所述多个树结构分别具有分别包括1个以上的相邻的层级的第1层级群和第2层级群,所述第1层级群的节点的要素从用于分别针对输入图像实施前处理的多个图像滤波器中选择,所述第2层级群的节点的要素从用于设定分别不同的值而作为控制参数的多个设定程序中选择,该控制参数用于基于如下信息来生成分类器,该信息是通过执行针对所述第1层级群的节点选择的要素取得的,
基于所述多个树结构,通过遗传编程来输出适应度超过规定的阈值的树结构。
10.一种生成程序,其使计算机执行如下处理:
生成处理,生成分别表示图像分类程序的多个树结构,所述多个树结构分别具有分别包括1个以上的相邻的层级的第1层级群和第2层级群,所述第1层级群的节点的要素从用于分别针对输入图像实施前处理的多个图像滤波器中选择,所述第2层级群的节点的要素从用于设定分别不同的值而作为控制参数的多个设定程序中选择,该控制参数用于基于如下信息来生成分类器,该信息是通过执行针对所述第1层级群的节点选择的要素取得的,
基于所述多个树结构,通过遗传编程来输出适应度超过规定的阈值的树结构。
CN201580083986.6A 2015-10-22 2015-10-22 程序生成装置、程序生成方法及记录介质 Active CN108140133B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/079759 WO2017068675A1 (ja) 2015-10-22 2015-10-22 プログラム生成装置、プログラム生成方法および生成プログラム

Publications (2)

Publication Number Publication Date
CN108140133A true CN108140133A (zh) 2018-06-08
CN108140133B CN108140133B (zh) 2022-03-22

Family

ID=58556784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580083986.6A Active CN108140133B (zh) 2015-10-22 2015-10-22 程序生成装置、程序生成方法及记录介质

Country Status (4)

Country Link
US (1) US11061687B2 (zh)
JP (1) JP6646234B2 (zh)
CN (1) CN108140133B (zh)
WO (1) WO2017068675A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112384892A (zh) * 2018-07-09 2021-02-19 富士通株式会社 信息处理装置、信息处理方法以及信息处理程序

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018088804A1 (en) 2016-11-08 2018-05-17 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
JP6663873B2 (ja) * 2017-02-22 2020-03-13 株式会社日立製作所 プログラム自動生成システム及びプログラム自動生成方法
WO2019026104A1 (ja) 2017-07-31 2019-02-07 富士通株式会社 情報処理装置、情報処理プログラム及び情報処理方法
JP7004145B2 (ja) * 2017-11-15 2022-01-21 オムロン株式会社 欠陥検査装置、欠陥検査方法、及びそのプログラム
JP6904477B2 (ja) * 2018-03-08 2021-07-14 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN112154463A (zh) * 2018-05-18 2020-12-29 富士通株式会社 信息处理装置、信息处理方法以及信息处理程序
JP6852141B2 (ja) * 2018-11-29 2021-03-31 キヤノン株式会社 情報処理装置、撮像装置、情報処理装置の制御方法、および、プログラム
JP7404962B2 (ja) 2020-03-24 2023-12-26 東洋製罐グループホールディングス株式会社 画像処理システム、及び画像処理プログラム
JP6989860B2 (ja) * 2020-05-02 2022-01-12 Arithmer株式会社 画像検査装置、画像検査方法及びプログラム
WO2022019312A1 (ja) * 2020-07-21 2022-01-27 株式会社アダコテック 情報処理システム、情報処理装置、情報処理方法及びプログラム
US11960864B2 (en) * 2021-09-27 2024-04-16 Microsoft Technology Licensing, Llc. Creating applications and templates based on different types of input content

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102187656A (zh) * 2008-10-27 2011-09-14 日本电信电话株式会社 像素预测值生成顺序自动生成方法、图像编码方法、图像解码方法、其装置、其程序和记录了这些程序的记录介质
CN103679188A (zh) * 2012-09-12 2014-03-26 富士通株式会社 图像分类器生成方法和装置及图像分类方法和装置
CN103903055A (zh) * 2014-03-21 2014-07-02 国家电网公司 基于无向图所有生成树的网络重构遗传算法
CN103942571A (zh) * 2014-03-04 2014-07-23 西安电子科技大学 一种基于遗传规划算法的图形图像分类方法
CN104537382A (zh) * 2015-01-12 2015-04-22 杭州电子科技大学 基于遗传算法优化支持向量机的肌电信号步态识别方法
US20150206069A1 (en) * 2014-01-17 2015-07-23 Matthew BEERS Machine learning-based patent quality metric

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052678A (en) 1993-12-16 2000-04-18 Fujitsu Limited Problem solving operation apparatus using a state transition
JP3751647B2 (ja) * 1993-12-16 2006-03-01 富士通株式会社 状態遷移の概念を導入した問題解決演算装置および方法
JP4599509B2 (ja) 2004-09-08 2010-12-15 独立行政法人理化学研究所 自己進化型パターン認識システム
JP4667912B2 (ja) 2005-03-09 2011-04-13 富士フイルム株式会社 判別器生成装置、判別器生成方法およびそのプログラム
KR100694473B1 (ko) * 2005-10-31 2007-03-12 한국전력공사 콘크리트 구조물의 내구성 향상을 위한 구체강화물질 및이의 제조방법
JP4660765B2 (ja) 2006-02-13 2011-03-30 国立大学法人横浜国立大学 進化型画像自動分類装置、フィルタ構造生成方法、及びプログラム
US8948496B2 (en) * 2008-08-29 2015-02-03 Koninklijke Philips N.V. Dynamic transfer of three-dimensional image data
JP2010266983A (ja) 2009-05-13 2010-11-25 Sony Corp 情報処理装置及び方法、学習装置および方法、プログラム、並びに情報処理システム
US9355337B2 (en) * 2009-08-25 2016-05-31 Xerox Corporation Consistent hierarchical labeling of image and image regions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102187656A (zh) * 2008-10-27 2011-09-14 日本电信电话株式会社 像素预测值生成顺序自动生成方法、图像编码方法、图像解码方法、其装置、其程序和记录了这些程序的记录介质
CN103679188A (zh) * 2012-09-12 2014-03-26 富士通株式会社 图像分类器生成方法和装置及图像分类方法和装置
US20150206069A1 (en) * 2014-01-17 2015-07-23 Matthew BEERS Machine learning-based patent quality metric
CN103942571A (zh) * 2014-03-04 2014-07-23 西安电子科技大学 一种基于遗传规划算法的图形图像分类方法
CN103903055A (zh) * 2014-03-21 2014-07-02 国家电网公司 基于无向图所有生成树的网络重构遗传算法
CN104537382A (zh) * 2015-01-12 2015-04-22 杭州电子科技大学 基于遗传算法优化支持向量机的肌电信号步态识别方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ICHIRO KANEYA ET AL: "automatic generation of the image recognition algorithm using the genetic programming", 《IEICE TECHNICAL REPORT, INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS》 *
JUN ANDO ET AL: "Image classification and processing using modified parallel-ACTIT", 《 2009 IEEE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN AND CYBERNETICS》 *
KUNIHIRO CHIHARA ET AL: "automatic generation of the image recognition system by artificial intelligence", 《AN IMAGE LAB》 *
吴限光: "基于GA和SVM的立体图像质量客观评价", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112384892A (zh) * 2018-07-09 2021-02-19 富士通株式会社 信息处理装置、信息处理方法以及信息处理程序

Also Published As

Publication number Publication date
WO2017068675A1 (ja) 2017-04-27
CN108140133B (zh) 2022-03-22
US11061687B2 (en) 2021-07-13
US20180225125A1 (en) 2018-08-09
JPWO2017068675A1 (ja) 2018-08-16
JP6646234B2 (ja) 2020-02-14

Similar Documents

Publication Publication Date Title
CN108140133A (zh) 程序生成装置、程序生成方法及生成程序
CN108399431A (zh) 分类模型训练方法以及分类方法
CN106096727A (zh) 一种基于机器学习的网络模型构造方法及装置
JP5353443B2 (ja) データ分類器作成装置、データ分類装置、データ分類器作成方法、データ分類方法、データ分類器作成プログラム、データ分類プログラム
US20190340507A1 (en) Classifying data
JP6897749B2 (ja) 学習方法、学習システム、および学習プログラム
CN103716204A (zh) 一种基于维纳过程的异常入侵检测集成学习方法及装置
Liao et al. Similarity searching for defective wafer bin maps in semiconductor manufacturing
EP3822872A1 (en) Information processing device, information processing method, and information processing program
JP6641195B2 (ja) 最適化方法、最適化装置、プログラムおよび画像処理装置
Chen et al. SS-HCNN: Semi-supervised hierarchical convolutional neural network for image classification
CN108509996A (zh) 基于Filter和Wrapper选择算法的特征选择方法
Das et al. An oversampling technique by integrating reverse nearest neighbor in SMOTE: Reverse-SMOTE
CN106445908A (zh) 文本识别方法和装置
JP2006251955A (ja) 判別器生成装置、判別器生成方法およびそのプログラム
CN108241662A (zh) 数据标注的优化方法及装置
CN109543247A (zh) 基于nsga-ⅱ的模拟集成电路参数优化设计方法及装置
CN113761026A (zh) 基于条件互信息的特征选择方法、装置、设备和存储介质
CN117349786A (zh) 基于数据均衡的证据融合变压器故障诊断方法
CN106874927A (zh) 一种随机强分类器的构建方法和***
Bianchi et al. An interpretable graph-based image classifier
Krawczyk et al. A cost-sensitive ensemble classifier for breast cancer classification
CN113627538B (zh) 训练非对称生成对抗网络产生图像的方法及电子装置
JP7206892B2 (ja) 画像検査装置、画像検査のための学習方法および画像検査プログラム
Li et al. Wheat cultivar classifications based on tabu search and fuzzy c-means clustering algorithm

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