WO2019171524A1 - 情報処理装置、情報処理方法および情報処理プログラム - Google Patents

情報処理装置、情報処理方法および情報処理プログラム Download PDF

Info

Publication number
WO2019171524A1
WO2019171524A1 PCT/JP2018/008929 JP2018008929W WO2019171524A1 WO 2019171524 A1 WO2019171524 A1 WO 2019171524A1 JP 2018008929 W JP2018008929 W JP 2018008929W WO 2019171524 A1 WO2019171524 A1 WO 2019171524A1
Authority
WO
WIPO (PCT)
Prior art keywords
class
learning data
fitness
learning
unit
Prior art date
Application number
PCT/JP2018/008929
Other languages
English (en)
French (fr)
Inventor
岡本浩明
長門毅
肥塚哲男
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2018/008929 priority Critical patent/WO2019171524A1/ja
Priority to JP2020504579A priority patent/JP6904477B2/ja
Publication of WO2019171524A1 publication Critical patent/WO2019171524A1/ja
Priority to US17/012,101 priority patent/US11284038B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0125Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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
    • G06N3/12Computing arrangements based on biological models using genetic models
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/0145Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes the interpolation being class adaptive, i.e. it uses the information of class which is determined for a pixel based upon certain characteristics of the neighbouring pixels

Definitions

  • This case relates to an information processing apparatus, an information processing method, and an information processing program.
  • an object of the present invention is to provide an information processing apparatus, an information processing method, and an information processing program capable of generating a highly generalized class classification program.
  • the information processing apparatus includes a genetic processing unit that performs genetic processing on at least two class classification programs selected from a set of a plurality of class classification programs, and a class classification program that has been subjected to the genetic processing.
  • the distance between each learning data and the identification boundary is A distance acquisition unit to acquire, a statistic calculation unit for calculating a statistic of a distance distribution with respect to an identification boundary for each of the first class learning data and the second class learning data, and the first class learning data Based on the statistics and the statistics of the second class learning data, the degree of separation between the first class and the second class is higher.
  • An fitness calculation formula that defines a fitness calculation formula that increases fitness and calculates the fitness of the class classification program that has been subjected to the genetic processing; and the genetic processing according to the fitness And a determination unit that determines whether or not to replace the class classification program to which any one of the class classification programs of the set is replaced.
  • a generalization class classification program can be generated.
  • FIG. 1 is a block diagram illustrating the overall configuration of an information processing apparatus according to a first embodiment. It is a figure which illustrates the flowchart performed when an information processing apparatus produces
  • FIG. 9 is a block diagram illustrating the overall configuration of an information processing apparatus according to a second embodiment. It is a figure which illustrates weighting. It is a figure which illustrates the flowchart showing the calculation process of a fitness. It is a block diagram for demonstrating the hardware constitutions of a genetic process part, a replacement part, and an image process part.
  • FIG. 1 is a block diagram illustrating the overall configuration of the information processing apparatus 500 according to the first embodiment.
  • the information processing apparatus 500 includes an image capturing device 100, a genetic processing unit 150, an automatic generation control unit 200, an image processing unit 300, an output device 400, and the like.
  • the image processing unit 300 functions as the image input unit 10, the learning unit 20, the learning result storage unit 40, the image inspection processing unit 50, and the like.
  • the learning unit 20 includes an image conversion unit 21, a feature amount extraction unit 22, an input data creation unit 23, a parameter setting unit 24, an overall classifier generation unit 25, an identification margin calculation unit 26, a statistic calculation unit 27, and a penalty calculation unit 29. It functions as the fitness calculation unit 30 and the like.
  • the image photographing device 100 is a photographing device such as a camera.
  • the image capturing apparatus 100 captures an object.
  • An object is an object of class classification (in the case of two-class classification of non-defective product / defective product).
  • the image capturing device 100 captures an object and acquires a learning image, a pass / fail determination image, and the like.
  • the learning image is an image used for generating a pass / fail judgment discriminator.
  • the pass / fail determination image is an image for determining pass / fail.
  • the output device 400 is a display device for outputting the determination result.
  • the output device 400 displays the determination result on a screen or the like as the inspection result of the image inspection processing unit.
  • the genetic processing unit 150 and the automatic generation control unit 200 automatically generate a class classification program by using genetic programming (GP).
  • the class classification program includes a plurality of element filters for performing individual image processing. By combining a plurality of element filters in the form of a tree structure and executing a series of filter processes, the target class classification can be realized. By applying a genetic process called crossover or mutation to a group of tree structure filter sequences, a classifying program with high fitness is generated. The fitness is an index of how good the output result of the automatically generated tree structure filter sequence is with respect to the target classification result. Learning is considered complete when a tree structure filter having a fitness level equal to or greater than a predetermined threshold is obtained. The tree structure filter sequence obtained in that case becomes a class classification program for executing the target class classification.
  • FIG. 2 is a diagram illustrating a flowchart executed when the information processing apparatus 500 automatically generates a class classification program.
  • FIG. 3 is a diagram for explaining an outline of genetic programming. Hereinafter, a process in which the information processing apparatus 500 automatically generates a class classification program will be described with reference to FIGS. 2 and 3.
  • the genetic processing unit 150 creates an initial individual (step S1).
  • each of those shown as circular “individuals” represents a class classification program having a tree structure filter sequence. That is, one individual is one class classification program and has a tree-structured filter string.
  • a parent population (set) can be generated.
  • the genetic processing unit 150 randomly selects and extracts two individuals from the parent population (step S2).
  • the genetic processing unit 150 generates a child individual by performing genetic processing on the two individuals extracted in step S2 (step S3).
  • Genetic processing is processing for performing crossover or mutation genetic processing on a tree-structured filter array.
  • an image conversion process by the image conversion unit 21, a feature amount extraction process by the feature amount extraction unit 22, and a parameter setting process by the parameter setting unit 24 are generated by genetic processing.
  • the genetic processing unit 150 causes the learning unit 20 to execute the evolution process for the child individual generated in step S3 (step S4).
  • the genetic processing unit 150 causes the learning unit 20 to calculate the fitness of the child individual (Step S5).
  • the genetic processing unit 150 determines whether or not all the child individuals have been completed (step S6). That is, the automatic generation control unit 200 determines whether or not generation of all child individuals has been completed from the two individuals extracted in step S2. If “No” is determined in step S6, the process is executed again from step S3. When it is determined as “Yes” in step S6, the automatic generation control unit 200 determines one individual according to the fitness. For example, the automatic generation control unit 200 determines one individual with the highest fitness as the best individual, and determines one individual by random selection using roulette. The automatic generation control unit 200 replaces the determined two individuals with two individuals of the parent population (step S7).
  • the automatic generation control unit 200 determines whether or not the maximum value of the fitness of each individual exceeds the threshold in the parent population (step S8). If “No” is determined in step S8, the process is executed again from step S2. When it determines with "Yes” at step S8, the automatic generation control part 200 preserve
  • FIG. 4 is a diagram illustrating a flowchart executed when the inspection process using the class classification program related to the best individual is performed.
  • the inspection process is a process for performing pass / fail determination on an object that actually requires pass / fail determination using the best class classification program obtained as a result of learning.
  • the image inspection processing unit 50 sets the best individual tree structure filter stored in the learning result storage unit 40 (step S11). That is, the image inspection processing unit 50 sets image conversion processing and feature amount extraction unit processing of the best class classification program.
  • the image inspection processing unit 50 sets the best individual classifier stored in the learning result storage unit 40 (step S12).
  • the image inspection processing unit 50 receives a pass / fail determination image from the image input unit 10 (step S13).
  • the image inspection processing unit 50 performs image conversion processing on the quality determination image received in step S13 (step S14).
  • the image inspection processing unit 50 performs feature amount extraction processing on the converted quality determination image (step S15).
  • the image inspection processing unit 50 inputs the feature amount extracted in step S15 to the discriminator as input data (step S16).
  • the image inspection processing unit 50 classifies the quality of the input data using a discriminator (step S17).
  • the output device 400 outputs the classification result of the image inspection processing unit 50 (step S18).
  • FIG. 5 is a flowchart illustrating details of the evolution process in step S4.
  • FIG. 6 is a diagram illustrating an outline of the evolution process. Details of the evolution process in step S4 will be described with reference to FIGS. Note that the evolution process is determined for each individual. Therefore, if the individuals are different, the processing contents of the image conversion unit 21, the feature amount extraction unit 22, the input data creation unit 23, the parameter setting unit 24, and the overall classifier generation unit 25 are different in the evolution process.
  • the image input unit 10 inputs an unprocessed learning image among the plurality of learning images received from the image capturing device 100 to the learning unit 20 (step S ⁇ b> 21).
  • the plurality of learning images src illustrated in FIG. 6 are the same learning image.
  • the image conversion unit 21 performs image conversion processing on the learning image src (step S22).
  • a plurality of image conversion filters C illustrated in FIG. 6 represent filters that perform different image conversions.
  • image conversion processing is performed on a single learning image src using a plurality of different image conversion filters C
  • image conversion is performed using one image conversion filter C using two learning images src.
  • processing, etc. are included.
  • the feature quantity extraction unit 22 extracts a feature quantity from the converted learning image (step S23).
  • the plurality of image feature extraction processes F illustrated in FIG. 6 may be different image extraction filters or the same image extraction filter.
  • the tree structure formed by the plurality of image conversion filters C and the plurality of image feature extraction processes F corresponds to a tree-structured filter row.
  • the input data creation unit 23 inputs the extracted feature quantity as input data D to the overall classifier generation unit 25 (step S24).
  • the input data D is a feature vector obtained by vectorizing a plurality of feature amounts.
  • the image input unit 10 determines whether or not the learning image has ended (step S25). That is, the image input unit 10 determines whether or not an unprocessed learning image remains. If “No” is determined in step S25, the process is executed again from step S21. In this case, an unprocessed next learning image is input to the learning unit 20 in step S21.
  • the parameter setting unit 24 sets the classifier property by setting the parameter of the classifier (step S26).
  • an SVM classifier is used as the classifier.
  • SVM is a machine learning type classifier and is a Support Vector Machine.
  • the parameter setting unit 24 sets an absolute value filter Pa for setting an absolute value, and sets a relative value filter Pr for performing relative adjustment.
  • the overall discriminator generating unit 25 generates a discriminator according to the discriminator property set by the parameter setting unit 24 using all the input data input from the input data creating unit 23 (step S27).
  • the overall discriminator generation unit 25 generates a discriminator by setting four types of SVM kernels (LINEAR, POLYNOMIAL, RBF, and SIGMOID).
  • SVM kernels LINEAR, POLYNOMIAL, RBF, and SIGMOID
  • the definition of fitness will be described.
  • the correct answer rate include the correct answer rate of the learning image by the discriminator generated using all the learning images, the correct answer rate of the K-division cross validation for the learning image, and the like.
  • the K-divided cross-validation is to divide the learning image into K groups, repeat the cross-validation K times, and regard the sum (average of correct answer rates) as the correct answer rate.
  • the division number K is called the fold number.
  • the accuracy rate of the K-division cross-validation is examined. In the following, for the sake of simplification, it is simply described as cross-validation.
  • a learning result (class classification program) having generalization can be generated by using a fitness definition formula in which fitness increases as the accuracy rate of cross-validation increases.
  • a highly generalized solution cannot always be obtained with a learning image with a limited quantity.
  • the number of images for learning is small, there is a case where a learning result with insufficient generalization performance may be obtained because a difference in the accuracy rate hardly occurs.
  • the correct answer rate can be obtained only at 10% intervals, and it is difficult for differences in fitness to occur. Therefore, there is a possibility that an individual with low generalization performance is selected from learning results having the same accuracy rate, and sufficient classification accuracy cannot always be obtained.
  • a margin value (SVM identification margin value) from the identification boundary of each learning image is used as the distance.
  • an evaluation score (identification margin value) obtained internally is used, and which class is classified into two classes depending on whether the margin value is larger or smaller than the classification reference value. Is to decide.
  • FIG. 7 is a diagram illustrating a schematic diagram in which the identification margin value of each learning image at the time of K-division cross validation is plotted on a one-dimensional axis, focusing on one best individual in each learning generation.
  • the determination result is correct. If the identification margin value of the good data for learning is positive, it is determined as a non-defective product, and the determination result is correct. If the identification margin value of the good learning data is negative, it is determined as a defective product, and the determination result is incorrect.
  • the correct answer rate of each generation is calculated in this way, for example, the correct answer rate is 0.8 in the 100th generation, and the correct answer rate is 1.0 and constant in the 200th and subsequent generations. Therefore, when only the correct answer rate is used as a reference for learning, learning does not proceed any further.
  • FIG. 8 is a diagram illustrating an outline of learning at the time of K-division cross validation. As illustrated in FIG. 8, it is assumed that a total of 10 learning images are used, including 5 good learning data and 5 bad learning data.
  • FIG. 9A and FIG. 9B are diagrams illustrating the process of obtaining the identification margin value (Mi) of each data.
  • FIG. 9A illustrates the third round of cross-validation
  • FIG. 9B illustrates the fourth round.
  • a distance representing how far the remaining two learning images are separated from the identification boundary in the feature space generated by the eight learning images is obtained as an identification margin value of each learning image. By normalizing the feature space, this distance reference can be set to ⁇ 1.
  • the fitness may be defined in different forms such as the following formula (6) or the following formula (7). It is also possible to adjust the range of fitness by multiplying each term by an appropriate coefficient.
  • Fitness accuracy rate-SVM identification margin penalty (6)
  • Fitness accuracy rate-SVM discrimination margin penalty-discriminator penalty (7)
  • the discriminator penalty is a penalty term (configured by the number of feature dimensions, the number of support vectors, the tree structure size, etc.) for suppressing overlearning for the discriminator.
  • FIG. 10 is a diagram illustrating a flowchart representing the fitness calculation process described above.
  • the fitness calculation unit 30 calculates the accuracy rate by performing cross validation on the learning image (step S ⁇ b> 31).
  • the identification margin calculation unit 26 acquires the identification margin value by calculating the identification margin value of each learning image (step S32).
  • the statistic calculation unit 27 calculates the statistic of the identification margin value (step S33).
  • the penalty calculation unit 29 calculates a penalty amount based on the statistical amount of the identification margin value (step S34).
  • the fitness calculation unit 30 calculates the penalty amount of the classifier (step S35).
  • the fitness calculation unit 30 calculates the fitness (step S36).
  • genetic processing is performed on at least two class classification programs selected from a set of a plurality of class classification programs.
  • the statistic of the distribution of the distance to the identification boundary is calculated, and based on the statistics of the good data for learning and the statistical data of the bad data for learning.
  • a degree of fitness is used such that the higher the degree of separation between good data and defective data for learning, the higher the degree of separation.
  • a class classification program with high generalization can be automatically generated by deciding whether or not to replace a class classification program that has undergone genetic processing with any class classification program in the parent population. Will be able to.
  • FIG. 11 (a) to FIG. 11 (d) are diagrams showing the results of verification according to this example.
  • FIG. 11A a good image having no scratch on the surface of the circular component and a defective image in which a scratch failure occurred on the surface of the circular component were used. There are many small scratches (drawn with short line segments) in non-defective products, and it is assumed that only line segments with a predetermined length / thickness or more are defective.
  • learning was performed up to 400 generations with 50 individuals and 40 learning images, and the correctness rate of pass / fail determination was examined with 160 pass / fail images.
  • FIG. 11C and FIG. 11D illustrate changes in fitness according to the progress of the learning generation.
  • the left side is a result of learning using the fitness according to the accuracy rate without considering the SVM identification margin.
  • the right side is the result of learning using the fitness definition formula using the class separation of the SVM identification margin.
  • the solid line indicates the maximum fitness, and the dotted line indicates the average fitness. It can be confirmed that the fitness is steadily increasing in any learning condition. Note that the graph on the right side appears to have a reduced numerical value as much as the identification margin penalty.
  • the statistic of the identification margin value for each learning image is calculated, the learning image having a small margin is regarded as important for identification, and the weight of the learning image is increased. Define fitness.
  • FIG. 12 is a block diagram illustrating the overall configuration of the information processing apparatus 500a according to the second embodiment. As illustrated in FIG. 12, the information processing apparatus 500 a is different from the information processing apparatus 500 according to the embodiment in that the learning unit 20 further includes a weight calculation unit 28.
  • FIG. 13 is a diagram illustrating weighting.
  • eight identification margin values of each learning image obtained by cross-validation are drawn.
  • the patterns are drawn for each learning image.
  • the margin value of the learning defective data # 1 that is difficult to identify is separated from the identification boundary ( It is considered effective to advance learning so as to increase in the negative value direction. Therefore, for each learning image, the statistics of the identification margin value are calculated over multiple image classification programs or multiple generations, the weight of the data with a small average margin value (calculated as an absolute value) is increased, and the learning good data The distance between the distribution and the distribution of learning failure data is obtained.
  • FIG. 14 is a diagram illustrating a flowchart representing the fitness calculation process described above.
  • the flowchart of FIG. 14 differs from the flowchart of FIG. 10 in that step S33a is executed between steps S33 and S34.
  • the weight calculation unit 28 increases the weight of data with a small statistical amount (step S33a). Thereafter, the processing after step S34 is executed.
  • the weighting coefficient is calculated so that the learning image closer to the identification boundary has a larger weight. According to this configuration, the learning proceeds so that the learning image that is difficult to identify is separated from the identification boundary. As a result, a class classification program with higher generalization can be generated.
  • Identification margin penalty weighted average of identification margin values of each learning image
  • Weight 1.0 / average margin of each learning image
  • the average margin is the previous generation or all child individuals in a predetermined number of generations. Is obtained as an average value (calculated as an absolute value) of identification margin values.
  • penalty terms number of feature dimensions, number of support vectors, tree structure size, etc.
  • the number of data usage is increased more than the number of images for learning by repeating the cross-validation multiple times while changing the data division method of K-division cross-validation and shuffling the data. It is also possible to implement this method. Thereby, it is possible to improve the accuracy of calculating the accuracy rate and the statistics of the distribution of the identification margin.
  • the two-class classification called pass / fail judgment has been described.
  • multi-class classification of three or more classes may be performed.
  • the statistic of the distribution of the distance to the identification boundary is calculated for each of the two classes
  • the fitness of the multi-class classification is calculated by integrating the fitness for each of the two classes. Also good.
  • an image is used as a pass / fail judgment (class classification) target, but is not limited thereto.
  • Other data such as voice data may be classified.
  • FIG. 15 is a block diagram for explaining a hardware configuration of the genetic processing unit 150, the automatic generation control unit 200, and the image processing unit 300.
  • the genetic processing unit 150, the automatic generation control unit 200, and the image processing unit 300 include a CPU 101, a RAM 102, a storage device 103, and the like.
  • a CPU (Central Processing Unit) 101 is a central processing unit.
  • a RAM (Random Access Memory) 102 is a volatile memory that temporarily stores programs executed by the CPU 101, data processed by the CPU 101, and the like.
  • the storage device 103 is a nonvolatile storage device. As the storage device 103, for example, a ROM (Read Only Memory), a solid state drive (SSD) such as a flash memory, a hard disk driven by a hard disk drive, or the like can be used.
  • the storage device 103 stores an information processing program.
  • each of the genetic processing unit 150, the automatic generation control unit 200, and the image processing unit 300 is realized by executing a program, but hardware such as a dedicated circuit may be used.
  • the genetic processing unit 150 is an example of a genetic processing unit that performs genetic processing on at least two class classification programs selected from a set of a plurality of class classification programs.
  • the identification margin calculation unit 26 uses one or more first class learning data belonging to the first class and one or more second class learning data belonging to the second class according to the class classification program subjected to the genetic processing. It is an example of the distance acquisition part which acquires the distance of each learning data and an identification boundary about the produced some discriminator.
  • the statistic calculation unit 27 is an example of a statistic calculation unit that calculates the statistic of the distribution of the distance from the identification boundary for each of the first class learning data and the second class learning data.
  • the fitness calculation unit 30 increases the degree of separation between the first class and the second class based on the statistics of the first class learning data and the statistics of the second class learning data. It is an example of the fitness calculation part which defines the fitness calculation formula which makes fitness high, and calculates the fitness of the class classification program to which the genetic process was performed.
  • the automatic generation control unit 200 is an example of a determination unit that determines whether to replace a class classification program that has been subjected to the genetic processing with any one of the class classification programs of the set according to the fitness.
  • the weight calculation unit 28 is an example of a coefficient calculation unit that calculates a weight coefficient for each learning data.
  • the image conversion unit 21 is an example of an image conversion unit that performs image conversion processing on the image data according to a class classification program.
  • the feature amount extraction unit 22 is an example of a feature amount extraction unit that extracts a feature amount from the image data that has been subjected to image conversion processing by the image conversion unit.
  • the overall classifier generation unit 25 is an example of an overall classifier generation unit that generates the evaluation classifier based on the feature amount.

