(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-17
(45)【発行日】2023-04-25
(54)【発明の名称】単位格子の共有に基づく点群自動グループ化方法および画像処理システム
(51)【国際特許分類】
G06T 7/00 20170101AFI20230418BHJP
【FI】
G06T7/00 350Z
(21)【出願番号】P 2019032778
(22)【出願日】2019-02-26
【審査請求日】2022-02-03
(73)【特許権者】
【識別番号】509162388
【氏名又は名称】エイチエスティ・ビジョン株式会社
(74)【代理人】
【識別番号】100111202
【氏名又は名称】北村 周彦
(74)【代理人】
【識別番号】100187562
【氏名又は名称】沼田 義成
(72)【発明者】
【氏名】長谷川 潤
(72)【発明者】
【氏名】佐藤 邦彦
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2015-001750(JP,A)
【文献】特開2009-029861(JP,A)
【文献】特開2013-029903(JP,A)
【文献】阿部真之他,Delaunay分割を用いたPolygonality計測,電子情報通信学会論文誌D VolumeJ100-D No.8 [online] ,日本,電子情報通信学会,2017年08月01日,第J100-D巻 第8号,pp.783-797
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 3/00 - 3/60
G06T 5/00 - 5/50
G06T 7/00 - 7/90
G06V 10/00 - 20/90
G06V 30/418
G06V 40/16
G06V 40/20
CSDB(日本国特許庁)
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
画像に示される二次元点群を識別するためのデータを生成する画像処理方法であって、
前記画像から前記二次元点群を抽出する工程と、
前記二次元点群のそれぞれを頂点とした三角形分割を行う工程と、
前記二次元点群を識別するための前記データとして格子領域を定義する工程において、前記三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する1つ以上の三角形を1つの前記格子領域として判定する工程と、を含み、
前記複数の三角形の内、共通辺を有する2つの三角形において、前記共通辺の中点に対して前記2つの三角形が点対称の関係にある場合、又は、前記共通辺の何れかの頂点に位置する前記2つの三角形の内角が直角であると共に前記共通辺に対して前記2つの三角形が線対称の関係にある場合、前記2つの三角形が共通の前記単位格子を有すると判定し、
これらの工程により前記単位格子の共有に基づく点群自動グループ化を行うことを特徴とする点群自動グループ化方法。
【請求項2】
画像に示される二次元点群を識別するためのデータを生成する画像処理システムであって、
前記画像から前記二次元点群を抽出し、
前記二次元点群のそれぞれを頂点とした三角形分割を行い、
前記二次元点群を識別するための前記データとして格子領域を定義する際に、前記三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する1つ以上の三角形を1つの前記格子領域として判定
し、ここで、前記複数の三角形の内、共通辺を有する2つの三角形において、前記共通辺の中点に対して前記2つの三角形が点対称の関係にある場合、又は、前記共通辺の何れかの頂点に位置する前記2つの三角形の内角が直角であると共に前記共通辺に対して前記2つの三角形が線対称の関係にある場合、前記2つの三角形が共通の前記単位格子を有すると判定することで、前記単位格子の共有に基づく点群自動グループ化を行うことを特徴とする画像処理システム。
【請求項3】
前記三角形分割としてDelaunay三角形分割を用いることを特徴とする請求項2に記載の画像処理システム。
【請求項4】
前記複数の三角形の全てについて前記格子領域との関連付けを終了した後、前記二次元点群のそれぞれの特徴点について、前記特徴点を頂点とする全ての前記三角形に関連付けられた前記格子領域の内、最も多くの三角形に関連付けられている前記格子領域を前記特徴点に関連付けることを特徴とする請求項2ないし
3の何れか1項に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に示される二次元点群を識別するためのデータを生成するものであって、単位格子の共有に基づく点群自動グループ化方法および画像処理システムに関する。
【背景技術】
【0002】
例えば、BGA(ボール・グリッド・アレイ)等の電子部品は、基板上に複数のボール端子を有する。マシンビジョンシステム等の画像処理システムでは、実装や検査の対象となる電子部品について、複数のボール端子の配列の画像を撮影し、画像における各ボール端子の位置を識別可能に把握する必要がある(特許文献1参照)。また、電子部品毎に、各ボール端子の配列が異なるので、画像処理システムでは、各ボール端子の配列を把握することで、電子部品を識別することもできる。
【0003】
電子部品の画像において、複数のボール端子や複数のホールは、二次元点群で示されるところ、二次元点群の配列を識別可能に表す記述をできるだけ少なくすることが要求されている。そこで、規則的に配置されたボール端子の画像において、各ボール端子の中心を格子点にして各格子点を結んだ二次元格子を特定し、二次元点群を格子の規則的な配列に基づいて検出することが可能となる。例えば、複数のボール端子の中心のXY座標は、電子部品の画像にブロブ解析を行うことで、二次元点群の座標として求めることができる。また、同じ規則性(パターン)で配列されたボール端子の単位格子は、二次元点群の座標にフーリエ変換等の周波数解析を行うことで求めることができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、BGA等の電子部品には、複数のボール端子が、異なる領域では異なる規則性で配列され、即ち、複数のボール端子を示す二次元点群が、異なる単位格子が混在するように配列されることがある。その場合、二次元点群についてフーリエ解析を行っても、異なる単位格子毎に異なる周波数が計測されるので、全ての単位格子の基本周波数を特定することが困難である。従って、異なる規則性が混在して複数のボール端子が配列されている場合、周波数解析を行っても、二次元点群の格子の配列を適切に検出することができず、二次元点群を適切に識別することができない。
【0006】
本発明は上記した課題を解決すべくなされたものであり、画像における二次元点群の配列に混在する単位格子に拘らず、二次元点群の識別を容易にすることを目的とするものである。
【課題を解決するための手段】
【0007】
上記した目的を達成するため、本発明の方法は、画像に示される二次元点群を識別するためのデータを生成する画像処理方法であって、前記画像から前記二次元点群を抽出する工程と、前記二次元点群のそれぞれを頂点とした三角形分割を行う工程と、前記二次元点群を識別するための前記データとして格子領域を定義する工程において、前記三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する1つ以上の三角形を1つの前記格子領域として判定する工程と、を含み、これらの工程により前記単位格子の共有に基づく点群自動グループ化を行うことを特徴とする。
【0008】
また、本発明の画像処理システムは、画像に示される二次元点群を識別するためのデータを生成する画像処理システムであって、前記画像から前記二次元点群を抽出し、前記二次元点群のそれぞれを頂点とした三角形分割を行い、前記二次元点群を識別するための前記データとして格子領域を定義する際に、前記三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する1つ以上の三角形を1つの前記格子領域として判定することで、前記単位格子の共有に基づく点群自動グループ化を行うことを特徴とする。
【0009】
例えば、前記三角形分割としてDelaunay三角形分割を用いるとよい。
【0010】
更に、前記複数の三角形の内、共通辺を有する2つの三角形において、前記共通辺の中点に対して前記2つの三角形が点対称の関係にある場合、又は、前記共通辺の何れかの頂点に位置する前記2つの三角形の内角が直角であると共に前記共通辺に対して前記2つの三角形が線対称の関係にある場合、前記2つの三角形が共通の前記単位格子を有すると判定するとよい。
【0011】
また、前記複数の三角形の全てについて前記格子領域との関連付けを終了した後、前記二次元点群のそれぞれの特徴点について、前記特徴点を頂点とする全ての前記三角形に関連付けられた前記格子領域の内、最も多くの三角形に関連付けられている前記格子領域を前記特徴点に関連付けるとよい。
【発明の効果】
【0012】
本発明によれば、画像における二次元点群の配列に混在する単位格子に拘らず、二次元点群の識別を容易にすることができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施形態に係る画像処理装置を示すブロック図である。
【
図2】本発明の一実施形態に係る画像処理装置において、対象画像における複数のボール端子を概要的に示す平面図である。
【
図3】本発明の一実施形態に係る画像処理装置において、対象画像における二次元点群のグループ化処理を示すフローチャートである。
【
図4】本発明の一実施形態に係る画像処理装置において、対象画像から抽出された二次元点群の各特徴点の点情報のテーブルを示す表である。
【
図5】本発明の一実施形態に係る画像処理装置において、対象画像の二次元点群から得られた各三角形の三角形情報のテーブルを示す表である。
【
図6】本発明の一実施形態に係る画像処理装置において、対象画像の二次元点群から定義された各格子領域の格子領域情報のテーブルを示す表である。
【
図7】本発明の一実施形態に係る画像処理装置において、グループ化処理における格子領域定義処理を示すフローチャートである。
【
図8】本発明の一実施形態に係る画像処理装置において、点対称の状態にある対象三角形と隣接三角形とを示す説明図である。
【
図9】本発明の一実施形態に係る画像処理装置において、線対称の状態にある対象三角形と隣接三角形とを示す説明図である。
【
図10】本発明の一実施形態に係る画像処理装置において、グループ化処理における点情報調整処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参照しつつ、本発明の実施形態について説明する。本発明の画像処理システムとしての画像処理装置1(
図1参照)は、画像に示される二次元点群を識別可能なデータを生成する画像処理を行うように構成される。例えば、画像処理装置1は、
図2に示すように、基板上に複数のボール端子31を配列したBGA(ボール・グリッド・アレイ)等の電子部品を平面的に撮影した画像を対象画像30とし、換言すれば、電子部品の平面視の対象画像30には、複数のボール端子31の配列が二次元で示される。
【0015】
なお、画像処理装置1は、様々な装置やコンピュータ、システムの一部として構成されてよい。例えば、画像処理装置1は、電子部品の対象画像30を入力してこの対象画像30に基づいて電子部品の検査を行うマシンビジョンシステムに適用される。また、画像処理装置1は、他の画像処理システムや撮像システム等のシステムの一部として組み込まれてもよく、あるいは、パーソナルコンピュータ等の独立したコンピュータに適用されてもよい。
【0016】
図1に示すように、画像処理装置1は、対象画像入力部10と、二値化処理部11と、二次元点群抽出部12と、三角形分割部13と、格子領域定義部14と、点情報調整部15とを備える。また、画像処理装置1は、CPU等からなる制御部20と、ROMやRAM等からなる記憶部21とを備える。画像処理装置1は、撮像システムに組み込まれる場合には、制御部20及び記憶部21として、撮像システムに備わる制御部及び記憶部を使用してもよい。画像処理装置1は、ハードディスクや外部メモリ等の記録媒体22を備えてもよく、また、画像処理を操作するためのキーボードやマウス等の操作部23や、画像処理を確認するためのディスプレイ等の表示部24を備えてもよい。
【0017】
画像処理装置1は、制御部20がバス等を介して接続された各部を制御することで動作するように構成される。記憶部21は、画像処理装置1の機能を制御するためのプログラムやデータを記憶している。そして、制御部20は、記憶部21に記憶された各プロクラム等に従って演算処理を実行して、制御部20に接続された各部を制御する。なお、以下では、対象画像30等のデータを記憶部21に記憶しつつ制御部20による画像処理を行う例を説明するが、記憶部21に代えて記録媒体22を利用してもよい。
【0018】
例えば、対象画像入力部10と、二値化処理部11と、二次元点群抽出部12と、三角形分割部13と、格子領域定義部14と、点情報調整部15とは、記憶部21に記憶されて制御部20に実行される画像処理プログラムで構成されてよい。本実施形態の画像処理プログラムは、対象画像30における二次元点群のグループ化処理を行い、
図3に示すように、対象画像30に対して、二値化処理部11による二値化処理(ステップS1)、二次元点群抽出部12による二次元点群抽出処理(ステップS2)、三角形分割部13による三角形分割処理(ステップS3)、格子領域定義部14による格子領域定義処理(ステップS4)、点情報調整部15による点情報調整処理(ステップS5)を順次、行うように構成される。
【0019】
対象画像入力部10は、対象画像30を入力するインタフェースであり、ソフトウェア及びハードウェアの何れで構成されてもよい。本実施形態において、対象画像入力部10は、上記したように、基板上に複数のボール端子31を配列した電子部品について、複数のボール端子31を二次元配列で撮影した対象画像30を入力する。例えば、対象画像入力部10は、撮像システム等に備わるカメラ等の撮像装置で撮影された画像を入力してもよく、記録媒体22に記録された画像を読み取って入力してもよく、あるいは、他の装置との通信によって画像を入力してもよい。対象画像入力部10は、入力した対象画像30を記憶部21に記憶する。
【0020】
二値化処理部11は、対象画像30に二値化処理を行って、白画素部分と黒画素部分とから構成される二値化画像の対象画像30を生成する。
【0021】
二次元点群抽出部12は、二値化処理後の対象画像30に二次元点群抽出処理を行って、対象画像30から特徴点の集合である二次元点群を抽出する。具体的には、二次元点群抽出部12は、対象画像30にブロブ解析を行うことによって、
図2に示すように、対象画像30における各ボール端子31のブロブ(小塊)を特定し、各ブロブの中心を算出することで、各ボール端子31の中心のXY座標を特徴点の座標として算出する。これにより、対象画像30の多数(例えば、4つ以上)のボール端子31から、多数(例えば、4つ以上)の特徴点が抽出される。
【0022】
そして、二次元点群抽出部12は、二次元点群の各特徴点について、特徴点IDを付与し、
図4に示すように、特徴点ID、座標及び格子領域IDを含む点情報のテーブルを、記憶部21に記憶する。例えば、各特徴点は、対象画像30において左上に位置するものから順に、特徴点IDを付与される。格子領域IDは、後述するように特徴点に関連付けられる格子領域を識別するものであり、-1の格子領域IDは、格子領域を関連付けられていないことを示す。
【0023】
三角形分割部13は、二次元点群抽出部12で抽出した二次元点群に三角形分割処理を行って、対象画像30において二次元点群が配列された領域を、各特徴点を頂点とした三角形で分割する。具体的には、三角形分割部13は、各特徴点の座標に基づいてDelaunay(ドロネー)三角形分割を行う。例えば、
図2に示すように、対象画像30の多数の特徴点に対して、複数(例えば、2つ以上)の三角形が得られる。
【0024】
そして、三角形分割部13は、三角形分割で分割された各三角形について、三角形IDを付与し、
図5に示すように、三角形ID、三角形を構成する3頂点の特徴点ID(頂点ID)及び格子領域IDを含む三角形情報のテーブルを、記憶部21に記憶する。例えば、各三角形は、対象画像30において左上に位置するものから順に、三角形IDを付与される。格子領域IDは、後述するように三角形に関連付けられる格子領域を識別するものであり、-1の格子領域IDは、格子領域を関連付けられていないことを示す。
【0025】
また、三角形情報は、隣接三角形ID及び対向頂点IDを含む。隣接三角形IDは、後述するように、三角形と共通辺を有して直接的に接している他の三角形を識別する三角形IDであり、三角形が3辺からなるので、3つの隣接三角形IDが存在する。対向頂点IDは、後述するように、隣接三角形IDの頂点の内、共通辺の2つの頂点以外の頂点を識別する特徴点IDであり、隣接三角形IDに対応して存在する。
【0026】
格子領域定義部14は、対象画像30に示される二次元点群に格子領域定義処理を行って、二次元点群を識別するためのデータとして格子領域を定義し、
図6に示すように、格子領域情報のテーブルを、記憶部21に記憶する。三角形分割部13によって得られた複数の三角形をそれぞれ格子とした場合、同じ規則性(パターン)で配列された三角形は、共通の単位格子を有すると言える。そこで、格子領域定義部14は、格子領域を定義する際、共通の単位格子を有すると共に連続する1つ以上の三角形を1つの格子領域として判定し、各三角形に格子領域を関連付けて(割り当てて)、
図5に示すように、各三角形の三角形情報に格子領域IDを記憶する。
図5において、-1の格子領域IDは、格子領域を関連付けられていないことを示す。
【0027】
なお、二次元点群は、異なる規則性が混在して配列され、異なる単位格子が混在することがあるので、格子領域は、1つに限定されず、2つ以上定義されてよい。また、所定の三角形に連続する三角形とは、所定の三角形と共通辺を有して直接的に接している三角形に限定されず、所定の三角形との間に1つ以上の三角形を介して間接的に接している三角形を含む。即ち、三角形分割部13によって二次元点群から得られた複数の三角形は、全て連続している。従って、連続していても単位格子が共通していない三角形は、異なる格子領域として定義され、また、単位格子が共通していても連続していない三角形は、異なる格子領域として定義される。
【0028】
具体的には、格子領域定義部14は、
図7のフローチャートに示すような格子領域定義処理を行い、複数の三角形の三角形情報を順次(例えば、三角形ID順に)、処理し(ステップS11)、格子領域を関連付けられていない(格子領域IDを記憶されていない)三角形を未処理の定義三角形とする(ステップS11:YES)。格子領域定義部14は、その定義三角形を単位格子として新規の格子領域を定義し、その新規の格子領域に対して格子領域IDを付与し、
図6に示すように、格子領域ID、格子領域の原点ID及び格子領域に属する三角形数を含む格子領域情報のテーブルを、記憶部21に記憶する。例えば、格子領域は、定義順に、格子領域IDを付与され、原点IDは、その定義三角形の最も左上の頂点の特徴点IDで示される。
【0029】
そして、格子領域定義部14は、定義三角形に新規の格子領域を関連付けて、対応する格子領域IDを定義三角形の三角形情報に記憶する(ステップS12)。このとき、格子領域情報の三角形数もカウントアップして更新する。また、格子領域定義部14は、定義三角形の各頂点にこの定義三角形と同一の格子領域を関連付けて、対応する格子領域IDを各頂点の点情報に記憶する(ステップS13)。
【0030】
更に、格子領域定義部14は、定義三角形と共通の単位格子を有すると共に定義三角形に連続して配列されている1つ以上の三角形(連続三角形)を検出する。先ず、格子領域定義部14は、定義三角形を対象三角形として追加し、対象三角形の三角形IDを記憶部21の処理スタックに入れる(ステップS14)。処理スタックに入れられた対象三角形は、順次処理されて(ステップS15)、対象三角形と共通辺(共通の2頂点)を有して対象三角形に直接的に接している三角形(隣接三角形)が共通の単位格子を有するか否かを判定される。
【0031】
例えば、格子領域定義部14は、記憶部21に記憶された三角形情報のテーブルを参照して、対象三角形と共通の2頂点を有する三角形を隣接三角形として検索し、隣接三角形の三角形IDと、共通の2頂点以外の頂点(対向頂点)の特徴点IDとを、対象三角形の三角形情報に記憶する。なお、上記のような各三角形に対する隣接三角形に関する情報は、三角形分割部13によって三角形に分割する際に検出されて、各三角形の三角形情報に記憶されてもよい。
【0032】
そして、格子領域定義部14は、対象三角形の隣接三角形を順次、処理して(ステップS16)、対象三角形と隣接三角形とが共通の単位格子を有するか否かを判定する。例えば、
図8に示すように、対象三角形T1及び隣接三角形T2の共通辺L0の中点に対して隣接三角形T2が対象三角形T1と点対称の関係にある場合(ステップS17:YES)、格子領域定義部14は、この隣接三角形T2が対象三角形T1と共通の単位格子を有すると判定する。
【0033】
なお、対象三角形T1の共通辺L0の中点に対して正確に点対称に配置された点対称三角形T0において、共通辺L0の2頂点以外の頂点は、隣接三角形の点対称を判定するための理想点P0である。隣接三角形T2の対向頂点P2が、理想点P0に位置する場合に限らず、理想点P0を中心とする所定の円の理想範囲R0内に位置する場合にも、隣接三角形T2が対象三角形T1と点対称の関係にあるとみなして、隣接三角形T2が対象三角形T1と共通の単位格子を有すると判定してよい。
【0034】
また、隣接三角形T2が対象三角形T1と点対称の関係にない場合において(ステップS17:NO)、
図9に示すように、対象三角形T1及び隣接三角形T2の共通辺L3の何れかの頂点に位置する対象三角形T1又は隣接三角形T2の内角が直角であると共に共通辺L3に対して隣接三角形T2が対象三角形T1と線対称の関係にある場合(ステップS18:YES)、格子領域定義部14は、隣接三角形T2が対象三角形T1と共通の単位格子を有すると判定する。
【0035】
なお、対象三角形T1の共通辺L3に対して正確に線対称に配置された線対称三角形T3において、共通辺L3の2頂点以外の頂点は、隣接三角形T2の線対称を判定するための理想点P3である。隣接三角形T2の対向頂点P2が、理想点P3に位置する場合に限らず、理想点P3を中心とする所定の円の理想範囲R3内に位置する場合にも、隣接三角形T2が対象三角形T1と線対称の関係にあるとみなして、隣接三角形T2が対象三角形T1と共通の単位格子を有すると判定してよい。
【0036】
そして、格子領域定義部14は、対象三角形と共通の単位格子を有すると判定した隣接三角形を、定義三角形に対する連続三角形であると判定し、この隣接三角形に定義三角形と同一の格子領域を関連付けて、対応する格子領域IDを隣接三角形の三角形情報に記憶する(ステップS19)。このとき、格子領域情報の三角形数もカウントアップして更新する。また、格子領域定義部14は、隣接三角形の各頂点に定義三角形と同一の格子領域を関連付けて、対応する格子領域IDを隣接三角形の各頂点の点情報に記憶する(ステップS20)。
【0037】
更に、格子領域定義部14は、対象三角形と共通の単位格子を有すると(連続三角形であると)判定した隣接三角形を対象三角形として追加し、対象三角形の三角形IDを処理スタックに入れる(ステップS21)。即ち、連続三角形である隣接三角形についても、上記と同様にして、更なる隣接三角形が共通の単位格子を有するか否か、即ち、連続三角形であるか否かを判定されることになる。
【0038】
格子領域定義部14は、対象三角形の全ての(3つの)隣接三角形について、共通の単位格子を有するか否かの判定を繰り返し、終了すると、その対象三角形の三角形IDを処理スタックから削除する(ステップS22)。隣接三角形が共通の単位格子を有するか否かの判定は、処理スタックが空になるまで繰り返される。
【0039】
このようにして、定義三角形と共通の単位格子を有すると共に定義三角形に連続して配列されている1つ以上の連続三角形が検出されて、1つの格子領域が定義される。
【0040】
また、格子領域定義部14は、定義された格子領域に属する三角形、即ち、同一の格子領域IDを三角形情報に記憶した三角形の内、格子領域の端部に位置する三角形、例えば、原点IDを頂点に有する三角形や、右上端、左下端、右下端等に配置される三角形に基づいて、格子領域における三角形の拡がりを示す単位ベクトルを算出し、格子領域情報に記憶する。
【0041】
また、格子領域定義部14は、一の定義三角形を対象三角形とした場合の処理スタックが空になって格子領域が確定すると、複数の三角形のループにおいて、次の定義三角形について上記と同様に処理を繰り返す。
【0042】
点情報調整部15は、格子領域定義部14によって複数の三角形の全てについて格子領域との関連付けが終了した後、二次元点群のそれぞれの特徴点に関連付けられた格子領域を適切に調整する。
【0043】
具体的には、点情報調整部15は、
図10のフローチャートに示すような点情報調整処理を行い、複数の三角形について順次(例えば、三角形ID順に)、処理を行い(ステップS31)、点情報調整を行っていない三角形を未処理の調整三角形とする。そして、点情報調整部15は、調整三角形の三角形情報に基づいて、調整三角形に関連付けられた格子領域の格子領域IDを取得すると共に、調整三角形の各頂点の頂点IDを取得して各頂点の点情報を参照可能になる。
【0044】
また、点情報調整部15は、調整三角形の各頂点について順次、処理を行い(ステップS32)、点情報調整を行っていない頂点を未処理の調整頂点とする。そして、点情報調整部15は、調整頂点の点情報に基づいて、調整頂点に関連付けられた格子領域の格子領域IDを取得する。
【0045】
そして、点情報調整部15は、調整三角形の格子領域IDと調整頂点の格子領域IDとが同じである場合、その調整頂点については、格子領域の調整を行わずに、調整三角形の他の頂点又は他の三角形の処理に移行する。
【0046】
一方、点情報調整部15は、調整三角形の格子領域IDと調整頂点の格子領域IDとが異なる場合(ステップS33:YES)、格子領域に属する三角形数を比較する。即ち、三角形の格子領域IDに基づいて、記憶部21に記憶された格子領域情報のテーブルを参照して、三角形に関連付けられた格子領域に属する三角形数を取得する。また、頂点の格子領域IDに基づいて、記憶部21に記憶された格子領域情報のテーブルを参照して、頂点に関連付けられた格子領域に属する三角形数を取得する。
【0047】
そして、点情報調整部15は、三角形の格子領域の三角形数が頂点の格子領域の三角形数以下である場合、その頂点については、格子領域の調整を行わずに、次の頂点又は次の三角形の処理に移行する。
【0048】
一方、点情報調整部15は、三角形の格子領域の三角形数が頂点の格子領域の三角形数より多い場合(ステップS34:YES)、その頂点に三角形と同一の格子領域を関連付けて、頂点の点情報における格子領域IDを、三角形の格子領域IDで更新する(ステップS35)。そして、次の頂点又は次の三角形の処理に移行する。
【0049】
点情報調整部15が複数の三角形の各頂点に対して上記のような処理を繰り返すことによって、特徴点に関連付けられる格子領域は、特徴点を頂点とする全ての三角形に関連付けられた格子領域の内、最も多くの三角形に関連付けられている格子領域になる。
【0050】
本実施形態によれば、上記したように、対象画像30に示される二次元点群を識別するためのデータを生成する画像処理システムとしての画像処理装置1は、二次元点群抽出部12によって、対象画像30から二次元点群を抽出し、三角形分割部13によって、二次元点群のそれぞれを頂点とした三角形分割を行い、格子領域定義部14によって、二次元点群を識別するためのデータとして格子領域を定義する際に、三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する1つ以上の三角形を1つの格子領域として判定し、これにより、単位格子の共有に基づく点群自動グループ化を行う。
【0051】
換言すれば、本発明は、対象画像に示される二次元点群を識別するためのデータを生成する画像処理方法であって、対象画像から二次元点群を抽出する工程と、二次元点群のそれぞれを頂点とした三角形分割を行う工程と、二次元点群を識別するためのデータとして格子領域を定義する工程において、三角形分割によって複数の三角形をそれぞれ格子とした場合に、共通の単位格子を有すると共に連続する1つ以上の三角形を1つの格子領域として判定する工程とを含み、これらの工程により単位格子の共有に基づく点群自動グループ化を行う。
【0052】
例えば、三角形分割部13は、三角形分割としてDelaunay三角形分割を用いるとよい。
【0053】
このように、本実施形態では、対象画像30に含まれる二次元点群の各特徴点の配列に異なる規則性が存在する場合でも、二次元点群の少なくとも一部において同じ規則性で配列された特徴点の集合を1つの格子領域として定義することができる。そのため、対象画像30の二次元点群の特徴を、格子領域に関する情報に基づいて識別することができる。このように、本発明は、二次元点群の配列に混在する単位格子に拘らず、二次元点群の識別を容易にすることが可能となる。
【0054】
例えば、BGA等の電子部品の対象画像30において、複数のボール端子31が、異なる規則性が混在しつつ配列されている場合でも、各ボール端子31を二次元点群に対応させて格子領域を把握することにより、各ボール端子31の配列の特徴を把握することができ、各ボール端子31の配列に基づいて電子部品を識別することができる。なお、格子領域に関する情報として、格子領域の形状及び位置や、単位格子の形状及び頂点数や、格子領域間の相互関係を記憶することができる。従って、様々な電子部品についてボール端子31の格子領域の情報を予め登録しておけば、入力した対象画像30が示す電子部品の種別を特定することが可能となる。
【0055】
また、本実施形態によれば、格子領域定義部14は、格子領域を定義する際に、複数の三角形の内、まだ格子領域を関連付けてない定義三角形に、新規の格子領域を関連付けると共に、定義三角形の頂点に定義三角形と同一の格子領域を関連付け、更に、定義三角形と共通の単位格子を有すると共に連続する1つ以上の連続三角形を検出し、連続三角形に定義三角形と同一の格子領域を関連付けると共に、連続三角形の頂点に定義三角形と同一の格子領域を関連付けることによって、1つ以上の三角形を1つの格子領域として判定する。
【0056】
これにより、二次元点群から得られた複数の三角形のそれぞれについて、何れの単位格子に関するものであるか、また、何れの格子領域に属するものであるかを、より適切に判定することができる。
【0057】
更に、本実施形態によれば、格子領域定義部14は、複数の三角形の内、共通辺を有する2つの三角形において、共通辺の中点に対して2つの三角形が点対称の関係にある場合、又は、共通辺の何れかの頂点に位置する2つの三角形の内角が直角であると共に共通辺に対して2つの三角形が線対称の関係にある場合、2つの三角形が共通の単位格子を有すると判定する。
【0058】
これにより、二次元点群から得られた複数の三角形の内、連続する2つの三角形について、共通の単位格子を有するか否かを、より正確に判定することができる。
【0059】
更に、画像処理装置1において、点情報調整部15は、複数の三角形の全てについて格子領域との関連付けを終了した後、二次元点群のそれぞれの特徴点について、特徴点を頂点とする全ての三角形に関連付けられた格子領域の内、最も多くの三角形に関連付けられている格子領域を特徴点に関連付ける。
【0060】
これにより、格子領域の境界において、特徴点が何れの格子領域に属するかを、より適切に判定することができる。
【0061】
なお、上記した例では、点情報調整部15は、複数の三角形について順次処理を行い、各三角形の各頂点について順次処理を行うことで、特徴点に関連付けられた格子領域を調整する例を説明したが、本発明はこの例に限定されない。例えば、他の実施形態では、点情報調整部15は、記憶部21に記憶された点情報のテーブルを参照して、全ての特徴点について順次上記と同様の処理を行うことで、特徴点に関連付けられた格子領域を調整してもよい。
【0062】
また、本発明は、請求の範囲及び明細書全体から読み取ることのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴う画像処理方法や画像処理装置、画像処理システム、画像処理プログラムもまた本発明の技術思想に含まれる。
【符号の説明】
【0063】
1 画像処理装置
10 対象画像入力部
11 二値化処理部
12 二次元点群抽出部
13 三角形分割部
14 格子領域定義部
15 点情報調整部
20 制御部
21 記憶部
22 記録媒体
30 対象画像
31 ボール端子