JP2021072000A - テンプレートマッチング方法 - Google Patents

テンプレートマッチング方法 Download PDF

Info

Publication number
JP2021072000A
JP2021072000A JP2019199385A JP2019199385A JP2021072000A JP 2021072000 A JP2021072000 A JP 2021072000A JP 2019199385 A JP2019199385 A JP 2019199385A JP 2019199385 A JP2019199385 A JP 2019199385A JP 2021072000 A JP2021072000 A JP 2021072000A
Authority
JP
Japan
Prior art keywords
template matching
pixel
encoder
correction
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
JP2019199385A
Other languages
English (en)
Inventor
近藤 貴幸
Takayuki Kondo
貴幸 近藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2019199385A priority Critical patent/JP2021072000A/ja
Publication of JP2021072000A publication Critical patent/JP2021072000A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Optical Transform (AREA)

Abstract

【課題】優れた検出精度を有するテンプレートマッチング方法を提供する。【解決手段】テンプレートマッチング方法は、撮像式エンコーダーを用い、撮像素子の撮像画像に対して基準画像と類似する座標をサブピクセル推定法により特定し、サブピクセル推定法の近似により生じるサブピクセル推定値を求めるステップS13と、特定された座標を、サブピクセル推定値に応じた補正値に基づいて補正するステップS15を含む。【選択図】図4

Description