Landscapes

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

Abstract

情報処理装置は、複数のクラス分類プログラムの集合から選択した少なくとも2つのクラス分類プログラムについて遺伝的処理を施し、遺伝的処理が施されたクラス分類プログラムに従って第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の評価識別器について、各学習データと識別境界との距離を取得し、第1クラス学習データおよび第2クラス学習データのそれぞれについて識別境界との距離の分布の統計量を算出し、第1クラス学習データの統計量と第2クラス学習データの統計量とに基づいて、第1クラスと第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義し、遺伝的処理が施されたクラス分類プログラムの適応度を算出し、適応度に応じて、遺伝的処理が施されたクラス分類プログラムを集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する。

Description

情報処理装置、情報処理方法および情報処理プログラム
 本件は、情報処理装置、情報処理方法および情報処理プログラムに関する。
 遺伝的プログラミングによって、最適な解を求める技術が開示されている(例えば、特許文献1参照)。このような遺伝的プログラミングによって、良否判定対象に対して、良否の分類を行うクラス分類プログラムを自動生成する技術が望まれている。
国際公開第2017/06875号
 しかしながら、遺伝的プログラミングによって、正解率に基づいてクラス分類プログラムを自動生成しようとすると、必ずしも汎化性の高いクラス分類プログラムが生成されるわけではない。
 1つの側面では、本発明は、汎化性の高いクラス分類プログラムを生成することができる情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。
 1つの態様では、情報処理装置は、複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理を施す遺伝的処理部と、前記遺伝的処理が施されたクラス分類プログラムに従って、第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の識別器について、各学習データと識別境界との距離を取得する距離取得部と、前記第1クラス学習データおよび第2クラス学習データのそれぞれについて、識別境界との距離の分布の統計量を算出する統計量算出部と、前記第1クラス学習データの前記統計量と、前記第2クラス学習データの前記統計量とに基づいて、前記第1クラスと前記第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義して、前記遺伝的処理が施されたクラス分類プログラムの適応度を算出する適応度算出部と、前記適応度に応じて、前記遺伝的処理が施されたクラス分類プログラムを前記集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する決定部と、を備える。
 汎化性の高いクラス分類プログラムを生成することができる。
実施例1に係る情報処理装置の全体構成を例示するブロック図である。 情報処理装置がクラス分類プログラムを自動生成する際に実行するフローチャートを例示する図である。 遺伝的プログラミングの概要を説明するための図である。 最良個体に係るクラス分類プログラムを用いた検査処理を行う際に実行するフローチャートを例示する図である。 ステップS4の進化過程処理の詳細を例示するフローチャートである。 進化過程処理の概要を例示する図である。 各学習世代での最良個体1つに注目し、そのK-分割交差検定時の各学習データの識別マージン値を1次元軸上にプロットした模式図を例示する図である。 K-分割交差検定時の学習の概要を例示する図である。 (a)および(b)は各データの識別マージン値を求める過程を例示する図である。 適応度の算出処理を表すフローチャートを例示する図である。 (a)~(d)は実施例1に従って検証した結果を示す図である。 実施例2に係る情報処理装置の全体構成を例示するブロック図である。 重み付けを例示する図である。 適応度の算出処理を表すフローチャートを例示する図である。 遺伝的処理部、入替部および画像処理部のハードウェア構成を説明するためのブロック図である。
 以下、図面を参照しつつ、実施例について説明する。
 図1は、実施例1に係る情報処理装置500の全体構成を例示するブロック図である。図1で例示するように、情報処理装置500は、画像撮影装置100、遺伝的処理部150、自動生成制御部200、画像処理部300、出力装置400などを備える。画像処理部300は、画像入力部10、学習部20、学習結果記憶部40、画像検査処理部50などとして機能する。学習部20は、画像変換部21、特徴量抽出部22、入力データ作成部23、パラメータ設定部24、全体識別器生成部25、識別マージン算出部26、統計量算出部27、ペナルティ算出部29、適応度算出部30などとして機能する。
 画像撮影装置100は、カメラなどの撮影装置である。画像撮影装置100は、対象物を撮影する。対象物とは、クラス分類(良品/不良品の2クラス分類の場合は良否判定)の対象である。画像撮影装置100は、対象物を撮影することで、学習用画像、良否判定用画像などを取得する。学習用画像とは、良否判定用の識別器を生成するために用いる画像である。良否判定用画像とは、良否判定を行うための画像である。
 出力装置400は、判定結果を出力するための表示装置などである。出力装置400は、画像検査処理部の検査結果として画面などに判定結果を表示する。
 遺伝的処理部150および自動生成制御部200は、遺伝的プログラミング(GP:Genetic Programming)を用いてクラス分類プログラムを自動生成する。クラス分類プログラムは、それぞれ個別の画像処理を行うための複数の要素フィルタを備えている。これら複数の要素フィルタを木構造の形で組み合わせて一連のフィルタ処理を実行することにより、目的とするクラス分類を実現することができる。木構造フィルタ列の集団に対して、交叉または突然変異という遺伝的処理を施すことで、適応度の高いクラス分類プログラムの生成を行う。適応度とは、目的とするクラス分類結果に対して、自動生成した木構造フィルタ列の出力結果がどの程度良いものであるかの指標である。所定の閾値以上の適応度を持つ木構造フィルタが得られた場合に学習完了とみなす。その場合に得られた木構造フィルタ列が、目的のクラス分類を実行するクラス分類プログラムとなる。
 図2は、情報処理装置500がクラス分類プログラムを自動生成する際に実行するフローチャートを例示する図である。図3は、遺伝的プログラミングの概要を説明するための図である。以下、図2および図3を参照しつつ、情報処理装置500がクラス分類プログラムを自動生成する処理について説明する。
 まず、遺伝的処理部150は、初期個体を作成する(ステップS1)。図3において、円形状の「個体」として示したもののそれぞれが、木構造フィルタ列を有するクラス分類プログラムを表している。すなわち、1つの個体が1つのクラス分類プログラムであり、木構造のフィルタ列を有する。複数の初期個体を生成することで、親の母集団(集合)を生成することができる。
 次に、遺伝的処理部150は、親の母集団から2個体をランダムに選択して取り出す(ステップS2)。次に、遺伝的処理部150は、ステップS2で取り出した2個体について、遺伝的処理を行うことで、子個体を生成する(ステップS3)。遺伝的処理とは、木構造のフィルタ列に対して交叉または突然変異の遺伝的処理を行う処理のことである。本実施例においては、遺伝的処理によって、画像変換部21による画像変換処理、特徴量抽出部22による特徴量抽出処理、およびパラメータ設定部24によるパラメータ設定処理が生成される。次に、遺伝的処理部150は、ステップS3で生成された子個体について、学習部20に進化過程処理を実行させる(ステップS4)。次に、遺伝的処理部150は、子個体について、学習部20に適応度を算出させる(ステップS5)。
 次に、遺伝的処理部150は、全ての子個体が終了したか否かを判定する(ステップS6)。すなわち、自動生成制御部200は、ステップS2で取り出された2個体から全ての子個体の生成が終了したか否かを判定する。ステップS6で「No」と判定された場合、ステップS3から再度実行される。ステップS6で「Yes」と判定された場合、自動生成制御部200は、適応度に応じて個体を1つ決定する。例えば、自動生成制御部200は、適応度の最も高い個体を最良個体として1つ決定し、ルーレットによるランダム選択により個体を1つ決定する。自動生成制御部200は、決定した2つの個体を親の母集団の2個体と入れ替える(ステップS7)。
 次に、自動生成制御部200は、親の母集団において、各個体の適応度のうち最大値が閾値を上回ったか否かを判定する(ステップS8)。ステップS8で「No」と判定された場合、ステップS2から再度実行される。ステップS8で「Yes」と判定された場合、自動生成制御部200は、適応度が閾値を上回る個体を最良個体として保存する(ステップS9)。具体的には、自動生成制御部200は、学習結果記憶部40に最良個体(クラス分類プログラム)を記憶させる。本実施例においては、自動生成制御部200は、最良個体を生成した場合の識別器についても、学習結果記憶部40に記憶させる。これにより、所望のクラス分類プログラムを自動生成することができる。
 図4は、最良個体に係るクラス分類プログラムを用いた検査処理を行う際に実行するフローチャートを例示する図である。検査処理とは、学習の結果として得られた最良のクラス分類プログラムを用いて、実際に良否判定を必要とする対象物に対して良否判定を行う処理のことである。図4で例示するように、画像検査処理部50は、学習結果記憶部40に記憶されている最良個体の木構造フィルタを設定する(ステップS11)。すなわち、画像検査処理部50は、最良のクラス分類プログラムの画像変換処理および特徴量抽出部処理を設定する。次に、画像検査処理部50は、学習結果記憶部40に記憶されている最良個体の識別器を設定する(ステップS12)。
 次に、画像検査処理部50は、画像入力部10から良否判定用画像を受け取る(ステップS13)。次に、画像検査処理部50は、ステップS13で受け取った良否判定用画像に対して画像変換処理を行う(ステップS14)。次に、画像検査処理部50は、変換後の良否判定用画像に対して、特徴量抽出処理を行う(ステップS15)。次に、画像検査処理部50は、ステップS15で抽出した特徴量を入力データとして識別器に入力する(ステップS16)。次に、画像検査処理部50は、識別器を用いて、入力データの良否を分類する(ステップS17)。次に、出力装置400は、画像検査処理部50の分類結果を出力する(ステップS18)。以上の処理により、最良個体に係るクラス分類プログラムを用いて、良否判定用画像の良否を分類することができる。
 以下では、ステップS4の進化過程処理の詳細およびステップS5の適応度の算出処理の詳細について説明する。
 図5は、ステップS4の進化過程処理の詳細を例示するフローチャートである。図6は、進化過程処理の概要を例示する図である。図5および図6を参照しつつ、ステップS4の進化過程処理の詳細について説明する。なお、進化過程処理は、個体ごとに定まっている。したがって、個体が異なると、進化過程処理において、画像変換部21、特徴量抽出部22、入力データ作成部23、パラメータ設定部24および全体識別器生成部25の処理内容が異なることになる。
 図5および図6で例示するように、画像入力部10は、画像撮影装置100から受け取った複数枚の学習用画像のうち、未処理の学習用画像を学習部20に入力する(ステップS21)。図6で例示されている複数枚の学習用画像srcは、同じ学習用画像である。
 次に、画像変換部21は、学習用画像srcに対して画像変換処理を行う(ステップS22)。図6で例示されている複数の画像変換フィルタCは、それぞれ異なる画像変換を行うフィルタを表している。図6の例では、1枚の学習用画像srcに対して異なる複数の画像変換フィルタCによって画像変換処理を行う場合、2枚の学習用画像srcを用いて1つの画像変換フィルタCによって画像変換処理を行う場合、などが含まれている。
 次に、特徴量抽出部22は、変換後の学習用画像から特徴量を抽出する(ステップS23)。図6で例示されている複数の画像特徴抽出処理Fは、異なる画像抽出フィルタであってもよく、同じ画像抽出フィルタであってもよい。図6の例では、複数の画像変換フィルタCおよび複数の画像特徴抽出処理Fが形成する木構造が、木構造のフィルタ列に相当する。
 次に、入力データ作成部23は、抽出した特徴量を入力データDとして全体識別器生成部25に入力する(ステップS24)。例えば、入力データDは、複数の特徴量をベクトル化した特徴ベクトルである。画像入力部10は、学習用画像が終了したか否かを判定する(ステップS25)。すなわち、画像入力部10は、未処理の学習用画像が残っていないかが判定される。ステップS25で「No」と判定された場合、ステップS21から再度実行される。この場合、ステップS21では、未処理の次の学習用画像が学習部20に入力されることになる。
 ステップS25で「Yes」と判定された場合、パラメータ設定部24は、識別器のパラメータを設定することで、識別器プロパティを設定する(ステップS26)。本実施例においては、識別器としてSVM識別器を用いる。SVMは、機械学習型識別器のことであり、Support Vector Machineのことである。パラメータ設定部24は、例えば、絶対値の設定を行う絶対値フィルタPaを設定し、相対的な調節を行う相対値フィルタPrを設定する。
 次に、全体識別器生成部25は、入力データ作成部23から入力された全ての入力データを用いて、パラメータ設定部24が設定した識別器プロパティに従って、識別器を生成する(ステップS27)。例えば、全体識別器生成部25は、4種類のSVMカーネル(LINEAR,POLYNOMIAL,RBF,SIGMOID)を設定することで、識別器を生成する。以上のステップS21~ステップS27の処理の実行によって、進化過程処理が終了する。
 続いて、ステップS5の適応度算出処理の詳細について説明する。まず、適応度の定義について説明する。例えば、適応度の定義において、学習用画像に基づく正解率を利用することが考えられる。正解率として、全ての学習用画像を用いて生成した識別器による学習用画像の正解率、学習用画像に対するK-分割交差検定の正解率、などが挙げられる。K-分割交差検定とは、学習用画像をK個のグループに分割して交差検定をK回繰り返し、その合計(正解率の平均)を正解率とみなすものである。分割数Kをfold数と呼ぶ。本実施例においては、一例としてK-分割交差検定の正解率について検討する。なお以降では簡略化のため、単に交差検定と記述する。
 一般的には、交差検定の正解率が高いほど適応度が高くなるような適応度定義式を利用することにより、汎化性のある学習結果(クラス分類プログラム)を生成することができる。しかしながら、数量が限られた学習用画像では、汎化性が高い解が必ずしも得られないおそれがある。特に、学習用画像数が少ない場合は、正解率に差異が生じ難いため、汎化性能の不十分な学習結果が得られる場合がある。例えば、学習用画像が10枚の場合、正解率は10%間隔でしか得ることができず、適応度の差異が生じ難い。したがって、正解率が同じ学習結果の中で汎化性能の低い個体が選ばれる可能性もあり、必ずしも十分な分類精度を得ることができるわけではない。
 そこで、本実施例では汎化性の高いクラス分類プログラムを生成するために、正解率だけでなく、交差検定時に得られる各学習用画像の識別境界からの距離を利用する。本実施例においては、一例として、当該距離として、各学習用画像の識別境界からのマージン値(SVM識別マージン値)を利用する。通常、SVMによるクラス分類では、内部で得られる評価スコア(識別マージン値)を利用し、そのマージン値が分類基準値より大きいか小さいかによって、2クラスの内のいずれのクラスに分類されるかを決めることになっている。
 以下では、良否の判定を対象とし、分類基準値をゼロ、マージン値が正の場合に良(OK)と判定し、負の場合に不良(NG)と判定する場合について説明する。本実施例では、識別マージン値の統計量を利用し、OKデータ側の分布とNGデータ側の分布との差異(分離度)が大きいほど、適応度が高くなるように適応度を定義する。
 図7は、各学習世代での最良個体1つに注目し、そのK-分割交差検定時の各学習用画像の識別マージン値を1次元軸上にプロットした模式図を例示する図である。図7の例では、学習用画像は10個で、そのうち学習用良データ(OKデータ)が5個で、学習用不良データ(NGデータ)が5個と仮定してある。
 学習用良データの識別マージン値が正であれば良品として判定されていることになり、判定結果は正解となる。学習用良データの識別マージン値が負であれば不良品として判定されていることになり、判定結果は不正解となる。このようにして各世代の正解率を算出すると、例えば、第100世代では正解率=0.8となり、第200世代以降は正解率=1.0で一定となる。したがって、正解率だけを学習の基準にしている場合、それ以上は学習が進行しないことになる。
 一方、汎化性能の高い学習結果を得るためには、図7で例示するように、世代が進むにつれて、識別マージン値のOK側およびNG側の分布が次第に拡大する(離れる)ことが望ましい。学習用画像において両方の分布が離れていれば、未知のデータが判定される場合に、余裕を持って正しく判定することが可能になる。本来、SVMは識別マージン値が最大となる学習結果を得るための手法であるが、学習途中の交差検定においては識別マージン値が最大となることが保証されていない。本実施例では、交差検定時の各学習用画像の識別マージン値の分布を拡大する方向に学習を進めることにより、汎化性の高い学習結果を得るものである。適応度の基本定義は下記式(1)のように表される。
 適応度=正解率+交差検定識別マージン分離度   (1)
 ここで、交差検定時の学習の概要および識別マージン値の算出方法について説明する。図8は、K-分割交差検定時の学習の概要を例示する図である。図8で例示するように、学習用良データが5個で、学習用不良データが5個の合計10個の学習用画像を用いるものとする。10個の学習用画像に対して交差検定をfold数=5で行う場合、図8のように判定評価用のデータを2個ずつ確保し、残りの8個を用いて部分評価識別器を生成する。生成された部分評価識別器を用いて確保していた2個のデータの良否判定を実施する。この手順を複数回(5回)繰り返すことで、複数個(5個)の部分評価識別器が生成され、学習用画像10個全ての良否判定を実行したことになり、正解率を求めることができる。この交差検定の正解率が高いということは、遺伝的プログラミングで生成した木構造要素フィルタが未知のデータに対しても効果的に働く可能性が高いことを示している。一方、全ての学習用画像を用いて生成した識別器について、学習用画像全体を処理することにより、その正解率および各データの識別マージン値を同様に求めることもできる。この場合の識別器は全体評価識別器と見なすことができる。識別マージン値の統計量を求める際に、この全体評価識別器についてのマージン値も含めて算出しても構わない。全体評価識別器および上記複数の部分評価識別器を合わせたものを評価識別器と呼ぶ。
 図9(a)および図9(b)は、各データの識別マージン値(Mi)を求める過程を例示する図である。図9(a)は交差検定の3回目を例示し、図9(b)は4回目を例として挙げている。8個の学習用画像で生成した特徴空間内の識別境界に対して、残りの学習用画像2個がどれだけ離れているかを表す距離が、各学習用画像の識別マージン値として求められる。特徴空間を正規化することにより、この距離の基準を±1に設定することができる。
 さらに具体的な例について説明する。遺伝的プログラミングの学習では、適応度を0.0~1.0の範囲に正規化し、適応度が1.0に向かって増加して行くように学習を進めることが多い。そのためには、交差検定の識別マージン分離度をペナルティ項として適応度定義式に加える方式が適している。そこで、下記式(2)で表すように、分離度が大きいほどペナルティ量が小さくなるように定義し、最終的な適応度が増加するように設定することが好ましい。
 適応度=正解率-SVM識別マージンペナルティ   (2)
 学習用良データの識別マージン値分布と学習用不良データの識別マージン値分布の距離(間隔)の指標としては、平均値、最大値、最小値などの基本統計量を用いることができる。この指標に基づいて、識別マージン値についてのペナルティ量の定義に関して、複数の定義式が考えられる。その代表例を下記式(3)~(5)のように表す。
 SVMマージンペナルティ=1.0/(OK側平均マージン値-NG側平均マージン値)   (3)
 SVMマージンペナルティ=1.0-(OK側最小マージン値-NG側最大マージン値)   (4)
 SVMマージンペナルティ=(OK側最小マージン値-1.0)+(-1.0-NG側最大マージン値)   (5)
 学習中に一つの定義を使い続けるだけでなく、複数の定義を切り替えて使用することなども可能である。例えば、学習の序盤は上記式(3)の定義に従い、学習の後半では上記式(4)の定義を用いることなども有効である。
 上記のSVMマージンペナルティを用いる場合、適応度の定義も下記式(6)または下記式(7)のような異なった形式が考えられる。なお、各項に適当な係数を掛けることにより適応度の範囲を調節することも可能である。
 適応度=正解率-SVM識別マージンペナルティ   (6)
 適応度=正解率-SVM識別マージンペナルティ-識別器ペナルティ   (7)
