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

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

Info

Publication number
WO2019220608A1
WO2019220608A1 PCT/JP2018/019232 JP2018019232W WO2019220608A1 WO 2019220608 A1 WO2019220608 A1 WO 2019220608A1 JP 2018019232 W JP2018019232 W JP 2018019232W WO 2019220608 A1 WO2019220608 A1 WO 2019220608A1
Authority
WO
WIPO (PCT)
Prior art keywords
class
image processing
processing program
image
unit
Prior art date
Application number
PCT/JP2018/019232
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/019232 priority Critical patent/WO2019220608A1/ja
Priority to CN201880093387.6A priority patent/CN112154463A/zh
Priority to JP2020518910A priority patent/JP7028317B2/ja
Publication of WO2019220608A1 publication Critical patent/WO2019220608A1/ja
Priority to US17/079,574 priority patent/US20210042550A1/en

Links

Images

Classifications

    • 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
    • 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/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • 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/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Definitions

  • This case relates to an information processing apparatus, an information processing method, and an information processing program.
  • a technology is disclosed in which an original image for learning and a target image are prepared and an image processing program having high fitness is automatically generated by genetic programming (see, for example, Patent Document 1).
  • an image processing program having a high fitness with respect to a specific original image may be generated due to a difference in shooting environment. Since such an image processing program does not have a high fitness with respect to other original images, there is a possibility of being tricked when selecting survival. In this case, there is a possibility that the learning time until the desired accuracy is obtained becomes long.
  • 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 an image processing program with high accuracy in a short time.
  • the information processing device performs clustering on the plurality of original images using the feature amount calculation unit that calculates image feature amounts from a plurality of learning original images, and the image feature amounts.
  • a classification unit that classifies the plurality of original images into each class, an evaluation unit that calculates an evaluation value of an image processing program for the plurality of original images for each class classified by the classification unit, and a calculation for each class.
  • a program generation unit that generates an image processing program by genetic programming based on the evaluation value; and a storage unit that stores an image processing program in which the evaluation value satisfies a predetermined condition in association with each class.
  • a highly accurate image processing program can be generated in a short time.
  • (A)-(c) is a figure which illustrates image processing. It is a figure which illustrates modification of an image processing program. It is a figure for demonstrating the outline
  • 1 is a block diagram illustrating the overall configuration of an image processing apparatus according to a first embodiment. It is a figure which illustrates the flowchart showing each process performed by information processing apparatus in the case of a learning process. It is a figure which illustrates the outline
  • the appearance of an inspection object is photographed using an imaging device such as a camera, and the presence or absence of a defect is determined.
  • an imaging device such as a camera
  • noise, shadows, fluctuations in brightness, and the like in accordance with the shooting environment in the field often occur in the shot image.
  • the brightness may vary.
  • the image processing program is desired to be robust to environmental changes.
  • FIG. 1C it is desired that a similar image is obtained from images having different brightness.
  • the recognition rate may be lowered due to a change in the device environment such as brightness as illustrated in FIG.
  • the image processing program is corrected.
  • the use of parts may be changed, and inspection objects such as the orientation of parts may be changed. Even in this case, since the recognition rate is lowered, the image processing program is reconstructed. The production line will be stopped for these corrections and reconstructions. Therefore, there is a need for a technique for quickly correcting an image processing program.
  • the image processing program includes a plurality of processing programs for performing individual image processing.
  • the target image processing can be realized.
  • a highly adaptive image processing program is generated by performing a genetic process called crossover or mutation on a group of processing programs having a tree structure.
  • the fitness is an index of how good the output result of the automatically generated tree-structured processing program is with respect to the target result.
  • FIG. 3 is a diagram for explaining an outline of genetic programming.
  • a plurality of initial individuals are created.
  • each of those shown as circular “individuals” represents an image processing program having a tree-structured processing program. That is, one individual is one image processing program and has a tree-structured processing program.
  • “F 1 ” to “F 5 ” included in the image processing program are processing programs (filters), “I” is an input image, and “O” is an output image.
  • the genetic process is a process of performing a crossover or mutation genetic process on a tree-structured processing program as illustrated in FIG.
  • FIG. 5 is a diagram illustrating fitness.
  • learning data is prepared.
  • the learning data includes a plurality of original images and a plurality of target images that are the intended results of each original image.
  • each of the target images 1 to N corresponds to each of the original images 1 to N.
  • the fitness is obtained by performing processing of each individual on each of the original images 1 to N, and outputting each of the output images 1 to N and the target images 1 to N as processing results. It can be calculated by comparison.
  • the fitness is an index that increases as the similarity between each of the output images 1 to N and each of the target images 1 to N increases.
  • one individual is determined according to the fitness. For example, the individual with the highest fitness is determined as the best individual. Individuals are determined by random selection by roulette. Next, the determined plurality of individuals are replaced with individuals of the parent population. Next, in the parent population, if the maximum value of the fitness level of each individual exceeds the threshold value, the individual whose fitness level exceeds the threshold value is stored as the best individual.
  • an optimum image processing program can be automatically constructed by preparing a set of original images and a set of target images as learning data.
  • a robust image processing program can be automatically configured.
  • the image processing program 1 evaluates the original images A to C. It is assumed that the image processing program 2 has a high evaluation with respect to the original image D. It is assumed that the image processing program 3 has a lower evaluation than any other image processing program for any original image, but its average value is the highest. In this case, in the above-described evaluation method based on the average, the image processing program 3 remains in the next generation due to the survival selection, and the image processing program 1 and the image processing program 2 that were highly evaluated in the specific environment are deceived.
  • FIG. 7 is a block diagram illustrating the overall configuration of the image processing apparatus 200 according to the first embodiment.
  • the image processing apparatus 200 includes an information processing apparatus 100, an imaging apparatus 101, an input apparatus 102, a display apparatus 103, and the like.
  • the information processing apparatus 100 includes a teaching unit 10, a feature amount calculation unit 20, a class classification unit 30, a data storage unit 40, a program generation unit 50, a program processing unit 60, a class determination unit 70, and the like.
  • the program generation unit 50 includes an fitness calculation unit 51.
  • the imaging device 101 is a device such as a camera.
  • the imaging device 101 captures an object.
  • the object is an inspection object.
  • the input device 102 is a device for inputting image types (original image, target image, and inspection image) of an image input to the information processing apparatus 100, and is a keyboard, a mouse, or the like.
  • the display device 103 is a device that displays a processing result by the information processing device 100, and is a liquid crystal display or the like.
  • the image acquired by the imaging apparatus 101 is input to the information processing apparatus 100 as an input image.
  • the user inputs the image type of the input image using the input device 102.
  • the teaching unit 10 associates image types with the input image.
  • each input image is input as learning data.
  • An original image or a target image is associated with each input image.
  • the data storage unit 40 stores an input image associated with an image type. For example, the original image and the target image obtained from the original image are stored as a pair.
  • target images 1 to N corresponding to the original images 1 to N are stored for the original images 1 to N.
  • FIG. 8 is a diagram illustrating a flowchart representing each process executed by the information processing apparatus 100 during the learning process.
  • the feature amount calculation unit 20 calculates the image feature amounts of the original images 1 to N stored in the data storage unit 40 (step S1).
  • the image processing program is a combination of a spatial filter and a threshold processing tree structure in image processing. Image processing by the image processing program is performed on the entire image. Therefore, in this embodiment, the image feature of the original image is considered as the brightness and sharpness of the entire image, and the image brightness histogram, spatial frequency information, and the like are used as the image feature amount.
  • the class classification unit 30 performs clustering on the original images 1 to N by the K-means method using the image feature amount calculated by the feature amount calculation unit 20 (step S2). Thereby, the class classification unit 30 classifies the original images 1 to N into each class.
  • the data storage unit 40 stores the class information associated with each of the original images 1 to N in association with the class to which the data storage unit 40 belongs. Further, the data storage unit 40 stores the image feature quantity distribution of the original images 1 to N and the image feature quantity at the center of each class in association with each class and stores them as an image feature quantity distribution (step S3).
  • the program generation unit 50 generates a plurality of initial individuals as a parent population (initial program group) using the original images 1 to N (step S4).
  • the generated program is stored in the data storage unit 40.
  • Step S4 corresponds to generation of an initial individual in FIG.
  • the fitness calculator 51 calculates fitness (evaluation value) for each individual of the parent population for each class using the original images classified into the classes (step S5). For example, when the original images 1 to 3 are included in the class 1, the average value of the similarities between the output images 1 to 3 and the target images 1 to 3 when the original images 1 to 3 are processed Etc. are calculated as fitness.
  • the program generation unit 50 determines the next generation parent (step S6). For example, the program generation unit 50 randomly determines the same number of individuals as the number of classes M from the parent population using uniform random numbers.
  • the program generation unit 50 generates a plurality of child individuals from the parent selected in step S6 through an evolution process (crossover and mutation) (step S7). For example, two individuals are selected with uniform random numbers from the M individuals selected in step S6, and crossover is performed.
  • the fitness calculation unit 51 calculates the fitness of each child individual for each class (step S8).
  • the program generation unit 50 determines whether a condition is satisfied for each class (step S9). For example, for each class, it is determined whether or not the maximum fitness value of the child individual is equal to or greater than a threshold value.
  • step S9 the program generation unit 50 selects a plurality of child individuals from the child individual group according to the distribution of evaluation values for each class, and replaces the parent population with the parent population. Is updated (step S10).
  • a selection method for example, M child individuals having the maximum evaluation value in each class, roulette selection according to the evaluation value, and the like can be used.
  • roulette selection can be made such that the higher the evaluation value, the higher the probability of selection, and the lower the evaluation value, the lower the probability of selection.
  • the M child individuals selected in step S10 are replaced in place of the individual determined in step S6. Thereafter, the process is executed again from step S6.
  • the program generation unit 50 outputs an individual (image processing program) having the maximum fitness for each class (step S11).
  • the output image processing program is associated with each class and stored in the data storage unit 40.
  • FIG. 9 is a diagram illustrating an outline of the above learning process. As illustrated in FIG. 9, it is assumed that the original images A to C belong to the class A and the original image D belongs to the class B by performing clustering on the original images A to D.
  • the fitness of the image processing programs 1 to 3 obtained by the evolution process is calculated for each class.
  • the image processing program 1 has a high fitness for class A.
  • the image processing program 2 has a high fitness for class B.
  • the image processing program 3 has an average fitness for both class A and class B. In the average values for class A and class B, the image processing program 3 has the highest fitness. Therefore, in the evaluation method based on the average, the image processing program 3 is a living individual.
  • the image processing program 1 is a living individual for class A
  • the image processing program 2 is a living individual for class B. Therefore, according to the present embodiment, an image processing program that is very effective for a part of the learning data remains without being deceived in the next generation.
  • FIG. 10 is a diagram illustrating a flowchart representing each process executed by the information processing apparatus 100 during the inspection process.
  • the inspection process will be described with reference to FIG.
  • An image acquired by the imaging apparatus 101 for the inspection target is input to the information processing apparatus 100 as an input image.
  • the teaching unit 10 sets the type of the input image as an inspection image.
  • the feature amount calculation unit 20 calculates an image feature amount from the inspection image (step S21).
  • the type of the image feature amount in this case is the same as the image feature amount used in the learning process.
  • the class determination unit 70 calculates the distance between the image feature amount at the center of each class stored in the data storage unit 40 and the image feature amount calculated in step S21 (step S22). For example, the Euclidean distance, the Mahalanobis distance, etc. from the class-centered image feature quantity can be used.
  • the class determination unit 70 determines the class with the shortest distance as the target class (step S23).
  • the program processing unit 60 performs image processing on the inspection image using the image processing program of the target class determined in step S23 among the image processing programs stored in the data storage unit 40. (Step S24). Thereafter, for example, quality determination is performed.
  • FIG. 11 is a diagram illustrating an outline of the above inspection process.
  • the image feature amount is calculated from the inspection image. Class determination is performed using the calculated image feature amount. If it is determined that the inspection image belongs to class A, the image is processed by the best image processing program of class A. If it is determined that the inspection image belongs to class B, the image is processed by the best image processing program of class B. Thereby, appropriate image processing is performed.
  • the original image is classified into each class by performing clustering on the original image using image feature amounts calculated from a plurality of original images for learning.
  • the fitness of the image processing program for the original image is calculated as an evaluation value.
  • An image processing program is generated by genetic programming based on the evaluation value calculated for each class, and an image processing program whose evaluation value satisfies a predetermined condition is stored in association with each class. According to this configuration, it is possible to construct a plurality of high-accuracy image processing programs according to the characteristics of the learning data in a short time (for example, by one learning) during the learning process. In the inspection process, a highly accurate image processing program can be selectively executed according to the image feature amount of the inspection image.
  • FIG. 12 is a block diagram for explaining the hardware configuration of the information processing apparatus 100.
  • the information processing apparatus 100 includes a CPU 201, a RAM 202, a storage device 203, and the like.
  • a CPU (Central Processing Unit) 201 is a central processing unit.
  • the CPU 201 includes one or more cores.
  • a RAM (Random Access Memory) 202 is a volatile memory that temporarily stores programs executed by the CPU 201, data processed by the CPU 201, and the like.
  • the storage device 203 is a nonvolatile storage device.
  • a solid state drive (SSD) such as a ROM (Read Only Memory) or a flash memory, a hard disk driven by a hard disk drive, or the like can be used.
  • the storage device 203 stores an information processing program.
  • Each part of the information processing apparatus 100 is realized by the CPU 201 executing the information processing program stored in the storage device 203.
  • each unit of the information processing apparatus 100 may be hardware such as a dedicated circuit.
  • the feature amount calculation unit 20 functions as an example of a feature amount calculation unit that calculates image feature amounts from a plurality of learning original images.
  • the class classification unit 30 functions as an example of a classification unit that classifies the plurality of original images into each class by performing clustering on the plurality of original images using the image feature amount.
  • the fitness calculation unit 51 functions as an example of an evaluation unit that calculates an evaluation value of an image processing program for the plurality of original images for each class classified by the classification unit.
  • the program generation unit 50 functions as an example of a program generation unit that generates an image processing program by genetic programming based on the evaluation value calculated for each class.
  • the data storage unit 40 functions as an example of a storage unit that stores an image processing program in which the evaluation value satisfies a predetermined condition in association with each class.

