(57)【特許請求の範囲】
【請求項１】
対象物の画像を取得する処理および取得した画像を用いた計測処理を含む複数とおりの処理を実行可能な画像処理装置であって、
複数種の処理項目がそれぞれその処理項目に対応するプログラムに紐付けられて登録された処理項目登録手段と、
ユーザの指定操作に応じて、処理項目登録手段から選択された複数の処理項目を所定の順序で並べた処理シーケンスを設定してシーケンス記憶手段に登録するシーケンス設定手段と、
前記シーケンス記憶手段に登録されている処理シーケンス中の各処理項目に紐付けられた各プログラムを、設定されている順序に沿って実行するシーケンス実行手段と、
前記対象物のモデルの全体形状を表すモデルデータを格納したモデル記憶手段と、
前記モデルデータの一部分に対応するデータを表す部位特定情報を格納した部位特定情報記憶手段とを備え、
前記シーケンス設定手段は、
前記モデル記憶手段に登録されたモデルデータに基づく画像を含み、前記処理項目登録手段に登録された各処理項目を選択できるように構成された設定画面を表示して、対象物全体に共通に実行される共通処理用の処理シーケンスの設定を受け付ける第１指定操作手段を含み、選択できる処理項目は、対象物の一部に対する部位別処理を実行することを定義した部位別処理指定項目を含み、さらに
前記共通処理用の処理シーケンスに含まれる部位別処理指定項目に関する部位別処理用の処理シーケンスの設定を受け付ける第２指定操作手段と、
前記モデルデータに基づく画像を用いて前記部位別処理の処理対象部位の指定を受け付ける第３指定操作手段と、
設定された共通処理用の処理シーケンスおよび部位別処理用の処理シーケンスを設定された部位別処理指定項目を介して紐付けて前記シーケンス記憶手段に登録する手段と、
前記指定された処理対象部位に対応する前記モデルデータ中の対応データを表す部位特定情報を、前記共通処理用の処理シーケンスに含まれる部位別処理指定項目に紐付けて前記部位特定情報記憶手段に登録する手段とを含み、
前記シーケンス実行手段は、前記シーケンス記憶手段に登録された共通処理用の処理シーケンスに設定されている各処理項目を順に実行すると共に、当該処理シーケンス中の前記部位別処理指定項目を実行するタイミングになったとき、当該部位別処理指定項目に紐付けられている部位特定情報を用いて既に実行された処理項目による処理で取得した計測データの中から前記処理対象部位の計測データを特定し、当該計測データを処理対象として、前記部位別処理指定項目に対応する部位別処理用の処理シーケンスを実行する、画像処理装置。
【請求項２】
前記処理対象部位の計測データを特定する処理は、前記対象物の位置および姿勢を認識する処理を含み、
前記部位別処理指定項目に対応する部位別処理用の処理シーケンスは、前記処理対象部位の計測データを特定する処理に比較してより詳細に認識する処理を含む、請求項１に記載の画像処理装置。
【請求項３】
前記シーケンス設定手段は、前記共通処理用の処理シーケンス中の部位別処理指定項目に、または、これに対応する部位別処理用の処理シーケンスに、前記部位特定情報記憶手段に登録された部位特定情報へのリンクを設定することにより、前記部位特定情報と前記部位別処理指定項目とを紐付ける、請求項１または２に記載された画像処理装置。
【請求項４】
前記シーケンス設定手段は、前記設定された共通処理用の処理シーケンスにおいて、前記モデルデータに対応する形式の計測データを取得することを定義した処理項目が前記部位別処理指定項目よりも先に実行されるように定義されていることを条件として、前記共通処理用の処理シーケンスおよび部位別処理用の処理シーケンスを登録する、請求項１〜３のいずれか１項に記載された画像処理装置。
【請求項５】
前記モデル記憶手段は、前記対象物の３次元形状を示す３次元情報をモデルデータとして格納しており、
前記シーケンス設定手段は、前記モデル記憶手段に格納されているモデルデータを仮想平面に透視変換することにより生成された画像を含む設定画面を表示する、請求項１〜４のいずれか１項に記載された画像処理装置。
【請求項６】
対象物の画像を取得する処理および取得した画像を用いた計測処理を含む複数とおりの処理を実行する画像処理方法であって、
ユーザの指定操作に応じて、複数種の処理項目がそれぞれその処理項目に対応するプログラムに紐付けられて登録された処理項目登録手段から、選択された複数の処理項目を所定の順序で並べた処理シーケンスを設定して登録するシーケンス設定ステップと、
前記シーケンス設定ステップにおいて設定された処理シーケンス中の各処理項目に紐付けられた各プログラムを、設定されている順序に沿って実行するシーケンス実行ステップとを備え、
前記シーケンス設定ステップは、
前記対象物のモデルの全体形状を表すモデルデータに基づく画像を含み、複数の処理項目を選択できるように構成された設定画面を表示して、対象物全体に共通に実行される共通処理用の処理シーケンスの設定を受け付ける第１指定操作ステップを含み、前記複数の処理項目は、前記対象物の一部に対する部位別処理を実行することを定義した部位別処理指定項目を含み、前記共通処理用の処理シーケンスは、前記モデルデータに対応する形式の計測データを取得することを定義した処理項目が前記部位別処理指定項目よりも先に実行されるように定義され、さらに
前記設定画面において、前記共通処理用の処理シーケンスに含まれる部位別処理指定項目に関する部位別処理用の処理シーケンスの設定を受け付ける第２指定操作ステップと、
当該処理シーケンスを設定すると共に、前記モデルデータに基づく画像を用いて前記部位別処理の処理対象部位の指定を受け付ける第３指定操作ステップと、
設定された共通処理用の処理シーケンスおよび部位別処理用の処理シーケンスを設定された部位別処理指定項目を介して紐付けて登録すると共に、前記指定された処理対象部位に対応する前記モデルデータ中の対応データを表す部位特定情報を、前記共通処理用の処理シーケンスに含まれる部位別処理指定項目に紐付けて登録するステップとを含み、
前記シーケンス実行ステップは、前記共通処理用の処理シーケンスに設定されている各処理項目を順に実行すると共に、当該処理シーケンス中の前記部位別処理指定項目を実行するタイミングになったとき、当該部位別処理指定項目に紐付けられている部位特定情報を用いて前記モデルデータに対応する形式の計測データの中から前記処理対象部位の計測データを特定し、当該計測データを処理対象として、前記部位別処理指定項目に対応する部位別処理用の処理シーケンスを実行する、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物を撮像し、この撮像により生成された画像を用いて、対象物に対し、計測処理を含む複数とおりの処理を実行する画像処理装置に関するもので、目的に応じて、実行する処理の内容や処理順序を変更することが可能な画像処理装置、およびこの装置において実施される画像処理方法に関する。
【背景技術】
【０００２】
生産現場での計測や検査に用いられる画像処理装置（一般に視覚センサと呼ばれる。）には、カメラにより生成された画像を用いて２次元の計測のみを行うものと、３次元の計測を行う機能が設定されているものとがある。一般的な画像処理装置は、処理の目的や対象物の特徴を考慮して作成されたプログラムを組み込むことによって、その処理目的や対象物に特化した処理を実行するように設定されている。
【０００３】
これに対し、出願人は、先般、多種多様な目的に利用できる汎用の画像処理装置を提供することを目的として、複数種の処理項目の中から実行する処理項目および実行順序を現場で自由に選択して、その選択に応じた処理シーケンス（処理の流れという。）を組み立てる機能を有する装置を開発した（特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２６４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年の工業製品は、デザイン性を重視するなどの理由により形状が複雑になるものが多くなっている。このような複雑な対象物を計測するには、全体に一律の処理を適用するよりも、対象物を、複数の部位に分けて、部位毎に、その部位の特徴に適したアルゴリズムやパラメータを用いた処理を行う方が、処理の精度を高めることができる。また、バラ積みされた部品を認識する場合など、対象物の全体形状を取得するのが難しいケースでも、特徴的な形状を有する部位をそれぞれ個別に認識対象に設定しておけば、高い精度で認識することができた部位の認識結果を採用することにより、認識精度を確保することが可能になる。
【０００６】
上記の点に関して、特許文献１に記載された発明では、３次元計測を行うことを前提として、２次元計測用の処理項目により処理対象部位を特定してから、特定された処理対象部位に対して３次元計測を行うようにしているが、全ての対象物にこの方法を適用するのは困難である。
【０００７】
また、様々な部位を処理対象として設定し、部位毎にその部位に適した処理を設定するのは、一般ユーザにとって容易なことではない。
【０００８】
本発明では、上記の問題点に着目し、２次元、３次元の別を問わず、対象物の形状や処理の目的などに応じて、個々の部位を詳細に計測するのに必要な処理シーケンスを自由に設定できるようにすると共に、その設定のためのユーザインターフェースの操作性を高めることを、課題とする。
【課題を解決するための手段】
【０００９】
本発明が適用される画像処理装置は、複数種の処理項目がそれぞれその処理項目に対応するプログラムに紐付けられて登録された処理項目登録手段と、処理項目登録手段から選択された複数の処理項目を所定の順序で並べた処理シーケンスを記憶するためのシーケンス記憶手段と、処理シーケンスをユーザの指定操作に応じて設定して、当該処理シーケンスをシーケンス記憶手段に登録するシーケンス設定手段と、シーケンス記憶手段に登録されている処理シーケンスを読み出して、当該処理シーケンス中の各処理項目に紐付けられたプログラムを処理シーケンスで設定されている順序に沿って実行することにより、対象物の画像を取得する処理および取得した画像を用いた計測処理を含む複数とおりの処理を実行する。
【００１０】
上記の画像処理装置において、処理項目登録手段には、対象物の画像を用いた計測処理に関する処理項目が複数種登録される。さらに、処理対象の画像を計測の前に補正する処理、計測値を用いた判定処理、計測結果や判定結果を出力する処理などに関しても、それぞれ１または複数の処理項目を登録することが可能である。また、本発明による処理項目登録手段には、処理項目として、対象物の一部に対する部位別処理を実行することを定義した部位別処理指定項目が含まれる。
【００１１】
さらに、本発明による画像処理装置は、対象物のモデルの全体形状を表すモデルデータが登録されるモデル記憶手段と、このモデルデータの一部分に対応するデータを表す部位特定情報が格納される部位特定情報記憶手段とを、具備する。また、シーケンス設定手段およびシーケンス実行手段は、それぞれ以下の点を特徴とする。
【００１２】
シーケンス設定手段は、モデル記憶手段に登録されたモデルデータに基づく画像を含み、処理項目登録手段に登録された各処理項目を選択できるように構成された設定画面を表示して、対象物全体に共通に実行される共通処理用の処理シーケンスを設定する第１指定操作と、この共通処理用の処理シーケンス中の部位別処理指定項目に関する部位別処理用の処理シーケンスを設定するための第２指定操作と、モデルデータに基づく画像を用いて部位別処理の処理対象部位を指定する第３指定操作とを、それぞれ受け付ける指定受付手段と、第１指定操作により設定された共通処理用の処理シーケンスおよび第２指定操作により設定された部位別処理用の処理シーケンスを部位別処理指定項目を介して対応づけてシーケンス記憶手段に登録すると共に、第３指定操作により指定された処理対象部位に対するモデルデータ中の対応データを表す部位特定情報を、共通処理用の処理シーケンス中の部位別処理指定項目に紐付けて部位特定情報記憶手段に登録する登録処理手段とを具備する。
【００１３】
シーケンス実行手段は、シーケンス記憶手段に登録された共通処理用の処理シーケンスに設定されている各処理項目を順に実行すると共に、この処理シーケンス中の部位別処理指定項目を実行するタイミングになったとき、この部位別処理指定項目に紐付けられている部位特定情報を用いて既に実行された処理項目による処理で取得した計測データの中から処理対象部位の計測データを特定する。そして、この計測データを処理対象として、上記の部位別処理指定項目に対応する部位別処理用の処理シーケンスを実行する。
【００１４】
上記の構成によれば、ユーザは、設定画面に表示された対象物の全体画像を参照して、個別に計測する必要のある部位を見分けることができる。そして、これらの部位に対応する部位別処理指定項目を含む共通処理用の処理シーケンスを第１指定操作により設定すると共に、個別に計測する必要のある部位に関しては、別途、第２指定操作により、その部位に適した処理項目による部位別処理用の処理シーケンスを設定し、また設定画面中の画像を用いた第３指定操作により具体的な処理対象部位を指定する。これらの作業が終了すると、登録処理手段により、共通処理用の処理シーケンスと部位別処理用の処理シーケンスとが部位別指定項目を介して対応づけて登録され、また部位別処理の処理対象部位に対するモデルデータ中の対応データを表す部位特定情報が部位別処理指定項目に紐付けて登録される。
【００１５】
シーケンス実行手段は、共通処理用の処理シーケンスに沿って処理を実行しながら、部位別処理指定項目を実行するタイミングになったときは、その項目に対応づけられた部位別処理用の処理シーケンスを実行するが、これに先立ち、シーケンス実行手段は、実行対象の部位別処理指定項目に紐付けられている部位特定情報を用いて、既に実行された処理項目による処理で取得した計測データの中から処理対象部位の計測データを取得する。したがって、共通処理用の処理シーケンスとして、モデルデータに対応する形式の計測データを取得することを定義した処理項目が部位別処理指定項目よりも先に実行されるように定義された処理シーケンスを設定しておけば、この計測により得た計測データから部位別特定情報に対応するデータを特定することが可能になり、処理対象部位の計測データを支障なく取得することができる。これにより、部位別処理の精度を確保することができる。
【００１６】
上記の画像処理装置の好ましい一実施態様では、登録処理手段は、共通処理用の処理シーケンス中の部位別処理指定項目またはこれに対応する部位別処理用の処理シーケンスに、部位特定情報記憶手段に登録された部位特定情報へのリンクを設定することにより、部位特定情報と部位別処理指定項目とを紐付ける。このようにすれば、部位別処理項目を実行するタイミングになったとき、設定されているリンクから部位特定情報を容易に取得することが可能になる。
【００１７】
他の好ましい実施態様による画像処理装置では、登録処理手段は、第１指定操作に基づき設定された共通処理用の処理シーケンスにおいて、モデルデータに対応する形式の計測データを取得することを定義した処理項目が部位別処理指定項目よりも先に実行されるように定義されていることを条件として、共通処理用の処理シーケンスおよび部位別処理用の処理シーケンスを登録する。このようにすれば、処理シーケンスの実行時に、部位別処理の処理対象部位の計測データを安定して取得できることができ、処理に支障が生じるのを防止することが可能になる。
【００１８】
他の好ましい実施態様による画像処理装置では、モデル記憶手段には、対象物の３次元形状を示す３次元情報がモデルデータとして登録され、指定受付手段は、モデル記憶手段に登録されているモデルデータを仮想平面に透視変換することにより生成された画像を含む設定画面を表示する。
【００１９】
上記の実施態様によれば、ユーザは、対象物の３次元形状を示す透視変換画像を参照して、個別の処理が必要な部位を見分けて、その部位を指定することができる。さらに、透視変換の視点をユーザの指定に応じて変化させ、これに合わせて透視変換画像の表示を変更するようにすれば、確認作業の利便性をより一層高めることができる。
【００２０】
また、上記の第３指定操作としては、たとえば、指定対象部位を含む範囲を指定したり、指定された範囲全体を指定対象部位とする指定（部分指定）を行うことができる。また、処理対象の部位の形状の特徴に係る条件を指定する操作を行って、モデルデータからその条件に適合する部位を抽出して処理対象部位として設定することもできる。さらに、３次元のモデルデータが登録されている場合には、上記の条件として、法線の方向の角度範囲などの３次元データに特有の条件を設定することができる。
【００２１】
指定受付手段は、第３指定操作に応じて、画像中の指定された部位に対応する画像を識別表示し、さらに識別表示に対する確定操作が行われたことに応じて、識別表示された部位を指定対象部位として確定するのが望ましい。特に、上記の条件による指定を行う場合には、識別表示に対する確定操作を受け付けることによって、誤った指定が行われるのを回避することができる。
【００２２】
つぎに、本発明は、複数種の処理項目がそれぞれその処理項目に対応するプログラムに紐付けられた登録された処理項目登録手段から選択された複数の処理項目を所定の順序で並べた処理シーケンスをユーザの指定操作に応じて設定して、当該処理シーケンスを登録するシーケンス登録ステップと、シーケンス登録ステップにおいて登録された処理シーケンス中の各処理項目に対応するプログラムを処理シーケンスで設定されている順序に沿って実行することにより、対象物の画像を取得する処理および取得した画像を用いた計測処理を含む複数とおりの処理を実行するシーケンス実行ステップとを実行する画像処理方法に適用される。
【００２３】
上記のシーケンス登録ステップでは、以下の３つのステップを実行する。
最初のステップでは、対象物の全体形状を表すモデルデータに基づく画像を含み、対象物の一部に対する部位別処理を実行することを定義した部位別処理指定項目を含む複数の処理項目を選択できるように設定された設定画面を表示し、この設定画面において対象物全体に共通に実行される共通処理用の処理シーケンスを設定するための第１指定操作を受け付けることにより、モデルデータに対応する形式の計測データを取得することを定義した処理項目が部位別処理指定項目よりも先に実行されるように定義された共通処理用の処理シーケンスを設定する。
【００２４】
つぎのステップでは、前記設定画面において、共通処理用の処理シーケンス中の部位別処理指定項目に関する部位別処理用の処理シーケンスを設定するための第２指定操作を受け付けて、当該処理シーケンスを設定すると共に、モデルデータに基づく画像を用いて部位別処理の処理対象部位を指定する第３指定操作を受け付ける。
【００２５】
最後のステップでは、第１指定操作に基づき設定された共通処理用の処理シーケンスおよび第２指定操作に基づき設定された部位別処理用の処理シーケンスを、部位別処理指定項目を介して対応づけて登録すると共に、第３指定操作により指定された処理対象部位に対するモデルデータ中の対応データを表す部位特定情報を、共通処理用の処理シーケンス中の部位別処理指定項目に紐付けて登録する。
【００２６】
さらに、シーケンス実行ステップでは、共通処理用の処理シーケンスに設定されている各処理項目を順に実行すると共に、この処理シーケンス中の部位別処理指定項目を実行するタイミングになったとき、この部位別処理指定項目に紐付けられている部位特定情報を用いてモデルデータに対応する形式の計測データの中から処理対象部位の計測データを特定し、この計測データを処理対象として、部位別処理指定項目に対応する部位別処理用の処理シーケンスを実行する。
【発明の効果】
【００２７】
本発明によれば、対象物の形状や処理の目的に応じて部位別処理が必要な部位毎に、その部位の処理に適した処理シーケンスを設定することが可能であるので、部位別処理の対象部位が複数存在したり、部位毎に処理の内容が異なっても、精度の良い処理を行うことができる。また、対象物の全体を認識するのが困難な用途にも、適用が可能な処理シーケンスを設定することができる。
【００２８】
また、ユーザが処理シーケンスを設定する際には、設定画面に表示された画像から、部位別処理を行う必要のある部位を容易に把握し、またこの画像を用いた指定操作により部位別処理の処理対象部位を簡単に指定することができるので、処理シーケンスの設定に係る操作性が高められる。
【図面の簡単な説明】
【００２９】
【図１】画像処理装置の構成例を示すブロック図である。
【図２】図１の画像処理装置に導入されている画像処理システムの機能ブロック図である。
【図３】共通処理設定画面の構成例および共通処理用のシーケンスの設定例を示す図である。
【図４】部位別処理設定画面の立ち上げ直後の構成を示す図である。
【図５】対象部位設定画面の構成例およびモデル画像に対する指定操作の例を示す図である。
【図６】図５の対象部位設定画面が指定操作を反映した表示に変わった状態を示す図である。
【図７】設定が終了した時点の部位別処理設定画面の例を示す図である。
【図８】設定が終了した時点の部位別処理設定画面の他の例を示す図である。
【図９】図８の部位別処理設定画面に対応する対象部位設定画面の指定受付後の状態を示す図である。
【図１０】設定モード時の処理手順を示すフローチャートである。
【図１１】シーケンステーブルの構成例を示す図である。
【図１２】処理シーケンスを実行する際の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００３０】
図１は、本発明が適用された画像処理装置の構成例を示すブロック図である。
この実施例の画像処理装置は、生産現場でピッキングロボットに把持させる部品を認識したり、完成体の製品または部品を検査するなどの目的に利用されるもので、３次元および２次元の計測処理を実行する機能を具備する。
【００３１】
図１を参照して、具体的な装置構成を説明する。
この実施例の画像処理装置は、ＣＰＵ１４を主体とする処理部１に、撮像部２、モニタ３、操作部４などを接続して構成される。図１の撮像部２には、２台のカメラＣ０，Ｃ１が含まれるが、もう１台カメラを追加してもよい。また２次元の計測のみを実施する場合には、撮像部１のカメラを１台のみとしてもよい。
【００３２】
処理部１内には、カメラＣ０，Ｃ１からの画像信号を取り込む画像入力部１０，１１、カメラ駆動部１２、画像メモリ１３、ＣＰＵ１４、メモリ１５、表示制御部１６、出力部１７などが設けられる。
【００３３】
カメラ駆動部１２は、ＣＰＵ１４からの指令に応じて、各カメラＣ０，Ｃ１に駆動信号を出力する。画像入力部１０，１１は、それぞれ対応する各カメラＣ０，Ｃ１からの画像信号を入力してディジタル変換することにより、計測処理用のディジタル画像（以下、「処理対象画像」という。）を生成し、これを画像メモリ１３に格納する。
ＣＰＵ１４は、画像メモリ１３内の処理対象画像を処理して、２次元または３次元の計測処理、もしくは双方の計測処理を実行する。
【００３４】
出力部１７は、計測処理や判定処理の結果を外部機器に出力するための出力用インターフェースである。
表示制御部１６は、画像入力部１０，１１から処理対象画像の供給を受けて、これらの画像を含む表示用画面を生成し、これをモニタ３に表示する。この表示用画面には、適宜、ＣＰＵ１４から提供された処理結果データの表示が加味される。また、以下に述べる処理シーケンスの設定モードにおいては、表示制御部２６は、ＣＰＵ２４から後述する設定画面の表示用データの提供を受けて、この画面をモニタ３に表示する。
【００３５】
メモリ１５は、ハードディスクなどの大容量の不揮発性メモリであって、つぎの図２に示す画像処理システム１００を構成するプログラムやデータファイルが格納されている。
ＣＰＵ１４は、図２中の指定操作受付部１０６、部位特定情報登録処理部１０７、シーケンス組立部１０８として振る舞うことにより、対象物全体に共通する処理（以下、「共通処理」という。）の流れを表す処理シーケンスと、この共通処理から分岐して対象物の一部に対して実行される処理（以下、「部位別処理」という。）の流れを示す処理シーケンスとを設定する。また、ＣＰＵ２４は、図２中のシーケンス実行部１０９として振る舞うことにより、各処理シーケンスに定義されている処理を、定義されている順序に従って実行する。
【００３６】
図２中のデータファイルのうち、処理項目テーブル記憶部１０１には、上記の処理シーケンスに設定可能な複数種の処理項目が格納された処理項目テーブルが登録される。プログラム記憶部１０２には、これらの処理項目の処理を実行するためのプログラムが格納される。なお、処理項目には２次元の計測処理または認識処理の実行を定義するものと、３次元の計測処理または認識処理の実行を定義するものとが含まれる。
【００３７】
モデルデータ記憶部１０３は、計測処理の対象物の全体形状を表すモデルデータを登録するためのものである。以下に示す具体例では、モデルデータ記憶部１０３にＣＡＤデータに基づく３次元のモデルデータが登録されるものとするが、これに限らず、対象物の実物モデルの３次元計測結果から作成されたモデルデータを登録することもできる。また２次元の計測処理のみを行う場合には、対象物の実物モデルの撮像により得た濃淡画像や、この濃淡画像から生成した特徴抽出画像（エッジ画像、２値画像、各画素における濃度勾配方向を示す角度データが設定された疑似画像など）を登録してもよい。
【００３８】
シーケンステーブル記憶部１０４には、ユーザの指定操作に応じて設定された処理シーケンスが登録される。部位特定情報記憶部１０５には、部位別処理の対象としてユーザに指定された部位に対するモデルデータ中の対応データを表す部位特定情報が登録される。
【００３９】
図３〜９は、処理シーケンスの設定画面の具体例を示す。
この実施例では、設定される処理シーケンスを、ユーザ向けに「処理フロー」と表現し、３種類の設定画面を用いて処理シーケンスの設定用の指定操作を受け付けるようにしている。これらのうち、図３に示す設定画面２０１は、処理シーケンスの主要部（ユーザには「共通処理フロー」の名称で提示される。）を設定するためのものであり、図４，７，８に示す設定画面２０２は、部位別処理のアルゴリズム（ユーザには、「選択部位処理フロー」の名称で提示される。）を設定するためのものである。また、図５，６，９に示す設定画面２０３は、部位別処理の処理対象部位を設定するためのものである。
【００４０】
以下、設定画面２０１，２０２，２０３を、それぞれ「共通処理用設定画面２０１」「部位別処理用設定画面２０２」「対象部位設定画面２０３」という。また、共通処理用設定画面２０１と部位別処理用設定画面２０２とは、殆ど構成が同一であるので、画面内の構成を共通の符号により示す。また、各画面の中央部の機能ボタンに関しては、以下の説明に登場するもののみ、符号２１〜２７を付す。
【００４１】
各設定画面２０１，２０２は、左上の「フロー切替」のボタン２１０を操作することにより、交互に切り替えて表示される。いずれの画面２０１，２０２でも、画面の左側に設定中の処理シーケンスを表示するための欄２１１が設けられ、画面の右側に処理項目の表示欄２１２が設けられる。また、画面の中央の上半分の領域には、複数種の機能ボタンが設けられ、その下方に対象物のモデルの画像を表示する欄２１３が設けられる。また、画面の左下には、ヘルプメニューの呼び出しボタン２１４や、画面を閉じること（設定処理の終了）を指示するボタン２１５が設けられる。
【００４２】
以下、上記の欄２１１，２１２，２１３を、それぞれ「シーケンス表示欄２１１」「項目表示欄２１２」「モデル表示欄２１３」という。また、モデル表示欄２１３に表示される画像を「モデル画像」という。
【００４３】
項目表示欄２１２には、処理の目的に応じて分類された複数種の処理項目によるツリー構造が表示される。この実施例では、項目表示欄２１２内の処理項目を選択するクリック操作を受け付けて、この操作により選択された処理項目をシーケンス表示欄２１１に表示するようにしている。この表示では、シーケンス表示欄２１１内の上から下に沿って、選択された処理項目が選択された順に並べられる。また各処理項目には、選択された順序を示す数字０，１，２，・・・（以下、「シーケンス番号」という。）が設定される。
【００４４】
処理項目の並び順序は、適宜、図中の移動ボタン２１，２２などを用いて入れ替えることができる。また、挿入ボタン２３を用いて、既に並べられた処理項目の間に新たに選択された処理項目を割り込ませることもできる。また、コピーボタン２４やペーストボタン２５を用いて、シーケンス表示欄２１１内のある処理項目を複製することにより、同じ処理項目を重複設定したり、削除ボタン２６を用いて一部の処理項目を削除することもできる。
【００４５】
モデル表示欄２１３に表示されるモデル画像Ｍは、図２に示したモデルデータ記憶部１０３内のモデルデータ（３次元）をカメラＣ０，Ｃ１の一方の撮像面に透視変換することにより生成される。また、ここに表示されるモデル画像Ｍは、部位別処理の処理対象部位が指定されたことに応じて、指定された部位が、赤、青などの目立つ色彩により明示される（図３〜９では、色彩を極太線により表現する。）。
【００４６】
図５，６，９に示す対象部位設定画面２０３は、部位別処理設定画面２０２中のモデル表示欄２１３に対するダブルクリック操作により呼び出され、部位別処理設定画面２０２に重ねて表示される。
【００４７】
対象部位設定画面２０３では、モデル画像Ｍを拡大表示する領域２１６が設定され、その左手に、部位指定の条件を選択するための欄２１７や、ＯＫ（確定）ボタン２１８、ならびにキャンセルボタン２１９が設定される。なお、図示していないが、この実施例では、領域２１６内でのマウスのドラッグドロップ操作などに応じて、透視変換の視点や視線方向を変更することにより、モデル画像Ｍの表示を種々に変更することができる。
【００４８】
また、この実施例では、モデルデータに、「セグメント」と呼ばれる３次元パーツ（複数の３次元座標の集合体）が複数含まれていることを前提として、処理対象部位をセグメントの単位で指定する。この指定のために、欄２１７には、セグメントの指定方法に関する５つの選択肢が、それぞれチェックボックス２８と共に表示されている。これらのうち、１番目〜３番目の選択肢は、処理対象のセグメントを指定対象の部位の特徴によって絞り込むためのものである。下２つの選択肢のうち「範囲指定」は、指定された範囲内に含まれるセグメントを処理対象とすることを意味し、「部分指定」は、特定のセグメントの指定を受け付けることを意味する。
【００４９】
図１０は、上記の設定画面２０１〜２０３を用いた設定モードの実行手順（図２の指定操作受付部１０６、部位特定情報登録処理部１０７、およびシーケンス組立部１０８により実行されるもの）を示す。以下、このフローチャートの流れに沿って、適宜、図３〜図９の設定画面２０１〜２０３の具体例を参照しながら、設定モードにおけるユーザの操作や、操作に応じて実行される処理を説明する。
【００５０】
この設定モードのステップＳ１，Ｓ２は指定操作受付部１０６により実行される。ステップＳ１では、モデルデータ記憶部１０３よりモデルデータを読み出して、透視変換処理を実行することにより、モデル画像Ｍを生成する（ステップＳ１）。そして、このモデル画像Ｍがモデル表示欄２１３に表示された状態の共通処理設定画面２０１を立ち上げる（ステップＳ２）。この立ち上げ直後の共通処理設定画面２０１のシーケンス表示欄２１１は、空白状態であり、モデル表示欄２１３内のモデル画像Ｍにも、処理対象部位を示す識別表示が行われていない状態である。
【００５１】
ステップＳ３は、指定操作受付部１０６およびシーケンス組立部１０８が協働して実行するもので、上記の共通処理設定画面２０１において、処理項目表示欄２１２内の各種処理項目を選択する操作や機能ボタンの操作などを受け付けて、これらの操作により選択された処理項目を指定された順序で並べることにより、共通処理用のシーケンスを組み立てる。そして、この組み立てを行う都度、シーケンス表示欄２１１内の表示を更新する。
【００５２】
図３の共通処理設定画面２０１のシーケンス表示欄２１１には７つの処理項目が設定されている。これらの処理項目を右側の処理項目表示欄２１２のツリー表示と対比すると明らかなように、０番の処理項目「ピッキングカメラ画像入力」は「画像を取り込む処理」、すなわち撮像に関わるものである。また１〜３番の処理項目「エッジ抽出」「三次元復元」「グローバルレジストレーション」、および６番の「ローカルレジストレーション」は、検査・計測に関する具体的な処理を示すものである。
【００５３】
なお、「グローバルレジストレーション」とは、その前の「三次元復元」により復元された対象物の３次元情報をモデルデータと照合することにより、対象物の位置および姿勢を大まかに認識する処理である。「ローカルレジストレーション」とは、その前に実行された各部位別処理の結果に基づいて、対象物の位置および姿勢をより詳細に認識する処理である。
【００５４】
４番および５番の処理項目「部位別処理」は、部位別処理への分岐、すなわち対象物の一部分に特化した処理を実行することを示すもので、［課題を解決するための手段］に記載した「部位別処理指定項目」に相当する。共通処理の処理シーケンスでは、部位別処理の具体的な内容は定義されず、部位別処理を行うタイミングのみが定義される。部位別処理の具体的な内容は、設定画面２０２により設定される。
【００５５】
ユーザは、部位別処理を含むある程度の数の処理項目を選択すると、シーケンス表示欄２１１内のいずれかの部位別処理の表示を選択した状態にして、切替ボタン２１０を操作する。これにより図１０のステップＳ４が「ＹＥＳ」となってステップＳ５に進み、画面の表示を部位別処理用の設定画面２０２に切り替える。以下、この設定画面２０２および対象部位設定画面２０３を用いて、部位別処理の処理シーケンスおよび処理対象部位を設定する処理（ステップＳ６）を実施する。
【００５６】
ステップＳ６では、部位別処理設定画面２０２においては、共通処理設定画面２０１におけるのと同様の方法で処理項目の選択および処理順序を設定する操作を受け付けて、部位別処理の処理シーケンスを組み立て、これをシーケンス表示欄２１１の表示に反映させる。ただし、部位別処理設定画面２０２で「部位別処理」が選択された場合には、その選択はキャンセルされる。また、モデル表示欄２１３に対するダブルクリック操作が行われた場合には、対象部位設定画面２０３を立ち上げて、処理対象部位の指定を受け付ける。
【００５７】
図４〜７は、図３の共通処理設定画面２０１のシーケンス表示欄２１１内の４番の処理項目「部位別処理」に関して上記のステップＳ６が実行されている場合の画面の推移を示す。まず、図４は、共通処理設定画面２０１から表示が切り替えられた直後の部位別処理設定画面２０２である。この段階の部位別処理設定画面２０２では、シーケンス表示欄２１１は空白の状態であり、モデル表示欄２１３のモデル画像Ｍにも識別表示がされていない状態である。
【００５８】
図５は、上記図４の部位別処理設定画面２０２上で呼び出された対象部位設定画面２０３に、処理対象部位の指定操作がされた状態を示す。この例では、左上の欄２１７内の「範囲指定」を選択すると共に、領域２１６内のモデル画像Ｍの三箇所がそれぞれ枠ｒ１，ｒ２，ｒ３により範囲指定されている。ここでユーザが、ＯＫボタン２１８を操作すると、上記の枠ｒ１，ｒ２，ｒ３内に完全に含まれるセグメントが処理対象部位に設定され、これに応じて、図６に示すように、処理対象部位に設定された箇所が目立つ色彩（図中の一点鎖線の部分）により識別表示される。ここで、ユーザが、再度、ＯＫボタン２１８を操作、または対象部位設定画面２０３を閉じる操作を行うと、処理対象部位の指定が終了する。
【００５９】
図７は、図５，６に示した設定操作や処理項目の設定が終了した段階の部位別処理設定画面２０２を示す。図７の例では、部位別処理の処理シーケンスとして、検査・計測に関する処理項目が３種類設定されており、これらに０〜２のシーケンス番号が付与されている。なお、設定画面２０２でも、「部位別処理」を除く各処理項目を選択することが可能であり、処理項目の数や順序も自由に選択することができる。
【００６０】
図８および図９は、図３中の２番目の「部位別処理」（５番の処理項目）の設定に関する設定画面２０２，２０３を示す（いずれも設定が終了した段階のものである。）。
図９の対象部位設定画面２０３では、ユーザが「矩形を構成するセグメント」を選択してＯＫボタン２１８を操作したことにより、モデルデータの中から選択された条件を満たすセグメントが抽出されて、これらが所定の色彩（極太線で示す。）で識別表示される。また、図８の部位別処理設定画面２０２では、先の図７の例とは内容が異なる処理シーケンスが設定されている。
【００６１】
このように、ユーザは、分岐別処理毎に、処理シーケンスの内容や処理対象部位を自由に設定することができる。なお、上記では、４番の分岐別処理に関する設定と５番の分岐別処理に関する設定とを続けて説明したが、実際の処理では、１つの分岐別処理に関する設定が終了する都度、画面の表示を共通処理設定画面２０１に切り替える操作が行われる。この切り替え操作が行われると、図１０のステップＳ７が「ＹＥＳ」となり、ステップＳ８において、対象部位設定画面２０３で設定された処理対象部位に対応するセグメントを示す情報を部位特定情報として取得し、これを部位特定情報記憶部１０５に登録する。たとえば、モデルデータ中の各セグメントにラベルが付与されている場合には、処理対象部位に含まれる各セグメントのラベルを部位特定情報として登録することができる。また、モデルデータから処理対象部位に対応するセグメントの３次元情報を抽出し、これを部位特定情報として登録することも可能である。
【００６２】
上記のステップＳ８を実行した場合には、さらに、ステップＳ９において、「共通処理の処理シーケンス中に設定されている「部位別処理」の項目に、上記の部位特定情報が格納されたアドレスなどを、リンク情報として設定し、しかる後に共通処理設定画面を表示する状態に戻る（ステップＳ２）。
【００６３】
共通処理設定画面に戻った後は、再び、共通処理の処理シーケンスの設定を行うことができる。また、さらに部位別処理指定項目を追加し、その部位別処理指定項目に関して、部位別処理設定画面２０２や対象部位設定画面２０３を立ち上げて、処理シーケンスを設定することもできる。
なお、先の図３は、上記４番および５番の部位別処理に関わる設定が終了して、共通処理設定画面２０１に戻った後に、６番の処理項目（ローカルレジストレーション）を選択したときの状態を示すものである。
【００６４】
必要な設定をすべて完了すると、ユーザは、共通処理設定画面２０１の設定ボタン２７を操作する。この操作は指定操作受付部１０６により受け付けられてシーケンス組立部１０８に渡され、シーケンス組立部１０８において、それまでの指定操作により組み立てた処理シーケンスを、シーケンステーブル記憶部１０４に登録する処理を実行する。
【００６５】
ただし、図１０には示していないが、上記の登録処理に先立ち、シーケンス組立部１０８は、共通処理の処理シーケンスの処理項目を順に辿って、対象物を撮像してモデルデータに対応する形式の計測データ（モデルデータとの照合が可能なデータ）を取得する処理が部位別処理より先に実行されるように定義されているかどうかをチェックする。ここで、この定義がされていると判断した場合には、処理シーケンスの登録処理が実行されるが、上記の定義がされていないと判断した場合には、シーケンス組立部１０８は、登録をせずに、指定操作受付部１０６にエラーコードを出力する。
【００６６】
指定操作受付部１０６は、上記のエラーコードに応じて、表示中の共通処理設定画面２０１にエラーメッセージなどを表示する。ユーザがこの表示に応じてシーケンス表示欄２１１内の処理シーケンスを適切なものに修正して、再度、設定ボタン２７を操作すれば、シーケンス組立部１０８は、修正後の処理シーケンスが適切であることを確認した上で登録処理を実行する。
【００６７】
図１１は、図４〜９の設定画面により設定された処理シーケンスがシーケンステーブルとして登録された例を示す。
この図１１の例では、共通処理用のシーケンステーブルＴ１と部位別処理用のシーケンステーブルＴ２とを別個に設定し、各テーブルＴ１，Ｔ２に、それぞれ選択された処理項目をシーケンス番号に対応づけて登録している。また、部位別処理のシーケンステーブルＴ２では、シーケンス番号として、共通処理中の対応する処理項目（部位別処理）のシーケンス番号に枝番をつけた番号が設定される。このような番号設定により、共通処理の４番、５番の部位別処理を実行する際には、それぞれそのシーケンス番号により部位別処理用のシーケンステーブルＴ２を照合することによって、対応する部位別処理に設定されている各処理項目を順に読み出し、実行することが可能になる。
【００６８】
また、共通処理用のシーケンステーブルＴ１中の部位別処理には、その部位別処理の処理対象部位を設定した際に部位特定情報記憶部１０５に登録された部位特定情報へのリンク情報Ｐ１，Ｐ２（具体的には、該当する部位特定情報のファイル名や、このファイルが格納されたアドレスなど）が対応づけて登録される。
【００６９】
図１２は、上記の設定モードにより登録された処理シーケンスをシーケンス実行部１０９が実行する場合の処理の手順を示す。
【００７０】
この処理では、まず、モデルデータ記憶部１０３からモデルデータを読み出すと共に、当該モデルデータに対応する処理シーケンス（共通処理用のシーケンステーブルＴ１と部位別処理用のシーケンステーブルＴ２との組み合わせ）を読み出す（ステップＳ２１）。
【００７１】
つぎに、共通処理用のシーケンステーブルＴ１の１番目に設定されている処理項目を実行する（ステップＳ２２）。実行後は、次の処理項目の有無をチェックする。次の処理項目として部位別処理以外の処理項目が設定されている場合（ステップＳ２３が「ＹＥＳ」、ステップＳ２４が「ＮＯ」の場合）、その処理項目を実行する（ステップＳ２５）。
【００７２】
処理シーケンスの登録時に行われる適否判断によれば、登録されている処理シーケンスが実行される場合には、必ず、モデルデータに対応する形式の計測データを取得することを定義した処理項目（撮像および計測処理に関わる項目）が実施されてから部位別処理が実行されることになる。よって、最初の部位別処理を実行するまでの間に、ステップＳ２３，Ｓ２４，Ｓ２５のループが何回か実行されて計測データを取得した後に、部位別処理を実行するタイミングになると、ステップＳ２４が「ＹＥＳ」となり、Ｓ２６〜Ｓ２９の各ステップを実行する。
【００７３】
ステップＳ２６では、処理対象の部位別処理に設定されているリンク情報により部位特定情報記憶部１０５にアクセスして、該当する部位特定情報を読み出す。ステップＳ２７では、読み出した部位特定情報を用いて、モデルデータ中の処理対象部位に対応するデータ（以下、「部分モデルデータ」という。）を特定する。
【００７４】
ステップＳ２８では、先の計測処理により取得した対象物全体の計測データを上記の部分モデルデータにより照合して、処理対象部位の計測データを特定する。ステップＳ２９では、実行するタイミングになっている部位別処理のシーケンス番号に基づき、部位別処理用のシーケンステーブルから当該部位別処理に対応する処理項目を順に読み出し、ステップＳ２９で特定された計測データに対して、読み出した処理項目を実行する。
【００７５】
以下、同様にして、共通処理の処理シーケンスに設定されている部位別処理を実行するタイミングになる都度、上記のステップＳ２６，Ｓ２７，Ｓ２８を実行することにより処理対象の計測データを特定してからステップＳ２９を実行するので、部位別特定処理の処理対象部位を精度良く計測することが可能になる。
【００７６】
なお、共通処理の処理シーケンスにおいて、部位別処理の前に、対象物に対する計測処理と共に、その処理により得た計測データをモデルデータと照合する処理（図３のグローバルレジストレーション）が実施される場合には、図１２の処理では、ステップＳ２７，Ｓ２８に代えて、モデルデータをグローバルレジストレーションにより認識された位置および姿勢に設定し、部位特定情報を構成するセグメントに対応する計測データを処理対象として特定する。ただし、グローバルレジストレーションにおける認識誤差を考慮して、部位特定情報に対応する範囲より少し広めの範囲の計測データを抽出するのが望ましい。
また、このように、計測データとモデルデータとの照合が行われることが必ず前提となる場合には、対象部位設定画面２０３で指定された処理対象部位のモデルデータに対する相対関係を部位特定情報として登録してもよい。
【００７７】
上記の画像処理装置によれば、複雑な形状の対象物を計測する必要がある場合に、形状の特徴に応じて対象物を複数の部位に区分けし、部位毎にその形状に適した部位別処理を設定することによって、精度の良い計測処理を行うことができる。また、ピッキング処理のための対象物を認識する場合のように、全体形状を認識するのが困難な対象物の認識に用いられる場合には、形状に特徴のある複数の部位についてそれぞれ部位別処理を設定することにより、これらの部位の中で計測データの取得に成功した部位に対する認識結果に基づき、認識の精度を確保することが可能になる。
【符号の説明】
【００７８】
１    処理部
２    撮像部
３    モニタ
４    操作部
１４  ＣＰＵ
１５  メモリ
１００  画像処理システム
１０１  処理項目テーブル記憶部
１０２  プログラム記憶部
１０３  モデルデータ記憶部
１０４  シーケンステーブル記憶部
１０５  部位特定情報記憶部
１０６  指定操作受付部
１０７  部位特定情報登録処理部
１０８  シーケンス組立部
１０９  シーケンス実行部
【図１】
0005469491.tif 000002
【図２】
0005469491.tif 000003
【図３】
0005469491.tif 000004
【図４】
0005469491.tif 000005
【図５】
0005469491.tif 000006
【図６】
0005469491.tif 000007
【図７】
0005469491.tif 000008
【図８】
0005469491.tif 000009
【図９】
0005469491.tif 000010
【図１０】
0005469491.tif 000011
【図１１】
0005469491.tif 000012
【図１２】
0005469491.tif 000013