JP6337530B2 - 画像処理装置、画像処理方法、および画像処理プログラム - Google Patents

画像処理装置、画像処理方法、および画像処理プログラム Download PDF

Info

Publication number
JP6337530B2
JP6337530B2 JP2014051328A JP2014051328A JP6337530B2 JP 6337530 B2 JP6337530 B2 JP 6337530B2 JP 2014051328 A JP2014051328 A JP 2014051328A JP 2014051328 A JP2014051328 A JP 2014051328A JP 6337530 B2 JP6337530 B2 JP 6337530B2
Authority
JP
Japan
Prior art keywords
image
feature
range
image processing
model image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014051328A
Other languages
English (en)
Other versions
JP2015176273A (ja
Inventor
善久 湊
善久 湊
祐己 赤塚
祐己 赤塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2014051328A priority Critical patent/JP6337530B2/ja
Priority to EP15151909.7A priority patent/EP2919166A1/en
Priority to US14/602,565 priority patent/US9508192B2/en
Publication of JP2015176273A publication Critical patent/JP2015176273A/ja
Application granted granted Critical
Publication of JP6337530B2 publication Critical patent/JP6337530B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/752Contour matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/149Segmentation; Edge detection involving deformable models, e.g. active contour models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Description

本発明は、入力画像に対して、モデル画像に含まれる特徴量に基づく探索を行なう画像処理装置、画像処理方法、および画像処理プログラムに関する。
FA(Factory Automation)分野においては、ワークなどの検出対象物を撮像し、その大きさや位置などを計測する処理や、予め登録されたモデル画像に一致する位置または領域を探索する処理などが実行される。
たとえば、特開2013−156094号公報(特許文献1)は、検査対象物に個体差がある場合や検査対象物の位置・向きが不定の場合であっても、適応的に検査領域を自動設定し、高精度な検査を可能にする技術を開示する。
特開2013−156094号公報
上述のような画像処理のアプリケーションとして、検出対象物を撮像してその存在する位置または領域を特定するとともに、特定した位置または領域を基準として任意に定められる位置または領域に対して、何らかの作用(たとえば、ワークの把持やワークに対する各種の加工)を与えるようなものがある。このようなアプリケーションでは、検出対象物の特徴量および当該検出対象物に対して作用を与えるべき位置または領域の情報をモデル情報として予め登録しておくことになる。
しかしながら、モデル情報として登録された形状とは異なる形状を生じ得るものが検出対象物となる場合もある。たとえば、前工程の温度や湿度などの環境条件に依存してその形状が定まるワークや、フレキシブルな材質で構成されており、外力(たとえば、重力)の影響を受けて形状が容易に変化するようなワークが想定される。
このような形状が変化するワークを検出するためには、通常、ユーザが様々な画像処理パラメータを予め設定する必要がある。しかしながら、当該画像処理パラメータは、それぞれが何を意味するのかをユーザが直感的に理解できないものが多い。このため、ユーザは、試行錯誤してパラメータの設定を行なう必要があり、画像処理パラメータの設定に多大な時間を要する。したがって、画像処理パラメータの設定を簡単に行なうことが可能な手法が望まれている。
一実施の形態に従うと、画像処理装置は、モデル画像の特徴部分の特徴量を保持するための記憶手段と、モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲の大きさを示す設定値を受け付けるための探索範囲受付手段と、設定値を用いて、モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲を決定するための探索範囲決定手段と、探索範囲決定手段によって決定された探索範囲をモデル画像に重ねて表示する表示手段とを備える。
好ましくは、表示手段は、設定値の変化に応じて、探索範囲決定手段によって決定された探索範囲の表示を変化させる。
好ましくは、表示手段は、探索範囲決定手段によって決定された探索範囲を入力画像に重ねて表示する。
好ましくは、記憶手段が保持する情報は、モデル画像内の複数の特徴部分を含む。画像処理装置は、モデル画像の複数の特徴部分の各々について、当該特徴部分に対して決定された探索範囲内で、当該特徴部分に対応する入力画像上の特徴部分を決定するための対応関係決定手段をさらに備える。表示手段は、モデル画像の複数の特徴部分のそれぞれと、入力画像の複数の特徴部分のそれぞれとの間の対応関係に応じてモデル画像を変形した画像を、モデル画像と比較可能な態様で表示する。
好ましくは、画像処理装置は、モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲を部分的に調整するための調整手段をさらに備える。
好ましくは、画像処理装置は、モデル画像の特徴部分について、入力画像中で探索の対象となるエッジの傾きの大きさを示す設定値を受け付けるための方向受付手段と、方向受付手段が受け付けた設定値を用いて、モデル画像の特徴部分におけるエッジの傾きを基準とした、入力画像中で探索の対象となるエッジの相対的な傾きの範囲を決定するための方向決定手段とをさらに備える。表示手段は、方向決定手段によって決定された探索の対象となるエッジの相対的な傾きの範囲をモデル画像に重ねて表示する。
好ましくは、表示手段は、方向受付手段が受け付けた設定値の変化に応じて、方向決定手段によって決定された探索の対象となるエッジの相対的な傾きの範囲の表示を変化させる。
他の実施の形態に従うと、画像処理方法は、モデル画像の特徴部分の特徴量を保持するステップと、モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲の大きさを示す設定値を受け付けるステップと、設定値を用いて、モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲を決定するステップと、決定するステップで決定された探索範囲をモデル画像に重ねて表示するステップとを備える。
さらに他の実施の形態に従うと、画像処理プログラムが提供される。画像処理プログラムは、コンピュータに、モデル画像の特徴部分の特徴量を保持するステップと、モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲の大きさを示す設定値を受け付けるステップと、設定値を用いて、モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲を決定するステップと、決定するステップで決定された探索範囲をモデル画像に重ねて表示するステップとを実行させる。
本発明によれば、モデル画像を用いて入力画像を探索する画像処理装置に対するパラメータの設定にかかる時間を短縮することができる。
本発明の関連技術およびその課題について説明するための図である。 第1の実施の形態に従う画像処理装置を含むシステムの構成を示す模式図である。 モデル画像に設定された探索範囲を説明するための図である。 第1の実施の形態に従う画像処理装置のハードウェア構成を示す模式図である。 第1の実施の形態に従う画像処理装置の機能構成を示す模式図である。 探索範囲の表示態様の一例について説明するための図である。 探索範囲の表示態様の他の例について説明するための図である。 探索範囲の表示が範囲パラメータに連動して表示されている様子を示した図である。 ユーザが探索範囲を部分的に調整している様子を示した図である。 探索範囲がテスト画像に重ねて表示されている様子を示している図である。 モデル画像に対して変形処理を施した画像が表示されている様子を示している図である。 モデル画像に対する探索範囲のフローチャートを示す図である。 設定した探索範囲の適否を確かめるテスト処理のフローチャートを示す図である。 変形例に従う画像処理装置の設定画面における表示態様の一例を示す図である。 モデル画像のコントロール点について、探索するエッジ方向に制限を設けるための方法を説明するための図である。 モデル画像のコントロール点について、探索するエッジ方向に制限を設けるための他の方法を説明するための図である。 第2の実施の形態に従う画像処理装置の機能構成を示す模式図である。 傾き範囲がテスト画像に重ねて表示されている様子を示している図である。 パラメータの設定画面の表示態様の一例を示した図である。 テスト画面の表示態様の一例を示した図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
<関連技術>
本実施の形態の画像処理装置および画像処理方法について理解を深めるために、まず、関連技術およびその課題について概略する。
図1は、本発明の関連技術およびその課題について説明するための図である。図1に示すような、検出対象のワーク2を含んだ画像をモデル画像30として登録するとともに、モデル画像30に含まれる検出対象物に対して、検出点20が設定されているとする。検出点20は、たとえば、ロボット300(図2参照)のロボットアームを作用あるいは移動させるべき検出対象物上の点などである。
モデル登録時には、図1に示すように、各入力画像において特定したい1つまたは複数の検出点20(図中の「×」印)をユーザが指定する。すなわち、ユーザは、撮像される検出対象物において位置を知りたい検出点を1つまたは複数指定する。
このモデル登録時において、関連技術に従う画像処理装置は、ワーク2のモデル画像から特徴量を抽出するとともに、顕著な特徴量(図1に示す例では、エッジ)を示す特徴部分をコントロール点22として決定し、コントロール点22を登録する。コントロール点22の各々については、位置を示す情報(すなわち、座標値)と、対応する特徴量とが関連付けて格納される。一般的に、複数のコントロール点22が登録される。コントロール点22に対応する特徴量は、コントロール点22の近傍にある1または複数の特徴量を含み得る。
図1に示すように、入力画像32に含まれる検出対象物の形状は、予め登録されたモデル画像に含まれる検出対象物の形状とは異なっており、いわば変形している状態であるとする。
関連技術に従う画像処理技術は、モデル画像30におけるコントロール点22の各々について、対応する入力画像32上の特徴点24を探索する。これにより、当該画像処理技術は、モデル画像30上のコントロール点22と、入力画像32上の特徴点24との対応関係を決定する。そして、当該画像処理技術は、この対応関係を利用して、任意に設定された検出点20に対応する検出点21を補間により推定する。したがって、形状が異なる検出対象物がコンベア10を流れていたとしても、ロボット300のロボットアームは、物体の形状および位置を特定することができ、検出対象物の形状に合わせて動作することができる。
ところで、モデル画像30上のコントロール点22に対応する入力画像32上の特徴点24を制限無しに探索すると、対応するコントロール点の探索時間が多くかかってしまう。また、入力画像32上の特徴点24を制限無しに探索することで、入力画像32上の対応する特徴点の候補数が多くなるため、入力画像32上の誤った点を対応する特徴点として決定する可能性が高くなってしまう。これに伴って、ロボット300のロボットアームは、検出対象物の位置および形状を正確に検出できなくなる。これらの問題を解消するために、本実施の形態に従う画像処理装置100は、モデル画像に含まれるコントロール点ついて、対応する入力画像上のコントロール点を探索する範囲(以下「探索範囲」とも称す。)にパラメータを設定することにより制限を設けることができる。
なお、上記では、モデル画像に含まれる特徴量を生じる特徴部分として、特徴点(コントロール点22)を例に挙げて説明を行なったが、特徴部分は、特徴点に限定されない。たとえば、特徴部分は、モデル画像に含まれる特徴点の他に、当該特徴点の集合からなるモデル画像内の特徴的な領域、当該特徴点の集合からなるモデル画像内の特徴的な線などを含む。以下では、モデル画像の特徴部分の一例である特徴点(すなわち、コントロール点)を例に挙げて説明を行なう。
<第1の実施の形態>
[A.システムの構成]
本実施の形態の画像処理装置は、各種のアプリケーションへの適用が可能であるが、一例として、ワーク2を撮像して得られる情報に基づいて、ロボットがワーク2に対して何らかの作用を与えるようなアプリケーションについて説明する。以下では、説明の便宜上、主として「位置」(すなわち、1つの座標値)を特定または検出する処理について説明するが、これに限られることなく、「領域」(すなわち、複数の座標値の集合)を特定または検出することが可能である。
図2は、本実施の形態の画像処理装置100を含むシステム1の構成を示す模式図である。図2を参照して、システム1は、主として、画像処理装置100と、ロボットコントローラ200と、ロボット300とを含む。システム1は、撮像部8を用いてコンベア10上の一部の領域を撮像するとともに、当該撮像によって得られた画像(以下「入力画像」とも称す。)を処理することで、コンベア10上を搬送される検出対象物(以下「ワークW」とも称す。)の位置を特定し、特定した位置の情報に基づいて、予め定められた位置でワークWを把持して、コンベア10外にワークWを移動させる。
より具体的には、画像処理装置100は、撮像部8からの入力画像に対して、以下に詳述するような画像処理を実行し、その画像処理の実行結果から得られる位置情報(または、移動指令)をロボットコントローラ200へ出力する。ロボットコントローラ200は、画像処理装置100からの情報に従って、駆動指令を与えることで、ロボット300を駆動する。典型的には、ロボット300は、可動軸毎にサーボモータを有しており、ロボットコントローラ200は、軸毎に計算される移動量に相当する数のパルスを含むパルス信号を出力する。
後述するように、ロボット300がワークWを把持すべき位置については、予め登録されているものとする。より具体的には、画像処理装置100では、把持対象のワークWの形状の情報に加えて、ワークWに対して何らかの作用を与えるべき位置が予め登録されている。画像処理装置100は、ワークWがモデル情報として登録された形状とは異なる形状に変化している場合であっても、ワークWの把持すべき位置を特定できる。
図2に示すような、ワークWを把持するシステムの他、ワークに対する操作や加工を行なうようなシステムにも応用可能である。たとえば、ワークに関して、切断位置、穴あけ位置、研磨位置、印刷位置、塗装位置などを予め登録しておけば、画像処理装置100は、登録した形状とは異なる形状を有するワークに対しても、当該登録された位置に対応する位置を特定し、処理を行なうことができる。
[B.概要]
図3を参照して、本実施の形態に従う画像処理装置100の概要について説明する。図3は、モデル画像に設定された探索範囲を説明するための図である。
ユーザは、探索範囲の大きさを示すパラメータ(以下「範囲パラメータ」とも称す。)を設定することで、モデル画像30Aのコントロール点について、対応する入力画像32上の特徴点の探索する範囲(すなわち、探索範囲)に制限を設けることができる。一例として、図3(A)には、モデル画像30Aに含まれるコントロール点22ついて探索範囲34Aを設定した様子が示されている。ユーザは、探索範囲を設定することで、ワーク2の変形をどの程度まで許容するのかを設定することができる。すなわち、画像処理装置100は、設定された探索範囲に応じて、登録されたワークに対して許容する変形度合いを変える。
また、図3に示されるように、画像処理装置100は、探索範囲の設定時において、探索範囲34Aをモデル画像30Aに重ねて表示する。すなわち、ユーザは、モデル画像に重ねて表示された探索範囲を確認しながら範囲パラメータの設定を行なうことができる。これにより、ユーザは、登録されているワーク2の変形をどの程度まで許容するのかを直感的に理解することができる。
画像処理装置100は、入力画像32を得ると、設定された探索範囲34Aの範囲内で、コントロール点22の各々について対応する入力画像32上の特徴点を探索する。その探索結果が、入力画像32上に示されている。このとき、探索範囲が正しく設定されていない場合には、入力画像32の画像領域36Aに示されるように、対応する特徴点が誤って検出される場合がある。
このような場合、ユーザは、必要に応じて探索範囲の設定をやり直し、正しい探索範囲を設定することができる。ユーザは、範囲パラメータを再設定することにより、画像処理装置100は、図3(B)のモデル画像30Bに示されるように、設定された範囲パラメータに応じて探索範囲の表示の大きさを変える。これにより、入力画像32の画像領域36Bに示されるように、画像処理装置100は、対応する特徴点を正確に検出することが可能になる。
このように、画像処理装置100は、範囲パラメータに合わせて探索範囲の表示サイズを変えるので、ユーザは、範囲パラメータが、どの程度の影響を可変形状検出処理に与えるのかを直感的に理解することが可能になる。
[C.画像処理装置100のハードウェア構成]
図4は、本実施の形態の画像処理装置100のハードウェア構成を示す模式図である。図4を参照して、画像処理装置100は、典型的には、汎用的なコンピュータアーキテクチャに従う構造を有しており、予めインストールされたプログラムをプロセッサが実行することで、後述するような各種の画像処理を実現する。
より具体的には、画像処理装置100は、表示部102と、CPU(Central Processing Unit)やMPU(Micro-Processing Unit)などのプロセッサ110と、主メモリ112と、ハードディスク114と、カメラインターフェイス120と、ロボットインターフェイス122と、ネットワークインターフェイス124と、メモリカードインターフェイス126とを含む。これらの各部は、内部バス104を介して互いにデータ通信可能に接続される。
プロセッサ110は、ハードディスク114に格納された画像処理プログラム116を読み出して、主メモリ112に展開して実行することで、本実施の形態の画像処理を実現する。表示部102には、画像処理の実行に伴う各種情報が表示される。また、画像処理の実行結果の一部または全部は、ロボットインターフェイス122を通じて、ロボットコントローラ200へ出力されてもよい。
画像処理プログラム116は、たとえば、メモリカード106などに格納された状態で流通する。この場合、メモリカードインターフェイス126を通じてメモリカード106に格納された画像処理プログラム116が読み出されて、ハードディスク114へインストールされる。あるいは、画像処理プログラム116は、ネットワークインターフェイス124を通じて、外部サーバから配信されるように構成してもよい。
汎用的なコンピュータアーキテクチャに従う構造を有する画像処理装置100を利用する場合には、コンピュータの基本的な機能を提供するためのOS(Operating System)がインストールされていてもよい。この場合には、画像処理プログラム116は、OSの一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の順序および/またはタイミングで呼出して処理を実行するものであってもよい。すなわち、本実施の形態の画像処理に必要なモジュールのすべてが画像処理プログラム116に含まれていなくともよく、必要なモジュールの一部がOSから提供されるような形態であってもよい。さらに、本実施の形態の画像処理プログラム116は、他のプログラムの一部に組み込まれて提供されるものであってもよい。
カメラインターフェイス120は、撮像部8による撮像によって得られる入力画像を受付ける。撮像部8は、典型的には、レンズなどの光学系に加えて、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサといった撮像素子を含んで構成される。図2には、画像処理装置100とは別に撮像部8が設けられ、撮像部8から画像処理の対象となる入力画像が提供される構成例を示すが、この構成に限られるものではない。たとえば、画像処理装置100と撮像部8とを一体的に構成し、撮像によって生成される入力画像に対して直接的に画像処理を実行するようにしてもよい。あるいは、各種の記憶媒体または通信媒体を介して、画像処理の対象となる入力画像を画像処理装置100へ与えるようにしてもよい。
代替的に、画像処理プログラム116の実行により提供される機能の一部または全部を専用のハードウェア回路として実装してもよい。
[D.画像処理装置100の機能構成]
図5は、本実施の形態の画像処理装置100の機能構成を示す模式図である。図5に示す各モジュールは、典型的には、プロセッサ110が画像処理プログラム116(いずれも図5)を実行することで実現される。
図5を参照して、画像処理装置100は、その機能構成として、探索範囲受付モジュール150と、探索範囲決定モジュール152と、表示モジュール154と、対応関係決定モジュール156とを含む。但し、対応関係決定モジュール156については、オプショナルであり、必要に応じて設けられる。
探索範囲受付モジュール150は、モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲の大きさを示す設定値(すなわち、範囲パラメータ)を受け付ける。範囲パラメータの設定方法についての詳細は後述する。探索範囲受付モジュール150は、受け付けた範囲パラメータを探索範囲決定モジュール152に出力する。
探索範囲決定モジュール152は、ユーザによって設定された範囲パラメータを用いて、モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲(すなわち、探索範囲)を決定する。典型的には、モデル画像のコントロール点は、モデル画像のエッジ上の点である。エッジ抽出は、たとえば、モデル画像を微分して画素値の勾配を求めることで実現される。典型的には、探索範囲決定モジュール152は、微分フィルタ、プリューウィットフィルタ、ソーベルフィルタ、ラプラシアンフィルタ、LOGフィルタ、その他のエッジを抽出することが可能なフィルタなどをモデル画像に畳み込むことでエッジ抽出を行なう。探索範囲決定モジュール152は、抽出したエッジ部分の一部または全部をコントロール点とする。探索範囲決定モジュール152の探索範囲の決定方法についての詳細は後述する。
表示モジュール154は、探索範囲決定モジュール152によって決定された探索範囲をモデル画像に重ねて表示する。典型的には、モデル画像に重ねて表示される探索範囲は、ユーザが設定する範囲パラメータに連動して表示される。表示モジュール154の探索範囲の表示方法について詳細は後述する。
対応関係決定モジュール156は、モデル画像の各特徴点に設定された探索範囲に基づいて、モデル画像の各特徴点と、入力画像との各特徴点との対応関係を決定する。より具体的には、対応関係決定モジュール156は、モデル画像の各特徴点について、当該特徴点に対して決定された探索範囲内で、当該特徴点に対応する入力画像上の特徴部分を決定する。対応関係決定モジュール156は、決定した対応関係に基づいて、モデル画像を変形し、変形画像を生成する。変形画像の生成方法についての詳細は後述する。対応関係決定モジュール156は、生成した変形画像を表示モジュール154に出力する。
[E.探索範囲の設定画面]
図6〜図9を参照して、探索範囲の設定方法について説明する。図6〜図9には、探索範囲を設定するための設定画面400Aが示されている。図6は、探索範囲の表示態様の一例について説明するための図である。図7は、探索範囲の表示態様の他の例について説明するための図である。図8は、探索範囲の表示が範囲パラメータに連動して表示されている様子を示した図である。図9は、ユーザが探索範囲を部分的に調整している様子を示した図である。
画像処理装置100は、ユーザがモデル画像に対して設定した探索範囲を確認できるように、モデル画像に重ねて、設定した探索範囲を表示する。ユーザが探索範囲を視認できれば、モデル画像に含まれるワークに対して、どれくらいの変形を許容するのかを一見して確認できるようになる。
図6を参照して、モデル画像30の探索範囲34を表示するための処理手順について説明する。ユーザは、モデル登録タグ402(図6の斜線部分)を選択した場合、モデル画像30に対する探索範囲34を登録または調整することができる。
探索範囲決定モジュール152は、モデル画像30を受け付けると、モデル画像30内のコントロール点22を決定するとともに、現在設定されている範囲パラメータの値に応じて各コントロール点22について探索範囲34を設定する。表示モジュール154は、決定された探索範囲34をモデル画像30に重ねて表示する。探索範囲34の表示態様としては、たとえば、設定画面400Aの表示領域420に表示されるように、コントロール点の各点に対して円状に表示する。
なお、コントロール点が多数検出された場合には、探索範囲34が重複すると見にくくなるため、図7に示されるように、表示モジュール154は、探索範囲34が重複する部分については表示しなくともよい。すなわち、表示モジュール154は、重複する探索範囲34については、これらの探索範囲34の和集合の外形のみを表示する。なお、表示モジュール154は、全ての探索範囲の最外輪郭のみを表示する。
また、ユーザは、探索範囲受付モジュール150としてのスライドバー411を操作することで、範囲パラメータを設定することができる。探索範囲決定モジュール152は、設定された範囲パラメータに応じて、モデル画像30のコントロール点22に対する探索範囲の大きさを決定する。たとえば、設定された範囲パラメータに応じて、探索範囲34の半径または直径が決定される。典型的には、探索範囲決定モジュール152は、受け付けた範囲パラメータの値が大きいほど探索範囲34のサイズが大きくなるように決定する。また、探索範囲決定モジュール152は、受け付けた範囲パラメータの値が小さいほど探索範囲34のサイズが小さくなるように決定する。
一例として、ユーザがマウスなどで図8(A)に示されるスライドバー411を操作して、図8(B)に示されるように、範囲パラメータの値が大きくなるように設定された場合には、図8(A)に示される探索範囲34Aのサイズが、図8(B)に示される探索範囲34Bのように大きくなるように表示される。このように、設定された範囲パラメータ値に連動して、探索範囲を表示することにより、ユーザは、範囲パラメータと変形許容度合いとの関係を容易に理解することができる。これにより、画像処理装置100の操作性を高めることができ、さらには、範囲パラメータの設定時間を大幅に短縮することが可能になる。
範囲パラメータの設定後、ユーザが、マウス操作などで登録ボタン413を選択することで、画像処理装置100は、モデル画像と、探索範囲とを対応付けてハードディスク114などの記録媒体に記憶する。なお、画像処理装置100は、コントロール点ごとに探索範囲を対応付けて記憶してもよいし、コントロール点の探索範囲のそれぞれの和集合を記憶してもよい。探索範囲は、たとえば、モデル画像上の座標値の集合として登録される。
なお、表示モジュール154は、必ずしもスライドバー411に探索範囲の表示を連動させる必要は無く、範囲パラメータの変化に応じて変化させればよい。たとえば、表示モジュール154は、表示ボタン(図示しない)がユーザによって選択されたタイミングで探索範囲の表示を変化させてもよい。
また、画像処理装置100は、モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲を部分的に調整できるように構成されてもよい。より具体的には、図9に示されるように、ユーザは、設定画面400Aの表示領域420に表示された探索範囲の一部を選択して、選択した部分を移動することにより探索範囲を調整する。なお、探索範囲の調整方法は、図9に示される方法に限定されるわけではなく、部分的に探索範囲を調整できる方法であればいずれであってもよい。たとえば、画像処理装置100は、表示した探索範囲に対して、対応する入力画像の特徴点の探索範囲から除外する部分を指定することができるように構成されてもよい。
[F.探索範囲のテスト画面]
図10および図11を参照して、探索範囲が正しく設定されているか否かを確かめるためのテスト方法について説明する。図10および図11には、設定された探索範囲をテストするためのテスト画面400Bが示されている。図10は、探索範囲がテスト画像に重ねて表示されている様子を示している図である。図11は、モデル画像に対して変形処理を施した画像が表示されている様子を示している図である。
(テスト画面の表示例1)
画像処理装置100は、ユーザがモデル画像に対して設定した探索範囲が正しく設定されている否かをテストするために、被検査対象のワークを含んだテスト画像に重ねて探索範囲を表示する。テスト画像に含まれる被検査対象物が、設定した探索範囲に包含されている場合には、ユーザは、探索範囲が正しく設定されていると判断できる。一方、テスト画像に含まれる被検査対象物が、設定した探索範囲に包含されていない場合には、ユーザは、探索範囲が正しく設定されていないと判断できる。このように、探索範囲をテスト画像に重ねて表示することで、ユーザは、探索範囲の設定の適否を容易に確認できる。
一例として、図10には、モデル画像30に対して設定された探索範囲34をテスト画像36に重ねて表示している様子が示されている。図10に示される例では、被検査対象のワーク33の一部(点線35)が探索範囲34に包含されていないので、画像処理装置100は、モデル画像に含まれワーク2を被検査対象のワーク33に合わせて正確に変形できないことになる。これを確認したユーザは、点線35の部分が探索範囲34に包含されるようにスライドバー411を調整する。このように、ユーザが検出したい被検査対象を探索範囲に重ねて表示することで、ユーザは、探索範囲についてのパラメータを容易に調整することができる。
なお、探索範囲34とテスト画像36との重ね合わる方法は様々な方法が考えられる。たとえば、画像処理装置100は、表示されたテスト画像36および探索範囲34のいずれか一方の表示をユーザ操作により動かせるように構成されてもよい。ユーザは、テスト画像36および探索範囲34のいずれか一方の表示を動かすことで、探索範囲34にワーク2が含まれるか否かを確認することができる。また、画像処理装置100は、テスト画像36のエッジを抽出し、探索範囲34に抽出したエッジが含まれるように自動的に位置合わせしてもよい。
(テスト画面の表示例2)
エッジが多く含まれるような画像が入力された場合は、探索範囲に含まれる入力画像の特徴点の候補が多くなるため、コントロールポイントの対応する特徴点を誤って検出する可能性が高くなる。すなわち、探索範囲が広く設定されすぎた場合には、モデル画像がユーザの意図するようには変形されない可能性もある。このため、ユーザが意図するようにモデル画像が変形されているかを確認できるように、画像処理装置100は、設定した探索範囲に対してモデル画像を変形した画像(以下「変形画像」とも称す。)を、モデル画像およびテスト画像の少なくとも一方と比較できるように表示する。これにより、ユーザは、探索範囲が正確に設定されているのかを容易に確認することが可能になる。
一例として、図11には、設定された探索範囲34を基にモデル画像30を変形した変形画像38が表示されている。このように、モデル画像30またはテスト画像36と、変形画像38が並べて表示されることで、ユーザは、モデル画像30またはテスト画像36と、変形画像38とを比較できるので、探索範囲が正しく設定されているのかを直観的に理解することが可能になる。また、図11に示されるように、変形後のワークの形状をモデル画像30に重ねて表示してもよい。これにより、ユーザは、登録されているワークの形状が相対的にどの程度変化するのかを直感的に理解できるようになる。
[G.変形画像の生成方法]
モデル画像を変形して変形画像を生成する方法については様々な手法が考えられる。以下では、そのうちの一例について説明する。
対応関係決定モジュール156は、モデルとして予め登録した検出対象物と、入力画像に被写体として含まれる検出対象物との間の対応関係を決定し、この対応関係を利用して、モデル画像30を変形する。より具体的には、対応関係決定モジュール156は、モデル画像30から特徴量を抽出するとともに、顕著な特徴量(たとえば、エッジ)を示す特徴点をコントロール点22として決定し登録する。コントロール点22の各々については、位置を示す情報(すなわち、座標値)と、対応する特徴量(コントロール点の近傍にある1または複数の特徴量を含み得る)とが関連付けて格納される。一般的に、複数のコントロール点22が登録される。
このように、対応関係決定モジュール156は、被写体として検出対象物を含むモデル画像30から複数の特徴点を抽出する。そして、対応関係決定モジュール156は、検出対象物の複数の特徴点であるコントロール点22を示す情報を含むモデル情報を保持する。コントロール点22は、特徴点そのものの座標値を用いて指定してもよいし、ある特徴点からの相対位置を用いて指定してもよい。
続いて、撮像部8による撮像によって、入力画像としてテスト画像36が得られると、対応関係決定モジュール156は、モデル画像30の各特徴点について、当該特徴点に対して決定された探索範囲内で、当該特徴点に対応するテスト画像36上の特徴点を決定する。すなわち、対応関係決定モジュール156は、テスト画像36に含まれる複数の特徴点を抽出するとともに、抽出された複数の特徴点とモデル情報の複数の特徴点との間の対応関係を決定する。
最終的に、対応関係決定モジュール156は、決定された対応関係を基に、モデル画像と入力画像との間の補間関数を算出し、算出した補間関数を基に、モデル画像30を変形する。すなわち、画像処理装置100は、モデル情報の各特徴点と、テスト画像36から抽出された各特徴点とをそれぞれ一対一で対応付けるとともに、互いに対応付けられた、モデル情報の複数の特徴点からなる集合と、テスト画像36から抽出された複数の特徴点からなる集合との間で、対応関係を示す補間関数を決定する。
たとえば、対応関係決定モジュール156は、モデル画像上の任意の座標値(x,y)と、テスト画像36上の任意の座標値(x’,y’)との関係を定義する、補間関数F(x,y)を決定する。このような補間関数の決定手法としては、薄板スプライン補間などを利用できる。これにより、対応関係決定モジュール156は、モデル画像の各画素(x,y)について、補間関数F(x,y)を用いて対応点(x’,y’)を算出し、変形画像を生成する。他にも、モデル画像の変形方法としては、アフィン変換、射影変換などが挙げられる。
[H.画像処理装置100の処理手順]
図12および図13を参照して、画像処理装置100の制御構造について説明する。図12および図13に示す各ステップは、典型的には、プロセッサ110が画像処理プログラム116(いずれも図4)を実行することで実現される。他の局面において、処理の一部又は全部が、回路素子その他のハードウェアによって実行されてもよい。
(H1.設定処理フロー)
まず、図12を参照しながら、モデル画像に対する探索範囲を設定するための処理手順について説明する。図12は、モデル画像に対する探索範囲のフローチャートを示す図である。
ステップS510において、プロセッサ110は、登録対象のワークを被写体として含むモデル画像を取得する。典型的には、モデル画像は、撮像部8から得られる。なお、モデル画像は、他の装置で撮影して得られた画像を記憶した各種記録媒体から取得されてもよい。ステップS512において、プロセッサ110は、探索範囲受付モジュール150として、ユーザによって設定された探索範囲の大きさを示すパラメータ(設定値)を受け付ける。
ステップS514において、プロセッサ110は、探索範囲決定モジュール152として、モデル画像に含まれる複数の特徴点のそれぞれについて、入力画像中で対応する特徴点の探索の対象となる探索範囲をそれぞれ決定する。典型的には、プロセッサ110は、設定された範囲パラメータ値が大きいほど探索範囲を大きく設定し、範囲パラメータ値が小さいほど探索範囲を小さく設定する。
ステップS516において、プロセッサ110は、表示モジュール154として、モデル画像に重ねて探索範囲を表示する。このとき、プロセッサ110は、モデル画像に含まれる複数の特徴点の一部についての探索範囲を表示してもよいし、全部についての探索範囲を表示してもよい。
ステップS520において、プロセッサ110は、ユーザによって範囲パラメータが変更されたか否かを判断する。プロセッサ110は、範囲パラメータの変更を検出した場合には(ステップS520においてYES)、制御をステップS512に戻す。そうでない場合には(ステップS520においてNO)、プロセッサ110は、制御をステップS530に切り替える。
ステップS530において、プロセッサ110は、ユーザによるモデル画像を登録する操作を検出したか否かを判断する。典型的には、プロセッサ110は、設定画面400Aの登録ボタン413(図6参照)またはテスト画面400Bの登録ボタン413(図10参照)をマウス操作などでユーザによって選択された場合に、モデル画像の登録操作を検出したと判断する。プロセッサ110は、モデル画像を登録する操作を検出した場合には(ステップS530においてYES)、制御をステップS532に切り替える。そうでない場合には(ステップS530においてNO)、プロセッサ110は、制御をステップS520に戻す。ステップS532において、プロセッサ110は、モデル画像と探索範囲とを対応付けて、ハードディスク114などの記録媒体に記憶する。
(H2.テスト処理フロー)
次に、図13を参照しながら、探索範囲が正しく設定されているか否かをテストするテスト処理の手順について説明する。図13は、設定した探索範囲の適否を確かめるテスト処理のフローチャートを示す図である。なお、図13に示されるステップS610およびステップS612以外の処理については、図12に示され各ステップと同じであるので説明を繰り返さない。
ステップS610において、プロセッサ110は、被検査対象のワークを撮像して得られたテスト画像を入力画像として取得する。典型的には、テスト画像は、撮像部8から取得される。なお、テスト画像は、他の装置で撮影して得られた画像を記憶した各種記録媒体から取得されてもよい。
ステップS612において、プロセッサ110は、表示モジュール154として、テスト画像に重ねて探索範囲を表示する。検査対象物のワークが、表示された探索範囲内に包含されている場合には、ユーザは、探索範囲が正しく設定されていると判断できる。また、検査対象物のワークが、探索範囲内に包含されていない場合には、ユーザは、探索範囲が正しく設定されていないと判断できる。
なお、上記では、被検査対象のワークを含む入力画像をテスト画像として用いたが、検出したくない検査対象のワークを含んだ画像をテスト画像として用いてもよい。この場合、プロセッサ110は、表示モジュール154として、検出したくないワークを含んだテスト画像をモデル画像に重ねて表示する。この場合、検出したくないワークが探索範囲内に含まれていないときには、ユーザは、探索範囲が正しく設定されていると判断できる。
[I.画像処理装置100の変形例]
図14を参照して、画像処理装置100の変形例について説明する。図14は、変形例に従う画像処理装置100の設定画面400Aにおける表示態様の一例を示す図である。
上記では、特徴部分の一例として、特徴点(コントロール点22)を例に挙げて説明を行なってきたが、特徴部分は、特徴点に限定されるわけではない。たとえば、特徴部分は、モデル画像に含まれる特徴点の他に、当該特徴点の集合からなるモデル画像内の特徴的な領域、当該特徴点の集合からなるモデル画像内の特徴的な線などを含む。
画像処理装置100は、モデル画像30内の特徴的な領域(特徴領域27)に対して、探索範囲34を決定する。すなわち、画像処理装置は、個々のコントロール点に対して探索範囲を決定するだけではなく、特徴領域27のような特徴的な領域、特徴的な線に対して、探索範囲を設けてもよい。この場合、画像処理装置100は、特徴領域27に対して設定された探索範囲を表示する。
[J.結論]
以上のようにして、本実施の形態に従う画像処理装置100は、範囲パラメータに応じた大きさで探索範囲をモデル画像に重ねて表示することで、ユーザは、登録対象のワークに対する変形の許容度合いと、範囲パラメータとの関係を直感的に理解できるようになる。これにより、ユーザは、パラメータ設定に係る時間を大幅に短縮することが可能になる。
<第2の実施の形態>
以下では、第2の実施の形態に従う画像処理装置100Aの概要について説明する。本実施の形態に従う画像処理装置100Aは、各コントロール点に対して許容するエッジの傾きを設定できる点で第1の実施の形態に従う画像処理装置100と異なる。なお、ハードウェア構成については第1の実施の形態に従う画像処理装置100と同じであるので説明を繰り返さない。
[K.概要]
図15および図16を参照して、本実施の形態に従う画像処理装置100Aについて説明する。図15は、モデル画像のコントロール点について、探索するエッジ方向に制限を設けるための方法を説明するための図である。図16は、モデル画像のコントロール点について、探索するエッジ方向に制限を設けるための他の方法を説明するための図である。
モデル画像に含まれるワークと入力画像に含まれるワークとは、ある程度は形状が異なるものの、モデル画像のコントロール点におけるエッジの方向と、当該コントロール点に対応する入力画像上の特徴点におけるエッジの方向とは、基本的には同じような方向を向いていると考えられる。この点に着目して、本実施の形態に従う画像処理装置100Aは、モデル画像に含まれる各コントロール点に対して探索する対象となる入力画像中のエッジの傾きに制限を設けるためのパラメータ(以下、「傾きパラメータ」とも称す。)を設定することができる。
一例として、図15(A)において、コントロール点におけるエッジの方向に対して、変形が許容されるエッジの傾きの範囲(以下「傾き範囲」とも称す。)を入力画像32Aに重ねて表示している様子が示されている。画像処理装置100Aは、コントロール点22に設定された探索範囲内に存在する入力画像中の特徴点であり、かつ、当該特徴点におけるエッジの傾きが傾き範囲40A内に含まれる場合には、当該特徴点をコントロール点22の対応点としてみなす。
たとえば、入力画像32Aの特徴点の一部(たとえば、特徴点24)に、エッジ方向に対して垂直な方向を向いた矢印42を表示する。ユーザは、表示された矢印42が傾き範囲40Aには含まれないので、特徴点24がコントロール点22の対応点になり得ないことを確認することができる。すなわち、この場合には、画像処理装置100Aは、コントロール点22に対応する入力画像の特徴点を、特徴点24ではない誤った点を対応する特徴点として決定してしまう。
このよう場合、ユーザは、入力画像に重ねて表示されている傾き範囲を確認しながら、傾き範囲の設定を行なうことができる。たとえば、図15(B)の入力画像32Bに示されるように、ユーザは、傾き範囲の大きさを設定するためのパラメータ(すなわち、傾きパラメータ)を大きくして、矢印42が傾き範囲40Bに含まれるように傾きパラメータを調整する。
このように、画像処理装置100は、傾きパラメータに合わせて傾き範囲の表示を変えることで、ユーザは、傾き範囲に対する設定パラメータが、可変形状検出処理に対して、どの程度影響を与えるのかを直感的に理解することが可能になる。また、傾きパラメータを正確に設定することで、誤った点を対応点としてみなすことがなくなるため、登録されたワークとは異なった形状のワークであっても形状および位置を正確に検出するこが可能になる。
なお、上記では、エッジ方向に対して垂直な方向を基準として傾き範囲を表示する例について述べたが、図16に示されるように、画像処理装置100Aは、エッジ方向に対して平行な方向を基準として傾き範囲を表示してもよい。この場合、画像処理装置100Aは、コントロール点22の周囲を入力画像中で探索して、傾き範囲40Cに含まれるエッジ方向を有する特徴点を探索する。
[L.画像処理装置100Aの機能構成]
図17は、本実施の形態の画像処理装置100Aの機能構成を示す模式図である。図17に示す各モジュールは、典型的には、プロセッサ110が画像処理プログラム116(いずれも図17)を実行することで実現される。
図17を参照して、画像処理装置100Aは、その機能構成として、探索範囲受付モジュール150と、探索範囲決定モジュール152と、表示モジュール154と、対応関係決定モジュール156と、方向受付モジュール160と、方向決定モジュール162とを含む。但し、対応関係決定モジュール156については、オプショナルであり、必要に応じて設けられる。なお、探索範囲受付モジュール150と、探索範囲決定モジュール152とについては上述の通りであるので説明を繰り返さない。
方向受付モジュール160は、モデル画像の特徴点について、入力画像中で探索の対象となるエッジの傾きの大きさを示すパラメータ(すなわち、傾きパラメータ)を受け付ける。傾きパラメータの設定方法についての詳細は後述する。方向受付モジュール160は、受け付けた傾きパラメータを方向決定モジュール162に出力する。
方向決定モジュール162は、設定された傾きパラメータを用いて、モデル画像の特徴点におけるエッジの傾きを基準とした、入力画像中で探索の対象となるエッジの相対的な傾きの範囲(すなわち、傾き範囲)を決定する。典型的には、方向決定モジュール162は、設定された傾きパラメータの値が大きいほど傾き範囲を大きく設定し、設定された傾きパラメータの値が小さいほど傾き範囲を小さく設定する。
表示モジュール154は、方向決定モジュール162によって決定された探索の対象となるエッジの相対的な傾きの範囲(すなわち、傾き範囲)をモデル画像に重ねて表示する。典型的には、表示モジュール154は、ユーザが設定する傾きパラメータに連動させて傾き範囲を表示する。表示モジュール154の傾き範囲の表示方法についての詳細は後述する。
対応関係決定モジュール156は、設定された探索範囲および傾き範囲を用いて、モデル画像の各特徴点と、入力画像との各特徴点との対応関係を決定する。より具体的には、対応関係決定モジュール156は、モデル画像の複数の特徴点の各々について、当該特徴点に対して決定された探索範囲内で対応する入力画像の特徴点を探索し、かつ、傾き範囲に含まれるエッジ方向を有する入力画像の特徴点を探索する。対応関係決定モジュール156は、決定した対応関係に基づいて、モデル画像を変形し、変形画像を生成する。対応関係決定モジュール156は、生成した変形画像を表示モジュール154に出力する。
[M.傾き範囲のテスト画面]
図18を参照して、傾き範囲が正しく設定されているか否かを確かめるためのテスト方法について説明する。図18には、設定された傾き範囲をテストするためのテスト画面400Cが示されている。図18は、傾き範囲がテスト画像に重ねて表示されている様子を示している図である。
画像処理装置100Aは、ユーザがモデル画像に対して設定した傾き範囲を確認できるように、テスト画像(入力画像)に重ねて、設定した傾き範囲を表示する。ユーザが傾き範囲を視認できれば、モデル画像に含まれるワークに対して、どれくらいの変形を許容するのかを一見して確認できるようになる。
図18(A)を参照して、テスト画像36に重ねて傾き範囲40Aを調整するための処理手順について説明する。方向決定モジュール162は、モデル画像30を受け付けると、モデル画像30内のコントロール点22を決定するとともに、決定した各コントロール点22に傾き範囲40Aを設定する。表示モジュール154は、決定された傾き範囲40Aをモデル画像30に重ねて表示する。傾き範囲40Aの表示態様としては、たとえば、テスト画面400Cの表示領域420に表示されるように、コントロール点の各点に対して扇形で表示する。なお、コントロール点が多数検出された場合には、傾き範囲が重複すると見にくくなるため、表示モジュール154は、検出されたコントロール点の一部のみの傾き範囲を表示してもよい。
ユーザは、方向受付モジュール160としてのスライドバー415を操作することで、傾き範囲の大きさを決定するためのパラメータ(すなわち、傾きパラメータ)を設定することができる。方向決定モジュール162は、設定された傾きパラメータに応じて、モデル画像30のコントロール点22に対して表示する傾き範囲の大きさを決定する。たとえば、設定された傾きパラメータに応じて、扇形の傾き範囲の中心角が決定される。典型的には、方向決定モジュール162は、受け付けた傾きパラメータの値が大きいほど傾き範囲40Aの中心角を大きく設定する。また、探索範囲決定モジュール152は、受け付けた傾きパラメータの値が小さいほど傾き範囲40Aの中心角を小さく設定する。
一例として、ユーザがマウスなどで図18(A)に示されるスライドバー415を操作して、図18(B)に示されるように、傾きパラメータの値が大きくなるように設定された場合には、図18(A)に示される傾き範囲40Aが、図18(B)に示される傾き範囲40Bのように中心角が大きくなるように表示される。このように、設定された傾きパラメータ値に連動して、傾き範囲を表示することにより、ユーザは、傾きパラメータとエッジ方向の変動度合いとの関係を容易に理解することができる。これにより、画像処理装置100Aの操作性を高めることができ、さらには、傾きパラメータの設定時間を大幅に短縮することが可能になる。
傾きパラメータの設定後、ユーザは、マウス操作などで登録ボタン413を選択することにより、画像処理装置100は、モデル画像と、傾き範囲とを対応付けてハードディスク114などの記録媒体に記憶する。
なお、画像処理装置100Aは、探索範囲と傾き範囲との両方を同時に設定できるように構成されてもよい。すなわち、表示モジュール154は、傾き範囲40Aの表示を、範囲パラメータと傾きパラメータとに連動させる。このとき、画像処理装置100Aは、探索範囲を設定するための範囲パラメータに応じて傾き範囲40Aの表示半径を変更し、傾き範囲を設定するための傾きパラメータに応じて傾き範囲40Aの中心角度を変更する。
また、画像処理装置100Aは、表示された傾き範囲の一部について調整を受け付けるように構成されてもよい。この場合、ユーザは、表示された傾き範囲の一部を選択し、選択した傾き範囲について傾きパラメータを設定することが可能になる。
さらに、表示モジュール154は、必ずしもスライドバー415に傾き範囲の表示を連動させる必要は無く、傾きパラメータの変化に応じて変化させればよい。たとえば、表示モジュール154は、表示ボタン(図示しない)がユーザによって選択されたタイミングで傾き範囲の表示を変化させてもよい。
[N.設定画面の変形例]
以下では、図19を参照して、パラメータの設定画面の変形例について説明する。図19は、パラメータの設定画面の表示態様の一例を示した図である。
画像処理装置100Aは、たとえば、自由変換モードや、射影変換モードなど複数の画像変換モードを有してもよい。自由変換モードは、撮影したモデル画像を2次元空間上で変換するモードである。射影変換モードは、撮影したモデル画像を3次元空間上で変換するモードである。この場合、画像処理装置100Aは、変換モードに合わせて、パラメータを設定するための設定画面の表示を変更する。ユーザによって射影変換モードが選択された場合には、図19に示されるような設定画面400Dが表示される。
変換モードが射影変換モードである場合には、ユーザは、射影変換に係るパラメータの設定を行なうことができる。また、ユーザは、射影変換に係る各パラメータに対して範囲を設定することができる。画像処理装置100Aは、設定されたパラメータの範囲を考慮して、モデル画像を変換する。
一例として、設定画面400Dの表示領域440には、射影変換に係るパラメータを設定するためのユーザインタフェースが示されている。画像処理装置100Aは、モデル画像に含まれるコントロールポイントの1つがユーザによって選択されると、カーソル45を操作して矢印47を傾き範囲40内で動かすことができる。画像処理装置100Aは、矢印47の方向に対応する角度(奥行き角度など)を特定し、特定した角度を用いて射影変換に係るパラメータを計算する。画像処理装置100Aは、計算したパラメータを用いて、モデル画像を射影変換する。このとき、画像処理装置100Aは、ユーザ操作に連動して、変換後の画像を表示する。同時に、画像処理装置100Aは、ユーザ操作に連動して、計算した射影変換に係るパラメータの表示を表示領域460において変える。
このように、ユーザ操作に応じて、モデル画像を変形し、パラメータの表示を変えることで、ユーザは、射影変換に係るパラメータの各値がどの程度変形に寄与しているのかを直感的に理解できるようになる。これを参考にして、ユーザは、各パラメータに対して制限範囲を設けることが容易になる。
[O.テスト画面の変形例]
以下では、図20を参照して、テスト画面の変形例について説明する。図20は、テスト画面の表示態様の一例を示した図である。
画像処理装置100Aは、テスト画像が入力されると、モデル画像に含まる登録対象のワークを、入力画像に含まれる被検査対処のワークに合わせて、モデル画像を変形する。画像処理装置100Aは、モデル画像に対する変形処理に用いたパラメータをテスト画面400Eに表示する。
このように、画像処理装置100Aは、変形処理の種類に合わせて、パラメータを表示することで、ユーザは、上述した範囲パラメータ、傾きパラメータの設定の参考にすることができる。また、これらのパラメータだけでなく、たとえば、射影得変換によりモデル画像を変形する場合には、射影変換に係るパラメータをどのように設定すればテスト画像に含まれる被検査対象のワークの形状を検出することができるのかを直感的に理解できるようになる。なお、ユーザは、表示領域460に表示されたパラメータを確認して、変形処理に係るパラメータの設定を手動で行なってもよいし、画像処理装置100Aは、テスト画像に合わせて出力した変形パラメータを自動で設定してもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
[P.結論]
以上のようにして、本実施の形態に従う画像処理装置100Aは、傾きパラメータに応じた大きさで探索角度をモデル画像に重ねて表示することで、ユーザは、登録対象のワークに対する変形の許容度合いを直感的に理解できるようになる。これにより、ユーザは、パラメータ設定に係る時間を大幅に短縮することが可能になる。
1 システム、2,33,W ワーク、8 撮像部、10 コンベア、20,21 検出点、22 コントロール点、24 特徴点、27 特徴領域、30,30A,30B モデル画像、32,32A,32B 入力画像、34,34A,34B 探索範囲、35 点線、36 テスト画像、36A,36B 画像領域、38 変形画像、40A〜40C 傾き範囲、42,47 矢印、45 カーソル、100,100A 画像処理装置、102 表示部、104 内部バス、106 メモリカード、110 プロセッサ、112 主メモリ、114 ハードディスク、116 画像処理プログラム、120 カメラインターフェイス、122 ロボットインターフェイス、124 ネットワークインターフェイス、126 メモリカードインターフェイス、150 探索範囲受付モジュール、152 探索範囲決定モジュール、154 表示モジュール、156 対応関係決定モジュール、160 方向受付モジュール、162 方向決定モジュール、200 ロボットコントローラ、300 ロボット、400A,400D 設定画面、400B,400C,400E テスト画面、402 モデル登録タグ、411,415 スライドバー、413 登録ボタン、420,440,460 表示領域。

Claims (9)

  1. モデル画像の複数の特徴部分のそれぞれの特徴量を保持するための記憶手段と、
    前記モデル画像の特徴量のそれぞれに対応する特徴量を入力画像内で探索する範囲の大きさを示す設定値を受け付けるための探索範囲受付手段と、
    前記設定値を用いて、前記モデル画像の特徴量に対応する特徴量のそれぞれを前記入力画像内で探索する範囲を決定するための探索範囲決定手段と、
    前記モデル画像のそれぞれの特徴量について決定された探索範囲の和集合の外形を前記モデル画像に重ねて表示する表示手段とを備える、画像処理装置。
  2. 前記表示手段は、前記設定値の変化に応じて、前記探索範囲決定手段によって決定された探索範囲の表示を変化させる、請求項1に記載の画像処理装置。
  3. 前記表示手段は、前記探索範囲決定手段によって決定された探索範囲を前記入力画像に重ねて表示する、請求項1または2に記載の画像処理装置。
  4. 前記記憶手段が保持する情報は、前記モデル画像内の複数の前記特徴部分を含み、
    前記画像処理装置は、前記モデル画像の複数の特徴部分の各々について、当該特徴部分に対して決定された探索範囲内で、当該特徴部分に対応する前記入力画像上の特徴部分を決定するための対応関係決定手段をさらに備え、
    前記表示手段は、前記モデル画像の複数の特徴部分のそれぞれと、前記入力画像の複数の特徴部分のそれぞれとの間の対応関係に応じて前記モデル画像を変形した画像を、前記モデル画像と比較可能な態様で表示する、請求項1〜3のいずれか1項に記載の画像処理装置。
  5. 前記画像処理装置は、前記モデル画像の特徴量に対応する特徴量を前記入力画像内で探索する範囲を部分的に調整するための調整手段をさらに備える、請求項1〜4のいずれか1項に記載の画像処理装置。
  6. モデル画像の特徴部分の特徴量を保持するための記憶手段と、
    前記モデル画像の特徴量に対応する特徴量を入力画像内で探索する範囲の大きさを示す設定値を受け付けるための探索範囲受付手段と、
    前記設定値を用いて、前記モデル画像の特徴量に対応する特徴量を前記入力画像内で探索する範囲を決定するための探索範囲決定手段と、
    前記探索範囲決定手段によって決定された探索範囲を前記モデル画像に重ねて表示する表示手段と、
    前記モデル画像の特徴部分について、前記入力画像中で探索の対象となるエッジの傾きの大きさを示す設定値を受け付けるための方向受付手段と、
    前記方向受付手段が受け付けた設定値を用いて、前記モデル画像の特徴部分におけるエッジの傾きを基準とした、前記入力画像中で探索の対象となるエッジの相対的な傾きの範囲を決定するための方向決定手段とを備え、
    前記表示手段は、前記方向決定手段によって決定された探索の対象となるエッジの相対的な傾きの範囲を前記モデル画像に重ねて表示する、画像処理装置。
  7. 前記表示手段は、前記方向受付手段が受け付けた設定値の変化に応じて、前記方向決定手段によって決定された探索の対象となるエッジの相対的な傾きの範囲の表示を変化させる、請求項6に記載の画像処理装置。
  8. モデル画像の複数の特徴部分のそれぞれの特徴量を保持するステップと、
    前記モデル画像の特徴量のそれぞれに対応する特徴量を入力画像内で探索する範囲の大きさを示す設定値を受け付けるステップと、
    前記設定値を用いて、前記モデル画像の特徴量に対応する特徴量のそれぞれを前記入力画像内で探索する範囲を決定するステップと、
    前記モデル画像のそれぞれの特徴量について前記決定するステップで決定された探索範囲の和集合の外形を前記モデル画像に重ねて表示するステップとを備える、画像処理方法。
  9. 画像処理プログラムであって、
    前記画像処理プログラムは、コンピュータに、
    モデル画像の複数の特徴部分のそれぞれの特徴量を保持するステップと、
    前記モデル画像の特徴量のそれぞれに対応する特徴量を入力画像内で探索する範囲の大きさを示す設定値を受け付けるステップと、
    前記設定値を用いて、前記モデル画像の特徴量に対応する特徴量のそれぞれを前記入力画像内で探索する範囲を決定するステップと、
    前記モデル画像のそれぞれの特徴量について前記決定するステップで決定された探索範囲の和集合の外形を前記モデル画像に重ねて表示するステップとを実行させる、画像処理プログラム。
JP2014051328A 2014-03-14 2014-03-14 画像処理装置、画像処理方法、および画像処理プログラム Active JP6337530B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014051328A JP6337530B2 (ja) 2014-03-14 2014-03-14 画像処理装置、画像処理方法、および画像処理プログラム
EP15151909.7A EP2919166A1 (en) 2014-03-14 2015-01-21 Image processing device, image processing method, and image processing program
US14/602,565 US9508192B2 (en) 2014-03-14 2015-01-22 Image processing device, image processing method, and image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014051328A JP6337530B2 (ja) 2014-03-14 2014-03-14 画像処理装置、画像処理方法、および画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2015176273A JP2015176273A (ja) 2015-10-05
JP6337530B2 true JP6337530B2 (ja) 2018-06-06

Family

ID=52394136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014051328A Active JP6337530B2 (ja) 2014-03-14 2014-03-14 画像処理装置、画像処理方法、および画像処理プログラム

Country Status (3)

Country Link
US (1) US9508192B2 (ja)
EP (1) EP2919166A1 (ja)
JP (1) JP6337530B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
JP6763914B2 (ja) * 2018-06-08 2020-09-30 ファナック株式会社 ロボットシステムおよびロボットシステムの制御方法
JP6744898B2 (ja) * 2018-10-12 2020-08-19 ソニーセミコンダクタソリューションズ株式会社 計測装置、計測方法、プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004123A (ja) * 1995-09-13 2008-01-10 Fujifilm Corp 特定形状領域の抽出装置及び方法、特定領域の抽出装置及び方法、複写条件決定装置及び方法
US6424734B1 (en) * 1998-04-03 2002-07-23 Cognex Corporation Fiducial mark search using sub-models
JP4898026B2 (ja) * 2001-06-29 2012-03-14 本田技研工業株式会社 ステレオカメラを使用した顔・視線認識装置
JP4751017B2 (ja) * 2001-08-23 2011-08-17 エフ・イ−・アイ・カンパニー システムを制御する方法およびこの方法のステップを実行するための命令を含むコンピュータ可読媒体
US9092841B2 (en) * 2004-06-09 2015-07-28 Cognex Technology And Investment Llc Method and apparatus for visual detection and inspection of objects
JP4682782B2 (ja) * 2005-09-30 2011-05-11 オムロン株式会社 画像処理装置
JP5152231B2 (ja) * 2010-03-12 2013-02-27 オムロン株式会社 画像処理方法および画像処理装置
JP5929238B2 (ja) 2012-01-27 2016-06-01 オムロン株式会社 画像検査方法および画像検査装置
JP5953842B2 (ja) * 2012-03-14 2016-07-20 オムロン株式会社 画像検査方法および検査領域設定方法
JP5973770B2 (ja) * 2012-04-18 2016-08-23 オリンパス株式会社 画像処理装置、プログラム及び画像処理方法

Also Published As

Publication number Publication date
US20150262414A1 (en) 2015-09-17
JP2015176273A (ja) 2015-10-05
EP2919166A1 (en) 2015-09-16
US9508192B2 (en) 2016-11-29

Similar Documents

Publication Publication Date Title
US11207781B2 (en) Method for industrial robot commissioning, industrial robot system and control system using the same
CN107424160B (zh) 通过视觉系统查找图像中线的系统和方法
EP2684651A2 (en) Robot system, robot, robot control device, robot control method, and robot control program
JP6331517B2 (ja) 画像処理装置、システム、画像処理方法、および画像処理プログラム
US9135519B2 (en) Pattern matching method and pattern matching apparatus
JP6565175B2 (ja) ロボットおよびロボットシステム
JP2012254518A (ja) ロボット制御システム、ロボットシステム及びプログラム
US11625842B2 (en) Image processing apparatus and image processing method
US10249058B2 (en) Three-dimensional information restoration device, three-dimensional information restoration system, and three-dimensional information restoration method
JP6881188B2 (ja) 位置検出装置およびプログラム
CN112446917B (zh) 一种姿态确定方法及装置
JP6337530B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
JP2015176272A (ja) 画像処理装置、画像処理方法、および画像処理プログラム
CN111225143B (zh) 图像处理装置及其控制方法以及程序存储介质
JP2009216503A (ja) 三次元位置姿勢計測方法および装置
US20210042576A1 (en) Image processing system
JP7404017B2 (ja) 画像処理方法、画像処理装置、生産システム、物品の製造方法、プログラム、および記録媒体
CN116867619A (zh) 示教装置
WO2019176450A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7188481B2 (ja) 位置検出装置およびプログラム
JP2012236266A (ja) ロボット制御システム、ロボットシステム及びプログラム
US11200632B2 (en) Image processing method and image processing apparatus
WO2022172471A1 (ja) 支援システム、画像処理装置、支援方法およびプログラム
CN111199533B (en) Image processing apparatus and method
JP6244712B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180423

R150 Certificate of patent or registration of utility model

Ref document number: 6337530

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250