(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024036810
(43)【公開日】2024-03-18
(54)【発明の名称】品質検査支援装置、品質検査支援方法及び品質検査支援プログラム
(51)【国際特許分類】
G01N 21/88 20060101AFI20240311BHJP
G06T 7/00 20170101ALI20240311BHJP
G06T 5/20 20060101ALI20240311BHJP
【FI】
G01N21/88 J
G06T7/00 610Z
G06T5/20
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022141295
(22)【出願日】2022-09-06
(71)【出願人】
【識別番号】515086908
【氏名又は名称】株式会社トヨタプロダクションエンジニアリング
(74)【代理人】
【識別番号】100114306
【弁理士】
【氏名又は名称】中辻 史郎
(74)【代理人】
【識別番号】100148655
【弁理士】
【氏名又は名称】諏訪 淳一
(72)【発明者】
【氏名】椛島 治樹
【テーマコード(参考)】
2G051
5B057
5L096
【Fターム(参考)】
2G051AA90
2G051AB02
2G051AC21
2G051EA08
5B057BA02
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB16
5B057CC01
5B057DA03
5B057DB02
5B057DB09
5L096AA06
5L096BA03
5L096CA02
5L096DA02
5L096FA32
5L096GA02
5L096GA51
(57)【要約】
【課題】検査対象物の表面を撮像した画像の品質を効率的に判定することを課題とする。
【解決手段】品質検査支援装置10は、撮像部20を制御し検査対象物100の表面Sの検査画像14bを取得し、検査画像14bを形成する各画素の画素値にX軸方向及びY軸方向に微分オペレータのテンプレートを適用し、微分画像14cを生成する。そして、生成された微分画像14cを形成する各画素のY軸方向の画素値を加算したヒストグラムをY軸方向の画素数で除算した商(平均値)を算出しY軸平均データ14dを生成する。その後、生成したY軸平均データ14dの平均値をあらかじめ生成した参照Y軸平均データ14aの平均値で除算した商(評価値)を算出し、評価値が所定の閾値以内である場合は、検査画像14bは品質「良」と判定し、評価値が所定の閾値を超える場合は、品質「不良」と判定するようにした。
【選択図】
図1
【特許請求の範囲】
【請求項1】
検査対象物の品質検査を支援する品質検査支援装置であって、
前記検査対象物の表面を撮像した検査画像を取得する画像取得部と、
前記画像取得部により取得された検査画像を微分処理する微分処理部と、
前記微分処理部により生成された微分画像について、所定の座標軸方向に配列された複数の画素の画素値の平均値を算出し、平均値を配列した平均データを生成する平均データ生成部と、
前記平均データ生成部により生成された平均データと、所定の参照画像に基づいて生成された参照平均データとに基づいて評価値を算出し、該評価値を配列した評価データを生成する評価データ生成部と、
前記評価データ生成部により生成された評価データに基づいて、前記検査対象物の品質を判定する品質判定部と
を備えたことを特徴とする品質検査支援装置。
【請求項2】
前記微分処理部は、
前記検査画像の第1の座標軸方向の微分値を求める第1の微分オペレータを前記検査画像に適用した第1の微分値と、前記検査画像の第2の座標軸方向の微分値を求める第2の微分オペレータを前記検査画像に適用した第2の微分値との二乗和の平方根を微分値とすることを特徴とする請求項1に記載の品質検査支援装置。
【請求項3】
前記評価データ生成部は、
前記平均データ生成部で生成された平均データに含まれる各平均値を、前記参照平均データに含まれる対応する参照平均値で除算した商を評価値として算出することを特徴とする請求項1に記載の品質検査支援装置。
【請求項4】
前記品質判定部は、
前記評価データ生成部により生成された評価データに基づいて前記検査画像の品質を前記検査対象物の品質であるとみなして該検査対象物の品質を判定することを特徴とする請求項1~3のいずれか一つに記載の品質検査支援装置。
【請求項5】
前記品質判定部は、
前記評価データに含まれる複数の評価値の全てが前記所定の閾値以内である場合には、前記検査画像の品質が良であると判定することを特徴とする請求項4に記載の品質検査支援装置。
【請求項6】
前記品質判定部は、
前記評価データに含まれる複数の評価値のうち所定数の評価値が前記所定の閾値以内である場合には、前記検査画像の品質が良であると判定し、所定数の評価値が前記所定の閾値を超える場合には、前記検査画像の品質が不良であると判定することを特徴とする請求項4に記載の品質検査支援装置。
【請求項7】
前記品質判定部は、
前記評価データに含まれる複数の評価値のうち所定数連続する評価値が前記所定の閾値以内である場合には、前記検査画像の品質が良であると判定し、所定数連続する評価値が前記所定の閾値を超える場合には、前記検査画像の品質が不良であると判定することを特徴とする請求項4に記載の品質検査支援装置。
【請求項8】
検査対象物の品質検査を支援する品質検査支援装置における品質検査支援方法であって、
前記検査対象物の表面を撮像した検査画像を取得する画像取得工程と、
前記画像取得工程により取得された検査画像を微分処理する微分処理工程と、
前記微分処理工程により生成された微分画像について、所定の座標軸方向に配列された複数の画素の画素値の平均値を算出し、平均値を配列した平均データを生成する平均データ生成工程と、
前記平均データ生成工程により生成された平均データと、所定の参照画像に基づいて生成された参照平均データとに基づいて評価値を算出し、該評価値を配列した評価データを生成する評価データ生成工程と、
前記評価データ生成工程により生成された評価データに基づいて、前記検査対象物の品質を判定する品質判定工程と
を含むことを特徴とする品質検査支援方法。
【請求項9】
検査対象物の品質検査を支援する品質検査支援装置において実行される品質検査支援プログラムであって、
前記検査対象物の表面を撮像した検査画像を取得する画像取得手順と、
前記画像取得手順により取得された検査画像を微分処理する微分処理手順と、
前記微分処理手順により生成された微分画像について、所定の座標軸方向に配列された複数の画素の画素値の平均値を算出し、平均値を配列した平均データを生成する平均データ生成手順と、
前記平均データ生成手順により生成された平均データと、所定の参照画像に基づいて生成された参照平均データとに基づいて評価値を算出し、該評価値を配列した評価データを生成する評価データ生成手順と、
前記評価データ生成手順により生成された評価データに基づいて、前記検査対象物の品質を判定する品質判定手順と
をコンピュータに実行させることを特徴とする品質検査支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査対象物の表面を撮像した画像から品質を正確に判定することができる品質検査支援装置、品質検査支援方法及び品質検査支援プログラムに関する。
【背景技術】
【0002】
従来、ニューラルネットワークを用いて検査対象物の品質を検査する技術が知られている(例えば、特許文献1を参照)。ニューラルネットワークを用いて欠陥を検査する場合には、予め欠陥に該当するか否かを学習させる必要がある。また、良品である検査対象物を不良品であると誤判定する状況を防ぐ必要もある。
【0003】
このため、特許文献2には、検査対象物を撮像した画像のコントラスト及びエッジ強度に基づいて、該検査対象物の表面が正常であるか異常であるかを分類する撮像情報分類システムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004-191112号公報
【特許文献2】特開2021-018149号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献2のものは、コントラスト及びエッジ強度が撮影条件の影響を受ける場合があるため、検査対象物の画像の品質を効率良く判定することが難しいという問題がある。
【0006】
本発明は、上記従来技術による問題点(課題)を解決するためになされたものであって、検査対象物の表面を撮像した画像の品質を効率的に判定することができる品質検査支援装置、品質検査支援方法及び品質検査支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するため、本発明は、検査対象物の品質検査を支援する品質検査支援装置であって、前記検査対象物の表面を撮像した検査画像を取得する画像取得部と、前記画像取得部により取得された検査画像を微分処理する微分処理部と、前記微分処理部により生成された微分画像について、所定の座標軸方向に配列された複数の画素の画素値の平均値を算出し、平均値を配列した平均データを生成する平均データ生成部と、前記平均データ生成部により生成された平均データと、所定の参照画像に基づいて生成された参照平均データとに基づいて評価値を算出し、該評価値を配列した評価データを生成する評価データ生成部と、前記評価データ生成部により生成された評価データに基づいて、前記検査対象物の品質を判定する品質判定部とを備えたことを特徴とする。
【0008】
また、本発明は、上記発明において、前記微分処理部は、前記検査画像の第1の座標軸方向の微分値を求める第1の微分オペレータを前記検査画像に適用した第1の微分値と、前記検査画像の第2の座標軸方向の微分値を求める第2の微分オペレータを前記検査画像に適用した第2の微分値との二乗和の平方根を微分値とすることを特徴とする。
【0009】
また、本発明は、上記発明において、前記評価データ生成部は、前記平均データ生成部で生成された平均データに含まれる各平均値を、前記参照平均データに含まれる対応する参照平均値で除算した商を評価値として算出することを特徴とする。
【0010】
また、本発明は、上記発明において、前記品質判定部は、前記評価データ生成部により生成された評価データに基づいて前記検査画像の品質を前記検査対象物の品質であるとみなして該検査対象物の品質を判定することを特徴とする。
【0011】
また、本発明は、上記発明において、前記品質判定部は、前記評価データに含まれる複数の評価値の全てが前記所定の閾値以内である場合には、前記検査画像の品質が良であると判定することを特徴とする。
【0012】
また、本発明は、上記発明において、前記品質判定部は、前記評価データに含まれる複数の評価値のうち所定数の評価値が前記所定の閾値以内である場合には、前記検査画像の品質が良であると判定し、所定数の評価値が前記所定の閾値を超える場合には、前記検査画像の品質が不良であると判定することを特徴とする。
【0013】
また、本発明は、上記発明において、前記品質判定部は、前記評価データに含まれる複数の評価値のうち所定数連続する評価値が前記所定の閾値以内である場合には、前記検査画像の品質が良であると判定し、所定数連続する評価値が前記所定の閾値を超える場合には、前記検査画像の品質が不良であると判定することを特徴とする。
【0014】
また、本発明は、検査対象物の品質検査を支援する品質検査支援装置における品質検査支援方法であって、前記検査対象物の表面を撮像した検査画像を取得する画像取得工程と、前記画像取得工程により取得された検査画像を微分処理する微分処理工程と、前記微分処理工程により生成された微分画像について、所定の座標軸方向に配列された複数の画素の画素値の平均値を算出し、平均値を配列した平均データを生成する平均データ生成工程と、前記平均データ生成工程により生成された平均データと、所定の参照画像に基づいて生成された参照平均データとに基づいて評価値を算出し、該評価値を配列した評価データを生成する評価データ生成工程と、前記評価データ生成工程により生成された評価データに基づいて、前記検査対象物の品質を判定する品質判定工程とを含むことを特徴とする。
【0015】
また、本発明は、検査対象物の品質検査を支援する品質検査支援装置において実行される品質検査支援プログラムであって、前記検査対象物の表面を撮像した検査画像を取得する画像取得手順と、前記画像取得手順により取得された検査画像を微分処理する微分処理手順と、前記微分処理手順により生成された微分画像について、所定の座標軸方向に配列された複数の画素の画素値の平均値を算出し、平均値を配列した平均データを生成する平均データ生成手順と、前記平均データ生成手順により生成された平均データと、所定の参照画像に基づいて生成された参照平均データとに基づいて評価値を算出し、該評価値を配列した評価データを生成する評価データ生成手順と、前記評価データ生成手順により生成された評価データに基づいて、前記検査対象物の品質を判定する品質判定手順とをコンピュータに実行させることを特徴とする。
【発明の効果】
【0016】
本発明によれば、検査対象物の表面を撮像した画像の品質を効率的に判定することができる。
【図面の簡単な説明】
【0017】
【
図1】
図1は、実施形態1に係る品質検査支援装置の概要を説明する説明図である。
【
図2】
図2は、参照Y軸平均データの生成を説明するための説明図である。
【
図3】
図3は、参照画像に基づく参照微分画像の生成を説明するための説明図(その1)である。
【
図4】
図4は、参照画像に基づく参照微分画像の生成を説明するための説明図(その2)である。
【
図5】
図5は、参照微分画像に基づく参照Y軸平均データの生成を説明するための説明図である。
【
図6】
図6は、参照画像に基づいて参照Y軸平均データを生成する一例を示す図である。
【
図7】
図7は、評価データの生成を説明するための説明図である。
【
図8】
図8は、検査画像に基づきY軸平均データを生成する一例を示す図である。
【
図9】
図9は、品質の判定を説明するための説明図である。
【
図10】
図10は、
図1に示した品質検査支援装置の参照画像に基づく参照Y軸平均データの生成の処理手順を示すフローチャートである。
【
図11】
図11は、
図1に示した品質検査支援装置の処理手順を示すフローチャート(その1)である。
【
図12】
図12は、
図1に示した品質検査支援装置の処理手順を示すフローチャート(その2)である。
【
図13】
図13は、実施形態2に係る品質検査支援装置の品質の判定を説明するための説明図である。
【
図14】
図14は、実施形態2に係る品質検査支援装置の処理手順を示すフローチャート(その1)である。
【
図15】
図15は、実施形態2に係る品質検査支援装置の処理手順を示すフローチャート(その2)である。
【発明を実施するための形態】
【0018】
[実施形態1]
以下に、本発明に係る品質検査支援装置、品質検査支援方法及び品質検査支援プログラムの実施形態を図面に基づいて詳細に説明する。なお、本実施形態1では、画像の横軸方向をX軸方向と規定し、画像の縦軸方向をY軸方向と規定し、画像の左上隅に位置する画素を原点と規定することとする。
【0019】
<品質検査支援装置の概要>
まず、本実施形態1に係る品質検査支援装置の概要について説明する。
図1は、本実施形態1に係る品質検査支援装置の概要を説明するための説明図である。
図1に示すように、品質検査支援装置10は、撮像部20にて検査対象物100を撮像し、撮像した検査画像14bに基づいて検査対象物100の品質を判定するものである。
【0020】
<品質検査支援装置10の構成>
品質検査支援装置10は、表示部11、入力部12、記憶部14、制御部15及び撮像部20を有する。表示部11は、各種情報を表示する液晶ディスプレイなどの表示デバイスである。入力部12は、マウスやキーボードなどの入力デバイスである。撮像部20は、カメラなどの撮像デバイスである。
【0021】
記憶部14は、ハードディスク装置や不揮発性メモリなどの記憶デバイスであり、参照Y軸平均データ14aと、検査画像14bと、微分画像14cと、Y軸平均データ14dと、評価データ14eとを有する。
【0022】
参照Y軸平均データ14aは、検査画像14bの比較対象となる参照画像に係るデータであり、参照画像を微分処理して参照微分画像を生成した後、該参照微分画像のY軸方向の平均値を算出したデータである。
【0023】
検査画像14bは、検査対象物100の表面Sの画像であり、撮像部20にて撮像される。微分画像14cは、検査画像14bに微分処理を行った微分画像である。Y軸平均データ14dは、微分画像14cを形成する各画素のうちY軸方向に並ぶ複数の画素を算出したデータである。評価データ14eは、Y軸平均データ14dの平均値を参照Y軸平均データ14aの平均値で除算した商を算出したデータである。
【0024】
制御部15は、品質検査支援装置10の全体を制御する制御部であり、画像取得処理部15aと、微分処理部15bと、平均データ生成部15cと、評価データ生成部15dと、品質判定部15eと、表示処理部15fとを有する。実際には、これらのプログラムをCPUにロードして実行することにより、画像取得処理部15aと、微分処理部15bと、平均データ生成部15cと、評価データ生成部15dと、品質判定部15eと、表示処理部15fとにそれぞれ対応するプロセスを実行させることになる。
【0025】
画像取得処理部15aは、対象物の表面の画像を取得する処理部であり、参照画像又は検査画像14bを取得する。検査画像14bを取得する場合には、撮像部20を制御して検査対象物100の表面Sの画像を撮像させ、この画像を検査画像14bとして記憶部14に記憶する。
【0026】
微分処理部15bは、画像取得処理部15aにて取得された検査画像14b
に対して微分オペレータのテンプレートを適用する。かかる微分オペレータとしては、Sobel、Roberts又はラプラシアン等の周知の微分オペレータを用いることができる。
【0027】
例えば、Sobelの微分オペレータを用いる場合には、X軸方向の微分値を求めるX軸方向微分オペレータのテンプレートXと、Y軸方向の微分値を求めるY軸方向微分オペレータのテンプレートYとを準備する。そして、所定の注目画素にテンプレートXを適用して該注目画素の微分値X1を求める。同様に、該注目画素にテンプレートYを適用して該注目画素の微分値Y1を求める。そして、微分値X1と微分値Y1の二乗和の平方根を整数にした値を微分画像の注目画素の画素値とする。そして、注目画素をずらしながら同様の処理を行って微分画像を生成する。なお、ここでは説明の便宜上、検査画像14bに対して微分処理を行う場合について説明するが、検査画像14bに対して平滑化処理を行った後に、微分処理を行うこともできる。
【0028】
平均データ生成部15cは、微分画像14cのY軸方向の画素の画素値を加算したヒストグラムをY軸方向の画素数で除算した商(平均値)を算出する処理部である。なお、本実施形態1では、Y軸方向の平均値を算出する場合について説明するが、X軸方向の平均値を算出することもできる。
【0029】
評価データ生成部15dは、品質判定に用いる評価値を算出する処理部である。具体的には、検査画像14bのY軸平均データ14dの各列の値を参照Y軸平均データ14aの対応する列の値で除算した商を評価値として算出する。なお、各列の評価値の総称を評価データ14eとする。
【0030】
品質判定部15eは、評価データ14eに基づいて、検査画像14bの品質を判定する処理部である。具体的には、評価データ14eを形成する各列の評価値が全て所定の閾値以内である場合には、検査画像14bは品質「良」であると判定する。なお、検査画像14bが品質「良」であると判定されたならば、検査対象物100の表面Sの該当領域についても品質「良」であると推定することになる。
【0031】
これに対して、評価データ14eを形成する各列の評価値が所定の閾値を超える場合には、検査画像14bは品質「不良」であると判定する。表示処理部15fは、品質判定部15eで判定した結果を所定の表示部11に表示処理する。
【0032】
<参照Y軸平均データ14aの生成>
次に、参照Y軸平均データ14aの生成について説明する。
図2は、参照Y軸平均データ14aの生成を説明するための説明図である。
図2に示すように、品質検査支援装置10は、検査画像14bの比較対象となる参照画像D1を取得する。
【0033】
そして、品質検査支援装置10は、参照画像D1を形成する各画素に対して微分オペレータのテンプレートを適用し微分処理を行う。具体的には、X軸方向及びY軸方向にSobelの微分オペレータのテンプレートを準備する。そして、準備されたX軸方向及びY軸方向のテンプレートを所定の注目画素に適用し、算出されたX軸方向及びY軸方向の微分値の二乗和の平方根を算出し、参照画像D1の参照微分画像D2を生成する。
【0034】
その後、品質検査支援装置10は、生成された参照画像D1の参照微分画像D2を形成する各画素のY軸方向の画素の画素値を加算したヒストグラムをY軸方向の画素数で除算した商(平均値)を算出することにより参照Y軸平均データ14aを生成する。
【0035】
次に、参照画像D1に基づく参照微分画像D2の生成について説明する。
図3及び
図4は、参照画像D1に基づく参照微分画像D2の生成を説明する説明図である。
図3(a)に示すように、参照画像D1は、画素(x4、y4)には、画素値「127」、画素(x4、y5)には、画素値「127」、画素(x4、y6)には、画素値「127」、画素(x4、y7)には、画素値「127」、画素(x4、y8)には、画素値「127」が対応付けられている。
【0036】
また、画素(x5、y4)には、画素値「127」、画素(x5,y5)には、画素値「60」、画素(x5,y6)には、画素値「127」、画素(x5,y7)には、画素値「30」、画素(x5、y8)には、画素値「127」が対応付けられている。また、画素(x6、y4)には、画素値「127」、画素(x6,y5)には、画素値「60」、画素(x6,y6)には、画素値「70」、画素(x6,y7)には、画素値「20」、画素(x6、y8)には、画素値「127」が対応付けられている。
【0037】
また、画素(x7、y4)には、画素値「127」、画素(x7,y5)には、画素値「60」、画素(x7,y6)には、画素値「127」、画素(x7,y7)には、画素値「80」、画素(x7、y8)には、画素値「127」が対応付けられおり、画素(x8、y4)には、画素値「127」、画素(x8,y5)には、画素値「127」、画素(x8,y6)には、画素値「127」、画素(x8,y7)には、画素値「127」、画素(x8、y8)には、画素値「127」が対応付けられている。
【0038】
品質検査支援装置10は、参照画像D1に
図3(b)に示すX軸方向のSobelの微分オペレータのテンプレートXを所定の注目画素に適用する。そして、注目画素をずらしながら同様の処理を行って参照画像D1のX軸方向の参照微分画像D2(X)を生成する。参照画像D1のX軸方向の参照微分画像D2(X)は、
図3(d)のように、画素(x5,y5)には、画素値「0」、画素(x5,y6)には、画素値「0」、画素(x5,y7)には、画素値「0」が対応付けられている。
【0039】
また、画素(x6,y5)には、画素値「0」、画素(x6,y6)には、画素値「50」、画素(x6,y7)には、画素値「100」が対応付けられており、画素(x7,y5)には、画素値「191」、画素(x7,y6)には、画素値「255」、画素(x7,y7)には、画素値「255」が対応付けられている。
【0040】
そして、品質検査支援装置10は、参照画像D1に
図3(c)に示すY軸方向のSobelの微分オペレータのテンプレートYを所定の注目画素に適用する。そして、注目画素をずらしながら同様の処理を行って参照画像D1のY軸方向の参照微分画像D2(Y)を生成する。参照画像D1のY軸方向の参照微分画像D2(Y)は、
図3(e)のように、画素(x5,y5)には、画素値「57」、画素(x5,y6)には、画素値「100」、画素(x5,y7)には、画素値「0」が対応付けられている。
【0041】
また、画素(x6,y5)には、画素値「114」、画素(x6,y6)には、画素値「90」、画素(x6,y7)には、画素値「0」が対応付けられており、画素(x7,y5)には、画素値「57」、画素(x7,y6)には、画素値「0」、画素(x7,y7)には、画素値「0」が対応付けられている。
【0042】
その後、品質検査支援装置10は、参照画像D1にX軸方向のSobelの微分オペレータのテンプレートXを適用したX軸方向の参照微分画像D2(X)及び参照画像D1にY軸方向のSobelの微分オペレータのテンプレートYを適用したY軸方向の参照微分画像D2(Y)の対応する画素の画素値の二乗和の平方根を算出し、参照微分画像D2を生成する。
図4(c)のように生成された参照微分画像D2は、画素(x5,y5)には、画素値「57」、画素(x5,y6)には、画素値「100」、画素(x5,y7)には、画素値「0」が対応付けられている。
【0043】
画素(x6,y5)には、画素値「114」、画素(x6,y6)には、画素値「103」、画素(x6,y7)には、画素値「100」が対応付けられており、画素(x7,y5)には、画素値「199」、画素(x7,y6)には、画素値「255」、画素(x7,y7)には、画素値「255」が対応付けられている。
【0044】
次に、参照画像D1の参照微分画像D2に基づく参照Y軸平均データ14aの生成について説明する。
図5は、参照微分画像D2に基づく参照Y軸平均データ14aの生成を説明するための説明図である。ここでは、Y軸方向に平均値を算出する場合について説明する。
図5に示すように、品質検査支援装置10は、参照微分画像D2のx5のY軸方向の画素値「54」、「100」、「0」、「…」を加算したヒストグラムをx5のY軸方向の画素数で除算した商(平均値)を算出する。
【0045】
そして、品質検査支援装置10は、算出した平均値を参照Y軸平均データ14aとして記憶する。生成した参照Y軸平均データ14aは、x5には、平均値「63」、x6には、平均値「104」、x7には、平均値「204」が対応付けられている。
【0046】
<参照Y軸平均データ14aの生成の具体例>
次に、参照画像D1に基づいて参照Y軸平均データ14aを生成する具体的な一例を説明する。
図6は、参照画像D1に基づいて参照Y軸平均データ14aを生成する一例を示す図である。
図6に示すように、品質検査支援装置10は、撮像部20を制御し、検査画像14bの比較対象となる参照画像D1を取得する。
【0047】
そして、品質検査支援装置10は、取得した参照画像D1を構成する各画素に微分処理を行い、参照微分画像D2を生成する。具体的には、参照画像D1を構成する各画素に、X軸方向及びY軸方向にSobelの微分オペレータのテンプレートを適用し、算出されたX軸方向及びY軸方向の微分値の二乗和の平方根を算出する。
【0048】
その後、品質検査支援装置10は、参照画像D1の参照微分画像D2を構成する各画素のY軸方向の画素値を加算したヒストグラムをY軸方向の画素数で除算した商(平均値)を算出することにより参照Y軸平均データ14aを生成する。
【0049】
<評価データ14eの生成>
次に、検査画像14bに基づいて評価データ14eの生成について説明する。
図7は、評価データ14eの生成を説明するための説明図である。
図7に示すように、品質検査支援装置10は、撮像部20を制御して検査画像14bを取得する。
【0050】
その後、品質検査支援装置10は、検査画像14bを形成する各画素に対して微分オペレータのテンプレートを適用し微分処理を行う。具体的には、X軸方向及びY軸方向にSobelの微分オペレータのテンプレートを準備する。そして、準備されたX軸方向及びY軸方向のテンプレートを所定の注目画素に適用し、算出されたX軸方向及びY軸方向の微分値の二乗和の平方根を算出し、検査画像14bの微分画像14cを生成する。
【0051】
そして、品質検査支援装置10は、生成された微分画像14cを形成する各画素のY軸方向の画素の画素値を加算したヒストグラムをY軸方向の画素数で除算した商(平均値)を算出することによりY軸平均データ14dを生成する。その後、生成したY軸平均データ14dの平均値をあらかじめ生成しておいた参照Y軸平均データ14aの平均値で除算した商(評価値)を算出し、評価データ14eを生成する。ここで、評価値は、検査画像14bが参照画像D1にどれだけ似ているかの指標を示し、検査画像14bが参照画像D1に似ている場合には、評価値は「1」に近い値となる。
【0052】
<Y軸平均データ14dの生成の具体例>
次に、検査画像14bに基づきY軸平均データ14dを生成する具体的な一例を説明する。
図8は、検査画像14bに基づきY軸平均データ14dを生成する一例を示す図である。
図8に示すように、品質検査支援装置10は、撮像部20を制御し、検査対象物100の表面Sの検査画像14bを取得する。ここでは、検査対象物100の左中央部に欠陥がある場合を示している。
【0053】
そして、品質検査支援装置10は、取得した検査画像14bを構成する各画素に微分処理を行い、微分画像14cを生成する。具体的には、検査画像14bを構成する各画素に、X軸方向及びY軸方向にSobelの微分オペレータのテンプレートを適用し、算出されたX軸方向及びY軸方向の微分値の二乗和の平方根を算出する。
【0054】
その後、品質検査支援装置10は、検査画像14bの微分画像14cを構成する各画素のY軸方向の画素値を加算したヒストグラムをY軸方向の画素数で除算した商(平均値)を算出することによりY軸平均データ14dを生成する。ここでは、検査対象物100の左中央部の欠陥が微分画像14cの対応する画素値に影響を与え、Y軸平均データ14dの平均値が増加している場合を示している。
【0055】
<品質の判定>
次に、品質検査支援装置10における検査画像14bの品質の判定について説明する。
図9は、品質の判定を説明するための説明図である。
図9(a)に示すように、評価データ14eを形成する全ての評価値が所定の閾値(ここでは、0.8~1.2)以内である場合には、検査画像14bは品質「良」であると判定する。
【0056】
これに対して、品質検査支援装置10は、
図9(b)に示すように、評価データ14eを形成する評価値が所定の閾値を超える(領域A)場合には、検査画像
14bは品質「不良」であると判定する。
【0057】
また、品質検査支援装置10は、評価データ14eを形成する複数の評価値のうち所定数の評価値が所定の閾値以内である場合には、検査画像14bの品質が良であると判定し、所定数の評価値が閾値を超える場合には、検査画像14bの品質は不良であると判定してもよい。
【0058】
<参照画像D1の参照Y軸平均データ14a生成の処理手順>
次に、品質検査支援装置10の参照画像D1の参照Y軸平均データ14aの生成の処理手順について説明する。
図10は、
図1に示した品質検査支援装置10の参照画像D1に基づく参照Y軸平均データ14aの生成の処理手順を示すフローチャートである。
図10に示すように、品質検査支援装置10は、撮像部20を制御し、参照画像D1を取得する(ステップS101)。
【0059】
そして、品質検査支援装置10は、取得した参照画像D1に微分処理を行い、参照微分画像D2を生成する(ステップS102)。微分処理は、具体的には、参照画像D1を形成する各画素の画素値にX軸方向及びY軸方向にSobelの微分オペレータのテンプレートを適用し、算出されたX軸方向及びY軸方向の微分値の二乗和の平方根を算出する。
【0060】
そして、生成された参照微分画像D2を形成する各画素のY軸方向の画素値を加算したヒストグラムをY軸方向の画素数で除算した商(平均値)を算出することにより参照Y軸平均データ14aを生成する(ステップS103)。
【0061】
<品質検査支援装置10の処理手順>
次に、品質検査支援装置10の処理手順について説明する。
図11及び
図12は、
図1に示した品質検査支援装置10の処理手順を示すフローチャートである。
図11に示すように、品質検査支援装置10は、撮像部20を制御し、検査対象物100の表面Sの検査画像14bを取得する(ステップS201)。
【0062】
そして、品質検査支援装置10は、取得した検査画像14bに微分処理を行い、微分画像14cを生成する(ステップS202)。ここで、微分処理は、具体的には、検査画像14bを形成する各画素の画素値に、X軸方向及びY軸方向にSobelの微分オペレータのテンプレートを適用し、算出されたX軸方向及びY軸方向の微分値の二乗和の平方根を算出する。
【0063】
その後、品質検査支援装置10は、生成された微分画像14cを形成する各画素のY軸方向の画素値を加算したヒストグラムをY軸方向の画素数で除算した商(平均値)を算出することによりY軸平均データ14dを生成する(ステップS203)。その後、評価値の算出を行う(ステップS204)。具体的には、生成したY軸平均データ14dの平均値をあらかじめ生成した参照Y軸平均データ14aの平均値で除算した商を算出する。
【0064】
そして、品質検査支援装置10は、カウンタDを初期化し(ステップS205)、評価値が所定の閾値以内であるか否かを判定する(S206)。生成した評価データ14eの評価値が所定の閾値以内でない場合は(ステップS206;No)、カウンタDにD+1を設定し(ステップS207)、ステップS208に移行する。
【0065】
一方、評価値が所定の閾値以内である場合は、最後の評価値か否かを判定する(ステップS208)。処理した評価値が最後の評価値でない場合は(ステップS208;No)、次の評価値を読み出して(ステップS209)、ステップS206へ移行する。
【0066】
一方、処理した評価値が最後の評価値である場合は(ステップS208;Yes)、カウンタDの値が「1」以上か否かを判定する(ステップS210)。カウンタDの値が「1」以上であった場合は(ステップS210;Yes)、品質検査支援装置10は、品質「不良」と判定し(ステップS212)、判定結果を所定の表示部11に表示制御し(ステップS213)、すべての処理を終了する。
【0067】
一方、品質検査支援装置10は、カウンタDの値が「1」以上でない場合は(ステップS210;N o)、品質「良」と判定し(ステップS211)、判定結果を所定の表示部11に表示制御し(ステップS213)、すべての処理を終了する。
【0068】
上述してきたように、本実施形態1では、品質検査支援装置10は、撮像部20を制御し検査対象物100の表面Sの検査画像14bを取得し、検査画像14bを形成する各画素の画素値にX軸方向及びY軸方向にSobelの微分オペレータのテンプレートを適用し、算出されたX軸方向及びY軸方向の微分値の二乗和の平方根を算出し、微分画像14cを生成する。そして、生成された微分画像14cを形成する各画素のY軸方向の画素値を加算したヒストグラムをY軸方向の画素数で除算した商(平均値)を算出し、Y軸平均データ14dを生成する。その後、生成したY軸平均データ14dの平均値をあらかじめ生成した参照Y軸平均データ14aの平均値で除算した商(評価値)を算出する。そして、評価値が所定の閾値以内である場合は、検査画像14bは品質「良」と判定し、評価値が所定の閾値を超える場合は、品質「不良」と判定するようにしたため、検査対象物の表面を撮像した画像から品質を効率的に判定することができる。
【0069】
なお、上記実施形態1では、Y軸平均データ14dの生成は、微分画像14cを形成する画素の画素値のY軸方向の平均値を算出する場合を説明したが、本発明は、これに限定されることはなく、微分画像14cを形成する画素の画素値のX軸方向の平均値を算出してもよい。
【0070】
また、上記実施形態1では、評価データ14eは、微分画像14cを形成する画素の画素値のY軸方向の平均値を算出したY軸平均データ14dを参照Y軸平均データ14aで除算して算出する場合を説明したが、本発明は、これに限定されることはなく、評価データ14eを、微分画像14cを形成する画素の画素値のX軸方向の平均値を算出したX軸平均データを参照画像D1の参照微分画像D2を形成する画素の画素値のX軸方向の平均値を算出した参照X軸平均データで除算した商を算出してもよい。
【0071】
[実施形態2]
ところで、上記実施形態1では、品質検査支援装置10は、品質の判定について評価値が閾値以内か否かで判定をする場合について説明したが、実施形態2では、品質の判定を評価値が連続して評価値を超えるか否かで判定する場合について説明する。
【0072】
図13は、実施形態2に係る品質検査支援装置30の品質の判定について説明するための説明図である。
図13に示すように、実施形態2に係る品質検査支援装置30は、評価データ14eに含まれる複数の評価値が領域B1あるいは、領域B2のように一部の評価値が閾値を超えている場合に、X軸方向に連続して複数の評価値が閾値を超えない場合は、検査画像14bは品質「良」と判定する。例えば、評価値が3つ連続で所定の閾値を超えない場合は、品質検査支援装置30は、検査画像14bは品質「良」と判定する。
【0073】
これに対し、実施形態2の係る品質検査支援装置30は、評価データ14eに含まれる複数の評価値が、X軸方向に連続して所定の閾値を超える場合には、検査画像14bは品質「不良」であると判定する。
【0074】
次に、実施形態2に係る品質検査支援装置30の処理手順について説明する。
図14及び
図15は、実施形態2に係る品質検査支援装置30の処理手順を示すフローチャートである。
図14に示すように、品質検査支援装置30は、撮像部20を制御し、検査対象物100の表面Sの検査画像14bを取得する(ステップS301)。
【0075】
そして、品質検査支援装置30は、取得した検査画像14bに微分処理を行い、微分画像14cを生成する(ステップS302)。ここで、微分処理は、具体的には、検査画像14bを形成する各画素の画素値に、X軸方向及びY軸方向にSobelの微分オペレータのテンプレートを適用し、算出されたX軸方向及びY軸方向の微分値の二乗和の平方根を算出する。
【0076】
その後、品質検査支援装置30は、生成された微分画像14cを形成する画素のY軸方向の画素値を加算したヒストグラムをY軸方向の画素数で除算した商(平均値)を算出し、Y軸平均データ14dを生成する(ステップS303)。その後、評価値の算出を行う(ステップS304)。具体的には、生成したY軸平均データ14dの平均値をあらかじめ生成した参照Y軸平均データ14aの平均値で除算した商を算出する。
【0077】
そして、品質検査支援装置30は、カウンタDを初期化し(ステップS305)、評価値が所定の閾値以内であるか否かを判定する(ステップS306)。評価値が所定の閾値以内でない場合は、カウンタDにD+1を設定し(ステップS307)、カウンタDの値が「3」以上か否かを判定する(ステップS308)。品質検査支援装置30は、カウンタDの値が「3」以上である場合は(ステップS308;Yes)、検査画像14bは品質「不良」と判定し(ステップS309)、判定結果を所定の表示部11に表示制御し(ステップS314)、すべての処理を終了する。
【0078】
一方、カウンタDの値が「3」以上でない場合は(ステップS308;No)、ステップS311に移行する。また、評価値が所定の閾値以内である場合は(ステップS306;Yes)、カウンタDを初期化し(ステップS310)、最後の評価値か否かを判定する(ステップS311)。
【0079】
そして、品質検査支援装置30は、処理した評価値が最後の評価値でない場合は(ステップS311;No)、次の評価値を読み出し(ステップS312)、ステップS306に移行する。
【0080】
一方、処理した評価値が最後の評価値である場合は(ステップS311;Yes)、品質検査支援装置30は、検査画像14bは品質「良」と判定し(ステップS313)、判定結果を所定の表示部11に表示制御し(ステップS314)、すべての処理を終了する。
【0081】
上述してきたように、本実施形態2では、品質検査支援装置30は、Y軸平均データ14dの平均値をあらかじめ生成した参照Y軸平均データ14aの平均値で除算した商(評価値)を算出し、評価データ14eを生成する。そして、評価データ14eに含まれる評価値が3つ連続で所定の閾値を越えない場合は、検査画像14bは品質「良」と判定し、評価値が3つ連続で所定の閾値を超える場合は、品質「不良」と判定するようにしたため、検査対象物の表面を撮像した画像から品質を効率的に判定することができる。
【0082】
なお、実施形態2では、品質検査支援装置30は、閾値を超える評価値が3つ連続した場合に品質「不良」と判定する場合について説明したが、本発明は、これに限定されるものではなく、閾値を超える評価値が4以上の任意の数連続した場合に品質「不良」と判定してもよい。また、閾値を超える評価値が存在する場合に、閾値を超える評価値が存在する領域の評価値の平均値を算出し、その平均値が所定の閾値を超えていない場合は、検査画像14bは品質「良」と判定してもよい。
【0083】
<ハードウエアとの関係>
次に、実施形態1に係る品質検査支援装置10又は実施形態2に係る品質検査支援装置30と、コンピュータの主たるハードウエア構成の対応関係について説明する。
図16は、ハードウエア構成の一例を示す図である。
【0084】
一般的なコンピュータは、CPU41、ROM42、RAM43及び不揮発性メモリ44などがバス45により接続された構成となる。不揮発性メモリ44の代わりにハードディスク装置が設けられていてもよい。説明の便宜上、基本的なハードウエア構成のみを示している。
【0085】
ここで、ROM42又は不揮発性メモリ44には、オペレーティングシステム(以下、単に「OS」と言う)の起動に必要となるプログラム等が記憶されており、CPU41は、電源投入時にROM42又は不揮発性メモリ44からOSのプログラムをリードして実行する。
【0086】
一方、OS上で実行される各種のアプリケーションプログラムは、不揮発性メモリ44に記憶されており、CPU41がRAM43を主メモリとして利用しつつアプリケーションプログラムを実行することにより、アプリケーションに対応するプロセスが実行される。
【0087】
そして、実施形態1に係る品質検査支援装置10又は実施形態2に係る品質検査支援装置30の品質検査支援プログラムについても、他のアプリケーションプログラムと同様に不揮発性メモリ44等に記憶され、CPU41が、かかる品質検査支援プログラムをロードして実行することになる。実施形態1に係る品質検査支援装置10の場合には、
図1に示した画像取得処理部15a、微分処理部15b、平均データ生成部15c、評価データ生成部15d、品質判定部15e及び表示処理部15fに対応するルーチンを含む品質検査支援プログラムが不揮発性メモリ44等に記憶される。CPU41により品質検査支援プログラムがロード実行されることにより、画像取得処理部15a、微分処理部15b、平均データ生成部15c、評価データ生成部15d、品質判定部15e及び表示処理部15fに対応するプロセスが生成される。実施形態2に係る品質検査支援装置30の場合も同様である。
【0088】
上記の各実施形態で図示した各構成は機能概略的なものであり、必ずしも物理的に図示の構成をされていることを要しない。すなわち、各装置の分散・統合の形態は図示のものに限られず、その全部又は一部を各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【産業上の利用可能性】
【0089】
本発明に係る品質検査支援装置、品質検査支援方法及び品質検査支援プログラムは、検査対象物の表面を撮像した画像の品質を効率的に判定する場合に適している。
【符号の説明】
【0090】
10、30 品質検査支援装置
11 表示部
12 入力部
14 記憶部
14a 参照Y軸平均データ
14b 検査画像
14c 微分画像
14d Y軸平均データ
14e 評価データ
15 制御部
15a 画像取得処理部
15b 微分処理部
15c 平均データ生成部
15d 評価データ生成部
15e 品質判定部
15f 表示処理部
20 撮像部
41 CPU
42 ROM
43 RAM
44 不揮発メモリ
45 バス
100 検査対象物
A、B1、B2 領域
D1 参照画像
D2 参照微分画像
S 表面