本発明は、テンプレートマッチング方法に関する。
エンコーダーの一種として光学式のロータリーエンコーダーが一般に知られている。例えば、特許文献1に記載のエンコーダーは、グレイ符号等の数値パターンおよびストライプ状のパターンが形成されているコード板を撮像素子で読み取り、読み取った数値パターンおよびストライプ状のパターンから位置を検出する。
また、特許文献1のような光学式のエンコーダーよりも高い検出精度を容易にかつ安定して実現することのできるエンコーダーとして、基準画像および撮像画像を用いて撮像画像内で基準画像と最も類似する画素座標を特定するテンプレートマッチングを行うことにより位置を検出する撮像式のエンコーダーが考えられる。また、さらなる高精度化を実現するために、サブピクセル推定を行って分解能を向上することも考えられる。
特開昭63−187118号公報
しかしながら、サブピクセル推定では分解能は向上するが、サブピクセル推定の手法によっては真値との誤差が生じてしまい、検出精度のさらなる高精度化を図ることが困難である。
本発明の適用例に係るテンプレートマッチング方法は、撮像式エンコーダーを用い、撮像素子の撮像画像に対して基準画像と類似する座標をサブピクセル推定法により特定し、
前記サブピクセル推定法の近似により生じるサブピクセル推定値を求め、
特定された前記座標を、前記サブピクセル推定値に応じた補正値に基づいて補正することを特徴とする。
本発明の第1実施形態に係るロボットを示す側面図である。 図1のロボットが有するエンコーダーを示す断面図である。 第1アームに設けられたマークを示す平面図である。 テンプレートマッチング方法を示すフローチャートである。 基準画像を取得する方法を説明する図である。 類似度マップを示す図である。 図6中の領域Q1を拡大した図である。 サブピクセル推定値とサブピクセル推定誤差との関係を示すグラフである。 第1実施形態に係るテンプレートマッチング方法で用いる補正データの生成方法を示すグラフである。 第2実施形態に係るテンプレートマッチング方法で用いる補正データの生成方法を示すグラフである。 補正データとしてのテーブルを示す図である。 第3実施形態に係るテンプレートマッチング方法を示すフローチャートである。 サブピクセル推定値と検出角度誤差との関係を示すグラフである。 第3実施形態に係るテンプレートマッチング方法で用いる補正データの生成方法を示すグラフである。
以下、本発明のテンプレートマッチング方法を添付図面に示す好適な実施形態に基づいて詳細に説明する。
<第1実施形態>
図1は、本発明の第1実施形態に係るロボットを示す側面図である。図2は、図1のロボットが有するエンコーダーを示す断面図である。図3は、第1アームに設けられたマークを示す平面図である。図4は、テンプレートマッチング方法を示すフローチャートである。図5は、基準画像を取得する方法を説明する図である。図6は、類似度マップを示す図である。図7は、図6中の領域Q1を拡大した図である。図8は、サブピクセル推定値とサブピクセル推定誤差との関係を示すグラフである。図9は、第1実施形態に係るテンプレートマッチング方法で用いる補正データの生成方法を示すグラフである。なお、以下では、説明の便宜上、図1中の上側を「上」、下側を「下」と言う。また、図1中の基台側を「基端」、その反対側(エンドエフェクター側)を「先端側」と言う。また、図1の上下方向を「鉛直方向」とし、左右方向を「水平方向」とする。
図1に示すロボット100は、水平多関節ロボットであり、例えば、精密機器等を製造する製造工程等で用いられ、精密機器や部品等の把持や搬送等を行うことができる。ロボット100は、基台110と、基台110に対して第1軸J1まわりに回動する第1アーム120と、第1アーム120に対して第2軸J2まわりに回動する第2アーム130と、第2アーム130の先端部に設けられ、第2アーム130に対して第3軸J3まわりに回動し、第3軸J3に沿って上下移動するスプラインシャフト141を備える作業ヘッド140と、スプラインシャフト141の先端部に装着されているエンドエフェクター150と、を有する。そして、このようなロボット100には、基台110に対する第1アーム120の第1軸J1まわりの回動角度を検出する第1エンコーダーや、第1アーム120に対する第2アーム130の第2軸J2まわりの回動角度を検出する第2エンコーダーが設けられている。本発明のテンプレートマッチング方法は、前記第1エンコーダーおよび前記第2エンコーダーの双方に適用可能であるが、以下、前記第1エンコーダーに適用した構成について説明し、第1エンコーダーをエンコーダー1として説明する。
図2に示すように、エンコーダー1は、撮像式エンコーダーであり、第1アーム120に設けられているスケール部2と、基台110に設けられ、スケール部2を検出する検出部3と、検出部3に電気的に接続されている回路部4と、を有する。
スケール部2は、第1アーム120の基台110と対向する部分に設けられている。スケール部2は、図3に示すように、第1アーム120の表面に設けられており、第1軸J1とは異なる位置で第1軸J1まわりに沿って配置されているユニークなパターンを有している。「ユニークなパターン」とは、スケール部2を第1軸J1まわりに必要な角度範囲にわたって回動させたとき、後述する撮像画像G内の所定領域に同じパターンが2回以上出現しないことを言う。そのため、スケール部2の互いに位置の異なる複数の部分のそれぞれを、スケール部2の周方向における位置識別のためのマーク21として用いることができる。なお、図3では、複数のマーク21が第1軸J1を中心とする円周に沿って並んでいる場合を図示している。また、図3に示すマーク21の位置、大きさ、数等は、一例であり、これに限定されるものではない。
スケール部2のユニークなパターンは、白地に複数の黒地のドット20をユニークに配置することにより構成されている。なお、ドット20の形状は、図示では円形であるが、これに限定されず、例えば、楕円形、四角形、異形状等であってもよい。また、スケール部2のパターンは、前述した複数のドット20で構成されたパターンのようなドットパターンに限定されず、例えば、直線状のラインで構成されたパターン、曲線状のラインで構成されたパターン、ドット、直線状のラインおよび曲線状のラインのうちの少なくとも2つを組み合わせて構成されたパターン、またはこれらの反転パターン等であってもよい。また、スケール部2のパターンは、検出部3で検出可能なパターンであればよく、例えば、染料、顔料等のインクで形成されたパターン、凹凸形状によるパターン、自然物に形成されているパターン等であってもよい。
また、スケール部2のマーク21は、前述したパターンを用いたものに限定されず、例えば、数字を用いてもよいし、ローマ字、アラビア文字、漢字等の文字を用いてもよいし、文字以外の記号、符号、しるし、標章、図案、一次元バーコード、QRコード(登録商標)等を用いてもよい。
また、スケール部2は、第1アーム120の表面に直に設けられている場合に限定されず、例えば、第1アーム120の表面に貼着されたシート状の部材に設けられていてもよいし、第1アーム120とともに回動するように設けられた板状の部材に設けられていてもよい。すなわち、スケール部2が設けられる部材は、第1アーム120とともに基台110に対して第1軸J1まわりに回動する部材であればよい。
図2に示すように、検出部3は、基台110内に設けられている撮像素子31と、基台110が有する開口に設けられている結像光学系32と、を有する。そして、撮像素子31が結像光学系32を介してスケール部2の周方向での一部である撮像領域RIを撮像する。なお、検出部3は、必要に応じて、撮像素子31の撮像領域RIを照明する光源を備えていてもよい。撮像素子31としては、特に限定されず、例えば、CCD(Charge Coupled Devices)、CMOS(Complementary Metal Oxide Semiconductor)等を用いることができる。
撮像素子31は、撮影された画像を画素ごとの電気信号に変換して出力する。撮像素子31は、二次元撮像素子(エリアイメージセンサ)、あるいは一次元撮像素子(ラインイメージセンサ)のどちらでも適用可能である。二次元撮像素子を用いた場合は、情報量の多い二次元画像を取得でき、後述のテンプレートマッチングによるマーク21の検出精度を高めやすい。その結果、第1アーム120の回動状態を高精度に検出することができる。一方、一次元撮像素子を用いた場合は、画像取得周期いわゆるフレームレートが高いため、検出頻度を高めることが可能になり、高速動作時に有利となる。
ここで、図3に示すように、撮像素子31の撮像領域RIは、第1アーム120の下面に、スケール部2の周方向での一部に重なるように設定されている。これにより、撮像素子31は、撮像領域RI内にあるマーク21を撮像することができる。したがって、撮像領域RIに位置するマーク21を読み取ることにより、第1アーム120の回動状態を知ることができる。
図2に示すように、回路部4は、CPU(Central Processing Unit)、テンプレートマッチング専用演算回路等の処理部5と、ROM(Read only memory)、RAM(Random Access Memory)等の記憶部6と、を有する。ここで、記憶部6には、処理部5で読み取り可能な指示が記憶されており、処理部5は、記憶部6から指示を適宜読み取って実行することで、各種機能を実現する。このような回路部4は、例えば、ASIC(application specific integrated circuit)またはFPGA(field-programmable gate array)等を用いて構成することができる。このようにASICまたはFPGAを用いて回路部4をハードウエア化することで、回路部4の高処理速度化、小型化および低コスト化を図ることできる。
処理部5は、検出部3の検出結果に基づいて、基台110および第1アーム120の相対的な回動状態を推定する。この回動状態としては、例えば、回動角度、回動速度、回動方向等が挙げられる。特に、処理部5は、撮像素子31の撮像画像に対して基準画像を用いてテンプレートマッチングすることでマーク21を画像認識し、その認識結果を用いて、基台110に対する第1アーム120の回動角度を推定する。以下、基準画像の取得について詳述する。また、処理部5におけるテンプレートマッチングおよびそれを用いた回動状態の推定について、図4に示すフローチャートに基づいて詳述する。
テンプレートマッチングおよびそれを用いた回動状態の推定は、撮像素子31を用いて撮像画像Gを取得する撮像画像取得ステップと、撮像画像Gに対して基準画像TAを用いてサブピクセル推定法によりテンプレートマッチングを行うテンプレートマッチングステップと、テンプレートマッチングにより求められたサブピクセル推定値Xsubに応じた補正値Hxを補正データHDから抽出し、抽出した補正値Hxを用いてテンプレートマッチングにより特定された座標を補正する補正ステップと、を有する。
1.基準画像の取得
エンコーダー1は、補正データHDの生成およびテンプレートマッチングを用いて基台110に対する第1アーム120の回動状態を推定するのに先立って、テンプレートマッチングに用いる基準画像TAを予め取得する。この基準画像TAの取得は、最初のテンプレートマッチングの前に1回行うだけでよいが、その後必要に応じて適時行ってもよい。その場合、テンプレートマッチングに用いる基準画像TAを、新たに取得した基準画像TAに更新することができる。
基準画像TAを取得する際には、第1アーム120を基台110に対して第1軸J1まわりに適宜回動させ、撮像素子31で複数のマーク21をそのマーク21毎に撮像する。例えば、図2に示すように、この際の第1アーム120の回動は、検出誤差が極めて小さい非常に高精度な校正用エンコーダー10を第1軸J1に直結し、基準画像TAを取得した時の第1軸J1の角度情報を記録する。これにより、基準画像TAおよび基準画像TAに対応する角度情報を取得することができる。なお、校正用エンコーダー10としては、撮像式エンコーダー、光学式エンコーダー等、如何なる構成のものであってもよい。また、エンコーダーでなくても、例えばレーザー測長計などを用いて、間接的に角度情報を求める方法でも構わない。
そして、得られた各撮像画像Gをトリミングして不要部分を削除することにより、マーク21毎の基準画像TAを生成する。つまり、マーク21の数だけ基準画像TAを生成する。生成された各基準画像TAは、その画素座標情報および角度情報とともにこれらに対応付けられて記憶部6に記憶される。
より具体的に説明すると、図5に示すように、撮像画像Gは、撮像領域RIに対応した形状であって、X方向に沿って延びている2つの辺と、X方向に直交するY方向に沿って延びている2つの辺とを有する矩形をなす。また、撮像画像GのX軸方向に沿って延びている2つの辺は、矢印で示すマーク21の移動方向にできるだけ沿うように配置されている。また、撮像画像Gは、X方向およびY方向に行列状に並んでいる複数の画素を有する。ここで、画素の位置は、X方向での画素の位置を示す「X」、および、Y方向での画素の位置を示す「Y」で表される画素座標系(X,Y)で表される。また、撮像画像Gの図中左上端の画素が画像座標系(X,Y)の原点画素(0,0)に設定されている。
例えば、図5中のマーク21Aに対応する基準画像TAを生成する場合、第1アーム120を基台110に対して適宜回動させ、マーク21Aを撮像画像G内の所定位置、図示ではX軸方向での中央に設定された中心線LY上に位置させる。なお、マーク21が中心線LY上に位置するときの、基台110に対する第1アーム120の回動角度θA0は、測定等により事前に取得されている。
次に、マーク21を中心線LY上に位置させた状態を撮像素子31で撮像し、得られた撮像画像Gを、マーク21Aを包含する必要最小限の範囲となるような矩形の画素範囲でトリミングする。これにより、マーク21Aに対応する基準画像TAが得られ、得られた基準画像TAは、記憶部6に記憶される。このとき、基準画像TAは、前述した回動角度θA0に関する角度情報および基準画像TAの画素範囲に含まれる基準画素P0の画素座標である基準画素座標(Xp0,Yp0)に関する画素情報とともに、これらに対応付けられて記憶される。すなわち、基準画像TA、角度情報および画素座標情報がテンプレートマッチングに用いる1つのテンプレートセットとなる。
エンコーダー1がアブソリュート型である場合、このテンプレートセットにおける角度情報は絶対角度である。また、エンコーダー1がインクリメント型である場合、このテンプレートセットにおける角度情報は相対角度である。
2.補正データの生成
次に、補正データHDを生成する。生成された補正データHDは、記憶部6に記憶される。なお、補正データHDの生成方法については、テンプレートマッチングステップの説明を終えた後に詳細に説明する。
3.テンプレートマッチングおよびそれを用いた回動状態の推定
以下、処理部5におけるテンプレートマッチングおよびそれを用いた回動状態の推定について詳述する。
[撮像画像取得ステップ]
まず、処理部5は、ステップS11として、撮像素子31を用い、スケール部2の一部である撮像領域RIを撮像して、撮像画像Gを得る。
[テンプレートマッチングステップ]
まず、処理部5は、ステップS12として、撮像素子31の撮像画像Gに対して、予め準備しておいた基準画像TAを用いてテンプレートマッチングを行って類似度マップM1を生成する。具体的には、処理部5は、撮像画像Gの全域を探索領域とし、探索領域に基準画像TAを重ね、探索領域と基準画像TAとの重なり部分の類似度を算出する。処理部5は、基準画像TAを、撮像画像Gの画素配列に沿って移動させて、探索領域全域の画素について、探索領域と基準画像TAとの重なり部分の類似度を算出する。具体的には、処理部5は、基準画像TA中に設定されている基準画素P0の画素座標(Xp,Yp)を開始座標PSpから終了画素PEpまで1画素ずつ移動し、探索領域全域の画素について、探索領域と基準画像TAとの重なり部分の類似度を算出する。つまり、処理部5は、類似度を基準画像TAの基準画素P0の画素座標(Xp,Yp)ごとに算出する。そして、処理部5は、画素座標(Xp,Yp)毎に算出した類似度を画素座標(Xp,Yp)の位置に対応させて並べた、つまり、画素座標(Xp,Yp)の並び順に沿って並べた図6および図7に示すような類似度マップM1を生成する。図7に示す領域Q1は、類似度が最大となる画素座標(Xp,Yp)=(Xn,Yn)を含む領域である。生成された類似度マップM1は、記憶部6に記憶される。類似度を求める手法としては、SAD、SSD、ZNCCなどがある。SAD、SSDではその値が最小、ZNCCではその値が最大のとき類似度が最大となる。
次に、処理部5は、ステップS13として、得られた類似度マップM1に基づいてサブピクセル推定を行う。具体的には、図7に示すように、テンプレートマッチングにより画素サイズ間隔で得られた類似度マップM1から類似度最大の座標(Xn,Yn)とそれに隣接する8つの座標(Xn−1,Yn−1)、(Xn,Yn−1)、(Xn+1,Yn−1)、(Xn−1,Yn)、(Xn+1,Yn)、(Xn−1,Yn+1)、(Xn,Yn+1)および(Xn−1,Yn+1)の類似度の値を抽出し、これらを放物曲面でフィッティングすることにより、これらの類似度間すなわち画素ピッチ間を近似して補完し、類似度が最大となる画素座標を特定する。このようなサブピクセル推定によれば、画素サイズよりも小さい分解能を得ることができるため、より高精度にマーク21Aの画素座標を求めることができる。以下では、フィッティングに用いた放物曲面の頂点の座標(Xn+Xsub,Yn+Ysub)のうち、座標(Xn,Yn)との差分値(Xsub,Ysub)をサブピクセル推定値と言う。サブピクセル推定値は、サブピクセル推定法の近似により生じる。
ここで、上述のような放物曲面フィッティング型のサブピクセル推定法によれば、画素単位で求めた類似度に基づいてサブピクセル推定値を計算できる。そのため、他のサブピクセル推定法、例えば、撮像画像Gや基準画像TAを線形補間などによって擬似的に高解像度化してサブピクセル推定値を計算する疑似高解像度型のサブピクセル推定法等よりも少ない計算量で推定を行うことができる。そのため、ASICまたはFPGAを用いて回路部4をハードウエア化することが容易となり、回路部4の高処理速度化、小型化および低コスト化を図ることできる。
しかしながら、放物曲面フィッティング型のサブピクセル推定法は、上述のような有利な点を有する反面、フィッティングする関数に依存する特徴的な誤差が発生する。以下では、この誤差を「サブピクセル推定誤差」とも言う。そこで、処理部5は、サブピクセル推定誤差が小さくなるように、好ましくはゼロとなるように、サブピクセル推定法を用いたテンプレートマッチングによって検出したサブピクセル推定値(Xsub,Ysub)を、前述した補正データ生成において生成した補正データHDを用いて補正する。
ここで、本実施形態では、撮像画像Gがスケール部2に対して十分に小さく、かつ、第1軸J1から十分に離間して配置されているため、撮像画像G内では、マーク21AがX方向に沿って移動するとみなせる。そのため、本実施形態では、マーク21Aの撮像画像G内でのX方向の座標さえ分かれば、第1アーム120の回動状態を推定することができる。したがって、サブピクセル推定値Xsubについてのみ補正すればよい。ただし、これに限定されず、サブピクセル推定値Ysubについても、同様の補正を行ってもよい。
改めて補正データ生成について詳細に説明する。補正データ生成では、まず、校正用エンコーダー10を第1軸J1に直結した状態で、基台110に対して第1アーム120を所定角度だけ回動させ、その際に計測されたエンコーダー1の測定結果と校正用エンコーダー10の測定結果とを比較する。なお、エンコーダー1の測定方法は、上述のテンプレートマッチング方法と同様であり、座標Xp+Xsubに対応する回動角度が測定結果となる。
次に、エンコーダー1の測定結果と校正用エンコーダー10の測定結果との差から、これらエンコーダー1、10間の検出角度誤差Δθを求める。すなわち、エンコーダー1で測定された回動角度をθ1とし、校正用エンコーダー10で測定された回動角度をθ2としたとき、Δθ=θ2−θ1である。そして、この検出角度誤差Δθを予め求めておいた1画素あたりの角度を表す係数で除してサブピクセル推定誤差PLxに変換する。以上の作業を、基台110に対して第1アーム120が1画素分に相当する回動角以上となるまで繰り返し行い、各サブピクセル推定値Xsubにおけるサブピクセル推定誤差PLxの情報を収集する。
サブピクセル推定値Xsubとサブピクセル推定誤差PLxとの関係を図8のグラフに示す。同図に示すように、サブピクセル推定誤差PLxは、1画素内において周期的に変化する。なお、1画素とは、座標Xp+Xsubのサブピクセル推定値Xsubが、−0.5から0.5となる範囲である。サブピクセル推定誤差PLxの計測を終えると、校正用エンコーダー10は、第1軸J1から取り外される。
次に、図9に示すように、X方向のサブピクセル推定値Xsubに対するサブピクセル推定誤差PLxを関数に近似し、得られた補正関数f(Xsub)をサブピクセル推定誤差PLxの補正データHDとする。なお、近似する関数としては、特に限定されず、折れ線関数(1次関数)、3次多項式、正弦関数等の放物線関数(2次関数)、楕円放物面関数等が挙げられる。ここでは3次多項式で近似した例を示す。前述したテンプレートマッチングステップで実測されたサブピクセル推定値Xsubを補正関数f(Xsub)に代入することにより、補正値Hxが得られる。
このように、補正値Hxを、校正用エンコーダー10の測定結果とエンコーダー1の測定結果との差に基づいて生成することにより、正確な補正値Hxを生成することができる。
[補正ステップ]
まず、処理部5は、ステップS14として、テンプレートマッチングステップによって求められたサブピクセル推定値Xsubの値を、予め準備しておいた補正関数f(Xsub)に代入することにより補正値Hxを求める。次に、処理部5は、ステップS15として、テンプレートマッチングステップによって求められたサブピクセル推定値Xsubを補正値Hxで補正し、補正サブピクセル推定値Xsub’を求める。すなわち、Xsub’=Xsub−Hxである。次に、処理部5は、ステップS16として、類似度マップM1で最大値の類似度を有する画素座標(Xp,Yp)=(Xn,Yn)と補正サブピクセル推定値Xsub’とから、撮像画像G内でのマーク21AのX方向の座標Xm=Xn+Xsub’を求め、マッチング位置、つまり、マーク21の画素座標として決定する。さらに、処理部5は、決定したマッチング位置、つまり、画素座標Xmに対応する回動角度θを出力する。
以上のようなステップによって、マーク21の座標が検出される。このような方法によれば、サブピクセル推定により生じる検出誤差を補正することができる、つまり、誤差の少なくとも一部、好ましくは全部をキャンセルすることができるため、マーク21の座標をより高精度に検出することができるエンコーダー1となる。具体的には、校正用エンコーダー10と同程度の精度で検出することができ、かつ、校正用エンコーダー10よりも安価なエンコーダー1となる。
以上、本実施形態のテンプレートマッチング方法について説明した。このようなテンプレートマッチング方法は、撮像式エンコーダーであるエンコーダー1を用い、撮像素子31の撮像画像Gに対して基準画像TAと類似する座標をサブピクセル推定法により特定し、サブピクセル推定法の近似により生じるサブピクセル推定値Xsubを求め、特定された座標Xmを、サブピクセル推定値Xsubに応じた補正値Hxに基づいて補正する。このような方法によれば、サブピクセル推定により生じる検出誤差を補正することができる、つまり、誤差の少なくとも一部、好ましくは全部をキャンセルすることができるため、優れた位置検出精度を発揮することができる。
また、前述したように、テンプレートマッチング方法では、放物曲面フィッティング型のサブピクセル推定法を用いる。これにより、他のサブピクセル推定法と比べて計算量が少なくなる。そのため、ASICまたはFPGAを用いて回路部4をハードウエア化することが容易となり、回路部4の高処理速度化、小型化および低コスト化を図ることできる。
また、前述したように、テンプレートマッチング方法では、座標Xmの特定よりも前に補正値Hxを取得する。これにより、実際の駆動の際に校正用エンコーダー10が不要となる。そのため、より安価なエンコーダー1となる。
また、前述したように、テンプレートマッチング方法では、補正値Hxは、校正用エンコーダー10の測定結果とエンコーダー1の測定結果との差に基づいて生成される。これにより、正確な補正値Hxを生成することができる。
また、前述したように、テンプレートマッチング方法では、補正値Hxをサブピクセル推定値Xsubの関数として表した補正式である補正関数f(Xsub)を補正データHDとして有し、補正関数f(Xsub)とサブピクセル推定値Xsubとに基づいて補正値Hxを求める。これにより、簡単に、補正値Hxを求めることができる。
<第2実施形態>
図10は、第2実施形態に係るテンプレートマッチング方法で用いる補正データの生成方法を示すグラフである。図11は、補正データとしてのテーブルを示す図である。
本実施形態は、補正データHDの生成方法およびサブピクセル推定値Xsubの補正方法が異なること以外は、前述した第1実施形態と同様である。なお、以下の説明では、本実施形態に関し、前述した第1実施形態との相違点を中心に説明し、同様の事項に関してはその説明を省略する。また、図10および図11において、前述した第1実施形態と同様の構成については、同一符号を付している。
本実施形態のテンプレートマッチングおよびそれを用いた回動状態の推定は、基準画像TAを取得する基準画像取得ステップと、補正データHDを生成する補正データ生成ステップと、撮像素子31の撮像画像Gに対して基準画像TAを用いてサブピクセル推定法によりテンプレートマッチングを行うテンプレートマッチングステップと、テンプレートマッチングにより求められたサブピクセル推定値に応じた補正値Hxを補正データHDから抽出し、抽出した補正値Hxを用いてテンプレートマッチングにより特定された座標を補正する補正ステップと、を有する。このうち、基準画像取得ステップおよびテンプレートマッチングステップについては、前述した第1実施形態と同様であるため、以下では、補正データ生成ステップおよび補正ステップについて説明する。
2.補正データの生成
まず、前述した第1実施形態と同様にして、サブピクセル推定誤差PLxを計測する。次に、処理部5は、例えば、図10および図11に示すように、1画素をX方向に所定幅で複数の区間に分割し、各区間のサブピクセル推定誤差PLxの平均値をその区間の補正値HxとしたテーブルTを補正データHDとする。生成された補正データHDは、記憶部6に記憶される。このテーブルTからテンプレートマッチングステップで実測されたサブピクセル推定値Xsubに応じた補正値Hxを選択することにより、簡単に、補正値Hxが得られる。
このように、補正値Hxを、校正用エンコーダー10の測定結果とエンコーダー1の測定結果との差に基づいて生成することにより、正確な補正値Hxを生成することができる。また、本実施形態の補正データHDを用いる場合の方が、前述した第1実施形態の補正データHDを用いる場合よりも少ない計算量でサブピクセル推定値Xsubの補正を行うことができる。そのため、本実施形態の補正データHDを用いる場合の方が、ASICまたはFPGAを用いて回路部4をハードウエア化することが容易となり、回路部4の高処理速度化、小型化および低コスト化を図り易くなる点で好ましい。
[補正ステップ]
まず、処理部5は、テンプレートマッチングステップによって求められたサブピクセル推定値Xsubの値に対応する補正値HxをテーブルTから選択する。次に、処理部5は、テンプレートマッチングステップによって求められたサブピクセル推定値Xsubを補正値Hxで補正し、補正サブピクセル推定値Xsub’を求める。すなわち、Xsub’=Xsub−Hxである。次に、処理部5は、類似度マップM1で最大値の類似度を有する画素座標(Xp,Yp)と補正サブピクセル推定値Xsub’とから、撮像画像G内でのマーク21AのX方向の座標Xm=Xn+Xsub’を求め、マッチング位置、つまり、マーク21の画素座標として決定する。さらに、処理部5は、決定したマッチング位置、つまり、画素座標Xmに対応する回動角度θを出力する。
以上のようなステップによって、マーク21の座標が検出される。このような方法によれば、サブピクセル推定により生じる検出誤差を補正することができる、つまり、誤差の少なくとも一部、好ましくは全部をキャンセルすることができるため、マーク21の座標をより高精度に検出することができるエンコーダー1となる。具体的には、校正用エンコーダー10と同程度の精度で検出することができ、かつ、校正用エンコーダー10よりも安価なエンコーダー1となる。
以上のようなテンプレートマッチング方法では、前述したように、1画素を複数の区間に分割し、各区間ごとに補正値Hxが設定されているテーブルTを補正データHDとして有し、テーブルTからサブピクセル推定値Xsubに対応する補正値Hxを選択する。これにより、より簡単に、補正値Hxを求めることができる。また、前述した第1実施形態の補正データHDを用いる場合と比べて、少ない計算量でサブピクセル推定値Xsubの補正を行うことができる。そのため、本実施形態の補正データHDを用いる場合の方が、ASICまたはFPGAを用いて回路部4をハードウエア化することが容易となり、回路部4の高処理速度化、小型化および低コスト化を図り易くなる。
以上のような第2実施形態によっても、前述した第1実施形態と同様の効果を発揮することができる。
<第3実施形態>
図12は、第3実施形態に係るテンプレートマッチング方法を示すフローチャートである。図13は、サブピクセル推定値と検出角度誤差との関係を示すグラフである。図14は、第3実施形態に係るテンプレートマッチング方法で用いる補正データの生成方法を示すグラフである。
本実施形態は、テンプレートマッチング方法が異なること以外は、前述した第1実施形態と同様である。なお、以下の説明では、本実施形態に関し、前述した第1実施形態との相違点を中心に説明し、同様の事項に関してはその説明を省略する。また、図12、図13、および図14において、前述した第1実施形態と同様の構成については、同一符号を付している。
前述した第1、第2実施形態では、サブピクセル推定値Xsubを補正値Hxで補正して得られた補正サブピクセル推定値Xsub’に基づいて回動角度θを検出しているが、本実施形態では、サブピクセル推定値Xsubに基づいて回動角度θを検出し、検出した回動角度θを補正値Hxで補正している。つまり、本実施形態と第1、第2実施形態とでは、補正値Hxを用いて補正する対象が異なっている。
本実施形態のテンプレートマッチングおよびそれを用いた回動状態の推定は、撮像素子31を用いて撮像画像Gを取得する撮像画像取得ステップと、撮像素子31の撮像画像Gに対して基準画像TAを用いてサブピクセル推定法によりテンプレートマッチングを行うテンプレートマッチングステップと、テンプレートマッチングにより特定された座標に基づいて、スケール部2の位置すなわち回動角度θを求める位置検出ステップと、回動角度θを、テンプレートマッチングにより求められたサブピクセル推定値Xsubに応じた補正値Hxに基づいて補正する補正ステップと、を有する。以下、図12に示すフローチャートに基づいて詳細に説明する。
1.基準画像の取得
エンコーダー1は、補正データHDの生成およびテンプレートマッチングを用いて基台110に対する第1アーム120の回動状態を推定するのに先立って、テンプレートマッチングに用いる予め基準画像TAを取得する。前述した第1実施形態と同様であるため、その説明を省略する。
2.補正データの生成
次に、処理部5は、補正データHDを生成する。まず、前述した第1実施形態と同様にして、校正用エンコーダー10を第1軸J1に直結した状態で、基台110に対して第1アーム120を所定角度だけ回動させ、その際に計測されたエンコーダー1の測定結果と校正用エンコーダー10の測定結果とを比較する。次に、処理部5は、エンコーダー1の測定結果と校正用エンコーダー10の測定結果との差から、エンコーダー1、10間の検出角度誤差Δθを求める。以上の作業を、基台110に対して第1アーム120が1画素分に相当する回動角以上となるまで繰り返し行い、各サブピクセル推定値Xsubにおける検出角度誤差Δθの情報を収集する。
サブピクセル推定値Xsubと検出角度誤差Δθとの関係を図13のグラフに示す。同図に示すように、検出角度誤差Δθは、1画素内において周期的に変化する。検出角度誤差Δθの計測を終えると、校正用エンコーダー10は、第1軸J1から取り外される。
次に、処理部5は、例えば、図14に示すように、1画素をX方向に所定幅で複数の区間に分割し、各区間の検出角度誤差Δθの平均値をその区間の補正値HxとしたテーブルT(図15)を補正データHDとする。生成された補正データHDは、記憶部6に記憶される。このテーブルTからテンプレートマッチングステップで実測されたサブピクセル推定値Xsubに応じた補正値Hxを選択することにより、簡単に、補正値Hxが得られる。また、検出角度誤差Δθを補正関数に近似し、得られた補正関数f(Xsub)を検出角度誤差Δθの補正データHDとしてもよい。なお、近似する関数としては、特に限定されず、折れ線関数(1次関数)、3次多項式、正弦関数等の放物線関数(2次関数)、楕円放物面関数等が挙げられる。この場合、テンプレートマッチングステップで実測されたサブピクセル推定値Xsubを補正関数f(Xsub)に代入することにより、補正値Hxが得られる。
このように、補正値Hxを、校正用エンコーダー10の測定結果とエンコーダー1の測定結果との差に基づいて生成することにより、正確な補正値Hxを生成することができる。
3.テンプレートマッチングおよびそれを用いた回動状態の推定
以下、処理部5におけるテンプレートマッチングおよびそれを用いた回動状態の推定について詳述する。
[撮像画像取得ステップ]
まず、処理部5は、ステップS21として、前述した第1実施形態と同様に、撮像画像Gを得る。
[テンプレートマッチングステップ]
まず、処理部5は、ステップS22として、前述した第1実施形態と同様に、類似度マップM1を生成する。次に、処理部5は、ステップS23として、前述した第1実施形態と同様に、得られた類似度マップM1に基づいてサブピクセル推定を行う。次に、処理部5は、ステップS24として、類似度マップM1で最大値の類似度を有する画素座標(Xp,Yp)とサブピクセル推定値Xsubとから、撮像画像G内でのマーク21AのX方向の座標Xm=Xn+Xsubを求め、マッチング位置、つまり、マーク21の画素座標として決定する。さらに、処理部5は、決定したマッチング位置、つまり、画素座標Xmに対応する回動角度θを求める。
[補正ステップ]
まず、処理部5は、ステップS25として、テンプレートマッチングステップによって求められたサブピクセル推定値Xsubの値を補正関数f(Xsub)に代入することにより補正値Hxを求める。次に、処理部5は、ステップS26として、回動角度θを補正値Hxで補正し、補正回動角度θ’を求める。すなわち、θ’=θ−Hxである。
以上のようなステップによって、マーク21Aの座標が検出される。なお、このようなテンプレートマッチングおよびそれを用いた補正回動角度θ’の算出を他のマーク21についても同様に行う。ここで、任意の回動角度θにおいて、撮像画像G内に少なくとも1つのマーク21が欠けなく映り、かつ、テンプレートマッチング可能なように各マーク21に対応した基準画像TAが登録されている。これにより、テンプレートマッチングが不可能な角度範囲が生じることを防止することができる。
このような方法によれば、サブピクセル推定により生じる検出誤差を補正することができる、つまり、誤差の少なくとも一部、好ましくは全部をキャンセルすることができるため、マーク21Aの座標をより高精度に検出することができるエンコーダー1となる。具体的には、校正用エンコーダー10と同程度の精度で検出することができる。
以上、本実施形態のテンプレートマッチング方法について説明した。このようなテンプレートマッチング方法は、撮像式エンコーダーであるエンコーダー1を用い、撮像素子31の撮像画像Gに対して基準画像TAと類似する座標をサブピクセル推定法により特定し、特定された座標Xmに基づいて、スケール部2の位置すなわち回動角度θを求め、サブピクセル推定法の近似により生じるサブピクセル推定値Xsubを求め、求めた回動角度θを、サブピクセル推定値Xsubに応じた補正値Hxに基づいて補正する。このような方法によれば、サブピクセル推定により生じる検出誤差を補正することができる、つまり、誤差の少なくとも一部、好ましくは全部をキャンセルすることができるため、優れた位置検出精度を発揮することができる。
なお、本実施形態では、前述した第2実施形態と同様に、予め生成しておいたテーブルTから補正値Hxを選択しているが、これに限定されず、例えば、前述した第1実施形態と同様に、補正関数f(Xsub)に代入することにより、補正値Hxを取得してもよい。
以上、本発明のテンプレートマッチング方法を図示の好適な実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成や各ステップは、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物やステップが付加されていてもよい。また、前述した2つ以上の実施形態の構成を組み合わせてもよい。
また、前述したエンコーダー1は、アブソリュート型およびインクリメンタル型のいずれの形式にも適用可能である。また、エンコーダー1は、ロータリーエンコーダーだけではなく、リニアエンコーダーにも適用可能である。
また、前述したエンコーダー1は、前述した第2軸J2まわりの回動角度を検出する第2エンコーダーに適用してもよい。また、前述したエンコーダー1は、前述した水平多関節ロボット以外の型のロボット、例えば、6軸多関節ロボット、双腕ロボット等にも設置可能である。また、エンコーダー1は、ロボット100以外の電子機器、例えば、プリンター、プロジェクター等に搭載してもよい。さらには、エンコーダー1、車輌、航空機、船舶等の移動体に搭載してもよい。
1…エンコーダー、2…スケール部、20…ドット、21、21A…マーク、3…検出部、31…撮像素子、32…結像光学系、4…回路部、5…処理部、6…記憶部、10…校正用エンコーダー、100…ロボット、110…基台、120…第1アーム、130…第2アーム、140…作業ヘッド、141…スプラインシャフト、150…エンドエフェクター、G…撮像画像、HD…補正データ、Hx…補正値、J1…第1軸、J2…第2軸、J3…第3軸、LY…中心線、M1…類似度マップ、P0…基準画素、PEp…終了画素、PLx…サブピクセル推定誤差、PSp…開始座標、Q1…領域、RI…撮像領域、S11〜S17、S21〜S27…ステップ、T…テーブル、TA…基準画像、Xm…座標、Xsub…サブピクセル推定値、Xsub’…補正サブピクセル推定値、Ysub…サブピクセル推定値、f…補正関数、Δθ…検出角度誤差、θ…回動角度、θ’…補正回動角度

Claims (7)

  1. 撮像式エンコーダーを用い、撮像素子の撮像画像に対して基準画像と類似する座標をサブピクセル推定法により特定し、
    前記サブピクセル推定法の近似により生じるサブピクセル推定値を求め、
    特定された前記座標を、前記サブピクセル推定値に応じた補正値に基づいて補正することを特徴とするテンプレートマッチング方法。
  2. 撮像式エンコーダーを用い、撮像素子の撮像画像に対して基準画像と類似する座標をサブピクセル推定法により特定し、
    特定された前記座標に基づいて、前記撮像画像内での位置を求め、
    前記サブピクセル推定法の近似により生じるサブピクセル推定値を求め、
    前記位置を、前記サブピクセル推定値に応じた補正値に基づいて補正することを特徴とするテンプレートマッチング方法。
  3. 放物曲面フィッティング型の前記サブピクセル推定法を用いる請求項1または2に記載のテンプレートマッチング方法。
  4. 前記座標の特定よりも前に前記補正値を取得する請求項1ないし3のいずれか1項に記載のテンプレートマッチング方法。
  5. 前記補正値は、校正用エンコーダーの測定結果と前記撮像式エンコーダーの測定結果との差に基づいて生成される請求項4に記載のテンプレートマッチング方法。
  6. 前記補正値を前記サブピクセル推定値の関数として表した補正式を補正データとして有し、
    前記補正式と前記サブピクセル推定値とに基づいて前記補正値を求める請求項1ないし5のいずれか1項に記載のテンプレートマッチング方法。
  7. 1画素を複数の区間に分割し、各前記区間ごとに前記補正値が設定されているテーブルを補正データとして有し、
    前記テーブルから前記サブピクセル推定値に対応する前記補正値を選択する請求項1ないし5のいずれか1項に記載のテンプレートマッチング方法。
