説明

画像処理装置、画像処理プログラム、ロボット装置及び画像処理方法

【課題】抽出したい対象エッジ近傍にノイズエッジが出るような場合でも、安定して検出対象エッジのみを選択することが可能な画像処理装置、画像処理プログラム、ロボット装置及び画像処理方法を提供する。
【解決手段】入力画像に対してエッジ抽出を行い、抽出した複数のエッジから、その全ての交点位置を算出し、算出した全交点位置にて、予め登録しておいた検出対象エッジの交点位置、つまり検出対象ワークの角部を中心位置とした特徴点テンプレート画像を用いてパターンマッチングを行う。そして、全交点位置でのパターンマッチングの結果から、最も類似度の高かった交点位置を形成するエッジを、検出対象エッジに対応する検出対象とするエッジとして選択することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理によってエッジを検出するための画像処理装置、画像処理プログラム、ロボット装置及び画像処理方法に関するものである。
【背景技術】
【0002】
画像処理の分野において、画像から物体の端面等を知るための方法としてエッジ抽出がよく知られている。エッジを抽出する方法としては、ソーベルフィルタやラプラシアンフィルタ等が一般的に知られている。この手法として、以下のエッジ抽出装置を用いる画像処理方法が知られている。エッジ抽出で起こりやすい問題としては、ノイズエッジの出現がある。エッジ抽出結果により物体の位置計測を行う際には、このノイズの影響が誤差の原因となる。なお、エッジとは、濃淡画像内で輝度(画素値)が急激に変化している部分を意味する。
【0003】
そこで、ノイズエッジの影響を低減するためのエッジ検出方法(画像処理方法)が存在する。この検出方法では、入力画像上に空間微分の対象とする処理対象領域を設定し、エッジ方向毎の複数のマスクにより処理対象領域内の入力画像を空間微分し、各マスクによる演算結果を領域単位で評価し、最も有効なマスクによる演算結果からエッジ画像を生成する。(特許文献1参照)
【0004】
即ち、このエッジ検出方法では、エッジ抽出する領域をウィンドウにより絞り込み、ウィンドウ内のみをエッジ抽出することにより、入力画像内の抽出したい対象エッジ付近のみでエッジ抽出を行うことができる。従って、余分な背景等のエッジを抽出せずに済み、ノイズの影響を低減し、エッジ抽出のための処理時間を短縮することができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平5−159055号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上記特許文献1記載のエッジ検出方法によると、抽出したい対象エッジ近傍にノイズエッジが出るような場合には、ウィンドウによるエッジ抽出領域の絞り込みにも限界がある。そのため、設定したウィンドウ内にノイズエッジが出るような場合には、ノイズを除去することが困難になる虞がある。
【0007】
そこで本発明は、抽出したい対象エッジ近傍にノイズエッジが出るような場合でも、安定して検出対象エッジのみを選択することが可能な画像処理装置、画像処理プログラム、ロボット装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、予めワークを撮像した参照画像上にて、検出対象となるエッジ同士の交点を中心として作成されたパターンマッチング用の特徴点テンプレートを記憶した記憶部と、取得した入力画像からエッジを抽出するエッジ抽出部と、前記エッジ抽出部が抽出した各エッジについて、前記入力画像上における他のエッジとの交点を算出するエッジ交点算出部と、記憶されている前記特徴点テンプレートを用いて、前記エッジ交点算出部によって算出された前記入力画像上の交点にてパターンマッチングを行うパターンマッチング部と、前記パターンマッチングにて最も類似度の高い交点を形成するエッジを前記検出対象となるエッジとして選択するエッジ選択部と、を備えたことを特徴とする画像処理装置にある。
【0009】
また本発明は、コンピュータを、前記画像処理装置として機能させることを特徴とする画像処理プログラムにある。
【0010】
本発明は、ワークを撮像するカメラと、前記画像処理装置と、前記カメラが撮像した入力画像に基づいて前記画像処理装置が算出した位置情報に基づき、ワークに対して所定の処理を施す作動アームと、を備えたことを特徴とするロボット装置にある。
【0011】
また本発明は、画像処理装置が、予めワークを撮像した参照画像上の複数の検出対象となるエッジを抽出し、前記検出対象となるエッジの交点位置を中心としたパターンマッチング用の特徴点テンプレートを作成する特徴点テンプレート作成工程と、前記画像処理装置が、取得した入力画像上のワークから複数のエッジを抽出し、前記抽出された複数のエッジそれぞれの交点を算出するエッジ交点算出工程と、前記画像処理装置が、前記エッジ交点算出工程にて取得した各エッジの交点位置と前記特徴点テンプレートとに基づいてパターンマッチングするパターンマッチング工程と、前記画像処理装置が、前記パターンマッチングにて最も類似度の高い位置の交点を形成するエッジを検出対象となるエッジとして選択するエッジ選択工程と、を備えたことを特徴とする画像処理方法にある。
【発明の効果】
【0012】
本発明によれば、検出対象のエッジ近傍にノイズエッジが出現しても、入力画像から抽出したエッジの交点と特徴点テンプレートとに基づきパターンマッチングを行う。これにより、ノイズエッジを含むエッジのうちの何れが検出対象となるエッジかを、的確に判断することができる。そのため、抽出したい検出対象エッジの近傍にノイズエッジが出るような場合でも、それらノイズエッジは採用せず、安定して検出対象エッジのみを選択することが可能となる。
【図面の簡単な説明】
【0013】
【図1】(a),(b)は本発明に係る実施の形態の画像処理装置を備えたロボット装置を説明するための図である。
【図2】本実施形態におけるハード構成を示すブロック図である。
【図3】第1の実施形態における画像処理装置の画像処理部の構成を詳細に示すブロック図である。
【図4】第1の実施形態を説明するためのフローチャート図である。
【図5】(a),(b),(c)は第1の実施形態を説明するための図である。
【図6】(a),(b)は第1の実施形態を説明するための図である。
【図7】(a),(b)は第1の実施形態を説明するための図である。
【図8】(a),(b)は第1の実施形態を説明するための図である。
【図9】第2の実施形態における画像処理装置の画像処理部の構成を詳細に示すブロック図である。
【図10】第2の実施形態を説明するためのフローチャート図である。
【図11】(a),(b),(c)は第2の実施形態を説明するための図である。
【図12】(a),(b)は第2の実施形態を説明するための図である。
【図13】(a),(b),(c)は第2の実施形態を説明するための図である。
【図14】(a),(b)は第2の実施形態を説明するための図である。
【図15】(a),(b)は第2の実施形態を説明するための図である。
【発明を実施するための形態】
【0014】
以下、図面に沿って、本発明に係る実施形態について説明する。まず、図1(a),(b)を参照して、本発明に係る画像処理装置及びこの画像処理装置を備えるロボット装置について説明するが、本発明に係る画像処理方法については、画像処理装置及びロボット装置の説明を通して説明されるものとする。なお、図1(a)は画像処理装置を備えるロボット装置100におけるカメラ1及び画像処理部2を用いて載置部4上の検出対象ワーク3からエッジを検出する際の概略構成図であり、図1(b)はロボット装置100の全体を示す斜視図である。
【0015】
<第1の実施形態>
図1(a),(b)に示すように、ロボット装置100は、検出対象ワーク(ワーク)3を照らす照明装置105と、照明装置105に照らされた検出対象ワーク3を撮像するカメラ1とを備えている。さらに、ロボット装置100は、コンピュータ19により構成される画像処理装置と、カメラ1が撮像した入力画像に基づいて画像処理装置が算出した位置情報に基づき、検出対象ワーク3に対して所定の処理を施す作動アーム102とを備えている。
【0016】
即ち、ロボット装置100は、複数の枠部材104によって形成されたブース103と、ブース103の下部中央に配置された架台101とを備えている。さらに、架台101上部に配置された作動アーム102と、作動アーム102に対向する位置に配置された状態で検出対象ワーク3を載置する載置部4とを備えている。架台101内には、画像処理部2等を有するコンピュータ19が配設されている。ブース103における作動アーム102の上方には、撮像手段としてのカメラ1と、このカメラ1の両隣りに配置された照明装置105とが配設されている。作動アーム102は、多関節シリアルリンクロボットから成り、その各関節は、コンピュータ19に基づくモータ駆動によりアーム先端部102aの位置及び姿勢が制御される。
【0017】
カメラ1は、不図示のレンズにより光像を形成し、不図示の撮像素子により光像を撮像信号に変換し、この撮像信号を、エッジの検出対象である入力画像として画像処理部2に提供する撮像手段を構成している。
【0018】
図1(a)に示すように、アーム先端部102aに取り付けられたハンド部102bは、検出対象ワーク(ワーク)3を把持及び解放し得るように構成されている。ハンド部102bは、把持した検出対象ワーク3の位置・姿勢を修正するのに十分な範囲においての、手首に相当する関節での回転機構や多関節指機構等の制御機構を備えている。このようなハンド部102bを有する作動アーム102の駆動制御は、カメラ1からの撮像データに基づく画像処理部2、及びこの画像処理部2からのデータを用いるコンピュータ19によって実現される。
【0019】
図2に示すように、コンピュータ19のコンピュータ本体19aには、CPU5を主体として機能する画像処理部2等が収納されている。CPU5には、画像処理部2の他に、RAM29及びROM30等がバス7を介して接続されている。RAM29には、CPU5に対する作業領域が確保される。ROM30には、コンピュータ19の基本制御に必要なプログラムが格納されている。画像処理部2は、後述する画像処理機能の他、CPU5からの描画指示に応じて液晶等のディスプレイ40を制御して所定の画像を表示させる機能を備える。コンピュータ19における上記ROM30には、コンピュータ19を画像処理装置として機能させるための画像処理プログラムが格納されている。
【0020】
CPU5には、バス7に接続された入力インターフェース(インターフェイス)41を介して、入力装置としてのキーボード42及びマウス43が接続されており、エッジ検出等に必要な指定情報、メニュー選択指示、あるいはその他の指示の入力を可能としている。また、CPU5には、バス7に接続された入力インターフェース47を介して、カメラ1が接続されている。そして、バス7には、記録ディスク読取装置44が接続されており、種々の情報を記録した記録媒体45を読み込み、例えばROM30に格納できるようになっている。また、バス7には、通信装置46が接続されており、上述のような記録媒体45を使用せずに、通信装置46を介してインターネット等から配信される種々の情報をダウンロード可能に構成されている。
【0021】
次に、図3を参照して、本発明に係る第1の実施形態におけるコンピュータ19内の画像処理部2の詳細について説明する。即ち、図3に示すように、本実施形態の画像処理部2は、特徴点テンプレート画像記憶部8、入力画像記憶部9、エッジ抽出画像記憶部10、交点座標記憶部11、パターンマッチング処理部26、及び選択部27を有している。
【0022】
このような画像処理部2では、カメラ1から提供された入力画像22(図6参照)が入力画像記憶部9に記憶され、またCPU5は、バス7を介して各記憶部8〜11並びにパターンマッチング処理部26、選択部27に適時アクセスして各処理を実行する。
【0023】
特徴点テンプレート画像記憶部8は、CPU5の指示に従って、パターンマッチング用の特徴点テンプレート画像(テンプレート画像)を記憶する。即ち、CPU5及び特徴点テンプレート画像記憶部8により、記憶部が構成されている。この記憶部は、予め検出対象ワーク3を撮像して作成されて入力画像記憶部9から取得された参照画像21(図5参照)上にて、検出対象となるエッジ12,13同士の交点を中心として作成されたパターンマッチング用の特徴点テンプレートを記憶する。
【0024】
入力画像記憶部9は、CPU5の指示に従って、カメラ1から提供された入力画像22(図6参照)を記憶する。CPU5は、カメラ1から提供された入力画像22から、検出対象の画像の比較対象となるワーク画像である参照画像21(図5参照)を作成して、入力画像記憶部9に記憶させる。
【0025】
エッジ抽出画像記憶部10は、CPU5の指示に従って、入力画像22や参照画像21からエッジを抽出して、その画像を記憶する。即ち、CPU5及びエッジ抽出画像記憶部10により、取得した入力画像22からエッジ25(図6参照)を抽出するエッジ抽出部が構成されている。
【0026】
交点座標記憶部11は、CPU5の指示に従って、図8(b)(図15(a)も併せて参照)に示すようなエッジ組合せ交点表を作成し、記憶する。即ち、上記エッジ抽出部(5,10)が抽出した各エッジ25について、入力画像上における他のエッジとの交点を算出するエッジ交点算出部が構成されている。
【0027】
パターンマッチング処理部26は、CPU5の指示に従って、上記エッジ交点算出部(5,11)によって抽出された各エッジ25の交点位置にて上記特徴点テンプレートを使用して、ターゲットパターンと比較して形状がマッチするかのパターンマッチングを行う。即ち、CPU5及びパターンマッチング処理部26により、記憶されている特徴点テンプレートを用いて、上記エッジ交点算出部(5,11)によって算出された入力画像22上の交点にてパターンマッチングを行うパターンマッチング部が構成されている。
【0028】
特徴点テンプレートは、上記交点を中心として参照画像21から切取られた所定範囲の画像である。上記パターンマッチング部(5,26)は、入力画像22上の各交点位置での輝度値及びこの各交点を中心とした上記所定範囲内の平均輝度値に基づいて、特徴点テンプレートとの類似度を示す相関値を求める。
【0029】
選択部27は、CPU5の指示に従って、上記パターンマッチングにて最も類似度の高い位置の交点をなすエッジ(例えば図8の25,25)を検出対象エッジとして選択する。即ち、CPU5及び選択部27により、パターンマッチングにて最も類似度の高い交点を形成するエッジ25,25を検出対象となるエッジ(検出対象エッジ)として選択するエッジ選択部が構成されている。
【0030】
上記特徴点テンプレートは、上記交点を中心として参照画像21から切取られた所定範囲の画像である。上記パターンマッチング部(5,26)は、入力画像22上の各交点位置での輝度値及びこの各交点を中心とした上記所定範囲内の平均輝度値に基づいて、上記特徴点テンプレートとの類似度を示す相関値を求める。
【0031】
図4は、本実施の形態を説明するためのフローチャート図である。各処理フローの詳細を下記で説明する。すなわち、ステップS1,S2は、特徴点テンプレート作成工程を示す処理である。この特徴点テンプレート作成工程では、画像処理装置が、予めワークを撮像した参照画像上の複数の検出対象となるエッジを抽出し、検出対象となるエッジの交点位置を中心としたパターンマッチング用の特徴点テンプレートを作成する。この特徴点テンプレート作成工程について、図5(a),(b),(c)を参照して説明する。
【0032】
まず、ステップS1において、カメラ1から提供された画像を参照画像21として、入力画像記憶部9に記憶する。この参照画像21を、図5(a)に示す。
【0033】
検出対象とするエッジを、図5(b)における検出対象エッジ12,13とする。検出対象エッジ12,13としては、各エッジの交点部周辺にワークの特徴的な部分(例えばワークの角部)が含まれるエッジを選択する。
【0034】
ステップS2では、図5(c)に示すように、検出対象エッジ12,13の交点部を中心としたn×nの矩形領域14を参照画像21から切り出す。そして、パターンマッチング用の特徴点テンプレート画像16(図8(a)参照)として、画像処理部2の特徴点テンプレート画像記憶部8に記憶しておく。これらの処理は、CPU5及び特徴点テンプレート画像記憶部8からなる記憶部により実行される。なお、入力画像記憶部9に記憶した参照画像21は、ステップS2以降は使用しないため、削除してよい。
【0035】
続くステップS3は、画像入力工程であり、カメラ1より得た検出対象となる検出対象ワーク3の入力画像22を、入力画像記憶部9に記憶する。
【0036】
ステップS4は、CPU5及びエッジ抽出画像記憶部10からなるエッジ抽出部によるエッジ抽出工程であり、入力画像22に対してエッジ抽出を行う。このエッジ抽出工程では、画像処理装置(19)が、取得した入力画像22上の検出対象ワーク3から複数のエッジ25を抽出するが、例えば、入力画像22に対して代表的手法であるソーベルフィルタを使用してエッジ抽出を行う。
【0037】
つまり、エッジ抽出では、物体の輪郭を抽出することができ、図6(a)に示す入力画像22からエッジを抽出するエッジ抽出を行って、ノイズエッジを含む全てのエッジ25を抽出すると、図6(b)に示す画像のようになる。図6(b)では、実際の輪郭部を示す部分以外にもノイズエッジが出ている状態が現れている。ノイズエッジは、画像の背景や物体の傷、照明の輝度ムラ等、様々な原因により発生する。エッジ抽出フィルタとしては様々なものが知られているが、ソーベルフィルタ以外のものを使用しても良い。
【0038】
抽出したエッジは、交点部近傍での連結性があるものを1つのエッジとしてまとめるラべリング処理を行い、それぞれの連結したエッジに番号を振り分け識別できるようにしておく(エッジ1、2、3・・・)。そして、生成されたエッジ画像は、画像処理部2のエッジ抽出画像記憶部10に記憶される。
【0039】
ステップS5は、CPU5及び交点座標記憶部11からなるエッジ交点算出部によるエッジ交点算出工程であり、図7(a)に示すように、前記抽出した各エッジ(検出対象エッジ12,13を含む)の交点位置を算出する。ここで、或るエッジの両端点座標が(x1,y1)、(x2,y2)、他のエッジの両端点座標が(x3,y3)、(x4,y4)とした場合、2つのエッジは下記式(1)、式(2)の直線で表すことができる。
【0040】
【数1】

