(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-17
(45)【発行日】2024-04-25
(54)【発明の名称】画像検査システム
(51)【国際特許分類】
G06F 3/0484 20220101AFI20240418BHJP
G01B 11/30 20060101ALI20240418BHJP
G06T 17/20 20060101ALI20240418BHJP
G06F 3/04815 20220101ALI20240418BHJP
G06F 3/04845 20220101ALI20240418BHJP
【FI】
G06F3/0484
G01B11/30 A
G06T17/20
G06F3/04815
G06F3/04845
(21)【出願番号】P 2020089468
(22)【出願日】2020-05-22
【審査請求日】2023-03-03
(73)【特許権者】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】眞弓 典正
(72)【発明者】
【氏名】山上 毅
【審査官】木内 康裕
(56)【参考文献】
【文献】特開2005-172805(JP,A)
【文献】特表2018-521370(JP,A)
【文献】特開2017-227612(JP,A)
【文献】特開2020-046394(JP,A)
【文献】特開2020-035119(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048 - 3/04895
G01B 11/30
G06T 17/20
(57)【特許請求の範囲】
【請求項1】
検査対象物を撮像する撮像素子を有し、検査対象物の高さ情報が二次元座標上に配置された高さデータを
該撮像素子を用いて取得する取得部を備える画像検査用撮像装置と、前記画像検査用撮像装置にネットワークを介して接続される設定装置にてユーザ操作に基づく各種検査設定を行う検査設定部と、を含む画像検査システムであって、
前記検査設定部は、
前記取得部により取得された高さデータに基づいて、検査対象物を立体的に表した三次元オブジェクトを生成するオブジェクト生成手段と、
前記オブジェクト生成手段により生成された三次元オブジェクトを前記設定装置のモニタに表示する表示手段と、
前記表示手段により表示された三次元オブジェクトの姿勢を調整する姿勢調整手段と、
前記姿勢調整手段により姿勢が調整された三次元オブジェクト上で、該
三次元オブジェクトの表面に沿って形成され、画像検査の対象となる対象領域の指定を受け付ける領域指定受付手段と、
前記領域指定受付手段により表面上に対象領域が指定された三次元オブジェクトに対する前記撮像素子の位置にある視点を特定する視点特定要素を生成する要素生成手段と、
前記領域指定受付手段により指定された対象領域を、前記取得部により取得された高さデータに対して設定する領域設定手段と、
を有
し、
前記表示手段は、前記要素生成手段により生成された視点特定要素を前記モニタに表示させることを特徴とする画像検査システム。
【請求項2】
請求項
1に記載の画像検査システムにおいて、
前記視点特定要素は、前記領域指定受付手段により指定を受け付けた複数の点の各々から前記撮像素子の撮像軸に沿って所定長さ延びる複数の線分と、該複数の線分に基づき形成される平面又は曲面からなる図形要素とを含む画像検査システム。
【請求項3】
請求項
2に記載の画像検査システムにおいて、
前記図形要素は、半透明である画像検査システム。
【請求項4】
請求項
2または
3に記載の画像検査システムにおいて、
前記図形要素を形成する前記複数の線分の所定長さは、前記高さ画像における最大高さまたは最小高さに応じて決定される画像検査システム。
【請求項5】
請求項
1から
4のいずれか1つに記載の画像検査システムにおいて、
前記視点特定要素は、前記要素生成手段による生成後に前記三次元オブジェクト上で位置調整可能とされている画像検査システム。
【請求項6】
請求項
1から
5のいずれか1つに記載の画像検査システムにおいて、
前記視点特定要素は、前記要素生成手段による生成後に前記三次元オブジェクト上で形状の変更が可能とされている画像検査システム。
【請求項7】
請求項
5に記載の画像検査システムにおいて、
前記視点特定要素は、前記三次元オブジェクトの高さ方向への移動が禁止されている画像検査システム。
【請求項8】
請求項1から
7のいずれか1つに記載の画像検査システムにおいて、
前記領域指定受付手段は、前記三次元オブジェクト上で始点と終点の指定を受け付けた場合、高さデータの二次元座標において、前記始点から前記終点まで延びる線分の位置に対応する座標に対象領域を設定する画像検査システム。
【請求項9】
請求項1から
8のいずれか1つに記載の画像検査システムにおいて、
前記取得部は、取得した高さデータに基づいて高さ画像を生成し、
前記表示手段は、前記取得部により生成された高さ画像と、前記オブジェクト生成手段で生成された三次元オブジェクトとを前記モニタに切替表示可能に構成され、
前記領域指定受付手段は、前記取得部により生成された高さ画像上で、画像検査の対象となる対象領域の指定を受け付ける画像検査システム。
【請求項10】
請求項1から
9のいずれか1つに記載の画像検査システムにおいて、
前記設定装置は、前記領域設定手段により高さデータに対して設定された対象領域に対して画像処理を行う画像処理部と、該画像処理部により画像処理された画像に基づいて外観検査を行う検査部とを備えている画像検査システム。
【請求項11】
請求項1から1
0のいずれか1つに記載の画像検査システムにおいて、
前記設定装置は、前記領域指定受付手段で受け付けた対象領域からなる設定項目と、該設定項目の設定値が格納される場所を示すレジスタ情報とが記述されたファイルを外部から取得してユーザにより設定された該設定項目の設定値と、該ファイルに含まれる該設定項目に対応するレジスタ情報とを前記画像検査用撮像装置に送信可能に構成され、
前記画像検査用撮像装置は、前記設定装置から受信した前記設定項目の設定値を、該設定項目に対応するレジスタ情報が示す場所に格納する画像検査システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば撮像したワーク等を検査する画像検査システムに関する。
【背景技術】
【0002】
従来から、例えば特許文献1に開示されているように、パターン投影法を用いてワーク等の検査対象物の高さ情報を取得する画像処理装置が知られている。この特許文献1に開示されている画像処理装置では、複数のパターン投影光を検査対象物に順次照射しながら、カメラで複数の輝度画像を取得し、カメラで取得した複数の輝度画像をコントローラに転送して当該コントローラにおいて高さデータを生成する。コントローラでは、生成した高さデータのうち、所定の高さ範囲内の高さデータを、高さデータよりも階調数の少ない高さ画像に変換する処理、即ち高さ抽出処理を実行する。高さ抽出処理後、コントローラでは、高さ画像を用いた画像処理を行って検査対象物の良否を判定し、判定信号をPLC等の外部機器に出力する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、コントローラに汎用パーソナルコンピュータ等で構成された設定装置を接続し、設定装置上で、コントローラから出力される高さデータに対して各種設定を行うことも可能である。この場合、まず、設定装置において、コントローラから出力された高さデータを、当該高さデータよりも階調数の少ない画像に変換する。画像検査時には、ユーザが高さ画像上に、画像検査の対象となる対象領域(線領域や面領域)を設定するのであるが、この設定時の高さ画像は、カメラの位置に視点を固定して検査対象物を真上から見たときの画像であるため、ユーザは、検査対象物の立体感や高低差を把握しにくいという、使い勝手の上で問題があった。
【0005】
さらに、モニタに表示される高さ画像においては、検査対象物の実際の表面色とは異なる人工的に生成された表面色を付すことよって検査対象物の高低差を表現することが一般的に行われている。このような表現形態を採用した場合、大きな高さ変化であれば色の変化で認識可能であるが、小さな段差のような部分では殆ど表面色の差がなく、高低差を把握しにくい。
【0006】
また、高さ画像と同時に撮像された検査対象物の二次元画像と、上記人工的に着色された高さ画像とを合成して表示する場合がある。これにより、検査対象物の部位と高さとの関係を把握し易くなる反面、高低差を示す色と検査対象物の実際の表面色とが混ざってしまうので、高低差を把握しにくくなる。
【0007】
上述したように高さ画像上で高低差を把握しにくくなると、ユーザが画像検査の対象となる対象領域を設定する際、検査対象物に対してどのような対象領域が設定されることになるのか、高さ画像上で把握するのが難しかった。
【0008】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、画像検査の対象となる対象領域を容易に把握でき、ひいては使い勝手を向上させることにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために、第1の開示は、検査対象物の高さ情報が二次元座標上に配置された高さデータを取得する取得部を備える画像検査用撮像装置と、前記画像検査用撮像装置にネットワークを介して接続される設定装置にてユーザ操作に基づく各種検査設定を行う検査設定部と、を含む画像検査システムを前提とすることができる。
【0010】
前記検査設定部は、前記取得部により取得された高さデータに基づいて、検査対象物を立体的に表した三次元オブジェクトを生成するオブジェクト生成手段と、前記オブジェクト生成手段により生成された三次元オブジェクトを前記設定装置のモニタに表示する表示手段と、前記表示手段により表示された三次元オブジェクトの姿勢を調整する姿勢調整手段と、前記姿勢調整手段により姿勢が調整された三次元オブジェクト上で、画像検査の対象となる対象領域の指定を受け付ける領域指定受付手段と、前記領域指定受付手段により指定された対象領域を、前記取得部により取得された高さデータに対して設定する領域設定手段とを有していてもよい。
【0011】
この構成によれば、取得部が、検査対象物の高さ情報が二次元座標上に配置された高さデータを取得すると、その高さデータに基づいてオブジェクト生成手段が三次元オブジェクトを生成する。三次元オブジェクトは、例えば三次元ポリゴン表示や三次元点群(ポイントクラウド)表示のような形態で設定装置のモニタに表示することが可能である。三次元オブジェクトは、モニタに表示した状態でその姿勢の調整が可能なので、検査対象物を所望の方向から見た三次元オブジェクトをモニタに表示できる。ユーザは、姿勢調整後の三次元オブジェクト上で対象領域の指定が可能になる。
【0012】
すなわち、ユーザは、検査対象物を立体的に表した三次元オブジェクトを所望の方向から見ることができるので、小さな段差のような部分であっても高低差を容易にかつ確実に把握できる。そして、検査対象物の高低差を把握しながら対象領域を指定できるので、対象領域を検査対象物上のどこに対してどのような大きさ乃至形状で指定したのか、ユーザが容易に把握できる。対象領域は、例えば線状の領域や図形で囲んだ領域等があり、ある範囲を持った領域であれば、その形状や大きさは自由に指定できる。
【0013】
対象領域が指定されると、その対象領域が取得部により取得された高さデータに対して設定される。つまり、三次元オブジェクト上で指定した対象領域の情報を、運用時に取得した高さデータに反映することができるので、所望の領域に対して画像検査を実行することができる。
【0014】
第2の開示では、前記取得部は、検査対象物を撮像する撮像素子を備えていてもよい。前記検査設定部は、前記領域指定受付手段により対象領域の指定を受け付けた場合に、前記撮像素子の位置にある視点を特定するための視点特定要素を生成する要素生成手段を備えていてもよい。前記表示手段は、前記要素生成手段により生成された視点特定要素を、前記三次元オブジェクト上に重ねて前記モニタに表示させることができる。
【0015】
この構成によれば、ユーザが画像検査の対象となる対象領域を指定すると、視点特定要素が三次元オブジェクト上に重ねて表示される。これにより、ユーザは、検査対象物を撮像した撮像素子の位置、即ち視点の位置を特定することができる。
【0016】
第3の開示では、前記視点特定要素は、前記領域指定受付手段により指定を受け付けた複数の点の各々から前記撮像素子の撮像軸に沿って所定長さ延びる複数の線分と、該複数の線分に基づき形成される平面又は曲面からなる図形要素とを含んでいてもよい。
【0017】
この構成によれば、ユーザが対象領域を指定する際に複数の点を指定すると、撮像軸に沿って延びる複数の線分で形成される面が三次元オブジェクト上に重なった状態で表示される。これにより、視点の位置の特定が容易になる。
【0018】
第4の開示では、前記図形要素は、半透明であってもよい。この構成によれば、図形要素の向こう側にある三次元オブジェクトも視認することが可能になるので、対象領域の指定が容易になる。
【0019】
第5の開示では、前記図形要素を形成する前記複数の線分の所定長さは、前記高さ画像における最大高さや最小高さに応じて決定することができる。
【0020】
すなわち、図形要素ないし線分の高さ方向の寸法が無用に長くなると高さ画像が見にくくなることが考えられ、また、図形要素ないし線分の高さ方向の寸法が短すぎると図形要素ないし線分を確認できなくなることが考えられる。本開示では、図形要素ないし線分の高さ方向の寸法が無用に長くなることや、短すぎることがなくなるので、視点の位置の特定が容易になる。
【0021】
第6の開示では、前記視点特定要素は、前記要素生成手段による生成後に前記三次元オブジェクト上で位置調整可能とされていてもよい。
【0022】
この構成によれば、視点特定要素の生成後、位置を変更したい場合には、視点特定要素を移動させることで所望の位置に配置することができる。視点特定要素の移動に伴って対象領域も別の領域に移る。
【0023】
第7の開示では、前記視点特定要素は、前記要素生成手段による生成後に前記三次元オブジェクト上で形状の変更が可能とされている。
【0024】
この構成によれば、視点特定要素の生成後、その形状を任意の形状に変更することができる。視点特定要素の形状の変更に伴って対象領域の形状も変更される。
【0025】
第8の開示では、前記視点特定要素は、前記三次元オブジェクトの高さ方向への移動が禁止されていてもよい。XYZ座標系で例えばZ方向を高さ方向とした場合、視点特定要素のZ座標を固定し、視点特定要素をXY方向へのみ移動可能にすることができる。
【0026】
すなわち、視点特定要素は、画像検査の対象となる対象領域を、二次元座標上に配置された高さデータに設定する際に表示される要素であることから、三次元オブジェクトのX方向またはY方向に移動させればよく、視点が位置する方向(三次元オブジェクトの高さ方向)へ移動させる必要はなく、仮に視点特定要素を三次元オブジェクトの高さ方向に移動可能にすると、対象領域の設定操作が煩雑になることが考えられる。本開示では、視点特定要素を三次元オブジェクトのX方向またはY方向にのみ移動可能であるため、対象領域の設定操作が容易になる。
【0027】
第9の開示では、前記領域指定受付手段は、前記三次元オブジェクト上で始点と終点の指定を受け付けた場合、高さデータの二次元座標において、前記始点から前記終点まで延びる線分の位置に対応する座標に対象領域を設定することができる。
【0028】
この構成によれば、ユーザが三次元オブジェクト上で始点と終点を指定する操作を行うだけで、始点及び終点を含む対象領域を高さデータに自動的に設定することができる。
【0029】
第10の開示では、前記取得部は、取得した高さデータに基づいて高さ画像を生成することができる。前記表示手段は、前記取得部により生成された高さ画像と、前記オブジェクト生成手段で生成された三次元オブジェクトとを前記モニタに切替表示可能に構成されている。前記領域指定受付手段は、前記取得部により生成された高さ画像上で、画像検査の対象となる対象領域の指定を受け付けることができる。
【0030】
例えば、三次元オブジェクトよりも高さ画像の方が画像検査の対象となる対象領域が指定しやすい場合があり、この場合には、高さ画像をモニタに表示させて高さ画像上でも画像検査の対象となる対象領域の指定を受け付けることができる。
【0031】
第11の開示では、前記設定装置は、前記領域設定手段により高さデータに対して設定された対象領域に対して画像処理を行う画像処理部と、該画像処理部により画像処理された画像に基づいて外観検査を行う検査部とを備えている。これにより、段差計測や傷等、各種外観検査を行うことができる。
【0032】
第12の開示では、前記設定装置は、前記領域指定受付手段で受け付けた対象領域からなる設定項目と、該設定項目の設定値が格納される場所を示すレジスタ情報とが記述されたファイルを外部から取得してユーザにより設定された該設定項目の設定値と、該ファイルに含まれる該設定項目に対応するレジスタ情報とを前記画像検査用撮像装置に送信可能に構成されている。前記画像検査用撮像装置は、前記設定装置から受信した前記設定項目の設定値を、該設定項目に対応するレジスタ情報が示す場所に格納することができる。
【0033】
この構成によれば、撮像装置と設定装置の両方が共通の標準化規格に適合している場合には、設定項目と、設定項目の設定値が格納される場所を示すレジスタ情報とが記述されたファイルを設定装置が取得する。このファイルは、例えば標準化規格がGenICam規格である場合には、Device XMLファイルなどである。このファイルは、設定装置が撮像装置から取得してもよいし、例えばウェブサイト等からダウンロードして別ファイルとしてGenApiに対して参照するファイルを指定するようにしてもよい。
【0034】
ユーザが画像検査の対象となる対象領域を設定すると、画像検査の対象となる対象領域の座標や大きさが設定値になり、対象領域という設定項目と、その座標や大きさとがレジスタ情報とともに撮像装置に送信される。これにより、撮像装置における設定が行われるので、標準化規格に適合した撮像装置であれば設定装置で上記設定を自由に変更することができ、撮像装置の機種選定の自由度が向上する。
【発明の効果】
【0035】
以上説明したように、本開示によれば、検査対象物を立体的に表した三次元オブジェクトの姿勢を調整して検査対象物の高低差を把握しながら画像検査の対象となる対象領域を指定できるので、ユーザは対象領域を容易に把握でき、ひいては使い勝手を向上させることができる。
【図面の簡単な説明】
【0036】
【
図1】本発明の実施形態1に係る画像検査システムの概略構成及び運用状態を模式的に示す図である。
【
図5】デフレクトメトリの原理に基づいて高さ画像を生成する手順を示すフローチャートである。
【
図6】フォトメトリックステレオ法を利用して高さ画像を生成する実施形態5に係る
図1相当図である。
【
図7】画像検査アプリケーションとカメラとの接続インターフェースを説明する図である。
【
図8】撮像装置の内部処理の一例を概念的に示すフローチャートである。
【
図9】デフレクトメトリの原理を利用した検査画像の生成を行う場合のパラメータセットを示す図である。
【
図10】マルチスペクトルイメージングにより検査画像の生成を行う場合のパラメータセットを示す図である。
【
図12】対象領域の新規作成手順の例を示すフローチャートである。
【
図14】直線状の対象領域の新規作成を三次元表示または二次元表示上で行う場合を説明する図である。
【
図15】矩形状の対象領域の新規作成を三次元表示または二次元表示上で行う場合を説明する図である。
【
図16】対象領域の変更手順の第1段階を示すフローチャートである。
【
図17】対象領域の変更手順の第2段階を示すフローチャートである。
【
図19】直線状の対象領域の位置調整を行う具体例1を示す図である。
【
図20】直線状の対象領域の位置調整を行う具体例2を示す図である。
【
図21】矩形状の対象領域の位置調整を行う具体例を示す図である。
【
図22】運用時に直線状の対象領域で段差計測する手順の例を示すフローチャートである。
【
図23】運用時に矩形状の対象領域で傷検査する手順の例を示すフローチャートである。
【
図24】運用時に矩形状の対象領域で高さ検査する手順の例を示すフローチャートである。
【
図25】運用時に円弧状の対象領域で賞味期限検査する手順の例を示すフローチャートである。
【
図26】運用時に円弧状の対象領域で刻印判別する手順の例を示すフローチャートである。
【発明を実施するための形態】
【0037】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【0038】
(実施形態1)
図1は、本発明の実施形態に係る画像検査システム1の運用状態を模式的に示すものである。画像検査システム1は、検査対象物であるワークWを撮像した画像を用いてワークWの欠陥の有無を検査するように構成されており、ワークWを照明する照明装置2と、ワークWを撮像する撮像部3と、撮像部3の設定を行うパーソナルコンピュータ(PC)等で構成された設定装置4とを備えている。ワークWは、撮像部3で撮像される対象となるものであることから、撮像対象物と呼ぶこともできる。照明装置2と撮像部3とにより、高さデータを取得する取得部Aが構成されている。画像検査システム1の一部を構成している画像検査用撮像装置300は取得部Aを含む装置である。また、撮像装置300と設定装置4とは切り離されたものであってもよく、撮像装置300単体を本発明の実施形態とすることもできる。
【0039】
設定装置4は、表示部5と、キーボード6及びマウス7とを備えている。表示部5は、たとえば有機ELディスプレイや液晶ディスプレイ等からなるモニタを含むものであり、撮像装置300で撮像された画像、撮像装置300で撮像された画像を各種処理した処理後の画像、各種ユーザーインターフェース画像(GUI)等を表示することができる部分である。各種ユーザーインターフェース画像等は、設定装置4の本体部で生成される。表示部5の横方向を当該表示部5のX方向とし、表示部5の縦方向を当該表示部5のY方向とすることができる。
【0040】
また、キーボード6及びマウス7は、従来から周知のコンピュータ操作用の機器である。キーボード6またはマウス7の操作により、各種情報を設定装置4に入力したり、各種設定を行ったりすることができるとともに、表示部5に表示されている画像等を選択することができる。尚、キーボード6及びマウス7の代わり、またはキーボード6及びマウス7に加えて、たとえば、音声入力機器、感圧式タッチ操作パネル等のコンピュータ操作用の機器を使用することもできる。
【0041】
図1では、複数のワークWが搬送用ベルトコンベアBの上面に載置された状態で
図1における白抜き矢印で示す方向へ搬送されている場合を示している。設定装置4には、搬送用ベルトコンベアB及び画像検査システム1をシーケンス制御するための機器として、プログラマブル・ロジック・コントローラ(PLC)等からなる外部制御機器8が接続されている。この外部制御機器8は、画像検査システム1の一部を構成するものとしてもよい。また、外部制御機器8は、画像検査システム1の構成要素としなくてもよい。
【0042】
尚、この実施形態の説明では、搬送用ベルトコンベアBによるワークWの搬送方向(ワークWの移動方向)をY方向とし、搬送用ベルトコンベアBの平面視でY方向に直交する方向をX方向とし、X方向及びY方向に直交する方向(搬送用ベルトコンベアBの上面に直交する方向)をZ方向と定義するが、これは説明の便宜を図るために定義するだけである。
【0043】
画像検査システム1は、ワークWの外観検査、即ちワークWの表面の傷、汚れ、打痕等の欠陥の有無を検査する場合に使用することができるものであり、この検査結果からワークWの良否判定を行うこともできる。画像検査システム1は、その運用時において、外部制御機器8から信号線を介して、欠陥検査(良否判定検査)の開始タイミングを規定する検査開始トリガ信号を受信する。画像検査システム1は、この検査開始トリガ信号に基づいてワークWの撮像及び照明等を行って所定の処理後、検査用画像を得る。その後、検査用画像に基づいて外観検査し、その検査結果は、信号線を介して外部制御機器8へ送信される。このように、画像検査システム1の運用時には、画像検査システム1と外部制御機器8との間で、信号線を介して検査開始トリガ信号の入力と検査結果の出力が繰り返し行われる。なお、検査開始トリガ信号の入力や検査結果の出力は、上述したように、画像検査システム1と外部制御機器8との間の信号線を介して行ってもよいし、それ以外の図示しない信号線を介して行ってもよい。例えば、ワークWの到着を検知するためのセンサと画像検査システム1とを直接的に接続し、そのセンサから画像検査システム1へ検査開始トリガ信号を入力するようにしてもよい。また、画像検査システム1は、トリガ信号を内部で自動生成して検査を行うように構成してもよい。
【0044】
また、画像検査システム1は、専用のハードウェアで構成する他、汎用の機器にソフトウェアをインストールしたもの、たとえば汎用もしくは専用のコンピュータに画像検査プログラムをインストールした構成としてもよい。たとえば、グラフィックボードなどのハードウェアを画像検査処理に特化させた専用のコンピュータに、画像検査プログラムをインストールした構成とすることもできる。
【0045】
(取得部Aの構成)
取得部Aは、ワークWからの反射光の受光量に応じた輝度画像を取得するとともに、ワークWの高さ情報が二次元座標上に配置された高さデータを取得可能に構成された部分である。輝度画像は、照明装置2により照明されたワークWを撮像部3により撮像することによって取得することができる。ワークWに対する照明が不要な場合には、照明装置2により照明することなく、ワークWを撮像部3により撮像することによって輝度画像を取得できる。
【0046】
ワークWの高さ情報が二次元座標上に配置された高さデータを取得する手法は特に限定されるものではなく、どのような手法であってもよく、手法に応じたハードウェア及びソフトウェアを適宜選択できる。取得部Aは、高さデータを取得することで三次元画像を生成できる。
【0047】
すなわち、高さデータを取得する手法としては、大きく分けて2つの方式があり、一つは、通常の輝度画像を得るための照明条件で撮像した画像を用いて高さデータを取得するパッシブ方式(受動計測方式)、もう一つは、高さ方向の計測をするための光を能動的に照射して高さデータを取得するアクティブ方式(能動計測方式)である。パッシブ方式の代表的な手法は、ステレオ計測法である。これは、撮像部3を2台用意し、これら2台の撮像部3を所定の位置関係で配置してそれぞれ撮像を実行させ、生成された2枚の画像に基づいて周知の演算を行うことで高さデータを取得できる。
【0048】
アクティブ方式の代表的な手法は、光切断法とパターン投影法である。光切断法は、上述したステレオ計測法において、一方の撮像部3をレーザ投光器に置き換えて、ワークWに対してライン状のレーザ光を投光し、ワークWの表面の形状に応じたライン光の像の歪み具合に基づいてワークWの三次元形状を復元する。光切断法は、対応点の決定が不要であるので安定した計測が可能である。
【0049】
パターン投影法は、ワークWに投光された所定の投影パターンの形状や位相等をずらして複数枚の画像を撮像し、撮像した複数枚の画像を解析することでワークWの三次元形状を復元する方法である。パターン投影法には幾つか種類があり、正弦波縞模様パターンの位相をずらして複数枚(最低3枚以上)の画像を撮像し、複数枚の画像から画素ごとに正弦波の位相を求め、求めた位相を利用してワーク表面上の三次元座標を求める位相シフト法や、2つの規則的なパターンが合成されるときに生じる一種の空間周波数のうねり現象を利用して三次元形状を復元するモアレポトグラフィ法、ワークWに投影するパターン自体を撮影毎に異ならせ、例えば白黒デューティ比50%で縞幅が画面半分、4分の1、8分の1、、、と細くなっていく縞パターンを順次投影し、それぞれのパターンにてパターン投影画像の撮影を行い、ワークWの高さの絶対位相を求める空間コード化法、ワークに複数の細線状のパターン照明(マルチスリット)を投影し、スリット周期より狭いピッチでパターンを移動させ、複数回撮影を行うマルチスリット法等が代表的である。
【0050】
また、上述した位相シフト法と空間コード化法とを組み合わせて高さデータを取得することもできるが、これに限られるものではなく、他の方法によって高さデータを取得しても構わない。また、上述した方法以外の方法、例えば光レーダ法(タイムオブフライト)、合焦点法、共焦点法、白色光干渉法等、高さデータを取得するために考え得る如何なる手法を採用しても構わない。
【0051】
上記照明装置2及び撮像部3は、パターン投影法を実現可能に構成されている。以下、照明装置2及び撮像部3の具体的な構成について説明する。
【0052】
(照明装置2の構成)
まず、照明装置2ついて説明する。照明装置2は、ワークWに対して所定の投影パターンを有する構造化照明を投光する投光部であり、発光部2aと、発光部2aを制御する照明制御部2bとを備えている。発光部2aと照明制御部2bとは、別体であってもよいし、一体化されたものであってもよい。また、照明制御部2bは、設定装置4に組み込まれていてもよい。発光部2aは、たとえば発光ダイオード、液晶パネルを用いたプロジェクタ、有機ELパネル、デジタルマイクロミラーデバイス(DMD)等で構成することができ、照明部と呼ぶこともできる。発光ダイオード、液晶パネル、有機ELパネル、DMDについては図示しないが、従来から周知の構造のものを用いることができる。照明装置2は、設定装置4に対して信号線100aを介して接続されており、撮像部3及び設定装置4から離して設置することができるようになっている。
【0053】
実施形態1の照明装置2は、均一面発光を行うことができるように構成される。また、照明装置2は、所定の投影パターンを有する構造化照明の一例として、デフレクトメトリ処理を実現可能な照明を行うことができるように構成されており、従って、周期的な照度分布を有するパターン光をワークWに照射する発光部2aを有している。すなわち、照明装置2は、複数の異なるパターン光をワークWに対して順次照射するパターン光照明を実行するパターン光照明部とすることができる。以下、デフレクトメトリ処理を行うことによって高さデータを含む検査用画像を取得する場合に用いる照明装置2について説明する。
【0054】
複数の発光ダイオードを用いる場合には、複数の発光ダイオードをドットマトリクス状に配置して電流値制御によって周期的な照度分布を有するパターン光を生成することができる。たとえば、明暗がY方向に変化するY方向パターン光の場合、縞模様がY方向に繰り返されるパターン光という表現とすることもでき、このY方向パターン光を生成する際には、照度分布の位相をY方向にシフトさせることにより、照度分布の位相が異なった複数のY方向パターン光を生成することができる。Y方向パターン光の照度分布をsin波形に近似した波形で表すこともでき、この場合、たとえば位相を90゜ずつ変化させて、0゜の場合のY方向パターン光、90゜の場合のY方向パターン光、180゜の場合のY方向パターン光、270゜の場合のY方向パターン光を生成することができる。
【0055】
また、明暗がX方向に変化するX方向パターン光の場合、縞模様がX方向に繰り返されるパターン光という表現とすることもでき、このX方向パターン光を生成する際には、照度分布の位相をX方向にシフトさせることにより、照度分布の位相が異なった複数のX方向パターン光を生成することができる。X方向パターン光の照度分布をsin波形に近似した波形で表すこともでき、この場合、たとえば位相を90゜ずつ変化させて、0゜の場合のX方向パターン光、90゜の場合のX方向パターン光、180゜の場合のX方向パターン光、270゜の場合のX方向パターン光を生成することができる。つまり、照明装置2は、異なる照明態様でワークWを照明することができる。デフレクトメトリ処理を行う場合、ワークWに照射するパターン光はsin波形だけでなく、三角波等のパターン光でも可能である。
【0056】
尚、全ての発光ダイオードに同じ電流値の電流を流すことで照度分布が面内で均一な光を照射することもできる。全ての発光ダイオードに流す電流値を同じにして変化させていくと、暗い面発光状態から明るい面発光状態まで発光状態を変化させることができる。
【0057】
また、液晶パネル及び有機ELパネルの場合は、各パネルを制御することで各パネルから照射される光が周期的な照度分布を有するパターン光となるようにすることができる。デジタルマイクロミラーデバイスの場合は、内蔵された微小鏡面を制御することで周期的な照度分布を有するパターン光を生成して照射することができる。尚、照明装置2の構成は上述したものに限られるものではなく、周期的な照度分布を有するパターン光を生成することができる機器や装置等であれば使用することができる。
【0058】
また、後述するが、フォトメトリックステレオ法を利用して検査用画像を生成する場合に用いる照明装置2は、少なくとも3以上の異なる方向から照明を個別に照射可能な照明装置を用いることができる。また、照明装置2は、マルチスペクトル照明が可能に構成された照明装置であってもよく、照明装置2の構成は特に限定されるものではない。
【0059】
(撮像部3の構成)
次に、撮像部3について説明する。撮像部3は、カメラ31と、集光系光学系32と、撮像制御部33とを有している。撮像部3は、設定装置4に対して信号線100bを介して接続されており、照明装置2及び設定装置4から離して設置することができるようになっている。
【0060】
カメラ31は、集光系光学系32を通して得られた光の強度を電気信号に変換するCCDやCMOS等の撮像素子31dからなるイメージセンサを有している。カメラ31は、ワークWからの反射光の受光量に応じた輝度画像を取得するとともに、照明装置2により投光された構造化照明がワークWで反射した反射光を受光して、複数のパターン投影画像を生成する画像生成部である。また、撮像制御部33は、記憶装置や信号処理装置を有するとともに、カメラ31の露光開始及び終了の制御、露光時間の制御、アナログゲインの調整等を行う部分である。内部の論理回路によってイメージセンサの駆動や、画像データの転送を制御することができる。また、撮像制御部33によって各種画像処理、フィルター処理、画像生成等を行うことができるようになっており、撮像部3は、フィルター処理機能を保有した装置である。
【0061】
集光系光学系32は、外部から入射する光を集光するための光学系であり、典型的には一以上の光学レンズを有している。また、集光系光学系32は、オートフォーカスを実行可能に構成されている。照明装置2からワークWの表面に向けて照射された光が該ワークWの表面で反射して集光系光学系32に入射するように、撮像部3と照明装置2との位置関係を設定することができる。ワークWが透明フィルムやシートのように透光性を有する部材である場合、照明装置2からワークWの表面に向けて照射されたパターン光が該ワークWを透過して撮像部3の集光系光学系32に入射するように、撮像部3と照明装置2との位置関係を設定することができる。上記したいずれの場合も、ワークWの表面で反射した正反射成分及び拡散反射成分が撮像部3の集光系光学系32に入射するように、撮像部3と照明装置2とを配置する。また、撮像部3には、受光素子がY方向に直線状に配置されたラインカメラを用いることもできるが、ラインカメラではなく、エリアカメラ(受光素子がX方向とY方向に並ぶように配置されたカメラ)を用いることもでき、このエリアカメラの場合は、同軸照明という照明形態も可能である。
【0062】
(実施形態2)
図2は、本発明の実施形態2に係る画像検査システム1の概略構成及び運用状態を模式的に示す図である。実施形態2では、撮像制御部33が撮像素子を有するカメラ31及び集光系光学系32から分離しており、この撮像制御部33に照明制御部2bが取り込まれて一体化されている。撮像制御部33は、設定装置4に対して信号線100bを介して接続されている。撮像制御部33と照明制御部2bとは別体とすることもできる。
【0063】
(実施形態3)
図3は、本発明の実施形態3に係る画像検査システム1の概略構成及び運用状態を模式的に示す図である。実施形態3では、撮像制御部33に照明制御部2bが取り込まれて一体化されるとともに、撮像制御部33に表示部5及びマウス7が接続されている。設定装置4は、たとえばノートパソコン等で構成されており、撮像制御部33に接続されている。設定装置4は、キーボード6を有している。また、設定装置4には、マウスを接続してもよい。設定装置4が生成した各種ユーザーインターフェース等は、撮像制御部33を介して表示部5に表示することができる。
【0064】
(実施形態4)
図4は、本発明の実施形態4に係る画像検査システム1の概略構成及び運用状態を模式的に示す図である。実施形態4では、照明装置2と撮像部3とが一体化されており、照明制御部2bと撮像制御部33とも一体化されている。尚、実施形態2~4において、実施形態1と同じ部分には同じ符号を付して説明を省略している。
【0065】
(デフレクトメトリ処理)
実施形態1~4では、撮像部3により生成された複数のパターン投影画像に基づいて、高さデータを取得するように構成されている。具体的には、撮像部3が撮像した複数の輝度画像からデフレクトメトリの原理に基づいてワークWの表面の位相データを生成し、当該位相データに基づいて、ワークWの高さ情報が二次元座標上に配置された高さデータ、即ち、ワークWの形状を示す高さ画像を生成するデフレクトメトリ処理を行うように構成されている。
【0066】
図5に一例を示すように、照明装置2の発光部2aは、第1発光部21、第2発光部22、第3発光部23及び第4発光部24を備えており、これら第1~第4発光部21~24がそれぞれパターン投影可能になっている。
【0067】
以下、
図5に基づいて高さ画像の生成について詳細に説明する。照明装置2の第1発光部21が空間コード法にしたがう4つのパターン光をワークWに照射した場合には、撮像部3が4つの異なる画像からなるグレーコードパターン画像セットを生成する。また、照明装置2の第1発光部21が位相シフト法にしたがう8つのパターン光をワークWに照射した場合には、撮像部3が8つの異なる画像からなる位相シフトパターン画像セットを生成する。
【0068】
同様に、照明装置2の第2発光部22が空間コード法にしたがうパターン光をワークWに照射した場合には、グレーコードパターン画像セットが生成され、また、位相シフト法にしたがうパターン光をワークWに照射した場合には、位相シフトパターン画像セットが生成される。
【0069】
同様に、照明装置2の第3発光部23が空間コード法にしたがうパターン光をワークWに照射した場合には、グレーコードパターン画像セットが生成され、また、位相シフト法にしたがうパターン光をワークWに照射した場合には、位相シフトパターン画像セットが生成される。
【0070】
同様に、照明装置2の第4発光部24が空間コード法にしたがうパターン光をワークWに照射した場合には、グレーコードパターン画像セットが生成され、また、位相シフト法にしたがうパターン光をワークWに照射した場合には、位相シフトパターン画像セットが生成される。
【0071】
位相シフトパターン画像セットを生成した後、位相シフトパターン画像セットの各画像データを取得し、位相シフト法を利用することにより、相対位相計算処理を行うことができる。これにより、位相画像を取得できる。この位相は相対位相(Unwrapping前位相)である。
【0072】
また、グレーコードパターン画像セットを生成した後、グレーコードパターン画像セットの各画像データを取得し、空間コード法を利用することにより、空間コード算出処理を行い、縞番号画像を得る。縞番号画像は、光が照射される空間を多数の小空間に分けた場合に、小空間に一連の空間コード番号を付して識別可能にした画像である。
【0073】
その後、絶対位相位相化処理を行う。絶対位相位相化処理では、位相画像と、縞番号画像とを合成(Unwrapping)して絶対位相画像(中間画像)を生成する。つまり、空間コード法によって得た空間コード番号により、位相シフト法による位相ジャンプの補正(位相アンラップ)ができるので、高さのダイナミックレンジを広く確保しつつ、高分解能な測定結果を得ることができる。
【0074】
なお、位相シフト法のみで高さ測定を行うようにしてもよい。この場合は、高さの測定ダイナミックレンジが狭くなるので、位相が1周期以上ずれてしまうような高さの相違が大きいワークWの場合は、高さの測定が正しく行えない。逆に、高さの変化が小さなワークWの場合は、空間コード法による縞画像の撮像や合成を行わないので、その分だけ処理を高速化することができるメリットがある。例えば、高さ方向の差異が少ないワークWを測定する際には、ダイナミックレンジを大きく取る必要がないため、位相シフト法のみでも高精度な高さ測定性能を維持しつつ、処理時間を短くすることができる。また、絶対高さは判るので空間コード法のみで高さ測定するように構成してもよい。この場合、コードを増やすことによって精度を高めることができる。
【0075】
絶対位相画像は、各画素がワークWへのパターン光の照射角度情報を有する角度画像ということもできる。すなわち、第1パターン画像セット(位相シフトパターン画像セット)には、正弦波縞模様パターンの位相をずらして撮像した8枚の第1パターン画像が含まれているので、位相シフト法を利用することによってワークWへのパターン光の照射角度情報を各画素が有することになる。つまり、複数の第1パターン画像に基づいて、各画素がワークWへの第1測定用パターン光の照射角度情報を有する第1角度画像を生成することができる。第1角度画像は、第1発光部21からワークWへ照射される光の角度を画像化した画像である。
【0076】
同様に、複数の第2パターン画像に基づいて各画素がワークWへの第2測定用パターン光の照射角度情報を有する第2角度画像と、複数の第3パターン画像に基づいて各画素がワークWへの第3測定用パターン光の照射角度情報を有する第3角度画像と、複数の第4パターン画像に基づいて各画素がワークWへの第4測定用パターン光の照射角度情報を有する第4角度画像とを生成することができる。
【0077】
図5における中間画像の最も上の画像が第1角度画像であり、上から2番目の画像が第2角度画像であり、上から3番目の画像が第3角度画像であり、一番下の画像が第4角度画像である。各角度画像の真っ黒に塗りつぶされたように見える部分が照明の影になっている部分であり、角度情報の無い無効画素となる。
【0078】
第1角度画像と第2角度画像とによって第1高さ画像を生成でき、また、第3角度画像と第4角度画像とによって第2高さ画像を生成できる。その後、第1高さ画像と第2高さ画像とを合成して合成後高さ画像を生成できる。これにより、合成後高さ画像では無効画素の数を少なくすることができる。
【0079】
(実施形態5)
図6は、本発明の実施形態5に係る画像検査システム1の概略構成及び運用状態を模式的に示す図である。上記実施形態1~4は、デフレクトメトリの原理に基づいて検査用画像を生成する形態であるのに対し、実施形態5では、フォトメトリックステレオ法を利用して検査用画像を生成するように構成されている。
【0080】
以下、フォトメトリックステレオ法を利用して検査用画像を生成する具体的な方法について、
図6を参照しながら、実施形態1と同じ部分には同じ符合を付して説明を省略し、異なる部分について詳細に説明する。
【0081】
実施形態5に係る画像検査システム1は、たとえば特開2015-232486号公報に開示されている画像検査システムと同様に構成することができる。すなわち、画像検査システム1は、ワークWを一定の方向から撮像する撮像部3と、ワークWを異なる三以上の照明方向から照明するための照明装置200とを備えるとともに、実施形態1と同様な表示部5、キーボード6及びマウス7を少なくとも備えている。撮像部3と照明装置200とにより取得部Aが構成されている。
【0082】
照明装置200は、ワークWに対して、互いに異なる方向から光を照射するように構成されており、第1~第4発光部201~204と、第1~第4発光部201~204を制御する照明制御部205とを有している。この照明装置200は、ワークWに対して互いに異なる方向から光を照射する複数方向照明を実行する部分であり、所定の投影パターンを有する構造化照明を投光可能に構成されている。第1~第4発光部201~204は互いに間隔をあけてワークWを取り囲むように配置されている。第1~第4発光部201~204は、発光ダイオード、白熱球、蛍光灯等を利用することができる。また、第1~第4発光部201~204は別体であってもよいし、一体化されていてもよい。
【0083】
この実施形態では、第1~第4発光部201~204を順次点灯させ、第1~第4発光部201~204のいずれかが点灯した時点で、撮像部3がワークWを撮像する。たとえば、照明装置200が1回目の照明トリガ信号を受信すると、照明制御部205が第1発光部201のみ点灯させる。このとき撮像部3は撮像トリガ信号を受信して光が照射されるタイミングでワークWを撮像する。照明装置200が2回目の照明トリガ信号を受信すると、照明制御部205が第2発光部202のみ点灯させ、このとき撮像部3はワークWを撮像する。このようにして4枚の輝度画像を得ることができる。なお、照明の数は4つに限られるものではなく、3つ以上で、かつ、互いに異なる方向からワークWを照明することができれば任意の数にすることができる。
【0084】
そして、撮像部3によって撮像された複数の輝度画像同士で対応関係にある画素毎の画素値を用いて、各画素のワークWの表面に対する法線ベクトルを算出する。算出された各画素の法線ベクトルに対してX方向及びY方向に微分処理を施し、ワークWの表面の傾きの輪郭を示す輪郭画像を生成する。また、算出された各画素の法線ベクトルから、法線ベクトルと同個数の各画素のアルベドを算出し、アルベドから、ワークWの表面の傾き状態を除去した模様を示すテクスチャ描出画像を生成する。この手法は周知の手法であることから詳細な説明は省略する。複数の輝度画像をフォトメトリックステレオの原理に基づいて合成することで、ワークWの形状を示す形状画像(高さ画像)を生成することができる。
【0085】
(マルチスペクトル照明)
他の実施形態として、所定の投影パターンを有する構造化照明としてマルチスペクトル照明が可能な照明装置2であってもよい。マルチスペクトル照明とは、波長が異なる光を、タイミングをずらしてワークWに照射することであり、印刷物(検査対象物)の色むらや汚れ等を検査するのに適している。たとえば、黄色、青色、赤色を順番にワークWに照射可能となるように、照明装置2を構成することができ、具体的には、多数色のLEDを有する照明装置2としてもよいし、液晶パネルや有機ELパネル等で照明装置2を構成してもよい。
【0086】
撮像部3は、光が照射されるタイミングでワークWを撮像して複数の輝度画像を得る。そして、複数の輝度画像を合成して検査用画像を得ることができる。これをマルチスペクトルイメージングと呼ぶ。尚、照射する光には紫外線や赤外線も含むことができる。
【0087】
(カメラ31と画像検査アプリケーションとの接続インターフェース)
実施形態1~5のカメラ31は、GenICam規格に対応したGenICam規格対応カメラである。GenICam規格は、PCアプリケーションとカメラ31との接続インターフェースを標準化する規格であり、
図7に示すように、主に設定装置4の本体部となるパーソナルコンピュータ上に構築する画像検査アプリケーション40からカメラ31を制御したり、カメラ31で撮像された画像を設定装置4の画像検査アプリケーション40で取得するインターフェースを標準化したものである。撮像部3と設定装置4の画像検査アプリケーション40の双方がGenICam規格に対応していれば、カメラ31と、設定装置4の画像検査アプリケーション40とを接続することが可能になっている。画像検査アプリケーション40は、パーソナルコンピュータにインストールされたソフトウェアで構成される。尚、この実施形態では、カメラ31及び設定装置4が標準化規格としてGenICam規格に対応している場合について説明するが、標準化規格はGenICam規格に限られるものではなく、他の標準化規格であってもよい。
【0088】
画像検査アプリケーション40を階層構造に分解した場合を想定すると、GenICam層41は、画像検査アプリケーション40における実際に画像検査や欠陥検査等を行う上位の階層(検査部4A、画像処理部4B)と、具体的なネットワーク通信規格に基づき制御を行う階層42との間に位置する中間層の位置付けとなる。GenICam層41は、大きく2つの部分、GenApi41a及びGenTL(TL:Transport Layer)41bに分類することができる。GenApi41aは、カメラ31の設定項目と、カメラ31内部のレジスタアドレスの変換を行う部分である。このGenApi41aにより、画像検査アプリケーション40からはカメラ31の具体的なアドレスを指定することなく、抽象的に、露光時間であれば、「ExposureTime」、アナログゲインであれば「AnalogGain」といった文字列を引数に設定項目を指定し、カメラ31と接続した際に、カメラ31から取得したDeviceXML(詳細は後述する)と呼ばれるファイルを解析することで、その文字列(Featureと呼ばれる)に対応したレジスタアドレスを割り出すことができる。
【0089】
GenTL41bは、画像検査アプリケーション40とカメラ31との間のデータの転送を制御するインターフェース(API)を規定したものであり、具体的には、カメラ31のレジスタへの書き込み、読み出しAPIの仕様及びカメラ31から転送した画像データの画像検査アプリケーション40の上位の層への受け渡しを行うAPIの仕様を規定したものである。
【0090】
画像検査アプリケーション40とカメラ31を接続する物理的な規格は、高速ネットワークを使用した規格であればよく、例えば、Ethernetケーブル31aを利用したGigE Vision規格3Aと、USB3.0対応ケーブル31bを利用したUSB3Vision規格3Bとがある。よって、撮像部3と設定装置4とは、ネットワークを介して接続されることになるが、このネットワークは、高速ネットワークケーブルを利用した有線であってもよいし、無線であってもよい。また、ネットワークは、Ethernetケーブル31aやUSB3.0対応ケーブル31b以外のケーブルを用いたネットワークであってもよく、特に限定されるものではない。
【0091】
GenICam規格は、物理的な通信規格として使用するものを具体的に特定しておらず、GenTL41bという形で抽象化した仕様を規定しているに留まっている。このGenTL41bの下位の階層42として、GigE Vision規格3AやUSB3Vision規格3Bといった、具体的な通信ネットワークを用いて通信規格が規定されている。具体的な通信規格は、GigE Vision規格3AやUSB3Vision規格3Bに限られるものではなく、GenICam規格に対応していればよい。
図7では、GigE Vision規格3A及びUSB3Vision規格3Bの概念を説明するために、各規格に対応したカメラ31、31を設定装置4に接続した状態を示しているが、一方のカメラ31のみを設定装置4に接続して使用することができる。
【0092】
GenICam規格対応カメラ31には、DeviceXMLと呼ばれるファイル(DeviceXMLファイル)31cが記憶されている。DeviceXMLファイル31cは、カメラ31に内蔵された記憶装置(内部メモリ)に記憶されている。GenICam規格に対応した画像検査アプリケーション40では、画像検査アプリケーション40による設定対象であるカメラ31と接続する際に、そのカメラ31からDeviceXMLファイル31cを読み込む。DeviceXMLファイル31cの読み込みは、たとえば、カメラ31からDeviceXMLファイル31cをダウンロードする方法がある。ダウンロードされたDeviceXMLファイル31cはGenApi41aで保持される。DeviceXMLファイル31cのダウンロードは、画像検査アプリケーション40側からの要求によって行うことや、カメラ31との接続時に自動的に行うことができ、このDeviceXMLファイル31cのダウンロードにより、設定装置4はDeviceXMLファイル31cを取得できる。また、接続するカメラ31からダウンロードせずに、そのカメラ31に対応したDeviceXMLファイル31cを別の手段(例えばウェブサイトからのダウンロード)により入手して、接続時にGenApi41aに対して指定することも可能である。
【0093】
DeviceXMLファイル31cには、カメラ31の内部に保持する全ての設定項目と、各設定項目の設定値が格納されるレジスタアドレス(レジスタ情報)とが関連付けられて記述されている。設定項目はFeatureと呼ばれ、各Featureには、個々のFeatureを特定するための文字列が割り当てられている。各Featureのノードには、具体的なレジスタアドレスが記載されたノードへの参照が記載される。レジスタ情報には、レジスタアドレスや、レジスタを特定する文字列も含まれる。
【0094】
DeviceXMLファイル31cにおいて、たとえば、「ExposureTime」(露光時間設定)という名称のFeatureがあり、その属性が「ExposureTimeReg」というレジスタアドレスを参照するように指示されており、具体的なアドレスとして、ある値が記載されていたとする。カメラ31が異なれば、アドレスが異なる値になることがあるが、「ExposureTime」というFeatureの名称については共通である。このように、多くのカメラ31で共通した設定項目として存在するものを統一した名称で管理することで、画像検査アプリケーション40においてはカメラ31の機種の違いやメーカーの違いを意識することなく、カメラ31を設定、制御することが可能になる。
【0095】
上述したように、GenApi41aの階層では、DeviceXMLファイル31cの記載内容を解析することで、上位の階層である画像検査アプリケーション40から引数として渡されたFeature文字列をレジスタのアドレスに変換する。たとえば、「ExposureTime」というFeatureに対応したレジスタにある値(値:100.5)を書き込む場合、WriteRegister(アドレスの値,100.5)といったように、アドレスの値と、書き込む値との2つを引数とした関数を実行することで、GigE Vision規格3AまたはUSB3Vision規格3Bなど、物理通信規格を経由してカメラ31のレジスタの値を設定することができる。
【0096】
尚、DeviceXMLファイル31cには、各メーカーで共通のFeatureとして盛り込むべきものが規定されているが、それ以外にベンダー独自のFeatureを定義することも可能である。独自性の高い機能を有しているカメラ31の場合、専用のFeatureを通じてカメラ31にアクセスすることで、汎用的なカメラに存在しない特殊な機能を利用することも可能である。
【0097】
(撮像部3の内部処理ユニット)
図8は、撮像部3の内部処理の一例を概念的に示すフローチャートである。このフローチャートにおいて、位置補正1のグループは、当該グループに内包されるパターンサーチのユニットと位置補正のユニットとからなるように記載されているが、位置補正2~5のグループは記載されていない。これは、図を簡略化するため、位置補正2~5のグループを折り畳んであることによる。
【0098】
このフローチャートに示すように、複数のユニットの組み合わせで構成されている。ユニットは、撮像や画像処理を制御する単位であり、ユニットをフローチャート上で組み合わせることで、撮像部3に所望の動作を実現させることができる。
図8に示すフローチャートでは、ユニットを1つのステップとして記載している。
【0099】
たとえば、ユーザの設定により、ある処理を行う機能を有効にした場合、その機能に対応したユニットを追加することで、処理を実行可能にすることができる。ユニットは、処理を実行するためのプログラムと、処理を実行するために必要なパラメータや、処理結果のデータを格納する記憶領域を一つにまとめたものと定義することができる。各処理は、
図1に示す撮像制御部33で行うことができ、また、記憶領域は、撮像制御部33の記憶装置に確保することができる。尚、ユニットの概念自体は、GenICam規格に対応したカメラ31の外部仕様を実現する際に必須なものではない。
【0100】
図8に示すフローチャートは、複数のユニットを縦方向及び横方向にフローチャート形式で並べたものであり、単にフローと呼ぶこともできる。複数のユニットを縦方向にのみ並べたフローチャートであってもよい。
図8に示すフローチャートのスタートからエンドに向かって順に処理を実行していくが、途中に分岐ステップSB1を設けることで、分岐させることもできる。分岐した場合には、エンドまでの間に合流ステップSB2を設けることができ、これにより、合流させてからエンドに進むことができる。
【0101】
(パラメータセット)
画像検査アプリケーション40を実際の検査環境において動作させる場合、ワークWが切り替わったり、明るさなど、周囲の環境の変化を検知した場合には、撮像部3の設定パラメータを動的に変更することがある。露光時間など、ごく限られたパラメータのみ変更する場合は、画像検査アプリケーション40から、それに対応したFeatureの値を直接書き込むことで対応することもできる。
【0102】
一方で、高機能な撮像部3の場合、設定可能な項目の数が増え、ワークWの切り替え時などに、一度に変更すべきパラメータの数も多くなる。この場合、設定変更に要する時間が、パラメータの数に相関して長くなっていく。実際の画像検査ラインにおいては、ワークWが切り替わり、新しいワークWが撮像部3の撮像視野範囲に到達してから当該視野範囲を外れるまでの時間が短いことが多く、一連の設定変更を高速に行いたいケースが出てくる。このようなときに、パラメータセットと呼ばれる機能を使用することがある。
【0103】
パラメータセットは、撮像部3で撮像する際の各種パラメータの組合せを事前に複数パターン保有しておき、それぞれのパターンをパラメータセット番号によって管理できるようにしたものである。例えば、ワークWの品種が3種類あり、それぞれに異なるパラメータで撮像とその後の処理を行いたい場合、パラメータセットを3個用意しておく。
【0104】
パラメータセットを利用すると、ワークWの撮像を行う前に、次に撮像するワークWの品種に対応したパラメータセット番号を指定するだけで、一連の設定変更を短時間で完了させることができる。画像検査アプリケーション40から見た場合、パラメータセット番号を指定するFeatureは、後述するセレクタの一種と考えることができる。
【0105】
画像検査アプリケーション40側から設定する対象を切り替えるセレクタと、動作時に撮像部3が内部的に参照するパラメータを切り替えるレジスタは、独立させることも、同一にすることも可能である。設定できるパラメータセットの数の上限は、撮像部3の内部に設けられた内部メモリのパラメータ保持空間に限定される。
【0106】
パラメータセットの概念は、フィルター処理機能を保有した撮像部3に展開することも可能である。たとえば、パラメータセットIndexが1の時は2値化フィルターを実行し、パラメータセットIndexが2の時は膨張フィルターを実行し、パラメータセットIndexが3の時はフィルターを非実行とするように、パラメータセットIndexに対応したパラメータを設定していたとする。このようにすることで、撮像と、フィルター処理として実行する内容を、パラメータセットIndexにより動的に切り替えることができる。
【0107】
GenICam規格では、撮像パラメータを動的に切り替える機能をサポートしている。撮像部3は、GenICam規格に則り、全ての設定パラメータをFeatureによってアクセスできるようにしている。撮像機能としては、照明装置2と撮像部3とを同期させて複数パターンで撮像した画像を専用のアルゴリズムによって合成する機能(上述したデフレクトメトリの原理を利用した検査画像の生成)、波長が異なる光を照射して複数の画像を取得するマルチスペクトルイメージング機能など、複数の照明-撮像制御モードを有している。これらは、上記のパラメータセットごとに設定可能であり、条件に応じて動的に切り替えながら、撮像処理、フィルター処理、合成処理、画像出力を実行することが可能である。撮像機能によって生成される画像には、照明の点灯パターンを切り替えながら、イメージセンサで取得した画像そのものであってもよいし、上述した専用アルゴリズムによって合成された複数の画像が含まれていてもよい。
【0108】
フィルター処理は、同一パラメータセット内に、複数のパターンを設定することが可能である。例えば、上述の撮像機能では、一連の撮像実行により、複数パターンの画像が生成されることになるが、そこで生成された異なる複数の画像に対して、個別にフィルター処理を施すことが可能である。また、別のパターンでは、同一の画像に対して、特定の領域の範囲(ROI:Region Of Interest)を設定した上で、それぞれの領域内部のみをフィルター処理することも可能である。特定の領域の範囲の設定は、たとえばキーボード6やマウス7の操作によって行うことができる。特定の領域は、1つであってもよいし、複数であってもよい。特定の領域の大きさは任意に設定することができる。
【0109】
フィルター処理は、同一の画像に対して複数種類を多段階に繰り返し設定することができる多段階フィルターであってもよい。たとえば、ある画像に対して膨張フィルター処理を実行した後、その画像に対して2値化フィルター処理を実行することができる。フィルター処理は多段階フィルターに限られるものではなく、1つのフィルター処理であってもよい。
【0110】
GenICam規格の撮像パラメータを動的に切り替える機能を利用し、
図8に示すように複数のパラメータセットを1つのフローチャートにまとめることができる。撮像部3の内部処理フローチャート上で、分岐ステップSB1から合流ステップSB2までの間のフローチャートを形成するユニット群をまとめてパラメータセットと呼ぶ。
図8に示す例では、4つのパラメータセット、即ち、第1~第4パラメータセットを有している。つまり、ユーザにより設定された処理を実現するための複数のセレクタの値の組み合わせが複数パターン存在している。第1~第4パラメータセットのいずれを選択するかは、ユーザが設定することができ、たとえば、パラメータセット番号1を選択すると第1パラメータセットが自動的に選択される。
【0111】
図8に示すフローチャートのスタート後、分岐ステップSB1において第1~第4パラメータセットのいずれかのパラメータセットを構成する各ユニットを経た後、合流ステップSB2で合流し、エンドに進むことができる。パラメータセット番号1が選択されていると、分岐ステップSB1において分岐番号が1になり、第1パラメータセットの各処理を実行する。パラメータセット番号2が選択されていると、分岐ステップSB1において分岐番号が2になり、第2パラメータセットの各処理を実行する。パラメータセット番号3が選択されていると、分岐ステップSB1において分岐番号が3になり、第3パラメータセットの各処理を実行する。パラメータセット番号4が選択されていると、分岐ステップSB1において分岐番号が4になり、第4パラメータセットの各処理を実行する。パラメータセットの数は4つに限られるものではなく、任意に設定することができる。
【0112】
パラメータセットの具体例を
図9及び
図10に示す。
図9は、デフレクトメトリの原理を利用した検査画像の生成を行う場合のパラメータセットである。ユニットUA1では、デフレクトメトリの原理を利用した検査画像の生成を行うべく、1回のトリガ信号で複数の撮像処理を実行し、ユニットUA2では膨張フィルター処理を実行し、ユニットUA3では平均化フィルター処理を実行し、ユニットUA4では濃淡反転処理を実行する。つまり、ユニットUA1で撮像された撮像画像に対して、フィルター処理を含むパラメータセットで定義された多段階の処理が逐次的に実行される。その後、ユニットUA5では、多段階の処理が逐次的に実行された画像データをPCへ転送、即ち外部機器である設定装置4等へ出力する。尚、画像データを転送することなく、内部に保持しておいてもよい。パラメータセットによっては、多段階の処理を行わないように設定することもできる。設定装置4に転送された場合、
図7に示す画像検査アプリケーション40の検査部4Aにおいて欠陥検査、良否判定を行うことができる。欠陥検査及び良否判定のアルゴリズムは従来から周知のものを使用することができる。
【0113】
一方、
図10は、マルチスペクトルイメージングにより検査画像の生成を行う場合のパラメータセットである。ユニットUB1ではマルチスペクトルイメージングにより検査画像の生成を行うべく、1回のトリガ信号で複数の撮像処理を実行し、ユニットUB2では、ある領域(領域0)に対して二値化フィルター処理を実行し、ユニットUB3では、領域0とは別の領域(領域1)に対して膨張フィルター処理を実行する。つまり、この例でも、ユニットUB1で撮像された撮像画像に対して、フィルター処理を含むパラメータセットで定義された多段階の処理が逐次的に実行される。その後、ユニットUB4では処理を非実行とする。ユニットUB5では
図9に示す場合と同様に画像データをPCへ転送する。この例のように、パラメータセット内には処理を行わないユニット、即ち無効化されたユニットが存在していてもよく、有効化されたユニットと無効化されたユニットとが混在したパラメータセットであってもよい。
【0114】
(移動体追従)
フォトメトリックステレオやマルチスペクトルの原理に基づいて検査用画像を生成する場合は、1回のトリガ信号で複数の撮像処理を実行し、得られた複数の画像を合成することになる。この場合、複数の撮像処理の間でワークWが移動していると、撮像後の合成処理が正しく行えないので、画像ごとのずれ量を検知する必要がある。このずれ量検知のためのサーチをサーチユニットで行うことができ、検知したずれ量に基づいてずれ量の補正を行ってから複数の画像の合成処理を実行する。
【0115】
合成処理は、画像演算ユニットで行うことができる。複数の撮像画像を合成するための合成設定が設定項目としてDeviceXMLファイルに含まれている。したがって、撮像部3が撮像した撮像画像を外部に出力する前に、当該撮像画像に対して適用される処理に関する設定項目として、複数の撮像画像を合成する合成設定がDeviceXMLファイルには含まれることになる。
【0116】
(ユニットの種類)
ユニットには複数の種類があり、たとえば、検査領域を決定するパターンサーチ処理を行うパターンサーチユニット、位置補正ユニット、内部で画像の位置補正や色抽出、フィルター処理などを行う画像演算ユニット、あるいは、これらの比較的単純な処理を行うユニットを複合させて高機能化させたものなどがある。各ユニットは、撮像部3が撮像した撮像画像を外部に出力する前に、当該撮像画像に対して適用される処理を実行するためのユニットである。
【0117】
パターンサーチユニットは、撮像部3が撮像したワークWを含む画像のなかから、当該ワークWや、ワークWにおける検査対象部分をサーチし、撮像画像中のワークWの位置補正を行うためのユニットである。たとえば、画像検査システム1の設定時に、ワークWを撮像した画像上で、周知のエッジ検出手法によってエッジ検出を行い、検出したエッジにより特定される領域をワークW、またはワークWの検査対象部分のモデル(サーチ用モデル画像)として撮像部3の記憶装置に記憶させておくことができる。エッジ検出処理自体は従来から周知の手法を用いることができ、例えば、輝度画像上の各画素の画素値を取得し、輝度画像上の画素値の変化がエッジ検出用のしきい値以上となる領域が存在する場合に、その境界部分がエッジであるとして抽出する。エッジ抽出の閾値はユーザが任意に調整することができる。
【0118】
画像検査システム1の設定後、画像検査システム1の運用時には、順次搬送されてくるワークWを撮像して検査用画像を得て、パターンサーチユニットが、得られた検査用画像上でワークWまたはワークWの検査対象部分の有無を、上記記憶されているモデルに基づいてサーチ処理を行うとともに、サーチ処理によってワークWの位置と角度を計測する。ワークWの位置はX座標及びY座標で特定することができる。また、ワークWの角度は、撮像部3の撮像軸回りの角度とすることや、
図1に示すZ軸周りの角度とすることができる。
【0119】
位置補正ユニットは、撮像部3が撮像したワークWを含む画像のなかから、当該ワークWや、ワークWにおける検査対象部分をパターンサーチユニットでサーチし、ワークWの位置と角度を計測した後に、画像中のワークWの位置補正を行うためのユニットである。画像検査システム1の運用時には、複数のワークWが常に同じ位置及び姿勢で搬送されてくるとは限らず、様々な位置にあるワークWや様々な姿勢のワークWが搬送されてくることがある。パターンサーチユニットでワークWの基準となる部分をサーチしてから位置補正ユニットで位置補正することができるので、ワークWの基準となる部分が、常に一定の位置となり、かつ、ワークWが所定の姿勢となるように、画像を回転させたり、画像を縦方向や横方向に移動させることにより、位置補正を行う。位置補正を行うための位置補正ツールは、たとえばパターンサーチ等、複数の種類のツールを用意しておくことができる。
【0120】
画像演算ユニットは、複数の種類があり、たとえば、フィルター処理を行うユニット、撮像部3で撮像された複数の画像を合成する合成処理を行うユニット、デフレクトメトリ処理を行うユニット、フォトメトリックステレオ法を利用して検査用画像を生成するユニット、マルチスペクトルイメージングを行うユニット等がある。フィルター処理の種類は複数あるので、フィルター処理を行うユニットは、たとえば二値化フィルター、膨張フィルター等、複数の種類設けることができる。デフレクトメトリ処理による検査画像の生成は、上述したように複数の処理を経るので、処理毎にユニットを設けてもよく、正反射成分画像を生成するユニット、拡散反射成分画像を生成するユニット、参照位相差分画像を生成するユニット等を設けることができる。
【0121】
(設定装置4の構成)
設定装置4は、ユーザにより設定された各設定項目の設定値と、DeviceXMLファイル31cに含まれる各設定項目に対応するレジスタ情報を示すデータを撮像部3に送信し、当該撮像部3の設定を行うための装置である。
【0122】
図7に示すように、設定装置4は、UI生成部4aを備えている。UI生成部4aは、各種ユーザーインターフェース画像を生成する部分である。UI生成部4aで生成された各種ユーザーインターフェース画像は表示部5に表示される。
【0123】
ユーザーインターフェース画像上で、編集対象の画像を切り替えることや、設定項目の表示及び変更を行うこと、編集対象である画像を表示することができる。設定項目としては、例えば、位置補正設定やフィルター処理設定等があり、位置補正設定に対応するFeatureとして、位置補正を有効にするか否かの選択を行う部分と、位置補正ツールの種別選択を行う部分とが割り当てられる。また、フィルター処理設定に対応するFeatureとして、選択されたフィルターの種類と、抽出サイズや抽出色といったフィルターの設定に関するパラメータを選択、調整する部分とが割り当てられる。
【0124】
例えば、ユーザが任意の画像を選択すると、内部的には、その画像を生成するために使用する前処理モジュールに対応したインデックスの値に、設定対象を指定するセレクタの値が切り替わり、これにより、設定可能な内容が画像に応じて切り替わる。設定対象を指定するセレクタの値が指定されると、その値に対応したセレクタが指し示す前処理モジュールの一つ又は複数のFeatureを読み取り、設定項目を反映した画像を生成して表示させるとともに、位置補正やフィルター設定としてそれぞれのパラメータ値を表示する。位置補正やフィルター設定のパラメータ値をユーザが操作すると、その操作が受け付けられて、設定対象を指定するセレクタの値に対応した前処理モジュールに該当するユニットの設定項目が変更される。
【0125】
セレクタの値からアクセス対象のユニットを特定する方法は、以下の方法を使用することができる。すなわち、前処理モジュールは複数のユニットから構成されており、前処理モジュールのインデックスを切り替えるセレクタは、これらユニットで共通したものを使用することができ、前処理モジュールを構成する複数のユニットに対して、どのFeatureがどのユニットに属するかは、Feature名称によって一意に定まるように命名することが可能である。これにより、セレクタの値と、編集対象として選択されているFeatureの組合せからアクセス対象のユニットを特定することができる。
【0126】
したがって、ユーザが撮像部3の設定項目に対して設定値の変更を行うと、ユーザにより設定された各設定項目の設定値と、DeviceXMLファイルに含まれる各設定項目に対応するレジスタ情報を示すデータが撮像部3に送信されて、撮像部3の設定を行うことができるので、標準化規格に適合した撮像部3であれば設定装置4側から設定値を変更することができ、撮像部3の機種選定の自由度が向上する。
【0127】
また、セレクタの値の組合せによって、逐次的に実行される多段階の処理の一部を一意に特定することができるので、標準化規格に適合した撮像部3で、例えば、フォトメトリックステレオやデフレクトメトリの原理を利用した検査画像の生成、マルチスペクトルイメージング、生成後の検査画像にフィルター処理を施すといった複数段階の処理が行えるようになる。
【0128】
(検査設定部400の具体的構成例)
以下に設定装置4の具体的構成例について説明する。
図7に示すように、設定装置4は検査設定部400を備えている。検査設定部400は、設定装置4にてユーザ操作に基づく各種検査設定を行う部分であり、
図11に示すように、オブジェクト生成手段401と、表示手段402と、姿勢調整手段403と、領域指定受付手段404と、要素生成手段405と、領域設定手段406とを備えている。検査設定部400は、設定装置4にインストールされたプログラムを実行することで設定装置4に構築され、当該プログラムを設定装置4上で実行することにより、図示するように各手段401~406が機能する。
図11では、便宜上、手段401~406を分けて記載しているが、1つの手段が複数の機能を有していてもよく、
図11は概念的なものである。また、各手段401~406の一部がハードウェアで構成されていてもよい。
【0129】
(オブジェクト生成手段401の構成)
オブジェクト生成手段401は、取得部Aにより取得された高さデータに基づいて、ワークWを立体的に表した三次元オブジェクトを生成する手段である。三次元オブジェクトとしては、高さデータを三角形の平面で繋げて表示する三次元ポリゴン表示であってもよいし、各高さデータを1画素ごとに表示した三次元点群(ポイントクラウド)表示でもよい。
【0130】
ここで、2.5D(2.5次元)データについて説明する。一般的に、立体物をモニタ等に表示する際には、3D(三次元)表示が用いられており、この三次元表示ではX,Y,Zの三次元座標を保持してデータを扱っている。これに対し、2.5Dは、3Dの中で、ある程度、2Dに近い制約があり、1画素に1つの高さデータが割り当てられている。2.5Dは、3Dに比べてデータの自由度は低い反面、計測処理が行い易いという特徴があり、本例でも計測処理には2.5Dデータを用いる場合がある。2.5Dでは、カメラから見える部分しか計測しないため、物体の裏側の座標データは存在しないが、上記三次元ポリゴン表示や三次元点群表示等によって立体的な表示可能である。
【0131】
2Dデータを使用することで、ワークWにおける画像検査の対象となる対象領域(検査領域)について、例えば濃淡検査、パターンサーチ、エッジ抽出、ブロブ、OCR等の計測が可能になる。また、2.5Dデータを使用することで、対象領域について、例えば高さ計測、3Dサーチ、プロファイル計測、3Dブロブ等の計測が可能になる。2Dデータと2.5Dデータとでデータの種別は異なっているが、カメラ31の画素単位でデータを取り扱う点では同じなため、対象領域データ自体は変わらない。
【0132】
2Dデータや2.5Dデータに各種フィルター処理を実行してもよい。例えば、2Dデータに対してぼかし処理を実行したり、2.5Dデータにスムージングを実行したり、2.5Dデータに2D画像変換を実行して2Dデータに変換することもできる。フィルター処理は、実行する計測の種類に応じて変えればよい。
【0133】
(表示手段402の構成)
表示手段402は、設定装置4のモニタである表示部5を制御する手段であり、例えばオブジェクト生成手段401により生成された三次元オブジェクトを表示部5に表示させる。また、表示手段402は、後述する要素生成手段405により生成された様々な視点特定要素を、三次元オブジェクト上に重ねて表示部5に表示させることもできる。
【0134】
(姿勢調整手段403の構成)
姿勢調整手段403は、表示手段402により表示部5に表示された三次元オブジェクトの姿勢を調整するための手段である。三次元オブジェクトの姿勢は、当該三次元オブジェクトをX軸、Y軸、Z軸の各軸周りに回転させたり、X方向、Y方向、Z方向の任意の方向へ移動させることによって調整できる。
【0135】
具体的には、姿勢調整手段403は、例えば、キーボード6やマウス7の操作状態を検出することが可能になっており、表示部5に表示された三次元オブジェクト上でマウス7をクリック操作、ドラッグ操作等すると、三次元オブジェクトをX軸、Y軸、Z軸の任意の軸周りに、任意の角度だけ回転させることができる。また、三次元オブジェクト上のマウス7の操作により、三次元オブジェクトをX方向、Y方向、Z方向の任意の方向に、任意の移動量だけ移動させることができる。
【0136】
また、キーボード6やマウス7の操作により、三次元オブジェクトの各軸周りの回転角度を数値で設定したり、任意の方向への移動量を数値で設定することもできる。設定された数値は姿勢調整手段403で受け付けられる。姿勢調整手段403は、受け付けた数値に対応するように三次元オブジェクトを回転させたり、移動させることにより、三次元オブジェクトの姿勢を調整する。上述した三次元オブジェクトの姿勢調整方法は、例であり、他の方法によって三次元オブジェクトの姿勢を調整してもよい。
【0137】
三次元オブジェクトの姿勢を調整することで、ユーザは三次元オブジェクトを所望の方向から見た状態で表示部5に表示させることができる。これにより、後述の対象領域の指定操作が容易になる。
【0138】
(設定時における対象領域の指定)
領域指定受付手段404は、姿勢調整手段403により姿勢が調整された三次元オブジェクト上で、画像検査の対象となる対象領域の指定を受け付けるための手段である。対象領域は、後述するようにユーザの操作によって作成されるものであり、例えば線状の領域や図形で囲んだ領域等があり、ある範囲を持った領域であれば、その形状や大きさは自由である。線状の領域は、直線状の領域であってもよいし、曲線状の領域であってもよい。曲線状とは、例えば円または円弧状であってもよいし、自由曲線であってもよい。図形で囲んだ領域の例としては、例えば円、楕円、円弧、多角形等で囲んだ領域を挙げることができる。
【0139】
ユーザは、ワークWを立体的に表した三次元オブジェクトを所望の方向から見ることができるので、ワークWに存在する小さな段差のような部分であっても高低差を容易にかつ確実に把握できる。そして、ワークWの高低差を把握しながら対象領域を指定できるので、対象領域をワークW上のどこに対してどのような大きさ乃至形状で指定したのか、ユーザが容易に把握できる。
【0140】
対象領域の新規作成要領について、
図12に示すフローチャートに基づいて説明する。このフローチャートは、ユーザが対象領域の新規作成を開始する操作を行うことでスタートする。対象領域の新規作成を開始する操作としては、例えば開始ボタン(図示せず)の押下等を挙げることができる。
【0141】
スタート後のステップSC1では、ユーザによるマウス7のクリック操作を検出し、クリックされた点の座標を取得する。ステップSC1ではクリックされた点のXY座標を取得することになる。
【0142】
その後、ステップSC2に進み、三次元オブジェクトを形成している三次元画像データとヒット判定する。ここでは、ステップSC1で取得したXY座標が、三次元画像データにヒットしているか否か、3Dヒット判定を行う。3Dヒット判定については、
図13に基づいて説明する。表示部5上で点P1をクリックして点P1のXY座標を取得すると、三次元空間で点P1からZ方向に延長した延長線L1を仮想的に生成する。Z方向は、カメラ31の撮像軸方向と一致している。延長線L1がワークW1と交わればヒット点PHが存在するのでヒットしたと判定し、一方、延長線L1がワークW1と交わらなければヒットしないと判定する。
【0143】
図12のステップSC2を経た後、ステップSC3に進む。ステップSC3では、ステップSC2においてヒット点が存在したか否かを判定する。ヒット点が存在しなければエンドに進み、ユーザは別の箇所をクリック操作することになる。ステップSC3でYESと判定されてヒット点が存在した場合には、ステップSC4に進み、ヒット点PHのXY座標を取得し、二次元表示と同様に扱う。つまり、表示部5の表示領域におけるヒット点PHのXY座標に対応する箇所に点P1を表示する。
【0144】
ステップSC4の後、ステップSC5に進み、点の数が所定以上であるか否かを判定する。例えば直線状の対象領域を作成する場合には、直線を決定するための点が少なくとも2つ必要であり、この場合には、ステップSC5において点の数が2点であるか否かを判定する。また、例えば三角形状の対象領域や円弧、円形状の対象領域を作成する場合に3点必要であれば、ステップSC5において点の数が3点であるか否かを判定する。どのような形状の対象領域を作成するかは、ステップSC1の前にユーザが選択できるようになっている。選択された対象領域の形状に応じてステップSC5の判定が変更される。
【0145】
ステップSC5でNOと判定されて点の数が所定以上でない場合にはステップSC1に進んで次の点のクリック操作を受け付ける一方、ステップSC5でYESと判定されて点の数が所定以上である場合には対象領域を特定できるので、対象領域の作成を完了させる。作成された対象領域はユーザによって指定されたものとして、ステップSC6に進む。ステップSC6では、上述のようにしてユーザによって作成された対象領域が追加される。ステップSC7では、ステップSC6で追加された対象領域データを保存する。対象領域データとは、対象領域の形状、位置、大きさ等に関するデータである。
【0146】
(直線状の対象領域の作成)
次に、三次元オブジェクトの一例を用いて対象領域の作成の具体例について説明する。まず、直線状の対象領域の作成の具体例について、
図14に基づいて説明する。
図14の上側には、表示手段402によって表示部5に表示されるものとして、ワークWを示す三次元オブジェクト200を示しており、
図14の下側には、表示手段402によって表示部5に表示されるものとしてワークWの二次元画像(高さ画像)201を示している。このような二次元画像201は、取得部Aによって生成することができる。
【0147】
表示手段402は、三次元オブジェクト200と二次元画像201とを表示部5に切替表示可能に構成されている。例えばユーザによる切替操作または選択操作により、三次元オブジェクト200のみを表示部5に表示させたり、二次元画像201のみを表示部5に表示させることができる。また、三次元オブジェクト200と二次元画像201との両方を表示部5に表示させることもできる。切替操作または選択操作は、例えば切替ボタンの操作や選択ボタンの操作等を挙げることができる。
【0148】
直線状の対象領域を作成する場合には、はじめに、ユーザが対象領域の形状の選択枝の中から「直線状」を選択する。その後、マウス7のポインタ7aを三次元オブジェクト200上に置くと、ポインタ7aの先端から上方向(Z方向)に延びる線分L2が描画される。ポインタ7aを移動させると、線分L2も同じように移動する。線分L2の延びる方向はカメラ31の撮像素子31dが位置する方向であり、撮像素子31dの撮像軸に沿って所定長さ延びている。
【0149】
マウス7をプレス操作すると、その時点のポインタ7aが示す点P1のXY座標に基づいて
図12に示すステップSC2のヒット判定が行われる。その結果、点P1が三次元オブジェクト200にヒットしている場合には点P1が設定されるが、ヒットしていない場合には点P1は設定されない。この点P1が始点となる。また、マウス7をプレス操作すると、線分L2の色が変化して線分L2が点P1の位置に固定され、点P1が設定されたことが視覚的に分かるようになっている。なお、プレス操作とは、マウス7のボタンを押すことである。
【0150】
ユーザがマウス7をプレス操作したまま、マウス7をドラッグ操作してポインタ7aを点P1から離れたところまで移動させる。ドラッグ操作する間、ポインタ7aの先端から上方向に延びる線分L4が線分L2とは別に描画される。その後、マウス7をリリース操作すると、リリース操作した時点のポインタ7aが示す点P3のXY座標に基づいて
図12に示すステップSC2のヒット判定が行われる。点P3が三次元オブジェクト200にヒットしている場合には点P3が終点として設定されるとともに、線分L4の色が変わり、線分L4が点P3の位置に固定される。ヒットしていない場合には、点P3は設定されない。線分L4の上端と線分L2の上端とは同じ高さである。
【0151】
点P3が設定されると、線分L4の上端と線分L2の上端とを結ぶ線分(上側XY方向線)L5が描画される。三次元オブジェクト200上には、線分L5を高さ方向に投影した位置に点P1から点P3まで延びる投影線L6が描画される。投影線L6は、三次元オブジェクト200に重ねて表示され、三次元オブジェクト200に沿った形状になる。三次元オブジェクト200の表面における投影線L6が描画された部分が対象領域となる。
【0152】
つまり、領域指定受付手段404は、三次元オブジェクト200上で始点(点P1)と終点(点P3)の指定を受け付けた場合、高さデータの二次元座標において、点P1から点P3まで延びる投影線L6の位置に対応する座標に対象領域を設定する。このように三次元オブジェクト200上で対象領域の指定操作を行うことで、二次元画像201上では指定しにくいワークWの壁の側面などを対象領域として容易に指定できる。
【0153】
点P1を始点とする線分L2と、点P3を始点とする線分L4とは互いに平行であり、ともに撮像素子31dの撮像軸に沿って当該撮像素子31dへ向けて延びる線分である。ユーザは、線分L2及び線分L4を参照することで、撮像素子31dの位置にある視点を特定することができる。線分L2及び線分L4は、要素生成手段405が生成する視点特定要素に含まれる。要素生成手段405は、領域指定受付手段404により対象領域の指定を受け付けた場合に、撮像素子31dの位置にある視点を特定するための視点特定要素として線分L2及び線分L4を生成するための手段である。要素生成手段405で生成された視点特定要素は、表示手段402によって表示部5に表示されるので、ユーザは対象領域の作成中に撮像素子31dの方向を把握できる。
【0154】
点P3を設定すると、図形要素D1が三次元オブジェクト200に重ねて表示される。図形要素D1は、上記視点特定要素に含まれるものであり、この図形要素D1も領域指定受付手段404により生成されて表示手段402によって表示部5に表示される。図形要素D1は線よりも大きな面積を持っており、本例では、投影線L6から線分L2及び線分L4の延長方向と同方向に延びる平面、即ち撮像素子31dの撮像軸に沿って延びる平面で構成されている。線分L2と線分L4との間に図形要素D1が形成されていて図形要素D1の両縁部が線分L2及び線分L4によって定められているので、図形要素D1は線分L2と線分L4とに基づいて形成される要素である。また、図形要素D1は、必須ではないが、投影線L6から下方向にも描画される。
【0155】
図形要素D1の上端部の高さは、線分L2及び線分L4の上端部の高さと同じである。線分L2及び線分L4の長さは、高さ画像における最大高さや最小高さに応じて決定される。すなわち、要素生成手段405は、線分L2及び線分L4の長さを決定するに際し、まず、高さデータに基づいて高さ画像における最大高さや最小高さを取得する。次いで、要素生成手段405は、取得した最大高さと最小高さの差が大きければ大きいほど線分L2及び線分L4の長さを長くし、取得した最大高さと最小高さの差が小さければ小さいほど線分L2及び線分L4の長さを短くする。線分L2及び線分L4の長さは当該線分L2及び線分L4の上端部の高さによって変化するので、要素生成手段405は、高さ画像における最大高さに応じて線分L2及び線分L4の上端部の高さを決定するということもできる。同様に、要素生成手段405は、高さ画像における最大高さに応じて図形要素D1の上端部の高さを決定するということもできる。
【0156】
高さ画像における最大高さや最小高さに応じて線分L2及び線分L4の長さを決定できるので、ワークWの高さに対して線分L2及び線分L4が短すぎたり、長すぎたりすることが無くなり、線分L2及び線分L4が見やすくなる。同様に、図形要素D1の上下方向の寸法も決定されるので、図形要素D1も見やすくなる。また、線分L2及び線分L4の長さの上限や下限を予め設定しておいてもよい。
【0157】
また、例えば円弧等の曲線状の対象領域を作成することもできる。この場合、図形要素D1は曲面で構成されることになる。また、図形要素D1は平面と曲面とで構成されていてもよい。
【0158】
図形要素D1は半透明にすることができる。半透明とは、図形要素D1の向こう側を、当該図形要素D1を透かして視認可能なことである。図形要素D1の透明度は低くてもよいし、高くてもよく、ユーザが表示部5に表示された図形要素D1の向こう側に位置するワークWの輪郭等を視認可能な程度の透過度であればよい。図形要素D1は、ワークWの色とは異なる色に着色されていてもよく、これにより、図形要素D1とワークWとの識別が容易になる。図形要素D1と、線分L2、L4、L5とは区別可能な表示形態とされている。本例では、図形要素D1が半透明で、線分L2、L4、L5が不透明であり、これにより両者の区別が容易になっている。尚、区別可能な表示形態とは、互いの色を変えたり、色の濃さを変えたりする形態であってもよい。
【0159】
視点特定要素は、カメラ31からワークWを見た視点を表示するものであればよく、例えば矢印、メッシュ状の図形要素等が含まれていてもよい。図形要素D1は、例えば透けた白い壁のような要素であってもよい。
【0160】
図形要素D1は半透明でなくてもよい。この場合、図形要素D1を透かして向こう側を視認することができなくなるが、図形要素D1をワークWの色と異なる色に着色しておけば、ワークWとの識別は可能である。
【0161】
三次元オブジェクト200上で点P1及び点P3が指定されると、
図14の下側に示すように、二次元画像201上で点P1及び点P3が表示されるとともに、点P1と点P3とを結ぶ線分L5が描画される。線分L5の真下に投影線L6が位置する。これにより、対象領域を三次元オブジェクト200上だけでなく、二次元画像201上でも把握できる。
【0162】
また、二次元画像201上で対象領域の指定を受け付けるようにしてもよい。すなわち、二次元画像201上で点P1及び点P3を指定すると、二次元画像201上に線分L5が描画されるとともに、三次元オブジェクト200上で点P1及び点P3が表示され、投影線L6及び図形要素D1も描画される。このように二次元画像201上で対象領域を指定することで、三次元オブジェクト200上では指定しにくいワークWの穴の中央や段差の奥などを対象領域として容易に指定できる。
【0163】
(矩形状の対象領域の作成)
次に、矩形状の対象領域を作成する場合の具体例について、
図15を参照しながら説明する。まず、ユーザが対象領域の形状の選択枝の中から「矩形状」を選択する。その後、マウス7のポインタ7aを三次元オブジェクト200上に置くと、直線状の場合と同様に、ポインタ7aの先端から上方向に延びる線分L2が描画される。
【0164】
マウス7をプレス操作すると、その時点のポインタ7aが示す点P1のXY座標に基づいて
図12に示すステップSC2のヒット判定が行われる。その結果、点P1が三次元オブジェクト200にヒットしている場合には点P1が設定される。
【0165】
マウス7をプレス操作したまま、マウス7をドラッグ操作してポインタ7aを点P1から離れたところまで移動させる。ドラッグ操作する間もポインタ7aの先端から上方向に延びる線分L4が描画される。その後、マウス7をリリース操作すると、リリース操作した時点のポインタ7aが示す点P3のXY座標に基づいて
図12に示すステップSC2のヒット判定が行われる。点P3が三次元オブジェクト200にヒットしている場合には点P3が設定される。
【0166】
点P3が設定されると、点P1から点P3まで延びる仮想線(非表示)を対角線とした矩形枠L7が描画される。さらに、矩形枠L7の別の2つの頂点から延びる線分L10、L11を描画する。線分L10、L11は、線分L2、L4と平行であり、線分L2、L4、L10、L11がそれぞれ矩形枠L7の頂点に配置される。
【0167】
また、三次元オブジェクト200上には、矩形枠L7をZ方向(高さ方向)に投影した位置に投影線L8が描画される。投影線L8は、三次元オブジェクト200に重ねて表示され、三次元オブジェクト200に沿った形状になる。三次元オブジェクト200の表面における投影線L8で囲まれた部分が対象領域となる。
【0168】
点P3を設定すると、図形要素D2が三次元オブジェクト200に重ねて表示される。図形要素D2は、上記視点特定要素に含まれるものである。図形要素D2は投影線L8から線分L2及び線分L4の延長方向と同方向に延びる4つの平面が組み合わされて構成されている。4つの平面は、線分L2と線分L10との間の平面、線分L2と線分L11との間の平面、線分L4と線分L10との間の平面、線分L4と線分L11との間の平面であり、図形要素D2は線分L2、L4、L10、L11に基づいて形成される要素である。また、図形要素D2は、必須ではないが、投影線L8から下方向にも描画される。
【0169】
対象領域は強調表示してもよい。例えば、対象領域に対して他の領域とは異なる色に着色したり、所定のパターンを付してもよい。
【0170】
(対象領域の変更)
次に、上述のようにして指定した対象領域の位置や大きさ、形状を変更する場合について、
図16及び
図17に基づいて説明する。
図16は、対象領域の変更手順の第1段階を示しており、この第1段階を経て、
図17に示す第2段階に進む。以下に説明する例では、ユーザがマウス7を使用して対象領域の変更を行う場合について説明するが、マウス7以外のタッチ操作パネル等の操作によっても対象領域の変更は可能である。
【0171】
図16に示すフローチャートのステップSD1では、ユーザがマウス7をクリック操作した時点のポインタの座標(XY座標)を取得する。その後、ステップSD2では、ステップSD1で取得した座標で特定される点からXY座標を固定してZ方向に延びる線の3Dヒット判定を行う。3Dヒット判定の手法は、
図12のフローチャートのステップSC2と同様であり、上記Z方向に延びる線が、三次元画像データにヒットしているか否かを判定する。
【0172】
ステップSD2を経た後、ステップSD3に進む。ステップSD3では、ステップSD2においてヒットしたか否かを判定する。ヒットしなければエンドに進み、ユーザは別の箇所をクリック操作することになる。ステップSD3でYESと判定されてヒットした場合には、ステップSD4に進む。ステップSD4では、2段階ヒット判定、即ち3Dヒット判定後、2Dヒット判定を行う。
【0173】
図18Aは、3Dヒット判定の概念図である。直線L20は、ステップSD1で取得した座標で特定される点からXY座標を固定してZ方向に延びる線であり、平面D3はZ方向面であり、平面D4は、XY方向面である。まず、平面D4の上端との3Dヒット判定を行う。すなわち、対象領域の線は様々な種類があり複雑であるが、XY方向線に限定されていて、描画されるX座標も決まっている。このことを利用して、各Z座標の平面D3との3Dヒット判定を行い、そのヒット判定で得られたヒット点のXY座標を取得する。その後、
図18Bに示すように、3Dヒット判定で取得されたXY座標を用い、2Dヒット判定を行う。これにより、3Dヒット判定が容易に実装可能になる。
【0174】
図16に示すステップSD4を経た後、ステップSD5に進む。ステップSD5では、ステップSD4においてヒットしたか否かを判定する。ヒットしなければエンドに進み、ユーザは別の箇所をクリック操作することになる。ステップSD5でYESと判定されてヒットした場合には、ステップSD6に進む。
【0175】
ステップSD6では、XY方向面の下端について、ステップSD4と同様に3Dヒット判定を行い、その後、2Dヒット判定を行う。ステップSD6を経た後、ステップSD7に進む。ステップSD7では、ステップSD6においてヒットしたか否かを判定する。ヒットしなければエンドに進み、ユーザは別の箇所をクリック操作することになる。ステップSD6でYESと判定されてヒットした場合には、ステップSD8に進む。ステップSD8では、ヒット点のXYZ座標を保存する。以上のステップがユーザのクリック操作によって自動的に実行される。
【0176】
ユーザが上記クリック操作を行ったままマウス7を移動(ドラッグ操作)することによって対象領域を移動させることができる。ドラッグ操作を行うと、
図17に示すフローチャートのステップSE1に進む。ステップSE1では、ドラッグ操作によって移動したポインタの座標(XY座標)を取得する。その後、ステップSE2に進み、
図16に示すフローチャートのステップSD8で保存したヒット点のXYZ座標のZ座標面との3Dヒット判定を行う。
【0177】
ステップSE2を経た後、ステップSE3に進む。ステップSE3では、ステップSE2においてヒットしたか否かを判定する。ヒットしなければエンドに進み、ユーザは別の箇所へドラッグ操作することになる。ステップSE2でYESと判定されてヒットした場合には、ステップSE4に進む。
【0178】
ステップSE4では、視点特定要素及び対象領域をヒット座標までXY平行移動させる。つまり、ドラッグ操作後のポインタの座標でヒットすれば、その座標まで対象領域及び視点特定要素(
図14における線分L2、L4、L10、L11、図形要素D1、D2)を平行移動させるので、対象領域及び視点特定要素はポインタに追従するようにほぼリアルタイムで移動する。これにより、ユーザは対象領域が所望の位置に配置されるように、対象領域を三次元オブジェクト上で位置調整できる。
【0179】
また、ステップSE4では、視点特定要素をX方向またはY方向への平行移動のみ許容し、Z方向(高さ方向)への移動を禁止している。すなわち、視点特定要素のZ方向の位置が移動前後で変化しないようにしている。視点特定要素は、画像検査の対象となる対象領域を、二次元座標上に配置された高さデータに設定する際に表示される要素であることから、三次元オブジェクトのX方向またはY方向に移動させればよく、視点が位置する方向(三次元オブジェクトの高さ方向)へ移動させる必要はなく、仮に視点特定要素を三次元オブジェクトの高さ方向に移動可能にすると、対象領域の設定操作が煩雑になることが考えられる。本実施形態では、視点特定要素を三次元オブジェクトのX方向またはY方向にのみ移動可能であるため、対象領域の設定操作が容易になる。
【0180】
ステップSE4は、対象領域を平行移動させただけであり、対象領域の位置を確定させる確定はまだ行われていない状態である。ステップSE4の後、ステップSE5に進み、ユーザによる確定操作が行われたか否かを判定する。確定操作は、例えばマウス7のボタンを離す操作(リリース操作)等を挙げることができるが、他の操作であってもよい。
【0181】
ステップSE5でNOと判定されて確定操作が行われていない場合には、ステップSE1に戻る一方、ステップSE5でYESと判定されて確定操作が行われた場合には、ステップSE6に進み、平行移動後の対象領域に変更する。ステップSE7では、ステップSE6で変更された対象領域データを保存する。
【0182】
図19、
図20は、直線状の対象領域の位置調整を行う場合の具体例1、2を示している。具体例1にかかる
図19の左側の図は、対象領域の位置調整前を示しており、右側の図は、対象領域の位置調整後を示している。
図19の左側の図では、マウス7のポインタ7aを線分L5上に移動させた後(マウスホバー後)、プレス操作している。これにより、線分L2及び線分L4の色が変わり、ユーザによって選択されたことが分かるようになっている。
【0183】
その後、マウス7をドラッグ操作すると、線分L2、線分L4、線分L5、図形要素D1、投影線L6が一体でポインタ7aの移動軌跡に沿って移動するが、その移動はZ方向に禁止されており、XY平行移動である。ユーザは、線分L2、線分L4、線分L5、図形要素D1、投影線L6のいずれにポインタ7aを置いてドラッグ操作してもよい。線分L5をドラッグ操作した場合、移動先においても、線分L5がポインタ7a上に位置するように、線分L2、線分L4、線分L5、図形要素D1、投影線L6をXY平行移動させる。また、投影線L6をドラッグ操作した場合、移動先においても、投影線L6がポインタ7a上に位置するように、線分L2、線分L4、線分L5、図形要素D1、投影線L6をXY平行移動させる。また、線分L2または線分L4をドラッグ操作した場合、移動先においても、線分L2または線分L4がポインタ7a上に位置するように、線分L2、線分L4、線分L5、図形要素D1、投影線L6をXY平行移動させる。また、図形要素D1のある点をドラッグ操作した場合、移動先においても、図形要素D1の同じ点がポインタ7a上に位置するように、線分L2、線分L4、線分L5、図形要素D1、投影線L6をXY平行移動させる。
【0184】
移動途中においても、線分L2、線分L4、線分L5、図形要素D1、投影線L6を描画することができる。次いで、ユーザがリリース操作を行うと、線分L2、線分L4、線分L5、図形要素D1、投影線L6がXY平行移動した後の状態で固定される。
【0185】
具体例2にかかる
図20の左側の図は、対象領域の位置調整前を示しており、右側の図は、対象領域の位置調整後を示している。
図20の左側の図では、マウス7のポインタ7aを線分L4上に移動させた後(マウスホバー後)、プレス操作している。これにより、線分L2及び線分L4の色が変わり、ユーザによって選択されたことが分かるようになっている。
【0186】
その後、マウス7をドラッグ操作すると、線分L2は固定された状態で、線分L4がXY平行移動する。線分L5、投影線L6は、線分L2から移動後の線分L4まで延びるように描画される。また、図形要素D1も線分L4の移動に応じて描画される。次いで、ユーザがリリース操作を行うと、線分L4がXY平行移動した後の状態で固定される。これにより、対象領域の位置を変更するだけでなく、対象領域の長さを変更することができる。
【0187】
図21は、矩形状の対象領域の位置調整を行う具体例を示す図である。
図21の左側の図は、対象領域の位置調整前を示しており、右側の図は、対象領域の位置調整後を示している。
図21の左側の図では、マウス7のポインタ7aを例えば矩形枠L7上に移動させた後(マウスホバー後)、プレス操作している。これにより、線分L2、線分L4、線分L10、線分L11の色が変わり、ユーザによって選択されたことが分かるようになっている。加えて、プレス操作によって中間線L9も描画される。中間線L9は、線分L2と線分L11との間、線分L2と線分L10との間、線分L4と線分L10との間、線分L4と線分L11との間にそれぞれ描画されており、Z方向に延びている。中間線L9のハンドル(中間点のハンドル)をマウス7でドラッグ操作することにより、矩形枠L7の幅と高さのどちらか一方のみ変更できる。矩形枠L7の頂点にもハンドルがあり、この頂点のハンドルをマウス7でドラッグ操作することにより、矩形枠L7の幅と高さの両方を同時に変更できる。ユーザがリリース操作を行うと、矩形枠L7の幅と高さが変更された状態で固定される。ハンドルの位置は任意に設定することができる。
【0188】
(有効計測領域の描画)
ワークWの一部が計測したくない領域の場合がある。その領域を計測対象から外す処理をマスク処理と呼ぶことができ、マスク処理した領域をマスク領域と呼ぶことができる。マスク領域以外の領域を有効計測領域と呼ぶことができる。
【0189】
三次元オブジェクト上で有効計測領域を描画することでユーザがマスク領域と有効計測領域とを容易に判別できる。三次元オブジェクト上で有効計測領域を描画する場合には、以下の描画フローを適用することができる。まず、内部的に2値画像を作成し、通常領域内を「1」などで塗りつぶす。その後、マスク領域内を「0」で塗りつぶして、通常領域と被っている部分を消す。次いで、2値画像から境界画像を生成する。その境界画像で境界になっている部分に壁面を半透明で三次元描画する。これにより、描画した半透明オブジェクトが少なくなるとともに、単一の色で表現できるため、見やすくなる。
【0190】
(運用時における段差計測手順)
図22は、画像検査システム1の運用時に直線状の対象領域で段差計測する手順の例を示すフローチャートである。段差計測の前には、ユーザが事前に段差高さの閾値を設定しておく。スタート後のステップSF1では、取得部Aにより新たに取得された高さデータに基づいてワークWの2.5Dデータを取得する。このとき、2Dデータを同時に取得してもよい。ステップSF2では、ステップSF1で取得した2.5Dデータに、
図12に示すステップSC6や
図7に示すステップSF7で保存した直線状の対象領域データを設定する。このステップSF2は、
図11に示す領域設定手段406によって実行されるステップであり、このステップを経ることで、領域指定受付手段404により指定された対象領域を、取得部Aにより取得された高さデータに対して設定することができる。
【0191】
ステップSF3では、ステップSF2で領域設定手段406が設定した対象領域上の高さプロファイルを取得する。ステップSF4では、ステップSF3で取得した高さプロファイルの中で、段差の上側の高さと下側の高さを計測する。ステップSF5では、上側の高さと下側の高さの差により段差高さを算出する。ステップSF3~SF5は、領域設定手段406により設定された対象領域に対して
図7に示す画像処理部4Bが画像処理を行うステップである。ステップSF6では、事前に設定した閾値範囲と、ステップSF5で算出した段差高さとを比較し、ステップSF5で算出した段差高さが閾値範囲に収まる場合には「良」と判定し、収まらない場合には「不良」と判定する。このステップSF6は、
図7に示す検査部4Aが実行するステップである。
【0192】
ステップSF7では、ステップSF6の判定値を設定装置4が外部機器に出力する。外部機器が不良品の排出機構である場合には、ステップSF8において不良品が排出機構によって搬送用ベルトコンベアBから排出される。
【0193】
(運用時における傷検査手順)
図23は、画像検査システム1の運用時に矩形状の対象領域で傷検査する手順の例を示すフローチャートである。傷検査の前には、ユーザが事前に傷量の閾値を設定しておく。スタート後のステップSG1では、取得部Aにより新たに2Dデータを取得する。このとき、2.5Dデータを取得してもよい。ステップSG2では、ステップSG1で取得した2Dデータに矩形状の対象領域データを設定する。このステップSG2は、
図11に示す領域設定手段406によって実行されるステップである。
【0194】
ステップSG3では、ステップSG2で領域設定手段406が設定した対象領域内の傷量を、傷計測アルゴリズムを使用して取得する。傷計測アルゴリズムは従来から用いられるものであってもよい。このステップSG3は、領域設定手段406により設定された対象領域に対して
図7に示す画像処理部4Bが画像処理を行うステップである。
【0195】
ステップSG4では、事前に設定した閾値範囲と、ステップSG3で取得した傷量とを比較し、ステップSG3で取得した傷量が閾値範囲に収まる場合には「良」と判定し、収まらない場合には「不良」と判定する。このステップSG4は、
図7に示す検査部4Aが実行するステップである。
【0196】
ステップSG5では、ステップSG4の判定値を設定装置4が外部機器に出力する。外部機器が不良品の排出機構である場合には、ステップSG6において不良品が排出機構によって搬送用ベルトコンベアBから排出される。
【0197】
(運用時における高さ検査手順)
図24は、画像検査システム1の運用時に矩形状の対象領域で高さ検査する手順の例を示すフローチャートである。高さ検査の前には、ユーザが事前に高さの閾値を設定しておく。スタート後のステップSH1では、
図22のステップSF1と同様に2.5Dデータを取得する。ステップSH2では、ステップSH1で取得した2.5Dデータに矩形状の対象領域データを設定する。このステップSH2は、
図11に示す領域設定手段406によって実行されるステップである。
【0198】
ステップSH3では、ステップSH2で領域設定手段406が設定した対象領域内の平均高さを算出する。このステップSH3は、領域設定手段406により設定された対象領域に対して
図7に示す画像処理部4Bが画像処理を行うステップである。ステップSH4では、事前に設定した閾値範囲と、ステップSH3で取得した平均高さとを比較し、ステップSH3で取得した平均高さが閾値範囲に収まる場合には「良」と判定し、収まらない場合には「不良」と判定する。このステップSH4は、
図7に示す検査部4Aが実行するステップである。
【0199】
ステップSH5では、ステップSH4の判定値を設定装置4が外部機器に出力する。外部機器が不良品の排出機構である場合には、ステップSH6において不良品が排出機構によって搬送用ベルトコンベアBから排出される。
【0200】
(運用時における賞味期限検査手順)
図25は、画像検査システム1の運用時に円弧状の対象領域で賞味期限検査する手順の例を示すフローチャートである。賞味期限検査の前には、ユーザが事前に日時の閾値を設定しておく。スタート後のステップSI1では、取得部Aにより2Dデータを取得する。このとき、2.5Dデータを取得してもよい。ステップSI2では、ステップSI1で取得した2Dデータに円弧状の対象領域データを設定する。このステップSI2は、
図11に示す領域設定手段406によって実行されるステップである。
【0201】
ステップSI3では、ステップSI2で領域設定手段406が設定した対象領域内の文字を切り出す。ステップSI4では、ステップSI3で切り出した文字を、光学的文字認識(OCR)アルゴリズムにより判定する。ステップSI5では文字から日時に変換する。このステップSI3~SI5は、領域設定手段406により設定された対象領域に対して
図7に示す画像処理部4Bが画像処理を行うステップである。
【0202】
ステップSI6では、事前に設定した閾値範囲と、ステップSI5で変換した日時とを比較し、ステップSI5で変換した日時が閾値範囲に収まる場合には「良」と判定し、収まらない場合には「不良」と判定する。このステップSI6は、
図7に示す検査部4Aが実行するステップである。
【0203】
ステップSI7では、ステップSI6の判定値を設定装置4が外部機器に出力する。外部機器が不良品の排出機構である場合には、ステップSI8において不良品が排出機構によって搬送用ベルトコンベアBから排出される。
【0204】
尚、賞味期限は一例であり、例えば製造番号や製造日等も検査対象になり得る。
【0205】
(運用時における刻印判別手順)
図26は、画像検査システム1の運用時に円弧状の対象領域で刻印判別する手順の例を示すフローチャートである。刻印判別の前には、ワークWに刻印される文字をユーザが事前に設定しておく。スタート後のステップSJ1では、
図22のステップSF1と同様に2.5Dデータを取得する。ステップSJ2では、ステップSJ1で取得した2.5Dデータを高さ抽出アルゴリズムにより2Dデータに変換する。ステップSJ3では、ステップSJ2で生成した2Dに円弧状の対象領域データを設定する。このステップSJ3は、
図11に示す領域設定手段406によって実行されるステップである。
【0206】
ステップSJ4では、ステップSJ3で領域設定手段406が設定した対象領域内の文字を切り出す。ステップSJ5では、ステップSJ4で切り出した文字を、光学的文字認識(OCR)アルゴリズムにより判定する。このステップSJ4、SJ5は、領域設定手段406により設定された対象領域に対して
図7に示す画像処理部4Bが画像処理を行うステップである。
【0207】
ステップSJ6では、事前に設定した文字と、ステップSJ5で判定した文字とを比較し、ステップSJ5で変換した文字が計測した文字と同じ場合には「良」と判定し、異なる場合には「不良」と判定する。このステップSJ6は、
図7に示す検査部4Aが実行するステップである。
【0208】
ステップSJ7では、ステップSJ6の判定値を設定装置4が外部機器に出力する。外部機器が不良品の排出機構である場合には、ステップSJ8において不良品が排出機構によって搬送用ベルトコンベアBから排出される。
(実施形態の作用効果)
以上説明したように、この実施形態によれば、設定時に、ワークWの高さ情報が二次元座標上に配置された高さデータを取得部Aが取得すると、その高さデータに基づいてオブジェクト生成手段401が三次元オブジェクトを生成する。生成された三次元オブジェクトは、例えば三次元ポリゴン表示や三次元点群表示のような形態で設定装置4の表示部5に表示した状態でその姿勢の調整が可能なので、ワークWを所望の方向から見た三次元オブジェクトを表示部5に表示できる。ユーザは、姿勢調整後の三次元オブジェクト上で対象領域の指定を行うことができる。
【0209】
このように、ユーザは、対象領域の指定時に、ワークWを立体的に表した三次元オブジェクトを所望の方向から見ることができるので、小さな段差のような部分であっても高低差を容易にかつ確実に把握できる。そして、ワークWの高低差を把握しながら対象領域を指定できるので、対象領域をワークW上のどこに対してどのような大きさ乃至形状で指定したのか、ユーザが容易に把握できる。
【0210】
対象領域が指定されると、運用時には、その対象領域が新たに取得された高さデータに対して設定される。つまり、三次元オブジェクト上で指定した対象領域の情報が運用時の高さデータに反映されるので、所望の領域に対して画像検査が実行される。
【0211】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0212】
以上説明したように、本発明は、例えばワーク等を検査する場合に利用できる。
【符号の説明】
【0213】
1 画像検査システム
2 照明装置(投光部)
4A 検査部
4B 画像処理部
5 表示部(モニタ)
31 カメラ(画像生成部)
31d 撮像素子
300 撮像装置
400 検査設定部
401 オブジェクト生成手段
402 表示手段
403 姿勢調整手段
404 領域指定受付手段
405 要素生成手段
406 領域設定手段
A 取得部
D1 図形要素
L2、L4 線分(視点特定要素)
W ワーク(検査対象物)