首页 / 专利库 / 电脑图像 / 霍夫变换 / 广义霍夫变换 / Object recognition method, program for object recognition and storage medium therefor, and object recognition device

Object recognition method, program for object recognition and storage medium therefor, and object recognition device

阅读:532发布:2020-07-03

专利汇可以提供Object recognition method, program for object recognition and storage medium therefor, and object recognition device专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To achieve speed-up and high precision of object recognition processing by generalized Hough transform.
SOLUTION: Coordinates (X, Y) and a rotation angle Θ of a reference point O of a recognition object are calculated by use of information in previously registered N model edge points in each the edge point extracted on a processing target image 31. A sin Θ and a cos Θ are betted on the coordinates (X, Y) of two-dimensional planes S, C, and a cumulative value of a value betted on in each the coordinates is calculated. When betting processing is completed, the cumulative value in each the plane is associated to each the coordinates to find a square sum (S(X, Y))
2 + (C(X, Y))
2 thereof, and it is betted on a betting plane P. Coordinates (Xp, Yp) capable of obtaining a max value in the betting plane P is extracted, and it is recognized as the coordinates of the reference point O. The rotation angle is calculated by use of the cumulative value in the coordinates (Xp, Yp) of the planes S, C.
COPYRIGHT: (C)2007,JPO&INPIT,下面是Object recognition method, program for object recognition and storage medium therefor, and object recognition device专利的具体信息内容。

  • 所定の輪郭形状を有するモデルを含む基準画像を用いて、基準点の座標を設定するとともに、前記モデルの輪郭を構成する複数のモデルエッジ点に個別に着目し、画素情報を規定する1または複数の変数の中の所定の変数について、着目画素とその周辺の画素についての前記所定の変数に基づいて前記着目画素における前記所定の変数の変化の方向を求め、その変化の方向に対応する方向であるエッジ方向と、前記基準点の前記エッジ方向に対する方位と、前記基準点からの距離とを示す情報を登録し、
    前記画素情報を規定する1または複数の変数の中の所定の変数について、着目画素とその周辺の画素についての前記所定の変数に基づいて着目画素における前記所定の変数の変化の勾配を求めたときに、その勾配が所定値を超える着目画素をエッジ点とする場合の当該エッジ点を含む画像を処理対象として、その処理対象画像上の複数のエッジ点に対し、当該エッジ点の座標およびエッジ方向を求めるとともに、前記複数のモデルエッジ点がそれぞれ前記エッジ点に該当するとしたときに前記登録情報から規定される基準点の座標、およびエッジ点のエッジ方向とモデルエッジ点のエッジ方向との差を示す角度を算出する処理と、算出された各値に基づく投票処理とを実行し、前記投票処理の結果を用いて前記モデルに対応する輪郭パターンの位置および前記モデルを基準にした輪郭パターンの回転角度を認識する方法であって、
    前記投票処理として、前記処理対象画像上の各エッジ点につき、それぞれモデルエッジ点毎に求めた前記基準点の座標に、その座標とともに算出された角度に対応するベクトルを投票するとともに、投票のあった座標毎に、投票されたベクトルの合成ベクトルを示す数値情報を算出し、
    前記投票処理および合成ベクトルを示す数値情報の算出処理が終了したことに応じて、前記数値情報を用いて前記投票のあった座標の中から前記合成ベクトルの長さが所定値を超える座標、もしくは各合成ベクトルを長さが最大のものから順にみた場合の所定数のベクトルに対応する座標を抽出し、この抽出結果を用いて前記輪郭パターンの位置および回転角度を認識することを特徴とする物体認識方法。
  • 請求項1に記載された物体認識方法において、
    前記投票処理では、投票される座標毎に、前記回転角度の正弦および余弦の累積値を求め、これら2種類の累積値の自乗和を前記合成ベクトルの長さとして算出する物体認識方法。
  • 請求項1に記載された物体認識方法において、
    前記投票処理では、投票される座標毎に、前記回転角度に対応するベクトルを水平および垂直の2方向に分解した場合の各ベクトルの向きおよび長さを表す数値情報を求め、これら2種類の累積値の自乗和を前記合成ベクトルの長さとして算出する物体認識方法。
  • 請求項1〜3のいずれかに記載された物体認識方法において、
    前記合成ベクトルを示す数値情報を用いて抽出された座標に基づき前記物体の仮の位置および仮の回転角度を求めた後に、各モデルエッジ点について、前記仮の位置および仮の回転角度に基づき処理対象画像上の対応点を求めるステップaと、前記対応点を含む局所領域内に含まれるエッジ点につき、前記モデルエッジ点の登録情報を用いて基準点の座標および前記エッジ方向の差を示す角度を算出するステップbとを実行し、
    各モデルエッジ点につき前記ステップa,bにより求めた基準点の座標を平均化するとともに、前記回転角度を示すベクトルを合成し、平均化された基準点の座標および前記合成ベクトルの示す角度に基づき、前記物体の位置および回転角度を認識する物体認識方法。
  • 請求項1〜3のいずれかに記載された物体認識方法において、
    前記合成ベクトルを示す数値情報を用いて抽出された座標に基づき前記輪郭パターンの位置および回転角度を認識した後に、前記モデルに対応する輪郭形状を有する1または複数種の濃淡画像モデルを用いて、前記輪郭パターンの位置および回転角度を反映した正規化相関演算を実行する物体認識方法。
  • 請求項1〜5のいずれかに記載された物体認識方法において、
    前記処理対象画像上のエッジ点毎に前記基準点の座標の値を求める処理では、モデルエッジ点毎に、前記エッジ方向に対する基準点の前記登録された方位とこれに反転する方位とについて、前記基準点の座標の候補を1つずつ算出する物体認識方法。
  • 請求項1〜6のいずれかに記載された物体認識方法において、
    前記各モデルエッジ点についての登録処理が終了したことを条件に、前記基準画像上の各エッジ点につき、それぞれ前記各モデルエッジ点の前記登録情報を用いて基準点の座標およびエッジの方向の回転角度の値を求めた後、前記投票処理および前記合成ベクトルを示す数値情報の算出処理を実行してゆき、
    すべてのエッジ点にかかる投票が終了したときの前記数値情報が表す合成ベクトルの長さが所定のしきい値を下回るとき、前記基準点を異なる座標に設定して、各モデルエッジ点についての登録処理を再度実行する物体認識方法。
  • 請求項1〜7のいずれかに記載された物体認識方法において、
    複数の座標が異なる点を基準点に設定し、処理対象画像について、前記基準点の座標を求める処理および投票処理を基準点毎に実行する物体認識方法。
  • 所定の輪郭形状を有するモデルを含む基準画像を用いて、基準点の座標を設定するとともに、前記モデルの輪郭を構成する複数のモデルエッジ点に個別に着目し、画素情報を規定する1または複数の変数の中の所定の変数について、着目画素とその周辺の画素についての前記所定の変数に基づいて前記着目画素における前記所定の変数の変化の方向を求め、その変化の方向に対応する方向であるエッジ方向と、前記基準点の前記エッジ方向に対する方位と、前記基準点からの距離とを示す情報を登録する機能;および前記画素情報を規定する1または複数の変数の中の所定の変数について、着目画素とその周辺の画素についての前記所定の変数に基づいて着目画素における前記所定の変数の変化の勾配を求めたときに、その勾配が所定値を超える着目画素をエッジ点として抽出する場合の当該エッジ点を含む画像を処理対象として、その処理対象画像上の複数のエッジ点に対し、前記エッジ点の座標およびエッジ方向を求める機能を有するコンピュータに対し、前記処理対象画像から前記モデルに対応する輪郭パターンの位置および前記モデルを基準にした輪郭パターンの回転角度を認識する機能を、設定するためのプログラムであって、
    前記処理対象画像上の複数のエッジ点につき、それぞれ前記各モデルエッジ点の登録情報を用いて、登録された各モデルエッジ点がそれぞれ前記エッジ点に該当するとしたときに規定される基準点の座標、およびエッジ点のエッジ方向とモデルエッジ点のエッジ方向との差を示す角度を算出する候補値算出手段;
    前記候補値算出手段が算出した角度に対応するベクトルを基準点の座標毎に合成した場合の当該合成ベクトルを表す数値情報を記憶するための記憶手段;
    前記候補値算出手段により基準点の座標および角度の算出が行われる都度、算出された基準点の座標に対応する前記記憶手段内の数値情報を、算出された角度を用いて更新する情報更新手段;
    前記候補値算出手段および情報更新手段による処理が終了したことに応じて、前記記憶手段に格納された数値情報を用いて前記合成ベクトルの長さが所定値を超える座標、もしくは各合成ベクトルを長さが最大のものから順にみた場合の所定数のベクトルに対応する座標を抽出する抽出手段;
    前記抽出手段による抽出結果を用いて前記輪郭パターンの位置および回転角度を認識する認識手段;
    の各手段として前記コンピュータを機能させるための物体認識処理用のプログラム。
  • 請求項9に記載されたプログラムが記憶された記憶媒体。
  • 画素情報を規定する1または複数の変数の中の所定の変数について、着目画素とその周辺の画素についての前記所定の変数に基づいて着目画素における前記所定の変数の変化の勾配を求めたときに、その勾配が所定値を超える着目画素をエッジ点とする場合の当該エッジ点を含む画像を入力するための画像入力手段;
    所定の輪郭形状を有するモデルを含む基準画像が前記画像入力手段から入力されたとき、この基準画像を用いて基準点の座標を設定するとともに、前記モデルの輪郭を構成する複数のモデルエッジ点について、前記所定の変数の変化の方向に対応する方向であるエッジ方向と、前記基準点の前記エッジ方向に対する方位と、前記基準点からの距離とを示す情報を登録する登録手段;
    前記画像入力手段から処理対象画像が入力されたとき、その処理対象画像上の複数のエッジ点につき、それぞれ前記各モデルエッジ点の登録情報を用いて、登録された各モデルエッジ点がそれぞれ前記エッジ点に該当するとしたときに規定される基準点の座標、およびエッジ点のエッジ方向とモデルエッジ点のエッジ方向との差を示す角度を算出する候補値算出手段;
    前記候補値算出手段が算出した角度に対応するベクトルを基準点の座標毎に合成した場合の当該合成ベクトルを表す数値情報を記憶するための記憶手段;
    前記候補値算出手段により基準点の座標および角度の算出が行われる都度、算出された基準点の座標に対応する前記記憶手段内の数値情報を、算出された角度を用いて更新する情報更新手段;
    前記候補値算出手段および情報更新手段による処理が終了したことに応じて、前記記憶手段に格納された数値情報を用いて前記合成ベクトルの長さが所定値を超える座標、もしくは各合成ベクトルを長さが最大のものから順にみた場合の所定数のベクトルに対応する座標を抽出する抽出手段;
    前記抽出手段による抽出結果を用いて前記モデルに対応する輪郭パターンの位置および前記モデルを基準にした輪郭パターンの回転角度を認識する認識手段;
    の各手段を具備する物体認識装置。
  • 说明书全文

    この発明は、処理対象画像において、あらかじめ登録されたモデルに対応する輪郭形状を有する認識対象物の位置や姿勢を認識するための画像処理技術に関する。 特にこの発明は、処理対象の画像に含まれる複数のエッジ点およびそのエッジ方向を用いて「一般化ハフ変換」と呼ばれる処理を実行することにより、認識対象の物体の位置および回転度を認識する技術に関する。

    従来の一般化ハフ変換では、あらかじめ前記モデルを含む基準画像を用いて認識対象物の基準点を特定するとともに、モデルの輪郭を構成する複数のエッジ点(以下、「モデルエッジ点」という。)毎に、エッジ方向、基準点に対する方位および距離を示す情報を登録する。 計測時には、処理対象画像上のエッジ点につき、それぞれ各モデルエッジ点の登録情報を用いて基準点の座標および回転角度について複数の値を算出し、各値を仮想の3次元空間(投票空間)に投票する。 そして、最も高い得票を得た座標に基づいて処理対象画像における物体の基準点の座標および物体の回転角度を認識するようにしている。

    上記の処理を、図12〜16を用いて具体的に説明する。
    図12は、前記基準画像上の任意のモデルエッジ点の登録情報を示す。 図中の30は基準画像であり、点Oは前記モデルの基準点、点M(座標を(X ,Y )とする。)は前記モデルエッジ点である。 基準点Oには、モデルの中心点が用いられることが多いが、これに限らず、ユーザーにより指定された任意の点を基準点Oにすることもできる。

    角度αは、モデルエッジ点Mのエッジ方向を示すもので、この例では、モデルエッジ点Mにおける法線の方向(濃度勾配の方向)がX軸(平方向の軸)の正方向に対してなす角度をαとしている。 また、角度φは、基準点Oに対するモデルエッジ点Mの方位を示すもので、この例では、前記法線から線分OMを反時計回りに見た角度をφとしている。 また、Rは、前記基準点Oからモデルエッジ点Mまでの距離である。

    一般化ハフ変換では、基準画像上の各モデルエッジ点について、それぞれ上記の角度α、角度φ、距離Rを求め、これらを図13に示すようなテーブルに編集して登録する。

    図14は、処理対象画像の例を示したものである。 図中の31が処理対象画像であり、点Eはこの画像中の一エッジ点である。 また角度βは、エッジ点Eにおけるエッジ方向を示すもので、前記角度αと同様の方法により求められる。
    上記のエッジ点Eが前記モデルエッジ点Mに該当するならば、認識対象物の回転によりエッジ方向が変化しても、前記基準点Oに対する関係を表す角度φ、距離Rは、モデルエッジ点Mと同一になるはずである。 よって、エッジ点Eの座標(x,y)、角度β、および登録された角度φ、距離Rを用いて、基準点Oの座標を特定することができる。 またこのとき、エッジ方向を示す角度βと前記登録された角度αとの差Θ(Θ=β−α)は、処理対象画像上の物体の回転角度に相当することになる。

    しかし、処理対象画像31上のエッジ点とモデルエッジ点との対応関係は不明である。 しかも、処理対象画像31には、ノイズ成分のエッジ点が含まれている可能性がある。 このため、一般化ハフ変換では、処理対象画像31上の各エッジ点Eにつき、それぞれ前記図13のテーブルに登録されたN個のモデルエッジ点を順に対応づけて、対応づけられたモデルエッジ点の登録情報をエッジ点Eに適用して、基準点Oの座標(X,Y)および回転角度Θを求める。 そして、(X,Y,Θ)の組が算出される都度、その組で表現される3次元の投票空間(図15に示す)中の1点に、1票を投票する。 この結果、投票空間では、正しい基準点Oおよび回転角度Θに対応する座標における得票が最も高くなるから、この最も高い得票を得た座標を抽出することによって、基準点Oの座標および物体の回転角度を求めることができる。

    一方、下記の非特許文献1では、3次元の投票空間を設定する方法に代えて、複数の2次元の投票平面を用いた投票処理を行って、前記基準点Oの座標および物体の回転角度を認識するようにしている。

    斉藤文彦,「2次元パラメータ空間を用いた一般化ハフ変換による回転図形の抽出」,画像電子学会誌,1996年4月,第25巻,第2号,p.130-137

    図16は、上記非特許文献1に開示された投票処理の概要を示す。 この方法では、基準点Oの座標(X,Y)を投票するためのメモリ(基準点投票用メモリ)、前記回転角度Θの余弦および正弦の値を投票するためのメモリ(cos値メモリ,sin値メモリ)などを設定している。 そして、算出された座標(X ,Y )に対応する基準点投票用メモリ中の座標に1を加算するとともに、cos値メモリ,sin値メモリの同一座標に、それぞれcosΘ、sinΘの値を記憶する。 さらに、cosΘ、sinΘの値を前回同じ座標に記憶された値と比較することによって、同一の座標に差の小さな値が連続して投票される回数を求め、この回数が所定値R以上であれば、投票された値が正しい(X,Y,Θ)を反映すると判断するようにしている。

    上記した従来の一般化ハフ変換では、3次元の投票空間を設定する必要があるため、容量の大きなメモリが必要になる。 また、メモリサイズが大きくなると、データの読み出しや書き込みのための時間も長くなり、処理に時間がかかるという問題がある。

    これに対し、非特許文献1に示された方法では、2次元平面を用いた投票処理によって、メモリ容量を大幅に削減でき、処理を高速化することができる。 ただし、正しい投票を判別するための連続投票回数Rが適切に設定されていないと、判別処理に誤りが生じるおそれがある。
    たとえば、Rの値が最適値よりも小さく設定されている場合に処理対象画像に多数のノイズが含まれていると、ノイズに対しても、R回を超える連続投票が発生する可能性がある。 反対にRの値が最適値よりも大きく設定されている場合には、認識対象物のエッジ点でも連続投票回数がR回に達しない可能性がある。

    この発明は上記の問題点に着目してなされたもので、投票処理のためのメモリ容量を削減できるとともに、ノイズの影響を受けにくい投票処理を行うことにより、一般化ハフ変換による物体認識処理の高速化および高精度化を実現することを目的とする。

    この明細書において、「エッジ点」とは、画像上のエッジを構成する点を意味するもので、画素情報を規定する1または複数の変数の中の所定の変数について、着目画素とその周辺の画素についての前記所定の変数に基づいて、着目画素における前記所定の変数の変化の勾配を求めたときに、その勾配が所定値を超える画素を指す。 また、細線化処理を行った後の輪郭線を構成する点もエッジ点の概念に含まれる。

    たとえば、白黒の濃淡画像を対象とする場合には、濃度値の勾配が所定値を超える画素を、エッジ点として抽出することができる。
    また、たとえば、カラー画像を対象とする場合には、互いに独立した3つの色変数(たとえばR,G,B)により規定された各画素の情報のうちの少なくとも1つの変数についての変化の勾配が所定値を超える画素を、エッジ点として抽出することができる。 なお、変数は、明度や色相、R,G,Bの各強度のほか、その他の色彩を表現する3変数のいずれかや、それらを用いて得られる色情報であってもよい。

    この発明にかかる物体認識方法では、所定の輪郭形状を有するモデルを含む基準画像を用いて、基準点の座標を設定するとともに、前記モデルの輪郭を構成する複数のモデルエッジ点に個別に着目し、画像情報を規定する1または複数の変数の中の所定の変数について、着目画素とその周辺の画素についての前記所定の変数に基づいて前記着目画素における前記所定の変数の変化の方向を求め、その変化の方向に対応するエッジ方向と、前記基準点の前記エッジ方向に対する方位と、前記基準点からの距離とを示す情報(たとえば、前記図12に示したα,φ,Rである。)を登録する。

    さらに、画素情報を規定する1または複数の変数の中の所定の変数について、着目画素とその周辺の画素についての前記所定の変数に基づいて着目画素における前記所定の変数の変化の勾配を求めたときに、その勾配が所定値を超える着目画素をエッジ点とする場合の当該エッジ点を含む画像を処理対象として、その処理対象画像上の複数のエッジ点に対し、当該エッジ点の座標およびエッジ方向を求めるとともに、前記複数のモデルエッジ点がそれぞれ前記エッジ点に該当するとしたときに前記登録情報から規定される基準点の座標、およびエッジ点のエッジ方向とモデルエッジ点のエッジ方向との差を示す角度を算出する処理と、算出された各値に基づく投票処理とを実行し、前記投票処理の結果を用いて前記モデルに対応する輪郭パターンの位置および前記モデルを基準にした輪郭パターンの回転角度を認識する。

    なお、エッジ方向を示す情報は、エッジ点の法線方向を表す角度αに限らず、これに直交する方向、すなわちエッジ点の接線の方向を示す角度であってもよい。 また、「モデルに対応する輪郭パターン」は、モデルと同一の輪郭を有するパターンに限らず、その一部の輪郭のパターンであってもよい。

    この発明にかかる物体認識方法は、投票処理および物体認識のための処理について、以下のような特徴を有する。
    投票処理では、処理対象画像上の各エッジ点につき、それぞれモデルエッジ点毎に求めた前記基準点の座標に、その座標とともに算出された回転角度に対応するベクトルを投票するとともに、投票のあった座標毎に、投票されたベクトルの合成ベクトルを示す数値情報を算出する。 さらに物体認識処理では、投票処理および合成ベクトルを示す数値情報の算出処理が終了したことに応じて、前記数値情報を用いて前記投票のあった座標の中から前記合成ベクトルの長さが所定値を超える座標、もしくは各合成ベクトルを長さが最大のものから順にみた場合の所定数のベクトルに対応する座標を抽出し、この抽出結果を用いて前記物体の位置および対象物の回転角度を認識する。

    前記回転角度に対応するベクトルは、たとえばこのベクトルを2つの方向に分解した場合の各ベクトル成分により表される。 または、ベクトル成分に代えて、回転角度の正弦の値(sinΘ)および余弦の値(cosΘ)により表してもよい。

    前記投票処理では、たとえば、上記の数値情報の累積値を基準点の座標を引数にして格納する配列(たとえばsinΘ(X,Y)、cosΘ(X,Y))を設定し、座標(X,Y)および回転角度Θが算出される毎に、前記配列中の(X,Y)に対応する数値情報に算出された回転角度Θに基づく値を加算する。

    上記の投票処理によれば、投票の対象となる座標のうち、正しい基準点の座標においては、投票されるベクトルの方向の分散はきわめて小さくなると考えられるのに対し、その他の座標(誤ったモデルエッジ点が対応づけられたときに算出された座標、またはノイズのエッジ点から算出された座標)では、投票されるベクトルの方向の分散が大きくなる可能性が高い。 したがって、投票された回転角度に対応するベクトルを合成すると、正しい基準点の座標における合成ベクトルは、その他の座標における合成ベクトルよりも長くなると考えられる。 よって、たとえば、あらかじめ、同一の方向を向くベクトルを所定数合成した場合の合成ベクトルの長さを求め、これをしきい値として設定しておき、前記合成ベクトルの長さがこのしきい値を超えた座標を抽出することによって、ノイズの影響を受けることなく、基準点の正しい座標を求めることができる。 また、その座標に投票されたベクトルの総和の方向から、認識対象物の回転角度を精度良く求めることができる。 なお、抽出する座標は、合成ベクトルの長さが前記しきい値を超え、かつ最大値となる座標にするのが望ましい。

    さらに上記の投票処理は、従来の一般化ハフ変換のような3次元の投票空間ではなく、2次元の投票平面を用いて行うことができる。 また前記非特許文献1のように、多数の投票平面を設定する必要もないから、メモリ容量を大幅に削減することができ、演算を高速化することができる。

    なお、投票処理におけるベクトルの合成は、ベクトルの投票の都度行うのが望ましいが、これに限らず、たとえば、座標毎にその座標に投票されるベクトルを蓄積してゆき、最終的にベクトルの合成処理を行ってもよい。
    また、認識対象物を1つに限定できる場合には、前記投票のあった座標の中から前記合成ベクトルの長さが最大になる座標を抽出し、この座標に基づき、輪郭パターンの位置および回転角度を認識してもよい。

    また、輪郭パターンの位置は、前記基準点の座標そのものにしてもよいが、これに限らず、たとえば、基準点から所定距離だけ離れた点の座標を、輪郭パターンの位置としてもよい。 または、前記モデルエッジ点の登録情報に基づき、基準点に対して特定の位置関係にあるエッジ点の座標を求め、この座標を輪郭パターンの位置としてもよい。
    一方、輪郭パターンの角度については、たとえば前記合成ベクトルの長さが所定値を超える座標における当該合成ベクトルから求めることができる。 たとえば、水平方向(X軸方向)に対して合成ベクトルがなす角度を求めることができる。

    上記物体認識方法の好ましい態様では、投票処理において、投票される座標毎に、前記回転角度の正弦および余弦の累積値を求め、これら2種類の累積値の自乗和を前記合成ベクトルの長さとして算出する。 また、他の好ましい態様においては、前記投票処理において、投票される座標毎に、前記回転角度に対応するベクトルを水平および垂直の2方向に分解した場合の各ベクトルの向きおよび長さを表す数値情報を求め、これら2種類の累積値の自乗和を前記合成ベクトルの長さとして算出する。

    上記の2つの態様によれば、たとえば、基準点の座標および回転角度が算出される都度、2種類の数値情報を更新してゆき、最終の各数値情報の自乗和により正しい基準点の座標および回転角度を求めることができる。

    さらに、この発明にかかる物体認識方法には、以下のA〜Eの態様を設定することができる。

    <態様A>
    この態様では、前記合成ベクトルを示す数値情報を用いて抽出された座標に基づき前記物体の仮の位置および仮の回転角度を求めた後に、各モデルエッジ点について、前記仮の位置および仮の回転角度に基づき処理対象画像上の対応点を求めるステップaと、前記対応点を含む局所領域内に含まれるエッジ点につき、前記モデルエッジ点の登録情報を用いて基準点の座標およびモデルに対する回転角度を算出するステップbとを実行する。 そして、各モデルエッジ点につき前記ステップa,bにより求めた基準点の座標を平均化するとともに、前記回転角度を示すベクトルを合成し、平均化された基準点の座標および前記合成ベクトルの示す角度に基づき、前記物体の位置および回転角度として認識する。

    上記の態様において、ステップaで求める対応点の座標は、前記基準画像上のモデルエッジ点を、仮の位置および仮の回転角度に基づいて移動させた場合の座標に相当するが、その座標にエッジ点が存在しなくともよい。
    ステップbでは、たとえば前記対応点を中心とする局所領域(マスク)を設定し、その領域に含まれる各エッジ点に前記対応点の算出に使用したモデルエッジ点を対応づけ、基準点の座標および前記エッジ方向の差を示す角度を算出する。 これら局所領域内のエッジ点は、前記モデルエッジ点に対応するか、モデルエッジ点にきわめて近い点である可能性が高いから、算出された座標や角度の分散もきわめて小さいと考えられる。 よって、これらの基準点の座標を平均化することによって、真の基準点の座標を精度良く求めることができる。 また、各基準点の座標とともに求められた角度による合成ベクトルによって、回転角度を精度良く求めることができる。

    ただし、前記対応点を含む処理対象領域内にノイズが含まれていると、そのノイズから算出された値により前記座標や角度の平均値に狂いが生じる可能性がある。 したがって、算出された座標および角度と前記合成ベクトルにより認識された座標および回転角度との間に、所定値を上回る差が認められる場合には、その算出値を平均値の算出対象から除外するのが望ましい。
    なお、平均値を算出するのに代えて、前記局所領域において求めた座標および角度に対応するベクトルを、先の投票処理時よりスケールの細かい投票平面に投票してもよい。

    <態様B>
    この態様では、前記合成ベクトルを示す数値情報を用いて抽出された座標に基づき前記輪郭パターンの位置および回転角度を認識した後に、前記モデルに対応する輪郭形状を有する1または複数の濃淡画像を用いたモデルを用いて、前記輪郭パターンの位置および回転角度を反映した正規化相関演算を実行する。

    この態様は、たとえば模様や色彩を有する対象物を認識する場合に適用することができる。 通常、正規化相関演算を用いて物体の位置および回転角度を求める場合には、基準画像から複数の濃淡画像モデル(基準画像のモデルを所定角度ずつ回転させたもの)を作成して、モデル毎に処理対象画像全体を対象とした検索を実行しなければならない。
    これに対し、上記の態様Bによれば、先に一般化ハフ変換によって、対象物のおよその位置および回転角度が求められているので、たとえば、認識された物体の位置に濃淡画像モデルを設定し、このモデルを前記回転角度を基準に回転補正して正規化相関演算を実行すれば良くなり、正規化相関演算にかかる処理時間を大幅に削減できる。 しかも、その限定された処理時間において、精度の高い検索処理を実行することができる。

    <態様C>
    この態様では、処理対象画像上のエッジ点毎に前記基準点の座標の候補の値を求める処理において、前記エッジ方向に対する基準点の前記登録された方位とこれに反転する方位とについて、前記基準点の座標の候補を1つずつ算出する。
    たとえば、前記図14の処理対象画像31の場合、エッジ点Eに対し、前記角度βが示すエッジ方向から角度φの方向、およびこの方向を180°回転させた方向において、それぞれエッジ点Eから距離Rだけ離れた点の座標を算出する。

    この態様Cによれば、基準画像に対し、処理対象画像が白黒反転している場合やカラー画像を処理対象とする場合など、エッジ点におけるエッジ方向を一意に特定できない場合でも、投票処理によって、対象物の位置および角度を認識することが可能になる。

    <態様D>
    この態様では、前記各モデルエッジ点についての登録処理が終了したことを条件に、前記基準画像上の各エッジ点につき、それぞれ前記各モデルエッジ点の前記登録情報を用いて基準点の座標およびエッジの方向の回転角度の候補の値を求めた後、前記投票処理および前記合成ベクトルを示す数値情報の算出処理を実行する。 そして、すべてのエッジ点にかかる投票が終了したときの前記数値情報が表す合成ベクトルの長さが所定のしきい値を下回るとき、前記基準点の設定および各モデルエッジ点についての登録処理を再度実行する。

    たとえば、認識対象の物体の輪郭形状が点対称の図形にあたる場合に、物体の中心点が基準点として設定されていると、1つのモデルエッジ点に対し、点対称の関係にある2つのエッジ点において基準点の正しい座標が算出される一方、その座標に相反する方向を向くベクトルが投票されてしまう。 この結果、正しい基準点に対応する合成ベクトルが短くなってしまい、対象物の位置や回転角度を正しく認識できない可能性が生じる。

    上記の態様Dは、このような問題に対応するために、各モデルエッジ点についての登録処理が終了した時点で、基準画像を対象に、登録された情報を用いて処理対象画像に対して行うのと同様の算出処理および投票処理を実行する。 この結果、得られるベクトルの長さが所定のしきい値を下回る場合には、基準点を再設定して、再度各モデルエッジ点についての登録処理を実行することになる。
    このような処理によれば、対象物の位置および回転角度を求めるのに適した基準点を設定することができるから、認識対象物の形状に関わらず、精度の高い認識処理を実行することができる。

    <態様E>
    この態様では、複数の座標が異なる点を前記基準点に設定し、処理対象画像について、前記基準点の座標を求める処理および投票処理を基準点毎に実行する。
    たとえば、モデルの中心点や重心のみが基準点に設定されていると、処理対象画像中に、モデルに対応する輪郭が複数重ね合わせられた形状の物体が存在する場合でも、モデルに対応する形状毎の基準点が重なって1点として抽出され、物体全体としての輪郭形状を正しく認識できない可能性がある。

    これに対し、上記の態様Eによれば、中心点や重心が基準点に含まれていても、それ以外の基準点が、モデルに対応する輪郭毎に抽出されるので、これらの抽出結果に基づき、各輪郭の向きや位置関係を切り分けて判別できる。 よって物体全体の輪郭形状を正しく認識することができる。

    つぎに、この発明にかかる物体認識用のプログラムは、所定の輪郭形状を有するモデルを含む基準画像を用いて、基準点の座標を設定するとともに、前記モデルの輪郭を構成する複数のモデルエッジ点に個別に着目し、画素情報を規定する1または複数の変数の中の所定の変数について、着目画素とその周辺の画素についての前記所定の変数に基づいて前記着目画素における前記所定の変数の変化の方向を求め、その変化の方向に対応する方向であるエッジ方向と、前記基準点の前記エッジ方向に対する方位と、前記基準点からの距離とを示す情報を登録する機能;および前記画素情報を規定する1または複数の変数の中の所定の変数について、着目画素とその周辺の画素についての前記所定の変数に基づいて着目画素における前記所定の変数の変化の勾配を求めたときに、その勾配が所定値を超える着目画素をエッジ点として抽出する場合の当該エッジ点を含む画像を処理対象として、その処理対象画像上の複数のエッジ点に対し、前記エッジ点の座標およびエッジ方向を求める機能を有するコンピュータに対し、前記処理対象画像から前記モデルに対応する輪郭を有する輪郭パターンの位置および前記モデルを基準にした輪郭パターンの回転角度を認識する機能を設定するためのもので、候補値算出手段、記憶手段、情報更新手段、抽出手段、認識手段の各手段として前記コンピュータを認識させる。

    前記候補値算出手段は、前記処理対象画像上の各エッジ点につき、それぞれ前記各モデルエッジ点の登録情報を用いて、登録された各モデルエッジ点がそれぞれ前記エッジ点に該当するとしたときに規定される基準点の座標、およびエッジ点のエッジ方向とモデルエッジ点のエッジ方向との差を示す角度を算出する。

    記憶手段は、前記候補値算出手段が算出した角度に対応するベクトルを基準点の座標毎に合成した場合の当該合成ベクトルを表す数値情報を記憶するためのものである。 たとえば、前記回転角度の正弦および余弦の値により回転角度に対応するベクトルを表す場合には、これらの数値情報の累積値を基準点の座標(X,Y)に対応づけて格納する2次元配列が、記憶手段として機能する。

    情報更新手段は、前記候補値算出手段により基準点の座標および角度の算出が行われる都度、算出された基準点の座標に対応する前記記憶手段内の数値情報を、算出された回転角度を用いて更新する。 抽出手段は、前記候補値算出手段および情報更新手段による処理が終了したことに応じて、前記記憶手段に格納された数値情報を用いて前記合成ベクトルの長さが所定値を超える座標、もしくは各合成ベクトルを長さが最大になるものから順にみた場合の所定数のベクトルに対応する座標を抽出する。
    認識手段は、前記抽出手段による抽出結果を用いて前記輪郭パターンの位置および回転角度を認識する。

    上記のプログラムによれば、あらかじめ基準画像を用いて、前記基準点の設定、および複数のモデルエッジ点に関する情報が登録されていることを条件に、前記した物体認識方法を実行することが可能になる。

    なお、このプログラムが記憶された記憶媒体には、上記の機能のほかに、処理対象画像上のエッジ点を抽出する機能や、前記輪郭パターンの位置および角度を認識した後の処理(計測、判別など)を実行するための機能を設定するためのプログラムを含めてもよい。

    この発明にかかる物体認識装置は、前記エッジ点を含む画像を入するための画像入力手段;所定の輪郭形状を有するモデルを含む基準画像が前記画像入力手段から入力されたとき、この基準画像を用いて基準点の座標を設定するとともに、この基準画像中のモデルの輪郭を構成する複数のモデルエッジ点について、エッジ方向、基準点に対する方位、前記基準点からの距離を示す情報を登録する登録手段;および上記した候補値算出手段、記憶手段、情報更新手段、抽出手段、認識手段の各手段を具備する。

    上記構成のうち、画像入力手段を除く各手段は、それぞれの手段にかかるプログラムが設定されたコンピュータにより構成しても良いが、これに限らず、ICなどの集積回路により構成してもよい。 また、一部の手段をコンピュータにより構成し、他の手段をICなどで構成してもよい。

    この発明によれば、基準点や回転角度の正しい値を反映した得票が強められる一方、モデルエッジ点の対応づけの誤りやノイズに起因する得票が小さくなるような投票処理を実行できるので、ノイズの影響を受けることなく、対象物の位置や回転角度を精度良く求めることが可能になる。 また投票処理のためのメモリ容量を大幅に削減できるので、認識処理を高速化することもできる。

    (1)画像処理装置の構成 図1は、この発明が適用された画像処理装置の設置例を示す。
    この実施例の画像処理装置は、カメラ1、コントローラ2、モニタ3、コンソール4などにより構成されており、工場の検査ラインLにおいて、搬送されてくるワークWを順に撮像して画像を生成し、その画像を処理することによって、前記ワークW上の認識対象物7(この実施例では、文字列「ABC」が印刷されたラベル)の適否を判別する。

    図2は、前記画像処理装置の電気構成を示す。
    前記コントローラ2は、CPU21を制御主体として、フラッシュメモリ22、RAM23、グラフィックコントローラ24、カメラ用インターフェース25、入力用インターフェース26、外部用インターフェース27などを具備する。

    フラッシュメモリ22には、プログラムや処理に必要なパラメータなどが格納され、RAM23には、画像データや途中の演算結果などが一時保存される。
    カメラ用インターフェース25には、前記カメラ1の駆動回路、画像信号を受け付けるためのバッファ、A/D変換回路(いずれも図示せず。)などが含まれる。 入力用インターフェース26は、前記コンソール4からの信号を受け付けるためのものである。 外部用インターフェース27は、図示しない外部機器(パーソナルコンピュータ、PLCなど)と通信する際に使用される。 グラフィックコントローラ24は、前記モニタに対する表示制御を実行する。

    前記CPU21には、ワーク検出用のセンサ5(光電スイッチ、近接スイッチなど)が接続されている。 CPU21は、このセンサ5からワークWを検出した旨を示す信号を入力すると、カメラ用インターフェース25を用いてカメラ1を駆動し、前記ワークWを撮像させる。 そして前記ワークWの濃淡画像(以下、「処理対象画像」という。)が生成され、RAM23に保存されると、CPU21は、前記フラッシュメモリ22に記憶されたプログラムに基づき、前記認識対象物7の位置および回転角度を求める。 さらに、この処理結果に基づき、前記認識対象物7内の画像をあらかじめ登録された基準部分画像(前記文字列のモデルを撮像して得られた画像から切り出されたもの)と照合することにより、前記認識対象物7に位置ずれ、汚れ、めくれなどの不良がないか、文字列の印刷状態が適切であるか、認識対象物7が異なる種類のラベルでないか、などを判別する。

    なお、上記図1,2に示したコントローラ2は、画像処理専用に開発された装置であるが、これに限らず、たとえば、画像処理用のプログラムがインストールされたパーソナルコンピュータを使用してもよい。 この場合のプログラムは、CD−ROMなどの記憶媒体または通信回線を介してパーソナルコンピュータに提供される。 またパーソナルコンピュータに代えて、モニタおよび入力部が一体化されたパネル式のコントローラを使用してもよい。
    また、この実施例の画像処理装置は、モノクロ濃淡画像を処理するものであるが、これに代えて、カラー濃淡画像を生成して処理することも可能である。

    (2)認識対象物の抽出方法 この実施例の画像処理装置では、前記ワークW毎に処理対象画像を生成し、各処理対象画像に一般化ハフ変換の手法を用いた物体認識処理を行うことによって、認識対象物7を抽出している。
    一般化ハフ変換を行うには、従来と同様に、ワークWのモデルを撮像して得られた画像を基準画像として、この基準画像を用いた登録処理を行う必要がある。 たとえば、基準画像上のラベルのうち、前記「ABC」の文字列を含む領域を指定して、その領域の任意の1点を基準点に設定する。 また、前記指定領域中に含まれる複数のエッジ点(ラベルおよびA,B,Cの各文字の輪郭線を構成する点)をモデルエッジ点として抽出し、これらについて、エッジ方向を表す角度α、基準点に対する方位を示す角度φ、基準点との距離Rをそれぞれ算出し、RAM23に登録する。 なお、この実施例におけるα,φ,Rは、いずれも前記図12に示した従来例と同様に定義づけられ、前記図13に示したのと同様の構成のテーブルに登録される(以下、このテーブルを「モデルテーブル」という。)。

    検査時には、処理対象画像からエッジ点を抽出した後、各エッジ点について、前記モデルエッジ点の登録情報を用いて基準点Oの座標(X,Y)および対象物の回転角度Θの候補の値を算出する。

    具体的には、処理対象画像上の任意のエッジ点Eの座標を(x,y)、そのエッジ方向を示す角度をβとすると、中心点Oの座標(X,Y)および回転角度Θは、下記の(1)〜(3)式により求められる。
    X=R *cos(φ +β)+x ・・・(1)
    Y=R *sin(φ +β)+y ・・・(2)
    Θ=β−α ・・・(3)

    この実施例では、処理対象画像上の各エッジ点につき、それぞれモデルテーブルに登録されたモデルエッジ点を順に対応づけて、上記の(1)〜(3)式を実行することにより、(X,Y,Θ)の組み合わせをN個求める。 この算出方法自体は、従来の一般化ハフ変換と同様であるが、この実施例では、算出された(X,Y,Θ)を、従来とは異なる方法で投票することにより、認識対象物7の位置および回転角度の認識精度や処理速度を向上できるようにしている。

    図3は、この実施例の投影処理の概要を示す。 なお、この図3および後記する図8では、前記図12,14に示したのと同様の基準画像30および処理対象画像31を処理するものとして説明する。

    この実施例では、3種類の投票平面S,C,Pが設定される。 各平面S,C,Pとも、前記角度Θに基づく数値情報を基準点の座標(X,Y)に投票するためのものである。 具体的には、各平面S,C,Pは、それぞれ座標(X,Y)を引数とする2次元配列S(X,Y),C(X,Y),P(X,Y)として構成される。

    平面S,Cへの投票は、処理対象画像31上のエッジ点とモデルエッジ点との組み合わせ毎に行われる。 平面Sには回転角度Θの正弦値sinΘが投票され、平面Cには回転角度Θの余弦値cosΘが投票される。 また、投票される座標に既に値が格納されている場合には、その値に今回の値が加算される。
    すなわち、各平面S,Cには、基準点の候補として算出された座標毎に、投票された値の累積値が格納されることになる。

    一方、平面Pへの投票は、前記平面S,Cへのすべての投票が終了した時点で行われる。 この平面Pには、各座標(X,Y)毎に、平面S,Cの同一座標に格納された値S(X,Y),C(X,Y)の自乗和((S(x、y)) +(C(x,y)) )が投票される。

    前記sinΘは、前記回転角度Θに対応するベクトルの垂直成分を表し、cosΘは、前記ベクトルの水平成分を表していると考えられる。 したがって、sinΘ,cosΘの累積値は、前記ベクトルの合成ベクトルの垂直成分、水平成分に該当すると考えられる。 また、これらの累積値の自乗和Pは、前記合成ベクトルの長さを表すと考えられる。

    合成ベクトルの長さは、合成される各ベクトルの方向のばらつき(分散)が小さいほど大きくなる。 したがって上記の投票処理においても、平面上の1座標に対応する合成ベクトルは、その座標に投票された角度Θの分散が小さいほど大きくなる。
    ここで、座標(X,Y)が基準点Oの正しい座標にあたらなければ、複数の投票があったとしても、各投票における角度Θの分散が大きくなり、その結果、合成ベクトルは小さくなると考えられる。 これに対し、座標(X,Y)が基準点Oの正しい座標であれば、各投票における角度Θの分散はきわめて小さくなり、その結果、合成ベクトルの長さは、他の座標で得られるものより大きくなると考えられる。

    この実施例では、上記の考察に基づき、前記平面Pにおける得票が最大値P maxになる座標(X ,Y )を、前記処理対象画像における基準点Oの座標として抽出するようにしている。 さらに、つぎの(4)式により、座標(X ,Y )における合成ベクトルの傾きをΘ を求め、これを前記認識対象物7の回転角度として認識するようにしている。

    上記の投票処理によれば、誤ったモデルエッジ点の対応づけやノイズに起因する得票を小さくできるので、基準点Oの座標や回転角度Θの正しい値を安定して求めることができる。 また、この投票処理は、3種類の投票平面により実行できるから、従来の一般化ハフ変換よりも、投票処理のためのメモリ容量を大幅に削減することができ、処理を高速化することができる。

    (3)検査について 以下、上記の一般化ハフ変換による認識対象物の抽出処理を中心に、前記画像処理装置で実行される検査の流れを説明する。
    まず、図4は、検査時にコントローラ2で実施される処理手順を示す。

    同手順の最初のST1(STは「STEP(ステップ)」の略である。以下も同じ。)では、前記カメラ1およびカメラ用インターフェース25により生成された処理対象画像をRAM23内に入力する。

    つぎのST2では、前記処理対象画像上のエッジ点を抽出する。 具体的には、処理対象画像上にソーベルオペレータなどによるエッジ抽出フィルタを走査し、濃度勾配の大きさが所定値以上の画素をエッジ点として抽出する。 なお、ここで抽出されたエッジ点の座標やエッジ抽出フィルタにより抽出された濃度勾配の大きさΔx,Δy(Δxは水平方向における濃度勾配の大きさ、Δyは垂直方向における濃度勾配の大きさ)は、RAM23の所定領域に保存される。

    つぎのST3では、前記図3に示した方法を用いて、認識対象物7の位置および回転角度を抽出する処理(以下、「初期サーチ」という。)を実行する。 続くST4では、初期サーチの結果を用いてより詳細な検索処理(以下、「詳細サーチ」という。)により、前記認識対象物7の位置および回転角度を特定する。 これらの詳細な手順については、後で詳細に説明する。

    ST5では、前記詳細サーチで求めた位置および回転角度に基づき、処理対象画像から前記認識対象物7を含む画像を切り出し、その回転ずれを補正する。 ST6では、この補正後の画像に対し、前記基準部分画像との差分演算処理を実行する。 この差分演算処理により、前記印字領域7内の文字列とモデルの文字列との間の差異を示す画像(差画像)が生成される。

    ST7では、前記差画像に対し、2値化、ラベリングなどを実行して、前記差異に相当するパターンを抽出した後、このパターンの位置、面積などを計測する。 ST8では、前記計測値を所定のしきい値と比較するなどして、前記計測対象の文字列の適否を判定する。 さらにST9において、前記判定結果を外部機器などに出力した後、処理を終了する。

    つぎに、上記の検査手順に先立って行われるモデル登録処理について、図5を用いて説明する。
    この図5の処理では、前記初期サーチおよび詳細サーチに使用されるモデルエッジ点の情報とともに、前記差分演算処理に用いる基準部分画像が登録される。

    まず最初のST101では、前記認識対象物のモデルの撮像によって生成された基準画像が入力され、RAM23に格納される。 また、この入力画像は、モニタ3にも表示される。

    つぎのST102では、前記モニタ3の表示画面に対する領域指定操作を受け付ける。 ST103では、指定された領域内の画像について、前記図4のST2と同様の方法によりエッジ点を抽出する。

    なお、ここでは図示していないが、ST103において、十分な数のエッジ点が抽出されなかった場合には、ST102に戻り、再度の領域指定操作を受け付けるのが望ましい。 また、前記図1に示したようなラベルを認識対象物にする場合には、このラベル自体の輪郭を除き、文字列「ABC」のみが含まれるような領域を指定するのが望ましい。 ラベルの地の部分を背景として、その背景から文字の部分に向かう濃度勾配を抽出することによって、文字の輪郭を構成するエッジ点を抽出できるからである。

    ST104では、基準点の設定を行う。 この処理でも、ユーザーの指定操作を受け付けて、その指定された座標を基準点にすることができる。 または、前記ST103のエッジ抽出結果を用いてモデルの重心などを自動抽出し、これを基準点に設定しても良い。

    ST105では、エッジ点の抽出数をNとする。 ST106では、前記RAM23にN個分の領域を有するモデルテーブルを設定する。 そして、以下、ST107〜113を実行することにより、各モデルエッジ点につき、前記角度α 、角度φ 、距離R (0≦i≦N−1)を求め、これらを前記モデルテーブルに登録する。
    なお、角度α 、角度φ 、距離R は、いずれも図12の従来例に示したのと同様の基準で算出される。

    登録が完了すると、登録された情報が、基準点Oを抽出するのに適切であるかどうかを検証するための処理を実行する。 このような処理を設けているのは、1つのモデルエッジ点に2以上のエッジ点が対応づけできるような場合には、基準点Oの正しい座標に対する得票が小さくなる可能性があり、その結果、基準点Oや回転角度Θの誤抽出が起こるおそれがあるためである。

    たとえば、認識対象物の輪郭が点対称の図形である場合、その中心点が基準点Oに設定されていると、点対称の関係にある2つのエッジ点においては、前記基準点Oの正しい座標に対応するベクトルが相反する方向を向くので、ベクトルの合成処理時にこれらが打ち消され、合成ベクトルが小さくなってしまう。

    上記の問題を解決するために、ST114では、前記基準画像に初期サーチを実行し、前記合成ベクトルの長さの最大値P maxを求める。 さらにST115において、このP maxと所定の許容値M との差を求め、この差が所定のしきい値thより大きいかどうかをチェックする。 ここで、(P max −M )の値がth以下であれば、ST116に進んでモデルテーブル内の全データをクリアし、基準点Oとして、ST104で設定されたのとは異なる点を再設定する。
    この後は、ST107に戻り、新たに設定された基準点Oに基づき、各モデルエッジ点にかかる登録処理を再度実行する。

    なお、許容値M は、処理対象画像中に認識対象物が存在しない場合に対応するために設けたものである。 初期サーチにおいて、合成ベクトルの最大値P maxがこの許容値M より小さい場合には、認識対象物は存在しないと判断される。

    したがって、(P max −M )の値がthを上回る場合には、認識対象物の基準点の座標を十分な精度で抽出できると考えられる。 よって、この場合にはST117に進み、作成されたモデルテーブルを確定し、登録する。
    さらにST118では、前記基準画像から前記ST102で指定された領域内の画像を切り出し、これを、前記画像間差分演算用の基準部分画像として登録する。

    続いて、図6を用いて前記初期サーチの詳細な手順を説明する。
    まず最初のST201では、前記3つの投票平面S,C,Pを構成する2次元配列を初期化(ゼロクリア)する。

    ST202では、処理対象画像上の1エッジ点に着目し、その座標(x,y)を抽出する。 ST203では、このエッジ点の抽出時に求められた濃度勾配の大きさΔx,Δyを用いて、エッジ方向を示す角度βを算出する。

    ST204では、モデルエッジ点を特定するためのカウンタiに、初期値0をセットする。 そして、前記モデルテーブルから、i番目のモデルエッジ点の登録情報R ,φ ,α を読み出し、これらと前記x,y,βとを用いて前記(1)〜(3)式を実行することにより、基準点の座標(X,Y)および回転角度Θを算出する。 さらにST206では、S(X,Y),C(X,Y)に、それぞれsinΘ,cosΘを加算する。

    以下、カウンタiを1つずつ更新することにより、対応するモデルエッジ点を変更し、ST205,206の処理を繰り返す。 N−1番目のモデルエッジ点を用いた処理が終了すると、今度は処理対象画像の着目対象のエッジ点を変更し、ST202に戻って上記と同様の処理を繰り返し実行する。
    この結果、すべてのエッジ点に対する処理が終了すると、ST209が「YES」となってST210に進み、前記平面S,Cのすべての座標毎に、S(X,Y)とC(X,Y)との自乗和を求め、これをP(X,Y)に格納する。

    ST211では、前記P(X,Y)のうちの最大値P maxに相当する座標(X ,Y )を抽出する。 さらにST212では、前記最大値P maxを前記許容値M と比較する。 ここでP max ≧M であれば、ST213に進み、前記(4)式により回転角度Θ を算出する。

    他方、前記モデルに対応する輪郭形状が処理対象画像に含まれていない場合には、P max <M となる。 この場合には、ST214に進み、サーチは失敗であるとして所定のエラー処理に移行する。

    つぎに、前記詳細サーチについて説明する。
    この実施例の詳細サーチでは、前記基準点Oの座標および回転角度をより正確に求めることを目的として、初期サーチの結果を用いて、モデルエッジ点毎に処理対象画像の限定された範囲のエッジ点を用いた処理を実行している。

    以下、図7を用いて詳細サーチの具体的な手順について説明する。
    まず最初のST301において、前記モデルエッジ点を特定するためのカウンタiに初期値0をセットする。 つぎにST302では、前記初期サーチで求めたX ,Y ,Θ を用いてつぎの(5)(6)式により、i番目のモデルエッジ点に対応する座標(x 、y )を求める。

    =X +R *cos(Θ −φ ) ・・・(5)
    =X +R *sin(Θ −φ ) ・・・(6)

    図8は、基準画像30上の任意のモデルエッジ点Mと処理対象画像31上の対応点mとの関係を示す。 また図8の(3)は、処理対象画像31中の前記対応点mを含む領域32の画像を拡大したものである。 この例の対応点mはエッジ点ではないが、前記初期サーチで求めた(X ,Y ,Θ )の信頼性は高いと考えられるので、この対応点mの近傍に、モデルエッジ点Mの真の対応点に該当するエッジ点が存在すると考えられる。 またその真の対応点の近傍のエッジ点でも、基準点Oに対する方位や距離は、モデルエッジ点で求められるものに近似すると考えられる。

    そこで、詳細サーチでは、前記対応点mおよびその周囲近傍の数画素を含むマスク33を設定し、このマスク33に含まれる各エッジ点eにつき、それぞれ前記モデルエッジ点Mの登録情報を適用して、基準点Oの座標および回転角度を求め直すようにしている。

    図7に戻って上記の処理を具体的に説明する。 ST303において、前記マスク33を設定すると、つぎのST304では、このマスク33内の1エッジ点eの座標(x ,y )を抽出する。 さらにST305では、このエッジ点eについて、エッジ方向を示す角度β を求める。

    ST306では、上記のx ,y ,β とi番目のモデルエッジ点の登録情報を用いて下記の(7)〜(9)式を実行することにより、基準点Oの座標(X ,Y )および回転角度Θ を求める。
    =x +R *cos(β +φ ) ・・・(7)
    =y +R *sin(β +φ ) ・・・(8)
    Θ =β −α ・・・・(9)

    前記したように、マスク33内のエッジ点eは、基準点Oに対し、モデルエッジ点Mと同一またはきわめて近い関係を有していると考えられるから、上記のX ,Y ,Θ も、モデルエッジ点への真の対応点について算出されるものに近似すると考えられる。 ただし、この考えは、認識対象物の輪郭を構成するエッジ点についてのみ適用できるもので、ノイズ成分から求められたX ,Y ,Θ にはあてはまらない。
    このため、この実施例では、前記ST306で求めた(X ,Y ,Θ )と前記初期サーチで求めた(X ,Y ,Θ )とをそれぞれ3次元空間の1点として捉えて、これらの点の間の距離Dを求め、この距離を所定のしきい値D0と比較するようにしている(ST307,308)。 ここで前記距離Dが距離D0より大きい場合には、(X ,Y ,Θ )は、ST309の演算の対象から除外される。

    一方、距離Dが前記D0以下であれば、ST309に進み、変数Xc,Ycを用いてX ,Y の累積処理を行うとともに、Θ について、変数Sc,Ccを用いて、前記初期サーチの投票平面S,Cで実行したのと同様のベクトルの合成処理を実行する。 なお、ncはこのST309の処理回数を記憶するためのカウンタである。

    以下、同様に、マスク33内のすべてのエッジ点eを順に抽出して、ST304〜309を実行する。 マスク33内の最後のエッジ点に対する処理が終了すると、ST312において、着目対象のモデルエッジ点を変更し、上記の処理を繰り返す。
    かくして、すべてのモデルエッジ点について上記の処理が実行されると、ST313に進み、基準点Oの座標について、前記累積値Xc,Ycおよび処理回数ncを用いて平均値を算出し、これを最終の値X ,Y とする。 また回転角度についても、前記Sc,Ccを用いて、前記合成ベクトルの角度を求め、これを最終の値Θ とする。

    このように、詳細サーチでは、処理対象のエッジ点を絞り込むとともに、基準点の座標について、算出される値のばらつきが小さいことを条件に平均値を求めるので、初期サーチのような平面を用いた投票処理を行う必要がなくなり、処理を高速化できる。
    またいずれのモデルエッジ点についても、その対応点およびその近傍のエッジ点から求めた座標や回転角度を求めるので、最終的に算出されたX ,Y ,Θ は、初期サーチで求めたX ,Y ,Θ よりも精度の良いものとなる。

    また前記初期サーチでは、エッジ点毎にNサイクル分の処理を行う必要があるので、ノイズ成分が多い場合などに、処理に多大な時間がかかる可能性がある。 このような場合、処理の高速化のために初期サーチの処理対象のエッジ点を間引きしても、その後の詳細サーチによって、算出の精度を確保することができる。

    (5)その他の実施例 上記実施例に示した画像処理装置では、さらに以下のa,b,c,dに示すような処理を実行することができる。

    a. 正規化相関による認識処理 前記図4に示した検査の手順では、前記初期サーチや詳細サーチによって、基準点Oの座標(X ,Y )および認識対象物の回転角度Θ を特定した後は、画像間差分演算を実行しているが、この処理に代えて、またはこの処理に加えて、正規化相関演算による認識処理を実行してもよい。 この場合、処理対象画像から基準部分画像に対応する画像を切り出して回転ずれ補正を実行し、その補正後の画像に前記基準部分画像を用いた正規化相関演算を実行することによって、基準部分画像に対する類似度を求めることができる。 または、基準部分画像を前記回転角度Θ により補正した後に、その基準点を前記処理対象画像上の座標(X ,Y )に合わせて正規化相関演算を実行してもよい。
    また、基準部分画像を複数種登録しておき、基準部分画像毎に正規化相関演算を実行してもよい。

    上記の処理は、認識対象物の濃淡の度合い(カラー画像であれば色合いの違い)を抽出するような場合に有用となる。 一般化ハフ変換による認識処理では、物体の輪郭形状を精度良く抽出することはできるが、濃淡の差異を判別することはできない。 一方、従来の正規化相関演算による検索処理では、処理対象画像全体を走査する必要がある上、認識対象物の回転を考慮して複数の回転モデルによる検索を行う必要があり、処理に時間がかかるという問題がある。
    しかし、一般化ハフ変換によって、認識対象物の位置や回転角度を求めておけば、正規化相関演算を実行する範囲を限定でき、また回転モデルを作成する必要もなくなるから、処理時間を大幅に短縮して、精度の高い認識処理を実行することができる。

    b. 複数の基準点の設定 前記図5に示したモデル登録処理では、認識対象物の形状に応じて複数の基準点を設定してもよい。
    たとえば、図9(A)に示すように、所定の形状を有するモデルについて、その中心点が基準点Oとして設定されている場合に、モデルと同じ形状とこれに反転する形状とが重なって点対称の形状になった認識対象物が存在すると、前記したように、基準点Oに対する得票が小さくなり、基準点Oを正しく抽出できなくなる可能性がある。 また、基準点Oを抽出できた場合でも、モデルに対応する形状が2つ存在することまでは認識できない。

    一方、図9(B)に示すように、前記モデルについて、その中心点を第1の基準点O とし、O から所定距離を隔てた点を第2の基準点O とすると、前記認識対象物について、基準点O のほかに、2つの基準点O 21 ,O 22を抽出することができる。 よって、これらの点の位置関係から、認識対象物の形状や姿勢を誤らずに判別することができる。

    c. 基準点Oの座標を2つ算出する方法 たとえば、図10に示すように、モデルと認識対象物との間で明暗の関係が逆になっていると、処理対象画像のエッジ点における濃度勾配方向も基準画像とは反対の方向を向くことになる。 このようなケースが想定される場合には、図11に示すように、処理対象画像上の各エッジ点Eについて、前記角度βが示す方向h1およびこれに反転する方向h2からそれぞれ反時計回りに角度φ回転した方向において、基準点の候補点O1,O2の座標を求める必要がある。

    この場合、すべてのエッジ点について、それぞれ(X,Y,Θ)の組を2組ずつ求めて投票処理を行うことになるが、前記h1,h2のうち、基準点Oへの方向とは異なる方向に対応する(X,Y,Θ)の内容はエッジ点毎に異なるものとなる。 よって、基準点Oへの方向とは異なる方向に対応する投票では、前記許容値M を超える長さの合成ベクトルは作成されず、基準点Oへの方向において、その正しい座標および正しい回転角度を求めることができる.

    またカラー濃淡画像を処理する場合にも、図11と同様の処理を行う必要がある。 カラー濃淡画像上のエッジを抽出するには、濃度勾配の大きさに代えて色彩の変化量(色差)を求めなければならないが、色差は、R,G,Bの各色成分を軸とする3次元空間の距離として求められるため、色彩の変化量が大きい点をエッジ点として抽出できるだけになる。 このため、基準点の位置が不明な処理対象画像においては、前記h1,h2のいずれの方向に基準点があるか特定できないから、両方向を処理対象とする必要がある。

    d. 投票処理の他の例 前記した実施例では、回転角度Θの正弦および余弦の値を投票するようにしたが、これに代えて、回転角度Θに対応するベクトルの水平成分および垂直成分を投票してもよい。 この場合の各成分は、回転角度Θに応じた正または負の値で表されるから、前記図3に示したのと同様に、投票のあった座標(X,Y)毎に各成分の累積値を求め、最終的な値の自乗和を求める方法によって、認識対象物の位置や回転角度を精度良く求めることができる。

    この発明が適用された画像処理装置の設置例を示す説明図である。

    画像処理装置のブロック図である。

    投票処理の概要を示す説明図である。

    検査の手順を示すフローチャートである。

    モデル登録処理の手順を示すフローチャートである。

    初期サーチの手順を示すフローチャートである。

    詳細サーチの手順を示すフローチャートである。

    モデルエッジ点への対応点、およびマスクの設定例を示す説明図である。

    基準点を複数設定する意義を説明するための図である。

    基準点の座標を2つ算出しなければならない事例を示す説明図である。

    基準点の座標を2つ算出する場合の算出方法を示す説明図である。

    一般化ハフ変換で使用する基準画像および登録情報を示す説明図である。

    モデルテーブルの構成例を示す説明図である。

    処理対象画像の一例を、モデルエッジ点との関係とともに示す説明図である。

    従来の一般化ハフ変換における投票処理を示す説明図である。

    非特許文献1に開示された投票処理を示す説明図である。

    符号の説明

    2 コントローラ7 認識対象物21 CPU
    22 フラッシュメモリ23 RAM
    30 基準画像31 処理対象画像

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