Landscapes

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

Abstract

情報処理装置は、複数の学習用の原画像から画像特徴量を算出する特徴量算出部と、前記画像特徴量を用いて前記複数の原画像に対してクラスタリングを行うことで前記複数の原画像を各クラスに分類する分類部と、前記分類部によって分類されたクラスごとに、前記複数の原画像に対する画像処理プログラムの評価値を算出する評価部と、クラスごとに算出された前記評価値を基に遺伝的プログラミングにより画像処理プログラムを生成するプログラム生成部と、クラスごとに、前記評価値が所定条件を満たす画像処理プログラムを関連付けて格納する格納部と、を備える。

Description

情報処理装置、情報処理方法および情報処理プログラム
 本件は、情報処理装置、情報処理方法および情報処理プログラムに関する。
 学習用の原画像と目的画像とを用意し、遺伝的プログラミングによって適応度の高い画像処理プログラムを自動で生成する技術が開示されている(例えば、特許文献1参照)。
特開2008-299687号公報
 しかしながら、撮影環境の相違などに起因して、特定の原画像に対して高い適応度を有する画像処理プログラムが生成されることがある。このような画像処理プログラムは、他の原画像に対しても高い適応度を有するわけではないため、生存選択の際に淘汰される可能性がある。この場合、所望の精度を得るまでの学習時間が長くなるおそれがある。
 1つの側面では、本発明は、短時間で精度の高い画像処理プログラムを生成することができる情報処理装置、情報処理方法および情報処理プログラムを提供することを目的とする。
 1つの態様では、情報処理装置は、複数の学習用の原画像から画像特徴量を算出する特徴量算出部と、前記画像特徴量を用いて前記複数の原画像に対してクラスタリングを行うことで前記複数の原画像を各クラスに分類する分類部と、前記分類部によって分類されたクラスごとに、前記複数の原画像に対する画像処理プログラムの評価値を算出する評価部と、クラスごとに算出された前記評価値を基に遺伝的プログラミングにより画像処理プログラムを生成するプログラム生成部と、クラスごとに、前記評価値が所定条件を満たす画像処理プログラムを関連付けて格納する格納部と、を備える。
 短時間で精度の高い画像処理プログラムを生成することができる。
