JP2014203390A - 画像処理装置、画像処理方法、および画像処理プログラム - Google Patents

画像処理装置、画像処理方法、および画像処理プログラム Download PDF

Info

Publication number
JP2014203390A
JP2014203390A JP2013081292A JP2013081292A JP2014203390A JP 2014203390 A JP2014203390 A JP 2014203390A JP 2013081292 A JP2013081292 A JP 2013081292A JP 2013081292 A JP2013081292 A JP 2013081292A JP 2014203390 A JP2014203390 A JP 2014203390A
Authority
JP
Japan
Prior art keywords
template
templates
information
image processing
input image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013081292A
Other languages
English (en)
Inventor
山下 雅宣
Masanori Yamashita
雅宣 山下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2013081292A priority Critical patent/JP2014203390A/ja
Publication of JP2014203390A publication Critical patent/JP2014203390A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】テンプレートの有効度に基づいて、テンプレートマッチングを実行することにより、テンプレートマッチングの精度を安定させる装置を提供することである。【解決手段】本画像処理方法は、環境パラメータに関連付けられたテンプレートを1つ以上取得して格納するステップと、入力画像および入力画像の環境パラメータを取得するステップを備える。環境パラメータは、ワークを撮像した際の情報、および、ワークに対して行われた処理の情報の少なくとも一方を含む。さらに、本画像処理方法は、テンプレートのそれぞれに関連付けられた環境パラメータと入力画像に対応する環境パラメータとに基づいて、テンプレートの有効度をテンプレートのそれぞれについて算出するステップと、1つ以上のテンプレートの有効度に基づいて、1つ以上のテンプレートの少なくとも一部を用いて入力画像に対してテンプレートマッチングを実行するステップとを備える。【選択図】図3

Description

本発明は、テンプレートマッチングを行う画像処理装置、画像処理方法および画像処理プログラムに関する。
FA(Factory Automation)分野において、ワークなどの検査対象物の欠陥等を光学的に検査することで、工場などにおける生産工程を自動化する技術が開発されている。光学的に検査を行う技術の1つとして、テンプレートマッチングという技術がある。
テンプレートマッチングは、予め登録されたテンプレートと一致する領域を入力画像から探索するための技術である。FA分野においては、基準となるワークを撮影して取得した画像がテンプレートとして用いられる。FA分野における画像処理装置は、当該テンプレートと、ワークなどの検査対象物を撮影して得られる入力画像とを用いてテンプレートマッチングを行う。これにより、ワークの欠陥等を自動的に検査することができる。
近年、テンプレートマッチングの精度および処理速度を向上するための技術が開発されている。たとえば、特開2011−233059号公報(特許文献1)は、「処理時間が短く、かつ、精度の高いテンプレートマッチング処理を簡便に実現する」ために、「テンプレート画像よりも画素数が少なく、テンプレート画像の特徴量が反映された子テンプレート画像」を生成し、子テンプレート画像をテンプレートとしてテンプレートマッチングを行う技術を開示している([要約]および段落[0009]参照)。
特開2010−276487号公報(特許公報2)は、「高いマッチング精度を安定して確保する」ために、「テンプレートマッチングによって、特定された個所の画像を複数取得し、当該複数画像を加算平均することによって、新たなテンプレートを作成する」という技術を開示している([要約]参照)。
特開平10−232913号公報(特許公報3)は、「不要なテンプレート情報あるいは画像情報を適宜削除して記憶装置の記憶容量の圧迫を防ぐ」ための技術を開示している([要約]参照)。
特開2002−253539号公報(特許公報4)は、「医用画像から画像処理によって自動的に画像処理装置,部位,撮像方向等の撮像属性情報を抽出して管理情報に付加し,膨大な量の医用画像の効率的な管理を可能にする」ための技術を開示している([要約]参照)。
特開2011−233059号公報 特開2010−276487号公報 特開平10−232913号公報 特開2002−253539号公報
ところで、特許文献1〜4が開示している技術は、テンプレートの有効性について評価しない。このため、特許文献1〜4が開示している技術は、悪質なテンプレートが登録されている場合には、テンプレートマッチングの精度が安定しない。
したがって、テンプレートマッチングに用いるテンプレートの有効度に基づいて、テンプレートの少なくとも一部を用いてテンプレートマッチングを実行するための技術が必要とされている。
この開示は上述のような問題点を解決するためになされたものであって、その目的は、テンプレートマッチングに用いるテンプレートの有効度に基づいて、テンプレートの少なくとも一部を用いてテンプレートマッチングを実行することにより、テンプレートマッチングの精度を安定させる装置、方法およびプログラムを提供することである。
一実施の形態に従うと、基準対象物を撮像して得られる特徴量を含むテンプレートを用いて検査対象物についてのマッチング処理を行う画像処理方法が提供される。本画像処理方法は、基準対象物の環境パラメータに関連付けられたテンプレートを1つ以上取得して格納するステップを備える。基準対象物の環境パラメータは、基準対象物を撮像した際の情報、および、基準対象物に対して行われた処理の情報の少なくとも一方を含む。さらに、本画像処理方法は、検査対象物を撮像した入力画像と検査対象物の環境パラメータとを取得するステップを備える。検査対象物の環境パラメータは、検査対象物を撮像した際の情報、および、検査対象物に対する処理を行った際の情報の少なくとも一方を含む。さらに、本画像処理方法は、1つ以上のテンプレートのそれぞれに関連付けられた環境パラメータと入力画像に対応する環境パラメータとに基づいて、入力画像に対するテンプレートマッチングに用いるテンプレートとしての有効度を1つ以上のテンプレートのそれぞれについて算出するステップと、1つ以上のテンプレートの有効度に基づいて、1つ以上のテンプレートの少なくとも一部を用いて入力画像に対してテンプレートマッチングを実行するステップとを備える。
好ましくは、実行するステップは、有効度に基づいて、テンプレートマッチングに用いるテンプレートを決定するステップを含む。
好ましくは、決定するステップは、有効度がより高い1つのテンプレートを決定するステップを含む。
好ましくは、決定するステップは、テンプレートマッチングに用いる複数のテンプレートを決定するステップを含む。実行するステップは、テンプレートマッチングに用いる複数のテンプレートと、複数のテンプレートのそれぞれに対応する有効度とに基づいて、入力画像との比較対象になるテンプレートを生成するステップをさらに含む。
好ましくは、格納するステップは、生成するステップにより生成されたテンプレートを新たなテンプレートとして格納するステップを含む。
好ましくは、1つ以上のテンプレートの各々は、環境パラメータについての条件範囲が予め定められている。決定するステップは、1つ以上のテンプレートのうち、入力画像に対応する環境パラメータが条件範囲内にあるテンプレートから、テンプレートマッチングに用いるテンプレートを決定するステップを含む。
好ましくは、本画像処理方法は、決定するステップにより決定されるテンプレートが1つもない場合に、警告を報知するステップをさらに備える。
好ましくは、本画像処理方法は、1つ以上のテンプレートの各々と、テンプレートマッチングの手法とは、対応付けられている。実行するステップは、決定するステップにより決定されたテンプレートに対応付けられているテンプレートマッチングの手法を用いてテンプレートマッチングを行うステップを含む。
好ましくは、格納するステップは、入力画像を新たなテンプレートとして格納するステップを含む。
好ましくは、基準対象物または検査対象物を撮像した際に得られる環境パラメータは、照明情報と、温度情報と、湿度情報と、基準対象物および検査対象物の重量情報と、検査対象物の体積情報と、基準対象物および検査対象物の表面積情報と、ワーキングディスタンスと、撮像者情報との少なくとも1つを含む。
好ましくは、基準対象物または検査対象物に対して行われた処理の情報として得られる環境パラメータは、温度情報と、湿度情報と、基準対象物および検査対象物の重量情報と、基準対象物および検査対象物の体積情報と、基準対象物または検査対象物の表面積情報との少なくとも1つを含む。
他の実施形態に従うと、基準対象物を撮像して得られる特徴量を含むテンプレートを用いて検査対象物についてのマッチング処理を行う画像処理装置が提供される。本画像処理装置は、基準対象物の環境パラメータに関連付けられたテンプレートを1つ以上取得して格納するための記憶部を備える。基準対象物の環境パラメータは、基準対象物を撮像した際の情報、および、基準対象物に対して行われた処理の情報の少なくとも一方を含む。さらに、本画像処理装置は、検査対象物を撮像した入力画像と検査対象物の環境パラメータとを取得するための取得手段を備える。検査対象物の環境パラメータは、検査対象物を撮像した際の情報、および、検査対象物に対する処理を行った際の情報の少なくとも一方を含む。さらに、本画像処理装置は、1つ以上のテンプレートのそれぞれに関連付けられた環境パラメータと入力画像に対応する環境パラメータとに基づいて、入力画像に対するテンプレートマッチングに用いるテンプレートとしての有効度を1つ以上のテンプレートのそれぞれについて算出するための算出手段と、1つ以上のテンプレートの有効度に基づいて、1つ以上のテンプレートの少なくとも一部を用いて入力画像に対してテンプレートマッチングを実行するための実行手段とを備える。
他の実施形態に従うと、基準対象物を撮像して得られる特徴量を含むテンプレートを用いて検査対象物についてのマッチング処理をコンピュータに実行させるためのプログラムが提供される。本プログラムは、コンピュータのプロセッサに、基準対象物の環境パラメータに関連付けられたテンプレートを1つ以上取得するステップを実行させる。基準対象物の環境パラメータは、基準対象物を撮像した際の情報、および、基準対象物に対して行われた処理の情報の少なくとも一方を含む。本プログラムは、コンピュータのプロセッサに、検査対象物を撮像した入力画像と検査対象物の環境パラメータとを取得するステップを実行させる。検査対象物の環境パラメータは、検査対象物を撮像した際の情報、および、検査対象物に対する処理を行った際の情報の少なくとも一方を含む。本プログラムは、コンピュータのプロセッサに、1つ以上のテンプレートのそれぞれに関連付けられた環境パラメータと入力画像に対応する環境パラメータとに基づいて、入力画像に対するテンプレートマッチングに用いるテンプレートとしての有効度を1つ以上のテンプレートのそれぞれについて算出するステップと、1つ以上のテンプレートの有効度に基づいて、1つ以上のテンプレートの少なくとも一部を用いて入力画像に対してテンプレートマッチングを実行するステップとを実行させる。
ある局面において、テンプレートマッチングに用いるテンプレートの有効度に基づいて、テンプレートの少なくとも一部を用いてテンプレートマッチングを実行することにより、テンプレートマッチングの精度を安定させることができる。
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
本発明の実施の形態に従う画像処理装置100を含む画像処理システム1の全体構成を示す概略図である。 画像処理装置100のハードウェア構成の一例を示すブロック図である。 第1の実施の形態に従う画像処理装置100の機能構成の一例を示すブロック図である。 ワークの透明度の違いを表す図である。 ワーク表面の状態の違いを表す図である。 作業者毎のカメラ設定の違いを表す図である。 作業者毎のワークの置き場所の違いを表す図である。 補助記憶装置210に格納されているテンプレートリスト320のデータ構造の一例を表す図である。 2次元マップ上に表されたテンプレートおよび入力画像を示す図である。 テンプレートマッチングの手法の1つであるPOCの概要を表す図である。 POCを用いてテンプレートマッチングを行った結果を表す図である。 画像処理装置100が実行する処理の一部を表わすフローチャートである。 画像処理装置100Aの機能構成の一例を示すブロック図である。 補助記憶装置210に格納されているテンプレートリスト320Aのデータ構造の一例を表す図である。 テンプレートの有効な範囲を示す条件範囲を表す図である。 2次元マップ上に表されたテンプレートおよび入力画像を示す図である。 2次元マップ上に表されたテンプレートおよび入力画像を示す図である。 2次元マップ上に表されたテンプレートおよび入力画像を示す図である。 画像処理装置100Bのハードウェア構成の一例を示すブロック図である。 合成テンプレートの生成方法を示す図である。 補助記憶装置210に格納されているテンプレートリスト2100のデータ構造の一例を表す図である。 画像処理装置100Bが実行する処理の一部を表わすフローチャートである。 補助記憶装置210に格納されている、テンプレートリスト1300を表す図である。 本実施の形態に従う画像処理装置が実行する処理の一部を表わすフローチャートである。
以下、図面を参照しつつ、本実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
<全体装置構成>
図1は、本発明の実施の形態に従う画像処理装置100を含む画像処理システム1の全体構成を示す概略図である。図1を参照して、画像処理システム1は、たとえば、検査対象物(以下、「ワーク」ともいう。)の欠陥や汚れの有無を光学的に検査する。より具体的には、画像処理システム1は、生産ラインなどに組み込まれ、予め登録されたテンプレートを用いて、ワーク2を撮影して取得した画像とテンプレートマッチングを行う。
画像処理システム1は、センサー4と、カメラ8と、センサー10と、製造装置12と、搬送機構14と、表示装置16と、マウス18と、画像処理装置100とを含む。
製造装置12は、ワーク2に対して処理を行う。センサー10は、ワーク2に対して行われた処理の情報(以下、「処理情報」という。)を取得する。センサー10は、処理情報を画像処理装置100に伝送する。
製造装置12がワーク2に対して処理を行うと、ワーク2は、ベルトコンベアなどの搬送機構14によって搬送される。搬送されたワーク2は、カメラ8により所定のタイミングで撮影される。カメラ8により得られた画像は、画像処理装置100へ伝送される。
センサー4は、ワーク2を撮像した際の情報(以下、「撮像情報」という。)を取得する。センサー4は、撮像情報を画像処理装置100に伝送する。
なお、以下では説明を簡単にするために、「処理情報」および「撮像情報」の少なくとも一方を含む用語として「環境パラメータ」を用いる。画像処理装置100は、テンプレートに関連付けられた環境パラメータと、入力画像に対応する環境パラメータとに基づいて、入力画像に対するテンプレートマッチングに用いるテンプレートとしての有効度を算出する。また、画像処理装置100は、当該有効度に基づいて、1つ以上のテンプレートの少なくとも一部を用いて入力画像に対してテンプレートマッチングを実行する。
画像処理装置100は、有効なテンプレートを用いてテンプレートマッチングを行うことにより、テンプレートマッチングの精度を安定させることができる。画像処理装置100は、テンプレートマッチングを行った結果を表示装置16に表示する。
また、画像処理装置100は、後述するテンプレートの登録処理を行うための登録モードと、ワーク2に対して検査を実行する検査モードとを有する。ユーザーは、マウス18などの入力装置により、検査モードおよび登録モードを交互に切り替えることができる。
<ハードウェア構成>
図2は、画像処理装置100のハードウェア構成の一例を示すブロック図である。図2を参照して、画像処理装置100のハードウェア構成について説明する。
図2を参照して、画像処理装置100は、主として、汎用的なアーキテクチャーを有するコンピューター上に実装される。画像処理装置100は、主たるコンポーネントとして、CPU(Central Processing Unit)201と、RAM(Random Access Memory)202と、ROM(Read Only Memory)203と、ネットワークインターフェイス(I/F)204と、カメラインターフェイス(I/F)205と、センサーインターフェイス(I/F)206と、メモリーカードインターフェイス(I/F)207と、補助記憶装置210とを含む。センサー4と、カメラ8と、センサー10と、表示装置16と、入力装置240とは、画像処理装置100に接続される。各コンポーネントは、バス200を介して、互いに通信可能に接続されている。
CPU201は、ROM203や補助記憶装置210などに格納された、オペレーティングシステム(OS:Operating System)や画像処理プログラムなどの各種プログラムを実行することで、画像処理装置100の全体を制御する。
RAM202は、CPU201でプログラムを実行するためのワーキングメモリとして機能し、プログラムの実行に必要な各種データを一次的に格納する。
ROM203は、画像処理装置100において起動時に実行される初期プログラム(ブートプログラム)などを格納する。
ネットワークI/F204は、各種の通信媒体を介して、他の装置(サーバ装置など)とデータをやり取りする。より具体的には、ネットワークI/F204は、イーサネット(登録商標)などの有線回線(LAN(Local Area Network)やWAN(Wide Area Network)など)、および/または、無線LANなどの無線回線を介してデータ通信を行なう。
カメラI/F205は、CPU201とカメラ8とのデータ通信を仲介する。より具体的には、カメラI/F205は、画像バッファを含み、カメラ8から伝送される入力画像のデータを一旦蓄積する。カメラI/F205は、少なくとも1コマ分の入力画像のデータが蓄積されると、その蓄積されたデータを補助記憶装置210またはROM203へ転送する。また、カメラI/F205は、CPU201が発生した内部コマンドに従って、カメラ8に対して撮像指令を与える。
センサーI/F206は、CPU201と、センサー4およびセンサー10とのデータ通信を仲介する。より具体的には、センサー4および10が取得した環境パラメータは、センサーI/F206を介して、CPU201に入力される。
メモリーカードI/F207は、SD(Secure Digital)カードやCF(Compact Flash(登録商標))カードなどの各種メモリーカード(不揮発性記憶媒体)230との間で、データの読み書きを行なう。典型的には、メモリーカードI/F207には、何らかの装置で取得した入力画像を格納したメモリーカード230が装着され、そのメモリーカード230から読み出された入力画像が補助記憶装置210へ格納される。
補助記憶装置210は、典型的には、ハードディスクなどの大容量磁気記憶媒体などを含む。補助記憶装置210は、本実施の形態に従う各種を実現するための画像処理プログラム211および処理対象の入力画像212ならびにテンプレート213などを格納する。さらに、補助記憶装置210には、オペレーティングシステムなどのプログラムが格納されてもよい。
入力画像212およびテンプレート213は、ワークを異なる視点で撮像することで取得された画像などが該当する。ある局面において、入力画像212およびテンプレート213は、特徴量として格納される。画像処理装置100本体はワークを撮像する機能を有していなくてもよく、デジタルカメラに類似した機構を用いてこれら画像を取得し、これら画像を任意の方法で画像処理装置100へ入力するようにしてもよい。より具体的には、上述のネットワークI/F204やメモリーカードI/F207を介して、これらの画像が画像処理装置100へ入力される。
表示装置16は、オペレーティングシステムが提供するGUI(Graphical User Interface)画面や画像処理プログラム211の実行によって生成される画像などを表示する。
入力装置240は、典型的には、キーボード、マウス、タッチパネルなどからなる。入力装置240は、ユーザーから受付けた指示の内容をCPU201などへ出力する。
補助記憶装置210に格納される画像処理プログラム211は、CD−ROM(Compact Disk-Read Only Memory)などの記憶媒体に格納されて流通し、あるいは、ネットワークを介してサーバ装置などから配信される。画像処理プログラム211は、画像処理装置100で実行されるオペレーティングシステムの一部として提供されるプログラムモジュールのうち必要なモジュールを、所定のタイミングおよび順序で呼出して処理を実現するようにしてもよい。この場合、画像処理プログラム211自体には、オペレーティングシステムによって提供されるモジュールは含まれず、オペレーティングシステムと協働して画像処理が実現される。
また、画像処理プログラム211は、単体のプログラムではなく、何らかのプログラムの一部に組込まれて提供されてもよい。このような場合にも、画像処理プログラム211自体には、当該何らかのプログラムにおいて共通に利用されるようなモジュールは含まれず、当該何らかのプログラムと協働して画像処理が実現される。このような一部のモジュールを含まない画像処理プログラム211であっても、本実施の形態に従う画像処理装置100の趣旨を逸脱するものではない。さらに、画像処理プログラム211によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。
本実施の形態に従う画像処理装置100は、リアルタイムに処理を行わなくてもよい。たとえば、画像処理装置100は、少なくとも1つのサーバ装置が本実施の形態に従う処理を実現する、いわゆるクラウドサービスのような形態であってもよい。この場合、ユーザーが、自身の端末を用いて入力画像212およびテンプレート213をサーバ装置(クラウド側)へ送信する。サーバ装置は、当該送信された入力画像212およびテンプレート213に対して、装置側が本実施の形態に従う画像処理を行う。さらに、サーバ装置側がすべての機能(処理)を行なう必要はなく、ユーザー側の端末とサーバ装置とが協働して、本実施の形態に従う画像処理を実現するようにしてもよい。
<概要>
以下、本発明の第1〜第4の実施の形態の概要を説明する。第1〜第4の実施の形態に従う画像処理装置のハードウェア構成は、上述のハードウェア構成と同様である。したがって、ハードウェア構成の説明については繰り返さない。
第1の実施の形態に従う画像処理装置は、テンプレートマッチングに用いるテンプレートとしての有効度に基づいて、テンプレートマッチングに用いるテンプレートを決定する。また、本実施の形態に従う画像処理装置は、有効度がより高い1つのテンプレートを用いてテンプレートマッチングを行う。
第2の実施の形態に従う画像処理装置は、環境パラメータについての条件範囲をテンプレート毎に対応付ける。本実施の形態に従う画像処理装置は、入力画像に対応する環境パラメータが条件範囲内にあるテンプレートから、テンプレートマッチングに用いるテンプレートを決定する点が第1の実施の形態に従う画像処理装置と異なる。
第3の実施の形態に従う画像処理装置は、テンプレートマッチングに用いるテンプレートとして複数のテンプレートを合成した合成テンプレートを用いる点が第1の実施の形態に従う画像処理装置と異なる。
第4の実施の形態に従う画像処理装置は、テンプレート毎にマッチング手法が対応付けられている。本実施の形態に従う画像処理装置は、テンプレートに対応付いているテンプレートマッチングの手法を用いてテンプレートマッチングを行う点が、第1の実施の形態に従う画像処理装置と異なる。
なお、実施の形態1〜4において示した特徴的な構成は、本発明の趣旨を逸脱しない範囲で当然に相互にその組み合わせが可能である。
[第1の実施の形態]
<機能構成>
図3は、第1の実施の形態に従う画像処理装置100の機能構成の一例を示すブロック図である。図3を参照して、画像処理装置100の機能構成について説明する。
画像処理装置100は、補助記憶装置210と、スイッチ300と、作成部310と、算出部330と、決定部340と、マッチング部360とを含む。補助記憶装置210は、テンプレートリスト320を含む。テンプレートリスト320は、テンプレート213と、登録環境パラメータ322とを含む。
画像処理装置100は、動作モードとして、テンプレート登録処理を行うための登録モードと、ワーク2に対して検査を実行する検査モードとを有する。ユーザーは、入力装置240により登録モードおよび検査モードを切り替えることができる。検査モードが切り替えられえると、スイッチ300が切り替わる。
(登録モード)
画像処理装置100の動作モードが登録モードである場合、カメラ8は、撮影したワークを登録画像として作成部310に出力する。また、センサー4およびセンサー10の少なくとも一方は、環境パラメータを作成部310に出力する。なお、説明を簡単にするために、画像処理装置100の動作モードが登録モードである場合に得られる環境パラメータを「登録環境パラメータ」ともいう。
作成部310は、ワークを撮像して得られる特徴量を含むテンプレートを作成する。たとえば、当該特徴量は、登録画像の画素値である。また、当該特徴量は、登録画像から取得した位相成分であってもよい。さらに、当該特徴量は、SIFT(Scale Invariant Feature Transform)特徴量であってもよい。作成部310は、テンプレート213と、登録環境パラメータ322とを対応付けて、テンプレートリスト320として、補助記憶装置210に格納する。
(検査モード)
画像処理装置100の動作モードが検査モードである場合、センサー4およびセンサー10の少なくとも一方は、環境パラメータを算出部330に出力する。なお、説明を簡単にするために、画像処理装置100の動作モードが検査モードである場合に得られる環境パラメータを「入力環境パラメータ」ともいう。
算出部330は、1つ以上のテンプレートのそれぞれに関連付けられた登録環境パラメータと、入力画像に対応する入力環境パラメータとに基づいて、入力画像に対するテンプレートマッチングに用いるテンプレートとしての有効度を算出する。テンプレートの有効度の算出方法の詳細は後述する。算出部330は、算出したテンプレートの有効度を決定部340に出力する。
決定部340は、テンプレートマッチングに用いるテンプレートとしての有効度に基づいて、テンプレートを決定する。典型的には、決定部340は、有効度がより高い1つのテンプレートを決定する。
カメラ8は、取得したワーク画像を入力画像としてマッチング部360に出力する。マッチング部360は、決定部340に決定された1つのテンプレートおよび入力画像を用いてテンプレートマッチングを行う。
たとえば、マッチング部360は、テンプレートマッチングの手法として、SAD(Sum of Absolute Difference)、SSD(Sum of Squared Difference)、位相限定相関法(POC:Phase Only Correlation)、回転不変位相限定相関(RIPOC:Rotation Invariant Phase Only Correlation)、SIFT(Scale Invariant Feature Transform)などのいずれかを用いる。テンプレートマッチングの手法は、上述の手法に限定されない。
<環境パラメータ>
環境パラメータは、検査対象物を撮像した際の情報(撮像情報)、および、検査対象物に対する処理を行った際の情報(処理情報)の少なくとも一方を含む。環境パラメータは、撮像情報および処理情報の少なくとも一方を定量化したものである。
典型的には、撮像情報としての環境パラメータは、ワークに関する情報、照明情報、カメラに関する情報、および作業者情報の少なくとも1つを含む。ワークに関する情報は、ワークの色、ワークの透明度、ワーク表面の凹凸度、ワークの大きさ、ワークの厚さ、ワークの重さ、およびワークの温度の少なくとも1つを含む。ワークに関する照明情報は、ワークの撮影時の、照明の色、照度、および環境光の少なくとも1つを含む。カメラに関する情報は、ワークの撮影時の、ワークとカメラとの位置情報、ピント値の少なくとも1つを含む。たとえば、当該位置情報は、ワーク2とカメラ8との距離である。また、当該位置情報は、カメラ8の画角内の移動量であってもよい。作業者情報は、作業者ID、作業者名、および作業者毎のカメラの設定値の少なくとも1つを含む。
また、処理情報としての環境パラメータは、ワークの成形時の情報を含む。ワークの成形時の情報は、ワークの材料色、ワークの透明度、ワーク表面の凹凸度、ワークの大きさ、ワークの厚さ、ワークの重さ、ワークの温度、およびワークの成形プロセスの温度の少なくとも1つを含む。
図4を参照して、環境パラメータの一例であるワークの透明度についてより詳細に説明する。図4は、ワークの透明度の違いを表す図である。
図4(A)および(B)において、透明度の異なるワーク410およびワーク420が示されている。プラスチック部品などのワークにおいては、ロットの違いや、成形プロセスの温度管理の違いにより、ワーク410およびワーク420のように、良品であっても透明度が異なる。ワークの透明度の違いにより、入力画像の特徴量、およびテンプレートの特徴量が変動する。これによりテンプレートマッチングの精度が低下する。検査対象物の透明度に基づいてテンプレートマッチングに用いるテンプレートを決定すると、テンプレートマッチングの精度を安定させることができる。
図5を参照して、環境パラメータの一例であるワーク表面の凹凸度についてより詳細に説明する。図5は、ワーク表面の状態の違いを表す図である。
環境パラメータは、ワークの凹凸度を含む。図5(A)および(B)において、ワークの表面の状態が異なるワーク510およびワーク520が示されている。ワークに行われた処理により、凹凸511および凹凸521のような凹凸が生じる。典型的には、ワークの成形プロセスの違いにより凹凸の違いが生じる。ワークの凹凸の違いにより、入力画像の特徴量、およびテンプレートの特徴量が変動する。これにより、テンプレートマッチングの精度が低下する。ワークの凹凸度に基づいてテンプレートマッチングに用いるテンプレートを決定すると、テンプレートマッチングの精度を安定させることができる。
図6を参照して、環境パラメータの一例である作業者情報についてより詳細に説明する。図6は、作業者毎のカメラ設定の違いを表す図である。
図6を参照して、作業者は、カメラ8によりワーク2を撮影する場合に、手動でピントなどのカメラ設定を調整する。たとえば、ある作業者は、ピント610に合わせる。また、他の作業者は、ピント620に合わせる。このように、カメラ設定は、作業者毎に変わり、入力画像の特徴量、およびテンプレートの特徴量が変動する。これにより、テンプレートマッチングの精度が低下する。作業者毎のカメラパラメータに基づいて、テンプレートマッチングに用いるテンプレートを決定すると、テンプレートマッチングの精度を安定させることができる。
なお、カメラパラメータは、ピント値を含む。ピント値は、フォーカスリングと連動したエンコーダ値や、レーザ変位計等によりワーキングディスタンスとして定量化される。
図7を参照して、環境パラメータの一例である作業者情報のさらに他の例について説明する。図7は、作業者毎のワークの置き場所の違いを表す図である。
図7(A)に示されるように、照明710Aは、ワーク2Aを照らしている。カメラ8Aは、ワーク2Aを撮影することにより、画像720Aを取得する。ワーク2Aが照明710Aに照らされることにより、影730Aが画像720Aに写る。
また、図7(B)に示されるように、照明710Bは、ワーク2Bを照らしている。カメラ8Bは、ワーク2Bを撮影することにより、画像720Bを取得する。ワーク2Bが照明710Bに照らされることにより、影730Bが画像720Bに写る。
ワーク2Bは、ワーク2Aと異なる位置に置かれている。このため、影730Aおよび影730Bの大きさは、それぞれ異なる。このように、ワーク2Aおよびワーク2Bが異なる位置に置かれて撮影されることにより、取得できる画像も相違する。ワークの置く位置は、作業者により異なる。つまり、作業者により、入力画像の特徴量、およびテンプレートの特徴量が変動する。これにより、テンプレートマッチングの精度が低下する。このため、作業者情報に基づいてテンプレートを選択することは、有効である。
(正規化)
ある局面において、作成部310は、環境パラメータ毎にレンジが同じになるように環境パラメータの値を正規化する。環境パラメータのレンジは、環境パラメータの種類ごとに異なる。このため、環境パラメータの各々を同じ尺度で比較することができない。換言すれば、環境パラメータの各々の重みは、異なる。作成部310は、環境パラメータの各々の重みを均一にするために、環境パラメータの値を正規化する。
たとえば、作成部310は、テンプレートマッチングの結果のばらつきを基準にして、環境パラメータの値を正規化する。より具体的には、作成部310は、照度をある値に固定し、温度を変動させてテンプレートマッチングを行う。この時、温度が10℃の時の検出結果のばらつきσが0.1で、温度が15℃の時のばらつきσが0.3であるとする。
次に、作成部310は、温度をある値に固定し、照度を変動させてテンプレートマッチングを行う。この時、照度が300Luxの時のばらつきσが0.1で、照度が800Luxの時のばらつきσが0.3であるとする。
この場合、温度5℃の変化が、ばらつきσの0.2の変化に対応している。同様に、照度500Luxの変化が、ばらつきσの0.2に対応している。作成部310は、ばらつきσを同一指標として、照度と温度を正規化する。
他の局面において、作成部310は、平均が0、分散が1になるように環境パラメータの値を正規化してもよい。作成部310が環境パラメータの各々の正規化を行うことにより、各環境パラメータのレンジをそろえることができる。
<データ構造>
図8は、補助記憶装置210に格納されているテンプレートリスト320のデータ構造の一例を表す図である。図8を参照して、テンプレートリスト320のデータ構造について説明する。
補助記憶装置210は、テンプレートリスト320を格納する。図8においては、テンプレートリスト320として、テンプレート800を含む3つのテンプレートが補助記憶装置210に格納されている。テンプレート800と、環境パラメータ810と、測定値820とは、対応付けられる。
図8を参照して、テンプレート800に対応付けられている環境パラメータは、「照度(Lux)」と、「温度(℃)」と、「WD(Working Distance)(mm)」とを含む。「照度(Lux)」と、測定値「820」とは、対応付けられている。「温度(℃)」と、測定値「35」とは、対応付けられている。「WD(mm)」と、測定値「155.2」とは、対応付けられている。
<有効度>
図9は、2次元マップ上に表されたテンプレートおよび入力画像を示す図である。図9を参照して、テンプレートの有効度の算出方法について説明する。なお、以下では説明を簡単にするために、環境パラメータとして「照度」および「温度」の2つを用いて有効度について説明しているが、環境パラメータは、これら2つに限定されない。
図9に示されるように、照度と温度とが異なる条件で作成されたテンプレート901〜904が登録されているとする。算出部330は、入力画像900に対するテンプレート901〜904の有効度を算出する。
より具体的には、算出部330は、入力画像900の環境パラメータの値と、テンプレート901の環境パラメータの値との距離911を有効度として算出する。たとえば、算出部330は、入力画像900とテンプレート901との照度の値の差を二乗した値を算出する。また、算出部330は、入力画像900とテンプレート901との温度の値の差を二乗した値を算出する。算出部330は、これらの二乗した値を足し合わせた値(距離)をテンプレート901の有効度として算出する。この場合、決定部340は、入力画像900とテンプレートとの距離が近いほどテンプレートとして有効なテンプレートとする。
同様に、算出部330は、入力画像900の環境パラメータの値と、テンプレート902〜904の環境パラメータの値との距離912〜914を有効度として算出する。たとえば、テンプレートの有効度は、当該距離の逆数として定義されてもよい。決定部340は、有効度がより高い1つのテンプレートを決定する。典型的には、決定部340は、有効度が1番高いテンプレートを決定する。
他の局面において、算出部330は、環境パラメータの各項目の値を要素としたベクトルで表し、入力画像900とテンプレート901〜904とにより形成されるそれぞれの角の余弦を有効度として算出する。この場合、決定部340は、余弦の値が0に近いテンプレートほど有効なテンプレートとする。
<マッチング>
以下、テンプレートマッチングの手法について説明する。マッチング部360は、決定部340により決定されたテンプレート、および入力画像を用いてテンプレートマッチングを行う。これにより、テンプレートおよび入力画像がどの程度類似しているかという指標を得ることができる。たとえば、マッチング部360は、テンプレートマッチングの手法として、SAD、SSD、POC、RIPOC、SIFTなどのいずれかを用いる。当該手法は、上述の手法に限定されない。
図10および図11を参照して、テンプレートマッチング手法の1つであるPOCについてより詳細に説明する。図10は、テンプレートマッチングの手法の1つであるPOCの概要を表す図である。図11は、POCを用いてテンプレートマッチングを行った結果を表す図である。
図10を参照して、作成部310は、登録画像1010をフーリエ変換することにより、振幅情報1020および位相情報1030を取得する。フーリエ変換は、DFT(Discrete Fourier Transform)およびFFT(Fast Fourier Transform)のいずれであってもよい。作成部310は、位相情報1030をテンプレートとして、補助記憶装置210に格納する。
マッチング部360は、入力画像1040をフーリエ変換することにより、振幅情報1050および位相情報1060を取得する。フーリエ変換は、DFTおよびFFTのいずれであってもよい。マッチング部360は、位相情報1030および位相情報1060から、合成画像1070を取得する。また、マッチング部360は、合成画像1070から相関画像1080を取得する。相関画像1080は、テンプレートおよび入力画像の類似度を示す。
図11を参照して、入力画像1100および入力画像1120に対して実際にPOCを行った結果について説明する。作成部310は、登録画像1110に対してDFTを行うことにより、振幅情報1112および位相情報1114を取得する。作成部310は、位相情報1114をテンプレートとして、補助記憶装置210に格納する。
マッチング部360は、入力画像1040に対してDFTを行うことにより、振幅情報1050および位相情報1060を取得する。マッチング部360は、位相情報1104および位相情報1114から、相関情報1116を取得する。相関情報1116は、ピーク1118を有する。なお、XY平面に対するピーク1118の位置は、入力画像1100に対する登録画像1110の相対的な平均移動量を表している。また、Z軸に対するピーク1118の値は、登録画像1110および入力画像1100の類似度を表している。相関情報1116がピーク1118を有することから、登録画像1110および入力画像1100は、類似していることが分かる。
また、マッチング部360は、入力画像1120に対してDFTを行うことにより、振幅情報1122および位相情報1124を取得する。マッチング部360は、位相情報1114および位相情報1124から、相関情報1126を取得する。相関情報1126は、ピークを有さない。このため、登録画像1110および入力画像1120は、類似していないことが分かる。
<テンプレートの更新>
以下、テンプレートの更新について説明する。ある局面において、作成部310は、テンプレートマッチングを行った入力画像を新たなテンプレートとして、補助記憶装置210に格納する。この場合、作成部310は、入力画像に対応付けられた環境パラメータを、新たなテンプレートに対応付けられる環境パラメータとしてもよい。
検出結果が良好であった入力画像は、テンプレートとして良質である可能性が高い。このため、検出結果が良好であった入力画像を新たなテンプレートとすることで、マッチング精度を向上させることができる。
<制御フロー>
図12は、画像処理装置100が実行する処理の一部を表わすフローチャートである。図12の処理は、CPU201がプログラムを実行することにより実現される。他の局面において、処理の一部又は全部が、回路素子その他のハードウェアによって実行されてもよい。
図12(A)を参照して、テンプレート作成の制御フローについて説明する。ステップS1201において、CPU20は、カメラ8がワーク2を撮影した画像を登録画像として取得する。
ステップS1203において、CPU20は、センサー4およびセンサー10の少なくとも一方から、登録画像に対応する環境パラメータを取得する。
ステップS1205において、CPU20は、作成部310として、登録画像と環境パラメータとを対応付けて、テンプレートとして登録する。
図12(B)を参照して、テンプレートマッチングの制御フローについて説明する。ステップS1210において、CPU20は、カメラ8がワーク2を撮影した画像を入力画像として取得する。
ステップS1220において、CPU20は、センサー4およびセンサー10の少なくとも一方から、入力画像に対応する環境パラメータを取得する。
ステップS1230において、CPU20は、算出部330として、テンプレートマッチングに用いるテンプレートとしての有効度を算出する。
ステップS1240において、CPU20は、決定部340として、ステップS1230で算出したテンプレートの有効度に基づいて、テンプレートマッチングに用いるテンプレートを決定する。
ステップS1260において、CPU20は、マッチング部360として、テンプレートマッチングを行う。
以上のようにして、本実施の形態の画像処理装置100は、入力画像を取得した時の環境条件と近い環境条件で取得したテンプレートを用いてテンプレートマッチングを行うことにより、テンプレートマッチングの精度を安定させることができる。また、複数のテンプレートの中からテンプレートマッチングに用いるテンプレートを選択することで、画像処理装置100の処理速度を向上することができる。
[第2の実施の形態]
以下、第2の実施の形態に従う画像処理装置100Aについて説明する。本実施の形態に従う画像処理装置100Aは、テンプレート毎に条件範囲が対応付けられている点が第1の実施の形態に従う画像処理装置100と異なる。その他の構成は、第1の実施の形態に従う画像処理装置100と同じであるので、説明を繰り返さない。
<機能構成>
図13は、画像処理装置100Aの機能構成の一例を示すブロック図である。図13を参照して、画像処理装置100Aの機能構成について説明する。本実施の形態に従う画像処理装置100Aは、テンプレート毎に条件範囲324が対応付けられている点が第1の実施の形態に従う画像処理装置100と異なる。
本実施の形態に従う画像処理装置100Aにおいては、1つ以上のテンプレートの各々は、環境パラメータについての条件範囲が予め定められている。条件範囲は、テンプレートとしての有効な範囲を表す。
テンプレートリスト320Aは、テンプレート213と、登録環境パラメータ322と、条件範囲324とを含む。画像処理装置100Aの動作モードが登録モードである場合に、作成部310は、作成したテンプレート213と、取得した登録環境パラメータ322と、後述する条件範囲324とを対応付けて、テンプレートリスト320Aとして、補助記憶装置210に格納する。
画像処理装置100Aの動作モードが検査モードである場合に、決定部340は、入力環境パラメータが条件範囲324内にあるテンプレート213をテンプレートマッチングに用いるテンプレートとして決定する。
<データ構造>
図14は、補助記憶装置210に格納されているテンプレートリスト320Aのデータ構造の一例を表す図である。図14を参照して、テンプレートリスト320Aのデータ構造について説明する。
補助記憶装置210は、テンプレートリスト320Aを格納する。テンプレート800は、環境パラメータ810と、測定値820と、条件範囲とが対応付けられる。典型的には、条件範囲は、上限値1430と、下限値1440として定義される。条件範囲324の決め方の詳細は、図15において説明する。
たとえば、図14に示されるようにテンプレート800に対応付けられている環境パラメータは、「照度(Lux)」と、「温度(℃)」と、「WD(Working Distance)(mm)」とを含む。「照度(Lux)」と、測定値「820」と、下限値「650」とは、対応付けられている。「温度(℃)」と、測定値「35」と、上限値「40」と、下限値「22」とは、対応付けられている。「WD(mm)」と、測定値「155.2」と、上限値「155.3」と、下限値「154.8」とは、対応付けられている。
決定部340は、入力環境パラメータが条件範囲324内にあるテンプレート213をテンプレートマッチングに用いるテンプレートとして決定する。たとえば、決定部340は、ワーク2の撮影時の照度が700Luxである場合、テンプレート800をテンプレートマッチングに用いるテンプレートとして決定する。また、決定部340は、ワーク2の撮影時の照度が500Luxである場合、テンプレート800をテンプレートマッチングに用いるテンプレートとして決定しない。
<条件範囲>
図15は、テンプレートの有効な範囲を示す条件範囲を表す図である。図15を参照して、条件範囲の決め方について説明する。図15においては、環境パラメータとしての、照度と温度とが2次元マップで表されている。なお、以下では説明を簡単にするために、環境パラメータとして「照度」および「温度」の2つを用いて条件範囲について説明しているが、条件範囲は、これら2つに限定されない。
図15で示されるように、テンプレート1510が登録されているとする。作成部310は、画像処理装置100Aの動作モードが登録モードである場合、テンプレート1510の安定的な検出結果が得られる範囲(条件範囲)を決定する。作業者は、環境パラメータの値を変動させてワークを撮影する。作成部310は、それにより得られた画像およびテンプレート1510を用いてテンプレートマッチングを行い、テンプレートマッチングに成功したか否かに基づいてテンプレート1510の条件範囲を設定する。
たとえば、作業者は、照度と温度とを変動させてワークの撮影を行う。より具体的には、作業者は、照度を照度L1〜L5の5段階で、温度を温度T1〜T3の3段階で変動させてワークの撮影を行う。これにより、15枚(=5×3段階)の入力画像が作成される。画像処理装置100Aは、テンプレート1510と、15枚の入力画像とを用いてテンプレートマッチングを行う。作成部310は、テンプレートマッチングの結果からテンプレート1510の条件範囲を設定する。
たとえば、点1521〜1524の環境条件で作成した4枚の入力画像において、テンプレートマッチングが成功したとする。また、点1525を含むその他の条件で作成した11枚の入力画像において、テンプレートマッチングが失敗したとする。この場合、作成部310は、テンプレート1510の条件範囲として、点1521〜1524を含む条件範囲1530を設定する。
決定部340は、画像処理装置100Aの動作モードが検査モードに切り替えられた場合、検査画像に対するテンプレート1510をテンプレートマッチングに用いるか否かを条件範囲1530に基づいて決定する。
より具体的には、決定部340は、検査画像に対応付いている環境パラメータが条件範囲1530に含まれる場合に、テンプレート1510を有効なテンプレートとして決定する。また、決定部340は、検査画像に対応付いている環境パラメータが条件範囲1530に含まれない場合に、テンプレート1510を無効なテンプレートとして決定する。
なお、条件範囲は、条件範囲1530のように楕円形に限定されない。たとえば、条件範囲は、長方形領域、分割ブロックを組み合わせた領域、多角形領域、および自由曲線で囲まれた領域のいずれであってもよい。また、条件範囲は、2次元ガウス分布形状とするなど、実際の環境パラメータの項目の分布モデルに則した領域形状にするのが望ましい。
他の局面において、作成部310は、環境パラメータの値を変動して得た複数の画像とテンプレート1510とのテンプレートマッチングの結果の値のばらづきなどが、予め定められた値よりも低くなるようにテンプレート1510の条件範囲を設定する。
さらに他の局面において、テンプレート1510の条件範囲は、ユーザーにより設定可能に構成されてもよい。たとえば、テンプレート1510の条件範囲は、ユーザーが環境パラメータの値の範囲を指定することにより設定される。
<テンプレートの決定>
図16〜18は、2次元マップ上に表されたテンプレートおよび入力画像を示す図である。図16〜18を参照して、複数のテンプレートからマッチングに用いるテンプレートの決定方法について説明する。
図16を参照して、画像処理装置100には、照度と温度とが異なる条件で作成されたテンプレート1601〜1604が登録されている。また、テンプレート1601〜1604には、条件範囲1621〜1624がそれぞれ設定されている。決定部340は、テンプレート1601〜1604のうち、入力画像1600に対応付けられた環境パラメータが条件範囲1621〜1624内にあるテンプレートを、テンプレートマッチングに用いるテンプレートとして決定する。
より具体的には、入力画像1600に対応付けられた環境パラメータは、条件範囲1621に含まれる。このため、決定部340は、テンプレート1601を、テンプレートマッチングに用いるテンプレートとして決定する。入力画像1600に対応付けられた環境パラメータは、条件範囲1622〜1624に含まれない。このため、決定部340は、テンプレート1602〜1604を、テンプレートマッチングに用いるテンプレートとして決定しない。
図17を参照して、入力画像1700に対応付けられた環境パラメータが複数の条件範囲に含まれる場合のテンプレート決定方法について説明する。
入力画像1700に対応付けられた環境パラメータは、条件範囲1621および条件範囲1624に含まれる。このため、決定部340は、テンプレート1601およびテンプレート1604をテンプレート候補として決定する。ある局面において、決定部340は、より優先度の高い1つのテンプレートを決定する。図17においては、入力画像1700とテンプレート1604との距離が、入力画像1700とテンプレート1601との距離よりも近いため、決定部340は、テンプレート1604をテンプレートマッチングに用いるテンプレートとして決定する。
他の局面において、決定部340は、テンプレート候補の中から条件範囲の面積が大きいテンプレートを優先的に決定してもよい。条件範囲の面積が大きいテンプレートは、テンプレートとしての質が良い可能性が高いためである。図17においては、決定部340は、テンプレート1601をテンプレートマッチングに用いるテンプレートとして決定する。
さらに他の局面において、決定部340は、テンプレート候補の中から条件範囲の外円との距離が遠いテンプレートを優先的に決定してもよい。条件範囲の外円との距離が遠いテンプレートは、テンプレートとしての質が良い可能性が高いためである。図17においては、決定部340は、テンプレート1604をテンプレートマッチングに用いるテンプレートとして決定する。
図18を参照して、入力画像1800の環境パラメータがいずれの条件範囲にも含まれない場合について説明する。
図18に示されるように、入力画像1800の環境パラメータは、条件範囲1621〜1624のいずれにも含まれない。この場合に、決定部340は、テンプレートマッチングに用いる最適なテンプレートが存在しないものとして警告を報知する。
たとえば、決定部340は、スピーカー(図示しない)に警告音または音声を出力させることにより警告を報知する。また、決定部340は、表示装置16に警告メッセージを表示させることにより警告を報知してもよい。さらに、決定部340は、ランプ(図示しない)を光らせることにより警告を報知してもよい。これにより、ユーザーは、有効なテンプレートが存在しないことを視覚的にまたは聴覚的に確認することができる。
他の局面において、決定部340が1つもテンプレートを決定しない場合、ユーザーによりテンプレートマッチングに用いるテンプレートを選択できるように構成されてもよい。たとえば、決定部340は、テンプレート1601〜1604のいずれかを選択できるように表示装置16にテンプレート選択画面を表示させてもよい。
(変形例)
ある局面において、決定部340は、テンプレートに対応付けられている作業者の情報に基づいて、テンプレートマッチングに用いるテンプレートを決定してもよい。たとえば、テンプレート登録時に、作業者IDや、作業者毎のピント値がテンプレートに対応付けられる。決定部340は、検査時に、検査を行っている作業者IDと、テンプレートに対応付けられている作業者IDとを比較し、同一の作業者IDを有するテンプレートを優先的に決定する。
これにより、ワークの位置合わせやピント合わせ等のワークの置き方や、ピントの合わせ方などの個人のくせを吸収することができる。このため、テンプレートマッチングの精度を向上することができる。また、テンプレートマッチングの安定性を維持することができる。
以上のようにして、本実施の形態の画像処理装置100Aは、テンプレートとしての有効範囲を表す条件範囲をテンプレートと対応付けて格納する。これにより、より信頼の高いテンプレートを用いてテンプレートマッチングを行うことにより、テンプレートマッチングの精度を安定させることができる。
[第3の実施の形態]
以下、第3の実施の形態に従う画像処理装置100Bについて説明する。本実施の形態に従う画像処理装置100Bは、決定部340がテンプレートマッチングに用いるテンプレートとして複数のテンプレートを決定した場合に複数のテンプレートを合成する点が第1の実施の形態に従う画像処理装置100と異なる。
<ハードウェア構成>
図19は、画像処理装置100Bのハードウェア構成の一例を示すブロック図である。図19を参照して、画像処理装置100Bのハードウェア構成について説明する。本実施の形態に従う画像処理装置100Bは、合成部350を含む点が第1の実施の形態に従う画像処理装置100と異なる。
合成部350は、決定部340がテンプレートマッチングに用いるテンプレートとして複数のテンプレートを決定した場合に、複数のテンプレートを合成する。典型的には、決定部340が複数のテンプレートを決定した場合、合成部350は、複数のテンプレートと対応するそれぞれの有効度に基づいて合成テンプレートを生成する。
マッチング部360は、合成部350により生成された合成テンプレート、およびカメラ8により取得された入力画像を用いてテンプレートマッチングを行う。
<合成テンプレート>
図20は、合成テンプレートの生成方法を示す図である。図20を参照して、合成テンプレートの生成方法について説明する。
決定部340が複数のテンプレートを決定した場合、合成部350は複数のテンプレートを合成して1つの合成テンプレート2050を生成する。たとえば、決定部340は、複数のテンプレートの中から、テンプレート2010〜2040の4つのテンプレートを決定したとする。合成部350は、テンプレート2010〜2040のそれぞれの有効度に基づいて、テンプレート2010〜2040を合成する。
より具体的には、合成部350は、テンプレート2010〜2040のそれぞれの有効度に応じて、テンプレート2010〜1040の濃度値に重み付けをして足し合わせることで合成テンプレート2050を生成する。図20においては、テンプレート2010の有効度は30である。テンプレート2020の有効度は25である。テンプレート2030の有効度は23である。テンプレート2040の有効度は22である。
この場合、合成部350は、テンプレート2010の30%(=30/(30+25+23+22))の濃度を抽出する。また、合成部350は、テンプレート2020の25%(=25/(30+25+23+22))の濃度を抽出する。さらに、合成部350は、テンプレート2030の23%(=23/(30+25+23+22))の濃度を抽出する。さらに、合成部350は、テンプレート2040の22%(=22/(30+25+23+22))の濃度を抽出する。合成部350は、抽出した濃度を足し合わせることで、合成テンプレート2050を生成する。
<テンプレートの更新>
図21は、補助記憶装置210に格納されているテンプレートリスト2100のデータ構造の一例を表す図である。図21を参照して、テンプレートの更新方法について説明する。
ある局面において、作成部310は、合成部350が生成した合成テンプレートを新たなテンプレートリスト2100として、補助記憶装置210に格納する。テンプレートリスト2100は、テンプレート2110と、照度2120と、合成フラグ2130と、元テンプレート2140とを含む。
第1テンプレートと、照度「−0.945」と、合成フラグ「0」とは、対応付けられている。合成フラグ「0」は、合成テンプレートでないことを示す。また、合成フラグ「1」は、合成部350により生成された合成テンプレートであることを示す。第2テンプレートと、照度「1.047159」と、合成フラグ「0」とは、対応付けられている。第3テンプレートと、照度「−0.10216」と、合成フラグ「1」と、元テンプレート「第1テンプレート、第2テンプレート」とは、対応付けられる。元テンプレートは、合成テンプレートを生成する元となったテンプレートを示す。つまり、第3テンプレートは、第1テンプレートおよび第2テンプレートから生成されたことを示す。
合成部350が第1テンプレートおよび第2テンプレートを合成することにより第3テンプレートを生成した場合、作成部310は、第3テンプレートを新たなテンプレートとしてテンプレート1100に追加する。また、作成部310は、第1テンプレートと、第2テンプレートとを「元テンプレート」に追加する。
この場合、作成部310は、元テンプレートに対応付けられた環境パラメータの平均を、合成テンプレートに対応付けられる環境パラメータとしてもよい。他の局面において、作成部310は、元テンプレートに対応付けられた環境パラメータの有効度を重みとして算出した重み付き平均を、合成テンプレートに対応付けられる環境パラメータとしてもよい。
検出結果が良好であった合成テンプレートは、テンプレートとして良質である可能性が高い。このため、検出結果が良好であった合成テンプレートを新たなテンプレートとすることで、マッチング精度を向上させることができる。
<制御フロー>
図22は、画像処理装置100Bが実行する処理の一部を表わすフローチャートである。図22の処理は、CPU201がプログラムを実行することにより実現される。他の局面において、処理の一部又は全部が、回路素子その他のハードウェアによって実行されてもよい。他の局面において、処理の一部又は全部が、回路素子その他のハードウェアによって実行されてもよい。
本実施の形態における画像処理装置の処理フローは、図12に示される処理フローと比べて、ステップS2210を有する点が異なる。その他のステップは、図12に示される処理ステップと同様である。したがって、同様のステップについては説明を繰り返さない。
図22を参照して、ステップS1250において、決定部340がテンプレートを複数決定した場合に、CPU20は、合成部350として、決定された複数のテンプレートを合成して、合成テンプレートを生成する。
ステップS1260において、CPU20は、マッチング部360として、合成テンプレートと入力画像とを用いてテンプレートマッチングを行う。
以上のようにして、本実施の形態の画像処理装置100Bは、複数の有効なテンプレートを合成した合成テンプレートおよび入力画像を用いてテンプレートマッチングを行うことにより、テンプレートマッチングの精度を安定させることができる。また、複数テンプレートを合成した1つの合成テンプレートを用いてテンプレートマッチングを行うことにより、処理速度を向上することができる。
[第4の実施の形態]
以下、第4の実施の形態に従う画像処理装置について説明する。本実施の形態に従う画像処理装置は、テンプレート毎にマッチング手法が対応付けられている点が第1の実施の形態に従う画像処理装置100と異なる。その他の構成は同様であるので、説明を繰り返さない。
図23は、補助記憶装置210に格納されている、テンプレートリスト2300を表す図である。本実施の形態に従う画像処理装置は、テンプレート2310にマッチング手法2330が対応付けられている点が第1の実施の形態に従う画像処理装置100と異なる。
<データ構造>
図23を参照して、補助記憶装置210は、テンプレートリスト2300を格納する。テンプレートリスト2300は、テンプレート2310と、照度2320と、マッチング手法2330とを含む。第1テンプレートと、照度「−0.945」と、マッチング手法「SAD」とは、対応付けられている。第2テンプレートと、照度「1.047159」と、マッチング手法「SAD」とは、対応付けられている。第3テンプレートと、照度「−0.10216」と、マッチング手法「POC」とは、対応付けられている。
マッチング部360は、決定部340により決定されたテンプレートに対応付けられているマッチング手法を用いてテンプレートマッチングを行う。たとえば、決定部340が第2のテンプレートをテンプレートマッチングに用いるテンプレートとして決定した場合に、マッチング部360は、マッチング手法「SAD」によりテンプレートマッチングを行う。
<制御フロー>
図24は、本実施の形態に従う画像処理装置が実行する処理の一部を表わすフローチャートである。図24の処理は、CPU201がプログラムを実行することにより実現される。他の局面において、処理の一部又は全部が、回路素子その他のハードウェアによって実行されてもよい。本実施の形態における画像処理装置の処理フローは、図12に示される処理フローと比べて、ステップS2410を有する点が異なる。その他のステップは、図12に示される処理ステップと同様である。したがって、同様のステップについては説明を繰り返さない。
図24を参照して、ステップS2410において、CPU20は、テンプレートに対応付けられたマッチング手法をテンプレートリスト2300から取得する。ステップS1260において、CPU20は、マッチング部360として、ステップS2410により取得したマッチング手法を用いて、テンプレートマッチングを行う。
以上のようにして、本実施の形態の画像処理装置は、テンプレートとマッチング手法とを対応付けることにより、選択されるテンプレート毎にテンプレートマッチングの手法を切り替えることができる。これにより、テンプレート毎に相性のいいテンプレートマッチングを行うことができる。このため、テンプレートマッチングの精度を向上することができる。また、処理コストが高いマッチング手法を選択しないようにすることで、処理速度を向上することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 画像処理システム、2 ワーク、4 センサー、8 カメラ、10 センサー、12 製造装置、14 搬送機構、16 表示装置、18 マウス、100 画像処理装置、200 バス、201 CPU、202 RAM、203 ROM、204 ネットワークI/F、205 カメラI/F、206 センサーI/F、207 メモリカードI/F、210 補助記憶装置、211 画像処理プログラム、212 入力画像、213 テンプレート、240 入力装置、300 スイッチ、310 作成部、320,320A テンプレートリスト、322 登録環境パラメータ、324 条件範囲、330 算出部、340 決定部、350 合成部、360 マッチング部、410,420 ワーク、510,520 ワーク、511,521 凹凸、610,620 ピント、710A,710B 照明、720A,720B 画像、730A,730B 影、810 環境パラメータ、820 測定値、900 入力画像、901〜904 テンプレート、911〜914 距離、1010,1110 登録画像、1020,1050,1112,1122 振幅情報、1030,1060,1104,1114,1124 位相情報、1070 合成画像、1080 相関画像、1116,1126 相関情報、1430 上限値、1440 下限値、1510 テンプレート、1521〜1525 点、1530 条件範囲、1600,1700,1800 入力画像、1601〜1604 テンプレート、1621〜1624 条件範囲、2010〜2040 テンプレート、2050 合成テンプレート、2100 テンプレートリスト、2110 テンプレート、2120 照度、2130 合成フラグ、2140 元テンプレート、2300 テンプレートリスト、2310 テンプレート、2320 照度、2330 マッチング手法。

