[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP7006567B2 - 撮影方法及び撮影装置 - Google Patents

撮影方法及び撮影装置 Download PDF

Info

Publication number
JP7006567B2
JP7006567B2 JP2018211495A JP2018211495A JP7006567B2 JP 7006567 B2 JP7006567 B2 JP 7006567B2 JP 2018211495 A JP2018211495 A JP 2018211495A JP 2018211495 A JP2018211495 A JP 2018211495A JP 7006567 B2 JP7006567 B2 JP 7006567B2
Authority
JP
Japan
Prior art keywords
image
lighting
inspection
shots
machine learning
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
JP2018211495A
Other languages
English (en)
Other versions
JP2020077326A (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 JP2018211495A priority Critical patent/JP7006567B2/ja
Priority to PCT/JP2019/041849 priority patent/WO2020095712A1/ja
Priority to US17/270,438 priority patent/US11435297B2/en
Priority to CN201980053476.2A priority patent/CN112567428B/zh
Priority to EP19882722.2A priority patent/EP3879486A4/en
Publication of JP2020077326A publication Critical patent/JP2020077326A/ja
Application granted granted Critical
Publication of JP7006567B2 publication Critical patent/JP7006567B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8806Specially adapted optical and illumination features
    • 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
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • 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
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8883Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges involving the calculation of gauges, generating models
    • 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/10016Video; Image sequence
    • 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

Landscapes

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

Description

本発明は、対象物の撮影方法及び撮影装置に関する。
製造現場における製品の外観検査は、機械による人員の置き換えが最も進んでいない分野の1つであり、将来の労働人口減少に向けて取り組まなければならない重要な自動化の課題である。近年、ディープラーニングに代表される人工知能・機械学習技術の発展によって、検査の自動化技術は飛躍的に向上しつつある。例えば、特許文献1には、撮影された対象物(検査対象)の画像から評価基準を算出し、それを最大化/最小化させる撮像・照明パラメータを反復的に求める手法が報告されている。
EP2887055A1
しかし、対象物への照明の当て方によっては欠陥の見え方は変化し、また、多くの照明を同時に当てすぎると、逆に、欠陥が見えなくなってしまうという性質があるため、所望の欠陥を複数種類同時に検出するためには、照明の当て方を変化させて複数回の撮影を行うことが必要な場合がある。このような場合、従来はどのような照明設定で何回撮影すれば所望の欠陥を十分に検出することができるのかは、人手による調整に頼っており、最適設計に多くの時間を必要としていた。一方、必要となる撮影枚数を自動決定させようと考えた場合、撮影枚数は処理時間又は処理速度(タクト)と直結しており、また、異なる観点や指標での評価が可能であるため、どの程度の撮影枚数の増分がシステム設計上許容されるのかまで自動的に判断することが困難であり、処理速度と欠陥の検出率とのバランスをとることが難しかった。また、対象物の外観検査以外でも、例えば顔認識システムといった他の機械学習による判断装置においても、同様の課題が存在していた。
そこで、本開示は、一側面では、かかる事情を鑑みてなされたものであり、対象物の撮影条件の最適化に資することができる撮影方法及び撮影装置を提供することを目的とする。
本発明は、上述した課題を解決するために、以下の構成を採用する。
〔1〕本開示に係る撮影方法の一例は、画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで対象物を検査する時の撮影方法であって、既知のラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで前記対象物を撮影して複数の撮影画像を取得することと、前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成することと、前記対象物に対して許容される最大撮影枚数を設定することと、前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物のラベルデータとを前記機械学習モデルによる学習に用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することを含む。
なお、対象物に対して許容される最大撮影枚数は、例えば、ユーザの指示に基づいて設定してもよいし、所定枚数を予め設定しておいてもよい。また、本開示における「検査アルゴリズムパラメータ」とは、機械学習モデルによって対象物を検査する際に使用する検査アルゴリズムのパラメータを示す。
当該構成では、検査モジュールで対象物を検査する際に用いられる照明パラメータと機械学習モデルの検査アルゴリズムパラメータの最適化を、対象物に対して許容される最大撮影枚数以下の各枚数(すなわち最大撮影枚数をSmaxとすると、撮影枚数としてのショット数S=1,2,・・・,Smax-1、及びSmaxのそれぞれ;但し、Sの増分は1に限定されない。)で撮影した場合について実施し、その各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する。よって、ユーザは、提示されたそれらの指標を確認し、処理時間や処理速度(タクト)を考慮しつつ所望の撮影枚数を決定し得るので、従来の如く人手による調整に頼らず、撮影条件の最適化を効率的に行うことができる。また、機械学習モデルによる推定結果と対象物のラベルデータとの比較結果に基づいて、検査モジュールで対象物を検査する際に用いられる照明パラメータと機械学習モデルの検査アルゴリズムパラメータの双方を同時に最適化し得るので、撮影条件を含む検査条件の設定作業を簡略化することができる。
〔2〕上記構成において、前記対象物の推定画像を生成することが、複数種類の対象物に対して対応する複数の前記画像データセットを準備することと、複数の前記画像データセットに基づいて、前記照明パラメータで照明する時の前記複数種類の対象物のそれぞれに対応する複数の前記推定画像を生成することを含んでもよい。当該構成では、複数種類の対象物のそれぞれについて予め撮影条件を最適化しておくことができるので、検査用の照明(例えばパターン光)が投影された対象物の検査をより迅速に行うことができる。
〔3〕また、本開示に係る撮影方法の他の一例は、画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで前記対象物を検査する時の撮影方法であって、 対応するラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで前記対象物を撮影して複数の撮影画像を取得することと、前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成することと、前記対象物に対して許容される最大撮影枚数を設定することと、前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することを含む。なお、かかる構成においても、対象物に対して許容される最大撮影枚数は、例えば、ユーザの指示に基づいて設定してもよいし、所定枚数を予め設定しておいてもよい。
当該構成でも、検査モジュールで対象物を検査する際に用いられる照明パラメータの最適化を、対象物に対して許容される最大撮影枚数以下の各枚数で撮影した場合について実施し、その各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する。よって、ユーザは、提示されたそれらの指標を確認し、処理時間や処理速度(タクト)を考慮しつつ所望の撮影枚数を決定し得るので、従来の如く人手による調整に頼らず、撮影条件の最適化を効率的に行うことができる。また、先に検査アルゴリズムパラメータを確定しておき、それから推定画像で照明パラメータを確定する方式とし得るので、機械学習モデルによる学習中の演算量が減少して演算を行うシステムの負荷が低減され、かつ、照明パラメータの設定操作を簡略化することができる。
〔4〕上記構成において、前記推定画像を学習済みの前記機械学習モデルに用いることが、 前記推定画像と前記対象物の対応する被検査特徴を表すラベルデータとを含む学習データを前記機械学習モデルによる追加学習に用いて、前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部を更新することと、前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部と前記照明パラメータを最適化することで、前記機械学習モデルの推定結果と前記ラベルデータとを一致させることを含んでいてもよい。当該構成では、 上記〔3〕の撮影方法における第2段階として検査アルゴリズムパラメータの一部又は全部と照明パラメータとを同時に最適化し得るので、機械学習モデルが一層良好な学習結果を得ることができる。
〔5〕上記構成において、前記照明パラメータを最適化することが、前記比較結果を表すLoss関数を最小化する前記照明パラメータを選択することを含み、前記選択することは、前記Loss関数が所定の範囲の前記照明パラメータのLoss平均値について最小化する前記照明パラメータを選択することであってもよい。当該構成では、所定の範囲の照明パラメータを考慮することで、対象物を検出する際の環境変化に対するロバスト性を高めることができる。
〔6〕上記構成において、前記対象物の推定画像を生成することが、前記照明パラメータと前記画像データセットに含まれた前記撮影画像とに基づいて確定される前記撮影画像の重み付きの線形重ね合わせの合計和に基づいて、前記対象物の推定画像を生成することを含んでもよい。当該構成では、線形照明状況での対象物の推定画像を模倣することができる。
〔7〕上記構成において、前記対象物の推定画像を生成することが、前記画像データセットに基づいて、前記照明パラメータに関する非線形の推定関数によって、前記対象物の推定画像を生成することを含んでもよい。当該構成では、非線形照明での対象物の推定画像を模倣することができ、検査モジュールの一般性(汎用性)を向上させることができる。
〔8〕上記構成において、前記検査性能を示す指標として複数種類の指標を算出して前記ユーザへ提示してもよい。当該構成では、ユーザが撮影条件(撮影枚数)を決定又は選択する際の判断材料が増えるので、撮影条件のより好適な最適化が可能となる。
〔9〕本開示に係る撮影装置の一例は、画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで前記対象物を検査する時の撮影装置であって、既知のラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで前記対象物を撮影して複数の撮影画像を取得する取得部と、前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成する生成部と、前記対象物に対して許容される最大撮影枚数を設定する設定部と、前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物のラベルデータとを前記機械学習モデルによる学習に用いて、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部を含む。
〔10〕本開示に係る撮影装置の他の一例は、画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで前記対象物を検査する時の撮影装置であって、 対応するラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで前記対象物を撮影して複数の撮影画像を取得する取得部と、前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成する生成部と、前記対象物に対して許容される最大撮影枚数を設定する設定部と、前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部を含む。
なお、本開示において、「部」及び「装置」とは、単に物理的手段を意味するものではなく、その「部」及び「装置」が有する機能をソフトウェアによって実現する構成も含む。また、1つの「部」及び「装置」が有する機能が2つ以上の物理的手段や装置によって実現されてもよく、或いは、2つ以上の「部」及び「装置」の機能が1つの物理的手段や装置によって実現されてもよい。さらに、「部」及び「装置」とは、例えば「手段」及び「システム」と言い換えることも可能な概念である。
本開示によれば、対象物に対して許容される最大撮影枚数以下の各枚数で撮影した場合について、検査モジュールで対象物を検査する際に用いられる照明パラメータと機械学習モデルの検査アルゴリズムパラメータの最適化を実施し、その各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する。よって、ユーザは、提示されたそれらの指標を確認し、処理時間や処理速度(タクト)を考慮した所望の撮影枚数を決定し得るので、従来の如く人手による調整に頼らず、撮影条件の最適化を効率的に行うことができる。換言すれば、機械学習による判定アルゴリズムの判定性能そのものを直接的に評価した上で、撮影枚数(すなわちタクト)を変化させた場合の検査性能の変化をユーザに対して事前に提示することができる。従って、対象物の欠陥等に関して所望の検出率を達成することとタクトとの間のバランスを最適化する際に、人手に頼った試行錯誤を行うような手間が掛からない。
しかも、そのような最適化のために必要となる撮影枚数と記憶容量を削減することができ、また、照明のリニアリティ等、模倣が困難な撮影条件についても、所定の撮影枚数を確保することにより、最適化を確実に行うことが可能となる。加えて、設計工数の短縮とシステマティックな設計が可能となり、検査性能が人員のスキルに依存してしまう属人化を防ぐことができる。またさらに、検査アルゴリズムにとって良好な照明の設計と、その照明に最適な検査アルゴリズムという、撮像/画像処理システム全体としての直接的な最適化を行うことができる。
本開示の一実施形態に係る撮影装置の適用場面の一例(システム構成例)を模式的に示す平面図(一部斜視図)である。 本開示の一実施形態に係る撮影装置に含まれる欠陥検査装置のハードウェア構成を模式的に示す平面図である。 本開示の一実施形態に係る撮影装置に含まれる欠陥検査装置の機能構成の一例を模式的に示す平面図である。 本開示の一実施形態に係る撮影装置における処理手順の一例を示すフローチャートであり、照明条件設定方法における機械学習モデルによる学習段階の処理手順を示すフローチャートである。 本開示の一実施形態に係る撮影装置における処理手順の一例を示すフローチャートであり、照明条件設定方法における機械学習モデルによる検査段階の処理手順を示すフローチャートである。 本開示の一実施形態に係る撮影装置における対象物の撮影枚数(ショット数)に対する検査性能の変化、及び、ユーザによる撮影枚数の入力画面の一例を示す平面図である。 本開示の一実施形態に係る撮影装置における対象物の撮影枚数(ショット数)に対する検査性能の変化、及び、ユーザによる撮影枚数の入力画面の一例を示す平面図である。 本開示の一実施形態に係る撮影装置における照明条件設定方法の一例を示すフローチャートである。 図5におけるステップの一例を示すフローチャートである。 図5におけるステップの一例を示すフローチャートである。 図5に示す照明条件設定方法のプロセスを模式的に示す平面図である。 本開示の他の実施形態に係る撮影装置における処理手順の一例を示すフローチャートであり、(a)及び(b)は、それぞれ照明条件設定方法における機械学習モデルによる学習段階及び検査段階を示すフローチャートである。 本開示の他の実施形態に係る撮影装置における処理手順の一例を示すフローチャートであり、(a)及び(b)は、それぞれ照明条件設定方法のバリエーションにおける機械学習モデルによる学習段階及び検査段階を示すフローチャートである。 本開示の他の実施形態に係る撮影装置における処理手順の一例における照明条件設定方法を示すフローチャートである。 本開示の他の実施形態に係る撮影装置における処理手順の一例における照明条件設定方法を示すフローチャートである。 (a)及び(b)は、本開示の一実施形態に係る撮影装置における照明条件設定方法の照明パターンを説明する図である。 線形照明パターンの一例を模式的に示す図である。 明るさの線形関数の一例を模式的に示す図である。 (a)及び(b)は、本開示の一実施形態に係る撮影装置において複数の撮影条件にて撮影された画像から検査結果を得るアルゴリズムを説明するための模式図である。
以下、本開示の一例に係る実施形態について、図面を参照して説明する。但し、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図ではない。すなわち、本開示の一例は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付しており、図面は模式的なものであって、必ずしも実際の寸法や比率等とは一致しない。さらに、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。また、以下に説明する実施形態は本開示の一部の実施形態であって、全ての実施形態ではないことは言うまでもない。さらに、本開示の実施形態に基づいて、当業者が創造性のある行為を必要とせずに得られる他の実施形態は、いずれも本開示の保護範囲に含まれる。
§1 適用例
本開示においては、照明パラメータが可変である複数の光源で対象物を照明し、適宜の撮像手段(イメージセンサー)によって対象物を撮影して撮影画像を取得する。照明パラメータは、例えば光源の発光位置、発光強度、色度等を含むことができる。そして、得られた撮影画像を加工することによって生成された推定画像を用いて機械学習モデルを訓練し、その結果、機械学習モデルが対象物を検査する能力を具備することになる。その撮影画像又は推定画像を、予め照明パラメータと関連づけておき、機械学習モデルの訓練において、照明パラメータと検査アルゴリズムパラメータとを同時に調整して最適化することができる。そして、かかる最適化を、対象物に対して許容される最大撮影枚数以下の各枚数で撮影した場合(つまり、複数枚の撮影は「マルチショット撮影」といえる)について行い、その各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する。ユーザは、提示されたそれらの指標を確認することにより、処理時間や処理速度(タクト)を考慮しつつ所望の撮影枚数を決定することができる。また、照明パラメータのみを調整してから、その照明パラメータで照明して学習用の撮影画像を取得する場合に比して、操作が簡略化され、システムの負荷を低減することができる。
ここでは、まず、図1を用いて、本開示の一例が適用される場面の一例について説明する。図1は、本開示の一実施形態に係る撮影装置の適用場面の一例(システム構成例)を模式的に示す平面図(一部斜視図)である。検査システム1は、被検査対象を撮像することにより生成される撮影画像に基づいて被検査対象の検査を行う。この被検査対象としては、例えばライン上のワークを挙げることができ、ここでの検査としては、例えばワークの外観検査又は外観計測を挙げることができる。
すなわち、検査システム1は、例えば、ベルトコンベア2上を搬送される被検査対象であるワーク4を撮像して得られる入力画像に対して画像分析処理を実行することで、ワーク4の外観検査又は外観計測を実現する。以下においては、画像分析処理の典型例として、ワーク4の表面における欠陥の有無の検査等を応用例として説明するが、これに限らず、例えば欠陥の種類の特定や外観形状の計測等にも応用が可能である。
ベルトコンベア2の上部には、イメージセンサとしてのカメラ102が配置されており、カメラ102の撮像視野6はベルトコンベア2の所定領域を含むように構成される。カメラ102の撮像により生成された画像データ(以下「入力画像」とも称す。)は、欠陥検査装置100へ送信される。カメラ102による撮像は、周期的又はイベント的に実行される。
欠陥検査装置100は、CNN(畳み込みニューラルネットワーク)エンジンを有する学習器を備える。CNNエンジンを用いて入力画像からクラス毎の特徴検出画像が生成される。生成された単数又は複数の特徴検出画像に基づいて、対象のワークにおける欠陥の有無等が判断され、或いは、欠陥の大きさや位置等を検出することもできる。
欠陥検査装置100は、上位ネットワーク8を介して、PLC(プログラマブルコントローラ)10及びデータベース装置12等と接続されている。欠陥検査装置100における検出結果は、PLC10及び/又はデータベース装置12へ送信されてもよい。なお、上位ネットワーク8には、PLC10及びデータベース装置12に加えて、任意の装置が接続されるようにしてもよい。また、欠陥検査装置100は、処理中の状態や検出結果等を表示するための出力部としてのディスプレイ104と、ユーザによる操作を受け付ける入力部としての例えばキーボード106及びマウス108とが接続されていてもよい。
§2 構成例
[ハードウェア構成]
次に、図2を用いて、本開示の一実施形態に係る撮影装置である検査システム1に含まれる欠陥検査装置100のハードウェア構成の一例について説明する。図2は、欠陥検査装置100のハードウェア構成を模式的に示す平面図である。
欠陥検査装置100は、一例として、汎用的なコンピュータアーキテクチャに従って構成される汎用コンピュータを用いて実現されてもよい。欠陥検査装置100は、プロセッサ110と、メインメモリ112と、カメラインターフェイス114と、入力インターフェイス116と、表示インターフェイス118と、通信インターフェイス120と、ストレージ130とを含む。これらのコンポーネントは、典型的には、内部バス122を介して互いに通信可能に接続されている。
プロセッサ110は、ストレージ130に格納されているプログラムをメインメモリ112に展開して実行することで、後述するような機能及び処理を実現する。メインメモリ112は、揮発性メモリにより構成され、プロセッサ110によるプログラム実行に必要なワークメモリとして機能する。
カメラインターフェイス114は、カメラ102と接続されて、カメラ102にて撮像された入力画像(撮影画像138)を取得する。カメラインターフェイス114は、カメラ102に対して撮像タイミング等を指示するようにしてもよい。
入力インターフェイス116は、キーボード106及びマウス108といった入力部と接続されて、ユーザによる入力部に対する操作等を示す指令を取得する。
表示インターフェイス118は、プロセッサ110によるプログラムの実行によって生成される各種処理結果をディスプレイ104へ出力する。
通信インターフェイス120は、上位ネットワーク8を介して、PLC10及びデータベース装置12等と通信するための処理を担当する。
ストレージ130は、画像処理プログラム132及びOS(Operating System)134等のコンピュータを欠陥検査装置100として機能させるためのプログラムを格納している。ストレージ130は、さらに、後述するような画像検出処理を実現するための学習器パラメータ136と、カメラ102から取得された入力画像である撮影画像138と、撮影画像138から得られた計測結果である推定画像140とを格納していてもよい。学習器パラメータ136は、例えば、各種の機械学習モデルが学習段階と検査段階で使用する照明パラメータや検査アルゴリズムパラメータ等の種々のパラメータを含むことができる。
ストレージ130に格納される画像処理プログラム132は、DVD(Digital Versatile Disc)等の光学記録媒体又はUSB(Universal Serial Bus)メモリ等の半導体記録媒体等を介して、欠陥検査装置100にインストールされてもよい。或いは、画像処理プログラム132は、ネットワーク上のサーバ装置等からダウンロードするようにしてもよい。
このように汎用コンピュータを用いて実現する場合には、OS134が提供するソフトウェアモジュールのうち、必要なソフトウェアモジュールを所定の順序及び/又はタイミングで呼び出して処理することで、本実施形態に係る機能の一部を実現するものであってもよい。すなわち、本実施形態に係る画像処理プログラム132は、本実施形態に係る機能を実現するための全てのソフトウェアモジュールを含んでおらず、OSと協働することで、必要な機能が提供されるようにしてもよい。
画像処理プログラム132は、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、画像処理プログラム132自体には、上記のような組み合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。このように、本実施形態に係る画像処理プログラム132は、他のプログラムに組込まれた形態であってもよい。
なお、図2には、汎用コンピュータを用いて欠陥検査装置100を実現する例を示すが、これに限られることなく、その全部又は一部の機能を専用回路(例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等)を用いて実現してもよい。さらに、一部の処理をネットワーク接続された外部装置に担当させてもよい。
以上のとおり、ハードウェア構成の観点から、検査システム1は、本開示における「撮影装置」の一例に相当する。また、非検査対象であるワーク4は、本開示における「対象物」の一例に相当する。さらに、欠陥検査装置100は、本開示における「検査モジュール」、「取得部」の一部、「生成部」、「設定部」の一部、及び「制御部」の一例として機能する。また、イメージセンサであるカメラ102は、本開示における「取得部」の一部の一例に相当し、キーボード106及びマウス108といった入力部は、本開示における「設定部」の一部の一例に相当し、ディスプレイ104は、本開示における「制御部」の一部の一例に相当する。
[機能構成]
次に、図3を用いて、本開示の一実施形態に係る撮影装置である検査システム1に含まれる欠陥検査装置100の機能構成の一例を説明する。図3は、欠陥検査装置100の機能構成(機能モジュール)の一例を模式的に示す平面図である。図3に示すように、欠陥検査装置100は、画像生成部141と、設定/制御部142と、検査部143と、撮影部144と、記憶部145とを含むことができる。
欠陥検査装置100における画像生成部141、設定/制御部142、及び検査部143は、汎用プロセッサによって実現されることができ、本開示においては限定せず、これらの部品の全部又は一部の機能を専用回路(例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等)を用いて実現してもよい。さらに、一部の処理をネットワーク接続された外部装置に担当させてもよい。
画像生成部141は、撮影部144が撮影して得た入力画像である撮影画像138に基づいて、可変である照明パラメータ(異なる予定の照明パラメータ)で照明する場合のワーク4の推定画像140を生成する。つまり、その推定画像140は実際に撮影して得たものではなく、撮影する時の照明パラメータを模倣して、推定して得た該模倣した照明パラメータで照明して撮像する場合のワーク4の画像である。
設定/制御部142は、上記の可変である照明パラメータに対応する推定画像140とワーク4の対応するラベルデータとを、検査部143の学習器1431による学習に用い、学習器1431による推定結果とワーク4のラベルデータとの比較結果に基づいて、検査部143が学習済みの学習器1431でワーク4の検査を行う時に使用する照明パラメータを最適化する。また、設定部142は、その最適化を行う際に使用する最大撮影枚数を設定する。さらに、設定部142は、設定された最大撮影枚数以下の各枚数について最適化された各照明パラメータでその枚数の撮影を行った時に期待される検査性能を示す指標を算出し、ユーザに対して提示可能に表示する。
なお、ここでの「ラベルデータ」は、ワーク4の被検査特徴を示し、被検査特徴としては、特に制限されず、ワーク4の検査しようとする特徴を表するものであればよく、例えば、ワーク4が合格品であるか不合格品であるかを表すデータ、ワーク4の外観特徴(例えば、スクラッチ、サイズ等)を表すデータ等が挙げられる。
検査部143は、上記の学習器1431を含み、上述のように訓練済みの機械学習モデルによって、ベルトコンベア2上のワーク4の検査を行うことができる。また、検査部143は、ワーク4に関する最終検査結果を出力する。例えば、学習器1431が画像から抽出した特徴を生成するCNN(畳み込みニューラルネットワーク)である場合、検査部143は、例えば学習器1431が抽出した特徴に判定基準を応用して最終的な検査結果を生成する判定器を含むことができる。
撮影部144は、イメージセンサによってワーク4を撮影する。該イメージセンサは、例えば絞りサイズ、シャッタースピード等の撮影パラメータが可変である一つ又は複数の撮影装置であることができる。なお、欠陥検査装置100は撮影部144を含まなくてもよく、撮影部144に替えて、外部(装置)からワーク4の撮影画像を受信することもできる。
記憶部145は、欠陥検査装置100の動作に必要なプログラム又はデータを記憶し、例えば、上述したストレージ130によって実現される。なお、欠陥検査装置100は記憶部145を含まなくてもよく、記憶部145に替えて、外部(装置)のストレージを用いてもよい。
以上のとおり、機能モジュールの観点から、欠陥検査装置100の撮影部144は、本開示における「取得部」の一例に相当し、画像生成部141は、本開示における「生成部」の一例に相当し、設定/制御部142は、本開示における「設定部」及び「制御部」の一例に相当する。
§3 動作例
以下、図4A及び図4Bを参照して、本開示の一実施形態に係る照明条件設定方法を説明する。図4A及び図4Bは、それぞれ本開示の一実施形態に係る照明条件設定方法における機械学習モデルによる学習段階及び検査段階の処理手順を示すフローチャートである。なお、以下で説明する処理手順は一例に過ぎず、各処理は、本開示の技術思想の範囲内において可能な限り変更されてよい。また、以下で説明する処理手順は、実施形態や各構成例に応じて、適宜、ステップの省略、置換、及び追加が可能である。
(ステップS410)
学習段階では、まず、図4Aに示すように、ステップS410において、撮影部144がワーク4を撮影する。異なる照明パラメータで照明する場合、ワーク4に複数回の撮影を行うことで、ワーク4に関する複数枚の撮影画像を得ることができる。これらの撮影画像はそれぞれ1セットの照明パラメータに対応し、例えば、各セットの照明パラメータはどの光源が点灯されるか、点灯された光源の明るさ等のパラメータを含むことができる。ここでは、例えば、M個のワーク4のサンプルに対してN種類の照明パラメータで撮影を行い、M×N枚の撮影画像を取得して出力する。なお、M×N枚の数量は、後述する最大撮影枚数Smaxよりも大きな値とすることができる。
(ステップS412)
ステップS412では、ワーク4の検査を行う際にワーク4の撮影に対して許容される最大撮影枚数Smaxを設定する。設定方法としては、特に制限されず、例えば、入力インターフェイス116に対してユーザが所望の枚数を入力(ユーザによる直接指定)してもよいし、欠陥検査装置100の設定/制御部142が、ワーク4と同種類のワークに対する過去の検査実績に基づいて、或いは、タクトとの関係から随時適宜の枚数を設定(検査システムによるプリセット)するようにしてもよいし、指定された検出性能の上限を達成する最大ショット数としてもよいし、指定された検出性能の下限を達成する最小ショット数を最大撮影枚数Smaxとしてもよい。
(ステップS414)
ステップS414では、学習器1431がこれらの撮影画像から取得した推定画像を用いて学習を行う。推定画像それぞれが関連づけられた照明パラメータを有するので、該学習を経て、評価関数を最適化することで、最適化された照明パラメータと、最適化された学習器パラメータとしての検査アルゴリズムパラメータを得ることができ、つまり、最適な照明パラメータと検査アルゴリズムパラメータを選択することで、検査部143から出力される検査結果の正答率(例えば欠陥の検出率等)が最適化される。ここでは、撮影枚数を1から最大撮影枚数Smax以まで変化させ(撮影枚数としてのショット数S=1,2,・・・,Smax-1、及びSmaxのそれぞれ;但し、Sの増分は1に限定されない。)で撮影した場合のそれぞれについて最適化を実施し、最適な照明パラメータ及び最適な検査アルゴリズムパラメータを出力する。なお、「照明パラメータ」とは検査部143がワークの検査を行う時に使用した照明パラメータを指し、「検査アルゴリズムパラメータ」は検査部143がワークの検査を行う時に使用する検査アルゴリズムのパラメータを指す。
さらに、スッテプS414では、ワーク4に対して許容される最大撮影枚数Smax以下の各ショット数Sについて最適化して選択された照明パラメータと検査アルゴリズムパラメータでワーク4を検査した時の性能に関する指標(例えば、欠陥の検出率、欠陥検出の正答率等)を算出して出力する。
(ステップS416)
そして、ステップS416において、ワーク4に対する最大撮影枚数Smax以下の各ショット数Sについて、最適化された照明パラメータと検査アルゴリズムパラメータでワーク4を検査した時の性能に関する指標(例えば、欠陥の検出率、欠陥検出の正答率等)を、表示インターフェイス118を介してディスプレイ104に表示する。また、同時に、ユーザがワーク4の実際の検査における所望の撮影枚数Sを入力可能な入力画面を表示する。なお、このステップS416は、ここでは実施せず、例えば、後記の検査段階におけるステップS420の前に都度実施してもよい。
(ステップS420,S422)
それから、検査段階では、図4Bに示すように、ステップS420において、ステップS416で指定された撮影枚数S分、ステップS414で取得した最適化後の照明パラメータでワーク4の照明と撮影を行い、S枚の撮影画像を取得する。そして、ステップS422において、学習器1431がそれらの撮影画像を用いてワーク4の欠陥を検査し、その推定結果を出力する。
ここで、図4C及び図4Dは、かかるワーク4の撮影枚数(ショット数)に対する検査性能の変化、及び、ユーザによる撮影枚数Sの入力画面の一例を示す平面図であり、ステップS416における表示例である。図4Cは、検査性能として欠陥の検出率を用いた例であり、例えばショット数Sが2枚以上であると、欠陥の検出率が80%を超えて安定することがグラフから明らかであり、ユーザはそのグラフに基づいて、実際のワーク4の検査時のショット数を例えば「2」枚と入力することができる。また、図4Dは、検査性能として欠陥の見逃し率(誤って欠陥なしと判断され得る率)と見すぎ率(誤って欠陥ありと判断され得る率)を用いた例であり、例えばショット数Sが3枚以上であると、欠陥の見逃し率及び見すぎ率がともに5%未満となって安定することがグラフから明らかであり、ユーザはそのグラフに基づいて、実際のワーク4の検査時のショット数を例えば「3」枚と入力することができる。
(ステップS422)
以下、図5乃至図7を参照して本開示の一実施形態に係る照明条件設定方法の各ステップを詳細に説明する。図5は、図4Aに示す照明条件設定方法を更に詳細に示すフローチャートである。図6Aの(a)と図6Bの(a)は、図5におけるステップS54の詳細なプロセス図であり、図6Aの(b)と図6Bの(b)は、図5におけるステップS56の詳細なプロセス図であり、図6Bの(c)は、図4Bに対応する検査段階を示す図である。図7は、図5に示す照明条件設定方法のプロセスを模式的に示す平面図である。説明の便宜を図るため、以下「照明シミュレータ」の概念を導入する。
本開示において、検査アルゴリズムは学習器1431によって実施される。学習器1431の訓練の評価基準は一般にLoss値と呼ばれ、良否判定問題であればパス/失敗(PASS/FAIL)の正答率を交差エントロピー等で表現したものとなる。もし、検査の内容が、ワーク4の長さを計測する等の回帰問題であれば、誤差の発生分布を多次元正規分布等でモデル化し、その対数尤度関数をLoss値として用いる。
一般に、機械学習による検査アルゴリズムの学習では、予め多数の教師データ(判定問題であればパス/失敗、回帰問題であれば正解値)と学習サンプル画像を入力し、それら個々について正確に推定できているかの基準であるLoss値を最小化させるようにパラメータ最適化を行う。
以下に、マルチショット撮影検査における照明と検査アルゴリズムのパラメータの最適化手順を具体的に示す。最初に検査アルゴリズムの定義について述べた後、照明の最適化を可能とするために必要となる「照明シミュレータ」を導入する。
一般に、複数の撮影条件にて撮影(マルチショット撮影)された画像から検査結果を得るアルゴリズムは、(A)並列独立型と(B)相関活用型に大別される(図15(a)及び(b)参照)。(A)並列独立型とは、撮影画像の入力順序を問わない(決められた順番に決められた撮影条件の画像を入力しなくてもよい)タイプのことであり、照明の違いは、単にワーク4の見え方のバリエーションを増やす目的で用いられる。一方、(B)相関活用型とは、撮影画像の入力順序を問う(決められた順番に決められた撮影条件の画像を入力する)タイプのことであり、照明の違いによる像の変化が統合されて相関情報として活用されるものである。
ショット毎の撮影条件を変えてS回の撮影を行う場合、そのときの照明パラメータ(例えば、強度、位置、入射角等のパラメータの集合)をまとめた照明パラメータベクトルは、以下のとおり表すことができる。
Figure 0007006567000001
また、それぞれの撮影における取得画像ベクトルを以下のとおり表し、そのワーク4に対するラベリングをvとする。
Figure 0007006567000002
このとき、これらS枚の画像から異常判定を行う検査アルゴリズムのLoss関数を以下のとおり表す。
Figure 0007006567000003
(B)相関活用型においては、引数の画像の順番も意味を持ち、それらを1つの巨大なベクトルとして扱うのと等価となる。具体例を挙げると、画像の各チャネルに各撮影画像を入力してディープラーニングのフレームワークを適用する等が想起される。その場合、Loss関数をこれ以上具体的に書き下すことはできない。
一方、(A)並列独立型の場合には、撮影条件は各引数において等価に扱われ、独立な試行回数を増やす意味で用いられるため、場合によっては、各撮影において観測される事象は独立であると仮定して、以下の式(1)で示すようなLoss関数を用いることも考えられる。
Figure 0007006567000004
独立な事象の確率分布は積で表現され、その対数尤度関数をLoss関数とした場合には和となるため、上式のような表現となる場合があるが、他にも様々な形態が考えられる。例えば、各画像の学習器による推定(判定)結果のOR/ANDや多数決をとったりするものであってもよい。(B)のケースのような相関が学習可能な学習器の構成であったとしても、入力画像の順序を規定の撮影条件と無相関とする(ランダムに並べ替えて入力し学習させる)等すれば、(A)のケースの学習器を実現するとこができる。
ここで、前述したような照明の最適化を実施するためには、多数の学習サンプル画像について、それぞれ照明を所望のとおりに設定した場合の撮影画像がコンピュータ上で再現できている必要がある。そのため、本開示では、照明パラメータベクトルが与えられたとき、その照明で撮像して得られる取得画像を算出する「照明シミュレータ」を導入する。いま、学習用のワーク4のサンプル集合に対応する照明シミュレータの集合を以下のとおり定義する。なお、照明シミュレータの具体的な実装例は後記の「第5変形例」に示されている。
Figure 0007006567000005
そして、マルチショット撮影における検査アルゴリズムのLoss関数の引数における撮影画像ukを、以下に示すシミュレータ画像で置き換えることによって、下記式(2)で表される関係が得られる。但し、マルチショット撮影における照明パラメータθLは、下記式(3)で表されるN×S行列で表現されているものとする。
Figure 0007006567000006
Figure 0007006567000007
この照明シミュレータを用いて、S枚のマルチショット撮影における最適な照明パラメータと異常判定を行う検査アルゴリズムパラメータは、下記式(4)に示すとおり求めることができる。こうして得られた照明パラメータと検査アルゴリズムパラメータを用いてS枚のマルチショット撮影における例えば検出率を算出する。
Figure 0007006567000008
(ステップS50)
さらに、各ステップでの処理に沿って説明すると、図5に示すステップS50において、撮影部144がワーク4を撮影し、該ステップS50は、例えばステップS410に類似することができる。最適化の準備段階として、全てのワーク4(1M)について、それぞれの照明シミュレータを求めるための撮影画像(1N)を撮影し、それぞれのS枚撮影における照明パラメータと検査アルゴリズムパラメータを取得しておく。
ここで、各光源の照明パラメータは変更可能であって、例えば、各光源の発光位置及び/又は発光強度が変化可能であることで、ワーク4が異なる照明を取得することができる。また、ワーク4が、その被検査特徴を表す既知のラベルデータを有しており、例えば、該ラベルデータはワーク4が合格品であるか不合格品であるかを表すデータであることができ、ワーク4の外観特徴(例えば、スクラッチ、サイズ等)を表すデータであることもできる。ラベルデータの内容は限定されず、ワーク4の検査対象である特徴を表するものであればよい。
(ステップS52)
ステップS52において、画像生成部141が撮影画像と対応する照明パラメータとを関連つけて画像データセットを得る。該画像データセットは、例えば絞りサイズ、シャッタースピード等の対応する撮影パラメータを含むことができる。該画像データセットは例えば記憶部145に記憶されることができる。
(ステップS54)
ステップS54において、画像生成部141が画像データセットに基づいて照明パラメータで照明する場合の各ワークの推定画像を生成する。
具体的には、図6Aの(a)と図6Bの(a)に示すように、ステップS540において、各ワーク4の照明シミュレータが初期シミュレータパラメータに基づいて、初期推定画像を生成し、画像生成部141が該初期推定画像と該ワーク4の撮影画像とを比較する。
ステップS542において、該差異に基づいて、シミュレータパラメータθSを調整して、最終的に最適化後のシミュレータパラメータを得る。例えば線形モデルの簡単な照明シミュレータの場合、初期シミュレータパラメータが必ず必要なものではない。なお、シミュレータパラメータは照明条件を限定する照明パラメータと異なる。該最適化プロセスを機械学習の方式で完成することができる。また、ステップS544において、最適化後の照明シミュレータパラメータθSに基づいて、照明シミュレータが可変照明パラメータで照明した推定画像を生成する。
(ステップS56)
図5に戻り、ステップS56において、学習器1431が推定画像に基づいて学習して、ワーク4の検査を行う時に使用する照明パラメータを取得する。具体的に、図6Aの(b)と図6Bの(b)を参照することができる。
図6Aの(b)と図6Bの(b)で、ステップS560において、推定画像が学習器1431に入力された学習が行われる。また、ステップS562において、学習器1431が推定画像とワーク4の対応するラベルデータを含む学習データを用いて学習して推定結果を得る。さらに、ステップS564において、学習器1431の検査アルゴリズムパラメータを最適化して、学習器1431の推定結果とラベルデータとを一致させる。
図7に示すように、例えば、学習器1431がニューラルネットワークを利用してディープラーニングを行う場合、ニューラルネットワークの出力とラベルデータとを一致させることで、検査アルゴリズムパラメータと照明パラメータとを同時に最適化し、最適な照明パラメータを有する学習済みのニューラルネットワークを得ることができる。学習済みの学習器1431は照明パラメータを選択することでワーク4の検出結果の正答率を向上させることができる。
なお、図7の破線枠に示す部分は実施が必ずしも必要なものではなく、例えば、照明パターンの違いに応じて、破線枠の部分の処理を実施しない場合もある。この時、様々な照明パラメータで撮影したワーク4の画像と該画像に対応するラベルデータを直接に機械学習に用いることができる。
§4 作用・効果
以上のとおり、本実施形態に係る撮影装置としての検査システム1、及び、それを用いた撮影方法としての検査方法の一例によれば、ワーク4に対して許容される最大撮影枚数Smax以下の各枚数でマルチショット撮影した場合について、欠陥検査装置100でワーク4を検査する際に用いられる照明パラメータと機械学習モデルの検査アルゴリズムパラメータの最適化を実施し、その各枚数の撮影を行った時に期待される検査性能を示す指標(例えば、検出率、見逃し率、見すぎ率等)を算出してユーザに対して提示する。よって、ユーザは、提示されたそれらの指標を確認し、処理時間や処理速度(タクト)を考慮した所望の撮影枚数Sを決定し得るので、従来の如く人手による調整に頼らず、撮影条件の最適化を効率的に行うことができる。すなわち、機械学習による判定アルゴリズムの判定性能そのものを直接的に評価した上で、撮影枚数(すなわちタクト)を変化させた場合の検査性能の変化をユーザに対して事前に提示することができる。従って、ワーク4の欠陥等に関して所望の検出率を達成することとタクトとの間のバランスを最適化する際に、人手に頼った試行錯誤を行うような手間が掛からない。
また、図5乃至図7に示す本開示の一実施形態に係る照明パラメータ設定方法において、検査照明パラメータと検査アルゴリズムパラメータとを同時に最適化することで、設計工数を短縮し、検査(良否判定や測定値)の正確さという観点のみによる評価基準の直接的な最適化を実現できる。そして、検査アルゴリズムにとって良好な照明の設計と、その照明に最適な検査アルゴリズムという、撮像/画像処理システム全体としての直接的な最適化を行うことができる。さらに、上記照明条件設定方法において、照明シミュレータを導入することで、大量のワーク写真を取得する必要がないので、撮影時間を節約し、工数を節約し、人への依存を減らすことができる。そして、照明パラメータ設定方法において、複数種類のワーク4に対して対応する複数の画像データセットを準備することもできるので、複数の画像データセットに基づいて複数種類の推定画像を生成することができる。これにより、検査部143の一般性(汎用性)を高め、各種類のワーク4それぞれについて画像の撮影や照明パラメータの設定等を行う必要がない。
§5 変形例
以上、本開示の一例としての実施形態について詳細に説明してきたが、前述した説明はあらゆる点において本開示の一例を示すに過ぎず、本開示の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもなく、例えば、以下に示すような変更が可能である。なお、以下の説明においては、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、説明を適宜省略した。また、上記実施形態及び以下の各変形例は、適宜組み合わせて構成することが可能である。
<5.1:第1変形例>
図8(a)及び(b)はそれぞれ本開示の他の実施形態に係る照明条件設定方法中の機械学習モデルによる学習段階及び検査段階を示すフローチャートである。以下、まず該方法の原理を説明する。
一般に、機械学習による検査アルゴリズムの学習には、大量の訓練画像が必要とされる。これは特に、ディープラーニング等大量のパラメータを持つ手法に対しては顕著な問題となる。ここで問題となるのは、前述した手法ではM×N枚の大量の画像の取得が必要となってしまう点である。Mの値が大変大きい場合には、手法の実現が大変困難となってしまう問題があった。
これに対する解決策としては、大量の訓練画像が必要である検査アルゴリズムのみ、固定された撮影条件による訓練画像によって予めパラメータを求めておくというものである。つまりは、θLとθDを同時に振って最適解を求めるのではなく、θDを求めておいてから、小数のワークサンプルについての照明シミュレータを用いることによって、θLを求める。これは一般に、照明パラメータの数が少ないと考えられるため妥当な方法といえる。
具体的には、下記式(5)及び式(6)のとおり、データセットを2種類(D1及びD2)用意する。
Figure 0007006567000009
そして、下記式(7)及び式(8)で表すように2段階の最適化を行い、最適な照明パラメータを求める。
Figure 0007006567000010
以上において、M1>M2と設定することによって、学習に必要な撮影枚数をM×N枚からM1+M2×Nまで減少させることができる。上記の手法において、検査アルゴリズムパラメータは既存の固定されたものを用いて、照明パラメータのみを求めるものとしてもよい。
(ステップS810~S814)
図8を参照して、該方法のプロセスを詳細に説明する。図8(a)に示すように、ステップS810において、固定された照明パラメータでM1個のワークを撮影してM1枚の撮影画像を得る。ステップS812において、学習器1431が該M1枚の撮影画像で学習を行って、検査アルゴリズムパラメータを最適化する。ステップS814において、N種類の照明パラメータで、M1個のワーク中のM2個のワークを撮影してM2×N枚の撮影画像を得る。
(ステップS816~S819)
ステップS816で、ワーク4の検査を行う際にワーク4の撮影に対して許容される最大撮影枚数Smaxを設定する。そして、ステップS818において、M2×N枚の撮影画像とこれらの撮影画像に対応する照明パラメータとを関連づけて得た画像データセットに基づいて、照明パラメータで照明する時のワーク4の推定画像を生成する。これらの推定画像を学習済みの学習器1431に応用して、学習器1431による推定結果とラベルデータとの比較結果に基づいて、検査部143がワーク4の検査を行う時に用いる照明条件を設定する。比較用としての一バリエーションにおいて、例えば、N個の照明パラメータでのワーク画像をテスト画像として学習済みの学習器1431に入力した後、学習器1431による推定結果の正答率が最高である照明パラメータを選択して、ワーク4の検査を行う時に使用する照明パラメータとする。ここでは、撮影枚数を1から最大撮影枚数Smax以まで変化させ(撮影枚数としてのショット数S=1,2,・・・,Smax-1、及びSmaxのそれぞれ;但し、Sの増分は1に限定されない。)で撮影した場合のそれぞれについて最適化を実施し、最適な照明パラメータを出力する。
そして、ステップS819において、ワーク4に対する最大撮影枚数Smax以下の各ショット数Sについて、最適化された照明パラメータと検査アルゴリズムパラメータでワーク4を検査した時の性能に関する指標(例えば、欠陥の検出率、欠陥検出の正答率等)を、表示インターフェイス118を介してディスプレイ104に表示する。また、同時に、ユーザがワーク4の実際の検査における所望の撮影枚数Sを入力可能な入力画面を表示する。なお、このステップS819は、ここでは実施せず、例えば、後記の検査段階におけるステップS820の前に都度実施してもよい。
(ステップS820)
図8(a)に示す学習段階を経て、図8(b)に示すように、ステップS820において、ステップS819で指定された撮影枚数S分、検査照明パラメータでワーク4を撮影して撮影画像を得る。そして、ステップS822において、学習器1431がそれらの撮影画像を用いてワーク4の欠陥を検査し、その推定結果を出力する。
図8を参照して説明した検査方法によると、機械学習モデルで学習を行う時のシステム演算量を減少し、システムの負荷を低減し、照明パラメータの設定操作を簡略化することができる。そして、上記方法において、学習に必要な撮影枚数を減少させることができるので、工数を減少し、パラメータを最適化するプログラムを簡略化することができる。なお、学習器学習フェーズ、学習器学習及び照明最適化フェーズ、ユーザ提示及び選択フェーズは、順番さえ守られていれば必ずしも同時に行う必要はない。また、学習器は既存のものを利用してもよく、その場合、学習器学習フェーズは存在しない。
<5.2:第2変形例>
図8を参照して説明した照明条件設定方法は様々な変形が可能であって、以下、図9を結合してバリエーションを詳細に説明する。図9(a)及び(b)は、それぞれ図8の照明条件設定方法のバリエーションにおける機械学習モデルによる学習段階と検査段階を示すフローチャートである。図9において、図8と同一又は類似するステップについては同一又は類似する符号を表記し、説明を省略する。
ステップS918の学習においてθL以外、検査アルゴリズムのパラメータの一部(θ'Dと表記する)も可変値に設定して、下記式(9)及び式(10)のように再び調整する。これにより、小数のワークサンプルについての照明シミュレータを用いるだけで2段階目の学習の実行が可能となる一方、照明に最適化された学習器が構成できないという欠点を部分的に解決することができる。
Figure 0007006567000011
同様に、学習に必要な撮影枚数を減らすことができ、照明に(ある程度は)最適化された学習器が構成できる。また、図9を参照して説明した上記検査方法において、ステップS918の学習において、検査アルゴリズムの全部を再調整させてもよい。この場合は、ステップS812の学習はプレトレーニングとして働くことになる。なお、学習器学習フェーズと照明最適化フェーズは、順番さえ守られていれば必ずしも同時に行う必要はない。また、学習器は既存のものを利用してもよく、この場合、学習器学習フェーズは存在しない。
<5.3:第3変形例>
図10は、本開示の他の実施形態に係る撮影装置における処理手順の一例における照明条件設定方法を示すフローチャートである。図8を参照して説明した検査方法に基づいて、照明・撮像系の微小変動に対するロバスト性を付加することができる。
ライン上で同様の検査を並列して行いたい場合、照明を含む撮像系の全く同じコピーを作ることは難しく、一般にカメラや照明取り付け位置等のバラツキを受けて個体差が生じてしまう。
本開示の手法によって求めた最適な照明パラメータを、撮影した環境と違うコピーした環境で用いる場合、撮像系の個体差により性能が大きく損なわれることが起きうる。これを防止するために、照明パラメータに対してノイズを加えて平均化した評価関数を用いることにより、環境の微小変動に対してロバストなパラメータを求めることができる。具体的には、前述のLoss関数Lを以下で定義されるLεによって置き換えることにより、下記式(11)のとおり、照明パラメータや検査アルゴリズムのパラメータを求める。
Figure 0007006567000012
ここで、εは任意の分布に従うノイズベクトルである。一般に、中心ゼロの多次元正規分布や範囲内での一様分布等を用いる。これは、ディープラーニングにおける入力画像のAugmentationの概念をそのまま照明パラメータに適用したものである。
ここでは、図10を参照して該方法のプロセスを詳細に説明する。図10に示すように、ステップS100において、ワーク4を撮影して撮影画像を得る。該ステップについてはステップS410,S50,S810を参照することができる。ステップS102において、学習器1431に撮影画像から取得した推定画像を入力する以外、照明変動条件を入力して、学習を行う。ここで言う「照明変動条件」は上述した環境の微小変動を含むことができ、光源及びイメージセンサの微小変動を含むこともできる。ステップS104において、学習器1431のLoss関数が所定の範囲の照明パラメータのLoss平均値に対して最小化し、最適化された照明パラメータを得る。ここで、照明パラメータはLoss関数の変数である。
図10を参照して説明した検査方法において、環境の影響を考慮したので、照明パラメータの微小変動についてのロバスト性を向上させ、検査システム全体の性能を向上させる。
<5.4:第4変形例>
図11は、本開示の他の実施形態に係る撮影装置における処理手順の一例における照明条件設定方法を示すフローチャートである。図11を参照して説明する検査方法によると、二つの評価関数によってワーク変化に対するロバスト性を向上させることができる。
ワークの変化に対する検査性能のロバスト性を確保するためには、一般にワークのサンプル画像を増やしたりAugmentationを適用してサンプル画像のバリエーションを増やしたりすることが行われる。
これまでに述べた照明を含む最適化手法では、ワークのサンプル画像を増やすことは照明シミュレータのインスタンス数を増やすことに相当するため、単純にサンプル画像を撮影することと比べて大変手間がかかってしまうという欠点があった。これを簡易的に解決する手法として、評価関数に工夫を加えるという手法が考えられる。
本開示では、検査アルゴリズムの正答率(Loss値)を直接最大化できるという利点がある一方、撮影画像を直接目視評価する基準が全く入っていないため、検査対象となる欠陥を本当に照らし出す照明パラメータとなっているのか、それとも特定のワークの配置にのみに極度に最適化された一般性のない照明パラメータとなってしまっているのか区別がつかないという問題があった。検査画像の人の目視による良し悪しの評価では、検査アルゴリズムの性能を直接最大化することはできないが、人の感と経験に基づいた前提知識に基づいているため、ロバスト性を確保できるという利点がある。そのため、下記式(12)で示すように、Loss関数に人の主観に基づく官能評価基準h(u)(例えば領域内コントラスト等)を加えて最適化することが考えられる。
Figure 0007006567000013
ここで、λは検査アルゴリズムの性能(Loss値)と官能評価基準のどちらを重視するかのバランスを決めるパラメータである。
図11を参照して該方法のプロセスを詳細に説明する。図11に示すように、ステップS1110において、ワーク4を撮影して撮影画像を得る。該ステップはステップS410,S50,S810を参照できる。ステップS1112において、学習器1431に撮影画像から取得した推定画像を入力する以外、評価基準を入力して学習を行う。ここで言う「評価基準」は上述した人の感と経験に基づいた前提知識に基づいている評価基準を含むことができ、画像分析に用いられる既存の数学アルゴリズムに基づいている評価基準等を含むことができる。ステップS1114において、学習器1431のLoss関数を最小化することで、最適化された検査照明パラメータを得る。
該方法を応用した形態として、以下のようなバリエーションがある。例えば、上述したθDを求めておいてからθLを求める簡略化方法において、それぞれのパラメータを求めるステップで、異なるλの値や官能評価基準h(u)を用いても良い。例えば、θDは正答率のみ(λ=0)から求め、θLは官能評価基準のウェイトを上げる(λを大きな値にする)等のパターンが考えられる。
図11を参照して説明した検査方法において、環境の影響を考慮したので、ワークのバラツキに対するロバスト性を上げることができ、検査システム全体の性能を向上させることができる。
<5.5:第5変形例>
以下、照明シミュレータの具体的な構成例を説明する。一般に照明とは、光の遠方解パターン、つまりは平行光の基底で分解した際の強度分布を示す連続関数(角度スペクトルともいう)によって一意に定義される。この連続関数の解像度上限はワーク4の大きさと撮像系の開口によって決定され、小さいワークでは小さな角度分解能は持たないため高い空間周波数を持つ成分を無視できる。しかしながら、それでもなお照明パターンには大量の自由度があり、モデル化するには何らかのパラメトリックモデルが必要となる。
照明の調整を表現するパラメータベクトルが、具体的な照明条件をどのような拘束条件でパラメトリックな関数として表現しているのかにより、照明モデルは線形モデルと非線形モデルに大別される。線形モデルの方がモデルパラメータの推定は容易であるが、照明の自由度は制限されることになる。
以下、図12(a)及び(b)並びに図13及び図14を参照して本開示の一実施形態に係る検査方法の照明パターンを説明する。図12(a)及び図13に線形照明パターンの例を示す。線形照明パターンで、画像データセットに含まれた前記照明パラメータに対応する撮影画像の線形の重ね合わせの合計に基づいて、可変照明パラメータで照明する時のワーク4の推定画像を生成することができる。
図12(a)に三つの光源の場合を示し、光源L1、光源L2、光源L3は異なる発光位置でワーク4を照明する。但し、必要に応じて、光源の数が二つ以上であればよく、例えば以下はN個の光源を有する場合を例に説明する。総括すると、線形モデルはそれぞれN個の固定された照明の強度を調整するものである。i番目(1≦i≦N)の照明の強度
をWiとすると、マルチショット撮影におけるk番目の撮影の照明パラメータベクトルは、下記式(13)のように表現される。これは、上記式(3)で示されるマルチショット撮影のパラメータ行列におけるk番目の列ベクトルに相当するが、以降では、マルチショット撮影における1枚の撮影に注目するため、インデックスkは省略するものとする。
Figure 0007006567000014
照明の遠方パターンをΨ(θ,φ)と表現すると、線形モデルでは具体的に下記式(14)のような表現となる。
Figure 0007006567000015
上式において、Ψi(θ,φ)はi番目の照明が持つ遠方パターンであり、これはRB
F(Radial Basis Function)ネットワークと等価なモデルとなる。定義から明らかなように、これはパラメータに対して線形であり、重ね合わせの原理が成り立つ線形システムである。
この関係は撮影された画像に対しても成立する。例えば、i番目の照明のみを点灯(wi=1)、他を消灯(wj=0,j≠i)として取得された画像をujと表記すると、照明パラメータに対する推定画像は下記式(15)によって求めることができる。
Figure 0007006567000016
ここで、Aは通常は縦長の行列である。実際の環境では、光の強度によって光源の指向性が変わってしまう等の非線形の現象も考えられるが、それらは無視できるほど小さいものであると仮定する。また、画素飽和によってリニアリティが成立しないため、非線形のリニアリティ関数g(x)を適用し、一般には、下記式(16)のようなモデルとなる。ただし、g(x)はベクトルの各要素に対する演算であるとする。明るさの線形関数のバリエーションとして、例えば図14に示すものがある。
Figure 0007006567000017
この場合、照明シミュレータのパラメータは行列Aとなり、Aを推定する(=学習させる)ことは、線形システムを同定する問題となり、1次独立な任意の基底を用いてN回の測定を行うことにより容易に実現できる。具体的に、測定時におけるそれぞれの照明の明るさがリニアリティの成立する範囲内であったと仮定し、測定の際に用いるN個の基底ベクトルを以下のように表す。
Figure 0007006567000018
この場合、下記式(17)及び式(18)で表される関係が成り立つ。
Figure 0007006567000019
ここで、njは撮影時にCMOSセンサで生じる加法的なノイズであり、通常は正規分布としその分散は撮像系のSN比によって定まる。この関係式からAを求めるにはBLUE(Best Linear Unbiased Estimate)であるML(Maximum Likelihood;最尤)推定、AとNが両者とも既知のガウス分布に従う条件化におけるMMSE(Minimum Mean Square Error)推定等さまざまな方法が存在するが、一般にこの状況においてAの統計的性質は未知であるために、以下ではML推定を用いる。Aの推定量は、下記式(19)によって求めることができる。
Figure 0007006567000020
このときの推定誤差量は、下記式(20)で表される。
Figure 0007006567000021
ここで、σはノイズの標準偏差、λはXの特異値、Pは画像のピクセル数である。HSとは、行列に対するHilbert-Schmidt内積やノルムを示す。上式から明らかなように、推定誤差の総量は、Xの特異値が大きいほど小さくなるが、これは単純に系のSNを上げることに相当する。Xの特異値の合計が決まっている(信号パワーの総計が決まっている)場合には、λは全て同じ値であることが最も推定誤差が小さくなることが知られており、これは観測する際の照明パラメータベクトルとしては、正規直行基底を用いるのが最も効率がよいことを示している。以下では、これまでの議論をふまえて、3つの代表的な照明モデルの測定パターンを示す。
(1)標準基底
最も単純なパターンである、標準基底を用いた場合、測定時の照明パターンは下記式(21)のように表現される。
Figure 0007006567000022
これは正規直行基底となっているため、上述した議論した意味においては最良な推定を与えるが、画面内光量が不均一となりノイズや暗電流の影響を大きく受ける可能性がある。
(2)線形独立&条件
測定用の照明パラメータについて、線形独立した各種のパターンを考えられる。そのため、何らかの条件を加えた下で条件を満たすものを選ぶことができる。例えば、指定範囲内の明るさが一定値を下回らない等の条件を課して基底を求める。これまでの議論と同様に、正規直行基底となっている場合が最も性能が良いが、明るさとしてマイナスの値をとることができないという制約事項のもとで求めることになるため、一般に直行や正規直行とさせることは難しい。
(3)冗長な基底
測定のための基底の数は必ずしも照明の数Nと等しい必要はなく、Nより大きい値としても良い。Nより大きくすることのメリットは、SN比を大きくすることができ、より正確な推定ができることである。この場合にはXの逆行列は存在しないため、代わりに下記式(15)のように推定を行う。
Figure 0007006567000023
ここで、X+はXのMoore-Penrose一般逆行列である。この場合においても同様に、推定の性能を最良とするためには、Xの特異値の2乗がそれぞれ同じ値になることが望ましい。これを実現するためには、POB(Pseudo Orthogonal Bases)が最良であることが知られている。例えば、Masashi Sugiyama and Hidemitsu Ogawa, "Pseudo Orthogonal Bases Give the Optimal Generalization Capability in Neural Network Learning"(http://www.ms.k.u-tokyo.ac.jp/1999/SPIE99.pdf, 1999)を参照できる。これまでの議論と同様に、他の条件を課して基底を求めてもよい。
以上、図12(a)を参照して線形照明パターンの例を説明し、以下、図12(b)を参照して非線形照明パターンの例を説明する。非線形照明パターンで、画像データセットに基づいて、照明パラメータに関する非線形の推定関数を用いて、可変照明パラメータで照明する時のワーク4の推定画像を生成することができる。
図12(b)に光源が一つである場合を示し、光源L4は異なる発光位置でワーク4を照明する。但し、必要に応じて、光源の数が二つ以上であることもでき、例えば以下はN個の光源を有する場合を例に説明する。
非線形モデルは、上述した線形モデルに当てはまらないもの全体を取り扱う。単純な例を挙げると、入射角と明るさが調節可能なN個の照明を用いる場合であり、光量をwi、入射角を(θi,φi)と表記すると、パラメータベクトルは下記式(23)のように表現することができる。
Figure 0007006567000024
このときの遠方パターンは下記式(24)のようになり、パラメータベクトルに関して線形とはならない。
Figure 0007006567000025
この場合において一般的な数学的モデルを定義することは難しいが、例えば近年提案されているディープラーニングを用いた画像生成の手法である、GAN(Generative Adversarial Network)系、AE(Auto Encoder)系等の任意の画像生成のモデルを用いることができる。但し、一般に学習のために必要な撮影数は線形モデルの場合と比べて多くなると考えられ、学習させる難易度が高い。しかしながら、非線形モデルは非常に自由度が高い表現であるため、最適な照明を見つけるという意味での探索空間は非常に広くなる。
以下、特定の限定された条件の下で利用できる簡易化されたモデルの具体例を示す。ディフューズ散乱光のみをモデル化する状況を考え、Lambertモデルに従うと仮定すると、任意の照明は3つの基底関数の線形結合で表現することが可能となる。このモデルは線形のように見えるが、パラメトリックな照明条件から基底の混合係数を求める過程が非線形であるため、非線形照明シミュレータに属する。具体的にモデルは下記式(25)~式(28)のように定義できる。
Figure 0007006567000026
ここで、BはP×3行列(Pは画像のピクセル数)、Cは3×Q行列、d(θL)は照明パラメータに関して非線形なQ次元コラムベクトルである。
Figure 0007006567000027
は任意の球面上のサンプリング点列であり、HEALPix等球面上でなるべく等間隔になるようにする。サンプリング点数Qは、照明パラメータとして設定できる立体角範囲を十分な解像度でカバーできるように設定する。lqは、以下の球面座標;
Figure 0007006567000028
からワークへ光が入射する際の光源方向ベクトルである。この式の数学的な意味は、照明パラメータを一旦非線形写像dによってQ次元の高次元空間へ写像し、その空間上から線形写像によって画素の輝度値を算出するものであるが、直感的には以下の意味となる。
まず、入力された照明パラメータから、各照明が標準偏差σのガウス分布の角度広がりを持つと仮定して、入射角について離散化され、球面サンプリングの各点上の値として表現される。次に、各サンプリング点(に対応する入射角)における、Lambertモデルの3つの基底関数の混合係数(照明の方向ベクトル)が行列Cによって求められ、行列Bが示す基底関数を混合する。最後にリニアリティ関数gが適用される。行列Bはワーク依存の行列であるため、少なくとも3回照明パラメータを変えて測定した撮影画像セットより行列Bを推定する。行列Cをキャリブレーションして求める等してもよい。
§6 付記
以上説明した実施形態及び変形例は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態及び変形例が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態及び変形例で示した構成同士を部分的に置換し又は組み合わせることも可能である。
すなわち、図1に示す検査システムで本開示の内容を説明したが、本開示の原理を他の各種の照明条件を設定して画像を撮影する必要のある場合に応用することができる。例えば、顔を対象物として、顔を照明して画像を撮影し、撮影した画像を入力として機械学習によって顔を識別する顔認識システムにおいても本開示の原理を応用できる。
顔認識システムの場合、照明パラメータを変更可能な光源で顔面を照明し、また撮影装置で顔面を各種の照明条件で撮影画像を撮影し、ここで、顔面に既知のラベルデータを与え、ラベルデータは例えば該人物の氏名であることができる。次に、上記「照明シミュレータ」に基づいて、顔面の推定画像を生成することができる。また、これらの推定画像と顔面のラベルデータを顔認識システムの機械学習モデルによる学習に用いて、該機械学習モデルによる推定結果と顔面のラベルデータとの比較結果に基づいて、照明パラメータと機械学習モデルの検査アルゴリズムパラメータとを同時に最適化することで、照明条件と検査アルゴリズムパラメータとを設定することができる。ここで、検査アルゴリズムパラメータとは該機械学習モデルを顔識別に応用する時に使用するアルゴリズムパラメータを指す。
また、上述した対象物の検査を行う時の照明条件を設定する装置、システム又はその一部をソフトウェア機能ユニットの形態で実現して単独の製品として販売したり使用したりする場合、コンピュータが読み取り可能な記憶媒体に記憶することができる。これにより、本発明の技術案の本質又は既存技術に貢献のある部分あるいは該技術案の全部又は一部をソフトウェア製品の形態で実現して、コンピュータ機器(パーソナルコンピュータ、サーバ又は、ネットワーク機器等であることができる)に本発明の各実施例に記載の方法のステップの中の全部又は一部を実現させる命令を含むそのコンピューターソフトウェア製品を、記憶媒体に記憶することができる。上述した記憶媒体は、USB、読み出し専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、モバイルハードディスク、フロッピーディスク又は光ディスク等のプログラムコードを記憶できるさまざまな媒体である。
さらに、検査性能を示す指標としては、前述のものの他、例えば、適合率、再現率、F値、ROC(Receiver Operating Characteristic)曲線の面積、正しくPositiveと判定された数(TP:True Positive)、誤ってPositiveと判定された数(FP:False Positive)、誤ってNegativeと判断された数(FN:False Negative)、正しくNegativeと判断された数(TN:True Negative)等が挙げられる。
(付記1)
画像を含む学習データによって生成された機械学習モデルを含む検査モジュール(100)で対象物(4)を検査する時の撮影方法であって、
既知のラベルデータを有する前記対象物(4)を撮影する際の照明パラメータを変更可能な光源(L)で前記対象物(4)を照明し、複数の前記照明パラメータで、イメージセンサー(102)によって前記対象物(4)を撮影して複数の撮影画像を取得することと、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物(4)の推定画像を生成することと、
前記対象物(4)に対して許容される最大撮影枚数を設定することと、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物(4)のラベルデータとを前記機械学習モデルによる学習に用い、該機械学習モデルによる推定結果と前記対象物(4)のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することと、を含む撮影方法。
(付記2)
前記対象物(4)の推定画像を生成することが、
複数種類の対象物(4)に対して対応する複数の前記画像データセットを準備することと、
複数の前記画像データセットに基づいて、前記照明パラメータで照明する時の前記複数種類の対象物のそれぞれに対応する複数の前記推定画像を生成することと、を含む請求項1に記載の撮影方法。
(付記3)
画像を含む学習データによって生成された機械学習モデルを含む検査モジュール(100)で対象物(4)を検査する時の撮影方法であって、
対応するラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源(L)で前記対象物(4)を照明し、複数の前記照明パラメータで、イメージセンサによって前記対象物(4)を撮影して複数の撮影画像を取得することと、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物(4)の推定画像を生成することと、
前記対象物(4)に対して許容される最大撮影枚数を設定することと、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物(4)のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することと、を含む撮影方法。
(付記4)
前記推定画像を学習済みの前記機械学習モデルに用いることが、
前記推定画像と前記対象物(4)の対応する被検査特徴を表すラベルデータとを含む学習データを前記機械学習モデルによる追加学習に用いて、前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部を更新することと、
前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部と前記照明パラメータを最適化することで、前記機械学習モデルの推定結果と前記ラベルデータとを一致させることと、を含む請求項3に記載の撮影方法。
(付記5)
前記照明パラメータを最適化することが、
前記比較結果を表すLoss関数を最小化する前記照明パラメータを選択することを含み、前記選択することは、前記Loss関数が所定の範囲の前記照明パラメータのLoss平均値について最小化する前記照明パラメータを選択することである、請求項1乃至4の何れかに記載の撮影方法。
(付記6)
前記対象物(4)の推定画像を生成することが、
前記照明パラメータと前記画像データセットに含まれた前記撮影画像とに基づいて確定される前記撮影画像の重み付きの線形重ね合わせの合計和に基づいて、前記対象物の推定画像を生成することを含む、請求項1乃至5の何れかに記載の撮影方法。
(付記7)
前記対象物(4)の推定画像を生成することが、
前記画像データセットに基づいて、前記照明パラメータに関する非線形の推定関数によって、前記対象物(4)の推定画像を生成することを含む、請求項1乃至5の何れかに記載の撮影方法。
(付記8)
前記検査性能を示す指標として複数種類の指標を算出して前記ユーザへ提示する、請求項1乃至7の何れかに記載の撮影方法。
(付記9)
画像を含む学習データによって生成された機械学習モデルを含む検査モジュール(100)で前記対象物(4)を検査する時の撮影装置(1)であって、
既知のラベルデータを有する前記対象物(4)を撮影する際の照明パラメータを変更可能な光源(L)で前記対象物(4)を照明し、複数の前記照明パラメータで、イメージセンサー(102)によって前記対象物(4)を撮影して複数の撮影画像を取得する取得部と、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物(4)の推定画像を生成する生成部と、
前記対象物(4)に対して許容される最大撮影枚数を設定する設定部と、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物のラベルデータとを前記機械学習モデルによる学習に用いて、該機械学習モデルによる推定結果と前記対象物(4)のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部と、を含む撮影装置(1)。
(付記10)
画像を含む学習データによって生成された機械学習モデルを含む検査モジュール(100)で前記対象物(4)を検査する時の撮影装置(1)であって、
対応するラベルデータを有する前記対象物(4)を撮影する際の照明パラメータを変更可能な光源(L)で前記対象物(4)を照明し、複数の前記照明パラメータで、イメージセンサー(102)によって前記対象物(4)を撮影して複数の撮影画像を取得する取得部と、
前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物(4)の推定画像を生成する生成部と、
前記対象物(4)に対して許容される最大撮影枚数を設定する設定部と、
前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物(4)のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部と、を含む撮影装置(1)。
1…検査システム、2…ベルトコンベア、4…ワーク、6…撮像視野、8…上位ネットワーク、12…データベース装置、100…欠陥検査装置、102…カメラ、104…ディスプレイ、106…キーボード、108…マウス、110…プロセッサ、112…メインメモリ、114…カメラインターフェイス、116…入力インターフェイス、118…表示インターフェイス、120…通信インターフェイス、122…内部バス、130…ストレージ、132…画像処理プログラム、136…学習器パラメータ、138…撮影画像、140…推定画像、141…画像生成部、142…設定部、142…制御部、143…検査部、144…撮影部、145…記憶部、1431…学習器、L1~L4…光源。

Claims (10)

  1. 画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで対象物を検査する時の撮影方法であって、
    既知のラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで、イメージセンサによって前記対象物を撮影して複数の撮影画像を取得することと、
    前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成することと、
    前記対象物に対して許容される最大撮影枚数を設定することと、
    前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物のラベルデータとを前記機械学習モデルによる学習に用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することと、を含む撮影方法。
  2. 前記対象物の推定画像を生成することが、
    複数種類の対象物に対して対応する複数の前記画像データセットを準備することと、
    複数の前記画像データセットに基づいて、前記照明パラメータで照明する時の前記複数種類の対象物のそれぞれに対応する複数の前記推定画像を生成することと、を含む請求項1に記載の撮影方法。
  3. 画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで対象物を検査する時の撮影方法であって、
    対応するラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで、イメージセンサによって前記対象物を撮影して複数の撮影画像を取得することと、
    前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成することと、
    前記対象物に対して許容される最大撮影枚数を設定することと、
    前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示することと、を含む撮影方法。
  4. 前記推定画像を学習済みの前記機械学習モデルに用いることが、
    前記推定画像と前記対象物の対応する被検査特徴を表すラベルデータとを含む学習データを前記機械学習モデルによる追加学習に用いて、前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部を更新することと、
    前記機械学習モデルの検査アルゴリズムパラメータの一部又は全部と前記照明パラメータを最適化することで、前記機械学習モデルの推定結果と前記ラベルデータとを一致させることと、を含む請求項3に記載の撮影方法。
  5. 前記照明パラメータを最適化することが、
    前記比較結果を表すLoss関数を最小化する前記照明パラメータを選択することを含み、前記選択することは、前記Loss関数が所定の範囲の前記照明パラメータのLoss平均値について最小化する前記照明パラメータを選択することである、請求項1乃至4の何れかに記載の撮影方法。
  6. 前記対象物の推定画像を生成することが、
    前記照明パラメータと前記画像データセットに含まれた前記撮影画像とに基づいて確定される前記撮影画像の重み付きの線形重ね合わせの合計和に基づいて、前記対象物の推定画像を生成することを含む、請求項1乃至5の何れかに記載の撮影方法。
  7. 前記対象物の推定画像を生成することが、
    前記画像データセットに基づいて、前記照明パラメータに関する非線形の推定関数によって、前記対象物の推定画像を生成することを含む、請求項1乃至5の何れかに記載の撮影方法。
  8. 前記検査性能を示す指標として複数種類の指標を算出して前記ユーザへ提示する、請求項1乃至7の何れかに記載の撮影方法。
  9. 画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで対象物を検査する時の撮影装置であって、
    既知のラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで、イメージセンサによって前記対象物を撮影して複数の撮影画像を取得する取得部と、
    前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成する生成部と、
    前記対象物に対して許容される最大撮影枚数を設定する設定部と、
    前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像と前記対象物のラベルデータとを前記機械学習モデルによる学習に用いて、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータと前記機械学習モデルの検査アルゴリズムパラメータとを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部と、を含む撮影装置。
  10. 画像を含む学習データによって生成された機械学習モデルを含む検査モジュールで対象物を検査する時の撮影装置であって、
    対応するラベルデータを有する前記対象物を撮影する際の照明パラメータを変更可能な光源で前記対象物を照明し、複数の前記照明パラメータで、イメージセンサによって前記対象物を撮影して複数の撮影画像を取得する取得部と、
    前記撮影画像と該撮影画像に対応する前記照明パラメータとを関連づけて得た画像データセットに基づいて、前記照明パラメータで照明する時の前記対象物の推定画像を生成する生成部と、
    前記対象物に対して許容される最大撮影枚数を設定する設定部と、
    前記最大撮影枚数以下の各枚数について、前記照明パラメータに対応する前記推定画像を学習済みの前記機械学習モデルに用い、該機械学習モデルによる推定結果と前記対象物のラベルデータとの比較結果に基づいて、前記照明パラメータのみを最適化し、かつ、当該各枚数の撮影を行った時に期待される検査性能を示す指標を算出してユーザに対して提示する制御部と、を含む撮影装置。
JP2018211495A 2018-11-09 2018-11-09 撮影方法及び撮影装置 Active JP7006567B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018211495A JP7006567B2 (ja) 2018-11-09 2018-11-09 撮影方法及び撮影装置
PCT/JP2019/041849 WO2020095712A1 (ja) 2018-11-09 2019-10-25 撮影方法及び撮影装置
US17/270,438 US11435297B2 (en) 2018-11-09 2019-10-25 Image capture method and image capture device
CN201980053476.2A CN112567428B (zh) 2018-11-09 2019-10-25 摄影方法及摄影装置
EP19882722.2A EP3879486A4 (en) 2018-11-09 2019-10-25 IMAGE CAPTURE METHOD AND IMAGE CAPTURE DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018211495A JP7006567B2 (ja) 2018-11-09 2018-11-09 撮影方法及び撮影装置

Publications (2)

Publication Number Publication Date
JP2020077326A JP2020077326A (ja) 2020-05-21
JP7006567B2 true JP7006567B2 (ja) 2022-01-24

Family

ID=70611814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018211495A Active JP7006567B2 (ja) 2018-11-09 2018-11-09 撮影方法及び撮影装置

Country Status (5)

Country Link
US (1) US11435297B2 (ja)
EP (1) EP3879486A4 (ja)
JP (1) JP7006567B2 (ja)
CN (1) CN112567428B (ja)
WO (1) WO2020095712A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180054063A (ko) * 2016-11-14 2018-05-24 주식회사 고영테크놀러지 검사체에 대한 양부 판정 조건을 조정하는 방법 및 장치
US11366068B2 (en) 2016-11-14 2022-06-21 Koh Young Technology Inc. Inspection apparatus and operating method thereof
US20200177798A1 (en) * 2018-12-03 2020-06-04 Nvidia Corporation Machine Learning of Environmental Conditions to Control Positioning of Visual Sensors
KR102453132B1 (ko) * 2020-07-17 2022-10-11 (주)바질컴퍼니 품질 분석 결과를 이용한 최적 촬영 범위 제공 장치 및 방법
US20230281787A1 (en) * 2020-08-26 2023-09-07 Mitsubishi Heavy Industries, Ltd. Image generation device, image generation method, and program
KR102173121B1 (ko) * 2020-09-14 2020-11-03 메이크모어엔터티 주식회사 영상을 근거로 한 주차 공간 확인 시스템 및 그 방법
JP2022086892A (ja) * 2020-11-30 2022-06-09 ブラザー工業株式会社 情報処理装置、および、情報処理方法
WO2022157886A1 (ja) 2021-01-21 2022-07-28 日本電気株式会社 パラメータ最適化システム、パラメータ最適化方法、及びコンピュータプログラム
JP7624617B2 (ja) 2021-02-02 2025-01-31 パナソニックIpマネジメント株式会社 照明条件作成支援装置および撮像画像推定方法ならびに照明条件作成方法
US11790508B2 (en) * 2021-04-21 2023-10-17 Baker Hughes Holdings Llc Computer vision predictions for non-destructive testing
JP7624355B2 (ja) 2021-06-22 2025-01-30 株式会社日立ハイテク 試料観察装置および方法
JP2023007260A (ja) * 2021-07-01 2023-01-18 株式会社日立製作所 計算機及び外観検査方法
CN117038064B (zh) * 2023-10-07 2024-01-09 之江实验室 一种辅助分析算法的评估方法、装置、存储介质及设备
CN117422890B (zh) * 2023-11-03 2024-08-02 厦门翼方健数信息科技有限公司 一种视觉深度学习模型的优化部署方法、系统和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012514193A (ja) 2008-12-24 2012-06-21 スネクマ 機械部品の非破壊検査の方法
EP2887055A1 (en) 2013-12-17 2015-06-24 CSEM Centre Suisse d'Electronique et de Microtechnique SA - Recherche et Développement Method and apparatus for detection of visible defects

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3310524B2 (ja) * 1996-02-08 2002-08-05 日本電信電話株式会社 外観検査方法
US7805066B2 (en) * 2007-12-24 2010-09-28 Microsoft Corporation System for guided photography based on image capturing device rendered user recommendations according to embodiments
JP5506273B2 (ja) * 2009-07-31 2014-05-28 富士フイルム株式会社 画像処理装置及び方法、データ処理装置及び方法、並びにプログラム
EP3155758A4 (en) * 2014-06-10 2018-04-11 Sightline Innovation Inc. System and method for network based application development and implementation
CN106651795A (zh) * 2016-12-03 2017-05-10 北京联合大学 一种利用光照估计来校正图像颜色的方法
JP2018126799A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
WO2018194525A1 (en) * 2017-04-18 2018-10-25 Yeditepe Universitesi Biochemical analyser based on a machine learning algorithm using test strips and a smartdevice
CN111727412B (zh) * 2018-03-05 2023-07-14 欧姆龙株式会社 用于设定照明条件的方法、装置、系统以及存储介质
WO2019171124A1 (en) * 2018-03-06 2019-09-12 Omron Corporation Method, device, system and program for setting lighting condition and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012514193A (ja) 2008-12-24 2012-06-21 スネクマ 機械部品の非破壊検査の方法
EP2887055A1 (en) 2013-12-17 2015-06-24 CSEM Centre Suisse d'Electronique et de Microtechnique SA - Recherche et Développement Method and apparatus for detection of visible defects

Also Published As

Publication number Publication date
EP3879486A1 (en) 2021-09-15
US11435297B2 (en) 2022-09-06
JP2020077326A (ja) 2020-05-21
WO2020095712A1 (ja) 2020-05-14
EP3879486A4 (en) 2022-08-10
CN112567428B (zh) 2024-01-19
US20210247324A1 (en) 2021-08-12
CN112567428A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
JP7006567B2 (ja) 撮影方法及び撮影装置
CN111727412B (zh) 用于设定照明条件的方法、装置、系统以及存储介质
CN106875373B (zh) 基于卷积神经网络剪枝算法的手机屏幕mura缺陷检测方法
KR102166458B1 (ko) 인공신경망 기반의 영상 분할을 이용한 불량 검출 방법 및 불량 검출 장치
CN111712769B (zh) 用于设定照明条件的方法、装置、系统以及存储介质
KR102141302B1 (ko) 회귀 딥러닝 모델 기반의 영상 객체 검출 방법 및 영상처리장치
KR20230042706A (ko) Lfa 테스트 스트립의 신경망 분석
Elmquist et al. A performance contextualization approach to validating camera models for robot simulation
US20240288377A1 (en) Modular apparatus for the inspection of industrial products and related methods
WO2022059402A1 (ja) 検査装置、検査方法及び検査プログラム
Takouachet et al. Perception of noise and global illumination: Toward an automatic stopping criterion based on SVM
Dubois et al. Correcting estimations of copepod volume from two‐dimensional images
CN113326924B (zh) 基于深度神经网络的稀疏图像内关键目标测光定位方法
CN110688292B (zh) 一种基于注意机制的软件测试视觉检测方法
Del Campo et al. Radial basis function neural network for the evaluation of image color quality shown on liquid crystal displays
Ottavian et al. Maintenance of machine vision systems for product quality assessment. Part II. Addressing camera replacement
Elmquist et al. Camera simulation for robot simulation: how important are various camera model components?
Bao et al. Research on the detection and analysis of students’ classroom behavioral features based on deep cnns
Vergara Villegas et al. Radial Basis Function Neural Network for the Evaluation of Image Color Quality Shown on Liquid Crystal Displays
Hirasawa et al. BRDF Estimation with Simple Measurement and Data-driven Model
CN112149578B (zh) 基于人脸三维模型的人脸皮肤材质计算方法、装置及设备
Tuininga et al. Estimating OpenCV ArUco performance from linear camera and scene parameters
Marzagui et al. A Review on Image Quality Assessment for Air Quality Index Estimation
Agarwal et al. Vision-based tactile sensor design using physically based rendering
Shankar et al. Digital Image Falsification Detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211220

R150 Certificate of patent or registration of utility model

Ref document number: 7006567

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150