(a)~(c)は画像処理を例示する図である。 画像処理プログラムの修正を例示する図である。 遺伝的プログラミングの概要を説明するための図である。 遺伝的処理を例示する図である。 適応度について例示する図である。 画像処理プログラムの評価を例示する図である。 実施例1に係る画像処理装置の全体構成を例示するブロック図である。 学習処理の際に情報処理装置によって実行される各処理を表すフローチャートを例示する図である。 学習処理の概要を例示する図である。 検査処理の際に情報処理装置によって実行される各処理を表すフローチャートを例示する図である。 検査処理の概要を例示する図である。 情報処理装置のハードウェア構成を説明するためのブロック図である。
 実施例の説明に先立って、外観検査の概要について説明する。
 外観検査では、カメラなどの撮像装置を用いて検査対象の外観を撮影し、欠陥の有無を判定する。特に、FA(ファクトリーオートメーション)分野においては、現場の撮影環境に応じたノイズ、影、明るさの変動などが撮影画像に発生することが多い。例えば、図1(a)および図1(b)で例示するように、明るさに変動が生じる場合がある。このような場合においても、画像処理プログラムには、環境変化にロバストな処理が望まれている。例えば、図1(c)で例示するように、明るさの異なる画像から、同様の画像が得られることが望まれている。
 また、検査装置を開発して実際の製造が開始された後に、図2で例示するように、明るさなどの装置環境が変化して認識率が低下することがある。この場合、画像処理プログラムを修正することになる。また、部品使用が変更になって、部品の向きなどの検査対象が変更されることがある。この場合においても認識率が低下するため、画像処理プログラムを再構築することになる。これらの修正や再構築のためには、生産ラインを停止させることになる。そこで、画像処理プログラムを迅速に修正する技術が求められている。
 画像処理プログラムの自動生成手法として、遺伝的プログラミング(GP:Genetic Programming)を用いることが考えられる。画像処理プログラムは、それぞれ個別の画像処理を行うための複数の処理プログラムを備えている。これら複数の処理プログラムを木構造の形で組み合わせて一連のプログラム処理を実行することにより、目的とする画像処理を実現することができる。木構造状の処理プログラムの集団に対して、交叉または突然変異という遺伝的処理を施すことで、適応度の高い画像処理プログラムの生成を行う。適応度とは、目的とする結果に対して、自動生成した木構造状の処理プログラムの出力結果がどの程度良いものであるかの指標である。所定の閾値以上の適応度を持つ木構造状の処理プログラムが得られた場合に学習完了とみなす。その場合に得られた木構造状の処理プログラムが、目的の画像処理を実行する画像処理プログラムとなる。
 図3は、遺伝的プログラミングの概要を説明するための図である。まず、複数の初期個体を作成する。図3において、円形状の「個体」として示したもののそれぞれが、木構造状の処理プログラムを有する画像処理プログラムを表している。すなわち、1つの個体が1つの画像処理プログラムであり、木構造状の処理プログラムを有する。図3において、画像処理プログラムに含まれる「F」~「F」が処理プログラム(フィルタ)であり、「I」が入力画像であり、「O」が出力画像である。複数の初期個体を生成することで、親の母集団(集合)を生成することができる。
 次に、親の母集団から複数の個体を選択して取り出す。次に、取り出した複数の個体について、遺伝的処理を行うことで、複数の子個体を生成する。遺伝的処理とは、図4で例示するように、木構造状の処理プログラムに対して交叉または突然変異の遺伝的処理を行う処理のことである。
 次に、各子個体について、適応度を算出する。図5は、適応度について例示する図である。まず、学習データを用意する。学習データには、複数の原画像と、各原画像の目的とする結果である複数の目的画像とが含まれている。例えば、目的画像1~Nのそれぞれは、原画像1~Nのそれぞれに対応する。適応度は、図5で例示するように、原画像1~Nのそれぞれに対して各個体の処理を行い、処理結果となる出力画像1~Nのそれぞれと目的画像1~Nのそれぞれとの比較により算出することができる。例えば、適応度は、出力画像1~Nのそれぞれと目的画像1~Nのそれぞれとの類似度が高いほど高くなる指標である。図5の例では、フィルタ構造1の個体の適応度(=0.9)の方が、フィルタ構造2の個体の適応度(=0.6)よりも高くなっている。
 図3で例示するように、次に生存選択を行う。まず、適応度に応じて個体を1つ決定する。例えば、適応度の最も高い個体を最良個体として決定する。また、ルーレットによるランダム選択により個体を決定する。次に、決定した複数の個体を親の母集団の個体と入れ替える。次に、親の母集団において、各個体の適応度のうち最大値が閾値を上回っていれば、適応度が閾値を上回る個体を最良個体として保存する。
 以上のことから、原画像のセットと目的画像のセットとを学習データとして用意することで、自動的に最適な画像処理プログラムを構築することができる。また、撮影環境の異なる原画像のセットと目的画像のセットとを複数用意することで、ロバストな画像処理プログラムを自動構成することが可能となる。
 ロバストな画像処理プログラムを自動構成するためには、撮影環境の変化(例えば明るさの変動)を考慮した複数の原画像を学習データとして設定し、学習データすべてにおいて適応度が高くなる木構造を遺伝的プログラミングにより探索していく。各学習データの組ごとに算出した評価値の平均を用いることができる。しかしながら、平均による評価方法では、特定の撮影環境において評価の高い木構造が淘汰される可能性がある。
 例えば、図6で例示するように、画像処理プログラム1~3を学習データの原画像A~原画像Dでそれぞれ評価した際に、画像処理プログラム1は原画像A~原画像Cに対して評価が高く、画像処理プログラム2は原画像Dに対して評価が高いと仮定する。画像処理プログラム3はいずれの原画像に対しても他の画像処理プログラムより評価は低いが、その平均値は最も高いと仮定する。この場合、上述した平均による評価方法では、生存選択によって画像処理プログラム3が次世代に残り、特定環境において評価が高かった画像処理プログラム1および画像処理プログラム2は、淘汰されてしまう。そのため、平均による評価方法では汎用性のある木構造の構築が先行し、所望の精度を得るまでの学習速度が遅い問題があった。そのため、長時間の学習実行や、学習データを分割し複数回学習させる必要があり、効率的な学習手法の確立が課題となっている。
 そこで、以下の実施例では、短時間で精度の高い画像処理プログラムを自動生成することができる情報処理装置、情報処理方法および情報処理プログラムについて説明する。
 図7は、実施例1に係る画像処理装置200の全体構成を例示するブロック図である。図7で例示するように、画像処理装置200は、情報処理装置100、撮像装置101、入力装置102、表示装置103などを備える。情報処理装置100は、教示部10、特徴量算出部20、クラス分類部30、データ記憶部40、プログラム生成部50、プログラム処理部60、クラス判定部70などを備える。プログラム生成部50は、適応度算出部51を備える。
 撮像装置101は、カメラなどの装置である。撮像装置101は、対象物を撮影する。対象物とは、検査対象である。入力装置102は、情報処理装置100に入力される画像の画像種類(原画像、目的画像および検査用画像)を入力するための装置であり、キーボード、マウスなどである。表示装置103は、情報処理装置100による処理結果を表示する装置であり、液晶ディスプレイなどである。
 撮像装置101が取得した画像は、入力画像として情報処理装置100に入力される。ユーザは、入力装置102を用いて入力画像の画像種類を入力する。教示部10は、入力画像について、画像種類を関連付ける。学習処理においては、各入力画像は、学習データとして入力される。各入力画像に対して、原画像または目的画像が関連付けられる。データ記憶部40は、画像種類が関連付けられた入力画像を格納する。例えば、原画像と、当該原画像から得られる目的画像とが対として格納される。原画像および目的画像がそれぞれ複数枚入力される場合には、原画像1~Nに対して、当該原画像1~Nに対応する目的画像1~Nが格納される。
(学習処理)
 図8は、学習処理の際に、情報処理装置100によって実行される各処理を表すフローチャートを例示する図である。以下、図8を参照しつつ、学習処理について説明する。まず、特徴量算出部20は、データ記憶部40に格納されている原画像1~Nのそれぞれの画像特徴量を算出する(ステップS1)。例えば、画像処理プログラムは、画像処理における空間フィルタや閾値処理の木構造状の組合せである。画像処理プログラムによる画像処理は、画像全域で施される。そこで、本実施例においては、原画像の画像特徴を画像全体の明るさや鮮明度と考え、画像の輝度ヒストグラム、空間周波数情報等を画像特徴量とする。
 クラス分類部30は、特徴量算出部20が算出した画像特徴量を用いて、K-means法等により、原画像1~Nに対してクラスタリングを行う(ステップS2)。それにより、クラス分類部30は、原画像1~Nを各クラスに分類する。データ記憶部40は、データ記憶部40は、原画像1~Nのそれぞれに対して、属するクラスを関連付けて、クラス情報として格納する。また、データ記憶部40は、原画像1~Nの画像特徴量の分布および各クラスの中心となる画像特徴量を各クラスに関連付けて、画像特徴量分布として格納する(ステップS3)。
 次に、プログラム生成部50は、原画像1~Nを用いて複数の初期個体を親の母集団(初期プログラム群)として生成する(ステップS4)。生成されたプログラムは、データ記憶部40に格納される。ステップS4は、図3において、初期個体の生成に相当する。次に、適応度算出部51は、各クラスに分類された原画像を用いて、クラスごとに、親の母集団の各個体について適応度(評価値)を算出する(ステップS5)。例えば、クラス1に原画像1~3が含まれる場合には、原画像1~3を画像処理した場合の出力画像1~3のそれぞれと目的画像1~3のそれぞれとの類似度の平均値等を適応度として算出する。
 次に、プログラム生成部50は、次世代の親を決定する(ステップS6)。例えば、プログラム生成部50は、親の母集団から一様乱数により、クラス数Mと同数の個体をランダムに決定する。
 次に、プログラム生成部50は、ステップS6で選択した親から、進化過程(交叉と突然変異)により複数の子個体を生成する(ステップS7)。例えば、ステップS6で選択したM個の個体から一様乱数により2個体を選択して交叉を行う。次に、適応度算出部51は、クラスごとに、各子個体の適応度を算出する(ステップS8)。次に、プログラム生成部50は、クラスごとに、条件が成立するか否かを判定する(ステップS9)。例えば、クラスごとに、子個体の適応度の最大値が閾値以上となっているか否かが判定される。
 ステップS9で「No」と判定された場合、プログラム生成部50は、クラスごとの評価値の分布に応じて、子個体群から複数の子個体を選択し、親の母集団と入れ替えることで親の母集団を更新する(ステップS10)。この場合の選択手法として、例えば、各クラスにおいて評価値が最大となるM個の子個体や、評価値に応じたルーレット選択などを用いることができる。例えば、評価値が高いほど選択される確率が高く、評価値が低いほど選択される確率が低くなるようなルーレット選択とすることができる。例えば、ステップS10で選択したM個の子個体を、ステップS6で決定した個体の代わりに入れ替える。その後、ステップS6から再度実行される。ステップS9で「Yes」と判定された場合、プログラム生成部50は、クラスごとに最大の適応度を有する個体(画像処理プログラム)を出力する(ステップS11)。出力された画像処理プログラムは、各クラスと関連付けられ、データ記憶部40に格納される。
 図9は、以上の学習処理の概要を例示する図である。図9で例示するように、原画像A~Dに対してクラスタリングを行うことで、原画像A~CがクラスAに属し、原画像DがクラスBに属すると仮定する。進化過程によって得られた画像処理プログラム1~3の適応度を、クラスごとに算出する。画像処理プログラム1は、クラスAに対して高い適応度を有している。画像処理プログラム2は、クラスBに対して高い適応度を有している。画像処理プログラム3は、クラスAおよびクラスBの両方に対して、平均的な適応度を有している。クラスAおよびクラスBに対する平均値では、画像処理プログラム3が最も高い適応度を有する。したがって、平均による評価方法では、画像処理プログラム3が生存個体となる。これに対して、本実施例では、画像処理プログラム1がクラスAに対する生存個体となり、画像処理プログラム2がクラスBに対する生存個体となる。したがって、本実施例によれば、一部の学習データに対して非常に有効な画像処理プログラムが、淘汰されずに次世代に残ることになる。
 (検査処理)
 図10は、検査処理の際に、情報処理装置100によって実行される各処理を表すフローチャートを例示する図である。以下、図10を参照しつつ、検査処理について説明する。検査対象について撮像装置101が取得した画像は、入力画像として情報処理装置100に入力される。検査処理では、教示部10は、入力画像の種類を検査用画像とする。特徴量算出部20は、検査用画像から画像特徴量を算出する(ステップS21)。この場合の画像特徴量の種類は、学習処理で用いた画像特徴量と同じものである。クラス判定部70は、データ記憶部40に格納されている各クラス中心の画像特徴量と、ステップS21で算出された画像特徴量との距離を算出する(ステップS22)。例えば、クラス中心の画像特徴量からのユークリッド距離、マハラノビス距離などを用いることができる。
 次に、クラス判定部70は、最も距離の短いクラスを対象クラスとして判定する(ステップS23)。次に、プログラム処理部60は、データ記憶部40に格納されている画像処理プログラムのうち、ステップS23で判定された対象クラスの画像処理プログラムを用いて、検査用画像に対して画像処理を行う(ステップS24)。その後、例えば、良否判定などが行われることになる。
 図11は、以上の検査処理の概要を例示する図である。図11で例示するように、検査用画像から画像特徴量が算出される。算出された画像特徴量を用いて、クラス判定が行われる。検査用画像がクラスAに属すると判定された場合には、クラスAの最良の画像処理プログラムによって画像処理される。検査用画像がクラスBに属すると判定された場合には、クラスBの最良の画像処理プログラムによって画像処理される。それにより、適切な画像処理が行われることになる。
 本実施例によれば、複数の学習用の原画像から算出された画像特徴量を用いて原画像に対してクラスタリングを行うことで、原画像が各クラスに分類される。分類されたクラスごとに、原画像に対する画像処理プログラムの適応度が評価値として算出される。クラスごとに算出された評価値を基に遺伝的プログラミングにより画像処理プログラムが生成され、クラスごとに、評価値が所定条件を満たす画像処理プログラムが関連付けられて格納される。この構成によれば、学習処理の際に、短時間で(例えば1回の学習で)学習データの特徴に応じた精度の高い画像処理プログラムを複数構築することができる。また、検査処理の際には、検査用画像の画像特徴量に応じて選択的に、精度の高い画像処理プログラムを実行することができる。特に、平均による評価を行なう場合には学習データの選定にノウハウが必要であったが、本実施例においては学習データの画像特徴の差を気にすることなく学習ができる。それにより、専門家でなくても簡単な画像教示により高性能な画像処理プログラムを構築することができ、生産ラインの段替え時の早期構築や、異常動作に対する迅速な改善が可能となる。
 図12は、情報処理装置100のハードウェア構成を説明するためのブロック図である。図12で例示するように、情報処理装置100は、CPU201、RAM202、記憶装置203等が備わっている。CPU(Central Processing Unit)201は、中央演算処理装置である。CPU201は、1以上のコアを含む。RAM(Random Access Memory)202は、CPU201が実行するプログラム、CPU201が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置203は、不揮発性記憶装置である。記憶装置203として、例えば、ROM(Read Only Memory)、フラッシュメモリなどのソリッド・ステート・ドライブ(SSD)、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置203は、情報処理プログラムを記憶している。CPU201が記憶装置203に記憶されている情報処理プログラムを実行することで、情報処理装置100の各部が実現される。なお、情報処理装置100の各部は、専用の回路などのハードウェアであってもよい。
 上記実施例において、特徴量算出部20が、複数の学習用の原画像から画像特徴量を算出する特徴量算出部の一例として機能する。クラス分類部30が、前記画像特徴量を用いて前記複数の原画像に対してクラスタリングを行うことで前記複数の原画像を各クラスに分類する分類部の一例として機能する。適応度算出部51が、前記分類部によって分類されたクラスごとに、前記複数の原画像に対する画像処理プログラムの評価値を算出する評価部の一例として機能する。プログラム生成部50が、クラスごとに算出された前記評価値を基に遺伝的プログラミングにより画像処理プログラムを生成するプログラム生成部の一例として機能する。データ記憶部40が、クラスごとに、前記評価値が所定条件を満たす画像処理プログラムを関連付けて格納する格納部の一例として機能する。
 以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
 10 教示部
 20 特徴量算出部
 30 クラス分類部
 40 データ記憶部
 50 プログラム生成部
 51 適応度算出部
 60 プログラム処理部
 70 クラス判定部
 100 情報処理装置
 101 撮像装置
 102 入力装置
 103 表示装置
 200 画像処理装置

