(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】ワークの表面欠陥検出装置及び検出方法、ワークの表面検査システム並びにプログラム
(51)【国際特許分類】
G01N 21/88 20060101AFI20231219BHJP
G01B 11/30 20060101ALI20231219BHJP
G01B 11/25 20060101ALI20231219BHJP
G06T 7/00 20170101ALI20231219BHJP
【FI】
G01N21/88 J
G01B11/30 A
G01B11/25 H
G06T7/00 610B
(21)【出願番号】P 2019182094
(22)【出願日】2019-10-02
【審査請求日】2022-09-20
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】100099885
【氏名又は名称】高田 健市
(72)【発明者】
【氏名】矢橋 暁
(72)【発明者】
【氏名】相馬 祥人
(72)【発明者】
【氏名】脇村 泰三
【審査官】横尾 雅一
(56)【参考文献】
【文献】特開平09-318336(JP,A)
【文献】特開2014-186030(JP,A)
【文献】特開平07-270323(JP,A)
【文献】特開平11-325861(JP,A)
【文献】米国特許出願公開第2015/0204797(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01N 21/84 - G01N 21/958
G01B 11/00 - G01B 11/30
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
表面欠陥の検出対象であるワークに対し照明装置による明暗パターンを相対的に移動させた状態で、前記ワークの被測定部位についての複数の画像を取得する画像取得手段と、
前記画像取得手段により取得された各画像に対する、二値化処理と閾値の適用によって、またはコーナー検出関数の適用によって、画像の特徴点を抽出する特徴点抽出手段と、
前記特徴点抽出手段によって抽出された各特徴点に対し多次元の特徴量を求めることにより、仮欠陥候補を抽出する仮欠陥候補抽出手段と、
前記仮欠陥候補抽出手段により仮欠陥候補が抽出された複数の画像のうち、仮欠陥候補が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する欠陥候補決定手段と、
前記欠陥候補決定手段により決定された欠陥候補が含まれている複数の画像を合成して合成画像を作成する画像合成手段と、
前記画像合成手段により作成された合成画像に基づいて欠陥検出を行う検出手段と、
を備え
、
前記仮欠陥候補抽出手段は、前記特徴点抽出手段によって抽出された各特徴点に対し、周囲の特定範囲の全画素について、当該全画素からの縦横斜め全方向の輝度勾配情報を基に多次元の特徴量を求めることにより仮欠陥候補を抽出することを特徴とするワークの表面欠陥検出装置。
【請求項2】
表面欠陥の検出対象であるワークに対し照明装置による明暗パターンを相対的に移動させた状態で、前記ワークの被測定部位についての複数の画像を取得する画像取得手段と、
前記画像取得手段により取得された各画像に対する、二値化処理と閾値の適用によって、またはコーナー検出関数の適用によって、画像の特徴点を抽出する特徴点抽出手段と、
前記特徴点抽出手段によって抽出された各特徴点に対し多次元の特徴量を求めることにより、仮欠陥候補を抽出する仮欠陥候補抽出手段と、
前記仮欠陥候補抽出手段により仮欠陥候補が抽出された複数の画像のうち、仮欠陥候補が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する欠陥候補決定手段と、
前記欠陥候補決定手段により決定された欠陥候補が含まれている複数の画像を合成して合成画像を作成する画像合成手段と、
前記画像合成手段により作成された合成画像に基づいて欠陥検出を行う検出手段と、
前記欠陥候補決定手段により決定された欠陥候補毎に、該欠陥候補が含まれている複数の画像の中から、欠陥候補の周りの所定領域を推定領域として切り出して、複数の推定領域画像群を作成する画像群作成手段と、
を備え、
前記画像合成手段は、欠陥候補毎に、前記画像群作成手段により作成された複数の推定領域画像を合成して合成画像を作成することを特徴とするワークの表面欠陥検出装置。
【請求項3】
前記画像取得手段により取得された各画像を二値化し、輪郭抽出した上で、所定回数の膨張及び収縮を行った画像を引き算して、画像における明暗パターンの境界部分を除去するマスクを作成するゆず肌マスク作成手段を備え、
前記特徴点抽出手段は、前記ゆず肌マスク作成手段により作成されたマスクを適用した後の各画像の特徴点を抽出する請求項1
または2に記載のワークの表面欠陥検出装置。
【請求項4】
前記欠陥候補決定手段は、前記複数の画像のうち、仮欠陥候補の位置が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する請求項1~3のいずれかに記載のワークの表面欠陥検出装置。
【請求項5】
前記仮欠陥候補の位置は仮欠陥候補の座標で表され、
前記仮欠陥候補抽出手段により抽出された仮欠陥候補の座標を求めるとともに、仮欠陥候補が抽出された画像に後続する複数の画像のそれぞれに対して、前記仮欠陥候補の座標がどの座標に移動するかを演算して推定座標を求める座標推定手段を備え、
前記欠陥候補決定手段は、前記後続する各画像において、前記座標推定手段により演算された推定座標とその画像における仮欠陥候補とが対応するかどうかを判定し、前記後続する画像のうち、推定座標と仮欠陥候補とが対応する画像が、予め設定された閾値以上存在すれば前記仮欠陥候補を欠陥候補として決定する請求項4に記載のワークの表面欠陥検出装置。
【請求項6】
表面欠陥の検出対象であるワークに対して、明暗パターンの照明光を照射する照明装置と、
前記照明装置による照明光の前記ワークの被測定部位からの反射光を撮像する撮像手段と、
前記ワークに対し前記照明装置による明暗パターンを相対的に移動させる移動手段と、
前記移動手段により、前記ワークに対して前記照明装置の明暗パターンを相対的に移動させながら、前記ワークの被測定部位を撮像するように、前記撮像手段を制御する制御手段と、
請求項1~
5のいずれかに記載のワークの表面欠陥検出装置と、
を備え、
前記画像取得手段は、前記撮像手段から前記ワークの被測定部位についての複数の画像を取得することを特徴とするワークの表面検査システム。
【請求項7】
表面欠陥の検出対象であるワークに対し照明装置による明暗パターンを相対的に移動させた状態で、前記ワークの被測定部位についての複数の画像を取得する画像取得ステップと、
前記画像取得ステップにより取得された各画像に対する、二値化処理と閾値の適用によって、またはコーナー検出関数の適用によって、画像の特徴点を抽出する特徴点抽出ステップと、
前記特徴点抽出ステップによって抽出された各特徴点に対し多次元の特徴量を求めることにより、仮欠陥候補を抽出する仮欠陥候補抽出ステップと、
前記仮欠陥候補抽出ステップにより仮欠陥候補が抽出された複数の画像のうち、仮欠陥候補が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する欠陥候補決定ステップと、
前記欠陥候補決定ステップにより決定された欠陥候補が含まれている複数の画像を合成して合成画像を作成する画像合成ステップと、
前記画像合成ステップにより作成された合成画像に基づいて欠陥検出を行う検出ステップと、
をワークの表面欠陥検出装置が実行
し、
前記仮欠陥候補抽出ステップでは、前記特徴点抽出ステップによって抽出された各特徴点に対し、周囲の特定範囲の全画素について、当該全画素からの縦横斜め全方向の輝度勾配情報を基に多次元の特徴量を求めることにより仮欠陥候補を抽出することを特徴とするワークの表面欠陥検出方法。
【請求項8】
表面欠陥の検出対象であるワークに対し照明装置による明暗パターンを相対的に移動させた状態で、前記ワークの被測定部位についての複数の画像を取得する画像取得ステップと、
前記画像取得ステップにより取得された各画像に対する、二値化処理と閾値の適用によって、またはコーナー検出関数の適用によって、画像の特徴点を抽出する特徴点抽出ステップと、
前記特徴点抽出ステップによって抽出された各特徴点に対し多次元の特徴量を求めることにより、仮欠陥候補を抽出する仮欠陥候補抽出ステップと、
前記仮欠陥候補抽出ステップにより仮欠陥候補が抽出された複数の画像のうち、仮欠陥候補が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する欠陥候補決定ステップと、
前記欠陥候補決定ステップにより決定された欠陥候補が含まれている複数の画像を合成して合成画像を作成する画像合成ステップと、
前記画像合成ステップにより作成された合成画像に基づいて欠陥検出を行う検出ステップと、
前記欠陥候補決定ステップにより決定された欠陥候補毎に、該欠陥候補が含まれている複数の画像の中から、欠陥候補の周りの所定領域を推定領域として切り出して、複数の推定領域画像群を作成する画像群作成ステップと、
をワークの表面欠陥検出装置が実行し、
前記画像合成ステップでは、欠陥候補毎に、前記画像群作成ステップにより作成された複数の推定領域画像を合成して合成画像を作成することを特徴とするワークの表面欠陥検出方法。
【請求項9】
ワークの表面欠陥検出装置は、前記画像取得ステップにより取得された各画像を二値化し、輪郭抽出した上で、所定回数の膨張及び収縮を行った画像を引き算して、画像における明暗パターンの境界部分を除去するマスクを作成するゆず肌マスク作成ステップを
実行し、
前記特徴点抽出ステップでは、前記ゆず肌マスク作成ステップにより作成されたマスクを適用した後の各画像の特徴点を抽出する請求項
7または8に記載のワークの表面欠陥検出方法。
【請求項10】
ワークの表面欠陥検出装置は、前記欠陥候補決定ステップでは、前記複数の画像のうち、仮欠陥候補の位置が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する請求項
7~
9のいずれかに記載のワークの表面欠陥検出方法。
【請求項11】
前記仮欠陥候補の位置は仮欠陥候補の座標で表され、
ワークの表面欠陥検出装置は、前記仮欠陥候補抽出ステップにより抽出された仮欠陥候補の座標を求めるとともに、仮欠陥候補が抽出された画像に後続する複数の画像のそれぞれに対して、前記仮欠陥候補の座標がどの座標に移動するかを演算して推定座標を求める座標推定ステップを
実行し、
前記欠陥候補決定ステップでは、前記後続する各画像において、前記座標推定ステップにより演算された推定座標とその画像における仮欠陥候補とが対応するかどうかを判定し、前記後続する画像のうち、推定座標と仮欠陥候補とが対応する画像が、予め設定された閾値以上存在すれば前記仮欠陥候補を欠陥候補として決定する請求項
10に記載のワークの表面欠陥検出方法。
【請求項12】
請求項
7~
11のいずれかに記載のワークの表面欠陥検出方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、表面欠陥の検出対象である車体等のワークを相対的に移動させながら、明暗パターンの照明光をワークの塗装面等の被測定部位に照射した状態で、被測定部位を撮像手段により連続的に撮像したときに得られた複数の画像に基づいて、表面欠陥の検出を行うワークの表面欠陥検出装置及び検出方法、ワークの表面検査システム並びにプログラムに関する。
【背景技術】
【0002】
上記のように、車体等のワークを相対的に移動させながら、ワークの被測定部位を撮像手段により連続的に撮像することにより、ワークの表面欠陥の検出を行う技術として、特許文献1及び2が知られている。しかし、これらの特許文献に記載された技術では、撮像手段により得られた画像を用いた具体的な欠陥検出アルゴリズムについては記載されていない。
一方、特許文献3には、時系列的に撮像された複数枚の画像を処理し、それぞれの画像から抽出された欠陥候補点の移動状態に基づいて欠陥を検出することによって、精度の高い欠陥検出を可能とする被検査面の欠陥検査方法が提案されている。具体的には、 被検査面1を、その撮像部位Aが時間の経過と共に移動するように移動させ、任意の時刻ごとに撮像手段2からの画像を入力し、この入力した互いに撮像時刻の異なる2枚の画像のそれぞれから欠陥候補点Bを抽出し、後に撮像された画像の欠陥候補点Bの周囲に誤差範囲を設定し、前に撮像された画像の欠陥候補点Bを被検査面又は撮像手段の移動距離に応じて移動させ、その誤差範囲内に存在する欠陥候補点の内、この移動後の欠陥候補点Bに最も近い欠陥候補点をマッチ候補とし、以上の処理を時系列的に撮像された複数の画像に対して行い、所定回数以上マッチ候補として挙がった欠陥候補点Bを前記被検査面1上に存在する欠陥であると決定する、というものである。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許第7639349号公報
【文献】米国特許出願公開第2017/0277979号公報
【文献】特許第3156602号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献3に記載の検査方法は、基本的には単画像に基づく処理のため情報量が不足しており、小さな表面欠陥を十分な精度で判別できないという問題がある。
【0005】
この発明はこのような問題を解決するためになされたものであって、小さな表面欠陥を高精度で安定して検出することができるワークの表面欠陥検出装置及び検出方法、ワークの表面検査システム並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的は以下の手段によって達成される。
(1)表面欠陥の検出対象であるワークに対し照明装置による明暗パターンを相対的に移動させた状態で、前記ワークの被測定部位についての複数の画像を取得する画像取得手段と、前記画像取得手段により取得された各画像に対する、二値化処理と閾値の適用によって、またはコーナー検出関数の適用によって、画像の特徴点を抽出する特徴点抽出手段と、前記特徴点抽出手段によって抽出された各特徴点に対し多次元の特徴量を求めることにより、仮欠陥候補を抽出する仮欠陥候補抽出手段と、前記仮欠陥候補抽出手段により仮欠陥候補が抽出された複数の画像のうち、仮欠陥候補が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する欠陥候補決定手段と、前記欠陥候補決定手段により決定された欠陥候補が含まれている複数の画像を合成して合成画像を作成する画像合成手段と、前記画像合成手段により作成された合成画像に基づいて欠陥検出を行う検出手段と、を備え、前記仮欠陥候補抽出手段は、前記特徴点抽出手段によって抽出された各特徴点に対し、周囲の特定範囲の全画素について、当該全画素からの縦横斜め全方向の輝度勾配情報を基に多次元の特徴量を求めることにより仮欠陥候補を抽出することを特徴とするワークの表面欠陥検出装置。
(2)表面欠陥の検出対象であるワークに対し照明装置による明暗パターンを相対的に移動させた状態で、前記ワークの被測定部位についての複数の画像を取得する画像取得手段と、前記画像取得手段により取得された各画像に対する、二値化処理と閾値の適用によって、またはコーナー検出関数の適用によって、画像の特徴点を抽出する特徴点抽出手段と、前記特徴点抽出手段によって抽出された各特徴点に対し多次元の特徴量を求めることにより、仮欠陥候補を抽出する仮欠陥候補抽出手段と、前記仮欠陥候補抽出手段により仮欠陥候補が抽出された複数の画像のうち、仮欠陥候補が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する欠陥候補決定手段と、前記欠陥候補決定手段により決定された欠陥候補が含まれている複数の画像を合成して合成画像を作成する画像合成手段と、前記画像合成手段により作成された合成画像に基づいて欠陥検出を行う検出手段と、前記欠陥候補決定手段により決定された欠陥候補毎に、該欠陥候補が含まれている複数の画像の中から、欠陥候補の周りの所定領域を推定領域として切り出して、複数の推定領域画像群を作成する画像群作成手段と、を備え、前記画像合成手段は、欠陥候補毎に、前記画像群作成手段により作成された複数の推定領域画像を合成して合成画像を作成することを特徴とするワークの表面欠陥検出装置。
(3)前記画像取得手段により取得された各画像を二値化し、輪郭抽出した上で、所定回数の膨張及び収縮を行った画像を引き算して、画像における明暗パターンの境界部分を除去するマスクを作成するゆず肌マスク作成手段を備え、前記特徴点抽出手段は、前記ゆず肌マスク作成手段により作成されたマスクを適用した後の各画像の特徴点を抽出する前項1または2に記載のワークの表面欠陥検出装置。
(4)前記欠陥候補決定手段は、前記複数の画像のうち、仮欠陥候補の位置が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する前項1~3のいずれかに記載のワークの表面欠陥検出装置。
(5)前記仮欠陥候補の位置は仮欠陥候補の座標で表され、前記仮欠陥候補抽出手段により抽出された仮欠陥候補の座標を求めるとともに、仮欠陥候補が抽出された画像に後続する複数の画像のそれぞれに対して、前記仮欠陥候補の座標がどの座標に移動するかを演算して推定座標を求める座標推定手段を備え、前記欠陥候補決定手段は、前記後続する各画像において、前記座標推定手段により演算された推定座標とその画像における仮欠陥候補とが対応するかどうかを判定し、前記後続する画像のうち、推定座標と仮欠陥候補とが対応する画像が、予め設定された閾値以上存在すれば前記仮欠陥候補を欠陥候補として決定する前項4に記載のワークの表面欠陥検出装置。
(6)表面欠陥の検出対象であるワークに対して、明暗パターンの照明光を照射する照明装置と、前記照明装置による照明光の前記ワークの被測定部位からの反射光を撮像する撮像手段と、前記ワークに対し前記照明装置による明暗パターンを相対的に移動させる移動手段と、前記移動手段により、前記ワークに対して前記照明装置の明暗パターンを相対的に移動させながら、前記ワークの被測定部位を撮像するように、前記撮像手段を制御する制御手段と、前項1~5のいずれかに記載のワークの表面欠陥検出装置と、を備え、前記画像取得手段は、前記撮像手段から前記ワークの被測定部位についての複数の画像を取得することを特徴とするワークの表面検査システム。
(7)表面欠陥の検出対象であるワークに対し照明装置による明暗パターンを相対的に移動させた状態で、前記ワークの被測定部位についての複数の画像を取得する画像取得ステップと、前記画像取得ステップにより取得された各画像に対する、二値化処理と閾値の適用によって、またはコーナー検出関数の適用によって、画像の特徴点を抽出する特徴点抽出ステップと、前記特徴点抽出ステップによって抽出された各特徴点に対し多次元の特徴量を求めることにより、仮欠陥候補を抽出する仮欠陥候補抽出ステップと、前記仮欠陥候補抽出ステップにより仮欠陥候補が抽出された複数の画像のうち、仮欠陥候補が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する欠陥候補決定ステップと、前記欠陥候補決定ステップにより決定された欠陥候補が含まれている複数の画像を合成して合成画像を作成する画像合成ステップと、前記画像合成ステップにより作成された合成画像に基づいて欠陥検出を行う検出ステップと、をワークの表面欠陥検出装置が実行し、前記仮欠陥候補抽出ステップでは、前記特徴点抽出ステップによって抽出された各特徴点に対し、周囲の特定範囲の全画素について、当該全画素からの縦横斜め全方向の輝度勾配情報を基に多次元の特徴量を求めることにより仮欠陥候補を抽出することを特徴とするワークの表面欠陥検出方法。
(8)表面欠陥の検出対象であるワークに対し照明装置による明暗パターンを相対的に移動させた状態で、前記ワークの被測定部位についての複数の画像を取得する画像取得ステップと、前記画像取得ステップにより取得された各画像に対する、二値化処理と閾値の適用によって、またはコーナー検出関数の適用によって、画像の特徴点を抽出する特徴点抽出ステップと、前記特徴点抽出ステップによって抽出された各特徴点に対し多次元の特徴量を求めることにより、仮欠陥候補を抽出する仮欠陥候補抽出ステップと、前記仮欠陥候補抽出ステップにより仮欠陥候補が抽出された複数の画像のうち、仮欠陥候補が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する欠陥候補決定ステップと、前記欠陥候補決定ステップにより決定された欠陥候補が含まれている複数の画像を合成して合成画像を作成する画像合成ステップと、前記画像合成ステップにより作成された合成画像に基づいて欠陥検出を行う検出ステップと、前記欠陥候補決定ステップにより決定された欠陥候補毎に、該欠陥候補が含まれている複数の画像の中から、欠陥候補の周りの所定領域を推定領域として切り出して、複数の推定領域画像群を作成する画像群作成ステップと、をワークの表面欠陥検出装置が実行し、前記画像合成ステップでは、欠陥候補毎に、前記画像群作成ステップにより作成された複数の推定領域画像を合成して合成画像を作成することを特徴とするワークの表面欠陥検出方法。
(9)ワークの表面欠陥検出装置は、前記画像取得ステップにより取得された各画像を二値化し、輪郭抽出した上で、所定回数の膨張及び収縮を行った画像を引き算して、画像における明暗パターンの境界部分を除去するマスクを作成するゆず肌マスク作成ステップを実行し、前記特徴点抽出ステップでは、前記ゆず肌マスク作成ステップにより作成されたマスクを適用した後の各画像の特徴点を抽出する前項7または8に記載のワークの表面欠陥検出方法。
(10)ワークの表面欠陥検出装置は、前記欠陥候補決定ステップでは、前記複数の画像のうち、仮欠陥候補の位置が対応する画像が予め設定された閾値以上存在すれば、前記仮欠陥候補を欠陥候補として決定する前項7~9のいずれかに記載のワークの表面欠陥検出方法。
(11)前記仮欠陥候補の位置は仮欠陥候補の座標で表され、ワークの表面欠陥検出装置は、前記仮欠陥候補抽出ステップにより抽出された仮欠陥候補の座標を求めるとともに、仮欠陥候補が抽出された画像に後続する複数の画像のそれぞれに対して、前記仮欠陥候補の座標がどの座標に移動するかを演算して推定座標を求める座標推定ステップを実行し、前記欠陥候補決定ステップでは、前記後続する各画像において、前記座標推定ステップにより演算された推定座標とその画像における仮欠陥候補とが対応するかどうかを判定し、前記後続する画像のうち、推定座標と仮欠陥候補とが対応する画像が、予め設定された閾値以上存在すれば前記仮欠陥候補を欠陥候補として決定する前項10に記載のワークの表面欠陥検出方法。
(12)前項7~11のいずれかに記載のワークの表面欠陥検出方法をコンピュータに実行させるためのプログラム。
【発明の効果】
【0007】
前項(1)(6)及び(7)に記載の発明によれば、撮像手段から取得されたワークの被測定部位の位置が連続的にずれた複数の画像から仮欠陥候補が抽出され、抽出された仮欠陥候補の座標が求められる。仮欠陥候補が抽出された画像に後続する複数の画像のそれぞれに対して、仮欠陥候補の座標がどの座標に移動するかを演算して推定座標が求められ、この推定座標とその画像における仮欠陥候補とが対応するかどうかが判定され、後続する画像のうち、推定座標と仮欠陥候補とが対応する画像が、予め設定された閾値以上存在すれば仮欠陥候補が欠陥候補として決定される。そして、決定された欠陥候補毎に、欠陥候補が含まれている複数の画像の中から、欠陥候補の周りの所定領域を推定領域として切り出して、複数の推定領域画像からなる推定領域画像群が作成されるとともに、作成された推定領域画像群に基づいて欠陥検出が行われる。
【0008】
つまり、欠陥候補が含まれている複数の推定領域画像には、1つの欠陥候補について複数の情報が含まれているから、より多くの情報を用いて欠陥判別を行うことができる。このため、小さな表面欠陥であっても、過検出、誤検出を抑制しながら高精度で安定した検出を行うことができる。
【0009】
しかも、仮欠陥候補の抽出は、まず画像取得手段により取得された各画像に対する、二値化処理と閾値の適用によって、またはコーナー検出関数の適用によって、画像の特徴点を抽出し、抽出された各特徴点に対し多次元の特徴量を求めることにより行われるから、欠陥部位が強調されて仮欠陥候補の抽出を精度良く行うことができる。
【0010】
しかも、特許文献2に記載されたような、融合された画像に対してそれぞれ異なる複数の変換処理を実施する必要もない。
また、前項(1)及び(7)に記載の発明では、抽出された各特徴点に対し、周囲の特定範囲の全画素について、当該画素からの縦横斜め全方向の輝度勾配情報を基に多次元の特徴量を求めることにより、仮欠陥候補を抽出できるから、仮欠陥候補の抽出をさらに精度良く行うことができる。
前項(2)及び(8)に記載の発明によれば、欠陥候補が含まれている複数の画像から切り出された複数の推定領域画像を1つの画像に合成し、この合成画像に基づいて欠陥検出が行われるから、欠陥検出に必要な領域のみを合成することができ、高精度な欠陥検出を行うことができる。
【0011】
前項(3)及び(9)に記載の発明によれば、取得された各画像を二値化し、輪郭抽出した上で、所定回数の膨張及び収縮を行った画像を引き算して、画像における明暗パターンの境界部分を除去するゆず肌マスクを作成し、この作成されたマスクを適用した後の各画像の特徴点が抽出されるから、仮欠陥候補の抽出をさらに精度良く行うことができる。
【0013】
前項(4)及び(10)に記載の発明によれば、複数の画像のうち、仮欠陥候補の位置が対応する画像が予め設定された閾値以上存在すれば、仮欠陥候補が欠陥候補として決定される。
【0014】
前項(5)及び(11)に記載の発明によれば、抽出された仮欠陥候補の座標が求められ、仮欠陥候補が抽出された画像に後続する複数の画像のそれぞれに対して、仮欠陥候補の座標がどの座標に移動するかを演算して推定座標が求められ、この推定座標とその画像における仮欠陥候補とが対応するかどうかが判定され、後続する画像のうち、推定座標と仮欠陥候補とが対応する画像が、予め設定された閾値以上存在すれば仮欠陥候補が欠陥候補として決定されるから、複数の画像のうち、仮欠陥候補の位置が対応する画像が予め設定された閾値以上存在するかどうかを確実に判定することができる。
【0016】
前項(12)に記載の発明によれば、欠陥候補が含まれている複数の画像を1つの画像に合成し、この合成画像に基づいて欠陥を検出する処理をコンピュータに実行させることができる。
【図面の簡単な説明】
【0017】
【
図1】この発明の一実施形態に係るワークの表面検査システムの構成例を示す平面図である。
【
図2】ワークの進行方向前方から見たときの照明フレームの垂直断面図である。
【
図3】ワークの進行方向前方から見たときのカメラフレームの垂直断面図である。
【
図4】
図1に示したワークの表面検査システムにおける電気的な構成を示す平面図である。
【
図5】ワークの表面欠陥検査システム全体の処理を示すフローチャートである。
【
図6】(A)は1台のカメラから時系列で連続的に取得された画像、(B)は(A)の最初の画像に対する後続画像において仮欠陥候補の座標を推定した状態を示す図、(C)は推定領域画像群の各画像を重ね合わせて合成画像を作成する処理を示す図、(D)は推定領域画像群の各画像を重ね合わせて合成画像を作成する他の処理を示す図である。
【
図7】推定領域画像の中心座標を、画像における明帯部と暗帯部の境界から欠陥候補の位置に応じて補正する処理を説明するための図である。
【
図8】(A)~(D)は、推定領域画像群の各画像を異なる態様で重ね合わせて合成画像を作成する処理を示す図である。
【
図9】仮欠陥候補の抽出処理の一例を説明するための図である。
【
図10】欠陥検出PCで実行される第1の表面欠陥検出処理の内容を示すフローチャートである。
【
図11】
図10のステップS17のマッチング処理をより詳細に説明するためのフローチャートである。
【
図12】
図10のステップS17のマッチング処理の変形例を説明するためのフローチャートである。
【
図13】
図10のフローチャートのステップS12~S18の詳細を示すフローチャートである。
【
図14】欠陥検出PCで実行される第2の表面欠陥検出処理を示すフローチャートである。
【
図15】
図14のフローチャートのステップS12~S18の詳細を示すフローチャートである。
【
図16】第3の表面欠陥検出処理を説明するための図で、連続的に時系列で取得される複数(この例では2枚)の画像を示す図である。
【
図17】ワーク(車体)の位置と像面変位量の関係の一例を示すグラフである。
【
図18】欠陥検出PCで実行される第3の表面欠陥検出処理の内容を示すフローチャートである。
【
図19】
図18のフローチャートのステップS32~S40の詳細を示すフローチャートである。
【
図20】標準偏差画像の作成処理を示すフローチャートである。
【
図21】明暗パターンの照明を行う照明装置のワークに対する照度のグラフを示す図である。
【
図22】標準偏差画像の作成処理の他の例を示すフローチャートである。
【
図23】標準偏差画像の作成処理の他の例を示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、この発明の実施形態を図面に基づいて説明する。
【0019】
図1は、この発明の一実施形態に係るワークの表面検査システムの構成例を示す平面図である。この実施形態では、ワーク1が車体であり、ワーク1の被測定部位が車体表面の塗装面であり、塗装面の表面欠陥を検出する場合を示す。一般的に、車体表面は下地処理、メタリック塗装、クリア塗装等が施され、多層構造の塗膜層が形成されるが、塗装中の異物等の影響で最上層のクリア層に凹凸状の欠陥が生じる。この実施形態では、このような欠陥の検出に適用されるが、ワーク1は車体に限定されることはなく、車体以外のワークであっても良い。また、被測定部位は塗装面以外の表面であっても良い。
【0020】
この検査システムは、ワーク1を矢印F方向へ所定の速度で連続的に移動させるワーク移動機構2を備えている。ワーク移動機構2の長さ方向の中間部には、ワークの移動方向の前後に2つの照明フレーム3、3が、ワークの移動方向と直交する方向の両下端部を支持台4、4に固定された状態で取り付けられている。また、各照明フレーム3、3は2本の連結部材5、5で相互に連結されている。照明フレームは2つに限定されない。
【0021】
各照明フレーム3は、車体の進行方向前方から見て、
図2の垂直断面図に示すように門形に形成されるとともに、各照明フレーム3にはワーク1を照明するための照明ユニット6が取り付けられている。照明ユニット6は、この実施形態では、照明フレーム3の内側形状に沿ってワーク1の下面を除く周面を取り囲むように取り付けられた線状照明部を有し、この線状照明部の複数個が、ワーク1の移動方向において等間隔で照明フレーム3に取り付けられている。従って、照明ユニット6はワーク1の移動方向において交互に存在する照明部と非照明部とで構成される明暗縞パターンの照明光でワークを拡散照明するようになっている。照明ユニットは曲面であっても構わない。
【0022】
前後の2つの照明フレーム3、3の中間部には、カメラフレーム7が、ワークの移動方向と直交する方向の両下端部を支持台4、4に固定された状態で取り付けられている。また、カメラフレーム7はワーク1の進行方向前方から見て、
図3の垂直断面図に示すように門形に形成されるとともに、カメラフレーム7にはその内側形状に沿って、ワーク1の下面を除く周面を取り囲むように撮像手段としての複数のカメラ8が取り付けられている。
【0023】
このような構成により、ワーク1をワーク移動機構2により所定の速度で移動させながら、かつ照明ユニット6による明暗縞パターンの照明光でワーク1を拡散照明した状態で、カメラフレーム7に取り付けられた複数のカメラ8で、ワーク1の周方向の各部を被測定部位として、連続的に撮像する。撮像は、前後の撮像において撮像範囲の大部分が重なるように行われる。これにより、各カメラ8からはワーク1の被測定部位の位置がワーク1の移動方向に連続的にずれた複数の画像が出力される。
【0024】
図4は、
図1に示したワークの表面検査システムにおける電気的な構成を示す平面図である。
【0025】
ワーク1の移動領域にはワーク1の移動方向に沿って入り側から順に、第1の位置センサ11、車種情報検知センサ12、第2の位置センサ13、車体速度センサ14、第3の位置センサ15が備えられている。
【0026】
第1の位置センサ11は、次のワーク1が検査領域に近付いたことを検出するセンサである。車体情報検知センサ12は、検査対象となる車体のID、車種、色、仕向地情報等を検出するセンサである。第2の位置センサ13は、ワーク1が検査領域に進入したことを検出するセンサである。車体速度センサ14は、ワーク1の移動速度を検知して計算によりワーク1の位置をモニタするものであるが、位置センサによりワーク位置を直接的にモニタしても良い。第3の位置センサ15は、ワーク1が検査領域から退出したことを検出するセンサである。
【0027】
ワークの表面欠陥検査システムはさらに、マスターPC21、欠陥検出PC22、HUB23、NAS(Network Attached Storage)24、ディスプレイ25等を備えている。
【0028】
マスターPC21は、ワークの表面欠陥検査システムの全体を統括的に制御するパーソナルコンピュータであり、CPU等のプロセッサ、RAM等のメモリ、ハードディスク等の記憶装置、その他のハードウェア及びソフトウェアを備えている。マスターPC21はCPUによる機能の一つとして、移動制御部211、照明ユニット制御部212、カメラ制御部213等を備えている。
【0029】
移動制御部211は移動機構2の移動停止や移動速度等を制御し、照明ユニット制御部212は照明ユニット6の点灯制御を行い、カメラ制御部213はカメラ8に対する撮像制御を行う。カメラ8による撮像は、マスターPC21からカメラ8に連続的に送信されるトリガー信号に応答して連続的に行われる。
【0030】
欠陥検出PC22は、表面欠陥の検出処理を実行する表面欠陥検出装置であり、CPU等のプロセッサ、RAM等のメモリ、ハードディスク等の記憶装置、その他のハードウェア及びソフトウェアを備えたパーソナルコンピュータによって構成されている。欠陥検出PC22はCPUによる機能の一つとして、画像取得部221、仮欠陥候補抽出部222、座標推定部223、欠陥候補決定部224、画像群作成部225、画像合成部226、欠陥検出部227等を備えている。
【0031】
画像取得部221は、カメラ8により時系列で連続的に撮像され、GigE(ギガビット イーサネット(登録商標))によりカメラ8から送信されてくる複数の画像を取得する。仮欠陥候補抽出部222は、画像取得部221で取得されたカメラ8からの複数の画像を基に仮欠陥候補を抽出し、座標推定部223は抽出された仮欠陥候補の後続の画像における座標を推定する。欠陥候補決定部224は推定された仮欠陥候補の座標と、実際の仮欠陥候補とのマッチングを行って欠陥候補を決定し、画像群作成部225は決定された欠陥候補の周りの領域を切り出して、画像を合成するための複数の画像からなる画像群を作成する。画像合成部226は作成された画像群の各画像を1つの画像に合成し、欠陥検出部227は合成された画像から欠陥の検出、判別を行う。欠陥検出PC22におけるこれら各部による具体的な表面欠陥の検出処理については後述する。
【0032】
NAS24はネットワーク上の記憶装置であり、各種のデータを保存する。ディスプレイ25は、欠陥検出PC22で検出された表面欠陥を、ワーク1である車体の位置情報に対応させた状態で表示するものであり、HUB23は、マスターPC21、欠陥検出PC22、NAS24、ディスプレイ25等との間でデータの送受信を行う機能を有する。
【0033】
次に、欠陥検出PC22で実施される欠陥検出処理について説明する。
【0034】
ワーク1を移動機構2により所定の速度で移動させながら、照明ユニット6により明暗縞パターンの照明光でワーク1を周囲から照明した状態で、マスターPC21から各カメラ8に連続的にトリガー信号を送信し、各カメラ8でワーク1の被測定部位を連続的に撮像する。マスターPC21は、前後の撮像において撮像範囲の大部分が重なるように、撮像間隔換言すればトリガー信号の間隔を設定する。このような撮像により、各カメラ8からは、ワーク1の被測定部位の位置がワーク1の移動に応じて移動方向に連続的にずれた複数の画像が得られる。
【0035】
このような複数の画像は、本実施形態のように、固定の照明ユニット6及びカメラ8に対してワーク1のみが移動する場合のみならず、ワーク1を固定して照明ユニット6及びカメラ8をワーク1に対して移動させた場合や、ワーク1とカメラ8を固定して照明ユニット6を移動させた場合の、カメラ8からも得ることができる。つまり、ワーク1と、照明ユニット6の少なくとも一方を移動させることにより、ワーク1に対し照明ユニット6の明暗パターンが相対的に移動すれば良い。
【0036】
各カメラ8により得られた複数の画像は、欠陥検出PC22に送信され、欠陥検出PC22の画像取得部221は各カメラ8から送信されてきた複数の画像を取得する。欠陥検出PC22は、これらの画像を用いて表面欠陥の検出処理を実行する。
【0037】
ワークの表面検査システムの全体の処理を
図5のフローチャートに示す。
【0038】
ステップS01で、マスターPC21は、ワーク1が検査範囲に近付いたかどうかを第1の位置センサ11の信号に基づいて判断し、近付いていなければ(ステップS01でNO)、ステップS01にとどまる。近付くと(ステップS01でYES)、ステップS02でマスターPC21は、車体情報検知センサ12からの信号に基づいて、検査対象となる車体のID、車種、色、仕向地情報等の個体情報を取得し、ステップS03で、初期情報設定として例えば検査システムのパラメータの設定、車体上の検査範囲の設定等を行う。
【0039】
ステップS04で、マスターPCは、ワーク1が検査範囲に進入したかどうかを第2の位置センサ13の信号に基づいて判断し、進入していなければ(ステップS04でNO)、ステップS04にとどまる。進入すると(ステップS04でYES)、ステップS05で、移動するワーク1をカメラ8により時系列に、撮像範囲の大部分が重なった状態で撮像する。次に、ステップS06で、欠陥検出PC22による表面欠陥検出処理における前段処理を実施する。前段処理について後述する。
【0040】
ステップS07では、ワーク1が検査範囲から退出したかどうかを第3の位置センサ15の信号に基づいて判断する。退出していなければ(ステップS07でNO)、ステップS05にもどり、撮像と前段処理を続ける。ワーク1が検査範囲から退出すると(ステップS07でYES)、ステップS08では、欠陥検出PC22による表面欠陥検出処理における後段処理を実施する。つまりこの実施形態では、ワーク1に対する全ての撮像の終了後に、後段処理が実施される。後段処理については後述する。
【0041】
後段処理後、ステップS09で、表面欠陥の検出処理の結果をディスプレイ25等に表示する。
【0042】
次に、欠陥検出PC22によって実施される、ステップS06の前段処理とステップS08の後段処理を含む表面欠陥検出処理について具体的に説明する。
[1]第1の表面欠陥検出処理
上述したように、欠陥検出PC22は、ワーク1の被測定部位の位置が移動方向に連続的にずれた複数の画像を、各カメラ8から取得する。この様子を
図6に示す。同図(A)のA11~A17は1台のカメラ8から時系列で連続的に取得された画像である。画像中に表示された、縦方向に延びる明帯(白色部分)と暗帯(黒色部分)が横方向に交互に存在する明暗パターンは、照明ユニット6による照明光の明暗縞パターンに対応している。
【0043】
欠陥検出PC22の仮欠陥候補抽出部222は、各画像から仮欠陥候補を抽出する。仮欠陥候補の抽出は、例えば背景除去や二値化等の処理を行うことで実行される。この例では、A11~A17の全ての画像において仮欠陥候補30を抽出したとする。
【0044】
次に、座標推定部223は、抽出した各画像の仮欠陥候補30について仮欠陥候補30の位置である代表座標を演算するとともに、代表座標の周囲の所定領域を仮欠陥候補領域とする。さらに、演算した仮欠陥候補の代表座標が、後続の画像A12~A17のそれぞれに対してどの座標に移動するかを、ワーク1の移動量等に基づいて演算し、各画像における推定座標を求める。例えば、画像A11で抽出された仮欠陥候補30が、後続の画像A12~A17のそれぞれに対してどの座標に移動するかを演算し、各画像における推定座標を求める。
【0045】
画像A11の後続画像A12~A17において仮欠陥候補30の推定座標40を推定した状態を
図6(B)の各画像B12~B17に示す。なお、画像B12~B17は、画像A12~A17における仮欠陥候補30を除去した画像と同じである。
図6(B)では途中の画像の何枚かについては省略している。また、画像に現れる明暗パターンも省略している。
【0046】
次に、欠陥候補決定部224は、
図6(A)に示す画像A11の後続画像A12~A17と、仮欠陥候補30の推定座標40を求めた
図6(B)の各画像B12~B17のうち、画像A12と画像B12、画像A13と画像B13、・・・画像A17と画像B17のように、対応する画像同士のマッチングを行う。マッチングは、推定座標40とその画像における実際の仮欠陥候補30とが対応するかどうかを判定する。具体的には、推定座標40が、その画像における実際の仮欠陥候補30についての所定の仮欠陥候補領域に含まれるかどうかを判定することにより行われる。なお、推定座標40から予め設定された所定範囲内に、仮欠陥候補30が存在するかどうかを判定し、或いは仮欠陥候補30の代表座標から予め設定された所定範囲内に、対応する画像の推定座標40が存在するかどうかを判定することにより、推定座標40とその画像における実際の仮欠陥候補30とが対応するかどうかを判定しても良い。推定座標40とその画像における仮欠陥候補30とが対応する場合、元の画像A11に含まれる仮欠陥候補30と、後続の画像に含まれる仮欠陥候補30は同じと見なすことができる。
次に、マッチングの結果、推定座標40とその画像における実際の仮欠陥候補30とが対応する(マッチングする)画像の数を調べ、その数が予め設定された閾値以上かどうかを判断する。そして、閾値以上の場合には、仮欠陥候補30が実際に存在する蓋然性が高いことから、各画像の仮欠陥候補30を欠陥候補として決定する。
図6(A)及び(B)の例では、画像A11の後続画像A12~A17の全てについて、マッチングがとれている。つまり、推定座標40がその画像における仮欠陥候補30についての仮欠陥候補領域に含まれている。推定座標40と実際の仮欠陥候補30とが対応する画像の数が予め設定された閾値以上でない場合は、その仮欠陥候補30が欠陥候補である可能性は高くないと考えられるため、マッチングは中止し、次の仮欠陥候補30の抽出を行う。
【0047】
次に、画像群作成部225は、欠陥候補が含まれている全ての画像について、
図6(A)の各画像A11~A17に四角の枠線で囲んだように、欠陥候補における代表座標の周りの所定領域を推定領域として切り出して、同図(C)に示すように、複数の推定領域画像C11~C17からなる推定領域画像群を作成する。なお、欠陥候補が含まれている全ての画像ではなく、そのうちの複数枚であっても良いが、画像数が多い方が情報量が多くなり、精度の高い表面検査を行える点で望ましい。また、推定領域は、元の画像A11の推定領域を先ず求め、その推定領域の各画像内での位置をワーク1の移動量から算出することにより行われても良い。
【0048】
こうして作成した推定領域画像群の各推定領域画像C11~C17を、画像合成部226が重ね合わせて合成し、
図6(C)に示す1つの合成画像51を作成する。重ね合わせは、各推定領域画像C11~C17の中心座標において行う。合成画像51の一例として、標準偏差画像等のように統計的なばらつき値を計算して合成した画像、位相画像、位相差画像、最大値画像、最小値画像、平均値画像の少なくともいずれかを挙げることができる。標準偏差画像等のように統計的なばらつき値を計算して合成した画像については後述する。
【0049】
次に、欠陥検出部227は、作成した合成画像51を用いて表面欠陥の検出を行う。表面欠陥の検出基準は自由に選択されて良い。例えば、
図6(C)の信号グラフ61で示されるように、信号が基準値以上の場合に欠陥有りと判別することで、欠陥の有無のみを検出しても良い。或いは、基準欠陥等との比較から欠陥の種別を判別しても良い。なお、欠陥の有無や欠陥種別の判定基準は機械学習等により変更されても良いし、新たな基準が作成されても良い。
【0050】
表面欠陥の検出結果はディスプレイ25に表示される。望ましくは、ディスプレイ25にワーク(車体)1の展開図を表示すると共に、展開図の上に表面欠陥の位置と種別が分かるように表示するのが良い。
【0051】
このように、この実施形態では、欠陥候補が含まれている複数の画像A11~A17から切り出された複数の推定領域画像C11~C17を1つの合成画像51に合成し、この合成画像51に基づいて欠陥検出が行われるから、合成画像51には複数の画像の情報が含まれることになる。このため、1つの欠陥候補について多量の情報を用いて欠陥検出を行うことができるから、小さな表面欠陥であっても、過検出、誤検出を抑制しながら高精度で安定した検出を行うことができる。
また、推定座標40とその画像における実際の仮欠陥候補30とが対応する画像が予め設定された閾値以上存在する場合に、合成画像が作成され、欠陥検出が行われるから、欠陥が存在する可能性の高い場合に欠陥検出を行うことができ、処理負荷が小さくて済み検出効率が向上するうえ、検出精度も良くなる。
【0052】
しかも、融合された画像に対して、それぞれ異なる複数の変換処理を実施する必要もない。
[1-1]合成画像作成時の変形例1
ところで、複数の推定領域画像C11~C17を、各画像の中心座標において重ね合わせて合成するだけでは、精度を出せない場合がある。
【0053】
そこで、各推定領域画像C11~C17の中心座標の補正を行って、重ね合わせるのが望ましい。中心座標の補正の一例は、各画像における明暗パターン内の相対位置に基づいて行われる。具体的には、明暗パターンの明帯部や暗帯部の中央に欠陥が存在している場合は、左右対称形状になりやすいが、
図7に例えば推定画像C14を例に示すように、明帯部120内で暗帯部110との境界部に近いと、欠陥候補30の境界部側は暗くなる。逆に、暗帯部110内で境界部に近いと境界部側は明るくなる。このため、例えば重心位置演算を行うと欠陥候補30の中心位置30aから偏る。偏る位置は境界からの位置と相関があるので、境界からの位置Lに応じて画像の中心座標を補正する。
【0054】
図6(D)は、中心位置を補正した各推定領域画像C11~C17を、中心位置において重ね合わせて合成し、合成画像52を作成する様子を示す図である。同図(C)の合成画像51及び信号グラフ61に較べて、シャープな合成画像52が得られ、信号グラフ62における信号高さも高くなっている。このため、精度の高い合成画像52を作成することができ、ひいては高精度の表面欠陥検出を行うことができる。
[1-2]合成画像作成時の変形例2
複数の推定領域画像C11~C17を、各画像の中心座標において重ね合わせて合成するだけでは精度を出せない場合の、他の合成画像作成法を
図8に基づいて説明する。
【0055】
図6(C)の推定領域画像C11~C17の作成までは同じである。この例では、推定領域画像C11~C17の位置合わせを、各画像の中心座標をそれぞれ種々の位置合わせ量で左右方向(x方向)及び上下方向(y方向)の少なくとも一方にずらした複数の組み合わせで試行する。そして、その中から評価値が最大の組み合わせを採用する。
図8では(A)~(D)の4種類について重ね合わせを行っている。得られた合成画像をそれぞれ53~56、合成画像に基づく信号グラフを63~66に示す。
図8の例では、最も高い信号が得られた(B)を採用する。
【0056】
このように、合成画像作成時の複数の推定領域画像C11~C17の位置合わせを、各画像の中心座標を互いにX座標及びY座標方向の少なくとも一方にずらした複数の組み合わせの中から評価値が最大になるように行うから、さらに精度の高い合成画像を作成することができ、ひいては高精度の表面欠陥検出を行うことができる。
[1-3]仮欠陥候補抽出処理の一例
仮欠陥候補抽出部222による、サイズが大きく曲率変化が緩い仮欠陥候補の抽出処理例について説明する。
【0057】
まず、明暗縞パターンの照明を用いた本方法の原理に戻って説明する。
【0058】
照明光がワーク1の表面で反射して、カメラ8の各画素に入射する。逆に言えば、各画素に入射する光は、各画素が睨む範囲で、各画素から出た視線がワーク1の表面で反射して到達した領域からの光である。照明がなければ暗い、照明があれば明るい画素信号が得られる。欠陥がなくワーク1が平面であれば、各画素に対応する照明上の領域は点に近い。欠陥がある場合、ワーク1の表面の変化は (1)曲率変化、(2)面の傾き、の2種類がある。
(1)
図9(A)に示すように、仮欠陥候補30によりワーク1の表面が曲率変化を持っていると、視線の方向が変わるが、さらに、各画素が睨む領域が広がる。その結果、各画素が対応する領域が点ではなく広がった領域となり、その領域内の平均的な輝度が画素信号に対応する。つまり、仮欠陥候補30の形状変化が急な場合は、各画素が睨む領域内で曲率変化が大きくなり、視線の傾きに加えて面積の広がりが無視できなくなる。睨む領域の拡大は信号の照明分布の平均化となる。明暗縞パターン照明(
図9では白抜き部分が明、黒塗り部分が暗)で、領域が広がると、広がり方に応じた明暗両方の領域の平均的な値が得られる。この現象が生じる部分の明暗縞パターンが順次移動する場合、標準偏差画像でその影響が捉えられる。
(2)
図9(B)に示すように、仮欠陥候補30によりワーク1の表面が曲率半径が大きく、ほぼ平面のまま傾くと、対応する領域は点のままだが、傾いていない面とは異なる方向を向く。仮欠陥候補30が大きい(形状変化が緩やかな)場合は、各画素が睨む領域は同じで視線方向が変わることが支配的となり、曲率変化は緩やかになる。標準偏差画像ではその変化は捉えられない。欠陥が大きな場合は、無欠陥部と欠陥部の面の傾きの違いが位相画像で検出できる。無欠陥部であれば、位相画像では、縞と平行方向の位相は同じで、縞と垂直な方向は縞の周期に応じて、一定の位相変化を生じる。欠陥部であれば、位相画像では、上記位相の規則性が乱れる。例えば、X方向、Y方向の位相画像を見ることで、緩やか曲面変化をもつ仮欠陥候補が検出できる。
【0059】
小さい仮欠陥候補用、大きい仮欠陥候補欠陥用の2種類のルーチンで、いずれの仮欠陥候補をも抽出できる。いずれかで抽出された候補を仮欠陥候補とすればよい。
【0060】
ところで、検出した仮欠陥候補30のサイズを結果として報告したい場合を考える。目視による欠陥サイズと画像から検出した欠陥のサイズの相関は、欠陥表面の面の傾きが所定の角度となる部分の近似円から関係づけられる。欠陥サイズが小さい場合は、一定の線形関係がみられるが、欠陥サイズが大きく、面傾斜が緩やかな欠陥は非線形な関係である。よって、位相画像で検出された緩やかな仮欠陥候補30は、欠陥信号と欠陥サイズが線形の関係にないため、別に求めた検量線から補正する必要がある。
[1-4]糸ブツ欠陥の検出
欠陥検出部227による欠陥検出の一例として、糸ブツの検出処理について説明する。
【0061】
糸ブツは、糸状の異物が塗料下部に閉じ込められた欠陥で、円形ではなく、細長い。線幅方向は小さくても(例えば0.2mm未満)長手方向が長い(例えば5mm以上)ものが存在する。幅方向は非常に狭いため、小さく、長手方向は緩やかな曲率変化を持つ。仮欠陥候補の抽出と同様の小さい欠陥用、大きな欠陥(傾斜が緩やかな欠陥)用の検出方法だけでは見逃すことがある。所定の処理後に二値化、粒子化され、各部分の面積によって欠陥かどうか判断される。
【0062】
糸ブツは幅が狭いが長さがあるため、適性に検出されれば所定の面積が得られる。しかし、糸ブツは、長手方向が明暗パターンが伸びる方向と平行な場合に検出されやすく、垂直な場合は見つけにくい。長手方向で欠損部が生じ、実際より短く、つまり、粒子化された面積が小さめに出やすい。
【0063】
そこで、位相画像から求めた欠陥の形状情報を基に、長手方向に一定の伸びがある場合、つまり真円度が所定の値より低い場合には、面積判定の閾値を小さくすることで糸ブツの未検出を抑制する。
[1-5]フローチャート
図10は、欠陥検出PC22で実行される表面欠陥検出処理の内容を示すフローチャートである。この表面欠陥検出処理は、
図5のステップS06の前段処理及びステップS08の後段処理の内容をさらに詳細に示したものである。また、この表面欠陥検出処理は、欠陥検出PC22内のプロセッサがハードディスク装置等の内蔵記憶装置に格納された動作プログラムに従って動作することにより実行される。
【0064】
ステップS11で、マスターPC21が
図5のステップS02で取得した個体情報、およびステップS03で設定されたパラメータの設定や車体上の検査範囲の設定等の初期情報を、マスターPC21から取得する。
【0065】
次にステップS12で、カメラ8で撮像された画像を取得したのち、ステップS13で前処理、例えば、初期設定情報等に基づいて画像に対する位置情報の設定等を実施する。
【0066】
次いでステップS14で、各画像から仮欠陥候補30を抽出した後、ステップS15で、1つの仮欠陥候補30について、ワーク1の移動量を算出することにより、ステップS16で、その仮欠陥候補30の後続する画像における座標を推定して推定座標40とする。
【0067】
ステップS17ではマッチングを行う。つまり、推定座標40がその画像における実際の仮欠陥候補30についての所定の仮欠陥候補領域内に存在するかどうかを判定し、マッチングのとれた画像の数が予め設定された閾値以上の場合、ステップS18で、各画像の仮欠陥候補30を欠陥候補として決定する。
【0068】
ステップS19では、欠陥候補を有する全ての画像について、欠陥候補における代表座標の周りの所定領域を推定領域として切り出して、複数の推定領域画像C11~C17からなる推定領域画像群を作成したのち、ステップS20に進む。ステップS12~S19が前段処理である。
【0069】
ステップS20では、ワーク1である車体は検査範囲から退出したかどうかを、マスターPC21からの情報に基づいて判断する。検査範囲から退出していなければ(ステップS20でNO)、ステップS12に戻り、カメラ8からの画像の取得を続ける。車体が検査範囲から退出していれば(ステップS20でYES)、ステップS21で、各推定領域画像C11~C17の位置合わせ量を設定する。そして、ステップS22で、各推定領域画像C11~C17を合成して合成画像を作成した後、ステップS23で欠陥検出処理を行う。ステップS21~S23が後段処理である。欠陥検出後、ステップS24で検出結果をディスプレイ25等に出力する。
【0070】
ステップS17のマッチング処理について、
図11のフローチャートを参照して詳細に説明する。
【0071】
ステップS201では、仮欠陥候補30とマッチングしている画像の枚数の変数であるKをゼロにセットし、ステップS202では、仮欠陥候補30とマッチングしているかどうかの判断対象となる画像の枚数の変数であるNをゼロにセットする。
【0072】
ステップS203では仮欠陥候補30を抽出した後、ステップS204でNにN+1をセットする。次いでステップS205で、仮欠陥候補30と推定座標40が一致しているかどうかを判断する。一致していれば(ステップS205でYES)、ステップS206でKにK+1をセットしたのち、ステップS207に進む。ステップS205で、仮欠陥候補30と推定座標40が一致していなければ(ステップS205でNO)、ステップS207に進む。
【0073】
ステップS207では、Nが所定の画像枚数(ここでは7枚)に達したかどうかを調べ、達していなければ(ステップS207でNO)、ステップS203に戻り、次の画像について仮欠陥候補30を抽出する。Nが所定の画像枚数に達した場合(ステップS207でYES)、ステップS208で、Kが予め設定された所定の閾値(ここでは5枚)以上かどうかを判断する。閾値以上でなければ(ステップS208でNO)、ステップS201に戻る。従って、この場合は以後の推定領域画像の切り出し処理や画像合成処理は行われず、N及びKがリセットされて、次の仮欠陥候補30の抽出が行われる。
【0074】
Kが閾値以上であれば(ステップS208でYES)、ステップS209で、仮欠陥候補30を欠陥候補として決定してその情報を保存した後、ステップS210で、マッチングのとれたK枚の画像について推定領域画像を切り出す。そして、ステップS211で、切り出したK枚の推定領域画像を合成した後、ステップS212で、表面欠陥を検出したかどうかを判断する。表面欠陥が検出されると(ステップS212でYES)、ステップS213で、表面欠陥と確定してその情報を保存したのち、ステップS214に進む。表面欠陥が検出されない場合(ステップS212でNO)、そのままステップS214に進む。
【0075】
ステップS214では、ワークの全ての検査対象部位について検出処理が行われたかどうかを調べ、行われていなければ(ステップS214でNO)、ステップS201にもどり、N及びKがリセットされて、次の仮欠陥候補30の抽出が行われる。全ての検査対象部位について検出処理が行われていれば(ステップS214でYES)、処理を終了する。
【0076】
このようにこの実施形態では、仮欠陥候補30と推定座標40とが対応(マッチング)する画像の枚数Kが閾値以上でない場合は、マッチングする画像が少なく仮欠陥候補30が欠陥候補である可能性が高くないため、その後の処理は中止し、マッチングする画像がK以上であれば仮欠陥候補30が欠陥候補である可能性が高いため、推定領域画像の切り出し、画像合成及び欠陥検出が行われる。このため、推定領域画像の切り出し、画像合成及び欠陥検出が、マッチングした画像の枚数に関係なく実行される場合に較べて、処理負荷が小さくて済み検出効率が向上するうえ、検出精度も良くなる。
【0077】
図12は、
図10のステップS17のマッチング処理の変形例を説明するためのフローチャートである。この例では、画像枚数Nが所定枚数に達する前に、マッチングした画像枚数Kが一定値に達していない場合、仮欠陥候補30が欠陥候補である可能性が高くないと判断して、その時点でその後の処理を中止する構成となっている。
【0078】
ステップS221では、仮欠陥候補30とマッチングしている画像の枚数の変数であるKをゼロにセットし、ステップS222では、仮欠陥候補30とマッチングしているかどうかの判断対象となる画像の枚数の変数であるNをゼロにセットする。
【0079】
ステップS223では仮欠陥候補30を抽出した後、ステップS224でNにN+1をセットする。次いでステップS225で、仮欠陥候補30と推定座標40が一致しているかどうかを判断する。一致していれば(ステップS225でYES)、ステップS226でKにK+1をセットしたのち、ステップS227に進む。ステップS225で、仮欠陥候補30と推定座標40が一致していなければ(ステップS225でNO)、ステップS227に進む。
【0080】
ステップS227では、Nが第2の所定の画像枚数(ここでは8枚)に達したかどうかを調べ、達していれば(ステップS227でYES)、ステップS228で、Kが予め設定された第2の閾値(ここでは4枚)に達したかどうかを調べ、達していなければ(ステップS228でNO)、ステップS221に戻る。従って、この場合は以後の推定領域画像の切り出し処理や画像合成処理は行われず、N及びKがリセットされて、次の仮欠陥候補30の抽出が行われる。
【0081】
ステップS228で、Kが第2の閾値に達していれば(ステップS228でYES)、ステップS229に進む。ステップS227で、Nが第2の所定の画像枚数(8枚)に達していない場合も(ステップS227でNO)、ステップS229に進む。
【0082】
ステップS229では、Nが第1の所定枚数(ここでは9枚)に達したかどうかを調べ、達していなければ(ステップS229でNO)、ステップS223に戻り、次の画像について仮欠陥候補30を抽出する。Nが第1の所定枚数に達した場合(ステップS229でYES)、ステップS230で、Kが予め設定された第1の閾値(ここでは5枚)以上かどうかを判断する。第1の閾値以上でなければ(ステップS230でNO)、ステップS201に戻る。従って、この場合は以後の推定領域画像の切り出し処理や画像合成処理は行われず、N及びKがリセットされて、次の仮欠陥候補30の抽出が行われる。
【0083】
Kが第1の閾値以上であれば(ステップS230でYES)、ステップS231で、仮欠陥候補30を欠陥候補として決定してその情報を保存した後、ステップS232で、マッチングのとれたK枚の画像について推定領域画像を切り出す。そして、ステップS233で、切り出したK枚の推定領域画像を合成した後、ステップS234で、表面欠陥を検出したかどうかを判断する。表面欠陥が検出されると(ステップS234でYES)、ステップS235で、表面欠陥と確定してその情報を保存したのち、ステップS236に進む。表面欠陥が検出されない場合(ステップS234でNO)、そのままステップS236に進む。
【0084】
ステップS236では、ワークの全ての検査対象部位について検出処理が行われたかどうかを調べ、行われていなければ(ステップS236でNO)、ステップS201にもどり、N及びKがリセットされて、次の仮欠陥候補30の抽出が行われる。全ての検査対象部位について検出処理が行われていれば(ステップS236でYES)、処理を終了する。
【0085】
このようにこの実施形態では、
図11のフローチャートで示した実施形態と同じ効果を奏するのに加えて、次のような効果を奏する。即ち、仮欠陥候補30を抽出した画像の枚数Nが、第2の設定値よりも少ない第1の設定値の段階つまり途中の段階で、仮欠陥候補30と推定座標40とが対応(マッチング)する画像の枚数Kが第2の閾値よりも少ない第1の閾値に達していなければ、マッチングする画像が少なく仮欠陥候補30が欠陥候補である可能性が高くないと判断して、最終画像までマッチング処理を継続することなく、その後の処理は中止する。このため、無駄な処理が継続されることがなくなるから、処理負荷をさらに軽減でき、検出精度をさらに向上できる。
【0086】
図13は、表面欠陥検出処理における前段処理である
図10のフローチャートのステップS12~S18の詳細を示すフローチャートであり、
図10のフローチャートと同一の処理については同一のステップ番号を付している。
【0087】
1つのワーク1が検査範囲に進入し検査範囲から退出するまで、ワーク1を移動させながらカメラ8により連続的に撮像が行われ、欠陥検出PC22はステップS12で、撮像1回目の画像から撮像最終回の画像までを取得する。ここでは、1つの仮欠陥候補30が撮影される画像が、撮像n回目の画像から撮像(n+m-1)回目の画像であるとする。
【0088】
ステップS13では各画像を前処理した後、ステップS14では、撮像n回目から撮像(n+m-1)回目の各画像について、仮欠陥候補30を抽出すると共に、抽出した仮欠陥候補30の代表座標と仮欠陥候補領域を求める。次にステップS16で、仮欠陥候補の代表座標が、後続の画像のそれぞれに対してどの座標に移動するかを、ステップS15でのワーク1の移動量算出等に基づいて演算し、各画像における推定座標40を求める。
【0089】
ステップS17では、後続する画像毎にマッチングを行い、マッチングが採れた画像が閾値(例えばm個)以上の場合は、ステップS18で、仮欠陥候補30を欠陥候補として決定する。ステップS19では各画像について推定領域を算出し、複数の推定領域画像C11~C17からなる推定領域画像群を作成する。
[2]第2の表面欠陥検出処理
上記の第1の表面欠陥検出処理では、欠陥検出PC22は、カメラ8から時系列で連続的に取得された画像の中から仮欠陥候補30を抽出するものとした。
【0090】
仮欠陥候補30の抽出方法は限定されないが、以下のような処理を行って、仮欠陥候補30を抽出する構成とするのが、欠陥部位が強調されてより精度の高い仮欠陥候補30の抽出を行いうる点で望ましい。
【0091】
即ち、カメラ8から取得された各画像A11~A17(
図6に示す)に対して二値化処理を実施したのちに閾値を適用するか、またはコーナー検出関数の適用によって、画像の特徴点を抽出する。そして、抽出された各特徴点に対し多次元の特徴量を求めることにより、仮欠陥候補30を抽出しても良い。
【0092】
より望ましくは、特徴点の抽出前に、カメラ8から取得された各画像を二値化し、輪郭抽出した上で、所定回数の膨張及び収縮を行った画像を引き算して、明帯と暗帯の境界部分を除去するゆず肌マスクを作成する。この作成されたマスクを適用して明帯と暗帯の境界部分をマスクした後の各画像の特徴点を抽出するのが良く、これによって更に精度良く仮欠陥候補を抽出できる。
【0093】
また、仮欠陥候補30の抽出は、画像の特徴点の抽出後、抽出された各特徴点に対し、周囲の特定範囲の全画素について、当該画素からの縦横斜め全方向の輝度勾配情報を基に多次元の特徴量を求めることにより行われても良い。
【0094】
仮欠陥候補30の抽出後は、上述した第1の表面欠陥検出処理と同様にして、複数の推定領域画像C11~C17からなる推定領域画像群を作成したのち、この推定領域画像群を用いて、仮欠陥候補毎に欠陥検出を行う。
【0095】
このように、第2の表面欠陥検出処理では、カメラ8から取得されたワーク1の被測定部位の位置が連続的にずれた複数の画像について、画像の特徴点を抽出し、抽出された各特徴点に対し多次元の特徴量を求めることにより、仮欠陥候補30を抽出するから、仮欠陥候補30の高精度な抽出を行うことができ、ひいては高精度な表面欠陥検出を行うことができる。
【0096】
しかも、抽出された仮欠陥候補30の座標が求められ、仮欠陥候補30が抽出された画像に後続する複数の画像のそれぞれに対して、仮欠陥候補30の座標がどの座標に移動するかを演算して推定座標40が求められ、この推定座標40とその画像における仮欠陥候補30とが対応するかどうかが判定され、後続する画像のうち、推定座標40と仮欠陥候補とが対応する画像が、予め設定された閾値以上存在すれば仮欠陥候補30が欠陥候補として決定される。そして、決定された欠陥候補毎に、欠陥候補が含まれている複数の画像の中から、欠陥候補の周りの所定領域を推定領域として切り出して、複数の推定領域画像C11~C17からなる推定領域画像群が作成されるとともに、作成された推定領域画像群に基づいて欠陥判別が行われる。
【0097】
つまり、欠陥候補が含まれている複数の推定領域画像C11~C17には、1つの欠陥候補について複数の情報が含まれているから、より多くの情報を用いて欠陥検出を行うことができる。このため、小さな表面欠陥であっても、過検出、誤検出を抑制しながら高精度で安定した検出を行うことができる。
[2-1]フローチャート
図14は、欠陥検出PCで実行される第2の表面欠陥検出処理を示すフローチャートである。なお、ステップS11~S13、ステップS15~S20は、
図10のステップS11~S13、ステップS15~S20と同じであるので、同一のステップ番号を付し、説明は省略する。
【0098】
ステップS13の前処理後、ステップS141でゆず肌マスクを作成し、ステップS142で、作成したゆず肌マスクを適用して特徴点を抽出する。
【0099】
次いでステップS143で、抽出された各特徴点に対し多次元の特徴量を計算し、ステップS144で仮欠陥候補30を抽出したのち、ステップS16に進む。
【0100】
ステップS20でワーク1である車体が検査範囲から退出した場合(ステップS20でYES)、ステップS23で、作成した推定領域画像群を用いて欠陥判別処理を実行し、ステップS24で判別結果を表示する。
【0101】
図15は、
図14のフローチャートのステップS12~S18の詳細を示すフローチャートであり、
図14のフローチャートと同一の処理については同一のステップ番号を付している。なお、ステップS12、S13、S15~S19については、
図13のステップS12、S13、S15~S19の処理と同じであるので、説明は省略する。
【0102】
ステップS13の前処理後、ステップS141で、各画像に対するそれぞれのゆず肌マスクを作成する。ステップS142では、作成したゆず肌マスクを各画像に適用して各画像の特徴点を抽出する。
【0103】
ステップS143では、抽出された各画像の各特徴点に対し多次元の特徴量を計算し、ステップS144で、各画像について仮欠陥候補を抽出したのち、ステップS16に進む。
[3]第3の表面欠陥検出処理
上述した第1の表面欠陥検出処理は、各画像A11~A17において仮欠陥候補30を抽出したのち欠陥候補を決定し、欠陥候補の周囲の推定領域を算出し、複数の推定領域画像C11~C17を合成して欠陥検出を行った。
【0104】
これに対し、第3の表面欠陥検出処理では、カメラ8から取得した連続的な時系列の複数の画像を、それぞれ複数の領域に分割するとともに、前後複数の画像同士を対応する領域において合成した後に、欠陥を検出する。ただし、ワーク1は移動していることから、前の画像の領域で示されるワーク1の撮像範囲と後の画像の領域で示されるワーク1の撮像範囲とは同一ではなく、ワーク1の移動量に応じて撮像位置が異なっているため、ワーク1の移動量に応じた位置ずらし量だけ前の画像の領域に対する後の画像の領域の位置をずらして合成する。また、前の画像の領域と後の画像の対応する領域の位置ずれ量は、分割された領域の位置によって異なるため、ワーク1の移動量に応じた位置ずらし量は、分割された領域毎に設定される。
【0105】
以下、詳細に説明するが、カメラ8で連続的に撮像され、欠陥検出PC22により連続的に時系列で取得される複数の画像は、第1の表面欠陥検出処理で取得される画像と同じである。
【0106】
図16に、連続的に時系列で取得される複数の画像A21、A22を示す。この例では2枚を示すが、画像の数は実際にはもっと多い。なお、画像A21、A22では画像に現れる明暗パターンは省略している。これらの画像A21、A22を、ワークの移動方向と直交する方向(
図16では上下方向)において、複数の領域1~pに分割する。領域1~pは画像A21、A22において同じ位置(同じ座標)で同じ大きさである。
【0107】
ワークが移動しているため、カメラ8から取得された例えば画像A21における各領域1~p内の画像に対応する撮像範囲は、後続する次の画像A22では矢印で示すように、元の領域1~pに対して、それぞれワーク1の移動量だけ移動方向に位置がずれることになる。従って、画像A22における各領域1~pの位置を、ワークの移動量に応じた位置ずらし量Sだけずらすことによって、画像A21における各領域1~pと画像A22の位置ずらし後の各領域1~pが、ワーク1上の同じ撮像範囲となる。このような関係が前後の撮像画像における各領域1~p間で生じるから、後続する各画像の領域1~pを、位置ずらし量Sだけ順次ずらすことによって、元の画像A21と後続する各画像の領域1~p毎の撮像範囲を一致させることができる。
【0108】
しかしながら、
図16の画像A22に模式的に示すように、元の領域1~pに対するずれ量は、領域1~p毎に相違する。例えば、1つのカメラ8による撮像範囲にワーク1の直線部分と湾曲部分が存在していた場合、画像における直線部分に対応する領域と湾曲部分に対応する領域の位置ずれ量は同じではない。また、カメラ8に対する遠近によっても相違する。このため、全ての領域1~pを一律の位置ずらし量でずらしても、領域によっては必ずしも同一の撮像範囲とはならない。
【0109】
そこで、この実施形態では、領域1~p毎に位置ずらし量Sが算出され、設定されている。具体的には、カメラ情報、カメラ位置情報、ワークの三次元形状、ワークの位置情報、から領域1~p毎に領域内の平均的な倍率情報を求める。そして、求めた倍率情報と、事前に想定されるおおよその移動速度から、領域1~p毎に位置ずらし量Sを算出し、各領域1~pに対する位置ずらし量Sとする。
【0110】
ここで、位置ずらし量の算出について補足する。移動するワーク1を等時間間隔で複数枚撮像する場合を考える。連続する2枚の撮像画像間において、同一点の動き方に着目する。
【0111】
画像上の移動量は、カメラの撮像倍率、ワークの速度に関係する。カメラの撮像倍率は、(1)レンズ焦点距離、(2)カメラから撮像するワークの各部分までの距離に依存する。(2)について、画像上、カメラに近い部分は遠い部分に比べて移動量が多くなる。ワーク1の3D形状、さらにカメラ8の設置位置とワーク1の位置姿勢がわかると、ある瞬間に撮像された画像における着目点がどこに写るか計算できる。
【0112】
ワーク1が移動し、位置が変化した場合、連続する2枚の画像において、同じ着目点が画像上で何画素分移動するか計算できる。例えば、焦点距離35mm、画素サイズが5.5μmのセンサで、隣り合う画像間でワークが1.7mm移動する場合を考えると、
図17のグラフに示すように、ワーク1までの距離(Zw)が600~1100mmよって、画面内での移動距離は18画素~10画素移動する。
【0113】
仮に、合成画像作成に必要な位置合わせ誤差を±1画素に抑えるならば、距離差が±5cmになるようにすればよい。カメラとの距離差が互いに±5cm以内となるよう画像上で領域を区分する。区分した領域毎に、ワーク1のおおよその移動速度から、連続する画像間の平均的な位置ずれ量を計算する。各領域1~p毎に、その位置ずれ量、±1画素のずれ量を合わせた3種類の位置ずれ量を設定することができる。ただし、位置ずれ量は3種類に限らないし、距離差も±5cmに限らない。
【0114】
なお、設定した領域1~p毎の位置ずらし量Sは欠陥検出PC22内の記憶部のテーブルに領域1~pと関連付けて記憶され、同一の位置ずらし量を設定可能な撮像部位、例えばワーク1の同一形状部分や同一種類のワークに対しては、テーブルから位置ずらし量を呼び出すことで設定される。
【0115】
次に、設定された位置ずらし量Sで各領域1~pの位置をずらした状態で、連続する所定枚数の画像を複数の領域1~p毎に合成する。合成は、設定された位置ずらし量Sで各領域1~pの位置をずらした状態で各領域の画像を重ね合わせるとともに、重ね合わさった画像で、対応する座標の画素毎に演算を行い、画素毎に合成画像を作成する。合成画像の一例として、標準偏差画像等のように統計的なばらつき値を計算して合成した画像、位相画像、位相差画像、最大値画像、最小値画像、平均値画像の少なくともいずれかを挙げることができる。
【0116】
次に、合成画像である例えば標準偏差画像に対して背景除去や二値化等の前処理を行い、欠陥候補を抽出したのち、必要に応じて、欠陥候補抽出時の処理とは異なる演算や合成画像を用いて、表面欠陥の検出を行う。表面欠陥の検出基準は自由に選択されて良く、欠陥の有無のみを判別しても良いし、或いは基準欠陥等との比較から欠陥の種別を判別しても良い。なお、欠陥の有無や欠陥種別の判別基準は、ワークと欠陥との特徴に応じて設定されれば良く、また機械学習等により変更されても良いし、新たな基準が作成されても良い。
【0117】
表面欠陥の検出結果はディスプレイ25に表示される。望ましくは、ディスプレイ25にワーク(車体)の展開図を表示すると共に、展開図の上に表面欠陥の位置と種別が分かるように表示するのが良い。
【0118】
このように、この実施形態では、カメラから時系列で連続的に取得された複数枚の撮像画像A21、A22を複数の領域1~pに分割するとともに、分割された領域1~p毎に複数枚の画像を合成し、この合成画像に基づいて欠陥検出が行われるから、合成画像には複数の画像の情報が含まれることになる。このため、1つの欠陥候補について多量の情報を用いて欠陥検出を行うことができるから、小さな表面欠陥であっても、過検出、誤検出を抑制しながら高精度で安定した検出を行うことができる。
【0119】
しかも、ワーク1の移動量に応じて設定された位置ずらし量Sで、前の画像A21の領域1~pに対して後の画像A22の領域1~pを順にずらした状態で、対応する領域同士の画像が合成されるから、前の画像の領域と後の画像の対応する領域がワーク1の同じ撮像範囲となり、ワーク1の撮像範囲を一致させた状態で複数の画像の合成が可能となる。また、位置ずらし量は分割された領域1~p毎に設定されるから、分割された全ての領域1~pに一律の位置ずらし量が適用される場合に較べて、撮像範囲の誤差を最小限に抑制することができる。このため、より高精度の表面欠陥の検出を行うことができる。
[2-1]位置ずらし量に関する変形例1
上記の例では、分割した各領域1~pに応じた位置ずらし量Sを、各領域1~pの倍率情報と、事前に想定されるおおよその移動速度から、領域1~p毎に算出したが、各領域1~pに対し複数の位置ずらし量を設定した結果から、位置ずらし量Sを設定しても良い。
【0120】
例えば、各領域1~pに対し、想定される移動速度を含み、遅い速度から速い速度まで複数の条件で位置ずらし量候補を設定する。そして、各位置ずらし量候補を適用してそれぞれ合成画像を作成し、さらに必要に応じて欠陥検出を行い、それらの比較から最も評価の高い位置ずらし量Sを採用する。
【0121】
このように、各領域1~pに対して異なる条件で複数の位置ずらし量候補が設定されるとともに、各位置ずらし量候補で画像を合成したときの比較から、最も評価の高い位置ずらし量候補が、その領域1~pに対する位置ずらし量Sとして採用されるから、領域1~p毎に適した位置ずらし量Sを設定することができ、さらに高精度な表面欠陥の検出を行うことができる。
[2-2]位置ずらし量に関する変形例2
領域1~p毎の位置ずらし量Sの設定は次のようにして行われても良い。即ち、
図17のグラフのように、隣り合う画像間のワーク1の移動距離がわかれば、画像上での位置ずれ量が計算できる。前述の例では、あらかじめ想定されるワーク移動速度に基づいて、位置ずらし量を設定した。
【0122】
合成画像作成時の、各フレーム毎の適切な位置ずらし量は、実際に測定したワーク位置に基づいて決めてもよい。この場合、複数の位置ずらし量から最適な位置ずらし量を選定する手間が省ける。
【0123】
ワーク位置の測定方法について説明すると次のとおりである。ワーク1あるいはワーク1と同じ動きをする支持部材の同一の部位を、ワーク1の移動方向に複数台並べた位置専用カメラで撮像し、その画像からワークの位置情報を求める。まず、ワーク1に特徴的な穴部があればその穴部、あるいは、ワーク1を保持し移動する台に設置した目印を、ワーク1の位置あるいは速度測定のためのターゲットとする。
【0124】
ターゲットを検出するために、カメラ8とは別の複数台のカメラを用意する。例えばワーク1の側方からワーク側面を睨むように、ワーク1の進行方向に一列に配置される。複数台の横方向の視野をつなげるとワーク1の全長をカバーするように配置する。カメラからワーク1までの距離、カメラの焦点距離から倍率が計算できる。倍率に基づき、画像上の位置から実際の位置が求められる。各カメラ位置関係が既知で、各カメラの画像情報からワーク1の位置が求められる。
【0125】
上記複数台カメラからのワーク位置情報を対応付けすることで、欠陥抽出用のカメラ8の画像から適切な位置ずらし量が求められる。例えば、カメラから見たワーク上の距離差が±5cmとなるようにワーク1上に仮想的に分割した領域毎に、ワーク1の移動量に応じた隣り合う画像間の画像上の平均的な移動量を決め、重ね合わせ時の位置ずらし量として合成画像を作成する。
[2-3]位置ずらし量に関する変形例3
変形例2では、ワークの位置を、複数台並べたカメラを用いて求めた。その代わりに、ワーク1あるいはワーク1と同一の動きをする支持部材の同一の部位を、距離センサ、速度センサ、振動センサのいずれか単独、または、それらの組み合わせを含む計測システムで計測し、ワーク位置情報を求めてもよい。
【0126】
ワーク位置の測定方法について説明する。ワーク1の一部、またはワーク1と同じ動きをする支持部材の同一の部位をターゲットとする。ワーク位置の検出において、「ワーク位置を基準点通過を検知するセンサ+距離センサ」、または、「基準点通過を検知するセンサ+速度センサ+隣り合う画像の撮像時間間隔」を用いる。前者は直接ワーク位置が求まる。後者は、速度センサからの速度情報に撮像間隔を掛け算することで、各画像が撮像されたときのワーク位置を求めることができる。
【0127】
上記のワーク位置情報を対応付けすることで、欠陥抽出用のカメラ8の画像から適切な位置ずらし量が求められる。例えば、カメラから見たワーク上の距離差が±5cmとなるようにワーク1上に仮想的に分割した領域毎に、ワーク1の移動量に応じた隣り合う画像間の画像上の平均的な移動量を決め、重ね合わせ時の位置ずらし量として合成画像を作成する。
[2-4]フローチャート
ワークの表面検査システムの全体の処理は、
図5に示したフローチャートに従って実施される。
【0128】
図18は、欠陥検出PC22で実行される第3の表面欠陥検出処理の内容を示すフローチャートである。この表面欠陥検出処理は、
図5のステップS06の前段処理及びステップS08の後段処理の内容をさらに詳細に示したものである。また、この表面欠陥検出処理は、欠陥検出PC22内のプロセッサがハードディスク装置等の内蔵記憶装置に格納された動作プログラムに従って動作することにより実行される。
【0129】
ステップS31で、マスターPC21が
図5のステップS02で取得した個体情報、およびステップS03で設定されたパラメータの設定や車体上の検査範囲の設定等の初期情報を、マスターPC21から取得する。
【0130】
次にステップS32で、カメラ8で撮像された画像A21、A22を取得したのち、ステップS33で、各画像A21、A22を複数の領域1~pに分割する。一方、ワーク1の位置や移動速度(ステップS34)等に基づいてステップS35で、分割された領域1~p毎に複数の位置ずらし量候補を設定する。
【0131】
次いでステップS36で、1つの領域について、複数の位置ずらし量候補で位置をそれぞれずらした複数の画像を合成し、各領域について複数の合成画像候補を作成したのち、ステップS37では、作成された位置ずらし量候補毎の合成画像の比較から、最も評価の高い位置ずらし量候補を、その領域1~pに対する位置ずらし量とし、その位置ずらし量にて領域毎に複数の画像を再度合成して合成画像を作成する。
【0132】
ステップS38では、合成画像に対して背景除去や二値化等の前処理を実施したのち、ステップS39で欠陥候補を抽出する。このような処理を複数の領域1~p毎にかつ所定枚数の画像毎に実施することで、ステップS40では、欠陥候補が抽出された多数の欠陥候補画像群を作成したのち、ステップS41に進む。ステップS32~S40が前段処理である。
【0133】
ステップS41では、車体は検査範囲から退出したかどうかを、マスターPC21からの情報に基づいて判断する。検査範囲から退出していなければ(ステップS41でNO)、ステップS32に戻り、カメラ8からの画像の取得を続ける。車体が検査範囲から退出していれば(ステップS41でYES)、ステップS42で、欠陥候補画像群について欠陥検出処理を行う。ステップS42が後段処理である。欠陥検出後、ステップS43で検出結果をディスプレイ25等に出力する。
【0134】
図19は、表面欠陥検出処理における前段処理である
図18のフローチャートのステップS32~S40の詳細を示すフローチャートであり、
図18のフローチャートと同一の処理については同一のステップ番号を付している。
【0135】
1つのワーク1が検査範囲に進入し検査範囲から退出するまで、ワーク1を移動させながらカメラ8により連続的に撮像が行われ、欠陥検出PC22はステップS32で、撮像1回目の画像から撮像最終回の画像までを取得する。ここでは、撮像n回目の画像から撮像(n+m-1)回目までの画像を使用する場合を例示する。
【0136】
ステップS33では各画像を例えば領域1~pのp個の画像領域に分割する。ステップS35では、p個の領域毎に位置ずらし量候補をそれぞれq個設定し、ステップS36では、p個の画像領域毎にq個の位置ずらし量候補を適用してq個の合成画像候補を作成する。つまり、領域1~pのそれぞれに対して、q個の合成画像が作成される。
【0137】
ステップS37-1では、領域1~領域pの領域毎に、最も評価値が高い合成画像を選択するとともに、選択した合成画像に対応する位置ずらし両候補を、その画像領域についての位置ずらし量として決定する。
【0138】
そして、ステップS37-2で、領域1~pの各領域毎に、決定された位置ずらし量を適用して、合成画像を作成する。
【0139】
その後の前処理(ステップS38)、欠陥候補抽出処理(ステップS39)、欠陥候補画像群作成処理(ステップS40)は、
図18と同様であるので、説明は省略する。
[4]標準偏差画像等の作成
第1の表面欠陥検出処理及び第3の表面欠陥検出処理では、明暗の照明パターンを照射した状態でワークを移動させたときに、カメラ8により時系列に撮像された撮像範囲の重複した複数枚の画像に基づいて、合成対象の複数枚の画像を作成し、これら複数枚の画像を1枚の画像に合成して合成画像とした。この合成画像の一つとして、標準偏差画像等のように統計的なばらつき値を計算して合成した画像が考えられる。
【0140】
統計的なばらつき値としては、分散、標準偏差、半値幅の少なくともいずれかがある。いずれを計算しても良いが、ここでは、標準偏差を計算して合成する場合について説明する。
【0141】
標準偏差は、複数枚の画像の対応する画素毎に計算する。
図17は、標準偏差画像の作成処理を示すフローチャートである。なお、
図20及びそれ以降のフローチャートに示される処理は、欠陥検出CPUが記憶部等に格納された動作プログラムに従って動作することにより実行される。
【0142】
ステップS51では、合成対象となる元画像(N枚)を生成し、ステップS52で1枚目の元画像について、画素毎に輝度値(以下、画素値ともいう)の二乗和を計算したのち、ステップS53で画素毎に画素値の和を計算する。1枚目では、二乗和も和計算も1枚目のみの結果となる。
【0143】
次にステップS54で、次の画像があるかどうかを調べ、あれば(ステップS54でYES)、ステップS52に戻り、2枚目の各画素の画素値を二乗して一枚目の対応する各画素値の二乗値に加算する。次に、ステップS53で、2枚目の各画素値を1枚目の対応する各画素値に加算する。
【0144】
このような処理をN枚の画像について順に実施し、N枚の画像の対応する画素毎に、各画素値の二乗和と各画素値の和が計算される。
【0145】
N枚についての上記処理が終了すると(ステップS54でNO)、ステップS55で、ステップS53にて計算した各画素値の和の平均を計算した後、ステップS56で、和の平均の二乗を計算する。
【0146】
次にステップS57で、ステップS52にて計算した各画素値の二乗和の平均値である二乗平均を計算した後、ステップS57で、分散を{(二乗平均)-(平均の二乗)}の式から求める。そして、ステップS59で分散の平方根である標準偏差を求める。
【0147】
こうして求めた標準偏差を望ましくは正規化し、その結果に基づいて合成画像を作成する。なお、統計的なばらつき値として分散あるいは半値幅を用いる場合も、同様に計算すれば良い。
【0148】
作成された合成画像に基づいて、表面欠陥の検出処理が行われる。検出処理は、第1の表面欠陥検出処理や第3の表面欠陥検出処理と同様に行えば良い。
【0149】
このように、複数枚の画像の対応する画素同士を、統計的なばらつき値を計算して合成し、これを全部の画素に適用することで合成画像が作成されるから、合成対象となる画像の枚数が少なくても、欠陥検出のS/N比が高い合成画像を作成でき、この合成画像を用いることで高精度な欠陥検出を行うことができ、不要な欠陥候補の検出を減らし、かつ必要な欠陥の検出の見逃しを防ぐことができる。しかも、最大値や最小値等を用いて合成画像を作成する場合に比べて、コストも安価となる。
[4-1]標準偏差画像に関する他の実施形態1
明暗パターンの照明を行う照明ユニット6のワーク1に対する照度のグラフを
図18に示す。
図21のグラフでは、波形の頂部71が明帯を示し、底部72が暗帯を示している。
【0150】
明帯から暗帯にかけて、または暗帯から明帯にかけての波形の立ち上がり及び立ち下がり部分73は、実際上は垂直ではなく、傾斜している。立ち上がり及び立ち下がり部分73のそれぞれ中間点に相当する画像部分では画素値は中間階調となり、ばらつきに影響を与える。
【0151】
照明パターンの1周期に複数回の撮像を行った場合、たとえば
図21(A)に黒丸印で示したように8回撮像したとすると、得られた8枚の画像における各8個ずつの画素のうち、2つの画素が前記中間点に相当する中間階調の画素値となる可能性が高い。一方、
図21(B)に黒丸印で示したタイミングで7回撮像したとすると、得られた7枚の画像における各7個ずつの画素のうち、少なくとも1つの画素が前記中間点に相当する中間階調の画素値となる可能性が高い。
【0152】
前述したように、このような中間階調の画素値はばらつきに影響を与え、欠陥検出精度の低下を招く。そこで、望ましくはこのような中間階調の画素値をばらつき計算のサンプリング候補から排除することで、選択された最適なサンプリング候補に対してのみばらつきの計算を行うのがよい。具体的には、照明パターンの1周期において合成対象となる元画像の枚数が偶数枚のときは、複数の画素の画素値から中間階調の画素値を2つ間引いてばらつきを計算し、元画像の枚数が奇数枚のときは、複数の画素の画素値から中間階調の画素値を1つ間引いてばらつきを計算するのがよい。このように、中間階調の画素値をばらつき計算のサンプリング候補から排除し、選択された最適なサンプリング候補に対してのみばらつきの計算を行うことで、最適なサンプリング候補のみにより統計的なばらつき値の計算が行われ、サンプリング候補から除外された画素の影響を抑制することができるから、合成される画像の枚数が少ない場合であっても、高精度な欠陥検出を行うことができる合成画像の作成が可能となる。
【0153】
図22は、中間階調の画素値をばらつき計算のサンプリング候補から排除し、選択された最適なサンプリング候補に対してのみばらつきの計算を行うことで、標準偏差画像を作成する処理を示すフローチャートである。
【0154】
ステップS61で、複数枚(N枚)の元画像を生成したのち、ステップS62で、各画像の各画素において、N枚分の画素値であるサンプリングデータをソートし、中央値の1値(Nが奇数)または2値(Nが偶数)を除去する。
【0155】
次いでステップS63で、画素毎に、N-1個(Nが奇数)またはN-2個(Nが偶数)の値で標準偏差を計算する。
【0156】
こうして求めた標準偏差を望ましくは正規化し、その結果に基づいて合成画像を作成する。なお、統計的なばらつき値として分散あるいは半値幅を用いる場合も、同様に計算すれば良い。
[4-2]標準偏差画像に関する他の実施形態2
この実施形態においても、照明パターンの1周期に対して複数回(N回)の撮像を行う。N回は少ない数でも良い。
【0157】
この実施形態では、標準偏差画像に関する他の実施形態1の場合と同様に、照明パターンの1周期において合成対象の元画像が奇数枚のときは、画素毎に、N-1個のサンプリングデータ(画素値)で、偶数枚のときはN-2個のサンプリングデータで標準偏差を計算する。つまり、奇数の場合は画素毎にN個の画素値の中から選択したN-1個の組み合わせ(NCN-1))で標準偏差を計算し、偶数の場合は画素毎にN個の画素値の中から選択したN-2個の組み合わせ(NCN-2))で標準偏差を計算する。そして、画素毎に得られた(NCN-1))または(NCN-2))通りの標準偏差の中から、最大の標準偏差をその画素についての標準偏差として決定する(最大値処理)。
【0158】
以上の処理を
図23のフローチャートに示す。
図23の処理では、合成対象となる元画像の枚数Nが奇数である場合を示すが、偶数の場合も同様である。
【0159】
ステップS71では、合成対象となる元画像(N枚)を生成し、ステップS72で1枚目の元画像について、画素毎に画素値の二乗和を計算したのち、ステップS73で画素毎に画素値の和を計算する。1枚目では、二乗和も和計算も1枚目のみの結果となる。ステップS74では1枚目の各画素値の二乗値を記憶し、ステップS75では1枚目の各画素値(オリジナル)を記憶しておく。
【0160】
次にステップS76で、次の画像があるかどうかを調べ、あれば(ステップS76でYES)、ステップS72に戻り、2枚目の各画素の画素値を二乗して一枚目の対応する各画素値の二乗値に加算する。次に、ステップS73で、2枚目の各画素値を1枚目の対応する各画素値に加算する。さらに、ステップS74では2枚目の各画素値の二乗値を記憶し、ステップS75では2枚目の各画素値(オリジナル)を記憶しておく。
【0161】
このような処理をN枚の画像について順に実施し、N枚の画像の対応する画素毎に、各画素値の二乗和と各画素値の和が計算される。また、N枚それぞれの各画像値の二乗値と画素値(オリジナル)がそれぞれ記憶される。
【0162】
N枚についての上記処理が終了すると(ステップS76でNO)、ステップS77で、iを変数としてまず1枚目の画像(i=1)の各画素の二乗値を、ステップS72で計算したN枚すべての画像における各画素の画素値の二乗和から差し引いて、画素毎にN-1枚分の二乗和を計算する。
【0163】
次にステップS78で、1枚目の画像の各画素値を、ステップS73で計算したすべての画像における画素値の和から差し引いて、N-1枚分の和を計算する。ステップS79では、ステップS78にて計算したN-1枚分の和の平均を計算した後、ステップS80で、和の平均の二乗を計算する。
【0164】
次にステップS81で、ステップS77にて計算したN-1枚分の二乗和の平均値である二乗平均を計算した後、ステップS82で、分散を{(二乗平均)-(平均の二乗)}の式から求める。そして、ステップS83で分散の平方根である標準偏差を求める。
【0165】
次にステップS84で最大化処理を実施する。ここでは、各画素についての標準偏差はまだ1個しか得られていないから、この値が最大となる。
【0166】
次にステップS85で、差し引く次の画像があるかどうか、換言すればi=Nかどうかを調べ、次の画像があればつまりi=Nでなければ(ステップS85でYES)、ステップS77に戻り、i=2を設定し、2枚目の画像の各画素値の二乗和および画素値を差し引いて、同様に標準偏差を計算し、ステップS85で最大化処理を実施する。最大化処理では、1枚目を差し引いた時の標準偏差と2枚目を差し引いた時の標準偏差を比較し、大きい方の標準偏差を採用する。
【0167】
こうして、i=Nに達するまでつまり1枚目からN枚目までの各画像の二乗和および画素値を順に差し引いて、画素毎に標準偏差を計算し、最大の標準偏差をその画素の標準偏差として採用する。
【0168】
このようにして求めた標準偏差を望ましくは正規化し、その結果に基づいて合成画像を作成する。なお、統計的なばらつき値として分散あるいは半値幅を用いる場合も、同様に計算すれば良い。
【0169】
この実施形態では、複数の画像から順に所定枚数の画像を計算対象から除外して、各画素の統計的なばらつき値を計算するから、最適なサンプリング候補を容易に選択することができる。しかも、計算されたばらつき値の最大値をその画素についてのばらつき値として採用するから、よりS/N比が高い合成画像を作成できる。
【0170】
この実施形態では、照明ユニット6とカメラに対しワーク1を所定の速度で相対的に移動させながら、照明ユニット6による明暗パターンの1周期において複数の画像を取得した場合を説明した。
【0171】
しかし、照明ユニット6のみを、ワーク1とカメラ8に対して相対的に移動させることにより、照明パターンの1周期における複数の画像を取得し、これらの複数の画像に基づいて、標準偏差等のばらつきを計算した合成画像を作成しても良い。
【符号の説明】
【0172】
1 ワーク
2 移動機構
3 照明フレーム
4 支持台
6 照明ユニット
7 カメラフレーム
8 カメラ
21 マスターPC
22 欠陥検出PC
30 仮欠陥候補
40 推定座標
221 画像取得部
222 仮欠陥候補抽出部
223 座標推定部
224 欠陥候補決定部
225 画像群作成部
226 画像合成部
227 欠陥検出部