JP6923794B2 - 検査装置、検査プログラム、及び検査方法 - Google Patents

検査装置、検査プログラム、及び検査方法 Download PDF

Info

Publication number
JP6923794B2
JP6923794B2 JP2017151894A JP2017151894A JP6923794B2 JP 6923794 B2 JP6923794 B2 JP 6923794B2 JP 2017151894 A JP2017151894 A JP 2017151894A JP 2017151894 A JP2017151894 A JP 2017151894A JP 6923794 B2 JP6923794 B2 JP 6923794B2
Authority
JP
Japan
Prior art keywords
image
image quality
program
inspection
quality determination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017151894A
Other languages
English (en)
Other versions
JP2019032605A (ja
Inventor
進 芳賀
進 芳賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017151894A priority Critical patent/JP6923794B2/ja
Priority to US16/042,183 priority patent/US10769777B2/en
Priority to CN201810859394.4A priority patent/CN109387511B/zh
Publication of JP2019032605A publication Critical patent/JP2019032605A/ja
Application granted granted Critical
Publication of JP6923794B2 publication Critical patent/JP6923794B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/01Arrangements or apparatus for facilitating the optical investigation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • 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
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/01Arrangements or apparatus for facilitating the optical investigation
    • G01N2021/0106General arrangement of respective parts
    • G01N2021/0112Apparatus in one mechanical, optical or electronic block
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N2021/8411Application to online plant, process monitoring
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Immunology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Biochemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Pathology (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Image Processing (AREA)

Description

本発明は、検査装置、検査プログラム、及び検査方法に関する。
生産ラインにおいて、製品の外観検査の良否判定を自動で行うため、近年、カメラにより検査対象の画像を取得し、その良否判定を自動で行う方法が提案されている。
例えば、画像処理アルゴリズム(ルール)で規定された複数ロジックの中からメイン検査ロジックを、生産環境の変動に応じて選択しなおすことにより、検査精度を向上させる方法が提案されている。(例えば、特許文献1参照)。
一方、事前に収集した画像とその良否判定の教師データを用いて画像処理アルゴリズム(機械学習)を自動生成する方法も開発されている。
例えば、ライン稼働中に現在の画像処理アルゴリズムでは対応できない画像が入力された場合、取得した画像を基に新たに現在の画像処理アルゴリズムとは別の画像処理アルゴリズムを生成し新たなアルゴリズムに切り替える検査方法が提案されている(例えば、特許文献2参照)。
特開2007−327848号公報 特開2007−293732号公報
しかしながら、上記特許文献1の方法は、複数のロジックがルールで規定されているため、多様で十分なロジックを用意することは困難である。従って、良否が誤認識された画像が得られた場合、それらの画像に対して、より精度の高い良否判定できる画像処理アルゴリズムを選択には不十分な方法であった。
また、上記特許文献2の方法は、良否が誤認識された画像が得られた場合、新たな学習画像を用意し再学習しなくてはいけない。そのため、再学習による画像処理アルゴリズムの生成には、長時間を要し、生産ラインに直ぐ適用できないという問題があった。
一つの側面では、良否が誤認識された画像に対して正しく良否を判定できる画像良否判定プログラムを用いて画像を検査でき、かつ従来よりも短時間で良否判定の精度を上げることができる検査装置、検査プログラム、及び検査方法を提供することを目的とする。
一つの実施態様では、検査装置は、
学習画像に対する画像良否判定プログラムの適応度が所定の基準を満たす世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群にある第一の画像良否判定プログラムにより、検査画像の良否を判定する判定部と、
前記第一の画像良否判断プログラムによる前記検査画像の良否判定に対し、作業者が良否判定を行った結果、誤認識された前記検査画像が生じたとき、前記誤認識された前記検査画像に対し最適な適応度を示す、前記画像良否判断プログラム群にある第二の画像良否判定プログラムを用いて、前記第一の画像良否判定プログラムを前記第二の画像良否判定プログラムに置換する置換部と、
を有する。
一つの側面では、良否が誤認識された画像に対して正しく良否を判定できる画像良否判定プログラムを用いて画像を検査でき、かつ従来よりも短時間で良否判定の精度を上げることができる検査装置、検査プログラム、及び検査方法を提供することができる。
図1は、検査装置を含む学習型検査システムの構成の一例を示す図である。 図2は、画像良否判定プログラムの生成処理手順の一例を示す図である。 図3は、画像良否判定プログラムの一例を示す図である。 図4は、画像処理プログラムの生成における交叉処理の一例を示す図である。 図5は、画像処理プログラムの生成における突然変異処理の一例を示す図である。 図6は、画像処理プログラムの生成で使用するフィルタ群の一例を示す図である。 図7は、マージン最大の判別をするSVM(Support Vector Machine)の一例を示す図である。 図8は、学習型検査システムにおける画像良否判定プログラム生成処理の一例を示すフローチャートである。 図9は、検査装置のハードウェア構成の一例を示すブロック図である。 図10は、画像良否判定プログラムを選択し、置換するまでの処理手順の一例を示す図である。 図11は、学習型検査システムにおける画像良否判定プログラムを選択し、置換するまでの処理の一例を示すシーケンス図である。 図12は、判定結果DBに格納される検査画像の判定結果のデータ構成の一例を示す説明図である。 図13は、作業者判定入力部における作業者の判定結果を入力するユーザーインターフェースの一例を示す図である。 図14は、誤認識DBに格納される誤認識された検査画像の情報を含むデータ構成の一例を示す説明図である。 図15は、第二の画像良否判定プログラムを選択する際の適応度を求めるためのデータ構成の一例を示す図である。 図16は、SVMによる良否判定の一例を示す図である。 図17は、誤認識データが現れたときのSVMによる誤判定の一例を示す図である。 図18は、画像良否判定プログラムを選択し、置換した後のSVMによる良否判定の一例を示す図である。 図19は、検査装置の判定部が、検査画像の良否を判定する処理の流れの一例を示すフローチャートである。 図20は、検査装置の通知部が、誤認識DBから取得した情報に基づき、通知を選択装置に送信する処理の流れの一例を示すフローチャートである。 図21は、検査装置の置換部が、第一の画像良否判定プログラムを第二の画像良否判定プログラムに置換する処理の流れの一例を示すフローチャートである。 図22は、作業者判定装置に入力された作業者の良否判定の結果から得られる誤認識された検査画像の情報を検査装置に送信するまでの処理の流れの一例を示すフローチャートである。 図23は、選択装置の選択部が、第二の画像良否判定プログラムを選択する処理の流れの一例を示すフローチャートである。 図24は、検査装置を含む学習型検査システムの構成の他の一例を示す図である。 図25は、検査・選択装置を含む学習型検査システムの構成の他の一例を示す図である。 図26は、学習型検査装置を含む学習型検査システムの構成の他の一例を示す図である。
本発明の検査装置は、世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群の中から選択された、良否が誤認識された画像に対して正しく良否を判定できる画像良否判定プログラムを用いて画像の検査を行う。
これにより、従来よりも短時間で良否判定の精度を上げることができる検査装置を提供することができる。
具体的には、まず、検査装置は、学習画像に対する画像良否判定プログラムの適応度が所定の基準を満たす世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群にある第一の画像良否判定プログラムにより、検査画像の良否を判定する判定部を有する。
検査画像の良否を判定するとは、検査の対象物の外観が良品であるか、不良品であるかを、その検査対象物の画像をもとに判定することをいう。
画像良否判定プログラムとは、検査画像をもとに、その検査の対象物が良品であるか、不良品であるかを判定するためのプログラムである。
画像良否判定プログラムの適応度は、正しく良否を判定できるプログラムであるかを評価するための指標である。例えば、画像良否判定プログラムの適応度は、画像良否判定プログラムの良否判定の正解率、及び良否を分離する境界のマージンの大きさから求められる。
世代が異なる学習型の画像良否判定プログラムの生成は、例えば、遺伝的プログラミングや遺伝的アルゴリズムを含む進化的アルゴリズムにより実現される。
画像良否判定プログラム群は、適応度が所定の基準を満たす画像良否判定プログラムを含む。適応度が所定の基準以上であれば、世代を問わず、生成された全ての世代の画像良否判定プログラムが、画像良否判定プログラム群に記憶される対象となる。
次に、検査装置は、第一の画像良否判断プログラムによる検査画像の良否判定に対し、作業者が良否判定を行った結果、誤認識された検査画像が生じたとき、誤認識された検査画像に対し最適な適応度を示す、画像良否判断プログラム群にある第二の画像良否判定プログラムを用いて、第一の画像良否判定プログラムを第二の画像良否判定プログラムに置換する置換部を有する。
上記「誤認識」とは、検査画像に対し、画像良否判定プログラムによる良否判定の結果と、作業者による良否判定の結果とが一致しない場合をいう。例えば、この誤認識には、画像良否判定プログラムが良画像と判定したのに対し作業者が不良画像と判定した場合の「見逃し」や、画像良否判定プログラムが不良画像と判定したのに対し作業者が良画像と判定した場合の「虚報」が含まれる。
第二の画像良否判定プログラムが、誤認識された画像に対し正しく良否を判定できるかは、適応度を用いて評価される。適応度は、上述したように、例えば、画像良否判定プログラムの良否判定の正解率、及び良否を分離する境界のマージンの大きさから求められる。
第一の画像良否判断プログラムによる検査画像の良否判定に対し、作業者が良否判定を行った結果、誤認識された検査画像が生じた場合には、検査装置は、第一の画像良否判定プログラムを第二の画像良否判定プログラムに置換する。これにより、検査装置は、第二の画像良否判定プログラムを用いて画像の検査を継続することができる。
第二の画像良否判定プログラムは、世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群の中から選択されるプログラムであり、誤認識された画像に対して正しく良否を判定できるプログラムである。
従って、検査装置は、時間がかかる再学習を行わずに、従来よりも短時間で良否判定の精度を上げることができる画像良否判定プログラムを用いて画像検査を行うことができる。
よって、従来よりも短時間で良否判定の精度を上げることができる検査装置を提供することができ、生産ラインを継続稼働するうえで有効な検査装置が提供できる。
検査装置が行うこれらの処理は、検査装置を構成する制御部を有するコンピュータにより実行される。
尚、検査プログラムは、記録媒体に記録させてもよい。これにより、例えば、コンピュータに検査プログラムをインストールすることができる。ここで、検査プログラムを記録した記録媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体としては、特に制限はなく、目的に応じて適宜選択することができ、例えば、CD−ROM(Compact Disc−Read Only Memory)、DVD−ROM(Digital Versatile Disc−ROM)などが挙げられる。
(第1の実施例)
以下、本発明の一実施例を説明するが、本発明は、この実施例に何ら限定されるものではない。
(学習型検査システム)
図1は、本発明の一実施例に係る検査装置200を含む学習型検査システム500の構成を示す図である。
学習型検査システム500は、例えば、生産ラインにおける検査対象の良否判定を画像により高精度に行うことができるシステムである。学習型検査システム500は、学習装置100と、検査装置200と、作業者判定装置300と、選択装置400と、を有する。
学習装置100は、検査に用いる画像良否判定プログラムを生成する装置であり、制御部120、及び記憶部130を有する。
制御部120は、プログラム生成部140を有する。記憶部130は、学習データベース150と、画像良否判定プログラムデータベース160と、を有する。以下、「データベース」を「DB」と称することもある。
検査装置200は、検査対象の外観の良否を画像により判定する装置であり、制御部220、記憶部230を有する。
制御部220は、判定部240と、置換部250と、通知部260と、を有する。記憶部230は、検査画像データベース(検査画像DB)270と、判定結果データベース(判定結果DB)280と、誤認識データベース(誤認識DB)290と、を有する。
作業者判定装置300は、画像良否判定プログラムによる良否判定された検査画像に対し、作業者の良否判定結果を入力するための装置である。作業者判定装置300は、作業者判定入力部320を有する。
選択装置400は、誤認識された画像に対し、正しく良否を判定する画像良否判定プログラムを選択する装置であり、制御部420を有する。
次に、学習装置100について詳しく説明する。
<学習装置>
学習装置100では、検査に用いる画像良否判定プログラムを生成する。
学習装置100は、制御部120と、記憶部130と、を有する。制御部120は、学習装置100全体を制御する。
制御部120は、記憶部130の学習DB150で記憶されている学習データを用い、プログラム生成部140において、画像良否判定プログラムを生成する。記憶部130の画像良否判定プログラムDB160には、生成された画像良否判定プログラムが、画像良否判定プログラム群として記憶される。
学習DB150には、学習する画像と、その画像に紐づけられた作業者による良否の判定結果の情報が記憶されている。
図2は、学習装置100で生成される検査に用いる画像良否判定プログラムの生成処理手順を示すブロック図である。
画像良否判定プログラムは、進化的アルゴリズム、例えば、遺伝的プログラミングや遺伝的アルゴリズムにより生成される。以下、遺伝的プログラミングによる生成を例に画像良否判定プログラムの生成処理手順について説明する。
図2における画像良否判定プログラムの生成処理手順を説明するにあたり、まず、画像良否判定プログラムについて説明する。
画像良否判定プログラムは、例えば、図3で示すように、画像処理プログラム11と、判定器12と、を有する。画像処理プログラム11は、1つ以上の部分プログラムを有する。例えば、図3で示すように、画像処理プログラムは、木構造で定義される。図3において、“F”は画像フィルタを示し、“I”は入力端子を示し、“O”は出力端子を示す。
図3で示すように、画像良否判定プログラム14は、検査画像としての画像10に対し、画像処理プログラム11により画像特徴量を求める。判定器12は、画像10の画像特徴量に基づき、良否判定13を行う。
図2に戻って、学習装置100のプログラム生成部140における画像良否判定プログラムの生成処理手順を、遺伝的プログラミングによる画像処理プログラムの生成処理を中心に、以下説明する。尚、図8の画像良否判定プログラム生成の一例を示すフローチャートの図も参照して説明する。
まず、プログラム生成部140は、複数の画像処理プログラムを含む初期画像処理プログラム群を設定する(ステップS111)。
次に、プログラム生成部140は、複数の画像処理プログラム122を含む設定した画像処理プログラム群121の中から、画像処理プログラムを適宜選択する(ステップS112)。各画像処理プログラムのノードには、あらかじめ用意された複数の画像フィルタの中から画像フィルタがランダムに選択されて組み込まれている。プログラム生成部140は、設定した画像処理プログラム群121の中から、ランダムに2つの親画像処理プログラムを取り出す。
次に、プログラム生成部140は、これら2つの親画像処理プログラムに対して遺伝的プログラミングによる進化過程の処理を施す。プログラム生成部140は、2つ以上の子画像処理プログラムを生成する(ステップS113)。進化過程では、プログラム生成部140は、2つの親画像処理プログラムに対して後述する交叉処理、及び突然変異処理を行う。プログラム生成部140では、2つの親画像処理プログラムに対して、それぞれ異なる交叉処理や突然変異処理を行うことで、3つ以上の子画像処理プログラムを生成してもよい。このようにして、プログラム生成部140は、画像処理プログラム群123を生成する。
次に、プログラム生成部140は、進化過程を経て生成した画像処理プログラム群123の画像処理プログラムの各々について、学習データ124の各入力画像に対する画像特徴量を求め、良否判定を行う判定器125を生成する。
学習データ124には、学習画像と、その学習画像に対し紐づけられた作業者による学習画像の良否判定結果の情報が含まれている。
また判定器125としては、例えば、SVM(Support Vector Machine)、ベイズ判別、ニューラルネットワークなどが挙げられる。本実施例では、SVMを用いる。
プログラム生成部140は、学習データ124の各入力画像に対する、画像良否判定プログラムの良否判定の正解率、及び良否を分離する境界のマージンの大きさから適応度を求める。(ステップS114)。
学習画像に対する画像良否判定プログラムの良否判定の結果が、学習画像に紐付けられた作業者による良否判定の結果と一致している場合(図2中126a)は、その画像良否判定プログラムは正しく良否を判定できるプログラムである。一方、学習画像に対する画像良否判定プログラムの良否判定の結果が、作業者による良否判定の結果と一致していない場合(図2中126b)は、その画像良否判定プログラムは正しく良否を判定できないプログラムである。
尚、ここで、画像良否判定プログラムが全ての学習データに対して正しく良否を判定できたとき、正解率は100%となる。
プログラム生成部140は、適応度の高い画像良否判定プログラムが生成されていない場合には、画像良否判定プログラムの画像処理プログラム部分を遺伝的プログラミングの次の世代の親プログラムとして入れ替える(ステップS116)。これにより、次世代の画像処理プログラム群が生成される。
プログラム生成部140は、適応度の高い画像良否判定プログラムが生成された場合は、係る画像良否判定プログラムを画像良否判定プログラム群として、画像良否判定プログラムDBに記憶する(ステップS117)。画像良否判定プログラムDBに記憶される画像良否判定プログラムは、高い適応度を示すものであれば、世代を問わず、生成された全ての世代の画像良否判定プログラムが対象となる。例えば、画像良否判定プログラム群は、直前の世代や過去の世代など全世代の画像良否判定プログラムを含む。
プログラム生成部140は、適応度が所定の高い基準を満たす画像良否判定プログラムが生成されるまでは、画像良否判定プログラムの画像処理プログラム部分を遺伝的プログラミングの次の世代の親プログラムとして入れ替える(ステップS116)。
プログラム生成部140は、上述した遺伝的プログラミング手法に基づき、適応度が所定の高い基準を満たす画像良否判定プログラムが生成されるまで、画像良否判定プログラム生成処理を繰り返す。
プログラム生成部140は、画像良否判定プログラム群の中から、最適な適応度を示す画像良否判定プログラムを選択する(ステップS119)。ここで、最適な適応度を示す画像良否判定プログラムとは、例えば、正解率が最大であり、かつマージンが最大の画像良否判定プログラムをいう。
具体的には、プログラム生成部140は、以下の1)から3)で記載する処理手順に従い、最適な適応度を示す画像良否判定プログラムを選択する。
1)学習画像における、作業者が不良と判定した全ての画像に対し不良と正しく判定できる画像良否判定プログラムを選択する。
2)上記1)のうち、正解率が最大の画像良否判定プログラムを選択する。
3)上記2)のうち、マージンが最大のプログラムを選択する。
また、例えば、プログラム生成部140は、以下の4)から5)で記載する処理手順に従い、最適な適応度を示す画像良否判定プログラムを選択することもできる。
4)全ての学習画像に対し、作業者の良否判定と同じ良否判定結果を示す、正解率が100%の画像良否判定プログラムを選択する。
5)上記4)のうち、マージンが最大のプログラムを選択する。
プログラム生成部140は、最適な適応度を示す画像良否判定プログラム、及びそれ以外の画像良否判定プログラム群にある画像良否判定プログラムを選択することで、画像良否判定プログラムの生成処理を終了する(ステップS120)。選択された最適な適応度を示す画像良否判定プログラムは、第一の画像良否判定プログラムとして、検査装置200で用いられる。また、それ以外の画像良否判定プログラム群にある画像良否判定プログラムは、選択装置400で第二の画像良否判定プログラムとして、選択される際の候補プログラムとして用いられる。
次に、遺伝的プログラミングによる進化過程の処理(ステップS113)において施される交叉処理、及び突然変異処理について、以下説明する。
図4は、交叉処理の例を示す図である。図4では、親画像処理プログラム21aと親画像処理プログラム22aとの間で交叉が行われ、親画像処理プログラム21aに基づく子画像処理プログラム21bと、親画像処理プログラム22aに基づく子画像処理プログラム22bとが生成される場合の例を示す。
親画像処理プログラム21aは、画像フィルタF1、F2、F3、F4を含む。親画像処理プログラム22aは、画像フィルタF2、F3、F5、F6を含む。ここで、親画像処理プログラム21aにおける画像フィルタF2のノードと、親画像処理プログラム22aにおける画像フィルタF5のノードが、交叉を行う箇所として選択されている。
交叉処理では、例えば、選択されたノードだけでなく、そのノードより下位階層のノードも対象となる。このため、図4の例では、親画像処理プログラム21aにおける“画像フィルタF2、F1、画像フィルタF2の一方に接続された入力端子のノード、画像フィルタF1に接続された入力端子のノード”と、親画像処理プログラム22aにおける“画像フィルタF5、画像フィルタF5に接続された入力端子のノード”とが入れ替えられる。このような交叉により、画像フィルタF3、F4、F5を含む子画像処理プログラム21bと、画像フィルタF1、F2、F4をそれぞれ1つ含み、画像フィルタF3を2つ含む子画像処理プログラム22bとが生成される。
図5は、突然変異処理の例を示す図である。図5において、画像処理プログラム23aは、画像フィルタF3、F4、F5を含む。この画像処理プログラム23aは、例えば、画像処理プログラム群121から取り出された親画像処理プログラムであってもよいし、画像処理プログラム群121から親画像処理プログラムとして取り出された後、交叉処理が行われた画像処理プログラムであってもよい。
ここで、画像処理プログラム23aにおける画像フィルタF3のノードが突然変異を行う箇所として選択されているとともに、突然変異による置き換え後の画像フィルタとして画像フィルタF7が選択されている。尚、突然変異による置き換え後の画像フィルタは、あらかじめ用意された複数の画像フィルタの中からランダムに選択される。このような突然変異処理により、画像フィルタF4、F5、F7を含む子画像処理プログラム23bが生成される。
次に、図3で示す画像良否判定プログラム14を構成する画像処理プログラム11のフィルタについて説明する。
図6に、フィルタの種類の例を示す。フィルタには、例えば、周波数処理を行うフィルタ、閾値処理を行うフィルタ、微分処理を行うフィルタなどが挙げられる。
周波数処理を行うフィルタとしては、例えば、ローパスフィルタ、ハイパスフィルタなどが挙げられる。閾値処理を行うフィルタとしては、例えば、予め設定されたパラメータが異なる複数の閾値処理フィルタが挙げられる。微分処理を行うフィルタには、例えば、ソーベルフィルタ、ラプラスフィルタ、プレウィットフィルタなどが挙げられる。
図6に記載の同一名のフィルタにおいて、番号の違いは、フィルタのパラメータ設定が異なっていることを意味する。例えば、ローパスフィルタ#1とローパスフィルタ#2は、遮断周波数のパラメータが異なっている。図6で示すパラメータが異なる複数のフィルタを組み合わせることにより、プログラム生成部140は、様々な画像処理プログラムを作成することができる。
次に、図3の画像良否判定プログラム14の判定器12として本実施例で用いるSVMについて説明する。
SVMは、入力画像10に対して画像処理プログラム11により得られた画像特徴量を分類する。図7の左図40で示すように、空間(平面)上に配置された画像特徴量群である40a、40bに対して、実線や点線で示されるような様々な線引き(分類)ができる。様々な線引きができる中で、SVMは、図7の右図41に示すように、マージン(境界線と境界線近傍の画像特徴量との距離)が最大となるように線引き(分類)する。
次に、画像良否判定プログラムの生成処理手順の詳細について説明する。図8は、学習装置100のプログラム生成部140における画像良否判定プログラム生成の一例を示すフローチャートである。以下、図1を参照して説明する。
ステップS110では、学習装置100の制御部120のプログラム生成部140は、記憶部130の学習DB150に記憶された学習データ(画像・良否情報)150を取得し、処理をS111に移行する。
ステップS111では、プログラム生成部140は、初期画像処理プログラム群を設定し、処理をS112に移行する。
ステップS112では、プログラム生成部140は、設定した画像処理プログラム群から画像処理プログラムを選択し、処理をS113に移行する。
ステップS113では、プログラム生成部140は、遺伝的プログラミングによる画像処理プログラムを生成し、処理をS114に移行する。
ステップS114では、プログラム生成部140は、生成した画像処理プログラムによりSVMを生成し、適応度を求め、処理をS115に移行する。
ステップS115では、プログラム生成部140は、適応度の高い画像良否判定プログラムを生成したか否かを判定し、生成したと判定した場合は、処理をS117に移行する。一方、プログラム生成部140は、生成していないと判定した場合は、処理をS116に移行する。
ステップS116では、プログラム生成部140は、画像処理プログラムを入れ替え、処理をS112に戻す。
ステップS117では、プログラム生成部140は、適応度の高い画像良否判定プログラムを画像良否判定プログラム群として画像良否判定プログラムDB160に記憶し、処理をS118に移行する。
ステップS118では、プログラム生成部140は、適応度が所定の高い基準を満たす画像良否判定プログラムを生成したか否かを判定し、生成したと判定した場合は、処理をS119に移行する。一方、プログラム生成部140は、生成していないと判定した場合は、処理をS116に移行する。ステップS116では、上述したように、プログラム生成部140は、画像処理プログラムを入れ替え、処理をS112に戻す。これにより、ステップ116で入れ替えた次の世代の親プログラムをもとに適応度が所定の高い基準を満たす画像良否判定プログラムを生成するまで遺伝的プログラミングによる画像良否判定プログラムの生成を継続する。
ステップS119では、プログラム生成部140は、画像良否判定プログラム群の中から最適な適応度を示す第一の画像良否判定プログラムを選択し、処理をS120に移行する。尚、最適な適応度を示す第一の画像良否判定プログラムの具体的な選択方法は、上述したとおりである。
ステップS120では、プログラム生成部140は、最も高い適応度を示す第一の画像良否判定プログラム、及びそれ以外の画像良否判定プログラム群にある画像良否判定プログラムを選択し、本処理を終了する。
学習装置100のハードウェア構成としては、CPU(Central Processing Unit)、主記憶装置、補助記憶装置、入力装置、出力装置、通信I/Fの各部を有する。これらの各部は、バスを介してそれぞれ接続されている。
CPUは、種々の制御や演算を行う処理装置である。CPUは、主記憶装置などが記憶するOS(Operating System)やプログラムを実行することにより、種々の機能を実現する。すなわち、CPUは、本実施例では、学習プログラムを実行することにより、学習装置100の制御部120として機能する。
主記憶装置は、各種プログラムを記憶し、各種プログラムを実行するために必要なデータ等を記憶する。
主記憶装置は、図示しない、ROM(Reed Only Memory)と、RAM(Random Access Memory)と、を有する。
ROMは、BIOS(Basic Input/Output System)等の各種プログラム等を記憶している。
RAMは、ROMに記憶された各種プログラムがCPUにより実行される際に展開される作業範囲として機能する。RAMとしては、特に制限はなく、目的に応じて適宜選択することができる。RAMとしては、例えば、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)などが挙げられる。
補助記憶装置としては、各種情報を記憶できれば特に制限はなく、目的に応じて適宜選択することができ、例えば、ソリッドステートドライブ、ハードディスクドライブなどが挙げられる。また、補助記憶装置は、CD(Compact Disc)ドライブ、DVD(Digital Versatile Disc)ドライブ、BD(Blu−ray(登録商標) Disc)ドライブなどの可搬記憶装置としてもよい。
入力装置は、学習装置100に対する各種要求を受け付けることができれば、特に制限はなく、適宜公知のものを用いることができ、例えば、キーボード、マウス、タッチパネルなどが挙げられる。
出力装置は、ディスプレイやスピーカーなどを用いることができる。ディスプレイとしては、特に制限はなく、適宜公知のものを用いることができ、例えば、液晶ディスプレイ、有機ELディスプレイが挙げられる。
通信インターフェイス(通信I/F)は、特に制限はなく、適宜公知のものを用いることができ、例えば、無線又は有線を用いた通信デバイスなどが挙げられる。
以上のようなハードウェア構成によって、学習装置100の処理機能を実現することができる。
尚、学習装置100は、ネットワーク上のコンピュータ群であるクラウドの一部であってもよい。
次に、検査装置200について詳しく説明する。
<検査装置>
検査装置200は、画像良否判定プログラムを用いて検査画像の良否を判定する装置である。
検査装置200は、使用している画像良否判定プログラムが、検査画像の良否判定を正しく行わなくなった場合、誤認識された画像に対し正しく良否を判定できる他の画像良否判定プログラムに置換する。
検査装置200のハードウェア構成及び機能構成について説明する。
<<検査装置のハードウェア構成>>
図9は、検査装置200のハードウェア構成の一例を示すブロック図である。
図9で示すように、検査装置200は、以下の各部を有する。各部は、バス210を介してそれぞれ接続されている。
CPU201は、種々の制御や演算を行う処理装置である。CPU201は、主記憶装置203などが記憶するOSやプログラムを実行することにより、種々の機能を実現する。すなわち、CPU201は、本実施例では、検査プログラムを実行することにより、検査装置の制御部220として機能する。本実施例では、画像処理を行うため、GPU(Graphics Processing Unit)202を有する。
また、CPU201は、検査装置200全体の動作を制御する。尚、本実施例では、検査装置200全体の動作を制御する装置をCPU201をしたが、これに限ることなく、例えば、FPGA(Field Programmable Gate Array)などとしてもよい。
検査プログラムや各種データベースは、必ずしも主記憶装置203や、補助記憶装置204などに記憶されていなくともよい。インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などを介して、検査装置200に接続される他の情報処理装置などに検査プログラムや各種データベースを記憶させてもよい。検査装置200がこれら他の情報処理装置から検査プログラムや各種データベースを取得して実行するようにしてもよい。
主記憶装置203は、各種プログラムを記憶し、各種プログラムを実行するために必要なデータ等を記憶する。
主記憶装置203は、図示しない、ROMと、RAMと、を有する。
ROMは、BIOS等の各種プログラムなどを記憶している。
RAMは、ROMに記憶された各種プログラムがCPU201により実行される際に展開される作業範囲として機能する。RAMとしては、特に制限はなく、目的に応じて適宜選択することができる。RAMとしては、例えば、DRAM、SRAMなどが挙げられる。
補助記憶装置204としては、各種情報を記憶できれば特に制限はなく、目的に応じて適宜選択することができ、例えば、ソリッドステートドライブ、ハードディスクドライブなどが挙げられる。また、補助記憶装置204は、例えば、CDドライブ、DVDドライブ、BDドライブなどの可搬記憶装置としてもよい。
出力装置205は、ディスプレイやスピーカーなどを用いることができる。ディスプレイとしては、特に制限はなく、適宜公知のものを用いることができ、例えば、液晶ディスプレイ、有機ELディスプレイが挙げられる。
VRAM206は、モニタ等のディスプレイに画像表示するために必要なデータを保持するためのメモリ領域である。
入力装置207は、検査装置200に対する各種要求を受け付けることができれば、特に制限はなく、適宜公知のものを用いることができ、例えば、キーボード、マウス、タッチパネルなどが挙げられる。
入力インターフェイス(入力I/F)208は、接続された外部デバイスとの間でデータの送受信を行う。本実施例では、入力I/F208には、外部デバイスとしてカメラ208aが接続されており、入力I/F208は、カメラ208aから送信された画像データをプロセッサに送信する。
通信インターフェイス(通信I/F)209は、特に制限はなく、適宜公知のものを用いることができ、例えば、無線又は有線を用いた通信デバイスなどが挙げられる。
以上のようなハードウェア構成によって、検査装置200の処理機能を実現することができる。
<<検査装置の機能構成>>
図1に戻り、検査装置200は、制御部220と、記憶部230と、を有する。制御部220は、検査装置200全体を制御する。
制御部220は、判定部240と、置換部250と、通知部260と、を有する。
検査装置200の判定部240は、学習装置100で生成された最適な適応度を示す第一の画像良否判定プログラムを用い、記憶部230の検査画像DB270に記憶されている検査データの画像に対し良否判定を行う。
判定部240は、第一の画像良否判定プログラムによる検査画像の良否判定の結果を記憶部230の判定結果DB280に記憶する。
検査装置200の通知部260は、記憶部230に記憶されている誤認識DB290の情報に基づき、誤認識された画像が所定の基準値を超えた場合には、超えたことを以下で記載する選択装置400へ通知する。
ここで、「誤認識された」とは、検査画像に対する画像良否判定プログラムによる良否判定の結果と、作業者による良否判定の結果とが一致しないことをいう。例えば、第一の画像良否判断プログラムによる良否判定された検査画像に対し、作業者はその検査画像の良否を判定する。作業者によるその良否判定の結果、プログラムによる良否判定の結果と異なる良否の判定を作業者がした場合、その画像は「誤認識された画像」になる。誤認識された画像には、画像良否判定プログラムが良画像と判定したのに対し作業者が不良画像と判定する「見逃し画像」、及び画像良否判定プログラムが不良画像と判定したのに対し作業者が良画像と判定する「虚報画像」が含まれる。
尚、作業者による誤認識画像の判定処理手順や誤認識DB290の構築については、以下で詳しく述べる。
また、選択装置400へ通知する場合の誤認識された画像が所定の基準値を超えたか否かの基準としては、特に制限はなく、数や量で規定することができる。例えば、誤認識された画像の数、割合、又は誤認識の程度等を規定することができる。例えば、誤認識された画像の数が所定数を超えたとき、超えたことを選択装置400へ通知する。
検査装置200の置換部250は、選択装置400の選択部430で選択された第二の画像良否判定プログラムを用いて、第一の画像良否判定プログラムを第二の画像良否判定プログラムに置換する。ここで、第二の画像良否判定プログラムは、画像良否判断プログラム群の中から選択された、誤認識の検査画像に対し最適な適応度を示す画像良否判断プログラムである。
尚、第二の画像良否判定プログラムの選択処理手順については、以下で詳しく述べる。
以下、検査装置200において、第一の画像良否判定プログラムを用いて検査画像の良否を判定した後、第一の画像良否判定プログラムを第二の画像良否判定プログラムに置換するまでの一連の処理手順について、図10を用いて説明する。
図10は、第一の画像良否判定プログラムを用いて検査画像の良否を判定した後、第二の画像良否判定プログラムを選択し、第一の画像良否判定プログラムから第二の画像良否判定プログラムに置換するまでの処理手順を示すブロック図である。尚、図11の画像良否判定プログラムを選択し、置換するまでの処理の一例を示すシーケンス図も参照して、以下説明する。
まず、検査装置200の判定部240では、学習装置100により選択された最適な画像良否判定プログラムである第一の画像良否判定プログラムAにより,検査画像221の良否判定222を行う(ステップS212)。判定部240は、第一の画像良否判定プログラムAによる検査画像の良否判定の結果223を判定結果DB280に記憶する(ステップS213)。
第一の画像良否判断プログラムAによる良否判定された検査画像に対し、作業者はその検査画像の良否を判定224する。作業者は、作業者が行った良否判定の結果を以下で記載する作業者判定装置300の作業者判定入力部320に入力する(ステップS215)。作業者による良否判定の結果、画像良否判定プログラムAによる良否判定の結果と作業者による良否判定の結果が一致した検査画像は、正しく認識された検査画像となる。一方、画像良否判定プログラムAによる良否判定の結果と作業者による良否判定の結果が不一致である検査画像は、誤認識された検査画像となる。誤認識された画像には、画像良否判定プログラムが良画像と判定したのに対し作業者が不良画像と判定する「見逃し画像」223aや、画像良否判定プログラムが不良画像と判定したのに対し作業者が良画像と判定する「虚報画像」223bが含まれる。
作業者判定装置300の作業者判定入力部320は、作業者による良否判定の結果を受け付け、作業者による良否判定の結果から得られた誤認識された画像に関する情報を検査装置200に送信する。作業者判定装置300については、以下で詳しく述べる。
検査装置200は、作業者判定装置300から受信した誤認識された画像に関する情報を誤認識画像群225として、誤認識DB290に記憶する(ステップS216)。
検査装置200の通知部260は、誤認識DB290の情報に基づき、誤認識された画像が所定の基準(本実施例では、例えば、所定数とする)を超えたと判定した場合、超えたことを選択装置400へ通知する(ステップS218、ステップS219)。
選択装置400は、通知部からの通知により、選択部430において、第二の画像良否判定プログラムを選択する(ステップS223)。選択装置400、及び選択される第二の画像良否判定プログラムについては、以下で詳しく述べる。
検査装置200は、選択装置400から選択部430で選択された第二の画像良否判定プログラムを受信する。そして、検査装置200の置換部250は、第一の画像良否判定プログラムを第二の画像良否判定プログラムに置換する(ステップS225)。
図10では、画像良否判定プログラム群226の中から最適な適応度を示す画像良否判定プログラム227である、画像良否判定プログラムBが選択228されている。
そこで、図10では、置換部250は、第一の画像良否判定プログラムAを、第二の画像良否判定プログラムBに置換229する(ステップS225)。
判定部240で用いる画像良否判定プログラムが第二の画像良否判定プログラムBに置換された後は、判定部240は、置換された画像良否判定プログラムBを第一の画像良否判定プログラムとして用い、検査画像221の良否判定222を行う。その後、画像良否判定プログラムBにより誤認識された画像が所定数を超えたとき、選択部430は、画像良否判定プログラムB以外の第二の画像良否判定プログラムを画像良否判定プログラム群226の中から再度選択する。そして、検査装置200の置換部250は、選択部430により再度選択された第二の画像良否判定プログラムを用い、第一の画像良否判定プログラムBを新たに選択された第二の画像良否判定プログラムに置換する。
次に、作業者判定装置300について詳しく説明する。
<作業者判定装置>
図1に戻り、作業者判定装置300は、作業者判定入力部320を有する。
作業者判定入力部320は、第一の画像良否判定プログラムにより良否判定された検査画像に対する作業者の良否判定を受け付ける。
作業者判定入力部320は、作業者による良否判定の結果から得られた誤認識された画像に関する情報を検査装置200に送信する。検査装置200は、受信した誤認識された画像に関する情報を記憶部230の誤認識DB290に記憶する。
作業者判定装置300の作業者判定入力部320における作業者による良否判定の入力処理手順について、図10及び図11を参照して、以下説明する。
作業者判定入力部320は、判定結果DB280から、検査画像と第一の画像良否判定プログラムAによるその検査画像に対する良否判定の結果223を取得する(ステップS214)。
作業者は第一の画像良否判定プログラムによる良否判定された検査画像に対し、良否判定224する。作業者は、作業者が行った良否判定の結果を作業者判定入力部320に入力する(ステップS215)。
第一の画像良否判定プログラムAによる良否判定の結果と作業者による良否判定の結果が一致した検査画像は、正しく認識された検査画像となる。一方、画像良否判定プログラムAによる良否判定の結果と作業者による良否判定の結果が不一致である検査画像は、誤認識された検査画像となる。誤認識された画像には、画像良否判定プログラムが良画像と判定したのに対し作業者が不良画像と判定する「見逃し画像」223aや、画像良否判定プログラムが不良画像と判定したのに対し作業者が良画像と判定する「虚報画像」223bが含まれる。
作業者判定入力部320は、作業者による良否判定の結果を受け付け、第一の画像良否判定プログラムAと作業者とが行った良否判定の結果から誤認識された画像を選別する(ステップS215)。
作業者判定入力部320は、選別された誤認識された画像に関する情報(見逃し、虚報の判定結果を含む)を検査装置200に送信する(ステップS216)。
図12は、判定結果DBに格納される、検査画像の第一の画像良否判定プログラムによる判定結果の情報(データ構成)の一例を示す図である。図12に示すように、本実施例では、「判定日時」、「品種情報」、「画像ID」、「プログラム判定結果」などのデータ項目を含む。ここで、「判定日時」は、第一の画像良否判定プログラムにより検査画像の良否を判定した日時である。「品種情報」は、検査対象を特定できれば内容に特に制限はなく、例えば、検査対象の物品を特定できる名称、記号、品番等である。「画像ID」は、検査画像を特定する識別子である。「プログラム判定結果」は、第一の画像良否判定プログラムによる良否判定の結果である。図12の表中「OK」は良判定を、「NG」は不良判定を示す(他の図も同様、「OK」は良判定を、「NG」は不良判定を示す)。
図13は、作業者判定入力部における、第一の画像良否判定プログラムによる良否判定された検査画像に対する、作業者の判定結果を入力するユーザーインターフェースの一例を示す図である。図13では、第一の画像良否判定プログラムが良判定(OK)した検査画像IMG0003に対し、作業者が表示された検査画像を見て不良(NG)と判定した、目視良否判定がNGの例が示されている。
図14は、誤認識DBに格納される誤認識された検査画像の情報を含むデータ構成の一例を示す図である。図14に示すように、本実施例では、図12の情報に加え、「作業者判定日時」、「目視良否判定結果」、「正誤判定フラグ」、「見逃しフラグ」、「虚報フラグ」などのデータ項目を含む。ここで、「作業者判定日時」は、作業者が検査画像に対し良否を判定した日時である。「目視良否判定結果」は、作業者による良否判定の結果である。
正誤判定フラグは、第一の画像良否判定プログラムと作業者とが行った良否判定の結果をもとに、設定される。作業者判定入力部は、図14に示すように、第一の画像良否判定プログラムと作業者との良否判定結果が一致している場合には正誤判定フラグ「1」を、一致していない場合には「0」を付与する。
また、作業者判定入力部は、正誤判定フラグが「0」の誤認識された画像において、見逃しフラグや虚報フラグを設定することができる。
作業者判定入力部は、図14に示すように、正誤判定フラグが「0」の誤認識画像において、第一の画像良否判定プログラムが「OK」で、作業者が「NG」と判定した場合には、見逃しフラグ「1」を付与する。作業者判定入力部は、見逃しフラグ「1」以外の画像に対しては、見逃しフラグ「0」を付与する。また、作業者判定入力部は、正誤判定フラグが「0」の誤認識画像において、第一の画像良否判定プログラムが「NG」で、作業者が「OK」と判定した場合には、虚報フラグ「1」を付与する。作業者判定入力部は、虚報フラグ「1」以外の画像に対しては、虚報フラグ「0」を付与する。
このように、見逃しフラグと虚報フラグのデータ項目を設定しておくと、選択装置400は、見逃し画像と虚報画像の情報を容易に区別して取得することができる。これにより、例えば、選択装置400が、虚報画像より見逃し画像を優先し、見逃し画像に対して正しく良否を判定できる第二の画像良否判定プログラムを選択しようとした場合、見逃し画像に関する情報を容易に取得することができる。
本実施例では、誤認識DBは、第一の画像良否判定プログラムと作業者との良否判定結果が、一致している場合と一致していない(誤認識された)場合の両方を含んだデータ構成とした。尚、誤認識DBには、少なくとも、誤認識された画像に関する情報が含まれていればよい。そこで、例えば、図14のデータ構成のうち、正誤判定フラグが「0」である誤認識された画像に関する情報のみを抽出したような、誤認識DBのデータ構成としてもよい。
尚、この作業者判定装置300が稼働するタイミング、つまり作業者が検査対象の画像良否判定プログラムによる良否判定結果を確認するタイミングとしては、例えば、以下のi)、ii)、又はiii)に記載の各場合が挙げられる。
i)定期的に実施する。例えば、この場合、作業者は、設定された期間内の検査画像を確認する。
ii)対象品種の製造における後工程で問題が発生した場合に実施する。例えば、この場合、作業者は、不具合が発生した前後の期間の検査画像を確認する。
iii)ライン稼働中に、作業者が画像良否判定プログラムによる良否判定結果を確認(例えば、無作為抽出による確認)している中で、誤認識の判定が多くなったと判断した場合に実施する。例えば、この場合、作業者は、誤認識が生じたと判断した時点前の所定期間の検査画像を確認する。
作業者判定装置300のハードウェア構成としては、CPU、主記憶装置、補助記憶装置、入力装置、出力装置、通信I/Fの各部を有する。これらの各部は、バスを介してそれぞれ接続されている。各部の説明は、学習装置100や検査装置200における説明と同様であるため、ここでは説明を省略する。
次に、選択装置400について詳しく説明する。
<選択装置>
選択装置400は、検査装置200の通知部260から誤認識された画像が所定数を超えたとの通知を受信したとき、画像良否判定プログラムDB160に記憶されている画像良否判定プログラム群から、第二の画像良否判定プログラムを選択する。選択装置400は、選択部430で選択した画像良否判定プログラムを検査装置200に送信する。
図1に戻り、選択装置400は、制御部420を有する。制御部420は、選択部430を有し、選択装置400全体を制御する。
選択部430は、検査装置200の記憶部230に記憶されている誤認識DB290、及び学習装置100の記憶部130に記憶されている画像良否判定プログラムDB160を用いて、誤認識された画像に対し、正しく良否を判定する画像良否判定プログラムを選択する。
選択装置400の選択部430における画像良否判定プログラムの選択処理手順について、図10及び図11を参照して、以下説明する。
図10の画像良否判定プログラム群226は、学習装置100により適応度の高い画像良否判定プログラムとして選択された画像良否判定プログラムA、B、C、D、Eなどを含む。選択部430は、画像良否判定プログラム群にある、画像良否判定プログラムB、C、D、Eなどの各画像良否判定プログラムを用いて、誤認識された画像225に対する各画像良否判定プログラムの適応度を求める(ステップS222)。
選択部430は、画像良否判定プログラム群の中から最適な適応度を示す画像良否判定プログラムを選択する(ステップS223)。
ここで、最適な適応度を示す画像良否判定プログラムとしては、例えば、正解率が最大であり、かつマージンが最大の画像良否判定プログラムである。
具体的には、選択部430は、例えば、以下の1)から3)で記載する処理手順に従い、最適な適応度を示す画像良否判定プログラムを選択する。
1)誤認識検査画像における全ての見逃し画像に対し不良と正しく判定できる(見逃し率0%)画像良否判定プログラムを選択する。
2)上記1)のうち、正解率が最大の画像良否判定プログラムを選択する。
3)上記2)のうち、マージンが最大のプログラムを選択する。
また、例えば、選択部430は、以下の4)から5)で記載する処理手順に従い、最適な適応度を示す画像良否判定プログラムを選択することもできる。
4)誤認識検査画像における全ての見逃し画像及び全て虚報画像に対し良否が正しく判定できる、正解率100%の画像良否判定プログラムを選択する。
5)上記4)のうち、マージンが最大のプログラムを選択する。
正解率が最大、及びマージンが最大の画像良否判定プログラムの選択方法については、以下でより詳しく説明する。
尚、上記具体的選択方法で示したように、誤認識検査画像における全ての見逃し画像に対し不良と正しく判定できる第二の画像良否判定プログラムを選択すると、不良品の流出を有効に防止できる検査装置が提供できる。
図10では、画像良否判定プログラムBが、最適な適応度を示す画像良否判定プログラム228として選択されている。
第二の画像良否判定プログラムの選択においては、画像良否判定プログラム群に含まれる全ての画像良否判定プログラムが選択の対象となる。適応度が高い画像良否判定プログラムを選択することが重要であり、画像良否判定プログラム群に含まれる、直前の世代や過去の世代など全世代の画像良否判定プログラムが選択の対象となる。
選択部430は、選択した最適な適応度を示す第二の画像良否判定プログラムを、検査装置200へ送信する。その後、検査装置200の置換部250は、第一の画像良否判定プログラムを、受信した第二の画像良否判定プログラムに置換する(ステップS225)。
尚、選択部430が、画像良否判定プログラム群の中に、正解率が所定の値を超える画像良否判定プログラムがないと判定した場合には、選択部430における第二の画像良否判定プログラムの選択処理は終了する。第二の画像良否判定プログラムが選択できない場合、作業者は、学習装置100で再学習により新たな画像良否判定プログラムを作成することになる。
図15は、第一の画像良否判定プログラムにより誤認識された検査画像を用いて、第二の画像良否判定プログラムを選択する際に、第二の画像良否判定プログラムの適応度を求めるためのデータ構成の一例を示す図である。
図15は、例えば、画像良否判定プログラム群226にある画像良否判定プログラムB、C、D、Eを用いて、第一の画像良否判定プログラム222である画像良否判定プログラムAにより、誤認識された検査画像に対し、良否判定を行った結果を示す。
図15では、画像良否判定プログラムAにより誤認識された検査画像の画像ID、その検査画像に対する作業者の目視良否判定情報、及びその検査画像に対する各画像良否判定プログラムB、C、D、Eの判定結果と適応度を求めるための情報が示されている。適応度を求めるための情報としては、本実施例では、「判定値」、「見逃し」、「虚報」、「マージン値」などを含む。
「判定値」には、画像良否判定プログラム群にある画像良否判定プログラムと作業者とが行った良否判定の結果をもとに、「1」又は「0」の値が付与される。例えば、選択部430は、作業者の判定結果と画像良否判定プログラムB、C、D、Eの各画像良否判定プログラムとの判定結果が一致している場合には判定値「1」を、一致していない場合には「0」を付与する。
「見逃し」には、判定値「0」の誤認識された画像のうち見逃し画像に対し、「1」の値が付与される。例えば、選択部430は、作業者の判定結果が「NG」で、画像良否判定プログラムの判定結果が「OK」の場合の見逃し画像に対し「1」を付与する。それ以外の画像に対しては、選択部430は、「0」を付与する。
「虚報」には、判定値「0」の誤認識された画像のうち虚報画像に対し、「1」の値が付与される。例えば、選択部430は、作業者の判定結果が「OK」で、画像良否判定プログラムの判定結果が「NG」の場合の虚報画像に対し「1」を付与する。それ以外の画像に対しては、選択部430は、「0」を付与する。
「マージン値」は、画像良否判定プログラムB、C、D、Eの各画像良否判定プログラムにおける、誤認識された検査画像とSVMの境界面との距離で求める。
図15の表において、各画像良否判定プログラムの正解率は、判定値を用いて下記の(1)式で求める。
正解率=判定値合計/検査画像の総数 ・・・(1)式
画像良否判定プログラムB、Cは、誤認識がなく、判定値が全て「1」である正解率100%を示す画像良否判定プログラムである。
図15の表において、各画像良否判定プログラムの見逃し率は、表中の「見逃し」の値を用いて、下記の(2)式で求める。
見逃し率=見逃しの値合計/検査画像の総数 ・・・(2)式
画像良否判定プログラムEは、IMG0003の検査画像に対して、見逃しが生じた画像良否判定プログラムである。画像良否判定プログラムB、C、Dは、見逃しがなく、見逃し率0%の画像良否判定プログラムである。
図15の表において、各画像良否判定プログラムの虚報率は、表中の「虚報」の値を用いて、下記の(3)式で求める。
虚報率=虚報の値合計/検査画像の総数 ・・・(3)式
画像良否判定プログラムD、Eは、IMG1532の検査画像に対して、虚報が生じた画像良否判定プログラムである。画像良否判定プログラムB、Cは、虚報がなく、虚報率0%の画像良否判定プログラムである。
マージンの評価(マージン評価値)は、表中のマージン値を用いて、下記の(4)式で求める。
マージン評価値=min(|判定値が1であるときのマージン値|)・・・(4)式
各プログラムが示すマージン評価値の中で、マージン評価値が最大の画像良否判定プログラムを選択することで、マージンが最大の画像良否判定プログラムを選択することができる。
画像良否判定プログラムB、Cでは、判定値が全て「1」であるため、それぞれのプログラムにおけるマージン値の絶対値の最小値である、マージン評価値を求める。画像良否判定プログラムBでは、マージン評価値は0.8であり、画像良否判定プログラムCでは、マージン評価値は0.5である。
図15の画像良否判定プログラムB、C、D、Eの結果から、選択部430が、誤認識検査画像に対し最適な適応度を示す第二の画像良否判定プログラムを選択する具体的処理について、以下説明する。
(a)見逃し率が0%の画像良否判定プログラムを選択する。図15で示される結果から、画像良否判定プログラムB、C、Dを選択する。
(b)次に、正解率が最大のプログラムを選択する。図15で示される結果から、見逃し率も虚報率もともに0%である、正解率が100%の画像良否判定プログラムB、Cを選択する。
(c)更に、正解率が最大を示す画像良否判定プログラムB、Cのうち、マージン評価値が最大の画像良否判定プログラムを選択する。図15で示される結果から、正解率が100%の画像良否判定プログラムB、Cのうち、マージン評価値がより大きい画像良否判定プログラムBを選択する。
図15の結果から、選択部430は、正解率が最大で、かつマージンが最大の第二の画像良否判定プログラムとして、画像良否判定プログラムBを選択する。
次に、図16、図17、図18を用いて、第一の画像良否判定プログラムにより誤認識された画像が、第二の画像良否判定プログラムに置換することにより、正しく良否判定されることを説明する。
図16は、SVMによる良否判定の一例を示す図である。図16は、第一の画像良否判定プログラムにより、学習画像に対して、良画像・不良画像が正しく判定されている状態を示している。
図17は、誤認識データが現れた時のSVMによる誤判定の一例を示す図である。検査が進むにつれ、第一の画像良否判定プログラムでは、正しく判定できない誤認識画像が現れた状態を示している。52aは、第一の画像良否判定プログラムにより不良画像と判定されたが、作業者は良画像と判定した誤認識画像(虚報画像)を示す。52bは、第一の画像良否判定プログラムにより良画像と判定されたが、作業者は不良画像と判定した誤認識画像(見逃し画像)を示す。
図18は、誤認識画像に対し正しく良否を判定できる画像良否判定プログラムに置換した後のSVMによる良否判定の一例を示す図である。図18は、誤認識画像に対し、最適な適応度を示す第二の画像良否判定プログラムを用いて検査画像を判定した結果、検査画像に対し良・不良の判定が正しく行われていることを示している。
選択装置400のハードウェア構成としては、CPU、主記憶装置、補助記憶装置、入力装置、出力装置、通信I/Fの各部を有する。これらの各部は、バスを介してそれぞれ接続されている。各部の説明は、学習装置100や検査装置200における説明と同様であるため、ここでは説明を省略する。
尚、選択装置400は、ネットワーク上のコンピュータ群であるクラウドの一部であってもよい。
次に、画像良否判定プログラムを選択し、置換する処理手順の詳細について説明する。
図11は、学習型検査システムにおける画像良否判定プログラムを選択し、置換するまでの処理の一例を示すシーケンス図である。以下、図1及び図10を参照して説明する。
ステップS210では、検査装置200の制御部220の判定部240は、画像良否判定プログラムDB160に記憶された最適な画像良否判定プログラム(第一の画像良否判定プログラム)を取得し、処理をS211に移行する。
ステップS211では、判定部240は、検査画像DB270に記憶された検査画像を取得し、処理をS212に移行する。
ステップS212では、判定部240は、第一の画像良否判定プログラムを用いて検査画像の良否を判定し、処理をS213に移行する。
ステップS213では、判定部240は、検査画像とその検査画像の第一の画像良否判定プログラムによる良否の判定結果を判定結果DB280に記憶し、処理をS214に移行する。
ステップS214では、作業者判定装置300の作業者判定入力部320は、判定結果DB280に記憶された検査画像とその検査画像の第一の画像良否判定プログラムによる良否の判定結果を取得し、処理をS215に移行する。
ステップS215では、作業者判定入力部320は、第一の画像良否判定プログラムによる良否判定された検査画像に対する、作業者の良否判定を受け付ける。そして、作業者判定入力部320は、第一の画像良否判定プログラムと作業者とが行った良否判定の結果から誤認識された画像を選別し、処理をS216に移行する。
ステップS216では、作業者判定入力部320は、作業者の良否判定の結果得られる誤認識された検査画像に関する情報を検査装置200に送信し、処理をS217に移行する。誤認識された検査画像に関する情報を受信した検査装置200は、係る情報を記憶部230の誤認識DB290に記憶する。ここで、誤認識された検査画像に関する情報には、第一の画像良否判定プログラムが良画像と判定したのに対し作業者が不良画像と判定した「見逃し画像」に関する情報、及び第一の画像良否判定プログラムが不良画像と判定したのに対し作業者が良画像と判定した「虚報画像」に関する情報が含まれる。
ステップS217では、検査装置200の通知部260は、誤認識DB290に記憶された誤認識された検査画像に関する情報を取得し、処理をS218に移行する。
ステップS218では、通知部260は、誤認識された検査画像の数が所定数を超えたか否かを判定し、所定数を超えたと判定した場合には、処理をS219に移行する。一方、通知部260が、所定数を超えていないと判定した場合には、処理をS211に戻し、判定部240は、検査画像に対する検査を継続する。
ステップS219では、通知部260は、誤認識された画像の数が所定数を超えたことを選択装置400へ通知し、処理をS220に移行する。
ステップS220では、通知部260からの通知の受信に従い、選択装置400の選択部430は、画像良否判定プログラムDB160に記憶されている画像良否判定プログラム群の中から画像良否判定プログラムを取得し、処理をS221に移行する。
ステップS221では、選択部430は、誤認識DB290に記憶されている誤認識された検査画像に関する情報を取得し、処理をS222に移行する。
ステップS222では、選択部430は、誤認識された検査画像に対し、取得した画像良否判定プログラムによる良否判定を行い、係る画像良否判定プログラムの適応度を求め、処理をS223に移行する。
適応度は、画像良否判定プログラムDB160に記憶されている画像良否判定プログラム群にある全ての画像良否判定プログラムに対して求める。
ステップS223では、選択部430は、得られた適応度から、第二の画像良否判定プログラムを選択し、処理をS224に移行する。
第二の画像良否判定プログラムは、正解率が所定の値を超えている画像良否判定プログラムの中から選択される最適な適応度を示す画像良否判定プログラムが第二の画像良否判定プログラムとして選択される。ここで、最適な適応度を示す画像良否判定プログラムの選択手法としては、上述したとおりである。
ステップS224では、選択装置400は、選択部430で選択された第二の画像良否判定プログラムを検査装置200に送信し、処理をS225に移行する。
ステップS225では、検査装置200の置換部250は、第一の画像良否判定プログラムを第二の画像良否判定プログラムに置換し、本処理を終了する。
検査装置の判定部が、検査画像の良否を判定する処理の流れを、図19に示すフローチャートにしたがって説明する。
ステップS310では、検査装置200の制御部220の判定部240は、画像良否判定プログラムDB160に記憶された最適な画像良否判定プログラム(第一の画像良否判定プログラム)を取得し、処理をS311に移行する。
ステップS311では、判定部240は、検査画像DB270に記憶された検査画像を取得し、処理をS312に移行する。
ステップS312では、判定部240は、第一の画像良否判定プログラムを用いて検査画像の良否を判定し、処理をS313に移行する。
ステップS313では、判定部240は、検査画像とその検査画像の第一の画像良否判定プログラムによる良否の判定結果を判定結果DB280に記憶し、処理をS314に移行する。
ステップS314では、検査装置200の通知部260が誤認識された検査画像の数が所定数を超えたと判定した場合には、判定部240は、第一の画像良否判定プログラムを用いて検査画像の良否を判定する処理を終了する。一方、通知部260が誤認識された検査画像の数が所定数を超えたと判定していない場合には、判定部240は、第一の画像良否判定プログラムを用いて検査画像の良否を判定する処理を継続する。
検査装置の通知部が、誤認識DBから取得した情報に基づき、通知を選択装置に送信する処理の流れを、図20に示すフローチャートにしたがって説明する。
ステップS410では、検査装置200の通知部260は、誤認識DB290に記憶された誤認識された検査画像に関する情報を取得し、処理をS411に移行する。
ステップS411では、通知部260は、誤認識された検査画像の数が所定数を超えたか否かを判定し、所定数を超えたと判定した場合には、処理をS412に移行する。一方、通知部260が、所定数を超えていないと判定した場合には、処理をS410に戻す。これにより、判定部240は、検査画像に対する良否を判定する検査処理を継続する。
ステップS412では、通知部260は、誤認識された画像の数が所定数を超えたことを選択装置400へ通知し、本処理を終了する。
検査装置の置換部が、第一の画像良否判定プログラムを第二の画像良否判定プログラムに置換する処理の流れを、図21に示すフローチャートにしたがって説明する。
ステップS510では、検査装置200は、選択装置400からの第二の画像良否判定プログラムの受信を待機し、処理をS511に移行する。
ステップS511では、検査装置200が選択装置400から第二の画像良否判定プログラムを受信した場合には、処理をS512に移行する。一方、検査装置200が選択装置400から第二の画像良否判定プログラムを受信していない場合には、処理をS510に戻し、検査装置200は、選択装置400からの受信を待機する。
ステップS512では、検査装置200の置換部250は、第一の画像良否判定プログラムを第二の画像良否判定プログラムに置換し、本処理を終了する。
作業者判定装置に入力された作業者の良否判定の結果から得られた、誤認識された検査画像の情報を誤認識DBに記憶するまでの処理の流れを、図22に示すフローチャートにしたがって説明する。
ステップS610では、作業者判定装置300の作業者判定入力部320は、判定結果DB280に記憶された検査画像とその検査画像の第一の画像良否判定プログラムによる良否の判定結果を取得し、処理をS611に移行する。
ステップS611では、作業者判定入力部320は、検査画像とその検査画像の第一の画像良否判定プログラムによる良否の判定結果を表示し、処理をS612に移行する。
ステップS612では、作業者判定入力部320は、第一の画像良否判定プログラムによる良否判定された検査画像に対する、作業者の良否判定を受け付け、処理をS613に移行する。
ステップS613では、作業者判定入力部320は、第一の画像良否判定プログラムと作業者とが行った良否判定の結果から誤認識された検査画像を選別し、処理をS614に移行する。
ステップS614では、作業者判定入力部320は、作業者の良否判定の結果得られる誤認識された検査画像に関する情報(見逃し画像、虚報画像に関する情報を含む)を検査装置200に送信し、本処理を終了する。誤認識された検査画像に関する情報を受信した検査装置200は、係る情報を記憶部230の誤認識DB290に記憶する。
選択装置の選択部が、第二の画像良否判定プログラムを選択する処理の流れを、図23に示すフローチャートにしたがって説明する。
ステップS710では、通知部260からの通知の受信に従い、選択装置400の選択部430は、画像良否判定プログラムDB160に記憶されている画像良否判定プログラム群の中から画像良否判定プログラムを取得し、処理をS711に移行する。
ステップS711では、選択部430は、誤認識DB290に記憶されている誤認識された検査画像に関する情報を取得し、処理をS712に移行する。ここで、誤認識された検査画像に関する情報には、第一の画像良否判定プログラムが良画像と判定したのに対し作業者が不良画像と判定した「見逃し画像」に関する情報、及び第一の画像良否判定プログラムが不良画像と判定したのに対し作業者が良画像と判定した「虚報画像」に関する情報が含まれる。
ステップS712では、選択部430は、誤認識された検査画像に対し、取得した画像良否判定プログラムによる良否判定を行い、係る画像良否判定プログラムの適応度を求め、処理をS713に移行する。
ステップS713では、選択部430は、画像良否判定プログラムDB160に記憶されている画像良否判定プログラム群にある全ての画像良否判定プログラムに対し適応度を求めたか否かを判定する。全ての画像良否判定プログラムに対し適応度を求めた場合には、選択部430は、処理をS714に移行する。全ての画像良否判定プログラムに対し適応度を求めていない場合には、選択部430は、処理をS710に戻し、適応度を求める処理を継続する。
ステップS714では、選択部430は、求めた適応度から、正解率が所定の値を超える画像良否判定プログラムがあるか否かを判定する。正解率が所定の値を超える画像良否判定プログラムがある場合には、選択部430は、処理をS715に移行する。正解率が所定の値を超える画像良否判定プログラムがない場合には、選択部430は、本処理を終了する。選択部430において、第二の画像良否判定プログラムが選択できない場合には、作業者は、学習装置100で再学習により新たな画像良否判定プログラムを作成することになる。
ステップS715では、選択部430は、正解率が所定の値を超えている画像良否判定プログラムの中から、求めた適応度の中で最適な適応度を示す第二の画像良否判定プログラムを選択し、処理をS716に移行する。ここで、最適な適応度を示す画像良否判定プログラムの選択手法としては、ステップS223の説明箇所で記載したとおりである。
ステップS716では、選択装置400は、選択部430で選択された第二の画像良否判定プログラムを検査装置200に送信し、本処理を終了する。
図1で示す学習型検査システム500では、学習装置100、検査装置200、作業者判定装置300、選択装置400の4つの装置で構成したが、例えば、これらの装置は、適宜組み合わせて、以下に示すように1つ〜2つの装置の構成としてもよい。
(第2の実施例)
図24で示される学習型検査システム500における学習・選択装置600は、図1で示す学習型検査システム500における学習装置100と選択装置400とを合わせて、一つの装置とした。また、図24で示される学習型検査システム500における検査装置700は、図1で示す学習型検査システム500における検査装置200と作業者判定装置300とを合わせて、一つの装置とした。それ以外は、図24で記載の各構成部は、図1で示される各構成部と同じ機能を示すものである。このため、既に説明した同一の構成については、同じ参照符号を付して、その説明を省略する。
学習・選択装置600は、制御部620と、記憶部630とを有する。制御部620は、学習・選択装置600全体を制御する。
制御部620は、プログラム生成部140と、選択部430とを有する。記憶部630は、学習DB150と、画像良否判定プログラムDB160とを有する。
検査装置700は、制御部720と、記憶部730と、入力部740とを有する。制御部720は、検査装置700全体を制御する。
制御部720は、判定部240と、置換部250と、通知部260とを有する。記憶部730は、検査画像DB270と、判定結果DB280と、誤認識DB290とを有する。
入力部740は、作業者判定入力部320を有する。
図1の作業者判定装置300は、図1で示すように検査装置200に対し別装置としても、図24で示すように検査装置200に作業者判定入力部320の機能を付加させ検査装置内に取り込ませることにより、検査装置と同一装置としてもよい。
(第3の実施例)
図25で示される学習型検査システム500における検査・選択装置800は、図1で示す学習型検査システム500における検査装置200と作業者判定装置300と選択装置400とを合わせて、一つの装置とした。それ以外は、図25で記載の各構成部は、図1で示される各構成部と同じ機能を示すものである。このため、既に説明した同一の構成については、同じ参照符号を付して、その説明を省略する。
検査・選択装置800は、制御部820と、記憶部830と、入力部840とを有する。制御部820は、検査・選択装置800全体を制御する。
制御部820は、判定部240と、置換部250と、通知部260と、選択部430とを有する。記憶部830は、検査画像DB270と、判定結果DB280と、誤認識DB290とを有する。
入力部840は、作業者判定入力部320を有する。
(第4の実施例)
図26で示される学習型検査システム500における学習型検査装置900は、図1で示される学習型検査システム500における学習装置100と検査装置200と作業者判定装置300と選択装置400とを合わせて、一つの装置としたものである。それ以外は、図26で記載の各構成部は、図1で示される各構成部と同じ機能を示すものである。このため、既に説明した同一の構成については、同じ参照符号を付して、その説明を省略する。
学習型検査装置900は、制御部920と、記憶部930と、入力部940とを有する。制御部930は、学習型検査装置900全体を制御する。
制御部920は、プログラム生成部140と、判定部240と、置換部250と、通知部260と、選択部430とを有する。記憶部930は、学習DB150と、画像良否判定プログラムDB160と、検査画像DB270と、判定結果DB280と、誤認識DB290とを有する。
入力部940は、作業者判定入力部320を有する。
以上、説明したように、検索装置は、第一の画像良否判定プログラムを用いて検査画像の良否判定を行った結果、誤認識された画像が所定の基準を超えた場合、第二の画像良否判定プログラムに置換する。
これにより、時間がかかる再学習を行わずに、従来よりも短時間で良否判定の精度を上げることができる第二の画像良否判定プログラムを用いて画像検査を行うことができ、生産ラインを継続稼働することができる。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
学習画像に対する画像良否判定プログラムの適応度が所定の基準を満たす世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群にある第一の画像良否判定プログラムにより、検査画像の良否を判定する判定部と、
前記第一の画像良否判断プログラムによる前記検査画像の良否判定に対し、作業者が良否判定を行った結果、誤認識された前記検査画像が生じたとき、前記誤認識された前記検査画像に対し最適な適応度を示す、前記画像良否判断プログラム群にある第二の画像良否判定プログラムを用いて、前記第一の画像良否判定プログラムを前記第二の画像良否判定プログラムに置換する置換部と、
を有することを特徴とする検査装置。
(付記2)
前記第二の画像良否判定プログラムは、前記画像良否判定プログラム群にある過去の世代を含む全ての画像良否判定プログラムの中から選択される、
ことを特徴とする、付記1に記載の検査装置。
(付記3)
前記第二の画像良否判定プログラムは、画像良否判定プログラムの良否判定の正解率、及び良否を分離する境界のマージンの大きさから求められる前記適応度により選択される、
ことを特徴とする、付記1又は2に記載の検査装置。
(付記4)
前記第二の画像良否判定プログラムは、前記誤認識の検査画像における全ての見逃し画像に対し、不良と正しく判定できるプログラムである、
ことを特徴とする、付記3に記載の検査装置。
(付記5)
画像良否判定プログラムを用いて検査画像の良否を判定する検査プログラムであって、
学習画像に対する画像良否判定プログラムの適応度が所定の基準を満たす世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群にある第一の画像良否判定プログラムにより、検査画像の良否を判定し、
前記第一の画像良否判断プログラムによる前記検査画像の良否判定に対し、作業者が良否判定を行った結果、誤認識された前記検査画像が生じたとき、前記誤認識された前記検査画像に対し最適な適応度を示す、前記画像良否判断プログラム群の中にある第二の画像良否判定プログラムを用いて、前記第一の画像良否判定プログラムを前記第二の画像良否判定プログラムに置換する、
処理をコンピュータに実行させることを特徴とする検査プログラム。
(付記6)
前記第二の画像良否判定プログラムは、前記画像良否判定プログラム群にある過去の世代を含む全ての画像良否判定プログラムの中から選択される、
ことを特徴とする、付記5に記載の検査プログラム。
(付記7)
前記第二の画像良否判定プログラムは、画像良否判定プログラムの良否判定の正解率、及び良否を分離する境界のマージンの大きさから求められる前記適応度により選択される、
ことを特徴とする、付記5又は6に記載の検査プログラム。
(付記8)
前記第二の画像良否判定プログラムは、前記誤認識の検査画像における全ての見逃し画像に対し、不良と正しく判定できるプログラムである、
ことを特徴とする、付記7に記載の検査プログラム。
(付記9)
画像良否判定プログラムを用いて検査画像の良否を判定する検査方法であって、
学習画像に対する画像良否判定プログラムの適応度が所定の基準を満たす世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群にある第一の画像良否判定プログラムにより、検査画像の良否を判定し、
前記第一の画像良否判断プログラムによる前記検査画像の良否判定に対し、作業者が良否判定を行った結果、誤認識された前記検査画像が生じたとき、前記誤認識された前記検査画像に対し最適な適応度を示す、前記画像良否判断プログラム群にある第二の画像良否判定プログラムを用いて、前記第一の画像良否判定プログラムを前記第二の画像良否判定プログラムに置換する、
ことを特徴とする検査方法。
(付記10)
前記第二の画像良否判定プログラムは、前記画像良否判定プログラム群にある過去の世代を含む全ての画像良否判定プログラムの中から選択される、
ことを特徴とする、付記9に記載の検査方法。
(付記11)
前記第二の画像良否判定プログラムは、画像良否判定プログラムの良否判定の正解率、及び良否を分離する境界のマージンの大きさから求められる前記適応度により選択される、
ことを特徴とする、付記9又は10に記載の検査方法。
(付記12)
前記第二の画像良否判定プログラムは、前記誤認識の検査画像における全ての見逃し画像に対し、不良と正しく判定できるプログラムである、
ことを特徴とする、付記11に記載の検査方法。
(付記13)
画像良否判定プログラムを用いて検査画像の良否を判定する検査プログラムを記録した非一過性の記録媒体であって、
学習画像に対する画像良否判定プログラムの適応度が所定の基準を満たす世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群にある第一の画像良否判定プログラムにより、検査画像の良否を判定し、
前記第一の画像良否判断プログラムによる前記検査画像の良否判定に対し、作業者が良否判定を行った結果、誤認識された前記検査画像が生じたとき、前記誤認識された前記検査画像に対し最適な適応度を示す、前記画像良否判断プログラム群にある第二の画像良否判定プログラムを用いて、前記第一の画像良否判定プログラムを前記第二の画像良否判定プログラムに置換する、
処理をコンピュータに実行させることを特徴とする検査プログラムを記録した非一過性の記録媒体。
100 学習装置
120 学習装置の制御部
130 学習装置の記憶部
200 検査装置
220 検査装置の制御部
230 検査装置の記憶部
300 作業者判定装置
320 作業者判定入力部
400 選択装置
420 選択装置の制御部
500 学習型検査システム