Claims (6)

  1.  複数の学習用の原画像から画像特徴量を算出する特徴量算出部と、
     前記画像特徴量を用いて前記複数の原画像に対してクラスタリングを行うことで前記複数の原画像を各クラスに分類する分類部と、
     前記分類部によって分類されたクラスごとに、前記複数の原画像に対する画像処理プログラムの評価値を算出する評価部と、
     クラスごとに算出された前記評価値を基に遺伝的プログラミングにより画像処理プログラムを生成するプログラム生成部と、
     クラスごとに、前記評価値が所定条件を満たす画像処理プログラムを関連付けて格納する格納部と、を備えることを特徴とする情報処理装置。
  2.  前記評価部は、クラスごとに、前記評価値の最大値を、前記画像処理プログラムの評価値として算出することを特徴とする請求項1記載の情報処理装置。
  3.  前記プログラム生成部は、前記遺伝的プログラミングにより画像処理プログラムを生成する際に、生存選択時に各クラスにおいて前記評価値が最大となる画像処理プログラムを次世代の親として用いることを特徴とする請求項1または2に記載の情報処理装置。
  4.  前記分類部は、検査用画像に対して前記特徴量算出部が算出した特徴量を用いてクラスタリングを行い、
     当該クラスタリングによって得られたクラスに関連付けられた画像処理プログラムを前記格納部から取得し、当該画像処理プログラムによって前記検査用画像データに対して画像処理を行う画像処理部を備えることを特徴とする請求項1~3のいずれか一項に記載の情報処理装置。
  5.  特徴量算出部が、複数の学習用の原画像から画像特徴量を算出し、
     分類部が、前記画像特徴量を用いて前記複数の原画像に対してクラスタリングを行うことで前記複数の原画像を各クラスに分類し、
     評価部が、前記分類部によって分類されたクラスごとに、前記複数の原画像に対する画像処理プログラムの評価値を算出し、
     プログラム生成部が、クラスごとに算出された前記評価値を基に遺伝的プログラミングにより画像処理プログラムを生成し、
     格納部が、クラスごとに、前記評価値が所定条件を満たす画像処理プログラムを関連付けて格納する、ことを特徴とする情報処理方法。
  6.  コンピュータに、
     複数の学習用の原画像から画像特徴量を算出する処理と、
     前記画像特徴量を用いて前記複数の原画像に対してクラスタリングを行うことで前記複数の原画像を各クラスに分類する処理と、
     分類されたクラスごとに、前記複数の原画像に対する画像処理プログラムの評価値を算出する処理と、
     クラスごとに算出された前記評価値を基に遺伝的プログラミングにより画像処理プログラムを生成する処理と、
     クラスごとに、前記評価値が所定条件を満たす画像処理プログラムを関連付けて格納する処理と、を実行させることを特徴とする情報処理プログラム。
PCT/JP2018/019232 2018-05-18 2018-05-18 情報処理装置、情報処理方法および情報処理プログラム WO2019220608A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2018/019232 WO2019220608A1 (ja) 2018-05-18 2018-05-18 情報処理装置、情報処理方法および情報処理プログラム
CN201880093387.6A CN112154463A (zh) 2018-05-18 2018-05-18 信息处理装置、信息处理方法以及信息处理程序
JP2020518910A JP7028317B2 (ja) 2018-05-18 2018-05-18 情報処理装置、情報処理方法および情報処理プログラム
US17/079,574 US20210042550A1 (en) 2018-05-18 2020-10-26 Information processing device, 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/019232 WO2019220608A1 (ja) 2018-05-18 2018-05-18 情報処理装置、情報処理方法および情報処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/079,574 Continuation US20210042550A1 (en) 2018-05-18 2020-10-26 Information processing device, information processing method, and computer-readable recording medium recording information processing program

Publications (1)

Publication Number Publication Date
WO2019220608A1 true WO2019220608A1 (ja) 2019-11-21

Family

ID=68539982

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/019232 WO2019220608A1 (ja) 2018-05-18 2018-05-18 情報処理装置、情報処理方法および情報処理プログラム

Country Status (4)

Country Link
US (1) US20210042550A1 (ja)
JP (1) JP7028317B2 (ja)
CN (1) CN112154463A (ja)
WO (1) WO2019220608A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2578769B (en) 2018-11-07 2022-07-20 Advanced Risc Mach Ltd Data processing systems
GB2583061B (en) * 2019-02-12 2023-03-15 Advanced Risc Mach Ltd Data processing systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329032A (ja) * 1995-05-31 1996-12-13 Sanyo Electric Co Ltd ニュ−ラルネット型パターン認識装置及びニュ−ラルネットの学習方法
WO2014104151A1 (ja) * 2012-12-28 2014-07-03 富士通株式会社 画像処理装置及び特徴検出方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3922473B2 (ja) * 1997-06-12 2007-05-30 ソニー株式会社 画像変換装置、画像変換方法、学習装置、学習方法、および、記録媒体
JP6468356B2 (ja) * 2015-06-25 2019-02-13 富士通株式会社 プログラム生成装置、プログラム生成方法および生成プログラム
WO2017068675A1 (ja) * 2015-10-22 2017-04-27 富士通株式会社 プログラム生成装置、プログラム生成方法および生成プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329032A (ja) * 1995-05-31 1996-12-13 Sanyo Electric Co Ltd ニュ−ラルネット型パターン認識装置及びニュ−ラルネットの学習方法
WO2014104151A1 (ja) * 2012-12-28 2014-07-03 富士通株式会社 画像処理装置及び特徴検出方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HONDA, RIE ET AL.: "Semantic indexing and knowledge discovery from remote sensing images", THE 41ST MATERIALS OF SIG-FAI, 13 July 2000 (2000-07-13), pages 69 - 72 *

