JP6992475B2 - 情報処理装置、識別システム、設定方法及びプログラム - Google Patents

情報処理装置、識別システム、設定方法及びプログラム Download PDF

Info

Publication number
JP6992475B2
JP6992475B2 JP2017239570A JP2017239570A JP6992475B2 JP 6992475 B2 JP6992475 B2 JP 6992475B2 JP 2017239570 A JP2017239570 A JP 2017239570A JP 2017239570 A JP2017239570 A JP 2017239570A JP 6992475 B2 JP6992475 B2 JP 6992475B2
Authority
JP
Japan
Prior art keywords
classifier
image
classifiers
unit
execution time
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
JP2017239570A
Other languages
English (en)
Other versions
JP2019106112A (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.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Priority to JP2017239570A priority Critical patent/JP6992475B2/ja
Priority to CN201811179930.2A priority patent/CN109978817A/zh
Priority to EP18200580.1A priority patent/EP3499418B1/en
Priority to US16/162,456 priority patent/US10776911B2/en
Publication of JP2019106112A publication Critical patent/JP2019106112A/ja
Application granted granted Critical
Publication of JP6992475B2 publication Critical patent/JP6992475B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/28Determining representative reference patterns, e.g. by averaging or distorting; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • G06F18/41Interactive pattern learning with a human teacher
    • 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/02Neural networks
    • G06N3/08Learning methods
    • 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/0008Industrial image inspection checking presence/absence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/772Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • G06V10/7788Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/87Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • 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
    • 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/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Quality & Reliability (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置、識別システム、設定方法及びプログラムに関する。
画像データに検出対象が含まれているか否かを識別するために用いられる識別器を機械学習により生成した場合、生成された識別器は一般的に、識別精度と識別に要する実行時間とがトレードオフの関係になることが知られている。
ここで、特許文献1には、識別性能の低い複数の弱識別器から構成され、各弱識別器における特徴量の判定結果と各弱識別器により設定された重みとの積算値の線形和に基づいて入力データの識別を行う強識別器を有する識別装置が記載されている。
特開2016-55188号公報
ところで、識別装置に希望する識別精度や識別に要する実行時間は、ユーザのニーズに応じて異なることが考えられる。例えば、実行時間が多少かかっても識別精度を重視するユーザや、識別精度よりも実行時間を重視するユーザなど、ユーザのニーズは様々であることから、識別精度及び実行時間の両方を調整することが可能な仕組みが望まれている。
識別精度及び実行時間の両方を調整することで、例えば実行時間よりも識別精度が重視される場合、識別精度を上げることで検出対象の検出ミスを抑制することができる。また、識別精度よりも実行時間が重視される場合、識別に要する時間が短縮されることから識別装置のCPUリソース及びメモリリソースを抑制することができる。しかしながら、特許文献1に記載されている識別装置は、そもそも検出処理を高速化することを目的としており、識別精度及び実行時間の両方を調整可能にすることを考慮していない。
そこで、本発明は、識別精度と識別に要する実行時間との両方を調整することが可能な識別器を提供することを目的とする。
本開示の一態様に係る情報処理装置は、対象物を識別する識別器であって特性の異なる複数の識別器を記憶する記憶部と、特定の対象物に対する複数の識別器の各々の識別精度と実行時間とを識別器ごとに測定する測定部と、複数の識別器の各々の識別精度と実行時間とを出力する出力部と、測定部で測定された識別精度が第1の条件を満たす識別器のうち、実行時間が第2の条件を満たす識別器を選択する選択部と、選択された識別器を識別装置上で動作させるための設定を行う設定部とを有する。
この態様によれば、対象物を検査する複数の識別器の中から、測定された識別精度が所定の許容範囲に含まれる識別器のうち、実行時間が所定の条件を満たす識別器を選択して識別装置に実行させることができる。これにより、識別精度と識別に要する実行時間との両方を調整することが可能になる。また、識別に要する実行時間が所定の条件を満たす識別器を選択することができるため、CPUリソース及びメモリリソースを無駄に消費してしまうことを抑止することが可能になる。
上記態様において、記憶部は、特定の対象物に対する複数の識別器の各々の識別精度と実行時間とを測定するために用いられるテスト画像を記憶し、測定部は、複数の識別器の各々にテスト画像を識別させることで、識別精度と実行時間とを識別器ごとに測定するようにしてもよい。また、上記態様において、記憶部は、対象物の画像を記憶し、ユーザから画像の加工条件についての入力を受け、加工条件に基づいて記憶部に記憶された対象物の画像を加工することでテスト画像を生成する生成部を有するようにしてもよい。この態様によれば、ユーザは、実際に対象物を撮影した画像を用意することなく、テスト画像を用いて識別器の識別精度及び実行時間を測定することができる。
上記態様において、生成部は、記憶部に記憶された対象物の画像に対して、ユーザにより指定された検出対象の画像を付加することで、テスト画像を生成するようにしてもよいこの態様によれば、ユーザは、識別装置を使用する環境に沿ったテスト画像を作成することができ、ユーザにとってより最適な識別器を選択することが可能になる。
上記態様において、生成部は、記憶部に記憶された対象物の画像に対して、ユーザにより指定されたパラメータに基づいて生成した検出対象の画像を付加することで、テスト画像を生成する、ようにしてもよい。この態様によれば、ユーザは、識別装置を使用する環境に沿って自動的に作成されたテスト画像を使用することができ、ユーザにとってより最適な識別器を選択することが可能になる。また、この態様によれば、テスト画像を生成するユーザの負担を軽減させることが可能になる。
上記態様において、テスト画像は、検出対象を含むことを正解とする複数の第1テスト画像を含み、識別精度は、複数の第1テスト画像に対して検出対象が含まれていると識別器が識別する確率である第1確率を含み、測定部は、複数の識別器の各々に複数の第1テスト画像を識別させることで第1確率を測定し、選択部は、測定部で測定された第1確率が第1の条件に含まれる識別器のうち、実行時間が第2の条件を満たす識別器を選択するようにしてもよい。この態様によれば、ユーザは、検出対象を含むことを正解とするテスト画像を用いて識別器の識別精度を評価することができるため、ユーザにとってより詳細に識別器の識別精度を評価することができる。
上記態様において、テスト画像は、更に、検出対象を含まないことを正解とする複数の第2テスト画像とを含み、識別精度は、更に、複数の第2テスト画像に対して検出対象が含まれていると識別器が誤って識別する確率である第2確率を含み、測定部は、更に、複数の識別器の各々に複数の第2テスト画像を識別させることで第2確率を測定し、選択部は、測定部で測定された第2確率が第1の条件に含まれる識別器のうち、実行時間が第2の条件を満たす識別器を選択するようにしてもよい。この態様によれば、ユーザは、検出対象を含まないことを正解とするテスト画像を用いて識別器の識別精度を評価することができるため、ユーザにとってより詳細に識別器の識別精度を評価することができる。
上記態様において、第1の条件は、識別装置を使用するユーザにより指定される識別精度の範囲であってもよい。この態様によれば、ユーザは、識別精度と識別に要する実行時間との両方を任意に調整することが可能になる。
上記態様において、選択部は、測定部で測定された識別精度が第1の条件に含まれる識別器が存在しない場合、識別精度が最も高い識別器を選択するようにしてもよい。この態様によれば、所定の識別精度を満たす識別器が存在しない場合であっても、高い識別精度を実現しつつ識別装置を動作させることが可能になる。
上記態様において、複数の識別器の各々は、学習済みモデルの種別と、検出対象があると識別する閾値との組み合わせにより設計されていてもよい。この態様によれば、学習済みモデルの種別と閾値との組み合わせの数だけ、識別精度が異なる識別器が存在することになるため、ユーザにとって使用可能な識別器の選択枝が広がることになる。その結果、ユーザは多くの識別器の中から適切な識別器を選択することが可能になる。
上記態様において、実行時間が第2の条件を満たす識別器は、実行時間が最も短い識別器であってもよい。この態様によれば、識別精度が許容範囲を満たす識別器の中で実行時間が最も短い識別器を選択することができるため、CPUリソース及びメモリリソースを無駄に消費してしまうことを抑止することが可能になる。
上記態様において、上記記載の情報処理装置と、該情報処理装置と通信する識別装置とを含む識別システムであって、識別装置は、情報処理装置から、情報処理装置で選択された識別器を受け付けて記憶部に格納する受付部と、記憶部に記憶された識別器を用いて対象物を識別する識別部と、を有する、識別システムを提供するようにしてもよい。この態様によれば、情報処理装置で選択された識別器を用いて対象物を識別する識別システムを実現することができる。
本開示の他の態様に係る設定方法は、対象物を識別する識別器であって特性の異なる複数の識別器を記憶する記憶部を有する情報処理装置が実行する設定方法であって、特定の対象物に対する複数の識別器の各々の識別精度と実行時間とを識別器ごとに測定するステップと、複数の識別器の各々の識別精度と実行時間とを出力するステップと、測定された識別精度が第1の条件を満たす識別器のうち、実行時間が第2の条件を満たす識別器を選択するステップと、選択された識別器を識別装置上で動作させるための設定を行うステップと、を有する。
この態様によれば、検査対象物を検査する複数の識別器の中から、測定された識別精度が所定の許容範囲に含まれる識別器のうち、実行時間が所定の条件を満たす識別器を選択して識別装置に実行させることができる。これにより、識別精度と識別に要する実行時間との両方を調整することが可能になる。また、識別に要する実行時間が所定の条件を満たす識別器を選択することができるため、CPUリソース及びメモリリソースを無駄に消費してしまうことを抑止することが可能になる。
本開示の他の態様に係るプログラムは、コンピュータを、対象物を識別する識別器であって特性の異なる複数の識別器を記憶する記憶手段と、特定の対象物に対する複数の識別器の各々の識別精度と実行時間とを識別器ごとに測定する測定手段と、複数の識別器の各々の識別精度と実行時間とを出力する出力手段と、測定手段で測定された識別精度が第1の条件を満たす識別器のうち、実行時間が第2の条件を満たす識別器を選択する選択手段と、選択された識別器を識別装置上で動作させるための設定を行う設定手段と、として機能させる。
この態様によれば、検査対象物を検査する複数の識別器の中から、測定された識別精度が所定の許容範囲に含まれる識別器のうち、実行時間が所定の条件を満たす識別器を選択して識別装置に実行させることができる。これにより、識別精度と識別に要する実行時間との両方を調整することが可能になる。また、識別に要する実行時間が所定の条件を満たす識別器を選択することができるため、CPUリソース及びメモリリソースを無駄に消費してしまうことを抑止することが可能になる。
本発明によれば、識別精度と識別に要する実行時間との両方を調整することが可能な識別器を提供することができる。
本実施形態に係る画像処理システムの適用場面の一例を模式的に例示する。 本実施形態に係る管理装置のハードウェア構成の一例を模式的に例示する。 本実施形態に係る画像処理装置のハードウェア構成の一例を模式的に例示する。 本実施形態に係る管理装置の機能構成の一例を模式的に例示する。 本実施形態に係る画像処理装置の機能構成の一例を模式的に例示する。 ニューラルネットワークの一例を例示する。 管理装置が行う処理手順の一例を例示するフローチャートである。 テスト画像作成画面(手動)の一例を例示する。 テスト画像作成画面(自動)の一例を例示する。 学習済みモデルの種別の一例を例示する。 管理装置が識別器を選択する処理手順の一例を例示する。 欠陥識別率及びフォールスポジティブ率を測定した結果の具体例を例示する。 欠陥識別率及びフォールスポジティブ率を測定した結果の具体例を例示する。 実行時間を測定した結果の具体例を例示する。 管理装置が欠陥識別率を測定する処理手順の一例を例示する。 管理装置がフォールスポジティブ率を測定する処理手順の一例を例示する。 識別器が識別する検査対象物の一例を例示する。
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。
§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本実施形態に係る画像処理システム1の適用場面の一例を模式的に例示する。画像処理システム1は、典型的には、生産ラインなどに組み込まれる。画像処理システム1は、生産ライン上を搬送されるワークを撮像することによって得られる画像に基づいて、ワークの検査を実行する。なお、画像処理システム1は、本発明の「識別システム」の一例である。
図1に示すように、画像処理システム1は、管理装置100と、管理装置100とネットワーク2を介して通信する1以上の画像処理装置200とを含む。たとえば、ワークはベルトコンベヤなどの搬送機構によって所定方向に搬送され、それぞれの画像処理装置200は、この搬送経路に相対して予め定められた位置に配置される。管理装置100は、ワークを検査するための識別器として少なくとも特性の異なる複数の識別器を有しており、これらの複数の識別器の中から、画像処理装置200に実行させる識別器を選択する装置である。「特性が異なる複数の識別器」とは、各々の識別器が検出可能な検出対象は同一であるが、検出を行う際の演算精度や演算量が異なるために当該検出対象を識別する識別精度や、検出対象の検出を開始してから検出結果を出力するまでに要する実行時間(以下、単に「実行時間」と言う。)が異なる識別器を意味する。ここで、ワークは、本発明の「検査対象物」の一例である。また、管理装置100は、本発明の「情報処理装置」の一例である。また、画像処理装置200は、本発明の「識別装置」の一例である。
まず、管理装置100は、特定の検査対象物に対する識別器ごとの識別精度及び実行時間を測定するために用いられる複数のテスト画像を生成する。特定の検査対象物とは、例えば、ユーザが画像処理装置200に検査させる、所定の属性(例えば、ワークの材質、表面形状又はワークに含まれる欠陥内容等)を有するワークであってもよい。また、テスト画像は、欠陥を有しないワークの画像に対して疑似的な欠陥が付加された画像であってもよい。ここで、欠陥とは、検査対象物が有する異常であって、例えば、キズ、色等のムラ、汚れ、打痕、欠け、バリ、異物、印字のかすれ、印字等の位置ずれ等を含む。続いて、管理装置100は、複数の識別器の各々に対し、作成された複数のテスト画像を識別させることで、識別器ごとに識別精度及び実行時間を測定する。識別精度は、識別器がワークの画像に含まれる欠陥の有無を正しく検出することができる確率で表されてもよい。
続いて、管理装置100は、測定された識別精度が、ユーザが画像処理装置200の性能として要求する識別精度の範囲である所定の許容範囲に含まれる識別器のうち、実行時間が所定の条件を満たす識別器を、画像処理装置200に実行させる識別器として選択する。所定の条件とは、例えば、実行時間が最も短い識別器であってもよい。選択された識別器は画像処理装置200に組み込まれ、画像処理装置200は、生産ライン上を流れるワークを撮像した画像を識別器に入力することで、ワークの検査等を行う。なお、所定の許容範囲は、本発明の「第1の条件」の一例である。所定の条件は、本発明の「第2の条件」の一例である。
本実施形態によれば、管理装置100は、実際に生産ラインでワークの検査が行われる前に、所定の許容範囲の識別精度を発揮する識別器の中で、実行時間が所定の条件を満たす識別器を選択し、選択した識別器を予め画像処理装置200に組み込んでおくことができる。これにより、画像処理システム1において、複数の識別器の中から適切な識別精度及び実行時間を備える識別器を選択することができ、ユーザのニーズに応じた識別器を提供することが可能になる。
また、本実施形態によれば、テスト画像を用いて適切な識別器を事前に選択することができるため、実際に生産ライン上でワークの検査を行う際の画像を大量に用意することなく、適切な識別器を選択することが可能になる。
§2 構成例
[ハードウェア構成]
<管理装置>
次に、図2を用いて、本実施形態に係る管理装置100のハードウェア構成の一例について説明する。図2は、本実施形態に係る管理装置100のハードウェア構成の一例を模式的に例示する。図2の例では、管理装置100は、プロセッサ101と、メモリ102と、HDD(Hard Disk Drive)などの記憶装置103と、ネットワークインターフェイス(I/F)104と、表示部105と、操作部106と、メモリカードリーダ・ライタ107とを含んでいてもよい。これらの各部は、内部バス108を介して、互いに通信可能に接続されている。
プロセッサ101は、記憶装置103に格納されているプログラム(命令コード)103Aをメモリ102へ展開した上で実行することで、管理装置100が備える各種機能を実現する。メモリ102及び記憶装置103は、それぞれ揮発的及び不揮発的にデータを格納する。記憶装置103は、OS(Operating System)に加えて、プログラム103Aを保持している。
ネットワークインターフェイス104は、ネットワーク2を介して、画像処理装置200との間でデータを送受信する。
表示部105は、プロセッサ101がプログラム103Aを実行することで実現される各種の画面などを表示する。表示部105は、例えば、LCD(Liquid Crystal Display)といったディスプレイなどからなる。
操作部106は、ユーザ操作を受け付け、その受け付けた操作を示す内部指令をプロセッサ101などへ出力する。操作部106は、例えば、キーボード、マウス、タッチパネル、タブレット、音声認識装置などからなる。
メモリカードリーダ・ライタ107は、記憶媒体107Aからデータを読み出し、及び記憶媒体107Aへデータを書き込む。記憶媒体107Aは、コンピュータその他装置、機械等が記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。管理装置100は、この記憶媒体107Aから、プログラム103Aを取得してもよい。
<画像処理装置>
次に、図3を用いて、本実施形態に係る画像処理装置200のハードウェア構成の一例について説明する。図3は、本実施形態に係る画像処理装置200のハードウェア構成の一例を模式的に例示する。図3の例では、画像処理装置200は、照明部210と、制御装置220と、撮像部230とを含んでいてもよい。
照明部210は、ワークの撮像に必要な光を照射する。つまり、照明部210は、撮像部230の撮像範囲に光を照射する。より具体的には、照明部210は、照明基板上に設けられる複数の照明制御ユニット211を含む。これらのユニットは、照明基板上に配置される。照明制御ユニット211の各々は、照明レンズ212と、LED213とを含む。照明制御ユニット211は、制御装置220からの指令に従って、光を照射する。より具体的には、LED213で発生した光は、照明レンズ212を通じてワークへ照射される。
撮像部230は、照明部210が照射した光の反射光を受けて、画像信号を出力する。この画像信号は、制御装置220へ送られる。より具体的には、撮像部230は、撮像レンズ231などの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの複数の画素に区画された撮像素子232を含む。
制御装置220は、画像処理装置200の全体を制御する。すなわち、制御装置220は、照明部210および撮像部230を制御するとともに、撮像部230からの画像信号に基づいて画像処理を行う。より具体的には、制御装置220は、処理部221と、記憶装置222と、ネットワーク通信部223とを含む。
処理部221は、CPU121AやFPGA121Bといった集積回路によって構成される。あるいは、処理部221は、DSP、GPU、ASIC(Application Specific Integrated Circuit)、その他の集積回路によって構成されてもよい。
記憶装置222は、ROM(Read Only Memory)、フラッシュメモリ、HDD、およびSSD(Solid State Drive)といった不揮発性記憶装置、および/または、RAM(Random Access Memory)などの不揮発メモリを含む。典型的に、処理部221が記憶装置222に格納されたプログラム(命令コード)222Aを実行することで、画像処理装置200が備える各種の画像処理を実現する。
ネットワーク通信部223は、ネットワーク2を介して、管理装置100との間でデータを送受信するためのインターフェイスである。より具体的には、ネットワーク通信部223は、Ethernet(登録商標)などに従う構成が採用される。
[機能構成]
<管理装置>
次に、図4を用いて、本実施形態に係る管理装置100の機能構成の一例について説明する。図4は、本実施形態に係る管理装置100の機能構成の一例を模式的に例示する。
識別器DB(DataBase)500は、特性の異なる複数の識別器を格納するデータベースであり、メモリ102又は記憶装置103により実現される。メモリ102又は記憶装置103は、本発明の「記憶部」の一例である。図4の例では、複数の識別器として識別器5011~501Nが例示されている。以下の説明では識別器5011~501Nを区別しない場合、識別器501と記載する。
ここで、識別器501は、任意の機械学習モデルに対して学習処理と評価処理とを行うことにより生成される。機械学習モデルは、所定のモデル構造と、学習処理によって変動する処理パラメータと、を有し、学習用データから得られる経験に基づいてその処理パラメータが最適化されることで、認識結果の精度が向上するモデルである。すなわち、本実施形態の識別器501は、より詳細には、所定のモデル構造と最適化された処理パラメータとの組み合わせである、所謂「学習済みモデル」を含むことになる。機械学習モデルのアルゴリズムは、例えば、サポートベクターマシン、ロジスティック回帰、ニューラルネットワーク等を用いることができるが、その種類は特に限定されない。
生成部510は、特定の検査対象物に対する識別器5011~501Nの各々の識別精度を測定するために用いられる複数のテスト画像を生成する。生成部510は、ワークの画像に対して、ユーザにより指定された欠陥画像を付加することでテスト画像を生成するようにしてもよい。ユーザは、付加する欠陥の大きさや場所を任意に指定したテスト画像を自ら作成(手動で作成)することができる。ここで、欠陥画像とは、例えば、キズを示す画像、色等のムラを示す画像、汚れを示す画像、打痕を示す画像、欠けを示す画像、バリを示す画像、異物を示す画像、印字のかすれを示す画像、又は、印字等を誤った位置に表示した画像等を含む。
また、生成部510は、ワークの画像に対して、ユーザにより指定されたパラメータに基づいて生成した欠陥画像を付加することで(ユーザから画像の加工条件を受け付けて)テスト画像を自動的に生成するようにしてもよい。ユーザにより指定されたパラメータとは、例えば、欠陥の大きさの最大及び最小を示すパラメータ、欠陥を付加すべき場所の範囲を示すパラメータ等である。生成部510は、これらのパラメータの範囲内で欠陥画像をランダムに生成し、生成した欠陥画像を、ワークの画像に付加することで複数のテスト画像を自動的に生成するようにしてもよい。
また、生成部510は、より具体的には、画像加工部511と、テスト画像DB512と、現画像DB513とを有していてもよい。テスト画像DB512には、生成された複数のテスト画像が格納され、現画像DB513には、ワークの画像が格納されていてもよい。画像加工部511は、現画像DB513からワークの画像を取得し、取得した画像に、テスト画像DB512に格納されている欠陥画像を付加する加工を行うことで、テスト画像を生成するようにしてもよい。テスト画像DB512及び現画像DB513は、メモリ102又は記憶装置103により実現される。
測定部520は、特定の検査対象物に対する識別器5011~501Nの識別精度と実行時間とを識別器501ごとに測定する。より具体的には、測定部520は、識別器5011~501Nの各々にテスト画像を識別させることで、識別精度と実行時間とを識別器501ごとに測定する。
選択部540は、測定部520で測定された識別精度が所定の許容範囲に含まれる識別器501のうち、実行時間が所定の条件を満たす識別器501を、画像処理装置200に実行させる識別器501として選択する。選択部540は、測定部520で測定された識別精度が所定の許容範囲に含まれる識別器501が存在しない場合、識別精度が最も高い識別器501を、画像処理装置200に実行させる識別器501として選択するようにしてもよい。
出力部530は、測定部520で測定された識別器5011~501Nの各々の識別精度と実行時間とを表示部105に出力する。設定部550は、選択部540で選択された識別器501を、画像処理装置200で動作させるための設定を行う。また、設定部550は、設定ファイル生成部551を有する。設定ファイル生成部551は、画像処理装置200に実行させる識別器501として選択された識別器501を、画像処理装置200に設定するための設定ファイルを生成する。設定ファイルには、例えば、選択された識別器501のモデル構造と処理パラメータとが含まれていてもよい。設定ファイル生成部551で生成された設定ファイルは画像処理装置200に送信され、画像処理装置200の処理部221で実行される。これにより、管理装置100の選択部540で選択された識別器501が画像処理装置200で動作することになる。或いは、識別器DB500に格納されている識別器5011~501Nと同一の識別器を予め画像処理装置200に格納しておき、設定ファイルには、画像処理装置200で動作させる識別器を指定する情報を含めることとしてもよい。
ここで、本実施形態における識別器501は、入力された画像に欠陥が含まれている可能性を示す数値(以下、「類似度」と呼ぶ)を出力する学習済みモデルと、欠陥が含まれているとみなす類似度の境界を示す閾値とを組み合わせることで、検査対象物における欠陥の有無を識別する識別器501であってもよい。また、識別器5011~501Nに用いられる学習済みモデルには、性能の異なる複数の種別の学習済みモデルが含まれていてもよい。すなわち、識別器5011~501Nは、学習済みモデルの種別と、欠陥があると識別する閾値との組み合わせにより、それぞれ識別精度が異なる識別器501であってもよい。
例えば、学習済みモデルAを有しており閾値が90%に設定されている識別器501は、画像を入力した学習済みモデルAから85%との類似度が出力された場合、入力された画像に欠陥が含まれていないとの識別結果を出力する。同様に、学習済みモデルAを有しており閾値が80%に設定されている識別器501は、画像を入力した学習済みモデルAから85%との類似度が出力された場合、入力された画像に欠陥が含まれているとの識別結果を出力する。学習済みモデルの種別の具体例については後述する。
測定部520は、より具体的には、シミュレーション部521とパラメータ調整部522とを有していてもよい。シミュレーション部521は、測定対象の識別器501にテスト画像を入力することで識別結果(テスト画像に欠陥が含まれているか否か)を取得し、取得した識別結果に基づいて識別器501の識別精度を測定する。パラメータ調整部522は、シミュレーション部521に対し、識別器501に設定すべき閾値を指示する。
また、テスト画像は、欠陥を含むと認識されるべき複数の画像(以下、「不良品テスト画像」と呼ぶ。)と、欠陥を含むと認識されるべきではない複数の画像(以下、「良品テスト画像」と呼ぶ。)とを含んでいてもよい。不良品テスト画像とは、ワークの画像に対して、欠陥と認識されるべきサイズや形状等を有する欠陥画像を付加することで生成されるテスト画像を意味する。良品テスト画像とは、ワークの画像に対して、欠陥と認識されるべきではない(つまり欠陥とは言えない)サイズや形状等を有する欠陥画像を付加することで生成されるテスト画像を意味する。
この場合、測定部520が測定する識別器501の識別精度には、複数の不良品テスト画像に対して欠陥が含まれていると識別器が正しく識別する確率(以下、「欠陥識別率」と呼ぶ)と、複数の良品テスト画像に対して欠陥が含まれていると識別器が誤って識別する確率(以下、「フォールスポジティブ率」と呼ぶ)が含まれていてもよい。
測定部520は、識別器5011~501Nの各々に複数の不良品テスト画像を識別させることで欠陥識別率及び実行時間を測定し、更に、識別器5011~501Nの各々に複数の良品テスト画像を識別させることでフォールスポジティブ率及び実行時間を測定するようにしてもよい。また、選択部540は、測定部520で測定された欠陥識別率とフォールスポジティブ率とが所定の許容範囲に含まれる識別器501のうち、実行時間が所定の条件を満たす識別器501を、画像処理装置200に実行させる識別器501として選択するようにしてもよい。
ここで、不良品テスト画像は、本発明の「第1テスト画像」の一例である。また、良品テスト画像は、本発明の「第2テスト画像」の一例である。また、欠陥識別率は、本発明の「第1確率」の一例である。また、フォールスポジティブ率は、本発明の「第2確率」の一例である。
<画像処理装置>
図5は、本実施形態に係る画像処理装置200の機能構成の一例を模式的に例示する。受付部610は、管理装置100から、管理装置100で追加学習された識別器501を受け付けて、識別器222Bとして記憶装置222に格納する。識別部620は、記憶装置222に記憶された識別器222Bを用いて、撮像部230で撮像されたワークに含まれる欠陥の有無を識別する。記憶装置222は、本発明の「記憶部」の一例である。
<その他>
本実施形態では、管理装置100の各機能がいずれもプロセッサ101によって実現される例について説明している。しかしながら、以上の機能の一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、管理装置100それぞれの機能構成に関して、実施形態に応じて、適宜、機能の省略、置換及び追加が行われてもよい。
§3 動作例
次に、管理装置100の動作例を説明する。なお、以下で説明する処理手順は一例に過ぎず、各処理は可能な限り変更されてよい。また、以下で説明する処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
本動作例では、識別器501に用いられる機械学習モデルのアルゴリズムとして、ニューラルネットワークであって、特に階層が3層以上であるディープニューラルネットワーク(以下、「DNN」と称する。)を用いる前提で説明する。DNNは、入力から順に入力層、1以上の結合層(中間層)、出力層を有しており、各層を構成する複数のニューロンが隣接する層を構成する全てのニューロンと結合している。
次に、識別器について説明する。図6に示されるとおり、本実施形態に係る画像処理装置200は、入力された画像に欠陥が含まれている可能性を示す数値を出力する能力を学習した識別器として、ニューラルネットワーク1000を利用する。ニューラルネットワーク1000は、いわゆる深層学習に用いられる多層構造のニューラルネットワークであり、入力から順に、入力層1001、中間層(隠れ層)1002、及び出力層1003を備えている。
図6では、ニューラルネットワーク1000は複数層の中間層1002を備えており、入力層1001の出力が中間層1002の入力となり、中間層1002の出力が出力層1003の入力となっている。ただし、中間層1002の数は複数層に限られなくてもよく、ニューラルネットワーク1000は、中間層1002が1層のみであってもよい。
各層1001~1003は、1又は複数のニューロンを備えている。例えば、入力層1001のニューロンの数は、入力層1001に入力される各撮像画像の画素数に応じて設定することができる。中間層1002のニューロンの数は実施の形態に応じて適宜設定することができる。また、出力層1003は、対象とする検査対象物の識別種類数に応じて設定することができる。
隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。図6の例では、各ニューロンは、隣接する層の全てのニューロンと結合されているが、ニューロンの結合は、このような例に限定されなくてもよく、実施の形態に応じて適宜設定されてよい。
各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。画像処理装置200は、このようなニューラルネットワーク1000の入力層1001に上記各撮像画像を入力することで出力層1003から得られる出力値に基づいて対象物を識別する。
なお、このようなニューラルネットワーク1000の構成(例えば、ニューラルネットワーク1000の層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、各ニューロン間の結合の重み、及び各ニューロンの閾値を示す情報は、学習済みモデルに含まれている。画像処理装置200は、学習済みモデルを参照して、所望の対象物を識別する処理に用いる学習済みニューラルネットワーク1000の設定を行う。
[処理手順の全体像]
図7は、管理装置100が行う処理手順の一例を例示するフローチャートである。まず、ユーザは、欠陥を有しないワークの撮影を事前に行い、撮影したワークの画像を管理装置100に取り込む。取り込まれたワークの画像は、現画像DB513に格納される(S10)。ワークの撮影は、例えば、画像処理装置200の撮像部230を利用して行われてもよい。
続いて、管理装置100の生成部510は、ユーザの指示に基づいて不良品テスト画像及び良品テスト画像を生成する(S11)。具体的には、生成部510は、表示部105にテスト画像作成画面を表示し、ユーザから指示された欠陥画像をワークの画像に付加することで不良品テスト画像及び良品テスト画像を作成する。生成部510は、作成された不良品テスト画像及び良品テスト画像をテスト画像DB512に格納する。
続いて、管理装置100の測定部520は、複数の不良品テスト画像をテスト画像DB512から読み出し、識別器5011~501Nの各々に複数の不良品テスト画像を識別させることで、測定部520が、識別器5011~501Nの各々における欠陥識別率、及び識別器5011~501Nの各々に不良品テスト画像に欠陥が含まれているか否かの検出を開始させてから、識別器5011~501Nの各々が検出結果を出力するまでの実行時間を識別器501ごとに測定する。また、測定部520は、複数の良品テスト画像をテスト画像DB512から読み出し、識別器5011~501Nの各々に複数の良品テスト画像を識別させることで、測定部520が、識別器5011~501Nの各々におけるフォールスポジティブ率、及び、識別器5011~501Nの各々に良品テスト画像に欠陥が含まれているか否かの検出を開始させてから、識別器5011~501Nの各々が検出結果を出力するまでの実行時間を識別器501ごとに測定する。選択部540は、測定された識別率及びフォールスポジティブ率の両方が、所定の許容範囲に含まれる識別器501のうち、実行時間が最も短い識別器501を、画像処理装置200に実行させる識別器501として選択する(S12)。所定の許容範囲は、欠陥識別率の場合、画像処理装置200を使用するユーザが指定する欠陥識別率の下限(例えば90%以上)であり、フォールスポジティブ率の場合、画像処理装置200を使用するユーザが希望するフォールスポジティブ率の上限(例えば5%以下)である。
[テスト画像の作成]
続いて、図7のステップS11の処理手順について、図8~図10を用いて詳細に説明する。
図8は、テスト画像作成画面(手動)の一例を例示する。テスト画像作成画面(手動)は、ユーザが手動でテスト画像を作成するための画面である。テスト画像作成画面(手動)は、ワークの画像に付加したい欠陥画像の大きさや位置等を入力するための欠陥基本設定エリア1001と、欠陥画像が付加されたワークの画像を表示するテスト画像表示エリア1002とを有する。欠陥基本設定エリア1001には、作成するテスト画像が不良品テスト画像なのか良品テスト画像なのかを選択する選択メニュー1001aが含まれる。
テスト画像作成画面(手動)では、ユーザは、マウス操作やタッチパネル操作等により、ワークの画像上の任意の場所に欠陥画像を付加することができる。図8の例では、ワークの画像に、ユーザが、打痕1002a、汚れ1002b、キズ1002cを付加している様子を示している。また、テスト画像作成画面(手動)では、ユーザは、欠陥基本設定エリア1001にて、付加したい欠陥の大きさや位置等を数値入力することで、ワークの画像に欠陥画像を付加することもできる。ユーザが、作成完了ボタン1003を押下すると、生成部510は、テスト画像表示エリア1002に表示されている、欠陥画像が付加されたワークの画像を、テスト画像DBに保存する。より具体的には、選択メニュー1001aにて“不良品テスト画像”が選択されている場合、生成部510は、欠陥画像が付加されたワークの画像を、不良品テスト画像としてテスト画像DBに保存する。また、選択メニュー1001aにて“良品テスト画像”が選択されている場合、生成部510は、欠陥画像が付加されたワークの画像を、良品テスト画像としてテスト画像DBに保存する。
図9及び図10は、テスト画像作成画面(自動)の一例を例示する。テスト画像作成画面(自動)は、ユーザが入力したパラメータに基づいて生成部510が自動的にテスト画像を生成するための画面である。テスト画像作成画面(自動)は、ワークの画像に付加する欠陥画像のパラメータを入力するための欠陥基本設定エリア2001と、欠陥画像が付加されたワークの画像を表示するテスト画像表示エリア2002とを有する。図9は、不良品テスト画像を生成している状態を例示しており、図10は、不良品テスト画像と良品テスト画像の両方を同時に生成している状態を例示している。
図9の例では、欠陥基本設定エリア2001には、不良品テスト画像を生成するためにワークの画像に付加する欠陥画像のパラメータとして、少なくとも深さが最低10μm以上であり、かつ長さが最低1mmであるキズを付加することが設定されている。また、不良品テスト画像生成数は10に設定されている。また、キズの場所や色あいは任意(auto)に設定されている。この場合、生成部510は、少なくとも深さが最低10μmであり、かつ長さが最低1mmである任意の色あいのキズを、任意の場所に付加した不良品テスト画像を10枚生成する。
また、図10の例では、欠陥基本設定エリア2001には、不良品テスト画像を生成するためにワークの画像に付加する欠陥画像のパラメータとして、少なくとも深さが最低10μm以上であり、かつ長さが最低1mmであるキズを付加することが設定されている。また、良品テスト画像を生成するためにワークの画像に付加する欠陥画像のパラメータとして、少なくとも深さが最大10μmであり、かつ長さが最大1mmであるキズを付加することが設定されている。また、不良品テスト画像生成数は6に設定され、良品テスト画像生成数は4に設定されている。この場合、生成部510は、少なくとも深さが最低10μmであり、かつ長さが最低1mmである任意の色あいのキズを任意の場所に付加した不良品テスト画像を6枚生成し、少なくとも深さが最大10μmであり、かつ長さが最大1mmである任意の色あいのキズを任意の場所に付加した良品テスト画像を4枚生成する。
[識別器の選択]
続いて、図7のステップS12の処理手順について詳細に説明する。ここで、学習済みモデルの種別について具体的に説明する。前述したように、識別器5011~501Nは、学習済みモデルの種別と、欠陥があると識別する閾値との組み合わせにより設計された識別器501であってもよい。
図11に、学習済みモデルの種別の一例を例示する。種別1~3の学習済みモデルは、バイナリ型(2ビットの整数)で演算を行う学習済みモデルである。種別4~6の学習済みモデルは、整数型(8ビットの整数)で演算を行う学習済みモデルである。種別7~9の学習済みモデルは、浮動小数点型(float)で演算を行う学習済みモデルである。種別10~12の学習済みモデルは、浮動小数点型(double)で演算を行う学習済みモデルである。また、種別2、5、8、11の学習済みモデルは、それぞれ、種別1、4、7、10の学習済みモデルにおける全結合層のニューロンのうち例えば、70%未満のニューロンを削減した学習済みモデルである。また、種別3、6、9、12の学習済みモデルは、それぞれ、種別1、4、7、10の学習済みモデルにおける全結合層のニューロンのうち例えば70%以上のニューロンを削減した学習済みモデルである。
演算精度が低くなるほど学習済みモデル全体としての演算量が低下するため、実行時間は短くなるが識別精度は低下することになる。同様に、結合層のニューロンの削減量が多くなるほど学習済みモデル全体としての演算量が低下するため、実行時間は短くなるが識別精度は低下することになる。なお、削減するニューロンは、学習時に活性化率の低いニューロンとすることが望ましい。
なお、図11に示す例に限定されず、例えば、4ビットの整数で演算を行う学習済みモデルを用いるようにしてもよい。一般的にCPUは最小演算単位が8ビットであるが、FPGAやASICを利用することで4ビットや2ビットで演算を行うことも可能である。また、全結合層のニューロンを平均フィルタに置き換えた学習済みモデルを用いるようにしてもよい。また、学習済みモデルの種別は、以上説明した実施形態に限定されず、どのような学習済みモデルであってもよい。
図12は、管理装置100が識別器を選択する処理手順の一例を例示するフローチャートである。まず、測定部520は、テスト画像DB512から読み出した複数の不良品テスト画像を、識別器5011~501Nの各々に識別させることで、欠陥識別率及び実行時間を測定する(S101)。続いて、測定部520は、テスト画像DB512から読み出した複数の良品テスト画像を、識別器5011~501Nの各々に識別させることで、フォールスポジティブ率及び実行時間を測定する(S102)。
続いて、選択部540は、測定した欠陥識別率及びフォールスポジティブ率が、それぞれ所定の許容範囲以上である識別器501の有無を確認する(S103)。欠陥識別率及びフォールスポジティブ率が、それぞれ所定の許容範囲以上である識別器501が存在する場合はS104に進み、存在しない場合はS106に進む。
ここで、所定の許容範囲は、画像処理装置200を使用するユーザにより指定される欠陥識別率の下限及びフォールスポジティブ率の上限である。ユーザは、例えばラインを流れるワークの欠陥を検査する際に少なくとも欠陥識別率が90%以上であることを所望する場合、欠陥識別率に関する許容範囲として90%以上を設定する。同様に、ユーザは、例えばラインを流れるワークの欠陥を検査する際に、少なくともフォールスポジティブ率が10%以下であることを所望する場合、フォールスポジティブ率に関する許容範囲として10%以下を設定する。
続いて、選択部540は、欠陥識別率及びフォールスポジティブ率がそれぞれ所定の許容範囲以上である識別器501を実行時間が短い順に並び替え(S104)、実行時間が最も短い識別器501を画像処理装置200に実行させる識別器501として選択する(S105)。なお、選択部540は、ステップS101の処理手順で測定した実行時間と、ステップS102の処理手順で測定した実行時間との平均値を、ステップS104の処理手順で用いる実行時間とするようにしてもよい。
選択部540は、欠陥識別率及びフォールスポジティブ率が、それぞれ所定の許容範囲以上である識別器501が存在しない場合、最も欠陥識別率の高い識別器501を選択する(S106)。
図13は、欠陥識別率及びフォールスポジティブ率を測定した結果の具体例を例示する。縦軸は欠陥識別率を示し、横軸はフォールスポジティブ率を示している。P1、P2及びP3は、浮動小数点型の学習済みモデルを有する識別器501に対して、閾値としてそれぞれ84%、87%及び90%を設定した場合における欠陥識別率及びフォールスポジティブ率の例を示している。P4、P5及びP6は、整数型の学習済みモデルを有する識別器501に対して、閾値としてそれぞれ84%、87%及び90%を設定した場合における欠陥識別率及びフォールスポジティブ率の例を示している。P7、P8及びP9は、バイナリ型の学習済みモデルを有する識別器501に対して、閾値としてそれぞれ81%、84%及び87%を設定した場合における欠陥識別率及びフォールスポジティブ率の例を示している。また、ユーザが設定した許容範囲は、欠陥識別率が97%以上であり、かつ、フォールスポジティブ率が8%以下である。図13の例では、図12のステップS103の処理手順により、P1、P2、P4、P5及びP8に該当する識別器501が選択されることになる。
図14は、実行時間を測定した結果の具体例を例示する。縦軸は欠陥識別率を示し、横軸は実行時間を示している。図14によれば、P1、P2、P4、P5及びP8に該当する識別器501のうち実行時間が最も短い識別器501は、P8に該当する識別器501(閾値が84%に設定されたバイナリ型の学習済みモデルを有する識別器501)である。従って、図14の例では、図12のステップS105の処理手順により、閾値が84%に設定されたバイナリ型の学習済みモデルを有する識別器501が選択される。
[識別器の選択:欠陥識別率の測定]
図15は、管理装置100が欠陥識別率を測定する処理手順の一例を例示するフローチャートである。図15を用いて、図12のステップS101の処理手順について詳細に説明する。
まず、測定部520は、識別器5011~501Nに用いられている学習済みモデルの種別の中から1つの種別を選択する(S201)。続いて、測定部520は、テスト画像DB512に格納されている複数の不良品テスト画像の中から1つの不良品テスト画像を選択する(S202)。続いて、測定部520は、ステップS201の処理手順で選択した学習済みモデルの種別を有する識別器501に対して閾値を設定し、ステップS202の処理手順で選択した1つの不良品テスト画像を入力することで欠陥識別率及び実行時間を測定する。実行時間は、例えば、識別器501に不良品テスト画像を入力した時刻と識別結果が出力された時刻との差分を算出することで測定することができる。
また、測定部520は、識別器501に設定する閾値を変化させることで、識別器501に設定可能な全ての閾値に対して欠陥識別率及び実行時間を測定する(S203)。識別器501に設定可能な閾値は、例えば75%~97%までの間で3%ずつ増加させるといったように、最小値、最大値及び増加量が予め定められていてもよい。
続いて、測定部520は、テスト画像DB512に格納されている複数の不良品テスト画像についてステップS202乃至ステップS203の処理手順を繰り返す。全ての不良品テスト画像について、閾値ごとの欠陥識別率及び実行時間の測定が完了するとステップS205の処理手順に進む(S204)。
測定部520は、ステップS202乃至ステップS203の処理手順を繰り返すことで得られた閾値ごとの欠陥識別率及び実行時間の平均値を計算する(S205)。これにより、ステップS201の処理手順で選択された学習済みモデルの種別を有する識別器501について、閾値ごとの欠陥識別率及び実行時間が得られることになる。
続いて、測定部520は、識別器5011~501Nに用いられている複数の学習済みモデルの種別の各々についてステップS201乃至ステップS205の処理手順を繰り返すことで、全ての学習済みモデルの種別について閾値ごとの欠陥識別率及び実行時間の測定を行う(S206)。全ての学習済みモデルの種別について測定が完了すると処理を終了する。以上の処理手順により、識別器5011~501Nの各々について欠陥識別率及び実行時間が得られることになる。
[識別器の選択:フォールスポジティブ率の測定]
図16は、管理装置100がフォールスポジティブ率を測定する処理手順の一例を例示するフローチャートである。図16を用いて、図12のステップS102の処理手順について詳細に説明する。
まず、測定部520は、識別器5011~501Nに用いられている複数の学習済みモデルの種別の中から1つの種別を選択する(S301)。続いて、測定部520は、テスト画像DB512に格納されている複数の良品テスト画像の中から1つの良品テスト画像を選択する(S302)。続いて、測定部520は、ステップS301の処理手順で選択した学習済みモデルの種別を有する識別器501に対して閾値を設定し、ステップS302の処理手順で選択した良品テスト画像を入力することでフォールスポジティブ率及び実行時間を測定する。実行時間は、例えば、識別器501に良品テスト画像を入力した時刻と識別結果が出力された時刻との差分を算出することで測定することができる。
また、測定部520は、識別器501に設定する閾値を変化させることで、識別器501に設定可能な全ての閾値に対してフォールスポジティブ率及び実行時間を測定する(S303)。識別器501に設定可能な閾値は、例えば0%~10%までの間で1%ずつ増加させるといったように、最小値、最大値及び増加量が予め定められていてもよい。
続いて、測定部520は、テスト画像DB512に格納されている複数の良品テスト画像についてステップS302乃至ステップS303の処理手順を繰り返す。全ての良品テスト画像について、閾値ごとのフォールスポジティブ率及び実行時間の測定が完了するとステップS305の処理手順に進む(S304)。
測定部520は、ステップS302乃至ステップS303の処理手順を繰り返すことで得られた閾値ごとのフォールスポジティブ率及び実行時間の平均値を計算する(S305)。これにより、ステップS301の処理手順で選択された学習済みモデルの種別を有する識別器501について、閾値ごとのフォールスポジティブ率及び実行時間が得られることになる。
続いて、測定部520は、識別器5011~501Nに用いられている複数の学習済みモデルの種別の各々についてステップS301乃至ステップS305の処理手順を繰り返すことで、全ての学習済みモデルの種別について閾値ごとの欠陥識別率及び実行時間の測定を行う(S306)。全ての学習済みモデルの種別について測定が完了すると処理を終了する。以上の処理手順により、識別器5011~501Nの各々についてフォールスポジティブ率及び実行時間が得られることになる。
§4 変形例
識別器5011~501Nは、特定かつ同一の検査対象物に特化した識別器であってもよい。図17は、識別器が識別する検査対象物の一例を例示する。例えば識別器5011~501Nは、複数の属性(図17の例ではワークの材質、ワークの表面形状、検出対象とする欠陥の項目及び検出可能な欠陥のサイズ等)の全部又は一部の組み合わせにより定められる検査対象物について、特定かつ同一の検査対象物に特化した識別器501であってもよい。識別器5011~501Nは、識別器5011~501Nの中でそれぞれ異なる学習済みモデルの種別により設計されていてもよい。
また、識別器5011~501Nは、様々な検査対象物に特化した識別器の集合であってもよい。具体的には、例えば、「識別器5011~501A:検査対象のワークが金属であり、ワークの表面形状が光沢有であり、かつ深さ100μm以上のキズに特化して識別能力を有する識別器」、「識別器501A+1~501B:検査対象のワークの材質が金属であり、ワークの表面形状が光沢有であり、かつ汚れに特化して識別能力を有する識別器」、「識別器501B+1~501N:検査対象のワークの材質が金属であり、ワークの表面形状がざらついており、かつ打痕に特化して識別能力を有する識別器」というように、識別器5011~501Nは様々な検査項目に特化した識別器の集合であってもよい。また、識別器5011~501Aは、識別器5011~501Aの中でそれぞれ異なる学習済みモデルの種別により設計されていてもよい。同様に、識別器501A+1~501Bは、識別器501A+1~501Bの中でそれぞれ異なる学習済みモデルの種別により設計されており、識別器501B+1~501Nも、識別器501B+1~501Nの中でそれぞれ異なる学習済みモデルの種別により設計されていてもよい。
管理装置100は、検査項目ごとに最適な識別器501を選択し、選択した識別器501をそれぞれ異なる画像処理装置200に設定するようにしてもよい。これにより、例えば、生産ラインに設置された複数の画像処理装置200が、生産ラインを流れるワークに対して、それぞれ異なる検査項目について識別するといった動作を行うことができ、より識別精度の高い画像処理システム1を構築することが可能になる。
以上、本実施形態について説明した。本実施形態によれば、ワークを検査する複数の識別器500の中から、測定された識別精度が所定の許容範囲に含まれる識別器のうち、実行時間が所定の条件を満たす識別器を選択して画像処理装置200に実行させることができる。これにより、識別精度及び実行時間について、ユーザのニーズに応じた識別器を提供することが可能になる。
また、例えば、画像処理システム1を提供する企業等が、複数の識別器501を予め画像処理システム1に組み込んだ(プリセットした)状態でユーザに提供し、ユーザが自ら管理装置100を操作することで、自身のニーズに応じた識別精度及び処理時間を備える識別器を選択するといった運用を行うことも可能になる。
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
(付記1)
対象物を識別する識別器(501)であって特性の異なる複数の識別器(501)を記憶する記憶部(102、103)と、
特定の対象物に対する前記複数の識別器(501)の各々の識別精度と実行時間とを識別器(501)ごとに測定する測定部(520)と、
前記複数の識別器(501)の各々の前記識別精度と前記実行時間とを出力する出力部(530)と、
前記測定部(520)で測定された前記識別精度が第1の条件を満たす識別器(501)のうち、前記実行時間が第2の条件を満たす識別器(501)を選択する選択部(540)と、
前記選択された識別器(501)を識別装置(200)上で動作させるための設定を行う設定部(550)と、
を有する情報処理装置(100)。
(付記2)
前記記憶部(102、103)は、前記特定の対象物に対する前記複数の識別器(501)の各々の前記識別精度と前記実行時間とを測定するために用いられるテスト画像を記憶し、
前記測定部(520)は、前記複数の識別器(501)の各々に前記テスト画像を識別させることで、前記識別精度と前記実行時間とを識別器(501)ごとに測定する、
付記1に記載の情報処理装置。
(付記3)
前記記憶部(102、103)は、対象物の画像を記憶し、
ユーザから画像の加工条件についての入力を受け、前記加工条件に基づいて前記記憶部(102、103)に記憶された対象物の画像を加工することで前記テスト画像を生成する生成部を有する、
付記2に記載の情報処理装置。
(付記4)
前記生成部は、前記記憶部(102、103)に記憶された対象物の画像に対して、ユーザにより指定された検出対象の画像を付加することで、前記テスト画像を生成する、
付記3に記載の情報処理装置。
(付記5)
前記生成部は、前記記憶部(102、103)に記憶された対象物の画像に対して、ユーザにより指定されたパラメータに基づいて生成した検出対象の画像を付加することで、前記テスト画像を生成する、
付記3に記載の情報処理装置。
(付記6)
前記テスト画像は、検出対象を含むことを正解とする複数の第1テスト画像を含み、
前記識別精度は、前記複数の第1テスト画像に対して検出対象が含まれていると識別器(501)が識別する確率である第1確率を含み、
前記測定部(520)は、前記複数の識別器(501)の各々に前記複数の第1テスト画像を識別させることで前記第1確率を測定し、
前記選択部(540)は、前記測定部(520)で測定された前記第1確率が前記第1の条件に含まれる識別器(501)のうち、前記実行時間が前記第2の条件を満たす識別器(501)を選択する、
付記2乃至5のいずれか一項に記載の情報処理装置。
(付記7)
前記テスト画像は、更に、検出対象を含まないことを正解とする複数の第2テスト画像とを含み、
前記識別精度は、更に、前記複数の第2テスト画像に対して検出対象が含まれていると識別器(501)が誤って識別する確率である第2確率を含み、
前記測定部(520)は、更に、前記複数の識別器(501)の各々に前記複数の第2テスト画像を識別させることで前記第2確率を測定し、
前記選択部(540)は、前記測定部(520)で測定された前記第2確率が前記第1の条件に含まれる識別器(501)のうち、前記実行時間が前記第2の条件を満たす識別器(501)を選択する、
付記6に記載の情報処理装置。
(付記8)
前記第1の条件は、前記識別装置を使用するユーザにより指定される識別精度の範囲である、
付記1乃至7のいずれか一項に記載の情報処理装置。
(付記9)
前記選択部(540)は、前記測定部(520)で測定された前記識別精度が前記第1の条件に含まれる識別器(501)が存在しない場合、前記識別精度が最も高い識別器(501)を選択する、
付記1乃至8のいずれか一項に記載の情報処理装置。
(付記10)
前記複数の識別器(501)の各々は、学習済みモデルの種別と、検出対象があると識別する閾値との組み合わせにより設計されている、
付記1乃至9のいずれか一項に記載の情報処理装置。
(付記11)
前記実行時間が前記第2の条件を満たす識別器(501)は、前記実行時間が最も短い識別器(501)である、
付記1乃至10のいずれか一項に記載の情報処理装置。
(付記12)
付記1乃至11のいずれか一項に記載の情報処理装置(100)と、該情報処理装置(100)と通信する前記識別装置(200)とを含む識別システム(1)であって、
前記識別装置(200)は、
前記情報処理装置(100)から、前記情報処理装置(100)で選択された識別器(501)を受け付けて記憶部(222)に格納する受付部(610)と、
前記記憶部(222)に記憶された識別器(222B)を用いて対象物を識別する識別部(620)と、
を有する、
識別システム(1)。
(付記13)
対象物を識別する識別器(501)であって特性の異なる複数の識別器(501)を記憶する記憶部(102、103)を有する情報処理装置(100)が実行する設定方法であって、
特定の対象物に対する前記複数の識別器(501)の各々の識別精度と実行時間とを識別器(501)ごとに測定するステップと、
前記複数の識別器(501)の各々の前記識別精度と前記実行時間とを出力するステップと、
前記測定された前記識別精度が第1の条件を満たす識別器(501)のうち、前記実行時間が第2の条件を満たす識別器(501)を選択するステップと、
前記選択された識別器(501)を識別装置上で動作させるための設定を行うステップと、
を有する設定方法。
(付記14)
コンピュータ(100)を、
対象物を識別する識別器(501)であって特性の異なる複数の識別器(501)を記憶する記憶手段(102、103)と、
特定の対象物に対する前記複数の識別器(501)の各々の識別精度と実行時間とを識別器(501)ごとに測定する測定手段(520)と、
前記複数の識別器(501)の各々の前記識別精度と前記実行時間とを出力する出力手段(530)と、
前記測定手段(520)で測定された前記識別精度が第1の条件を満たす識別器(501)のうち、前記実行時間が第2の条件を満たす識別器(501)を選択する選択手段(540)と、
前記選択された識別器(501)を識別装置上で動作させるための設定を行う設定手段(550)と、
として機能させるプログラム。
1…画像処理システム、100…管理装置、101…プロセッサ、102…メモリ(記憶部又は第1記憶部)、103…記憶装置(記憶部又は第1記憶部)、103A…プログラム、104…ネットワークインターフェイス、105…表示部、106…操作部、107…メモリカードリーダ・ライタ、107A…記憶媒体、108…内部バス、121A…CPU、200…画像処理装置、210…照明部、211…照明制御ユニット、212…照明レンズ、220…制御装置、221…処理部、222…記憶装置(記憶部又は第2記憶部)、222A…プログラム(命令コード)、223…ネットワーク通信部、230…撮像部、231…撮像レンズ、232…撮像素子、500…識別器DB、501…識別器、510…生成部、511…画像加工部、512…テスト画像DB、513…現画像DB、520…測定部、521…シミュレーション部、522…パラメータ調整部、530…出力部、540…選択部、550…設定部、551…設定ファイル生成部

Claims (13)

  1. 識別装置と通信する情報処理装置であって、
    対象物を識別する識別器であって特性の異なる複数の識別器を記憶する記憶部と、
    特定の対象物に対する前記複数の識別器の各々の識別精度と実行時間とを識別器ごとに測定する測定部と、
    前記測定部で測定された前記識別精度が第1の条件を満たす識別器のうち、前記実行時間が最も短い識別器を選択する選択部と、
    前記選択された識別器を前記識別装置上で動作させるための設定を行う設定部と、
    を有する情報処理装置。
  2. 前記記憶部は、前記特定の対象物に対する前記複数の識別器の各々の前記識別精度と前記実行時間とを測定するために用いられるテスト画像を記憶し、
    前記測定部は、前記複数の識別器の各々に前記テスト画像を識別させることで、前記識別精度と前記実行時間とを識別器ごとに測定する、
    請求項1に記載の情報処理装置。
  3. 前記記憶部は、対象物の画像を記憶し、
    ユーザから画像の加工条件についての入力を受け、前記加工条件に基づいて前記記憶部に記憶された対象物の画像を加工することで前記テスト画像を生成する生成部を有する、
    請求項2に記載の情報処理装置。
  4. 前記生成部は、前記記憶部に記憶された対象物の画像に対して、ユーザにより指定された検出対象の画像を付加することで、前記テスト画像を生成する、
    請求項3に記載の情報処理装置。
  5. 前記生成部は、前記記憶部に記憶された対象物の画像に対して、ユーザにより指定されたパラメータに基づいて生成した検出対象の画像を付加することで、前記テスト画像を生成する、
    請求項3に記載の情報処理装置。
  6. 前記テスト画像は、検出対象を含むことを正解とする複数の第1テスト画像を含み、
    前記識別精度は、前記複数の第1テスト画像に対して検出対象が含まれていると識別器が識別する確率である第1確率を含み、
    前記測定部は、前記複数の識別器の各々に前記複数の第1テスト画像を識別させることで前記第1確率を測定し、
    前記選択部は、前記測定部で測定された前記第1確率が前記第1の条件に含まれる識別器のうち、前記実行時間が最も短い識別器を選択する、
    請求項2乃至5のいずれか一項に記載の情報処理装置。
  7. 前記テスト画像は、更に、検出対象を含まないことを正解とする複数の第2テスト画像とを含み、
    前記識別精度は、更に、前記複数の第2テスト画像に対して検出対象が含まれていると識別器が誤って識別する確率である第2確率を含み、
    前記測定部は、更に、前記複数の識別器の各々に前記複数の第2テスト画像を識別させることで前記第2確率を測定し、
    前記選択部は、前記測定部で測定された前記第2確率が前記第1の条件に含まれる識別器のうち、前記実行時間が最も短い識別器を選択する、
    請求項6に記載の情報処理装置。
  8. 前記第1の条件は、前記識別装置を使用するユーザにより指定される識別精度の範囲である、
    請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 前記選択部は、前記測定部で測定された前記識別精度が前記第1の条件に含まれる識別器が存在しない場合、前記識別精度が最も高い識別器を選択する、
    請求項1乃至8のいずれか一項に記載の情報処理装置。
  10. 前記複数の識別器の各々は、学習済みモデルの種別と、検出対象があると識別する閾値との組み合わせにより設計されている、
    請求項1乃至9のいずれか一項に記載の情報処理装置。
  11. 請求項1乃至10のいずれか一項に記載の情報処理装置と、該情報処理装置と通信する前記識別装置とを含む識別システムであって、
    前記識別装置は、
    前記情報処理装置から、前記情報処理装置で選択された識別器を受け付けて記憶部に格納する受付部と、
    前記記憶部に記憶された識別器を用いて対象物を識別する識別部と、
    を有する、
    識別システム。
  12. 対象物を識別する識別器であって特性の異なる複数の識別器を記憶する記憶部を有し、識別装置と通信する情報処理装置が実行する設定方法であって、
    特定の対象物に対する前記複数の識別器の各々の識別精度と実行時間とを識別器ごとに測定するステップと、
    前記測定された前記識別精度が第1の条件を満たす識別器のうち、前記実行時間が最も短い識別器を選択するステップと、
    前記選択された識別器を前記識別装置上で動作させるための設定を行うステップと、
    を有する設定方法。
  13. 識別装置と通信するコンピュータを、
    対象物を識別する識別器であって特性の異なる複数の識別器を記憶する記憶手段と、
    特定の対象物に対する前記複数の識別器の各々の識別精度と実行時間とを識別器ごとに測定する測定手段と、
    前記測定手段で測定された前記識別精度が第1の条件を満たす識別器のうち、前記実行時間が最も短い識別器を選択する選択手段と、
    前記選択された識別器を前記識別装置上で動作させるための設定を行う設定手段と、
    として機能させるプログラム。
JP2017239570A 2017-12-14 2017-12-14 情報処理装置、識別システム、設定方法及びプログラム Active JP6992475B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017239570A JP6992475B2 (ja) 2017-12-14 2017-12-14 情報処理装置、識別システム、設定方法及びプログラム
CN201811179930.2A CN109978817A (zh) 2017-12-14 2018-10-10 信息处理装置、识别系统、设定方法以及存储介质
EP18200580.1A EP3499418B1 (en) 2017-12-14 2018-10-16 Information processing apparatus, identification system, setting method, and program
US16/162,456 US10776911B2 (en) 2017-12-14 2018-10-17 Information processing apparatus, identification system, setting method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017239570A JP6992475B2 (ja) 2017-12-14 2017-12-14 情報処理装置、識別システム、設定方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019106112A JP2019106112A (ja) 2019-06-27
JP6992475B2 true JP6992475B2 (ja) 2022-01-13

Family

ID=63878343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017239570A Active JP6992475B2 (ja) 2017-12-14 2017-12-14 情報処理装置、識別システム、設定方法及びプログラム

Country Status (4)

Country Link
US (1) US10776911B2 (ja)
EP (1) EP3499418B1 (ja)
JP (1) JP6992475B2 (ja)
CN (1) CN109978817A (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
CN108846841A (zh) * 2018-07-02 2018-11-20 北京百度网讯科技有限公司 显示屏质量检测方法、装置、电子设备及存储介质
IL265163B (en) * 2019-03-04 2022-01-01 Tinyinspektor Ltd System and method for adjustable production line inspection
WO2020245936A1 (ja) * 2019-06-05 2020-12-10 日本電信電話株式会社 推論処理装置および推論処理方法
JP2021015546A (ja) * 2019-07-16 2021-02-12 株式会社日立製作所 情報処理システムおよび情報処理方法
JP7269122B2 (ja) * 2019-07-18 2023-05-08 株式会社日立ハイテク データ分析装置、データ分析方法及びデータ分析プログラム
CN111062401A (zh) * 2019-09-27 2020-04-24 商汤国际私人有限公司 堆叠物体的识别方法及装置、电子设备和存储介质
US20210201191A1 (en) * 2019-12-27 2021-07-01 Stmicroelectronics, Inc. Method and system for generating machine learning based classifiers for reconfigurable sensor
US11816827B2 (en) 2020-02-13 2023-11-14 Inspekto A.M.V. Ltd. User interface device for autonomous machine vision inspection
JP7297705B2 (ja) * 2020-03-18 2023-06-26 株式会社東芝 処理装置、処理方法、学習装置およびプログラム
JP7409490B2 (ja) * 2020-04-21 2024-01-09 株式会社島津製作所 細胞画像解析装置
CN111582359B (zh) * 2020-04-28 2023-04-07 新疆维吾尔自治区烟草公司 一种图像识别方法、装置、电子设备及介质
US11151710B1 (en) * 2020-05-04 2021-10-19 Applied Materials Israel Ltd. Automatic selection of algorithmic modules for examination of a specimen
US11937019B2 (en) 2021-06-07 2024-03-19 Elementary Robotics, Inc. Intelligent quality assurance and inspection device having multiple camera modules
WO2022102523A1 (ja) * 2020-11-10 2022-05-19 パナソニックIpマネジメント株式会社 データ作成システム、学習システム、推定システム、処理装置、評価システム、データ作成方法、及びプログラム
JP2022164146A (ja) * 2021-04-16 2022-10-27 株式会社キーエンス 画像検査装置、画像処理方法、画像処理プログラム及びコンピュータで読取可能な記録媒体並びに記録した機器
US20230133152A1 (en) * 2021-11-03 2023-05-04 Elementary Robotics, Inc. Automatic Object Detection and Changeover for Quality Assurance Inspection
US11605159B1 (en) 2021-11-03 2023-03-14 Elementary Robotics, Inc. Computationally efficient quality assurance inspection processes using machine learning
US11675345B2 (en) 2021-11-10 2023-06-13 Elementary Robotics, Inc. Cloud-based multi-camera quality assurance architecture
US11605216B1 (en) 2022-02-10 2023-03-14 Elementary Robotics, Inc. Intelligent automated image clustering for quality assurance

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080075352A1 (en) 2006-09-27 2008-03-27 Hisae Shibuya Defect classification method and apparatus, and defect inspection apparatus
JP2010009517A (ja) 2008-06-30 2010-01-14 Canon Inc パターン検出器の学習装置、学習方法及びプログラム
JP2012018450A (ja) 2010-07-06 2012-01-26 Keio Gijuku ニューラルネットワークシステム、ニューラルネットワークシステムの構築方法およびニューラルネットワークシステムの制御プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11341258A (ja) * 1998-05-28 1999-12-10 Toshiba Corp 画像処理装置および画像処理方法
JP4158762B2 (ja) * 2004-11-30 2008-10-01 沖電気工業株式会社 改ざん検出閾値決定システム,評価対象データ作成装置,閾値決定装置,評価対象データ作成方法,閾値決定方法
KR101377805B1 (ko) * 2010-05-18 2014-04-02 주식회사 만도 분류기 선택 방법 및 그 장치
US10185892B1 (en) * 2014-05-30 2019-01-22 Amazon Technologies, Inc. Automatic large-scale imaging device diagnostics
US9766187B2 (en) * 2014-08-27 2017-09-19 Kla-Tencor Corp. Repeater detection
US9766186B2 (en) * 2014-08-27 2017-09-19 Kla-Tencor Corp. Array mode repeater detection
JP6090269B2 (ja) * 2014-09-08 2017-03-08 コニカミノルタ株式会社 電子文書生成装置、プログラムおよび電子文書生成システム
US10650508B2 (en) * 2014-12-03 2020-05-12 Kla-Tencor Corporation Automatic defect classification without sampling and feature selection
US9445086B2 (en) * 2014-12-10 2016-09-13 Facebook, Inc. Methods, systems, and apparatus for camera testing using virtual images
US9922269B2 (en) * 2015-06-05 2018-03-20 Kla-Tencor Corporation Method and system for iterative defect classification
JP6031181B2 (ja) 2015-12-10 2016-11-24 株式会社ユニバーサルエンターテインメント 識別装置及び遊技用装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080075352A1 (en) 2006-09-27 2008-03-27 Hisae Shibuya Defect classification method and apparatus, and defect inspection apparatus
JP2010009517A (ja) 2008-06-30 2010-01-14 Canon Inc パターン検出器の学習装置、学習方法及びプログラム
JP2012018450A (ja) 2010-07-06 2012-01-26 Keio Gijuku ニューラルネットワークシステム、ニューラルネットワークシステムの構築方法およびニューラルネットワークシステムの制御プログラム

Also Published As

Publication number Publication date
US20190188846A1 (en) 2019-06-20
EP3499418A3 (en) 2019-08-28
CN109978817A (zh) 2019-07-05
US10776911B2 (en) 2020-09-15
JP2019106112A (ja) 2019-06-27
EP3499418A2 (en) 2019-06-19
EP3499418B1 (en) 2023-03-15

Similar Documents

Publication Publication Date Title
JP6992475B2 (ja) 情報処理装置、識別システム、設定方法及びプログラム
JP6955211B2 (ja) 識別装置、識別方法及びプログラム
US10964004B2 (en) Automated optical inspection method using deep learning and apparatus, computer program for performing the method, computer-readable storage medium storing the computer program, and deep learning system thereof
CN110402487B (zh) 对从晶片检测的缺陷进行分类的方法和装置
JP6924413B2 (ja) データ生成装置、データ生成方法及びデータ生成プログラム
JP7054436B2 (ja) 検出システム、情報処理装置、評価方法及びプログラム
JP6113024B2 (ja) 分類器取得方法、欠陥分類方法、欠陥分類装置およびプログラム
US11747284B2 (en) Apparatus for optimizing inspection of exterior of target object and method thereof
JP7349816B2 (ja) 画像検査装置
CN107111872A (zh) 信息处理装置、信息处理方法、及程序
JP2011158373A (ja) 自動欠陥分類のための教師データ作成方法、自動欠陥分類方法および自動欠陥分類装置
JP2015143951A (ja) 物体判別装置、画像センサ、物体判別方法
JP7393313B2 (ja) 欠陥分類装置、欠陥分類方法及びプログラム
CN115668286A (zh) 训练自动缺陷分类的检测仪器的方法与系统
JP2010071826A (ja) 教師データ作成方法、並びに、画像分類方法および画像分類装置
JP7056259B2 (ja) 検査システム、識別システム、及び識別器評価装置
CN114609139A (zh) 检查系统、管理装置、检查方法、记录介质和物品的制造方法
JP2006292615A (ja) 外観検査装置、外観検査方法、コンピュータを外観検査装置として機能させるためのプログラムおよび記録媒体
JP2020112483A (ja) 外観検査システム、計算モデル構築方法及び計算モデル構築プログラム
JP6616645B2 (ja) 分類方法、検査方法、検査装置、およびプログラム
JP2013205320A (ja) 検査条件決定方法、検査方法および検査装置
JP2020177429A (ja) 情報処理装置、情報処理方法及びプログラム
WO2022215446A1 (ja) 画像判定装置、画像判定方法、及び、プログラム
JP5464986B2 (ja) 良否判定装置、良否判定方法および良否判定プログラム
US10789697B2 (en) Devices, systems, and methods for spatial-neighborhood consistency in feature detection in image data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211012

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211012

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20211020

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20211021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211122

R150 Certificate of patent or registration of utility model

Ref document number: 6992475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150