JP2019199385A 2019-10-31 2019-10-31 テンプレートマッチング方法 Pending JP2021072000A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019199385A JP2021072000A (ja) 2019-10-31 2019-10-31 テンプレートマッチング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019199385A JP2021072000A (ja) 2019-10-31 2019-10-31 テンプレートマッチング方法

Publications (1)

Publication Number Publication Date
JP2021072000A true JP2021072000A (ja) 2021-05-06

Family

ID=75713208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019199385A Pending JP2021072000A (ja) 2019-10-31 2019-10-31 テンプレートマッチング方法

Country Status (1)

Country Link
JP (1) JP2021072000A (ja)

Similar Documents

Publication Publication Date Title
CN110672040B (zh) 一种基于视觉的高精度旋转角度测量方法
JP5987073B2 (ja) 撮像部を用いたワークの位置決め装置
CN110189314B (zh) 基于机器视觉的汽车仪表盘图像定位方法
JP4418841B2 (ja) 作業装置及びその校正方法
US6728417B1 (en) Measurement apparatus
CN110160566B (zh) 编码器单元、角度检测方法及机器人
JP2014102246A (ja) 位置姿勢検出システム
CN107229043B (zh) 一种距离传感器外参数标定方法和系统
CN104200456B (zh) 一种用于线结构光三维测量的解码方法
CN114332486A (zh) 圆钢印中心点的视觉精密测量方法
JP2016004486A (ja) 情報処理装置、情報処理プログラム、および情報処理システム
JP2018066579A (ja) 車載カメラのキャリブレーション装置及び車載カメラのキャリブレーション方法
JP6807450B2 (ja) 多関節ロボットの平行度判定方法および多関節ロボットの傾き調整装置
JP2021072000A (ja) テンプレートマッチング方法
JP2004126905A (ja) 画像処理装置
JP2012013592A (ja) 3次元形状測定機の校正方法及び3次元形状測定機
CN115760860B (zh) 一种基于dxf文件导入的多类型工件尺寸视觉测量方法
CN113628117B (zh) 一种深度图像旋转变换方法及装置
JP5446502B2 (ja) シャシーダイナモメータ
JP6965422B2 (ja) カメラの平行度判定方法
JP5605491B2 (ja) シャシーダイナモメータ
JP2021071979A (ja) テンプレートマッチング方法
JP2021157378A (ja) 撮像式エンコーダーのテンプレートマッチング方法
JP6580407B2 (ja) 位置計測装置、データ補正装置、位置計測方法、およびデータ補正方法
JP2011151548A (ja) フラットベッドスキャナの較正方法