Claims (6)

  1. 学習画像に対する画像良否判定プログラムの適応度が所定の基準を満たす世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群にある第一の画像良否判定プログラムにより、検査画像の良否を判定する判定部と、
    前記第一の画像良否判断プログラムによる前記検査画像の良否判定に対し、作業者が良否判定を行った結果、誤認識された前記検査画像が生じたとき、前記誤認識された前記検査画像に対し最適な適応度を示す、前記画像良否判断プログラム群にある第二の画像良否判定プログラムを用いて、前記第一の画像良否判定プログラムを前記第二の画像良否判定プログラムに置換する置換部と、
    を有することを特徴とする検査装置。
  2. 前記第二の画像良否判定プログラムは、前記画像良否判定プログラム群にある過去の世代を含む全ての画像良否判定プログラムの中から選択される、
    ことを特徴とする、請求項1に記載の検査装置。
  3. 前記第二の画像良否判定プログラムは、画像良否判定プログラムの良否判定の正解率、及び良否を分離する境界のマージンの大きさから求められる前記適応度により選択される、
    ことを特徴とする、請求項1又は2に記載の検査装置。
  4. 前記第二の画像良否判定プログラムは、前記誤認識の検査画像における全ての見逃し画像に対し、不良と正しく判定できるプログラムである、
    ことを特徴とする、請求項3に記載の検査装置。
  5. 画像良否判定プログラムを用いて検査画像の良否を判定する検査プログラムであって、
    学習画像に対する画像良否判定プログラムの適応度が所定の基準を満たす世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群にある第一の画像良否判定プログラムにより、検査画像の良否を判定し、
    前記第一の画像良否判断プログラムによる前記検査画像の良否判定に対し、作業者が良否判定を行った結果、誤認識された前記検査画像が生じたとき、前記誤認識された前記検査画像に対し最適な適応度を示す、前記画像良否判断プログラム群にある第二の画像良否判定プログラムを用いて、前記第一の画像良否判定プログラムを前記第二の画像良否判定プログラムに置換する、
    処理をコンピュータに実行させることを特徴とする検査プログラム。
  6. 画像良否判定プログラムを用いて検査画像の良否を判定する検査方法であって、
    学習画像に対する画像良否判定プログラムの適応度が所定の基準を満たす世代が異なる学習型の画像良否判定プログラムを複数含む画像良否判定プログラム群にある第一の画像良否判定プログラムにより、検査画像の良否を判定し、
    前記第一の画像良否判断プログラムによる前記検査画像の良否判定に対し、作業者が良否判定を行った結果、誤認識された前記検査画像が生じたとき、前記誤認識された前記検査画像に対し最適な適応度を示す、前記画像良否判断プログラム群にある第二の画像良否判定プログラムを用いて、前記第一の画像良否判定プログラムを前記第二の画像良否判定プログラムに置換する、
    ことを特徴とする検査方法。

JP2017151894A 2017-08-04 2017-08-04 検査装置、検査プログラム、及び検査方法 Active JP6923794B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017151894A JP6923794B2 (ja) 2017-08-04 2017-08-04 検査装置、検査プログラム、及び検査方法
US16/042,183 US10769777B2 (en) 2017-08-04 2018-07-23 Inspection device and inspection method
CN201810859394.4A CN109387511B (zh) 2017-08-04 2018-07-31 检查装置和检查方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017151894A JP6923794B2 (ja) 2017-08-04 2017-08-04 検査装置、検査プログラム、及び検査方法

Publications (2)

Publication Number Publication Date
JP2019032605A JP2019032605A (ja) 2019-02-28
JP6923794B2 true JP6923794B2 (ja) 2021-08-25

Family

ID=65229143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017151894A Active JP6923794B2 (ja) 2017-08-04 2017-08-04 検査装置、検査プログラム、及び検査方法

Country Status (3)

Country Link
US (1) US10769777B2 (ja)
JP (1) JP6923794B2 (ja)
CN (1) CN109387511B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7221419B2 (ja) * 2020-07-16 2023-02-13 日揮グローバル株式会社 検査システム、判定処理装置、及び検査方法
JP2024056561A (ja) * 2022-10-11 2024-04-23 株式会社日立製作所 検査条件決定システム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003044835A (ja) * 2001-07-27 2003-02-14 Akita Shindengen:Kk 外観検査装置と該装置のマスタデータ作成方法及び該マスタデータ作成プログラム
US20070230814A1 (en) * 2004-05-24 2007-10-04 Miki Haseyama Image Reconstructing Method
JP3756507B1 (ja) * 2004-09-17 2006-03-15 シャープ株式会社 画像処理アルゴリズム評価方法および装置、画像処理アルゴリズム生成方法および装置、プログラムならびにプログラム記録媒体
JP2007200246A (ja) 2006-01-30 2007-08-09 Sharp Corp 画像処理アルゴリズムの評価方法、生成方法、装置、プログラムおよび記録媒体
JP4961161B2 (ja) * 2006-04-27 2012-06-27 株式会社日立ハイテクノロジーズ 検査装置
JP4747955B2 (ja) * 2006-06-07 2011-08-17 オムロン株式会社 検査制御装置、検査制御方法、検査システム、制御プログラム、および、記録媒体
JP5361274B2 (ja) * 2008-08-05 2013-12-04 株式会社東芝 汚損判定装置、紙葉類処理装置、および、汚損判定方法
JP2010112766A (ja) * 2008-11-04 2010-05-20 Nuflare Technology Inc マスク検査システム及びマスク検査方法
JP5760310B2 (ja) * 2009-12-11 2015-08-05 株式会社リコー 印刷物検査装置、印刷物検査方法、プログラムおよび記憶媒体
US8957960B2 (en) * 2011-11-15 2015-02-17 Mitutoyo Corporation Machine vision system program editing environment including real time context generation features
DE102012220759A1 (de) * 2011-11-15 2013-06-27 Mitutoyo Corporation Programmbearbeitungsumgebung eines maschinell sehenden Systems mit synchronisierten Benutzerschnittstellenmerkmalen
JP5865707B2 (ja) * 2012-01-06 2016-02-17 株式会社キーエンス 外観検査装置、外観検査方法及びコンピュータプログラム
EP2806374B1 (en) 2013-05-24 2022-07-06 Tata Consultancy Services Limited Method and system for automatic selection of one or more image processing algorithm
JP2016115331A (ja) * 2014-12-12 2016-06-23 キヤノン株式会社 識別器生成装置、識別器生成方法、良否判定装置、良否判定方法、プログラム
WO2016092783A1 (en) * 2014-12-12 2016-06-16 Canon Kabushiki Kaisha Information processing apparatus, method for processing information, discriminator generating apparatus, method for generating discriminator, and program
US9898811B2 (en) * 2015-05-08 2018-02-20 Kla-Tencor Corporation Method and system for defect classification

