JP5212195B2 - 画像処理装置および画像処理方法 - Google Patents

画像処理装置および画像処理方法 Download PDF

Info

Publication number
JP5212195B2
JP5212195B2 JP2009061066A JP2009061066A JP5212195B2 JP 5212195 B2 JP5212195 B2 JP 5212195B2 JP 2009061066 A JP2009061066 A JP 2009061066A JP 2009061066 A JP2009061066 A JP 2009061066A JP 5212195 B2 JP5212195 B2 JP 5212195B2
Authority
JP
Japan
Prior art keywords
edge code
image
edge
value
code value
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.)
Expired - Fee Related
Application number
JP2009061066A
Other languages
English (en)
Other versions
JP2010217990A (ja
Inventor
豊 加藤
浩二 嶋田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2009061066A priority Critical patent/JP5212195B2/ja
Priority to EP10154035.9A priority patent/EP2228753B1/en
Priority to US12/712,913 priority patent/US8611679B2/en
Publication of JP2010217990A publication Critical patent/JP2010217990A/ja
Application granted granted Critical
Publication of JP5212195B2 publication Critical patent/JP5212195B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • 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/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/752Contour matching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

この発明は、パターンマッチング処理等を行なうための画像処理装置および画像処理方法に関するものである。
従来から、FA(Factory Automation)分野などにおいては、対象物(以下、「対象ワーク」とも称す。)を撮像した入力画像に対して、予め登録された標準パターン(以下、「モデル画像」とも称す。)に基づくパターンマッチング処理が用いられている。このようなパターンマッチング処理により、対象ワークに現れるキズやゴミなどの欠陥を検出したり、モデル画像と類似している対象ワーク上の部分を探し出したりすることができる。
このようなパターンマッチング処理では、対象ワークを撮像することで得られる入力画像にウィンドウを設定し、このウィンドウ内の部分画像(画像情報)と予め登録されたモデル画像とを比較する必要がある。一方、撮像装置からは、各画素の画像情報(典型的には、8bitの濃淡値)が所定の走査方向に沿って順次出力される。すなわち、設定するウィンドウに含まれる画素の画像情報は、同じタイミングではなく、遅延時間をもって時系列に出力されることになる。
そのため、このような時間的なずれを解消するために、所定量(典型的には、1画面分)のバッファメモリを用意しておき、このバッファメモリに撮像装置からの画像情報を順次記憶するとともに、記憶した画像情報に対してパターンマッチング処理を実行する。そのため、パターンマッチング処理を行なう画像処理装置では、回路構成が大型化および複雑化するという課題がある。
このような課題に対して、国際公開第93/18471号パンフレット(特許文献1)には、ハードウェアの小型化を図ることのできる画像処理装置などが開示されている。この画像処理装置においては、1画素当り第1の所定ビット数で表される入力画像データを第1の所定ビット数よりも少ない第2の所定ビット数で表される擬似中間調画像データに変換した上でライン・メモリに格納する。これにより、ハードウェアの小型化を実現する。
ところで、パターンマッチング処理の新たな方法として、入力画像において濃淡値(明るさ)の変化がある部分(以下、「エッジ(部分)」とも称す。)を抽出するとともに、エッジの変化方向を示す値(以下、「エッジコード」もしくは「EC(Edge Code)」とも称す。)に基づいてパターンマッチングを行なうことが開示されている(たとえば、特開2002−230549号公報(特許文献2))。このようなエッジコードを用いることで、入力画像の撮像時における影響(たとえば、影の映り込みや照明ムラ)があっても、モデル画像と類似する部分を的確に探し出すことができる。
国際公開第93/18471号パンフレット 特開2002−230549号公報
上述の国際公開第93/18471号パンフレット(特許文献1)に開示される画像処理装置は、入力画像の濃淡値に基づいてパターンマッチング処理を行なう構成であり、エッジコードに基づくパターンマッチングに向けられたものではなかった。そのため、上述のようなエッジコードに基づくパターンマッチング処理を行なうためには、回路構成が大型化および複雑化してしまうという課題があった。また、プロセッサを用いたソフトウェア処理で実現した場合には、ハードウェアに比較して処理時間が長くなるという課題もある。
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、エッジコードに基づくパターンマッチングをより小さい回路構成で、かつ比較的高速に実現可能な画像処理装置および画像処理方法を提供することである。
この発明のある局面に従う画像処理装置は、入力画像の濃淡値に基づいてエッジコード画像を生成する生成部を含む。ここで、エッジコード画像に含まれる各要素は、エッジコード値と当該エッジコード値の有効/無効を示す情報とを有する。画像処理装置は、さらに、その有するエッジコード値が無効である要素に対して、その有するエッジコード値が有効である要素についての当該エッジコード値を表わす情報を割当てることで、エッジコード画像を圧縮する圧縮部と、圧縮後のエッジコード画像を順次記憶する記憶部と、記憶部に記憶される圧縮後のエッジコード画像を復元する復元部と、復元部により復元されたエッジコード画像と予め定められたモデル画像との類似度を算出する比較部とを含む。
好ましくは、生成部には、入力画像に含まれる各画素の濃淡値が所定順序で入力され、生成部は、濃淡値の入力毎にエッジコード値を順次生成し、圧縮部は、その有するエッジコード値が有効である要素より先に生成され、かつその有するエッジコード値が無効である、要素に対応付けて、当該有効なエッジコード値を特定するための情報を出力する。
好ましくは、圧縮部は、順次出力されるエッジコード値のプロファイルにおいて、有効なエッジコード値が連続する第1の区間、第1の区間に引き続く無効なエッジコード値が連続する第2の区間、および第2の区間に引き続く有効なエッジコード値が連続する第3の区間が表れた場合に、第1の区間に含まれるエッジコード値から第3の区間に含まれるエッジコード値までの増減情報を、第2の区間に対応する要素に対応付けて出力する。
好ましくは、圧縮部は、生成部により生成されるエッジコード値が所定周期で順次入力される直列接続された複数の第1の遅延素子と、生成部により生成されるエッジコード値の有効/無効を示す情報が所定周期で順次入力される直列接続された複数の第2の遅延素子と、複数の第2の遅延素子に保持されているエッジコード値の有効/無効を示す情報のうち、有効を示す情報が格納されている第2の遅延素子の位置を特定する位置特定部と、複数の第1の遅延素子に保持されているエッジコード値のうち、位置特定部によって特定された位置に対応する第1の遅延素子に保持されているエッジコード値を抽出する抽出部と、前回の周期において抽出部が抽出したエッジコード値と、今回の周期において抽出部が抽出したエッジコード値との差分を増減情報として順次出力する差分算出部とを含む。
さらに好ましくは、復元部は、順次出力される増減情報を積算する積算部を含む。
さらに好ましくは、復元部は、記憶部の所定位置に保持されるエッジコード値が所定周期で順次入力される直列接続された複数の第3の遅延素子と、複数の第3の遅延素子のうち、モデル画像に含まれる相対位置情報に応じた遅延素子に保持されるエッジコード値を積算部へ出力する選択部とを含む。
さらに好ましくは、モデル画像は、類似度の算出を行なうための評価位置におけるエッジコード値と、当該評価位置と他の評価位置との間の相対的な位置の差を示す相対位置情報とを含む。
好ましくは、生成部は、入力画像の各画素におけるエッジ強度を検出する検出部と、検出部で検出されたエッジ強度が所定値を超える場合に、対応するエッジコード値が有効であることを示す情報を出力する判定部とを含む。
この発明の別の局面に従う画像処理方法は、入力画像の濃淡値に基づいてエッジコード画像を生成するステップを含む。エッジコード画像に含まれる各要素は、エッジコード値と当該エッジコード値の有効/無効を示す情報とを有する。この画像処理方法は、さらに、その有するエッジコード値が無効である要素に対して、その有するエッジコード値が有効である要素についての当該エッジコード値を表わす情報を割当てることで、エッジコード画像を圧縮するステップと、圧縮後のエッジコード画像を順次記憶するステップと、記憶される圧縮後のエッジコード画像を復元するステップと、復元されたエッジコード画像と予め定められたモデル画像との類似度を算出するステップとを含む。
この発明によれば、エッジコードに基づくパターンマッチングをより小さい回路構成で、かつ比較的高速に実行できる。
この発明の実施の形態1に従うパターンマッチング処理システム1の全体構成を示す概略図である。 この発明の実施の形態に従うエッジコードに基づくパターンマッチング処理の概要を説明するための図である。 この発明の実施に従うエッジコードの算出手順を説明するための図である。 この発明の実施の形態に従うパターンマッチング処理(サーチ処理)の概要を説明するための図である。 この発明の実施の形態に従う撮像装置から出力される入力画像の順序を示す図である。 この発明の実施に従う撮像装置からの入力画像の出力に用いられるタイミング信号を示す図である。 この発明の実施の形態に従う画像処理装置における動作概要を説明するための原理図である。 この発明の実施の形態に従うエッジコードの圧縮/復元処理を説明するための図である。 図8に示す入力画像のIX−IX線に沿ってエッジコード抽出処理の結果を示す図である。 この発明の実施の形態に従うパターンマッチング処理システムのハードウェア構成を示す概略図である。 図10に示すEC画像生成回路のより詳細な構成を示すブロック図である。 図10に示す微分画像生成回路のより詳細な構成を示すブロック図である。 図10に示す画像復元回路のより詳細な構成を示すブロック図である。 この発明の実施の形態に従う画像処理装置において登録されるモデル画像の一例を示す模式図である。 図13に示す遅延器のより詳細な構成を示すブロック図である。 図13に示す復元器のより詳細な構成を示すブロック図である。 図10に示す差分演算回路のより詳細な構成を示すブロック図である。 図10に示すモデル保持部で保持されるデータ構造の一例を示す図である。 図18に示すエッジコード値の示す角度を模式的に示す図である。 この発明の実施の形態に従うモデル登録の処理手順を示すフローチャートである。 この発明の実施の形態に従うパターンマッチング処理システムにおける処理手順を示すフローチャートである。
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
(全体構成)
図1は、この発明の実施の形態1に従うパターンマッチング処理システム1の全体構成を示す概略図である。図1を参照して、パターンマッチング処理システム1は、画像処理装置100と撮像装置200とを含む。このパターンマッチング処理システム1は、代表的に生産ラインなどに組込まれ、対象ワーク2に対して、予め登録されたモデル画像(但し、後述するように「エッジコード画像」が用いられる)に基づくパターンマッチング処理を実行する。
パターンマッチング処理システム1においては、対象ワーク2は、ベルトコンベヤなどの搬送機構6によって搬送され、搬送された対象ワーク2は、撮像装置200によって所定タイミングで撮像される。撮像装置200によって撮像されて得られる画像(以下、「入力画像」とも称す。)は、画像処理装置100へ出力される。画像処理装置100は、この撮像装置200から受けた入力画像に対してパターンマッチング処理を実行し、その結果を自身に搭載された表示部において表示したり、その結果を外部装置へ出力したりする。
(エッジコードに基づくパターンマッチング処理)
図2は、この発明の実施の形態に従うエッジコードに基づくパターンマッチング処理の概要を説明するための図である。図2(a)には、入力画像の一例を示し、図2(b)には、図2(a)に示す入力画像から得られるエッジコード画像を視覚化した一例を示す。
図2(a)には、ほぼ均一な背景上にアルファベット「A」を示す領域が存在している。この図2(a)に示す入力画像に対してエッジ抽出処理がなされると、エッジ強度の高い部分として、図2(b)に示すようなアルファベット「A」の輪郭に相当する部分(図2(b)の白色の領域)が抽出される。そして、この抽出されたエッジの変化方向を示す値が、当該エッジ位置におけるエッジコード値(EC値)として算出される。本実施の形態においては、エッジの変化方向を示す値の一例として、エッジの存在する方向(すなわち、図2(b)に示す矢印の向き(角度))がエッジコードとして算出される。
図3は、この発明の実施に従うエッジコードの算出手順を説明するための図である。図3に示すような画像に対して、B方向に走査してエッジ抽出処理を行なった場合を考える。なお、エッジ抽出処理では、B方向に存在する各画素について、当該画素の濃淡値およびその周辺の画素の濃淡値に基づいてエッジ強度を検出し、B方向に対するエッジ強度のプロファイルにおける極大値がエッジとして抽出される。
図3に示す場合には、エッジEDGの一部として座標E(x,y)が抽出される。そして、抽出された座標E(x,y)の周辺画素の濃淡値などに基づいて、いずれの方向にエッジEDGが続いているのかが判断される。概略すれば、エッジEDGの座標E(x,y)における接線ベクトルCが算出される。そして、この接線ベクトルCと基準ベクトル(図3に示す例では、B方向)とのなす角度Ec(x,y)をエッジコードとして算出する。なお、この角度Ec(x,y)は、0°〜360°を有効範囲として定義してもよいし、0°〜180°を有効範囲として定義してもよい。後者の場合には、接線ベクトルCと基準ベクトルとのなす相対的な角度差となる。
なお、代替の方法として、抽出されたエッジにおける濃淡の変化方向をエッジコードとして算出してもよい。この場合には、図3に示す接線ベクトルCと直交する方向がエッジコードとなる。
上述のように、エッジとして抽出される各点の位置および対応するエッジコードの大きさとの組み合わせを「エッジコード画像」もしくは「EC画像」とも称す。すなわち、エッジコード画像を構成する各要素は、入力画像の各座標に対応付けられたエッジコード値を含む。さらに、このエッジコード画像を構成する各要素には、後述するように、有効なエッジコード値の有効/無効を示す情報(典型的には、後述する「有効/無効フラグ」)をさらに含む。すなわち、すべての座標においてエッジが検出されるわけではないので、このような場合には、「有効なエッジコード値ではない」という情報を付与するために、エッジ抽出が試みられた座標に対応付けられた有効/無効フラグの値は、有効なエッジコードが抽出されなかったことを示す値に設定される。
本実施の形態に従う画像処理装置100においては、パターンマッチング処理に用いられるモデル画像についても、上述のようなエッジコード画像が予め作成されて登録されている。そして、この登録されたモデルについてのエッジコード画像と、入力画像から生成されたエッジコード画像とを比較することで、両者の類似度が算出される。そして、この算出された類似度に基づいて、モデル画像と最も類似する部分がサーチされる。
なお、パターンマッチング処理には、入力画像の全体の大きさより小さい部分画像についてのモデル画像が用いられる。すなわち、予め登録されたモデル画像に相当する大きさのウィンドウが入力画像上に順次設定され、この順次設定される各ウィンドウ内の部分画像のうち、モデル画像との間で最も類似度が高い部分画像の位置がサーチされ、そのサーチにより得られた位置が結果として出力される。
図4は、この発明の実施の形態に従うパターンマッチング処理(サーチ処理)の概要を説明するための図である。図4を参照して、撮像装置200による撮像によって取得される入力画像IMGが互いに直交するX方向およびY方向の2次元に配置されるとする。なお、入力画像IMGは、H画素×W画素のサイズを有するものとする。そして、予め登録されたモデル画像の大きさに相当するウィンドウWNを入力画像IMGの所定方向に沿って順次設定するとともに、それぞれ設定した各ウィンドウWNに含まれる部分画像に対して、パターンマッチング処理を順次実行する。ウィンドウWNは、典型的には、最も原点に近い頂点の座標を(x,y)として、M画素×N画素の範囲に設定される。
このようなウィンドウWNを用いたサーチ処理を実行することで、入力画像IMGにおいて、モデル画像と最も類似する位置(領域)が特定される。
(入力画像の出力処理)
上述した撮像装置200からは、入力画像を示す画像信号が所定の走査方向に沿って、時系列で順次出力される。以下、この画像信号の出力について、図5および図6を参照して説明する。
図5は、この発明の実施の形態に従う撮像装置200から出力される入力画像の順序を示す図である。図6は、この発明の実施に従う撮像装置200からの入力画像の出力に用いられるタイミング信号を示す図である。
図5を参照して、典型的に、撮像装置200は、水平走査(X方向に走査)および垂直走査(Y方向に走査)を組み合わせて、入力画像IMGの各画素を表わす画素情報(濃淡値)を順次出力する。すなわち、撮像装置200は、まず、入力画像IMGの1ライン目を水平走査した画素情報を出力する。続いて、撮像装置200は、2ライン目を水平走査した画素情報を出力する。以下、同様にして、垂直方向に隣接するラインについて水平走査を繰返す。なお、インターレース(飛び越し走査)を行なう場合には、1ライン(もしくは、複数のライン)おきに水平走査を行なう。
図6を参照して、上述のような画素情報の出力(読出し)は、クロック信号CLに同期して行なわれる。すなわち、1周期分のクロック信号CLに対応して、入力画像に含まれる1画素分の画素情報が出力される。
撮像装置200からは、上述のような水平走査を制御するために、水平同期信号HDが出力される。この水平同期信号HDの1周期の長さは、入力画像IMGの1ライン分の水平走査を行なう期間と次のラインの水平走査を行なうための準備期間(以下、「水平ブランク期間」とも称す。)とを合算した期間に相当する。なお、水平ブランク期間は、テレビ信号における「水平帰線期間」に相当する。図6に示す例においては、水平同期信号HDが「Hi」から「Lo」に変化したタイミングで、対応するラインの水平走査が開始される。すなわち、水平同期信号HDは、1画面分の入力画像を出力する期間において、入力画像に含まれるライン数だけ「Hi」から「Lo」に変化することになる。
全ラインに対する水平走査が完了すると、1画面分の入力画像の出力が完了したことになる。このとき、水平走査の開始位置を1ライン目に復帰させる必要がある。そのため、撮像装置200からは、水平同期信号HDに加えて、上述のような垂直走査を制御するために、垂直同期信号VDが出力される。図6に示す例においては、垂直同期信号VDが「Hi」から「Lo」に変化したタイミングで、1ライン目の水平走査が開始されて、新たな入力画像の入力が開始される。すなわち、垂直同期信号VDは、1画面分の入力画像を出力する期間において、1回だけ「Hi」から「Lo」に変化することになる。
(処理動作概要)
次に、図7を参照して、本実施の形態に従う画像処理装置100における処理動作について説明する。本実施の形態に従う画像処理装置100は、1枚の入力画像に対するパターンマッチング処理に要する時間が、当該1枚の入力画像の撮像装置200から画像処理装置100への入力に要する時間とほぼ等しくなるように、動作する。なお、このような処理を「リアルタイム処理」とも称す。すなわち、1枚の入力画像に含まれる1つの画素の画像情報が画像処理装置100に入力される毎に、ある位置に設定されたウィンドウにおけるパターンマッチング処理を同期実行する。
図7は、この発明の実施の形態に従う画像処理装置100における動作概要を説明するための原理図である。図7を参照して、画像処理装置100は、撮像装置200から与えられる各画素の画像情報をFIFO(First In First Out)で順次格納するラインバッファ300を含む。このラインバッファ300の所定位置に対応付けて、M個の遅延器302が設けられる。遅延器302の各々は、ラインバッファ300上の所定位置にある連続するN画素に対してエッジコードを算出する。ここで、M個の遅延器302同士の相対的な位置関係は、図4に示すウィンドウWNの大きさ(M画素×N画素)に対応するように定められる。典型的には、ある遅延器302と隣接する遅延器302との間は、図4に示すあるライン上のウィンドウWNの端から隣接する次のライン上のウィンドウ右端までに相当する画素数だけ離れている。
それぞれの遅延器302からはエッジコード値が並列出力される。パターンマッチング回路304は、これらの遅延器302から並列出力されるエッジコード値を一括して評価することで、入力画像のある位置に設定されたウィンドウWNにおけるパターンマッチング処理を行なう。
さらに、撮像装置200から与えられる入力画像に含まれる各画素の画像情報は、ラインバッファ300の紙面左側から順次入力され、時間の経過とともに、全体的に紙面右側に移動していく。ここで、ラインバッファ300に対する遅延器302の位置関係は固定であるので、入力画像が全体的に移動することによって、入力画像に対するウィンドウWNの位置が実質的に順次移動することとなる。
したがって、本実施の形態に従う画像処理装置100では、それぞれの遅延器302によるエッジコードの出力およびパターンマッチング回路304によるパターンマッチング処理を、入力画像に含まれる各画素の画像情報の入力周期で同期実行することで、上述したようなリアルタイム処理を実現する。
(エッジコード画像の圧縮/復元)
後述するように、本実施の形態に従う画像処理装置100では、エッジコード画像を圧縮した上で記憶部に順次記憶するとともに、記憶した圧縮後のエッジコード画像の一部を復元し、その復元されたエッジコード画像に基づいてパターンマッチング処理を行なう。このようなエッジコード画像の圧縮/復元処理を用いることで、回路構成をコンパクト化する。なお、本実施の形態において「エッジコード画像の圧縮」とは、エッジコード画像に含まれる有効な情報を維持したままその情報量を低減する処理を意味する。
本実施の形態においては、エッジコード画像に含まれる各要素は、エッジコード値および当該エッジコード値の有効/無効を示す有効/無効フラグを含む。すなわち、エッジコード画像には、有効なエッジコード値と無効なエッジコード値とが混在することとなる。そこで、本実施の形態に従う画像処理装置100は、その有するエッジコード値が無効である要素に対して、その有するエッジコード値が有効である要素についての当該エッジコード値を表わす情報を割当てることで、エッジコード画像を圧縮する。以下の説明では、このような圧縮の具体的な実現例として、一連のエッジコード値に対する微分(差分)を用いて圧縮を行なう構成について例示する。なお、上述のような原理を用いるものであれば、これ以外の任意の方法を採用することができる。
以下、このエッジコード画像の圧縮/復元処理について説明する。
図8は、この発明の実施の形態に従うエッジコードの圧縮/復元処理を説明するための図である。図9は、図8に示す入力画像IMGのIX−IX線に沿ってエッジコード抽出処理の結果を示す図である。
まず、図8に示すような対象ワークを撮像した入力画像IMGを考える。この図8に示す入力画像IMG上のIX−IX線に沿ってエッジコード抽出処理を実行すると、3つのエッジEDG1,EDG2,EDG3の近傍で有効なエッジコード値が取得される。その結果、図9に示すような、IX−IX線上のエッジコード値によって構成されるエッジコード画像が得られる。言い換えれば、入力画像IMG上のエッジEDG1,EDG2,EDG3から離れた部分では、エッジコード値は無効となる。
一般的に、対象ワークはある程度の物理的な大きさを有しているので、対象ワークを撮像して得られる入力画像においては、少ない画素間隔でエッジコード値が大きく変化することは少ない。すなわち、エッジコード値が大きく変化するためには、エッジの向き、すなわち対象ワークの輪郭やその表面の構造など物理的に変化している必要があるが、その変化量はおのずから制限される。
そのため、図9に示すエッジコード値のプロファイルのうち、エッジEDG1,EDG2,EDG3の近傍のみが有効なエッジコード値をもち、それ以外の区間は無効なエッジコード値をもつ。すなわち、図9に示すエッジコード画像のプロファイルでは、エッジコード値の有効区間(実線部分)とエッジコード値の無効区間(一点鎖線部分)とが交互に現れることになる。このエッジコード画像のプロファイルについて考えると、有効区間にのみ集中的に情報量が割当てられ、無効区間には実質的に情報量が存在しない。そのため、有効区間および無効区間のいずれについても、各画素あたり同じビット数を割当ててしまうと、無効区間に割当てられたビット数が無駄になる。
そのため、本実施の形態に従う画像処理装置100においては、有効区間がもつ情報量をエッジコード画像全体に拡散させる。すなわち、各画素に割当てるビット数を低減するとともに、各画素に割当てたビット数を全体として有効に利用することで、エッジコード画像全体に用いられる情報量を圧縮する。
言い換えれば、本実施の形態に従う画像処理装置100は、順次出力されるエッジコード値のプロファイルにおいて、有効なエッジコード値が連続するエッジEDG1についての有効区間、エッジEDG1についての有効区間に引き続く無効なエッジコード値が連続する無効区間、および無効区間に引き続く有効なエッジコード値が連続するエッジEDG2についての有効区間が表れた場合に、エッジEDG1についての有効区間に含まれるエッジコード値からエッジEDG2についての有効区間に含まれるエッジコード値までの増減情報を、無効区間に対応する要素に割当てる。
すなわち、有効なエッジコード値を有する要素より先に生成され、かつ無効なエッジコード値を有する要素に対応付けて、当該有効なエッジコード値を特定するための情報が割当てられる。
このように、有効区間がもつ情報量をエッジコード画像全体に拡散させる方法としては、種々の方法を採用することができるが、本実施の形態では、エッジコード画像のプロファイルを微分(差分)することで得られる増減情報(微分画像)を用いる。すなわち、エッジコード画像を構成する一連の要素について、隣接する要素間の変化分だけを情報として保持しておき、パターンマッチング処理を行なう場合に、必要な部分のエッジコード画像に復元する。
より具体的には、エッジコード画像の隣接要素間におけるエッジコード値の差分を順次算出することで、図9に示すような微分画像を生成する。この微分画像は、ある位置の要素におけるエッジコード値が1つの前に位置する要素のエッジコード値に対して増大しているか、あるいは減少しているかを示す。このような微分画像を用いた場合、各要素に割当てる情報量は1bitで済む。そのため、この微分画像をメモリに格納しておき、パターンマッチング処理を行なう際に、微分画像の入力順に沿って積分することで、図9に示すような復元画像に復元する。そして、この復元画像に基づいてパターンマッチング処理を実行する。
圧縮前のエッジコード画像のプロファイルと、復元後の復元画像のプロファイルとを比較すると、エッジコード値が無効である区間においてその波形が異なったものとなる。しかしながら、パターンマッチング処理には、基本的に、エッジコード値が有効である区間(画素)の情報が用いられるので、マッチング精度には影響を及ぼさない。
(ハードウェア構成)
次に、上述のようなエッジコードの圧縮/復元処理を含むパターンマッチング処理を行なうためのハードウェア構成について説明する。
図10は、この発明の実施の形態に従うパターンマッチング処理システム1のハードウェア構成を示す概略図である。
図10を参照して、まず、撮像装置200について説明する。撮像装置200は、レンズ21と、撮像素子22と、A/D(Analog to Digital)変換器23と、制御回路24とを含み、対象ワークを撮像して得られる入力画像(画像信号)を出力する。
レンズ21は、撮像素子22に入射する光軸上に配置され、被写体からの反射光を光学的に調整した上で、撮像素子22に導く。撮像素子22は、典型的には、CCD(Coupled Charged Device)やCMOS(Complementary Metal Oxide Semiconductor)センサなどからなり、入射光の強度に応じた画像信号を出力する。A/D変換器23は、撮像素子22からの画像信号(アナログ信号)をデジタル信号に変換する。典型的には、A/D変換器23は、撮像素子22からの画像信号を所定ビット数の分解能でサンプリングして、対応するデジタル値を出力する。制御回路24は、撮像装置200における撮像処理の全体制御を司る。制御回路24は、所定周期をもつクロック信号CLを発生するクロック信号発生回路25を含む。このクロック信号発生回路25が発生するクロック信号CLに従って、撮像素子22からの画像信号の読出し、およびA/D変換器23におけるA/D変換処理が周期的に実行される。すなわち、制御回路24は、クロック信号CLに従って、検出された画像信号を所定の走査方向に沿って出力するように、撮像素子22へ制御指令を与える。したがって、A/D変換器23からは、画像信号として、入力画像に含まれる各画素の画像情報が所定の走査方向に沿って時系列に出力される。制御回路24は、A/D変換器23から出力される画像信号を画像処理装置100へ出力する。また、制御回路24は、クロック信号発生回路25が発生するクロック信号CLについても画像処理装置100へ出力する。
なお、入力画像は、モノクロ(グレイスケール)画像およびカラー画像のいずれであってもよい。モノクロ画像の場合には、各画素を示す画像信号として、所定ビット数(典型的には、8ビット)で表した濃淡値が出力される。また、カラー画像の場合には、各画素を示す画像信号として、基本色(典型的には、赤(R),緑(G),青(B))の濃淡値をそれぞれ所定ビット数(典型的には、8ビット)で表した情報が出力される。代替的に、光の三原色の補色であるシアン(C),マゼンダ(M),黄色(Y)の濃淡値を表した情報を用いてもよい。また、撮像装置200がより多くのバンド数(感度波長)を有する場合には、そのバンド数に応じた数の濃淡値を出力するようにしてもよい。
次に、画像処理装置100は、EC(Edge Code)画像生成回路11と、微分画像生成回路12と、画像復元回路13と、差分演算回路14と、ピークホールド回路15と、画像メモリ16と、モデル保持部17と、CPU(Central Processing Unit)18と、I/O(Input/Output)ポート19と、表示部20とを含み、撮像装置200により取得された入力画像に対してパターンマッチング処理を実行する。なお、EC画像生成回路11、微分画像生成回路12、画像復元回路13、差分演算回路14、およびピークホールド回路15は、クロック信号CLに従って互いに同期して動作する。
EC画像生成回路11は、撮像装置200から受けた入力画像の濃淡値に基づいて、エッジ抽出処理(後述する)を実行することで、エッジ抽出および抽出したエッジの変化方向の特定を行なう。そして、EC画像生成回路11は、この特定されたエッジの変化方向をエッジコード値として出力する。より具体的には、EC画像生成回路11は、入力画像についての各画素の濃淡値が入力される毎に、「エッジコード値(EC値)」および「有効/無効フラグ」を順次生成する。本実施の形態においては、一例として、EC値(0°≦EC値<360°)を6bit(64階調)で表わす場合について例示する。また、「有効/無効フラグ」は、対応のエッジコードが有効なものであるか、あるいは無効なものであるかを示す1bitの情報とする。すなわち、対応する位置において有効なエッジコード値が抽出された場合(言い換えれば、対応する位置に十分に大きいエッジ強度が現れる場合)には、有効な値を示す「1」が「有効/無効フラグ」の値として出力されるとともに、抽出されたエッジコード値が「EC値」として出力される。一方、対応する位置において有効なエッジコード値が抽出されなかった場合(言い換えれば、対応する位置のエッジ強度が小さい場合)には、無効な値を示す「0」が「有効/無効フラグ」の値として出力されるとともに、「EC値」としては不定値が出力される。
微分画像生成回路12は、EC画像生成回路11から連続出力される一連のエッジコード値および有効/無効フラグ(あわせて、エッジコード画像)に基づいて、図9に示すような微分画像を生成する。この微分画像は、入力画像と同数の要素を有することになるが、各要素に割当てられる情報量は6bitから1bitに圧縮される。また、微分画像生成回路12は、後述するように、圧縮後のエッジコード画像(微分値および有効/無効フラグ)を順次記憶する記憶部を有する。この記憶部に記憶された圧縮後のエッジコード画像の一部は、画像復元回路13へ順次出力。
画像復元回路13は、後述するように、時系列に入力される圧縮後のエッジコード画像(微分値および有効/無効フラグ)を所定要素分だけ保持するととも、保持する圧縮後のエッジコード画像をエッジコード画像に復元する。そして、画像復元回路13は、復元したエッジコード画像を差分演算回路14へ与える。
差分演算回路14は、画像復元回路13から受けた復元されたエッジコード画像に対して、パターンマッチング処理を行なう。すなわち、差分演算回路14は、復元されたエッジコード画像と予め定められたモデル画像との類似度を算出する。より具体的には、差分演算回路14は、予め登録された標準パターン(モデル画像)を表すエッジコード画像(座標ならびに各座標におけるエッジコード値および有効/無効フラグ)をモデル保持部17から読出し、この読出したモデル画像のエッジコード画像と、差分演算回路14から与えられる復元されたエッジコード画像とを比較する。さらに、差分演算回路14は、両者を比較することで算出される類似度をピークホールド回路15へ出力する。
ピークホールド回路15は、差分演算回路14から出力される類似度のうち、最も高い値(ピーク値)を保持する。このとき、ピークホールド回路15は、クロック信号CLに基づいて、ピーク値が表れたタイミングに対応する、入力画像上のウィンドウ位置を関連付けて保持する。後述するように、入力画像に含まれる1画素分の新たな画像信号が画像処理装置100に入力される毎に、入力画像上に設定されるウィンドウWN(図4)の位置は実質的に1画素ずつ移動することになる。そのため、ピーク値が表れたタイミングに対応する、入力画像上のウィンドウ位置を特定することで、モデル画像と類似度の高い、すなわち最も一致する部分を特定することができる。
CPU18は、画像処理装置100における全体制御を司る。CPU18は、プログラムを格納するROM(Read Only Memory)および作業用のRAM(Random Access Memory)(いずれも、図示しない)を利用可能である。そして、CPU18は、ROMから読出したプログラムをRAM上に展開して処理を実行する。
画像メモリ16は、撮像装置200から出力される入力画像を一時的に蓄える記憶領域であり、この画像メモリ16に蓄えられた入力画像は、典型的には、ピークホールド回路15において特定された位置と合わせて、表示部20上にパターンマッチング処理の結果として表示される。
I/Oポート19は、画像処理装置100と接続された外部装置とCPU18との間のデータ授受を仲介する。
表示部20は、画像処理装置100におけるパターンマッチング処理の結果を表示もしくは通知する。典型的には、表示部20は、液晶ディスプレイやLED(Light Emitting Diode)などからなる。
以下、図10に示す各回路の詳細な構成について説明する。
(EC画像生成回路)
図11は、図10に示すEC画像生成回路11のより詳細な構成を示すブロック図である。図11を参照して、EC画像生成回路11は、水平エッジ強度検出器111と、垂直エッジ強度検出器112と、EC値算出器113と、量子化器114と、エッジ強度算出器115と、しきい値処理器116とを含む。
水平エッジ強度検出器111は、撮像装置200(図10)から与えられる入力画像に含まれる各画素について、隣接する画素の濃淡値に基づいて、水平方向のエッジ強度を算出する。同様に、垂直エッジ強度検出器112は、撮像装置200(図10)から与えられる入力画像に含まれる各画素について、隣接する画素の濃淡値に基づいて、垂直方向のエッジ強度を算出する。このようなエッジ強度を算出する構成としては、公知の方法を採用することができるが、たとえば、隣接する画素間における濃淡値の差の最大値をエッジ強度とすることができる。なお、水平エッジ強度検出器111および垂直エッジ強度検出器112は、クロック信号CLに従って作動して、入力画像に含まれる新たな1画素分が入力される毎にエッジ強度をそれぞれ算出し、その結果をEC値算出器113およびエッジ強度算出器115へ出力する。
EC値算出器113は、水平エッジ強度検出器111および垂直エッジ強度検出器112においてそれぞれ算出される水平エッジ強度および垂直エッジ強度に基づいて、エッジコード値に対応するエッジの変化方向(角度θ)を算出する。より具体的には、水平エッジ強度検出器111により算出される水平エッジ強度を「A」とし、垂直エッジ強度検出器112により算出される垂直エッジ強度を「B」とすると、EC値算出器113は、以下に示す(1)式に従って、角度θを算出する。
角度θ=tan−1(B/A) ・・・(1)
EC値算出器113は、算出した角度θを量子化器114へ出力する。なお、EC値を0°〜180°の範囲で定義する場合には、以下に示す(1’)式を用いてもよい。
角度θ=tan−1|B/A| ・・・(1’)
量子化器114は、EC値算出器113から与えられる角度θを6bitに量子化し、エッジコード値として出力する。
なお、図11には、水平エッジ強度検出器111および垂直エッジ強度検出器112に、各画素あたり8bitの濃淡値(256階調)をもつモノクロ画像が与えられる場合を示すが、カラー画像が与えられるようにしてもよい。より多くのビット数を有するカラー画像が与えられたとしても、エッジコード値の情報量としては、モノクロ画像の場合と同じビット数に抑えることができる。
また、エッジ強度算出器115およびしきい値処理器116については、算出されたエッジコードが有効なものであるか否かを判断する。すなわち、エッジ強度に基づいて、入力画像の対象位置において十分なエッジに強いが存在するか否かが判断され、所定の強度をもつエッジが存在している場合に限って、そのタイミングで算出されたエッジコード値を有効なものとする。
すなわち、エッジ強度算出器115は、水平エッジ強度検出器111により算出される水平エッジ強度Aと、垂直エッジ強度検出器112により算出される垂直エッジ強度Bとに基づいて、入力画像の各画素におけるエッジ強度を以下に示す(2)式に従って算出する。
エッジ強度=√(A+B) ・・・(2)
しきい値処理器116は、エッジ強度算出器115によって算出されるエッジ強度を予め設定されたしきい値TH1と比較する。そして、しきい値処理器116は、算出されたエッジ強度がしきい値TH1を超えていれば、有効な値を示す「1」を有効/無効フラグとして出力し、算出されたエッジ強度がしきい値TH1を超えていなければ、無効な値を示す「0」を有効/無効フラグとして出力する。
(微分画像生成回路)
図12は、図10に示す微分画像生成回路12のより詳細な構成を示すブロック図である。図12を参照して、微分画像生成回路12は、フリップフロップ(FF)121−1〜121−4,125,126−1〜126−4と、有効EC値抽出器122と、差分器123と、加算器124と、有効画素位置特定器127とを含む。
フリップフロップ121−1〜121−4は、直列接続された遅延素子の典型例であり、クロック信号CLに従って同期してデータを順次シフトする。フリップフロップ121−4の入力端には、EC画像生成回路11(図10)により生成されたエッジコード値が順次入力される。また、フリップフロップ121−1の出力端は、有効EC値抽出器122に接続される。さらに、フリップフロップ121−1〜121−4の各入力端におけるエッジコード値についても、有効EC値抽出器122へ入力される。
ここで、EC画像生成回路11(図10)が時刻tにおいて生成するエッジコード値をEC(t)と表し、クロック信号CLの1周期分の時間をDcとする。時刻tにおいては、フリップフロップ121−1からはEC(t−4Dc)が出力され、フリップフロップ121−2からはEC(t−3Dc)が出力され、フリップフロップ121−3からはEC(t−2Dc)が出力され、フリップフロップ121−4からはEC(t−Dc)が出力される。すなわち、フリップフロップ121−1〜121−4は、異なるタイミングで入力される連続する複数のエッジコード値についてのタイミングを一致させる。
有効EC値抽出器122は、フリップフロップ121−1〜121−4にそれぞれ保持されるEC値(EC(t),EC(t−Dc),EC(t−2Dc),EC(t−3Dc),EC(t−4Dc))のうち、後述する有効画素位置特定器127によって特定された有効画素位置Xに従って、対応する1つのエッジコード値を差分器123へ出力する。図9に示すように、2つのエッジコード値の有効区間が無効区間を挟んで存在している場合には、有効区間が終了し、次の有効区間が現れるまでの間に、次に現れる有効区間のエッジコード値を予想する必要がある。すなわち、図9の復元画像が示すように、ある有効区間の終了後、次の有効区間が現れる前に、予めエッジコード値を変化させておく必要がある。そこで、有効画素位置特定器127は、次の有効区間がいずれの位置に現れるかを先読みする。具体的には、有効画素位置特定器127は、一連のフリップフロップ121−1〜121−4のうち、有効なエッジコード値を保持する最もXの値が小さいものを有効画素位置Xとして出力する。有効EC値抽出器122は、この抽出された有効画素位置Xに従って、対応するフリップフロップ121に保持されているエッジコード値を出力する。
フリップフロップ126−1〜126−4は、直列接続された遅延素子の典型例であり、クロック信号CLに従って同期してデータを順次シフトする。フリップフロップ126−4の入力端には、EC画像生成回路11(図10)により生成された有効/無効フラグ値が順次入力される。また、フリップフロップ126−1の出力端は、有効画素位置特定器127に接続される。さらに、フリップフロップ126−1〜126−4の各入力端における有効/無効フラグ値についても、有効画素位置特定器127へ入力される。
上述したように、有効画素位置特定器127は、入力される有効/無効フラグ値のうち、その値が有効を示す「1」であるもののうち、対応する有効画素位置Xの値が最も小さいものを特定する。そして、特定したXの値を有効EC値抽出器122へ出力する。なお、入力される有効/無効フラグ値のいずれもが「0」であれば、有効画素位置特定器127は、有効画素位置Xとして「4」を出力する。
差分器123は、クロック信号CLの各周期において、有効EC値抽出器122から出力されるエッジコード値(今回値)と、当該周期より1周期前におけるエッジコード値(前回値)との大小関係を比較し、その差分に基づく微分値(1bit)を増減情報として出力する。すなわち、差分器123は、エッジコード値(今回値)がエッジコード値(前回値)より大きければ、微分値として増加を意味する「1」を出力し、エッジコード値(今回値)がエッジコード値(前回値)より大きくなければ、微分値として減少を意味する「0」を出力する。
加算器124およびフリップフロップ125は、エッジコード値(前回値)を算出するための回路である。加算器124は、差分器123から出力される微分値に応じて、フリップフロップ125から出力されているエッジコード値(前回値)に「1bit」を加算もしくは減算することで、新たなエッジコード値(前回値)を算出する。そして、加算器124が算出した新たなエッジコード値(前回値)は、フリップフロップ125へ与えられて保持される。この加算器124からフリップフロップ125へ与えられた新たなエッジコード値(前回値)は、次のクロック周期におけるエッジコード値(前回値)として用いられる。
なお、図12に示すフリップフロップ121および126の接続段数は、次に現れる有効区間を先読みするための要素数(画素数)に相当する。したがって、先読み量を多くして、本来のエッジコード画像における有効なエッジコード値についての情報を高精度に圧縮/復元を行なうことができるように、より多くの段数(たとえば、16段もしくは32段)を設けることが好ましい。なお、増減情報である微分値(微分画像)により多くの情報量を割当てることで、先読み精度が相対的に低くとも、エッジコード画像をより正確に圧縮することができる。
(画像復元回路)
図13は、図10に示す画像復元回路13のより詳細な構成を示すブロック図である。図13を参照して、画像復元回路13は、シフトレジスタ131と、遅延器132と、復元器133とを含む。
複数のシフトレジスタ131は、一連に直列接続されており、微分画像生成回路12(図10)から与えられる微分値および有効/無効フラグをFIFOで順次格納する。典型的には、1つのシフトレジスタ131は、1つの水平ライン分の微分値および有効/無効フラグを格納する記憶容量をもつ。すなわち、入力画像がW画素×Hラインの大きさであるとすると、シフトレジスタ131の各々は、2×W×H[bit]のメモリ容量を有する。このシフトレジスタ131を入力画像のライン数と同じ数だけ用意することで、1枚の入力画像についての微分画像(各要素についての微分値および有効/無効フラグ)を一時的に格納することができる。上述の例のように、各画素が8bitの濃淡値で定義されるモノクロ画像をそのまま記憶した場合に比較して、単純計算で、シフトレジスタ131の記憶容量を1/4に低減できる。
遅延器132および復元器133のセットは、入力画像に設定したウィンドウ内においてパターンマッチング処理を行なう評価位置の数だけ設けられる。すなわち、遅延器132および復元器133のセットの各々において、エッジコードに基づくパターンマッチング処理が行なわれる。
図13には、遅延器132および復元器133のセットが水平方向にn個配置されるとともに、遅延器132および復元器133のセットが垂直方向にm個配置される。これは、ウィンドウ内にm個の評価ラインを設定でき、各評価ライン上にn箇所の評価位置を設定できることを意味する。
なお、図13においては、各評価ラインに対応する遅延器132および復元器133のセットが、3個おきにシフトレジスタ131に接続されている構成を示す。これは、入力画像に設定されるウィンドウ内に含まれる水平ラインのすべてではなく、一部を間引いて評価する構成に相当する。もちろん、ウィンドウ内に含まれるすべての水平ラインを評価対象としてもよい。この場合には、各シフトレジスタ131の出力端に遅延器132が接続されることになる。
(モデル画像)
遅延器132および復元器133について理解を容易にするために、先に、本実施の形態に従うパターンマッチング処理に用いられるモデル画像について説明する
図14は、この発明の実施の形態に従う画像処理装置において登録されるモデル画像の一例を示す模式図である。
図14を参照して、パターンマッチング処理の基準となる標準ワークを撮像して入力画像IMGが取得されたものとする。この入力画像IMGのうち、モデル画像とすべき範囲にウィンドウWNを設定する。そして、このウィンドウWN内の部分画像からパターンマッチング処理に用いられる複数のエッジコードが抽出される。
より具体的には、ウィンドウWNに対して、m個の評価ラインL0,L1,・・・,L(m−1)を設定し、各評価ライン上でエッジコードを算出する。たとえば、図14に示すモデル画像(アルファベット「A」を示す領域)において、評価ラインL0上で、座標P1において有効なエッジコードが抽出され、評価ラインL1上で、座標P2およびP3において有効なエッジコードが抽出されたものとする。なお、図14に示すように、残りの評価ライン上においても、有効なエッジコードが抽出されたものとする。このように抽出されたエッジコードのうち、たとえば、評価ラインL1上について見ると、座標P1は、ウィンドウWNの左端から距離d1だけ離れた位置にあり、座標P2は、座標P1から距離d2だけ離れた位置にある。
本実施の形態に従うエッジコードに基づくパターンマッチング処理においては、有効なエッジコードが抽出されたそれぞれの座標において、類似度(相関値)を評価すればよい。言い換えれば、ある評価ラインのうち、有効なエッジコードが抽出されなかった画素の位置(座標)については評価対象とする必要がない。したがって、各評価ライン上において、いずれの位置においてエッジコードとの類似度を評価すべきかを予め登録しておく必要がある。
そこで、本実施の形態に従う画像処理装置100においては、同一の評価ライン上にある隣接する評価位置の間の相対的な位置の差を示す相対位置情報を用いて、モデル画像を定義する。この相対位置情報としては、隣接する評価位置の間に存在する要素数を示す「遅延数」を用いる。同一の評価ライン上でこの「遅延数」だけ離れた座標における微分値(あるいは、復元すべきエッジコード値)を抽出するための構成が、図13に示す遅延器132である。そして、この遅延器132を介して、予め登録された各評価位置における微分値が復元器133へ出力されることになる。そして、復元器133において各評価位置における微分値からエッジコード値が復元される。
(遅延器および復元器)
図15は、図13に示す遅延器132のより詳細な構成を示すブロック図である。図15を参照して、遅延器132は、フリップフロップ(FF)1321−1,1321−2〜1321−kと、セレクタ(SEL)1322とを含む。
フリップフロップ1321−1〜1321−kは直列接続された遅延素子の典型例であり、クロック信号CLに従って同期してデータを順次シフトする。フリップフロップ1321−1の入力端には、シフトレジスタ131(図13)の所定位置(隣接するシフトレジスタ131のある接続ノード)に保持される微分値および有効/無効フラグと同じ値が順次入力される。また、フリップフロップ1321−1〜1321−kのそれぞれの出力端は、セレクタ1322に接続される。
セレクタ1322は、典型的にはマルチプレクサで構成される。セレクタ1322は、後述するモデル保持部17に格納された対応する遅延数に従って、フリップフロップ1321−1〜1321−kの出力のうちいずれか1つを、後段に接続された遅延器132および対応する復元器133へ出力する。
たとえば遅延数が「1」に設定された場合には、セレクタ1322は、フリップフロップ1321−1の出力を選択する。すると、対象の遅延器132とその前段に接続された遅延器132との間の遅延量は、1画素分となる。したがって、前段に接続された遅延器132および復元器133のセットが対象とする評価位置から、入力画像上の対象の評価ライン上において1画素だけ離れた座標が評価位置に設定される。同様にして、モデル画像に応じて遅延数を設定することで、同一の評価ライン上の対象となる評価位置を自在に設定することができる。
図16は、図13に示す復元器133のより詳細な構成を示すブロック図である。図16を参照して、復元器133は、加算器1331と、フリップフロップ(FF)1332と、タイミング調整器1333とを含む。
加算器1331およびフリップフロップ1332は、微分値からエッジコード復元値を算出するための積算回路である。加算器1331は、対応する遅延器132(図15)から出力される微分値に応じて、フリップフロップ1332から出力されているエッジコード復元値(前回値)に「+1」もしくは「−1」することで、エッジコード復元値(今回値)を算出する。そして、加算器1331が算出したエッジコード復元値(今回値)は、フリップフロップ1332へ与えられて保持されるとともに、後段に配置された差分演算回路14へ出力される。このフリップフロップ1332へ与えられたエッジコード復元値(今回値)は、次のクロック周期におけるエッジコード復元値(前回値)として用いられる。
タイミング調整器1333は、予め定められたタイミングでフリップフロップ1332をリセットする。典型的には、エッジコード復元値は、入力画像の水平ライン毎に算出されるため、ある水平ラインについてのエッジコード復元値の算出が完了後、次の水平ラインについてのエッジコード復元値の算出へ影響を与えないようにする必要がある。そこで、タイミング調整器1333は、水平ブランク期間のタイミングでフリップフロップ1332へリセット信号を出力し、フリップフロップ1332が保持する積分値をゼロクリアする。なお、入力画像を1つの水平ライン上の画素集合として取扱う場合には、タイミング調整器1333によりリセットは必ずしも必要ない。
以上のようにして、遅延器132および復元器133のセットの各々からは、対応する評価位置についての「エッジコード(EC)復元値」および「有効/無効フラグの値」が出力される。
(差分演算回路およびモデル保持部)
図17は、図10に示す差分演算回路14のより詳細な構成を示すブロック図である。図18は、図10に示すモデル保持部17で保持されるデータ構造の一例を示す図である。図19は、図18に示すエッジコード値の示す角度を模式的に示す図である。
図17を参照して、差分演算回路14は、複数の差分器141と、それぞれの差分器141と対応付けられた判定器142と、加算器143とを含む。
差分器141および判定器142のセットの各々は、前段に配置された復元器133(図16)から与えられるエッジコード復元値および有効/無効フラグと、モデル保持部17から読出された対応するエッジコード値および有効/無効フラグの値とを比較して、評価位置におけるパターンマッチングの成否を判断する。そして、加算器143は、差分器141および判定器142のセットの各々から出力される結果を集計して、その集計結果をパターンマッチングによる類似度として、ピークホールド回路15(図10)へ出力する。
より具体的には、差分器141の各々は、前段に配置された復元器133からエッジコード復元値と、モデル保持部17から読出された対応するエッジコード値との差分値(L1,L2,・・・,Li)を算出する。判定器142の各々は、(1)前段に配置された差分器141から与えられる差分値の絶対値がしきいTH2より小さいこと、かつ(2)モデル保持部17から読出された対応する有効/無効フラグが「1」であること、のいずれもが満足されると、対応する評価位置におけるマッチング成功を意味する「1」を加算器143へ出力する。これに対して、上記(1)または(2)が満足されないと、対応する評価位置におけるマッチング失敗を意味する「0」を加算器143へ出力する。
すなわち、上記(1)の条件は、入力画像上に設定されたウィンドウ内の評価位置におけるエッジコードの値が、モデル画像の対応する評価位置におけるエッジコードの値に同一もしくは近似している場合に限って、マッチング成功と判断するための条件である。また、上記(2)の条件は、後述するように、モデル保持部17には、本来の評価位置ではない位置が評価位置として設定されることもあるため、このような本来の評価位置ではない座標について算出された結果を除外するための条件である。
図18(a)を参照して、モデル保持部17には、モデル画像上に設定される各評価位置についての「有効/無効フラグ」、「エッジコード(EC)値」、「遅延数」の3つのパラメータが格納される。なお、図18(a)に示す設定値は、図14に示すモデル画像に対応している。
図18(b)に示すように、「有効/無効フラグ」には、対応する評価位置が無効であることを示す「0」、または有効であることを示す「1」のいずれかが設定される。「EC値」には、対応する評価位置におけるエッジコードの値が6bitに量子化された値(すなわち、0〜63)で設定される。「遅延数」には、図15に示す遅延器132に含まれるフリップフロップ1321−1,1321−2〜1321−kの段数を最大値とする正の整数が設定される。なお、図18には、遅延器132が8段に直列接続されたフリップフロップ1321を含む場合について例示する。すなわち、遅延器132に含まれるフリップフロップ1321の段数が設定し得る遅延数の最大値となる。
なお、エッジコードの値を6bitに量子化すると、対応するエッジコードの値(角度)と量子化された値とは、図19に示すような関係となる。すなわち、量子化されたエッジコード値が「15」である場合には、エッジコードは「90°」となり、量子化されたエッジコード値が「31」である場合には、エッジコードは「180°」となり、量子化されたエッジコード値が「47」である場合には、エッジコードは「270°」となる。
再度図14を参照して、評価ラインL1について考えてみる。この評価ラインL1において、ウィンドウWNの左端から座標P2までの遅延数d1が「20」であり、座標P2から座標P3までの遅延数d2が「16」であったとする。上述したように、遅延器132を構成するフリップフロップ1321が8段であれば、1つの遅延器132に対して設定可能な最大の遅延数も「8」となる。この場合には、複数の遅延器132を用いることで、必要な遅延数「20」を実現する。
より具体的には、最も前段の遅延器132に対して遅延数「8」を設定し(図18(a)のテーブルにおけるL1とX0との交点)、それに引き続く2段目の遅延器132に対しても遅延数「8」を設定し(図18(a)のテーブルにおけるL1とX1との交点)、さらにそれに引き続く3段目の遅延器132に対して遅延数「4」を設定する(図18(a)のテーブルにおけるL1とX2との交点)。このうち、1段目および2段目の遅延器132については、本来の評価位置ではないので、対応するそれぞれのパラメータのうち、有効/無効フラグを「0」に設定する。一方、3段目の遅延器132については、本来の評価位置であるので、対応するパラメータのうち、有効/無効フラグを「1」に設定するとともに、抽出されたエッジコード値を設定する。
以下同様にして、モデル画像の特徴を表わすパラメータをモデル保持部17に登録する。なお、図18に示すテーブルのうち、ハッチングを付したセルが図14に示す評価位置に対応する。
(モデル登録処理)
以下、図18(a)に示すようなモデル保持部にモデル登録を行なうための処理手順を説明する。
図20は、この発明の実施の形態に従うモデル登録の処理手順を示すフローチャートである。なお、図20に示す処理手順は、図10に示すCPU18がプログラムを実行することで実現される。あるいは、本実施の形態に従う画像処理装置100とは別体の画像処理装置で実行するようにしてもよい。
図20を参照して、CPU18は、標準ワークを撮像して得られた入力画像を受付ける(ステップS100)。続いて、CPU18は、入力画像上に設定されるモデル画像として抽出すべきウィンドウの設定を受付ける(ステップS102)。さらに、CPU18は、設定されたウィンドウ内に含まれる部分画像にm本の評価ライン(ライン番号0〜(m−1))を設定し(ステップS104)、ライン番号変数kを初期化(k=0)する(ステップS106)。
CPU18は、ライン番号変数kに対応する評価ライン上のエッジ強度のプロファイルを算出する(ステップS108)。すなわち、CPU18は、評価ライン上の各画素の位置におけるエッジ強度を算出する。さらに、CPU18は、算出したエッジ強度のプロファイルにおける極大点を抽出する(ステップS110)とともに、各極大点におけるエッジコード値を算出する(ステップS112)。ここで、n個の極大点が抽出されたとして、それぞれの極大点における座標およびエッジコード値を(x0,y0;c0),(x2,y2;c2),・・・,(x(n−1),y(n−1);c(n−1))とする。また、X軸上の原点位置に近いものから、極大点番号を0〜(n−1)に割当てる。
続いて、CPU18は、モデル画像のカラム番号変数i、現在のX軸上の位置を示す座標変数x、抽出した極大点の番号変数jを初期化(i=0,x=0,j=0)する(ステップS114)。続いて、CPU18は、極大点と現在のX軸上の位置との距離差に基づいて、遅延数Dxを算出する(ステップS116)。具体的には、遅延数Dx=xj−xの演算を実行する。さらに、CPU18は、ステップS114において算出した遅延数Dxが遅延器132によって提供可能な最大遅延数(図20に示す例においては、「8」とする)以下であるか否かを判断する(ステップS118)。上述したように、この最大遅延数は、遅延器132に含まれるフリップフロップの段数に相当する。
遅延数Dxが8を越える場合(ステップS118においてNOの場合)には、CPU18は、i番目の内容として、(0,0,8)を登録する(ステップS120)。すなわち、CPU18は、有効/無効フラグ=「0」、エッジコード値=「0」、遅延数=「8」を登録する。そして、CPU18は、現在の座標変数xに最大遅延数(この場合には、「8」)を加算して新たな座標変数xに更新するとともに、カラム番号変数iに「1」を加算して新たなカラム番号変数iに更新する(ステップS122)。そして、処理はステップS118へ戻る。
これに対して、遅延数Dxが8以下である場合(ステップS118においてYESの場合)には、CPU18は、i番目の内容として、(1,ci,Dx)を登録する(ステップS124)。すなわち、CPU18は、有効/無効フラグ=「1」、エッジコード値=「i番目の極大点におけるエッジコード値」、遅延数=「ステップS116において算出した遅延数Dx」を登録する。そして、CPU18は、現在の座標変数xに遅延数Dxを加算して新たな座標変数xに更新し、カラム番号変数iに「1」を加算して新たなカラム番号変数iに更新し、番号変数jに「1」を加算して新たな番号変数jに更新する(ステップS126)。さらに、CPU18は、更新後の番号変数jが抽出された極大点の個数であるn未満であるか否かを判断する(ステップS128)。番号変数jがn未満である場合(ステップS128においてYESの場合)には、処理はステップS116へ戻る。
これに対して、番号変数jがn以上である場合(ステップS128においてNOの場合)には、CPU18は、ライン番号変数kに「1」を加算して新たなライン番号変数kに更新する(ステップS130)。さらに、CPU18は、更新後のライン番号変数kが設定された評価ラインの数であるm未満であるか否かを判断する(ステップS132)。ライン番号変数kがm未満である場合(ステップS132においてYESの場合)には、処理はステップS108へ戻る。
これに対して、ライン番号変数kがm以上である場合(ステップS132においてNOの場合)には、登録処理は終了する。
(全体処理手順)
上述した本実施の形態に従う画像処理装置100における処理手順をまとめると、図21に示すようなフローチャートとなる。
図21は、この発明の実施の形態に従うパターンマッチング処理システム1における処理手順を示すフローチャートである。図21に示す処理は、クロック信号CLの周期で繰返し実行される。
図21を参照して、撮像装置200は、撮像することで得られた入力画像に含まれる1つの画素についての画像情報(濃淡値)を画像処理装置100へ出力する(ステップS2)。
画像処理装置100の水平エッジ強度検出器111および垂直エッジ強度検出器112(図11)がそれぞれ水平方向および垂直方向のエッジ強度を算出する(ステップS4)。なお、エッジ強度は、対象の画素とその周辺の画素における濃淡値に基づいて算出する必要があるので、周辺の画素が入力されていなければ、ステップS4の処理はスキップされる。
そして、画像処理装置100のEC値算出器113(図11)がステップS4において算出された水平方向および垂直方向のエッジ強度に基づいて、エッジの変化方向を示す角度θを算出する(ステップS6)。続いて、画像処理装置100のEC値算出器113(図11)が算出された角度θを量子化することで、エッジコード値を算出する(ステップS8)。
ステップS6およびステップS8の処理と並行して、画像処理装置100のエッジ強度算出器115(図11)がステップS4において算出された水平方向および垂直方向のエッジ強度に基づいて、対象となる画素についてのエッジ強度を算出する(ステップS10)。続いて、画像処理装置100のしきい値処理器116(図11)が算出されたエッジ強度としきい値TH1とを比較することで、有効/無効フラグの値を決定する(ステップS12)。
続いて、微分画像生成回路12は、ステップS8において算出されたエッジコード値をフリップフロップ121−4(図12)に与えて、フリップフロップ121−1〜121−4の保持するデータをシフトするとともに、ステップS12において決定された有効/無効フラグの値をフリップフロップ126−4(図12)に与えて、フリップフロップ126−1〜126−4の保持するデータをシフトする(ステップS14)。続いて、微分画像生成回路12の有効画素位置特定器127(図12)が、フリップフロップ126−1〜126−4のうち有効/無効フラグ値が「1」をもつフリップフロップの位置を、有効画素位置Xとして特定する(ステップS16)。さらに、微分画像生成回路12の有効EC値抽出器122(図12)が、フリップフロップ121−1〜121−4のうちステップS16において特定された有効画素位置Xに応じたフリップフロップが保持するエッジコード値を抽出する(ステップS18)。さらに、微分画像生成回路12の差分器123(図12)が、ステップS18において抽出されたエッジコード値(今回値)と、前回の処理周期において抽出されたエッジコード値(前回値)との差分に基づいて、微分値を算出する(ステップS20)。
続いて、画像復元回路13(図13)は、ステップS20において算出されたエッジコード値、およびステップS14においてシフトされた後の有効/無効フラグの値をシフトレジスタ131に与えて、シフトレジスタ131の保持するデータをシフトする(ステップS22)。
ステップS22の処理と並行して、遅延器132の各々は、接続先のシフトレジスタ131におけるシフト後に保持されているエッジコード値および有効/無効フラグの値を、フリップフロップ1321−1(図15)に与えて、フリップフロップ1321−1〜1321−kの保持するデータをシフトする(ステップS24)。続いて、各遅延器132のセレクタ1322は、モデル保持部17に格納された対応する遅延数に従って、フリップフロップ1321−1〜1321−kのうちいずれか1つを選択してその保持する値を出力する(ステップS26)。
画像復元回路13の復元器133(図16)の各々は、ステップS26において対応する遅延器132のセレクタ1322から出力された微分値(今回値)と、前回の処理周期において算出されたエッジコード復元値(前回値)とを加算して、エッジコード復元値(今回値)を算出する(ステップS28)。
続いて、差分演算回路14は、ステップS28において画像復元回路13の複数の復元器133がそれぞれ算出したエッジコード復元値を受けて、予め定められたモデル画像との類似度を算出し、ピークホールド回路15(図10)へ出力する(ステップS30)。そして、今回のクロック周期における処理を終了する。
さらに、次のクロック周期が到来すると、ステップS2以下の処理を再度実行する。
(作用効果)
この発明の実施の形態によれば、入力画像の濃淡値に基づいて生成されたエッジコード画像を圧縮した上でラインバッファに順次格納するので、エッジコード画像をそのままラインバッファに格納する場合に比較して、必要な記憶領域を低減することができる。そのため、エッジコードに基づくパターンマッチングをより小さい回路構成で実現することができる。
また、この発明の実施の形態によれば、エッジコード画像における隣接する要素間のエッジコード値の増減情報(すなわち、微分値)を用いて圧縮するので、この微分値を時系列に積分するだけでエッジコード値に復元することができる。すなわち、1つのクロック周期内にエッジコード画像に復元できるため。そのため、圧縮したエッジコード画像を復元するための回路構成を簡素化できるとともに、復元処理を短時間に行なうことができる。その結果、すなわち1つの入力画像の取得に要する時間とほぼ同様の時間でパターンマッチング処理を完了する、リアルタイム処理を実現することができる。
(変形例)
上述の実施の形態においては、微分画像をエッジコード画像に復元してモデルとのパターンマッチング処理を行なう構成について例示したが、微分画像に対応するモデル画像を予め登録しておき、入力画像を微分画像に圧縮した状態でパターンマッチング処理を行なうようにしてもよい。
また、上述の実施の形態においては、エッジコード画像の各要素がエッジコード値と有効/無効フラグとを独立に有するデータ構造について例示したが、これを統合した形のデータ構造を採用してもよい。たとえば、エッジコード画像の各要素に7bitのデータを割当て、この7ビットのデータの取り得る範囲を、たとえば(−1〜126)の範囲に設定し、「−1」の場合に、無効であることを示すようにしてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 パターンマッチング処理システム、2 対象ワーク、6 搬送機構、11 EC画像生成回路、12 微分画像生成回路、13 画像復元回路、14 差分演算回路、15 ピークホールド回路、16 画像メモリ、17 モデル保持部、18 CPU、19 I/Oポート、20 表示部、21 レンズ、22 撮像素子、23 A/D変換器、24 制御回路、25 クロック信号発生回路、100 画像処理装置、111 水平エッジ強度検出器、112 垂直エッジ強度検出器、113 EC値算出器、114 量子化器、115 エッジ強度算出器、116 しきい値処理器、121 フリップフロップ、122 有効EC値抽出器、123 差分器、124 加算器、125,126,1321,1332 フリップフロップ、127 有効画素位置特定器、131 シフトレジスタ、132 遅延器、133 復元器、141 差分器、142 判定器、143 加算器、200 撮像装置、300 ラインバッファ、302 遅延器、304 パターンマッチング回路、1322 セレクタ(SEL)、1331 加算器、1333 タイミング調整器。

Claims (9)

  1. 入力画像の濃淡値に基づいてエッジコード画像を生成する生成部を備え、前記エッジコード画像に含まれる各要素は、エッジコード値と当該エッジコード値の有効/無効を示す情報とを有し、
    その有するエッジコード値が無効である要素に対して、その有するエッジコード値が有効である要素についての当該エッジコード値を表わす情報を割当てることで、前記エッジコード画像を圧縮する圧縮部と、
    圧縮後の前記エッジコード画像を順次記憶する記憶部と、
    前記記憶部に記憶される前記圧縮後のエッジコード画像を復元する復元部と、
    前記復元部により復元されたエッジコード画像と予め定められたモデル画像との類似度を算出する比較部とを備え
    前記圧縮部は、前記生成部により所定周期毎に生成される前記エッジコード値および当該エッジコード値の有効/無効を示す情報を複数の周期分保持するとともに、前回の周期における有効を示す情報に対応するエッジコード値と今回の周期における有効を示す情報に対応するエッジコード値との差分を、前記圧縮後のエッジコード画像に含まれる増減情報として順次出力する、画像処理装置。
  2. 前記生成部には、前記入力画像に含まれる各画素の濃淡値が所定順序で入力され、
    前記生成部は、濃淡値の入力毎に前記エッジコード値を順次生成し、
    前記圧縮部は、その有するエッジコード値が有効である要素より先に生成され、かつその有するエッジコード値が無効である、要素に対応付けて、当該有効なエッジコード値を特定するための情報を出力する、請求項1に記載の画像処理装置。
  3. 前記圧縮部は、順次出力される前記エッジコード値のプロファイルにおいて、有効なエッジコード値が連続する第1の区間、前記第1の区間に引き続く無効なエッジコード値が連続する第2の区間、および前記第2の区間に引き続く有効なエッジコード値が連続する第3の区間が表れた場合に、前記第1の区間に含まれるエッジコード値から前記第3の区間に含まれるエッジコード値までの増減情報を、前記第2の区間に対応する要素に対応付けて出力する、請求項1または2に記載の画像処理装置。
  4. 前記圧縮部は、
    前記生成部により生成される前記エッジコード値が所定周期で順次入力される直列接続された複数の第1の遅延素子と、
    前記生成部により生成される前記エッジコード値の有効/無効を示す情報が前記所定周期で順次入力される直列接続された複数の第2の遅延素子と、
    前記複数の第2の遅延素子に保持されている前記エッジコード値の有効/無効を示す情報のうち、有効を示す情報が格納されている第2の遅延素子の位置を特定する位置特定部と、
    前記複数の第1の遅延素子に保持されている前記エッジコード値のうち、前記位置特定部によって特定された位置に対応する第1の遅延素子に保持されているエッジコード値を抽出する抽出部と、
    前回の周期において前記抽出部が抽出したエッジコード値と、今回の周期において前記抽出部が抽出したエッジコード値との差分を前記増減情報として順次出力する差分算出部とを含む、請求項1〜3のいずれか1項に記載の画像処理装置。
  5. 前記復元部は、順次出力される前記増減情報を積算する積算部を含む、請求項4に記載の画像処理装置。
  6. 前記復元部は、
    前記記憶部の所定位置に保持されるエッジコード値が前記所定周期で順次入力される直列接続された複数の第3の遅延素子と、
    前記複数の第3の遅延素子のうち、前記モデル画像に含まれる相対位置情報に応じた遅延素子に保持されるエッジコード値を前記積算部へ出力する選択部とを含む、請求項5に記載の画像処理装置。
  7. 前記モデル画像は、前記類似度の算出を行なうための評価位置におけるエッジコード値と、当該評価位置と他の評価位置との間の相対的な位置の差を示す前記相対位置情報とを含む、請求項6に記載の画像処理装置。
  8. 前記生成部は、
    前記入力画像の各画素におけるエッジ強度を検出する検出部と、
    前記検出部で検出されたエッジ強度が所定値を超える場合に、対応するエッジコード値が有効であることを示す情報を出力する判定部とを含む、請求項1〜7のいずれか1項に記載の画像処理装置。
  9. 入力画像の濃淡値に基づいてエッジコード画像を生成するステップを備え、前記エッジコード画像に含まれる各要素は、エッジコード値と当該エッジコード値の有効/無効を示す情報とを有し、
    その有するエッジコード値が無効である要素に対して、その有するエッジコード値が有効である要素についての当該エッジコード値を表わす情報を割当てることで、前記エッジコード画像を圧縮するステップと、
    圧縮後の前記エッジコード画像を順次記憶するステップと、
    記憶される前記圧縮後のエッジコード画像を復元するステップと、
    復元されたエッジコード画像と予め定められたモデル画像との類似度を算出するステップとを備え
    前記圧縮するステップは、所定周期毎に生成される前記エッジコード値および当該エッジコード値の有効/無効を示す情報を複数の周期分保持するとともに、前回の周期における有効を示す情報に対応するエッジコード値と今回の周期における有効を示す情報に対応するエッジコード値との差分を、前記圧縮後のエッジコード画像に含まれる増減情報として順次出力するステップを含む、画像処理方法。
JP2009061066A 2009-03-13 2009-03-13 画像処理装置および画像処理方法 Expired - Fee Related JP5212195B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009061066A JP5212195B2 (ja) 2009-03-13 2009-03-13 画像処理装置および画像処理方法
EP10154035.9A EP2228753B1 (en) 2009-03-13 2010-02-18 Image processing device and image processing method
US12/712,913 US8611679B2 (en) 2009-03-13 2010-02-25 Image processing device and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009061066A JP5212195B2 (ja) 2009-03-13 2009-03-13 画像処理装置および画像処理方法

Publications (2)

Publication Number Publication Date
JP2010217990A JP2010217990A (ja) 2010-09-30
JP5212195B2 true JP5212195B2 (ja) 2013-06-19

Family

ID=42246091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009061066A Expired - Fee Related JP5212195B2 (ja) 2009-03-13 2009-03-13 画像処理装置および画像処理方法

Country Status (3)

Country Link
US (1) US8611679B2 (ja)
EP (1) EP2228753B1 (ja)
JP (1) JP5212195B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011247957A (ja) * 2010-05-24 2011-12-08 Toshiba Corp パターン検査方法および半導体装置の製造方法
JP5521975B2 (ja) * 2010-10-25 2014-06-18 セイコーエプソン株式会社 電気泳動表示装置の駆動方法、制御回路、および電気泳動表示装置
CN106204661B (zh) * 2016-06-23 2020-05-05 海信视像科技股份有限公司 图片有效性识别方法、装置及智能终端
CN114693707B (zh) * 2020-12-31 2023-09-26 北京小米移动软件有限公司 物体轮廓模板获取方法、装置、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2220624A1 (de) * 1972-04-27 1973-11-08 Licentia Gmbh Verfahren zur erkennung von linienfoermigen mustern
FR2590703B1 (fr) * 1985-11-25 1991-03-29 Commissariat Energie Atomique Procede de reconnaissance de caracteres en temps reel, notamment sur des objets en defilement rapide
US4961231A (en) * 1987-01-20 1990-10-02 Ricoh Company, Ltd. Pattern recognition method
US5058181A (en) * 1989-01-25 1991-10-15 Omron Tateisi Electronics Co. Hardware and software image processing system
US5621825A (en) * 1992-03-06 1997-04-15 Omron Corporation Image processor, image processing method and apparatus applying same
JP3464308B2 (ja) * 1995-03-28 2003-11-10 富士フイルムマイクロデバイス株式会社 画像圧縮装置
JP2000101972A (ja) * 1998-09-21 2000-04-07 Sony Corp 映像信号記録装置及び映像信号再生装置
JP2002140713A (ja) * 2000-11-02 2002-05-17 Omron Corp 画像処理方法およびその装置
JP4023096B2 (ja) * 2001-02-05 2007-12-19 オムロン株式会社 画像処理方法およびその装置
US6895104B2 (en) * 2001-02-16 2005-05-17 Sac Technologies, Inc. Image identification system
JP4679425B2 (ja) * 2006-04-20 2011-04-27 株式会社東芝 画像処理装置、画像処理方法およびプログラム

Also Published As

Publication number Publication date
EP2228753A3 (en) 2013-11-20
US8611679B2 (en) 2013-12-17
US20100232707A1 (en) 2010-09-16
JP2010217990A (ja) 2010-09-30
EP2228753A2 (en) 2010-09-15
EP2228753B1 (en) 2017-08-23

Similar Documents

Publication Publication Date Title
US9900485B2 (en) Image generation device
TWI414179B (zh) Shooting parameter adjustment method for face detection and image capturing device for face detection
US10805528B2 (en) Image capturing apparatus, information processing system, information processing apparatus, and polarized-image processing method
KR101411639B1 (ko) 영상 정합 방법 및 장치
US10089548B2 (en) Image recognition device and image recognition method
CN105282548B (zh) 动态压缩比选择
CN108234973B (zh) 投影控制装置、投影控制方法以及计算机可读记录介质
JP4814380B2 (ja) 撮像装置、集積回路及び撮像方法
US20130155275A1 (en) Image capturing apparatus, image capturing method, and computer-readable recording medium storing image capturing program
JP5212195B2 (ja) 画像処理装置および画像処理方法
JP2012129888A (ja) 画像符号化装置及び画像符号化方法
JP4406443B2 (ja) 画像補正装置
JP4386959B1 (ja) 画像処理装置
US20120051662A1 (en) Image processing apparatus and storage medium
US11109006B2 (en) Image processing apparatus and method
CN110709669B (zh) 信息处理装置和方法
JP5754931B2 (ja) 画像解析装置、画像解析方法及びプログラム
JP2006048328A (ja) 顔検出装置および顔検出方法
KR101346982B1 (ko) 텍스쳐 영상과 깊이 영상을 추출하는 장치 및 방법
JP2023075857A (ja) 撮像装置、制御方法、プログラム及び記憶媒体
CN113689350A (zh) 一种光纤图像恢复方法及其系统
JP2017050700A (ja) 画像処理装置、撮像装置および画像処理プログラム
JP2007274029A (ja) 手振れ補正装置、手振れ補正方法およびプログラム
JP2023008183A (ja) 撮像装置、制御方法、プログラム及び記憶媒体
US20110181508A1 (en) Image processing method and image processing module

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130211

R150 Certificate of patent or registration of utility model

Ref document number: 5212195

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees