JP2016018422A - 画像処理方法、画像処理装置、プログラム、記録媒体、生産装置、及び組立部品の製造方法 - Google Patents

画像処理方法、画像処理装置、プログラム、記録媒体、生産装置、及び組立部品の製造方法 Download PDF

Info

Publication number
JP2016018422A
JP2016018422A JP2014141277A JP2014141277A JP2016018422A JP 2016018422 A JP2016018422 A JP 2016018422A JP 2014141277 A JP2014141277 A JP 2014141277A JP 2014141277 A JP2014141277 A JP 2014141277A JP 2016018422 A JP2016018422 A JP 2016018422A
Authority
JP
Japan
Prior art keywords
image
image processing
edge
processing method
local similarity
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
JP2014141277A
Other languages
English (en)
Other versions
JP6406900B2 (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 JP2014141277A priority Critical patent/JP6406900B2/ja
Priority to US14/793,431 priority patent/US9805443B2/en
Publication of JP2016018422A publication Critical patent/JP2016018422A/ja
Application granted granted Critical
Publication of JP6406900B2 publication Critical patent/JP6406900B2/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/758Involving statistics of pixels or of feature values, e.g. histogram matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • 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/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

【課題】対象物を撮像した画像について、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等により、エッジ方向が部分的に反転した場合でも、認識ミスを防止しつつ処理時間を短縮化する。【解決手段】テンプレート画像中の特徴画像の点と、被探索画像における前記特徴画像の点に対応する位置の点との仮の局所スコアfkを計算する(S32)。仮の局所スコアfkが0を下回るか否かを判断する(S33)。仮の局所スコアfkが0以上であると判断した場合は、fkを局所スコアとする(S35)。仮の局所スコアfkが0を下回ると判断した場合は、fkに係数αを乗算して局所類似度とする(S34)。【選択図】図12

Description

本発明は、パターンマッチングを行う画像処理方法、画像処理装置、プログラム、記録媒体、生産装置、及び組立部品の製造方法に関する。
画像処理の分野において、検出対象物の位置を検出する方法として、パターンマッチングがよく知られている。
従来の基本的なパターンマッチング方法について説明する。まずパターンマッチングを行うためには、検出対象となる物体の参照情報が必要になる。参照情報は一般的には、モデルまたはテンプレートと呼ばれ、理想状態の対象物(参照物)を撮像した参照画像を用意する。参照画像から検出対象物付近の領域のみを切り出し、モデルまたはテンプレートとする。そして、実際の物体検出工程では、物体を撮像して被探索画像を取得し、被探索画像の各位置でモデルまたはテンプレートとの類似度を計算していく。最も類似度の高かった画像の位置を検出位置とする方法である。つまり、被探索画像の中からテンプレートと最も類似している位置を検出する方法である。また、このパターンマッチングは、計算コストが大きいため、処理時間が遅い。そこで、処理を高速化するため、一般的にピラミッド探索が行われる。
ピラミッド探索とは、画像を段階的に縮小していき、まずは最も縮小した画像に対して、パターンマッチングを行う。そして、縮小画像で認識した対象物の位置周辺のみを次の縮小率の画像で探索を行う。この探索方法を縮小を行っていない画像まで繰り返すことにより、処理を高速化しながら、精度も保つことができる。
前述した類似度の計算方法は、複数の方法が知られており、輝度値差分法(SAD)、正規化相関法(NCC)、形状パターンマッチングなどが知られている。形状パターンマッチングは、その中でも照明変化、物体の隠れ、欠けにも強く、ロバストな手法である。この形状パターンマッチングは、テンプレートと被探索画像の形状特徴を利用して、類似度を計算していく。このため形状パターンマッチングでは、画像に対する形状特徴を抽出する必要がある。
形状特徴を抽出する方法として、一般的にSobelフィルタやCannyフィルタ等のエッジ抽出方法が知られている。エッジ抽出により各エッジ点に対して、位置座標、輝度の勾配方向、輝度の勾配強度等の情報を得ることができる。そして、テンプレートと被探索画像の各エッジ点の勾配方向(以下、エッジ方向)を比較しながら、パターンマッチングを行っていく。テンプレートと被探索画像の各エッジ方向の差が小さければ、同一の形状特徴を持っているとして類似度が高くなり、差が大きければ類似度が低くなる。つまり、テンプレートと同様のエッジ位置座標で、同様のエッジ方向を持ったものを被探索画像の中から探し出す方法である。
しかし、検出対象物は、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等により、エッジ方向が部分的に変化する可能性がある。このような場合は、上述したようなエッジ方向の比較により、パターンマッチングを行うと類似度の低下が著しくなり、被探索物を認識ミスする問題が起こる。
そこで、特許文献1に記載の方法では、部分的にエッジ方向が180°近く反転している場合は、類似度を高くする方法が提案されている。つまり、エッジ方向の極性を無視して、類似度を算出することにより上記問題が発生した場合でも認識ミスすることなく、パターンマッチングを行うことができる。
特開2002−157591号公報
しかしながら、特許文献1のパターンマッチング方法では、エッジ方向の極性を反転させて類似度を高くしているので、対象物以外の位置の類似度が高くなってしまう傾向がある。ピラミッド探索を行う際、縮小画像に対する途中段の探索では、ある程度類似度(スコア)の高い位置は、マッチング候補点として、次の段の探索を行うために残しておかなければならない。解像度が低い画像では、認識ミスする可能性が高いためである。そのため、特許文献1のパターンマッチング方法では、ピラミッド探索の最初や途中段の探索で多くのマッチング候補点が取れてしまうため、処理時間が遅くなってしまう。
そこで、本発明は、被探索物(対象物)を撮像した画像について、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等により、エッジ方向が部分的に反転した場合でも、認識ミスを防止しつつ処理時間を短縮化することを目的とする。
本発明の画像処理方法は、解像度の異なる複数のテンプレート画像を解像度順に階層化した第1ピラミッドと、前記第1ピラミッドにおけるテンプレート画像と同じ解像度であって、解像度の異なる複数の被探索画像を解像度順に階層化した第2ピラミッドとを用いて、画像処理装置が行う画像処理により、同解像度の階層において前記第1ピラミッドのテンプレート画像に含まれる特徴画像を前記第2ピラミッドの被探索画像の中から、類似度の判定により探索する処理を解像度の低い順から行う画像処理方法において、前記特徴画像の点と、前記被探索画像における前記特徴画像の点に対応する位置の点との局所類似度を、前記特徴画像の全ての点についてそれぞれ計算する局所類似度計算工程と、前記局所類似度計算工程にて計算した前記各局所類似度を合計して正規化することにより前記類似度を計算する類似度計算工程と、を備え、前記局所類似度計算工程では、前記特徴画像の点と、前記被探索画像における前記特徴画像の点に対応する位置の点との仮の局所類似度を計算し、前記仮の局所類似度が所定値を下回るか否かを判断し、前記仮の局所類似度が前記所定値以上であると判断した場合は、前記仮の局所類似度を前記局所類似度とし、前記仮の局所類似度が前記所定値を下回ると判断した場合は、前記仮の局所類似度を絶対値が小さくなるように変更して前記局所類似度とすることを特徴とする。
本発明によれば、被探索物(対象物)を撮像した画像について、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等により、エッジ方向が部分的に反転した場合でも、認識ミスを防止しつつ処理時間を短縮化することができる。
本発明の第1実施形態に係る生産装置の概略構成を示す説明図である。 本発明の第1実施形態に係る画像処理装置の構成を示すブロック図である。 本発明の第1実施形態に係る画像処理方法における第1ピラミッドの作成方法を示すフローチャートである。 モデル画像に対してエッジ抽出処理を行う動作を説明するための図である。 特徴画像を含むテンプレート画像を説明するための図である。 テンプレート画像を縮小して1つ上の段のテンプレート画像を生成する際の説明図である。 生成した第1ピラミッドを説明するための図である。 本発明の第1実施形態に係る画像処理方法における探索処理を示すフローチャートである。 本発明の第1実施形態に係る画像処理方法におけるパターンマッチング処理を示すフローチャートである。 本発明の第1実施形態に係る画像処理方法におけるパターンマッチング処理を示すフローチャートである。 パターンマッチング処理を説明するための図である。 本発明の第1実施形態に係る画像処理方法におけるスコア計算処理を示すフローチャートである。 本発明の第2実施形態に係る画像処理方法におけるスコア計算処理を示すフローチャートである。 本発明の第3実施形態に係る画像処理方法におけるスコア計算処理を示すフローチャートである。 本発明の第4実施形態に係る画像処理方法におけるスコア計算処理を示すフローチャートである。 本発明の第5実施形態に係る画像処理方法におけるスコア計算処理を示すフローチャートである。 本発明の第6実施形態に係る画像処理方法におけるスコア計算処理を示すフローチャートである。 本発明の第7実施形態に係る画像処理方法における第1ピラミッドの作成方法を示すフローチャートである。 本発明の第7実施形態に係る画像処理方法における探索処理を示すフローチャートである。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係る生産装置の概略構成を示す説明図である。図1に示す生産装置100は、ワーク(対象物)W1をワーク(被組み付け部材)W2に組付けて組立部品Wを製造する製造方法を実行するものである。生産装置100は、ロボット200と、ロボット200に取り付けられた撮像装置としてのカメラ500と、カメラ500と有線又は無線で通信を行うように構成された画像処理装置300と、を備えている。また、生産装置100は、ロボット200及び画像処理装置300にケーブル等で接続されたロボット制御装置400を備えている。
ロボット200は、例えば垂直多関節型のロボットアーム201と、エンドエフェクタであるロボットハンド202と、を有している。ロボットアーム201は、複数のリンクが複数の関節で旋回又は回転可能に連結されて構成されている。ロボットアーム201の基端(基端リンク、ベース部ともいう)が基台Bの上面に固定されている。ロボットアーム201の先端(先端リンク)には、ロボットハンド202が取り付けられている。ロボットハンド202は、複数のフィンガを有し、ワーク(対象物)W1を把持又は把持解放することができる。
カメラ500はデジタルカメラであり、例えばCCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等の撮像素子を有する。
画像処理装置300は、カメラ500の撮像動作(例えば撮像タイミングやシャッタースピード等)を制御し、カメラ500から撮像画像を取得する。また、画像処理装置300は、画像(デジタルデータ)に対して画像処理を施し、その結果をロボット制御装置400に出力する。具体的には、画像処理装置300は、パターンマッチング処理を行い、その結果をロボット制御装置400に出力する。ロボット制御装置400は、画像処理装置300による画像処理の結果に基づき、ロボット200の動作を制御する。
図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、ROM303、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及びインタフェース312を介して、トリガ信号等の制御信号をカメラ500に送信する。そして、CPU301は、カメラ500からの画像信号をバス310及びインタフェース312を介して取得する。取得した画像データは、CPU301の制御の下、HDD304や外部記憶装置800等の記憶装置に格納する。
インタフェース313には、マウスやキーボード等、作業者が操作して、操作に応じた指令をCPU301に送信する入力装置600が接続されている。インタフェース314には、画像を表示するディスプレイ等の表示装置700が接続されている。インタフェース315には、USBメモリ等の書き換え可能な不揮発性メモリ、或いは外付けHDD等の外部記憶装置800が接続されている。
以下、画像処理装置300によるパターンマッチング方法(画像処理方法)について説明する。画像処理装置300のCPU301は、プログラム321をHDD304から読み出して実行することにより、以下に説明する画像処理方法の各工程を実行する。まず、パターンマッチング処理を行うための第1ピラミッド(形状モデル)の作成方法について説明する。
図3は、本発明の第1実施形態に係る画像処理装置300が実行する画像処理方法における第1ピラミッド(形状モデル)の作成方法を示すフローチャートである。
まず、オペレータ(作業者)は、パターンマッチング用のモデル画像を用意するために理想状態の照明条件、位置に参照物をセットする。CPU301は、カメラ500に参照物の撮像を行わせ、参照物が写り込んだ参照画像である画像データをカメラ500から取得する(S1)。なお、参照画像は、予めHDD304や外部記憶装置800等の記憶装置に格納されていてもよく、その場合は、CPU301は、HDD304や外部記憶装置800等の記憶装置から、参照画像のデータを取得することとなる。
CPU301は、参照画像を表示装置700に表示させ、オペレータにより指定された、参照物(参照対象物体)が写り込んだ部分を包含する矩形領域(モデル画像)を切り出して設定する(S2)。指定の方法は、マウス等の入力装置600を利用し、表示装置700に表示された参照画像内の参照物が写り込んだ画像を包含する領域の左上と右下の2点をクリックすることにより行う。CPU301は、ステップS2では、モデル画像として、クリックされた2点の位置(矩形領域の左上、右下の角の点)を指定し、参照画像から矩形領域のみを切り出して設定する。
CPU301は、ステップS2で設定したモデル画像において、画素毎にエッジ強度とエッジ方向を算出する。エッジ強度とは、コントラストの大きさ(輝度の変化の急峻さ)を表し、注目画素に対し隣接する画素のコントラストが大きければエッジ強度も大きくなる。エッジ方向とは、コントラストの方向を表し、注目画素のエッジ強度が最も大きくなる方向(角度)を示す。エッジ強度の算出には、x軸方向(画像の横軸方向)、y軸方向(画像の縦軸方向)のソーベルフィルタを使用する。
図4は、モデル画像に対してエッジ抽出処理を行う動作を説明するための図である。CPU301は、モデル画像I中の注目画素Cで、まずx軸方向のエッジ強度Eとy軸方向のエッジ強度Eを算出する。エッジ強度のベクトルは、(E,E)で表される。
そして、CPU301は、注目画素Cのエッジ強度Eを、各軸の強度E,Eの二乗和の平方根、即ち以下の式(1)で算出する。
Figure 2016018422
また、CPU301は、エッジ方向θを以下の式(2)により算出する。
Figure 2016018422
CPU301は、上記方法によりモデル画像の全画素のエッジ強度とエッジ方向を算出する。そして、CPU301は、エッジ強度がある一定の閾値以上の画素をエッジ特徴(エッジ点)として抽出し、複数のエッジ点の集合である特徴画像(エッジ特徴画像)を含むテンプレート画像を生成する(S3)。
図5は、特徴画像を含むテンプレート画像を説明するための図である。図5では、テンプレート画像Iにおいて、エッジ特徴(エッジ点)を示す有効画素を黒、それ以外の無効画素を白で表現している。
特徴画像のデータ保持方法は、画像の画素毎に2チャンネルのデータ領域を持っておき、図5に示すように、エッジ特徴として抽出された画素Cは有効画素として、1チャンネル目にエッジ強度、2チャンネル目にエッジ方向の情報を入れておく。エッジ特徴ではないと判断された画素Cには無効値(例えば0)を入れておく。これらエッジ点を示す画素Cの集合ΣCが、特徴画像である。
なお、エッジ強度のみを記憶したエッジ強度画像、エッジ方向のみを記憶したエッジ方向画像の2画像を1組とした特徴画像として記憶してもよい。また、本実施形態では、エッジ強度の算出にソーベルフィルタを使用しているが、キャニーフィルタ等の一般的に知られたエッジ抽出フィルタを使用してもよい。
以上のように、ステップS3では、CPU301は、モデル画像をエッジ抽出処理して得られた、特徴画像を含むテンプレート画像を生成し、特徴画像を含むテンプレート画像を、第1ピラミッド(形状モデル)の最下段に設定する。
次に、CPU301は、ステップS3で抽出した特徴画像を含むテンプレート画像を、段階的に縮小していき(S4)、ピラミッド探索のための途中段及び最上段のテンプレート画像を作成する。
図6は、テンプレート画像IT1を縮小して第1ピラミッドにおける1つ上の段のテンプレート画像IT2を生成する際の説明図である。まず、図6に示すように、テンプレート画像IT1の左上端から2×2画素の矩形領域Rを設定する。
次にエッジ特徴(エッジ点)をエッジベクトルとして考え、2×2画素内の矩形領域Rに2つ以上のエッジベクトルが存在する場合は、ベクトル合成により2×2画素内の矩形領域Rのエッジ特徴から一つの合成ベクトルを算出する。エッジベクトルとは、エッジ特徴であるエッジ強度をベクトルの大きさ、エッジ方向をベクトルの向きとして捉え、ベクトル合成を行う。具体的には、合成後のベクトルの大きさのX軸方向成分Eは、式(3)、Y軸方向成分Eは式(4)で算出できる。なお、式(3)、(4)中、e〜eは2×2画素内の4つのエッジベクトルの大きさを、θ〜θは方向を表す。CPU301は、合成後のベクトルの大きさをE、Eより式(5)で算出する。また、CPU301は、合成後のベクトルの方向θを、同じくE、Eより式(6)で算出する。
Figure 2016018422
2×2画素から算出したエッジ合成ベクトルの結果をテンプレート画像IT2における特徴画像(縮小エッジ特徴画像)の1画素とする。CPU301は、テンプレート画像IT1における特徴画像全画素分の縮小処理を上記方法により行い、テンプレート画像IT2(縮小画像)を生成する(S4)。
次に、CPU301は、指定ピラミッド段数分のテンプレート画像を作成したか否かを判断する(S5)。CPU301は、ステップS4での縮小処理を所定の回数行っていなければ(S5:No)ステップS4に戻り、前回縮小したテンプレート画像に対して、同様の縮小方法により再縮小を行う。CPU301は、所定回数を終えていれば(S5:Yes)、特徴画像縮小工程は完了となる。
図7は、生成した第1ピラミッド(形状モデル)を説明するための図である。図7に示すように、3回繰り返し、合計4つの異なる解像度の特徴画像を含むテンプレート画像IT1〜IT4を生成する。縮小を行う回数は作業者が第1ピラミッドの段数として、指定することができる。一般的に解像度が大きな画像や、モデルのエッジ特徴が大きく、ノイズとなるようなエッジが少ない場合には、この指定ピラミッド段数を大きくでき、逆の場合は小さくしなければならない。
以上のステップS1〜S5で作成した特徴画像を含む、互いに解像度が異なる複数のテンプレート画像を解像度順に階層化した第1ピラミッド(形状モデル)が形成される。つまり、第1ピラミッドの複数のテンプレート画像は、参照物を撮像して得られた撮像画像に対してエッジ抽出処理を施して得られた画像と、この画像に対して縮小処理を施すことで得られた縮小画像と、で構成されている。このように形成された第1ピラミッドは、HDD304や外部記憶装置800等の記憶装置に記憶される。
次にステップS1〜S5で作成した第1ピラミッドを使用し、実際に物体の検出を行う探索処理のフローについて説明する。図8は、本発明の第1実施形態に係る画像処理装置が実行する画像処理方法の探索処理を示すフローチャートである。
まず、CPU301は、第1ピラミッド(形状モデル)のデータが格納されているHDD304や外部記憶装置800等の記憶装置から、形状モデルのデータを入力する(S6)。
次に、CPU301は、第1ピラミッドにおけるテンプレート画像と同じ解像度であって、解像度の異なる複数の被探索画像を解像度順に階層化した第2ピラミッドを生成する。
以下、具体的に説明すると、まず、CPU301は、検出の対象物をカメラ500により撮像させ、カメラ500の撮像により得られた撮像画像を入力する(S7:撮像工程)。
次に、CPU301は、ステップS7で入力した撮像画像に対し、モデル作成工程時のエッジ抽出処理(S3)と同様のエッジ抽出処理により、エッジ特徴を抽出し、特徴画像(エッジ点の集合)を含む被探索画像を生成する(S8)。
次に、CPU301は、ステップS8で生成した被探索画像中の特徴画像に対して、モデル作成時のエッジ画像縮小(ステップS4,S5)と同様の縮小処理により、被探索画像を作業者が指定した回数分縮小する(S9,S10)。
以上のステップS7〜S10の動作で、対象物を撮像して得られた撮像画像に対してエッジ抽出処理を施して得られた画像と、この画像に対して縮小処理を施すことで得られた縮小画像とで構成されている第2ピラミッドが生成される。
次に、CPU301は、第1及び第2ピラミッドを用いて、同解像度の階層において第1ピラミッドのテンプレート画像に含まれる特徴画像を第2ピラミッドの被探索画像の中から、類似度の判定により探索するパターンマッチング処理を行う(S11)。
最初は、最も縮小率の大きい特徴画像同士で行い、完了すれば次の縮小率の画像でパターンマッチングを行う。最後に縮小を行っていない画像まで完了したら終了となる(S12)。このように、パターンマッチング処理は、解像度の低い階層から順に行う。即ち、パターンマッチング処理は、解像度が最も低い最上段から下位の段に順に解像度が最も高い最下段まで行う。
各縮小率の画像同士でパターンマッチングを行っていくことをピラミッド探索と呼び、縮小を行っていない画像をピラミッド1段目(最下段)として、最も縮小率の大きい画像をピラミッド最上段の画像と呼ぶ。
CPU301は、ステップS11,S12により認識された結果をロボット制御装置400に出力する。ロボット制御装置400は、ロボット200を制御して、認識された対象物であるワークW1を、被組み付け部材であるワークW2に組付ける組付け工程を実行する。これにより、組立部品Wが製造される。
次に、ステップS11のパターンマッチングの詳細を説明する。図9及び図10は、本発明の第1実施形態に係る画像処理装置が実行する画像処理方法におけるパターンマッチング処理を示すフローチャートである。なお、図9は、ピラミッド最上段でのパターンマッチング処理を、図10は、ピラミッド途中段から最下段までのパターンマッチング処理を示している。図11は、パターンマッチング処理を説明するための図である。図11に示すように、テンプレート画像Iを、被探索画像I内でピクセル単位でX,Y軸方向に範囲をずらしながら、被探索画像Iからテンプレート画像Iと同じ大きさの画像Iを抽出する。
CPU301は、抽出した画像Iとテンプレート画像Iとの類似度Rを求める、スコア計算を行う(S13)。
次に、CPU301は、スコア計算の結果、スコア(類似度R)が、閾値以上であるか否かを判断する(S14)。
CPU301は、スコアが閾値以上であると判断した場合(S14:Yes)、画像Iを抽出した位置(i,j)と回転角(度)をマッチング候補点とする(S15)。このマッチング候補点は、HDD304や外部記憶装置800等の記憶装置に記憶させる。なお、CPU301は、スコアが閾値を下回ると判断した場合(S14:No)、マッチング候補点なしとして、そのまま次のステップS16の処理に移行する。
CPU301は、全ての探索位置の探索(スコア計算)が完了したか否かを判断する(S16)。CPU301は、全て探索位置でのスコア計算が完了していなければ(S16:No)、次の探索位置に(i,j)を進めて(S17)、スコア計算を行うステップS13に戻る。そして、探索画像内の全ての探索位置でのスコア計算が完了したら(S16:Yes)、ピラミッド最上段での処理を終了となる。
次にピラミッド途中段から最下段までのパターンマッチング処理について、図10を用いて説明する。まず、CPU301は、ピラミッドの1つ上段で記憶させたマッチング候補点の1つを選択する(S18)。
そして、CPU301は、記憶されたマッチング位置(i,j)の周辺位置を次のピラミッド段の画像で探索する。ピラミッドを1段下げると(i,j)と対応する位置は座標を2倍した位置(2i,2j)となるため、(2i,2j)を中心とした周辺5×5画素でスコア計算(類似度の計算)を行う(S19)。スコア計算方法はステップS13と同様である。
CPU301は、1つの候補点周辺の5×5画素の範囲内で最もスコアの高かった位置を次のマッチング候補点とする(S20,S21)。このマッチング候補点は、HDD304や外部記憶装置800等の記憶装置に記憶させる。
CPU301は、5×5画素の探索位置でのスコア計算が終了すれば、次の候補点を選択し、S19〜S23の処理を行う。CPU301は、全ての候補点で処理が完了したか否かを判断し(S24)、完了すれば(S24:Yes)、この段でのパターンマッチングは完了となる。
図8のステップS11〜S12で示しているように、上記ピラミッド最上段からピラミッド途中段、最下段までの処理を指定されたピラミッド段数分繰り返す。そして、最下段で最もスコア値の高かった位置(i,j)を、探索画像内の物体の検出位置とする。
次に、図9のステップS13及び図10のステップS19におけるスコア計算(類似度の計算)の処理について詳細に説明する。
図12は、本発明の第1実施形態に係る画像処理装置が実行する画像処理方法におけるスコア計算処理(類似度計算処理)を示すフローチャートである。
CPU301は、まず、特徴画像のエッジ点と、被探索画像におけるテンプレート画像の特徴画像の点に対応する位置の点との局所スコア(局所類似度)を、特徴画像の全ての点についてそれぞれ計算する(S30:局所類似度計算工程)。つまり、テンプレート画像中の特徴画像の画素と、被探索画像から抽出した抽出画像の画素とを、座標が同じ点同士で、局所スコア(局所類似度)を計算する。
そして、CPU301は、ステップS30にて計算した各局所スコアを合計して正規化することによりスコア(類似度)を計算する(S38:類似度計算工程)。例えば、テンプレート画像中の特徴画像のエッジ点数(画素数)をn個とした場合、局所スコアの合計をnで除算することにより正規化する。
以下、ステップS30,S38の動作を概念的に説明する。パターンマッチングで類似度を求める計算式を下記の式(7)を用いる。
Figure 2016018422
テンプレート画像に含まれる特徴画像中の1つのエッジ点と、被探索画像中、特徴画像の1つのエッジ点と同じ座標の点のエッジ方向差分の余弦(コサイン値)を求めることにより、エッジ点1点の局所スコアが算出される。この処理を、特徴画像中の全てのエッジ点で行うことにより、全エッジ点の局所スコアの総和を算出することができる。この局所スコアの総和をモデルのエッジ点数nで割ることにより、最終的なスコア(類似度)として0から1の範囲に正規化することができる。上式(7)の画像内の位置(i,j)とは、図11に示す被探索画像Iからテンプレート画像Iに対応する大きさの画像を抽出した被探索画像I内の位置のことを表し、マッチング候補点を表す。全ての平行移動の範囲でこの類似度Rの計算を行う。類似度は0から1で表され、1が最も類似性が高いことを表し、0が最も低いことを表す。
式(7)では、コサイン値に係数αを乗算している。|θIk−θTk|≦90°のときはα=1であり、|θIk−θTk|>90°のときは|α|<1(好ましくはα=0)である。なお、式(7)は、ステップS30,S38を概念的に説明したものであり、第1実施形態では、CPU301がそのまま式(7)を演算する(αの値を場合分けで変更する)ものではないが、CPU301が式(7)をそのまま演算するものであってもよい。
以下、ステップS30における各局所スコアの演算方法について、具体的に説明する。なお、類似度の演算結果は式(7)と同じになる。
まず、CPU301は、テンプレート画像中の特徴画像における各エッジ点に、1からnの通し番号を付与しておき、通し番号1のものから局所スコアを計算すべく、変数kを1に設定する(S31)。
次に、CPU301は、特徴画像のエッジ点と、被探索画像における特徴画像のエッジ点に対応する位置の点との仮の局所スコア(仮の局所類似度)fを計算する(S32)。
ここで、特徴画像の通し番号kのエッジ点(画素)におけるエッジ方向をθTkとする。また、被探索画像中、特徴画像のエッジ点に対応する位置、つまり抽出画像中、通し番号kのエッジ点と同じ座標位置の点(画素)のエッジ方向をθIkとする。仮の局所スコアは、エッジ方向θTkとエッジ方向θIkとのなす角の角度|θIk−θTk|の余弦を計算することにより求める。即ち、CPU301は、ステップS32において、以下の式(8)を用いて、仮の局所スコアfを計算する。
Figure 2016018422
ここで、仮の局所スコアと称しているのは、後の判断処理で、そのまま局所スコアに本決めするか、あるいは仮の局所スコアを補正して局所スコアに本決めするためであり、暫定的な局所スコア(局所類似度)という意味合いで用いている。
次に、CPU301は、仮の局所スコアfが予め設定された所定値(第1実施形態では、0)を下回るか否かを判断する(S33)。fが0を下回る場合とは、エッジ方向θTkとエッジ方向θIkとのなす角の角度が90°を上回る場合である。即ち、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等により、エッジ方向が部分的に変化している場合がある。ステップS33では、被探索画像中、テンプレート画像のエッジ点に対応する点において、エッジ方向が部分的に変化しているかどうかを判断していることになる。
CPU301は、仮の局所スコアfが所定値(0)を下回ると判断した場合(S33:Yes)は、仮の局所スコアfを絶対値が小さくなるように変更して局所スコアとする(S34)。
CPU301は、仮の局所スコアfが所定値以上(0以上)であると判断した場合(S33:No)は、仮の局所スコアfを局所スコアに本決めする(S35)。つまり、エッジ方向が部分的に変化していないため、そのままのスコア値に本決めする。
エッジ方向が局所的に変化している場合、特にエッジ方向が反転している場合には、その箇所の局所スコアが極端に低く、負の値となることがある。仮に、局所スコアとしてそのままの値を用いると、最終的に求めるスコア値が極端に低くなることがある。
そこで、第1実施形態では、ステップS34において、仮の局所スコアfを絶対値が小さくなるように変更して局所スコアとする。具体的には、仮の局所スコアfに係数αを乗算して、局所スコアの絶対値を小さくする(つまり、局所スコアを0に近づける)補正を行う。但し|α|<0、つまりαは絶対値が1よりも低い係数である。
これにより、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響を小さくすることができる。
特に、局所スコアを0に近づけるためには、係数αを、−0.1以上0.1以下に設定するのが好ましく、更に、係数αを0とすれば、局所スコアを0とすることができる。すなわち、係数αを、−0.1以上0.1以下に設定すれば、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響をより小さくすることができる。特に係数αを0にすれば、局所スコアが0になるので、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響をより効果的に小さくすることができる。
このように、ステップS38にて最終的に求まるスコア値が小さくなりすぎるのを防止できるので、パターンマッチング処理が失敗するのを防止することができる。特に、係数αを、−0.1以上0.1以下に設定すればより効果的にパターンマッチング処理が失敗するのを防止でき、係数αを0とすれば、更に効果的にパターンマッチング処理が失敗するのを防止できる。
また、仮の局所スコアが負の値である場合に、正負の符号を変えて、局所スコアに設定することも考えられる。しかしこの場合、最終的に求まるスコア値が高くなりすぎ、結果、マッチング候補点が多数算出されることとなり、以降のピラミッド探索で、多数あるマッチング候補点各々に対して類似度判定を行うことになるため、計算に要する処理時間もかかり効率的でない。
これに対し、第1実施形態では、仮の局所スコアが所定値(0)を下回る場合には、大きさが小さくなるように、仮の局所スコアに係数α(|α|<1)が乗算されるので、最終的に求まるスコア値が高すぎることはない。よって、マッチング候補点の点数が過剰に増加するのを抑制することができるので、計算コストが低減され、処理時間が短縮化され、パターンマッチング処理が高速化する。
特にα=0の場合、被探索物(対象物)がゴミや汚れの付着、照明の変化、個体差による表面状態の違い等によりエッジ方向が部分的に反転している場合は、その反転部分のスコア値への加算を0とする。そして、反転していない部分のみでスコア値を加算していき、最終的なスコア値が算出される。これにより、被探索物のエッジのエッジ方向が部分的に反転していても、スコア値の低下を最小限に抑えることができる。例えば、被探索画像中、全エッジの20%のエッジ方向が反転していた場合でも、残りの80%のエッジによりスコア値を0.8程度まで出すことができる。また、エッジ方向が反転していない部分のエッジのみでスコア値の加算を行っているため、対象物以外の探索位置でスコア値が大きくなることが少なくなる。これにより、ピラミッド探索の最初や途中の段階で、過剰に多くのマッチング候補点が取れることがないため、ピラミッド探索時の計算コストが大きくなりにくく、処理速度の低下を防ぐことができる。
なお、ステップS34では、局所スコアをα×fを計算することにより求めているが、このような演算を行わずに、局所スコアを0に設定してもよい。この場合、α=0とする場合と同じ効果を奏するほか、α×fの演算を行わなくて済むので、計算コストが更に低減され、処理時間が更に短縮化され、パターンマッチング処理が更に高速化する。また、ステップS33では、予め設定される所定値が0である場合について説明したが、0以外の数値であってもよい。
[第2実施形態]
次に、本発明の第2実施形態に係る画像処理装置が行う画像処理方法について説明する。図13は、本発明の第2実施形態に係る画像処理装置が実行する画像処理方法におけるスコア計算処理(類似度計算処理)を示すフローチャートである。以下、第2実施形態において、上記第1実施形態と同様の構成及び処理については、説明を省略する。
即ち、第2実施形態における画像処理装置の構成は、上記第1実施形態における画像処理装置300と同じである。また、第2実施形態における画像処理装置の画像処理は、スコア計算処理(図12)以外の処理(図3、図8、図9、図10に示す処理)については、上記第1実施形態と同様である。第2実施形態では、CPU301の処理(プログラム321)、特にスコア計算処理(類似度計算処理)、具体的には、仮の局所スコア(仮の局所類似度)の計算方法が上記第1実施形態と異なる。
CPU301は、まず、テンプレート画像中の特徴画像のエッジ点と、被探索画像におけるテンプレート画像の特徴画像の点に対応する位置の点との局所スコア(局所類似度)を、特徴画像の全ての点についてそれぞれ計算する(S40:局所類似度計算工程)。つまり、テンプレート画像中の特徴画像の画素と、被探索画像から抽出した抽出画像の画素とを、座標が同じ点同士で、局所スコア(局所類似度)を計算する。
そして、CPU301は、ステップS40にて計算した各局所スコアを合計して正規化することによりスコア(類似度)を計算する(S48:類似度計算工程)。例えば、テンプレート画像中の特徴画像のエッジ点数(画素数)をn個とした場合、局所スコアの合計をnで除算することにより正規化する。
以下、ステップS40,S48の動作を概念的に説明する。パターンマッチングで類似度を求める計算式を下記の式(9)を用いる。
Figure 2016018422
テンプレート画像における特徴画像の1点と被探索画像中の1点のx軸方向のエッジ強度、y軸方向のエッジ強度、エッジ強度の大きさを使用して、局所スコアを算出することもできる。この処理を、特徴画像中の全てのエッジ点で行うことにより、全エッジ点の局所スコアの総和を算出することができる。この局所スコアの総和をモデルのエッジ点数nで割ることにより、最終的なスコア(類似度)として0から1の範囲に正規化することができる。
特徴画像中、番号kのエッジ点におけるエッジ強度のベクトル(ExTk,EyTk)と、被探索画像中、番号kのエッジ点に対応する位置の点におけるエッジ強度のベクトル(ExIk,EyIk)との内積はExIk・ExTk+EyIk・EyTkとなる。各ベクトルの大きさは、EIk,ETkである。
式(9)では、内積を、各ベクトルの大きさの積で除算した結果に係数αを乗算している。ExIk・ExTk+EyIk・EyTk≧0のときはα=1であり、ExIk・ExTk+EyIk・EyTk<0のときは|α|<1(好ましくはα=0)である。なお、式(9)は、ステップS40,S48を概念的に説明したものであり、第2実施形態では、CPU301がそのまま式(9)を演算する(αの値を場合分けで変更する)ものではないが、CPU301が式(9)をそのまま演算するものであってもよい。
以下、ステップS40における各局所スコアの演算方法について、具体的に説明する。なお、類似度の演算結果は式(9)と同じになる。
まず、CPU301は、テンプレート画像中の特徴画像における各エッジ点に、1からnの通し番号を付与しておき、通し番号1のものから局所スコアを計算すべく、変数kを1に設定する(S41)。このステップS41の処理は、第1実施形態で説明したステップS31(図12)の処理と同じである。
次に、CPU301は、テンプレート画像中の特徴画像のエッジ点と、被探索画像における特徴画像のエッジ点に対応する位置の点との仮の局所スコア(仮の局所類似度)fを計算する(S42)。
第2実施形態では、この仮の局所スコアの計算が、上記第1実施形態と異なる。ここで、特徴画像の通し番号kのエッジ点(画素)におけるエッジ強度のベクトル(第1ベクトル)を(ExTk,EyTk)とする。また、被探索画像中、特徴画像のエッジ点に対応する位置、つまり抽出画像中、通し番号kのエッジ点と同じ座標位置の点(画素)のエッジ強度のベクトル(第2ベクトル)を(ExIk,EyIk)とする。第1ベクトルの大きさをETk、第2ベクトルの大きさをEIkとする。
仮の局所スコアは、第1ベクトル(ExTk,EyTk)と第2ベクトル(ExIk,EyIk)との内積を、第1ベクトルの大きさETkと第2ベクトルの大きさEIkとを乗算した乗算値で除算することで求める。
即ち、CPU301は、ステップS42において、以下の式(10)を用いて、仮の局所スコアfを計算する。
Figure 2016018422
なお、ステップS43〜S47の処理は、上記第1実施形態のステップS33〜S37(図12)と同様の処理を行うため、説明を省略する。
以上、第2実施形態では、ステップS44において、仮の局所スコアfを絶対値が小さくなるように変更して局所スコアとする。具体的には、仮の局所スコアfに係数αを乗算して、局所スコアの絶対値を小さくする(つまり、局所スコアを0に近づける)補正を行う。但し|α|<0、つまりαは絶対値が1よりも低い係数である。
特に、局所スコアを0に近づけるためには、係数αを、−0.1以上0.1以下に設定するのが好ましく、更に、係数αを0とすれば、局所スコアを0とすることができる。すなわち、係数αを、−0.1以上0.1以下に設定すれば、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響を小さくすることができる。特に係数αを0にすれば、局所スコアが0になるので、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響をより効果的に小さくすることができる。
このように、ステップS48にて最終的に求まるスコア値が小さくなりすぎるのを防止できるので、パターンマッチング処理が失敗するのを防止することができる。特に、係数αを、−0.1以上0.1以下に設定すればより効果的にパターンマッチング処理が失敗するのを防止でき、係数αを0とすれば、更に効果的にパターンマッチング処理が失敗するのを防止できる。
また、第2実施形態では、仮の局所スコアが所定値(0)を下回る場合には、大きさが小さくなるように、仮の局所スコアに係数α(|α|<1)が乗算されるので、最終的に求まるスコア値が高すぎることはない。よって、マッチング候補点の点数が過剰に増加するのを抑制することができるので、計算コストが低減され、処理時間が短縮化され、パターンマッチング処理が高速化する。
なお、ステップS44では、局所スコアをα×fを計算することにより求めているが、このような演算を行わずに、局所スコアを0に設定してもよい。この場合、α=0とする場合と同じ効果を奏するほか、α×fの演算を行わなくて済むので、計算コストが更に低減され、処理時間が更に短縮化され、パターンマッチング処理が更に高速化する。
[第3実施形態]
次に、本発明の第3実施形態に係る画像処理装置が行う画像処理方法について説明する。図14は、本発明の第3実施形態に係る画像処理装置が実行する画像処理方法におけるスコア計算処理(類似度計算処理)を示すフローチャートである。以下、第3実施形態において、上記第1実施形態と同様の構成及び処理については、説明を省略する。
即ち、第3実施形態における画像処理装置の構成は、上記第1実施形態における画像処理装置300と同じである。また、第3実施形態における画像処理装置の画像処理(プログラム321)は、図12に示すスコア計算処理以外の処理(図3、図8、図9、図10に示す処理)については、上記第1実施形態と同様である。
具体的には、上記第1実施形態では、仮の局所スコア(仮の局所類似度)で閾値判断する場合について説明したが、第3実施形態では、局所スコア(局所類似度)を計算する過程のパラメータで閾値判断する場合について説明する。
CPU301は、まず、特徴画像のエッジ点と、被探索画像におけるテンプレート画像の特徴画像の点に対応する位置の点との局所スコア(局所類似度)を、特徴画像の全ての点についてそれぞれ計算する(S50:局所類似度計算工程)。つまり、テンプレート画像中の特徴画像の画素と、被探索画像から抽出した抽出画像の画素とを、座標が同じ点同士で、局所スコア(局所類似度)を計算する。
そして、CPU301は、ステップS50にて計算した各局所スコアを合計して正規化することによりスコア(類似度)を計算する(S58:類似度計算工程)。例えば、テンプレート画像中の特徴画像のエッジ点数(画素数)をn個とした場合、局所スコアの合計をnで除算することにより正規化する。
以下、ステップS50における各局所スコアの演算方法について、具体的に説明する。
まず、CPU301は、テンプレート画像中の特徴画像における各エッジ点に、1からnの通し番号を付与しておき、通し番号1のものから局所スコアを計算すべく、変数kを1に設定する(S51)。このステップS51の処理は、第1実施形態で説明したステップS31(図12)の処理と同じである。
次に、CPU301は、テンプレート画像中の特徴画像の番号kのエッジ点におけるエッジ方向θTkと、被探索画像中、特徴画像の番号kのエッジ点に対応する位置の点におけるエッジ方向θIkとのなす角の角度を計算する(S52)。具体的には、CPU301は、|θIk−θTk|を計算する。
次に、CPU301は、角度|θIk−θTk|が、予め設定された所定角度(第3実施形態では90°)を上回るか否かを判断する(S53)。
CPU301は、角度|θIk−θTk|が所定角度を上回る(90°を上回る)と判断した場合は(S53:Yes)、角度|θIk−θTk|の余弦(コサイン値)よりも絶対値が小さい値を局所スコア(局所類似度)にする。具体的には、CPU301は、局所スコアを0に設定する。
また、CPU301は、角度|θIk−θTk|が所定角度以下(90°以下)の場合は、角度|θIk−θTk|の余弦を求めることで局所スコアを計算する(S55)。具体的には、CPU301は、局所スコアをcos|θIk−θTk|に設定する。
なお、ステップS56,S57の処理は、上記第1実施形態のステップS36,S37(図12)と同様の処理を行うため、説明を省略する。
以上、第3実施形態では、ステップS54において、角度|θIk−θTk|の余弦よりも絶対値が小さい値を局所スコアとする。よって、ステップS58にて最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響を小さくすることができる。特に、ステップS54では、局所スコアを0にするので、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響をより効果的に小さくすることができる。
このように、ステップS58にて最終的に求まるスコア値が小さくなりすぎるのを防止できるので、パターンマッチング処理が失敗するのを防止することができる。
また、第3実施形態では、局所スコアを演算する途中でパラメータθIK,θTKを用いて閾値判断しているので、仮の局所スコアを計算するよりも計算コストが第1実施形態よりも軽減される。特に、ステップS54では、余弦(コサイン)の計算をしなくて済むので、計算コストが第1実施形態よりも軽減される。
よって、第3実施形態では、上記第1実施形態よりも更に計算コストが低減されるので、処理時間が更に短縮化され、パターンマッチング処理が更に高速化する。
なお、所定角度が90°に設定されている場合について説明したが、90°以外の値に設定してもよい。
[第4実施形態]
次に、本発明の第4実施形態に係る画像処理装置が行う画像処理方法について説明する。図15は、本発明の第4実施形態に係る画像処理装置が実行する画像処理方法におけるスコア計算処理(類似度計算処理)を示すフローチャートである。以下、第4実施形態において、上記第1,第3実施形態と同様の構成及び処理については、説明を省略する。
即ち、第4実施形態における画像処理装置の構成は、上記第1実施形態における画像処理装置300と同じである。また、第4実施形態における画像処理装置の画像処理(プログラム321)は、図12に示すスコア計算処理以外の処理(図3、図8、図9、図10に示す処理)については、上記第1実施形態と同様である。
そして、第4実施形態のスコア計算処理では、上記第3実施形態におけるスコア計算処理の一部を変更したものである。即ち、上記第3実施形態では、ステップS54(図14)にて、局所スコアを0としていたが、第4実施形態では、局所スコアを計算する。
CPU301は、まず、特徴画像のエッジ点と、被探索画像におけるテンプレート画像の特徴画像の点に対応する位置の点との局所スコア(局所類似度)を、特徴画像の全ての点についてそれぞれ計算する(S60:局所類似度計算工程)。つまり、テンプレート画像中の特徴画像の画素と、被探索画像から抽出した抽出画像の画素とを、座標が同じ点同士で、局所スコア(局所類似度)を計算する。
そして、CPU301は、ステップS60にて計算した各局所スコアを合計して正規化することによりスコア(類似度)を計算する(S68:類似度計算工程)。例えば、テンプレート画像中の特徴画像のエッジ点数(画素数)をn個とした場合、局所スコアの合計をnで除算することにより正規化する。
以下、ステップS60における各局所スコアの演算方法について、具体的に説明する。なお、ステップS61〜S63,S65〜S67は、上記第3実施形態のステップS51〜S53,S55〜S57と同様であるため、説明を省略する。
第4実施形態では、CPU301は、角度|θIk−θTk|が所定角度(90°)を上回る場合(S63:Yes)は、角度|θIk−θTk|の余弦に対して絶対値が1よりも低い係数αを乗算することで局所スコアを計算する(S64)。具体的には、CPU301は、局所スコアとして、α×cos|θIk−θTk|を計算する。
これにより、ステップS68にて最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響を小さくすることができる。
特に、局所スコアを0に近づけるためには、係数αを、−0.1以上0.1以下に設定するのが好ましく、更に、係数αを0とすれば、局所スコアを0とすることができる。すなわち、係数αを、−0.1以上0.1以下に設定すれば、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響をより小さくすることができる。特に係数αを0にすれば、局所スコアが0になるので、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響をより効果的に小さくすることができる。
このように、ステップS68にて最終的に求まるスコア値が小さくなりすぎるのを防止できるので、パターンマッチング処理が失敗するのを防止することができる。特に、係数αを、−0.1以上0.1以下に設定すればより効果的にパターンマッチング処理が失敗するのを防止でき、係数αを0とすれば、更に効果的にパターンマッチング処理が失敗するのを防止できる。
また、第4実施形態では、角度が所定角度(90°)を上回る場合には、コサイン値に係数α(|α|<1)が乗算されるので、最終的に求まるスコア値が高すぎることはない。よって、マッチング候補点の点数が過剰に増加するのを抑制することができるので、計算コストが低減され、処理時間が短縮化され、パターンマッチング処理が高速化する。
[第5実施形態]
次に、本発明の第5実施形態に係る画像処理装置が行う画像処理方法について説明する。図16は、本発明の第5実施形態に係る画像処理装置が実行する画像処理方法におけるスコア計算処理(類似度計算処理)を示すフローチャートである。以下、第5実施形態において、上記第1,第2実施形態と同様の構成及び処理については、説明を省略する。
即ち、第5実施形態における画像処理装置の構成は、上記第1,2実施形態における画像処理装置300と同じである。また、第5実施形態における画像処理装置の画像処理(プログラム321)は、図12に示すスコア計算処理以外の処理(図3、図8、図9、図10に示す処理)については、上記第1,2実施形態と同様である。
具体的には、上記第2実施形態では、仮の局所スコア(仮の局所類似度)で閾値判断する場合について説明したが、第5実施形態では、局所スコア(局所類似度)を計算する過程のパラメータで閾値判断する場合について説明する。
CPU301は、まず、特徴画像のエッジ点と、被探索画像におけるテンプレート画像の特徴画像の点に対応する位置の点との局所スコア(局所類似度)を、特徴画像の全ての点についてそれぞれ計算する(S70:局所類似度計算工程)。つまり、テンプレート画像中の特徴画像の画素と、被探索画像から抽出した抽出画像の画素とを、座標が同じ点同士で、局所スコア(局所類似度)を計算する。
そして、CPU301は、ステップS70にて計算した各局所スコアを合計して正規化することによりスコア(類似度)を計算する(S78:類似度計算工程)。例えば、テンプレート画像中の特徴画像のエッジ点数(画素数)をn個とした場合、局所スコアの合計をnで除算することにより正規化する。
以下、ステップS70における各局所スコアの演算方法について、具体的に説明する。
まず、CPU301は、テンプレート画像中の特徴画像における各エッジ点に、1からnの通し番号を付与しておき、通し番号1のものから局所スコアを計算すべく、変数kを1に設定する(S71)。このステップS71の処理は、第1実施形態で説明したステップS31(図12)の処理と同じである。
ここで、特徴画像の通し番号kのエッジ点(画素)におけるエッジ強度のベクトル(第1ベクトル)を(ExTk,EyTk)とする。また、被探索画像中、特徴画像のエッジ点に対応する位置、つまり抽出画像中、通し番号kのエッジ点と同じ座標位置の点(画素)のエッジ強度のベクトル(第2ベクトル)を(ExIk,EyIk)とする。第1ベクトルの大きさをETk、第2ベクトルの大きさをEIkとする。
CPU301は、第1ベクトル(ExTk,EyTk)と第2ベクトル(ExIk,EyIk)との内積を計算する(S72)。具体的には、CPU301は、ExIk・ExTk+EyIk・EyTkを計算する。
次に、CPU301は、内積ExIk・ExTk+EyIk・EyTkが、予め設定した設定値(0)を下回るか否かを判断する(S73)。
CPU301は、内積が設定値(0)を下回ると判断した場合は(S73:Yes)、第1ベクトルの大きさETkと第2ベクトルの大きさEIkとを乗算した乗算値で内積を除算した値よりも絶対値が小さい値を、局所スコアにする(S74)。具体的には、CPU301は、局所スコアを0に設定する。
また、CPU301は、内積が設定値以上(0以上)の場合(S73:No)は、第1ベクトルの大きさETkと第2ベクトルの大きさEIkとを乗算した乗算値で内積を除算することで局所スコアを計算する(S75)。具体的には、CPU301は、局所スコアを(ExIk・ExTk+EyIk・EyTk)/(EIk・ETk)に設定する。
なお、ステップS76,S77の処理は、上記第1実施形態のステップS36,S37(図12)、上記第2実施形態のステップS46,S47と同様の処理を行うため、説明を省略する。
以上、第5実施形態では、ステップS74において、(ExIk・ExTk+EyIk・EyTk)/(EIk・ETk)よりも絶対値が小さい値を局所スコアとする。よって、ステップS78にて最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響を小さくすることができる。特に、ステップS74では、局所スコアを0にするので、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響をより効果的に小さくすることができる。
このように、ステップS78にて最終的に求まるスコア値が小さくなりすぎるのを防止できるので、パターンマッチング処理が失敗するのを防止することができる。
また、第5実施形態では、局所スコアを演算する途中でパラメータExTk,EyTk,ExIk,EyIkを用いて閾値判断しているので、仮の局所スコアを計算するよりも計算コストが第2実施形態よりも軽減する。特に、ステップS74では、計算をしなくて済むので、計算コストが第2実施形態よりも軽減する。
よって、第5実施形態では、上記第2実施形態よりも更に計算コストが低減されるので、処理時間が更に短縮化され、パターンマッチング処理が更に高速化する。
なお、設定値が0に設定されている場合について説明したが、0以外の数値に設定されていてもよい。
[第6実施形態]
次に、本発明の第6実施形態に係る画像処理装置が行う画像処理方法について説明する。図17は、本発明の第6実施形態に係る画像処理装置が実行する画像処理方法におけるスコア計算処理(類似度計算処理)を示すフローチャートである。以下、第6実施形態において、上記第1,第2,第5実施形態と同様の構成及び処理については、説明を省略する。
即ち、第6実施形態における画像処理装置の構成は、上記第1実施形態における画像処理装置300と同じである。また、第6実施形態における画像処理装置の画像処理(プログラム321)は、図12に示すスコア計算処理以外の処理(図3、図8、図9、図10に示す処理)については、上記第1実施形態と同様である。
そして、第6実施形態のスコア計算処理では、上記第5実施形態におけるスコア計算処理の一部を変更したものである。即ち、上記第5実施形態では、ステップS74(図14)にて、局所スコアを0としていたが、第6実施形態では、局所スコアを計算する。
CPU301は、まず、特徴画像のエッジ点と、被探索画像におけるテンプレート画像の特徴画像の点に対応する位置の点との局所スコア(局所類似度)を、特徴画像の全ての点についてそれぞれ計算する(S80:局所類似度計算工程)。つまり、テンプレート画像中の特徴画像の画素と、被探索画像から抽出した抽出画像の画素とを、座標が同じ点同士で、局所スコア(局所類似度)を計算する。
そして、CPU301は、ステップS80にて計算した各局所スコアを合計して正規化することによりスコア(類似度)を計算する(S88:類似度計算工程)。例えば、テンプレート画像中の特徴画像のエッジ点数(画素数)をn個とした場合、局所スコアの合計をnで除算することにより正規化する。
以下、ステップS80における各局所スコアの演算方法について、具体的に説明する。なお、ステップS81〜S83,S85〜87は、上記第5実施形態のステップS71〜S73,S75〜77と同様であるため、説明を省略する。
第6実施形態では、CPU301は、内積が設定値(0)を下回る場合は(S83:Yes)、ETkとEIkとを乗算した乗算値で内積を除算し、更に、絶対値が1よりも小さい係数αを乗算することで局所スコア(局所類似度)を計算する(S84)。具体的には、CPU301は、局所スコアとして、(ExIk・ExTk+EyIk・EyTk)/(EIk・ETk)×αを計算する。
これにより、ステップS88にて最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響を小さくすることができる。
特に、局所スコアを0に近づけるためには、係数αを、−0.1以上0.1以下に設定するのが好ましく、更に、係数αを0とすれば、局所スコアを0とすることができる。すなわち、係数αを、−0.1以上0.1以下に設定すれば、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響をより小さくすることができる。特に係数αを0にすれば、局所スコアが0になるので、最終的に求まるスコア値において、ゴミや汚れの付着、照明の変化、個体差による表面状態の違い等による影響をより効果的に小さくすることができる。
このように、ステップS88にて最終的に求まるスコア値が小さくなりすぎるのを防止できるので、パターンマッチング処理が失敗するのを防止することができる。特に、係数αを、−0.1以上0.1以下に設定すればより効果的にパターンマッチング処理が失敗するのを防止でき、係数αを0とすれば、更に効果的にパターンマッチング処理が失敗するのを防止できる。
また、第6実施形態では、内積が設定値(0)を下回る場合には、内積を乗算値EIk・ETkで除算した結果に係数α(|α|<1)が乗算されるので、最終的に求まるスコア値が高すぎることはない。よって、マッチング候補点の点数が過剰に増加するのを抑制することができるので、計算コストが低減され、処理時間が短縮化され、パターンマッチング処理が高速化する。
[第7実施形態]
次に、本発明の第7実施形態に係る画像処理装置が行う画像処理方法について説明する。図18は、本発明の第7実施形態に係る画像処理装置が実行する画像処理方法における第1ピラミッド(形状モデル)の作成方法を示すフローチャートである。図19は、本発明の第7実施形態に係る画像処理装置が実行する画像処理方法における探索処理を示すフローチャートである。以下、第7実施形態において、上記第1〜第6実施形態と同様の構成及び処理については、説明を省略する。
第7実施形態における画像処理装置の構成は、上記第1実施形態における画像処理装置300と同じである。第7実施形態では、上記第1実施形態で説明した第1及び第2ピラミッドの作成方法が異なるものであり、以下、上記第1実施形態と異なる点について説明する。
図18に示すステップS91,S92の処理、即ち参照画像からモデル画像を設定する方法は、図3に示すステップS1,S2と同様である。
次に、CPU301は、ステップS92で設定したモデル画像を作業者が指定したピラミッド段数分画像縮小していく(S93,S94)。
画像縮小方法は、図6に示すようにモデル画像の左上端から2×2画素の領域を、縮小画像の1画素とすることにより縮小していく。具体的には、縮小対象となる画像の2×2画素の4画素の輝度値の平均値を縮小画像の1画素の輝度値としていく。CPU301は、この平均化処理を縮小対象画像に対して全画素に行うことにより、画像の幅、高さが2分の1となる縮小画像を形成する(S93)。
この画像縮小処理を図7に示すように繰り返していくことにより、モデル画像の縮小画像を生成する。作業者がピラミッド段数を4段で指定していれば、1枚の縮小する前の画像と3枚の段階的な縮小画像が作成される。
次に、CPU301は、ステップS93,S94で作成した全てのモデル画像に対して、エッジ抽出処理を行う(S95,96)。エッジ抽出方法は、上記第1実施形態と同様である。これにより、段階的に縮小された特徴画像が生成される。ステップS91〜S96で作成した縮小特徴画像を含めた全ての特徴画像を第1ピラミッド(形状モデル)とする。
即ち、CPU301は、参照物を撮像して得られた撮像画像と、この撮像画像に対して縮小処理を施して得られた縮小画像とで、解像度の異なる複数の画像を作成する。次いで、CPU301は、解像度の異なる複数の画像に対してエッジ抽出処理を施して第1ピラミッドを構成する複数のテンプレート画像を生成する。
次に上記作成した第1ピラミッド(形状モデル)を使用し、実際に物体の検出行う探索処理のフローについて、図19に示すフローチャートを用いて説明する。
図19に示すステップS101,S102の処理、即ち形状モデル入力し、対象物を撮像する処理は、図8に示すステップS6,S7と同様である。
次に、CPU301は、入力された撮像画像の画像縮小をピラミッド段数分行っていく(S103,S104)。画像の縮小方法は、図18のステップS93,S94と同様である。この撮像画像の縮小により、段階的に縮小された複数の画像が生成される。
次に、CPU301は、ステップS103,S104で生成した全ての画像に対して、エッジ抽出処理を行う(S105,S106)。エッジ抽出方法は、上記第1実施形態と同様である。これにより、段階的に縮小された複数の被探索画像が生成される。
即ち、CPU301は、対象物を撮像して得られた撮像画像と、この撮像画像に対して縮小処理を施して得られた縮小画像とで、解像度の異なる複数の画像を作成する。次にCPU301は、作成した解像度の異なる複数の画像に対してエッジ抽出処理を施して、第2ピラミッドを構成する複数の被探索画像を生成する。
CPU301は、モデル作成工程で作成した第1ピラミッドを構成するテンプレート画像の特徴画像と、ステップS105,S106で作成した被探索画像とでパターンマッチングを行う(S107)。パターンマッチングの方法は、上記第1実施形態で説明した、図9及び図10と同様である。なお、図9及び図10におけるステップS13,S19のスコア計算は、図12〜図17のうちいずれかの方法で行えばよい。
第7実施形態においても、上記第1〜第6実施形態と同様の作用効果を奏する。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。
上記実施形態の各処理動作は具体的にはCPU301により実行されるものである。従って上述した機能を実現するプログラムを記録した記録媒体を画像処理装置300に供給し、画像処理装置300を構成するコンピュータ(CPUやMPU)が記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。
また、上記実施形態では、コンピュータ読み取り可能な記録媒体がHDD304であり、HDD304にプログラム321が格納される場合について説明したが、これに限定するものではない。プログラムは、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラムを供給するための記録媒体としては、図2に示すROM302、記録ディスク322、外部記憶装置800等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、書き換え可能な不揮発性のメモリ(例えばUSBメモリ)、ROM等を用いることができる。
また、上記実施形態におけるプログラムを、ネットワークを介してダウンロードしてコンピュータにより実行するようにしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施形態の機能が実現されるだけに限定するものではない。そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施形態の機能が実現される場合も含まれる。
また、上記実施形態では、コンピュータがHDD等の記録媒体に記録されたプログラムを実行することにより、処理を行う場合について説明したが、これに限定するものではない。プログラムに基づいて動作する演算部の一部又は全部の機能をASICやFPGA等の専用LSIで構成してもよい。なお、ASICはApplication Specific Integrated Circuit、FPGAはField-Programmable Gate Arrayの頭字語である。
100…生産装置、200…ロボット、300…画像処理装置、321…プログラム、400…ロボット制御装置

Claims (28)

  1. 解像度の異なる複数のテンプレート画像を解像度順に階層化した第1ピラミッドと、前記第1ピラミッドにおけるテンプレート画像と同じ解像度であって、解像度の異なる複数の被探索画像を解像度順に階層化した第2ピラミッドとを用いて、画像処理装置が行う画像処理により、同解像度の階層において前記第1ピラミッドのテンプレート画像に含まれる特徴画像を前記第2ピラミッドの被探索画像の中から、類似度の判定により探索する処理を解像度の低い順から行う画像処理方法において、
    前記特徴画像の点と、前記被探索画像における前記特徴画像の点に対応する位置の点との局所類似度を、前記特徴画像の全ての点についてそれぞれ計算する局所類似度計算工程と、
    前記局所類似度計算工程にて計算した前記各局所類似度を合計して正規化することにより前記類似度を計算する類似度計算工程と、を備え、
    前記局所類似度計算工程では、
    前記特徴画像の点と、前記被探索画像における前記特徴画像の点に対応する位置の点との仮の局所類似度を計算し、前記仮の局所類似度が所定値を下回るか否かを判断し、前記仮の局所類似度が前記所定値以上であると判断した場合は、前記仮の局所類似度を前記局所類似度とし、前記仮の局所類似度が前記所定値を下回ると判断した場合は、前記仮の局所類似度を絶対値が小さくなるように変更して前記局所類似度とすることを特徴とする画像処理方法。
  2. 前記局所類似度計算工程では、前記仮の局所類似度が前記所定値を下回ると判断した場合は、前記仮の局所類似度に、絶対値が1よりも低い係数を乗算することを特徴とする請求項1に記載の画像処理方法。
  3. 前記係数が、−0.1以上0.1以下であることを特徴とする請求項2に記載の画像処理方法。
  4. 前記係数が0であることを特徴とする請求項2又は3に記載の画像処理方法。
  5. 前記所定値が0であることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理方法。
  6. 前記特徴画像がエッジ抽出処理により抽出されたエッジ点の集合であり、
    前記被探索画像が前記エッジ抽出処理により抽出されたエッジ点の集合を含む画像であり、
    前記仮の局所類似度は、前記特徴画像のエッジ点におけるエッジ方向と、前記被探索画像中、前記特徴画像のエッジ点に対応する位置の点におけるエッジ方向とのなす角の角度の余弦を計算することにより求めることを特徴とする請求項1乃至5のいずれか1項に記載の画像処理方法。
  7. 前記特徴画像がエッジ抽出処理により抽出されたエッジ点の集合であり、
    前記被探索画像が前記エッジ抽出処理により抽出されたエッジ点の集合を含む画像であり、
    前記エッジ点におけるエッジ強度がベクトルで表され、
    前記仮の局所類似度は、前記特徴画像のエッジ点におけるエッジ強度の第1ベクトルと、前記被探索画像中、前記特徴画像のエッジ点に対応する位置の点におけるエッジ強度の第2ベクトルとの内積を前記第1ベクトルの大きさと前記第2ベクトルの大きさとを乗算した乗算値で除算することで求めることを特徴とする請求項1乃至5のいずれか1項に記載の画像処理方法。
  8. 解像度の異なる複数のテンプレート画像を解像度順に階層化した第1ピラミッドと、前記第1ピラミッドにおけるテンプレート画像と同じ解像度であって、解像度の異なる複数の被探索画像を解像度順に階層化した第2ピラミッドとを用いて、画像処理装置が行う画像処理により、同解像度の階層において前記第1ピラミッドのテンプレート画像に含まれる特徴画像を前記第2ピラミッドの被探索画像の中から、類似度の判定により探索する処理を解像度の低い順から行う画像処理方法において、
    前記特徴画像がエッジ抽出処理により抽出されたエッジ点の集合であり、
    前記被探索画像が前記エッジ抽出処理により抽出されたエッジ点の集合を含む画像であり、
    前記特徴画像の点と、前記被探索画像における前記特徴画像の点に対応する位置の点との局所類似度を、前記特徴画像の全ての点についてそれぞれ計算する局所類似度計算工程と、
    前記局所類似度計算工程にて計算した前記各局所類似度を合計して正規化することにより前記類似度を計算する類似度計算工程と、を備え、
    前記局所類似度計算工程では、
    前記特徴画像のエッジ点におけるエッジ方向と、前記被探索画像中、前記特徴画像のエッジ点に対応する位置の点におけるエッジ方向とのなす角の角度が所定角度以下の場合は、前記角度の余弦を求めることで前記局所類似度を計算し、前記角度が前記所定角度を上回る場合は、前記角度の余弦よりも絶対値が小さい値を前記局所類似度にすることを特徴とする画像処理方法。
  9. 前記所定角度が90°であることを特徴とする請求項8に記載の画像処理方法。
  10. 前記局所類似度計算工程では、前記角度が前記所定角度を上回る場合は、前記局所類似度を0にすることを特徴とする請求項8又は9に記載の画像処理方法。
  11. 前記局所類似度計算工程では、前記角度が前記所定角度を上回る場合は、前記角度の余弦に対して絶対値が1よりも低い係数を乗算することで前記局所類似度を計算することを特徴とする請求項8又は9に記載の画像処理方法。
  12. 前記係数が、−0.1以上0.1以下であることを特徴とする請求項11に記載の画像処理方法。
  13. 前記係数が0であることを特徴とする請求項11又は12に記載の画像処理方法。
  14. 解像度の異なる複数のテンプレート画像を解像度順に階層化した第1ピラミッドと、前記第1ピラミッドにおけるテンプレート画像と同じ解像度であって、解像度の異なる複数の被探索画像を解像度順に階層化した第2ピラミッドとを用いて、画像処理装置が行う画像処理により、同解像度の階層において前記第1ピラミッドのテンプレート画像に含まれる特徴画像を前記第2ピラミッドの被探索画像の中から、類似度の判定により探索する処理を解像度の低い順から行う画像処理方法において、
    前記特徴画像がエッジ抽出処理により抽出されたエッジ点の集合であり、
    前記被探索画像が前記エッジ抽出処理により抽出されたエッジ点の集合を含む画像であり、
    前記エッジ点におけるエッジ強度がベクトルで表され、
    前記特徴画像の点と、前記被探索画像における前記特徴画像の点に対応する位置の点との局所類似度を、前記特徴画像の全ての点についてそれぞれ計算する局所類似度計算工程と、
    前記局所類似度計算工程にて計算した前記各局所類似度を合計して正規化することにより前記類似度を計算する類似度計算工程と、を備え、
    前記局所類似度計算工程では、
    前記特徴画像のエッジ点におけるエッジ強度の第1ベクトルと、前記被探索画像中、前記特徴画像のエッジ点に対応する位置の点におけるエッジ強度の第2ベクトルとの内積を計算し、前記内積が設定値以上の場合は、前記第1ベクトルの大きさと前記第2ベクトルの大きさとを乗算した乗算値で前記内積を除算することで前記局所類似度を計算し、前記内積が前記設定値を下回る場合は、前記第1ベクトルの大きさと前記第2ベクトルの大きさとを乗算した乗算値で前記内積を除算した値よりも絶対値が小さい値を、前記局所類似度にすることを特徴とする画像処理方法。
  15. 前記設定値が0であることを特徴とする請求項14のいずれか1項に記載の画像処理方法。
  16. 前記局所類似度計算工程では、前記内積が前記設定値を下回る場合は、前記局所類似度を0にすることを特徴とする請求項14又は15に記載の画像処理方法。
  17. 前記局所類似度計算工程では、前記内積が前記設定値を下回る場合は、前記第1ベクトルの大きさと前記第2ベクトルの大きさとを乗算した乗算値で前記内積を除算し、更に、絶対値が1よりも小さい係数を乗算することで前記局所類似度を計算することを特徴とする請求項14又は15に記載の画像処理方法。
  18. 前記係数が、−0.1以上0.1以下であることを特徴とする請求項17に記載の画像処理方法。
  19. 前記係数が0であることを特徴とする請求項17又は18に記載の画像処理方法。
  20. 前記第1ピラミッドの前記複数のテンプレート画像は、参照物を撮像して得られた撮像画像に対してエッジ抽出処理を施して得られた画像と、該画像に対して縮小処理を施すことで得られた縮小画像と、で構成されていることを特徴とする請求項1乃至19のいずれか1項に記載の画像処理方法。
  21. 前記第1ピラミッドの前記複数のテンプレート画像は、参照物を撮像して得られた撮像画像と、該撮像画像に対して縮小処理を施して得られた縮小画像とで、解像度の異なる複数の画像を構成し、該複数の画像に対してエッジ抽出処理を施して生成されていることを特徴とする請求項1乃至19のいずれか1項に記載の画像処理方法。
  22. 前記第2ピラミッドの前記複数の被探索画像は、対象物を撮像して得られた撮像画像に対してエッジ抽出処理を施して得られた画像と、該画像に対して縮小処理を施すことで得られた縮小画像と、で構成されていることを特徴とする請求項1乃至21のいずれか1項に記載の画像処理方法。
  23. 前記第2ピラミッドの前記複数の被探索画像は、対象物を撮像して得られた撮像画像と、該撮像画像に対して縮小処理を施して得られた縮小画像とで、解像度の異なる複数の画像を構成し、該複数の画像に対してエッジ抽出処理を施して生成されていることを特徴とする請求項1乃至21のいずれか1項に記載の画像処理方法。
  24. 請求項1乃至23のいずれか1項に記載の画像処理方法の各工程を実行する画像処理装置。
  25. コンピュータに、請求項1乃至23のいずれか1項に記載の画像処理方法の各工程を実行させるためのプログラム。
  26. 請求項25に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  27. ロボットと、請求項24に記載の画像処理装置と、前記画像処理装置による画像処理の結果に基づき、前記ロボットを制御するロボット制御装置と、を備えた生産装置。
  28. 対象物を撮像する撮像工程と、
    請求項1乃至23のいずれか1項に記載の画像処理方法により認識された対象物を、被組み付け部材に組付ける組付け工程と、を備えた組立部品の製造方法。
JP2014141277A 2014-07-09 2014-07-09 画像処理方法、画像処理装置、プログラム、記録媒体、生産装置、及び組立部品の製造方法 Active JP6406900B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014141277A JP6406900B2 (ja) 2014-07-09 2014-07-09 画像処理方法、画像処理装置、プログラム、記録媒体、生産装置、及び組立部品の製造方法
US14/793,431 US9805443B2 (en) 2014-07-09 2015-07-07 Image processing method, image processing apparatus, program, storage medium, production apparatus, and method of producing assembly

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014141277A JP6406900B2 (ja) 2014-07-09 2014-07-09 画像処理方法、画像処理装置、プログラム、記録媒体、生産装置、及び組立部品の製造方法

Publications (2)

Publication Number Publication Date
JP2016018422A true JP2016018422A (ja) 2016-02-01
JP6406900B2 JP6406900B2 (ja) 2018-10-17

Family

ID=55067956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014141277A Active JP6406900B2 (ja) 2014-07-09 2014-07-09 画像処理方法、画像処理装置、プログラム、記録媒体、生産装置、及び組立部品の製造方法

Country Status (2)

Country Link
US (1) US9805443B2 (ja)
JP (1) JP6406900B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110378247A (zh) * 2019-06-26 2019-10-25 腾讯科技(深圳)有限公司 虚拟对象识别方法和装置、存储介质及电子装置
WO2022190435A1 (ja) * 2021-03-12 2022-09-15 オムロン株式会社 命令記述支援システム、命令記述支援方法および命令記述支援プログラム
WO2022190434A1 (ja) * 2021-03-12 2022-09-15 オムロン株式会社 命令記述支援システム、命令記述支援方法および命令記述支援プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018069861A1 (en) 2016-10-12 2018-04-19 Tata Consultancy Services Limited System and method for object recognition based estimation of planogram compliance
US20180350026A1 (en) * 2017-05-30 2018-12-06 Qualcomm Incorporated Memory footprint and power efficient multi-pass image processing architecture
CN110181503B (zh) * 2018-02-22 2021-09-10 北京猎户星空科技有限公司 异常检测方法、装置、智能设备和存储介质
US11200632B2 (en) * 2018-11-09 2021-12-14 Canon Kabushiki Kaisha Image processing method and image processing apparatus
CN109801279B (zh) * 2019-01-21 2021-02-02 京东方科技集团股份有限公司 图像中的目标检测方法及装置、电子设备、存储介质
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
CN114398978B (zh) * 2022-01-13 2022-10-11 深圳市腾盛精密装备股份有限公司 一种模板匹配方法、装置、存储介质以及电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002056394A (ja) * 2000-08-09 2002-02-20 Matsushita Electric Ind Co Ltd 眼位置検出方法および眼位置検出装置
JP2002304627A (ja) * 2001-02-01 2002-10-18 Matsushita Electric Ind Co Ltd 画像処理方法及びその装置
JP2003089086A (ja) * 2001-09-14 2003-03-25 Yaskawa Electric Corp ロボット制御装置
JP2004362186A (ja) * 2003-06-04 2004-12-24 Juki Corp テンプレートマッチング方法及び装置
JP2009211178A (ja) * 2008-02-29 2009-09-17 Canon Inc 画像処理装置、画像処理方法、プログラム及び記憶媒体
JP2011134114A (ja) * 2009-12-24 2011-07-07 Canon Inc パターン認識方法およびパターン認識装置
JP2012221061A (ja) * 2011-04-05 2012-11-12 Canon Inc 画像認識装置、画像認識方法、及びプログラム
JP2013084130A (ja) * 2011-10-11 2013-05-09 Fujitsu Ltd 画像認識システムおよび画像認識方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7027644B1 (en) * 1999-02-01 2006-04-11 Lg Electronics Inc. Multilevel image grid data structure and image search method using the same
US7062093B2 (en) 2000-09-27 2006-06-13 Mvtech Software Gmbh System and method for object recognition
DE602005012673D1 (de) * 2005-02-21 2009-03-26 Mitsubishi Electric Corp Schnelles Verfahren zum Detektieren von Objekten durch statistischen Mustervergleich
JP5271031B2 (ja) * 2008-08-09 2013-08-21 株式会社キーエンス 画像のデータ圧縮方法、画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体
CN102473307B (zh) * 2010-03-15 2015-05-27 松下电器产业株式会社 用于轨迹估计的方法和装置以及用于分割的方法
JP5773736B2 (ja) * 2011-05-10 2015-09-02 アズビル株式会社 照合装置
US9053365B2 (en) * 2013-09-16 2015-06-09 EyeVerify, Inc. Template update for biometric authentication

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002056394A (ja) * 2000-08-09 2002-02-20 Matsushita Electric Ind Co Ltd 眼位置検出方法および眼位置検出装置
JP2002304627A (ja) * 2001-02-01 2002-10-18 Matsushita Electric Ind Co Ltd 画像処理方法及びその装置
JP2003089086A (ja) * 2001-09-14 2003-03-25 Yaskawa Electric Corp ロボット制御装置
JP2004362186A (ja) * 2003-06-04 2004-12-24 Juki Corp テンプレートマッチング方法及び装置
JP2009211178A (ja) * 2008-02-29 2009-09-17 Canon Inc 画像処理装置、画像処理方法、プログラム及び記憶媒体
JP2011134114A (ja) * 2009-12-24 2011-07-07 Canon Inc パターン認識方法およびパターン認識装置
JP2012221061A (ja) * 2011-04-05 2012-11-12 Canon Inc 画像認識装置、画像認識方法、及びプログラム
JP2013084130A (ja) * 2011-10-11 2013-05-09 Fujitsu Ltd 画像認識システムおよび画像認識方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110378247A (zh) * 2019-06-26 2019-10-25 腾讯科技(深圳)有限公司 虚拟对象识别方法和装置、存储介质及电子装置
CN110378247B (zh) * 2019-06-26 2023-09-26 腾讯科技(深圳)有限公司 虚拟对象识别方法和装置、存储介质及电子装置
WO2022190435A1 (ja) * 2021-03-12 2022-09-15 オムロン株式会社 命令記述支援システム、命令記述支援方法および命令記述支援プログラム
WO2022190434A1 (ja) * 2021-03-12 2022-09-15 オムロン株式会社 命令記述支援システム、命令記述支援方法および命令記述支援プログラム

Also Published As

Publication number Publication date
US9805443B2 (en) 2017-10-31
US20160012600A1 (en) 2016-01-14
JP6406900B2 (ja) 2018-10-17

Similar Documents

Publication Publication Date Title
JP6406900B2 (ja) 画像処理方法、画像処理装置、プログラム、記録媒体、生産装置、及び組立部品の製造方法
JP6648925B2 (ja) 画像処理方法、画像処理装置、画像処理システム、生産装置、プログラム及び記録媒体
JP6422250B2 (ja) 画像処理方法、画像処理装置、プログラム及び記録媒体
US20170178348A1 (en) Image Alignment Method and Apparatus
JP6842039B2 (ja) カメラ位置姿勢推定装置、方法およびプログラム
CN102834845A (zh) 用于多摄像装置校准的方法与装置
JP2010176380A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
CN106469455B (zh) 图像处理方法、图像处理设备以及记录介质
JP4874150B2 (ja) 移動物体追跡装置
WO2005071611A1 (ja) 画像中の人物候補領域抽出方法及び人物候補領域抽出システム、人物候補領域抽出プログラム、並びに人物像の天地判定方法及び天地判定システム、天地判定プログラム
JP6307873B2 (ja) 対象線検出装置、方法、及びプログラム
JP2007128373A (ja) 画像処理方法、画像処理用のプログラムならびにその記憶媒体、および画像処理装置
US10207409B2 (en) Image processing method, image processing device, and robot system
JP2020148625A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP5310485B2 (ja) 画像処理方法及び装置並びにプログラム
JP4296617B2 (ja) 画像処理装置および画像処理方法、並びに記録媒体
JP2009288917A (ja) 情報処理装置、情報処理方法、およびプログラム
JP6874855B2 (ja) 算出方法、算出プログラムおよび情報処理装置
JP2015026117A (ja) 画像処理方法、画像処理装置、プログラム及び記録媒体
JP7404017B2 (ja) 画像処理方法、画像処理装置、生産システム、物品の製造方法、プログラム、および記録媒体
JP4449483B2 (ja) 画像解析装置、および画像解析方法、並びにコンピュータ・プログラム
JP6278757B2 (ja) 特徴量生成装置、特徴量生成方法、およびプログラム
JP6897431B2 (ja) 画像処理装置、設定支援方法、および設定支援プログラム
JP2021196932A (ja) 家屋異動検出システム、家屋異動検出方法及び家屋異動検出プログラム
JP6818485B2 (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180918

R151 Written notification of patent or utility model registration

Ref document number: 6406900

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151