説明

画像処理装置および画像処理方法

【課題】対象物の形状や処理の目的などに応じて、個々の部位を詳細に計測するのに必要な処理シーケンスを自由に設定できるようにし、その設定のための操作性を高める。
【解決手段】指定操作受付部106は、モデルデータ記憶部103を用いて対象物の全体形状を示す画像を生成し、この画像を含み、処理項目の選択が可能な設定画面を表示して、共通処理用の処理シーケンスを設定するための操作と、部位別処理用の処理シーケンスを設定するための操作と、部位別処理の処理対象部位を指定する操作とを受け付ける。共通処理用の処理シーケンスは、部位別処理を実行することを定義した処理項目を含み、この項目を介して共通処理用および部位別処理用の各処理シーケンスが対応づけられて登録される。また、指定された処理対象部位に対するモデルデータ中の対応データを表す情報が、部位特定情報として、部位別処理に紐付けられた状態で登録される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物を撮像し、この撮像により生成された画像を用いて、対象物に対し、計測処理を含む複数とおりの処理を実行する画像処理装置に関するもので、目的に応じて、実行する処理の内容や処理順序を変更することが可能な画像処理装置、およびこの装置において実施される画像処理方法に関する。
【背景技術】
【0002】
生産現場での計測や検査に用いられる画像処理装置(一般に視覚センサと呼ばれる。)には、カメラにより生成された画像を用いて2次元の計測のみを行うものと、3次元の計測を行う機能が設定されているものとがある。一般的な画像処理装置は、処理の目的や対象物の特徴を考慮して作成されたプログラムを組み込むことによって、その処理目的や対象物に特化した処理を実行するように設定されている。
【0003】
これに対し、出願人は、先般、多種多様な目的に利用できる汎用の画像処理装置を提供することを目的として、複数種の処理項目の中から実行する処理項目および実行順序を現場で自由に選択して、その選択に応じた処理シーケンス(処理の流れという。)を組み立てる機能を有する装置を開発した(特許文献1を参照。)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−26423号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年の工業製品は、デザイン性を重視するなどの理由により形状が複雑になるものが多くなっている。このような複雑な対象物を計測するには、全体に一律の処理を適用するよりも、対象物を、複数の部位に分けて、部位毎に、その部位の特徴に適したアルゴリズムやパラメータを用いた処理を行う方が、処理の精度を高めることができる。また、バラ積みされた部品を認識する場合など、対象物の全体形状を取得するのが難しいケースでも、特徴的な形状を有する部位をそれぞれ個別に認識対象に設定しておけば、高い精度で認識することができた部位の認識結果を採用することにより、認識精度を確保することが可能になる。
【0006】
上記の点に関して、特許文献1に記載された発明では、3次元計測を行うことを前提として、2次元計測用の処理項目により処理対象部位を特定してから、特定された処理対象部位に対して3次元計測を行うようにしているが、全ての対象物にこの方法を適用するのは困難である。
【0007】
また、様々な部位を処理対象として設定し、部位毎にその部位に適した処理を設定するのは、一般ユーザにとって容易なことではない。
【0008】
本発明では、上記の問題点に着目し、2次元、3次元の別を問わず、対象物の形状や処理の目的などに応じて、個々の部位を詳細に計測するのに必要な処理シーケンスを自由に設定できるようにすると共に、その設定のためのユーザインターフェースの操作性を高めることを、課題とする。
【課題を解決するための手段】
【0009】
本発明が適用される画像処理装置は、複数種の処理項目がそれぞれその処理項目に対応するプログラムに紐付けられて登録された処理項目登録手段と、処理項目登録手段から選択された複数の処理項目を所定の順序で並べた処理シーケンスを記憶するためのシーケンス記憶手段と、処理シーケンスをユーザの指定操作に応じて設定して、当該処理シーケンスをシーケンス記憶手段に登録するシーケンス設定手段と、シーケンス記憶手段に登録されている処理シーケンスを読み出して、当該処理シーケンス中の各処理項目に紐付けられたプログラムを処理シーケンスで設定されている順序に沿って実行することにより、対象物の画像を取得する処理および取得した画像を用いた計測処理を含む複数とおりの処理を実行する。
【0010】
上記の画像処理装置において、処理項目登録手段には、対象物の画像を用いた計測処理に関する処理項目が複数種登録される。さらに、処理対象の画像を計測の前に補正する処理、計測値を用いた判定処理、計測結果や判定結果を出力する処理などに関しても、それぞれ1または複数の処理項目を登録することが可能である。また、本発明による処理項目登録手段には、処理項目として、対象物の一部に対する部位別処理を実行することを定義した部位別処理指定項目が含まれる。
【0011】
さらに、本発明による画像処理装置は、対象物のモデルの全体形状を表すモデルデータが登録されるモデル記憶手段と、このモデルデータの一部分に対応するデータを表す部位特定情報が格納される部位特定情報記憶手段とを、具備する。また、シーケンス設定手段およびシーケンス実行手段は、それぞれ以下の点を特徴とする。
【0012】
シーケンス設定手段は、モデル記憶手段に登録されたモデルデータに基づく画像を含み、処理項目登録手段に登録された各処理項目を選択できるように構成された設定画面を表示して、対象物全体に共通に実行される共通処理用の処理シーケンスを設定する第1指定操作と、この共通処理用の処理シーケンス中の部位別処理指定項目に関する部位別処理用の処理シーケンスを設定するための第2指定操作と、モデルデータに基づく画像を用いて部位別処理の処理対象部位を指定する第3指定操作とを、それぞれ受け付ける指定受付手段と、第1指定操作により設定された共通処理用の処理シーケンスおよび第2指定操作により設定された部位別処理用の処理シーケンスを部位別処理指定項目を介して対応づけてシーケンス記憶手段に登録すると共に、第3指定操作により指定された処理対象部位に対するモデルデータ中の対応データを表す部位特定情報を、共通処理用の処理シーケンス中の部位別処理指定項目に紐付けて部位特定情報記憶手段に登録する登録処理手段とを具備する。
【0013】
シーケンス実行手段は、シーケンス記憶手段に登録された共通処理用の処理シーケンスに設定されている各処理項目を順に実行すると共に、この処理シーケンス中の部位別処理指定項目を実行するタイミングになったとき、この部位別処理指定項目に紐付けられている部位特定情報を用いて既に実行された処理項目による処理で取得した計測データの中から処理対象部位の計測データを特定する。そして、この計測データを処理対象として、上記の部位別処理指定項目に対応する部位別処理用の処理シーケンスを実行する。
【0014】
上記の構成によれば、ユーザは、設定画面に表示された対象物の全体画像を参照して、個別に計測する必要のある部位を見分けることができる。そして、これらの部位に対応する部位別処理指定項目を含む共通処理用の処理シーケンスを第1指定操作により設定すると共に、個別に計測する必要のある部位に関しては、別途、第2指定操作により、その部位に適した処理項目による部位別処理用の処理シーケンスを設定し、また設定画面中の画像を用いた第3指定操作により具体的な処理対象部位を指定する。これらの作業が終了すると、登録処理手段により、共通処理用の処理シーケンスと部位別処理用の処理シーケンスとが部位別指定項目を介して対応づけて登録され、また部位別処理の処理対象部位に対するモデルデータ中の対応データを表す部位特定情報が部位別処理指定項目に紐付けて登録される。
【0015】
シーケンス実行手段は、共通処理用の処理シーケンスに沿って処理を実行しながら、部位別処理指定項目を実行するタイミングになったときは、その項目に対応づけられた部位別処理用の処理シーケンスを実行するが、これに先立ち、シーケンス実行手段は、実行対象の部位別処理指定項目に紐付けられている部位特定情報を用いて、既に実行された処理項目による処理で取得した計測データの中から処理対象部位の計測データを取得する。したがって、共通処理用の処理シーケンスとして、モデルデータに対応する形式の計測データを取得することを定義した処理項目が部位別処理指定項目よりも先に実行されるように定義された処理シーケンスを設定しておけば、この計測により得た計測データから部位別特定情報に対応するデータを特定することが可能になり、処理対象部位の計測データを支障なく取得することができる。これにより、部位別処理の精度を確保することができる。
【0016】
上記の画像処理装置の好ましい一実施態様では、登録処理手段は、共通処理用の処理シーケンス中の部位別処理指定項目またはこれに対応する部位別処理用の処理シーケンスに、部位特定情報記憶手段に登録された部位特定情報へのリンクを設定することにより、部位特定情報と部位別処理指定項目とを紐付ける。このようにすれば、部位別処理項目を実行するタイミングになったとき、設定されているリンクから部位特定情報を容易に取得することが可能になる。
【0017】
他の好ましい実施態様による画像処理装置では、登録処理手段は、第1指定操作に基づき設定された共通処理用の処理シーケンスにおいて、モデルデータに対応する形式の計測データを取得することを定義した処理項目が部位別処理指定項目よりも先に実行されるように定義されていることを条件として、共通処理用の処理シーケンスおよび部位別処理用の処理シーケンスを登録する。このようにすれば、処理シーケンスの実行時に、部位別処理の処理対象部位の計測データを安定して取得できることができ、処理に支障が生じるのを防止することが可能になる。
【0018】
他の好ましい実施態様による画像処理装置では、モデル記憶手段には、対象物の3次元形状を示す3次元情報がモデルデータとして登録され、指定受付手段は、モデル記憶手段に登録されているモデルデータを仮想平面に透視変換することにより生成された画像を含む設定画面を表示する。
【0019】
上記の実施態様によれば、ユーザは、対象物の3次元形状を示す透視変換画像を参照して、個別の処理が必要な部位を見分けて、その部位を指定することができる。さらに、透視変換の視点をユーザの指定に応じて変化させ、これに合わせて透視変換画像の表示を変更するようにすれば、確認作業の利便性をより一層高めることができる。
【0020】
また、上記の第3指定操作としては、たとえば、指定対象部位を含む範囲を指定したり、指定された範囲全体を指定対象部位とする指定(部分指定)を行うことができる。また、処理対象の部位の形状の特徴に係る条件を指定する操作を行って、モデルデータからその条件に適合する部位を抽出して処理対象部位として設定することもできる。さらに、3次元のモデルデータが登録されている場合には、上記の条件として、法線の方向の角度範囲などの3次元データに特有の条件を設定することができる。
【0021】
指定受付手段は、第3指定操作に応じて、画像中の指定された部位に対応する画像を識別表示し、さらに識別表示に対する確定操作が行われたことに応じて、識別表示された部位を指定対象部位として確定するのが望ましい。特に、上記の条件による指定を行う場合には、識別表示に対する確定操作を受け付けることによって、誤った指定が行われるのを回避することができる。
【0022】
つぎに、本発明は、複数種の処理項目がそれぞれその処理項目に対応するプログラムに紐付けられた登録された処理項目登録手段から選択された複数の処理項目を所定の順序で並べた処理シーケンスをユーザの指定操作に応じて設定して、当該処理シーケンスを登録するシーケンス登録ステップと、シーケンス登録ステップにおいて登録された処理シーケンス中の各処理項目に対応するプログラムを処理シーケンスで設定されている順序に沿って実行することにより、対象物の画像を取得する処理および取得した画像を用いた計測処理を含む複数とおりの処理を実行するシーケンス実行ステップとを実行する画像処理方法に適用される。
【0023】
上記のシーケンス登録ステップでは、以下の3つのステップを実行する。
最初のステップでは、対象物の全体形状を表すモデルデータに基づく画像を含み、対象物の一部に対する部位別処理を実行することを定義した部位別処理指定項目を含む複数の処理項目を選択できるように設定された設定画面を表示し、この設定画面において対象物全体に共通に実行される共通処理用の処理シーケンスを設定するための第1指定操作を受け付けることにより、モデルデータに対応する形式の計測データを取得することを定義した処理項目が部位別処理指定項目よりも先に実行されるように定義された共通処理用の処理シーケンスを設定する。
【0024】
つぎのステップでは、前記設定画面において、共通処理用の処理シーケンス中の部位別処理指定項目に関する部位別処理用の処理シーケンスを設定するための第2指定操作を受け付けて、当該処理シーケンスを設定すると共に、モデルデータに基づく画像を用いて部位別処理の処理対象部位を指定する第3指定操作を受け付ける。
【0025】
最後のステップでは、第1指定操作に基づき設定された共通処理用の処理シーケンスおよび第2指定操作に基づき設定された部位別処理用の処理シーケンスを、部位別処理指定項目を介して対応づけて登録すると共に、第3指定操作により指定された処理対象部位に対するモデルデータ中の対応データを表す部位特定情報を、共通処理用の処理シーケンス中の部位別処理指定項目に紐付けて登録する。
【0026】
さらに、シーケンス実行ステップでは、共通処理用の処理シーケンスに設定されている各処理項目を順に実行すると共に、この処理シーケンス中の部位別処理指定項目を実行するタイミングになったとき、この部位別処理指定項目に紐付けられている部位特定情報を用いてモデルデータに対応する形式の計測データの中から処理対象部位の計測データを特定し、この計測データを処理対象として、部位別処理指定項目に対応する部位別処理用の処理シーケンスを実行する。
【発明の効果】
【0027】
本発明によれば、対象物の形状や処理の目的に応じて部位別処理が必要な部位毎に、その部位の処理に適した処理シーケンスを設定することが可能であるので、部位別処理の対象部位が複数存在したり、部位毎に処理の内容が異なっても、精度の良い処理を行うことができる。また、対象物の全体を認識するのが困難な用途にも、適用が可能な処理シーケンスを設定することができる。
【0028】
また、ユーザが処理シーケンスを設定する際には、設定画面に表示された画像から、部位別処理を行う必要のある部位を容易に把握し、またこの画像を用いた指定操作により部位別処理の処理対象部位を簡単に指定することができるので、処理シーケンスの設定に係る操作性が高められる。
【図面の簡単な説明】
【0029】
【図1】画像処理装置の構成例を示すブロック図である。
【図2】図1の画像処理装置に導入されている画像処理システムの機能ブロック図である。
【図3】共通処理設定画面の構成例および共通処理用のシーケンスの設定例を示す図である。
【図4】部位別処理設定画面の立ち上げ直後の構成を示す図である。
【図5】対象部位設定画面の構成例およびモデル画像に対する指定操作の例を示す図である。
【図6】図5の対象部位設定画面が指定操作を反映した表示に変わった状態を示す図である。
【図7】設定が終了した時点の部位別処理設定画面の例を示す図である。
【図8】設定が終了した時点の部位別処理設定画面の他の例を示す図である。
【図9】図8の部位別処理設定画面に対応する対象部位設定画面の指定受付後の状態を示す図である。
【図10】設定モード時の処理手順を示すフローチャートである。
【図11】シーケンステーブルの構成例を示す図である。
【図12】処理シーケンスを実行する際の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0030】
図1は、本発明が適用された画像処理装置の構成例を示すブロック図である。
この実施例の画像処理装置は、生産現場でピッキングロボットに把持させる部品を認識したり、完成体の製品または部品を検査するなどの目的に利用されるもので、3次元および2次元の計測処理を実行する機能を具備する。
【0031】
図1を参照して、具体的な装置構成を説明する。
この実施例の画像処理装置は、CPU14を主体とする処理部1に、撮像部2、モニタ3、操作部4などを接続して構成される。図1の撮像部2には、2台のカメラC0,C1が含まれるが、もう1台カメラを追加してもよい。また2次元の計測のみを実施する場合には、撮像部1のカメラを1台のみとしてもよい。
【0032】
処理部1内には、カメラC0,C1からの画像信号を取り込む画像入力部10,11、カメラ駆動部12、画像メモリ13、CPU14、メモリ15、表示制御部16、出力部17などが設けられる。
【0033】
カメラ駆動部12は、CPU14からの指令に応じて、各カメラC0,C1に駆動信号を出力する。画像入力部10,11は、それぞれ対応する各カメラC0,C1からの画像信号を入力してディジタル変換することにより、計測処理用のディジタル画像(以下、「処理対象画像」という。)を生成し、これを画像メモリ13に格納する。
CPU14は、画像メモリ13内の処理対象画像を処理して、2次元または3次元の計測処理、もしくは双方の計測処理を実行する。
【0034】
出力部17は、計測処理や判定処理の結果を外部機器に出力するための出力用インターフェースである。
表示制御部16は、画像入力部10,11から処理対象画像の供給を受けて、これらの画像を含む表示用画面を生成し、これをモニタ3に表示する。この表示用画面には、適宜、CPU14から提供された処理結果データの表示が加味される。また、以下に述べる処理シーケンスの設定モードにおいては、表示制御部26は、CPU24から後述する設定画面の表示用データの提供を受けて、この画面をモニタ3に表示する。
【0035】
メモリ15は、ハードディスクなどの大容量の不揮発性メモリであって、つぎの図2に示す画像処理システム100を構成するプログラムやデータファイルが格納されている。
CPU14は、図2中の指定操作受付部106、部位特定情報登録処理部107、シーケンス組立部108として振る舞うことにより、対象物全体に共通する処理(以下、「共通処理」という。)の流れを表す処理シーケンスと、この共通処理から分岐して対象物の一部に対して実行される処理(以下、「部位別処理」という。)の流れを示す処理シーケンスとを設定する。また、CPU24は、図2中のシーケンス実行部109として振る舞うことにより、各処理シーケンスに定義されている処理を、定義されている順序に従って実行する。
【0036】
図2中のデータファイルのうち、処理項目テーブル記憶部101には、上記の処理シーケンスに設定可能な複数種の処理項目が格納された処理項目テーブルが登録される。プログラム記憶部102には、これらの処理項目の処理を実行するためのプログラムが格納される。なお、処理項目には2次元の計測処理または認識処理の実行を定義するものと、3次元の計測処理または認識処理の実行を定義するものとが含まれる。
【0037】
モデルデータ記憶部103は、計測処理の対象物の全体形状を表すモデルデータを登録するためのものである。以下に示す具体例では、モデルデータ記憶部103にCADデータに基づく3次元のモデルデータが登録されるものとするが、これに限らず、対象物の実物モデルの3次元計測結果から作成されたモデルデータを登録することもできる。また2次元の計測処理のみを行う場合には、対象物の実物モデルの撮像により得た濃淡画像や、この濃淡画像から生成した特徴抽出画像(エッジ画像、2値画像、各画素における濃度勾配方向を示す角度データが設定された疑似画像など)を登録してもよい。
【0038】
シーケンステーブル記憶部104には、ユーザの指定操作に応じて設定された処理シーケンスが登録される。部位特定情報記憶部105には、部位別処理の対象としてユーザに指定された部位に対するモデルデータ中の対応データを表す部位特定情報が登録される。
【0039】
図3〜9は、処理シーケンスの設定画面の具体例を示す。
この実施例では、設定される処理シーケンスを、ユーザ向けに「処理フロー」と表現し、3種類の設定画面を用いて処理シーケンスの設定用の指定操作を受け付けるようにしている。これらのうち、図3に示す設定画面201は、処理シーケンスの主要部(ユーザには「共通処理フロー」の名称で提示される。)を設定するためのものであり、図4,7,8に示す設定画面202は、部位別処理のアルゴリズム(ユーザには、「選択部位処理フロー」の名称で提示される。)を設定するためのものである。また、図5,6,9に示す設定画面203は、部位別処理の処理対象部位を設定するためのものである。
【0040】
以下、設定画面201,202,203を、それぞれ「共通処理用設定画面201」「部位別処理用設定画面202」「対象部位設定画面203」という。また、共通処理用設定画面201と部位別処理用設定画面202とは、殆ど構成が同一であるので、画面内の構成を共通の符号により示す。また、各画面の中央部の機能ボタンに関しては、以下の説明に登場するもののみ、符号21〜27を付す。
【0041】
各設定画面201,202は、左上の「フロー切替」のボタン210を操作することにより、交互に切り替えて表示される。いずれの画面201,202でも、画面の左側に設定中の処理シーケンスを表示するための欄211が設けられ、画面の右側に処理項目の表示欄212が設けられる。また、画面の中央の上半分の領域には、複数種の機能ボタンが設けられ、その下方に対象物のモデルの画像を表示する欄213が設けられる。また、画面の左下には、ヘルプメニューの呼び出しボタン214や、画面を閉じること(設定処理の終了)を指示するボタン215が設けられる。
【0042】
以下、上記の欄211,212,213を、それぞれ「シーケンス表示欄211」「項目表示欄212」「モデル表示欄213」という。また、モデル表示欄213に表示される画像を「モデル画像」という。
【0043】
項目表示欄212には、処理の目的に応じて分類された複数種の処理項目によるツリー構造が表示される。この実施例では、項目表示欄212内の処理項目を選択するクリック操作を受け付けて、この操作により選択された処理項目をシーケンス表示欄211に表示するようにしている。この表示では、シーケンス表示欄211内の上から下に沿って、選択された処理項目が選択された順に並べられる。また各処理項目には、選択された順序を示す数字0,1,2,・・・(以下、「シーケンス番号」という。)が設定される。
【0044】
処理項目の並び順序は、適宜、図中の移動ボタン21,22などを用いて入れ替えることができる。また、挿入ボタン23を用いて、既に並べられた処理項目の間に新たに選択された処理項目を割り込ませることもできる。また、コピーボタン24やペーストボタン25を用いて、シーケンス表示欄211内のある処理項目を複製することにより、同じ処理項目を重複設定したり、削除ボタン26を用いて一部の処理項目を削除することもできる。
【0045】
モデル表示欄213に表示されるモデル画像Mは、図2に示したモデルデータ記憶部103内のモデルデータ(3次元)をカメラC0,C1の一方の撮像面に透視変換することにより生成される。また、ここに表示されるモデル画像Mは、部位別処理の処理対象部位が指定されたことに応じて、指定された部位が、赤、青などの目立つ色彩により明示される(図3〜9では、色彩を極太線により表現する。)。
【0046】
図5,6,9に示す対象部位設定画面203は、部位別処理設定画面202中のモデル表示欄213に対するダブルクリック操作により呼び出され、部位別処理設定画面202に重ねて表示される。
【0047】
対象部位設定画面203では、モデル画像Mを拡大表示する領域216が設定され、その左手に、部位指定の条件を選択するための欄217や、OK(確定)ボタン218、ならびにキャンセルボタン219が設定される。なお、図示していないが、この実施例では、領域216内でのマウスのドラッグドロップ操作などに応じて、透視変換の視点や視線方向を変更することにより、モデル画像Mの表示を種々に変更することができる。
【0048】
また、この実施例では、モデルデータに、「セグメント」と呼ばれる3次元パーツ(複数の3次元座標の集合体)が複数含まれていることを前提として、処理対象部位をセグメントの単位で指定する。この指定のために、欄217には、セグメントの指定方法に関する5つの選択肢が、それぞれチェックボックス28と共に表示されている。これらのうち、1番目〜3番目の選択肢は、処理対象のセグメントを指定対象の部位の特徴によって絞り込むためのものである。下2つの選択肢のうち「範囲指定」は、指定された範囲内に含まれるセグメントを処理対象とすることを意味し、「部分指定」は、特定のセグメントの指定を受け付けることを意味する。
【0049】
図10は、上記の設定画面201〜203を用いた設定モードの実行手順(図2の指定操作受付部106、部位特定情報登録処理部107、およびシーケンス組立部108により実行されるもの)を示す。以下、このフローチャートの流れに沿って、適宜、図3〜図9の設定画面201〜203の具体例を参照しながら、設定モードにおけるユーザの操作や、操作に応じて実行される処理を説明する。
【0050】
この設定モードのステップS1,S2は指定操作受付部106により実行される。ステップS1では、モデルデータ記憶部103よりモデルデータを読み出して、透視変換処理を実行することにより、モデル画像Mを生成する(ステップS1)。そして、このモデル画像Mがモデル表示欄213に表示された状態の共通処理設定画面201を立ち上げる(ステップS2)。この立ち上げ直後の共通処理設定画面201のシーケンス表示欄211は、空白状態であり、モデル表示欄213内のモデル画像Mにも、処理対象部位を示す識別表示が行われていない状態である。
【0051】
ステップS3は、指定操作受付部106およびシーケンス組立部108が協働して実行するもので、上記の共通処理設定画面201において、処理項目表示欄212内の各種処理項目を選択する操作や機能ボタンの操作などを受け付けて、これらの操作により選択された処理項目を指定された順序で並べることにより、共通処理用のシーケンスを組み立てる。そして、この組み立てを行う都度、シーケンス表示欄211内の表示を更新する。
【0052】
図3の共通処理設定画面201のシーケンス表示欄211には7つの処理項目が設定されている。これらの処理項目を右側の処理項目表示欄212のツリー表示と対比すると明らかなように、0番の処理項目「ピッキングカメラ画像入力」は「画像を取り込む処理」、すなわち撮像に関わるものである。また1〜3番の処理項目「エッジ抽出」「三次元復元」「グローバルレジストレーション」、および6番の「ローカルレジストレーション」は、検査・計測に関する具体的な処理を示すものである。
【0053】
なお、「グローバルレジストレーション」とは、その前の「三次元復元」により復元された対象物の3次元情報をモデルデータと照合することにより、対象物の位置および姿勢を大まかに認識する処理である。「ローカルレジストレーション」とは、その前に実行された各部位別処理の結果に基づいて、対象物の位置および姿勢をより詳細に認識する処理である。
【0054】
4番および5番の処理項目「部位別処理」は、部位別処理への分岐、すなわち対象物の一部分に特化した処理を実行することを示すもので、[課題を解決するための手段]に記載した「部位別処理指定項目」に相当する。共通処理の処理シーケンスでは、部位別処理の具体的な内容は定義されず、部位別処理を行うタイミングのみが定義される。部位別処理の具体的な内容は、設定画面202により設定される。
【0055】
ユーザは、部位別処理を含むある程度の数の処理項目を選択すると、シーケンス表示欄211内のいずれかの部位別処理の表示を選択した状態にして、切替ボタン210を操作する。これにより図10のステップS4が「YES」となってステップS5に進み、画面の表示を部位別処理用の設定画面202に切り替える。以下、この設定画面202および対象部位設定画面203を用いて、部位別処理の処理シーケンスおよび処理対象部位を設定する処理(ステップS6)を実施する。
【0056】
ステップS6では、部位別処理設定画面202においては、共通処理設定画面201におけるのと同様の方法で処理項目の選択および処理順序を設定する操作を受け付けて、部位別処理の処理シーケンスを組み立て、これをシーケンス表示欄211の表示に反映させる。ただし、部位別処理設定画面202で「部位別処理」が選択された場合には、その選択はキャンセルされる。また、モデル表示欄213に対するダブルクリック操作が行われた場合には、対象部位設定画面203を立ち上げて、処理対象部位の指定を受け付ける。
【0057】
図4〜7は、図3の共通処理設定画面201のシーケンス表示欄211内の4番の処理項目「部位別処理」に関して上記のステップS6が実行されている場合の画面の推移を示す。まず、図4は、共通処理設定画面201から表示が切り替えられた直後の部位別処理設定画面202である。この段階の部位別処理設定画面202では、シーケンス表示欄211は空白の状態であり、モデル表示欄213のモデル画像Mにも識別表示がされていない状態である。
【0058】
図5は、上記図4の部位別処理設定画面202上で呼び出された対象部位設定画面203に、処理対象部位の指定操作がされた状態を示す。この例では、左上の欄217内の「範囲指定」を選択すると共に、領域216内のモデル画像Mの三箇所がそれぞれ枠r1,r2,r3により範囲指定されている。ここでユーザが、OKボタン218を操作すると、上記の枠r1,r2,r3内に完全に含まれるセグメントが処理対象部位に設定され、これに応じて、図6に示すように、処理対象部位に設定された箇所が目立つ色彩(図中の一点鎖線の部分)により識別表示される。ここで、ユーザが、再度、OKボタン218を操作、または対象部位設定画面203を閉じる操作を行うと、処理対象部位の指定が終了する。
【0059】
図7は、図5,6に示した設定操作や処理項目の設定が終了した段階の部位別処理設定画面202を示す。図7の例では、部位別処理の処理シーケンスとして、検査・計測に関する処理項目が3種類設定されており、これらに0〜2のシーケンス番号が付与されている。なお、設定画面202でも、「部位別処理」を除く各処理項目を選択することが可能であり、処理項目の数や順序も自由に選択することができる。
【0060】
図8および図9は、図3中の2番目の「部位別処理」(5番の処理項目)の設定に関する設定画面202,203を示す(いずれも設定が終了した段階のものである。)。
図9の対象部位設定画面203では、ユーザが「矩形を構成するセグメント」を選択してOKボタン218を操作したことにより、モデルデータの中から選択された条件を満たすセグメントが抽出されて、これらが所定の色彩(極太線で示す。)で識別表示される。また、図8の部位別処理設定画面202では、先の図7の例とは内容が異なる処理シーケンスが設定されている。
【0061】
このように、ユーザは、分岐別処理毎に、処理シーケンスの内容や処理対象部位を自由に設定することができる。なお、上記では、4番の分岐別処理に関する設定と5番の分岐別処理に関する設定とを続けて説明したが、実際の処理では、1つの分岐別処理に関する設定が終了する都度、画面の表示を共通処理設定画面201に切り替える操作が行われる。この切り替え操作が行われると、図10のステップS7が「YES」となり、ステップS8において、対象部位設定画面203で設定された処理対象部位に対応するセグメントを示す情報を部位特定情報として取得し、これを部位特定情報記憶部105に登録する。たとえば、モデルデータ中の各セグメントにラベルが付与されている場合には、処理対象部位に含まれる各セグメントのラベルを部位特定情報として登録することができる。また、モデルデータから処理対象部位に対応するセグメントの3次元情報を抽出し、これを部位特定情報として登録することも可能である。
【0062】
上記のステップS8を実行した場合には、さらに、ステップS9において、「共通処理の処理シーケンス中に設定されている「部位別処理」の項目に、上記の部位特定情報が格納されたアドレスなどを、リンク情報として設定し、しかる後に共通処理設定画面を表示する状態に戻る(ステップS2)。
【0063】
共通処理設定画面に戻った後は、再び、共通処理の処理シーケンスの設定を行うことができる。また、さらに部位別処理指定項目を追加し、その部位別処理指定項目に関して、部位別処理設定画面202や対象部位設定画面203を立ち上げて、処理シーケンスを設定することもできる。
なお、先の図3は、上記4番および5番の部位別処理に関わる設定が終了して、共通処理設定画面201に戻った後に、6番の処理項目(ローカルレジストレーション)を選択したときの状態を示すものである。
【0064】
必要な設定をすべて完了すると、ユーザは、共通処理設定画面201の設定ボタン27を操作する。この操作は指定操作受付部106により受け付けられてシーケンス組立部108に渡され、シーケンス組立部108において、それまでの指定操作により組み立てた処理シーケンスを、シーケンステーブル記憶部104に登録する処理を実行する。
【0065】
ただし、図10には示していないが、上記の登録処理に先立ち、シーケンス組立部108は、共通処理の処理シーケンスの処理項目を順に辿って、対象物を撮像してモデルデータに対応する形式の計測データ(モデルデータとの照合が可能なデータ)を取得する処理が部位別処理より先に実行されるように定義されているかどうかをチェックする。ここで、この定義がされていると判断した場合には、処理シーケンスの登録処理が実行されるが、上記の定義がされていないと判断した場合には、シーケンス組立部108は、登録をせずに、指定操作受付部106にエラーコードを出力する。
【0066】
指定操作受付部106は、上記のエラーコードに応じて、表示中の共通処理設定画面201にエラーメッセージなどを表示する。ユーザがこの表示に応じてシーケンス表示欄211内の処理シーケンスを適切なものに修正して、再度、設定ボタン27を操作すれば、シーケンス組立部108は、修正後の処理シーケンスが適切であることを確認した上で登録処理を実行する。
【0067】
図11は、図4〜9の設定画面により設定された処理シーケンスがシーケンステーブルとして登録された例を示す。
この図11の例では、共通処理用のシーケンステーブルT1と部位別処理用のシーケンステーブルT2とを別個に設定し、各テーブルT1,T2に、それぞれ選択された処理項目をシーケンス番号に対応づけて登録している。また、部位別処理のシーケンステーブルT2では、シーケンス番号として、共通処理中の対応する処理項目(部位別処理)のシーケンス番号に枝番をつけた番号が設定される。このような番号設定により、共通処理の4番、5番の部位別処理を実行する際には、それぞれそのシーケンス番号により部位別処理用のシーケンステーブルT2を照合することによって、対応する部位別処理に設定されている各処理項目を順に読み出し、実行することが可能になる。
【0068】
また、共通処理用のシーケンステーブルT1中の部位別処理には、その部位別処理の処理対象部位を設定した際に部位特定情報記憶部105に登録された部位特定情報へのリンク情報P1,P2(具体的には、該当する部位特定情報のファイル名や、このファイルが格納されたアドレスなど)が対応づけて登録される。
【0069】
図12は、上記の設定モードにより登録された処理シーケンスをシーケンス実行部109が実行する場合の処理の手順を示す。
【0070】
この処理では、まず、モデルデータ記憶部103からモデルデータを読み出すと共に、当該モデルデータに対応する処理シーケンス(共通処理用のシーケンステーブルT1と部位別処理用のシーケンステーブルT2との組み合わせ)を読み出す(ステップS21)。
【0071】
つぎに、共通処理用のシーケンステーブルT1の1番目に設定されている処理項目を実行する(ステップS22)。実行後は、次の処理項目の有無をチェックする。次の処理項目として部位別処理以外の処理項目が設定されている場合(ステップS23が「YES」、ステップS24が「NO」の場合)、その処理項目を実行する(ステップS25)。
【0072】
処理シーケンスの登録時に行われる適否判断によれば、登録されている処理シーケンスが実行される場合には、必ず、モデルデータに対応する形式の計測データを取得することを定義した処理項目(撮像および計測処理に関わる項目)が実施されてから部位別処理が実行されることになる。よって、最初の部位別処理を実行するまでの間に、ステップS23,S24,S25のループが何回か実行されて計測データを取得した後に、部位別処理を実行するタイミングになると、ステップS24が「YES」となり、S26〜S29の各ステップを実行する。
【0073】
ステップS26では、処理対象の部位別処理に設定されているリンク情報により部位特定情報記憶部105にアクセスして、該当する部位特定情報を読み出す。ステップS27では、読み出した部位特定情報を用いて、モデルデータ中の処理対象部位に対応するデータ(以下、「部分モデルデータ」という。)を特定する。
【0074】
ステップS28では、先の計測処理により取得した対象物全体の計測データを上記の部分モデルデータにより照合して、処理対象部位の計測データを特定する。ステップS29では、実行するタイミングになっている部位別処理のシーケンス番号に基づき、部位別処理用のシーケンステーブルから当該部位別処理に対応する処理項目を順に読み出し、ステップS29で特定された計測データに対して、読み出した処理項目を実行する。
【0075】
以下、同様にして、共通処理の処理シーケンスに設定されている部位別処理を実行するタイミングになる都度、上記のステップS26,S27,S28を実行することにより処理対象の計測データを特定してからステップS29を実行するので、部位別特定処理の処理対象部位を精度良く計測することが可能になる。
【0076】
なお、共通処理の処理シーケンスにおいて、部位別処理の前に、対象物に対する計測処理と共に、その処理により得た計測データをモデルデータと照合する処理(図3のグローバルレジストレーション)が実施される場合には、図12の処理では、ステップS27,S28に代えて、モデルデータをグローバルレジストレーションにより認識された位置および姿勢に設定し、部位特定情報を構成するセグメントに対応する計測データを処理対象として特定する。ただし、グローバルレジストレーションにおける認識誤差を考慮して、部位特定情報に対応する範囲より少し広めの範囲の計測データを抽出するのが望ましい。
また、このように、計測データとモデルデータとの照合が行われることが必ず前提となる場合には、対象部位設定画面203で指定された処理対象部位のモデルデータに対する相対関係を部位特定情報として登録してもよい。
【0077】
上記の画像処理装置によれば、複雑な形状の対象物を計測する必要がある場合に、形状の特徴に応じて対象物を複数の部位に区分けし、部位毎にその形状に適した部位別処理を設定することによって、精度の良い計測処理を行うことができる。また、ピッキング処理のための対象物を認識する場合のように、全体形状を認識するのが困難な対象物の認識に用いられる場合には、形状に特徴のある複数の部位についてそれぞれ部位別処理を設定することにより、これらの部位の中で計測データの取得に成功した部位に対する認識結果に基づき、認識の精度を確保することが可能になる。
【符号の説明】
【0078】
1 処理部
2 撮像部
3 モニタ
4 操作部
14 CPU
15 メモリ
100 画像処理システム
101 処理項目テーブル記憶部
102 プログラム記憶部
103 モデルデータ記憶部
104 シーケンステーブル記憶部
105 部位特定情報記憶部
106 指定操作受付部
107 部位特定情報登録処理部
108 シーケンス組立部
109 シーケンス実行部