ここで、識別器ペナルティとは、識別器について過学習を抑制するためのペナルティ項(特徴次元数・サポートベクトル数・木構造サイズなどにより構成)である。
 図10は、以上のように説明した適応度の算出処理を表すフローチャートを例示する図である。図10で例示するように、適応度算出部30は、学習用画像に対して交差検定を行うことで、正解率を算出する(ステップS31)。次に、識別マージン算出部26は、各学習用画像の識別マージン値を算出することで識別マージン値を取得する(ステップS32)。次に、統計量算出部27は、識別マージン値の統計量を算出する(ステップS33)。次に、ペナルティ算出部29は、識別マージン値の統計量に基づいて、ペナルティ量を算出する(ステップS34)。次に、適応度算出部30は、識別器のペナルティ量を算出する(ステップS35)。次に、適応度算出部30は、適応度を算出する(ステップS36)。
 本実施例によれば、複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理が施される。遺伝的処理が施されたクラス分類プログラムに従って、第1クラス(良)に属する1以上の第1クラス学習データ(学習用良データ)および第2クラス(不良)に属する1以上の第2クラス学習データ(学習用不良データ)を用いて作成した複数の識別器について、各学習データと識別境界との距離が取得される。学習用良データおよび学習用不良データのそれぞれについて、識別境界との距離の分布の統計量が算出され、学習用良データの統計量と、学習用不良データの統計量とに基づいて、学習用良データと学習用不良データとの分離度が大きいほど高くなるような適応度が用いられる。この適応度に応じて、遺伝的処理が施されたクラス分類プログラムを親の集団のいずれかのクラス分類プログラムと入れ替えるか否かを決定することで、汎化性の高いクラス分類プログラムを自動生成することができるようになる。
 図11(a)~図11(d)は、本実施例に従って検証した結果を示す図である。図11(a)のように、円形部品の表面にキズが無い良画像と、円形部品の表面にキズ不良が生じた不良画像とを用いた。良品にも小さなキズ(短い線分で描画)は多数存在し、所定の長さ/太さ以上の線分だけをキズ不良と仮定している。図11(b)で例示するように、個体数50個、学習用画像40枚で400世代まで学習し、良否判定用画像160枚で良否判定の正解率を調べた。
 学習時の適応度の定義式には、下記式(8)、(9)を用いた。SVM識別マージンペナルティが適応度に与える影響の度合いは、ペナルティ量に対して掛ける重みで調節することができる。重みを大きくすればペナルティ量の影響が相対的に大きくなる。図11の検証では、ペナルティ量として重み係数0.2を掛けて適応度を計算している。
 適応度=正解率-SVM識別マージンペナルティ   (8)
 SVM識別マージンペナルティ=0.2×((1.0-OKmin))+(-1.0-NGmax))   (9)
 OKmin:OKデータ側の最小マージン値
 NGmax:NGデータ側の最大マージン値
 図11(c)および図11(d)は、学習世代の進行に応じた適応度の変化を例示する。左側が、SVM識別マージンを考慮せずに正解率に応じて適応度を用いて学習した結果である。右側が、SVM識別マージンのクラス間分離度を利用した適応度定義式を用いて学習した結果である。実線が最大適応度を示し、点線が平均適応度を示している。いずれの学習条件でも順調に適応度が上昇しているのが確認できる。なお、識別マージンペナルティの分だけ、右側のグラフは全体的に数値が低下して見えている。
 幾つかの世代について、良否判定用画像160枚に対する良否判定結果を比較して示す。SVM識別マージン値に基づく適応度を用いた右側の方が、数%程度の正解率の向上が確認できた。
 実施例2では、学習用画像毎の識別マージン値の統計量を計算し、統計的にマージンの小さな学習用画像が識別に重要であるとみなして、その学習用画像の重み付けを大きくするように適応度を定義する。
 図12は、実施例2に係る情報処理装置500aの全体構成を例示するブロック図である。図12で例示するように、情報処理装置500aが実施例に係る情報処理装置500と異なる点は、学習部20が重み算出部28をさらに備える点である。
 図13は、重み付けを例示する図である。図13の例では、学習用画像は全部で8個とし、各世代で子個体を3個ずつ生成しながら遺伝的プログラミング学習を続ける様子を例示している。実施例1と同様に、交差検定によって得られた学習用画像のそれぞれの識別マージン値が8個ずつ描画されている。図13では、学習用画像ごとに模様分けして描かれている。
 図13で例示するように、例えば、各世代で3個の子個体#1、#2、#3が生成される。これらは、それぞれ異なった木構造要素フィルタを備えており、別々の画像変換、画像特徴抽出、識別器生成パラメータに従って識別器を生成して交差検定を実行する。したがって、同じ学習用画像に対してそれぞれ異なる識別マージン値を持つことになる。しかしながら、例えば学習用不良データ#1のように、条件が異なっていても概ねいつも識別境界の近く(マージン値=0)に位置する学習用画像が存在する。一方で、学習用不良データ#4のように、識別境界から大きく離れたマージン値を持つ学習用画像も存在する。これは、画像検査のデータとして見た場合、学習用不良データ#1は良否判定が難しい不良品であり、学習用不良データ#4は不良品であることが明らかである場合が多い。
 実施例1で目指したように、学習用良データと学習用不良データとの識別マージン値の分離度を高めるためには、識別の難しい学習用不良データ#1のマージン値が識別境界から離れる(負値の方向に大きくなる)ように学習を進めることが効果的と考えられる。したがって、学習用画像ごとに複数の画像分類プログラムあるいは複数の世代にわたって識別マージン値の統計量を計算し、平均マージン値(絶対値として算出)の小さなデータの重みを大きくし、学習用良データの分布と学習用不良データの分布との間の距離を求めるようにする。
 図14は、以上のように説明した適応度の算出処理を表すフローチャートを例示する図である。図14のフローチャートが図10のフローチャートと異なる点は、ステップS33とステップS34との間に、ステップS33aが実行される点である。重み算出部28は、統計量の小さなデータの重みを大きくする(ステップS33a)。その後、ステップS34以降の処理が実行される。
 本実施例によれば、識別境界に近い学習用画像ほど、重みが大きくなるように重み係数が算出される。この構成によれば、識別の難しい学習用画像が識別境界から離れるように学習が進むことになる。それにより、より汎化性の高いクラス分類プログラムを生成することができる。
 なお、本実施例において、各学習用画像の重みの算出例として下記の方法を用いてもよい。
 識別マージンペナルティ=各学習用画像の識別マージン値の重み付き平均
 重み=1.0/各学習用画像の平均マージン
 平均マージンは、直前の1世代、あるいは、所定の世代数における、全ての子個体についての識別マージン値の平均値(絶対値で算出)として求める。
