JP2017111638A - 画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体 - Google Patents

画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体 Download PDF

Info

Publication number
JP2017111638A
JP2017111638A JP2015245758A JP2015245758A JP2017111638A JP 2017111638 A JP2017111638 A JP 2017111638A JP 2015245758 A JP2015245758 A JP 2015245758A JP 2015245758 A JP2015245758 A JP 2015245758A JP 2017111638 A JP2017111638 A JP 2017111638A
Authority
JP
Japan
Prior art keywords
image
similarity
searched
pyramid
model
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.)
Granted
Application number
JP2015245758A
Other languages
English (en)
Other versions
JP6648925B2 (ja
Inventor
洋史 北島
Yoji Kitajima
洋史 北島
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015245758A priority Critical patent/JP6648925B2/ja
Priority to US15/380,849 priority patent/US10572762B2/en
Publication of JP2017111638A publication Critical patent/JP2017111638A/ja
Application granted granted Critical
Publication of JP6648925B2 publication Critical patent/JP6648925B2/ja
Expired - Fee Related 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/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/52Scale-space analysis, e.g. wavelet analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/24Character recognition characterised by the processing or recognition method
    • G06V30/248Character recognition characterised by the processing or recognition method involving plural approaches, e.g. verification by template match; Resolving confusion among similar patterns, e.g. "O" versus "Q"
    • G06V30/2504Coarse or fine approaches, e.g. resolution of ambiguities or multiscale approaches
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Image Analysis (AREA)

Abstract

【課題】パターンマッチングを高速化しながらも物体の検出の失敗を防ぐ。
【解決手段】最上段の被探索画像よりも下段の被探索画像において、該被探索画像に対して上段の被探索画像で抽出した候補点に対応した位置の点毎に、該候補点に対応した位置の点を含む領域と領域限定閾値とを設定する(S21,S22)。類似度の計算途中で、類似度の計算途中結果に基づき、類似度が領域限定閾値よりも低い値となるか否かを予測し、類似度が領域限定閾値よりも低い値となると予測した場合には、類似度の計算を途中で打ち切る。類似度が領域限定閾値以上となると予測した場合には、類似度の計算を続行し、類似度の計算が完了したとき類似度が領域限定閾値よりも高い値であれば、次の走査位置において用いる領域限定閾値を、領域限定閾値よりも高い値となった類似度で更新する(S23〜S26)。
【選択図】図10

Description

本発明は、パターンマッチングを行う画像処理に関する。
画像処理の分野において、検出対象物体の位置を検出する方法として、パターンマッチングがよく知られている。基本的なパターンマッチングの方法について説明する。まずパターンマッチングを行うためには、検出対象となる物体の参照情報が必要になる。参照情報はモデル(またはテンプレート)と呼ばれている。理想状態で検出対象となる物体を撮像した参照画像を用意し、参照画像から検出対象の物体付近の領域のみを切り出し、モデルとする。そして、実際の物体検出工程では、検出対象の物体を撮像し、撮像した画像の各位置でモデルとの類似度(一致度ともいう)を計算していく。パターンマッチングは、最も類似度の高かった画像の位置を検出位置とする方法である。つまり、パターンマッチングは、被探索画像の中からモデル画像と最も類似している位置を検出する方法である。
ここで、相違度(不一致度ともいう)を計算する場合もある。相違度が低いことは、類似度が高いことを意味する。したがって、数値判断を行う際には、数値の比較判断の大小関係が逆になるだけで、類似度であっても相違度であっても同じ判断を行っていることになる。例えば、相違度が閾値を下回るか否かの判断は、類似度が閾値を上回るか否かを判断していることになる。また、例えば、相違度が最も低いものを抽出する処理は、類似度が最も高いものを抽出する処理をしていることになる。したがって、以下、類似度として説明する。
類似度の計算方法は、複数の方法が知られており輝度値差分法(SAD)、正規化相関法(NCC)、形状パターンマッチングなどが知られている。形状パターンマッチングは、その中でも照明変化、物体の隠れ、欠けにも強く、ロバストな手法である。
この形状パターンマッチングは、モデルと被探索画像の形状特徴を利用して、類似度を計算していく。このため形状パターンマッチングでは、画像に対する形状特徴を抽出する必要がある。形状特徴を抽出する方法として、一般的にSobelフィルタやCannyフィルタ等のエッジ抽出方法が知られている。エッジ抽出により抽出された各エッジ点に対して、位置(座標)、輝度の勾配方向、輝度の勾配強度等の情報を得ることができる。そして、モデルと被探索画像の各エッジ点の勾配方向(以下、エッジ方向)を比較しながら、探索を行っていく。モデルと被探索画像の各エッジ方向の差が小さければ、同一の形状特徴を持っているとして類似度が高くなり、差が大きければ類似度が低くなる。つまり、モデルと同様のエッジ位置で、同様のエッジ方向を持ったものを被探索画像の中から探し出す方法がある。
上述したようにパターンマッチングは、被探索画像の各位置で類似度を計算していくため、計算コストが高く、処理時間が遅い。そこで、処理を高速化するため、特許文献1に記載されているように、ピラミッド探索が行われる。ピラミッド探索とは、画像を段階的に縮小していき、まずは最も縮小した画像に対して、パターンマッチングを行う。そして、縮小画像で検出した対象物の位置周辺のみを次の縮小率の画像で探索を行う。この探索方法を縮小を行っていない被探索画像まで繰り返すことにより、処理を高速化しながら、精度も保つことができる。
縮小画像に対する類似度計算は、解像度が低下するため正確性が低下する。そのため、被探索画像では最も類似度の高い位置が、縮小画像では類似度が最も高くならない場合がある。そこで、縮小画像を探索する際は、類似度がある一定の閾値を超えた位置を候補位置として全て記憶しておき、ピラミッド探索していく。
一方、特許文献2には、類似度の計算途中に閾値を超えないと判断できた場合には、類似度の計算を途中で打ち切る方法が提案されている。さらに、探索中に出た最も高い類似度により閾値を更新することで、計算打ち切りの効果をより高め、高速に処理が行えるようにしている。
特開平10−21389号公報 特開2002−230549号公報
パターンマッチングは、様々な用途で使用されているが、特に工業(例えばFA)の用途では生産のサイクルタイムを短縮するため、超高速な処理が求められる。そこで、さらなる高速化を実現するため、特許文献1のようなピラミッド探索の縮小画像に対する類似度計算においても、特許文献2のような計算打ち切りや閾値を更新する方法が考えられる。
しかしながら、特許文献1のようなピラミッド探索の縮小画像に対して、特許文献2のような閾値の更新及び計算の打ち切りを行った場合、物体の検出に失敗する可能性があった。
即ち、縮小画像に対して探索する場合、解像度が低下しているため、類似度の信頼性も低い。そのため、縮小画像において類似度が最も高い位置が、縮小していない被探索画像において類似度が最も高くなる位置とは限らない。したがって、縮小画像において算出した最も高い類似度により閾値の更新を行うと、その位置が検出対象となる位置ではない場合、別の位置にある検出対象となる位置(正解位置)の計算が打ち切られて、検出対象物体を検出できなくなる可能性があった。
そこで、本発明では、パターンマッチングを高速化しながらも物体の検出の失敗を防ぐことを目的とする。
本発明の画像処理方法は、処理部が、縮小率の異なる複数の被探索画像を有し、下段から上段に向かうに連れて縮小率が高くなるように前記複数の被探索画像を階層化した被探索ピラミッドを生成する被探索ピラミッド生成工程と、前記処理部が、前記被探索ピラミッドのうち、最下段の被探索画像よりも上段の被探索画像に対しモデル画像を走査し、閾値以上の類似度となる候補点を抽出する第1抽出工程と、前記処理部が、前記第1抽出工程にて候補点を抽出した被探索画像よりも下段の被探索画像において、該被探索画像に対して上段の被探索画像で抽出した候補点に対応した位置の点毎に、該候補点に対応した位置の点を含む領域と前記領域に限定して用いる領域限定閾値とを設定する設定工程と、前記処理部が、前記設定工程にて設定した前記領域内でモデル画像を走査して、前記領域限定閾値以上の類似度となる候補点を抽出する第2抽出工程と、を備え、前記第2抽出工程では、前記処理部が、前記領域内でモデル画像を走査した際に、類似度の計算途中で、類似度の計算途中結果に基づき、類似度が前記領域限定閾値よりも低い値となるか否かを予測し、類似度が前記領域限定閾値よりも低い値となると予測した場合には、類似度の計算を途中で打ち切り、類似度が前記領域限定閾値よりも低い値となると予測できなかった場合には、類似度の計算を続行し、類似度の計算が完了したとき類似度が前記領域限定閾値よりも高い値であれば、次の走査位置において用いる前記領域限定閾値を、前記領域限定閾値よりも高い値となった類似度で更新する。
本発明によれば、類似度の計算の打ち切り、及び計算を打ち切るか否かを判断する領域限定閾値の更新により、パターンマッチングに要する処理時間を短縮することができる。そして、候補点に対応する領域毎に領域限定閾値を設定したので、物体の検出の失敗を防ぐことができる。
第1実施形態に係る生産装置の概略構成を示す説明図である。 第1実施形態に係る画像処理装置の構成を示すブロック図である。 第1実施形態に係る画像処理方法におけるモデルピラミッドの作成処理を示すフローチャートである。 切り出した矩形領域の画像を縮小した画像を生成する際の説明図である。 画像に対してエッジ抽出処理を行う動作を説明するための図である。 モデル画像を説明するための図である。 ピラミッド構造を説明するための図である。 第1実施形態に係る画像処理方法の探索処理を示すフローチャートである。 第1実施形態に係る画像処理方法におけるパターンマッチング処理を示すフローチャートである。 第1実施形態に係る画像処理方法におけるパターンマッチング処理を示すフローチャートである。 パターンマッチング処理を説明するための図である。 パターンマッチング処理を説明するための被探索ピラミッドを示す模式図である。 第1実施形態に係る画像処理方法におけるスコア計算処理を示すフローチャートである。 第2実施形態に係る画像処理方法におけるモデルピラミッドの作成処理を示すフローチャートである。 第2実施形態に係る画像処理方法の探索処理を示すフローチャートである。 第2実施形態に係る画像処理方法におけるパターンマッチング処理を示すフローチャートである。 第2実施形態に係る画像処理方法におけるパターンマッチング処理を示すフローチャートである。 第2実施形態に係る画像処理方法におけるスコア計算処理を示すフローチャートである。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、第1実施形態に係る生産装置の概略構成を示す説明図である。図1に示す生産装置100は、ワーク(検出対象の物体)W1をワーク(被組み付け部材)W2に組付けて組立部品Wを製造する製造方法を実行するものである。生産装置100は、ロボット200と、ロボット200に取り付けられた撮像装置としてのカメラ500と、カメラ500と有線又は無線で通信を行うように構成された画像処理装置300と、を備えている。また、生産装置100は、ロボット200及び画像処理装置300にケーブル等で接続されたロボット制御装置400を備えている。
ロボット200は、例えば垂直多関節型のロボットアーム201と、エンドエフェクタであるロボットハンド202と、を有している。ロボットアーム201は、複数のリンクが複数の関節で旋回又は回転可能に連結されて構成されている。ロボットアーム201の基端(基端リンク、ベース部ともいう)が基台B0の上面に固定されている。ロボットアーム201の先端(先端リンク)には、ロボットハンド202が取り付けられている。ロボットハンド202は、複数のフィンガを有し、ワークW1を把持又は把持解放することができる。
カメラ500はデジタルカメラであり、例えばCCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子を有する。
画像処理装置300は、カメラ500の撮像動作(例えば撮像タイミングやシャッタースピード等)を制御し、カメラ500から撮像画像を取得する。また、画像処理装置300は、画像(デジタルデータ)に対して画像処理を施し、その結果をロボット制御装置400に出力する。具体的には、画像処理装置300は、パターンマッチング処理を行い、その結果をロボット制御装置400に出力する。ロボット制御装置400は、画像処理装置300による画像処理の結果に基づき、ロボット200の動作を制御する。
画像処理装置300は、カメラ500の筐体の外部に配置されているが、カメラ500の筐体の内部に配置されていてもよい。これら画像処理装置300及びカメラ500を有して画像処理システム550が構成されている。
図2は、第1実施形態に係る画像処理装置300の構成を示すブロック図である。図2に示すように、画像処理装置300は、画像処理、具体的にはパターンマッチング処理を行うものであり、コンピュータで構成されている。画像処理装置300は、処理部としてのCPU(Central Processing Unit)301を備えている。また、画像処理装置300は、記憶部として、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304を備えている。また、画像処理装置300は、記録ディスクドライブ305及び各種のインタフェース311〜315を備えている。
CPU301には、ROM302、RAM303、HDD304、記録ディスクドライブ305及びインタフェース311〜315が、バス310を介して接続されている。ROM302には、BIOS等の起動プログラムが格納されている。RAM303は、CPU301の演算処理結果等、各種データを一時的に記憶する記憶装置である。HDD304には、プログラム321が格納(記録)されている。そして、CPU301がプログラム321を読み出して実行することにより、後述する画像処理方法の各工程を実行する。記録ディスクドライブ305は、記録ディスク322に記録された各種データやプログラム等を読み出すことができる。
インタフェース311には、ロボット制御装置400が接続されている。CPU301は、バス310及びインタフェース311を介して画像処理結果をロボット制御装置400に送信する。
インタフェース312には、カメラ500が接続されている。CPU301は、バス310及びインタフェース311を介して、トリガ信号等の制御信号をカメラ500に送信する。そして、CPU301は、カメラ500からの画像信号をバス310及びインタフェース311を介して取得する。取得した画像データは、CPU301の制御の下、HDD304や外部記憶装置800等の記憶装置に格納する。
インタフェース313には、マウスやキーボード等、作業者が操作して、操作に応じた指令をCPU301に送信する入力装置600が接続されている。インタフェース314には、画像を表示するディスプレイ等の表示装置700が接続されている。インタフェース315には、USBメモリ等の書き換え可能な不揮発性メモリ、或いは外付けHDD等の外部記憶装置800が接続されている。
なお、本実施形態では、コンピュータ読み取り可能な記録媒体がHDD304であり、HDD304にプログラム321が格納されているが、これに限定するものではない。プログラム321は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム321を供給するための記録媒体としては、不揮発性のメモリや記録ディスク等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、ROM、USBメモリ等を用いることができる。
以下、画像処理装置300によるパターンマッチング方法(画像処理方法)について説明する。画像処理装置300のCPU301は、プログラム321をHDD304から読み出して実行することにより、以下に説明する画像処理方法の各工程を実行する。まず、パターンマッチング処理を行うためのモデルピラミッド(形状モデル)の作成処理、つまりモデルピラミッド生成工程について説明する。
図3は、第1実施形態に係る画像処理方法におけるモデルピラミッド生成工程(形状モデルの作成処理)を示すフローチャートである。まず、オペレータ(作業者)は、パターンマッチング用のモデル画像を用意するために理想状態の照明条件及び位置に、参照物(モデル物体)をセットする。CPU301は、カメラ500に参照物の撮像を行わせ、参照物が写り込んだ参照画像である画像データをカメラ500から取得する(S1)。この参照物は、ワークW1またはワークW1と同じ形状の治具である。なお、参照画像は、予めHDD304や外部記憶装置800等の記憶装置に格納されていてもよく、その場合は、CPU301は、HDD304や外部記憶装置800等の記憶装置から、参照画像のデータを取得することとなる。
CPU301は、参照画像を表示装置700に表示させ、オペレータにより指定された、参照物が写り込んだ部分を包含する矩形領域の画像を切り出す(S2)。指定の方法は、例えばマウス等の入力装置600を利用し、表示装置700に表示された参照画像内の参照物が写り込んだ画像を包含する領域の左上と右下の2点をクリックすることにより行う。CPU301は、ステップS2では、クリックされた2点の位置(矩形領域の左上、右下の角の点)を指定し、参照画像から矩形領域の画像のみを切り出す。
次に、CPU301は、ステップS2で切り出した矩形領域の画像を、オペレータが指定したピラミッド段数分、画像縮小する(S3,S4)。
図4は、切り出した矩形領域の画像IC1を縮小して画像IC2を生成する際の説明図である。まず、図4に示すように、画像IC1の左上端から2×2画素の矩形領域Rを設定する。
画像縮小方法は、画像の左上端から2×2画素の領域Rを、縮小画像の1画素とすることにより縮小していく。具体的には、縮小対象となる画像の2×2画素の4画素の輝度値の平均値を縮小画像の1画素の輝度値としていく。CPU301は、この平均化処理を縮小対象画像に対して全画素に行うことにより、画像の幅、高さが2分の1となる縮小画像を形成する(S3)。
次に、CPU301は、指定ピラミッド段数分の画像を作成したか否かを判断する(S4)。CPU301は、ステップS3での縮小処理を所定の回数行っていなければ(S4:No)ステップS3に戻り、前回縮小した画像に対して、同様の縮小方法により再縮小を行う。CPU301は、所定回数の画像縮小を終えていれば(S4:Yes)、画像縮小の処理は終了する。
次に、CPU301は、ステップS3,S4で作成した全ての画像に対して、エッジ抽出処理を行う(S5,S6)。これにより、段階的に縮小されたモデル画像(テンプレート画像)が生成される。CPU301は、複数のモデル画像を下段から上段に向かうに連れて縮小率が高くなるように(解像度が低くなるように)階層化して、これら複数のモデル画像からなるモデルピラミッド(形状モデル)を生成する。
即ち、CPU301は、参照物を撮像して得られた撮像画像と、この撮像画像に対して縮小処理を施して得られた縮小画像とで、解像度の異なる複数の画像を作成する。次いで、CPU301は、解像度の異なる複数の画像に対してエッジ抽出処理を施してモデルピラミッドを構成する複数のモデル画像を生成する。生成されたモデルピラミッドは、HDD304や外部記憶装置800等の記憶装置に記憶される。
ここで、エッジ抽出処理について詳細に説明する。CPU301は、エッジ抽出対象の画像において、画素毎にエッジ強度とエッジ方向を算出する。エッジ強度とは、コントラストの大きさ(輝度の変化の急峻さ)を表し、注目画素に対し隣接する画素のコントラストが大きければエッジ強度も大きくなる。エッジ方向とは、コントラストの方向を表し、注目画素のエッジ強度が最も大きくなる方向(角度)を示す。エッジ強度の算出には、例えばx軸方向(画像の横軸方向)、y軸方向(画像の縦軸方向)のソーベルフィルタを使用する。
図5は、画像に対してエッジ抽出処理を行う動作を説明するための図である。CPU301は、画像I中の注目画素Pで、まずx軸方向のエッジ強度Eとy軸方向のエッジ強度Eを算出する。エッジ強度のベクトルは、(E,E)で表される。
そして、CPU301は、注目画素Pのエッジ強度Eを、各軸の強度E,Eの二乗和の平方根、即ち以下の式(1)で算出する。
Figure 2017111638
また、CPU301は、エッジ方向θを以下の式(2)により算出する。
Figure 2017111638
CPU301は、上記方法により画像Iの全画素のエッジ強度とエッジ方向を算出する。そして、CPU301は、エッジ強度がある一定の閾値以上の画素をエッジ特徴(エッジ点)として抽出し、複数のエッジ点の集合である特徴画像を含むモデル画像(テンプレート画像)Iを生成する。
図6は、モデル画像を説明するための図である。図6では、モデル画像Iにおいて、エッジ特徴(エッジ点)を示す有効画素を黒、それ以外の無効画素を白で表現している。特徴画像のデータ保持方法は、画像の画素毎に2チャンネルのデータ領域を持って置き、図6に示すように、エッジ特徴として抽出された画素Pは有効画素として、1チャンネル目にエッジ強度、2チャンネル目にエッジ方向の情報を入れておく。エッジ特徴ではないと判断された画素Pには無効値(例えば0)を入れておく。これらエッジ点を示す画素Pの集合ΣPが、特徴画像である。
なお、エッジ強度のみを記憶したエッジ強度画像、エッジ方向のみを記憶したエッジ方向画像の2画像を1組とした特徴画像として記憶してもよい。また、本実施形態では、エッジ強度の算出にソーベルフィルタを使用しているが、キャニーフィルタ等の一般的に知られたエッジ抽出フィルタを使用してもよい。
図7は、ピラミッド構造を説明するための図である。図7に示すように、画像縮小処理及びエッジ抽出処理を複数回繰り返し、複数の異なる解像度の特徴画像を含むモデル画像IT1〜IT4を生成する。縮小を行う回数は作業者がモデルピラミッドの段数として、指定することができる。例えば作業者がピラミッド段数を4段で指定していれば、1枚の縮小していない(縮小率が1の)モデル画像IT1と3枚の段階的に縮小されたモデル画像IT2〜IT4が作成される。
以上のステップS1〜S6により、CPU301は、異なる縮小率の複数のモデル画像を、下段から上段に向かうに連れて縮小率が高くなるように階層化したモデルピラミッドを生成する(モデルピラミッド生成工程、モデルピラミッド生成処理)。最下段のモデル画像は、縮小率が1、つまり縮小していない画像ということになる。
以上の説明では、モデルピラミッドを生成するに際し、撮像画像から切り出した画像に対して縮小処理を施してから各画像にエッジ抽出処理を施して複数のモデル画像を生成する場合について説明したが、これに限定するものではない。例えば、撮像画像から切り出した画像に対してエッジ抽出処理を施したモデル画像に対して縮小処理を施し、複数のモデル画像を生成して、モデルピラミッドを生成してもよい。
また、本実施形態では、CPU301がモデルピラミッドを生成する場合について説明したが、これに限定するものではなく、予め作成されたモデルピラミッドを取得する場合であってもよい。
次にステップS1〜S6で作成したモデルピラミッドを使用し、実際に物体の検出を行う探索処理のフローについて説明する。図8は、第1実施形態に係る画像処理装置が実行する画像処理方法の探索処理を示すフローチャートである。
まず、CPU301は、モデルピラミッド(形状モデル)のデータが格納されているHDD304や外部記憶装置800等の記憶装置から、モデルピラミッド(形状モデル)のデータを入力する(S7)。
次に、CPU301は、縮小率の異なる(解像度の異なる)複数の被探索画像を有し、これら被探索画像を下段から上段に向かうに連れて縮小率の高くなるように(解像度が低くなるように)階層化した被探索ピラミッドを生成する(S8〜S12)。本実施形態では、モデルピラミッドと同じ縮小率で同じ段数となるように被探索ピラミッドを生成する。即ち、モデルピラミッドが4段の場合には、被探索ピラミッドも4段とする。そして、モデルピラミッドと被探索ピラミッドにおいて同一階層同士は、同じ解像度(同じ縮小率)に設定されている。例えば、図7に示すように、モデルピラミッドが4段であるので、CPU301は、4枚の被探索画像IS1〜IS4からなる4段の被探索ピラミッドを生成する。
以下、具体的に説明すると、まず、CPU301は、検出対象となる物体をカメラ500により撮像させ、カメラ500の撮像により得られた撮像画像を入力する(S8:撮像工程)。
次に、CPU301は、入力した撮像画像をピラミッド段数分、縮小する(S9,S10)。画像の縮小方法は、図3のステップS3,S4と同様である。この撮像画像の縮小により、段階的に縮小された複数の画像が生成される。
次に、CPU301は、ステップS9,S10で生成した全ての画像に対して、エッジ抽出処理を行う(S11,S12)。エッジ抽出方法は、モデルピラミッド生成工程時のステップS5と同様である。CPU301は、以上のステップS8〜S12により、段階的に縮小された複数のエッジ特徴画像、つまり縮小率の異なる複数の被探索画像からなる被探索ピラミッドを生成する(被探索ピラミッド生成工程、被探索ピラミッド生成処理)。
即ちCPU301は、検出対象の物体を撮像した撮像画像からエッジを抽出したエッジ画像である最下段の被探索画像と、最下段の被探索画像を縮小した途中段及び最上段の被探索画像とからなる被探索ピラミッドを生成する。なお、途中段の被探索画像とは、最下段の被探索画像の縮小率と最上段の被探索画像の縮小率との間の縮小率の被探索画像のことである。
なお、被探索ピラミッドを生成するに際し、撮像画像に対して縮小処理を施してから各画像にエッジ抽出処理を施して複数の被探索画像を生成する場合について説明したが、これに限定するものではない。例えば、撮像画像に対してエッジ抽出処理を施した被探索画像に対して縮小処理を施し、複数の被探索画像を生成して、被探索ピラミッドを生成してもよい。
次に、CPU301は、モデルピラミッド及び被探索ピラミッドを用いて、同解像度の階層においてモデル画像を被探索画像の中から、類似度(一致度ともいう)の判定により探索するパターンマッチング処理を行う(S13)。CPU301は、このパターンマッチング処理を被探索ピラミッドの全ての段(被探索画像)に対して行う(S14)。
具体的に説明すると、最初は、最も縮小率の高い画像同士、即ち最上段の画像同士でパターンマッチングを行い、完了すれば次の縮小率の画像同士、即ち1つ下の階層の画像同士でパターンマッチングを行う。最後に、縮小を行っていない画像同士、即ち最下段の画像同士のパターンマッチングが完了したら終了となる。このように、パターンマッチング処理は、解像度の低い階層(縮小率の高い階層)から解像度の高い階層(縮小率の低い階層)に向かって順に行う。
CPU301は、ステップS13,S14による最下段のモデル画像と被探索画像とのパターンマッチング処理により抽出された候補点のうち、類似度が最も高い候補点を検出対象の物体の位置に決定する(S15:決定工程)。なお、最終的に候補点が1つであったときは、その候補点を検出対象の物体の位置に決定する。
CPU301は、ステップS15の画像処理結果をロボット制御装置400に出力する。ロボット制御装置400は、その画像処理結果に基づき、ロボット200を制御して、検出対象である物体、即ちワークW1をロボット200に把持させ、被組み付け部材であるワークW2に組付ける組付け工程を実行する。これにより、組立部品Wが製造される。
次に、ステップS13のパターンマッチング処理について詳細に説明する。図9及び図10は、第1実施形態に係る画像処理装置が実行する画像処理方法におけるパターンマッチング処理を示すフローチャートである。なお、図9は、ピラミッド最上段でのパターンマッチング処理を、図10は、ピラミッド途中段から最下段までのパターンマッチング処理を示している。図11は、パターンマッチング処理を説明するための図である。
CPU301は、図11に示すように、モデルピラミッドの最上段のモデル画像IT4を、被探索ピラミッドの最上段の被探索画像IS4内でピクセル単位でX,Y軸方向に走査し、画像IS4から画像IT4と同じ大きさの画像Iを抽出する。本実施形態では、モデル画像IT4における左上の点を代表点とし、被探索画像IS4中、代表点の位置をモデル画像IT4の走査位置とする。
CPU301は、画像Iとモデル画像IT4との類似度を求める、スコア計算を行う(S16)。次に、CPU301は、スコア計算の結果、スコア(類似度)が、予め設定された閾値T以上であるか否かを判断する(S17)。閾値Tは固定値であり、予めHDD304等の記憶装置に記憶された値を用いる。類似度は正規化されており、1が最も類似している値であり、0が最も類似していない値である。つまり、類似度の数値が高いほど画像同士が類似しているということになる。
CPU301は、スコア(類似度)が閾値T以上であると判断した場合(S17:Yes)、画像Iを抽出した走査位置(i,j)を候補点とする(S18)。
CPU301は、この候補点を、HDD304や外部記憶装置800等の記憶装置に記憶させる。なお、CPU301は、類似度が閾値Tを下回ると判断した場合(S17:No)、候補点無しとして、そのまま次のステップS19の処理に移行する。
CPU301は、全ての走査位置のスコア計算が完了したか否かを判断する(S19)。CPU301は、全て走査位置でのスコア計算が完了していなければ(S19:No)、次の走査位置にモデル画像IT4を走査(移動)させ(S20)、当該走査位置で画像Iを切り出し、スコア計算を行うステップS16に戻る。そして、画像IS4内の全ての走査位置でのスコア計算が完了したら(S19:Yes)、ピラミッド最上段での処理を終了する。
以上、本実施形態では、CPU301は、ステップS16〜S20により、最上段の被探索画像IS4に対し最上段のモデル画像IT4を走査し、閾値以上のスコア(類似度)となる候補点を抽出する(第1抽出工程、第1抽出処理)。つまり、被探索画像全体に対しモデル画像を走査して候補点を抽出する第1抽出処理は、最下段の被探索画像IS1よりも上段の被探索画像IS2〜IS4のうち、最上段の被探索画像IS4に対して行う。この第1抽出処理では、類似度の計算途中に計算の打ち切りは行わない。
次にピラミッド途中段から最下段までのパターンマッチング処理について、図10を用いて説明する。本実施形態では、最上段の被探索画像IS4よりも下段の被探索画像IS1〜IS3に対しては、それぞれ同じパターンマッチング処理を行う。
図12は、パターンマッチング処理を説明するための被探索ピラミッドを示す模式図である。被探索画像IS4からは、複数の候補点P41,P42が抽出されているものとして説明する。
ここで、既に候補点を抽出した被探索画像IS4に対して下段の被探索画像IS1〜IS3では、候補点が未抽出である。したがって、被探索画像IS4に対して1つ下段の被探索画像IS3から候補点の抽出を行う。
よって、まず、CPU301は、被探索画像IS3において、該被探索画像IS3に対して1つ上段の被探索画像IS4から抽出した候補点P41に対応した位置の点Q31を含む領域R31を設定する(S21:設定工程、設定処理)。つまり、ピラミッドを1段下げると候補点P41の位置(i,j)に対応する点Q31は座標を2倍した位置(2×i,2×j)となる。CPU301は、被探索画像IS3において、この対応点Q31(2×i,2×j)を中心とした周辺5×5画素の領域R31を設定する。このように設定する領域は、5×5画素に限らず、例えば2×2画素から10×10画素の範囲で変更可能である。
次に、CPU301は、ステップS21で設定した領域内、つまり領域R31で限定して用いる領域限定閾値Tの初期値を設定する(S22:設定工程、設定処理)。本実施形態では、領域限定閾値Tの初期値を閾値Tと同じ値に設定する。
次に、CPU301は、ステップS21にて設定した領域R31内でモデル画像IT3(代表点)を走査して、領域限定閾値T以上の類似度となる候補点を抽出する(S23〜S28:第2抽出工程、第2抽出処理)。
具体的に説明すると、まずCPU301は、領域R31内の1つの点にモデル画像IT3の代表点を走査させたときの画像を被探索画像IS3から切り出す。そして、切り出した画像とモデル画像IT3とのスコア計算(類似度の計算)を行う(S23)。スコア計算方法は、ステップS16と同様である。
CPU301は、ステップS23で算出したスコア(類似度)が領域限定閾値T以上であるか否かを判断する(S24)。
CPU301は、スコアが領域限定閾値T以上であれば(S24:Yes)、その走査位置を候補点とする(S25)。その際、CPU301は、この候補点を、HDD304や外部記憶装置800等の記憶装置に記憶させる。このとき、領域R31に対する候補点のデータが記憶装置に既に記憶されている場合には、新たな候補点のデータで上書きする。つまり、1つの領域R31内での走査(探索)で、領域限定閾値Tよりも大きいスコアが複数回算出される場合は、その度に、記憶した候補点を上書きしていく。
計算したスコアが領域限定閾値Tと同じ値となった場合であって、領域R31に対する候補点のデータが記憶装置に既に記憶されている場合、既に記憶されている候補点のデータを消さずに新たに候補点のデータを追加記憶させてもよい。つまり、1つの領域R31に対して同じスコアの候補点が複数抽出されることになる。
CPU301は、算出したスコア(類似度)により領域限定閾値Tを更新する(S26)。これにより、領域限定閾値Tは、更新の度に値が大きくなっていくことになる。即ち、領域限定閾値Tは初期値よりも高い値に更新されていく。なお、ステップS24の判断でスコアが領域限定閾値Tと同じ値のときは、更新しなくてもよい。いずれにしても、CPU301は、計算が完了した類似度が現時点での領域限定閾値Tよりも高い値であれば、次の走査位置において用いる領域限定閾値Tを、現時点の領域限定閾値Tよりも高い値となった類似度で更新する。
CPU301は、算出したスコアが領域限定閾値Tを下回る場合(S24:No)、候補点無しとして次のステップS27の処理に移行する。
次に、CPU301は、領域R31内の走査(探索)が完了したか否かを判断する(S27)。
CPU301は、領域R31内の走査が完了していないと判断した場合(S27:No)、領域R31内の次の走査位置へモデル画像IT3を移動させて(S28)、ステップS23の処理に戻る。
CPU301は、領域R31内の走査が完了したと判断した場合(S27:Yes)、全ての候補点について処理が完了したか否かを判断する(S29)。CPU301は、処理が完了していないと判断した場合(S29:No)、次の候補点、例えば候補点P42を選択し(S30)、ステップS21の処理に戻る。
即ち、CPU301は、次の候補点P42についても同様に、被探索画像IS3において候補点P42に対応する位置の点Q32を含む領域R32を設定し(S21)、領域R32に限定して用いる領域限定閾値Tを設定する(S22)。このときの領域限定閾値Tの初期値は、閾値Tと同じ値に設定(初期化)される。そして、CPU301は、以下のステップS23〜S28の処理を行う。CPU301は、ステップS27において、領域R32内の走査が完了したと判断した場合、全ての候補点について処理が完了したか否かを判断する(S29)。CPU301は、処理が完了したと判断した場合(S29:Yes)、この段、即ち被探索画像IS3でのパターンマッチング処理を終了する。
このようにCPU301は、被探索画像IS3において、被探索画像IS4で抽出した候補点P41,P42に対応した位置の点毎、即ち点Q31,Q32毎に、領域R31,R32とその領域に限定して用いる領域限定閾値Tとを設定する。そして、CPU301は、それぞれの領域R31,R32に対してモデル画像IT3を走査して、領域限定閾値T以上の類似度となる候補点P31,P32を抽出する。
なお、例えば領域R31と領域R32とが重なる場合であっても、重なる部分は、各領域R31,R32における走査で重複して類似度の計算を行うことになる。
残りの途中段である被探索画像IS2でのパターンマッチング処理及び最下段である被探索画像IS1でのパターンマッチング処理も同様に行う。
即ち、CPU301は、被探索画像IS2において、1つ上段の被探索画像IS3で抽出した候補点P31,P32に対応した位置の点Q21,Q22毎に領域R21,R22と領域限定閾値Tとを設定する。そして、CPU301は、各領域R21,R22内でモデル画像IT2を走査して、領域限定閾値T以上の類似度となる候補点P21,P22を抽出する。同様に、CPU301は、被探索画像IS1において、1つ上段の被探索画像IS2で抽出した候補点P21,P22に対応した位置の点Q11,Q12毎に領域R11,R12と領域限定閾値Tとを設定する。そして、CPU301は、各領域R11,R12内でモデル画像IT1を走査して、領域限定閾値T以上の類似度となる候補点P11,P12を抽出する。
以上、図8に示すステップS13〜S14の処理として、ピラミッドの最上段では図9のステップS16〜S20の処理、ピラミッドの途中段から最下段までは図10のステップS21〜S30の処理を行う。
そして、CPU301は、ステップS15において、最下段で抽出した候補点P11,P12のうち、スコア値が最も高い候補点の位置を、被探索画像IS1内の物体の検出位置とする。
次に、図9のステップS16及び図10のステップS23におけるスコア計算(類似度の計算)の処理について詳細に説明する。
図13は、第1実施形態に係る画像処理装置が実行する画像処理方法におけるスコア計算処理(類似度計算処理)を示すフローチャートである。CPU301は、まず、モデル画像中の特徴画像のエッジ点と、被探索画像におけるモデル画像中の特徴画像の点に対応する位置の点との1点の局所的なスコア(局所類似度)を、特徴画像の全ての点についてそれぞれ計算する。そして、CPU301は、全ての局所類似度の総和(スコア総和)Sを算出する(S40)。つまり、モデル画像中の特徴画像の画素と、被探索画像から抽出した抽出画像の画素とを、座標が同じ点同士で、局所スコア(局所類似度)を計算し、すべての局所スコアを総和した値を算出する。
そして、CPU301は、ステップS40にて計算したスコア総和を正規化することにより最終的なスコア(類似度)を計算する(S47)。例えば、モデル画像中の特徴画像のエッジ点数(画素数)をn個とした場合、局所スコアの合計をnで除算することにより正規化する。
以下、ステップS40,S47の動作を概念的に説明する。パターンマッチングで類似度を求める下記の式(3)に示す計算式を用いる。
Figure 2017111638
モデル画像に含まれる特徴画像中の1つのエッジ点と、被探索画像中、特徴画像の1つのエッジ点と同じ座標の点のエッジ方向差分の余弦(コサイン値)を求めることにより、エッジ点1点の局所スコアが算出される。この処理を、モデル画像に含まれる特徴画像中の全てのエッジ点で行うことにより、全エッジ点の局所スコアの総和を算出する。この局所スコアの総和をモデル画像のエッジ点数nで割り算することにより、最終的なスコア(類似度)として0から1の範囲の値に正規化する。類似度1が最も類似性が高いことを表し、類似度0が最も類似性が低いことを表す。上式(3)の画像内の位置(i,j)とは、例えば図11に示す被探索画像IS4からモデル画像IT4に対応する大きさの画像を抽出した被探索画像I内の位置のことを表し、候補点を表す。
以下、ステップS40におけるスコア総和の演算方法について具体的に説明する。まず、CPU301は、スコア総和値Sを0に初期化する(S41)。モデル画像中の特徴画像における各エッジ点に、1からnの通し番号を付与しておき、通し番号1から通し番号nまで局所スコアを計算(積算)すべく、変数kを1に設定する(S42)。
次に、CPU301は、特徴画像のエッジ点と、被探索画像における特徴画像のエッジ点に対応する位置の点との局所スコアを計算し、スコア総和Sに足し込む(S43)。
ここで、特徴画像の通し番号kのエッジ点(画素)におけるエッジ方向をθTkとする。また、被探索画像中、特徴画像のエッジ点に対応する位置、つまり抽出画像中、通し番号kのエッジ点と同じ座標位置の点(画素)のエッジ方向をθIkとする。
局所スコアは、エッジ方向θTkとエッジ方向θIkとのなす角の角度|θIk−θTk|の余弦を計算することにより求める。即ち、CPU301は、ステップS42において、以下の式(4)を用いて、局所スコアfを計算し、fをスコア総和Sに足し込んでいく。
=cos|θIk−θTk| (4)
次に、CPU301は、以下の式(5)を用いて、スコア計算が打ち切り可能か否かを判定する(S44)。即ち、CPU301は、類似度の計算途中で、類似度の計算途中結果に基づき、類似度が領域限定閾値Tよりも低い値となるか否かを予測する。
S<n×(T−1)+k (5)
CPU301は、式(5)が成り立てば(S44:Yes)、即ち類似度が領域限定閾値Tよりも低い値となると予測した場合には、類似度の計算(スコア計算)を途中で打ち切り、終了する。
CPU301は、式(5)が成り立たなければ(S44:No)、即ち類似度が領域限定閾値Tよりも低い値となると予測できなかった場合には、モデル画像中の特徴画像における全てのエッジ点でスコア総和を計算したか判定する(S45)。CPU301は、全てのエッジ点での計算が完了していなければ(S45:No)、エッジ点の通し番号kを一つ進めて(S46)、ステップS43〜S45の処理を行う。即ち、CPU301は、類似度が領域限定閾値Tよりも低い値となると予測できなかった場合には、類似度の計算を続行する。
CPU301は、全てのエッジ点での計算が完了すれば(S45:Yes)、スコア総和をモデル画像中の特徴画像における全エッジ点数で正規化することにより、ある走査位置での最終的なスコア(類似度)を算出する(S47)。なお、CPU301は、計算を途中で打ち切った場合(S44:Yes)は、スコア(類似度)を閾値Tよりも低い値、例えば0とする。これにより、類似度の計算を途中で打ち切った走査位置については、特徴点として抽出されないようになる。
式(5)は、エッジ点の通し番号kまで計算した時点で、残りのエッジ点数(n−k)個の局所スコアfが全て1.0(最大の局所スコア)だったとしても、最終的なスコアが閾値Tを超えないと判断できた場合に計算を打ち切るための式である。
以上、第1実施形態によれば、ピラミッドの途中段及び最下段においてパターンマッチング処理を行う際に、領域毎にスコア計算の打ち切りに用いる領域限定閾値Tの更新を行う。したがって、類似度の計算の打ち切り、及び計算を打ち切るか否かを判断する領域限定閾値の更新により、パターンマッチングに要する処理時間を短縮することができる。
また、他の領域で算出された類似度の影響を受けることなく、各領域で独立した領域限定閾値Tでスコア計算の打ち切りの判断を行うことができるので、物体の検出の失敗を防ぐことができる。
なお、第1実施形態では、最上段の被探索画像IS4を除く、全ての被探索画像IS1〜IS3に対して、類似度計算の打ち切り及び領域限定閾値の更新を行う場合について説明したが、これに限定するものではない。
例えば、最下段の被探索画像IS1に対してのみ、類似度計算の打ち切り及び領域限定閾値Tの更新を行ってもよいし、途中段の被探索画像IS2又は被探索画像IS3についてのみ、類似度計算の打ち切り及び領域限定閾値Tの更新を行ってもよい。この場合、類似度計算の打ち切り及び領域限定閾値Tの更新を行わない段(階層)の被探索画像に対しては、閾値Tで類似度の判定を行って候補点を抽出すればよい。また、この類似度計算の打ち切り及び領域限定閾値Tの更新を行わない段(階層)の被探索画像に対しては、上段の候補点に対応する点を含む領域を設定し、その領域内だけモデル画像を走査するようにしてもよい。もちろん、被探索ピラミッドにおいて、被探索画像IS4以外の全ての被探索画像IS1〜IS3に対して類似度計算の打ち切り及び領域限定閾値の更新を行った方が、処理時間を効果的に短縮することができる。
また、領域限定閾値Tを更新する場合、つまり類似度が領域限定閾値Tを超える場合には、その領域内の候補点のデータを更新する(データを上書きする)ようにしたが、これに限定するものではなく、先に登録した候補点のデータを残しておいてもよい。もちろん、候補点のデータを更新する方が、データ量が少なくて済み、処理時間を効果的に短縮することができるので好ましい。
また、第1実施形態では類似度(一致度ともいう)を計算する場合について説明したが、相違度(不一致度ともいう)を計算する場合であってもよい。この場合、相違度の値が低いほど類似性が高くなる。
したがって、閾値以上の類似度となる候補点を抽出することは、閾値以下の相違度となる候補点を抽出することと同じである。同様に、領域限定閾値以上の類似度となる候補点を抽出することは、領域限定閾値以下の相違度となる候補点を抽出することと同じである。また、類似度の計算を途中で打ち切るか否かは、類似度が領域限定閾値よりも低い値となるか否かを予測して行うが、これを相違度で表現すれば、相違度が領域限定閾値よりも高い値となるか否かで予測して行うことになる。同様に、次の走査位置において用いる領域限定閾値を、領域限定閾値よりも高い値となった類似度で更新することは、相違度で表現すれば、次の走査位置において用いる領域限定閾値を、領域限定閾値よりも低い値となった相違度で更新するということになる。
このように、相違度(不一致度)で判定することは、類似度(一致度)で判定することと等価であり、相違度で表現されていても、(閾値の大小判定は反対になるが)類似度で判定していることと同じである。
[第2実施形態]
次に、第2実施形態の画像処理方法について説明する。第2実施形態の生産装置の構成及び画像処理装置の構成は、第1実施形態と同様である。以下、画像処理装置300によるパターンマッチング方法(画像処理方法)について説明する。画像処理装置300のCPU301は、プログラム321をHDD304から読み出して実行することにより、以下に説明する画像処理方法の各工程を実行する。まず、パターンマッチング処理を行うためのモデルピラミッド(画像モデル)の作成処理について説明する。
第1実施形態では、撮像画像から切り出した画像を縮小してエッジ抽出を行うことでモデルピラミッドを作成する場合について説明したが、第2実施形態では、撮像画像から切り出した画像を縮小してモデルピラミッドを作成する。即ち、画像を縮小するだけで、エッジ抽出は行わない。
図14は、第2実施形態に係る画像処理装置が実行する画像処理方法におけるモデルピラミッド生成工程(画像モデルの作成処理)を示すフローチャートである。
まず、オペレータ(作業者)は、パターンマッチング用のモデル画像を用意するために理想状態の照明条件及び位置に、参照物(モデル物体)をセットする。CPU301は、カメラ500に参照物の撮像を行わせ、参照物が写り込んだ参照画像である画像データをカメラ500から取得する(S51)。なお、参照画像は、予めHDD304や外部記憶装置800等の記憶装置に格納されていてもよく、その場合は、CPU301は、HDD304や外部記憶装置800等の記憶装置から、参照画像のデータを取得することとなる。
CPU301は、参照画像を表示装置700に表示させ、オペレータにより指定された、参照物が写り込んだ部分を包含する矩形領域の画像を切り出し、縮小を行っていないモデル画像に設定する(S52)。指定の方法は、例えばマウス等の入力装置600を利用し、表示装置700に表示された参照画像内の参照物が写り込んだ画像を包含する領域の左上と右下の2点をクリックすることにより行う。CPU301は、ステップS52では、クリックされた2点の位置(矩形領域の左上、右下の角の点)を指定し、参照画像から矩形領域の画像のみを切り出す。
次に、CPU301は、ステップS52で切り出した矩形領域の画像(モデル画像)を、オペレータが指定したピラミッド段数分、画像縮小する(S53,S54)。画像縮小の方法は、第1実施形態で説明した図3のステップS3と同様である。
即ち、CPU301は、ステップS53において、モデル画像を縮小し、ステップS54において、指定ピラミッド段数分のモデル画像を作成したか否かを判断する。
CPU301は、ステップS53での縮小処理を所定の回数行っていなければ(S54:No)ステップS53に戻り、前回縮小したモデル画像に対して、同様の縮小方法により再縮小を行う。CPU301は、所定回数の画像縮小を終えていれば(S54:Yes)、画像縮小の処理は終了する。
以上のステップS51〜S54により、CPU301は、異なる縮小率の複数のモデル画像を、下段から上段に向かうに連れて縮小率が高くなるように階層化したモデルピラミッドを生成する(モデルピラミッド生成工程、モデルピラミッド生成処理)。最下段のモデル画像は、縮小率が1、つまり縮小していない画像ということになる。生成されたモデルピラミッドは、HDD304や外部記憶装置800等の記憶装置に記憶される。
次にステップS51〜S54で作成したモデルピラミッドを使用し、実際に物体の検出を行う探索処理のフローについて説明する。図15は、第2実施形態に係る画像処理装置が実行する画像処理方法の探索処理を示すフローチャートである。
まず、CPU301は、モデルピラミッド(画像モデル)のデータが格納されているHDD304や外部記憶装置800等の記憶装置から、モデルピラミッド(画像モデル)のデータを入力する(S61)。
次に、CPU301は、縮小率の異なる(解像度の異なる)複数の被探索画像を有し、これら被探索画像を下段から上段に向かうに連れて縮小率が高くなるように(解像度が低くなるように)階層化した被探索ピラミッドを生成する。本実施形態では、モデルピラミッドと同じ縮小率で同じ段数となるように被探索ピラミッドを生成する。
以下、具体的に説明すると、まず、CPU301は、検出対象となる物体をカメラ500により撮像させ、カメラ500の撮像により得られた撮像画像を入力する(S62:撮像工程)。
次に、CPU301は、入力した撮像画像を縮小していない被探索画像とし、この被探索画像をピラミッド段数分、縮小する(S63,S64)。画像の縮小方法は、図3のステップS3,S4と同様である。CPU301は、以上のステップS62〜S64により、撮像画像(縮小していない被探索画像)と段階的に縮小された複数の画像(被探索画像)とで構成されている被探索ピラミッドを生成する(被探索ピラミッド生成工程、被探索ピラミッド生成処理)。
次に、CPU301は、モデルピラミッド及び被探索ピラミッドを用いて、同解像度の階層においてモデル画像を被探索画像の中から、相違度(不一致度ともいう)の判定により探索するパターンマッチング処理を行う(S65)。CPU301は、このパターンマッチング処理を被探索ピラミッドの全ての段(被探索画像)に対して行う(S66)。
具体的に説明すると、最初は、最も縮小率の高い画像同士、即ち最上段の画像同士でパターンマッチングを行い、完了すれば次の縮小率の画像同士、即ち1つ下の階層の画像同士でパターンマッチングを行う。最後に、縮小を行っていない画像同士、即ち最下段の画像同士のパターンマッチングが完了したら終了となる。このように、パターンマッチング処理は、解像度の低い階層(縮小率の高い階層)から解像度の高い階層(縮小率の低い階層)に向かって順に行う。
CPU301は、ステップS65,S66による最下段のモデル画像と被探索画像とのパターンマッチング処理により抽出された候補点のうち、相違度が最も低い候補点を検出対象の物体の位置に決定する(S67:決定工程)。なお、最終的に候補点が1つであったときは、その候補点を検出対象の物体の位置に決定する。
CPU301は、ステップS67の画像処理結果をロボット制御装置400に出力する。ロボット制御装置400は、その画像処理結果に基づき、ロボット200を制御して、検出対象である物体、即ちワークW1をロボット200に把持させ、被組み付け部材であるワークW2に組付ける組付け工程を実行する。これにより、組立部品Wが製造される。
次に、ステップS65のパターンマッチング処理について詳細に説明する。図16及び図17は、第2実施形態に係る画像処理装置が実行する画像処理方法におけるパターンマッチング処理を示すフローチャートである。なお、図16は、ピラミッド最上段でのパターンマッチング処理を、図17は、ピラミッド途中段から最下段までのパターンマッチング処理を示している。
CPU301は、モデルピラミッドの最上段のモデル画像を、被探索ピラミッドの最上段の被探索画像内でピクセル単位でX,Y軸方向に走査し、被探索画像からモデル画像と同じ大きさの画像(抽出画像)を抽出する。
CPU301は、抽出画像とモデル画像との相違度を求める、スコア計算を行う(S71)。次に、CPU301は、スコア計算の結果、スコア(相違度)が、予め設定された閾値T以下であるか否かを判断する(S72)。閾値Tは固定値であり、予めHDD304等の記憶装置に記憶された値を用いる。スコア(相違度)は、0がモデル画像と探索画像が一致していることを表し、値が大きくなるほど一致していないことを表す。つまり、相違度の数値が高いほど画像同士が相違している(類似していない)ということになる。
CPU301は、スコア(相違度)が閾値以下であると判断した場合(S72:Yes)、抽出画像を抽出した走査位置を候補点とする(S73)。
CPU301は、この候補点を、HDD304や外部記憶装置800等の記憶装置に記憶させる。なお、CPU301は、相違度が閾値を上回ると判断した場合(S72:No)、候補点無しとして、そのまま次のステップS74の処理に移行する。
CPU301は、全ての走査位置のスコア計算が完了したか否かを判断する(S74)。CPU301は、全て走査位置でのスコア計算が完了していなければ(S74:No)、次の走査位置にモデル画像を走査(移動)させ(S75)、当該走査位置で画像を切り出し、スコア計算を行うステップS71に戻る。そして、被探索画像内の全ての走査位置でのスコア計算が完了したら(S74:Yes)、ピラミッド最上段での処理を終了する。
以上、本実施形態では、CPU301は、ステップS71〜S75により、最上段の被探索画像に対し最上段のモデル画像を走査し、閾値以下のスコア(相違度)となる候補点を抽出する(第1抽出工程、第1抽出処理)。つまり、被探索画像全体に対しモデル画像を走査して候補点を抽出する第1抽出処理は、最下段の被探索画像よりも上段の被探索画像のうち、最上段の被探索画像に対して行う。この第1抽出処理では、類似度の計算途中に計算の打ち切りは行わない。
次にピラミッド途中段から最下段までのパターンマッチング処理について、図17を用いて説明する。本実施形態では、最上段の被探索画像よりも下段(途中段及び最下段)の被探索画像に対しては、それぞれ同じパターンマッチング処理を行う。
ここで、第1実施形態と同様、図12を参照しながらパターンマッチング処理について説明する。被探索画像IS4からは、複数の候補点P41,P42が抽出されているものとして説明する。
ここで、既に候補点を抽出した被探索画像IS4に対して下段の被探索画像IS1〜IS3では、候補点が未抽出である。したがって、被探索画像IS4に対して1つ下段の被探索画像IS3から候補点の抽出を行う。
よって、まず、CPU301は、被探索画像IS3において、該被探索画像IS3に対して1つ上段の被探索画像IS4から抽出した候補点P41に対応した位置の点Q31を含む領域R31を設定する(S81:設定工程、設定処理)。つまり、ピラミッドを1段下げると候補点P41の位置(i,j)に対応する点Q31は座標を2倍した位置(2×i,2×j)となる。CPU301は、被探索画像IS3において、この対応点Q31(2×i,2×j)を中心とした周辺5×5画素の領域R31を設定する。このように設定する領域は、5×5画素に限らず、例えば2×2画素から10×10画素の範囲で変更可能である。
次に、CPU301は、ステップS81で設定した領域内、つまり領域R31で限定して用いる領域限定閾値Tの初期値を設定する(S82:設定工程、設定処理)。本実施形態では、領域限定閾値Tの初期値を閾値Tと同じ値に設定する。
次に、CPU301は、ステップS81にて設定した領域R31内でモデル画像IT3(代表点)を走査して、領域限定閾値T以下の相違度となる候補点を抽出する(S83〜S88:第2抽出工程、第2抽出処理)。
具体的に説明すると、まずCPU301は、領域R31内の1つの点にモデル画像IT3の代表点を走査させたときの画像を被探索画像IS3から切り出す。そして、切り出した画像とモデル画像IT3とのスコア計算(相違度の計算)を行う(S83)。スコア計算方法は、ステップS71と同様である。
CPU301は、ステップS83で算出したスコア(相違度)が領域限定閾値T以下であるか否かを判断する(S84)。
CPU301は、スコアが領域限定閾値T以下であれば(S84:Yes)、その走査位置を候補点とする(S85)。その際、CPU301は、この候補点を、HDD304や外部記憶装置800等の記憶装置に記憶させる。このとき、領域R31に対する候補点のデータが記憶装置に既に記憶されている場合には、新たな候補点のデータで上書きする。つまり、1つの領域R31内での走査(探索)で、領域限定閾値Tよりも小さいスコアが複数回算出される場合は、その度に、記憶した候補点を上書きしていく。
なお、計算したスコアが領域限定閾値Tと同じ値となった場合であって、領域R31に対する候補点のデータが記憶装置に既に記憶されている場合、既に記憶されている候補点のデータを消さずに新たに候補点のデータを追加記憶させてもよい。つまり、1つの領域R31に対して同じスコアの候補点が複数抽出されることになる。
CPU301は、算出したスコア(相違度)により領域限定閾値Tを更新する(S86)。これにより、領域限定閾値Tは、更新の度に値が小さくなっていくことになる。即ち、領域限定閾値Tは初期値よりも低い値に更新されていく。なお、ステップS84の判断でスコアが領域限定閾値Tと同じ値のときは、更新しなくてもよい。いずれにしても、CPU301は、計算が完了した相違度が現時点での領域限定閾値Tよりも低い値であれば、次の走査位置において用いる領域限定閾値Tを、現時点の領域限定閾値Tよりも低い値となった相違度で更新する。
CPU301は、算出したスコアが領域限定閾値Tを上回る場合(S84:No)、候補点無しとして次のステップS87の処理に移行する。
次に、CPU301は、領域R31内の走査(探索)が完了したか否かを判断する(S87)。
CPU301は、領域R31内の走査が完了していないと判断した場合(S87:No)、領域R31内の次の走査位置へモデル画像を移動させて(S88)、ステップS83の処理に戻る。
CPU301は、領域R31内の走査が完了したと判断した場合(S87:Yes)、全ての候補点について処理が完了したか否かを判断する(S89)。CPU301は、処理が完了していないと判断した場合(S89:No)、次の候補点、例えば候補点P42を選択し(S90)、ステップS81の処理に戻る。
即ち、CPU301は、次の候補点P42についても同様に、被探索画像IS3において候補点P42に対応する位置の点Q32を含む領域R32を設定し(S81)、領域R32に限定して用いる領域限定閾値Tを設定する(S82)。このときの領域限定閾値Tの初期値は、閾値Tと同じ値に設定(初期化)される。そして、CPU301は、以下のステップS83〜S88の処理を行う。CPU301は、ステップS87において、領域R32内の走査が完了したと判断した場合、全ての候補点について処理が完了したか否かを判断する(S89)。CPU301は、処理が完了したと判断した場合(S89:Yes)、この段、即ち被探索画像IS3でのパターンマッチング処理を終了する。
このようにCPU301は、被探索画像IS3において、被探索画像IS4で抽出した候補点P41,P42に対応した位置の点毎、即ち点Q31,Q32毎に、領域R31,R32とその領域に限定して用いる領域限定閾値Tとを設定する。そして、CPU301は、それぞれの領域R31,R32に対してモデル画像を走査して、領域限定閾値T以下の相違度となる候補点P31,P32を抽出する。
なお、例えば領域R31と領域R32とが重なる場合であっても、重なる部分は、各領域R31,R32における走査で重複して相違度の計算を行うことになる。
残りの途中段である被探索画像IS2でのパターンマッチング処理及び最下段である被探索画像IS1でのパターンマッチング処理も同様に行う。
即ち、CPU301は、被探索画像IS2において、1つ上段の被探索画像IS3で抽出した候補点P31,P32に対応した位置の点Q21,Q22毎に領域R21,R22と領域限定閾値Tとを設定する。そして、CPU301は、各領域R21,R22内でモデル画像を走査して、領域限定閾値T以下の相違度となる候補点P21,P22を抽出する。同様に、CPU301は、被探索画像IS1において、1つ上段の被探索画像IS2で抽出した候補点P21,P22に対応した位置の点Q11,Q12毎に領域R11,R12と領域限定閾値Tとを設定する。そして、CPU301は、各領域R11,R12内でモデル画像を走査して、領域限定閾値T以下の相違度となる候補点P11,P12を抽出する。
以上、図15に示すステップS65〜S66の処理として、ピラミッドの最上段では図16のステップS71〜S75の処理、ピラミッドの途中段から最下段までは図17のステップS81〜S90の処理を行う。
そして、CPU301は、ステップS67において、最下段で抽出した候補点P11,P12のうち、スコア値(相違度)が最も低い候補点の位置を、被探索画像IS1内の物体の検出位置とする。
次に、図16のステップS71及び図17のステップS81におけるスコア計算(相違度の計算)の処理について詳細に説明する。図18は、第2実施形態に係る画像処理装置が実行する画像処理方法におけるスコア計算処理(相違度計算処理)を示すフローチャートである。
CPU301は、まず、被探索画像からモデル画像に対応する大きさの画像を抽出した抽出画像とモデル画像との輝度差分を求める。具体的には、CPU301は、まずスコア(相違度S)の値を0に初期化する(S91)。そして、被探索画像から抽出した抽出画像とモデル画像との対応する座標(x,y)の値を0に初期化する(S92,S93)。抽出画像及びモデル画像の画像幅、高さをそれぞれWidth、Heightとした場合、対応する座標x=0、y=0の位置は、画像の左上であり、x=Width−1、y=Height−1は画像の右下である。
CPU301は、被探索画像から抽出した抽出画像の座標(x,y)の輝度値Ixyとモデル画像の座標(x,y)の輝度値Txyとの差を算出し、差の絶対値をスコアSに足し込んでいく(S94)。
CPU301は、領域限定閾値Tにより、スコア計算が打ち切り可能か否かを判定する(S95)。即ち、CPU301は、相違度の計算途中で、相違度の計算途中結果に基づき、相違度が領域限定閾値Tよりも高い値となるか否かを予測する。
CPU301は、スコアSが領域限定閾値T以下の場合(S95:No)、即ち相違度が領域限定閾値Tよりも高い値となると予測できなかった場合には、スコア計算を継続し、座標xがWidth−1よりも小さいか否かを判断する(S96)。CPU301は、座標xがWidth−1よりも小さいと判断した場合(S96:Yes)、座標xを1つ増加させ(S97)、次の位置の輝度差分を求めるため、ステップS94の処理に戻る。
CPU301は、座標xがWidth−1となった場合(S96:No)、座標yがHeight−1よりも小さいか否かを判断する(S98)。CPU301は、座標yがHeight−1より小さいと判断した場合(S98:Yes)、座標yを1つ増加させ(S99)、次の行の輝度差分を求めるため、ステップS93の処理に戻る。
即ち、CPU301は、相違度が領域限定閾値Tよりも高い値となると予測できなかった場合には、相違度の計算を続行する。CPU301は、座標yがHeight−1となった場合(S98:No)、スコア(相違度)の計算が完了する。このように、被探索画像から抽出した抽出画像とモデル画像との輝度差分の絶対値の総和を算出して、その値をスコア(相違度)とする。
CPU301は、上記計算の途中でスコアSが領域限定閾値Tよりも高い値となると予測した場合(S95:Yes)、スコア計算を打ち切り、スコア計算を終了する。
以上、第2実施形態によれば、ピラミッドの途中段及び最下段においてパターンマッチング処理を行う際に、領域毎にスコア計算の打ち切りに用いる領域限定閾値Tの更新を行う。したがって、相違度の計算の打ち切り、及び計算を打ち切るか否かを判断する領域限定閾値の更新により、パターンマッチングに要する処理時間を短縮することができる。
また、他の領域で算出された相違度の影響を受けることなく、各領域で独立した領域限定閾値Tでスコア計算の打ち切りの判断を行うことができるので、物体の検出の失敗を防ぐことができる。
なお、第2実施形態では、最上段の被探索画像IS4を除く、全ての被探索画像IS1〜IS3に対して、相違度計算の打ち切り及び領域限定閾値の更新を行う場合について説明したが、これに限定するものではない。
例えば、最下段の被探索画像IS1に対してのみ、相違度計算の打ち切り及び領域限定閾値Tの更新を行ってもよいし、途中段の被探索画像IS2又は被探索画像IS3についてのみ、相違度計算の打ち切り及び領域限定閾値Tの更新を行ってもよい。この場合、相違度計算の打ち切り及び領域限定閾値Tの更新を行わない段(階層)の被探索画像に対しては、閾値Tで類似度の判定を行って候補点を抽出すればよい。また、この類似度計算の打ち切り及び領域限定閾値Tの更新を行わない段(階層)の被探索画像に対しては、上段の候補点に対応する点を含む領域を設定し、その領域内だけモデル画像を走査するようにしてもよい。もちろん、被探索ピラミッドにおいて、被探索画像IS4以外の全ての被探索画像IS1〜IS3に対して相違度計算の打ち切り及び領域限定閾値の更新を行った方が、処理時間を効果的に短縮することができる。
また、領域限定閾値Tを更新する場合、つまり相違度が領域限定閾値Tを下回る場合には、その領域内の候補点のデータを更新する(データを上書きする)ようにしたが、これに限定するものではなく、先に登録した候補点のデータを残しておいてもよい。もちろん、候補点のデータを更新する方が、データ量が少なくて済み、処理時間を効果的に短縮することができるので好ましい。
また、第2実施形態では、相違度を、被探索画像とモデル画像との輝度値差分の絶対値の総和により計算しているが、輝度値の差分の二乗和により計算してもよい。
また、第2実施形態では、相違度(不一致度ともいう)として計算する場合について説明したが、類似度(一致度ともいう)として計算してもよい。つまり、相違度(不一致度)で判定することは、類似度(一致度)で判定することと等価であり、相違度で表現されていても、(閾値の大小判定は反対になるが)類似度で判定していることと同じである。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…生産装置、200…ロボット、300…画像処理装置、301…CPU(処理部)、500…カメラ(撮像装置)、550…画像処理システム

Claims (14)

  1. 処理部が、縮小率の異なる複数の被探索画像を有し、下段から上段に向かうに連れて縮小率が高くなるように前記複数の被探索画像を階層化した被探索ピラミッドを生成する被探索ピラミッド生成工程と、
    前記処理部が、前記被探索ピラミッドのうち、最下段の被探索画像よりも上段の被探索画像に対しモデル画像を走査し、閾値以上の類似度となる候補点を抽出する第1抽出工程と、
    前記処理部が、前記第1抽出工程にて候補点を抽出した被探索画像よりも下段の被探索画像において、該被探索画像に対して上段の被探索画像で抽出した候補点に対応した位置の点毎に、該候補点に対応した位置の点を含む領域と前記領域に限定して用いる領域限定閾値とを設定する設定工程と、
    前記処理部が、前記設定工程にて設定した前記領域内でモデル画像を走査して、前記領域限定閾値以上の類似度となる候補点を抽出する第2抽出工程と、を備え、
    前記第2抽出工程では、前記処理部が、前記領域内でモデル画像を走査した際に、類似度の計算途中で、類似度の計算途中結果に基づき、類似度が前記領域限定閾値よりも低い値となるか否かを予測し、類似度が前記領域限定閾値よりも低い値となると予測した場合には、類似度の計算を途中で打ち切り、類似度が前記領域限定閾値よりも低い値となると予測できなかった場合には、類似度の計算を続行し、類似度の計算が完了したとき類似度が前記領域限定閾値よりも高い値であれば、次の走査位置において用いる前記領域限定閾値を、前記領域限定閾値よりも高い値となった類似度で更新する画像処理方法。
  2. 前記第2抽出工程は、前記処理部が、前記被探索ピラミッドのうち最下段の被探索画像に対して行う請求項1に記載の画像処理方法。
  3. 前記処理部が、前記第2抽出工程にて抽出した候補点のうち類似度が最も高い候補点を検出対象の物体の位置に決定する決定工程を更に備えた請求項2に記載の画像処理方法。
  4. 前記第2抽出工程は、前記処理部が、前記被探索ピラミッドのうち最下段の被探索画像と最上段の被探索画像との間の被探索画像に対して行う請求項1乃至3のいずれか1項に記載の画像処理方法。
  5. 前記第2抽出工程では、前記処理部が、前記領域限定閾値を更新する際の走査位置を、候補点として更新する請求項1乃至4のいずれか1項に記載の画像処理方法。
  6. 前記閾値が固定値であり、前記領域限定閾値の初期値が前記閾値と同じ値に設定されている請求項1乃至5のいずれか1項に記載の画像処理方法。
  7. 前記被探索ピラミッドが、検出対象の物体を撮像した撮像画像からエッジを抽出したエッジ画像と、前記エッジ画像を縮小した縮小画像とで構成されている請求項1乃至6のいずれか1項に記載の画像処理方法。
  8. 前記被探索ピラミッドが、検出対象の物体を撮像した撮像画像と、前記撮像画像を縮小した縮小画像とで構成されている請求項1乃至6のいずれか1項に記載の画像処理方法。
  9. 前記処理部が、縮小率の異なる複数のモデル画像を有し、下段から上段に向かうに連れて縮小率が高くなるように前記複数のモデル画像を階層化したモデルピラミッドを生成するモデルピラミッド生成工程を更に備え、
    前記被探索ピラミッド生成工程では、前記処理部が、前記モデルピラミッドと同じ縮小率で同じ段数の前記被探索ピラミッドを生成する請求項1乃至8のいずれか1項に記載の画像処理方法。
  10. 縮小率の異なる複数の被探索画像を有し、下段から上段に向かうに連れて縮小率が高くなるように前記複数の被探索画像を階層化した被探索ピラミッドを生成する被探索ピラミッド生成処理と、
    前記被探索ピラミッドのうち、最下段の被探索画像よりも上段の被探索画像に対しモデル画像を走査し、閾値以上の類似度となる候補点を抽出する第1抽出処理と、
    前記第1抽出処理にて候補点を抽出した被探索画像よりも下段の被探索画像において、該被探索画像に対して上段の被探索画像で抽出した候補点に対応した位置の点毎に、該候補点に対応した位置の点を含む領域と前記領域に限定して用いる領域限定閾値とを設定する設定処理と、
    前記設定処理にて設定した前記領域内でモデル画像を走査して、前記領域限定閾値以上の類似度となる候補点を抽出する第2抽出処理と、を実行する処理部を備え、
    前記処理部が、前記第2抽出処理で、前記領域内でモデル画像を走査した際に、類似度の計算途中で、類似度の計算途中結果に基づき、類似度が前記領域限定閾値よりも低い値となるか否かを予測し、類似度が前記領域限定閾値よりも低い値となると予測した場合には、類似度の計算を途中で打ち切り、類似度が前記領域限定閾値よりも低い値となると予測できなかった場合には、類似度の計算を続行し、類似度の計算が完了したとき類似度が前記領域限定閾値よりも高い値であれば、次の走査位置において用いる前記領域限定閾値を、前記領域限定閾値よりも高い値となった類似度で更新する画像処理装置。
  11. 請求項10に記載の画像処理装置と、
    検出対象の物体を撮像する撮像装置と、を備えた画像処理システム。
  12. ロボットと、
    請求項10に記載の画像処理装置と、
    前記画像処理装置の処理部による画像処理結果に基づき、前記ロボットを制御するロボット制御装置と、を備えた生産装置。
  13. コンピュータに請求項1乃至9のいずれか1項に記載の画像処理方法の各工程を実行させるためのプログラム。
  14. 請求項13に記載のプログラムが記録された、コンピュータが読み取り可能な記録媒体。
JP2015245758A 2015-12-17 2015-12-17 画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体 Expired - Fee Related JP6648925B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015245758A JP6648925B2 (ja) 2015-12-17 2015-12-17 画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体
US15/380,849 US10572762B2 (en) 2015-12-17 2016-12-15 Image processing method for performing pattern matching for detecting a position of a detection target

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015245758A JP6648925B2 (ja) 2015-12-17 2015-12-17 画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2017111638A true JP2017111638A (ja) 2017-06-22
JP6648925B2 JP6648925B2 (ja) 2020-02-14

Family

ID=59066457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015245758A Expired - Fee Related JP6648925B2 (ja) 2015-12-17 2015-12-17 画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体

Country Status (2)

Country Link
US (1) US10572762B2 (ja)
JP (1) JP6648925B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021033426A (ja) * 2019-08-19 2021-03-01 東芝情報システム株式会社 画像検出装置、画像検出方法及び画像検出用プログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170305438A1 (en) * 2014-10-27 2017-10-26 Fts Computertechnik Gmbh Computer vision monitoring for a computer vision system
US11042754B2 (en) * 2017-05-05 2021-06-22 Google Llc Summarizing video content
US10592782B2 (en) * 2018-01-22 2020-03-17 International Business Machines Corporation Image analysis enhanced related item decision
US10664997B1 (en) * 2018-12-04 2020-05-26 Almotive Kft. Method, camera system, computer program product and computer-readable medium for camera misalignment detection
EP3884423A4 (en) * 2018-12-26 2021-12-01 Zhejiang Dahua Technology Co., Ltd. SYSTEMS AND METHODS FOR OBJECT DETECTION
JP7372076B2 (ja) * 2019-08-07 2023-10-31 ファナック株式会社 画像処理システム
US11900652B2 (en) * 2021-03-05 2024-02-13 Mujin, Inc. Method and computing system for generating a safety volume list for object detection
US11941863B2 (en) * 2021-08-04 2024-03-26 Datalogic Ip Tech S.R.L. Imaging system and method using a multi-layer model approach to provide robust object detection
CN114445379B (zh) * 2022-01-28 2023-04-07 江苏海辉塑胶制品有限公司 基于图像处理的注塑件分类方法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021389A (ja) * 1996-07-03 1998-01-23 Mitsubishi Electric Corp テンプレートマッチング方法およびその装置
JP2002230549A (ja) * 2001-02-05 2002-08-16 Omron Corp 画像処理方法およびその装置
CN102654902A (zh) * 2012-01-16 2012-09-05 江南大学 基于轮廓向量特征的嵌入式实时图像匹配方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6005978A (en) * 1996-02-07 1999-12-21 Cognex Corporation Robust search for image features across image sequences exhibiting non-uniform changes in brightness
ATE468572T1 (de) * 2008-01-18 2010-06-15 Mvtec Software Gmbh System und verfahren zur erkennung verformbarer objekte
JP6493163B2 (ja) * 2015-11-06 2019-04-03 オムロン株式会社 粗密探索方法および画像処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021389A (ja) * 1996-07-03 1998-01-23 Mitsubishi Electric Corp テンプレートマッチング方法およびその装置
JP2002230549A (ja) * 2001-02-05 2002-08-16 Omron Corp 画像処理方法およびその装置
CN102654902A (zh) * 2012-01-16 2012-09-05 江南大学 基于轮廓向量特征的嵌入式实时图像匹配方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021033426A (ja) * 2019-08-19 2021-03-01 東芝情報システム株式会社 画像検出装置、画像検出方法及び画像検出用プログラム

Also Published As

Publication number Publication date
JP6648925B2 (ja) 2020-02-14
US20170177970A1 (en) 2017-06-22
US10572762B2 (en) 2020-02-25

Similar Documents

Publication Publication Date Title
JP6648925B2 (ja) 画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体
JP6406900B2 (ja) 画像処理方法、画像処理装置、プログラム、記録媒体、生産装置、及び組立部品の製造方法
US10997465B2 (en) Information processing device, information processing method, and storage medium
EP1901228B1 (en) Apparatus, method and program for image matching
US9785864B2 (en) Image processing method, image processing apparatus, program, and recording medium
US10366307B2 (en) Coarse-to-fine search method, image processing device and recording medium
US9135519B2 (en) Pattern matching method and pattern matching apparatus
CN110926330B (zh) 图像处理装置和图像处理方法
US9569850B2 (en) System and method for automatically determining pose of a shape
JPWO2007072678A1 (ja) 画像合成方法、画像合成プログラム、画像合成装置、テンプレート抽出方法、およびテンプレート抽出プログラム
US20120033873A1 (en) Method and device for determining a shape match in three dimensions
US10207409B2 (en) Image processing method, image processing device, and robot system
US9595095B2 (en) Robot system
JP2007034525A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR100647750B1 (ko) 화상 처리 장치
JP6410231B2 (ja) 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム
KR20050063991A (ko) 영상 피라미드를 이용한 영상정합 처리방법 및 장치
WO2020209046A1 (ja) 物体検出装置
JP4041060B2 (ja) 画像処理装置、画像処理方法
Christie et al. Chess piece movement detection and tracking, a vision system framework for autonomous chess playing robot
CN109227531A (zh) 生成动作程序的编程装置以及程序生成方法
JP7404017B2 (ja) 画像処理方法、画像処理装置、生産システム、物品の製造方法、プログラム、および記録媒体
JP6265370B2 (ja) 対象物追跡方法及び対象物追跡システム
JP2001060265A (ja) 画像処理装置および方法、並びに媒体
Koutaki et al. Fast and high accuracy pattern matching using multi-stage refining eigen template

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191125

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: 20191217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200114

R151 Written notification of patent or utility model registration

Ref document number: 6648925

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees