JP2017033063A - 画像処理方法、画像処理装置、プログラム及び記録媒体 - Google Patents

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

Info

Publication number
JP2017033063A
JP2017033063A JP2015149328A JP2015149328A JP2017033063A JP 2017033063 A JP2017033063 A JP 2017033063A JP 2015149328 A JP2015149328 A JP 2015149328A JP 2015149328 A JP2015149328 A JP 2015149328A JP 2017033063 A JP2017033063 A JP 2017033063A
Authority
JP
Japan
Prior art keywords
edge
model
edge extraction
image processing
extracted
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
JP2015149328A
Other languages
English (en)
Other versions
JP2017033063A5 (ja
JP6659098B2 (ja
Inventor
真樹 石井
Maki Ishii
真樹 石井
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 JP2015149328A priority Critical patent/JP6659098B2/ja
Priority to US15/219,805 priority patent/US9996770B2/en
Publication of JP2017033063A publication Critical patent/JP2017033063A/ja
Publication of JP2017033063A5 publication Critical patent/JP2017033063A5/ja
Application granted granted Critical
Publication of JP6659098B2 publication Critical patent/JP6659098B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

【課題】被探索画像から抽出されたエッジの数が減少しても、高精度にワークの位置を計測する。
【解決手段】複数のモデルエッジを含むモデルを取得する(S102)、被探索画像中、モデルと一致する位置を探索する(S103)。被探索画像中、S103にて探索した位置にモデルを移動させたときの複数のモデルエッジそれぞれを包含する複数のエッジ抽出領域を設定して、各エッジ抽出領域においてエッジを抽出する演算を行う(S104)。エッジを抽出できなかったエッジ抽出領域が存在する場合(S105:No)、S103にて探索した位置に移動させたモデルのうち、エッジを抽出できなかったエッジ抽出領域に位置するモデルエッジをエッジ集合に含め(S107)、このエッジ集合に対してフィッティングを行う(S106)。
【選択図】図3

Description

本発明は、被探索画像からワークの位置の計測する画像処理方法、画像処理装置、プログラム及び記録媒体に関する。
ワークを撮像して得られた被探索画像の中からワークを見つける処理は、マシンビジョンで良く使われる機能の一つである。このように画像の中からパターンを探索するための画像処理として、一般的にテンプレートマッチングが知られている。テンプレートマッチングでは、探索したいパターンの特徴を事前にモデルとして用意しておく。そしてワークを撮像して得られた被探索画像の中からパターンを探索する場合は、被探索画像から抽出した特徴と事前に用意していたモデルの特徴とを照合する。特徴としては、ワークの輪郭情報であるエッジが使用されることが多い。ここで、「エッジ」とは、画像上で濃淡変化が急峻な画素、つまり濃淡勾配の絶対値が所定閾値以上となる画素の集合のことである。
テンプレートマッチングは事前に用意したモデルと相関が高い、被探索画像上の位置(姿勢を含む)を探索する方法である。そのため、エッジの付近にノイズとなるエッジが存在したり、エッジの一部に欠けや凹凸が発生したりすることがあった。このような場合、被探索画像上の正解位置でモデルとの相関値が最大にならず、位置姿勢計測の精度が低下する可能性があった。
この問題を解決する方法としてワークが円形や楕円形のような形状の場合に、テンプレートマッチング等でワークの仮位置を探索した後に、円フィッティングや楕円フィッティングを行うことでワークの位置をより高精度に計測する方法がある。特許文献1では、ワークの形状が円形の場合に、対象画像上の仮中心を設定して、対象画像から抽出したエッジに対して円フィッティングを行うことでワーク位置を計測する方法が記載されている。
また、ワークの外形に対応するエッジを用いることができない場合、ワークの外形以外の複数の特徴に対応する複数のエッジを用いることもある。このような場合には、各エッジの中心点に対して円フィッティングや楕円フィッティング等のフィッティングを行う。
特開2002−140713号公報
しかしながら、撮像した画像に影等が写りこみ、特徴が隠れてエッジ抽出に失敗し、抽出されるエッジの数が減少することがあった。ワークの特徴として使用可能なエッジがそもそも少ない場合、抽出されたエッジの数が減少してしまうと、フィッティングの精度が低下したり、場合によってはフィッティングの計算が不可となったりすることがあった。
本発明は、被探索画像から抽出されたエッジの数が減少しても、高精度にワークの位置を計測することを目的とする。
本発明は、処理部が、ワークを撮像して得られた被探索画像から前記ワークの位置を画像処理により求める画像処理方法であって、前記処理部が、複数のモデルエッジを含むモデルを取得するモデル取得工程と、前記処理部が、前記被探索画像中、前記モデルと一致する位置を探索する粗探索工程と、前記処理部が、前記被探索画像中、前記粗探索工程にて探索した位置に前記モデルを移動させたときの前記複数のモデルエッジそれぞれを包含する複数のエッジ抽出領域を設定して、前記各エッジ抽出領域においてエッジを抽出する演算を行うエッジ抽出工程と、前記処理部が、前記エッジ抽出工程にて抽出したエッジのエッジ集合に対して所定形状でフィッティングを行い、前記ワークの位置を計測する精探索工程と、を備え、前記精探索工程では、前記処理部が、前記エッジ抽出工程にてエッジを抽出できなかったエッジ抽出領域が存在する場合、前記粗探索工程にて探索した位置に移動させた前記モデルのうち、前記エッジ抽出工程にてエッジを抽出できなかったエッジ抽出領域に位置するモデルエッジを、前記エッジ集合に含めて、前記フィッティングを行うことを特徴とする。
本発明によれば、被探索画像から抽出されたエッジの数が減少しても、高精度にワークの位置を計測することができる。
(a)は、第1実施形態に係る画像処理装置を備えた画像処理システムを示す説明図である。(b)は、検出対象のワークを示す平面図である。 第1実施形態に係る画像処理装置を示すブロック図である。 第1実施形態に係る画像処理方法を示すフローチャートである。 被探索画像を示す模式図である。 (a)は、モデル生成用の画像を示す模式図である。(b)は、モデル生成用画像から抽出したエッジ集合を示す模式図である。(c)は、モデルを示す模式図である。 (a)は、被探索画像から抽出したエッジ集合を示す模式図である。(b)は、モデルを被探索エッジ集合上でラスタ走査する例を示す模式図である。 (a)は、被探索画像にエッジ抽出領域を設定した状態を示す模式図である。(b)は、全てのエッジ抽出領域からエッジを抽出した場合を示す模式図である。(c)は、フィッティングの処理を説明するための模式図である。 (a)及び(b)は、被探索画像においてエッジが抽出できなくなる状況を示す模式図である。 モデルエッジ集合のアフィン変換の一例を示す模式図である。 第2実施形態に係る画像処理方法を示すフローチャートである。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1(a)は、本発明の第1実施形態に係る画像処理装置を備えた画像処理システムを示す説明図である。図1(b)は、検出対象のワークを示す平面図である。
図1(a)に示すように、画像処理システム100は、光源102と、撮像装置であるカメラ105と、画像処理装置200と、を備えている。光源102及びカメラ105は、画像処理装置200に接続されている。検出対象物体(物体)であるワークWは、トレイ107に保持されている。ワークWを保持するトレイ107は、カメラ105と光源102との間に配置されている。
ワークWは、図1(b)に示すように、円筒形の円筒部WAと、円筒部WAの内側に突出する4個の突起部WBとを有し、各突起部WBに貫通穴WHが形成された物体である。貫通穴WHは、同一円の円周上に配置されている。
トレイ107は、ワークWを載置する窪み部分107Aが2つ形成されており、各窪み部分107Aだけが光を透過する材質でできている。したがって、カメラ105にはトレイ107の窪み部分107Aを透過した光のみが届くことになる。
光源102は、ワークWに光を照射(照明)するバックライト照明装置である。光源102は、例えばLEDやハロゲンランプ等、画像処理に必要な光量の光をワークWに照射するものであればいかなるものでもよい。
カメラ105は、ワークWからの光を受光して、撮像画像のデータを生成するデジタルカメラである。カメラ105は、撮像レンズ105Aと、撮像素子(固体撮像素子)105Bとを有する。
撮像素子105Bは、CMOSイメージセンサ又はCCDイメージセンサ等のエリアセンサである。撮像レンズ105Aは、倍率を調整する対物レンズユニットであり、撮像素子105BにおいてワークWの全体が撮像されるように調整される。
画像処理装置200は、カメラ105にワークWを撮像させて得られた撮像画像に対して画像処理し、ワークWの位置(姿勢を含む)を求める。
図2は、本発明の第1実施形態に係る画像処理装置を示すブロック図である。画像処理装置200は、処理部(演算部)としてのCPU(Central Processing Unit)240を備えている。また、画像処理装置200は、記憶部としてのメモリ210を備えている。メモリ210は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)等で構成されている。また、画像処理装置200は、記録ディスクドライブ205、I/Fユニット250、通信ユニット220、制御ユニット230、バス260を備えている。CPU240、メモリ210、記録ディスクドライブ205、I/Fユニット250、通信ユニット220及び制御ユニット230がバス260に接続されている。
記録ディスクドライブ205は、記録ディスク280に記録された各種データやプログラム等を読み出すことができる。
メモリ210は、CPU240の演算処理結果や取得した各種データ(画像のデータやモデル800のデータ)等を記憶する記憶装置であると共に、CPU240に、各種演算処理を実行させるためのプログラム290を記録するものである。CPU240は、HDD204に記録(格納)されたプログラム290に基づいて画像処理方法の各工程(各処理)を実行する。つまり、第1実施形態の画像処理方法を実行するプログラム290が、メモリ210にロードされ、CPU240にて実行される。
I/Fユニット250では、カメラ105や光源102、不図示のディスプレイなど各種デバイスと信号をやりとりする。通信ユニット220は、画像などのデータをネットワーク270経由で通信する。制御ユニット230は、画像処理装置全体を制御する。
なお、第1実施形態では、プログラム290が格納されたコンピュータ読み取り可能な記録媒体がメモリ210や記録ディスク280である場合について説明するが、これに限定するものではない。プログラム290は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム290を供給するための記録媒体としては、不図示の外部記憶装置等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、USBメモリ等の不揮発性メモリ、ROM等を用いることができる。また、プログラム290は、ネットワーク270経由で画像処理装置200に供給されるようにしてもよい。
画像処理装置200のCPU240は、カメラ105と光源102を制御して、カメラ105にワークWを撮像させ、画像(被探索画像)を取得する。第1実施形態では、CPU240は、トレイ107上に設置されたワークWの位置を計測する場合を例に説明する。
ワークWの位置を計測する際には、ワークWの形状特徴を使用してテンプレートマッチングなどの技術を適用することが多い。しかし、ワークWの形状によっては位置の計測で使用可能な特徴量が少ない場合も多く、そのような場合でも高精度かつ安定的に位置を計測できなければならない。一般的にはワークWの輪郭のエッジを使用することが考えられるが、たとえばワークWが複雑な形状であったり、撮像する際にワークWの背景の影響を受けたりすることがあるため、ワークWの輪郭のエッジを使用できない場合もある。このような場合はワークW表面のわずかなエッジ特徴を使用しなければならない。第1実施形態では、このように使用可能なエッジ特徴が少ない場合の位置の計測について説明する。
具体的には、ワークWの特徴として4個の貫通穴WHのみが使用可能な場合を考え、4個の貫通穴WHを通る円の中心つまり円形面の中心Cを算出することで、ワークWの位置を計測する例を説明する。
図3は、本発明の第1実施形態に係る画像処理方法を示すフローチャートである。第1実施形態では、CPU240がプログラム290に従って図3に示す画像処理方法の各工程(各処理)を実行する。
図4は、被探索画像を示す模式図である。CPU240は、カメラ105にワークWを撮像させて、カメラ105から、図4に示す被探索画像500を取得する(S101:画像取得工程、画像取得処理)。CPU240は、被探索画像500をカメラ105から取得するだけでなく、別の装置で撮像した画像500をネットワーク270経由で受信しても構わない。
次に、CPU240は、予めメモリ210に記録しておいたモデル800をメモリ210から取得する(S102:モデル取得工程、モデル取得処理)。
ここで、モデル800の生成方法について説明する。図5(a)は、モデル生成用の画像を示す模式図である。モデル生成用画像600は、理想の条件でワークWを撮像したときの画像である。
図5(b)は、モデル生成用画像から抽出したエッジ集合を示す模式図である。CPU240は、モデル800を生成する際に、モデル生成用画像600に対してSobelフィルタやCannyフィルタなどのエッジ抽出フィルタを適用して、複数のエッジ710,720,730,740を含むエッジ集合700を抽出する。図5(b)において、エッジ740は、存在する画素である複数のエッジ点741からなる。各エッジ点741は、エッジ方向(矢印742の向き)とエッジ強度(矢印742の長さ)の情報をもつ。
図5(c)は、モデル800を示す模式図である。CPU240は、エッジ集合700からモデル800に登録するエッジを選択してモデルエッジ810,820,830,840とする。モデル800に含まれているモデルエッジ810,820,830,840は、ワークWの貫通穴WHに相当する。このようにして作成されたモデル(モデルエッジ集合)800は、メモリ210に記憶(格納)される。
ステップS102では、CPU240は、予めメモリ210に記憶されたモデル800を読み出す。
次に、CPU240は、事前に登録しておいたモデル800を使用して粗探索を行い、ワークWの位置(仮位置)を計測する(S103:粗探索工程、粗探索処理)。即ち、CPU240は、ステップS103において、被探索画像中(具体的には被探索画像から抽出したエッジ集合中)、モデル800と一致する位置をパターンマッチングにより探索する。ここで、第1実施形態では、モデル800に含まれるモデルエッジの数が少ないので、求まる位置精度は低い。
以下、粗探索工程について詳細に説明する。図6(a)は、被探索画像から抽出したエッジ集合を示す模式図である。CPU240は、被探索画像500に対してSobelフィルタやCannyフィルタなどのエッジ抽出フィルタを適用して、複数のエッジ(被探索エッジ)からなるエッジ集合(被探索エッジ集合)900を抽出する。
図6(b)は、モデル(モデルエッジ集合)800の左上隅画素を基準点1000として、その基準点1000を被探索エッジ集合900の左上隅からラスタ走査する例を示す模式図である。
CPU240は、モデルエッジ集合800と被探索エッジ集合900を用いて、ワークWの位置の候補点を探索する。具体的には、CPU240は、モデルエッジ集合800を被探索エッジ集合900の左上隅からラスタ走査で平行移動/回転しながら一致度(類似度)を計算することで候補点の探索を行う。
2つのエッジ集合800,900の一致度が予め設定された閾値以上となるような基準点の位置(姿勢を含む)が候補点となるが、候補点は1個とは限らず複数個存在することもある。
ここで、被探索画像500中、モデル800が一致する位置とは、一致度(類似度)が閾値以上となる位置である。一致度が閾値以上となる位置が複数存在する場合は、これら複数の位置のうちの1つ、好ましくは一致度が最大となる位置とする。
2つのエッジ集合800,900の一致度は、エッジ方向を用いて式(1)のように計算する。
Figure 2017033063
ここでNはモデルエッジ集合800におけるエッジ点の個数、TLnはモデルエッジ集合800におけるn番目のエッジ点のエッジ方向、ILnはTに対応する位置にある被探索エッジのエッジ点のエッジ方向である。式(1)はモデルエッジ集合800と被探索エッジ集合900とのエッジ方向の相違を計算しており、2つのエッジ集合が完全に一致する場合は1、不一致の場合は0となる。そして一致度(類似度)が閾値以上となる位置を候補点として抽出する。この位置が粗探索結果の仮位置となる。
次に、CPU240は、被探索画像500から貫通穴WHに対応するエッジを抽出する演算を行う(S104:エッジ抽出工程、エッジ抽出処理)。つまり、ステップS103で計算した仮位置に基づいて、貫通穴WHの被探索画像500上の大まかな位置を知ることができる。被探索画像500上にある貫通穴WHのエッジを抽出するために、その位置にエッジ抽出の範囲を指定するエッジ抽出領域を設定する。
図7(a)は、被探索画像にエッジ抽出領域を設定した状態を示す模式図である。ステップS104において、CPU240は、被探索画像500中、ステップS103にて探索した位置にモデル800を移動させたときの複数のモデルエッジ810〜840それぞれを包含する複数のエッジ抽出領域1110〜1140を設定する。CPU240は、各エッジ抽出領域1110〜1140についてエッジを抽出する演算を行う。
次に、CPU240は、ステップS104にて抽出したエッジのエッジ集合に対して所定形状、第1実施形態では円でフィッティングを行い、ワークWの位置を計測する(S105〜S107:精探索工程、精探索処理)。
以下、精探索処理について具体的に説明する。まず、CPU240は、全てのエッジ抽出領域1110〜1140からエッジを抽出できたか否か、即ち全てのエッジ抽出領域1110〜1140においてエッジの抽出に成功したか否かを判断する(S105)。第1実施形態では、4個の貫通穴WHに対応する全てのエッジが抽出できたか否かを判断する。具体的には、CPU240は、各エッジ抽出領域1110〜1140において、エッジ抽出フィルタを適用して濃淡勾配の絶対値が所定閾値以上となるエッジ点の個数をカウントし、その個数が所定閾値以上であればエッジ抽出できたと判定する。そしてCPU240は、全てのエッジ抽出領域1110〜1140についてエッジを抽出できていればステップS106の処理に、抽出できなかったエッジが存在すればステップS107の処理に進む。
図7(b)は、全てのエッジ抽出領域からエッジを抽出した場合を示す模式図である。図7(a)のエッジ抽出領域1110,1120,1130,1140の範囲にエッジ抽出フィルタを適用することで、図7(b)に示すような貫通穴WHに対応するエッジ1210,1220,1230,1240が抽出される。
CPU240は、複数のエッジ抽出領域1110〜1140のうち全てからエッジ1210〜1240を抽出した場合(S105:Yes)、エッジ1210〜1240を含むエッジ集合1200に対して円でフィッティング(円フィッティング)を行う。CPU240は、この円フィッティングの演算により、ワークWの位置を計測する(S106)。
図7(c)は、フィッティングの処理を説明するための模式図である。以下、ステップS106の処理について具体的に説明する。まず、CPU240は、各エッジ1210,1220,1230,1240の中心点1410,1420,1430,1440を計算する。貫通穴WHの形状を円形とすると、各エッジ1210〜1240は円形であるので、各エッジ1210〜1240に対して円フィッティングを行い、中心点1410,1420,1430,1440を計算する。次に、CPU240は、4つの中心点1410,1420,1430,1440に対して更に円フィッティングを行い、図7(c)に示すような近似円1300と近似円1300の中心点1310を計算する。計算した中心点1310の位置がワークWの位置となる。
CPU240は、ステップS104で抽出できなかったエッジが存在する場合(S105:No)、モデル800に含まれるエッジで補完する(S107)。即ち、CPU240は、抽出に失敗した部分のエッジを、粗探索で使用したモデル800に含まれるモデルエッジで代用する。
図8(a)及び図8(b)は、被探索画像においてエッジが抽出できなくなる状況を示す模式図である。被探索画像500においてエッジが抽出できなくなる状況としては、例えば図8(a)のようにオクルージョンが発生したり、図8(b)のように光源102からの光が弱いために貫通穴WHのエッジ強度が低下したりすることが考えられる。
図8(a)及び図8(b)のように4個の貫通穴の中、一部の貫通穴に対応するエッジの抽出ができなかったエッジ抽出領域が存在すると、抽出できたエッジだけで円フィッティングを実行した場合には、ワークWの位置の計測精度が低下する。
そこで、第1実施形態では、ワークWの位置の計測精度が低下するのを防ぐため、欠落した貫通穴に相当するエッジ1240をモデル800のモデルエッジ840で補完した上で、円フィッティングを実行する。
つまり、CPU240は、ステップS104にてエッジを抽出できなかったエッジ抽出領域が存在する場合、ステップS103にて探索した位置に移動させた状態のモデル800のうちエッジを抽出できなかったエッジ抽出領域に位置するモデルエッジを求める。そして、CPU240は、求めたモデルエッジをエッジ集合1200に含めて、モデルエッジで補完したエッジ集合1200に対し、円でフィッティングを行う。
図9は、モデルエッジ集合のアフィン変換の一例を示す模式図である。以下、具体的に説明すると、まずCPU240は、S103の粗探索結果に基づいて、モデルエッジ集合800を被探索エッジ集合900上のワーク位置に移動させるためのアフィン変換行列を算出する。算出したアフィン変換行列を使用して、モデルエッジ集合800を構成する全エッジ点の座標をアフィン変換し、図9のようにアフィン変換済のモデルエッジ集合1500を生成する。そしてエッジ1240の代わりとして、欠落した貫通穴の位置にアフィン変換されたエッジ1540(エッジ840に相当)に置き換える。つまり、CPU240は、エッジ1540を、エッジ抽出領域1140で抽出されたエッジとして、円フィッティングに用いるエッジ集合1200に含める。したがって、次のステップS106では、CPU240は、エッジ1210,1220,1230、およびエッジ1540で構成されたエッジ集合1200を使用して円フィッティングを行う。
以上、CPU240は、ステップS103にて探索した位置に移動させた状態のモデル800について、エッジ抽出に失敗したエッジ抽出領域1140に位置するモデルエッジ840を、エッジ集合1200に含める。そして、CPU240は、モデルエッジ840で補完したエッジ集合1200に対してフィッティングを行う。
第1実施形態によれば、エッジ集合1200に、エッジ抽出に失敗したエッジ1240に対応するエッジ840(エッジ1540)を含めたことで、被探索画像500から抽出されたエッジの数が減少しても、高精度にワークWの位置を計測することができる。
なお、図3に示すフローチャートの2巡目以降(2つ目以降のワークの位置計測)は、1巡目のステップS102にて取得したモデル800を使用することで、ステップS102の処理を省略することができる。
[第2実施形態]
次に、本発明の第2実施形態に係る画像処理方法について説明する。図10は、本発明の第2実施形態に係る画像処理方法を示すフローチャートである。なお、第2実施形態において、画像処理装置の構成は、第1実施形態と同様であり、CPU240の処理、即ちプログラム290が第1実施形態と異なる。具体的には、第2実施形態では、図10に示すように、第1実施形態の図3の画像処理方法のフローチャートに、ステップS108の処理(判断処理、判断工程)を更に追加したものである。
ステップS101〜S105は、第1実施形態で説明した通りの処理である。CPU240は、ステップS105において、ステップS104にてエッジを抽出できなかったエッジ抽出領域が存在すると判断した場合(S105:No)、ステップS104にて抽出したエッジの数に対して閾値判断を行う(S108)。具体的には、CPU240は、ステップS108において、抽出できたエッジの数が閾値以上であるか否か、即ちステップS106の処理を行うか否かを判断する。CPU240は、抽出できたエッジの数が閾値以上であれば、即ちステップS106の処理を行うと判断した場合は(S108:Yes)、ステップS107の処理を行う。また、CPU240は、抽出できたエッジの数が閾値より少なければ、即ちステップS106の処理を行わないと判断した場合は(S108:No)、ステップS107の処理を行わずに、処理を終了する。
よって、CPU240は、ステップS105において、全てのエッジ抽出領域に対してエッジを抽出できたと判断した場合は、抽出した複数のエッジからなるエッジ集合1200に対して円(所定形状)でフィッティングを行う(S106)。また、CPU240は、ステップS105において、エッジを抽出できなかったエッジ抽出領域が存在すると判断した場合は、抽出したエッジの数に対して閾値判断を行い、ステップS106の処理(精探索処理)を行うか否かを判断する(S108)。CPU240は、精探索処理を行うと判断した場合は、S103にて探索した位置にモデル800を移動させ、この状態でエッジ抽出に失敗したエッジ抽出領域に位置するモデルエッジを、エッジ集合1200に含めて、フィッティングを行う。
このように、第2実施形態では、エッジの置き換え個数が多くなると、位置計測の精度が粗探索と同等となってしまうため、エッジの置き換え個数の制限をしたものである。閾値は、必要とする位置計測の精度に応じた値に設定すればよい。
なお、ステップS108の閾値判断において、S104で抽出できなかったエッジの個数が所定閾値以下か否かを判断してもよい。もし閾値以下であればS107に進んでエッジ補完を行えばよい。もし閾値を超えていればエッジ補完を行わず、位置計測に失敗したとみなして処理を終了すればよい。例えば、4個の貫通穴のうち、エッジ抽出できなかった貫通穴が1個までであれば、エッジ補完を行うようにしてもよい。
以上、第2実施形態によれば、閾値で精探索処理を実行するか否かを判断し、抽出したエッジの数が少なすぎる場合には、位置計測が失敗したとして処理を終了することで、精度の低い計測結果が算出されるのを防ぐことができる。よって、算出されるワークWの位置精度を確保することができる。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、上記実施形態では、ワークの特徴として、貫通穴を用いる場合について説明したが、これに限定するものではなく、凹み穴等、あらゆる特徴を用いることが可能である。
また、上記実施形態では、精探索で円フィッティングを適用する場合の例を説明したが、円フィッティングに限定されるものではなく、ワークWの特徴の配置に応じて所定形状にフィッティングすればよい。例えば、ワークWの特徴が、楕円上に配列されている場合には、楕円フィッティングを適用して楕円の中心座標と回転角度を計測し、それぞれの計測結果をワークの位置としても構わない。また、矩形状に配列された特徴を有するワークであれば、矩形フィッティングを適用して矩形の中心座標と回転角度を計測し、それぞれの計測結果をワークの位置としても構わない。このように、ワークに存在する複数の特徴を結ぶ包絡線の形状に応じた形状でフィッティングすればよい。
200…画像処理装置、240…CPU(処理部)

Claims (10)

  1. 処理部が、ワークを撮像して得られた被探索画像から前記ワークの位置を画像処理により求める画像処理方法であって、
    前記処理部が、複数のモデルエッジを含むモデルを取得するモデル取得工程と、
    前記処理部が、前記被探索画像中、前記モデルと一致する位置を探索する粗探索工程と、
    前記処理部が、前記被探索画像中、前記粗探索工程にて探索した位置に前記モデルを移動させたときの前記複数のモデルエッジそれぞれを包含する複数のエッジ抽出領域を設定して、前記各エッジ抽出領域においてエッジを抽出する演算を行うエッジ抽出工程と、
    前記処理部が、前記エッジ抽出工程にて抽出したエッジのエッジ集合に対して所定形状でフィッティングを行い、前記ワークの位置を計測する精探索工程と、を備え、
    前記精探索工程では、前記処理部が、前記エッジ抽出工程にてエッジを抽出できなかったエッジ抽出領域が存在する場合、前記粗探索工程にて探索した位置に移動させた前記モデルのうち、前記エッジ抽出工程にてエッジを抽出できなかったエッジ抽出領域に位置するモデルエッジを、前記エッジ集合に含めて、前記フィッティングを行うことを特徴とする画像処理方法。
  2. 前記精探索工程において、前記処理部が、前記エッジ抽出工程にて前記複数のエッジ抽出領域のうち全てからエッジを抽出した場合は、前記エッジ抽出工程にて抽出した全てのエッジで前記エッジ集合を構成することを特徴とする請求項1に記載の画像処理方法。
  3. 前記処理部が、前記エッジ抽出工程にて抽出したエッジの数に対して閾値判断を行い、前記精探索工程を行うか否かを判断する判断工程を更に備えたことを特徴とする請求項1又は2に記載の画像処理方法。
  4. 前記所定形状が、円、楕円又は矩形であることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理方法。
  5. ワークを撮像して得られた被探索画像から前記ワークの位置を画像処理により求める処理部を備えた画像処理装置であって、
    前記処理部は、
    複数のモデルエッジを含むモデルを取得するモデル取得処理と、
    前記被探索画像中、前記モデルと一致する位置を探索する粗探索処理と、
    前記被探索画像中、前記粗探索処理にて探索した位置に前記モデルを移動させたときの前記複数のモデルエッジそれぞれを包含する複数のエッジ抽出領域を設定して、前記各エッジ抽出領域においてエッジを抽出する演算を行うエッジ抽出処理と、
    前記エッジ抽出処理にて抽出したエッジのエッジ集合に対して所定形状でフィッティングを行い、前記ワークの位置を計測する精探索処理と、を実行し、
    前記精探索処理では、前記エッジ抽出処理にてエッジを抽出できなかったエッジ抽出領域が存在する場合、前記粗探索処理にて探索した位置に移動させた前記モデルのうち、前記エッジ抽出処理にてエッジを抽出できなかったエッジ抽出領域に位置するモデルエッジを、前記エッジ集合に含めて、前記フィッティングを行うことを特徴とする画像処理装置。
  6. 前記処理部は、前記精探索処理において、前記エッジ抽出処理にて前記複数のエッジ抽出領域のうち全てからエッジを抽出した場合は、前記エッジ抽出処理にて抽出した全てのエッジで前記エッジ集合を構成することを特徴とする請求項5に記載の画像処理装置。
  7. 前記処理部は、前記エッジ抽出処理にて抽出したエッジの数に対して閾値判断を行い、前記精探索処理を行うか否かを判断する判断処理を更に実行することを特徴とする請求項5又は6に記載の画像処理装置。
  8. 前記所定形状が、円、楕円又は矩形であることを特徴とする請求項5乃至7のいずれか1項に記載の画像処理装置。
  9. コンピュータに請求項1乃至4のいずれか1項に記載の画像処理方法の各工程を実行させるためのプログラム。
  10. 請求項9に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2015149328A 2015-07-29 2015-07-29 画像処理方法、画像処理装置、プログラム及び記録媒体 Active JP6659098B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015149328A JP6659098B2 (ja) 2015-07-29 2015-07-29 画像処理方法、画像処理装置、プログラム及び記録媒体
US15/219,805 US9996770B2 (en) 2015-07-29 2016-07-26 Image processing method, image processing apparatus, recording medium, and method of manufacturing assembly

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015149328A JP6659098B2 (ja) 2015-07-29 2015-07-29 画像処理方法、画像処理装置、プログラム及び記録媒体

Publications (3)

Publication Number Publication Date
JP2017033063A true JP2017033063A (ja) 2017-02-09
JP2017033063A5 JP2017033063A5 (ja) 2018-09-06
JP6659098B2 JP6659098B2 (ja) 2020-03-04

Family

ID=57883643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015149328A Active JP6659098B2 (ja) 2015-07-29 2015-07-29 画像処理方法、画像処理装置、プログラム及び記録媒体

Country Status (2)

Country Link
US (1) US9996770B2 (ja)
JP (1) JP6659098B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019090774A (ja) * 2017-11-17 2019-06-13 富士通株式会社 距離計測装置、距離計測方法、及び距離計測プログラム
WO2019159479A1 (ja) * 2018-02-15 2019-08-22 Kyb株式会社 3次元空間の位置の特定方法
CN112179282A (zh) * 2020-09-10 2021-01-05 大连理工大学 一种适用于装配间隙数字化测量的点云数据模型虚拟装配方法

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 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
CN112560704B (zh) * 2020-12-18 2023-07-18 温州大学乐清工业研究院 一种多特征融合的视觉识别方法及系统
CN112762865A (zh) * 2020-12-28 2021-05-07 苏州维嘉科技股份有限公司 一种背钻孔检测设备和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001052167A (ja) * 1999-08-09 2001-02-23 Murata Mfg Co Ltd 画像処理方法
JP2010067247A (ja) * 2008-08-09 2010-03-25 Keyence Corp 画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002140713A (ja) 2000-11-02 2002-05-17 Omron Corp 画像処理方法およびその装置
JP5297403B2 (ja) * 2010-02-26 2013-09-25 キヤノン株式会社 位置姿勢計測装置、位置姿勢計測方法、プログラムおよび記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001052167A (ja) * 1999-08-09 2001-02-23 Murata Mfg Co Ltd 画像処理方法
JP2010067247A (ja) * 2008-08-09 2010-03-25 Keyence Corp 画像処理におけるパターンモデルの位置決め方法、画像処理装置、画像処理プログラム及びコンピュータで読み取り可能な記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019090774A (ja) * 2017-11-17 2019-06-13 富士通株式会社 距離計測装置、距離計測方法、及び距離計測プログラム
WO2019159479A1 (ja) * 2018-02-15 2019-08-22 Kyb株式会社 3次元空間の位置の特定方法
CN112179282A (zh) * 2020-09-10 2021-01-05 大连理工大学 一种适用于装配间隙数字化测量的点云数据模型虚拟装配方法

Also Published As

Publication number Publication date
US20170032513A1 (en) 2017-02-02
US9996770B2 (en) 2018-06-12
JP6659098B2 (ja) 2020-03-04

Similar Documents

Publication Publication Date Title
JP6659098B2 (ja) 画像処理方法、画像処理装置、プログラム及び記録媒体
CN107316047B (zh) 图像处理装置、图像处理方法以及存储介质
JP5791475B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
KR102073468B1 (ko) 비전 시스템에서 컬러 이미지에 대해 컬러 후보 포즈들의 점수화를 위한 시스템 및 방법
JP6570370B2 (ja) 画像処理方法、画像処理装置、プログラム及び記録媒体
JP5342413B2 (ja) 画像処理方法
WO2017109854A1 (ja) 学習画像自動選別装置、学習画像自動選別方法および学習画像自動選別プログラム
CN111310753B (zh) 一种表计对准方法及装置
CN110926330A (zh) 图像处理装置和图像处理方法
JPH05137047A (ja) 焦点検出方法及び焦点検出装置
JP2017173142A (ja) 画像処理装置、画像処理方法およびミクロジョイント切断システム
CN105758337B (zh) 一种获取透镜平面与图像传感器平面之间夹角的方法
JP6452361B2 (ja) 情報処理装置、情報処理方法、プログラム
JP5336325B2 (ja) 画像処理方法
CN113375555A (zh) 一种基于手机影像的电力线夹测量方法及系统
JP3919722B2 (ja) 肌形状計測方法及び肌形状計測装置
JP5160366B2 (ja) 電子部品のパターンマッチング方法
JP2011138427A (ja) ノイズ除去装置、ノイズ除去方法、及びノイズ除去プログラム
JP2013246149A (ja) ワーク位置検出装置、及びワーク位置検出方法
JP2002245454A (ja) 画像マッチング方法、画像マッチング装置及びウェハ処理装置
JP2009250777A (ja) 表面検査装置および表面検査方法
KR101728719B1 (ko) 스테레오 카메라 이미지에서 물체의 기울어진 각도 측정의 정확도 향상을 위한 특징점 선택 방법
JP5981353B2 (ja) 3次元計測装置
US20190104298A1 (en) Method for adjusting a stereoscopic imaging device
JP2019174216A (ja) レンズマーカのパターン中心の決定方法、およびその装置、ならびに決定方法をコンピュータに実行させるプログラム、およびその記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190823

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200204

R151 Written notification of patent or utility model registration

Ref document number: 6659098

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151