(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0007】
モデルパターンの一部の特徴する範囲又は特徴点群を考慮に入れないと、画像中の対象物の位置を正しく特定できない場合がある。例えば、
図1に示すようなキー溝の形状の対象物100の場合、溝101以外は円形である。そのため、溝101を含む領域110の位置がずれていたとしても、溝101以外の部分の一致度に基づいて対象物が検出されてしまうおそれがある。また、
図2に示すような長い直線200の近くに小さな円201が存在する形状の場合も、直線200が平行にずれて円201を含む領域210がずれていたとしても、ずれた状態を対象物として検出するおそれがある。このように、特定の領域110,210の外側の特徴量の一致度に基づいて対象物の検出が位置や姿勢が誤った状態で行われるおそれがある。また、
図3に示すように、輪郭が同じ2種類の対象物を区別しなければならない場合がある。この場合において、第2の対象物301には、第1の対象物300にはない円302が存在しているものの、第1の対象物300と第2の対象物301は輪郭が同じであるため、全体の一致度が高い検出結果となる。従って、円302に注目することなく第1の対象物300と第2の対象物301を区別して検出することは難しい。
【0008】
このように、モデルパターンの中で注目する領域を設定することにより、安定的な対象物の検出が可能となる。しかし、注目する領域の選択を人間が手動で行う場合、
図1〜3のように注目すべき領域が明らかな場合は選択を間違えにくいが、モデルパターンが複雑になると注目すべき領域の判断が難しくなる。また、人間のケアレスミスによって、注目すべきではない領域を選択し、検出精度が低下する可能性もある。この点、特許文献1でも、第2領域を注目する領域として設定しているものの、作業者がコンソールの操作に応じて第二領域の形状(例:矩形や円形等)を選択し、コンソールの更なる操作に応じて第二領域のサイズと位置を設定している。注目すべき領域の正確な設定という点で改善の余地があった。
【0009】
本発明は、対象物の形状に関わらず、基準形状情報に基づいて画像中の対象物を正確な位置、姿勢で検出できる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
(1)本発明は、複数の特徴点(例えば、後述する特徴点151,152)からなる基準形状情報(例えば、後述するモデルパターン150)に基づいて入力画像(例えば、後述する入力画像90)から対象物(例えば、後述する対象物100)を検出する画像処理装置(例えば、後述する画像処理装置10)であって、前記対象物を含む1又は複数の前記入力画像を取得し、前記基準形状情報の前記特徴点と前記入力画像から抽出した入力側特徴点(例えば、後述する入力側特徴点120,121)を比較した検出結果を取得する結果取得部(例えば、後述する結果取得部41)と、前記基準形状情報と前記対象物の位置姿勢が異なる複数の検出結果を取得し、前記基準形状情報の前記特徴点ごとに、前記入力画像中に前記入力側特徴点が検出された頻度を算出する頻度算出部(例えば、後述する頻度算出部42)と、前記頻度算出部が算出した頻度に基づいて前記基準形状情報が有する複数の前記特徴点から注目する特徴点(例えば、後述する特徴点152)を選択する特徴点選択部(例えば、後述する特徴点選択部43)と、を備える画像処理装置に関する。
【0011】
(2) (1)に記載の画像処理装置において、前記特徴点選択部は、前記基準形状情報が有する複数の前記特徴点のうち、前記対象物が正しく検出された正検出結果では前記入力側特徴点が検出される頻度が高く、前記対象物が正しく検出されなかった誤検出結果では前記入力側特徴点が検出される頻度が低い前記特徴点を注目する特徴点として選択することが好ましい。
【0012】
(3) (2)に記載の画像処理装置において、前記結果取得部は、前記基準形状情報を作成した基になった基礎画像を前記入力画像として取得し、前記特徴点選択部は、前記基礎画像と同じ位置姿勢の前記対象物が検出された検出結果を前記正検出結果とし、前記正検出結果と異なる位置姿勢の検出結果を誤検出結果とすることが好ましい。
【0013】
(4) (2)に記載の画像処理装置において、複数の前記検出結果のそれぞれに対し、前記正検出結果又は前記誤検出結果を設定する正誤設定部(例えば、後述する操作盤35)を更に備えることが好ましい。
【発明の効果】
【0014】
本発明の画像処理装置によれば、対象物の形状に関わらず、基準形状情報に基づいて画像中の対象物を正確な位置、姿勢で検出できる。
【発明を実施するための形態】
【0016】
以下、本発明の好ましい実施形態について、図面を参照しながら説明する。本発明の一実施形態に係る画像処理システム1は、対象物2の像の特徴を表すモデルパターン50に基づいて入力画像5から前記対象物の像を検出するためのシステムである。まず、本実施形態の画像処理システム1が適用される装置について2つの例を説明する。
【0017】
図4は、本実施形態の画像処理システム1が適用される視覚センサ11の位置が固定される装置6の例を示す模式図である。
図4に示すように、対象物2は作業台4に設置されている。視覚センサ11は、対象物2を撮像するためのカメラである。視覚センサ11は、支持手段(図示省略)により対象物2を撮像できる位置に固定される。視覚センサ11が取得した画像情報は画像処理装置10に送信される。画像処理装置10は、視覚センサ11から受信した入力画像5(
図5参照)に基づいて後述する画像処理により対象物2の像を検出する。
【0018】
図4では、視覚センサ11の位置が固定される例を説明した。次に、視覚センサ11の位置が移動する場合について
図5を参照して説明する。
図5は、本実施形態の画像処理システム1が適用される視覚センサ11の位置が移動する装置7の例を示す模式図である。なお、
図4を参照して説明した装置6の構成と共通又は同様の構成については同じ符号を付してその説明を省略する場合がある。
【0019】
図5には、先端にロボットハンド21が装着されるアーム型のロボット20が示される。この例の視覚センサ11はロボット20の手先となるロボットハンド21に固定される。ロボットハンド21は、ロボット20や自身の機構により移動する可動部である。従って、視覚センサ11の位置も移動することになる。画像処理を行う画像処理装置10は、ロボット20の動き等を制御するロボット制御装置25と通信可能に構成されており、画像処理装置10とロボット20の間で相互に情報のやり取りが行えるようになっている。画像処理装置10は、ロボット20及びロボットハンド21の移動や状態を考慮しながら視覚センサ11からの入力画像5(
図5参照)に基づいて後述する画像処理により対象物2の像の検出を行う。
【0020】
以上説明したように、本実施形態の画像処理システム1は、視覚センサ11の位置が固定型の装置6及び視覚センサ11の位置が可動型の装置7の何れにも適用できる。次に、画像処理システム1による画像処理について説明する。
図6は、本実施形態の画像処理システム1の機能ブロック図である。
【0021】
図6に示すように、本実施形態の画像処理システム1は、画像処理を行うコンピュータである画像処理装置10と、入力画像5を取得する視覚センサ11と、操作者が入力画像5から生成したモデルパターン50の修正等を行う操作盤(操作部)35と、入力画像5やモデルパターン50等の画像情報を表示する表示装置(出力部)36と、を備える。
【0022】
画像処理装置10は、CPUや所定のソフトウェアを記憶する記憶媒体等を備えるコンピュータにより実現される。本実施形態の画像処理装置10は、モデルパターン記憶部31と、取得した入力画像5に対して画像処理を行う画像処理部32と、を含んで構成される。
【0023】
モデルパターン記憶部31は、画像処理の検出処理に用いられるモデルパターン50を記憶する。モデルパターン50は、対象物の特徴点から構成される基準形状情報である。
【0024】
画像処理部32は、モデルパターン記憶部31に記憶されたモデルパターン50に基づいて入力画像5から対象物の形状の検出等、各種の画像処理を行う。本実施形態の画像処理部32は、結果取得部41と、頻度算出部42と、特徴点選択部43と、を備える。なお、結果取得部41、頻度算出部42及び特徴点選択部43の機能については後述する。
【0025】
次に、モデルパターン50の作成例について説明する。
図7は、モデルパターン50を作成する手順を示すフローチャートである。
図8は、画像にモデルパターン指定領域60を指定した様子を示す図である。
図9は、複数の特徴点P_iから構成されるモデルパターン50を示す図である。
【0026】
図7に示すように、モデルパターン50として教示したい対象物2を視覚センサ11の視野内に配置して当該対象物2の画像を撮像し、対象物2が含まれる入力画像5を取得する(ステップS101)。このとき、視覚センサ11と対象物2の位置関係は、実際の使用時に対象物2を検出するときの位置関係と同じ位置関係になるように行うことが好ましい。
【0027】
撮像した画像において、対象物2が映った領域をモデルパターン50の領域として指定する(ステップS102)。以下、このステップS102で指定した領域をモデルパターン指定領域60と称する。本実施形態のモデルパターン指定領域60は、対象物2を囲むように矩形や円形で指定される。
【0028】
次に、特徴点の抽出を行う(ステップS103)。特徴点は、モデルパターン50を構成するものである。モデルパターン指定領域60から複数の特徴点P_i(i=1〜NP)が抽出される。特徴点P_iの抽出方法としては、種々の方法を用いることができる。本実施形態では、画像中で輝度勾配が大きな点であり、対象物の輪郭形状を取得するために使用できるエッジ点を特徴点P_iとして用いる。なお、エッジ点の抽出は、SobelフィルタやCannyエッジ検出器を利用してもよい。
【0029】
エッジ点の物理量は、そのエッジ点の位置、輝度勾配方向、輝度勾配の大きさ等がある。エッジ点の輝度勾配の方向を特徴点の姿勢と定義すると、位置とあわせて特徴点の位置姿勢を定義することができる。特徴点の物理量としてエッジ点の物理量、即ちエッジ点の位置、姿勢(輝度勾配の方向)、輝度勾配の大きさを記憶する。
【0030】
モデルパターン座標系51を定義し、モデルパターン座標系51及び原点Oに基づいて特徴点P_iの姿勢ベクトルv_Piや位置ベクトルt_Pi等で表現する。モデルパターン座標系51に設定される原点Oは、例えば、モデルパターン50を構成する全ての特徴点P_iの重心が原点Oとして定義される。なお、原点Oの定義方法は、特徴点P_iから任意の1点を選択する等、適宜の方法を採用できる。また、モデルパターン座標系51を用いる方法も一例であり、他の方法を利用して特徴点P_iの位置や姿勢を表すこともできる。また、モデルパターン座標系51の軸方向(姿勢)は、例えば、モデルパターン50を構成する特徴点P_iから任意の2点を選択して、その一方から他方に向かう方向がX軸方向となるように定義し、当該X軸方向に直交する方向をY軸方向と定義してもよい。また、モデルパターン50の作成を行った画像において画像座標系とモデルパターン座標系51が平行になるように定義することもできる。このように、モデルパターン座標系51及び原点Oの設定は、事情に応じて適宜変更できる。
【0031】
次に、抽出された特徴点P_iの物理量に基づいてモデルパターン50の生成を行う(ステップS104)。抽出された特徴点P_iの物理量が、モデルパターン50を構成する特徴点P_iとしてモデルパターン記憶部31に記憶される。本実施形態では、モデルパターン指定領域60内にモデルパターン座標系51を定義し、特徴点P_iの位置や姿勢を、画像座標系70(
図8参照)で表現された値から、モデルパターン座標系51(
図9参照)で表現された値で記憶される。
【0032】
モデルパターン50を修正する必要がある場合、モデルパターンの修正を行う(ステップS105)。このステップS105におけるモデルパターン50の修正は、操作者又は画像処理部32によって行われる。操作者によって修正されたときの操作者生成情報を修正情報として取得し、機械学習等で用いてもよい。
【0033】
以上説明した一連の処理により、モデルパターン50が作成される。次に、注目する特徴点を設定する方法について説明する。
【0034】
以下の説明では、
図1に示す対象物100を例として注目すべき特徴点の選択について説明する。
図10は、モデルパターン150の注目範囲を設定する手順を示すフローチャートである。
図11は、キー溝形状の対象物100を検出対象とする入力画像を示す模式図である。
図12は、キー溝形状の対象物100から作成されたモデルパターン150を示す模式図である。
【0035】
画像処理部32の結果取得部41は、
図11に示すように、キー溝形状の対象物100が含まれる入力画像を取得する(ステップS201)。本実施形態のステップS201で取得する入力画像は、モデルパターン150の作成に用いた画像である。
【0036】
結果取得部41は、モデルパターン指定領域60を設定し、モデルパターン指定領域60の内側でエッジ抽出を行う(ステップS202)。モデルパターン指定領域60は、矩形や円形等、適宜の形状で所定の範囲を指定するものである。
図11に示すように、エッジ抽出の処理によって円周方向に沿う入力側特徴点120と、溝部分の入力側特徴点121が抽出される。なお、特徴点の抽出は、上述と同様に一例である。
【0037】
ステップS202のエッジ抽出処理の後に、
図12に示すモデルパターン150を用いた対象物100の検出を行う(ステップS203)。ここで用いられるモデルパターン150は、上述の通り、入力画像から作成されたものである。モデルパターン150は、作成は、上述の
図7〜
図9を参照した方法と同様の方法で作成される。
図12に示すように、対象物100に対応するモデルパターン150は、円周方向に沿う特徴点151と、溝部分の特徴点152と、を含んでいる。
【0038】
ステップS202の対象物100の検出処理について
図13A〜
図13Cを参照しながら説明する。
図13Aは、モデルパターン150と対象物100の位置及び姿勢が一致した正しい検出結果(正検出結果)を示す模式図である。
図13B及び
図13Cは、何れも、モデルパターン150と対象物100の姿勢が一致していない正しくない検出結果(誤検出結果)の一例を示す模式図である。
【0039】
対象物100の検出処理では、モデルパターン150と対象物100の位置及び姿勢を合わせる探索処理が行われる。この探索処理では、モデルパターン150の平行移動や回転移動が行われる。
図13A〜
図13Cは、何れも、モデルパターン150と対象物100の位置が一致しており、モデルパターン150の姿勢が異なる例が示されている。
【0040】
図13Aに示す正しい検出結果では、対象物100から抽出された入力側特徴点120,121が、モデルパターン150の特徴点151,152に一致している。これに対して、
図13B及び
図13Cは、何れも、モデルパターン150の円周方向に沿う特徴点151が対象物100の円周方向に沿う入力側特徴点120と重なっているものの、溝部分の特徴点152が対象物100の溝部分の入力側特徴点121と一致していない。より具体的には、
図13Bでは、対象物100の溝部分の入力側特徴点121に対して、モデルパターン150の溝部分の特徴点152が反時計回りの方向に少しずれている様子が示されている。
図13Cでは、対象物100の溝部分の入力側特徴点121に対して、モデルパターン150の溝部分の特徴点152が時計回りの方向に大きくずれている様子が示されている。
【0041】
なお、探索処理では、
図13A〜
図13Cに示した姿勢に限られず、モデルパターン150の特徴点151,152と対象物100の入力側特徴点120,121の比較は姿勢を変えながら複数行われる。比較結果ごとにモデルパターン150の特徴点151,152のそれぞれに対象物100の入力側特徴点120,121と一致したか否かがモデルパターン記憶部31に記憶される。例えば、
図13Aの場合は溝部分の特徴点152は一致していると判断され、
図13B及び
図13Cの場合は溝部分の特徴点152が一致していないと判断される。なお、ここでいう一致とは、完全に一致している場合に加え、一部一致している場合も含まれる。
【0042】
対象物100の検出処理の後、画像処理部32の頻度算出部42は、対応する特徴点が見つかった頻度を算出する(ステップS204)。検出結果のそれぞれにおいて、モデルパターン150の各特徴点151,152に対応する入力側特徴点120,121が入力画像に含まれていたか否かを確認し、モデルパターン150の特徴点151,152ごとに、入力画像中に対応する特徴点が見つかった頻度を算出する。
【0043】
上述の通り、複数回の検出処理の結果、モデルパターン150の各特徴点151,152のそれぞれは、一致する頻度が異なってくる。今回の例において、モデルパターン150を対象物100の位置で所定の姿勢ごとに回転させた場合、溝部分の特徴点152は、正しい位置又はその近傍のときのみ一致するが、円周方向に沿う特徴点151は溝部分の特徴点152が対象物100の溝101に一致していない状態でも一致が検出されることになる。従って、溝部分の特徴点152とそれ以外の特徴点151の間で対象物100に一致した頻度が大きく異なることになる。
【0044】
ステップS204の処理の後、画像処理部32の特徴点選択部43は、モデルパターン150の特徴点151,152と対象物100の入力側特徴点120,121が一致する頻度に基づいて注目する特徴点を特定する処理を行う。本実施形態では、正しい検出結果(
図13A参照)と正しくない検出結果(
図13B,
図13C参照)を考慮に入れて注目する特徴点が特定される。
【0045】
本実施形態では、正しい検出結果か正しくない検出結果かは、モデルパターン150として設定された位置及び姿勢に基づいて判定される。即ち、複数の検出結果のうち、モデルパターン150の作成基になった入力画像におけるモデルパターン150の位置及び姿勢に一致する検出結果が正しい検出結果と判定され、それ以外の検出結果を正しくない検出結果と判定する。そして、モデルパターン150の特徴点151,152のうち、正しい検出結果において対応する特徴点が入力画像から見つかった頻度が高く、間違った検出結果においては対応する特徴点が入力画像から見つかった頻度の低い特徴点を、注目する特徴点とする。今回の例では、モデルパターン150の溝部分の特徴点152が注目すべき特徴点に設定される。
【0046】
なお、本実施形態では、モデルパターン指定領域60が設定されているので、正しい検出結果と正しくない検出結果の区別をより正確に行うことができる。なお、モデルパターン150の領域のみを切り取って対象物の検出を行ってもよい。これによっても、正しい検出結果と正しくない検出結果の区別をより正確に行うことができる。
【0047】
以上、
図1の対象物100を検出対象とする例について説明した。
図2に示す例の場合も同様の方法で領域210内の円に位置する特徴点を注目する特徴点として設定することができる。なお、
図2に示す例では、直線200に対して平行移動等を用いることで、円201を注目する特徴点として正確に選択することができる。
【0048】
以上、注目する特徴点の特定について説明した。実際の画像検出処理では、この注目する特徴点を加味して画像から対象物100の検出が行われる。例えば、モデルパターン150を含むようにモデルパターン指定領域60を設定した後、当該領域内をモデルパターン150に基づいてマッチングを行って当該モデルパターンの位置及び姿勢を求める。次に、注目する特徴点に基づいてモデルパターンの位置及び姿勢を精密に求めることができる。なお、注目する特徴点を利用する方法は、この方法に限られず、対象物を検出する種々の処理に適用可能である。
【0049】
上記実施形態によれば、以下のような効果を奏する。
本実施形態の画像処理装置10は、複数の特徴点151,152からなる基準形状情報としてのモデルパターン150に基づいて入力画像90から対象物100を検出する画像処理装置10であって、対象物100を含む1又は複数の入力画像90を取得し、モデルパターン150の特徴点151,152と入力画像90から抽出した入力側特徴点120,121を比較した検出結果を取得する結果取得部41と、モデルパターン150と対象物100の位置姿勢が異なる複数の検出結果を取得し、モデルパターン150の特徴点151,152ごとに、入力画像90中に入力側特徴点120,121が検出された頻度を算出する頻度算出部42と、頻度算出部42が算出した頻度に基づいてモデルパターン150が有する複数の特徴点151,152から注目する特徴点を選択する特徴点選択部43と、を備える。
【0050】
これにより、
図1〜
図3に示すような形状を検出対象とする場合であっても、注目すべき特徴点を選び出すことができ、対象物100の位置や姿勢を安定して検出可能となる。また、頻度に基づいて注目する特徴点が選択されるので、人間による注目すべき特徴点であるか否かの判断を必要とせず、ケアレスミス等によって注目すべきではない特徴点を選択する事態の発生を防止できる。
【0051】
また、本実施形態では、特徴点選択部43は、モデルパターン150が有する複数の特徴点151,152のうち、対象物100が正しく検出された正検出結果では入力側特徴点121が検出される頻度が高く、対象物が正しく検出されなかった誤検出結果では入力側特徴点121が検出される頻度が低い特徴点152を注目する特徴点として選択する。
【0052】
これにより、正検出結果と誤検出結果の結果が考慮されるので、注目すべき特徴点をより精度よく選択することができる。
【0053】
また、本実施形態では、結果取得部41は、モデルパターン150を作成した基になった基礎画像を入力画像90として取得し、特徴点選択部43は、基礎画像と同じ位置姿勢の対象物100が検出された検出結果を正検出結果とし、正検出結果と異なる位置姿勢の検出結果を誤検出結果とする。
【0054】
これにより、明らかなモデルパターン150の作成基になった基礎画像における対象物100の位置姿勢を利用して正検出結果を正確かつ自動的に特定することができ、注目すべき特徴点をより一層正確に選択することができる。
【0055】
上記実施形態では、モデルパターン150の作成基になった入力画像90を利用して正しい検出結果と正しくない検出結果を自動的に区別する構成であるが、この構成に限定されない。次に、正しい検出結果か正しくない検出結果をユーザが判定する変形例について説明する。
【0056】
図14は、変形例のモデルパターンの注目範囲を設定する手順を示すフローチャートである。本変形例では、
図3に示す2種類の第1の対象物300と第2の対象物301の中から対象物301を区別して検出する方法について説明する。上述のように、対象物300と対象物301の間には、第2の対象物301に円302がある点のみが相違点とする。
【0057】
図14に示すように、まず、第1の対象物300及び第2の対象物301の入力画像を取得する(ステップS301)。ここでいう複数とは、第1の対象物300の入力画像と第2の対象物301の入力画像のことである。
【0058】
次に、第1の対象物300及び第2の対象物301のエッジを抽出する。エッジの抽出方法は、上記実施形態と同様である。次に、入力画像からモデルパターンを用いて対象物301の検出を行う(ステップS302)。なお、モデルパターンは、入力される入力画像から作成してもよいし、予め設定されていてもよい。
【0059】
次に、ユーザがユーザインターフェースである操作盤35を操作し、正しいと判断した検出結果にはOK情報を設定し、正しくないと判断した検出結果にはNG情報を設定する(ステップS304)。即ち、第1の対象物300を検出していた場合には当該検出結果にNG情報を設定し、第2の対象物301を検出した場合には当該検出結果にOK情報を設定する。次に、頻度算出部42が頻度を算出し(ステップS305)、算出した頻度から特徴点選択部43が注目する特徴点を選択する(ステップS306)。
【0060】
以上説明したように、本変形例では、複数の検出結果のそれぞれに対し、正検出結果又は誤検出結果を設定する正誤設定部としての操作盤35を更に備える。
【0061】
これにより、
図3に示すような形状においても、ユーザが設定したOK情報とNG情報に基づいて注目する特徴点を選択して正確に第2の対象物301を検出することができる。
【0062】
以上、本発明の好ましい実施形態及び変形例について説明したが、本発明は、上述の実施形態に制限されるものではなく、適宜変更が可能である。
【0063】
上記実施形態では、撮像装置で撮像した画像から基準形状情報としてのモデルパターンを形成する方法を説明したが、この構成に限定されない。モデルパターンを円や矩形等の図形を組み合せて生成することもできる。
【0064】
また、2次元の画像データに限られず、3次元の形状情報や3次元の点群情報を有する3次元データに対しても本発明を適用することができる。次に、3次元データに本発明を適用した例として、3次元CADデータに基づいてモデルパターンを作成する方法について説明する。まず、(1)カメラの撮像面上に原点を置くローカル座標系を定義する。(2)カメラを予めキャリブレーションしておく。これにより、ローカル座標系で表現された3次元点をカメラ画像上の2次元点に変換することができる。(3)次に、ローカル座標系にCADデータとして表現された対象物を仮想的に配置する。配置されたCADデータはローカル座標系で表現される。カメラと対象物の相対関係は、実際に対象物の検出を行うときの相対関係と略同じになるようにする。(4)輪郭線から所定の間隔で輪郭線上の3次元点群を取得する。必要があれば、CADデータの中からモデルパターンとして使う輪郭線を指定する。(5)3次元点群をカメラ画像上に投影し、画像座標系上の2次元点群を求める。CADデータ上で明暗の向きを指定すれば、輝度勾配の方向も付加することができる。ここで、明暗の向きとは、輪郭線を境界とする二つの領域のどちらが明るいかを示すものである。(6)そして、求められた画像座標系上の2次元点群をモデル座標系で表現するように変換し、特徴点としてモデルパターン記憶部に記憶する。
【0065】
なお、3次元データに基づいてモデルパターンを作成する場合においても、注目する特徴点の特定方法は、上記実施形態と同様である。位置や姿勢の異なる検出結果に基づいて注目する特徴点が特定される。