【0041】
【数2】

【0042】
それぞれの直線の傾きをa、c、切片をb、dとすると、これらa、b、c、dは下記式(3)でそれぞれ表され、また2直線の交点座標(x,y)は、連立方程式(4)の解となる。式(4)の解、つまり交点座標を式(5)に示す。
【0043】
【数3】

【0044】
【数4】

【0045】
【数5】

【0046】
交点座標(x,y)を、入力画像22から抽出した全エッジに対して求める。また、全エッジの組合せと交点座標とを識別できるように、図7(b)に示すような「エッジ組合せ交点表」を作成して、交点座標記憶部11に記憶しておく。
【0047】
ステップS6は、CPU5及びパターンマッチング処理部26によるパターンマッチング工程を示し、この工程では、画像処理装置(19)が、上記エッジ交点算出工程にて取得した各エッジの交点位置と特徴点テンプレートとに基づいてパターンマッチングする。即ち、入力画像22に対して前記算出した全交点座標位置と、テンプレート作成工程で作成した特徴点テンプレート画像16とを使用して、パターンマッチングを行う。
【0048】
まず、図8(a)に示すように、交点座標記憶部11に記憶した上記「エッジ組合せ交点表」を参照し、1つ目の交点座標位置を中心とするn×nの矩形領域15を、入力画像22から抜き出す。そして、正規化相関法により、ステップS2で作成した特徴点テンプレート画像16との相関値を求める。
【0049】
そして、上記「エッジ組合せ交点表」に、求めた相関値を追記していく。上記処理を全エッジ交点に対して行い、図8(b)に示すように、「エッジ組合せ交点表」に「相関値」を追加した表データを作成し、交点座標記憶部11に記憶しておく。正規化相関法による相関値は、下記式(6)で算出することができる。
【0050】
【数6】