Claims (13)

  1. 基準対象物を撮像して得られる特徴量を含むテンプレートを用いて検査対象物についてのマッチング処理を行う画像処理方法であって、
    前記基準対象物の環境パラメータに関連付けられたテンプレートを1つ以上取得して格納するステップを備え、前記基準対象物の環境パラメータは、前記基準対象物を撮像した際の情報、および、前記基準対象物に対して行われた処理の情報の少なくとも一方を含み、さらに
    前記検査対象物を撮像した入力画像と前記検査対象物の環境パラメータとを取得するステップを備え、前記検査対象物の環境パラメータは、前記検査対象物を撮像した際の情報、および、前記検査対象物に対する処理を行った際の情報の少なくとも一方を含み、さらに
    前記1つ以上のテンプレートのそれぞれに関連付けられた環境パラメータと前記入力画像に対応する環境パラメータとに基づいて、前記入力画像に対するテンプレートマッチングに用いるテンプレートとしての有効度を前記1つ以上のテンプレートのそれぞれについて算出するステップと、
    前記1つ以上のテンプレートの有効度に基づいて、前記1つ以上のテンプレートの少なくとも一部を用いて前記入力画像に対してテンプレートマッチングを実行するステップとを備える、画像処理方法。
  2. 前記実行するステップは、前記有効度に基づいて、前記テンプレートマッチングに用いるテンプレートを決定するステップを含む、請求項1に記載の画像処理方法。
  3. 前記決定するステップは、前記有効度がより高い1つのテンプレートを決定するステップを含む、請求項2に記載の画像処理方法。
  4. 前記決定するステップは、前記テンプレートマッチングに用いる複数のテンプレートを決定するステップを含み、
    前記実行するステップは、前記テンプレートマッチングに用いる複数のテンプレートと、前記複数のテンプレートのそれぞれに対応する有効度とに基づいて、前記入力画像との比較対象になるテンプレートを生成するステップをさらに含む、請求項2に記載の画像処理方法。
  5. 前記格納するステップは、前記生成するステップにより生成されたテンプレートを新たなテンプレートとして格納するステップを含む、請求項4に記載の画像処理方法。
  6. 前記1つ以上のテンプレートの各々は、前記環境パラメータについての条件範囲が予め定められており、
    前記決定するステップは、前記1つ以上のテンプレートのうち、前記入力画像に対応する環境パラメータが前記条件範囲内にあるテンプレートから、前記テンプレートマッチングに用いるテンプレートを決定するステップを含む、請求項2〜5のいずれか1項に記載の画像処理方法。
  7. 前記決定するステップにより決定されるテンプレートが1つもない場合に、警告を報知するステップをさらに備える、請求項2〜6のいずれか1項に記載の画像処理方法。
  8. 前記1つ以上のテンプレートの各々と、テンプレートマッチングの手法とは、対応付けられており、
    前記実行するステップは、前記決定するステップにより決定されたテンプレートに対応付けられているテンプレートマッチングの手法を用いてテンプレートマッチングを行うステップを含む、請求項2〜7のいずれか1項に記載の画像処理方法。
  9. 前記格納するステップは、前記入力画像を新たなテンプレートとして格納するステップを含む、請求項1〜8のいずれか1項に記載の画像処理方法。
  10. 前記基準対象物または前記検査対象物を撮像した際に得られる環境パラメータは、照明情報と、温度情報と、湿度情報と、前記基準対象物および前記検査対象物の重量情報と、前記検査対象物の体積情報と、前記基準対象物および前記検査対象物の表面積情報と、ワーキングディスタンスと、撮像者情報との少なくとも1つを含む、請求項1〜9のいずれか1項に記載の画像処理方法。
  11. 前記基準対象物または前記検査対象物に対して行われた処理の情報として得られる環境パラメータは、温度情報と、湿度情報と、前記基準対象物および前記検査対象物の重量情報と、前記基準対象物および前記検査対象物の体積情報と、前記基準対象物または前記検査対象物の表面積情報との少なくとも1つを含む、請求項1〜10のいずれか1項に記載の画像処理方法。
  12. 基準対象物を撮像して得られる特徴量を含むテンプレートを用いて検査対象物についてのマッチング処理を行う画像処理装置であって、
    前記基準対象物の環境パラメータに関連付けられたテンプレートを1つ以上取得して格納するための記憶部を備え、前記基準対象物の環境パラメータは、前記基準対象物を撮像した際の情報、および、前記基準対象物に対して行われた処理の情報の少なくとも一方を含み、さらに
    前記検査対象物を撮像した入力画像と前記検査対象物の環境パラメータとを取得するための取得手段を備え、前記検査対象物の環境パラメータは、前記検査対象物を撮像した際の情報、および、前記検査対象物に対する処理を行った際の情報の少なくとも一方を含み、さらに
    前記1つ以上のテンプレートのそれぞれに関連付けられた環境パラメータと前記入力画像に対応する環境パラメータとに基づいて、前記入力画像に対するテンプレートマッチングに用いるテンプレートとしての有効度を前記1つ以上のテンプレートのそれぞれについて算出するための算出手段と、
    前記1つ以上のテンプレートの有効度に基づいて、前記1つ以上のテンプレートの少なくとも一部を用いて前記入力画像に対してテンプレートマッチングを実行するための実行手段とを備える、画像処理装置。
  13. 基準対象物を撮像して得られる特徴量を含むテンプレートを用いて検査対象物についてのマッチング処理をコンピュータに実行させるためのプログラムであって、
    前記プログラムは、前記コンピュータのプロセッサに、前記基準対象物の環境パラメータに関連付けられたテンプレートを1つ以上取得するステップを実行させ、前記基準対象物の環境パラメータは、前記基準対象物を撮像した際の情報、および、前記基準対象物に対して行われた処理の情報の少なくとも一方を含み、さらに
    前記プログラムは、前記コンピュータのプロセッサに、前記検査対象物を撮像した入力画像と前記検査対象物の環境パラメータとを取得するステップを実行させ、前記検査対象物の環境パラメータは、前記検査対象物を撮像した際の情報、および、前記検査対象物に対する処理を行った際の情報の少なくとも一方を含み、さらに
    前記プログラムは、前記コンピュータのプロセッサに、前記1つ以上のテンプレートのそれぞれに関連付けられた環境パラメータと前記入力画像に対応する環境パラメータとに基づいて、前記入力画像に対するテンプレートマッチングに用いるテンプレートとしての有効度を前記1つ以上のテンプレートのそれぞれについて算出するステップと、
    前記1つ以上のテンプレートの有効度に基づいて、前記1つ以上のテンプレートの少なくとも一部を用いて前記入力画像に対してテンプレートマッチングを実行するステップとを実行させる、画像処理プログラム。