Also Published As

Publication number Publication date
JPWO2019220608A1 (ja) 2021-02-25
JP7028317B2 (ja) 2022-03-02
CN112154463A (zh) 2020-12-29
US20210042550A1 (en) 2021-02-11

Similar Documents

Publication Publication Date Title
US9002101B2 (en) Recognition device, recognition method, and computer program product
Nguyen et al. Unbiased Feature Selection in Learning Random Forests for High‐Dimensional Data
US10140342B2 (en) Similarity calculation system, method of calculating similarity, and program
US9552408B2 (en) Nearest neighbor clustering determination and estimation algorithm that hashes centroids into buckets and redistributes vectors between clusters
US9842279B2 (en) Data processing method for learning discriminator, and data processing apparatus therefor
JP6102947B2 (ja) 画像処理装置及び特徴検出方法
JP7028322B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
US9058540B2 (en) Data clustering method and device, data processing apparatus and image processing apparatus
US20200090036A1 (en) Classification device, classification method, and computer program product
JP6897749B2 (ja) 学習方法、学習システム、および学習プログラム
US20210042550A1 (en) Information processing device, information processing method, and computer-readable recording medium recording information processing program
CN112149737A (zh) 选择模型训练方法、模型选择方法、装置及电子设备
Iqbal et al. Improving classification on images by extracting and transferring knowledge in genetic programming
JPWO2019180868A1 (ja) 画像生成装置、画像生成方法および画像生成プログラム
Chattopadhyay et al. Feature selection using differential evolution with binary mutation scheme
JP2016118971A (ja) 画像特徴量登録装置、方法及びプログラム
US11663816B2 (en) Apparatus and method for classifying attribute of image object
JP2022089430A (ja) 画像処理システム、及び画像処理プログラム
JP6538762B2 (ja) 類似度計算装置及び類似度計算方法
CN110990349A (zh) 一种智能系统安全体系中的不平衡日志过采样方法
JP7395396B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20240054361A1 (en) Processing-condition search device, non-transitory computer-readable medium, and processing-condition search method
JP2009301121A (ja) 印象判定処理方法、プログラム、及び、画像印象判定装置
Zhang et al. Feature weighting in visual product recognition
CN117573867A (zh) 分类和分级非结构化数据方法、系统和计算机设备

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: 18918981

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2020518910

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18918981

Country of ref document: EP

Kind code of ref document: A1