【0051】
上記画像内の位置(i,j)とは、被探索画像からテンプレート画像に対応する大きさの画像を抽出した画像内とテンプレート画像内との位置のことを表す。相関値は、1から−1で表わされ、1が最も類似性が高いことを示す。この処理は、パターンマッチング処理部26が、CPU5の指示に従って実行する。
【0052】
ステップS7は、CPU5及び選択部27によるエッジ選択工程を示す。この工程では、画像処理装置(19)が、上記パターンマッチングにて最も類似度の高い位置の交点を形成するエッジを検出対象となるエッジとして選択する。
【0053】
つまり、前記作成したエッジ組合せ交点表の相関値を比較し、最も相関値の大きいエッジの組合せを選択する。例えば図8(b)に示す表の場合、相関値が最も大きいのは、一方のエッジ番号が「1」、もう一方のエッジ番号が「5」の場合である。この選択したエッジを、検出対象エッジ12,13にマッチする検出対象エッジとする。この処理は、選択部27が、CPU5の指示に従って実行する。
【0054】
上記処理フローが、交差関係にある1組の検出対象エッジに対する本発明に係る画像処理方法である。
【0055】
そして、ステップS8にて、2組以上の交差関係にある検出対象エッジを検出する場合は、ステップS6に戻り、新たなテンプレート画像を用いたパターンマッチングにより、エッジ選択を行っていく。設定した検出対象エッジの組数分でのエッジ選択が完了すれば、ステップS3に戻り、次の入力画像からエッジの検出を行い、次に撮像する入力画像22がなければ、処理は終了となる(ステップS9)。
【0056】
このように第1の実施形態では、抽出した各エッジの交点で、特徴点テンプレート画像16によるマッチングを行う。これにより、予め参照画像21から取得した検出対象エッジ12,13に対応する2本の検出対象エッジ(例えば図8(a)のエッジ25,25)のみを、複数のエッジの中から選択することができる。また、複数の特徴点テンプレート画像を用いれば、さらに多くの検出対象エッジを迅速に選択することが可能となる。
【0057】
すなわち、以上の本実施形態では、まず入力画像22に対してエッジ抽出を行い、抽出した複数のエッジ25…から、その全ての交点位置を算出する。さらに、算出した全交点位置にて、予め登録しておいた検出対象エッジ12,13の交点位置、つまり検出対象ワーク3の角部を中心位置とした特徴点テンプレート画像16を用いてパターンマッチングを行う。そして、全交点位置でのパターンマッチングの結果から、最も類似度の高かった交点位置を形成するエッジを、検出対象エッジ12,13に対応する検出対象とするエッジとして選択することができる。
【0058】
このような画像処理方法により、検出対象エッジ近傍にノイズエッジが出現しても、前記交点部でのパターンマッチングにより、どのエッジが検出対象のエッジかを判断し、ノイズエッジを有効に除去することができる。つまり、検出対象エッジ12,13の交点部分に係る特徴点テンプレート画像16を持っておくことで、検出対象エッジ同士の交点位置でのパターンマッチングでは類似度が高くなる。このため、ノイズエッジ同士、ノイズエッジと検出対象エッジとの交点位置では類似度が低くなり、検出対象エッジのみを的確に検出することができる。
【0059】
<第2の実施形態>
以下、本発明に係る画像処理装置及びこの画像処理装置を備えるロボット装置について説明するが、本実施形態においても本発明に係る画像処理方法については、画像処理装置及びロボット装置の説明を通して説明されるものとする。本第2の実施形態は、図1等で説明した第1の実施形態に比し、ウィンドウ設定用テンプレート画像記憶部17、ウィンドウ位置記憶部18、ウィンドウ位置設定部31を付設した点が異なるが、他の部分は略々同一である。そのため、主要部分に同一符号を付して説明を省略する。なお、ウィンドウとは、エッジ抽出を行うための処理領域を意味する。
【0060】
即ち、図9に示すように、本実施形態の画像処理部2は、特徴点テンプレート画像記憶部8、ウィンドウ設定用テンプレート画像記憶部17、ウィンドウ位置記憶部18、及びウィンドウ位置設定部31を備えている。さらに、この画像処理部2は、入力画像記憶部9、エッジ抽出画像記憶部10、交点座標記憶部11、パターンマッチング処理部26、及び選択部27を備えている。
【0061】
CPU5及び特徴点テンプレート画像記憶部8からなる記憶部は、参照画像21上にて設定されたエッジの抽出範囲を記憶している。この記憶部(5,8)は、エッジの抽出範囲を含むように参照画像21を切取った探索用テンプレート画像28(図12の破線矩形部分)、この探索用テンプレート画像内における上記エッジ抽出範囲の位置情報(ウィンドウの中心位置と角度、長さ)を記憶する。
【0062】
ウィンドウ設定用テンプレート画像記憶部17は、参照画像21から切り出された、ワーク全体を囲う領域を記憶するものであり、参照画像21からエッジを抽出する際のウィンドウ位置を記憶する。
【0063】
ウィンドウ位置設定部31は、ウィンドウ設定用テンプレート画像記憶部17に記憶されたウィンドウ位置に基づいて、入力画像22上の検出対象ワーク3からエッジ25を抽出する際のエッジ抽出ウィンドウ24a,24bを設定する。
【0064】
ウィンドウ位置記憶部18は、上記ウィンドウ位置設定部31によって複数設定されたウィンドウ領域(エッジ抽出ウィンドウ24a,24b)を記憶する。
【0065】
CPU5及びウィンドウ位置設定部31により、入力画像22上にて上記エッジ抽出部(5,10)がエッジ25を抽出する範囲であるエッジ抽出ウィンドウ24a,24bを設定するウィンドウ設定部が構成されている。このウィンドウ設定部(5,31)は、上記記憶部(5,8)に記憶されたエッジ抽出範囲を入力画像22上に適応して、エッジ抽出ウィンドウ24a,24bを設定する。
【0066】
上記ウィンドウ設定部(5,31)は、上記探索用テンプレート画像28を用いて入力画像22内をパターンマッチングにより探索する。そして、このパターンマッチングの結果及び記憶された上記探索用テンプレート画像28内における上記エッジ抽出範囲の位置情報を用いて、入力画像22内に上記エッジ抽出ウィンドウ24a,24bを設定する。
【0067】
図10は、本第2の実施形態を説明するためのフローチャート図である。各処理フローの詳細を下記で説明する。
【0068】
ステップS11,S12は、第1の実施形態におけるステップS1,S2と同様であり、まずステップS11にて、カメラ1から提供された画像を参照画像21(図5(a)参照)として入力画像記憶部9に記憶する。検出対象となるエッジを、図5(b)の検出対象エッジ12,13とする。検出対象とするエッジ12,13としては、各エッジの交点部周辺にワークの特徴的な部分(例えばワークの角部)が含まれるエッジを選択する。
【0069】
ステップS12では、図5(c)に示すように、検出対象エッジ12,13の交点部を中心としたn×nの矩形領域14を参照画像21から切り出す。そして、パターンマッチング用の特徴点テンプレート画像(特徴点テンプレート)として、特徴点テンプレート画像記憶部8に記憶しておく。
【0070】
ステップS13,S14は、第1の実施形態では無かったウィンドウ位置記憶工程を示すものである。即ち、ステップS13では、図11(a)の破線で示すように、ワーク全体を囲う矩形領域23を参照画像21から切り出す。そして、ウィンドウ設定用テンプレート画像(探索用テンプレート画像28)として、画像処理部2のウィンドウ設定用テンプレート画像記憶部17に記憶しておく。
【0071】
ステップS14では、図11(a)の参照画像21から切り出した矩形領域23内で、検出対象エッジの周辺に、図11(b)の破線で示すようなウィンドウ領域24を設定する。このウィンドウ領域24の設定は、図11(c)に示すように、前記切り出したウィンドウ設定用テンプレート画像内での領域の中心位置(x,y)と長辺の長さL1、短辺の長さL2、画像のx軸に対する角度θをそれぞれ設定する。そして、ウィンドウ領域24をエッジ抽出ウィンドウ24a,24bとして複数設定し、画像処理部2のウィンドウ位置記憶部18に記憶しておく。つまりウィンドウ位置設定部31は、検出対象物体の概略位置をパターンマッチングで探索するためのウィンドウ設定用テンプレート画像(探索用テンプレート画像28)と、ウィンドウ設定用テンプレート画像内でのウィンドウの中心位置と角度、長さを記憶する。
【0072】
ステップS15は、第1の実施形態のステップS3と同様であり、カメラ1より得た検出対象ワーク3の入力画像22を入力画像記憶部9に記憶する。
【0073】
ステップS16は、第1の実施形態では無かったウィンドウ位置設定工程を示すものである。この工程では、入力画像22と探索用テンプレート画像(ウィンドウ設定用テンプレート画像)28とでパターンマッチングを行い、前記記憶しているウィンドウ位置から、入力画像22内にウィンドウ領域を設定する。
【0074】
即ち、上記ウィンドウ設定部(5,31)は、エッジの抽出範囲を含むように参照画像21を切取った探索用テンプレート画像28を用いて、入力画像22内をパターンマッチングにより探索する。このパターンマッチングの結果及び記憶された探索用テンプレート画像28内におけるエッジ抽出範囲の位置情報を用いて、入力画像22内にエッジ抽出ウィンドウ24a,24bを設定する。つまり、探索用テンプレート画像(ウィンドウ設定用テンプレート画像)28と入力画像22とを用いてパターンマッチングを行う。さらに、パターンマッチング結果と、探索用テンプレート画像28内でのウィンドウの中心位置と角度、長さにより、入力画像22に対しエッジ抽出ウィンドウ24a,24bを設定する。なお、入力画像記憶部9に記憶した参照画像21は、ステップS14以降は使用しないため、入力画像記憶部9から削除してよい。
【0075】
パターンマッチング方法としては、正規化相関法や残差逐次検定法など様々な方法が知られおり、いずれを使用しても可能であるが、本第2の実施形態では、正規化相関法を使用したパターンマッチング、ウィンドウ設定方法について説明する。
【0076】
ここで、正規化相関法の相関値を求める計算式として前記式(6)を用いる。以下、正規化相関法によるパターンマッチングの方法について説明する。
【0077】
即ち、図12(a),(b)に示すように、テンプレート画像を被探索画像内においてピクセル単位で範囲をずらしながら、この被探索画像から探索用テンプレート画像(テンプレート画像)28に対応する大きさの画像を抽出する。そして、抽出した画像と探索用テンプレート画像28との相関値Rを、前記式(6)により求めていく。前記相関値が最も高い位置を、マッチングした位置とする。
【0078】
次に、ウィンドウ設定方法を下記に示す。図13(a)に示すように、前記正規化相関法によりマッチングした位置を(Xm,Ym)とすると、ウィンドウ領域の中心位置は、探索用テンプレート画像(ウィンドウ設定用テンプレート画像)28内の(x,y)の位置にある。そのため、入力画像内の(Xm+x,Ym+y)の位置が、ウィンドウ領域24(エッジ抽出ウィンドウ24a,24b)の中心位置となる。
【0079】
そして、入力画像内の(Xm+x,Ym+y)を領域の中心位置として、予め記憶しておいた長辺の長さL1、短辺の長さL2、画像のx軸に対する角度θの領域を、入力画像22内に設定する。同様に全ての記憶しておいたエッジ抽出ウィンドウ24a,24bに対し、入力画像22内にエッジ抽出ウィンドウ24a,24bを設定する。この処理は、エッジ抽出ウィンドウ設定工程で行う。
【0080】
ただし、検出の際にカメラ1に対して検出対象ワーク3が毎回一定の位置に来るような場合は、パターンマッチングを使用せず、予め入力画像22内のウィンドウ設定位置を参照画像21により決めておくことができる。従って、毎回同じ位置にウィンドウを設定すればよい。つまり、前記マッチング位置(Xm,Ym)を固定値とすることができる。また、その場合は、探索用テンプレート画像(ウィンドウ設定用テンプレート画像)28の作成、記憶を行う必要はない。
【0081】
ステップS17は、エッジ抽出工程であり、入力画像22の前記エッジ抽出ウィンドウ24a,24b内のみでのエッジ抽出を行う。具体的なエッジ抽出方法は、第1の実施形態におけるステップS4と同様である。つまり、入力画像22に対して、例えばソーベルフィルタを使用してエッジ抽出を行う。
【0082】
図13(b)の破線で示すエッジ抽出ウィンドウ24a,24b内のみでのエッジ抽出を行った結果を、図13(c)に示す。上記処理は、エッジ抽出部によって行う。
【0083】
ステップS18は、第1の実施形態では無かったエッジ交点算出工程を示すものである。この工程では図14(a),(b)のように、抽出したエッジ抽出ウィンドウ24a,24b内のエッジが交差関係にある、上記ウィンドウ24a内の各エッジ25,25,25と、上記ウィンドウ24b内の各エッジ25,25との全交点位置を算出する。
【0084】
即ち、上記ウィンドウ24aの或るエッジの両端点座標が(x1,y1)、(x2,y2)、上記ウィンドウ24bの或るエッジの両端点座標が(x3,y3)、(x4,y4)とすると、エッジ抽出ウィンドウ24aのエッジは前記式(1)の直線で表される。エッジ抽出ウィンドウ24bのエッジは、前記式(2)の直線で表すことができる。そして、第1の実施形態と同様に、エッジの交点座標を求めることができる。
【0085】
図14(b)に示すように、交点座標(x,y)を、エッジ抽出ウィンドウ24a内の各エッジ25,25,25と、エッジ抽出ウィンドウ24b内の各エッジエッジ25,25との全交点に関して求める。また、エッジ抽出ウィンドウ24a,24bの全エッジの組合せと交点座標とを識別できるように、図15(a)に示すような「エッジ組合せ交点表」を作成し、交点座標記憶部11に記憶しておく。上記処理は、エッジ交点算出工程で行う。
【0086】
ステップS19は、第1の実施形態におけるステップS6と同様である。つまり、ステップS19では、入力画像22に対して算出した全交点座標位置と、特徴点テンプレート作成部にて作成した特徴点テンプレート画像とを使用して、パターンマッチングを行う。
【0087】
ステップS20は、第1の実施形態におけるステップS7と同様である。つまり、エッジ選択工程であり、前記作成した「エッジ組合せ交点表」の相関値を比較し、最も相関値の大きいエッジの組合せを選択する。例えば図15(b)の表の場合、相関値が最も大きいのはエッジ抽出ウィンドウ24aのエッジ番号が「2」、エッジ抽出ウィンドウ24bのエッジ番号が「1」のときである。そこで、前記選択したエッジを、検出対象エッジとする。上記処理は、エッジ選択部にて行う。
【0088】
上記処理フローが、交差関係にある1組のエッジ抽出ウィンドウに対する本発明の画像処理方法である。ステップS21では、2組以上のエッジ抽出ウィンドウが交差関係にあるウィンドウを設定している場合、ステップS18に戻り、新たな交差関係にあるウィンドウ内のエッジ選択を行っていく。
【0089】
そして、設定した全ウィンドウ内でのエッジ選択が完了すると、ステップS15に戻り、次の入力画像22からエッジの検出を行い、次に撮像する入力画像22がなければ、処理は終了となる(ステップS22)。
【0090】
以上のように本実施形態では、エッジ抽出を行う場合、検出対象エッジ付近にエッジ抽出を行うウィンドウ領域24を限定し、設定した複数の限定領域(エッジ抽出ウィンドウ24a,24b)のみでエッジ抽出を行う。そして、1つのエッジ抽出ウィンドウ24a内のエッジと交差関係にあるエッジ抽出ウィンドウ24b内のエッジとの全交点を算出する。そして、算出した全交点位置で、予め登録しておいた検出対象エッジの交点位置、つまりワークの角部を中心位置としたテンプレート画像を用いてパターンマッチングを行う。
【0091】
この方法により、検出対象エッジ12,13付近のエッジ25,25のみを抽出できるため、入力画像22の全体に対してエッジ抽出を行うよりも、抽出されるノイズエッジの数が低減する。これにより、不必要なエッジを余分に抽出せずに済むため、より正確に交点位置でのパターンマッチングを行うことができる。また、抽出されるエッジの数が減ることにより、交点位置の算出、パターンマッチングの回数が減るため高速に処理を行うことができる。
【0092】
また、検出したい検出対象エッジ12,13付近にエッジ抽出を行うウィンドウ領域24を限定する際に、検出対象物体の概略位置を探索するための探索用テンプレート画像(ウィンドウ設定用テンプレート画像)28を記憶する。そして、探索用テンプレート画像28内でのウィンドウの位置、角度、長さを記憶しておく。さらに、入力画像22と探索用テンプレート画像28とによりパターンマッチングを行い、その結果により、限定領域(エッジ抽出ウィンドウ24a,24b)の位置を決める。これにより、検出対象物体の計測位置がカメラ1に対して固定されていなくても、パターンマッチングにより検出対象物体の概略位置がわかるため、検出対象エッジ12,13付近にエッジ抽出領域を設定することができる。
【符号の説明】
【0093】
1…カメラ、3…ワーク(検出対象ワーク)、5,8…記憶部(CPU,特徴点テンプレート画像記憶部)、5,10…エッジ抽出部(CPU,エッジ抽出画像記憶部)、5,11…エッジ交点算出部(CPU,交点座標記憶部)、5,26…パターンマッチング部(CPU,パターンマッチング処理部)、5,27…エッジ選択部(CPU,選択部)、5,31…ウィンドウ設定部(CPU,ウィンドウ位置設定部)、12,13…エッジ(検出対象エッジ)、19…コンピュータ、21…参照画像、22…入力画像、24…ウィンドウ領域、24a,24b…エッジ抽出ウィンドウ、25,25〜25…エッジ、28…探索用テンプレート画像、100…ロボット装置、102…作動アーム