【特許請求の範囲】
【請求項1】
複数種の処理項目がそれぞれその処理項目に対応するプログラムに紐付けられて登録された処理項目登録手段と、処理項目登録手段から選択された複数の処理項目を所定の順序で並べた処理シーケンスを記憶するためのシーケンス記憶手段と、前記処理シーケンスをユーザの指定操作に応じて設定して、当該処理シーケンスを前記シーケンス記憶手段に登録するシーケンス設定手段と、シーケンス記憶手段に登録されている処理シーケンスを読み出して、当該処理シーケンス中の各処理項目に紐付けられたプログラムを前記処理シーケンスで設定されている順序に沿って実行することにより、対象物の画像を取得する処理および取得した画像を用いた計測処理を含む複数とおりの処理を実行する画像処理装置であって、
対象物のモデルの全体形状を表すモデルデータが登録されるモデル記憶手段と、このモデルデータの一部分に対応するデータを表す部位特定情報が格納される部位特定情報記憶手段とを、さらに供え、
前記処理項目登録手段には、処理項目として、対象物の一部に対する部位別処理を実行することを定義した部位別処理指定項目が含まれており、
前記シーケンス設定手段は、
前記モデル記憶手段に登録されたモデルデータに基づく画像を含み、前記処理項目登録手段に登録された各処理項目を選択できるように構成された設定画面を表示して、対象物全体に共通に実行される共通処理用の処理シーケンスを設定するための第1指定操作と、この共通処理用の処理シーケンス中の部位別処理指定項目に関する部位別処理用の処理シーケンスを設定するための第2指定操作と、前記モデルデータに基づく画像を用いて前記部位別処理の処理対象部位を指定する第3指定操作とを、それぞれ受け付ける指定受付手段と、
第1指定操作により設定された共通処理用の処理シーケンスおよび第2指定操作により設定された部位別処理用の処理シーケンスを前記部位別処理指定項目を介して対応づけて前記シーケンス記憶手段に登録すると共に、前記第3指定操作により指定された処理対象部位に対する前記モデルデータ中の対応データを表す部位特定情報を、前記共通処理用の処理シーケンス中の部位別処理指定項目に紐付けて前記部位特定情報記憶手段に登録する登録処理手段とを具備し、
前記シーケンス実行手段は、前記シーケンス記憶手段に登録された共通処理用の処理シーケンスに設定されている各処理項目を順に実行すると共に、この処理シーケンス中の前記部位別処理指定項目を実行するタイミングになったとき、この部位別処理指定項目に紐付けられている部位特定情報を用いて既に実行された処理項目による処理で取得した計測データの中から前記処理対象部位の計測データを特定し、この計測データを処理対象として、前記部位別処理指定項目に対応する部位別処理用の処理シーケンスを実行する、ことを特徴とする画像処理装置。
【請求項2】
前記登録処理手段は、前記共通処理用の処理シーケンス中の部位別処理指定項目またはこれに対応する部位別処理用の処理シーケンスに、前記部位特定情報記憶手段に登録された部位特定情報へのリンクを設定することにより、前記部位特定情報と部位別処理指定項目とを紐付ける、請求項1に記載された画像処理装置。
【請求項3】
前記登録処理手段は、前記第1指定操作に基づき設定された共通処理用の処理シーケンスにおいて、前記モデルデータに対応する形式の計測データを取得することを定義した処理項目が前記部位別処理指定項目よりも先に実行されるように定義されていることを条件として、前記共通処理用の処理シーケンスおよび部位別処理用の処理シーケンスを登録する、請求項1または2に記載された画像処理装置。
【請求項4】
前記モデル記憶手段には、前記対象物の3次元形状を示す3次元情報がモデルデータとして登録され、
前記指定受付手段は、前記モデル記憶手段に登録されているモデルデータを仮想平面に透視変換することにより生成された画像を含む設定画面を表示する、請求項1に記載された画像処理装置。
【請求項5】
複数種の処理項目がそれぞれその処理項目に対応するプログラムに紐付けられて登録された処理項目登録手段から選択された複数の処理項目を所定の順序で並べた処理シーケンスをユーザの指定操作に応じて設定して、当該処理シーケンスを登録するシーケンス登録ステップと、前記シーケンス登録ステップにおいて登録された処理シーケンス中の各処理項目に対応するプログラムを前記処理シーケンスで設定されている順序に沿って実行することにより、対象物の画像を取得する処理および取得した画像を用いた計測処理を含む複数とおりの処理を実行するシーケンス実行ステップとを実行する画像処理方法において、
前記シーケンス登録ステップには、
前記対象物の全体形状を表すモデルデータに基づく画像を含み、前記対象物の一部に対する部位別処理を実行することを定義した部位別処理指定項目を含む複数の処理項目を選択できるように設定された設定画面を表示し、この設定画面において対象物全体に共通に実行される共通処理用の処理シーケンスを設定するための第1指定操作を受け付けることにより、前記モデルデータに対応する形式の計測データを取得することを定義した処理項目が前記部位別処理指定項目よりも先に実行されるように定義された共通処理用の処理シーケンスを設定するステップと、
前記設定画面において、前記共通処理用の処理シーケンス中の部位別処理指定項目に関する部位別処理用の処理シーケンスを設定するための第2指定操作を受け付けて、当該処理シーケンスを設定すると共に、前記モデルデータに基づく画像を用いて前記部位別処理の処理対象部位を指定する第3指定操作を受け付けるステップと、
前記第1指定操作に基づき設定された共通処理用の処理シーケンスおよび第2指定操作に基づき設定された部位別処理用の処理シーケンスを、前記部位別処理指定項目を介して対応づけて登録すると共に、前記第3指定操作により指定された処理対象部位に対する前記モデルデータ中の対応データを表す部位特定情報を、前記共通処理用の処理シーケンス中の部位別処理指定項目に紐付けて登録するステップとが、含まれており、
前記シーケンス実行ステップでは、前記共通処理用の処理シーケンスに設定されている各処理項目を順に実行すると共に、この処理シーケンス中の前記部位別処理指定項目を実行するタイミングになったとき、この部位別処理指定項目に紐付けられている部位特定情報を用いて前記モデルデータに対応する形式の計測データの中から前記処理対象部位の計測データを特定し、この計測データを処理対象として、前記部位別処理指定項目に対応する部位別処理用の処理シーケンスを実行する、ことを特徴とする画像処理方法。

【図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


【公開番号】特開2011−191171(P2011−191171A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−57348(P2010−57348)
【出願日】平成22年3月15日(2010.3.15)
【出願人】(000002945)オムロン株式会社 (3,542)
【出願人】(507311533)株式会社ファクトリービジョンソリューションズ (3)
【Fターム(参考)】