JP2021092887A - 外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラム - Google Patents
外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラム Download PDFInfo
- Publication number
- JP2021092887A JP2021092887A JP2019221989A JP2019221989A JP2021092887A JP 2021092887 A JP2021092887 A JP 2021092887A JP 2019221989 A JP2019221989 A JP 2019221989A JP 2019221989 A JP2019221989 A JP 2019221989A JP 2021092887 A JP2021092887 A JP 2021092887A
- Authority
- JP
- Japan
- Prior art keywords
- inspection
- image
- degree
- defect
- visual inspection
- 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
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】ニューラルネットワークを用いて高速かつ精度よく外観検査を実行できる外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラムを提供する。【解決手段】識別器は、検査対象が検査位置に到達するとS501:YES、検査対象を撮影してS502、検査画像を生成しS503、当該検査画像に欠陥が写っているか判定する。欠陥が写っている場合にはS504:YES、CNNを用いて欠陥サイズを判定するS505。当該CNNは、検査画像を入力としてセマンティックセグメンテーションを行うことなく、画像に写っている欠陥のサイズがどのクラスに属するかの確率を出力し、計算量が抑制される。欠陥サイズが閾値φthよりも大きい場合にはS506:YES、修正が必要と記録するS507。判定した欠陥サイズが閾値φth以下である場合にはS506:NO、修正が不要と記録するS508。【選択図】図5
Description
本開示は、外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラムに関し、特に検査対象の画像を用いた自動検査を高速化する技術に関する。
従来、さまざまな製品の製造工程における品質管理のために外観の目視検査が行われてきている。目視検査は、検査項目が多数に上る一方、検査員に熟練した検査技能が求められるので、効率化を図ることが難しい。このため、目視検査を自動化する技術が求められている。
このような要望に対して、例えば、ルールベースAI(Artificial Intelligence)を適用して目視検査の自動化を図ることが考えられる。具体的には、製品を撮影した検査画像から複数の特徴量を抽出し、抽出した特徴量からルールベースに基づいた推論を行うことによって検査対象物の良否を判定する。従って、ルールベースAIを用いれば、熟練した検査員を要することなく、目視検査を実施することができる。
Vijay Badrinarayanan, Alex Kendall and Roberto Cipolla, "SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation."
Olaf Ronneberger, Philipp Fischer, Thomas Brox, "U-Net: Convolutional Networks for Biomedical Image Segmentation"
Karen Simonyan, Andrew Zisserman, "Very Deep Convolutional Networks for Large-Scale Image Recognition", arXiv:1409.1556 (2015).
インターネット<URL: https://keras.io/>
Yuji Tokozume, Yoshitaka Ushiku, Tatsuya Harada, "Between-class Learning for Image Classification"
Vijay Badrinarayanan, Alex Kendall, Roberto Cipolla, "SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation", arXiv:1511.00561 (2016).
Olaf Ronneberger, Philipp Fischer, Thomas Brox, "U-Net: Convolutional Networks for Biomedical Image Segmentation, arXiv:1505.04597 (2015).
Jonathan Long, Evan Shelhamer, Trevor Darrell, "Fully Convolutional Networks for Semantic Segmentation", arXiv:1411.4038 (2015).
Diederik P. Kingma, Jimmy Ba, "Adam: A Method for Stochastic Optimization", arXiv:1412.6980 (2015).
しかしながら、多品種少量生産の場合などでは、検査対象となるワークの材質や形状などが多岐に亘るため、検査項目数が膨大になり、これに合わせてルールベースAIもまた膨大なルールを用意しなければならない上に、ルールベースの開発には検査対象に関する高度に専門的な知識が必要になるという困難が伴う。
このような問題に対して、近年、進歩が著しいニューラルネットワークを利用すれば、膨大なルールベースを構築する手間を省いたり、検査時間を短縮したりすることができると期待される。ニューラルネットワークは、検査結果が良の検査画像と、検査結果が不良の検査画像とを用いて学習させれば、多種多様なワーク・欠陥種に対応することができる。ニューラルネットワークを学習させる際には、ルールベースを構築する際に必要とされるような高度に専門的な知識を有していなくてもよく、検査技能に熟練している必要もないので、誰でも簡単に設定することができる。
外観検査に関しては、例えば、Segnet(非特許文献1を参照。)やU−net(非特許文献2を参照。)といったニューラルネットワークを用いた領域分割(Semantic Segmentation)技術を応用して、検査画像を画素単位でどのクラスに属するか分類すれば(pixel labeling)、検査画像に含まれている欠陥部分を画素単位で検出することができる。
欠陥を修正すべきか否かについては、基準となるサイズがメーカー毎に規定されている。このため、欠陥部分を画素単位で検出して、そのサイズを特定すれば、基準サイズを超えているかを判定することができる。
しかしながら、領域分割技術を利用して、検査画像のすべての画素についてクラス分類を実行するために必要となる計算量は膨大に上るため、どうしても処理時間が長くならざるを得ない。製造ラインにおいて高い生産性を達成するためには、検査ライン上で次々に搬送されてくる製品の外観検査を滞りなく実施しなければならないが、現状の領域分割技術では生産現場での実用に耐え得る処理時間内に欠陥画像の検出を完了することができてない。
一方、修正サイズ基準を超えるサイズの欠陥を見逃しては製品の品質を十分に管理することができない。一方、修正サイズ基準を超えないサイズの欠陥まで欠陥であると判定してしまうと、欠陥修正の要否は製品の製造コストに大きく影響するため、不要なコストが増大してしまう。
本開示は、上述のような問題に鑑みて為されたものであって、ニューラルネットワークを用いて高速かつ精度よく画像検査を実行することができる外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラムを提供することを目的とする。
上記目的を達成するため、本開示の一形態に係る外観検査装置は、欠陥が写った被検査画像を用いて検査対象の外観を検査する外観検査装置であって、学習用検査画像と、当該学習用検査画像に写った欠陥の程度と複数クラスのそれぞれとの関連度と、を教師データとして機械学習された検査モデルを用いて、被検査画像からクラスごとの関連度を出力する検査手段と、前記検査手段が出力したクラスごとの関連度の高さから、当該被検査画像に写っている欠陥の程度を推定する欠陥推定手段と、を備えることを特徴とする。
この場合において、前記複数クラスは、欠陥の程度に応じた順序関係を有しており、前記欠陥推定手段は、関連度が最も高い第1クラスと、前記順序関係において前記第1クラスと隣り合うクラスのうち、関連度が高い方のクラスを第2クラスとして特定し、前記第1、第2クラスの関連度の比から、欠陥の程度を推定してもよい。
また、前記複数クラスは、欠陥の程度に応じた順序関係を有しており、前記教師データとして用いる学習用検査画像は、前記順序関係において隣り合うクラスに対応する程度の欠陥が写った2つの学習用検査画像を合成した画像を含み、前記合成画像を教師データとする場合は、前記2つの学習用検査画像の合成比率を、前記2つの学習用検査画像に写った欠陥の程度に対応する各クラスの関連度としてもよい。
また、前記欠陥の程度の大小は、欠陥のサイズの大小であってもよい。
また、前記検査モデルは、畳み込みニューラルネットワークであって、入力層から出力層へ向かって、層ごとの出力サイズが単調に減少するのが望ましい。
また、本開示の一形態に係る外観検査システムは、本開示の一形態に係る外観検査装置と、検査対象を撮影して欠陥が写った検査画像を取得する検査画像取得装置と、を備え、前記外観検査装置は、前記検査画像取得装置にて取得した検査画像を被検査画像として、検査対象の外観を検査することを特徴とする。
また、本開示の一形態に係る特徴量推定装置は、画像を用いて当該画像に写った対象に関する特徴量を推定する特徴量推定装置であって、学習用画像と、当該学習用画像に写った対象に関する特徴量と複数クラスのそれぞれとの関連度と、を教師データとして機械学習された分類モデルを用いて、画像からクラスごとの関連度を出力する分類手段と、前記分類手段が出力したクラスごとの関連度の高さから、当該画像に写った対象に関する特徴量を、一次元的に配列することができるスカラー量として推定する推定手段と、を備えることを特徴とする。
また、本開示の一形態に係る外観検査プログラムは、欠陥が写った被検査画像を用いた外観検査をコンピューターに実行させる外観検査プログラムであって、学習用検査画像と、当該学習用検査画像に写った欠陥の程度と複数クラスのそれぞれとの関連度と、を教師データとして機械学習された検査モデルを用いて、被検査画像からクラスごとの関連度を出力する検査ステップと、前記検査ステップで出力したクラスごとの関連度の高さから、当該被検査画像に写っている欠陥の程度を推定する欠陥推定ステップと、をコンピューターに実行させることを特徴とする。
このようにすれば、学習用検査画像と、当該学習用検査画像に写った欠陥の程度と複数クラスのそれぞれとの関連度と、を教師データとして機械学習された検査モデルを用いて、被検査画像からクラスごとの関連度を出力させ、当該関連度を用いて欠陥の程度を推定するので、セマンティックセグメンテーションを用いて推定した欠陥領域から欠陥の程度を推定する場合と比較して、検査モデルの計算負荷を低減することができる。
以下、本開示に係る外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラムの実施の形態について、図面を参照しながら説明する。
[1]外観検査システムの構成
まず、本実施の形態に係る外観検査システムの構成について説明する。
[1]外観検査システムの構成
まず、本実施の形態に係る外観検査システムの構成について説明する。
図1に示すように、外観検査システム1は、識別器100、撮影機器ユニット110、120、130を備えている。撮影機器ユニット110、120、130はそれぞれ撮影機器111、121、131と照明機器112、122、132を有しており、ケーブル101、102、103を用いて識別器100に接続されている。
識別器100は、撮影機器ユニット110、120、130をそれぞれ矢印A、B、C方向に移動させたり、照明機器112、122、132を点消灯させたりして撮影条件を制御したり、撮影機器111、121、131を制御して検査対象(図1、2においては車両)150の外観を撮影したりする。検査対象150はコンベヤー140を用いて搬送されており、識別器100は不図示のセンサーを用いて検査対象150の位置を検出し、撮影タイミングを決定する。
これによって、例えば、図2に示すように、コンベヤー140によって搬送されている検査対象150の外面のうち所定の領域201a〜201gを、撮影ユニット110の撮影機器111a〜111gにて撮影することによって、画像202a〜202gが生成される。この画像202a〜202gが識別器100による外観検査に供される。
識別器100は、撮影機器ユニット110、120、130を制御して取得した画像に前処理を施して、欠陥を検出したら、ニューラルネットワークを用いて欠陥のサイズを識別し、外観検査を実施する。この意味において、識別器100は外観検査装置として機能する。識別器100は、LAN(Local Area Network)やWAN(Wide Area Network)といった通信ネットワーク104を経由してストレージ105に接続されており、検査画像や検査結果をストレージ105に保存する。
[2]識別器100の構成
次に、識別器100の構成について説明する。
[2]識別器100の構成
次に、識別器100の構成について説明する。
図3に示すように、識別器100は、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303等を備えている。CPU301は、リセット信号を入力されると、ROM302からブートプログラムを読み出して起動し、RAM303を作業用記憶領域として、HDD(Hard Disk Drive)304から読み出した前処理プログラム305や欠陥サイズ判定プログラム306、OS(Operating System)307等のプログラムを実行する。
前処理プログラム305は、撮影機器111、121、131を用いて撮影した画像に後述のような前処理を施す。欠陥サイズ判定プログラム306は、前処理後の画像から、機械学習した検査モデルを用いて、検査対象150に生じた欠陥のサイズに関する情報を生成する。
撮影機器インターフェイス308は、撮影機器111、121、131を制御して、検査画像を撮影するためのインターフェイスである。照明機器インターフェイス309は、照明機器112、122、132を制御して、適切な撮影条件を実現するためのインターフェイスである。図4に示すように、照明機器112は光源401とグレーチング402とを備えており、光源401を点灯させた状態でグレーチング402を経由して、撮影機器111にて検査対象150に縞状の明暗パターンを有する照明光を照射する。
更に、グレーチング402を矢印E方向に移動させることによって、縞状の明暗パターンを縞模様の幅方向へ移動させ、縞状の明暗パターンの位相を変化させる。撮影機器111は、互いに位相が異なる明暗パターンで照明された検査対象150の撮像範囲(領域201a等)を撮影する。なお、グレーチング402は、矢印E方向が撮影機器111の撮影画像における主走査方向に一致するように移動する。従って、撮影機器111の撮影画像は縦縞状になる。
撮影機器121と照明機器122、撮影機器131と照明機器132についても上記と同様である。
検査対象150には、外装塗装として、本体板金413上にまず塗料が塗布されることによって塗料層412が形成され、さらに、塗料層412を保護するためのクリアコート層411が形成されている。例えば、異物431のように、クリアコート層411の表面近くにある場合や、異物432のように、クリアコート層411内部に入っている場合には、異物431、432のところで縞状の明暗パターンの位相がシフトする。この位相のシフトを検出すれば、異物を検出することができる。
NIC(Network Interface Card)310は、通信ネットワーク104を経由してストレージ105にアクセスするための通信処理を実行する。
[3]識別器100の動作
次に、識別器100の動作について説明する。
[3]識別器100の動作
次に、識別器100の動作について説明する。
図5に示すように、識別器100は検査対象150がコンベヤー140によって検査位置まで搬送されたことを検出すると(S501:YES)、撮影機器111、121、131を用いて検査対象150を撮影して(S502)、前処理プログラム305によって検査画像を生成し(S503)、当該検査画像に欠陥が写っているか判定する。欠陥が写っている場合には(S504:YES)、欠陥サイズ判定プログラム306を用いて欠陥サイズを判定する(S505)。
判定した欠陥サイズが閾値φthよりも大きい場合には(S506:YES)、当該欠陥を修正する必要がある旨を記録する(S507)。判定した欠陥サイズが閾値φth以下である場合には(S506:NO)、当該欠陥を修正する必要はない旨を記録する(S508)。その後、ステップS501へ進んで、上記の処理を繰り返す。
(3−1)前処理プログラム305
前処理プログラム305は、撮影機器111、121、131が撮影した画像に欠陥が写っているかどうかを判定する。欠陥の有無を判定する方法は特に限定されない。本実施の形態においては、一例として、位相シフト法を用いて欠陥の有無を検出する。
(3−1)前処理プログラム305
前処理プログラム305は、撮影機器111、121、131が撮影した画像に欠陥が写っているかどうかを判定する。欠陥の有無を判定する方法は特に限定されない。本実施の形態においては、一例として、位相シフト法を用いて欠陥の有無を検出する。
位相シフト法では、例えば特許文献1に記載されているように、図4に示すグレーチング402を矢印E方向へ移動させて、縞状の明暗パターンの位相が180度シフトした2枚の画像を撮像する。図6(a)は、縞状の明暗パターンの幅方向に沿った画素値の変化を例示するグラフである。縞状の明暗パターンの位相角が180度シフトすると、画素値が反転する。
次に、当該2枚の画像を用いて画素ごとに画素値を比較して、当該画素ごとに大きい方の画素値(最大値)を採用した画像と、小さい方の画素値(最小値)を採用した画像とを生成した後、生成した2枚の画像の差分画像を生成する。図6(b)は、位相角が180度シフトした画像を重ね合わせたグラフである。位置合わせをした状態で最大値画像と最小値画像とを求めると、図6(c)に例示するグラフが得られる。この例では、最大値画像と最小値画像との差分画像は、図6(d)に示すようになり、欠陥部分が強調される。
このようにすれば、画像に重畳したノイズを抑制することができるので、当該差分画像の画素ごとの画素値を閾値と比較することによって、精度よく欠陥を検出することができる。次に説明する欠陥サイズ判定プログラムでは、当該差分画像を検査画像として使用する。
なお、位相シフト法以外の方法としては、検査対象150を搬送しながら複数枚の画像を撮影して、画像毎にAKAZE(Accelerated KAZE)特徴点を検出し、画像どうしでAKAZE特徴点を比較することによって、欠陥を検出してもよい。また、サポートベクターマシン(SVM: Support Vector Machine)を用いて欠陥検出を行ってもよい。
(3−2)欠陥サイズ判定プログラム306
次に、欠陥サイズ判定プログラム306について説明する。
(3−2)欠陥サイズ判定プログラム306
次に、欠陥サイズ判定プログラム306について説明する。
欠陥サイズ判定プログラム306は、後述するような方法で機械学習を行ったニューラルネットワークを用いて検査画像に写っている欠陥のサイズを判定する。本実施の形態においては、ベースアルゴリズムとしてVGG16(非特許文献3を簡略化したCNN(Convolutional Neural Network)を用いるが、VGG16そのものや他のCNNをベースアルゴリズムに使用して欠陥サイズを判別してもよい。
図7に示すように、CNN7は10層の畳み込み層702、704、706、708、710、712、5層のプーリング層703、705、707、709、711および出力層713からなる畳み込みニューラルネットワークであって、検査画像701として縦横224画素のRGB画像が入力される。CNN7は、入力層である畳み込み装置702から出力層713に向かって、層ごとの出力サイズが単調に減少する。
畳み込み層702等においては、オープンソースニューラルネットワークライブラリであるKeras(非特許文献4を参照。)の3×3のConv2Dを使用し、活性化関数としてReLU(Rectified Linear Unit。正規化線形関数やランプ関数とも呼ばれる。)を用いている。出力サイズは、畳み込み層702が224×224×64、畳み込み層704が112×112×128、畳み込み層706が56×56×256、畳み込み層708がそれぞれ28×28×512、畳み込み層710がそれぞれ14×14×512、畳み込み層712がそれぞれ7×7×1,024である。
プーリング層703等においては、MaxPoolingによって所定の近傍ごとに先行する層の出力の最大値が選択される。選択した最大値が、当該プーリング層に後続する畳み込み層の入力となる。出力サイズは、プーリング層703が112×112×128、プーリング層705が56×56×256、プーリング層707が28×28×512、プーリング層709が14×14×512、プーリング層711が7×7×1,024である。
出力層713は、所定の近傍ごとに先行する層の出力の平均値を算出するAveragePoolingと、出力値の合計が1になるように、AveragePoolingで算出した平均値を正規化するSoftmaxとを行う。出力層713の出力サイズは1×1×1,000であり、1,000個の出力値を出力する。しかしながら、1,000個すべてを使用する必要は無く、欠陥サイズのクラス数と同じだけ使用すればよい。
どの出力を使用するかは、出力層713の各出力と検査画像701に写っている欠陥のサイズのクラスとに対応づける教師データを用いて機械学習させる。図8の例では、クラス数が8個で、クラス1は欠陥径が0.3mm未満の欠陥サイズに対応し、クラス2は欠陥径が0.3mm以上、0.5mm未満の欠陥サイズに対応する。
欠陥サイズ判定プログラム306は、このようなCNN7に検査画像701を入力し、その結果得られた出力層713の出力値を用いて欠陥サイズを判定する。例えば、図8に例示するクラス定義で、出力層713の出力値ベクトルが(0、0、0、0.5、0.5、0、0)である場合には、クラス4、5に対応する出力値がいずれも0.5であり、他のクラスに対応する出力値が0であるため、欠陥サイズはクラス4、5の中間だということになる。
クラス4は欠陥径が0.8mm以上、1.2mm未満の欠陥サイズに対応し、その中央値は1.0mmである。また、クラス5は欠陥径が1.2mm以上、1.8mm未満の欠陥サイズに対応し、その中央値は1.5mmである。これらから欠陥径φは、
φ = (1.0 × 0.5)+(1.5 × 0.5)=1.25 …(1)
と推定される。
φ = (1.0 × 0.5)+(1.5 × 0.5)=1.25 …(1)
と推定される。
出力値ベクトルの各成分は、上述のように正規化されているので、欠陥サイズが当該クラスに属する確率あるいは関連度をCNN7が推定したものになっている。
[4]識別器100の機械学習
機械学習させたニューラルネットワークを用いて欠陥検出を行うためには、教師データとして欠陥が写っている検査画像が必要になる。
[4]識別器100の機械学習
機械学習させたニューラルネットワークを用いて欠陥検出を行うためには、教師データとして欠陥が写っている検査画像が必要になる。
しかしながら、長年にわたる品質管理技術の進歩によって、検査結果が不良となる製品が極めて少なくなっており、ニューラルネットワークを学習させるために十分な枚数の検査画像を収集することは現実的に難しい。また、製品に生じ得る欠陥の形状は一定せず、また検査画像の撮影条件(焦点距離・画面上での欠陥位置・ピントズレ・分解能・ワーク角度・ワーク曲率・ワーク距離など)もまた多種多様であるため、すべての可能性を考慮してニューラルネットワークの教師データを用意することは困難と言わざるを得ない。
このような問題に対して、シミュレーションによって欠陥を有する検査画像を生成したり、データ拡張(Data Augmentation)技術を用いて既存の検査画像から新たな検査画像を生成したりすれば教師データの不足を補うことができるので、製品に生じた欠陥の場所や形状をニューラルネットワークに精度よく検査させることができる。例えば、Segnet(非特許文献6)やU−net(非特許文献7)といったニューラルネットワークを用いて検査画像の領域分割セマンティックセグメンテーションを行えば、検査画像に含まれている欠陥画像を検出することができる。
しかしながら、セマンティックセグメンテーションでは、検査画像の画素ごとに、当該画素が欠陥画像に含まれているかどうかを判定するため、計算量が膨大に上り、処理時間の短縮を図るのが難しい。製造ラインにおいて高い生産性を達成するためには、検査ライン上で次々に搬送されてくる製品の外観検査を滞りなく実施しなければならないが、現状のニューラルネットワークでは生産現場での実用に耐え得る処理時間内に欠陥画像の検出を完了することができてない。
FCN(非特許文献8)はAlex netやVGGにおけるすべての結合層を畳み込み層に置き換えることで画像を画素単位で推定し、セマンティックセグメンテーションを行う。しかしながら、出力画像の画素数が入力画像の画素数よりも少なく、解像度が粗くなるので、出力画像から欠陥サイズを直接求めることができない。
以上のような問題に考慮して、本実施の形態においては、セマンティックセグメンテーションによって検出した欠陥画像から欠陥サイズを特定するのではなく、CNN7を用いて検査画像から直接、欠陥サイズを判定する。検査画像に含まれる画素数(例えば、224×224×3=150,528個。)に比べて、欠陥サイズのクラス数(例えば、8個。)は格段に少ないので、計算量もまた格段に少なくなり、処理時間の大幅な短縮が期待される。
また、本実施の形態においては、教師データの不足を補うためにBetween−Class Learning(以下、「BCラーニング」と略称する。)を利用する。BCラーニングは、教師データを足し合わせることによって新たな教師データを合成し、この足し合わせの比率を機械学習させるというものである(非特許文献5を参照。)。
なお、非特許文献5では、画像分類を目的としているために、教師データを足し合わせるクラスの組み合わせが多くなる。一方、本実施の形態においては、クラスどうしで欠陥サイズに対応した順序関係があるので、この順序関係において隣り合うクラスのみで教師データの足し合わせを行う。当該順序関係において隣り合うクラス間で欠陥サイズを判別することができれば、欠陥サイズの判定にとっては十分である。また、このようにすれば、教師データが不必要に多くならずに済むので、機械学習を効率的に行うことができる。
図9を用いて説明すると、まず、欠陥が写っている画像データを収集し(S901)、前処理プログラム305を用いて検査画像を生成する(S902)。画像データに写っている欠陥は欠陥サイズが特定されており、当該画像データから生成した検査画像と対応付けることによって、検査画像ごとに欠陥サイズを特定する(S903)。特定した欠陥サイズに応じて、更に検査画像をクラス分類する(S904)。
次に、欠陥サイズの範囲が隣り合うクラスに属する検査画像どうしを足し合わせて教師画像を合成する(S905)。例えば、クラス1に属する検査画像1とクラス2に属する検査画像2とを足し合わせ比率0.3:0.7で足し合わせた教師画像を生成して、足し合わせ比率を機械学習させる場合には、検査画像1、2における対応する画素1、2の画素値1、2に足し合わせ比率を乗算して足し合わせ、教師画像の画素値3を算出する。
画素値3 = (画素値1 × 0.3)+(画素値2 × 0.7) …(2)
更に、教師画像のクラスを表す教師ベクトルとして、合成比率を採用する(S906)。上の例では、(0.3、0.7、0、0、0、0、0、0)を教師画像に対応する教師ベクトルとする。
更に、教師画像のクラスを表す教師ベクトルとして、合成比率を採用する(S906)。上の例では、(0.3、0.7、0、0、0、0、0、0)を教師画像に対応する教師ベクトルとする。
その後、教師画像をCNN7に入力して出力値ベクトルを取得し、出力値ベクトルと教師ベクトルとの誤差を算出し、この誤差を用いた誤差逆伝播法(バックプロパゲーション)によってCNN7のパラメーターを更新する。
本実施の形態の効果を確認するために、欠陥径が0.10mmから3.06mmの欠陥が写っている101×101画素の教師画像を2,100枚用いて機械学習(バッチ学習)を行った。どの教師画像にも欠陥領域を精度よく定義すること難しい欠陥が1つだけ写っている。また、バッチサイズは32で、エポック数は100とした。深層学習の勾配法(optimizer)にはAdamを推奨パラメーター(α=0.001)で使用し(非特許文献9)、損失計算にはSoftmax Cross Entropyを用いた。更に、欠陥の切り出し位置をランダムに変更するシフト型のデータ拡張を行って教師画像数を増加させた。
その結果、図8に示すように、クラス1からクラス7までのどのクラスでの高い精度で欠陥サイズを推定することができた。その結果、当然ながら、全体としての推定精度も約94.8%と極めて高いものになっている。
[5]従来技術との比較
従来技術としてセマンティックセグメンテーションを行うニューラルネットワークと本実施の形態とを比較する。
[5]従来技術との比較
従来技術としてセマンティックセグメンテーションを行うニューラルネットワークと本実施の形態とを比較する。
図10に示すように、Segnetは前段部分がエンコーダー1001、公団部分がデコーダー1002になっており、エンコーダー1001はVGG16のうち全結合層と出力層とを除いた部分と同じ構成になっている。デコーダー1002は、アップサンプリング層と畳み込み層とからなっている。アップサンプリング層は、エンコーダー1001のプーリング層からプーリングインデックスを取得し、入力値をプーリングインデックスが示すニューロンへ出力することによって、出力サイズを画像サイズに戻す。
上述のように、本実施の形態に係るCNN7はVGG16を簡略化した構成をとっているのに対して、Segnetはエンコーダー1001だけでVGG16に近い構成を備えており、更にデコーダー1002も必要になる。従って、Segnetを使用してセマンティックセグメンテーションを行う際の計算量と比較して、CNN7を使用して欠陥サイズを判定する際の計算量は大幅に少なくなる。
FCNは、上述のように、Alex netやVGGのすべての層を畳み込み層に置き換えたものである。例えば、VGGではプーリング層が畳み込み層に置き換えられるため、エンコーダー部分だけとっても計算量が増大する。また、Segnetと同様にデコーダーが必要になるため、この意味においても計算量が増大する。
U−netもまたエンコーダーとデコーダーとから構成されているので、計算量の増大を免れない。当然ながら、セマンティックセグメンテーションを行っただけでは欠陥サイズを判定することができない。このため、欠陥サイズを判定する処理を追加すれば、更に計算量が増大する。
このため、本実施の形態に係るCNN7を用いて欠陥サイズを判定すれば、Segnet等を用いてセマンティックセグメンテーションを行って欠陥領域を検出したうえで欠陥サイズを判定する場合と比較して、計算量を大幅に削減することができる。
[6]変形例
以上、本開示を実施の形態に基づいて説明してきたが、本開示が上述の実施の形態に限定されないのは勿論であり、以下のような変形例を実施することができる。
(6−1)上記実施の形態においては、検査対象150が車両である場合を図示して説明したが、本開示がこれに限定されないのは言うまでもなく、車両以外の検査対象150についても、本開示を適用することによって欠陥サイズを判定するための処理負荷を低減することができる。
(6−2)上記実施の形態においては、欠陥サイズを判定する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。上記実施の形態において、CNN7の出力値ベクトルの各成分に対応する各クラスは欠陥サイズの範囲に対応しており、欠陥サイズの大小に対応する順序関係を有している。また、出力値ベクトルの各成分の値は、当該検査画像と各クラスとの関連度を表わすものになっている。
[6]変形例
以上、本開示を実施の形態に基づいて説明してきたが、本開示が上述の実施の形態に限定されないのは勿論であり、以下のような変形例を実施することができる。
(6−1)上記実施の形態においては、検査対象150が車両である場合を図示して説明したが、本開示がこれに限定されないのは言うまでもなく、車両以外の検査対象150についても、本開示を適用することによって欠陥サイズを判定するための処理負荷を低減することができる。
(6−2)上記実施の形態においては、欠陥サイズを判定する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて次のようにしてもよい。上記実施の形態において、CNN7の出力値ベクトルの各成分に対応する各クラスは欠陥サイズの範囲に対応しており、欠陥サイズの大小に対応する順序関係を有している。また、出力値ベクトルの各成分の値は、当該検査画像と各クラスとの関連度を表わすものになっている。
このため、検査画像に写っている欠陥のサイズは、当該検査画像と最も関連度が高いクラスに対応する欠陥サイズの範囲内にあるか、または最も関連度が高いクラスと2番目に関連度が高いクラスとの中間の欠陥サイズになっていると判定することができる。
欠陥画像における欠陥の程度を1次元的な尺度で評価できる特徴量であれば、欠陥サイズでなくても、CNN7を用いて同様の判定を行うことができる。例えば、欠陥部分の色の濃さや色の変化度といった特徴量もまたCNN7を用いて判定することができる。欠陥部分は周囲の部分との色の濃さの差が大きいほど目立ち易くなり、また、周囲の部分との色の濃さの変化が急激であるほど目立ち易くなるので、このような特徴量をリアルタイムで判定することができれば、検査対象の品質管理に有効である。
(6−3)上記実施の形態においては、検査対象150の外観を撮影することによって検査画像を生成する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて、非破壊的な計測手段を用いて生成した検査画像における欠陥の特徴量を判定してもよいし、非侵襲的な計測手段を用いて生成した診断画像における病変の特徴量を判定してもよい。
(6−3)上記実施の形態においては、検査対象150の外観を撮影することによって検査画像を生成する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて、非破壊的な計測手段を用いて生成した検査画像における欠陥の特徴量を判定してもよいし、非侵襲的な計測手段を用いて生成した診断画像における病変の特徴量を判定してもよい。
このような特徴量を推定する特徴量推定装置は、検査画像に写った検査対象に関する特徴量が、2次元以上の特徴ベクトルとは異なって、一次元的に配列することができるスカラー量であるので、本開示を適用すれことによって計算量を削減することができる。従って、当該特徴量を迅速に推定することができる。検査画像以外の画像についても、同様に、当該画像に写っている対象の特徴量を一次元的に配列することができるスカラー量として迅速に推定することができる。
(6−4)上記実施の形態においては、欠陥サイズの大小に対応したクラスの順序関係において隣り合うクラスどうしで検査画像を足し合わせることによって教師画像を生成する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに加えてシミュレーションによって教師画像を生成してもよい。
(6−4)上記実施の形態においては、欠陥サイズの大小に対応したクラスの順序関係において隣り合うクラスどうしで検査画像を足し合わせることによって教師画像を生成する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに加えてシミュレーションによって教師画像を生成してもよい。
このようにすれば、実写では得られていない様々な教師画像を生成可能であり、実写画像が不足しているクラスに対応する教師画像を補充することができる。また、欠陥サイズだけでなく、異物の付着や外装のキズ、塗装の浮きといった欠陥の種類も容易に規定することができるので、欠陥の種類に応じた機械学習を行うこともできる。
(6−5)上記実施の形態においては、欠陥サイズ判定プログラム306を用いて判定した欠陥サイズを用いて、当該欠陥を修正する必要があるかどうかを記録する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて、欠陥の大小に応じて検査対象を選別してもよい。検査対象を選別する場合には、例えば、欠陥サイズが閾値φthよりも大きい場合には当該検査対象を廃棄し、欠陥サイズが閾値φth以下である場合には当該検査対象を維持する。
(6−5)上記実施の形態においては、欠陥サイズ判定プログラム306を用いて判定した欠陥サイズを用いて、当該欠陥を修正する必要があるかどうかを記録する場合を例にとって説明したが、本開示がこれに限定されないのは言うまでもなく、これに代えて、欠陥の大小に応じて検査対象を選別してもよい。検査対象を選別する場合には、例えば、欠陥サイズが閾値φthよりも大きい場合には当該検査対象を廃棄し、欠陥サイズが閾値φth以下である場合には当該検査対象を維持する。
青果のキズや変色のように修正することができない欠陥を検査する場合には、欠陥サイズの判定結果を用いて検査対象を選別するのが有用である。また、漁獲物のように、規定のサイズに満たない物を選別して放流しなければならない場合にも、本開示を適用すれば、迅速に選別を行うことができる。
(6−6)上記実施の形態においては、識別器100がCPU301、ROM302、RAM303、HDD304などから構成されるコンピューターシステムであるとしたが、これらの一部または全部は、システムLSI(Large Scale Integration: 大規模集積回路)から構成されているとしてもよい。
(6−7)上述のように、識別器100はマイクロプロセッサーとメモリとを備えたコンピューターシステムである。メモリは、コンピューター・プログラムを記憶しており、マイクロプロセッサーは、コンピューター・プログラムに従って動作するとしてもよい。
(6−6)上記実施の形態においては、識別器100がCPU301、ROM302、RAM303、HDD304などから構成されるコンピューターシステムであるとしたが、これらの一部または全部は、システムLSI(Large Scale Integration: 大規模集積回路)から構成されているとしてもよい。
(6−7)上述のように、識別器100はマイクロプロセッサーとメモリとを備えたコンピューターシステムである。メモリは、コンピューター・プログラムを記憶しており、マイクロプロセッサーは、コンピューター・プログラムに従って動作するとしてもよい。
ここで、コンピューター・プログラムは、所定の機能を達成するために、コンピューターに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
また、コンピューター・プログラムは、コンピューター読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、光ディスク、半導体メモリなどに記録されているとしてもよい。
また、コンピューター・プログラムを、有線又は無線の電気通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送してもよい。
また、本発明は、識別器100が、当該コンピューター・プログラムを実行することによって、使用する方法であるとしてもよい。
本開示に係る外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラムは、検査対象の外観画像を用いて高速に自動検査を行う装置およびプログラムとして有用である。
1………外観検査システム
7………CNN
100…識別器
110、120、130…撮影機器ユニット
140…コンベヤー
150…検査対象
7………CNN
100…識別器
110、120、130…撮影機器ユニット
140…コンベヤー
150…検査対象
Claims (8)
- 欠陥が写った被検査画像を用いて検査対象の外観を検査する外観検査装置であって、
学習用検査画像と、当該学習用検査画像に写った欠陥の程度と複数クラスのそれぞれとの関連度と、を教師データとして機械学習された検査モデルを用いて、被検査画像からクラスごとの関連度を出力する検査手段と、
前記検査手段が出力したクラスごとの関連度の高さから、当該被検査画像に写っている欠陥の程度を推定する欠陥推定手段と、を備える
ことを特徴とする外観検査装置。 - 前記複数クラスは、欠陥の程度に応じた順序関係を有しており、
前記欠陥推定手段は、
関連度が最も高い第1クラスと、
前記順序関係において前記第1クラスと隣り合うクラスのうち、関連度が高い方のクラスを第2クラスとして特定し、
前記第1、第2クラスの関連度の比から、欠陥の程度を推定する
ことを特徴とする請求項1に記載の外観検査装置。 - 前記複数クラスは、欠陥の程度に応じた順序関係を有しており、
前記教師データとして用いる学習用検査画像は、前記順序関係において隣り合うクラスに対応する程度の欠陥が写った2つの学習用検査画像を合成した画像を含み、
前記合成画像を教師データとする場合は、前記2つの学習用検査画像の合成比率を、前記2つの学習用検査画像に写った欠陥の程度に対応する各クラスの関連度とする
ことを特徴とする請求項1に記載の外観検査装置。 - 前記欠陥の程度の大小は、欠陥のサイズの大小である
ことを特徴とする請求項1から3のいずれかに記載の外観検査装置。 - 前記検査モデルは、
畳み込みニューラルネットワークであって、
入力層から出力層へ向かって、層ごとの出力サイズが単調に減少する
ことを特徴とする請求項1から4のいずれかに記載の外観検査装置。 - 請求項1から5の何れかに記載の外観検査装置と、
検査対象を撮影して欠陥が写った検査画像を取得する検査画像取得装置と、を備え、
前記外観検査装置は、前記検査画像取得装置にて取得した検査画像を被検査画像として、検査対象の外観を検査する
ことを特徴とする外観検査システム。 - 画像を用いて当該画像に写った対象に関する特徴量を推定する特徴量推定装置であって、
学習用画像と、当該学習用画像に写った対象に関する特徴量と複数クラスのそれぞれとの関連度と、を教師データとして機械学習された分類モデルを用いて、画像からクラスごとの関連度を出力する分類手段と、
前記分類手段が出力したクラスごとの関連度の高さから、当該画像に写った対象に関する特徴量を、一次元的に配列することができるスカラー量として推定する推定手段と、を備える
ことを特徴とする特徴量推定装置。 - 欠陥が写った被検査画像を用いた外観検査をコンピューターに実行させる外観検査プログラムであって、
学習用検査画像と、当該学習用検査画像に写った欠陥の程度と複数クラスのそれぞれとの関連度と、を教師データとして機械学習された検査モデルを用いて、被検査画像からクラスごとの関連度を出力する検査ステップと、
前記検査ステップで出力したクラスごとの関連度の高さから、当該被検査画像に写っている欠陥の程度を推定する欠陥推定ステップと、をコンピューターに実行させる
ことを特徴とする外観検査プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019221989A JP2021092887A (ja) | 2019-12-09 | 2019-12-09 | 外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019221989A JP2021092887A (ja) | 2019-12-09 | 2019-12-09 | 外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021092887A true JP2021092887A (ja) | 2021-06-17 |
Family
ID=76313103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019221989A Pending JP2021092887A (ja) | 2019-12-09 | 2019-12-09 | 外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021092887A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023067829A1 (ja) | 2021-10-18 | 2023-04-27 | 株式会社Anamorphosis Networks | 欠陥検出方法、欠陥検出システム、及び、欠陥検出プログラム |
JP7473765B2 (ja) | 2022-09-29 | 2024-04-24 | 山陽特殊製鋼株式会社 | 非金属介在物の自動領域識別方法およびそれを組み込んだ介在物判別システム |
-
2019
- 2019-12-09 JP JP2019221989A patent/JP2021092887A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023067829A1 (ja) | 2021-10-18 | 2023-04-27 | 株式会社Anamorphosis Networks | 欠陥検出方法、欠陥検出システム、及び、欠陥検出プログラム |
JP7473765B2 (ja) | 2022-09-29 | 2024-04-24 | 山陽特殊製鋼株式会社 | 非金属介在物の自動領域識別方法およびそれを組み込んだ介在物判別システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7015001B2 (ja) | 欠陥検査装置、欠陥検査方法、及びそのプログラム | |
JP7004145B2 (ja) | 欠陥検査装置、欠陥検査方法、及びそのプログラム | |
JP6869490B2 (ja) | 欠陥検査装置、欠陥検査方法、及びそのプログラム | |
JP5546317B2 (ja) | 外観検査装置、外観検査用識別器の生成装置及び外観検査用識別器生成方法ならびに外観検査用識別器生成用コンピュータプログラム | |
EP3243166B1 (en) | Structural masking for progressive health monitoring | |
Moon et al. | Intelligent crack detecting algorithm on the concrete crack image using neural network | |
US10621717B2 (en) | System and method for image-based target object inspection | |
Kuo et al. | Automated optical inspection system for surface mount device light emitting diodes | |
JP2020042044A (ja) | 外観検査装置、照明装置、撮影照明装置 | |
JPWO2019151393A1 (ja) | 食品検査システム、食品検査プログラム、食品検査方法および食品生産方法 | |
JP6973623B2 (ja) | 学習済みモデルの生成方法、学習済みモデル、表面欠陥検出方法、鋼材の製造方法、合否判定方法、等級判定方法、表面欠陥判定プログラム、合否判定プログラム、判定システム、及び鋼材の製造設備 | |
Eshkevari et al. | Automatic dimensional defect detection for glass vials based on machine vision: A heuristic segmentation method | |
JP2021515885A (ja) | 照明条件を設定する方法、装置、システム及びプログラム並びに記憶媒体 | |
TWI743837B (zh) | 訓練資料增量方法、電子裝置與電腦可讀取記錄媒體 | |
JP7058324B2 (ja) | 検査装置、検査方法、学習方法、及びプログラム | |
US20220178841A1 (en) | Apparatus for optimizing inspection of exterior of target object and method thereof | |
TW202041850A (zh) | 使用疊層去除雜訊自動編碼器之影像雜訊降低 | |
JP2021092887A (ja) | 外観検査装置、外観検査システム、特徴量推定装置および外観検査プログラム | |
CN116012291A (zh) | 工业零件图像缺陷检测方法及系统、电子设备和存储介质 | |
JP2010117322A (ja) | 表面疵検査装置、表面疵検査方法及びプログラム | |
Peng et al. | Non-uniform illumination image enhancement for surface damage detection of wind turbine blades | |
Banus et al. | A deep-learning based solution to automatically control closure and seal of pizza packages | |
JP7415286B2 (ja) | カラーフィルタ検査装置、検査装置、カラーフィルタ検査方法および検査方法 | |
Ettalibi et al. | AI and Computer Vision-based Real-time Quality Control: A Review of Industrial Applications | |
JP2017101977A (ja) | 検査システムおよび検査方法 |