【特許請求の範囲】
【請求項1】
予めワークを撮像した参照画像上にて、検出対象となるエッジ同士の交点を中心として作成されたパターンマッチング用の特徴点テンプレートを記憶した記憶部と、
取得した入力画像からエッジを抽出するエッジ抽出部と、
前記エッジ抽出部が抽出した各エッジについて、前記入力画像上における他のエッジとの交点を算出するエッジ交点算出部と、
記憶されている前記特徴点テンプレートを用いて、前記エッジ交点算出部によって算出された前記入力画像上の交点にてパターンマッチングを行うパターンマッチング部と、
前記パターンマッチングにて最も類似度の高い交点を形成するエッジを前記検出対象となるエッジとして選択するエッジ選択部と、を備えた、
ことを特徴とする画像処理装置。
【請求項2】
前記入力画像上にて前記エッジ抽出部がエッジを抽出する範囲であるエッジ抽出ウィンドウを設定するウィンドウ設定部を備え、
前記記憶部は、前記参照画像上にて設定されたエッジの抽出範囲を記憶しており、
前記ウィンドウ設定部は、前記記憶部に記憶されたエッジ抽出範囲を前記入力画像上に適応して前記エッジ抽出ウィンドウを設定する、
請求項1記載の画像処理装置。
【請求項3】
前記記憶部は、前記エッジの抽出範囲を含むように前記参照画像を切取った探索用テンプレート画像、前記探索用テンプレート画像内における前記エッジ抽出範囲の位置情報を記憶し、
前記ウィンドウ設定部は、前記探索用テンプレート画像を用いて前記入力画像内をパターンマッチングにより探索し、このパターンマッチングの結果及び記憶された前記探索用テンプレート画像内における前記エッジ抽出範囲の位置情報を用いて、前記入力画像内に前記エッジ抽出ウィンドウを設定する、
請求項2記載の画像処理装置。
【請求項4】
前記特徴点テンプレートは、前記交点を中心として前記参照画像から切取られた所定範囲の画像であり、
前記パターンマッチング部は、前記入力画像上の各交点位置での輝度値及びこの各交点を中心とした前記所定範囲内の平均輝度値に基づいて、前記特徴点テンプレートとの類似度を示す相関値を求める、
請求項1乃至3のいずれか1項記載の画像処理装置。
【請求項5】
コンピュータを、請求項1乃至4のいずれか1項記載の画像処理装置として機能させる、
ことを特徴とする画像処理プログラム。
【請求項6】
ワークを撮像するカメラと、
請求項1乃至4のいずれか1項記載の画像処理装置と、
前記カメラが撮像した入力画像に基づいて前記画像処理装置が算出した位置情報に基づき、ワークに対して所定の処理を施す作動アームと、を備えた、
ことを特徴とするロボット装置。
【請求項7】
画像処理装置が、予めワークを撮像した参照画像上の複数の検出対象となるエッジを抽出し、前記検出対象となるエッジの交点位置を中心としたパターンマッチング用の特徴点テンプレートを作成する特徴点テンプレート作成工程と、
前記画像処理装置が、取得した入力画像上のワークから複数のエッジを抽出し、前記抽出された複数のエッジそれぞれの交点を算出するエッジ交点算出工程と、
前記画像処理装置が、前記エッジ交点算出工程にて取得した各エッジの交点位置と前記特徴点テンプレートとに基づいてパターンマッチングするパターンマッチング工程と、
前記画像処理装置が、前記パターンマッチングにて最も類似度の高い位置の交点を形成するエッジを検出対象となるエッジとして選択するエッジ選択工程と、を備えた、
ことを特徴とする画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2013−114547(P2013−114547A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−261696(P2011−261696)
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】