(他の例)
 交差検定の識別マージンの分離度が大きい場合は、同時に、交差検定の正解率も高くなっていることが予想される。従って、正解率を用いることなく、下式のように適応度を定義することも可能である。
 適応度=交差検定識別マージン分離度
 あるいは、ペナルティ項として捉えると
 適応度=1.0-SVM識別マージンペナルティ
 また、上記の適応度定義にも、識別器についてのペナルティ項(特徴次元数・サポートベクトル数・木構造サイズなど)を加えることもできる。なお、交差検定の使用に当たっては、K-分割交差検定のデータ分割の仕方を変えてデータをシャッフルしながら交差検定自体を複数回繰り返すことにより、学習用画像数以上にデータの使用回数を増大させて実施する方法も可能である。それにより、正解率や識別マージンの分布の統計量の算出精度を高めることもできる。
 なお、上記各例では、良否判定という2クラス分類について説明したが、3分類以上の多クラス分類を行ってもよい。この場合、それぞれの2クラスに対して、識別境界との距離の分布の統計量を算出し、それぞれの2クラス分類についての適応度を統合することにより、多クラス分類の適応度を算出してもよい。
 上記各例においては、良否判定(クラス分類)対象として画像を用いたが、それに限られない。音声データなどの他のデータをクラス分類対象としてもよい。
 図15は、遺伝的処理部150、自動生成制御部200および画像処理部300のハードウェア構成を説明するためのブロック図である。図15で例示するように、遺伝的処理部150、自動生成制御部200および画像処理部300は、CPU101、RAM102、記憶装置103等を備える。CPU(Central Processing Unit)101は、中央演算処理装置である。
 CPU101は、1以上のコアを含む。RAM(Random Access Memory)102は、CPU101が実行するプログラム、CPU101が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置103は、不揮発性記憶装置である。記憶装置103として、例えば、ROM(Read Only Memory)、フラッシュメモリなどのソリッド・ステート・ドライブ(SSD)、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置103は、情報処理プログラムを記憶している。なお、本実施例においては遺伝的処理部150、自動生成制御部200および画像処理部300の各部は、プログラムの実行によって実現されているが、専用の回路などのハードウェアを用いてもよい。
 上記各例において、遺伝的処理部150が、複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理を施す遺伝的処理部の一例である。識別マージン算出部26が、前記遺伝的処理が施されたクラス分類プログラムに従って、第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の識別器について、各学習データと識別境界との距離を取得する距離取得部の一例である。統計量算出部27が、前記第1クラス学習データおよび第2クラス学習データのそれぞれについて、識別境界との距離の分布の統計量を算出する統計量算出部の一例である。適応度算出部30が、前記第1クラス学習データの前記統計量と、前記第2クラス学習データの前記統計量とに基づいて、前記第1クラスと前記第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義して、前記遺伝的処理が施されたクラス分類プログラムの適応度を算出する適応度算出部の一例である。自動生成制御部200が、前記適応度に応じて、前記遺伝的処理が施されたクラス分類プログラムを前記集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する決定部の一例である。重み算出部28が、前記各学習データについて重み係数を算出する係数算出部の一例である。画像変換部21が、クラス分類プログラムに従って、前記画像データに対して画像変換処理を行う画像変換部の一例である。特徴量抽出部22が、前記画像変換部によって画像変換処理がなされた前記画像データから特徴量を抽出する特徴量抽出部の一例である。全体識別器生成部25が、前記特徴量を基に、前記評価識別器を生成する全体識別器生成部の一例である。
 以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
 10 画像入力部
 20 学習部
 21 画像変換部
 22 特徴量抽出部
 23 入力データ作成部
 24 パラメータ設定部
 25 全体識別器生成部
 26 識別マージン算出部
 27 統計量算出部
 28 重み算出部
 29 ペナルティ算出部
 30 適応度算出部
 40 学習結果記憶部
 50 画像検査処理部
 100 画像撮影装置
 150 遺伝的処理部
 200 自動生成制御部
 300 画像処理部
 400 出力装置
 500 情報処理装置