JP2013081292A 2013-04-09 2013-04-09 画像処理装置、画像処理方法、および画像処理プログラム Pending JP2014203390A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013081292A JP2014203390A (ja) 2013-04-09 2013-04-09 画像処理装置、画像処理方法、および画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013081292A JP2014203390A (ja) 2013-04-09 2013-04-09 画像処理装置、画像処理方法、および画像処理プログラム

Publications (1)

Publication Number Publication Date
JP2014203390A true JP2014203390A (ja) 2014-10-27

Family

ID=52353747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013081292A Pending JP2014203390A (ja) 2013-04-09 2013-04-09 画像処理装置、画像処理方法、および画像処理プログラム

Country Status (1)

Country Link
JP (1) JP2014203390A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109571463A (zh) * 2017-09-29 2019-04-05 精工爱普生株式会社 编码器、机器人和打印机

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003319388A (ja) * 2003-04-04 2003-11-07 Canon Inc 画像処理方法及び装置
JP2004151771A (ja) * 2002-10-28 2004-05-27 Earth Beat Inc 画像中の物体認識方法
JP2004257924A (ja) * 2003-02-27 2004-09-16 Nissan Motor Co Ltd 対象物検出装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151771A (ja) * 2002-10-28 2004-05-27 Earth Beat Inc 画像中の物体認識方法
JP2004257924A (ja) * 2003-02-27 2004-09-16 Nissan Motor Co Ltd 対象物検出装置
JP2003319388A (ja) * 2003-04-04 2003-11-07 Canon Inc 画像処理方法及び装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
松田 耕平、外2名: ""姿勢の変化を考慮した高精度な歩行者追跡に関する考察"", 映像情報メディア学会技術報告, vol. 29, no. 8, JPN6017002165, 3 February 2005 (2005-02-03), JP, pages 29 - 34, ISSN: 0003486806 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109571463A (zh) * 2017-09-29 2019-04-05 精工爱普生株式会社 编码器、机器人和打印机
CN109571463B (zh) * 2017-09-29 2022-12-16 精工爱普生株式会社 编码器、机器人和打印机

