以下、本発明の実施形態を図面に基づいて説明する。ただし、以下に示す実施形態は、本発明の技術思想を具体化するための例示であって、本発明は以下のものに特定されない。また、本明細書は特許請求の範囲に示される部材を、実施形態の部材に特定するものでは決してない。特に実施形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一若しくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。
(実施の形態1)
本発明の実施の形態1に係る画像処理センサ100を図1Aに、実施形態2に係る画像処理センサ200を図1Bに、それぞれ示す。これらの画像処理センサは、検査対象物(以下「ワーク(WK)」ともいう。)の画像を撮像し、この画像に対して画像処理を行うことで、検査対象物が良品又は不良品であることを判定乃至検出する。画像処理センサは判定結果を外部に出力することで、検査結果の出力に基づいて、良品であることの確認、あるいは不良品の除去といった必要な後処理を行うことができる。
また画像処理センサは、良品や不良品の判定を行う運転モードの他、設定を行う設定モードに切り替えることができる。設定モードにおいては、ユーザが良品を撮像した良品画像等のモデル画像を登録することができる。ここで登録されたモデル画像に基づいて、良品や不良品の判定に際して基準となる一致度閾値が設定される(詳細は後述)。このような運転に先立って行われる設定作業はティーチング等と呼ばれる。
図1Aはヘッド部2とコントローラ部3の分離型の画像処理センサ100であり、図1Bはヘッド部とコントローラ部が一体となった一体型の画像処理センサ200である。また図1Bの画像処理センサ200の背面斜め下方から見た斜視図を図2Aに、垂直断面図を図2Bに、それぞれ示す。
図1Aに示すヘッド部2はカメラ等の撮像部21や照明部26を備えており、一方コントローラ部3は、ヘッド部2の撮像された画像に対して画像処理を行う部材であり、アンプ部等とも呼ばれる。このようなヘッド部2とコントローラ部3は、図1Aに示すようにそれぞれ異なるケーシング(筐体)に収納したり、あるいは図1Bに示すように共通のケーシング40に収納することもできる。またヘッド部の照明部をカメラと別体に設けることもできる。以下、主に画像処理センサの外形として、図1Bに示すヘッド部とコントローラ部を一体化したケーシング40を説明するが、図1Aに示すコントローラ部3も基本的には同様である。
なおコントローラ部は、単体でも画像処理センサとして機能する。この場合は、ヘッド部等の外部機器で撮像された画像を取り込むための画像入力部が、画像取得部として機能する。
(ケーシング40)
画像処理センサのケーシング40は、上下面、左右面ならびに前後の面から構成される六面体形状で構成されている。この内、上面を第一主面とし、上面と対向する下面を第二主面としている。図2A及び図2Bに示すように、下面側の第二主面には、表示部43と操作部51を設けている。一方、上面側の第一主面には、表示部43と操作部51を設けている。このように、底面側の第二主面を撮像面40bとし、上面側の第一主面を表示面40aとすることで、撮像面40bで撮像した画像を、表示面40aで表示させて、画像処理センサ200の配置姿勢とレイアウトを合致させることができる。
撮像部21は、ワークの画像を撮像するための部材であり、カメラ等で構成される。カメラは、CMOSやCCD等の撮像素子が利用できる。この場合、撮像部21で撮像される画像は光学画像である。なお、高さ情報を測定可能な撮像部を用いる場合、高さ情報を有する画像を、二次元の光学画像と同様に扱えるよう、高さ情報を輝度に変換させた高さ画像を用いることもできる。
照明部26は、ワークの画像を撮像部21で撮像する際に照明光を照射するための部材である。照明光の光源としては、LEDや有機EL、白熱球やハロゲンランプ等が利用できる。照明光は、様々な色を利用できる。また、例えばラインの搬送速度が速い場合は、一枚の光学画像を撮像するためにかけることのできる露光時間も短くなるため、短時間で十分な明るさを確保できるよう、光量の大きい光源とすることが好ましい。このような観点から、光源が安価で、光量を稼ぎ易い赤色等が好適に利用できる。また、白色光や赤外光を使用してもよい。あるいは、判別対象のワークの色や材質によっては、判別し易い照明色が存在する場合もある。この場合は、照明色も明るさ条件のパラメータに含めることができる。
図2Bの断面図に示すように、撮像部21は撮像面40bに対して平行に配置されており、撮像素子の光軸が撮像面40bとほぼ直交するように構成される。これにより、画像処理センサの下方の撮像位置にある検査対象物の正射画像を撮像できる。一方、照明部26は、投光面を撮像面40bに対して若干傾斜させている。照明光の光軸を撮像素子の光軸に対して斜めにすることで、自然な陰影で画像撮像できる。なお図2Aの例では、照明光の光源を一としているが、これを複数設けることもできる。例えば撮像部を囲むように撮像面の四隅に照明光源を設ける。これにより、影の少ない画像を得ることが可能となる。
(表示面40a)
表示面40aの一例を図3Aの模式図に示す。表示面40aは、一方向に長い矩形状としている。この図に示すように画像処理センサ200の表示面40aには、上述した表示部43に加えて、操作部51を設けている。操作部51は、画像登録ボタン等、決定を指示するための決定キーに相当するSETキー42と、増減調整部51h(後述する図5)に相当する上下キー44と、取消指示部に相当するBACKキー45と、運転/設定モード切替部51d(後述する図5)に相当するMODEキー46とを含む(詳細は後述)。さらに表示面40aには、表示灯を設ける。ここでは、判定結果表示灯41と、出力状態表示灯47とを備えている。
(表示部43)
表示部43は、撮像部21により撮像されたワークの画像を表示するための部材である。表示部43には、例えば有機ELや液晶等のディスプレイが使用できる。
(増減調整部51h)
増減調整部51hは、アップ側のスイッチとダウン側のスイッチという一対の部材で構成される。この増減調整部51hは、例えば表示部43で表示される画像の表示倍率を変更するために用いられる。表示部43で表示される画像は、例えば良品画像等の第一画像や、不良品画像等の第二画像、背景画像等の第三画像等である。特に、良品画像や良品候補画像を拡大表示させるために、増減調整部51hで表示倍率を調整する。また、同じ増減調整部51hでもって、一致度閾値を調整することもできる(これらの調整作業の詳細については後述)。この例では、アップ側のスイッチが操作されたとき、第一画像の倍率や一致度閾値が増加し、またダウン側のスイッチが操作されたとき、第一画像の倍率や一致度閾値が減少するよう指示できる。このように、増減調整部51hは、画像の表示倍率の調整機能と、一致度閾値の調整機能という異なる操作を可能としている。共通の増減調整部51hでもって異なる値の調整に利用することで、表示部に設けるべき操作ボタンの数を低減して、表示部の大型化を避け、また操作ボタンが増えることによる操作の煩雑化を避け、構成の簡素化、操作性の向上、コストの削減等が図られる。
(増減調整部の機能の切り替え)
この増減調整部の機能の切り替えは、増減調整部の機能を選択した上で行うように構成してもよいが、この場合は増減調整部を操作する前に、増減調整部の機能を選択、切り替える操作が必須となり、ユーザに煩わしい操作を強いることとなる。そこで、現在選択中の動作モードに応じて、増減調整部の機能が各動作モードに適した機能となるように自動的に機能切り替えが実行されるように構成することで、このような増減調整部の機能切り替えの操作を不要とできる。例えば、運転/設定モード切替部51dで、設定モードが選択された状態においては、増減調整部51hには、画像の表示倍率を変更する機能が割り当てられる。一方、運転/設定モード切替部51dで運転モードが選択された状態においては、増減調整部51hには一致度閾値を調整する機能が割り当てられる。このようにして、複数の機能が割り当てられた増減調整部51hに対して、予めいずれかの機能を選択することなく、操作が必要な画面において適切な機能が自動的に割り当てられ、ユーザの操作性を向上できる。
なお、上記の運転モード毎の機能割り当ては一例であり、例えば設定モードにおいて、画像の表示倍率と一致度閾値の調整を行うよう構成している場合においては、表示倍率の調整が可能な画面(倍率調整モード)と、一致度閾値の調整が可能な画面(閾値調整モード)が表示された状態で、増減調整部に対してそれぞれの機能を選択するように構成してもよい。
増減調整部51hは増減ボタンであり、一対の上下キー44が相当する。上下キー44は、アップ側のスイッチである↑キー44aと、ダウン側のスイッチである↓キー44bを備えており、増減の調整や上下への移動等に利用される。なお、図3Aの例では、上下キー44を↑キー44aと↓キー44bという別個のキーで構成しているが、本発明はこの構成に限らず、上下キーを統合して、一の上下キーで増減させることもできる。このような例を変形例として図3Bに示す。この図に示す上下キー44Bは傾動可能なシーソー式に構成されており、上方に倒すと増加、下方に倒すと減少するように指示することが可能である。
このように上下キー44は、上下に並べて配置することで、ユーザは感覚的に操作できる。すなわち、上方に配置された↑キー44aを押下すれば値を増加させ、下方に配置された↓キー44bを押下すれば値を減少させることができるので、ユーザは感覚的に操作することができ、誤操作の虞を低減できる。一般に画像処理センサは光電センサに比べて部品点数が多く、ケーシングが厚くなる傾向にあるため、↑キー44aや↓キー44bを縦長の形状として上下に並べても、ケーシングを大型化することなく配置できる程度の幅を確保でき、上下キー44の形状を、機能と合致させるように外観を構成することが可能となる。
また、一方向に延長した矩形状の表示面40aに、同じく矩形状の表示部43を配置する場合、表示部43の長手方向を表示面40aの長手方向と合致させるように配置することが、スペース効率の点で合理的となる。この場合、上下キー44は表示部43の長手方向の側面に配置することが好ましい。表示部43の上下に上下キー44を配置すると、表示面40aの厚さが増し、画像処理センサのケーシングの大型化に繋がる。そこで、表示部43と上下キー44とが、表示面40aの長手方向に沿って並ぶように配置することで、画像処理センサの小型化に寄与できる。
さらに上下キー44は、表示部43に対して同じ側に、SETキー42等の決定ボタン等と一緒に纏めて配置せず、表示部43を跨いで反対側に位置するように配置することが好ましい。このようにすることで、表示倍率や一致度閾値を増減した後、決定の指示をSETキー42から送るという操作に際して、未だ増減の途中で上下キー44を操作する際に誤ってSETキー42に触れて、意図しない決定の指示がなされる誤操作のリスクを、物理的にこれら上下キー44と決定キーを離間させることで低減することができる。
なお、上下キー44は必ずしも上下に並べて配置する構成に限られず、例えば図3Cの変形例に示すように、上下キー44Cを左右に並べて配置させてもよい。特に、従来の光電センサは、薄型化を図るために上下キーを「<」キーや「>」キーで構成して、左右に並べて配置することが行われている。そこで、画像処理センサを、このような光電センサでの配置例に倣って上下ボタンを配置することで、光電センサと同様の操作感を提供して、光電センサのユーザに対しても違和感なく導入、操作することが容易となる。
また、図3A〜図3Cに示す例では、上下キー44やBACKキー45、MODEキー46等を表示部43の右側に配置している。このように微細な操作が必要なキー類を右側に配置することで、右利きが多いと思われるユーザが右手で操作し易くできる。
さらに、各キーの形状は、互いに異ならせることが好ましい。これによって、ユーザは手触りでキーの種別を区別できるので、暗所や、奥まった位置に配設されてキーを直接目視することが困難な場合でも、触感での操作が可能となる。例えば図3Aの例では、上下キー44は、↑キー44aは上側の先端を、↓キー44bは下側の先端を、それぞれ先細りとした形状とし、BACKキー45とMODEキー46は、横長で上下に並べて配置し、一方、SETキー42は縦長に形成している。特に決定キーの形状を、BACKキー45やMODEキー46と異ならせることで、増減調整部51hで調整後に決定キーを押下する作業を確実に行わしめることができる。
さらにまた、増減調整部51hには、△や▽等のマークをキートップに刻印や印刷などで表示させている。これにより、増加、減少を行わせるキーであることをユーザに視覚的に把握させることができる。
(増減アイコン61)
また、後述する図7や図8等で示す通り、表示部43で表示される増減アイコン61は、増減調整部51hで調整可能な項目に応じて表示形態を変化させることができる。例えば図7に示すように一致度閾値を変更可能な画面においては、増減アイコン61は、現在設定中の一致度閾値の数値を表示させる一致度閾値表示領域62と共に、数値の隣に△や▽等のマークを表示させて、表示された値を上下、すなわち増減させることが可能であることを示している。一方、図8や図9に示すように、画像表示領域PDに画像を表示させた画面においては、増減調整部51hでズームインやズームアウトが可能であることを示すよう、増減アイコン61として「ZOOM」の文字と、その隣に△や▽等のマークを表示させている。
(反転表示機能)
なお、表示部43における画像や数値などの表示は、図3Dに示すように反転させることもできる。これにより、画像処理センサの生産ラインへの組み込み時の姿勢を、ケーブル類の引き出し方向等に応じて柔軟に変化させつつ、表示部43での表示自体はユーザが視認する方向に応じて変化させて、天地逆の表示となって判別し難くなる等の事態を回避できる。このような表示部43における表示態様の変更は、後述する表示制御部58fにて行わせることができる。
(反転表示連動増減機能)
また、この場合において、表示部43の表示を反転させた際には増減調整部51hの上下キー44の機能を入れ替えて、表示部43に表示される数値や画像の上下と合致させるように、増減の操作を変更できる。これにより、従来のように表示が逆の場合には、矢印や天地と逆に増減しなければならなくなって誤操作が生じ易くなる環境を避け、感覚的に判り易い、数値や画像の上方向で増加、下方向で減少という入力操作とすることで設定ミスを回避できる。
(判定結果表示灯41)
判定結果表示灯41は、運転モードにおいて判定した結果を点灯で示す。例えば良品の検出であれば青色に点灯させ、不良品の検出であれば赤色に表示させる。このような出力表示灯には、LED等の発光体が利用できる。また発光色を変化可能とすることが好ましい。例えば赤色LEDと青色LEDを設けたり、色を可変としたマルチカラーのLEDが利用できる。
出力状態表示灯47は、出力の状態を表示させるための部材であり、LED等が利用できる。その他の各部材の詳細については後述する。
なお、上記の操作部51や表示灯は、物理的なボタンやランプで構成する他、ディスプレイ上で仮想的に構成することもできる。例えば、表示面をタッチパネルで構成し、表示部や操作部、表示灯を、表示面に画像で表示させて仮想的なボタンやランプとして機能させることもできる。
またケーシング40の六面体形状を構成する面の内、正面又は背面のいずれか一方に、ケーブルを接続するコネクタ部48を配置している。図2Aや図2B等の例では、背面側(図において右側)に円筒状のコネクタ部48を設けている。なお、図1Aに示すように、ヘッド部2と分離型の画像処理センサの場合、正面側に、ヘッド部2を接続するためのヘッド部側コネクタ3Aを設けている。
(カバー部3B)
また、表示面40aにはカバー部3Bを設けてもよい。カバー部3Bを設けることで、操作部51に誤ってユーザの手などが触れて、一致度閾値の設定等が意図せずに変更される事態を回避できる。図1Aの例では、表示部43を覆うカバー部3Bを開閉自在に設けている。この例では、表示面40aの長手方向の一端に、ピボット式に旋回自在にカバー部3Bを連結して開閉可能としている。またカバー部3Bは透光性を有する部材で構成することで、カバー部3Bを閉じた状態でも表示部43を視認できる。カバー部3Bは、樹脂製等とできる。
また、カバー部を設けない構成としてもよい。図1Bでは、カバー部を設けない画像処理センサの例を示している。カバー部を設けない場合等に備えて、操作部にキーロック機能を持たせてもよい。キーロック機能を働かせることで、操作部に触れても反応しなくなり、意図しない設定の変更などを回避できる。操作を行う場合は、特定の解除操作を行い、キーロック機能を解除する。このような解除操作は、例えば特定のキーの長押し等とできる。
(ハードウェアブロック図)
次に画像処理センサのブロック図を図4に示す。この図に示すように画像処理センサのハードウェア構成は、主に撮像部21と、照明部26と、電源部32と、主制御部33と、表示部43と、操作部51を備えている。なおこの図は、図1Bに示した一体型の画像処理センサのブロック図を示している。図1Aの分離型の画像処理センサの場合は、図4において破線で示す右側がヘッド部2、左側がコントローラ部3に相当する。
電源部32は、各部に駆動電力を供給するための電圧変換回路等を備えている。図4の例では、照明部26の光源に電力を供給すると共に、その点灯のON/OFFや光量の制御を行う照明駆動回路241を備えている。照明部26の光源がLEDの場合、照明駆動回路241はLEDドライバ回路となる。また電源部32に、外部とのデータ通信を行うための外部通信回路321を設けてもよい。外部通信回路321は、例えば良品や不良品の判定結果を外部に出力する判定結果出力部として機能する。
主制御部33は、撮像部21の駆動制御や撮像部21で得られた画像の画像処理や、良否判定等を行うための部材である。図4の例では、DSP251やMCU331、メモリ252等で構成される。また主制御部33は、モデル画像や設定を保持するための画像/設定記憶部54を備えている。画像/設定記憶部54は、半導体メモリやハードディスク等のストレージで構成される。
操作部51は、ユーザが画像処理センサに対して各種の操作を行うための部材である。具体的には、ケーシング40の表示面40aに設けられた各種ボタン類が該当する。また表示部をタッチパネルで構成することで、表示部に操作部の機能を統合させることもできる。
(機能ブロック図)
さらに、画像処理センサの機能面から捉えた詳細なブロック図を図5に示す。この図に示すように画像処理センサは、操作部51と、撮像部21と、表示部43と、主制御部33を備える。操作部51は、ユーザからの操作指示を受け付け、この操作指示を主制御部33に伝えるための部材である。撮像部52は、画像を撮像し、撮像した画像を主制御部61に受け渡すための部材である。表示部43は、現在のセンサ状態の表示や、ユーザへの指示内容を表示するための部材である。
主制御部33は、設定管理部58と、画像/設定記憶部54と、条件割当部55と、設定画像処理部56と、運転画像処理部57を備える。設定管理部58は、操作部51及び撮像部52からの情報入力を基に、画像/設定記憶部54、条件割当部55、設定画像処理部56、運転画像処理部57を制御し、表示部43へ表示を行うための部材である。画像/設定記憶部54は、画像や設定を記憶するための部材である。条件割当部55は、登録条件パターンを変化させて、最適な登録条件を割り出す調整を行うための部材である。設定画像処理部56は、画像を基に画像処理登録を行い、対象画像の評価が行える状態にするための部材である。運転画像処理部57は、対象画像の評価を行い、一致度を算出するための部材である。各ブロックの役割について以下説明する。
(操作部51)
操作部51はユーザからの操作指示を受け付け、この操作指示を主制御部33に伝えるための部材である。図5の例では、操作部51は、良品画像設定部51aと、不良品画像設定部51bと、背景画像設定部51cと、運転/設定モード切替部51dと、応答時間設定部51eと、画面表示切替部51gと、増減調整部51hと、回転許容範囲設定部51jと、取消指示部51iと、登録モード切替部51kを含む。
(良品画像設定部51a)
良品画像設定部51aは、ユーザからの良品画像を登録するための操作指示を受け付け、この操作指示を主制御部61に伝える部材である。設定管理部58の誘導表示制御部58aは、操作指示表示部43fが、画像/設定記憶部54の登録識別指示情報記憶部54hから読み出した良品画像登録指示を表示部43に表示し、同時に、ライブ画像表示部43aが、撮像部52で撮像して繰り返し更新されるライブ画像を表示部43に表示する。良品画像設定部51aは、この状況下で、SETキー42が押下されると、設定管理部58の画像アクセス部にこの操作指示を伝える。画像アクセス部は、この操作指示に基づいて、該押下された際のライブ画像を良品画像として画像/設定記憶部54の良品画像記憶部541aに保存する。
(不良品画像設定部51b)
不良品画像設定部51bは、ユーザからの不良品画像を登録するための操作指示を受け付け、この操作指示を主制御部61に伝える部材である。設定管理部58の誘導表示制御部58aは、操作指示表示部43fが、画像/設定記憶部54の登録識別指示情報記憶部54hから読み出した不良品画像登録指示を表示部43に表示し、同時に、ライブ画像表示部43aが、撮像部52で撮像して繰り返し更新されるライブ画像を表示部43に表示する。不良品画像設定部51bは、この状況下で、SETキー42が押下されると、設定管理部58の画像アクセス部にこの操作指示を伝える。画像アクセス部は、この操作指示に基づいて、該押下された際のライブ画像を不良品画像として画像/設定記憶部54の不良品画像記憶部542aに保存する。
この不良品画像の設定の際には、表示部43の静止画像表示部43bが、設定管理部58の画像アクセス部を介して、画像/設定記憶部54の良品画像記憶部541aに保存された良品画像を表示部43に表示する。これにより、ユーザは不良品画像の設定の際に、良品画像と対比しながら不良品画像を設定することができる。
(背景画像設定部51c)
背景画像設定部51cは、ユーザからの背景画像を登録するための操作指示を受け付け、この操作指示を主制御部61に伝える部材である。設定管理部58の誘導表示制御部58aは、操作指示表示部43fが、画像/設定記憶部54の登録識別指示情報記憶部54hから読み出した背景画像登録指示を表示部43に表示する。背景画像設定部51cは、この状況下で、SETキー42が押下されると、設定管理部58の画像アクセス部にこの操作指示を伝える。画像アクセス部は、この操作指示に基づいて、該押下された際のライブ画像を背景画像として画像/設定記憶部54の背景画像記憶部543aに保存する。
(登録モード切替部51k)
登録モード切替部51kは、後述する画面遷移部58bにより第一登録画面、第二登録画面、及び第三登録画面の間で状態を遷移させる三点ティーチングモードと、画面遷移部58bにより第一登録画面及び第三登録画面の間で状態を遷移させる二点ティーチングモードとを切り替える選択するための部材である。なお、登録モード切替部51kにて、例えば一の画像のみを取得して、その対象物の存否を判別する一点ティーチングモードに切替可能になっていてもよい。後述するように、例えばSETキー42の短押しした場合、図57Bに示すように、画面表示43の全面を使用して、2点のティーチングの設定モードを起動するためのプログレスバーが表示され、2点のティーチングの設定モードに切り替わる。また、例えばSETキー42を長押しした場合、図57Cに示すように、画面表示43の全面を使用して、3点のティーチングの設定モードを起動するためのプログレスバーが表示され、3点のティーチングの設定モードに切り替わる。
(画面表示切替部51g)
画面表示切替部51gは、第一の表示形式による画面表示と第二の表示形式による画面表示とを切り替えるための部材である。表示制御部58fは、表示部43において、画面表示切替部51gによって切り替えられた第一の表示形式または第二の表示形式にて種々の表示を行う。なお、画面表示切替部51gが切り替え対象とする画面表示は、第一の表示形式、第二の表示形式の他、例えば第三〜第五の表示形式でもよく、また、これらに限定されることもない。
(増減調整部51h)
増減調整部51hは、表示部に表示される画像の表示倍率を変更するための部材である。上述の通り、増減調整部51hは一致度閾値を調整する部材としても兼用できる。ここでは、アップ側のスイッチとダウン側のスイッチの一対の部材で構成される。
(回転許容範囲設定部51j)
回転許容範囲設定部51jは、所定の画像処理に含まれる画像の姿勢位置決め処理において参照される、回転許容範囲を示す回転許容パラメータを設定するための部材である。また回転許容範囲設定部51jは、増減調整部51hと兼用することもできる。図3A等の表示面40aの例では、↑キーや↓キーに回転許容範囲設定部51jの機能を割り当てている。
(取消指示部51i)
取消指示部51iは、ユーザ操作により取消指示を行うための部材である。図3A等の表示面40aの例ではBACKキー45が取消指示部51iに該当する。
(操作部51の具体例)
図3Aに示す画像処理センサは、操作部51を、ハードウェアとしては上述したSETキー42、BACKキー45、MODEキー46等で構成している。SETキー42のボタン操作によって、動作状態すなわち表示部43の表示画面に応じて、対応する各種の操作指示を、主制御部33に指示する。例えば後述する図9に示す第一登録画面においては、操作部51であるSETキー42を押下することで、この時点で画像表示領域PDで表示されるライブ画像(表示内容を随時更新するリアルタイム表示)を良品画像として登録する良品画像登録指示が与えられる。また図13に示す第二登録画面においては、SETキー42を押下することで、画像表示領域PDで表示される静止画像を背景画像として登録する背景画像登録指示が与えられる。
さらに操作部51は、複数の操作指示を与えることもできる。例えば図9の第一登録画面において、SETキー42を押下すると、上述した良品画像を登録する良品画像登録指示に加えて、表示部43の表示を第一登録画面から第二登録画面に遷移させる画面遷移指示を主制御部33に指示する。このような複数の操作指示の割り当てを操作部51に行うことで、ユーザの操作性が向上される。すなわち、SETキー42の押下という操作部51の一動作で、複数の動作を実行させることにより、ユーザは登録画面の切り替え等を意識することなく、登録作業をスムーズに行える利点が得られる。
本実施例では、SETキー42は良品画像、不良品画像、背景画像の登録に用いられる。↑キー44a、↓キー44bは一致度閾値調整、倍率設定、項目選択等に用いられる。MODEキー46は表示切替や各種設定の切替に用いられる。設定の切替には、応答時間、回転許容角、登録モード変更等が挙げられる。
(撮像部21)
撮像部21は画像を撮像し、撮像した画像を主制御部33に受け渡す部材である。本実施例では、撮像部21の撮像素子としてCMOSを利用している。撮像素子には、CCD等、他の撮像素子も利用できる。また、既に撮像した画像データを外部記憶デバイスから読み出したり、外部の撮像素子で撮像された画像を転送する等の方法で画像を取得する態様も、本明細書でいう撮像部に含まれる。また撮像部の動作を制御するため、画像群取得部52aを設けている。画像群取得部52aは、撮像部を用いて複数枚の良品候補画像、不良品候補画像、背景候補画像を取得することができる(詳細は後述)。
(表示部43)
表示部43は現在のセンサ状態の表示や、ユーザへの指示内容を表示する部材である。表示部43には、有機EL(OLED)の他、液晶(LCD)等が利用できる。あるいは、図3A等のようにケーシング40の表示面40aに表示部43を組み込む他、表示部を外付けとしてもよい。また、このような外部表示デバイスへの映像信号出力とすることもできる。
(設定管理部58)
図5の説明に戻ると、設定管理部58は、表示制御部58fと、誘導表示制御部58aと、画像登録部58gと、画面遷移部58bと、画像アクセス部58cと、一致度統計値アクセス部58dと、バンク切替制御部58eとを備える。
画像/設定記憶部54は、画像記憶部54iと、設定保存部54dと、一致度統計値記憶部54eと、バンク設定記憶部54fと、閾値(第1、第2)記憶部54gと、登録識別指示情報記憶部54hとを備える。画像記憶部54iは、静止画像記憶部54aと、ライブ画像記憶部54bと、一致度統計時画像記憶部54cを備える。静止画像記憶部54aは、良品画像記憶部541aと、不良品画像記憶部542aと、背景画像記憶部543aを備える。
条件割当部55は、撮像条件割当部55dと、画像圧縮度設定部55hと、画像処理条件割当部55iを備える。撮像条件割当部55dは、明るさ条件割当部55eを含む。明るさ条件割当部55eは、明るさ条件候補設定部55fと、明るさ条件選択部55gを備える。
設定画像処理部56は、差分画像生成部56aと、特徴量抽出部56bと、閾値算出部56cと、画像圧縮部56dを備える。
運転画像処理部57は、特徴量抽出部57aと、一致度算出部57cと、一致度統計値算出部57eと、良否判定部57dとを備える。以下、これらの関係について説明する。
(表示制御部58f)
表示制御部58fは、表示部における画像やテキストなどの表示を制御するための部材である。例えば第一登録画面において良品画像をライブ画像として、第二登録画面において不良品画像をライブ画像として、第三登録画面において背景画像をライブ画像として、それぞれ表示させる。
(誘導表示制御部58a)
表示制御部58fは、誘導表示制御部58aを含む。誘導表示制御部58aは、上述の通り、操作指示表示部43fが、画像/設定記憶部54の登録識別指示情報記憶部54hから読み出した良品画像登録指示を表示部43に表示し、同時に、ライブ画像表示部43aが、撮像部52で撮像して繰り返し更新されるライブ画像を表示部43に表示する。
(画像登録部58g)
画像登録部58gは、撮像部で撮像された画像を登録するための部材である。また画像登録部58gは、設定モードにおいて、画像群取得部により取得された複数の画像群を候補画像として保持し、これらの中から選択された画像を登録する機能も果たす。例えば複数の良品画像を良品画像群として一時的に登録し、また複数の背景画像を背景画像群として、あるいは複数の不良品画像を不良品画像群として、それぞれ一時的に登録することもできる。登録される画像は、画像/設定記憶部54に保持される。この意味で、画像の登録機能は、画像登録部58gと画像/設定記憶部54によって実現されているといえる。ただ、画像登録部のみ、または画像/設定記憶部のみで画像の登録機能を実現することもできる。例えば設定管理部側に画像保持用のメモリを設けたり、あるいは画像/設定記憶部側に画像の登録処理を行う制御部を設けることができる。
表示部43の表示例を図7〜図11に示す。これらの図に示す表示部43は、表示領域を二分割して、画像を表示させるための画像表示領域PDと、説明を表示させるための説明表示領域EDを設けている。図9等の例では、横長の表示部43の左側に画像表示領域PDを、右側に説明表示領域EDを設けている。もちろん、左右を入れ替えたり、あるいは縦長として上下に二分割するなど、様々な態様にて表示させることができる。
(登録誘導情報)
表示制御部58fは、画像表示領域PDにライブ画像や静止画像を表示させることができる。また説明表示領域EDには、説明やガイダンスのための文字や図形を表示させることができる。具体的には、画像表示領域PDで表示される画像や、この画像と対応して行うべき手順を、文字や図形等で表示させることができる。また説明のための文字や図形を動画で表示させてもよい。例えば、表示制御部58fの誘導表示制御部58aにより、説明表示領域EDに登録誘導情報を表示させる。登録誘導情報は、画像を登録するようにユーザを誘導するための情報である。例えば、文字情報や画像情報を登録誘導情報に利用できる。画像情報には、静止画像の他、動画像を用いてもよい。また、これら文字情報と画像情報を組み合わせることもできる。ここでは、登録誘導情報として、第一登録画面において、一方の画像の登録を誘導するための第一登録誘導情報と、第二登録画面において、他方の画像の登録を誘導するための第一登録誘導情報とを含む。これらの詳細については後述する。
(閾値算出部56c)
閾値算出部56cは、表示部43に表示された、良品とすべき検査対象物を含む第一画像と、表示部43に表示された、良品とすべき検査対象物を含まない第二画像との特徴量の一致度合いを示す一致度に対する一致度閾値を算出するための部材である。ここで第一画像は例えば良品画像、第二画像は例えば背景画像や不良品画像とできる。
(画面遷移部58b)
画面遷移部58bは、閾値算出部56cによる一致度閾値算出に用いられる画像として、第一画像又は第二画像のうち一方の画像を登録するための第一登録画面から、閾値算出部56cによる一致度閾値算出に用いられる他方の画像を登録する第二登録画面に遷移させるための部材である。
(表示制御部58f)
表示制御部58fは、表示部43における表示内容を制御するための部材である。表示制御部58fは、誘導表示制御部58aを含む。
(誘導表示制御部58a)
誘導表示制御部58aは、第一登録画面において、撮像部21により撮像された一方の画像をライブ画像として表示部43に表示させる。さらに誘導表示制御部58aは、この一方の画像の登録を誘導するための第一登録誘導情報を、表示部43に表示させる。誘導制御部は、ライブ画像を表示部43の画像表示領域PDに表示させ、第一登録誘導情報を説明表示領域EDに表示させる。
また誘導表示制御部58aは、第二登録画面においても、他方の画像をライブ画像として画像表示領域PDに表示させると共に、この他方の画像の登録を誘導するための第二登録誘導情報を説明表示領域EDに表示させることもできる。
(画像/設定記憶部54)
画像/設定記憶部54は画像や設定を記憶する部材である。画像/設定記憶部54には、内部SRAMや外部FlashROM等が利用できる。例えば、登録誘導情報は常に記憶されている必要があるため、その記憶するための登録識別指示情報記憶部54hには不揮発性メモリであるFlashROM等が用いられる。なお、画像/設定記憶部54は、個々のデータ毎に別のデバイスとして設けてもよく、また揮発・不揮発のいずれのメモリを用いてもよい。また、個々のデータ毎に各部材や別のデバイスに保存してもよい。
(静止画像記憶部54a)
静止画像記憶部54aは、登録画像を記憶するための部材である。操作部51における、良品画像設定部51a、不良品画像設定部51b、背景画像設定部51cを介して入力時のタイミング、あるいは、入力直後のタイミングで、画像/設定記憶部54に保存されているライブ画像を画像/設定記憶部54の静止画像記憶部54a(良品画像記憶部541a、不良品画像記憶部542a、背景画像記憶部543a)に保存する。
(ライブ画像記憶部54b)
ライブ画像記憶部54bは、ライブ画像を記憶するための部材である。ライブ画像記憶部54bは、撮像部52から得られる画像を常に画像/設定記憶部54に保存する。ライブ画像は、繰り返し更新され、一時的に記憶されるよう非常に高速に動作することが求められるため、それを記憶するためのライブ画像記憶部54bにはSRAMが使用される。
(一致度統計時画像記憶部54c)
一致度統計時画像記憶部54cは、一致度の最大値・最小値を含むON時ピーク最大値などの一致度の統計値の全般である一致度統計値が算出された時のライブ画像を一致度統計時画像として記憶するための部材である。一致度統計時画像は、一致度統計時画像記憶部54cから読み出され、第二の表現形式や第四の表現形式またはそれらの変形例の表現形式におけるライブ画像の代わりに表示されるよう構成できる。
(設定保存部54d)
設定保存部54dは、各種の設定内容を保存するための部材である。
(一致度統計値記憶部54e)
一致度統計値記憶部54eは、一致度の最大値・最小値を含むON時ピーク最大値などの一致度の統計値の全般である一致度統計値を記憶するための部材である。
(バンク設定記憶部54f)
バンク設定記憶部54fは、バンク切替部51lにて切り替えて読み出す複数の設定を記憶するための部材である。MODEボタン64と上下キー44とが同時に押下されると、BNK1〜BNK4の間でBNKが切り替わり、表示部43に表示されたBNKと対応付けて、バンク設定記憶部54fに記憶される。
(閾値(第1、第2)記憶部54g)
閾値(第1、第2)記憶部54gは、出力チャンネル設定部51mにて、第一の判定結果及び第二の判定結果を出力するチャンネルを設定する際に、入力画像の一致度と比較される第一の閾値及び第二の閾値とを記憶するための部材である。
(登録識別指示情報記憶部54h)
登録識別指示情報記憶部54hは、良品画像や不良品画像、背景画像等の、登録すべき画像の登録を誘導するための登録誘導情報を記憶するための部材である。登録誘導情報は、誘導表示制御部58aの管理下において、操作指示表示部43fによって、説明表示領域EDに表示される。不揮発性メモリ、半導体メモリやハードディスク等が利用できる。
(条件割当部55)
条件割当部55は登録設定条件を変化させて、最適な登録設定条件を決定する調整を行うための部材である。具体的には、設定モードにおいて、応答時間設定部51eから与えられた応答時間に従って、設定可能な複数の異なる登録設定条件の候補を設定し、これらの登録設定条件候補で得た候補画像に対して評価を行い、良否判定に適した候補画像を登録画像として登録すると共に、このときの登録設定条件を保持して、運転モードにおいてこの登録設定条件で画像を撮像して良否判定を行うようにする。
この条件割当部55は、撮像条件割当部55dと、画像圧縮度設定部55hと、画像処理条件割当部55iを備えている。撮像条件割当部55dは、応答時間設定部により設定された応答時間内に良否判定を行うための所定の画像処理が可能となるように、画像の撮像条件を調整可能としている。また撮像条件割当部55dは、画像の明るさに関する条件、すなわち明るさのパラメータを調整可能な明るさ条件割当部55eを含んでいる。明るさのパラメータには、露光時間や照明強度等が挙げられる。明るさ条件割当部55eはさらに、明るさ条件候補設定部55fと、明るさ条件選択部55gを備える。
(明るさ条件候補設定部55f)
明るさ条件候補設定部55fは、与えられた応答時間内に判別結果が出力されるように、複数の明るさ条件の各々を明るさ条件候補として設定するための部材である。
(明るさ条件選択部55g)
明るさ条件選択部55gは、一致度算出部57cにより複数の明るさ条件候補毎に算出された一致度に基づいて、複数の明るさ条件候補の中から選択条件に従い明るさ条件を選択するための部材である。
以上の条件割当部55は、例えば、良品画像及び背景画像と、不良品画像及び背景画像とから、背景を取り除いた良品画像と、背景を取り除いた不良品画像とをそれぞれ切り出し、それらの背景を取り除いた画像に基づいて、良品と不良品とを判別するのに最適な登録条件を割り出すための評価方法を決定する。例えば、画像圧縮度設定部55hが画像の解像度を変更し、画像処理条件割当部55iが画像処理の処理フローを変更し、明るさ条件割当部55eが画像を撮像する際の明るさを変更する。あるいは条件割当部55が、内部的な特徴量の抽出方法を変更する特徴量抽出処理割当部を備えてもよい。このようにして条件割当部55は登録条件パターンを変えていき、設定画像処理部56の閾値算出部56cで算出される一致度が最適となる登録条件パターンを最適な登録条件とする。なお、この機能ブロックは、例えば設定管理部58が担うようにしてもよい。
(設定画像処理部56)
設定画像処理部56は、画像を基に画像処理登録を行い、対象画像の評価が行える状態にするための部材である。この設定画像処理部56は、与えられた良品画像、不良品画像、背景画像のうち少なくとも1枚の画像を基に画像処理アルゴリズムの登録を行い、内部の特徴量の重みパラメータの決定すると共に、登録処理中に、運転画像処理部57にて、対象画像の評価を行い、一致度を算出して、良品画像と不良品画像とを判別するための閾値を算出する。なお設定モードにおける登録処理中に、運転動作を行い一致度閾値を算出することもあるため、図5においては設定画像処理部56が運転画像処理部57と跨がるように図示されている。
(差分画像生成部56a)
差分画像生成部56aは、良品画像から背景画像を除いて、良品ワークのみを抽出する単純差分画像を生成する、あるいは、不良品画像から背景画像を除いて、不良品ワークのみを抽出した単純差分画像を生成するための部材である。これらの差分画像は、2枚の画像の対応する画素同士を減算して、差分を得ている。ただ本明細書において「差分」とは、このような対応画素同士を減算する単純差分処理に限定されない。例えば、背景との共通要素を除外することで、ワーク領域を特定することも含む意味で使用する。
(特徴量抽出部56b)
特徴量抽出部56bは、画像データから特徴量を抽出するための部材である。特徴量は、特徴点や単に特徴などとも呼ばれ、輪郭(エッジ)、エッジピクセル数、輝度平均/分散等が挙げられる。またこのような特徴量を画像データから抽出するアルゴリズムとしては、例えばエッジ特徴であればSobelフィルタ等、既知のアルゴリズムが利用できる。
(閾値算出部56c)
閾値算出部56cは、表示部43に表示された、良品とすべき検査対象物を含む良品画像又は該良品画像に基づき生成される良否判定の基準となる画像(特許請求の範囲における「第一画像」の一例に該当する。)と、表示部43に表示された、良品とすべき検査対象物を含まない背景画像(特許請求の範囲における「第二画像」の一例に該当する。)または不良品画像(特許請求の範囲における「第二画像」の他の一例に該当する。)との特徴一致度合いを示す一致度に対する閾値を算出するための部材である。この閾値算出部56cが、良品画像と背景画像または不良品画像との特徴一致度合いを示す一致度に対する閾値を自動的に算出する。良品画像と背景画像との2点からティーチングを行う場合、良品画像及び背景画像の特徴量をそれぞれ算出し、その特徴量の間に閾値を引く。また、良品画像、不良品画像、背景画像の3点からティーチングを行う場合、良品画像及び背景画像と、不良品画像及び背景画像とから、背景を取り除いた良品画像と、背景を取り除いた不良品画像とをそれぞれ切り出し、背景が取り除かれた良品画像及び不良品画像の特徴量を算出し、その特徴量の間に閾値を引く。
(画像圧縮部56d)
画像圧縮部56dは、画像を圧縮して低解像度化するための部材である。画像の圧縮方法としては、Lanczos法、平均画素法、バイキュービック法など、既知の手法が利用できる。また画像圧縮部56dは、圧縮対象の入力画像を、与えられた応答時間に基づいて、所定の画像処理がこの応答時間内で処理可能なデータサイズとなるように圧縮するようにも機能する。
(運転画像処理部57)
運転画像処理部57は、対象画像の評価を行い、一致度を算出するための部材である。この運転画像処理部57は、設定画像処理部56によって、画像処理アルゴリズムの登録ができた状態で、評価対象の画像に対して、登録された画像処理アルゴリズムを動作させ、運転画像に対して、良品画像との一致度を算出する。また運転画像処理部57は、運転画像に対して算出した一致度と設定画像処理部56の閾値算出部56cで算出した閾値とを比較して、ワークWKが良品か不良品かを判定する。
(特徴量抽出部57a)
特徴量抽出部57aは、画像データから特徴量を抽出するための部材である。特徴量は、特徴点や単に特徴などとも呼ばれ、輪郭(エッジ)、エッジピクセル数、輝度平均/分散等が挙げられる。またこのような特徴量を画像データから抽出するアルゴリズムとしては、例えばエッジ特徴であればSobelフィルタ等、既知のアルゴリズムが利用できる。なお、後述する設定画像処理部56の特徴量抽出部56bと共通化することもできる。この場合、登録時において特徴量抽出部57aで特徴量を算出して設定画像処理部56に送出したり、逆に運転時において設定画像処理部56の特徴量抽出部56bで特徴量を算出して運転画像処理部57に送出することができる。あるいは、設定画像処理部56と運転画像処理部57を統合してもよい。
(一致度算出部57c)
一致度算出部57cは、対象画像の評価を行い、一致度を算出するための部材である。ここで、一致度とは、良品画像との一致する度合いを意味し、例えば、対象画像が良品画像である場合を100%とした時に、背景画像と良品画像との一致する度合いが70%だとすると、背景画像の一致度は70%ということになり、良品画像の一致度と背景画像の一致度との間の85%を閾値とする。このように、割合として一致度を算出してもよいし、特徴量毎に点数を配分し、度合いではなく、特徴量毎に配分された点数を合算した値を一致度としてもよい。また、前述の実施形態では、一致度は、良品画像との一致の度合い、あるいは、特徴量をスコア化した値として定義しているが、不良品画像との一致の度合いと定義してもよいし、さらには、第一画像を適宜選択することでユーザが所望する対象画像との一致の度合いと定義することもできる。
(一致度統計値算出部57e)
一致度統計値算出部57eは、一致度算出部57cにて算出された一致度の、運転開始時から、または一致度統計値がホールドクリアされてからの一致度統計値を算出するための部材である。この一致度統計値算出部57eは、一致度の最大値、最小値、設定閾値と紐づいたON時ピーク値、ON時ピーク最大/最小値、OFF時ボトム値、OFF時ボトム最大/最小値を算出する。例えば3ms毎に更新される一致度が過去最大値を上回れば、該一致度の値を最大一致度として算出する。同様に、一致度統計値算出部57eは、例えば3ms毎に更新される一致度が過去最小値を下回れば、この時の一致度の値を最小一致度として算出する。
また一致度統計値算出部57eは、一致度が閾値を上回り良品と判定するON時であって、現在のサンプリング期間の終了時に、該サンプリング期間のON時ピーク値がそれまでのON時ピーク最大値を上回れば、該ON時ピーク値をON時ピーク最大値として算出し、該サンプリング期間のON時ピーク値がそれまでのON時ピーク最小値を下回れば、該ON時ピーク値をON時ピーク最小値として算出する。さらにまた、一致度統計値算出部57eは、一致度が閾値を下回り不良品と判定するOFF時であって、現在のサンプリング期間の終了時に、該サンプリング期間のOFF時ボトム値がそれまでのOFF時ボトム最大値を上回れば、該OFF時ボトム値をOFF時ボトム最大値として算出し、該サンプリング期間のOFF時ボトム値がそれまでのOFF時ボトム最大値を下回れば、該OFF時ボトム値をOFF時ボトム最小値として算出する。
(設定管理部58)
設定管理部58は、各機能ブロックを統括するための部材である。設定管理部58は、操作部51及び撮像部52によって入力された情報に基づいて、画像/設定記憶部54、条件割当部55、設定画像処理部56、運転画像処理部57を制御し、必要な画像や情報を表示部43に表示する。例えば設定モードにおいて、ライブ画像の設定待ち状態では、撮像部21から得られる画像を常にメモリ(揮発性又は不揮発性)に保存している。そして操作部51から画像登録命令を受け取ったタイミングで、メモリに保存されているライブ画像を良品画像/不良品画像/背景画像として登録する。あるいは、メモリに保存されている画像データを経由させず、操作部51が押下された直後のライブ画像を、良品画像/不良品画像/背景画像に登録させる。そして条件割当部55に登録画像を転送し、登録結果を表示部43に表示させる。一方、運転モードにおいては、撮像部21から評価対象のライブ画像を受けて、運転画像処理部57に送出し、運転画像処理部57の評価結果を、表示部43に表示させる。
設定時には、設定管理部58は、撮像部52から得られる画像を常に画像/設定記憶部54に保存しており、操作部51における、良品画像設定部51a、不良品画像設定部51b、背景画像設定部51cを介して入力時のタイミング、あるいは入力直後のタイミングで、画像/設定記憶部54に保存されているライブ画像を画像/設定記憶部54の静止画像記憶部54a(良品画像記憶部541a、不良品画像記憶部542a、背景画像記憶部543a)に保存し、登録結果として、表示部43の静止画像表示部43bに表示する。
運転時には、設定管理部58は、撮像部52から得られる画像を対象画像として運転画像処理部57に出力し、運転画像処理部57による評価結果を表示部43の判定結果表示部に表示する。
(表示制御部58f)
表示制御部58fは、上述の通り表示部43における表示内容を制御するための部材である。表示制御部58fは、誘導表示制御部58aを包含してもよい。表示制御部58fは、表示部43において、画面表示切替部51gによって切り替えられた第一の表示形式〜第五の表示形式にて種々の表示を行う。
(誘導表示制御部58a)
誘導表示制御部58aは、表示部43における表示内容を制御するための部材である。誘導表示制御部58aは、画面遷移部58bを含んでもよい。また、第二登録画面におけるライブ画像と前回登録済みの良品画像との並列表示機能を画像アクセス部58cに持たせているが、誘導表示制御部58aがこの機能を担ってもよい。
(画面遷移部58b)
画面遷移部58bは、閾値算出部56cによる閾値算出に用いられる画像として、第一画像又は第二画像のうち一方の画像を登録するための第一登録画面から、閾値算出部56cによる閾値算出に用いられる他方の画像を登録する第二登録画面に遷移させるための部材である。画面遷移部58bは、第一登録画面において、撮像部52により撮像された一方の画像をライブ画像として表示部43に表示させる。さらに画面遷移部58bは、この一方の画像の登録を誘導するための第一登録誘導情報を、表示部43に表示させる。画面遷移部58bは、ライブ画像を表示部43の画像表示領域PDに表示させ、第一登録誘導情報を説明表示領域EDに表示させる。
また画面遷移部58bは、第二登録画面においても、他方の画像をライブ画像として画像表示領域PDに表示させると共に、この他方の画像の登録を誘導するための第二登録誘導情報を説明表示領域EDに表示させることもできる。
(画像アクセス部58c)
画像アクセス部58cは、良品画像、不良品画像、背景画像、ライブ画像、一致度統計時画像などの保存、削除、読出しを行うための部材である。画像アクセス部58cは、例えばティーチング時の第二登録画面において、ライブ画像表示部43aを介して表示部43の左側にライブ画像を表示させ、静止画像表示部43bを介して右側に前回登録済みの良品画像を表示させる。これにより、ユーザは、例えば、良品画像の登録画像を見ながら、不良品画像を登録することができるので、意図しない登録を防止できる。
画像アクセス部58cは、良品画像と背景画像との2点のティーチングの際の図9に示す第一登録画面においては、操作部51であるSETキー42が押下されると、この時点で画像表示領域PDで表示されるライブ画像を良品画像として良品画像記憶部541aに保存する。また図8に示す第二登録画面においては、SETキー42が押下されると、画像表示領域PDで表示されるライブ画像を背景画像として背景画像記憶部543aに保存する。
また画像アクセス部58cは、良品画像、不良品画像、背景画像との3点のティーチングの際の図17に示す第二登録画面においては、SETキー42が押下されると、画像表示領域PDで表示されるライブ画像を不良品画像として不良品画像記憶部542aに保存する。また図18に示す第三登録画面においては、SETキー42が押下されると、画像表示領域PDで表示されるライブ画像を背景画像として背景画像記憶部543aに保存する。
(一致度統計値アクセス部58d)
一致度統計値アクセス部58dは、一致度統計値の保存、削除、読出しを行うための部材である。一致度統計値アクセス部58dは、例えば運転時に、一致度統計値算出部57eにて算出させ、一致度統計値記憶部54eに保存すると共に、一致度統計値記憶部54eにて保存された一致度統計値を読み出して、表示部43に表示させる。
(バンク切替制御部58e)
バンク切替制御部58eは、複数のBNKを切替可能とすると共に、BNKと対応付けて設定をバンク設定記憶部54fに記憶させたり、BNKと対応付けて設定を読み出し、読み出された設定にて運転させる制御を行う部材である。
(設定モードにおける画像の登録)
この画像処理センサでは、設定モードにおいて画像を登録する方法として、以下の4つが挙げられる。
1.三点登録
三点登録においては、良品画像と、不良品画像と、背景画像を登録する。三点登録は、良品と不良品の識別を目的としている。三点登録した後に運転モードに切り替えると、入力画像が如何に良品画像に近いかを評価する一致度が算出される。
2.二点登録(良品画像と不良品画像を登録)
二点登録では、良品画像と、不良品画像を登録する。二点登録も、良品と不良品の識別を目的としており、二点登録した後に運転モードに切り替えると、入力画像が如何に良品画像に近いかを評価する一致度が算出される。
なお二点登録と三点登録との相違点は、背景画像の有無により、ワーク特定の可否が異なる点である。すなわち、背景画像が登録されていない状況では差分処理が行えないため、良品ワークと不良品ワークとを良好に特定できない。ワークが特定できないため、登録時の良品/不良品の情報は、「背景を含む良品」と、「背景を含む不良品」となる。背景とワーク領域の識別ができないことから、良品画像に含まれる背景と不良品画像に含まれる背景が異なる場合(例えば良品ワークと不良品ワークの大きさが異なる場合等)では、本来評価対象外とすべき背景の差により識別をしようとしてしまい、誤検出に繋がる。
また、登録時のみならず運転時においても、入力画像に対して良品あるいは不良品の切出しができないため、背景を含んだワークにより良否判別を行うことになる。この場合、良品と不良品とは無関係な背景が変化した場合であっても、その変化に基づき一致度が変化してしまうことになる。このように、良品と不良品だけに着目した識別に対して不安定な要素(すなわち背景)が識別に含まれるため、最良な識別結果が期待できない。このことから、背景画像の有無により検出性能に差が生じ、ワーク特定が可能な三点登録の方が判別性能が良いと見込まれる。
3.二点登録(良品画像と背景画像を登録)
一方、別の二点登録として、良品画像と、不良品画像に代えて背景画像を登録する例を考える。この二点登録では、良品のワークの有無の判別を目的としており、二点登録した後に運転モードに切り替えると、良品のワークと思しきものが存在する確率が0〜100%の一致度で算出される。
また、良品画像と背景画像を登録する二点登録を、識別用途に用いることも可能である。この場合、登録時に良品ワークが特定されるため、運転画面に対しても良品ワークが存在するかを識別することで識別動作が可能となる。しかし不良品ワークが存在しないため、良品ワーク全体で一致度を評価する必要が生じる。この場合、仮に不良品ワークとして良品ワークの一部が欠けたワークを想定すると、欠けの大きさに基づき一致度を変化させざるをえず、小さい欠けに対しては大きな一致度差を出すことができず、良品/不良品の判別感度が不十分となる虞がある。
一方、三点登録では良品ワークと不良品ワークが登録されているため、事前に差のある領域を特定することができる。そのためワークや差の大小によらず、差のある部分で一致度判定を行うことで、小さな欠けに対しても大きな一致度差を出すことが可能となる。このことから、不良品画像の有無により識別性能に差が生じ、不良品特定ができる三点登録の方が識別性能が良いと見込まれる。また、これら複数枚の画像登録により、従来のように1枚の画像で登録処理を行う方法に比べて高識別性、高安定性が実現される。
4.一点登録(良品画像又は背景画像を登録)
一点登録では、良品画像又は背景画像を登録する。この一点登録では、登録状態から何か違うかを評価することを目的としている。例えば、背景画像を登録することで、背景状態を把握させ、何らかのワークが搬送されてきた場合に反応するといった態様で用いられる。
(良品画像と不良品画像を登録する二点登録の手順)
次に、具体的なティーチングとして、二点登録の手順を、画像処理センサ側から見た図6のフローチャート、及び図7〜図11に基づいて説明する。ここでは二点登録の例として、良品画像と、不良品画像の2つの画像を登録する例について説明する。
まずステップS600において処理を開始し、ステップS601において、二点登録モードへの切り替えの有無を判定する。ここでは、操作部51の一形態であるSETキー42の短押しの有無を判定する。具体的には図7に示す運転モードで動作中の表示部43の運転画面から、SETキー42が押下された時間を計測し、所定の秒数(例えば3秒)以下の場合は短押しと判定する。短押しが検出された場合は、ステップS602に進み、検出されない場合は二点登録モードの処理を中止する。図6の例ではステップS600に戻る。なお、ステップS600に戻る代わりに、後述する三点登録モードに移行させてもよい。
次にステップS602において、第一登録画面において第一画像の登録を行う。ここでは、撮像した画像を表示部43において表示させる。具体的には、まず登録情報指示情報記憶部から、良品画像を登録するための指示情報である第一登録誘導情報を読み出し、表示部43に表示させる。表示部43における第一登録画面の表示例を図8に示す。表示部43は画像表示領域PD(図8において左側)と説明表示領域ED(右側)を設けており、画像表示領域PDにライブ画像を、説明表示領域EDに登録誘導情報を、それぞれ表示させている。ここでは、登録誘導情報は、第一画像として良品画像を登録するよう指示するガイダンスをユーザに示している。この例では、「検出ワークあり(良品)」状態での画像の登録を指示するよう、「SET PRESENSE」を表示させている。このようにして、ユーザに対して良品画像として登録すべき良品ワークを画面視野内に置き、撮像部21に撮像させるように、表示制御部58fは第一登録誘導情報を表示部43に表示させて促す。ユーザはこのような表示により、良品ワークを置く動作がこのタイミングで必要なことを理解でき、この誘導に従って良品ワークを置くよう案内される。
次に撮像部21で撮像した現在の画像を、表示部43の第一登録画面に表示させる。上述の通り画像表示領域PDは、リアルタイムに表示内容を更新させるライブ画像の表示状態となっている。上記の第一登録誘導情報に従い、ユーザが良品ワークを画面視野内に置いた場合は、ライブ画像表示機能により、図9に示すようにユーザはリアルタイムで良品ワークを表示部43上で確認できる。この段階で表示部43に表示されるライブ画像は、良品画像の候補となる。このように第一画像の候補となる画像の表示形態をライブ画像表示としたことで、ユーザが良品ワークを置く位置や回転角度を変更すると、直ちに表示部43の表示内容が反映されるので、ユーザは良品ワークを撮像した良品画像として登録する画像を、所望の状態に調整し易い利点が得られる。すなわち、良品画像として登録する上で、大きさや視野等が適切であるかをユーザは表示部43上から目視により確認し、問題がない場合は現在表示部43に表示されている画像の登録を行う。
(表示倍率調整機能)
また、画像表示領域PDで表示されるライブ画像の表示倍率を調整して、画像を拡大あるいは縮小表示させることもできる。このような拡大縮小機能により、表示面積の限られた表示部43を有効に活用できる。拡大、縮小は、撮像した光学画像のデジタルズームとする他、撮像部21に設けた光学レンズの倍率調整としてもよい。
図9の例では、このような拡大縮小操作が可能であることを示すため、説明表示領域EDには拡大縮小可能表示情報として「ZOOM」の文字を示したアイコンと、上下の矢印を示した増減アイコン61を表示している。このような視覚的な表示によってユーザは、この画面において画像の拡大等が可能であることが促される。具体的には、図3A等の表示面40aに設けられた増減調整部51hの一形態である上下キー44を操作して、画像の拡大又は縮小操作が可能となる。例えば図10に示すように、上下キー44の↑キー44aを押下すると画像が拡大されて表示され、↓キー44bを押下すると画像が縮小されて表示される。なお、増減アイコン61のマークと、増減調整部51hである上下キー44に付されたマークを一致させることで、これらの対応関係を視覚的にユーザに把握させ、よりスムーズな操作を促すこともできる。図3Aや図9の例では、上下キー44に△や▽を表示させ、増減アイコン61に△や▽を表示させて、これらの表示を一致させることで、対応関係を視覚的に示している。
また、表示部をタッチパネルとして、「ZOOM」アイコンに並べて設けられた増減アイコン61を増減調整部51hとして機能させることもできる。例えば、△アイコンをタッチすると画像が拡大され、▽アイコンをタッチすると縮小されるように構成してもよい。
このように、画像の拡大縮小表示が可能な画面では増減アイコン61の一例である「ZOOM」アイコンを表示させ、画像の拡大縮小機能が無効となっている画面では「ZOOM」アイコンを表示させないことで、画像の拡大縮小機能が利用可能であることをユーザに対し告知できる。
なお図9の例では、説明表示領域EDに拡大縮小可能表示情報を表示させた例を示しているが、この構成に限られず、例えば画像表示領域に拡大縮小可能表示情報を表示させたり、あるいは画像表示領域と説明表示領域に跨がって拡大縮小可能表示情報を表示させてもよい。
このようにして、ユーザは必要に応じて視野や倍率を適切に調整した良品画像を画像表示領域PDに表示させた状態で、操作部51の一形態であるSETキー42を押下することで、画像表示領域PDで表示されるライブ画像を、良品画像として登録する。この処理の具体的な流れを、図6のフローチャートに戻って説明する。
まずステップS603において、操作部51からの操作指示の有無を検出する。ここでは、ユーザが操作部51の一形態であるであるSETキー42を操作したか否かを判定する。操作指示がない場合、すなわちユーザがSETキー42を押下していない場合は、ステップS604に進み、倍率変更指示の有無を検出する。ここでは、増減調整部51hの操作の有無を検出する。図3A等に示す表示面40aの例では、増減ボタンである上下キー44が増減調整部51hに該当する。
ステップS604において増減調整部51hの操作が検出された場合は、ステップS605に進み、表示部43における表示倍率を変更する。図3A等の例では、上下キー44の内、↑キー44aが押下された場合は表示倍率を高め、拡大表示される(ズームイン又はテレ)。一方、↓キー44bが押下された場合は表示倍率を低下させ、撮像領域を広くする(ズームアウト又はワイド)。その後、ステップS606に進む。あるいはステップS602に戻って表示を繰り返してもよい。
一方、ステップS604において増減調整部51hの操作が検出されない場合は、ステップS606に進み、取消指示の有無を判定する。取消指示は取消指示部から行い、図3A等の表示面40aの例ではBACKキー45が取消指示部に該当する。BACKキー45は、ユーザが画像の登録処理等を中止する場合に操作するキーである。取消指示が検出された場合は、処理を中止する(例えばステップS600に戻ったり、二点登録を中止して図7の運転画面に戻る)。
ステップS603において、操作指示があった場合、すなわちユーザがSETキー42を押下した場合は、ステップS607に進み、現在画像表示領域PDに表示中のライブ画像を良品画像として登録する。
さらにステップS608において、第二登録画面から第二画像の登録を行う。このため、新たに画像を撮像して表示部に表示させる必要がある。ここでは、登録情報指示情報記憶部から、不良品画像を登録するための指示情報乃至誘導情報である第二登録誘導情報を読み出し、表示部43に表示させて第二登録画面を構成する。具体的には、図11に示すように表示制御部58fが第二登録誘導情報を表示部43に表示させて、ユーザに対して不良品画像として登録すべき不良品ワークを画面視野内に置くように促す。これにより、ユーザはこのタイミングで不良品ワークを置く作業が必要なことが理解でき、ユーザが行うべき作業を案内される。言い換えると、表示部43を通じた視覚的な誘導により、良品ワークを置くタイミングと、不良品ワークを置くタイミングを取り違えるリスクを回避できる。
このようにして表示部43の第二登録画面に表示された第二登録誘導情報に従い、ユーザが不良品ワークを置くと、撮像部21で新たに撮像した画像が表示部43に表示される。具体的には、不良品画像の候補となる現在の画像を、表示部43にライブ画像として表示させる。この状態でユーザは、図11に示すように、不良品ワークを撮像した不良品画像の候補となるライブ画像を表示部43上で確認できる。具体的には、不良品画像として登録する前に、大きさや視野等が問題無いかを視覚的に確認でき、登録可能と判断した上で不良品画像を登録できる。図11の例では、第二登録誘導情報として「検出ワークあり(不良品)」状態の登録を指示するよう、「SET NG」を説明表示領域EDに表示している。一方、画像表示領域PDには、不良品画像の候補となる画像をライブ画像で表示する。
次にステップS609において、操作部51からの操作指示があったか否かを検出する。操作指示がない場合、すなわちユーザがSETキー42を押下していない場合は、ステップS610に進み、取消指示の有無を判定する。BACKキー45の押下が検出された場合は、ステップS602に戻る。BACKキー45の操作が検出されない場合は、ステップS608に戻って処理を繰り返す。
なお不良品画像の登録に際しては、表示倍率変更機能を実施していない。なぜなら、後述する差分の取得等の画像処理に際して、良品画像と不良品画像の倍率を一致させる必要があるからである。このため、良品画像の登録時に設定された表示倍率を、不良品画像の登録時に維持することで、同じ倍率の画像をそのまま登録でき、後の画像作業をスムーズに行える。また、良品画像と不良品画像のスケールは概ね同程度のことが多いため、良品画像で設定された倍率のままで不良品画像も適切に撮像できる場合が多いと考えられる。
ただし、不良品ワークが良品ワークより大きい場合等、倍率を変更したい場合も考えられる。この場合は、不良品画像の候補に対しても、上述した良品画像の候補と同様、表示倍率の変更を追加してもよい。例えば図11に示す表示部43において、「ZOOM」アイコンのような拡大縮小可能表示情報を表示させる。なお、この場合は、登録済みの良品画像の表示倍率を不良品画像の表示倍率と一致させるため、良品画像を再登録することが好ましい。ただ、デジタルズーム等を用いて、良品画像や不良品画像の倍率を一致させるように拡大縮小させてもよい。この場合は、良品画像を再撮像する手間を省くことができる。
一方で、ステップS609において、操作指示があった場合、すなわちユーザがSETキー42を押下した場合は、ステップS611に進み、現在画像表示領域PDに表示中のライブ画像を不良品画像として登録する。
さらにステップS612に進み、登録された良品画像及び不良品画像を、画像/設定記憶部54に保存する。そしてステップS613に進み、良品画像と不良品画像から、一致度閾値を算出し、さらに演算された一致度閾値を設定する。このようにして、二点登録を行い、良品画像と不良品画像から適切な一致度閾値を自動的に演算して、一致度閾値の設定までを行うことができる。設定された一致度閾値は、表示部43上に表示させてもよい。また、設定モードの登録画面から、運転時の運転画面に切り替えることで、一致度閾値を確認できるようにしてもよい。例えば二点登録の設定モード終了後に、運転モードに戻るようにすることで、図7に示す運転画面において、設定された一致度閾値を表示部43に表示させ、ユーザが数値を確認できるようにしてもよい。また、新たに設定あるいは更新された一致度閾値を、表示部43上で点滅表示させる等して、一致度閾値が設定乃至更新されたことを示すように構成してもよい。
以上のように、操作部51の一回の操作で、良品画像の登録(ステップS607)と、不良品画像の登録用画面への切り替え(ステップS608)が同時に行われる。また不良品画像の登録(ステップS611)と、登録処理から一致度閾値の算出(ステップS612以降)も、操作部51の一回の操作で同時に行われる。これによってユーザはSETキー42を押すだけで、二点登録の設定作業を進めることができる。言い換えると、複雑な操作を必要とせず、表示部43の画面に表示された誘導に従って、ワークを置く作業とSETキー42の押下とによって、良否判定に適した一致度閾値を設定することが可能となる。
なお、これらの動作は、一回の操作で纏めて行えるようにすることで省力化が図られるが、その一方で、各動作を個別に指示するように構成することもできる。例えば操作部を操作して良品画像の登録を行い、さらに操作部を操作して、不良品画像の登録用画面への切り替えを行うように構成してもよい。
以上のようにして、良品画像と不良品画像との差が顕著に表れるような特徴量の選択が可能となる。すなわち、差分を利用して良品と不良品のワーク領域を抽出するため、その領域内で特徴差が最大化するような調整が可能となる。また登録作業を簡単に行える利点が得られる。すなわち画像を見ながらSETキー42を押すだけで済み、従来の画像処理センサのようなツール枠やパラメータ設定を不要とできる。
(良品画像と背景画像を登録する二点登録の手順)
以上の例では、良品画像と不良品画像の2つの画像を登録する二点登録について説明した。ただ、二点登録はこれらの画像の組み合わせに限らず、他の画像とすることもできる。例えば良品画像と、ワークの存在しない背景画像の2つの画像を、二点登録してもよい。このような例を、図12のフローチャートに基づいて説明する。
まずステップS1200において処理を開始し、ステップS1201において、二点登録モードへの切り替えの有無を判定する。ここでは、SETキー42の短押しの有無を判定する。短押しが検出された場合は、ステップS1202に進み、検出されない場合は二点登録モードの処理を中止する。
次にステップS1202において、第一登録画面において第一画像の登録を行う。ここでは、撮像した画像を表示部43において表示させる。具体的には、まず登録情報指示情報記憶部から、良品画像を登録するための指示情報である第一登録誘導情報を読み出し、表示部43に表示させる(図8)。ここで、ユーザに対して良品画像として登録すべき良品ワークを画面視野内に置き、撮像部21に撮像させるように、表示制御部58fは第一登録誘導情報を表示部43に表示させて促す。ユーザはこのような表示により、良品ワークを置く動作が必要なことが理解でき、この誘導に従って良品ワークを置くよう案内される。
次にステップS1203において、撮像部21で撮像した現在の画像を、表示部43に表示させる。ここでは表示部43はリアルタイムに表示内容を更新させるライブ画像の表示状態となっている。この状態で、ユーザは良品ワークを撮像した良品画像の候補となるライブ画像を、図9に示すように表示部43上で確認できる。具体的には、良品画像として登録する上で、大きさや視野等が問題無いかを確認し、問題がない場合は、操作部51(SETキー42)を操作する。
次にステップS1204において、操作部51からの操作指示があったか否かを検出する。操作指示がない場合、すなわちユーザが操作部51を操作していない場合は、ステップS1205に進み、「戻る」指示があったか否かを判定する。戻る指示は、例えば図3A等の操作部51の例においてBACKキー45が該当する。BACKキー45は、ユーザが良品画像の登録を中止する場合に操作するキーであり、BACKキー45の操作が検出された場合は、ステップS1200に戻る。BACKキー45の操作が検出されない場合は、ステップS1203に戻って処理を繰り返す。
一方で、ステップS1204において、操作指示があった場合、すなわちユーザが操作部51を操作した場合は、ステップS1206に進み、現在画像表示領域PDに表示中のライブ画像を良品画像として登録する。ここまでの手順は、上述した図6に示す良品画像と不良品画像を登録する二点登録の手順と同じである。
さらにステップS1207において、第二登録画面において第二画像の登録を行う。具体的には、登録情報指示情報記憶部から、背景画像を登録するための指示情報である第二登録誘導情報を読み出し、表示部43に表示させる。ここでは、図13に示すように表示制御部58fが第二登録誘導情報を表示部43に表示させて、ユーザに対して背景画像として登録すべき、良品ワークを撮像位置から除くように促す。ユーザは表示された第二登録誘導情報に従い、ワークを除去する動作が必要なことが理解でき、この段階で必要な動作が誘導される。言い換えると、表示部43を通じた視覚的な誘導により、良品ワークを置くタイミングと、良品ワークを除くタイミングを取り違えるリスクを回避できる。
次にステップS1208において、撮像部21で撮像した現在の画像(背景画像の候補)を、表示部43に表示させる。ここでは表示部43は、背景画像をライブ画像で表示させる他、静止画像で表示させてもよい(図13)。すなわち、背景画像はワークと異なり、視野や大きさの調整が不要なため、ワークがないことのみが確認されれば足りるので、ライブ画像とせずとも目的を達成でき、また静止画像の表示とすることで処理を簡素化できる利点が得られる。背景画像として登録する上で問題がない場合は、操作部51(SETキー42)を操作する。なお、背景画像の表示を省略してもよい。
次にステップS1209において、操作部51からの操作指示があったか否かを検出する。操作指示がない場合、すなわちユーザが操作部51を操作していない場合は、ステップS1210に進み、「戻る」指示があったか否かを判定する。BACKキー45の操作が検出された場合は、ステップS1201に戻る。BACKキー45の操作が検出されない場合は、ステップS128に戻って処理を繰り返す。
一方で、ステップS1209において、操作指示があった場合、すなわちユーザが操作部51を操作した場合は、ステップS1211に進み、現在画像表示領域PDに表示中の画像を背景画像として登録する。
さらにステップS1212において、登録された2枚の画像を、画像/設定記憶部54に保存する。そしてステップS1213において、良品画像と背景画像から、一致度閾値を算出して設定する。このようにして二点登録を行い、良品画像と背景画像から適切な一致度閾値を自動的に演算して、一致度閾値の設定までを行うことができる。
以上のようにして、背景の影響を除去した判別処理が可能となる。すなわち、背景画像を登録しておくことで、背景要素に影響を受け難いような評価が可能となる。
なお以上の例では、まず第一登録画面として良品画像を登録し、次に第二登録画面として背景画像を登録する手順を説明した。このように、ティーチング時に画像を登録する順序は、予め規定しておく。また、登録すべき画像や順序をユーザが間違わないように、上述した登録誘導情報が利用される。ただ、画像を登録する順序は、上記例に限らず、例えば背景画像を先に登録して、次いで良品画像を登録するなど、任意の順序として規定することも可能であることはいうまでもない。
(三点登録)
以上は、良品画像とそれ以外の画像の二点を登録する二点登録について説明した。ただ本発明は、登録する画像を二枚に限定せず、三枚以上の画像を登録することもできる。従来の画像処理センサは、一枚の画像のみを登録し、この画像に対して複数の画像処理ツールを設定可能としたものが多く、いいかえると、複数枚の画像を登録する画像処理センサは殆ど存在していない。ここで、ユーザ側の作業として、一枚の画像に対して複数の画像処理ツールを設定する作業を考えると、予め用意された複数の画像処理ツールの中から、ユーザが望む画像処理の検出に必要なツールを選択し、さらにこのツールを適用する領域としてウィンドウを設定したり、画像処理のパラメータを選択して、これらを設定、あるいは微調整する等の作業が必要であった。このような作業は、用意された各画像処理ツールの効用や用途を理解した、ある程度の知識を持ったユーザでないと、適切に行うことが困難であり、かつ作業自体も面倒という問題があった。
また、画像処理センサ側から見ても、良品画像を1枚登録すると、画像全体として登録されることから、背景も含めた画像として登録されてしまう。このため、背景も含めて画像処理されて良否判定が行われる。背景部分は良品画像のみならず不良品画像にも存在するため、背景部分が大きいと、不良品画像と良品画像の差が小さくなって、不良品の検出がなされ難くなる。その一方で、日中と夜間で太陽光の光量が変化して、照明光の光量や色合いが変化すると、良品であっても背景部分の照明光の違いによって不良品と判定される虞が生じる。このように、従来の画像処理センサでは、対象となるワークの領域と背景との境界が判断できないことから、良否判定や不良否判定に際して本来は不要な背景の部分も含めて画像処理が行われる結果、良品と不良品の差が背景や照明光によっても左右され、検出したい良品と不良品の差に基づいた画像処理を適切に行えないことがあるという問題が生じていた。
これに対して本実施の形態では、良品画像、不良品画像、背景画像の3枚を登録することで、背景を除外した良品ワークや不良品(NG)ワークを抽出でき、良否判定の精度を向上させることができる。具体的には、良品画像のみならず背景画像を登録することで、背景など不要な部分を抽出してこれを判定対象から除外することができる。さらに、これらの画像の登録に際しても、3枚の画像を順次登録するだけで、適切な一致度閾値を演算、設定できるようにして、従来のようにウィンドウを設定したり画像処理パラメータを設定する等の面倒な作業を不要とでき、設定作業自体の大幅な省力化が実現される。
より具体的には、本実施の形態においては、三点登録として、良品画像、不良品画像、背景画像の3枚を登録し、これら3枚の画像により、良品画像と背景画像の差分、及び不良品画像と背景画像の差分を抽出する。これにより、背景を除外した良品ワーク、不良品ワークワークが抽出できる。
図14Aに、良品画像GDIから背景画像BGIを除いて、良品ワークのみを抽出する単純差分画像を生成する例を示す。また図14Bには、不良品画像NGIから背景画像BGIを除いて、不良品ワークのみを抽出した単純差分画像を生成する例を示している。このような差分画像は、2枚の画像の対応する画素同士を減算して、差分を得ている。
ただ本明細書において「差分」とは、このような対応画素同士を減算する単純差分処理に限定されない。例えば、背景との共通要素を除外することで、ワーク領域を特定することも含む意味で使用する。
(三点登録の手順)
ここで、設定モードにおいて、良品画像、不良品画像、背景画像の三枚の画像を登録する三点登録を行う手順について、以下図15A〜図15Bのフローチャートと図16〜図18に基づいて説明する。
まずステップS1500において処理を開始し、ステップS1501において、三点登録モードへの切り替えの有無を判定する。ここでは、SETキー42の長押しの有無を判定する。具体的には図7に示す表示部43の運転画面から、SETキー42が押下された時間を計測し、所定の秒数(例えば3秒)以上の場合は長押しと判定する。長押しが検出された場合は、ステップS1502に進み、検出されない場合は三点登録モードの処理を中止する。図15A〜図15Bの例ではステップS1500に戻る。なお、短押しの場合に上述した二点登録モードに移行させてもよい。
次にステップS1502において、第一登録画面において第一画像の登録を行う。ここでは、撮像した画像を表示部43において表示させる。具体的には、まず登録情報指示情報記憶部から、良品画像を登録するための指示情報である第一登録誘導情報を読み出し、表示部43に表示させる。ここで、ユーザに対して良品画像として登録すべき良品ワークを画面視野内に置き、撮像部21に撮像させるように、表示制御部58fは第一登録誘導情報を表示部43に表示させて促す。ユーザはこのような表示により、良品ワークを置く動作が必要なことが理解でき、この誘導に従って良品ワークを置くよう案内される。
さらに撮像部21で撮像した現在の画像を、表示部43に表示させる。ここでは表示部43はリアルタイムに表示内容を更新させるライブ画像の表示状態となっている。この状態で、ユーザは良品ワークを撮像した良品画像GDIの候補となるライブ画像を、図16に示すように表示部43上で確認できる。具体的には、良品画像GDIとして登録する上で、大きさや視野等が問題無いかを確認し、問題がない場合は、操作部51(SETキー42)を操作する。
なお図16の例では、登録すべき画像の順序を示す登録順序情報63を説明表示領域ED上に表示させている(詳細は後述)。また、拡大縮小可能表示情報として「ZOOM」アイコンも設けている。ここでは登録順序情報63を説明表示領域EDの上段に、拡大縮小可能表示情報を下段に、それぞれ配置しているが、この配置例に限定されるものでない。さらに画像表示領域PDにおいて、ワークの相違点を収めるガイド線GDLを表示させている(詳細は後述)。
次にステップS1503において、操作部51からの操作指示があったか否かを検出する。操作指示がない場合、すなわちユーザがSETキー42を押下していない場合は、ステップS1504に進み、倍率変更指示の有無を検出する。ここでは、増減調整部51hの操作の有無、図3A等に示す表示面40aの例では、増減ボタンである上下キー44の押下の有無を検出する。ステップS1504において増減調整部51hの操作が検出された場合は、ステップS1505に進み、表示倍率を変更する。その後、ステップS1506に進む。あるいはステップS1502に戻って表示を繰り返してもよい。一方、ステップS1504において増減調整部51hの操作が検出されない場合は、ステップS1506に進み、取消指示の有無を判定する。ここでは「戻る」指示があったか否かを判定し、BACKキー45の操作が検出された場合は、ステップS1500に戻る。BACKキー45の操作が検出されない場合は、ステップS1502に戻って処理を繰り返す。あるいは三点登録を中止して図7の運転画面に戻ってもよい。
一方で、ステップS1503において、操作指示があった場合、すなわちユーザが操作部51を操作した場合は、ステップS1507に進み、現在画像表示領域PDに表示中のライブ画像を良品画像GDIとして登録する。
さらにステップS1508において、第二登録画面において第二画像の登録を行う。具体的には、登録情報指示情報記憶部から、不良品画像を登録するための指示情報である第二登録誘導情報を読み出し、表示部43に表示させる。ここでは、表示制御部58fが第二登録誘導情報を表示部43に表示させて、ユーザに対して不良品画像として登録すべき、不良品ワークを画面視野内に置くように促す。
さらに撮像部21で撮像した現在の画像(不良品画像の候補)を、表示部43に表示させる。このような第二登録画面の例を図17に示す。ここでは不良品画像NGIの候補を、画像表示領域PDにライブ画像として表示させている。ユーザは不良品画像NGIとして登録すべく、必要に応じて撮像位置や姿勢、倍率の調整を行い、ライブ画像上で登録できると判断した場合は、操作部51(SETキー42)を操作する。
次にステップS1509において、操作部51からの操作指示があったか否かを検出する。操作指示がない場合、すなわちユーザが操作部51を操作していない場合は、ステップS1510に進み、取消指示があったか否かを判定する。ここで「戻る」指示、例えばBACKキー45の押下が検出された場合は、処理を中止してステップS1500に戻る等、所定の動作を行う。BACKキー45の押下が検出されない場合は、ステップS1508に戻って処理を繰り返す。
一方で、ステップS1509において、操作指示があった場合、すなわちユーザが操作部51を操作した場合は、ステップS1511に進み、現在画像表示領域PDに表示中のライブ画像を不良品画像NGIとして登録する。
さらにステップS1512において、第三登録画面において第三画像の登録を行う。具体的には、背景画像を登録するための指示情報である第三登録誘導情報を読み出し、表示部43に表示させる。ここでは、表示制御部58fが第二登録誘導情報を表示部43に表示させて、ユーザに対して背景画像を撮像すべく、不良品ワークを撮像位置から除くように促す。ユーザは表示された第三登録誘導情報に従い、ワークの除去が必要なことを指示され、必要な作業、すなわちワークのない背景画像を撮像するよう誘導される。これによって撮像された背景画像BGIが画像表示領域PDに表示される。このような第三登録画面の例を図18に示す。なお背景画像は、ライブ画像とする他、上述の通り静止画像として表示させることができる。すなわち、背景画像はワークと異なり、視野や大きさの調整が不要なため、ワークがないことのみが確認されれば足りるので、ライブ画像とせずとも目的を達成でき、また静止画像の表示とすることで処理を簡素化できる利点が得られる。あるいは、背景画像の表示を省略してもよい。背景画像として登録する上で問題がない場合は、操作部51(SETキー42)を操作する。
さらにステップS1513において、操作部51からの操作指示があったか否かを検出する。操作指示がない場合、例えばユーザがSETキー42を押下していない場合は、ステップS1514に進み、取消指示があったか否かを判定する。「戻る」指示として、例えばBACKキー45の操作が検出された場合は、ステップS1512に戻る等の所定の処理を行う。BACKキー45の操作が検出されない場合は、ステップS1512に戻って処理を繰り返す。
一方で、ステップS1513において、操作指示があった場合、例えばユーザがSETキー42を押下した場合は、ステップS1515に進み、現在画像表示領域PDに表示中の画像を背景画像BGIとして登録する。
さらにステップS1516において、登録された3枚の画像を、画像/設定記憶部54に保存する。そしてステップS1517において、良品画像GDIと不良品画像NGIと背景画像BGIから、一致度閾値を算出して設定する。このようにして、三点登録を行い、良品画像GDIと不良品画像NGIと背景画像BGIから適切な一致度閾値を自動的に演算して、一致度閾値の設定までを行うことができる。
この三点登録の例では、第一登録画面において良品画像GDIを登録する際にのみ、拡大縮小機能を機能させ、第二登録画面や第三登録画面では拡大縮小機能を働かせていない。すなわち、第一登録画面で設定した倍率で固定したまま、第二画像と第二画像を登録することとし、このような拡大縮小機能を自動でON/OFFさせる制御によってユーザの設定作業の繁雑さや混乱を避け、操作の簡略化を図っている。ただ、第二登録画面や第三登録画面で拡大縮小機能をONさせてもよい。
また以上説明した三点登録の例では、まず第一登録画面として良品画像GDIを登録し、次に第二登録画面として不良品画像NGIを、さらに第三登録画像として背景画像BGIを登録する手順を説明した。ここでも、画像を登録する順序は上記に限定されず、例えば背景画像を先に第二登録画像として登録して、次いで不良品画像を登録するなど、任意の順序として規定することも可能であることはいうまでもない。
(良品画像又は背景画像を登録する一点登録の手順)
さらに、良品画像又は背景画像を登録する一点登録の手順を、図19に基づいて説明する。まずステップS1901において、背景画像を取得する。例えば図20に示すような背景画像BGIを取得し、画像記憶部54iに保存する。なお、後述するように予め設定された応答時間設定に基づいて、背景画像を低解像度化してもよい。
次にステップS1902において、画面全体を評価領域として設定する。例えば図20の背景画像BGIに対して、図21において枠状で示すように評価領域EVDが自動的に設定される。
さらにステップS1903において、特徴量を抽出する。具体的には、まずステップS1903−1において、評価領域EVD内の背景画像BGIの特徴量を抽出する。例えば、図21の背景画像BGIに対して、エッジ点数が0点、輝度平均が70等の特徴量が得られる。
次にステップS1903−2において、各特徴量に対し、評価の重み付けを決定する。例えばエッジ点数の50%、輝度平均の50%を、良否判定の特徴量として選択する。
さらにステップS1903−3において、一致度閾値を設定する。例えばエッジ点数と輝度平均に対して、一致度閾値を自動的に設定する。
このようにして設定モードが終了すると、運転モードに移行する。運転モードにおいて、ステップS1904では、入力画像の評価を行う。なお、ワークの特定やワークの切出しといった処理は行わず、画面全体を1つのワークと見なして判別処理を行う。
(好ましい登録状態)
設定モードにおいて画像を画像/設定記憶部54に登録するにあたっては、好ましい登録設定条件にて登録を行う。ここで好ましい登録設定条件とは、運転モードにおいて良否判定部57dが良否判定を行う際、良品と不良品を安定して判別できるような条件である。この判定に際しては、良品と不良品とをいかにして安定して区別できるかが重要となる。良否判定部57dは、運転モードにおいて、入力される入力ライブ画像と良品画像との一致度を評価値として、良否判定を行う。入力ライブ画像に対して、一致度算出部57cで算出される一致度は、0%〜100%の評価値が算出されることになる。入力ライブ画像が良品を撮像した良品画像の場合、その一致度は理想的には100%と算出される。ただし入力ライブ画像が不良品を撮像した不良品画像の場合、一致度は一般に0%とならない。なぜなら、不良品画像は多くの場合、良品画像の一部が欠けや割れなどによって異なるため、良品画像と一致している部分を含んでいるからである。
(一致度閾値)
良否判定の基準となる一致度閾値は、不良品の一致度と良品の一致度に基づいて決定される。例えば、閾値算出部が、一般に高くなる良品の一致度と、一般に低くなる不良品の一致度との中間の値を、一致度閾値に設定する。ここで、良品と不良品とを安定的に区別、すなわち判定結果を安定させるためには、良品の一致度と不良品の一致度との差が大きくなるように、両者を極力分離させることが好ましい。このことから、良品に対する一致度のばらつきが一定とみなせる条件下では、不良品の一致度が低く算出される程、良品と不良品の一致度の差が大きくなるように分離されて、安定した良否判定が期待できるので、よい登録状態と考えられる。よって、良品と不良品が分離され安定した判定結果が得られるように、撮像する画像の明るさや解像度、画像処理の条件を求めることが必要となる。これによって良否判定の基準となる一致度閾値を適切に設定できるようになる。
なお一致度算出部57cと閾値算出部56cは、図5のブロック図の例では別部材としたが、本発明はこの構成に限られず、例えば一致度算出部と閾値算出部を同一の部材で構成してもよい。
(閾値算出部が一致度閾値を設定する方法)
良否判定の基準となる一致度閾値の設定は、閾値算出部56cで行われる。閾値算出部56cは、一致度算出部57cで算出された不良品画像の一致度と、良品画像の一致度との間に一致度閾値を設定する。一致度閾値は、良品画像と不良品画像の一致度の中間に設定されることが望ましい。一例として、良品画像の一致度を100%とした場合、不良品画像の一致度に応じて一致度閾値を設定する例を図22の表に示す。例えば、不良品画像の一致度が80%である場合は、一致度閾値は、(100%+80%)/2=90%に設定される。同様に不良品画像の一致度が70%である場合は、一致度閾値は(100%+70%)/2=85%に設定される。また不良品画像の一致度が60%である場合は、一致度閾値は(100%+60%)/2=80%に、一致度が50%である場合は、一致度閾値は(100%+50%)/2=75%に、それぞれ設定される。
このように、不良品画像の一致度が低いほど、良品画像と不良品画像が分離されて良否判定の安定性がよくなると考えられる。よって、画像/設定記憶部54における画像の登録に際しては、このように不良品画像の一致度が低くなるような画像の登録状態を目指す。図22の例では、一致度閾値の最も低い50%が、良品画像と不良品画像の一致度の差が最も大きく、好ましい。
(登録時における特徴量の決定)
その一方で、一致度閾値の差が最も低い特徴量のみで良品判定を行うと、特定の場合に誤判定を生じることがある。例えば、良品画像と不良品画像の一致度が表1に示すような値を示す特徴量A〜Dにおいては、特徴量Dが最も良品画像と不良品画像で一致度の差が大きく、好ましいといえるが、特定のノイズ耐性が低下することがある。
そこで、一の特徴量で良否判定を行うのでなく、他の特徴量も参酌して良否判定の評価を行うことで、良品判定結果を安定させることができる。例えば表1の場合、特徴量Dのみで良否判定を行うのでなく、良品と不良品を判別できている他の特徴量A、Bも評価する。
(重み付け設定部56e)
ここで画像処理センサは、設定モードにおいて、複数の異なる画像処理アルゴリズムごとの一致度に応じて、閾値算出部56cにより一致度閾値を算出する際に用いる重み付けを画像処理アルゴリズムごとに設定するための重み付け設定部56eを備えることもできる。
このように複数の特徴量を組み合わせた評価を行うため、例えば複数の特徴量に対して重み付けを行う。重み付けは、良品と不良品との一致度の差が大きいものほど重み付けを大きく、逆に一致度の差が小さいものほど重み付けを小さくする。例えば、表1の例では、特徴量Aに対して40%、特徴量Bに対して10%、特徴量Cに対して0%、特徴量Dに対して50%の重み付けを行う。この場合、特徴量Cは重み付けが0%であって算出しても評価されないことから、良否判定の評価実行時には処理を行わなくてもよい。このように重み付け設定部56eは、例えば一致度算出部57cにより算出された画像の一致度が低い処理フローに対しては大きい重み付けを設定し、逆に画像の一致度が高い処理フローに対しては小さい重み付けを設定するよう構成する。画像の一致度が低い場合は良品と不良品との分離性が優れると考えられるので、重み付けを大きくし、逆に画像の一致度が大きい場合は良品と不良品との分離性に劣ると考えられるので、重み付けを小さくするように調整することで、全体としての良否判定の精度を向上できる。
なお図5の例では、一致度の算出は、設定モード、運転モードのいずれにおいても、一致度算出部57cで行われる。設定モードにおいては、設定画像処理部56で画像の登録動作を行った後、運転画像処理部57を動作させて一致度算出部57cで良品/不良品の一致度を算出し、その結果から閾値を算出する。一方運転モードにおいては、一致度算出部57cは、設定時に算出した重み付けに基づき、入力画像に対して一致度を算出する。この際、一致度算出部57cは、複数の異なる処理フロー毎に算出した画像の一致度に対して、重み付け設定部56eにより設定された重み付けを加味した、重み付け加算一致度を算出する。例えば、表1の特徴量A〜Dを、上述した重み付けで評価する場合の一致度の最終スコアは、
(特徴量Aのスコア)x(特徴量Aの重み)+(特徴量Bのスコア)x(特徴量Bの重み)+(特徴量Cのスコア)x(特徴量Cの重み)+(特徴量Dのスコア)x(特徴量Dの重み)で算出できる。
さらに運転モードにおいて、一致度算出部57cにより算出された画像の一致度が、所定の禁止閾値に達した場合、処理フローの実行を禁止するよう構成してもよい。
(ガイド線GDL)
上述した図16等の例では、画像表示領域PDにおいて、ワークの位置決めの指標となるガイド線GDLを示している。これらのガイド線GDLは、四隅をL字状に囲む枠状に表示されている。このようにすることで、例えば検査対象物であるワークの内、不良品であることが現れる部位等、特徴的な部分がガイド線GDLの枠内に含まれるように配置するよう、ユーザに位置合わせを促すことができる。いいかえると、重要な画像が中心近傍に配置されるようにユーザに意識させる効果が得られ、この結果、特徴差に重みを付けた評価が期待され、一致度の判定を安定的に行わせ、信頼性の高い判定結果を得ることができる。またガイド線GDLは、このような枠状に限られず、他の態様、例えば画像表示領域PDの中央を通る十字線や的状とするなど、ワークを中心に配置させるように誘導する表示を適宜採用できる。なおガイド線GDLの表示は、ON/OFFを切り替え可能としてもよい。
なお、上述した図9、図13の例では、第一登録誘導情報として文字情報を二列で表示させる例を説明したが、文字情報を一列で表示させてもよい。このような例を図23、図24に示す。図23は、第一登録画面において良品画像GDIを登録させるための第一登録誘導情報として、「OK SET」を説明表示領域EDに表示させている。また図24は、第二登録画面において背景画像BGIを登録させるための第二登録誘導情報として、「BG SET」を説明表示領域EDに表示させている。
(登録順序情報63)
さらに、登録誘導情報として、登録順序を示す登録順序情報63を含めてもよい。例えば図23の第一登録画面では「1」、図24の第二登録画面では「2」を、ぞれぞれ表示させており、これらの表示からユーザは画像登録の段階を視覚的に把握することができる。このように登録誘導情報には、文字列のみならず、数字を用いることもできる。また数字は、画像の登録順序の他、表示画面の種類を示してもよく、例えば第一登録画面で「1」、第二登録画面で「2」、第三登録画面で「3」を表示させてもよい。
(誘導情報)
また以上の例では、表示制御部58fが誘導情報として文字情報を表示部43に表示させた例を説明したが、本発明は文字による案内に限られず、図形や音声、あるいはこれらの組み合わせ等、他の態様でユーザに対して、登録の手順を誘導することもできる。一例として、文字に図柄を組み合わせて登録指示を行う例を、図25及び図26に示す。図25は、「検出ワークあり」状態での登録を指示する第一登録誘導情報として、ワークを画面視野内に置く様子を図形で示しており、上述した図9や図23に対応する。この図においても、表示領域で表示されるライブ画像の拡大縮小表示が可能であることを示すために、説明表示領域EDに拡大縮小可能表示情報として「ZOOM」アイコンを表示させてもよい。またこのような拡大縮小可能表示情報は、図9の例のように横書きにする場合に限られず、図25のように縦書きで示すこともできる。これにより、限られた面積の表示領域を有効に活用することができる。
また図26は「検出ワークなし」状態の登録を指示するための第二登録誘導情報として、ワークを撮像位置から除く様子を図形で示しており、図13等に対応する。このように図形を表示部43に示すことで、行うべき動作を視覚的に指示して、操作に不慣れなユーザに対しても判り易い操作環境を提供できる。また、図形は静止画に限らず、動画像で表示させることもできる。例えば手でワークを置く様子やワークを除去する様子を、動画像やアニメーションで表示させることで、ユーザに対して行うべき操作を一層判り易く指示できる。
(表示切り替え)
さらに表示部43は、複数の表示画面を切り替えて表示可能としてもよい。例えば、上記の図25、図26の例では画像表示領域PDと説明表示領域EDを、一画面で同時に表示させているが、図27、図28に示すように、画像表示領域PDと説明表示領域EDとを切り替えて表示させることもできる。あるいは、画像表示領域PDと説明表示領域EDとの切り替えに限られず、画像を切り替えて表示させてもよい。例えば図29に示すように、第二登録画面において、登録しようとしている候補画像と、登録済みの良品画像GDIとを切り替えて表示させる。これにより、画像と共に説明も表示させることができるので、どの画像が何を表示させているのかを一層把握し易くなり、さらに切り替えて表示させることにより、両画像の対比も行うことができる。あるいは図30に示すように、第二登録画面において、登録しようとしている候補画像と、後述する並列表示(ここでは良品画像GDIと候補画像)とを切り替えて表示させることもできる。このようにして、限られた表示部43の表示面積を更に有効に活用でき、特に表示部43の表示面積が狭い場合に、表示される画像や文字が小さくなったり、高解像度の表示部43を用意する必要が生じるといった問題を回避できる。画面の切り替えは、一定周期で交互に表示を自動的に切り替えることができる。または、このような自動的な交互表示機能の他、ユーザが切り替えボタン等を操作して手動で行うようにしてもよい。
(並列表示機能)
また二点登録や三点登録において、複数の画像を一画面で並べて表示させることもできる。例えば、設定モードにおいて一方の画像を登録した後、他方を登録する際に、登録済みの画像を静止画像として表示し、現在登録中の画像をライブ画像として表示する。このような並列表示の例を図31に示す。この図は、二点登録の第二登録画面を示している。ここでは、予め二点登録の第一登録画面において、第一画像として良品画像GDIを登録しているものとする。この状態で第二画像として不良品画像NGIを登録する第二登録画面において、図31に示すように表示部43の画像表示領域PDに、第一画像を表示させる第一画像表示領域PDと、第二画像を表示させる第二画像表示領域PDを設ける。これにより、登録済みの良品画像GDIを参酌しながら、ユーザは不良品画像NGIを登録することができる。このような第二登録画面は、上述した図11や図13等に代えて利用できる。また第二登録画面に限らず、第三登録画面に際しても、このような並列表示機能を適用できる。
(静止画像・ライブ画像同時表示機能)
さらに並列表示に際して、一部の画像を静止画像として表示させ、他の画像をライブ画像として表示させることもできる。すなわち、登録済みの画像は静止画として表示させつつ、これから登録しようとする画像をライブ画像として表示させることで、ワークの位置や照明などを変化させた状態をリアルタイムで確認しながら、最適な状態に調整することが容易となる。例えば図31の例では、右側の第一画像表示領域PDに第一画像として良品画像GDIを静止画像として表示させ、左側の第二画像表示領域PDにおいては第二画像として登録する不良品画像NGIのライブ画像を表示させている。ユーザは、右側の良品画像GDIを見ながら、不良品の姿勢や大きさなどが良品画像GDIのそれと一致するように、置き方を調整することができる。また、照明の光量なども合わせて調整できる。これにより、良品画像GDIと不良品画像NGIを、同じ部分が合致しやすいよう、いいかえると差分を抽出する際に相違点が浮き彫りになりやすい状態として登録することができるので、より高精度な一致度の算出が容易となり、またこれらを区別する一致度閾値の設定に際しても有利となる。また、既に登録済みの良品画像GDIに対しても、これを表示させることでユーザは先に登録した良品画像GDIが正しく登録されているかを確認することができる。例えば、良品画像に対する意図せぬ背景の見切れなどが発生している場合にはこれに気付くことができ、撮像し直しなどの判断材料となる。さらに表示部43の画面上で良品画像GDIと不良品画像NGIを並べて表示させることで、ワークの実物が画面上ではどのような差異として映るかを比較することが可能となる。このように登録された画像の様子をユーザが意識できる状態とすることで、良好な登録状況を作り出し易くなり、検出の安定化に繋げることができる。
このような静止画像・ライブ画像同時表示機能を実現する手順の一例を図32のフローチャートに示す。ここでは、図6の二点登録におけるステップS608の詳細なフローに該当する。まずステップS3201において、ライブ画像を取得する。ここでは、第二画像として不良品画像の候補となる光学画像を撮像部21でライブ画像を撮像する。次にステップS3202において、ライブ画像を保持するメモリの内容を更新する。具体的には、前回ライブ画像を撮像してライブ画像メモリに収納されたデータを、新たに取得したライブ画像のデータで上書き保存する。なお、メモリはライブ画像用の専用メモリとしてもよいし、共通のメモリとしてもよい。次にステップS3203において、保存されたライブ画像と、第一登録画面で登録済みの良品画像とを読み出す。そしてステップS3204において、これらの画像を表示画面に転送する。ここでは、良品画像を静止画像で、不良品画像の候補をライブ画像で、第二登録画面にて表示させる。以下、これらのステップを繰り返して、表示部43の表示内容を更新させるリアルタイム表示を実現している。このようにして、不良品画像の登録に際してライブ画像で表示させつつ、静止画像の良品画像を参酌しながら、不良品のワークを置く位置や姿勢等を調整し、調整後の画像をリアルタイムで表示部43上で確認できるようにして、所望の画像の登録作業を容易に行える環境が提供される。
以上の例では、第一登録画面において登録された良品画像を、第二登録画面において静止画として表示し、不良品画像をライブ画像として表示させる例を説明したが、本発明はこの構成に限られず、例えば第一登録画面において登録された良品画像を、第二登録画面において静止画として表示し、背景画像をライブ画像として表示させることもできる。あるいは逆に、第一登録画面において背景画像や不良品画像を登録し、第二登録画面に置いてこれら登録済み画像を静止画で表示させながら、良品画像をライブ画像で表示させながら登録することもできる。さらに、この静止画像・ライブ画像同時表示機能は二点登録に限らず、三点登録において用いることもできる。すなわち、第一登録画面において登録された良品画像を、第二登録画面において静止画として表示し、不良品画像をライブ画像として表示させ、さらに第三登録画面においても良品画像を静止画として表示させつつ、背景画像をライブ画像として表示させることもできる。または、第三登録画面において不良品画像を静止画として表示させつつ、背景画像をライブ画像として表示させてもよい。
あるいは、三点登録において並列表示や静止画像・ライブ画像同時表示を、単独表示と組み合わせてもよい。例えば不良品画像を第二登録画面で登録する際には、静止画像の良品画像とライブ画像の不良品候補画像との並列表示を行わせつつ、第一登録画面で良品画像を登録する際、及び第三登録画面で背景画像を登録する際には、単独の画像表示とする。特に背景画像は、一般にはそのまま撮像すれば足りることが多いため、並列表示を不要とすることで処理の簡素化が図られる。
このような並列表示画面として、例えば登録済みの画像と、現在のライブ画像とを並べて表示させる。一例として図31に示す表示部43は、登録済みの良品画像GDI(OK画像)と、不良品画像NGIの候補として現在のライブ画像(NG画像)とを並べて表示させている。この場合において、通常の登録画面と並列表示画面とを切り替えて表示させてもよい。例えば上述した三点登録に際して、図17に示す第二登録画面と、図31に示す並列表示画面とを切り替え表示可能とすることができる。これにより、不良品画像の登録に際して、良品画像と対比しながら登録することができる。同様に、背景画像の登録に際しても、例えば図18に示す第三登録画像を表示する際、図33に示す、登録済み不良品画像NGIと、現在登録中の、背景画像BGIの候補としての画像(静止画像又はライブ画像)とを並べて表示させた並列表示画面とを切り替えて表示させてもよい。あるいは、並列表示画面は、不良品画像と背景画像の組み合わせでなく、良品画像と背景画像の組み合わせとしてもよい。さらに並列表示画面は、二枚の画像を並列表示させる構成に限られず、3枚以上の画像を一画面に表示させてもよい。
なお、以上の例では画像表示領域PDと説明表示領域EDを分けているが、これらを部分的に重ね合わせて表示させたり、オーバーラップさせてもよい。例えば図34の例では、画像表示領域PDと説明表示領域EDを部分的にオーバーラップさせて、第一登録誘導情報である文字情報を表示させている。あるいは図35に示すように、画像表示領域PDと説明表示領域EDを完全にオーバーラップさせて文字情報を表示させてもよい。また、画像表示領域と説明表示領域とに区別することなく、これらを統合して、画像の表示中に第一登録誘導情報を組み込んで表示させることもできる。このようにして、限られた表示部の領域を有効に活用できる。このように、本実施形態においては画像表示領域と説明表示領域とを排他的に設けたり、境界を明確に区切る必要は必ずしもなく、一部あるいは全部が重なるように配置したり、これらを渾然一体に統合する等して、画像上に文字情報を重ねるような態様も含む。
なお、これらの例では、表示部における文字列やアイコンの表記は英語としているが、言語は英語に限られず、日本語やその他の言語としてもよいことはいうまでもない。
このように、設定モードにおける設定作業を、SETキー42の押下で進められるように案内することで、画像処理センサの動作原理等を理解していない初心者であっても簡単に利用できるという優れた利便性を発揮する。特に、従来の画像センサでは設定登録が煩雑である一方、従来の光電センサではワークのある状態、ない状態の2度SETキー操作を行うだけで登録作業が完了するため、従来の光電センサと画像センサとでは設定の難度には大きな開きがあり、従来の光電センサでは設定ができても、画像センサの設定ができないユーザは多数いた。これに対して本実施形態に係る画像センサでは、光電センサと同様の感覚で画像処理センサの設定を行えるようにして、画像処理センサを導入するにあたっての障壁を緩和できる。
(運転モード)
以上のようにして画像の一致度に対する一致度閾値の設定が終了すると、設定モードから運転モードに移行させることができる。運転モードにおいては、実際に搬送ライン上を搬送されるワークの画像を撮像し、得られた入力画像に対して一致度を算出し、一致度閾値と比較して良品や不良品の判定を行う。
(判別対象の選択機能と動作原理)
ここで、判別対象の選択機能と動作原理について、図55、図56、図57に基づいて説明する。図55は、製造ライン上に、良品ワークWKと不良品ワークWKとが流れている状態を示すイメージ図である。図55に示すように、画像処理センサ100の検出領域は幅を持っている。画像処理センサ100のスポット径は、例えば、大きなサイズでは6cm×6cm程度あり、小さいサイズでも2mm×2mm程度ある。これは、通常の光電センサのスポット径が1.2mmφ程度であることに鑑みると、画像処理センサ100のスポット径は通常の光電センサのそれよりも大きいといえる。
このため、撮像部52で撮像している検出領域では、例えば、図56Aに示すように、ワークWKは、(A)〜(F)の順で変わっていく。このとき、通常の運転状態、すなわち、マスター画像が良品画像である場合には、第一の一致度の時系列変化のイメージ図である図56Bに示すように、第一の一致度は、(B)の辺りから徐々に増加して行き、(C)の時点でピークを迎え、(D)では次第に減少して行く。第一の一致度が、(E)で若干増加しているのは、不良品画像に良品画像の特徴と一致する要素があることを意味する。この場合の出力状態を示すイメージ図を図56Cに示す。この図に示すように、第一の一致度が第一閾値を超えたところで、出力をONにする。すなわち、良品ワークWKが来たときにだけ出力がONになる。
図56Cに示す出力の時系列変化に対して、例えば光電センサの負出力のように、出力論理を反転する、あるいは閾値を下回る場合に出力をONにする、という設定を行った場合の出力の時系列変化を図56Dに示す。この図に示すように、いずれの場合でも、(1)検出領域内にワークWKがない((A)の状態)、若しくは、中途半端に検出領域内に入った状態((B)、(D)、(F)の状態)と、(2)不良品ワークWKが来ている状態((E)の状態)とを出力により分離することができない。
したがって、不良品ワークWKが検出領域に入って来ていることを認知するためには、「検出領域内にワークWKが来ており、判定すべきタイミングである」((C)、(E)の状態)ことを、別の手段によりセンサに通知する必要がある。すなわち、「判定すべきタイミングであり」、かつ、「判定出力がOFF」であれば、不良品WKが来ていると認知することができる。
ここで、不良品画像をマスター画像として動作させる設定を選択した場合、例えば図57Aの(A)〜(F)の順で変わっていくワークWKの流れに対して、図57Bに示す第二の一致度の時系列変化、及び、図57Cに示す出力の時系列変化が得られる。
すなわち、不良品出力設定時には、第二の一致度は、(D)の辺りから徐々に増加して行き、(E)の時点でピークを迎え、(F)では次第に減少して行く。この場合、図57Cに示すように、第二の一致度が第三閾値を超えたところで、出力をONにする。すなわち、不良品ワークが来たときにだけ出力がONになる。
このように不良品画像をマスター画像として動作させる設定を選択した場合、この出力をトリガとして不良品を排出する制御をかけることが可能になる。ここで、本実施形態に係る画像処理センサ100は、良品画像をマスター画像として動作させるか、あるいは不良品画像をマスター画像として動作させるかを選択することができるので、不良品が来た際に排出制御など行うユーザ(不良品が来たことを知りたいユーザ)、及び、良品が来た際に計数などを行うユーザ(良品が来たことを知りたいユーザ)の両方のユーザに対して、一の設定変更により対応することが可能となる。
また、運転モードにおける判定結果に応じて、所望の判定結果が得られていない場合、あるいはより精度を高めた設定に調整したい場合等は、再度設定モードに移行して、設定の更新を行うことができる。あるいは、運転モードの最中において、一時的に登録設定条件を変更することも可能である。例えば、良否判定の結果に応じて、一致度閾値を微調整する(詳細は後述)。
このような運転モードと設定モードの切り替えは、運転/設定モード切替部51dから行う。運転/設定モード切替部51dの一例として、図3A等の画像処理センサではSETキー42を用いている。ここでは、図36に示すように、SETキー42を押下することで運転モードと設定モードとを切り替え可能としている。例えば上述した設定モードにおいて、必要な画像の登録が終了した状態でSETキー42を押下すると、運転モードに切り替わる。ここで、上述した設定モードにおいては、第一登録画面から第二登録画面に移行する等、画面遷移を指示するためにSETキー42を用いていた。そして最終の設定が終了した段階でSETキー42を押下することで、設定モードから運転モードに切り替えることができる。このように、設定モードにおける画面遷移の手段と、設定モードから運転モードへの切替手段を、共通の操作、ここではSETキー42の押下とすることで、ユーザにおいては、SETキー42を押す作業の繰り返しで、必要な設定を行い、さらに設定モードから運転モードへの切り替えも行え、スムーズな設定作業が実現される。さらに、設定モードから運転モードへの切り替えは、設定モードにおける最終作業と狭通過することもできる。例えば図36に示す三点登録において、第一登録画面においてSETキー42を押下することで良品画像を登録し、第二登録画面においてSETキー42を押下することで不良品画像を登録し、さらに第三登録画面においてSETキー42を押下することで、背景画像を登録すると共に、設定モードから運転モードへの切り替え作業も同時に実行される。これによって、必要な設定が終了後に自動的に運転モードに切り替わるため、ユーザは戸惑うことなく、設定作業から運転モードへの切り替えをスムーズに行うことが可能となる。
(運転モード画面)
また運転モードにおいて表示部43に表示される運転モード画面では、画像表示領域PDと説明表示領域EDを設けている。図36の例では、表示部43の左側に画像表示領域PDを、右側に説明表示領域EDを配置している。
(共通位置表示機能)
ここで、表示部43の表示内容は、設定モードと運転モードにおいて、画像表示領域PDと説明表示領域EDのレイアウトを共通にすることが好ましい。特に画像を表示させる領域を設定モードと運転モードで共通の位置とすることで、ユーザは戸惑うことなく画像を確認できる。より具体的には、ライブ画像を表示させる領域を一定位置に固定することで、対象となる画像がいずれであるかをユーザは把握し易くなる。図36の例では、設定モードと運転モードにおいて、いずれも画像表示領域PDを表示部43の左側に固定している。このように、相対的な位置関係を設定時と運転時で共通にしたことで、ユーザに対して操作の安心感を与えることができる。また第二登録画面においては、登録済みの第一画像と、第二画像の候補となるライブ画像を一画面で表示させているが、ライブ画像は左側に固定することで、ユーザは登録対象のライブ画像が共通位置の左側であることを認識でき、いずれの画像が登録すべき画像であるのか、戸惑うことが少ない。
また運転モード画面には、一致度と一致度閾値を表示させている。これによりユーザは、逐次撮像されるワークの入力画像と、この画像で算出される良品画像との一致度、及び設定モードで設定された一致度閾値とを一画面で確認できる。
良否判定の結果は、外部に出力される。例えばOK信号やNG信号等の判定結果を示す信号を送出する。また、外部に判定結果を表示させてもよい。例えば図3A等に示す画像処理センサの表示面40aに設けた判定結果表示灯41を、判定結果に応じて点灯させる。
なお、本明細書において良否判定とは、検査対象物が良品であるかどうかを判定する動作のみならず、検査対象物が不良品であるかどうかを判定する動作も含む意味で使用する。例えば不良品を検出した際に良否判定部57dが出力を行い、不良品を検出しない間は出力を行わない態様の他、良品を検出した際に出力を行い、良品を検出しない間は出力を行わない態様も含む。運転モードの動作の流れの一例を、図37A及び図37Bのフロー図に示す。
なお、運転モードにおいて表示部の表示をOFFとしてもよい
一方で、運転モードの最中において、良否判定の結果等に応じて、登録設定条件を変更することも可能である。例えば、設定された一致度閾値を微調整して、誤判定を低減する。この場合において、一致度閾値を調整するための部材を、画像の表示倍率の調整に用いた増減調整部51hで兼用させることができる。これにより、表示部43に設けられた共通の部材でもって、画像の表示倍率の調整と一致度閾値の調整を行わせて、構成の簡素化や操作環境の統一が図られる。このような手順を、図38A及び図38Bのフローチャートに基づいて説明する。これらの図において、図38Aは画像の表示倍率を調整する工程を含む設定モードの動作を示すフローチャートであり、図38Bは図38Aに続いて動作モードで一致度閾を調整する工程を含んだフローチャートである。まずステップS3800において設定モードを選択し、次にステップS3801において登録対象の候補となる画像の撮像を行い、さらにステップS3802において表示部43において表示される画像の更新を行う。
ここで、ユーザ側の動作としては、撮像された候補画像を表示部43で確認し、登録画像として適切かどうかを判断する。姿勢や視野の調整が必要な場合は、これに応じて適切な処理を行う。例えば、画像の表示倍率の調整が必要と判断した場合は、増減調整部51hを操作して、表示倍率を調整する。
この結果、画像処理センサ側の動作として、ステップS3804において、増減調整部51hである上下キー44が操作されたか否かを判定し、操作があった場合はステップS3805に進み、画像の表示倍率を操作に従い変更するよう、設定を変更する。ここでは、アップ側のスイッチである↑キー44aが操作されたときは、画像の倍率を増加させ、逆にダウン側のスイッチである↓キー44bが操作されたときは、画像の倍率を減少させるように、設定を変更する。そしてステップS3801に戻り、変更された倍率にて画像で画像を撮像し直し、変更後の倍率の画像が表示部43に表示されるようにする。なお、必ずしも画像の撮像をやり直す必要は無く、例えば倍率を拡大させる場合は、撮像済みの画像のデジタルズームさせて表示させてもよい。逆に画像を縮小させる場合は、画像で表示される視野が広くなるため、再度画像を取得する必要がある。ただ、過去に撮像した画像を保存している場合、該当する倍率の画像を呼び出すように構成してもよい。
このようにして、所望の表示倍率の画像が得られ、これ以上倍率調整の必要がない場合は、ステップS3803において上下キー44の操作がなくなるので、ステップS3805に進み、決定キーの操作の有無を判定する。ここでは決定キーの一態様であるSETキー42の押下の有無を判定し、押下が無い場合はステップS3804に戻って処理を繰り返し、押下が検出された場合はステップS3806に進み、表示画像を登録画像として登録し、さらにステップS3807において画像登録処理を行う。続いて図38Bに示すようにステップS3808に進み、運転モードに切り替える。そしてステップS3809において、画像処理、すなわち良否判定の対象となるワークの画像を撮像する。次にステップS3810において所定の画像処理を行い、一致度を算出する。そしてステップS3811において算出された一致度を一致度閾値と比較し、判定結果を出力して、算出された一致度の値を表示させると共に、表示部43において表示されるライブ画像の表示内容も更新する(ステップS3812)。そしてステップS3813において、増減調整部51hである上下キー44の操作の有無を判定する。
ここで、ユーザ側の動作としては、得られた判定結果と、表示部43で表示された当該入力ライブ画像、及びこの入力ライブ画像に対して算出された一致度を確認し、判定結果が妥当かどうか、また一致度閾値の設定が適切かどうかを検討する。そして、一致度閾値の変更が必要と判断した場合は、増減調整部51hを操作して、一致度閾値を微調整する。
この結果、画像処理センサ側の動作として、上下キー44の操作が検出された場合は、ステップS3814に進み、一致度閾値を変更する。ここでも、アップ側のスイッチである↑キー44aが操作されたときは、一致度閾値を増加させ、逆にダウン側のスイッチである↓キー44bが操作されたときは、一致度閾値を減少させる。そしてステップS3809に戻り、変更された一致度閾値にて、判定を行う。これらの動作を必要に応じて繰り返し、適切な一致度閾値が設定されていると判断された場合は、ステップS3813において上下キー44の操作が検出されず、ステップS3815に進み、運転の停止操作の有無を判定する。ここでは、決定キーの操作の有無を検出し、検出されない場合はステップS3809に戻って上記の処理を繰り返す。一方、決定キーの操作が検出された場合は、ステップS3816に進み、運転モードを停止する。このようにして、適切な表示倍率や一致度閾値に微調整して、画像の登録や良品判定の精度を高めることができる。また、これらの調整に共通の増減調整部51hを用いることができる。特に、設定モードにおいては増減調整部51hには画像の表示倍率の調整機能が自動的に割り当てられ、一方運転モードにおいては、増減調整部51hには一致度閾値の調整機能に変更され、ユーザは増減調整部51hの機能の切り替えのための操作を行うことなく、またこれらの切り替えを意識することなく、増減調整部51hの操作に注力するのみで必要な設定を行える利点が得られる。
(低解像度化の設定)
以上説明した二点登録、三点登録、一点登録などの設定モードにおけるティーチングにおいて、演算処理を高速化するために、画像データを低解像度化することができる。また設定モードのみならず、運転モードにおいても同様に画像データを低解像度化して、処理の高速化を図ることができる。画像の低解像度化によって、データサイズを縮小して画像処理等の処理の軽負荷、高速化を図ることができる。また、画像によっては画像の圧縮やスムージングなどの処理によってノイズを低減できることもある。このような処理を行うに際して、画像の低解像度化の程度をどのように設定するかが問題となる。
従来より、光電センサにおいては応答時間を設定することがあるのに対し、画像処理センサにおいて、このような応答時間を設定するという行為は想定されていなかった。ここで応答時間とは、撮像部の撮像視野に検査対象物が侵入してから、良否判定部による判別結果の出力までに要する時間を指す。また、応答時間を規定する画像処理センサであっても、ユーザが設定する視野領域に基づいて応答時間が変化するなど、他に設定された条件の結果として応答時間が決まるという性質のものであり、任意に応答時間を設定するものとは異なっていた。一方、工場の製造ラインなどでは、ラインの搬送速度等の観点から、検査対象物の存在や良否判定に費やすことのできる応答時間の制約を受けることが多いものの、視野や応答時間を直接的に設定することができなかった。これは、例えばユーザの視野の設定に依存して、撮像される光学画像の解像度が直接的に変化し、応答時間にジッタ(振れ)が発生するため、画像処理センサが応答時間を規定することが難しかったことに起因する。これに対して本実施形態に係る画像処理センサでは、拡大縮小倍率とは無関係に応答時間を設定可能とし、設定された応答時間に基づいて、内部で処理する画像解像度を決定するよう構成している。以下、図39及び図40に基づいて詳述する。
従来より画像処理センサの設定には、ユーザが、光量を設定する;視野を調整する;検出目的となる画像処理を設定する(検出設定);等の必要があった。このような光量設定、視野調整、検出設定のユーザ指定に対して、画像処理センサの内部で処理される動作の状態を図39のブロック図に示す。この図に示すように、ユーザが光量を設定した結果、撮像部21の露光時間が決定される。また視野の調整の結果、検査対象の光学画像の解像度が決定される。さらに検出条件の設定の結果、設定された画像処理に用いるアルゴリズムが決定される。この結果、撮像部21の露光時間と解像度から、光学画像の読み出しに要する時間を含めた撮像に必要な時間、すなわち撮像時間が決定される。一方で画像の解像度と画像処理アルゴリズムから画像処理に要する時間、すなわち画像処理時間が決定される。これら撮像時間と画像処理時間の和が、処理に要する応答時間となる。以上のような順序に従い、応答時間が決定される。
その一方で、製造ラインの搬送速度等の関係から、許容可能な応答時間が予め決まっている場合があり、この場合には設定内容によっては設定すること自体が不可能となるという問題があった。例えば、ユーザの視野設定により解像度が自ずと決まるところ、解像度が変化すると応答時間にジッタが発生し、応答時間を規定することが難しくなる。
これに対して本実施形態に係る画像処理センサでは、視野や検出設定に加え、応答時間を設定できるようにしている。これを実現するため、画像処理センサの内部処理で適切な画像解像度や画像処理アルゴリズム等の登録設定条件を決定している。これによって視野設定によらず処理画像のデータサイズが抑えられ、応答時間が既定できることとなった。この様子を、図40のブロック図に基づいて説明する。この図に示すように、ユーザが指定可能な項目として、図39と同様の光量設定、視野調整、検出目的に加えて、応答時間も設定可能としている。このようなユーザの指定に対して、条件割当部55は、最適な割り振りを行って、指定された応答時間内で処理が終了するように露光時間を決定し、解像度を決定し、適切な画像処理アルゴリズムを選択する。
(画像の低解像度化)
ここで、画像の解像度を低解像度化するための方法について説明する。規定の視野範囲に対して、例えば図41に示すように解像度を低く変更するための方法として、図42に示すように画像データを圧縮する方法が挙げられる。図42の例では、2X2画素で平均した画素値を用いて、縦横を1/2に圧縮している。あるいは図43に示すように、画像データを間引く方法も利用できる。図43の例では、縦方向及び横方向でそれぞれ、一つおきの画像値を採用することで、縦横を1/2に圧縮している。本発明においては、画像を低解像度化する手法をこれらに限定せず、既知の低解像度化の手法を適宜採用できる。また、低解像度化を実現するため、専用のGPUのようなハードウェアを用いる方法や、ソフトウェアで実現する方法が挙げられるが、いずれの方法も本発明では利用でき、あるいはこれらの組み合わせを利用してもよい。本明細書においては、便宜上画像の低解像度化を、圧縮や間引きなど、手法によらず包括的に圧縮と呼ぶことがある。
(3’.低解像度化処理を含む良品画像と背景画像の二点登録)
ここで、設定された応答時間に基づいて、条件割当部55がこの応答時間内に画像の撮像から良否判定までを終えることができるように、画像の撮像条件、圧縮度、画像処理アルゴリズム等の登録設定条件を設定する手順について説明する。ここでは、条件割当部55の画像圧縮度設定部55hが、登録設定条件の内で、光学画像を低解像度化させる圧縮率を調整する場合について説明する。まずは、上記で3.として説明した良品画像と背景画像の二点登録において、低解像度化処理を含む場合の二点登録での設定と、その後の運転モードにおける処理の手順を、図44Aのフローチャートに基づいて説明する。
(応答時間の設定)
まずステップS4401において、応答時間を設定する。具体的には応答時間設定部51eから、所望の応答時間をユーザが設定する。ここで応答時間設定部51eは、予め複数の異なる応答時間の候補をユーザに提示し、ユーザに選択させるように促すことが好ましい。予め設定可能な応答時間を応答時間候補群として提示することで、応答時間毎に設定可能な露光時間や解像度(圧縮率)、画像処理アルゴリズム等の検出条件の組み合わせを準備しておくことができ、条件割当部55での演算などの処理を低減化できる。いいかえると、選択された応答時間に応じて、登録設定条件の内で設定不可能な露光時間などの検出条件を速やかに排除することが可能となる。例えば表示部43において、応答時間を設定する設定モードで画像処理センサの設定を行う画面として「SensorSetting」を表示させ、設定可能な項目の内で応答時間を設定する画面である「ResponseTime」を選択して、具体的な応答時間として、例えば「20ms」を選択する。また、応答時間などの設定項目として、予め選択肢を与える他、ユーザが所望の応答時間を数値等で直接入力させるように構成することもできる。この場合は、入力された応答時間に基づいて、条件割当部55が、選択可能な露光時間、解像度、画像処理アルゴリズム等の検出条件の組み合わせを演算する。
次にステップS4402において、良品画像と背景画像を取得し、画像記憶部54iに保存する。ステップS4402で得られた良品画像GDIと背景画像BGIの光学画像のイメージの例を、それぞれ図44B、図44Cに示す。
次にステップS4403において、ステップS4401で設定された応答時間設定に基づいて、良品画像GDIと背景画像BGIを低解像度化する。低解像度化は、例えば画像圧縮部56dで行われる。ここで、各画像の圧縮度は、共通とする。画像圧縮部56dで良品画像GDIと背景画像BGIがそれぞれ圧縮される結果、図44D、図44Eに示すように各画像が圧縮されて画像サイズが縮小された圧縮良品画像CGDIと圧縮背景画像CBGIが得られる。
次にステップS4404において、圧縮良品画像CGDIと圧縮背景画像CBGIから、圧縮良品−背景差分画像CG−CBDIを生成する。圧縮良品−背景差分画像CG−CBDIの生成は、例えば差分画像生成部56aで行われる。差分画像生成部56aで得られた圧縮良品−背景差分画像CG−CBDIは、図44Fに示すようになる。
そしてステップS4405において、評価領域を設定する。評価領域は、例えば画像の全体としたり、中央近辺、あるいは差分画像の存在する領域などを、画像処理センサ側で自動的に設定してもよいし、ユーザが手動で指定するよう構成してもよい。ユーザが手動で行う場合は、例えば評価領域設定部を図4の操作部51に設ける。
次にステップS4406において、最適な良品画像の特徴量を抽出する。特徴量の抽出は、例えば特徴量抽出部56bで行われる。
さらにステップS4407において、一致度閾値を決定する。例えば閾値算出部が、抽出された良品画像の特徴量に基づいて、背景画像との一致度を評価することで一致度閾値を決定する。
(運転モード)
以上のようにして設定モードでの設定作業が終了すると、運転モードに切り替えられる。続いて運転モードにおいての動作手順を引き続き図44Aに基づいて説明すると、ステップS4408において、評価対象となるワークの入力ライブ画像を撮像部21で取得する。次にステップS4409において、評価対象の入力ライブ画像を低解像度化する。ここで入力ライブ画像の圧縮度は、設定モードにおける画像の圧縮度と等しくする。さらにステップS4410において、設定モードで登録した良品画像の特徴量に基づき、ワークの一致度を算出し、さらに一致度閾値と比較して良否判定を行う。このようにして、設定した応答時間に従い、解像度を低下させて、運転モードにおいては指定した応答時間内に処理を行えるように設定できる。
(3”.低解像度化処理を含む良品画像と背景画像の二点登録の変形例)
以上の例では、設定時において先に低解像度化を行った上で差分画像を生成する順序で一致度閾値を設定する方法を説明した。ただ本発明は、一致度閾値を設定する順序を上記に限定するものでなく、例えば、先に差分画像を生成した上で、画像を圧縮させてもよい。以下、このような例を変形例として図45Aのフローチャートに基づいて説明する。まずステップS4501において、応答時間を設定し、次にステップS4502において、良品画像GDIと背景画像BGIを取得し、画像記憶部54iに保存する。これらの手順は上述した図44AのステップS4401〜ステップS4402と同様であり、図45B、図45Cに示すような良品画像GDI、背景画像BGIがそれぞれ取得される。
次にステップS4503において、良品画像GDIと背景画像BGIから良品−背景差分画像を生成する。この結果、図45Dに示すような良品−背景差分画像G−BDIが差分画像生成部56aで生成される。そしてステップS4504において、応答時間設定に従って良品−背景差分画像G−BDIを低解像度化する。画像圧縮部56dで低解像度化する際の各画像の圧縮度は、共通とする。この結果、図45Eに示すような良品−背景差分画像G−BDIの低解像度化画像である圧縮良品−背景差分画像CG−CBDIが画像圧縮部56dにより得られる。
以下、上述した図44AのステップS4405〜ステップS4410と同様に、ステップS4505において評価領域を設定し、ステップS4506において適切な良品画像の特徴量を抽出し、ステップS4507において一致度閾値を設定する。また設定モードの終了後に運転モードに切り替えて、ステップS4508において評価対象となる入力ライブ画像を取得し、ステップS4509において入力ライブ画像を低解像度化する。入力ライブ画像の圧縮度は、設定モードにおける画像の圧縮度と等しくする。ステそしてップSe10において良否判定を行う。この方法でも、差分画像を低解像度化して画像処理時間を、設定された応答時間に応じて調整することができる。
(1’.低解像度化処理を含む良品画像と不良品画像と背景画像の三点登録の手順)
以上、二点登録において低解像度化処理を追加した例を説明した。ここでは良品画像と背景画像を登録する例を説明したが、良品画像と不良品画像を登録する二点登録においても、同様に低解像度化処理を追加できる。さらに、三点登録においても低解像度化処理を追加してもよい。以下、良品画像と不良品画像と背景画像を登録する三点登録において低解像度化処理を追加した例を、図46Aのフローチャートに基づいて説明する。まずステップS4601において、応答時間を設定する。次にステップS4602において、良品画像と不良品画像と背景画像を取得する。ここでは撮像部21で各画像を撮像し、図46B、図46C、図46Dに示すような良品画像GDIと不良品画像NGIと背景画像BGIを取得し、画像記憶部54iに保存する。次にステップS4603において、これら良品画像GDIと不良品画像NGIと背景画像BGIを、応答時間設定に従ってそれぞれ低解像度化する。画像圧縮部56dで圧縮された圧縮良品画像CGDIと圧縮不良品画像CNGIと圧縮背景画像CBGIは、それぞれ図46E、図46F、図46Gに示すようになる。ここで、各画像の圧縮度は、共通とする。
次いでステップS4604において、圧縮良品画像CGDIと圧縮背景画像CBGIの差分画像である圧縮良品−背景差分画像CG−CBDI、及び圧縮不良品画像CNGIと圧縮背景画像CBGIの差分画像である圧縮不良品−背景差分画像CN−CBDIを、それぞれ生成する。差分画像生成部56aで生成された圧縮良品−背景差分画像CG−CBDIと圧縮不良品−背景差分画像CN−CBDIは、それぞれ図46H、図46Iに示すようになる。
そしてステップS4605において、このようにして得られた差分画像に対して、評価領域をそれぞれ設定する。さらにステップS4606において、各差分画像の評価領域中から、特徴量をそれぞれ抽出する。具体的には圧縮良品−背景差分画像CG−CBDIからは良品画像の特徴量を、また圧縮不良品−背景差分画像CN−CBDIからは不良品画像の特徴量を、それぞれ特徴量抽出部56bで抽出する。そしてステップS4607において、一致度閾値を設定する。ここでは閾値算出部が、良品画像の特徴量に基づいて、不良品画像の一致度を評価することにより、一致度閾値を設定する。
このようにして設定が終了すると、設定モードから運転モードに移行される。運転モードにおいては、ステップS4608において、評価対象の入力ライブ画像が取得され、ステップS4609において、取得された入力ライブ画像を低解像度化する。ここで入力ライブ画像の圧縮度は、設定モードにおける画像の圧縮度と等しくする。そしてステップS4610において良否判定を行う。ここでは、良品画像の特徴量に基づいて、入力ライブ画像の一致度を算出し、これを一致度閾値と比較することで良否判定部57dが良否判定を行い、判定結果を出力する。
このようにして、三点登録においても低解像度化処理を追加することで、設定した応答時間内に画像処理を終えることができ、インライン処理に対応した画像処理センサを実現できる。
(1”.低解像度化処理を含む良品画像と不良品画像と背景画像の三点登録の変形例)
以上、三点登録において低解像度化処理を追加した例を説明した。この例では、設定時において先に低解像度化を行った上で差分画像を生成する順序で一致度閾値を設定する場合を説明したが、本発明は二点登録において説明した通り、一致度閾値を設定する順序をこの順に限定するものでなく、三点登録においても同様に、先に差分画像を生成した上で、画像を圧縮させてもよい。以下、このような例を図47Aのフローチャートに基づいて説明する。まずステップS4701において、応答時間を設定し、次にステップS4702において、良品画像と不良品画像と背景画像を取得し、画像記憶部54iに保存する。これらの手順は上述した図46AのステップS4601〜ステップS4602と同様であり、図47B、図47C、図47Dに示すような良品画像GDI、不良品画像NGI、背景画像BGIがそれぞれ取得される。
次にステップS4703において、良品画像GDIと背景画像BGIから良品−背景差分画像G−BDIを、また不良品画像NGIと背景画像BGIから不良品−背景差分画像N−BDIを、それぞれ生成する。この結果、図47E、図47Fに示すような良品−背景差分画像G−BDI、不良品−背景差分画像N−BDIが得られる。そしてステップS4704において、応答時間設定に従って良品−背景差分画像G−BDI、不良品−背景差分画像N−BDIをそれぞれ低解像度化する。画像圧縮部56dで低解像度化する際の各画像の圧縮度は、共通とする。この結果、図47G、図47Hに示すような良品−背景差分画像G−BDI、不良品−背景差分画像N−BDIの低解像度化画像である圧縮良品−背景差分画像CG−CBDI、圧縮不良品−背景差分画像CN−CBDIがそれぞれ得られる。
以下、上述した図46AのステップS4605〜ステップS4610と同様に、ステップS4705において評価領域を設定し、ステップS4706において適切な良品画像の特徴量、不良品画像の特徴量をそれぞれ抽出し、ステップS4707においてこれらに基づき一致度閾値を設定する。また設定モードの終了後に運転モードに切り替えて、ステップS4708において評価対象となる入力ライブ画像を取得し、ステップS4709において入力ライブ画像を低解像度化する。入力ライブ画像の圧縮度は、設定モードにおける画像の圧縮度と等しくする。そして、ステップS4710において良否判定を行う。以上の方法でも、差分画像を低解像度化して画像処理時間を設定された応答時間に応じて調整することができる。
(1’.低解像度化処理を含む背景画像の一点登録の手順)
さらに、一点登録においても低解像度化処理を追加できる。このような例を図48Aのフローチャートに基づいて説明する。まずステップS480において、応答時間を設定する。次にステップS4802において、背景画像を取得する。これにより図48Bに示すような背景画像BGIが撮像され画像記憶部54iに保存される。次にステップS4803において、応答時間設定に従って背景画像BGIを低解像度化する。これにより図48Cに示すような圧縮背景画像CBGIが得られる。次にステップS4804において、評価領域を設定する。ここでは、圧縮背景画像CBGIのすべての領域を評価領域とする。そしてステップS4805において、圧縮背景画像CBGIの特徴量を抽出する。さらにステップS4806において、一致度閾値を算出する。例えば、閾値算出部が一致度閾値を一致度50%に一律に設定する。
このようにして設定が終了すると、設定モードから運転モードに切り替えられる。運転モードにおいては、まずステップS4807において、評価対象の入力ライブ画像を取得する。次にステップS4808において、入力ライブ画像を低解像度化する。入力ライブ画像の圧縮度は、設定モードにおける画像の圧縮度と等しくする。そしてステップS4809において、良否判定を行う。ここでは、背景画像の特徴量に基づいて、入力ライブ画像の一致度を一致度算出部57cで算出し、これを一致度閾値と比較して良否判定部57dが良否判定を行う。このようにして、一点登録においても低解像度化処理を追加して、設定された応答時間内に画像処理を行うことができるようになる。
以上の例では、設定された応答時間内に処理を終えられるように、条件割当部の画像圧縮度設定部が、登録設定条件として画像を低解像度化させる圧縮度を調整する例について説明した。ただ、本発明は条件割当部が調整する登録設定条件を画像の圧縮度に限定せず、他の条件、例えば撮像部で撮像する画像の撮像条件や、画像処理の条件等とすることもできる。次に、条件割当部が撮像条件を調整する例について説明する。
(撮像条件候割当部)
設定された応答時間により、登録設定条件として採用し得る登録設定条件の範囲が決定される。ここでは、応答時間に対して画像の撮像条件を調整することを考える。この場合、条件割当部55は、応答時間内に良否判定を行うための所定の画像処理が可能となるように、撮像部で撮像する画像の撮像条件を調整可能な撮像条件割当部55dとして機能する。
(撮像条件)
ここで撮像条件には、例えば画像の明るさを調整するため、撮像部による撮像時の露光時間や、照明光の光量(照明強度)を調整することが挙げられる。また、撮像部の利得(例えば撮像素子であるCMOSの明るさを何倍にするかを規定するデジタルゲイン値)や、偏光フィルタの有無、照明色の変更等を含めてもよい。あるいは、撮像部が輝度領域のダイナミックレンジを変更して撮像した複数の低階調画像を合成し、高階調画像としたハイダイナミックレンジ画像(High Dynamic Range Image:HDR)生成機能を有する場合は、HDR機能のON/OFFが挙げられる。その他、自動明るさ調整機能や、フレームレートを高速化するための画素の読み飛ばしや間引き機能、近傍画素合算出力機能等のON/OFF、回転や傾斜の角度(±180°等)等、撮像時のパラメータの他、得られた画像データを処理する際のパラメータなども撮像条件に含めることができる。
以下では、撮像条件割当部55dの一形態として、明るさ条件割当部55e、すなわち明るさ条件候補設定部55f及び明るさ条件選択部55gが、画像の明るさを調整して、最適な明るさ条件を決定する手順について、図49Aに基づいて説明する。まず、応答時間設定部51eで応答時間を設定する。
(明るさ条件の決定)
明るさ条件候補設定部55f及び明るさ条件選択部55gは、設定された応答時間に応じて登録設定条件として、明るさ条件を決定する。図49Aの例では、良品画像と背景画像の二点登録の例を示している。まず明るさ条件候補設定部55fは、応答時間設定部51eから設定された応答時間に基づいて、良否判定部57dによる判別結果が該応答時間内に出力されるように、複数の明るさ条件の各々を明るさ条件候補として割り当てる。すなわち、撮像部21で設定可能な、画像一枚あたりの撮像に要する撮像時間は、装置の性能や仕様等で上限と下限が決まる。一方、応答時間設定部51eで設定された応答時間から、この応答時間内で許容される撮像時間の上限が決定される。このようにして、撮像部21の物理的な仕様と、与えられた応答時間とから、許容される撮像時間が決まる。撮像時間の内、画像の転送や処理能力は一定と考えると、露光時間が設定可能なパラメータとなる。また、設定可能な露光時間の下限も、仕様等から決定されるので、露光時間として取り得る範囲は決定されることになる。よって、許容される露光時間を変化させて、複数の明るさ条件を明るさ条件候補として設定する。具体的には、許容される露光時間の範囲内で取り得る明るさ条件候補を、明るさ条件候補設定部55fが抽出する。例えば、許容される露光時間の範囲を所定の個数(例えば5個)で均等に分割して、露光時間を設定する。あるいは、規定可能な幅(例えば10msなど)で設定できる露光時間をすべて、明るさ条件候補として抽出する。図49Aの例では、明るさ条件候補設定部55fが明るさ条件候補1〜nまで、n個の明るさ条件候補を設定している。なお、明るさ条件候補は、必ずしも等間隔に設定する必要は無い。例えば、適切な明るさが期待できる範囲には密に明るさ条件候補を設定してもよい。
(候補画像群の取得)
次に、複数の異なる明るさ条件候補毎に、候補画像を取得する。ここでは、画像群取得部52aが撮像部21を制御して、複数枚の候補画像を撮像する。撮像する候補画像は、設定モードに応じて決定される。例えば良品画像と背景画像を用いた二点登録では良品候補画像と背景候補画像を、あるいは良品画像と不良品画像を用いた二点登録では良品候補画像と不良品候補画像を、また三点登録では良品候補画像と不良品候補画像と背景候補画像を、さらに一点登録では背景候補画像を、それぞれ撮像する。ここで、ユーザに対しては上述の通り、撮像する画像毎に、ワークを配置するように促す。例えば表示部43にガイダンス表示を行う。そしてワークがセットされると、画像処理センサは、明るさ条件を変化させて、明るさ条件候補毎に候補画像を撮像する。なお、複数の異なる明るさ条件候補の設定や、各明るさ条件候補毎に候補画像を撮像する作業は、自動的に行われる。ユーザは、このような設定作業を意識することなく、単に設定モードにおいて、ガイダンスに従い、ワークを画面視野内にセットしたり、排除したりするだけで足りる。図49Aの例では、良品画像と背景画像の二点登録を行うため、良品ワークを画面視野内に置くようにユーザに指示し、この指示に従い良品ワークが置かれた状態で異なる明るさ条件候補毎に良品候補画像が複数枚撮像される。そして良品候補画像の撮像後に、ユーザに良品ワークを取り除くよう指示し、この指示に従ってユーザが良品ワークを取り除いた状態で、背景候補画像が複数枚撮像される。なお、三点登録の場合は、これに加えて不良品ワークを画面視野内に置くように指示するガイダンスと、これに従い画面視野内に置かれた不良品ワークを、明るさ条件候補毎に撮像して不良品候補画像を撮像する作業が追加される。
(差分候補画像の生成)
次に、取得された候補画像から、差分候補画像が生成される。ここでは、差分画像生成部56aが、同じ明るさ条件候補で撮像された候補画像のペアから、差分候補画像を生成する。図49Aの例では、良品候補画像と背景候補画像から良品−背景差分候補画像を生成する。なお、三点登録の場合は、これに加えて、不良品候補画像と背景候補画像から不良品−背景差分候補画像を生成する作業が加わる。
なお、差分画像や、差分画像生成前の元画像を圧縮することもできる。この場合、画像圧縮度設定部55hが与えられた条件内で画像圧縮度を調整する。
(画像処理の実行:任意)
そして、各差分候補画像に対して、必要に応じて所定の画像処理を行う。この画像処理は、登録設定条件に含まれる画像処理として、予め設定される。画像処理は、画像処理実行部にて行われる。
(画像処理内容の割り当て)
また、検査対象物の良否判定を行うために行う所定の画像処理の処理フローは、一の処理フローに限らず、複数の異なる処理フローで構成できる。複数の異なる処理フローのそれぞれに対して、後述する画像処理条件割当部55iは所定の画像処理の条件を割り当てる。例えば、画像処理フローについて、画像処理の条件を振ることで、画像処理後の各候補画像から算出された一致度を評価することで、最適な画像処理を選択することもできる。ここで、画像処理の条件には、所定の画像処理の処理フローを構成する処理モジュールの種別、及び/又はこの処理フローで参照される画像処理パラメータ等が挙げられる。画像処理の条件を振る際には、画像処理条件割当部55iにより、画像処理条件候補が生成される。画像処理条件割当部55iは、処理モジュールや画像処理パラメータの少なくとも一部を変更して、所定の画像処理の条件を割り当てるよう構成している。
(一致度の算出)
このようにして、必要に応じて画像処理がなされた差分候補画像に対して、それぞれ一致度が一致度算出部57cにより算出される。一致度算出部57cは、複数の異なる処理フロー毎に一致度を算出するよう構成できる。図49Aの例では、得られた良品−背景差分候補画像に応じたモデル画像に対する背景候補画像の一致度を、それぞれ算出する。なお三点登録の場合は、良品−背景差分候補画像に応じたモデル画像に対する不良品−背景差分候補画像の一致度を、それぞれ算出する。
(明るさ条件の選択)
このようにして明るさ条件候補毎に一致度が得られた状態で、選択条件に従って適切な明るさ条件を明るさ条件選択部55gで選択する。選択条件として、図49Aの例では、良品−背景差分候補画像と背景候補画像の一致度を評価値として、明るさ条件を評価する。なお三点登録の場合は、良品−背景差分候補画像と不良品−背景差分候補画像の一致度を評価値として、明るさ条件を評価する。明るさ条件選択部55gは、例えば複数の明るさ条件候補の中から、一致度が最も低い明るさ条件候補を、最適な明るさ条件として選択する。最も低い一致度の明るさ条件を選択することで、運転モードにおいては良品画像との高い一致度とより分離されることとなって、一致度閾値を設定し易くなる。
ただし、選択条件は一致度が最小であることに限定されない。すなわち、一致度が最小のものを最適な明るさ条件として常に選択する必要は無く、隣接する一致度との差を考慮して決定することもできる。例えば表2に示すように、明るさ条件候補毎に一致度が算出された場合、最も低い一致度に従えば、明るさ条件7のときの一致度40%である。ただし、この場合は隣接する明るさ条件候補との間で、一致度の差が大きい。このことは、照明の明るさが少しでも変わると、評価値が変動することを示している。いいかえると、周囲の明るさの変動に対する耐性が弱いことが想定される。一方、二番目に低い一致度である明るさ条件候補3のときの一致度45%であれば、隣接する明るさ条件候補との間で差が比較的少ない。このことから、明るさの変動に対する耐性に優れていると評価でき、適切な明るさ条件として採用に値すると評価される。このように、明るさ条件候補の一致度が少ないことに加えて、その近傍の明るさ条件候補の一致度との差が相対的に小さいことも、明るさ条件候補を選択する選択条件として考慮することが好ましい。
以上の例では、撮像条件として画像の明るさ条件を変化させて、最適な明るさ条件を選択する手順について説明した。上述の通り条件割当部は、このような撮像条件や画像の圧縮度に加えて、画像処理条件を調整することもできる。ここで画像処理の条件には、選択する画像処理アルゴリズムの種別や、選択した画像処理アルゴリズムの画像処理パラメータの調整等が含まれる。画像処理アルゴリズムの条件を変更あるいは調整する場合、条件割当部は、画像処理で実行される画像処理アルゴリズムの条件を、良否判定部57dによる判別結果が応答時間内に出力されるように変更するための画像処理条件割当部55iとして機能する。これにより、ユーザが望む応答時間内に、良否判定に用いる画像処理の処理負荷を適切な負荷に変更することができ、所与の時間内に画像処理を終えられるようにしてインライン処理等に対応できる。
次に、条件割当部55が、応答時間設定部51eから設定された応答時間に応じて登録設定条件として、画像処理条件を調整する手順について、説明する。ここで、設定モードにおいて撮像部で光学画像を一枚だけ撮像し画像を登録する構成とする他、登録設定条件を異ならせた複数の候補登録設定条件毎に、画像を候補画像として撮像してこれらを保持し、これらの複数枚の候補画像中から、登録するのに適した画像を選択し、登録画像とすることもできる。ここでは、条件割当部55が、複数の異なる候補登録設定条件で候補画像を複数枚撮像し、この内、良否判定に適した最適な登録設定条件を選択して、この条件で得た候補画像を登録画像として登録する手順について、表3、表4に基づいて説明する。
光学画像の撮像にかけることのできる時間は、応答時間設定部51eで応答時間が設定された段階で自ずと定まる。すなわち、応答時間内に画像を撮像し、圧縮し、必要に応じて差分処理し、特徴量を算出して良品判定を行うことから、撮像に割り当てられる時間は、与えられた応答時間の内の一定の時間に制限される。よって、応答時間に従って撮像時間にかけることのできる上限が決定され、すなわち撮像時の露光時間の上限も決定される。また、撮像部21で用いる撮像素子やカメラ等のハードウェア、ソフトウェアの仕様によっても設定可能な露光時間の範囲が決まることから、これらを勘案して、予め撮像部21側で設定可能な露光時間の内で、与えられた応答時間に従って、この応答時間において選択可能な露光時間が決定されることになる。条件割当部55は、このようにして、応答時間に従って選択可能な露光時間の組み合わせを決定する。例えば、露光時間が予め複数の組みで提供されている場合、選択可能な露光時間の組み合わせを条件割当部55が抽出する。
また、応答時間設定部51eが、応答時間を任意の数値でなく、予め用意された複数の応答時間候補群から、ユーザに選択させるように構成されている場合は、応答時間候補毎に選択可能な露光時間の組み合わせが決定されることから、応答時間候補の選択に応じて自動的に露光時間の候補群を抽出するよう、予めテーブル等で用意しておくこともできる。この方法であれば、条件割当部55側で行うべき処理を軽減でき、より安価、軽負荷、あるいは高速な処理が実現できる。
応答時間に対する露光時間の組み合わせの例を表3の表に示す。このように、応答時間が長いほど、選択可能な露光時間の数も多くなる。なお、画像の撮像後にも画像の圧縮、差分処理、判定処理等、他の処理が必要なことから、応答時間のすべてを露光時間に費やすことができないことは上述の通りである。
また、登録設定条件には、露光時間といった画像の撮像条件の他、これに代えて、あるいはこれに加えて、画像処理の条件や、画像の圧縮度(解像度)も適用できる。一例として、応答時間に対する画像処理アルゴリズムと解像度の組み合わせを、表4の表に示す。この表に示すように、背景画像との差分処理により特定した良品ワークが運転画像中に存在するかもしくは一致するかを評価する際の評価方法には、Search(サーチ)とHolistic(ホリスティック)がある。Searchは、良品ワークを運転画像中から、パターンサーチによりワークの画面中の位置を特定して、一致度を評価する方法である。一方、Holisticは、運転画像中からワークの位置特定処理を行わず、画像全体から抽出した特徴量(例えば輝度平均やコントラスト、エッジピクセル数等)の比較により識別する方法であり、全体評価とも呼ばれる。
Searchには、画素値によりサーチを行う正規化相関サーチであるSearch[A]と、輪郭等の幾何情報によるサーチを行うSearch[B]がある。またHolisticにおいて具体的な特徴の1つとしてエッジ特徴による比較を行う場合、Robertsオペレータによりエッジを抽出するHolistic[A]、Sobelオペレータによりエッジを抽出するHolistic[B]がある。いずれも同じ「解像度かつSearch」や同じ「解像度かつHolistic」であっても、内部の処理の違いから処理時間、識別性能、動作特性等に差が生じる。また画像処理には、画像サーチ時に回転許容角度に相当するパラメータを含めることもできる。
表4の例では、応答時間に対して画像処理アルゴリズムと解像度を共に調整する例を説明したが、本発明はこれに限らず、応答時間に対して露光時間、画像処理アルゴリズム、解像度を調整することもできる。一例として表5に、応答時間が与えられた場合(例えば20ms)、露光時間と画像処理アルゴリズム種別、解像度の、選択可能な組み合せを示す。この表において、○は選択可能、×は応答時間上、選択不可能な組み合わせ、網掛けの×は露光時間と画像処理アルゴリズム、解像度の組み合わせで選択不可な組み合わせを、それぞれ示している。
以上のように、応答時間に応じて、選択可能な登録設定条件の候補群が決定され、この内から、好ましい登録設定条件を条件割当部55で選択する。ここで、好ましい登録設定条件とは、上述の通り、運転モードにおいて良否判定を行う際、良品と不良品を確実に判別できるような条件である。そして良否判定部57dは、良品に対する一致度を評価値として、良否判定を行うところ、良品と不良品とを安定して分離するためには、すなわち両者を可能な限り分離して、中間に一致度閾値を閾値算出部で設定するためには、不良品に対する一致度が極力低く算出されるような条件とすることが好ましい。したがって条件割当部55は、このようなよい登録状態を達成できるような登録設定条件、例えば露光時間、解像度、画像処理アルゴリズムの組み合わせを得ることが肝要となる。
なお、以上の例ではユーザが応答時間を応答時間設定部から指定できるように構成している。ただ、本発明はこの構成に限らず、応答時間を固定値とすることもできる。この場合、応答時間は既定の固定値として与えられるので、図40において応答時間が規定応答時間となる。この既定応答時間に基づいて、撮像時間の上限すなわち最大撮像時間は一義的に決まるため、この最大撮像時間の範囲内で、画像の撮像条件、撮像された画像の圧縮度、画像処理アルゴリズム等の登録設定条件を条件割当部55が割り当てる。このような手順を、図49Bに基づいて説明すると、図49Aと比べて応答時間設定部がない状態となり、応答時間は既定の固定値として与えられるので、この既定応答時間から一義的に決定される許容される最大露光時間に基づいて、明るさ条件候補設定部55fが明るさ条件を設定したり、画像処理条件割当部55iが画像処理を設定する。あるいは、画像圧縮度設定部55hが画像圧縮度を調整する。具体的な処理の流れは、上記と同様となる。
(最適な登録設定条件の決定)
次に条件割当部55が、このような登録設定条件の候補群から、適切な登録設定条件を見出して画像登録を行う手順を、図50のフローチャートに基づいて説明する。まずステップS5001において、応答時間を取得する。応答時間設定部51eからユーザに設定した応答時間、あるいは予め設定された固定値の応答時間が取得される。
次にステップS5002において、応答時間に応じて、候補登録設定条件を抽出する。候補登録設定条件は、変更可能なパラメータを予め定めておく。例えば、露光時間、解像度、画像処理アルゴリズムを調整可能とする場合は、ステップS5001で設定された応答時間に応じて、組み合わせ可能な露光時間、解像度、画像処理アルゴリズムの組み合わせを抽出する。この場合、指定された応答時間に対して、設定可能な露光時間、解像度、画像処理アルゴリズムの組み合わせを、予め候補登録設定条件テーブルとして用意し、設定保存部54dに保存しておくことができる。これにより候補登録設定条件テーブルを参照することで、設定された応答時間に応じて設定可能な露光時間、解像度、画像処理アルゴリズムの組み合わせを含む候補登録設定条件が抽出される。以下のステップでは、抽出された各候補登録設定条件毎に画像を撮像して一致度をそれぞれ評価し、得られた一致度の中から、最適な登録条件を選択する。
具体的には、まずステップS5003において、未評価の候補登録設定条件があるか否かを判定する。最初のループにおいては、未だ候補登録設定条件での撮像、評価を行っていないので、ステップS5004以降に進み、候補登録設定条件毎に実際に光学画像を撮像して一致度を演算する。具体的にはステップS5004において、未評価の候補登録設定条件に基づいて、光学画像の撮像から画像処理までを行い、一致度を算出する。この工程は、上述した図44A、図45A、図46A、図47A、図48A等における設定時の各登録処理と同様である。すなわち、二点登録、三点登録、一点登録のいずれを用いてもよい。さらに、同一の撮像条件(例えば露光時間)で何度も撮像を繰り返す無駄を省くため、適宜画像を保存しておき、同じ撮像条件の際には保存済みの画像を読み込んで処理してもよい。
次にステップS5005において、得られた一致度閾値の評価値が最小か否かを判定する。最初のループにおいては未だ評価値が保存されていないことから、これが最小値となるため、ステップS5006に進み、このときの評価値と、これを得た候補登録設定条件を保存して、ステップS5003に戻り、処理を繰り返す。以下、同様に新たな候補登録条件で撮像、画像処理を行い、評価値を取得して、ステップS5005において評価値が最小値か否かを判定し、最小値でない場合はステップS5003に戻って次の候補登録設定条件での評価を繰り返し、一方評価値が最小の場合は、ステップS5005からステップS5006に進み、最小となる評価値とそのときの候補登録設定条件を更新した上で、ステップS5003に戻って評価を繰り返す。このようにして、すべての候補登録設定条件の評価が終了すると、ステップS5003からステップS5007に進み、評価値が最小となった候補登録設定条件を、登録設定条件として設定する。このようにして、条件割当部55が、指定された応答時間において設定可能な候補登録設定条件の中から、最も不良品の一致度が低くなる最適な登録設定条件を決定できる。
なお「未評価」の意味について説明すると、例えば三点登録において露光時間を10段階に変化させて、良品画像、不良品画像、背景画像を各10枚、計30枚撮像する場合を考える。ステップ5003の最初のループでは、露光時間1/10を選択し、この露光時間での良品画像、不良品画像、背景画像をステップ5004で取得し、以後評価する。ステップ5003の2回目のループでは、露光時間1/10については既に評価されたため、残りの露光時間の内、例えば2/10を選択して、当該露光時間での画像の取得、評価を行う。さらにステップ5003の3回目では、さらに別の露光時間を選択し、同様の評価を行い、以降順次露光時間を変更して、すべての露光時間について評価を行う。
ここで、条件割当部55を構成する画像処理条件割当部55iが所定の画像処理の内、画像処理アルゴリズムを入れ替える例を、図51A〜図51Bのフローチャートに基づいて説明する。ここでは、図51Cに示す良品画像GDI、図51Dに示す不良品画像NGI、図51Eに示す背景画像BGIが設定モードにおいて登録されており、図51Fに示す入力画像が運転モードで得られているものとする。そして図51Aのフローチャートに示すように、画像処理は設定モードで登録処理A、運転モードで前処理Bと評価処理Cの順で処理されるものとする。このような一連の画像処理に対して、画像処理条件割当部55iが画像処理の一部を変更し、図51Aから図51Bに示すように、前処理Bを前処理Dに変更する例を説明する。
ここでは、上述した良品画像と背景画像の二点登録に際して、設定モードにおいて良品−背景差分画像を取得し、この良品−背景差分画像をモデル画像として登録し、運転モードにおいてこのモデル画像と入力画像の一致度を算出して良否判定を行う例を考える。
具体的には、図51Aの登録処理Aでは、図51Cの良品画像GDIと図51Eの背景画像BGIから、差分抽出部が差分を抽出して、図51Gに示すようにワークを切り出す。さらに得られたワークの画像から、ワークの特徴量を抽出する。例えば特徴量抽出部56bが、図51Gのワークの画像から特徴量として、輝度平均値75、輝度分散30、エッジピクセル50等を演算する。このようにして設定モードにおいて登録処理Aを予め処理した上で、運転モードにおいて前処理B、評価処理Cを行う。なお指定された応答時間内に処理する必要があるのは、いいかえると時間を短縮化する必要がある画像処理は、設定モードでの処理でなく、運転モードにおけるこれら前処理B、評価処理Cの処理時間である。
前処理Bでは、入力画像として得られた評価対象の評価画像(図51F)に対して、登録処理Aで切出したワーク(図51G)を画像サーチする。これにより、図51Hに示すように評価画像中からワークが特定される。
そして評価処理Cにおいて、評価画像(図51H)から切り出したワーク領域(図51J)に対して、特徴量を抽出し評価する。さらに、登録処理Aにおいて抽出済みの特徴量と比較し、一致度を算出する。例えば特徴量抽出部56bが、図51Jのワーク領域から特徴量として、輝度平均値70、輝度分散30、エッジピクセル55等を演算する。得られたワーク領域の特徴量を、上述したワークの画像の特徴量と対比して、良否判定部57dが良否判定を行う。
以上の画像処理においては、前処理Bでの処理時間がかかる。このため、設定された応答時間が短い場合は、運転モードにおいて前処理Bと評価処理Cを応答時間内に終えることができないことがある。この場合に、画像処理条件割当部55iは、図51Bに示すように、前処理Bを、より軽負荷の前処理Dに変更する。前処理Dでは、例えば図51Iに示すように、評価画像(図51F)に対してワーク画像の画像サーチを行うことに代えて、背景画像BGI(図51E)との差分処理を行う。これによって、図51Fの評価画像中から、図51Iに示すようにワークの領域を切り出すことができる。これにより、評価画像中からの背景の除去という共通の目的に対して、画像サーチよりも簡素化した前処理に置き換えることで処理時間の短縮化が図られ、応答時間内に画像処理を終えることが可能となる。
(画像処理アルゴリズムの構成要素の変更)
以上の例では、画像処理条件割当部55iが画像処理の内、画像処理アルゴリズムを入れ替える方法について説明した、ただ、画像処理条件割当部55iが画像処理の条件を変更する方法は、画像処理アルゴリズムの差し替えに限らず、他の方法とすることもできる。次に、画像処理条件割当部55iが画像処理の条件を変更する他の例として、画像処理フローの構成要素を変更する例について、図52A、図52Bのフローチャートに基づいて説明する。ここで扱う画像(良品画像GDI、不良品画像NGI、背景画像BGI、評価画像)は上述した図51C〜図51Fと同じとし、また画像処理の条件を変更する前の一連の画像処理は、図52Aに示すとおりであり、上述した図51Aと同じとする。
まず、変更後の設定モードにおける登録処理A’では、良品画像GDI(図51C)と背景画像BGI(図51E)の差分により、ワークを特定し、さらにワークの特徴量を抽出する。この画像処理は図51A(図52A)の登録処理Aと同じであるが、特徴量の抽出に際して、画像処理アルゴリズムの画像処理パラメータを、登録処理A’では登録処理Aから変更している。具体的には、登録処理Aにおいては、特徴量の内、「エッジ特徴」の抽出にはSobelフィルタを用いる。一方、図52Bの登録処理A’においては、「エッジ特徴」抽出には2x2のRobertsフィルタを用いる。
ここでSobelフィルタは、図53A、図53Bに示すように、対象画素の近傍の8画素に対して、SobelX(図53A)、SobelY(図53B)の2通りのフィルタを掛ける。その後、SobelXを掛けたエッジのX成分、SobelYを掛けたエッジのY成分をそれぞれSx、 Syとし(図53C)、強度=√(Sx2+Sy2)、角度=Arctan(Sy/Sx)を算出する。なお、ここでは3x3のSobelフィルタを用いたが、これに限らず、例えば5×5等、他のSobelフィルタを用いてもよい。
一方、Robertsフィルタは、Sobelフィルタを簡易化した画像処理である。具体的には、SobelX、SobelYに代えて、これらを簡素化した図54A、図54Bに示すRobertsX、RobertsYのフィルタを掛ける。これにより得られたRobertsXを掛けたエッジのX成分、RobertsYを掛けたエッジのY成分であるSx’、Sy’(図54C)から、上記Sobelフィルタと同様に強度=√(Sx’2+Sy’2)、及び角度=Arctan(Sy’/Sx’)を算出する。この結果、ワークの特徴量として、例えば輝度平均値75、輝度分散30、エッジピクセル50等が演算される。
このようにして設定モードの画像処理を先に行った上で、設定モードの画像処理である前処理B及び評価処理C、C’を行う。前処理Bは図52A、図52Bとも、上述した図51Aの前処理Bと同じく、切り出したワークを画像サーチして、評価画像(図51F)からワークを切り出す(図51H)。
さらに評価処理C、C’において、評価画像から切り出したワーク領域(図51J)の特徴を抽出し、評価する。ここで、図52Aの評価処理Cでは、登録処理Aと同様のSobelフィルタを用いているのに対して、変更後の図52Bにおける評価処理C’では、登録処理Aと同様のRobertsフィルタを用いている。そしてRobertsフィルタを用いて得られた評価画像の特徴量に対して、登録処理Aで抽出済みの特徴量と比較し、一致度を算出する。このようにして、画像処理の構成要素の一であるエッジ抽出という共通の画像処理に対して、エッジ抽出の手法を簡素化することで処理時間を短縮化し、設定された応答時間内に画像処理を終えることが可能となる。
また、上述した例では、画像処理アルゴリズム自体の変更と、画像処理アルゴリズムの構成要素の変更のいずれかを画像処理条件割当部で行う例を説明したが、本発明はこれに限らず、例えば画像処理アルゴリズムの変更と、画像処理アルゴリズムの構成要素の変更を組み合わせることもできる。また画像処理条件割当部は、既に設定された画像処理内容を応答時間に応じて変更する他、予め応答時間が与えられた状態で、適切な画像処理を割り当てる初期動作に利用することもできる。
さらに、画像処理アルゴリズムにおける画像処理パラメータの変更を適用してもよい。例えば、Sobelフィルタに対して、フィルタのサイズを3x3から5×5等に変更することが挙げられる。このように画像処理条件割当部55iは、設定モードにおける良品画像のエッジ抽出、及び運転モードにおける入力画像のエッジ抽出のためのエッジフィルタのフィルタサイズを変更することができる。
なお画像処理は、単一の画像処理アルゴリズムで構成される他、複数の異なる画像処理アルゴリズムで構成されてもよい。いずれの場合においても画像処理条件割当部は、各画像処理アルゴリズムに対して、各画像処理アルゴリズムや画像処理パラメータの全部又は一部を、良否判定部57dによる判別結果が応答時間内に出力されるように変更できる。
また一致度算出部57cは、運転モードにおいて、複数の異なる画像処理アルゴリズム毎に、モデル画像に対する入力画像の一致度を算出するよう構成してもよい。
さらにまた上記の例では、良品画像と背景画像の二点登録に際して、良品−背景差分画像をモデル画像として用いる例を説明したが、本発明はこれに限らず、例えば良品画像と不良品画像の二点登録に際して、良品−不良品差分画像をモデル画像として用いてもよい。あるいは良品画像GDIと不良品画像NGI(図51D)と背景画像BGIの三点登録に際して、良品−背景差分画像に応じたモデル画像、及び不良品−背景差分画像に応じたモデル画像を設定モードにおいて登録し、運転モードにおいてこれら良品−背景差分画像のモデル画像、不良品−背景差分画像のモデル画像と、入力画像との一致度をそれぞれ算出して良否判定を行う際に、画像処理条件割当部で画像処理の条件を変更することもできる。あるいはまた、背景画像を登録する一点登録に際して、背景画像をモデル画像として入力画像との一致度を算出する際、画像処理条件割当部で画像処理の条件を変更することもできる。
上述した例では、一致度算出部57cは、モデル画像と入力画像との特徴量の一致度合いを示す一致度を算出する。ここで一致度を算出する基礎となるモデル画像は、画像/設定記憶部54で登録した良品画像や不良品画像、背景画像に応じて構成される。例えば各種の差分画像やこれを圧縮した圧縮差分画像、あるいはエッジ画像とできる。また、モデル画像に代えて、画像以外の情報に基づいて特徴量を算出してもよい。例えばエッジや輝度等の特徴量に基づいて、一致度算出部で一致度を算出してもよい。このように一致度算出部が一致度を算出する基礎は、必ずしも画像データに限定されず、エッジや輝度などの特徴量といった他の情報も利用でき、本明細書においてはこれら一致度算出の基礎をなす情報をパターンモデルと呼ぶ。