Also Published As

Publication number Publication date
CN109387511B (zh) 2021-07-13
CN109387511A (zh) 2019-02-26
US20190043181A1 (en) 2019-02-07
JP2019032605A (ja) 2019-02-28
US10769777B2 (en) 2020-09-08

Similar Documents

Publication Publication Date Title
CN109741292A (zh) 用对抗自编码器检测第一图像数据集当中异常图像的方法
US9430743B2 (en) Composite defect classifier
JP2019106112A (ja) 情報処理装置、識別システム、設定方法及びプログラム
US20200116522A1 (en) Anomaly detection apparatus and anomaly detection method
JP6472621B2 (ja) 分類器構築方法、画像分類方法および画像分類装置
JP2019106171A5 (ja)
JP6923794B2 (ja) 検査装置、検査プログラム、及び検査方法
JP6641195B2 (ja) 最適化方法、最適化装置、プログラムおよび画像処理装置
JP2018026122A5 (ja)
WO2019187594A1 (ja) 学習装置、学習方法および学習プログラム
WO2019176989A1 (ja) 検査システム、識別システム、及び学習データ生成装置
JP2018045516A (ja) 分類装置、分類方法およびプログラム
JP2020042001A (ja) 評価装置、評価方法、評価プログラム、及び検査装置
JP7226517B2 (ja) 判断差異表示装置、判断差異表示方法、及び、判断差異表示プログラム
KR101745874B1 (ko) 학습코스 자동 생성 방법 및 시스템
JP6988995B2 (ja) 画像生成装置、画像生成方法および画像生成プログラム
JP6596260B2 (ja) 教示支援方法および画像分類方法
WO2021090601A1 (ja) 分類装置および画像分類システム
JP2015075798A (ja) データ処理装置、測長システム、欠陥検査システム、画像トラッキングシステム、及びデータ処理方法
JP2019158684A (ja) 検査システム、識別システム、及び識別器評価装置
JP7028317B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2021165909A (ja) 情報処理装置、情報処理装置の情報処理方法およびプログラム
JP7498890B2 (ja) 画像検査装置
JP7206892B2 (ja) 画像検査装置、画像検査のための学習方法および画像検査プログラム
EP2909687B1 (en) System testing algorithm and apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210629

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210712

R150 Certificate of patent or registration of utility model

Ref document number: 6923794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150