Claims (11)

  1.  複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理を施す遺伝的処理部と、
     前記遺伝的処理が施されたクラス分類プログラムに従って、第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の評価識別器について、各学習データと識別境界との距離を取得する距離取得部と、
     前記第1クラス学習データおよび前記第2クラス学習データのそれぞれについて、識別境界との距離の分布の統計量を算出する統計量算出部と、
     前記第1クラス学習データの前記統計量と、前記第2クラス学習データの前記統計量とに基づいて、前記第1クラスと前記第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義して、前記遺伝的処理が施されたクラス分類プログラムの適応度を算出する適応度算出部と、
     前記適応度に応じて、前記遺伝的処理が施されたクラス分類プログラムを前記集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する決定部と、を備えることを特徴とする情報処理装置。
  2.  前記距離取得部は、前記複数の評価識別器として、前記各学習データの交差検定を行うことで作成された複数の部分評価識別器を用いることを特徴とする請求項1記載の情報処理装置。
  3.  前記各学習データについて重み係数を算出する係数算出部を備え、
     前記適応度算出部は、前記重み係数を用いて、前記適応度を算出することを特徴とする請求項1または2に記載の情報処理装置。
  4.  前記係数算出部は、前記識別境界に近い学習データほど、大きい重みを付すことを特徴とする請求項3記載の情報処理装置。
  5.  前記学習データは、画像データであり、
     クラス分類プログラムに従って、前記画像データに対して画像変換処理を行う画像変換部と、
     前記画像変換部によって画像変換処理がなされた前記画像データから特徴量を抽出する特徴量抽出部と、
     前記特徴量を基に、前記評価識別器を生成する全体識別器生成部と、を備えることを特徴とする請求項1~4のいずれか一項に記載の情報処理装置。
  6.  学習データと識別境界との距離として、Support Vector Machineによって得られる正規化された識別マージンを用いることを特徴とする請求項1~5のいずれか一項に記載の情報処理装置。
  7.  前記適応度には、前記学習データに対する正解率と、前記第1クラスと前記第2クラスとの分離度の評価値とを反映させてあることを特徴とする請求項1~6のいずれか一項に記載の情報処理装置。
  8.  前記分離度の評価値は、交差検定識別マージン分離度であることを特徴とする請求項7記載の情報処理装置。
  9.  前記交差検定識別マージン分離度として、前記第1クラスの平均マージン値と前記第2クラスの平均マージン値との差、または前記第1クラスの最小マージン値と前記第2クラスの最小マージン値との差を用いることを特徴とする請求項8記載の情報処理装置。
  10.  遺伝的処理部が、複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理を施し、
     距離取得部が、前記遺伝的処理が施されたクラス分類プログラムに従って、第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の評価識別器について、各学習データと識別境界との距離を取得し、
     統計量算出部が、前記第1クラス学習データおよび第2クラス学習データのそれぞれについて、識別境界との距離の分布の統計量を算出し、
     適応度算出部が、前記第1クラス学習データの前記統計量と、前記第2クラス学習データの前記統計量とに基づいて、前記第1クラスと前記第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義して、前記遺伝的処理が施されたクラス分類プログラムの適応度を算出し、
     決定部が、前記適応度に応じて、前記遺伝的処理が施されたクラス分類プログラムを前記集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する、ことを特徴とする情報処理方法。
  11.  コンピュータに、
     複数のクラス分類プログラムの集合から選択された少なくとも2つのクラス分類プログラムについて遺伝的処理を施す処理と、
     前記遺伝的処理が施されたクラス分類プログラムに従って、第1クラスに属する1以上の第1クラス学習データおよび第2クラスに属する1以上の第2クラス学習データを用いて作成した複数の評価識別器について、各学習データと識別境界との距離を取得する処理と、
     前記第1クラス学習データおよび第2クラス学習データのそれぞれについて、識別境界との距離の分布の統計量を算出する処理と、
     前記第1クラス学習データの前記統計量と、前記第2クラス学習データの前記統計量とに基づいて、前記第1クラスと前記第2クラスとの分離度が大きいほど適応度を高くするような適応度計算式を定義して、前記遺伝的処理が施されたクラス分類プログラムの適応度を算出する処理と、
     前記適応度に応じて、前記遺伝的処理が施されたクラス分類プログラムを前記集合のいずれかのクラス分類プログラムと入れ替えるか否かを決定する処理と、を実行させることを特徴とする情報処理プログラム。
