(57)【特許請求の範囲】
【請求項１】
予めワークを撮像した参照画像上にて、検出対象となるエッジ同士の交点を含むパターンマッチング用の特徴点テンプレートを記憶した記憶部と、
取得した入力画像からエッジを抽出するエッジ抽出部と、
前記エッジ抽出部が抽出した各エッジを含む直線を求め、前記入力画像上における他のエッジを含む直線との交点を算出するエッジ交点算出部と、
記憶されている前記特徴点テンプレートを用いて、前記エッジ交点算出部によって算出された前記入力画像上の交点にてパターンマッチングを行うパターンマッチング部と、
前記パターンマッチングにて最も類似度の高い交点を形成するエッジを前記検出対象となるエッジとして選択するエッジ選択部と、を備えた、
ことを特徴とする画像処理装置。
【請求項２】
前記入力画像上にて前記エッジ抽出部がエッジを抽出する範囲であるエッジ抽出ウィンドウを設定するウィンドウ設定部を備え、
前記記憶部は、前記参照画像上にて設定されたエッジの抽出範囲を記憶しており、
前記ウィンドウ設定部は、前記記憶部に記憶されたエッジ抽出範囲を前記入力画像上に適応して前記エッジ抽出ウィンドウを設定する、
請求項１記載の画像処理装置。
【請求項３】
前記記憶部は、前記エッジの抽出範囲を含むように前記参照画像を切取った探索用テンプレート画像、前記探索用テンプレート画像内における前記エッジ抽出範囲の位置情報を記憶し、
前記ウィンドウ設定部は、前記探索用テンプレート画像を用いて前記入力画像内をパターンマッチングにより探索し、このパターンマッチングの結果及び記憶された前記探索用テンプレート画像内における前記エッジ抽出範囲の位置情報を用いて、前記入力画像内に前記エッジ抽出ウィンドウを設定する、
請求項２記載の画像処理装置。
【請求項４】
前記特徴点テンプレートは、前記交点を中心として前記参照画像から切取られた所定範囲の画像であり、
前記パターンマッチング部は、前記入力画像上の各交点位置での輝度値及びこの各交点を中心とした前記所定範囲内の平均輝度値に基づいて、前記特徴点テンプレートとの類似度を示す相関値を求める、
請求項１乃至３のいずれか１項記載の画像処理装置。
【請求項５】
コンピュータを、請求項１乃至４のいずれか１項記載の画像処理装置として機能させる、
ことを特徴とするコンピュータ読み取り可能な画像処理プログラム。
【請求項６】
ワークを撮像するカメラと、
請求項１乃至４のいずれか１項記載の画像処理装置と、
前記カメラが撮像した入力画像に基づいて前記画像処理装置が算出した位置情報に基づき、ワークに対して所定の処理を施す作動アームと、を備えた、
ことを特徴とするロボット装置。
【請求項７】
画像処理装置が、予めワークを撮像した参照画像上の複数の検出対象となるエッジを抽出し、前記検出対象となるエッジの交点位置を中心としたパターンマッチング用の特徴点テンプレートを作成する特徴点テンプレート作成工程と、
前記画像処理装置が、取得した入力画像上のワークから複数のエッジを抽出し、前記抽出された複数のエッジそれぞれの交点を算出するエッジ交点算出工程と、
前記画像処理装置が、前記エッジ交点算出工程にて取得した各エッジの交点位置と前記特徴点テンプレートとに基づいてパターンマッチングするパターンマッチング工程と、
前記画像処理装置が、前記パターンマッチングにて最も類似度の高い位置の交点を形成するエッジを検出対象となるエッジとして選択するエッジ選択工程と、を備えた、
ことを特徴とする画像処理方法。
【請求項８】
請求項１乃至４のいずれか１項記載の画像処理装置と、
ワークを撮影し撮影データを前記画像処理装置に送信可能に構成されているカメラと、
前記撮影データに基づいて前記ワークに対して作業を行うロボットと、
を備えることを特徴とするロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理によってエッジを検出するための画像処理装置、画像処理プログラム、ロボット装置及び画像処理方法に関するものである。
【背景技術】
【０００２】
画像処理の分野において、画像から物体の端面等を知るための方法としてエッジ抽出がよく知られている。エッジを抽出する方法としては、ソーベルフィルタやラプラシアンフィルタ等が一般的に知られている。この手法として、以下のエッジ抽出装置を用いる画像処理方法が知られている。エッジ抽出で起こりやすい問題としては、ノイズエッジの出現がある。エッジ抽出結果により物体の位置計測を行う際には、このノイズの影響が誤差の原因となる。なお、エッジとは、濃淡画像内で輝度（画素値）が急激に変化している部分を意味する。
【０００３】
そこで、ノイズエッジの影響を低減するためのエッジ検出方法（画像処理方法）が存在する。この検出方法では、入力画像上に空間微分の対象とする処理対象領域を設定し、エッジ方向毎の複数のマスクにより処理対象領域内の入力画像を空間微分し、各マスクによる演算結果を領域単位で評価し、最も有効なマスクによる演算結果からエッジ画像を生成する。（特許文献１参照）
【０００４】
即ち、このエッジ検出方法では、エッジ抽出する領域をウィンドウにより絞り込み、ウィンドウ内のみをエッジ抽出することにより、入力画像内の抽出したい対象エッジ付近のみでエッジ抽出を行うことができる。従って、余分な背景等のエッジを抽出せずに済み、ノイズの影響を低減し、エッジ抽出のための処理時間を短縮することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−１５９０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記特許文献１記載のエッジ検出方法によると、抽出したい対象エッジ近傍にノイズエッジが出るような場合には、ウィンドウによるエッジ抽出領域の絞り込みにも限界がある。そのため、設定したウィンドウ内にノイズエッジが出るような場合には、ノイズを除去することが困難になる虞がある。
【０００７】
そこで本発明は、抽出したい対象エッジ近傍にノイズエッジが出るような場合でも、安定して検出対象エッジのみを選択することが可能な画像処理装置、画像処理プログラム、ロボット装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、予めワークを撮像した参照画像上にて、検出対象となるエッジ同士の交点を含むパターンマッチング用の特徴点テンプレートを記憶した記憶部と、取得した入力画像からエッジを抽出するエッジ抽出部と、前記エッジ抽出部が抽出した各エッジを含む直線を求め、前記入力画像上における他のエッジを含む直線との交点を算出するエッジ交点算出部と、記憶されている前記特徴点テンプレートを用いて、前記エッジ交点算出部によって算出された前記入力画像上の交点にてパターンマッチングを行うパターンマッチング部と、前記パターンマッチングにて最も類似度の高い交点を形成するエッジを前記検出対象となるエッジとして選択するエッジ選択部と、を備えたことを特徴とする画像処理装置にある。
【０００９】
また本発明は、コンピュータを、前記画像処理装置として機能させることを特徴とするコンピュータ読み取り可能な画像処理プログラムにある。
【００１０】
本発明は、ワークを撮像するカメラと、前記画像処理装置と、前記カメラが撮像した入力画像に基づいて前記画像処理装置が算出した位置情報に基づき、ワークに対して所定の処理を施す作動アームと、を備えたことを特徴とするロボット装置にある。
【００１１】
また本発明は、画像処理装置が、予めワークを撮像した参照画像上の複数の検出対象となるエッジを抽出し、前記検出対象となるエッジの交点位置を中心としたパターンマッチング用の特徴点テンプレートを作成する特徴点テンプレート作成工程と、前記画像処理装置が、取得した入力画像上のワークから複数のエッジを抽出し、前記抽出された複数のエッジそれぞれの交点を算出するエッジ交点算出工程と、前記画像処理装置が、前記エッジ交点算出工程にて取得した各エッジの交点位置と前記特徴点テンプレートとに基づいてパターンマッチングするパターンマッチング工程と、前記画像処理装置が、前記パターンマッチングにて最も類似度の高い位置の交点を形成するエッジを検出対象となるエッジとして選択するエッジ選択工程と、を備えたことを特徴とする画像処理方法にある。
また本発明は、前記画像処理装置と、ワークを撮影し撮影データを前記画像処理装置に送信可能に構成されているカメラと、前記撮影データに基づいて前記ワークに対して作業を行うロボットと、を備えることを特徴とするロボット装置にある。
【発明の効果】
【００１２】
本発明によれば、検出対象のエッジ近傍にノイズエッジが出現しても、入力画像から抽出したエッジの交点と特徴点テンプレートとに基づきパターンマッチングを行う。これにより、ノイズエッジを含むエッジのうちの何れが検出対象となるエッジかを、的確に判断することができる。そのため、抽出したい検出対象エッジの近傍にノイズエッジが出るような場合でも、それらノイズエッジは採用せず、安定して検出対象エッジのみを選択することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】（ａ），（ｂ）は本発明に係る実施の形態の画像処理装置を備えたロボット装置を説明するための図である。
【図２】本実施形態におけるハード構成を示すブロック図である。
【図３】第１の実施形態における画像処理装置の画像処理部の構成を詳細に示すブロック図である。
【図４】第１の実施形態を説明するためのフローチャート図である。
【図５】（ａ），（ｂ），（ｃ）は第１の実施形態を説明するための図である。
【図６】（ａ），（ｂ）は第１の実施形態を説明するための図である。
【図７】（ａ），（ｂ）は第１の実施形態を説明するための図である。
【図８】（ａ），（ｂ）は第１の実施形態を説明するための図である。
【図９】第２の実施形態における画像処理装置の画像処理部の構成を詳細に示すブロック図である。
【図１０】第２の実施形態を説明するためのフローチャート図である。
【図１１】（ａ），（ｂ），（ｃ）は第２の実施形態を説明するための図である。
【図１２】（ａ），（ｂ）は第２の実施形態を説明するための図である。
【図１３】（ａ），（ｂ），（ｃ）は第２の実施形態を説明するための図である。
【図１４】（ａ），（ｂ）は第２の実施形態を説明するための図である。
【図１５】（ａ），（ｂ）は第２の実施形態を説明するための図である。
【発明を実施するための形態】
【００１４】
以下、図面に沿って、本発明に係る実施形態について説明する。まず、図１（ａ），（ｂ）を参照して、本発明に係る画像処理装置及びこの画像処理装置を備えるロボット装置について説明するが、本発明に係る画像処理方法については、画像処理装置及びロボット装置の説明を通して説明されるものとする。なお、図１（ａ）は画像処理装置を備えるロボット装置１００におけるカメラ１及び画像処理部２を用いて載置部４上の検出対象ワーク３からエッジを検出する際の概略構成図であり、図１（ｂ）はロボット装置１００の全体を示す斜視図である。
【００１５】
＜第１の実施形態＞
図１（ａ），（ｂ）に示すように、ロボット装置１００は、検出対象ワーク（ワーク）３を照らす照明装置１０５と、照明装置１０５に照らされた検出対象ワーク３を撮像するカメラ１とを備えている。さらに、ロボット装置１００は、コンピュータ１９により構成される画像処理装置と、カメラ１が撮像した入力画像に基づいて画像処理装置が算出した位置情報に基づき、検出対象ワーク３に対して所定の処理を施す作動アーム１０２とを備えている。
【００１６】
即ち、ロボット装置１００は、複数の枠部材１０４によって形成されたブース１０３と、ブース１０３の下部中央に配置された架台１０１とを備えている。さらに、架台１０１上部に配置された作動アーム１０２と、作動アーム１０２に対向する位置に配置された状態で検出対象ワーク３を載置する載置部４とを備えている。架台１０１内には、画像処理部２等を有するコンピュータ１９が配設されている。ブース１０３における作動アーム１０２の上方には、撮像手段としてのカメラ１と、このカメラ１の両隣りに配置された照明装置１０５とが配設されている。作動アーム１０２は、多関節シリアルリンクロボットから成り、その各関節は、コンピュータ１９に基づくモータ駆動によりアーム先端部１０２ａの位置及び姿勢が制御される。
【００１７】
カメラ１は、不図示のレンズにより光像を形成し、不図示の撮像素子により光像を撮像信号に変換し、この撮像信号を、エッジの検出対象である入力画像として画像処理部２に提供する撮像手段を構成している。
【００１８】
図１（ａ）に示すように、アーム先端部１０２ａに取り付けられたハンド部１０２ｂは、検出対象ワーク（ワーク）３を把持及び解放し得るように構成されている。ハンド部１０２ｂは、把持した検出対象ワーク３の位置・姿勢を修正するのに十分な範囲においての、手首に相当する関節での回転機構や多関節指機構等の制御機構を備えている。このようなハンド部１０２ｂを有する作動アーム１０２の駆動制御は、カメラ１からの撮像データに基づく画像処理部２、及びこの画像処理部２からのデータを用いるコンピュータ１９によって実現される。
【００１９】
図２に示すように、コンピュータ１９のコンピュータ本体１９ａには、ＣＰＵ５を主体として機能する画像処理部２等が収納されている。ＣＰＵ５には、画像処理部２の他に、ＲＡＭ２９及びＲＯＭ３０等がバス７を介して接続されている。ＲＡＭ２９には、ＣＰＵ５に対する作業領域が確保される。ＲＯＭ３０には、コンピュータ１９の基本制御に必要なプログラムが格納されている。画像処理部２は、後述する画像処理機能の他、ＣＰＵ５からの描画指示に応じて液晶等のディスプレイ４０を制御して所定の画像を表示させる機能を備える。コンピュータ１９における上記ＲＯＭ３０には、コンピュータ１９を画像処理装置として機能させるための画像処理プログラムが格納されている。
【００２０】
ＣＰＵ５には、バス７に接続された入力インターフェース（インターフェイス）４１を介して、入力装置としてのキーボード４２及びマウス４３が接続されており、エッジ検出等に必要な指定情報、メニュー選択指示、あるいはその他の指示の入力を可能としている。また、ＣＰＵ５には、バス７に接続された入力インターフェース４７を介して、カメラ１が接続されている。そして、バス７には、記録ディスク読取装置４４が接続されており、種々の情報を記録した記録媒体４５を読み込み、例えばＲＯＭ３０に格納できるようになっている。また、バス７には、通信装置４６が接続されており、上述のような記録媒体４５を使用せずに、通信装置４６を介してインターネット等から配信される種々の情報をダウンロード可能に構成されている。
【００２１】
次に、図３を参照して、本発明に係る第１の実施形態におけるコンピュータ１９内の画像処理部２の詳細について説明する。即ち、図３に示すように、本実施形態の画像処理部２は、特徴点テンプレート画像記憶部８、入力画像記憶部９、エッジ抽出画像記憶部１０、交点座標記憶部１１、パターンマッチング処理部２６、及び選択部２７を有している。
【００２２】
このような画像処理部２では、カメラ１から提供された入力画像２２（図６参照）が入力画像記憶部９に記憶され、またＣＰＵ５は、バス７を介して各記憶部８〜１１並びにパターンマッチング処理部２６、選択部２７に適時アクセスして各処理を実行する。
【００２３】
特徴点テンプレート画像記憶部８は、ＣＰＵ５の指示に従って、パターンマッチング用の特徴点テンプレート画像（テンプレート画像）を記憶する。即ち、ＣＰＵ５及び特徴点テンプレート画像記憶部８により、記憶部が構成されている。この記憶部は、予め検出対象ワーク３を撮像して作成されて入力画像記憶部９から取得された参照画像２１（図５参照）上にて、検出対象となるエッジ１２，１３同士の交点を中心として作成されたパターンマッチング用の特徴点テンプレートを記憶する。
【００２４】
入力画像記憶部９は、ＣＰＵ５の指示に従って、カメラ１から提供された入力画像２２（図６参照）を記憶する。ＣＰＵ５は、カメラ１から提供された入力画像２２から、検出対象の画像の比較対象となるワーク画像である参照画像２１（図５参照）を作成して、入力画像記憶部９に記憶させる。
【００２５】
エッジ抽出画像記憶部１０は、ＣＰＵ５の指示に従って、入力画像２２や参照画像２１からエッジを抽出して、その画像を記憶する。即ち、ＣＰＵ５及びエッジ抽出画像記憶部１０により、取得した入力画像２２からエッジ２５（図６参照）を抽出するエッジ抽出部が構成されている。
【００２６】
交点座標記憶部１１は、ＣＰＵ５の指示に従って、図８（ｂ）（図１５（ａ）も併せて参照）に示すようなエッジ組合せ交点表を作成し、記憶する。即ち、上記エッジ抽出部（５，１０）が抽出した各エッジ２５について、入力画像上における他のエッジとの交点を算出するエッジ交点算出部が構成されている。
【００２７】
パターンマッチング処理部２６は、ＣＰＵ５の指示に従って、上記エッジ交点算出部（５，１１）によって抽出された各エッジ２５の交点位置にて上記特徴点テンプレートを使用して、ターゲットパターンと比較して形状がマッチするかのパターンマッチングを行う。即ち、ＣＰＵ５及びパターンマッチング処理部２６により、記憶されている特徴点テンプレートを用いて、上記エッジ交点算出部（５，１１）によって算出された入力画像２２上の交点にてパターンマッチングを行うパターンマッチング部が構成されている。
【００２８】
特徴点テンプレートは、上記交点を中心として参照画像２１から切取られた所定範囲の画像である。上記パターンマッチング部（５，２６）は、入力画像２２上の各交点位置での輝度値及びこの各交点を中心とした上記所定範囲内の平均輝度値に基づいて、特徴点テンプレートとの類似度を示す相関値を求める。
【００２９】
選択部２７は、ＣＰＵ５の指示に従って、上記パターンマッチングにて最も類似度の高い位置の交点をなすエッジ（例えば図８の２５１，２５５）を検出対象エッジとして選択する。即ち、ＣＰＵ５及び選択部２７により、パターンマッチングにて最も類似度の高い交点を形成するエッジ２５１，２５５を検出対象となるエッジ（検出対象エッジ）として選択するエッジ選択部が構成されている。
【００３０】
上記特徴点テンプレートは、上記交点を中心として参照画像２１から切取られた所定範囲の画像である。上記パターンマッチング部（５，２６）は、入力画像２２上の各交点位置での輝度値及びこの各交点を中心とした上記所定範囲内の平均輝度値に基づいて、上記特徴点テンプレートとの類似度を示す相関値を求める。
【００３１】
図４は、本実施の形態を説明するためのフローチャート図である。各処理フローの詳細を下記で説明する。すなわち、ステップＳ１，Ｓ２は、特徴点テンプレート作成工程を示す処理である。この特徴点テンプレート作成工程では、画像処理装置が、予めワークを撮像した参照画像上の複数の検出対象となるエッジを抽出し、検出対象となるエッジの交点位置を中心としたパターンマッチング用の特徴点テンプレートを作成する。この特徴点テンプレート作成工程について、図５（ａ），（ｂ），（ｃ）を参照して説明する。
【００３２】
まず、ステップＳ１において、カメラ１から提供された画像を参照画像２１として、入力画像記憶部９に記憶する。この参照画像２１を、図５（ａ）に示す。
【００３３】
検出対象とするエッジを、図５（ｂ）における検出対象エッジ１２，１３とする。検出対象エッジ１２，１３としては、各エッジの交点部周辺にワークの特徴的な部分（例えばワークの角部）が含まれるエッジを選択する。
【００３４】
ステップＳ２では、図５（ｃ）に示すように、検出対象エッジ１２，１３の交点部を中心としたｎ×ｎの矩形領域１４を参照画像２１から切り出す。そして、パターンマッチング用の特徴点テンプレート画像１６（図８（ａ）参照）として、画像処理部２の特徴点テンプレート画像記憶部８に記憶しておく。これらの処理は、ＣＰＵ５及び特徴点テンプレート画像記憶部８からなる記憶部により実行される。なお、入力画像記憶部９に記憶した参照画像２１は、ステップＳ２以降は使用しないため、削除してよい。
【００３５】
続くステップＳ３は、画像入力工程であり、カメラ１より得た検出対象となる検出対象ワーク３の入力画像２２を、入力画像記憶部９に記憶する。
【００３６】
ステップＳ４は、ＣＰＵ５及びエッジ抽出画像記憶部１０からなるエッジ抽出部によるエッジ抽出工程であり、入力画像２２に対してエッジ抽出を行う。このエッジ抽出工程では、画像処理装置（１９）が、取得した入力画像２２上の検出対象ワーク３から複数のエッジ２５を抽出するが、例えば、入力画像２２に対して代表的手法であるソーベルフィルタを使用してエッジ抽出を行う。
【００３７】
つまり、エッジ抽出では、物体の輪郭を抽出することができ、図６（ａ）に示す入力画像２２からエッジを抽出するエッジ抽出を行って、ノイズエッジを含む全てのエッジ２５を抽出すると、図６（ｂ）に示す画像のようになる。図６（ｂ）では、実際の輪郭部を示す部分以外にもノイズエッジが出ている状態が現れている。ノイズエッジは、画像の背景や物体の傷、照明の輝度ムラ等、様々な原因により発生する。エッジ抽出フィルタとしては様々なものが知られているが、ソーベルフィルタ以外のものを使用しても良い。
【００３８】
抽出したエッジは、交点部近傍での連結性があるものを１つのエッジとしてまとめるラべリング処理を行い、それぞれの連結したエッジに番号を振り分け識別できるようにしておく（エッジ１、２、３・・・）。そして、生成されたエッジ画像は、画像処理部２のエッジ抽出画像記憶部１０に記憶される。
【００３９】
ステップＳ５は、ＣＰＵ５及び交点座標記憶部１１からなるエッジ交点算出部によるエッジ交点算出工程であり、図７（ａ）に示すように、前記抽出した各エッジ（検出対象エッジ１２，１３を含む）の交点位置を算出する。ここで、或るエッジの両端点座標が（ｘ１，ｙ１）、（ｘ２，ｙ２）、他のエッジの両端点座標が（ｘ３，ｙ３）、（ｘ４，ｙ４）とした場合、２つのエッジは下記式（１）、式（２）の直線で表すことができる。
【００４０】
【数１】
0005939775.tif 000002
【００４１】
【数２】
0005939775.tif 000003
【００４２】
それぞれの直線の傾きをａ、ｃ、切片をｂ、ｄとすると、これらａ、ｂ、ｃ、ｄは下記式（３）でそれぞれ表され、また２直線の交点座標（ｘ，ｙ）は、連立方程式（４）の解となる。式（４）の解、つまり交点座標を式（５）に示す。
【００４３】
【数３】
0005939775.tif 000004
【００４４】
【数４】
0005939775.tif 000005
【００４５】
【数５】
0005939775.tif 000006
【００４６】
交点座標（ｘ，ｙ）を、入力画像２２から抽出した全エッジに対して求める。また、全エッジの組合せと交点座標とを識別できるように、図７（ｂ）に示すような「エッジ組合せ交点表」を作成して、交点座標記憶部１１に記憶しておく。
【００４７】
ステップＳ６は、ＣＰＵ５及びパターンマッチング処理部２６によるパターンマッチング工程を示し、この工程では、画像処理装置（１９）が、上記エッジ交点算出工程にて取得した各エッジの交点位置と特徴点テンプレートとに基づいてパターンマッチングする。即ち、入力画像２２に対して前記算出した全交点座標位置と、テンプレート作成工程で作成した特徴点テンプレート画像１６とを使用して、パターンマッチングを行う。
【００４８】
まず、図８（ａ）に示すように、交点座標記憶部１１に記憶した上記「エッジ組合せ交点表」を参照し、１つ目の交点座標位置を中心とするｎ×ｎの矩形領域１５を、入力画像２２から抜き出す。そして、正規化相関法により、ステップＳ２で作成した特徴点テンプレート画像１６との相関値を求める。
【００４９】
そして、上記「エッジ組合せ交点表」に、求めた相関値を追記していく。上記処理を全エッジ交点に対して行い、図８（ｂ）に示すように、「エッジ組合せ交点表」に「相関値」を追加した表データを作成し、交点座標記憶部１１に記憶しておく。正規化相関法による相関値は、下記式（６）で算出することができる。
【００５０】
【数６】
0005939775.tif 000007
【００５１】
上記画像内の位置（ｉ，ｊ）とは、被探索画像からテンプレート画像に対応する大きさの画像を抽出した画像内とテンプレート画像内との位置のことを表す。相関値は、１から−１で表わされ、１が最も類似性が高いことを示す。この処理は、パターンマッチング処理部２６が、ＣＰＵ５の指示に従って実行する。
【００５２】
ステップＳ７は、ＣＰＵ５及び選択部２７によるエッジ選択工程を示す。この工程では、画像処理装置（１９）が、上記パターンマッチングにて最も類似度の高い位置の交点を形成するエッジを検出対象となるエッジとして選択する。
【００５３】
つまり、前記作成したエッジ組合せ交点表の相関値を比較し、最も相関値の大きいエッジの組合せを選択する。例えば図８（ｂ）に示す表の場合、相関値が最も大きいのは、一方のエッジ番号が「１」、もう一方のエッジ番号が「５」の場合である。この選択したエッジを、検出対象エッジ１２，１３にマッチする検出対象エッジとする。この処理は、選択部２７が、ＣＰＵ５の指示に従って実行する。
【００５４】
上記処理フローが、交差関係にある１組の検出対象エッジに対する本発明に係る画像処理方法である。
【００５５】
そして、ステップＳ８にて、２組以上の交差関係にある検出対象エッジを検出する場合は、ステップＳ６に戻り、新たなテンプレート画像を用いたパターンマッチングにより、エッジ選択を行っていく。設定した検出対象エッジの組数分でのエッジ選択が完了すれば、ステップＳ３に戻り、次の入力画像からエッジの検出を行い、次に撮像する入力画像２２がなければ、処理は終了となる（ステップＳ９）。
【００５６】
このように第１の実施形態では、抽出した各エッジの交点で、特徴点テンプレート画像１６によるマッチングを行う。これにより、予め参照画像２１から取得した検出対象エッジ１２，１３に対応する２本の検出対象エッジ（例えば図８（ａ）のエッジ２５１，２５５）のみを、複数のエッジの中から選択することができる。また、複数の特徴点テンプレート画像を用いれば、さらに多くの検出対象エッジを迅速に選択することが可能となる。
【００５７】
すなわち、以上の本実施形態では、まず入力画像２２に対してエッジ抽出を行い、抽出した複数のエッジ２５…から、その全ての交点位置を算出する。さらに、算出した全交点位置にて、予め登録しておいた検出対象エッジ１２，１３の交点位置、つまり検出対象ワーク３の角部を中心位置とした特徴点テンプレート画像１６を用いてパターンマッチングを行う。そして、全交点位置でのパターンマッチングの結果から、最も類似度の高かった交点位置を形成するエッジを、検出対象エッジ１２，１３に対応する検出対象とするエッジとして選択することができる。
【００５８】
このような画像処理方法により、検出対象エッジ近傍にノイズエッジが出現しても、前記交点部でのパターンマッチングにより、どのエッジが検出対象のエッジかを判断し、ノイズエッジを有効に除去することができる。つまり、検出対象エッジ１２，１３の交点部分に係る特徴点テンプレート画像１６を持っておくことで、検出対象エッジ同士の交点位置でのパターンマッチングでは類似度が高くなる。このため、ノイズエッジ同士、ノイズエッジと検出対象エッジとの交点位置では類似度が低くなり、検出対象エッジのみを的確に検出することができる。
【００５９】
＜第２の実施形態＞
以下、本発明に係る画像処理装置及びこの画像処理装置を備えるロボット装置について説明するが、本実施形態においても本発明に係る画像処理方法については、画像処理装置及びロボット装置の説明を通して説明されるものとする。本第２の実施形態は、図１等で説明した第１の実施形態に比し、ウィンドウ設定用テンプレート画像記憶部１７、ウィンドウ位置記憶部１８、ウィンドウ位置設定部３１を付設した点が異なるが、他の部分は略々同一である。そのため、主要部分に同一符号を付して説明を省略する。なお、ウィンドウとは、エッジ抽出を行うための処理領域を意味する。
【００６０】
即ち、図９に示すように、本実施形態の画像処理部２は、特徴点テンプレート画像記憶部８、ウィンドウ設定用テンプレート画像記憶部１７、ウィンドウ位置記憶部１８、及びウィンドウ位置設定部３１を備えている。さらに、この画像処理部２は、入力画像記憶部９、エッジ抽出画像記憶部１０、交点座標記憶部１１、パターンマッチング処理部２６、及び選択部２７を備えている。
【００６１】
ＣＰＵ５及び特徴点テンプレート画像記憶部８からなる記憶部は、参照画像２１上にて設定されたエッジの抽出範囲を記憶している。この記憶部（５，８）は、エッジの抽出範囲を含むように参照画像２１を切取った探索用テンプレート画像２８（図１２の破線矩形部分）、この探索用テンプレート画像内における上記エッジ抽出範囲の位置情報（ウィンドウの中心位置と角度、長さ）を記憶する。
【００６２】
ウィンドウ設定用テンプレート画像記憶部１７は、参照画像２１から切り出された、ワーク全体を囲う領域を記憶するものであり、参照画像２１からエッジを抽出する際のウィンドウ位置を記憶する。
【００６３】
ウィンドウ位置設定部３１は、ウィンドウ設定用テンプレート画像記憶部１７に記憶されたウィンドウ位置に基づいて、入力画像２２上の検出対象ワーク３からエッジ２５を抽出する際のエッジ抽出ウィンドウ２４ａ，２４ｂを設定する。
【００６４】
ウィンドウ位置記憶部１８は、上記ウィンドウ位置設定部３１によって複数設定されたウィンドウ領域（エッジ抽出ウィンドウ２４ａ，２４ｂ）を記憶する。
【００６５】
ＣＰＵ５及びウィンドウ位置設定部３１により、入力画像２２上にて上記エッジ抽出部（５，１０）がエッジ２５を抽出する範囲であるエッジ抽出ウィンドウ２４ａ，２４ｂを設定するウィンドウ設定部が構成されている。このウィンドウ設定部（５，３１）は、上記記憶部（５，８）に記憶されたエッジ抽出範囲を入力画像２２上に適応して、エッジ抽出ウィンドウ２４ａ，２４ｂを設定する。
【００６６】
上記ウィンドウ設定部（５，３１）は、上記探索用テンプレート画像２８を用いて入力画像２２内をパターンマッチングにより探索する。そして、このパターンマッチングの結果及び記憶された上記探索用テンプレート画像２８内における上記エッジ抽出範囲の位置情報を用いて、入力画像２２内に上記エッジ抽出ウィンドウ２４ａ，２４ｂを設定する。
【００６７】
図１０は、本第２の実施形態を説明するためのフローチャート図である。各処理フローの詳細を下記で説明する。
【００６８】
ステップＳ１１，Ｓ１２は、第１の実施形態におけるステップＳ１，Ｓ２と同様であり、まずステップＳ１１にて、カメラ１から提供された画像を参照画像２１（図５（ａ）参照）として入力画像記憶部９に記憶する。検出対象となるエッジを、図５（ｂ）の検出対象エッジ１２，１３とする。検出対象とするエッジ１２，１３としては、各エッジの交点部周辺にワークの特徴的な部分（例えばワークの角部）が含まれるエッジを選択する。
【００６９】
ステップＳ１２では、図５（ｃ）に示すように、検出対象エッジ１２，１３の交点部を中心としたｎ×ｎの矩形領域１４を参照画像２１から切り出す。そして、パターンマッチング用の特徴点テンプレート画像（特徴点テンプレート）として、特徴点テンプレート画像記憶部８に記憶しておく。
【００７０】
ステップＳ１３，Ｓ１４は、第１の実施形態では無かったウィンドウ位置記憶工程を示すものである。即ち、ステップＳ１３では、図１１（ａ）の破線で示すように、ワーク全体を囲う矩形領域２３を参照画像２１から切り出す。そして、ウィンドウ設定用テンプレート画像（探索用テンプレート画像２８）として、画像処理部２のウィンドウ設定用テンプレート画像記憶部１７に記憶しておく。
【００７１】
ステップＳ１４では、図１１（ａ）の参照画像２１から切り出した矩形領域２３内で、検出対象エッジの周辺に、図１１（ｂ）の破線で示すようなウィンドウ領域２４を設定する。このウィンドウ領域２４の設定は、図１１（ｃ）に示すように、前記切り出したウィンドウ設定用テンプレート画像内での領域の中心位置（ｘ，ｙ）と長辺の長さＬ１、短辺の長さＬ２、画像のｘ軸に対する角度θをそれぞれ設定する。そして、ウィンドウ領域２４をエッジ抽出ウィンドウ２４ａ，２４ｂとして複数設定し、画像処理部２のウィンドウ位置記憶部１８に記憶しておく。つまりウィンドウ位置設定部３１は、検出対象物体の概略位置をパターンマッチングで探索するためのウィンドウ設定用テンプレート画像（探索用テンプレート画像２８）と、ウィンドウ設定用テンプレート画像内でのウィンドウの中心位置と角度、長さを記憶する。
【００７２】
ステップＳ１５は、第１の実施形態のステップＳ３と同様であり、カメラ１より得た検出対象ワーク３の入力画像２２を入力画像記憶部９に記憶する。
【００７３】
ステップＳ１６は、第１の実施形態では無かったウィンドウ位置設定工程を示すものである。この工程では、入力画像２２と探索用テンプレート画像（ウィンドウ設定用テンプレート画像）２８とでパターンマッチングを行い、前記記憶しているウィンドウ位置から、入力画像２２内にウィンドウ領域を設定する。
【００７４】
即ち、上記ウィンドウ設定部（５，３１）は、エッジの抽出範囲を含むように参照画像２１を切取った探索用テンプレート画像２８を用いて、入力画像２２内をパターンマッチングにより探索する。このパターンマッチングの結果及び記憶された探索用テンプレート画像２８内におけるエッジ抽出範囲の位置情報を用いて、入力画像２２内にエッジ抽出ウィンドウ２４ａ，２４ｂを設定する。つまり、探索用テンプレート画像（ウィンドウ設定用テンプレート画像）２８と入力画像２２とを用いてパターンマッチングを行う。さらに、パターンマッチング結果と、探索用テンプレート画像２８内でのウィンドウの中心位置と角度、長さにより、入力画像２２に対しエッジ抽出ウィンドウ２４ａ，２４ｂを設定する。なお、入力画像記憶部９に記憶した参照画像２１は、ステップＳ１４以降は使用しないため、入力画像記憶部９から削除してよい。
【００７５】
パターンマッチング方法としては、正規化相関法や残差逐次検定法など様々な方法が知られおり、いずれを使用しても可能であるが、本第２の実施形態では、正規化相関法を使用したパターンマッチング、ウィンドウ設定方法について説明する。
【００７６】
ここで、正規化相関法の相関値を求める計算式として前記式（６）を用いる。以下、正規化相関法によるパターンマッチングの方法について説明する。
【００７７】
即ち、図１２（ａ），（ｂ）に示すように、テンプレート画像を被探索画像内においてピクセル単位で範囲をずらしながら、この被探索画像から探索用テンプレート画像（テンプレート画像）２８に対応する大きさの画像を抽出する。そして、抽出した画像と探索用テンプレート画像２８との相関値Ｒを、前記式（６）により求めていく。前記相関値が最も高い位置を、マッチングした位置とする。
【００７８】
次に、ウィンドウ設定方法を下記に示す。図１３（ａ）に示すように、前記正規化相関法によりマッチングした位置を（Ｘｍ，Ｙｍ）とすると、ウィンドウ領域の中心位置は、探索用テンプレート画像（ウィンドウ設定用テンプレート画像）２８内の（ｘ，ｙ）の位置にある。そのため、入力画像内の（Ｘｍ＋ｘ，Ｙｍ＋ｙ）の位置が、ウィンドウ領域２４（エッジ抽出ウィンドウ２４ａ，２４ｂ）の中心位置となる。
【００７９】
そして、入力画像内の（Ｘｍ＋ｘ，Ｙｍ＋ｙ）を領域の中心位置として、予め記憶しておいた長辺の長さＬ１、短辺の長さＬ２、画像のｘ軸に対する角度θの領域を、入力画像２２内に設定する。同様に全ての記憶しておいたエッジ抽出ウィンドウ２４ａ，２４ｂに対し、入力画像２２内にエッジ抽出ウィンドウ２４ａ，２４ｂを設定する。この処理は、エッジ抽出ウィンドウ設定工程で行う。
【００８０】
ただし、検出の際にカメラ１に対して検出対象ワーク３が毎回一定の位置に来るような場合は、パターンマッチングを使用せず、予め入力画像２２内のウィンドウ設定位置を参照画像２１により決めておくことができる。従って、毎回同じ位置にウィンドウを設定すればよい。つまり、前記マッチング位置（Ｘｍ，Ｙｍ）を固定値とすることができる。また、その場合は、探索用テンプレート画像（ウィンドウ設定用テンプレート画像）２８の作成、記憶を行う必要はない。
【００８１】
ステップＳ１７は、エッジ抽出工程であり、入力画像２２の前記エッジ抽出ウィンドウ２４ａ，２４ｂ内のみでのエッジ抽出を行う。具体的なエッジ抽出方法は、第１の実施形態におけるステップＳ４と同様である。つまり、入力画像２２に対して、例えばソーベルフィルタを使用してエッジ抽出を行う。
【００８２】
図１３（ｂ）の破線で示すエッジ抽出ウィンドウ２４ａ，２４ｂ内のみでのエッジ抽出を行った結果を、図１３（ｃ）に示す。上記処理は、エッジ抽出部によって行う。
【００８３】
ステップＳ１８は、第１の実施形態では無かったエッジ交点算出工程を示すものである。この工程では図１４（ａ），（ｂ）のように、抽出したエッジ抽出ウィンドウ２４ａ，２４ｂ内のエッジが交差関係にある、上記ウィンドウ２４ａ内の各エッジ２５１，２５２，２５３と、上記ウィンドウ２４ｂ内の各エッジ２５４，２５５との全交点位置を算出する。
【００８４】
即ち、上記ウィンドウ２４ａの或るエッジの両端点座標が（ｘ１，ｙ１）、（ｘ２，ｙ２）、上記ウィンドウ２４ｂの或るエッジの両端点座標が（ｘ３，ｙ３）、（ｘ４，ｙ４）とすると、エッジ抽出ウィンドウ２４ａのエッジは前記式（１）の直線で表される。エッジ抽出ウィンドウ２４ｂのエッジは、前記式（２）の直線で表すことができる。そして、第１の実施形態と同様に、エッジの交点座標を求めることができる。
【００８５】
図１４（ｂ）に示すように、交点座標（ｘ，ｙ）を、エッジ抽出ウィンドウ２４ａ内の各エッジ２５１，２５２，２５３と、エッジ抽出ウィンドウ２４ｂ内の各エッジエッジ２５４，２５５との全交点に関して求める。また、エッジ抽出ウィンドウ２４ａ，２４ｂの全エッジの組合せと交点座標とを識別できるように、図１５（ａ）に示すような「エッジ組合せ交点表」を作成し、交点座標記憶部１１に記憶しておく。上記処理は、エッジ交点算出工程で行う。
【００８６】
ステップＳ１９は、第１の実施形態におけるステップＳ６と同様である。つまり、ステップＳ１９では、入力画像２２に対して算出した全交点座標位置と、特徴点テンプレート作成部にて作成した特徴点テンプレート画像とを使用して、パターンマッチングを行う。
【００８７】
ステップＳ２０は、第１の実施形態におけるステップＳ７と同様である。つまり、エッジ選択工程であり、前記作成した「エッジ組合せ交点表」の相関値を比較し、最も相関値の大きいエッジの組合せを選択する。例えば図１５（ｂ）の表の場合、相関値が最も大きいのはエッジ抽出ウィンドウ２４ａのエッジ番号が「２」、エッジ抽出ウィンドウ２４ｂのエッジ番号が「１」のときである。そこで、前記選択したエッジを、検出対象エッジとする。上記処理は、エッジ選択部にて行う。
【００８８】
上記処理フローが、交差関係にある１組のエッジ抽出ウィンドウに対する本発明の画像処理方法である。ステップＳ２１では、２組以上のエッジ抽出ウィンドウが交差関係にあるウィンドウを設定している場合、ステップＳ１８に戻り、新たな交差関係にあるウィンドウ内のエッジ選択を行っていく。
【００８９】
そして、設定した全ウィンドウ内でのエッジ選択が完了すると、ステップＳ１５に戻り、次の入力画像２２からエッジの検出を行い、次に撮像する入力画像２２がなければ、処理は終了となる（ステップＳ２２）。
【００９０】
以上のように本実施形態では、エッジ抽出を行う場合、検出対象エッジ付近にエッジ抽出を行うウィンドウ領域２４を限定し、設定した複数の限定領域（エッジ抽出ウィンドウ２４ａ，２４ｂ）のみでエッジ抽出を行う。そして、１つのエッジ抽出ウィンドウ２４ａ内のエッジと交差関係にあるエッジ抽出ウィンドウ２４ｂ内のエッジとの全交点を算出する。そして、算出した全交点位置で、予め登録しておいた検出対象エッジの交点位置、つまりワークの角部を中心位置としたテンプレート画像を用いてパターンマッチングを行う。
【００９１】
この方法により、検出対象エッジ１２，１３付近のエッジ２５１，２５５のみを抽出できるため、入力画像２２の全体に対してエッジ抽出を行うよりも、抽出されるノイズエッジの数が低減する。これにより、不必要なエッジを余分に抽出せずに済むため、より正確に交点位置でのパターンマッチングを行うことができる。また、抽出されるエッジの数が減ることにより、交点位置の算出、パターンマッチングの回数が減るため高速に処理を行うことができる。
【００９２】
また、検出したい検出対象エッジ１２，１３付近にエッジ抽出を行うウィンドウ領域２４を限定する際に、検出対象物体の概略位置を探索するための探索用テンプレート画像（ウィンドウ設定用テンプレート画像）２８を記憶する。そして、探索用テンプレート画像２８内でのウィンドウの位置、角度、長さを記憶しておく。さらに、入力画像２２と探索用テンプレート画像２８とによりパターンマッチングを行い、その結果により、限定領域（エッジ抽出ウィンドウ２４ａ，２４ｂ）の位置を決める。これにより、検出対象物体の計測位置がカメラ１に対して固定されていなくても、パターンマッチングにより検出対象物体の概略位置がわかるため、検出対象エッジ１２，１３付近にエッジ抽出領域を設定することができる。
【符号の説明】
【００９３】
１…カメラ、３…ワーク（検出対象ワーク）、５，８…記憶部（ＣＰＵ，特徴点テンプレート画像記憶部）、５，１０…エッジ抽出部（ＣＰＵ，エッジ抽出画像記憶部）、５，１１…エッジ交点算出部（ＣＰＵ，交点座標記憶部）、５，２６…パターンマッチング部（ＣＰＵ，パターンマッチング処理部）、５，２７…エッジ選択部（ＣＰＵ，選択部）、５，３１…ウィンドウ設定部（ＣＰＵ，ウィンドウ位置設定部）、１２，１３…エッジ（検出対象エッジ）、１９…コンピュータ、２１…参照画像、２２…入力画像、２４…ウィンドウ領域、２４ａ，２４ｂ…エッジ抽出ウィンドウ、２５，２５１〜２５５…エッジ、２８…探索用テンプレート画像、１００…ロボット装置、１０２…作動アーム
【図１】
0005939775.tif 000008
【図２】
0005939775.tif 000009
【図３】
0005939775.tif 000010
【図４】
0005939775.tif 000011
【図５】
0005939775.tif 000012
【図６】
0005939775.tif 000013
【図７】
0005939775.tif 000014
【図８】
0005939775.tif 000015
【図９】
0005939775.tif 000016
【図１０】
0005939775.tif 000017
【図１１】
0005939775.tif 000018
【図１２】
0005939775.tif 000019
【図１３】
0005939775.tif 000020
【図１４】
0005939775.tif 000021
【図１５】
0005939775.tif 000022