JP2023152482A - 検査装置、検査方法及び検査用コンピュータプログラム - Google Patents
検査装置、検査方法及び検査用コンピュータプログラム Download PDFInfo
- Publication number
- JP2023152482A JP2023152482A JP2022062521A JP2022062521A JP2023152482A JP 2023152482 A JP2023152482 A JP 2023152482A JP 2022062521 A JP2022062521 A JP 2022062521A JP 2022062521 A JP2022062521 A JP 2022062521A JP 2023152482 A JP2023152482 A JP 2023152482A
- Authority
- JP
- Japan
- Prior art keywords
- feature
- inspection
- feature amount
- color image
- inspected
- 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.)
- Pending
Links
- 238000007689 inspection Methods 0.000 title claims abstract description 123
- 238000000034 method Methods 0.000 title claims description 15
- 238000004590 computer program Methods 0.000 title claims description 9
- 238000004364 calculation method Methods 0.000 claims description 68
- 238000007781 pre-processing Methods 0.000 claims description 54
- 230000007547 defect Effects 0.000 description 38
- 238000004891 communication Methods 0.000 description 25
- 238000012545 processing Methods 0.000 description 20
- 238000011176 pooling Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 238000012549 training Methods 0.000 description 6
- 230000010354 integration Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000005286 illumination Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing 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/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
【課題】検査対象物が表されたカラー画像及び距離画像を用いた検査対象物の検査において、検査精度を向上することが可能な検査装置を提供する。
【解決手段】検査装置は、検査対象物11が表されたカラー画像及び距離画像のそれぞれを識別器400に入力することで、所定の検査項目について検査対象物11が取り得る状態のそれぞれの確からしさを表す識別指標を算出し、識別指標に基づいて検査対象物11の検査項目についての状態を判定する判定部32を有する。識別器400は、入力されたカラー画像に基づいて検査対象物11の特徴を表す第1の特徴量を算出し、入力された距離画像に基づいて検査対象物11の特徴を表す第2の特徴量を算出し、第1の特徴量と第2の特徴量を統合した統合特徴量を算出し、統合特徴量に基づいて識別指標を算出する。
【選択図】図4
【解決手段】検査装置は、検査対象物11が表されたカラー画像及び距離画像のそれぞれを識別器400に入力することで、所定の検査項目について検査対象物11が取り得る状態のそれぞれの確からしさを表す識別指標を算出し、識別指標に基づいて検査対象物11の検査項目についての状態を判定する判定部32を有する。識別器400は、入力されたカラー画像に基づいて検査対象物11の特徴を表す第1の特徴量を算出し、入力された距離画像に基づいて検査対象物11の特徴を表す第2の特徴量を算出し、第1の特徴量と第2の特徴量を統合した統合特徴量を算出し、統合特徴量に基づいて識別指標を算出する。
【選択図】図4
Description
本発明は、例えば、検査対象物体を表す画像及び距離画像に基づいて検査する検査装置、検査方法及び検査用コンピュータプログラムに関する。
対象物体を検査するために、その対象物体をカメラにより撮影することで得られた二次元のカラー画像と、その対象物体を3Dカメラにより撮影することで得られた3D画像とを用いる技術が提案されている(特許文献1を参照)。
特許文献1に開示された特徴点認識システムは、ワークの第1面の可視光画像と、ワークの第1面の3D画像を合成して得られた画像を、深層学習されたアルゴリズムに従って演算処理することでワーク内における特徴点の位置情報を出力する。
ワークが表された可視光画像と3D画像の何れか一方のみに基づいてワークが検査される場合、十分な検査精度が得られないことがある。
そこで、本発明は、検査対象物が表されたカラー画像及び距離画像を用いた検査対象物の検査において、検査精度を向上することが可能な検査装置を提供することを目的とする。
一つの実施形態によれば、検査装置が提供される。この検査装置は、検査対象物が表されたカラー画像及びその検査対象物が表された距離画像を識別器に入力することで、所定の検査項目について検査対象物が取り得る状態のそれぞれの確からしさを表す識別指標を算出し、識別指標に基づいて検査対象物の検査項目についての状態を判定する判定部を有する。そして識別器は、入力されたカラー画像に基づいて検査対象物の特徴を表す第1の特徴量を算出する第1の特徴算出部と、入力された距離画像に基づいて検査対象物の特徴を表す第2の特徴量を算出する第2の特徴算出部と、第1の特徴量と第2の特徴量を統合した統合特徴量を算出する統合部と、統合特徴量に基づいて識別指標を算出する識別部とを有する。
この検査装置は、距離画像をカラー化する前処理部をさらに有することが好ましい。
この場合において、識別器の第1の特徴算出部と第2の特徴算出部とは同じ構成を有することが好ましい。
他の実施形態によれば、検査方法が提供される。この検査方法は、検査対象物が表されたカラー画像及びその検査対象物が表された距離画像を識別器に入力することで、所定の検査項目について検査対象物が取り得る状態のそれぞれの確からしさを表す識別指標を算出し、識別指標に基づいて検査対象物の検査項目についての状態を判定する、ことを含む。そして識別器は、入力されたカラー画像に基づいて検査対象物の特徴を表す第1の特徴量を算出し、入力された距離画像に基づいて検査対象物の特徴を表す第2の特徴量を算出し、第1の特徴量と第2の特徴量を統合した統合特徴量を算出し、統合特徴量に基づいて識別指標を算出する。
さらに他の実施形態によれば、検査用コンピュータプログラムが提供される。この検査用コンピュータプログラムは、検査対象物が表されたカラー画像及びその検査対象物が表された距離画像を識別器に入力することで、所定の検査項目について検査対象物が取り得る状態のそれぞれの確からしさを表す識別指標を算出し、識別指標に基づいて検査対象物の検査項目についての状態を判定する、ことをコンピュータに実行させるための命令を含む。そして識別器は、入力されたカラー画像に基づいて検査対象物の特徴を表す第1の特徴量を算出し、入力された距離画像に基づいて検査対象物の特徴を表す第2の特徴量を算出し、第1の特徴量と第2の特徴量を統合した統合特徴量を算出し、統合特徴量に基づいて識別指標を算出する。
本開示によれば、検査装置は、検査対象物が表されたカラー画像及び距離画像を用いた検査対象物の検査において、検査精度を向上することができるという効果を奏する。
以下、図を参照しつつ、検査装置、及び、検査装置で実行される検査方法及び検査用コンピュータプログラムについて説明する。この検査装置は、検査対象物が表されたカラー画像及び距離画像のそれぞれを識別器に入力することで、検査対象物の所定の検査項目についての状態を判定する。この検査装置が使用する識別器は、検査対象物が表されたカラー画像から、検査対象物の特徴を表す第1の特徴量を算出する第1の特徴算出部と、検査対象物が表された距離画像から、検査対象物の特徴を表す第2の特徴量を算出する第2の特徴算出部とを有する。さらに、この識別器は、第1の特徴量と第2の特徴量とを統合した統合特徴量を算出する統合部と、統合特徴量に基づいて所定の検査項目に対する検査対象物が取り得る状態ごとの確からしさを表す識別指標を算出する識別部とを有する。そしてこの検査装置は、得られた識別指標に基づいて、検査対象物の所定の検査項目についての状態を判定する。このように、この検査装置は、検査対象物の検査に、その検査対象物が表されたカラー画像と距離画像の2種類の画像のそれぞれから算出された特徴量を統合した結果を使用するので、より精度の高い検査結果を得ることができる。
なお、距離画像は、画素ごとに、その画素に表された物体(本実施形態では、検査対象物の一例であるワーク)の部位までの距離に相当する値を有する画像である。例えば、距離画像では、着目する画素に表された物体の部位までの距離が大きいほど、その画素の値は大きな値となる(すなわち、その画素に表された物体の部位までの距離が大きいほど、その画素は白くなる)。なお、画素ごとに、その画素に表された物体の部位までの距離が大きいほど、その画素の値が小さくなるように距離画像は生成されてもよい。また、検査対象物に対する所定の検査項目は、検査対象物の欠陥の有無の判定、検査対象物が良品か不良品かの判定、あるいは、検査対象物が異物か否かの判定に関するものとすることができる。以下の実施形態では、検査システムにより実施される、検査対象物に対する所定の検査項目は、検査対象物の欠陥の有無の判定のためのものであり、検査対象物が取り得る状態には、欠陥有りに相当する状態と欠陥無しに相当する状態とが含まれる。
図1は、一つの実施形態による、検査装置が実装された検査システムの概略構成図である。検査システム1は、カメラ2と、3Dカメラ3と、検査装置4とを有する。カメラ2と3Dカメラ3とは、通信回線5を介して検査装置4と通信可能に接続される。そして検査システム1は、ベルトコンベヤ10により搬送される、検査対象物の一例であるワーク11の欠陥の有無を判定する。
カメラ2は、撮像部の一例であり、例えば、ベルトコンベヤ10上を搬送されるワーク11を上方から撮影可能なように、ベルトコンベヤ10の上方を跨ぐように設けられた支持部材に対して下方を向くように取り付けられる。なお、カメラ2は、ワーク11を側面あるいは斜め上方から撮影するように支持部材に取り付けられていてもよい。そしてカメラ2は、その撮影範囲内にワーク11が搬送されてきたタイミングでワーク11を撮影することで、ワーク11が表されたカラー画像を生成する。本実施形態では、カメラ2により生成されるカラー画像は、RGB表色系で表されるものとする。ただし、カメラ2により生成されるカラー画像は、HSV表色系といった他の表色系で表されてもよい。なお、カメラ2の撮影範囲内にワーク11が搬送されてきたタイミングは、例えば、ベルトコンベヤ10を制御する制御装置(図示せず)から通信回線5を介して通知される。カメラ2は、ワーク11が表されたカラー画像を生成する度に、生成したカラー画像を、通信回線5を介して検査装置4へ出力する。
3Dカメラ3は、立体撮像部の一例であり、カメラ2により撮影されるワーク11の面と同じ面を撮影可能なように設置される。3Dカメラ3は、例えば、ベルトコンベヤ10上を搬送されるワーク11を上方から撮影可能なように、カメラ2が取り付けられた支持部材に対して下方を向くように取り付けられる。また、カメラ2が、ワーク11を側面あるいは斜め上方から撮影するように支持部材に取り付けられている場合には、3Dカメラ3も、カメラ2と同じ方向からワーク11を撮影するように取り付けられることが好ましい。また、カメラ2及び3Dカメラ3がワーク11を撮影している間、ワーク11が静止している場合、3Dカメラ3は、カメラ2がワーク11を撮影するタイミングとは異なるタイミングにてワーク11を撮影してもよい。
3Dカメラ3は、距離画像を生成可能な様々な方式の何れかのものとすることができる。例えば、3Dカメラ3は、Time of Flight方式のカメラとすることができる。この場合、3Dカメラ3は、1回の撮影で距離画像を生成することができる。そのため、3Dカメラ3は、その撮影範囲内にワーク11が搬送されてきたタイミングでワーク11を1回撮影することで、ワーク11が表された距離画像を生成する。なお、3Dカメラ3の撮影範囲内にワーク11が搬送されてきたタイミングは、例えば、ベルトコンベヤ10を制御する制御装置(図示せず)から通信回線5を介して通知される。また、3Dカメラ3は、ステレオ方式のカメラであってもよい。3Dカメラ3がステレオ方式のカメラである場合、3Dカメラ3の撮影範囲内にワーク11が搬送されてくると、3Dカメラ3が有する個々のカメラがそれぞれワーク11を撮影して画像を生成する。そして個々のカメラにより生成された画像が、通信回線5を介して検査装置4へ出力される。また、カメラ2及び3Dカメラ3がワーク11を撮影している間、ワーク11が静止しているなら、3Dカメラ3は、構造化照明方式のカメラであってもよい。3Dカメラ3が構造化照明方式のカメラである場合、3Dカメラ3の撮影範囲内にワーク11が搬送されてくると、3Dカメラ3が有する照明光源から発せられる構造化光の位相を変化させながら複数回の撮影が行われて複数の画像が生成される。そしてそれら複数の画像が通信回線5を介して検査装置4へ出力される。
検査装置4は、通信回線5を介してカメラ2及び3Dカメラ3と接続される。そして検査装置4は、カメラ2から受信した、ワーク11が表されたカラー画像、及び、3Dカメラ3から受信した、ワーク11が表された距離画像、あるいはその距離画像を生成するための複数の画像に基づいて、ワーク11の欠陥の有無を判定する。
図2は、検査装置4のハードウェア構成図である。検査装置4は、通信インターフェース21と、メモリ22と、プロセッサ23とを有する。さらに、検査装置4は、キーボート及び表示装置といったユーザインターフェース(図示せず)を有していてもよい。
通信インターフェース21は、通信部の一例であり、例えば、検査装置4を通信回線5と接続するための通信インターフェース及び通信回線5を介した信号の送受信に関する処理を実行するための回路を含む。そして通信インターフェース21は、カメラ2から通信回線5を介してカラー画像を受信して、そのカラー画像をプロセッサ23へわたす。また、通信インターフェース21は、3Dカメラ3から通信回線5を介して距離画像あるいは距離画像を生成するための複数の画像を受信して、それら画像をプロセッサ23へわたす。さらに、通信インターフェース21は、プロセッサ23から受け取った、ワーク11の欠陥の有無の判定結果を、通信回線5を介して他の機器(図示せず)へ出力してもよい。
メモリ22は、記憶部の一例であり、例えば、読み書き可能な半導体メモリと読み出し専用の半導体メモリとを有する。さらに、メモリ22は、半導体メモリカード、ハードディスク、あるいは光記憶媒体といった記憶媒体及びその記憶媒体にアクセスする装置を有していてもよい。
メモリ22は、検査装置4のプロセッサ23で実行される検査処理用のコンピュータプログラム、及び、その検査処理で利用される各種のパラメータ及びデータを記憶する。メモリ22は、検査処理で利用される各種のパラメータとして、例えば、識別器の構成を規定するパラメータセットを記憶する。さらに、メモリ22は、ワーク11が表されたカラー画像及び距離画像(または距離画像を生成するために用いられる複数の画像)を一時的に記憶してもよい。さらにまた、メモリ22は、ワーク11の欠陥の有無の判定結果を記憶してもよい。
プロセッサ23は、処理部の一例であり、例えば、1個または複数個のCPU及びその周辺回路を有する。プロセッサ23は、数値演算用の演算回路またはグラフィック処理用の演算回路をさらに有していてもよい。そしてプロセッサ23は、カメラ2から受信した、ワーク11が表されたカラー画像をメモリ22に保存するとともに、3Dカメラ3から受信した、ワーク11が表された距離画像あるいは距離画像生成用の複数の画像をメモリ22に保存する。さらに、プロセッサ23は、それらカラー画像及び距離画像に基づいて、ワーク11に対する検査処理を実行する。
図3は、検査処理に関するプロセッサ23の機能ブロック図である。プロセッサ23は、前処理部31と、判定部32とを有する。プロセッサ23が有するこれらの各部は、例えば、プロセッサ23上で実行されるコンピュータプログラムにより実現される機能モジュールである。あるいは、これらの各部は、プロセッサ23の一部に実装される専用の演算回路として実装されてもよい。
前処理部31は、3Dカメラ3から、距離画像を生成するための複数の画像が得られている場合には、その複数の画像から距離画像を生成する。
例えば、3Dカメラ3がステレオカメラである場合、前処理部31は、そのステレオカメラが有する個々のカメラにより生成された複数の画像間でステレオマッチングを実行することでワーク11が表された距離画像を生成する。また、3Dカメラ3が構造化照明方式のカメラである場合、前処理部31は、ワーク11に投影された構造化光の位相が異なる複数の画像を所定の演算に従って合成することでワーク11が表された距離画像を生成する。
さらに、前処理部31は、ワーク11が表されたカラー画像及び距離画像に対して、第1及び第2の識別器に入力する前の所定の前処理を実行する。例えば、前処理部31は、カラー画像の各画素の値を次式に従って変換することで、カラー画像を標準化する。
(R - 0.485*255)/(0.299*255)
(G - 0.456*255)/(0.224*255) (1)
(B - 0.406*255)/(0.225*255)
ここで、R,G,Bは、それぞれ、着目する画素における赤色成分、緑色成分、青色成分の値である。なお、標準化前におけるカラー画像の個々の画素の各色成分は、0~255の範囲の何れかの値で表されるものとする。
(R - 0.485*255)/(0.299*255)
(G - 0.456*255)/(0.224*255) (1)
(B - 0.406*255)/(0.225*255)
ここで、R,G,Bは、それぞれ、着目する画素における赤色成分、緑色成分、青色成分の値である。なお、標準化前におけるカラー画像の個々の画素の各色成分は、0~255の範囲の何れかの値で表されるものとする。
あるいは、前処理部31は、カラー画像の各画素の値を次式に従って変換することで、カラー画像を標準化してもよい。
(R -μR)/σR
(G -μG)/σG (2)
(B -μB)/σB
ここで、R,G,Bは、それぞれ、着目する画素における赤色成分、緑色成分、青色成分の値である。また、μR,μG,μBは、それぞれ、カラー画像全体の赤色成分の平均値、緑色成分の平均値、青色成分の平均値を表す。さらに、σR,σG,σBは、それぞれ、カラー画像全体の赤色成分の標準偏差、緑色成分の標準偏差、青色成分の標準偏差を表す。
(R -μR)/σR
(G -μG)/σG (2)
(B -μB)/σB
ここで、R,G,Bは、それぞれ、着目する画素における赤色成分、緑色成分、青色成分の値である。また、μR,μG,μBは、それぞれ、カラー画像全体の赤色成分の平均値、緑色成分の平均値、青色成分の平均値を表す。さらに、σR,σG,σBは、それぞれ、カラー画像全体の赤色成分の標準偏差、緑色成分の標準偏差、青色成分の標準偏差を表す。
あるいはまた、前処理部31は、カラー画像の各画素について、その画素の各色成分をその取り得る最大値(この例では、255)で除することで、カラー画像を正規化してもよい。あるいはまた、前処理部31は、カラー画像の個々の画素の各色成分の値を所定のγ曲線に従って変換することで、カラー画像をコントラスト変換してもよい。さらにまた、前処理部31は、カラー画像に対して、各色成分のヒストグラムを正規化する処理といった他の前処理を適用してもよい。前処理部31は、このような前処理をカラー画像に対して適用することで、識別器に入力されるカラー画像のバラツキを軽減することができる。その結果として、前処理部31は、識別器による、ワーク11の欠陥の有無の識別精度を間接的に向上させることができる。
前処理部31は、距離画像に対して、所定のカラー化処理を適用することで、距離画像をカラー化する。前処理部31は、そのようなカラー化処理として、例えば、元の画素が白いほど、その画素を赤くし、元の画素が黒いほど、その画素を青くするような所定の色変換アルゴリズムを用いる処理を利用することができる。あるいは、前処理部31は、入力されたモノクロ画像をカラー画像に変換するように予め学習されたモデルに距離画像を入力することで、距離画像をカラー化してもよい。前処理部31は、そのようなモデルとして、複数の畳み込み層を有するコンボリューショナルニューラルネットワーク(CNN)型のアーキテクチャを有する、いわゆるディープニューラルネットワーク(DNN)を用いることができる。
前処理部31は、カラー化された距離画像に対して、カラー画像に対して適用したのと同様の前処理を適用する。例えば、前処理部31は、カラー化された距離画像を、(1)式あるいは(2)式に従って標準化する。あるいは、前処理部31は、カラー化された距離画像に対して上記のような正規化処理を適用することで、その距離画像を正規化してもよい。あるいはまた、前処理部31は、カラー化された距離画像に対して上記のような他の前処理を適用してもよい。前処理部31は、このような前処理を距離画像に対して適用することで、第2の識別器に入力される距離画像のバラツキを軽減することができる。その結果として、前処理部31は、第2の識別器による、ワーク11の欠陥の有無の識別精度を間接的に向上させることができる。さらに、前処理部31は、カラー化処理を距離画像に適用することで、第1の特徴算出部と第2の特徴算出部に同じ構成のDNNを用いることを可能にする。
なお、前処理部31は、カラー画像に対して適用された前処理とは異なる前処理を、カラー化された距離画像に適用してもよい。例えば、前処理部31は、(1)式及び(2)の一方に従ってカラー画像を標準化し、(1)式及び(2)の他方に従ってカラー化された距離画像を標準化してもよい。あるいは、前処理部31は、(1)式または(2)式に従ってカラー画像を標準化し、上記のような正規化処理に従ってカラー化された距離画像を正規化してもよい。このように、前処理部31は、カラー画像に適用する前処理とカラー化された距離画像に適用する前処理とを異ならせることで、それぞれの画像に適した前処理を実行することができる。
あるいは、前処理部31は、距離画像に対して所定の前処理を施した後に、カラー化処理を施してもよい。
前処理部31は、前処理が施されたカラー画像及び前処理が施され、かつカラー化された距離画像を判定部32に出力する。
判定部32は、前処理が施されたカラー画像及び前処理が施され、かつカラー化された距離画像を識別器に入力することで、所定の検査項目についてワーク11が取り得る状態のそれぞれの確からしさを表す識別指標を算出する。本実施形態では、識別器は、識別指標として、ワーク11の欠陥の有無のそれぞれについての確からしさを表す信頼度を算出する。なお、以下では、前処理が施されたカラー画像を、単にカラー画像と呼ぶことがある。また、前処理が施され、かつカラー化された距離画像を、単に距離画像と呼ぶことがある。
図4は、本実施形態で用いられる識別器の概略構成図である。識別器400は、第1の特徴算出部401と、第2の特徴算出部402と、統合部403と、識別部404とを有する。
第1の特徴算出部401には、カラー画像CImageが入力され、第1の特徴算出部401は、そのカラー画像に表されたワーク11の特徴を表す第1の特徴量f1を算出する。また、第2の特徴算出部402には、距離画像DImageが入力され、第2の特徴算出部402は、その距離画像に表されたワーク11の特徴を表す第2の特徴量f2を算出する。そのために、第1の特徴算出部401及び第2の特徴算出部402は、それぞれ、複数の畳み込み層を有する。さらに、第1の特徴算出部401及び第2の特徴算出部402は、それぞれ、連続する何れかの二つの畳み込み層間、または最も出力側の畳み込み層の出力側に配置される、少なくとも一つのプーリング層を有してもよい。さらに、第1の特徴算出部401及び第2の特徴算出部402は、それぞれ、複数の畳み込み層よりも出力側に配置される、少なくとも一つの全結合層を有してもよい。さらにまた、第1の特徴算出部401及び第2の特徴算出部402は、それぞれ、各畳み込み層の出力側及び各全結合層の出力側に活性化層を有する。
第1の特徴算出部401の各畳み込み層は、入力されたカラー画像または一つ上の層から出力された特徴マップに対して畳み込み演算を実行することで特徴マップを算出する。また、プーリング層は、一つ上の層から出力された特徴マップに対して、MaxPoolingあるいはGlobal Average Poolingを実行する。さらに、全結合層は、一つ上の層から出力された特徴マップに対して全結合演算を実行する。さらに、活性化層は、一つ上の層からの出力に対してReLUあるいはMishといった活性化演算を実行する。そして第1の特徴算出部401は、最も出力側に配置された層から出力される演算結果を、第1の特徴量として統合部403へ出力する。出力される第1の特徴量には、チャネルごとに、1次元または2次元状に配置された複数の特徴変数が含まれる。なお、第1の特徴算出部401に、連続する二つの畳み込み層間に配置されるプーリング層が設けられる場合、プーリング層の前後で解像度の異なる複数の特徴マップが得られる。その解像度の異なる複数の特徴マップが、それぞれ、第1の特徴量として統合部403へ出力されてもよい。あるいは、第1の特徴算出部401が全結合層を有する場合には、その解像度の異なる複数の特徴マップのそれぞれが全結合層に入力されてもよい。
同様に、第2の特徴算出部402の各畳み込み層は、入力された距離画像または一つ上の層から出力された特徴マップに対して畳み込み演算を実行することで特徴マップを算出する。また、プーリング層は、一つ上の層から出力された特徴マップに対して、MaxPoolingあるいはGlobal Average Poolingを実行する。さらに、全結合層は、一つ上の層から出力された特徴マップに対して全結合演算を実行する。さらに、活性化層は、一つ上の層からの出力に対してReLUあるいはMishといった活性化演算を実行する。そして第2の特徴算出部402は、最も出力側に配置された層から出力される演算結果を、第2の特徴量として統合部403へ出力する。出力される第2の特徴量には、チャネルごとに、1次元または2次元状に配置された複数の特徴変数が含まれる。上記のように、第2の特徴算出部402に、連続する二つの畳み込み層間に配置されるプーリング層が設けられる場合、プーリング層の前後で解像度の異なる複数の特徴マップが得られる。その解像度の異なる複数の特徴マップが、それぞれ、第2の特徴量として統合部403へ出力されてもよい。あるいは、第2の特徴算出部402が全結合層を有する場合には、その解像度の異なる複数の特徴マップのそれぞれが全結合層に入力されてもよい。
特に、第2の特徴算出部402として、第1の特徴算出部401と同じ構成を有するものが用いられてもよい。本実施形態において、これら二つの特徴算出部が同じ構成を有するとは、二つの特徴算出部のそれぞれの層構成及び各層の演算の種類が同じであることを意味する。したがって、二つの特徴算出部のそれぞれの層構成及び各層の演算の種類が同じであれば、個別の学習によって異なる値となる、個々の層の演算で用いられる重み係数などは互いに異なっていてもよい。
変形例によれば、第1の特徴算出部401及び第2の特徴算出部402は、各畳み込み層の代わりに、入力されたカラー画像または距離画像に対してself attentionに基づく演算を行って特徴マップを算出する層を有していてもよい。
統合部403は、第1の特徴量f1と第2の特徴量f2を統合した統合特徴量fintを算出する。そのために、統合部403は、第1の特徴量f1と第2の特徴量f2の互いに対応する特徴変数の組ごとに、その組に含まれる特徴変数の和を算出し、算出した和を、統合特徴量fintの対応する特徴変数の値とする。なお、統合部403は、第1の特徴量f1と第2の特徴量f2の互いに対応する特徴変数の組ごとに、その組に含まれる特徴変数の平均値あるいは加重平均値を算出し、算出した平均値あるいは加重平均値を、統合特徴量fintの対応する特徴変数の値としてもよい。加重平均が行われる場合、第1の特徴量f1に対する重み係数と、第2の特徴量f2に対する重み係数は、例えば、事前に測定された、識別精度に対するカラー画像の寄与度と距離画像の寄与度に基づいて設定される。すなわち、識別精度に対するカラー画像の寄与度が距離画像の寄与度よりも高い場合、第1の特徴量f1に含まれる特徴変数に対する重み係数は、第2の特徴量f2に含まれる特徴変数に対する重み係数よりも大きい値に設定される。逆に、識別精度に対する距離画像の寄与度がカラー画像の寄与度よりも高い場合、第2の特徴量f2に含まれる特徴変数に対する重み係数は、第1の特徴量f1に含まれる特徴変数に対する重み係数よりも大きい値に設定されればよい。あるいは、これらの重み係数も、識別器が学習される際にその学習結果に従って決定されてもよい。
あるいは、統合部403は、第1の特徴量f1と第2の特徴量f2の互いに対応する特徴変数の組ごとに、その組に含まれる特徴変数のうちの最大値を特定し、特定した最大値を、統合特徴量fintの対応する特徴変数の値としてもよい。あるいはまた、統合部403は、第1の特徴量f1に含まれる各特徴変数と第2の特徴量f2に含まれる各特徴変数とをそれぞれ含むように、統合特徴量fintを作成してもよい。その際、第1の特徴量f1と第2の特徴量f2の互いに対応する特徴変数同士が並ぶように、統合特徴量fintは作成されてもよい。
統合部403は、統合特徴量fintを識別部404へ出力する。
識別部404は、統合特徴量fintに対してSoftmax演算あるいはSigmoid演算を実行することで、ワーク11の欠陥の有無のそれぞれに対する信頼度を算出する出力層を有する。さらに、識別部404は、SphereFace、CosFace、あるいはArcFaceといった距離学習用の層を、Softmax演算あるいはSigmoid演算を実行する出力層よりも入力側に有してもよい。さらにまた、識別部404は、出力層及び距離学習用の層よりも入力側に、少なくとも一つの全結合層と、個々の全結合層の出力側に設けられる活性化層を有していてもよい。特に、第1の特徴算出部401と第2の特徴算出部402とが全結合層を有さない場合には、識別部404が少なくとも一つの全結合層を有することが好ましい。
識別部404は、統合特徴量fintが入力されると、上記の各層の演算を実行することで、識別指標として、ワーク11の欠陥の有無のそれぞれについての信頼度を算出する。特に、出力層がsoftmax演算を行うように構成されている場合、欠陥有りについての信頼度と、欠陥無しについての信頼度との和は1となる。
識別器400は、誤差逆伝搬法といった所定の学習アルゴリズムに従って予め学習される。識別器400の学習に用いられる教師データには、例えば、欠陥が有るワーク11をカメラ2と3Dカメラ3とで同時に撮影することで得られた、欠陥が有るワーク11の同じ面が表されたカラー画像及び距離画像が含まれる。さらに、教師データには、欠陥が無いワーク11をカメラ2と3Dカメラ3とで同時に撮影することで得られた、欠陥が無いワーク11の同じ面が表されたカラー画像及び距離画像が含まれる。このような多数の教師データを用いて学習されることで、識別器400は、入力されたカラー画像及び距離画像に表されたワーク11の欠陥の有無を精度良く識別することが可能となる。
なお、識別器400として、VGG-16、VGG-19、あるいはEfficientNetといった、既存の学習済みのDNNを流用してもよい。この場合、これら既存のDNNに含まれる各層のうち、出力層または出力層と全結合層及び全結合層の出力側に設けられる活性化層を識別部404とし、識別部404とした層以外の各層を複製して、第1の特徴算出部401及び第2の特徴算出部402とすればよい。そのため、第1の特徴算出部401及び第2の特徴算出部402は同じ構成を有するものとなる。そして上記の統合部403が追加されればよい。この場合、使用されるDNNはある程度学習されているので、比較的少ない数の教師データを用いた転移学習により、学習の際の演算負荷が軽減されるとともに、識別器400によるワーク11の欠陥の有無の識別精度がより向上する。特に、実際の工程では、欠陥が有るワーク11はあまり存在しないため、欠陥が有るワーク11が表された教師データを多数用意することが困難なことがある。しかし、このような転移学習を利用することで、教師データの数が少なくても、識別器400によるワーク11の欠陥の有無の識別精度を向上させることが可能となる。
判定部32は、識別器から出力された、欠陥有りについての信頼度が、欠陥無しについての信頼度よりも大きい場合、ワーク11には欠陥が有ると判定する。逆に、欠陥無しについての信頼度が、欠陥有りについての信頼度以上となる場合、判定部32は、ワーク11には欠陥が無いと判定する。あるいは、判定部32は、欠陥有りについての信頼度が、所定の判定閾値よりも大きい場合、ワーク11には欠陥が有ると判定し、欠陥有りについての信頼度が、所定の判定閾値以下である場合、ワーク11には欠陥が無いと判定してもよい。
判定部32は、ワーク11の欠陥の有無の判定結果を、ユーザインターフェース(図示せず)を介してユーザに通知する。あるいは、判定部32は、ワーク11の欠陥の有無の判定結果を、通信インターフェース21及び通信回線5を介して他の機器へ出力してもよい。
図5は、検査処理の動作フローチャートである。プロセッサ23は、下記の動作フローチャートに従って検査処理を実行する。
プロセッサ23の前処理部31は、カラー画像に対して所定の前処理を実行する(ステップS101)。また、前処理部31は、距離画像に対してカラー化処理及び所定の前処理を実行する(ステップS102)。なお、ステップS101の処理とステップS102の処理の順序は逆でもよく、あるいは、互いに並列に実行されてもよい。
プロセッサ23の判定部32は、前処理が施されたカラー画像と前処理が施され、かつ、カラー化された距離画像のそれぞれを識別器に入力する。これにより、識別器は、第1の特徴量及び第2の特徴量を算出する(ステップS103)。さらに、識別器は、第1の特徴量及び第2の特徴量を統合した統合特徴量を算出する(ステップS104)。そして識別器は、統合特徴量に基づいてワーク11の欠陥の有無のそれぞれの信頼度を識別指標として算出する(ステップS105)。
判定部32は、識別指標として算出されたワーク11の欠陥の有無のそれぞれの信頼度に基づいてワーク11の欠陥の有無を判定する(ステップS106)。そして判定部32は、その判定結果を、ユーザインターフェースを介してユーザに通知し、あるいは、通信インターフェース21及び通信回線5を介して他の機器へ出力する(ステップS107)。そしてプロセッサ23は、検査処理を終了する。
以上に説明してきたように、この検査装置は、検査対象物が表されたカラー画像及び距離画像のそれぞれを識別器に入力することで、検査対象物の所定の検査項目についての状態を判定する。この検査装置が使用する識別器は、検査対象物が表されたカラー画像及び距離画像から、検査対象物の特徴を表す第1の特徴量及び第2の特徴量を算出する。そしてこの識別器は、第1の特徴量と第2の特徴量とを統合した統合特徴量に基づいて所定の検査項目に対する検査対象物が取り得る状態ごとの確からしさを表す識別指標を算出する。そしてこの検査装置は、得られた識別指標に基づいて、検査対象物の所定の検査項目についての状態を判定する。このように、この検査装置は、検査対象物の検査に、その検査対象物が表されたカラー画像と距離画像の2種類の画像のそれぞれから算出された特徴量を統合した結果を使用するので、より精度の高い検査結果を得ることができる。
変形例によれば、前処理部31は、カラー画像及び距離画像の何れか一方のみに対して所定の前処理を実行してもよい。あるいは、前処理部31は、距離画像に対するカラー化処理を実行しなくてもよい。あるいはまた、前処理部31は、距離画像の生成以外の処理を行わなくてもよい。これにより、検査処理全体に対する演算量が軽減される。なお、カメラ2及び3Dカメラ3による、ワーク11の撮影環境がある程度一定となることが見込まれる場合、あるいは、撮影環境のバラツキも考慮して識別器が学習されている場合には、前処理が省略されても、検査精度は維持可能である。また、距離画像に対するカラー化処理が省略される場合には、識別器が有する第1の特徴算出部と第2の特徴算出部とは異なる構成となることが好ましい。これは、第1の特徴算出部に入力されるカラー画像(R,G,Bの3チャンネル)の構造と、第2の特徴算出部に入力される距離画像(1チャンネルのみ)の構造とが異なるためである。
また、検査装置4のプロセッサ23が有する各部の処理を実行するためのコンピュータプログラムは、半導体メモリ、磁気記録媒体または光記録媒体といった、コンピュータ読取可能な可搬性の記録媒体に記録された形で提供されてもよい。
以上のように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
1 検査システム
2 カメラ
3 3Dカメラ
4 検査装置
5 通信回線
10 ベルトコンベヤ
11 ワーク
21 通信インターフェース
22 メモリ
23 プロセッサ
31 前処理部
32 判定部
400 識別器
401 第1の特徴算出部
402 第2の特徴算出部
403 統合部
404 識別部
2 カメラ
3 3Dカメラ
4 検査装置
5 通信回線
10 ベルトコンベヤ
11 ワーク
21 通信インターフェース
22 メモリ
23 プロセッサ
31 前処理部
32 判定部
400 識別器
401 第1の特徴算出部
402 第2の特徴算出部
403 統合部
404 識別部
Claims (5)
- 検査対象物が表されたカラー画像及び前記検査対象物が表された距離画像を識別器に入力することで、所定の検査項目について前記検査対象物が取り得る状態のそれぞれの確からしさを表す識別指標を算出し、前記識別指標に基づいて前記検査対象物の前記検査項目についての状態を判定する判定部を有し、
前記識別器は、
前記カラー画像に基づいて前記検査対象物の特徴を表す第1の特徴量を算出する第1の特徴算出部と、
前記距離画像に基づいて前記検査対象物の特徴を表す第2の特徴量を算出する第2の特徴算出部と、
前記第1の特徴量と前記第2の特徴量を統合した統合特徴量を算出する統合部と、
前記統合特徴量に基づいて前記識別指標を算出する識別部と、
を有する検査装置。 - 前記距離画像をカラー化する前処理部をさらに有する、請求項1に記載の検査装置。
- 前記識別器の前記第1の特徴算出部と前記第2の特徴算出部とは同じ構成を有する、請求項2に記載の検査装置。
- 検査対象物が表されたカラー画像及び前記検査対象物が表された距離画像を識別器に入力することで、所定の検査項目について前記検査対象物が取り得る状態のそれぞれの確からしさを表す識別指標を算出し、
前記識別指標に基づいて前記検査対象物の前記検査項目についての状態を判定する、
ことを含み、
前記識別器は、
前記カラー画像に基づいて前記検査対象物の特徴を表す第1の特徴量を算出し、
前記距離画像に基づいて前記検査対象物の特徴を表す第2の特徴量を算出し、
前記第1の特徴量と前記第2の特徴量を統合した統合特徴量を算出し、
前記統合特徴量に基づいて前記識別指標を算出する、
検査方法。 - 検査対象物が表されたカラー画像及び前記検査対象物が表された距離画像を識別器に入力することで、所定の検査項目について前記検査対象物が取り得る状態のそれぞれの確からしさを表す識別指標を算出し、
前記識別指標に基づいて前記検査対象物の前記検査項目についての状態を判定する、
ことをコンピュータに実行させ、
前記識別器は、
前記カラー画像に基づいて前記検査対象物の特徴を表す第1の特徴量を算出し、
前記距離画像に基づいて前記検査対象物の特徴を表す第2の特徴量を算出し、
前記第1の特徴量と前記第2の特徴量を統合した統合特徴量を算出し、
前記統合特徴量に基づいて前記識別指標を算出する、
検査用コンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022062521A JP2023152482A (ja) | 2022-04-04 | 2022-04-04 | 検査装置、検査方法及び検査用コンピュータプログラム |
US18/129,228 US20230316490A1 (en) | 2022-04-04 | 2023-03-31 | Inspection device, method, and computer program for inspection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022062521A JP2023152482A (ja) | 2022-04-04 | 2022-04-04 | 検査装置、検査方法及び検査用コンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023152482A true JP2023152482A (ja) | 2023-10-17 |
Family
ID=88193103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022062521A Pending JP2023152482A (ja) | 2022-04-04 | 2022-04-04 | 検査装置、検査方法及び検査用コンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230316490A1 (ja) |
JP (1) | JP2023152482A (ja) |
-
2022
- 2022-04-04 JP JP2022062521A patent/JP2023152482A/ja active Pending
-
2023
- 2023-03-31 US US18/129,228 patent/US20230316490A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230316490A1 (en) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111179251B (zh) | 基于孪生神经网络利用模板比对的缺陷检测系统及方法 | |
KR102166458B1 (ko) | 인공신경망 기반의 영상 분할을 이용한 불량 검출 방법 및 불량 검출 장치 | |
EP3499418A2 (en) | Information processing apparatus, identification system, setting method, and program | |
CN111507976B (zh) | 基于多角度成像的缺陷检测方法及系统 | |
JP7059883B2 (ja) | 学習装置、画像生成装置、学習方法、及び学習プログラム | |
JP7131617B2 (ja) | 照明条件を設定する方法、装置、システム及びプログラム並びに記憶媒体 | |
JP2019087181A (ja) | 画像検査装置および方法 | |
CN102184878B (zh) | 一种用于晶圆对准的模板图像质量反馈方法 | |
CN108830197A (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN109916921A (zh) | 电路板缺陷处理方法、装置及设备 | |
CN112150460A (zh) | 检测方法、检测系统、设备和介质 | |
US20220067514A1 (en) | Inference apparatus, method, non-transitory computer readable medium and learning apparatus | |
Ettalibi et al. | AI and Computer Vision-based Real-time Quality Control: A Review of Industrial Applications | |
US9036903B2 (en) | Learning device, identification device, learning identification system and learning identification device | |
AVENDAÑO | Identification and quantification of concrete cracks using image analysis and machine learning | |
JP2020112483A (ja) | 外観検査システム、計算モデル構築方法及び計算モデル構築プログラム | |
WO2021195817A1 (zh) | 一种提取待测物质的光谱信息的方法 | |
JP2840347B2 (ja) | 基板実装検査装置 | |
CN115861259A (zh) | 一种基于模板匹配的引线框架表面缺陷检测方法及装置 | |
JP2023152482A (ja) | 検査装置、検査方法及び検査用コンピュータプログラム | |
JP2023145412A (ja) | 欠陥検出方法及びシステム | |
US20220172453A1 (en) | Information processing system for determining inspection settings for object based on identification information thereof | |
US20240265616A1 (en) | Texture mapping to polygonal models for industrial inspections | |
JP2023152476A (ja) | 検査装置、検査方法及び検査用コンピュータプログラム | |
JP7070308B2 (ja) | 推定器生成装置、検査装置、推定器生成方法、及び推定器生成プログラム |