PCT/JP2018/008929 2018-03-08 2018-03-08 情報処理装置、情報処理方法および情報処理プログラム WO2019171524A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2018/008929 WO2019171524A1 (ja) 2018-03-08 2018-03-08 情報処理装置、情報処理方法および情報処理プログラム
JP2020504579A JP6904477B2 (ja) 2018-03-08 2018-03-08 情報処理装置、情報処理方法および情報処理プログラム
US17/012,101 US11284038B2 (en) 2018-03-08 2020-09-04 Information processing apparatus, information processing method, and computer-readable recording medium recording information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/008929 WO2019171524A1 (ja) 2018-03-08 2018-03-08 情報処理装置、情報処理方法および情報処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/012,101 Continuation US11284038B2 (en) 2018-03-08 2020-09-04 Information processing apparatus, information processing method, and computer-readable recording medium recording information processing program

Publications (1)

Publication Number Publication Date
WO2019171524A1 true WO2019171524A1 (ja) 2019-09-12

Family

ID=67845690

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/008929 WO2019171524A1 (ja) 2018-03-08 2018-03-08 情報処理装置、情報処理方法および情報処理プログラム

Country Status (3)

Country Link
US (1) US11284038B2 (ja)
JP (1) JP6904477B2 (ja)
WO (1) WO2019171524A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017068675A1 (ja) * 2015-10-22 2017-04-27 富士通株式会社 プログラム生成装置、プログラム生成方法および生成プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07295953A (ja) 1994-04-22 1995-11-10 Hitachi Ltd 最適化問題の解の探索方法
US7640219B2 (en) * 2006-08-04 2009-12-29 NDSU - Research Foundation Parameter optimized nearest neighbor vote and boundary based classification
JP5418052B2 (ja) 2009-08-04 2014-02-19 株式会社ニコン 遺伝的処理装置、遺伝的処理方法およびプログラム
JP2013125524A (ja) 2011-12-16 2013-06-24 Hitachi High-Technologies Corp 学習用装置、および、遺伝子学習方法
JP6582641B2 (ja) 2015-07-07 2019-10-02 株式会社プロギア ゴルフクラブのスウィングの表示方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017068675A1 (ja) * 2015-10-22 2017-04-27 富士通株式会社 プログラム生成装置、プログラム生成方法および生成プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LESSMANN, STEFAN ET AL.: "Genetic Algorithms for Support Vector Machine Model Selection", THE 2006 IEEE INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORK PROCEEDINGS, 21 July 2006 (2006-07-21), pages 3063 - 3069, XP010948984, doi:10.1109/IJCNN.2006.1716515 *
SUZUKI, AKIRA ET AL.: "Feature Selection by Generic Algorithm that Adopts the Principle of Margin- Maximization and its Application to Character Recognition", THE JOURNAL OF THE INSTITUTE OF IMAGE ELECTRONICS ENGINEERS OF JAPAN, vol. 41, no. 2, March 2012 (2012-03-01), pages 131 - 139 *

