JPWO2014203687A1 - 画像処理方法、画像処理装置、および画像処理プログラム - Google Patents
画像処理方法、画像処理装置、および画像処理プログラム Download PDFInfo
- Publication number
- JPWO2014203687A1 JPWO2014203687A1 JP2015522696A JP2015522696A JPWO2014203687A1 JP WO2014203687 A1 JPWO2014203687 A1 JP WO2014203687A1 JP 2015522696 A JP2015522696 A JP 2015522696A JP 2015522696 A JP2015522696 A JP 2015522696A JP WO2014203687 A1 JPWO2014203687 A1 JP WO2014203687A1
- Authority
- JP
- Japan
- Prior art keywords
- image
- size
- image processing
- template
- calculation
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
- G06V10/431—Frequency domain transformation; Autocorrelation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
テンプレートマッチングの演算量が少なくなる画像サイズに基づいてテンプレートマッチングを行うことにより、テンプレートマッチング処理を高速化する画像処理方法、画像処理理装置、および画像処理プログラムを提供する。当該画像処理方法は、基準となる目的の対象物を撮像することで得られた登録画像に対する領域の設定を受付けること(520)と、受付けた領域のサイズを基準とする予め定められた範囲の画像サイズの中から、画像サイズに予め対応付けられたマッチング処理の演算量が相対的に少なくなる画像サイズを決定すること(540)と、決定された画像サイズの領域の情報に基づいてテンプレートを登録画像から生成すること(550)とを含む。
Description
本開示は、テンプレートを用いてマッチング処理を行う画像処理方法、画像処理装置、および画像処理プログラムに関する。
FA(Factory Automation)分野において、ワークなどの検査対象物の欠陥等を光学的に検査することで、工場などにおける生産工程を自動化する技術が開発されている。光学的に検査を行う技術の1つとして、テンプレートマッチングという技術がある。
テンプレートマッチングは、予め登録されたテンプレートと一致する領域を入力画像から探索するための技術である。FA分野においては、基準となるワークを撮影して取得した画像がテンプレートとして用いられる。FA分野における画像処理装置は、当該テンプレートと、ワークなどの検査対象物を撮影して得られる入力画像とを用いてテンプレートマッチングを行う。これにより、ワークの欠陥等を自動的に検査することができる。
近年、テンプレートマッチングの精度を保ちつつ処理速度を向上するための技術が開発されている。たとえば、特開2000−3444号公報(特許文献1)は、「演算量が少ない相関係数の算出方法を考案することにより、パターンの空間周波数による制限を受けず、かつ、高速度の処理が求められる用途にも適用」するために、「観測画像および参照画像に対して所定幅の一定値(具体的には0)の領域を付加して、画像の縦、横のサイズを2の階乗画素とする前処理を施すことにより、観測画像及び参照画像のフーリエ変換結果の積(クロスパワースペクトル)を逆フーリエ変換する」技術を開示している([要約])。
ところで、高速フーリエ変換(FFT:Fast Fourier Transform)等のフーリエ変換は、縦横サイズが2の階乗である画像を用いると高速に処理できることが知られている。特許文献1が開示している技術は、テンプレートマッチングの処理速度を向上するために、テンプレートマッチングに用いる観測画像および参照画像に所定幅を付加(パディング)して、画像の縦横サイズを2の階乗にする。しかしながら、このように画像の縦横サイズを2の階乗にパディングすることで演算時間が逆に増加することがある。
したがって、マッチング処理の演算量が相対的に少なくなる画像サイズに基づいてマッチング処理を行う技術が必要とされている。
この開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、テンプレートマッチングの演算量が少なくなる画像サイズに基づいてテンプレートマッチングを行うことにより、テンプレートマッチング処理を高速化する方法、装置、およびプログラムを提供することである。
一実施の形態に従うと、テンプレートを用いてマッチング処理を行う画像処理方法が提供される。当該画像処理方法は、基準となる目的の対象物を撮像することで得られた登録画像に対する領域の設定を受付けることと、受付けた領域のサイズを基準とする予め定められた範囲の画像サイズの中から、画像サイズに予め対応付けられたマッチング処理の演算量が相対的に少なくなる画像サイズを決定することと、決定された画像サイズの領域の情報に基づいてテンプレートを登録画像から生成することとを含む。
好ましくは、決定することは、受付けた領域のサイズを基準とする予め定められた範囲の画像サイズの中から、マッチング処理の演算量が最小となる画像サイズを決定することを含む。
好ましくは、決定することは、受付けた領域のサイズの縦幅よりも小さい縦幅の画像サイズを決定することを含む。
好ましくは、決定することは、受付けた領域のサイズの横幅よりも小さい横幅の画像サイズを決定することを含む。
好ましくは、決定された画像サイズの領域の中心は、受付けた領域の中心に一致する。
好ましくは、生成することは、決定された画像サイズ同様のサイズの外枠と、外枠の内側にある内枠とに挟まれる登録画像上の領域の変動度合いが相対的に小さくなるように、登録画像からテンプレートを生成することを含む。
好ましくは、生成することは、決定された画像サイズ同様のサイズの外枠と、外枠の内側にある内枠とに挟まれる登録画像上の領域の変動度合いが相対的に小さくなるように、登録画像からテンプレートを生成することを含む。
好ましくは、決定することは、画像サイズに対応する演算量が未知の場合に、当該画像サイズを基準とする予め定められた範囲の画像サイズにそれぞれ対応付けられた既知の演算量に基づいて当該画像サイズに対応する演算量を推定することを含む。
好ましくは、演算量は、マッチング処理の全部または一部の実測された演算時間である。
好ましくは、演算量は、画像サイズと、マッチング処理の計算量とに基づいて定められる。
好ましくは、マッチング処理は、検査対象物を撮像することで得られた入力画像から検査対象物の位置を検出する処理を含む。演算量は、位置を検出するのにかかる時間に基づいて定められる。
好ましくは、演算量は、マッチング処理におけるフーリエ変換にかかる時間に基づいて定め得られる。
好ましくは、当該画像処理方法は、画像サイズに予め対応付けられた演算量を更新することをさらに含む。
他の実施の形態に従うと、テンプレートを用いてマッチング処理を行う画像処理装置が提供される。当該画像処理装置は、基準となる目的の対象物を撮像することで得られた登録画像に対する領域の設定を受付けるための受付部と、受付けた領域のサイズを基準とする予め定められた範囲の画像サイズの中から、画像サイズに予め対応付けられたマッチング処理の演算量が相対的に少なくなる画像サイズを決定するための決定部と、決定された画像サイズの領域の情報に基づいてテンプレートを登録画像から生成するための生成部とを含む。
好ましくは、画像処理装置は、画像サイズと、マッチング処理の演算量との関係を規定するテーブルを格納するための記憶部をさらに備える。決定部は、テーブルを参照して、マッチング処理の演算量が相対的に少なくなる画像サイズを決定するように構成されている。
さらに他の実施の形態に従うと、テンプレートを用いてマッチング処理をコンピュータに実行させるためのプログラムが提供される。当該プログラムは、コンピュータに、基準となる目的の対象物を撮像することで得られた登録画像に対する領域の設定を受付けることと、受付けた領域のサイズを基準とする予め定められた範囲の画像サイズの中から、画像サイズに予め対応付けられたマッチング処理の演算量が相対的に少なくなる画像サイズを決定することと、決定された画像サイズの領域の情報に基づいてテンプレートを登録画像から生成することとを実行させる。
ある局面において、マッチング処理の演算量が相対的に少なくなる画像サイズに基づいてマッチング処理を行うことにより、テンプレートマッチングの処理を高速化することができる。
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
以下、図面を参照しつつ、本実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
<全体装置構成>
図1は、本実施の形態に従う画像処理装置100を含む画像処理システム1の全体構成を示す概略図である。図1を参照して、画像処理システム1は、たとえば、検査対象物(以下、「ワーク」ともいう。)の欠陥や汚れの有無を光学的に検査する。より具体的には、画像処理システム1は、生産ラインなどに組み込まれ、予め登録されたテンプレートを用いて、ワーク2を撮影して取得した画像とテンプレートマッチングを行う。
図1は、本実施の形態に従う画像処理装置100を含む画像処理システム1の全体構成を示す概略図である。図1を参照して、画像処理システム1は、たとえば、検査対象物(以下、「ワーク」ともいう。)の欠陥や汚れの有無を光学的に検査する。より具体的には、画像処理システム1は、生産ラインなどに組み込まれ、予め登録されたテンプレートを用いて、ワーク2を撮影して取得した画像とテンプレートマッチングを行う。
画像処理システム1は、カメラ8と、製造装置12と、搬送機構14と、表示装置16と、マウス18と、画像処理装置100とを含む。
製造装置12は、ワーク2を製造するための装置である。たとえば、ワーク2は、回路基板などの機械部品である。ワーク2は、製造装置12により製造されるとベルトコンベアなどの搬送機構14によって搬送される。搬送されたワーク2は、カメラ8により所定のタイミングで撮影される。カメラ8により得られた画像は、画像処理装置100へ伝送される。
画像処理装置100は、テンプレートの登録処理を行うための登録モードと、ワーク2に対して検査を実行する検査モードとを有する。ユーザーは、マウス18などの入力装置により、検査モードおよび登録モードを交互に切り替えることができる。
登録モードにおいて、画像処理装置100は、基準となる目的のワーク2を撮影することで得られた画像(以下、「登録画像」ともいう。)からテンプレート画像を作成する。検査モードにおいて、画像処理装置100は、ワーク2などの検査対象物を撮像することで得られた画像(以下、「入力画像」ともいう。)とテンプレート画像とを用いてテンプレートマッチングを行う。これにより、画像処理システム1は、ワーク2の欠陥等を自動的に検査する。
<機能構成>
図2は、画像処理装置100の機能構成の一例を示すブロック図である。図2を参照して、画像処理装置100の機能構成の概要を説明する。
図2は、画像処理装置100の機能構成の一例を示すブロック図である。図2を参照して、画像処理装置100の機能構成の概要を説明する。
画像処理装置100は、演算量情報230と、領域設定部520と、決定部540と、テンプレート画像生成部550とを含む。
領域設定部520は、登録画像に対する領域の設定を受付ける。たとえば、ユーザーは、表示装置16に表示された登録画像に対して、マウス18等の入力装置を用いて領域の設定を行う。領域設定部520は、ユーザーが登録画像に対して設定した領域(以下、「設定領域」ともいう。)を、決定部540に出力する。設定領域の詳細については後述する。
決定部540は、設定領域のサイズを基準とする予め定められた範囲の画像サイズの中から、画像サイズに予め対応付けられたテンプレートマッチング処理の演算量が相対的に少なくなる画像サイズ(以下、「決定サイズ」ともいう。)を決定する。たとえば、画像サイズに予め対応付けられたテンプレートマッチング処理の演算量は、演算量情報230において規定される。決定部540は、設定領域と演算量情報230とから画像サイズを決定し、当該画像サイズをテンプレート画像生成部550に出力する。
典型的には、演算量情報230は、画像サイズとテンプレートマッチングとの演算量の関係を表すテーブルとして定義される。テーブルの詳細については後述する。また、演算量情報230は、画像サイズとテンプレートマッチングとの演算量の関係を表す近似式として定義されてもよい。近似式の詳細については後述する。
テンプレート画像生成部550は、決定部540が決定した画像サイズの領域の情報に基づいて登録画像413からテンプレート画像を生成する。典型的には、テンプレート画像生成部550は、決定部540が決定した画像サイズで登録画像413からテンプレート画像を切り出す。画像処理装置100は、当該テンプレート画像と、入力画像とを用いてテンプレートマッチングを行う。
図3は、画像サイズとテンプレートマッチングの演算量との関係を示す図である。図3を参照して、画像処理装置100における処理の概要について説明する。
演算量情報230の縦軸(演算量)は、テンプレートマッチング処理の全部または一部の演算量を表す。たとえば、演算量は、テンプレートマッチング処理の全部または一部の実測された演算時間として表される。
演算量情報230の横軸(画像サイズ)は、テンプレートマッチング処理に用いられる画像の縦横のサイズを表す。図3で示されるように、テンプレートマッチングの演算量は、画像の縦横のサイズに比例して増加しない。
たとえば、点101におけるテンプレートマッチングの演算量は約4.2である。点101よりも画像サイズが大きい点102におけるテンプレートマッチングの演算量は約2.1である。このように、テンプレートマッチングに用いる画像サイズが大きくなっているにも関わらず演算量が減少することがある。
また、テンプレートマッチングにFFTを用いる場合、縦横サイズが2の階乗である画像を用いると高速に処理できることが知られている。このため、登録画像の縦横サイズを2の階乗にパディングしてテンプレートマッチングを行うことがよくなされる。しかしながら、単純に画像をパディングしてFFTを行うと、演算量が増加することがある。
たとえば、点110において示されるように、画像サイズが130×130の場合に演算量は、約0.8である。点110における画像を2の階乗にパディングすると、画像サイズが256×256(256=2の8乗)になる。点111において示されるように、画像サイズが256×256の場合に演算量は、約1.4である。このように、縦横サイズをパディングして2の階乗することにより、演算量が増加することがある。
このように演算量が増加しないように、画像処理装置100は、テンプレートマッチングの演算量が少なくなるような適切な画像サイズを決定し、当該画像サイズの領域の情報に基づいてテンプレート画像を登録画像から生成する。
より具体的には、決定部540は、設定領域を基準とする予め定められた範囲の画像サイズの中から、画像サイズに予め対応付けられたテンプレートマッチング処理の演算量が相対的に少なくなる画像サイズを、演算量情報230を参照して決定する。
たとえば、決定部540は、設定領域が232×232(点120)である場合に、点120を基準とする予め定められた範囲121の画像サイズの中から、テンプレートマッチング処理の演算量が相対的に少なくなる画像サイズを決定する。この場合、図3に示されるように、決定部540は、演算量が一番少ない224×224(点124)をテンプレート画像のサイズとして決定する。テンプレート画像生成部550は、サイズが224×224(点124)であるテンプレート画像を登録画像から切り出して生成する。
また、決定部540は、サイズが224×224(点124)のテンプレート画像を用いて行ったテンプレートマッチングの結果が良好でない場合には、演算量が点124の次に少ない点125をテンプレート画像のサイズとして決定してもよい。
なお、画像処理装置100は、設定領域のサイズよりも小さい画像サイズを決定する場合もあれば、設定領域のサイズよりも大きい画像サイズを決定し得ることは言うまでもない。
画像処理装置100は、演算量が相対的に少ない画像サイズのテンプレート画像と入力画像とを用いてテンプレートマッチングを行うことにより、テンプレートマッチング処理の演算量が少なくなり、テンプレートマッチングの処理を高速化することが可能になる。
<ハードウェア構成>
図4は、画像処理装置100のハードウェア構成の一例を示すブロック図である。図4を参照して、画像処理装置100のハードウェア構成について説明する。
図4は、画像処理装置100のハードウェア構成の一例を示すブロック図である。図4を参照して、画像処理装置100のハードウェア構成について説明する。
図4を参照して、画像処理装置100は、主として、汎用的なアーキテクチャーを有するコンピューター上に実装される。画像処理装置100は、主たるコンポーネントとして、CPU(Central Processing Unit)401と、RAM(Random Access Memory)402と、ROM(Read Only Memory)403と、ネットワークインターフェイス(I/F)404と、カメラインターフェイス(I/F)405と、メモリーカードインターフェイス(I/F)407と、補助記憶装置410とを含む。カメラ8と、表示装置16と、入力装置440とは、画像処理装置100に接続される。各コンポーネントは、バス400を介して、互いに通信可能に接続されている。
CPU401は、ROM403や補助記憶装置410などに格納された、オペレーティングシステム(OS:Operating System)や画像処理プログラムなどの各種プログラムを実行することで、画像処理装置100の全体を制御する。
RAM402は、CPU401でプログラムを実行するためのワーキングメモリとして機能し、プログラムの実行に必要な各種データを一次的に格納する。
ROM403は、画像処理装置100において起動時に実行される初期プログラム(ブートプログラム)などを格納する。
ネットワークI/F404は、各種の通信媒体を介して、他の装置(サーバ装置など)とデータをやり取りする。より具体的には、ネットワークI/F404は、イーサネット(登録商標)などの有線回線(LAN(Local Area Network)やWAN(Wide Area Network)など)、および/または、無線LANなどの無線回線を介してデータ通信を行なう。
カメラI/F405は、CPU401とカメラ8とのデータ通信を仲介する。たとえば、カメラI/F405は、画像バッファを含み、カメラ8から伝送される登録画像および入力画像のデータを一旦蓄積する。カメラI/F405は、少なくとも1コマ分の入力画像のデータが蓄積されると、その蓄積されたデータを補助記憶装置410またはROM403へ転送する。また、カメラI/F405は、CPU401が発生した内部コマンドに従って、カメラ8に対して撮像指令を与える。
メモリーカードI/F407は、SD(Secure Digital)カードやCF(Compact Flash(登録商標))カードなどの各種メモリーカード(不揮発性記憶媒体)330との間で、データの読み書きを行なう。典型的には、メモリーカードI/F407には、何らかの装置で取得した入力画像を格納したメモリーカード430が装着され、そのメモリーカード430から読み出された入力画像が補助記憶装置410へ格納される。
補助記憶装置410は、典型的には、ハードディスクなどの大容量磁気記憶媒体などを含む。補助記憶装置410は、本実施の形態に従う各種を実現するための画像処理プログラム411と、入力画像412と、登録画像413と、テーブル414とを格納する。さらに、補助記憶装置410には、オペレーティングシステムなどのプログラムが格納されてもよい。テーブル414の詳細については後述する。
画像処理装置100本体はワークを撮像する機能を有していなくてもよく、デジタルカメラに類似した機構を用いて入力画像および登録画像を取得し、これら画像を任意の方法で画像処理装置100へ入力するようにしてもよい。より具体的には、ネットワークI/F404やメモリーカードI/F407を介して、これらの画像が画像処理装置100へ入力される。
補助記憶装置410に格納される画像処理プログラム411は、CD−ROM(Compact Disk-Read Only Memory)などの記憶媒体に格納されて流通し、あるいは、ネットワークを介してサーバ装置などから配信される。画像処理プログラム411は、画像処理装置100で実行されるオペレーティングシステムの一部として提供されるプログラムモジュールのうち必要なモジュールを、所定のタイミングおよび順序で呼出して処理を実現するようにしてもよい。この場合、画像処理プログラム411自体には、オペレーティングシステムによって提供されるモジュールは含まれず、オペレーティングシステムと協働して画像処理が実現される。
また、画像処理プログラム411は、単体のプログラムではなく、何らかのプログラムの一部に組込まれて提供されてもよい。このような場合にも、画像処理プログラム411自体には、当該何らかのプログラムにおいて共通に利用されるようなモジュールは含まれず、当該何らかのプログラムと協働して画像処理が実現される。このような一部のモジュールを含まない画像処理プログラム411であっても、本実施の形態に従う画像処理装置100の趣旨を逸脱するものではない。さらに、画像処理プログラム411によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。
本実施の形態に従う画像処理装置100は、リアルタイムに処理を行わなくてもよい。たとえば、画像処理装置100は、少なくとも1つのサーバ装置が本実施の形態に従う処理を実現する、いわゆるクラウドサービスのような形態であってもよい。この場合、ユーザーが、自身の端末を用いて入力画像412および登録画像413をサーバ装置(クラウド側)へ送信する。サーバ装置は、当該送信された入力画像412および登録画像413に対して、装置側が本実施の形態に従う画像処理を行う。さらに、サーバ装置側がすべての機能(処理)を行なう必要はなく、ユーザー側の端末とサーバ装置とが協働して、本実施の形態に従う画像処理を実現するようにしてもよい。
表示装置16は、オペレーティングシステムが提供するGUI(Graphical User Interface)画面や画像処理プログラム411の実行によって生成される画像などを表示する。
入力装置440は、典型的には、キーボード、マウス、タッチパネルなどからなる。入力装置440は、ユーザーから受付けた指示の内容をCPU401などへ出力する。
<全体概要>
以下、第1〜第5の実施の形態について順に説明する。第1〜第5の実施の形態に従う画像処理装置のハードウェア構成は、上述のハードウェア構成と同様である。したがって、ハードウェア構成の説明については繰り返さない。
以下、第1〜第5の実施の形態について順に説明する。第1〜第5の実施の形態に従う画像処理装置のハードウェア構成は、上述のハードウェア構成と同様である。したがって、ハードウェア構成の説明については繰り返さない。
なお、第1〜第5の実施の形態において示した特徴的な構成は、本発明の趣旨を逸脱しない範囲で当然に相互にその組み合わせが可能である。
[第1の実施の形態]
<機能構成>
図5は、第1の実施の形態に従う画像処理装置100の機能構成の一例を示すブロック図である。図5を参照して、画像処理装置100の機能構成について説明する。
<機能構成>
図5は、第1の実施の形態に従う画像処理装置100の機能構成の一例を示すブロック図である。図5を参照して、画像処理装置100の機能構成について説明する。
画像処理装置100は、補助記憶装置410と、領域設定部520と、決定部540と、テンプレート画像生成部550と、位置姿勢検出部560とを含む。補助記憶装置410は、登録画像413と、テーブル414と、登録画像413に対応付けられた領域536とを有する。
画像処理装置100は、動作モードとして、テンプレート登録処理を行うための登録モードと、ワーク2に対して検査を実行する検査モードとを有する。ユーザーは、入力装置440により登録モードおよび検査モードを切り替えることができる。検査モードが切り替えられえると、スイッチ500が切り替わる。典型的には、登録モードはオフラインで実行され、検査モードはオンラインで実行される。以下、登録モードおよび検査モードについて説明する。
(登録モード)
画像処理装置100の動作モードが登録モードである場合、カメラ8は、ワークを撮影することで得られた登録画像を補助記憶装置410と、領域設定部520とに出力する。
画像処理装置100の動作モードが登録モードである場合、カメラ8は、ワークを撮影することで得られた登録画像を補助記憶装置410と、領域設定部520とに出力する。
領域設定部520は、登録画像に対する領域の設定を受付ける。たとえば、ユーザーは、表示装置16に表示された登録画像に対して、マウス18等の入力装置を用いて、領域の設定を行う。領域の設定の詳細については後述する。領域設定部520は、ユーザーが登録画像に対して設定した領域536(設定領域)を当該登録画像と対応付けて補助記憶装置410に格納する。
画像サイズと、テンプレートマッチングの演算量とが対応付けられたテーブル414が、補助記憶装置410に格納される。テーブル414の詳細については後述する。
(検査モード)
画像処理装置100は、動作モードが検査モードである場合に、テンプレートマッチングを実行する。
画像処理装置100は、動作モードが検査モードである場合に、テンプレートマッチングを実行する。
決定部540は、上述したように、設定領域のサイズを基準とする予め定められた範囲の画像サイズの中から、画像サイズに予め対応付けられたテンプレートマッチング処理の演算量が相対的に少なくなる画像サイズ(決定サイズ)を決定する。より具体的には、決定部540は、設定領域のサイズを基準としてテーブル414の予め定められた範囲を参照し、テンプレートマッチング処理の演算量が最小になる画像サイズ(決定サイズ)を決定する。決定サイズの詳細については後述する。決定サイズをテンプレート画像生成部550に出力する。
テンプレート画像生成部550は、決定部540が決定した画像サイズの領域の情報に基づいて登録画像413からテンプレート画像を生成する。典型的には、テンプレート画像生成部550は、決定部540が決定した画像サイズで登録画像413からテンプレート画像を切り出す。テンプレート画像生成部550は、テンプレート画像を位置姿勢検出部560に出力する。
また、テンプレート画像生成部550は、テンプレート画像の中心が、設定領域の中心と一致するようにテンプレート画像を切り出す。ユーザーが設定する設定領域は、登録対象物を中心に設定する可能性が高い。このため、設定領域の中心およびテンプレート画像の中心を一致させることで、登録対象物が写っている必要な部分を残す可能性が高くなる。さらに、テンプレート画像生成部550は、複数枚の画像を平均する等の統計処理を行うことにより、1枚のテンプレート画像を生成してもよい。
カメラ8は、当該カメラ8が検査対象物のワーク2を撮影することで得られたれ入力画像を位置姿勢検出部560に出力する。位置姿勢検出部560は、カメラ8から出力される入力画像と、テンプレート画像生成部550により出力されるテンプレート画像とを用いてテンプレートマッチングを行う。
典型的には、位置姿勢検出部560は、回転不変位相限定相関(RIPOC:Rotation Invariant Phase Only Correlation)によりテンプレートマッチングを行う。位置姿勢検出部560は、テンプレートと一致する領域を入力画像から探索し、登録画像に含まれるワーク2に対する、入力画像に含まれるワーク2の移動量、回転量を出力する。RIPOC処理の詳細については後述する。
なお、テンプレートマッチングの手法は、RIPOCに限定されない。たとえば、位置姿勢検出部560は、テンプレートマッチングの手法として、位相限定相関法(POC:Phase Only Correlation)、フーリエメリン変換を用いたマッチング処理などのいずれかを用いてもよい。
フーリエメリン変換を用いたマッチング処理は、「Symmetric Phase-Only Matched Filtering of Fourier-Mellin Transforms for Image Registration and Recognition, IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL.I6, NO.12, DECEMBER 1994」に詳細に記載されている。
また、周波数情報を利用したマッチングの手法として、「画像信号処理と画像パターン認識の融合−DCT符号限定相関とその応用、貴家仁志 首都大学東京 システムデザイン学部、動的画像処理実利用化ワークショップ2007(2007.3.8ー9)」に記載の手法を用いてもよい。
<設定領域>
図6は、登録画像上の設定領域を表す図である。図6を参照して、設定領域の詳細について説明する。
図6は、登録画像上の設定領域を表す図である。図6を参照して、設定領域の詳細について説明する。
図6に示されるように、ワーク2等の登録対象物601が登録画像413に写っている。上述したように、領域設定部520は、登録画像413に対する領域の設定を受付ける。ユーザーは、表示装置16に表示された登録画像413を確認しながら、登録対象物601を囲うことにより領域を設定する。たとえば、ユーザーは、登録対象物601を領域536のような四角で囲う。なお、領域536の形は、四角形に限定されない。たとえば、円形、楕円形、多角形、およびその他形状のいずれかであってもよい。
ユーザーが設定した領域536は、登録画像413と対応付けられて補助記憶装置410に格納される。典型的には、領域536は、登録画像413における座標値として格納される。
このように、ユーザーがテンプレートマッチング処理に用いる登録画像上の領域を視覚的に確認して設定することにより、登録対象物601を含まない余分な領域を排除することができる。これにより、テンプレートマッチングの精度を上げることができ、さらにテンプレートマッチング処理を高速化することができる。
<テーブル>
図7は、テーブル414のデータ構造を示す図である。図7を参照して、テーブル414のデータ構造について説明する。
図7は、テーブル414のデータ構造を示す図である。図7を参照して、テーブル414のデータ構造について説明する。
テーブル414において、画像サイズと、テンプレートマッチングの演算量との関係が規定される。典型的には、テーブル414は、画像の縦横サイズとテンプレートマッチングの演算量とを規定する2次元のテーブルとして構成される。
図7に示されるように、テーブル414において、画像の横幅701〜707および画像縦幅710〜716に対応するテンプレートマッチングの演算量が規定される。たとえば、横幅が126画素(横幅702)であり、縦幅が126画素(縦幅711)である画像に対する演算量は3である。横幅が128画素(横幅704)であり、縦幅が126画素(縦幅711)である画像に対する演算量は2である。
典型的には、演算量は、テンプレートマッチングにかかる演算時間を指数化したものである。演算時間は、複数のサイズの画像に対してテンプレートマッチングを所定のパソコンで実際に行うことにより実測される。画像処理装置100は、各画像のサイズと、各画像に対するテンプレートマッチングの演算時間を指数化したものとを対応付けてテーブル414として格納する。
なお、演算時間は、テンプレートマッチング処理の全部の演算時間である必要はなく、テンプレートマッチング処理の一部の演算時間であってもよい。たとえば、演算時間は、入力画像から検査対象物の位置を検出する、テンプレートマッチングにおけるRIPOCにかかる時間として定められる。
さらに、演算量は、RIPOCにおけるフーリエ変換を元に指数化したものであってもよい。2次元の離散フーリエ変換(DFT:discrete Fourier transform)は1次元のDFTを2ステージで適用することで実現できる。このため、テーブル414は、1次元のDFTの実行時間を指数化したものを格納した1次元のテーブルとして構成される得る。たとえば、M×Nのサイズの画像に対してDFTを行う場合、演算量は、サイズMの1次元のDFTの演算量とサイズNの1次元のDFTの演算量の和として出力される。
<近似式>
演算量は、テーブルではなく近似式で定義されてもよい。たとえば、演算量は、画像サイズと、計算量とから算出されてもよい。このとき、理論式が用いられる。サイズNの1次元のDFTはCooley-Turkyのアルゴリズムを使えば、O(NΣni)の計算量で計算できることが一般に知られている。このため、演算量は、O(NΣni)(niはNを素因数分解したときの各素数)を1次元のDFTの演算量として定義されてもよい。
演算量は、テーブルではなく近似式で定義されてもよい。たとえば、演算量は、画像サイズと、計算量とから算出されてもよい。このとき、理論式が用いられる。サイズNの1次元のDFTはCooley-Turkyのアルゴリズムを使えば、O(NΣni)の計算量で計算できることが一般に知られている。このため、演算量は、O(NΣni)(niはNを素因数分解したときの各素数)を1次元のDFTの演算量として定義されてもよい。
<決定サイズ>
図7を再び参照して、決定サイズについて説明する。決定部540は、設定領域のサイズを基準とするテーブル414内の予め定められた範囲の画像サイズの中からテンプレートマッチング処理の演算量が相対的に少なくなる画像サイズ(決定サイズ)を決定する。
図7を再び参照して、決定サイズについて説明する。決定部540は、設定領域のサイズを基準とするテーブル414内の予め定められた範囲の画像サイズの中からテンプレートマッチング処理の演算量が相対的に少なくなる画像サイズ(決定サイズ)を決定する。
たとえば、設定領域のサイズが128×128であるとする。決定部540は、サイズ720(128×128)を基準として、テーブル414内の予め定められた範囲730を参照して、演算量が最小となる画像サイズを決定する。範囲730内において演算量が最小の画像サイズは、サイズ740(128×126)であるので、決定部540は、サイズ740(128×126)を決定サイズとして決定する。当該決定サイズは、テンプレート画像生成部550に出力する。
なお、決定部540が参照するテーブル414内の予め定められた範囲の大きさは、画像処理装置100の設計時に設定される。当該範囲の大きさは、ユーザーにより変更できるように構成されてもよい。たとえば、当該範囲の大きさは、縦幅および横幅のそれぞれについて画素単位で変更できるように構成される。また、テーブル414内に規定される画像サイズは整数である必要は無く正数であればよい。
また、決定部540は、設定領域の縦幅よりも小さいテーブル414内の範囲を参照して、設定領域の縦幅よりも小さい縦幅の画像サイズを決定してもよい。同様に、決定部540は、設定領域の横幅よりも小さいテーブル414内の範囲を参照して、設定領域の横幅よりも小さい横幅の画像サイズを決定してもよい。これにより、テンプレートマッチング処理をより高速化することができる。
<テンプレートマッチング処理>
図8は、位置姿勢検出部560の機能構成の一例を示すブロック図である。図8を参照して、テンプレートマッチング処理の一例であるRIPOCについて説明する。
図8は、位置姿勢検出部560の機能構成の一例を示すブロック図である。図8を参照して、テンプレートマッチング処理の一例であるRIPOCについて説明する。
位置姿勢検出部560によりRIPOCが実行される。RIPOCは、テンプレート画像に対して入力画像に写っている検査対象物がどれだけ回転しているかを算出する。また、RIPOCは、テンプレート画像の回転量を補正する処理と、回転量の補正によって取得された補正テンプレートと入力画像との間でどれだけの類似度および平行移動量が存在するのかを算出する処理とを含む。
より具体的には、位置姿勢検出部560は、フーリエ変換部810と、フーリエ変換部820と、対数化処理部812と、対数化処理部822と、極座標変換部814と、極座標変換部824と、第1POC処理部830と、回転量補正部840と、第2POC処理部850とを含む。
フーリエ変換部810は、テンプレート画像に含まれる周波数情報(振幅成分および位相成分)を算出する。フーリエ変換部820は、入力画像中の検出対象物が存在しそうな位置を中心に探索範囲を設定し、当該探索範囲に対応するテンプレート部分を入力画像から切り出す。典型的には、切り出される領域のサイズは、テンプレート画像と同じサイズである。また、フーリエ変換部820は、切り出された領域に含まれる周波数情報(振幅成分および位相成分)を算出する。当該RIPOC処理においては、位相成分は必ずしも必要ではないので算出しなくてもよい。
対数化処理部812および極座標変換部814は、テンプレート画像についての振幅成分を対数化するとともに、極座標へ変換する。同様に、対数化処理部822および極座標変換部824は、入力画像についての振幅成分を対数化するとともに、極座標へ変換する。この極座標への変換によって、回転量が2次元座標上の座標点として表現される。
第1POC処理部830は、極座標変換部814および極座標変換部824からそれぞれ出力される極座標変換された結果について、類似度および平行移動量(回転量に相当)を算出する。POC処理では、テンプレート画像および入力画像の画像同士を順次ずらすとともに、それぞれに含まれる空間周波数の成分の間で相関値を算出することで、最も類似度の高いもの(POC値のピーク値)を探索する。第1POC処理部830は、極座標変換された結果同士で類似度が最も高くなる位置を特定し、それに対応する回転量を回転量補正部840に出力する。
回転量補正部840は、第1POC処理部830において算出された回転量に従ってテンプレート画像を回転補正する。すなわち、第1POC処理部830、テンプレート画像を回転補正して補正テンプレートを生成する。
回転量補正部840におけるテンプレート画像を回転補正する方法としては、テンプレート画像そのものを実空間で回転させる方法を採用することができる。第2POC処理部850において周波数空間を扱うような場合には、実空間で回転させる必要はなく、POC処理の内部表現であるフーリエ変換後のデータ(振幅情報および位相情報)を回転させる方法を採用してもよい。
第2POC処理部850は、補正テンプレート画像と入力画像との間で、類似度および位置(平行移動量)を算出する。類似度が最も高くなる位置が、入力画像に含まれる補正テンプレート画像と一致する領域を示す。第2POC処理部850は、平行移動量、回転量、倍率などの情報を含む位置情報を出力する。
<制御フロー>
図9は、画像処理装置100が実行する処理の一部を表わすフローチャートである。図9の処理は、CPU401がプログラムを実行することにより実現される。他の局面において、処理の一部又は全部が、回路素子その他のハードウェアによって実行されてもよい。
図9は、画像処理装置100が実行する処理の一部を表わすフローチャートである。図9の処理は、CPU401がプログラムを実行することにより実現される。他の局面において、処理の一部又は全部が、回路素子その他のハードウェアによって実行されてもよい。
図9を参照して、ステップS900において、CPU401は、画像処理装置100の動作モードを判定する。画像処理装置100の動作モードが登録モードである場合(ステップS900においてYES)、CPU401は、制御をステップS901に切り替える。そうでない場合には(ステップS901においてNO)、CPU401は、制御をステップS910に切り替える。典型的には、登録モードはオフラインで実行され、検査モードはオンラインで実行される。
ステップS901において、CPU401は、カメラ8がワーク2を撮影して得られる登録画像を取得する。
ステップS903において、CPU401は、領域設定部520として、登録画像に対する領域の設定を受付ける。また、ステップS903において、CPU401は、登録画像と、受付けた領域(設定領域)とを対応付けて補助記憶装置410に格納する。
ステップS910において、CPU401は、検査対象物が存在するか否かを判定する。検査対象物が存在する場合には(ステップS910においてYES)、CPU401は、制御をステップS911に切り替える。そうでない場合には(ステップS910においてNO)、CPU401は、制御をステップS910に切り替える。
ステップS911において、CPU401は、補助記憶装置410に格納されている登録画像と、当該登録画像に対応付けられている設定領域とを取得する。
ステップS912において、CPU401は、決定部540として、設定領域のサイズを基準としてテーブル414の予め定められた範囲を参照し、テンプレートマッチング処理の演算量が相対的に少なくなる画像サイズ(決定サイズ)を決定する。
ステップS913において、CPU401は、テンプレート画像生成部550として、決定サイズで登録画像413からテンプレート画像を切り出す。このとき、CPU401は、テンプレート画像の中心が、設定領域の中心と一致するように切り出す。
ステップS914において、CPU401は、カメラ8が検査対象物であるワーク2を撮影した画像を入力画像として取得する。なお、入力画像を取得するタイミングは、ステップS915よりも前であればいつでもよい。
ステップS915において、CPU401は、位置姿勢検出部560として、入力画像およびテンプレート画像を用いて、テンプレートマッチングを行う。
ステップS920において、CPU401は、検査の終了判定を行う。CPU401は、検査の終了命令を受け付けた場合には(ステップS920においてYES)、処理を終了する。そうでない場合には(ステップS920においてNO)、CPU401は、制御をステップS910に切り替える。
<利点>
以上のようにして、本実施の形態の画像処理装置100は、テンプレートマッチングの演算量が少なくなる画像サイズのテンプレート画像を用いてテンプレートマッチングを行うことにより、テンプレートマッチング処理を高速化することができる。
以上のようにして、本実施の形態の画像処理装置100は、テンプレートマッチングの演算量が少なくなる画像サイズのテンプレート画像を用いてテンプレートマッチングを行うことにより、テンプレートマッチング処理を高速化することができる。
また、登録画像からテンプレート画像を設定領域の中心に一致するように生成することにより、登録対象物が写っている必要な部分を残る可能性が高くなり、テンプレートマッチングの精度を安定させつつ、テンプレートマッチング処理を高速化することができる。
[第2の実施の形態]
以下、第2の実施の形態に従う画像処理装置100Aについて説明する。本実施の形態に従う画像処理装置100Aは、決定サイズと同様のサイズの外枠と、外枠の内側にある内枠とに挟まれる登録画像上の領域(以下、「境界領域」ともいう。)の変動度合いが相対的に少なくなる領域をテンプレート画像として切り出す点が第1の実施の形態に従う画像処理装置100と異なる。したがって、設定領域とテンプレート画像との中心は必ずしも一致するわけではない。
以下、第2の実施の形態に従う画像処理装置100Aについて説明する。本実施の形態に従う画像処理装置100Aは、決定サイズと同様のサイズの外枠と、外枠の内側にある内枠とに挟まれる登録画像上の領域(以下、「境界領域」ともいう。)の変動度合いが相対的に少なくなる領域をテンプレート画像として切り出す点が第1の実施の形態に従う画像処理装置100と異なる。したがって、設定領域とテンプレート画像との中心は必ずしも一致するわけではない。
<概要>
図10は、設定領域を表す図である。図10を参照して、画像処理装置100Aの概要について説明する。
図10は、設定領域を表す図である。図10を参照して、画像処理装置100Aの概要について説明する。
図10に示されるように、ユーザーが設定する領域536は、登録対象物601を含んで大きめに設定されることが多い。通常、領域536および枠1001によって挟まれる領域に、登録対象物601とは異なる物体を含んで領域536が設定されるとテンプレートマッチングの精度が低下する。このとき、領域536および枠1001によって挟まれる領域の画素変化が大きくなる。つまり、当該領域の画素の変動度合いが大きくなる。
このため、画像処理装置100Aは、当該領域の変動度合いが小さくなるようにテンプレート画像を生成することで、テンプレートマッチングの精度を保ちつつ、テンプレートマッチング処理を高速化することが可能になる。
<機能構成>
図11は、画像処理装置100Aの機能構成の一例を示すブロック図である。図11を参照して、画像処理装置100Aの機能構成について説明する。本実施の形態に従う画像処理装置100Aは、テンプレート画像生成部550が位置合わせ部551を有する点が第1の実施の形態に従う画像処理装置100と異なる。
図11は、画像処理装置100Aの機能構成の一例を示すブロック図である。図11を参照して、画像処理装置100Aの機能構成について説明する。本実施の形態に従う画像処理装置100Aは、テンプレート画像生成部550が位置合わせ部551を有する点が第1の実施の形態に従う画像処理装置100と異なる。
テンプレート画像生成部550は、位置合わせ部551を有する。位置合わせ部551は、登録画像を走査して、境界領域の変動度合いが相対的に小さくなるような登録画像上の領域(以下、「決定領域」ともいいます。)を決定する。
テンプレート画像生成部550は、位置合わせ部551が決定した登録画像上の位置でテンプレート画像を切り出す。テンプレート画像生成部550のテンプレート画像の切り出し方法の詳細については、後述する。
<変動度合い>
図12は、境界領域の変動度合いを算出するために登録画像内を走査している様子を表す図である。図12を参照して、位置合わせ部551の動作の詳細について説明する。
図12は、境界領域の変動度合いを算出するために登録画像内を走査している様子を表す図である。図12を参照して、位置合わせ部551の動作の詳細について説明する。
画像処理装置100Aは、設定領域を中心に予め定められた幅だけ拡大した登録画像413内の領域1200を走査する。当該予め定められた幅は設計時に設定される。また、当該予め定められた幅は、ユーザーにより設定できるように構成されてもよい。領域1200は、ユーザーが設定する領域436であってもよい。
位置合わせ部551は、決定サイズと同じサイズの領域である外枠1210と、その内側にある内枠1220とに挟まれる境界領域1230の変動度合いを領域1200内を走査して算出する。内枠1220の形状は、四角形である必要はなく、円形、楕円形、多角形、およびその他形状のいずれかであってもよい。
位置合わせ部551は、算出した変動度合いが最小になる領域(決定領域)を決定する。テンプレート画像生成部550は、サイズが決定サイズに一致する決定領域をテンプレート画像として切り出す。テンプレート画像生成部550は、当該切り出したテンプレート画像を位置姿勢検出部560に出力する。位置姿勢検出部560は、当該テンプレート画像を用いてテンプレートマッチングを行う。
<利点>
以上のようにして、本実施の形態の画像処理装置100Aは、境界領域の変動度合いが小さくなるような領域を登録画像から切出してテンプレート画像として生成することで、テンプレートマッチングの精度を保ちつつ、テンプレートマッチング処理を高速化することが可能になる。
以上のようにして、本実施の形態の画像処理装置100Aは、境界領域の変動度合いが小さくなるような領域を登録画像から切出してテンプレート画像として生成することで、テンプレートマッチングの精度を保ちつつ、テンプレートマッチング処理を高速化することが可能になる。
[第3の実施の形態]
以下、第3の実施の形態に従う画像処理装置100Bについて説明する。本実施の形態に従う画像処理装置100Bは、画像サイズに対応付けられる演算量がテーブル414に存在しない場合に、当該画像サイズを基準とする予め定められた範囲の画像サイズにそれぞれ対応付けられた既知の演算量に基づいて推定する点が、第1の実施の形態に従う画像処理装置100と異なる。
以下、第3の実施の形態に従う画像処理装置100Bについて説明する。本実施の形態に従う画像処理装置100Bは、画像サイズに対応付けられる演算量がテーブル414に存在しない場合に、当該画像サイズを基準とする予め定められた範囲の画像サイズにそれぞれ対応付けられた既知の演算量に基づいて推定する点が、第1の実施の形態に従う画像処理装置100と異なる。
<概要>
図13は、画像処理装置100Bの機能構成の一例を示すブロック図である。図13を参照して、画像処理装置100Bの機能構成について説明する。本実施の形態に従う画像処理装置100Bは、決定部540が推定部541を有する点が第1の実施の形態に従う画像処理装置100と異なる。
図13は、画像処理装置100Bの機能構成の一例を示すブロック図である。図13を参照して、画像処理装置100Bの機能構成について説明する。本実施の形態に従う画像処理装置100Bは、決定部540が推定部541を有する点が第1の実施の形態に従う画像処理装置100と異なる。
決定部540は、設定領域のサイズを基準としてテーブル414の予め定められた範囲を参照し、テンプレートマッチング処理の演算量が相対的に少なくなる画像サイズを決定する。このとき、推定部541は、テーブル414において演算量が規定されていない画像サイズが存在する場合には、当該画像サイズに対応するテンプレートマッチングの未知の演算量を推定する。
具体的には、推定部541は、未知の演算量に対応する画像サイズを基準として、テーブル414の予め定められた範囲を参照する。推定部541は、参照した範囲の既知の演算量に基づいて、未知の演算量を推定する。たとえば、推定部541は、既知の演算量の平均を推定した演算量とする。また、推定部541は、未知の演算量に対応する画像サイズに、より近い画像サイズに対応する演算量に大きい重みをつけて重み付き平均を算出し、当該重み付き平均を推定した演算量としてもよい。
<利点>
以上のようにして、本実施の形態の画像処理装置100Bは、テーブルに規定される演算量が未知である場合に既知の演算量から推定し、適切な画像サイズを決定することができる。また、本実施の形態の画像処理装置100Bは、テーブルの容量を削減することができる。
以上のようにして、本実施の形態の画像処理装置100Bは、テーブルに規定される演算量が未知である場合に既知の演算量から推定し、適切な画像サイズを決定することができる。また、本実施の形態の画像処理装置100Bは、テーブルの容量を削減することができる。
[第4の実施の形態]
以下、第4の実施の形態に従う画像処理装置Cについて説明する。本実施の形態に従う画像処理装置Cは、テンプレート画像が検査モードではなく登録モードで生成される点が、第1の実施の形態に従う画像処理装置100と異なる。つまり、画像処理装置Cは、テンプレート画像をオンラインではなくオフラインで生成する。
以下、第4の実施の形態に従う画像処理装置Cについて説明する。本実施の形態に従う画像処理装置Cは、テンプレート画像が検査モードではなく登録モードで生成される点が、第1の実施の形態に従う画像処理装置100と異なる。つまり、画像処理装置Cは、テンプレート画像をオンラインではなくオフラインで生成する。
<概要>
図14は、画像処理装置100Cが実行する処理の一部を表わすフローチャートである。図14の処理は、CPU401がプログラムを実行することにより実現される。他の局面において、処理の一部又は全部が、回路素子その他のハードウェアによって実行されてもよい。以下では、第1の実施の形態に従う画像処理装置100が実行する処理のフローチャートと異なるステップについてのみ説明する。その他の同様のステップについては説明を繰り返さない。
図14は、画像処理装置100Cが実行する処理の一部を表わすフローチャートである。図14の処理は、CPU401がプログラムを実行することにより実現される。他の局面において、処理の一部又は全部が、回路素子その他のハードウェアによって実行されてもよい。以下では、第1の実施の形態に従う画像処理装置100が実行する処理のフローチャートと異なるステップについてのみ説明する。その他の同様のステップについては説明を繰り返さない。
図14を参照して、画像処理装置100Cの動作モードが登録モードである場合には(ステップS900においてYES)、ステップS1410およびステップS1411が実行される。
ステップS1410において、CPU401は、決定部540として、設定領域のサイズを基準としてテーブル414の予め定められた範囲を参照し、テンプレートマッチング処理の演算量が相対的に少なくなる画像サイズ(決定サイズ)を決定する。また、ステップS1410において、CPU401は、テンプレート画像を補助記憶装置410に格納する。
ステップS1411において、CPU401は、テンプレート画像生成部550として、決定サイズで登録画像413からテンプレート画像を切り出す。このとき、CPU401は、テンプレート画像の中心が、設定領域の中心と一致するように切り出す。
画像処理装置100Cの動作モードが検査モードである場合には(ステップS900においてNO)、ステップS1420が実行される。ステップS1420において、CPU401は、補助記憶装置410に格納されているテンプレート画像を取得する。
<利点>
以上のようにして、本実施の形態の画像処理装置100Cは、テンプレート画像が登録時(オフライン)で予め生成しておくことにより、検査時(オンライン)に実行されるテンプレートマッチングを高速化することができる。
以上のようにして、本実施の形態の画像処理装置100Cは、テンプレート画像が登録時(オフライン)で予め生成しておくことにより、検査時(オンライン)に実行されるテンプレートマッチングを高速化することができる。
[第5の実施の形態]
以下、第5の実施の形態に従う画像処理装置Dについて説明する。本実施の形態に従う画像処理装置Dは、テーブルを更新する機能をさらに含む点が第1の実施の形態に従う画像処理装置100と異なる。
以下、第5の実施の形態に従う画像処理装置Dについて説明する。本実施の形態に従う画像処理装置Dは、テーブルを更新する機能をさらに含む点が第1の実施の形態に従う画像処理装置100と異なる。
<機能構成>
図15は、画像処理装置100Dの機能構成の一例を示すブロック図である。図15を参照して、画像処理装置100Dの機能構成について説明する。本実施の形態に従う画像処理装置100Dは、更新部1510を含む点が第1の実施の形態に従う画像処理装置100と異なる。その他の機能については同様である。そのため、同様の機能については説明を繰り返さない。
図15は、画像処理装置100Dの機能構成の一例を示すブロック図である。図15を参照して、画像処理装置100Dの機能構成について説明する。本実施の形態に従う画像処理装置100Dは、更新部1510を含む点が第1の実施の形態に従う画像処理装置100と異なる。その他の機能については同様である。そのため、同様の機能については説明を繰り返さない。
テンプレートマッチングの演算時間は、MPU(Micro-Processing Unit)、メモリ、キャッシュ等の構造、および、テンプレートマッチング時に駆動するソフトのメモリの利用率等の画像処理装置の環境に依存するため、演算時間を理論的に予測することが難しい。このため、画像処理装置の環境のいずれかが変わった場合には、テーブル414を更新する必要がある。
更新部1510は、テーブル414の更新を行う。より具体的には、位置姿勢検出部560は、複数のサイズの入力画像とテンプレート画像とを用いてテンプレートマッチング処理を行う。位置姿勢検出部560は、各入力画像に対するテンプレートマッチング処理にかかった演算時間を更新部1510に出力する。
更新部1510は、位置姿勢検出部560が出力する各画像サイズに対応する演算時間に基づいて既存のテーブル414を更新する。
<利点>
以上のようにして、本実施の形態の画像処理装置100Dは、画像処理装置の環境が代わった場合などに、画像処理装置の環境に合わせてテーブルを更新する。これにより、画像処理装置の環境に合わせた正確なテンプレートマッチングの演算時間を算出することができ、テンプレートマッチング処理をより確実に高速化することができる。
以上のようにして、本実施の形態の画像処理装置100Dは、画像処理装置の環境が代わった場合などに、画像処理装置の環境に合わせてテーブルを更新する。これにより、画像処理装置の環境に合わせた正確なテンプレートマッチングの演算時間を算出することができ、テンプレートマッチング処理をより確実に高速化することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 画像処理システム、2 ワーク、8 カメラ、12 製造装置、14 搬送機構、16 表示装置、18 マウス、100,100A,100B,100C,100D 画像処理装置、121,730 範囲、230 演算量情報、400 バス、401 CPU、402 RAM、403 ROM、404 ネットワークI/F、405 カメラI/F、407 メモリーカードI/F、410 補助記憶装置、411 画像処理プログラム、412 入力画像、413 登録画像、414 テーブル、430 メモリーカード、440 入力装置、500 スイッチ、520 領域設定部、536,1200 領域、540 決定部、541 推定部、550 テンプレート画像生成部、551 位置合わせ部、560 位置姿勢検出部、601 登録対象物、701〜707 横幅、710〜716 画像縦幅、810,820 フーリエ変換部、812,822 対数化処理部、814,824 極座標変換部、830 第1POC処理部、840 回転量補正部、850 第2POC処理部、1001 枠、1210 外枠、1220 内枠、1230 境界領域、1510 更新部。
Claims (15)
- テンプレートを用いてマッチング処理を行う画像処理方法であって、
基準となる目的の対象物を撮像することで得られた登録画像に対する領域の設定を受付けることと、
前記受付けた領域のサイズを基準とする予め定められた範囲の画像サイズの中から、画像サイズに予め対応付けられた前記マッチング処理の演算量が相対的に少なくなる画像サイズを決定することと、
前記決定された画像サイズの領域の情報に基づいて前記テンプレートを前記登録画像から生成することとを備える、画像処理方法。 - 前記決定することは、前記受付けた前記領域のサイズを基準とする予め定められた範囲の画像サイズの中から、前記マッチング処理の演算量が最小となる画像サイズを決定することを含む、請求項1に記載の画像処理方法。
- 前記決定することは、前記受付けた前記領域のサイズの縦幅よりも小さい縦幅の画像サイズを決定することを含む、請求項1または2に記載の画像処理方法。
- 前記決定することは、前記受付けた前記領域のサイズの横幅よりも小さい横幅の画像サイズを決定することを含む、請求項1〜3のいずれか1項に記載の画像処理方法。
- 前記決定された画像サイズの前記領域の中心は、前記受付けた前記領域の中心に一致する、前記請求項1〜4のいずれか1項に記載の画像処理方法。
- 前記生成することは、前記決定された画像サイズ同様のサイズの外枠と、前記外枠の内側にある内枠とに挟まれる前記登録画像上の領域の変動度合いが相対的に小さくなるように、前記登録画像から前記テンプレートを生成することを含む、請求項1〜4のいずれか1項に記載の画像処理方法。
- 前記決定することは、画像サイズに対応する前記演算量が未知の場合に、当該画像サイズを基準とする予め定められた範囲の画像サイズにそれぞれ対応付けられた既知の演算量に基づいて当該画像サイズに対応する演算量を推定することを含む、請求項1〜6のいずれか1項に記載の画像処理方法。
- 前記演算量は、前記マッチング処理の全部または一部の実測された演算時間である、請求項1〜7のいずれか1項に記載の画像処理方法。
- 前記演算量は、画像サイズと、前記マッチング処理の計算量とに基づいて定められる、請求項1〜7のいずれか1項に記載の画像処理方法。
- 前記マッチング処理は、検査対象物を撮像することで得られた入力画像から前記検査対象物の位置を検出する処理を含み、
前記演算量は、前記位置を検出するのにかかる時間に基づいて定められる、請求項1〜7のいずれか1項に記載の画像処理方法。 - 前記演算量は、前記マッチング処理におけるフーリエ変換にかかる時間に基づいて定められる、請求項1〜7のいずれか1項に記載の画像処理方法。
- 画像サイズに予め対応付けられた前記演算量を更新することをさらに備える、請求項1〜11のいずれか1項に記載の画像処理方法。
- テンプレートを用いてマッチング処理を行う画像処理装置であって、
基準となる目的の対象物を撮像することで得られた登録画像に対する領域の設定を受付けるための受付部と、
前記受付けた領域のサイズを基準とする予め定められた範囲の画像サイズの中から、画像サイズに予め対応付けられた前記マッチング処理の演算量が相対的に少なくなる画像サイズを決定するための決定部と、
前記決定された画像サイズの領域の情報に基づいて前記テンプレートを前記登録画像から生成するための生成部とを備える、画像処理装置。 - 前記画像処理装置は、前記画像サイズと、前記マッチング処理の演算量との関係を規定するテーブルを格納するための記憶部をさらに備え、
前記決定部は、前記テーブルを参照して、前記マッチング処理の演算量が相対的に少なくなる画像サイズを決定するように構成されている、請求項13に記載の画像処理装置。 - テンプレートを用いてマッチング処理をコンピュータに実行させるためのプログラムであって、
前記プログラムは、前記コンピュータに、基準となる目的の対象物を撮像することで得られた登録画像に対する領域の設定を受付けることと、
前記受付けた領域のサイズを基準とする予め定められた範囲の画像サイズの中から、画像サイズに予め対応付けられた前記マッチング処理の演算量が相対的に少なくなる画像サイズを決定することと、
前記決定された画像サイズの領域の情報に基づいて前記テンプレートを前記登録画像から生成することとを実行させる、画像処理プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013126382 | 2013-06-17 | ||
JP2013126382 | 2013-06-17 | ||
PCT/JP2014/063826 WO2014203687A1 (ja) | 2013-06-17 | 2014-05-26 | 画像処理方法、画像処理装置、および画像処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2014203687A1 true JPWO2014203687A1 (ja) | 2017-02-23 |
Family
ID=52104429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015522696A Pending JPWO2014203687A1 (ja) | 2013-06-17 | 2014-05-26 | 画像処理方法、画像処理装置、および画像処理プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160125266A1 (ja) |
EP (1) | EP3012803A4 (ja) |
JP (1) | JPWO2014203687A1 (ja) |
WO (1) | WO2014203687A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10037594B2 (en) * | 2013-12-27 | 2018-07-31 | Sharp Kabushiki Kaisha | Resolution estimating device |
TWI606870B (zh) * | 2015-11-04 | 2017-12-01 | 澧達科技股份有限公司 | 電子產品分選系統及分選方法 |
JP7080771B2 (ja) * | 2018-08-29 | 2022-06-06 | 株式会社ミマキエンジニアリング | 加工用データ生成プログラム、加工用データ生成システムおよび加工用データ生成方法 |
US10574848B1 (en) * | 2018-10-26 | 2020-02-25 | Toshiba Tec Kabushiki Kaisha | Information processing apparatus with registered image detection |
CN109584149B (zh) * | 2018-11-28 | 2023-03-07 | 东软集团股份有限公司 | 图像处理方法、装置、设备和计算机可读存储介质 |
CN110930362B (zh) * | 2019-10-23 | 2023-10-27 | 北京图知天下科技有限责任公司 | 一种螺钉安全检测方法、装置及系统 |
CN111626984B (zh) * | 2020-04-17 | 2022-04-08 | 广州冠粤路桥检测有限公司 | 一种基于图像比对的材料几何尺寸检测方法 |
CN111612760B (zh) * | 2020-05-20 | 2023-11-17 | 阿波罗智联(北京)科技有限公司 | 用于检测障碍物的方法和装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69635101T2 (de) * | 1995-11-01 | 2006-06-01 | Canon K.K. | Verfahren zur Extraktion von Gegenständen und dieses Verfahren verwendendes Bildaufnahmegerät |
JP2000003444A (ja) | 1998-06-15 | 2000-01-07 | Hitachi Ltd | パターンマッチング方法 |
JP2006091790A (ja) * | 2004-09-27 | 2006-04-06 | Toshiba Corp | パターン検査方法 |
DE602005012673D1 (de) * | 2005-02-21 | 2009-03-26 | Mitsubishi Electric Corp | Schnelles Verfahren zum Detektieren von Objekten durch statistischen Mustervergleich |
JP2007102634A (ja) * | 2005-10-06 | 2007-04-19 | Sony Corp | 画像処理装置 |
JP2008158626A (ja) * | 2006-12-21 | 2008-07-10 | Nippon Telegr & Teleph Corp <Ntt> | テンプレート作成装置,テンプレート作成方法,その方法を実装したテンプレート作成プログラム,そのプログラムを格納した記憶媒体と、テンプレートマッチング装置,テンプレートマッチング方法,その方法を実装したテンプレートマッチングプログラム,そのプログラムを格納した記憶媒体 |
JP4950716B2 (ja) * | 2007-03-22 | 2012-06-13 | 株式会社日立ハイテクノロジーズ | 画像処理システム、及び走査型電子顕微鏡装置 |
JP4814375B2 (ja) * | 2007-04-13 | 2011-11-16 | パナソニック株式会社 | 検出装置、検出方法および検出用集積回路 |
US7974475B1 (en) * | 2009-08-20 | 2011-07-05 | Thomas Cecil Minter | Adaptive bayes image correlation |
JP5154527B2 (ja) * | 2009-09-16 | 2013-02-27 | 株式会社日立ハイテクノロジーズ | 異物検査装置 |
WO2014024854A1 (ja) * | 2012-08-10 | 2014-02-13 | コニカミノルタ株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
US20160070985A1 (en) * | 2013-05-02 | 2016-03-10 | Konica Minolta Inc. | Image processing apparatus, image processing method, and storage medium storing image processing program thereon |
-
2014
- 2014-05-26 JP JP2015522696A patent/JPWO2014203687A1/ja active Pending
- 2014-05-26 EP EP14814421.5A patent/EP3012803A4/en not_active Withdrawn
- 2014-05-26 WO PCT/JP2014/063826 patent/WO2014203687A1/ja active Application Filing
- 2014-05-26 US US14/899,077 patent/US20160125266A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2014203687A1 (ja) | 2014-12-24 |
US20160125266A1 (en) | 2016-05-05 |
EP3012803A1 (en) | 2016-04-27 |
EP3012803A4 (en) | 2017-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014203687A1 (ja) | 画像処理方法、画像処理装置、および画像処理プログラム | |
WO2019042426A1 (zh) | 增强现实场景的处理方法、设备及计算机存储介质 | |
JP4891712B2 (ja) | 類似度分布を利用したテンプレートマッチング方法を用いた検査装置 | |
JP2011179907A (ja) | 位置姿勢計測装置、位置姿勢計測方法およびプログラム | |
US8582810B2 (en) | Detecting potential changed objects in images | |
JP5541426B1 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP2019114103A (ja) | 物体認識処理装置、物体認識処理方法及びプログラム | |
WO2015035462A1 (en) | Point feature based 2d-3d registration | |
US10042899B2 (en) | Automatic registration | |
KR20150114950A (ko) | 이미지 스트림의 프레임 레이트 증가 | |
JPWO2014002813A1 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JPWO2013001885A1 (ja) | 画像処理装置、画像処理方法、およびプログラム | |
JP2008116206A (ja) | パターン寸法測定装置、方法及びプログラム | |
JP5310402B2 (ja) | 画像変換パラメータ算出装置、画像変換パラメータ算出方法およびプログラム | |
KR20110139864A (ko) | 얼굴 검출 방법 및 시스템 | |
CN111583417A (zh) | 一种图像语义和场景几何联合约束的室内vr场景构建的方法、装置、电子设备和介质 | |
RU2737193C1 (ru) | Способ наблюдения за движущимся телом | |
US11906294B2 (en) | Alignment apparatus, alignment system, alignment method, and recording medium | |
JP2016206909A (ja) | 情報処理装置、情報処理方法 | |
US20200013189A1 (en) | Image indexing and retrieval using local image patches for object three-dimensional pose estimation | |
JP6056354B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
WO2014178241A1 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP2004240909A (ja) | 画像処理装置及び画像処理方法 | |
JP6431495B2 (ja) | 教師データ生成方法 | |
JP2006003276A (ja) | 3次元形状計測システム |