Similar Documents

Publication Publication Date Title
US11164001B2 (en) Method, apparatus, and system for automatically annotating a target object in images
US8897539B2 (en) Using images to create measurements of structures through the videogrammetric process
JP6304244B2 (ja) 3次元形状計測装置、3次元形状計測方法及び3次元形状計測プログラム
JP2010511212A5 (ja)
JP2017198671A (ja) 画像処理装置および画像処理方法
JP2011090374A (ja) 画像処理装置、画像処理方法、および、画像処理プログラム
JP2015203652A (ja) 情報処理装置および情報処理方法
WO2021052121A1 (zh) 一种基于激光雷达和摄像头的物体识别方法和装置
JP6684475B2 (ja) 画像処理装置、画像処理方法及びプログラム
WO2014203687A1 (ja) 画像処理方法、画像処理装置、および画像処理プログラム
US10984566B2 (en) Image processing apparatus that calculates using luminance values of one or more input images produced by photoelectric conversion of multiple polarized lights, image-capturing apparatus and image processing method
WO2019232793A1 (zh) 双摄像头标定方法、电子设备、计算机可读存储介质
JP2016212784A (ja) 画像処理装置、画像処理方法
CN111882657A (zh) 三维重建的尺度恢复方法、装置、系统和计算机设备
JP6564136B2 (ja) 画像処理装置、画像処理方法、および、プログラム
JP2020008502A (ja) 偏光ステレオカメラによる深度取得装置及びその方法
JP6246441B1 (ja) 画像解析システム、画像解析方法、およびプログラム
JP2014203390A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP5769248B2 (ja) ステレオマッチング処理装置、ステレオマッチング処理方法、及び、プログラム
US9721371B2 (en) Systems and methods for stitching metallographic and stereoscopic images
JP2018014572A (ja) 情報処理装置、画像処理システム、プログラム
KR101598399B1 (ko) 로드뷰 사진이미지의 좌표정보를 이용한 자동 이미지 합성 시스템
JP2023538706A (ja) 歪み測定を行うための融合ベースのデジタル画像相関フレームワーク
JP2010281754A (ja) 生成装置、検査装置、プログラムおよび生成方法
JP6969739B2 (ja) 位置情報取得システム、位置情報取得方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160331

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171003