Also Published As

Publication number Publication date
US11284038B2 (en) 2022-03-22
JPWO2019171524A1 (ja) 2020-12-03
JP6904477B2 (ja) 2021-07-14
US20210006748A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
JP6798619B2 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
JP5041229B2 (ja) 学習装置および方法、認識装置および方法、並びにプログラム
US9779329B2 (en) Image processing apparatus, image processing method and program
JP6102947B2 (ja) 画像処理装置及び特徴検出方法
US9418440B2 (en) Image segmenting apparatus and method
EP3822872A1 (en) Information processing device, information processing method, and information processing program
US20090222390A1 (en) Method, program and apparatus for generating two-class classification/prediction model
JP6641195B2 (ja) 最適化方法、最適化装置、プログラムおよび画像処理装置
WO2017068675A1 (ja) プログラム生成装置、プログラム生成方法および生成プログラム
JP5706647B2 (ja) 情報処理装置、およびその処理方法
US9842279B2 (en) Data processing method for learning discriminator, and data processing apparatus therefor
JP2011118694A (ja) 学習装置および方法、認識装置および方法、並びにプログラム
WO2015146113A1 (ja) 識別辞書学習システム、識別辞書学習方法および記録媒体
Raghavendra et al. Ensemble of statistically independent filters for robust contact lens detection in iris images
US20210042550A1 (en) Information processing device, information processing method, and computer-readable recording medium recording information processing program
JP2007200246A (ja) 画像処理アルゴリズムの評価方法、生成方法、装置、プログラムおよび記録媒体
JP2016151805A (ja) オブジェクト検出装置、オブジェクト検出方法、及びプログラム
WO2019171524A1 (ja) 情報処理装置、情報処理方法および情報処理プログラム
US8755594B2 (en) Information processing device and method, and program
CN111401485A (zh) 实用的纹理分类方法
JP7206892B2 (ja) 画像検査装置、画像検査のための学習方法および画像検査プログラム
JP2022089430A (ja) 画像処理システム、及び画像処理プログラム
Homenda et al. A practical study on feature selection methods in pattern recognition: Examples of handwritten digits and printed musical notation
JP2023184114A (ja) データ処理装置、画像診断装置およびデータ処理方法
JP2023049092A (ja) モデル評価装置、モデル評価方法およびモデル評価プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18908434

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020504579

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18908434

Country of ref document: EP

Kind code of ref document: A1