立体形状認識装置
【課題】認識精度を高く維持しつつ処理を軽くする。
【解決手段】複数方向から照明光を照射する照明手段2と、対象物を撮像する撮像手段1と、これらの制御部120とを備え、照度差ステレオ法を用いて、複数の撮像画像データとそれぞれの照射方向とから撮像画像を構成する画素ごとに法線ベクトルを算出する立体形状認識装置10において、撮像画像を構成するそれぞれの画素について、複数の撮像画像データの同じ位置の画素における複数の輝度値を、予め定めた絞り込み条件に従って絞り込む選出部21と、撮像画像を構成するそれぞれの画素について、選出部により絞り込まれた同じ位置の画素における複数の輝度値に基づいて法線ベクトルを算出する算出部22とを備ている。
【解決手段】複数方向から照明光を照射する照明手段2と、対象物を撮像する撮像手段1と、これらの制御部120とを備え、照度差ステレオ法を用いて、複数の撮像画像データとそれぞれの照射方向とから撮像画像を構成する画素ごとに法線ベクトルを算出する立体形状認識装置10において、撮像画像を構成するそれぞれの画素について、複数の撮像画像データの同じ位置の画素における複数の輝度値を、予め定めた絞り込み条件に従って絞り込む選出部21と、撮像画像を構成するそれぞれの画素について、選出部により絞り込まれた同じ位置の画素における複数の輝度値に基づいて法線ベクトルを算出する算出部22とを備ている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像手段により得られる撮像画像から各画素における法線ベクトルを算出する立体形状認識装置に関するものである。
【背景技術】
【0002】
従来技術の形状計測方法を図15に示す。この従来技術は、いわゆる照度差ステレオ法を利用したもので、照明の方向を選択して(ステップS101)、対象物の撮像を行い(ステップS102)、毎回照明の方向を変えながら規定枚数の撮像を繰り返し行うことで(ステップS103)、複数の異なる方向から順番に照明を照射した時の対象物体の画像を取得し、画像内の画素を順番に従って選択し(ステップS104)、当該画素において、照明光の方向ベクトルとその輝度値と法線ベクトルとの関係を示す方程式を生成し(ステップS105)、方程式に含まれる行列を変換し(ステップS106)、方程式を解くことで法線ベクトルと平行なベクトルを算出し(ステップS107)、正規化により単位ベクトル化して法線ベクトルを算出する(ステップS108)。そして、画面内に位置する全ての画素についてステップS105〜S109の処理を繰り返すことにより、物体表面の勾配を求めるものであった(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第2960684号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来の形状計測方法では、計算結果の精度を高めるためには、照明の方向が異なる撮像画像の枚数を増やすことが効果的であるが、撮像画像の枚数を増やすと計算時間が指数的に増えてしまうという問題があった。
また、複数枚の画像を扱った場合、影や鏡面反射などにより、明らかに演算に不適切なデータも存在し、実行する必要のない演算も行ってしまうという問題もあった。
【0005】
本発明は、計算処理数を低減しつつ、計算結果の精度を高めることをその目的とする。
【課題を解決するための手段】
【0006】
請求項1記載の発明は、対象物に対して異なる少なくとも四以上の方向から個別に照明光を照射する照明手段と、前記対象物を撮像する撮像手段と、前記照明手段及び前記撮像手段を制御して、前記照明光の照射方向が異なる複数の撮像画像データを取得する制御部とを備え、照度差ステレオ法を用いて、前記照明光の照射方向が異なる複数の撮像画像データとそれぞれの照射方向とから撮像画像を構成する画素ごとにその位置の法線ベクトルを算出する立体形状認識装置において、撮像画像を構成するそれぞれの画素について、前記複数の撮像画像データの同じ位置の画素における複数の輝度値を、予め定めた絞り込み条件に従って絞り込む選出部と、撮像画像を構成するそれぞれの画素について、前記選出部により絞り込まれた同じ位置の画素における複数の輝度値に基づいて前記法線ベクトルを算出する算出部とを備えることを特徴とする。
【0007】
請求項2記載の発明は、請求項1記載の発明と同様の構成を備えると共に、前記選出部は、予め定められた前記輝度値に対する閾値との比較により前記同じ位置の画素における複数の輝度値の絞り込みを行うことを特徴とする。
【0008】
請求項3記載の発明は、請求項2記載の発明と同様の構成を備えると共に、ティーチング操作により選択された対象物の撮像画像の一部の領域に含まれる画素の輝度値に基づいて前記閾値に設定する閾値設定部を備えることを特徴とする。
【0009】
請求項4記載の発明は、請求項2又は3記載の発明と同様の構成を備えると共に、前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値について値が上位の所定数のもの、下位の所定数のもの又は中間順位の所定数のものに絞り込みを行うことを特徴とする。
【0010】
請求項5記載の発明は、請求項2又は3記載の発明と同様の構成を備えると共に、前記選出部は、前記閾値により前記同じ画素における複数の輝度値の絞り込みを行った後に、前記同じ画素における複数の輝度値についてその値の大きさがよりバラつくように絞り込みを行うことを特徴とする。
【0011】
請求項6記載の発明は、請求項2又は3記載の発明と同様の構成を備えると共に、前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値についてその撮像画像の照射光の照射方向のバラツキがより大きくなるように絞り込みを行うことを特徴とする。
【0012】
請求項7記載の発明は、請求項2又は3記載の発明と同様の構成を備えると共に、前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値についてその撮像画像の照射光の照射方向のバラツキがより小さくなるように絞り込みを行うことを特徴とする。
【0013】
請求項8記載の発明は、請求項1から7のいずれか一項に記載の発明と同様の構成を備えると共に、撮像画像を構成するそれぞれの画素について、
前記選出部は複数の異なる絞り込み条件の内の二つの絞り込み条件により同じ位置の画素における複数の輝度値の絞り込みを行い、
前記算出部が、前記異なる二つの絞り込み条件で絞り込まれたそれぞれの輝度値について法線ベクトルを算出し、
前記異なる二つの絞り込み条件で絞り込まれた複数の輝度値により算出されたそれぞれの法線ベクトルを比較して許容値以上の差が生じた場合には、前記絞り込み条件を替えて再度算出又はその画素については法線ベクトル算出不能とする比較処理部を備えることを特徴とする。
【0014】
請求項9記載の発明は、請求項1から6のいずれか一項に記載の発明と同様の構成を備えると共に、前記照明手段による照射条件を設定する照射条件入力部を備え、前記制御部は、前記照射条件に従って各々の撮像画像データを取得することを特徴とする。
【0015】
請求項10記載の発明は、請求項1から9のいずれか一項に記載の発明と同様の構成を備えると共に、前記法線ベクトルの方向について特定の範囲を設定入力する範囲設定部と、前記算出部により算出された法線ベクトルが前記範囲設定部により設定された範囲内の方向に属する画素を特定し抽出する抽出部とを備えることを特徴とする。
【発明の効果】
【0016】
本発明は、照明光の照射方向が異なるより多くの撮像画像データを使用して照度差ステレオ法により撮像対象物の撮像画像の各画素の位置について法線ベクトルを算出する場合でも、選出部により、各画素における法線ベクトルの算出よりも先に演算に必要な数の撮像画像データへの輝度値の絞り込みを行うので、多大な数になる法線ベクトルを求めるための撮像画像データの組み合わせに基づいて法線ベクトルの算出を行う必要がなく、各画
素について高速で法線ベクトルを求めることができると共にその算出処理負担を軽減することが可能である。
【図面の簡単な説明】
【0017】
【図1】本実施形態たる電子部品実装装置の斜視図である。
【図2】カメラ及び照明装置の構成を示す斜視図である。
【図3】照明装置の平面図である。
【図4】電子部品実装装置の制御ブロック図である。
【図5】閾値設定部による閾値設定処理を示すフローチャートである。
【図6】閾値設定部による閾値設定時に表示装置に表示される表示例である。
【図7】下限閾値設定のために入力された領域内の輝度値とその画素数との関係を示すダイヤグラムである。
【図8】上限閾値設定のために入力された領域内の輝度値とその画素数との関係を示すダイヤグラムである。
【図9】画像処理装置による撮像画像の各画素における法線ベクトルの取得するための処理を示すフローチャートである。
【図10】法線ベクトルの算出処理の説明図である。
【図11】選出部による絞り込みの処理のフローチャートである。
【図12】選出部による絞り込みの処理の説明図である。
【図13】図13(A)〜(C)は選出部による絞り込みの他の例を示す説明図である。
【図14】図14(A)、(B)は選出部による照明の照射方向による絞り込みの例を示す説明図である。
【図15】従来技術による法線ベクトルの算出処理を示すフローチャートである。
【発明を実施するための形態】
【0018】
(発明の実施形態)
発明の実施形態について、図1乃至図12に基づいて説明する。図1は、本実施形態たる電子部品実装装置100の斜視図である。以下、図示のように、水平面において互いに直交する二方向をそれぞれX軸方向とY軸方向とし、これらに直交する鉛直方向をZ軸方向というものとする。
電子部品実装装置100は、基板Sに各種の電子部品Cの搭載を行うものであって、図1に示すように、搭載される電子部品Cを供給する複数の部品供給装置としての電子部品フィーダ108を複数(図1では一つのみ図示)並べて保持する設置部としてのフィーダバンク102からなる部品供給部と、X軸方向に基板を搬送する基板搬送手段103と、当該基板搬送手段103による基板搬送経路の途中に設けられた基板Sに対する電子部品搭載作業を行うための基板保持部としての基板クランプ機構104と、部品配置部としての複数の吸着ノズル105を昇降可能に保持して電子部品Cの保持を行うヘッド106と、実装動作に要する各種の情報を得るために基板Sの半田パターンの撮像を行う撮像手段としてのカメラ1と、カメラ1による撮像持に照明光を照射する照明手段としての照明装置2と、ヘッド106を部品供給部と基板クランプ機構104とを含んだ作業エリア内の任意の位置に駆動搬送する移動機構としてのX−Yガントリ107と、上記各構成を搭載支持するベースフレーム114と、上記各構成の動作制御を行うホストコントローラ120と、撮像装置1の撮像により得られる撮像画像データを処理して形状認識を行う画像処理装置10を備えている。
【0019】
かかる電子部品実装装置100は、ホストコントローラ120が、電子部品Cの実装に関する各種の設定内容が記録された実装データを保有し、実装データから実装すべき電子部品Cと、電子部品Cの電子部品フィーダ108等の設置位置に基づく部品受け取り位置108aと、基板上の実装位置を示すデータとを読み出すと共に、X−Yガントリ107
を制御してヘッド106を電子部品Cの受け取り位置108aと実装位置とに移送し、各位置においてヘッド106を制御して吸着ノズル105の昇降動作及び吸着又は解放動作を行い、電子部品Cの実装の動作制御を実行する。
【0020】
(基板搬送手段及び基板保持部)
基板搬送手段103は、図示しない搬送ベルトを備えており、その搬送ベルトにより基板をX軸方向に沿って搬送する。
また、前述したように、基板搬送手段103による基板搬送経路の途中には、電子部品Cを基板へ搭載する際の作業位置で基板Sを固定保持するための基板クランプ機構104が設けられている。かかる基板クランプ機構104が装備されており、基板搬送方向に直交する方向における両端部で基板Sをクランプするようになっている。また、基板クランプ機構104の下方には、クランプ時に基板Sの下面側に当接して電子部品搭載時に基板Sが下方に撓まぬように支承する複数の支持棒が設けられている。基板Sはこれらにより保持された状態で安定した電子部品Cの搭載作業が行われる。
【0021】
(X−Yガントリ)
X−Yガントリ107は、X軸方向にヘッド106の移動を案内するX軸ガイドレール107aと、このX軸ガイドレール107aと共にヘッド106をY軸方向に案内する二本のY軸ガイドレール107bと、X軸方向に沿ってヘッド106を移動させる駆動源であるX軸モータ109と、X軸ガイドレール107aを介してヘッド106をY軸方向に移動させる駆動源であるY軸モータ110とを備えている。そして、各モータ109、110の駆動により、ヘッド106を二本のY軸ガイドレール107bの間となる領域のほぼ全体に搬送することを可能としている。
なお、各モータ109、110は、それぞれの回転量がホストコントローラ120に認識され、所望の回転量となるように制御されることにより、ヘッド106を介して吸着ノズル105の位置決めを行っている。
また、電子部品実装作業の必要上、前記した二つのフィーダバンク102,基板クランプ機構104とはいずれもX−Yガントリ107によるヘッド106の搬送可能領域内に配置されている。
【0022】
(ヘッド)
ヘッド106は、その先端部で空気吸引により電子部品Cを保持する吸着ノズル105(図1参照)と、吸着ノズル105をZ軸方向に沿って昇降させる昇降機構としてのZ軸モータ111と、吸着ノズル105を回転させて保持された電子部品CをZ軸方向回りに角度調節するためのθ軸モータ112とが設けられている。
また、上記吸着ノズル105は、Z軸方向に沿った状態で昇降可能且つ回転可能にヘッド106に支持されており、昇降による電子部品Cの受け取り又は実装及び回転による電子部品Cの角度調節が可能となっている。
【0023】
(フィーダバンク及び電子部品フィーダ)
フィーダバンク102は、ベースフレーム114のY軸方向一端部(図1手前側)にX軸方向に沿った状態で設けられている。フィーダバンク102は、X−Y平面に沿った長尺の平坦部を備え、当該平坦部の上面に複数の電子部品フィーダ108等がX軸方向に沿って羅列して載置装備される(図1では電子部品フィーダ108を一つのみ図示しているが実際には複数の電子部品フィーダ108等が並んで装備される)。
また、フィーダバンク102は、各電子部品フィーダ108等を保持するための図示しないラッチ機構を備えており、必要に応じて、各電子部品フィーダ108等をフィーダバンク102に対して装着又は分離することを可能としている。
【0024】
上述した電子部品フィーダ108は、後端部には電子部品Cが均一間隔で並んで封止さ
れたテープを巻回したテープリールを保持し、先端上部にはヘッド106に対する電子部品Cの供給位置である受け渡し部を有している。そして、電子部品フィーダ108がフィーダバンク102に取り付けられた状態における電子部品Cの受け渡し部の位置を示すX、Y座標値は前述した実装データに記録されている。
【0025】
(カメラ)
図2はカメラ1の周辺の構成を示す斜視図である。カメラ1及び照明装置2を下方の基板に向けてヘッド106に装備し、基板Sの例えば半田パターンなどを撮像対象とする。
上記カメラ1は、例えば、CCD撮像素子やCMOS撮像素子を備えたデジタル撮像画像データを取得可能なカメラであり、当該撮像素子の眼前に設けられた光学系が配設されている。なお、このカメラ1の撮像時に得られる画像信号は、画像処理装置10に出力される。
【0026】
(照明装置)
図3は照明装置2の平面図である。図2及び図3に示すように、撮像手段1のすぐ下側には、照明装置2が設けられている。この照明装置2は、Z軸方向に沿ったカメラ1の視線(光軸)を中心とする円周上に均一の角度間隔で複数の光源が設けられており、それぞれの光源は下方であってカメラ1の光軸上の一点に向けて照明光を照射するように配置されている。なお、ここでは、光軸の周囲で20°の角度間隔で18個の光源が設けられている照明装置2を例示するが光源の数は少なくと4以上であれば増減させても良い。
そして、この照明装置2の各光源は、ホストコントローラ120により個々に点灯を行うよう制御される。これにより、カメラ1の光軸上であって照明装置2の下方に配置された撮像対象に対して、20°の角度間隔で全方位から照明光の照射を行うことを可能としている。
【0027】
(電子部品実装装置の制御系)
図3は電子部品実装装置100の制御系を示すブロック図である。図示のように、X−Yガントリ107のX軸モータ109、Y軸モータ110、ヘッド106において吸着ノズル105の昇降を行うZ軸モータ111、吸着ノズル105の回転を行うθ軸モータ112は、それぞれ図示しない駆動回路を介してホストコントローラ120に接続されている。
また、撮像装置1の撮像の実行と照明装置2の光照射の実行とは、ホストコントローラ120により制御される。そして、撮像装置1の撮像による画像信号は、前述したように、画像処理装置10に入力されるようになっている。
【0028】
ホストコントローラ120は、実装対象となる電子部品Cのリスト及びその搭載の順番、各電子部品Cの基板S上における搭載位置、各電子部品Cがいずれの電子部品フィーダ108から受け取るかを示す受け取り位置等が定められた実装スケジュールデータを記憶する図示しないメモリと、実装動作制御プログラムを実行するCPU121とを主に備えている。
そして、電子部品の実装時には、実装スケジュールデータを読み込んで、X軸及びY軸モータ109,110を制御して所定の電子部品フィーダ108の受け取り位置にヘッド106を搬送し、Z軸モータ111を制御して吸着ノズル105にて電子部品Cを吸着し、実装スケジュールデータに定められた基板実装位置に電子部品Cを搬送して実装を行う。
そして、実装スケジュールデータに定められた全ての電子部品Cについて実装を行い、動作制御を終了するようになっている。
【0029】
また、ホストコントローラ120は、基板Sに対してその半田パターン等の形状検査を行うために、撮像制御を実行する。即ち、ホストコントローラ120は、後述する操作入
力装置13から設定入力された撮像枚数を読み出すと共に、撮像対象物(例えば、半田パターン)の中心をカメラ1の光軸上となるようにした状態で、撮像対象物の上方から、設定された撮像枚数分の撮像を行う。そして、このとき、毎回の撮像持における照明光の照射方向が全て異なるように照明装置2を制御する。例えば、設定された撮像枚数が9枚の場合には、照明装置2の0°,40°,80°,120°,…に位置する光源を順番に発光させつつ(図3の白色部)、カメラ1による撮像を実行する。即ち、照明光の照射方向を40°間隔(一つ飛び)で切り換えながら順番に撮影を行う。このように、点灯を行う光源は、撮像枚数に応じてなるべく均一角度間隔となるように照射方向を切り替える制御が行われる。
そして、毎回の撮像によりカメラ1が出力する画像信号は、画像処理装置10に送信され、そのA/D変換部11によりデジタル化され、撮像画像データに変換されて画像記憶部12に記憶される。
このように、ホストコントローラ120は、カメラ1及び照明装置2を制御して、照明光の照射方向が異なる複数の撮像画像データを取得する制御部として機能する。
【0030】
また、ホストコントローラ120は、画像処理装置10と通信可能に接続されており、半田パターンの撮像の解析の結果に基づいて得られる半田パターンの形状の情報を画像処理装置10から受信し、半田パターンの異常判定を行って基板Sへの実装の適否を判断するようになっている。
【0031】
(画像処理装置)
画像処理装置10は、照明光の照射方向が異なる複数の撮像画像データをカメラ1により取得し、それら複数の撮像画像データに基づいて、画像を構成する全ての画素について、撮像対象である電子部品Cの表面における法線ベクトルを算出する処理を行うものである。
【0032】
このため、図4に示すように、画像処理装置10は、上記撮像装置1の複数回の撮像による画像信号をA/D変換して各撮像ごとの撮像撮像画像データを生成するA/Dコンバータ11と、これらの撮像画像データを格納する画像記憶部12と、各撮像画像データの同じ画素について得られた輝度値の絞り込みを行うと共に絞り込まれた輝度値から当該画素における法線ベクトルを算出する処理部20と、撮像画面内の全画素又は任意の画素における法線ベクトルを形状データとして記憶する処理結果記憶部30と、形状データをホストコントローラ120に送信する図示しない通信部と、各部の処理の実行及びデータの格納について制御するCPU14と、各種設定データ等を記憶するデータメモリ16とを備えている。
また、画像処理装置10には、撮像画像等の表示を行う表示装置15と各種の設定や指令の入力を行うための操作入力装置13とが併設されており、画像処理装置10には、これらを接続するためのインターフェイス15a,13aが設けられている。
【0033】
また、上記処理部20は、同一の撮像対象物について少なくとも照明光の照射方向が異なる四以上の撮像画像データが得られた場合に、画像内の個々の画素について、三つの撮像画像データにおける輝度値に絞り込みを行う選出部21と、画像内の個々の画素について、絞り込まれた三つの輝度値から当該画素の位置における撮像対象物の表面の法線ベクトルを算出する算出部22と、選出部21での絞り込みを行うための輝度値の閾値を設定する閾値設定部23とを備えている。
【0034】
上記算出部22は、撮像画像内の各画素についてその撮像対象物の表面の法線ベクトルを算出するために照度差ステレオ法を利用する。
照度差ステレオ法では、照明光の照射方向が異なる三つの撮像画像データの同一の位置の画素における三つの輝度値から、当該画素における撮像対象物表面の法線ベクトルを算
出することが可能である。
即ち、照度差ステレオ法では、物体表面における拡散反射光の光強度が、物体表面に対する光源からの照明光の照射方向と当該光源の光強度との間で一定の関係にあることを利用して、異なる三方向からの各光源からの照射時におけるそれぞれの物体表面の輝度値から法線を逆算して求めるものである。
【0035】
拡散反射光Iは次式(1)により求められる。但し、ρは拡散反射率、I0は光源強度、Lは光源ベクトル、nは法線ベクトルである。
I=ρ・I0・L・n …(1)
で求められる。
この時、ベクトルNを次式(2)に示すように法線ベクトルnの定数倍と定義すると、
N=ρ・I0・n …(2)
式(1)、(2)により
I=L・N …(3)
さらに、式(3)により次式(4)が導き出される。
N=L−1・I …(4)
【0036】
即ち、ベクトルN=(xN,yN,zN)とした場合、当該ベクトルNと、光線ベクトルL1,L2,L3からなる光源行列Lと、各光線ベクトルL1,L2,L3を照射方向とした時の輝度値I1,I2,I3からなる拡散反射光Iとの間には次式(5),(6)が成立し、次式(6)を解くことによりxN,yN,zNを算出することが可能である。
【数1】
【0037】
上式(6)より求まるベクトルNは、法線ベクトルnの定数倍なので、ベクトルNの各XYZ成分をベクトル長さで割ることで、単位ベクトルである法線ベクトルnを求めることができる。
なお、各光線ベクトルL1,L2,L3のx,y,z成分の値は、撮像対象物である電子部品Cをカメラ1に対して規定の高さで撮像することを前提とした場合に、照明装置2の18個の光源のいずれから照射したかによって確定する値であり、これらは初期設定データとしてデータメモリ16内に登録されている。
従って、算出部22は、撮像画像の画素ごとに選択された三つの撮像画像データから、同一画素での輝度値I1,I2,I3を取得し、当該三つの撮像画像データの撮像時の光源から各光線ベクトルL1,L2,L3をデータメモリから読み出して、上記手法により法線ベクトルnの算出を行う。
【0038】
選出部21及び閾値設定部23は、算出部22が各画素について法線ベクトルnを算出する際に用いる三つの撮像画像データを四以上ある複数の撮像画像データの中から絞り込
むための処理及び制御を行うものである。なお、選出される三つの撮像画像データの組み合わせは各画素ごとに個別に選出される。
上述した照度差ステレオ法では、撮像対象物である電子部品Cの表面に生じる反射は拡散反射光のみとは限らない。撮像画像中には、鏡面反射光や陰影、外乱などにより照度差ステレオ法を適用できない部分が存在することがある。そこで、4枚以上の複数の撮像画像データから、注目座標(同じ位置の画素)ごとに適した三つの輝度値に絞り込みを行ってから照度差ステレオ法による法線ベクトルの算出を行う。
【0039】
例えば、前述した例示によれば、9つの光源からの照明光の照射による9つの撮像座像データを取得しているため、同じ位置の画素については9つの輝度値が取得されている。これに対して、選出部21は、これらの中から3つの輝度値に絞り込みを行う。なお、この絞り込みは、画像を構成する複数の画素について個別に行うため、個々の画素についてそれぞれ異なる三つの撮像画像データの組み合わせで絞り込まれることとなる。
選出部21における絞り込みは、同じ位置の画素の九つの輝度値に対して、(i)輝度値について定められた上限閾値から下限閾値までの範囲外となるものを除外する、(ii)(i)による除外を行った上で残った輝度値を小さい順にソートして輝度値が最下位のもの(暗いもの)から順番に三つ選出する、という二段階で行う。
【0040】
また、上記(i)の絞り込みにおける輝度値の上限閾値と下限閾値とは、閾値設定部23の処理により決定される。
図5は閾値設定部23よる下限閾値を設定する処理を示すフローチャートである。かかる閾値設定処理は、電子部品実装装置100による電子部品の実装作業の中で行っても良いし、実装作業を行う前に実装作業と切り離して実行しても良い。
この閾値設定処理は、撮像対象物の撮像画像データを用いて作業者が所定の領域を特定し、当該領域に含まれる画素の輝度値に基づいて閾値が設定されるものである。その際、使用される撮像画像データは、前述した九つの撮像画像データを利用しても良いし、別に撮像を行って得られた撮像画像データを使用しても良いが、照明装置2によりいずれかの光源からの照明光の照射が行われており、法線ベクトルを算出する場合と同じ条件で同じ対象物を撮像した撮像画像データであることを必須とする。
【0041】
まず、表示装置15のモニタに撮像画像を表示する(ステップS11)。図6は撮像対象物である半田パターンの撮像画像のモニタ表示画面を示している。かかる撮像画像において、符号Dは輝度値が低いために照度差ステレオ法に不適切である陰影部であり、符号Rは輝度値が高いために照度差ステレオ法に不適切である鏡面反射部(飽和部)であり、符号Hは照度差ステレオ法に適切な通常の拡散反射部である。
【0042】
そして、作業者の操作入力装置13の操作による、照度差ステレオ法に好ましくない陰影部Dを含む領域の指定入力を受け付ける(ステップS13)。
操作入力装置13は、例えばマウスのような入力インターフェイスを備えており、その操作により図6に示すような、四角いフレーム状のウィンドウ領域W1の位置及び大きさを指定する。このとき、作業者は、図示のように、陰影部Dが指定領域内により多く含まれるように指定しつつ、陰影部D以外の周辺領域も含まれるように領域指定を行うことが望ましい。なお、このステップS13では、下限閾値設定のためのウィンドウ領域W1の指定を促すようなナビゲーション表示を行っても良い。
【0043】
かかる領域指定が行われると、閾値設定部23は、ウィンドウ領域W1に含まれる各画素の輝度値によるヒストグラムを作成する(ステップS15)。
図7は、閾値設定部23により作成されたウィンドウ領域W1の輝度値のヒストグラムを示す線図である。かかるヒストグラムでは、画素の分布の集中するピークが複数現れることとなるが、陰影部Dを含むようにウィンドウ領域W1が指定されているため、複数あ
るピークの内で最も輝度値が低いピークが陰影部Dの輝度値と推定される。そこで、閾値設定部23では、最も輝度値が低いピークP1と二番目に輝度値が低いピークP2とを求め、その間に存在する谷の部分V1の輝度値を下限閾値Iminに設定する(ステップS17)。
【0044】
次に、上記処理にて設定された下限閾値Iminが陰影部の判定に適するか否かの確認処理を行う。即ち、作業者の操作入力装置13の操作による、陰影部Dのみからなる小ウィンドウ領域W11の指定入力を受け付ける(ステップS19)。なお、ウィンドウではなく、撮像画像の一点を指定する入力方法としても良い。
そして、閾値設定部23では、指定された小ウィンドウ領域W11内の画素の輝度値がステップS17で求めた下限閾値Iminより小さい値となるか判定を行う(ステップS21)。なお、この判定において、小ウィンドウ領域W11内の画素の輝度値が下限閾値Imin以上となった場合には、ステップS13に処理を戻し、下限閾値設定のやり直しとなる。
【0045】
また、上記判定にて、小ウィンドウ領域W11内の画素の輝度値が下限閾値Iminより小さい値となることが確認された場合には、作業者の操作入力装置13の操作による、陰影部を含まない範囲の小ウィンドウ領域W12の指定入力を受け付ける(ステップS23)。この場合も、ウィンドウではなく、撮像画像の一点を指定する入力方法としても良い。
そして、閾値設定部23では、指定された小ウィンドウ領域内の画素の輝度値がステップS17で求めた下限閾値Imin以上の値となるか判定を行う(ステップS25)。なお、この判定において、小ウィンドウ領域W12内の画素の輝度値が下限閾値Iminより小さくなった場合には、ステップS13に処理を戻し、下限閾値設定のやり直しとなる。
また、上記判定にて、小ウィンドウ領域W12内の画素の輝度値が下限閾値Imin以上となることが確認された場合には、下限閾値Iminが確定され、データメモリ16内に登録される。
【0046】
また、上記下限閾値の設定と共に、上限閾値の設定も行われる。かかる上限閾値の設定時にも、下限閾値の場合を同様にして、表示装置15のモニタに撮像画像が表示され、これに対して、作業者による鏡面反射部Rを含むウィンドウ領域W2(図6)の指定入力を受け付ける。
そして、ウィンドウ領域W2に含まれる各画素の輝度値によるヒストグラムが作成され(図8参照)、ウィンドウ領域W1の場合と同様にピークが複数現れることとなるが、上限閾地の設定の場合には、閾値設定部23は、最も輝度値が高いピークP3と二番目に輝度値が高いピークP4とを求め、その間に存在する谷の部分V2の輝度値を上限閾値Imaxに設定する。
また、確認処理も下限閾値の場合と同様に、鏡面反射部Rのみからなる小ウィンドウ領域W21の指定入力を受け付けて、その輝度値が上限閾値Imaxより大きい値となるか判定し、さらに、鏡面反射部Rを含まない範囲の小ウィンドウ領域W22の指定入力を受け付けて、その輝度値が上限閾値Imax以下の値となるか判定を行う。そして、上限閾値Imaxが確認処理で不適切な場合にはウィンドウ領域W2の入力からやり直しとなり、適切な場合には上限閾値Imaxが確定され、データメモリ16内に登録される。
なお、上限閾値と下限閾値とはいずれを先に設定しても良い。
【0047】
(画像処理装置による法線ベクトルを取得するための処理)
図9は画像処理装置10による撮像画像の各画素における法線ベクトルの取得するための処理を示すフローチャートである。
図9に示すように、まず、ホストコントローラ120により照明装置2とカメラ1とが制御され、基板Sの半田パターンを4以上の複数方向から照明光を照射しつつ撮像が行わ
れる(ステップS51)。
そして、各照射方向の撮像により得られた撮像画像データはそれぞれ照明装置2のいずれの光源による照明光が照射されたかを示す情報と共に画像記憶部12に記憶される。
【0048】
次いで、前述した閾値設定部23による上限閾値Imaxと下限閾値Iminとを設定する処理が行われる(ステップS53)。設定された上限閾値Imaxと下限閾値Iminはデータメモリ16に記憶される。
【0049】
次いで、撮像画像を構成する全画素について順番に一つずつ法線ベクトルnの算出処理がステップS55〜S61において行われる。
ステップS55〜S61の法線ベクトルnの算出処理は、図10に示すように、撮像画像における全画素について画面の端に位置する画素から一つずつ順番に繰り返し実行される。なお、以下の説明では、法線ベクトルを算出する対象となっている画素を注目画素というものとする。
【0050】
まず、全撮像画像データにおける当該注目画素の位置での輝度値が画像記憶部12から読み込まれる。なお、図10及び後述する図12では説明を簡明にするために撮像画像データが5つある場合を例示する。つまり、この例では各撮像画像データの注目画素から5つの輝度値が読み込まれる。
そして、選出部21により、五つの撮像画像データの注目画素の輝度値から三つに絞り込みが行われる(ステップS55)。
【0051】
図11は選出部21により絞り込みの処理を詳細に示すフローチャートであり、図12は絞り込みの処理を概念的に示した説明図である。これらにより詳細に説明すると、まず、一つめの撮像画像データから順番の注目画素の輝度値について、下限閾値Imin以上であって上限閾値Imax以下の範囲内か否かを判定する(ステップS551)。
そして、上記閾値の範囲外となる場合には、当該輝度値の撮像画像データを計算不可能画像と判定し記録する(ステップS553)。
一方、上記閾値の範囲内となる場合には、当該輝度値の撮像画像データを使用画像と判定し記録する(ステップS555)
そして、上記ステップS551〜S555の処理を5つの撮像画像データの全てについて繰り返し実行する。
例えば、図12では二番目の撮像画像データ(×印)が計算不可能画素と判定された場合を示している。
【0052】
次に、使用画像と判定された撮像画像データの注目画素のそれぞれの輝度値を値の低い順番にソートする(ステップS557)。図12では四つの画素が輝度値の低い順にソートされた状態を示している。
そして、各注目画素の輝度値について、値が低いものから順番に三つまでを選出し(図12○印)、それらの輝度値となった三つの撮像画像データを最終的な使用画像に決定する(ステップS559)。
【0053】
そして、選出部21による絞り込みの処理が終わると、処理部20では、三つの撮像画像データが使用画像として選出されたか否かを判定する(図9のステップS57)。
そして、例えば、5つの撮像画像データについて前述した絞り込みの処理のステップS551の判定が行われた結果、使用画像が三つに満たなくなった場合には、現在の注目画素は法線ベクトルnを求めることができない無効画素として処理結果記憶部30に記憶する(ステップS59)。
【0054】
また、選出部21による絞り込みの結果、三つの撮像画像データが使用画像として選出
された場合には、それぞれの撮像画像データの注目画素における三つの輝度値I1,I2,I3と、三つの撮像画像データの撮像持の光源に応じた光源ベクトルL1,L2,L3とに基づいて算出部22が前述した式(6)を解いてベクトルNのxN,yN,zNを算出する。さらに、ベクトルNのxN,yN,zNをそのベクトル長さで除算して法線ベクトルnを算出する(ステップS61)。このとき、算出された法線ベクトルnは、その注目画素における法線ベクトルnとして処理結果記憶部30に記憶される。
そして、上記ステップS55〜S61までの処理が撮像画像の全ての画素について完了すると、当該撮像画像の全ての画素の法線ベクトルnが取得され、例えば、これらが撮像対象物である半田パターンの形状データとしてホストコントローラ120に送信される。
【0055】
ホストコントローラ120では、例えば、半田パターンについて撮像が行われ、上記形状データが画像処理装置10から送信されると、当該形状データをサンプルデータと比較して半田パターンの外部形状の異常判定を行ったり、形状データから特徴部分を抽出して実装時の電子部品Cの位置決めなど動作制御に反映させたりすることができる。
【0056】
(実施形態の効果)
以上のように、電子部品実装装置100の画像処理装置10では、照明光の照射方向が異なるより多くの撮像画像データを使用する場合でも、選出部21により、各画素における法線ベクトルの算出よりも先に三つの撮像画像データへの輝度値の絞り込みを行うので、多大な数になる三つの撮像画像データの組み合わせの全てについて法線ベクトルを求める必要がなく、各画素について高速で法線ベクトルを求めることができると共にその算出処理負担を軽減することが可能である。
【0057】
また、選出部21は、注目画素の各撮像画像データの輝度値について上限閾値と下限閾値とを用いて絞り込みを行っているので、単純な比較処理で絞り込みを実現することができ、処理の高速化及び処理負担の軽減を図ることが可能となる。
さらに、閾値設定部23では、実際の撮像画像内での陰影領域や鏡面反射領域を選択し、実際の陰影や鏡面反射の輝度値に基づいて閾値設定を行うので、照度差ステレオ法による法線ベクトルの算出において、不適切な輝度値を示す画素を処理からより効果的に除去することができ、精度の高い法線ベクトルの算出が可能となる。
【0058】
また、選出部21は、注目画素の各撮像画像データの輝度値について上限閾値と下限閾値とを用いて絞り込みを行った後に、輝度値を低い順にソートして最低値から順に必要数に絞り込みを行うので、高速且つ負担軽減を図りつつ撮像画像データの輝度値を法線ベクトルの算出に必要な数まで絞り込むことを可能としている。
【0059】
(選出部による輝度値の絞り込みの他の例[1])
上記選出部21では、上下の閾値により同じ位置の画素における複数の輝度値に対して絞り込みを行った後に、ソートして値の低いものから順番に輝度値の選出を行っているが、これに限られるものではない。例えば、図13(A)の○印に示すように、閾値により絞り込みを行った後に、ソートを行い、輝度値の高いものから順番に選出しても良い。
また、或いは、図13(B)の○印に示すように、輝度値の順番が丁度中間順位となるもの及び中間順位に近いものから順番に選出しても良い。
或いは、輝度値の高低がなるべくバラつくように選出しても良い。例えば、図13(C)の○印に示すように、輝度値が最も高いものと最も低いものと丁度中間のものとなるように選出しても良い。
輝度値の選出においてその順位の分布をいかなるものにすると、精度良く法線ベクトルが求まるかは、撮像対象物の表面状態や照明光の照射条件によっても変動する場合もあるので、これらに応じて適切な選出条件を選択することが望ましい。
【0060】
(選出部による輝度値の絞り込みの他の例[2])
上記選出部21では、上下の閾値により同じ位置の画素における複数の輝度値に対して絞り込みを行った後に、輝度値の順番に従って輝度値の選出を行っているが、これに限らず、例えば、それぞれの撮像画像データの撮像持の照明光の照射方向に着目しても良い。
例えば、図14(A)の○印に示すように、それぞれの撮像画像データの撮像持の照明光の照射方向が最もバラつく組み合わせとなる撮像画像データの輝度値を選出しても良い。
或いは、図14(B)の○印に示すように、それぞれの撮像画像データの撮像持の照明光の照射方向が互いに最も近づく組み合わせとなる撮像画像データの輝度値を選出しても良い。
【0061】
(選出部による輝度値の絞り込みの他の例[3])
上記選出部21では、通常の絞り込み方法の他に、上述した絞り込みの他の例[1]や絞り込みの他の例[2]で示した他の絞り込み方向のいずれかを用いて、これら二つの方法で輝度値を選出し、算出部22が注目画素について二つの方法で選出された輝度値に基づいてそれぞれ法線ベクトルを算出しても良い。
そして、処理部20には、二つの方法で算出した同じ注目画素の法線ベクトルについて比較を行い、その方向の差が予め定めた許容値の範囲内か否かを判定する比較処理部を設けても良い。また、比較処理部は、比較の結果、許容値に範囲内であればどちらかの法線ベクトルを採用して処理結果記憶部30に記録し、許容値の範囲外であれば、組み合わせが異なる二つの絞り込みの方法で輝度値の選出及び法線ベクトルの算出を行うか、或いはその注目画素については法線ベクトルの算出不可能であることを処理結果記憶部30に記録する処理を行うことが望ましい。
【0062】
(各種条件の設定手段の付加)
上記電子部品実装装置100に、撮像対象物の撮像時における撮像枚数等の撮像条件や撮像時の照明光の照射方向や明るさ等の照明条件をパラメータとして設定する条件設定手段を付加しても良い。
例えば、撮像枚数を任意に設定可能とした場合、撮像枚数を多く設定する程、法線ベクトルの計算結果の精度は向上するが、複数の撮像対象について形状認識を行う場合には、全ての撮像対象物に対して最大の撮像枚数を設定しなくとも、撮像対象の材質の認識しやすさや、必要とされている精度によって枚数を調節することで、無駄な撮像や計算を省くことができる。
また、照明条件を任意に設定可能とした場合、撮像対象に合わせて最適な照明設定を切り替えることでより精度の高い計算が可能となる。
【0063】
(各種条件の設定手段の付加)
上記画像処理装置10には、算出された各画素における法線ベクトルの方向について特定の範囲を設定入力する範囲設定部と、各法線ベクトルが範囲設定部により設定された範囲内の方向に属する画素を特定し抽出する抽出部とを付加しても良い。
さらに抽出された画素については、処理結果記憶部30に記憶しても良いし、表示装置15のモニタに表示する表示制御を行っても良い。これにより、撮像対象物の表面において、一定の方向となる部分を抽出し、所定の形状条件を満たす部位を抽出したり、当該部位に囲まれる領域を特定したりすることができ、特定形状に対する新たな制御、検査、画像処理などに応用することが可能である。
【0064】
(その他)
上記実施形態では、選出部21において輝度値を三つに絞り込んでいるが、これに限定されるものではなく、四以上に絞り込んでも良い。だたし、その場合には、絞り込まれた四以上の輝度値の中から三つの輝度値の組み合わせを複数作ることができるので、各組み
合わせから求まる複数の法線ベクトルについて平均化等により最終的に一つの法線ベクトルに確定する必要がある。
【0065】
また、上記実施形態では、基板Sの半田パターンを撮像対象物として例示したが、例えば基板Sの全体像を撮像して法線ベクトルを算出しても良いし、半田パターン以外の一部分のみを撮像対象物としてもよいことは言うまでもない。
また、カメラ1及び照明装置2を上方に向けてベースフレーム114に装備し、ヘッド105を位置決めして吸着ノズル105の吸着された電子部品Cやそのバンプなどを撮像対象としても良い。
【0066】
また、上記実施形態では、撮像画像の全画素について法線ベクトルの算出を行う場合例示したが、撮像画像の一部の領域内の画素について法線ベクトルを算出する構成としても良い。
【0067】
また、上記実施形態では、立体形状認識装置としての画像処理装置10を電子部品実装装置100に搭載した場合を例示したが、これに限定されず、例えば、電子部品の形状異常の検査装置に適用しても良い。
【0068】
また、上記処理部20では、選出部21が、絞り込みによって使用画像として選出された撮像画像データが三つに満たない場合に、注目画素を無効画素として処理しているが、これに限らず、補間処理により法線データを新たに算出する補間処理部を付加しても良い。具体的には、隣接する周囲の2〜8の画素における法線ベクトルを合成する等により補間を行う。
【0069】
なお、画像処理装置10の処理部20における各種の構成21〜23は、実際には、ソフトウェアにより実現しているが、これらの構成をFPGA(Field-Programmable Gate Array)のような集積回路(ハードウェア)で実現しても良い。
【符号の説明】
【0070】
1 カメラ(撮像手段)
2 照明装置(照明手段)
10 画像処理装置(立体形状認識装置)
13 操作入力装置
15 表示装置
20 処理部
21 選出部
22 算出部
23 閾値設定部
100 電子部品実装装置
120 ホストコントローラ(制御部)
C 電子部品
S 基板(撮像対象物)
【技術分野】
【0001】
本発明は、撮像手段により得られる撮像画像から各画素における法線ベクトルを算出する立体形状認識装置に関するものである。
【背景技術】
【0002】
従来技術の形状計測方法を図15に示す。この従来技術は、いわゆる照度差ステレオ法を利用したもので、照明の方向を選択して(ステップS101)、対象物の撮像を行い(ステップS102)、毎回照明の方向を変えながら規定枚数の撮像を繰り返し行うことで(ステップS103)、複数の異なる方向から順番に照明を照射した時の対象物体の画像を取得し、画像内の画素を順番に従って選択し(ステップS104)、当該画素において、照明光の方向ベクトルとその輝度値と法線ベクトルとの関係を示す方程式を生成し(ステップS105)、方程式に含まれる行列を変換し(ステップS106)、方程式を解くことで法線ベクトルと平行なベクトルを算出し(ステップS107)、正規化により単位ベクトル化して法線ベクトルを算出する(ステップS108)。そして、画面内に位置する全ての画素についてステップS105〜S109の処理を繰り返すことにより、物体表面の勾配を求めるものであった(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第2960684号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来の形状計測方法では、計算結果の精度を高めるためには、照明の方向が異なる撮像画像の枚数を増やすことが効果的であるが、撮像画像の枚数を増やすと計算時間が指数的に増えてしまうという問題があった。
また、複数枚の画像を扱った場合、影や鏡面反射などにより、明らかに演算に不適切なデータも存在し、実行する必要のない演算も行ってしまうという問題もあった。
【0005】
本発明は、計算処理数を低減しつつ、計算結果の精度を高めることをその目的とする。
【課題を解決するための手段】
【0006】
請求項1記載の発明は、対象物に対して異なる少なくとも四以上の方向から個別に照明光を照射する照明手段と、前記対象物を撮像する撮像手段と、前記照明手段及び前記撮像手段を制御して、前記照明光の照射方向が異なる複数の撮像画像データを取得する制御部とを備え、照度差ステレオ法を用いて、前記照明光の照射方向が異なる複数の撮像画像データとそれぞれの照射方向とから撮像画像を構成する画素ごとにその位置の法線ベクトルを算出する立体形状認識装置において、撮像画像を構成するそれぞれの画素について、前記複数の撮像画像データの同じ位置の画素における複数の輝度値を、予め定めた絞り込み条件に従って絞り込む選出部と、撮像画像を構成するそれぞれの画素について、前記選出部により絞り込まれた同じ位置の画素における複数の輝度値に基づいて前記法線ベクトルを算出する算出部とを備えることを特徴とする。
【0007】
請求項2記載の発明は、請求項1記載の発明と同様の構成を備えると共に、前記選出部は、予め定められた前記輝度値に対する閾値との比較により前記同じ位置の画素における複数の輝度値の絞り込みを行うことを特徴とする。
【0008】
請求項3記載の発明は、請求項2記載の発明と同様の構成を備えると共に、ティーチング操作により選択された対象物の撮像画像の一部の領域に含まれる画素の輝度値に基づいて前記閾値に設定する閾値設定部を備えることを特徴とする。
【0009】
請求項4記載の発明は、請求項2又は3記載の発明と同様の構成を備えると共に、前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値について値が上位の所定数のもの、下位の所定数のもの又は中間順位の所定数のものに絞り込みを行うことを特徴とする。
【0010】
請求項5記載の発明は、請求項2又は3記載の発明と同様の構成を備えると共に、前記選出部は、前記閾値により前記同じ画素における複数の輝度値の絞り込みを行った後に、前記同じ画素における複数の輝度値についてその値の大きさがよりバラつくように絞り込みを行うことを特徴とする。
【0011】
請求項6記載の発明は、請求項2又は3記載の発明と同様の構成を備えると共に、前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値についてその撮像画像の照射光の照射方向のバラツキがより大きくなるように絞り込みを行うことを特徴とする。
【0012】
請求項7記載の発明は、請求項2又は3記載の発明と同様の構成を備えると共に、前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値についてその撮像画像の照射光の照射方向のバラツキがより小さくなるように絞り込みを行うことを特徴とする。
【0013】
請求項8記載の発明は、請求項1から7のいずれか一項に記載の発明と同様の構成を備えると共に、撮像画像を構成するそれぞれの画素について、
前記選出部は複数の異なる絞り込み条件の内の二つの絞り込み条件により同じ位置の画素における複数の輝度値の絞り込みを行い、
前記算出部が、前記異なる二つの絞り込み条件で絞り込まれたそれぞれの輝度値について法線ベクトルを算出し、
前記異なる二つの絞り込み条件で絞り込まれた複数の輝度値により算出されたそれぞれの法線ベクトルを比較して許容値以上の差が生じた場合には、前記絞り込み条件を替えて再度算出又はその画素については法線ベクトル算出不能とする比較処理部を備えることを特徴とする。
【0014】
請求項9記載の発明は、請求項1から6のいずれか一項に記載の発明と同様の構成を備えると共に、前記照明手段による照射条件を設定する照射条件入力部を備え、前記制御部は、前記照射条件に従って各々の撮像画像データを取得することを特徴とする。
【0015】
請求項10記載の発明は、請求項1から9のいずれか一項に記載の発明と同様の構成を備えると共に、前記法線ベクトルの方向について特定の範囲を設定入力する範囲設定部と、前記算出部により算出された法線ベクトルが前記範囲設定部により設定された範囲内の方向に属する画素を特定し抽出する抽出部とを備えることを特徴とする。
【発明の効果】
【0016】
本発明は、照明光の照射方向が異なるより多くの撮像画像データを使用して照度差ステレオ法により撮像対象物の撮像画像の各画素の位置について法線ベクトルを算出する場合でも、選出部により、各画素における法線ベクトルの算出よりも先に演算に必要な数の撮像画像データへの輝度値の絞り込みを行うので、多大な数になる法線ベクトルを求めるための撮像画像データの組み合わせに基づいて法線ベクトルの算出を行う必要がなく、各画
素について高速で法線ベクトルを求めることができると共にその算出処理負担を軽減することが可能である。
【図面の簡単な説明】
【0017】
【図1】本実施形態たる電子部品実装装置の斜視図である。
【図2】カメラ及び照明装置の構成を示す斜視図である。
【図3】照明装置の平面図である。
【図4】電子部品実装装置の制御ブロック図である。
【図5】閾値設定部による閾値設定処理を示すフローチャートである。
【図6】閾値設定部による閾値設定時に表示装置に表示される表示例である。
【図7】下限閾値設定のために入力された領域内の輝度値とその画素数との関係を示すダイヤグラムである。
【図8】上限閾値設定のために入力された領域内の輝度値とその画素数との関係を示すダイヤグラムである。
【図9】画像処理装置による撮像画像の各画素における法線ベクトルの取得するための処理を示すフローチャートである。
【図10】法線ベクトルの算出処理の説明図である。
【図11】選出部による絞り込みの処理のフローチャートである。
【図12】選出部による絞り込みの処理の説明図である。
【図13】図13(A)〜(C)は選出部による絞り込みの他の例を示す説明図である。
【図14】図14(A)、(B)は選出部による照明の照射方向による絞り込みの例を示す説明図である。
【図15】従来技術による法線ベクトルの算出処理を示すフローチャートである。
【発明を実施するための形態】
【0018】
(発明の実施形態)
発明の実施形態について、図1乃至図12に基づいて説明する。図1は、本実施形態たる電子部品実装装置100の斜視図である。以下、図示のように、水平面において互いに直交する二方向をそれぞれX軸方向とY軸方向とし、これらに直交する鉛直方向をZ軸方向というものとする。
電子部品実装装置100は、基板Sに各種の電子部品Cの搭載を行うものであって、図1に示すように、搭載される電子部品Cを供給する複数の部品供給装置としての電子部品フィーダ108を複数(図1では一つのみ図示)並べて保持する設置部としてのフィーダバンク102からなる部品供給部と、X軸方向に基板を搬送する基板搬送手段103と、当該基板搬送手段103による基板搬送経路の途中に設けられた基板Sに対する電子部品搭載作業を行うための基板保持部としての基板クランプ機構104と、部品配置部としての複数の吸着ノズル105を昇降可能に保持して電子部品Cの保持を行うヘッド106と、実装動作に要する各種の情報を得るために基板Sの半田パターンの撮像を行う撮像手段としてのカメラ1と、カメラ1による撮像持に照明光を照射する照明手段としての照明装置2と、ヘッド106を部品供給部と基板クランプ機構104とを含んだ作業エリア内の任意の位置に駆動搬送する移動機構としてのX−Yガントリ107と、上記各構成を搭載支持するベースフレーム114と、上記各構成の動作制御を行うホストコントローラ120と、撮像装置1の撮像により得られる撮像画像データを処理して形状認識を行う画像処理装置10を備えている。
【0019】
かかる電子部品実装装置100は、ホストコントローラ120が、電子部品Cの実装に関する各種の設定内容が記録された実装データを保有し、実装データから実装すべき電子部品Cと、電子部品Cの電子部品フィーダ108等の設置位置に基づく部品受け取り位置108aと、基板上の実装位置を示すデータとを読み出すと共に、X−Yガントリ107
を制御してヘッド106を電子部品Cの受け取り位置108aと実装位置とに移送し、各位置においてヘッド106を制御して吸着ノズル105の昇降動作及び吸着又は解放動作を行い、電子部品Cの実装の動作制御を実行する。
【0020】
(基板搬送手段及び基板保持部)
基板搬送手段103は、図示しない搬送ベルトを備えており、その搬送ベルトにより基板をX軸方向に沿って搬送する。
また、前述したように、基板搬送手段103による基板搬送経路の途中には、電子部品Cを基板へ搭載する際の作業位置で基板Sを固定保持するための基板クランプ機構104が設けられている。かかる基板クランプ機構104が装備されており、基板搬送方向に直交する方向における両端部で基板Sをクランプするようになっている。また、基板クランプ機構104の下方には、クランプ時に基板Sの下面側に当接して電子部品搭載時に基板Sが下方に撓まぬように支承する複数の支持棒が設けられている。基板Sはこれらにより保持された状態で安定した電子部品Cの搭載作業が行われる。
【0021】
(X−Yガントリ)
X−Yガントリ107は、X軸方向にヘッド106の移動を案内するX軸ガイドレール107aと、このX軸ガイドレール107aと共にヘッド106をY軸方向に案内する二本のY軸ガイドレール107bと、X軸方向に沿ってヘッド106を移動させる駆動源であるX軸モータ109と、X軸ガイドレール107aを介してヘッド106をY軸方向に移動させる駆動源であるY軸モータ110とを備えている。そして、各モータ109、110の駆動により、ヘッド106を二本のY軸ガイドレール107bの間となる領域のほぼ全体に搬送することを可能としている。
なお、各モータ109、110は、それぞれの回転量がホストコントローラ120に認識され、所望の回転量となるように制御されることにより、ヘッド106を介して吸着ノズル105の位置決めを行っている。
また、電子部品実装作業の必要上、前記した二つのフィーダバンク102,基板クランプ機構104とはいずれもX−Yガントリ107によるヘッド106の搬送可能領域内に配置されている。
【0022】
(ヘッド)
ヘッド106は、その先端部で空気吸引により電子部品Cを保持する吸着ノズル105(図1参照)と、吸着ノズル105をZ軸方向に沿って昇降させる昇降機構としてのZ軸モータ111と、吸着ノズル105を回転させて保持された電子部品CをZ軸方向回りに角度調節するためのθ軸モータ112とが設けられている。
また、上記吸着ノズル105は、Z軸方向に沿った状態で昇降可能且つ回転可能にヘッド106に支持されており、昇降による電子部品Cの受け取り又は実装及び回転による電子部品Cの角度調節が可能となっている。
【0023】
(フィーダバンク及び電子部品フィーダ)
フィーダバンク102は、ベースフレーム114のY軸方向一端部(図1手前側)にX軸方向に沿った状態で設けられている。フィーダバンク102は、X−Y平面に沿った長尺の平坦部を備え、当該平坦部の上面に複数の電子部品フィーダ108等がX軸方向に沿って羅列して載置装備される(図1では電子部品フィーダ108を一つのみ図示しているが実際には複数の電子部品フィーダ108等が並んで装備される)。
また、フィーダバンク102は、各電子部品フィーダ108等を保持するための図示しないラッチ機構を備えており、必要に応じて、各電子部品フィーダ108等をフィーダバンク102に対して装着又は分離することを可能としている。
【0024】
上述した電子部品フィーダ108は、後端部には電子部品Cが均一間隔で並んで封止さ
れたテープを巻回したテープリールを保持し、先端上部にはヘッド106に対する電子部品Cの供給位置である受け渡し部を有している。そして、電子部品フィーダ108がフィーダバンク102に取り付けられた状態における電子部品Cの受け渡し部の位置を示すX、Y座標値は前述した実装データに記録されている。
【0025】
(カメラ)
図2はカメラ1の周辺の構成を示す斜視図である。カメラ1及び照明装置2を下方の基板に向けてヘッド106に装備し、基板Sの例えば半田パターンなどを撮像対象とする。
上記カメラ1は、例えば、CCD撮像素子やCMOS撮像素子を備えたデジタル撮像画像データを取得可能なカメラであり、当該撮像素子の眼前に設けられた光学系が配設されている。なお、このカメラ1の撮像時に得られる画像信号は、画像処理装置10に出力される。
【0026】
(照明装置)
図3は照明装置2の平面図である。図2及び図3に示すように、撮像手段1のすぐ下側には、照明装置2が設けられている。この照明装置2は、Z軸方向に沿ったカメラ1の視線(光軸)を中心とする円周上に均一の角度間隔で複数の光源が設けられており、それぞれの光源は下方であってカメラ1の光軸上の一点に向けて照明光を照射するように配置されている。なお、ここでは、光軸の周囲で20°の角度間隔で18個の光源が設けられている照明装置2を例示するが光源の数は少なくと4以上であれば増減させても良い。
そして、この照明装置2の各光源は、ホストコントローラ120により個々に点灯を行うよう制御される。これにより、カメラ1の光軸上であって照明装置2の下方に配置された撮像対象に対して、20°の角度間隔で全方位から照明光の照射を行うことを可能としている。
【0027】
(電子部品実装装置の制御系)
図3は電子部品実装装置100の制御系を示すブロック図である。図示のように、X−Yガントリ107のX軸モータ109、Y軸モータ110、ヘッド106において吸着ノズル105の昇降を行うZ軸モータ111、吸着ノズル105の回転を行うθ軸モータ112は、それぞれ図示しない駆動回路を介してホストコントローラ120に接続されている。
また、撮像装置1の撮像の実行と照明装置2の光照射の実行とは、ホストコントローラ120により制御される。そして、撮像装置1の撮像による画像信号は、前述したように、画像処理装置10に入力されるようになっている。
【0028】
ホストコントローラ120は、実装対象となる電子部品Cのリスト及びその搭載の順番、各電子部品Cの基板S上における搭載位置、各電子部品Cがいずれの電子部品フィーダ108から受け取るかを示す受け取り位置等が定められた実装スケジュールデータを記憶する図示しないメモリと、実装動作制御プログラムを実行するCPU121とを主に備えている。
そして、電子部品の実装時には、実装スケジュールデータを読み込んで、X軸及びY軸モータ109,110を制御して所定の電子部品フィーダ108の受け取り位置にヘッド106を搬送し、Z軸モータ111を制御して吸着ノズル105にて電子部品Cを吸着し、実装スケジュールデータに定められた基板実装位置に電子部品Cを搬送して実装を行う。
そして、実装スケジュールデータに定められた全ての電子部品Cについて実装を行い、動作制御を終了するようになっている。
【0029】
また、ホストコントローラ120は、基板Sに対してその半田パターン等の形状検査を行うために、撮像制御を実行する。即ち、ホストコントローラ120は、後述する操作入
力装置13から設定入力された撮像枚数を読み出すと共に、撮像対象物(例えば、半田パターン)の中心をカメラ1の光軸上となるようにした状態で、撮像対象物の上方から、設定された撮像枚数分の撮像を行う。そして、このとき、毎回の撮像持における照明光の照射方向が全て異なるように照明装置2を制御する。例えば、設定された撮像枚数が9枚の場合には、照明装置2の0°,40°,80°,120°,…に位置する光源を順番に発光させつつ(図3の白色部)、カメラ1による撮像を実行する。即ち、照明光の照射方向を40°間隔(一つ飛び)で切り換えながら順番に撮影を行う。このように、点灯を行う光源は、撮像枚数に応じてなるべく均一角度間隔となるように照射方向を切り替える制御が行われる。
そして、毎回の撮像によりカメラ1が出力する画像信号は、画像処理装置10に送信され、そのA/D変換部11によりデジタル化され、撮像画像データに変換されて画像記憶部12に記憶される。
このように、ホストコントローラ120は、カメラ1及び照明装置2を制御して、照明光の照射方向が異なる複数の撮像画像データを取得する制御部として機能する。
【0030】
また、ホストコントローラ120は、画像処理装置10と通信可能に接続されており、半田パターンの撮像の解析の結果に基づいて得られる半田パターンの形状の情報を画像処理装置10から受信し、半田パターンの異常判定を行って基板Sへの実装の適否を判断するようになっている。
【0031】
(画像処理装置)
画像処理装置10は、照明光の照射方向が異なる複数の撮像画像データをカメラ1により取得し、それら複数の撮像画像データに基づいて、画像を構成する全ての画素について、撮像対象である電子部品Cの表面における法線ベクトルを算出する処理を行うものである。
【0032】
このため、図4に示すように、画像処理装置10は、上記撮像装置1の複数回の撮像による画像信号をA/D変換して各撮像ごとの撮像撮像画像データを生成するA/Dコンバータ11と、これらの撮像画像データを格納する画像記憶部12と、各撮像画像データの同じ画素について得られた輝度値の絞り込みを行うと共に絞り込まれた輝度値から当該画素における法線ベクトルを算出する処理部20と、撮像画面内の全画素又は任意の画素における法線ベクトルを形状データとして記憶する処理結果記憶部30と、形状データをホストコントローラ120に送信する図示しない通信部と、各部の処理の実行及びデータの格納について制御するCPU14と、各種設定データ等を記憶するデータメモリ16とを備えている。
また、画像処理装置10には、撮像画像等の表示を行う表示装置15と各種の設定や指令の入力を行うための操作入力装置13とが併設されており、画像処理装置10には、これらを接続するためのインターフェイス15a,13aが設けられている。
【0033】
また、上記処理部20は、同一の撮像対象物について少なくとも照明光の照射方向が異なる四以上の撮像画像データが得られた場合に、画像内の個々の画素について、三つの撮像画像データにおける輝度値に絞り込みを行う選出部21と、画像内の個々の画素について、絞り込まれた三つの輝度値から当該画素の位置における撮像対象物の表面の法線ベクトルを算出する算出部22と、選出部21での絞り込みを行うための輝度値の閾値を設定する閾値設定部23とを備えている。
【0034】
上記算出部22は、撮像画像内の各画素についてその撮像対象物の表面の法線ベクトルを算出するために照度差ステレオ法を利用する。
照度差ステレオ法では、照明光の照射方向が異なる三つの撮像画像データの同一の位置の画素における三つの輝度値から、当該画素における撮像対象物表面の法線ベクトルを算
出することが可能である。
即ち、照度差ステレオ法では、物体表面における拡散反射光の光強度が、物体表面に対する光源からの照明光の照射方向と当該光源の光強度との間で一定の関係にあることを利用して、異なる三方向からの各光源からの照射時におけるそれぞれの物体表面の輝度値から法線を逆算して求めるものである。
【0035】
拡散反射光Iは次式(1)により求められる。但し、ρは拡散反射率、I0は光源強度、Lは光源ベクトル、nは法線ベクトルである。
I=ρ・I0・L・n …(1)
で求められる。
この時、ベクトルNを次式(2)に示すように法線ベクトルnの定数倍と定義すると、
N=ρ・I0・n …(2)
式(1)、(2)により
I=L・N …(3)
さらに、式(3)により次式(4)が導き出される。
N=L−1・I …(4)
【0036】
即ち、ベクトルN=(xN,yN,zN)とした場合、当該ベクトルNと、光線ベクトルL1,L2,L3からなる光源行列Lと、各光線ベクトルL1,L2,L3を照射方向とした時の輝度値I1,I2,I3からなる拡散反射光Iとの間には次式(5),(6)が成立し、次式(6)を解くことによりxN,yN,zNを算出することが可能である。
【数1】
【0037】
上式(6)より求まるベクトルNは、法線ベクトルnの定数倍なので、ベクトルNの各XYZ成分をベクトル長さで割ることで、単位ベクトルである法線ベクトルnを求めることができる。
なお、各光線ベクトルL1,L2,L3のx,y,z成分の値は、撮像対象物である電子部品Cをカメラ1に対して規定の高さで撮像することを前提とした場合に、照明装置2の18個の光源のいずれから照射したかによって確定する値であり、これらは初期設定データとしてデータメモリ16内に登録されている。
従って、算出部22は、撮像画像の画素ごとに選択された三つの撮像画像データから、同一画素での輝度値I1,I2,I3を取得し、当該三つの撮像画像データの撮像時の光源から各光線ベクトルL1,L2,L3をデータメモリから読み出して、上記手法により法線ベクトルnの算出を行う。
【0038】
選出部21及び閾値設定部23は、算出部22が各画素について法線ベクトルnを算出する際に用いる三つの撮像画像データを四以上ある複数の撮像画像データの中から絞り込
むための処理及び制御を行うものである。なお、選出される三つの撮像画像データの組み合わせは各画素ごとに個別に選出される。
上述した照度差ステレオ法では、撮像対象物である電子部品Cの表面に生じる反射は拡散反射光のみとは限らない。撮像画像中には、鏡面反射光や陰影、外乱などにより照度差ステレオ法を適用できない部分が存在することがある。そこで、4枚以上の複数の撮像画像データから、注目座標(同じ位置の画素)ごとに適した三つの輝度値に絞り込みを行ってから照度差ステレオ法による法線ベクトルの算出を行う。
【0039】
例えば、前述した例示によれば、9つの光源からの照明光の照射による9つの撮像座像データを取得しているため、同じ位置の画素については9つの輝度値が取得されている。これに対して、選出部21は、これらの中から3つの輝度値に絞り込みを行う。なお、この絞り込みは、画像を構成する複数の画素について個別に行うため、個々の画素についてそれぞれ異なる三つの撮像画像データの組み合わせで絞り込まれることとなる。
選出部21における絞り込みは、同じ位置の画素の九つの輝度値に対して、(i)輝度値について定められた上限閾値から下限閾値までの範囲外となるものを除外する、(ii)(i)による除外を行った上で残った輝度値を小さい順にソートして輝度値が最下位のもの(暗いもの)から順番に三つ選出する、という二段階で行う。
【0040】
また、上記(i)の絞り込みにおける輝度値の上限閾値と下限閾値とは、閾値設定部23の処理により決定される。
図5は閾値設定部23よる下限閾値を設定する処理を示すフローチャートである。かかる閾値設定処理は、電子部品実装装置100による電子部品の実装作業の中で行っても良いし、実装作業を行う前に実装作業と切り離して実行しても良い。
この閾値設定処理は、撮像対象物の撮像画像データを用いて作業者が所定の領域を特定し、当該領域に含まれる画素の輝度値に基づいて閾値が設定されるものである。その際、使用される撮像画像データは、前述した九つの撮像画像データを利用しても良いし、別に撮像を行って得られた撮像画像データを使用しても良いが、照明装置2によりいずれかの光源からの照明光の照射が行われており、法線ベクトルを算出する場合と同じ条件で同じ対象物を撮像した撮像画像データであることを必須とする。
【0041】
まず、表示装置15のモニタに撮像画像を表示する(ステップS11)。図6は撮像対象物である半田パターンの撮像画像のモニタ表示画面を示している。かかる撮像画像において、符号Dは輝度値が低いために照度差ステレオ法に不適切である陰影部であり、符号Rは輝度値が高いために照度差ステレオ法に不適切である鏡面反射部(飽和部)であり、符号Hは照度差ステレオ法に適切な通常の拡散反射部である。
【0042】
そして、作業者の操作入力装置13の操作による、照度差ステレオ法に好ましくない陰影部Dを含む領域の指定入力を受け付ける(ステップS13)。
操作入力装置13は、例えばマウスのような入力インターフェイスを備えており、その操作により図6に示すような、四角いフレーム状のウィンドウ領域W1の位置及び大きさを指定する。このとき、作業者は、図示のように、陰影部Dが指定領域内により多く含まれるように指定しつつ、陰影部D以外の周辺領域も含まれるように領域指定を行うことが望ましい。なお、このステップS13では、下限閾値設定のためのウィンドウ領域W1の指定を促すようなナビゲーション表示を行っても良い。
【0043】
かかる領域指定が行われると、閾値設定部23は、ウィンドウ領域W1に含まれる各画素の輝度値によるヒストグラムを作成する(ステップS15)。
図7は、閾値設定部23により作成されたウィンドウ領域W1の輝度値のヒストグラムを示す線図である。かかるヒストグラムでは、画素の分布の集中するピークが複数現れることとなるが、陰影部Dを含むようにウィンドウ領域W1が指定されているため、複数あ
るピークの内で最も輝度値が低いピークが陰影部Dの輝度値と推定される。そこで、閾値設定部23では、最も輝度値が低いピークP1と二番目に輝度値が低いピークP2とを求め、その間に存在する谷の部分V1の輝度値を下限閾値Iminに設定する(ステップS17)。
【0044】
次に、上記処理にて設定された下限閾値Iminが陰影部の判定に適するか否かの確認処理を行う。即ち、作業者の操作入力装置13の操作による、陰影部Dのみからなる小ウィンドウ領域W11の指定入力を受け付ける(ステップS19)。なお、ウィンドウではなく、撮像画像の一点を指定する入力方法としても良い。
そして、閾値設定部23では、指定された小ウィンドウ領域W11内の画素の輝度値がステップS17で求めた下限閾値Iminより小さい値となるか判定を行う(ステップS21)。なお、この判定において、小ウィンドウ領域W11内の画素の輝度値が下限閾値Imin以上となった場合には、ステップS13に処理を戻し、下限閾値設定のやり直しとなる。
【0045】
また、上記判定にて、小ウィンドウ領域W11内の画素の輝度値が下限閾値Iminより小さい値となることが確認された場合には、作業者の操作入力装置13の操作による、陰影部を含まない範囲の小ウィンドウ領域W12の指定入力を受け付ける(ステップS23)。この場合も、ウィンドウではなく、撮像画像の一点を指定する入力方法としても良い。
そして、閾値設定部23では、指定された小ウィンドウ領域内の画素の輝度値がステップS17で求めた下限閾値Imin以上の値となるか判定を行う(ステップS25)。なお、この判定において、小ウィンドウ領域W12内の画素の輝度値が下限閾値Iminより小さくなった場合には、ステップS13に処理を戻し、下限閾値設定のやり直しとなる。
また、上記判定にて、小ウィンドウ領域W12内の画素の輝度値が下限閾値Imin以上となることが確認された場合には、下限閾値Iminが確定され、データメモリ16内に登録される。
【0046】
また、上記下限閾値の設定と共に、上限閾値の設定も行われる。かかる上限閾値の設定時にも、下限閾値の場合を同様にして、表示装置15のモニタに撮像画像が表示され、これに対して、作業者による鏡面反射部Rを含むウィンドウ領域W2(図6)の指定入力を受け付ける。
そして、ウィンドウ領域W2に含まれる各画素の輝度値によるヒストグラムが作成され(図8参照)、ウィンドウ領域W1の場合と同様にピークが複数現れることとなるが、上限閾地の設定の場合には、閾値設定部23は、最も輝度値が高いピークP3と二番目に輝度値が高いピークP4とを求め、その間に存在する谷の部分V2の輝度値を上限閾値Imaxに設定する。
また、確認処理も下限閾値の場合と同様に、鏡面反射部Rのみからなる小ウィンドウ領域W21の指定入力を受け付けて、その輝度値が上限閾値Imaxより大きい値となるか判定し、さらに、鏡面反射部Rを含まない範囲の小ウィンドウ領域W22の指定入力を受け付けて、その輝度値が上限閾値Imax以下の値となるか判定を行う。そして、上限閾値Imaxが確認処理で不適切な場合にはウィンドウ領域W2の入力からやり直しとなり、適切な場合には上限閾値Imaxが確定され、データメモリ16内に登録される。
なお、上限閾値と下限閾値とはいずれを先に設定しても良い。
【0047】
(画像処理装置による法線ベクトルを取得するための処理)
図9は画像処理装置10による撮像画像の各画素における法線ベクトルの取得するための処理を示すフローチャートである。
図9に示すように、まず、ホストコントローラ120により照明装置2とカメラ1とが制御され、基板Sの半田パターンを4以上の複数方向から照明光を照射しつつ撮像が行わ
れる(ステップS51)。
そして、各照射方向の撮像により得られた撮像画像データはそれぞれ照明装置2のいずれの光源による照明光が照射されたかを示す情報と共に画像記憶部12に記憶される。
【0048】
次いで、前述した閾値設定部23による上限閾値Imaxと下限閾値Iminとを設定する処理が行われる(ステップS53)。設定された上限閾値Imaxと下限閾値Iminはデータメモリ16に記憶される。
【0049】
次いで、撮像画像を構成する全画素について順番に一つずつ法線ベクトルnの算出処理がステップS55〜S61において行われる。
ステップS55〜S61の法線ベクトルnの算出処理は、図10に示すように、撮像画像における全画素について画面の端に位置する画素から一つずつ順番に繰り返し実行される。なお、以下の説明では、法線ベクトルを算出する対象となっている画素を注目画素というものとする。
【0050】
まず、全撮像画像データにおける当該注目画素の位置での輝度値が画像記憶部12から読み込まれる。なお、図10及び後述する図12では説明を簡明にするために撮像画像データが5つある場合を例示する。つまり、この例では各撮像画像データの注目画素から5つの輝度値が読み込まれる。
そして、選出部21により、五つの撮像画像データの注目画素の輝度値から三つに絞り込みが行われる(ステップS55)。
【0051】
図11は選出部21により絞り込みの処理を詳細に示すフローチャートであり、図12は絞り込みの処理を概念的に示した説明図である。これらにより詳細に説明すると、まず、一つめの撮像画像データから順番の注目画素の輝度値について、下限閾値Imin以上であって上限閾値Imax以下の範囲内か否かを判定する(ステップS551)。
そして、上記閾値の範囲外となる場合には、当該輝度値の撮像画像データを計算不可能画像と判定し記録する(ステップS553)。
一方、上記閾値の範囲内となる場合には、当該輝度値の撮像画像データを使用画像と判定し記録する(ステップS555)
そして、上記ステップS551〜S555の処理を5つの撮像画像データの全てについて繰り返し実行する。
例えば、図12では二番目の撮像画像データ(×印)が計算不可能画素と判定された場合を示している。
【0052】
次に、使用画像と判定された撮像画像データの注目画素のそれぞれの輝度値を値の低い順番にソートする(ステップS557)。図12では四つの画素が輝度値の低い順にソートされた状態を示している。
そして、各注目画素の輝度値について、値が低いものから順番に三つまでを選出し(図12○印)、それらの輝度値となった三つの撮像画像データを最終的な使用画像に決定する(ステップS559)。
【0053】
そして、選出部21による絞り込みの処理が終わると、処理部20では、三つの撮像画像データが使用画像として選出されたか否かを判定する(図9のステップS57)。
そして、例えば、5つの撮像画像データについて前述した絞り込みの処理のステップS551の判定が行われた結果、使用画像が三つに満たなくなった場合には、現在の注目画素は法線ベクトルnを求めることができない無効画素として処理結果記憶部30に記憶する(ステップS59)。
【0054】
また、選出部21による絞り込みの結果、三つの撮像画像データが使用画像として選出
された場合には、それぞれの撮像画像データの注目画素における三つの輝度値I1,I2,I3と、三つの撮像画像データの撮像持の光源に応じた光源ベクトルL1,L2,L3とに基づいて算出部22が前述した式(6)を解いてベクトルNのxN,yN,zNを算出する。さらに、ベクトルNのxN,yN,zNをそのベクトル長さで除算して法線ベクトルnを算出する(ステップS61)。このとき、算出された法線ベクトルnは、その注目画素における法線ベクトルnとして処理結果記憶部30に記憶される。
そして、上記ステップS55〜S61までの処理が撮像画像の全ての画素について完了すると、当該撮像画像の全ての画素の法線ベクトルnが取得され、例えば、これらが撮像対象物である半田パターンの形状データとしてホストコントローラ120に送信される。
【0055】
ホストコントローラ120では、例えば、半田パターンについて撮像が行われ、上記形状データが画像処理装置10から送信されると、当該形状データをサンプルデータと比較して半田パターンの外部形状の異常判定を行ったり、形状データから特徴部分を抽出して実装時の電子部品Cの位置決めなど動作制御に反映させたりすることができる。
【0056】
(実施形態の効果)
以上のように、電子部品実装装置100の画像処理装置10では、照明光の照射方向が異なるより多くの撮像画像データを使用する場合でも、選出部21により、各画素における法線ベクトルの算出よりも先に三つの撮像画像データへの輝度値の絞り込みを行うので、多大な数になる三つの撮像画像データの組み合わせの全てについて法線ベクトルを求める必要がなく、各画素について高速で法線ベクトルを求めることができると共にその算出処理負担を軽減することが可能である。
【0057】
また、選出部21は、注目画素の各撮像画像データの輝度値について上限閾値と下限閾値とを用いて絞り込みを行っているので、単純な比較処理で絞り込みを実現することができ、処理の高速化及び処理負担の軽減を図ることが可能となる。
さらに、閾値設定部23では、実際の撮像画像内での陰影領域や鏡面反射領域を選択し、実際の陰影や鏡面反射の輝度値に基づいて閾値設定を行うので、照度差ステレオ法による法線ベクトルの算出において、不適切な輝度値を示す画素を処理からより効果的に除去することができ、精度の高い法線ベクトルの算出が可能となる。
【0058】
また、選出部21は、注目画素の各撮像画像データの輝度値について上限閾値と下限閾値とを用いて絞り込みを行った後に、輝度値を低い順にソートして最低値から順に必要数に絞り込みを行うので、高速且つ負担軽減を図りつつ撮像画像データの輝度値を法線ベクトルの算出に必要な数まで絞り込むことを可能としている。
【0059】
(選出部による輝度値の絞り込みの他の例[1])
上記選出部21では、上下の閾値により同じ位置の画素における複数の輝度値に対して絞り込みを行った後に、ソートして値の低いものから順番に輝度値の選出を行っているが、これに限られるものではない。例えば、図13(A)の○印に示すように、閾値により絞り込みを行った後に、ソートを行い、輝度値の高いものから順番に選出しても良い。
また、或いは、図13(B)の○印に示すように、輝度値の順番が丁度中間順位となるもの及び中間順位に近いものから順番に選出しても良い。
或いは、輝度値の高低がなるべくバラつくように選出しても良い。例えば、図13(C)の○印に示すように、輝度値が最も高いものと最も低いものと丁度中間のものとなるように選出しても良い。
輝度値の選出においてその順位の分布をいかなるものにすると、精度良く法線ベクトルが求まるかは、撮像対象物の表面状態や照明光の照射条件によっても変動する場合もあるので、これらに応じて適切な選出条件を選択することが望ましい。
【0060】
(選出部による輝度値の絞り込みの他の例[2])
上記選出部21では、上下の閾値により同じ位置の画素における複数の輝度値に対して絞り込みを行った後に、輝度値の順番に従って輝度値の選出を行っているが、これに限らず、例えば、それぞれの撮像画像データの撮像持の照明光の照射方向に着目しても良い。
例えば、図14(A)の○印に示すように、それぞれの撮像画像データの撮像持の照明光の照射方向が最もバラつく組み合わせとなる撮像画像データの輝度値を選出しても良い。
或いは、図14(B)の○印に示すように、それぞれの撮像画像データの撮像持の照明光の照射方向が互いに最も近づく組み合わせとなる撮像画像データの輝度値を選出しても良い。
【0061】
(選出部による輝度値の絞り込みの他の例[3])
上記選出部21では、通常の絞り込み方法の他に、上述した絞り込みの他の例[1]や絞り込みの他の例[2]で示した他の絞り込み方向のいずれかを用いて、これら二つの方法で輝度値を選出し、算出部22が注目画素について二つの方法で選出された輝度値に基づいてそれぞれ法線ベクトルを算出しても良い。
そして、処理部20には、二つの方法で算出した同じ注目画素の法線ベクトルについて比較を行い、その方向の差が予め定めた許容値の範囲内か否かを判定する比較処理部を設けても良い。また、比較処理部は、比較の結果、許容値に範囲内であればどちらかの法線ベクトルを採用して処理結果記憶部30に記録し、許容値の範囲外であれば、組み合わせが異なる二つの絞り込みの方法で輝度値の選出及び法線ベクトルの算出を行うか、或いはその注目画素については法線ベクトルの算出不可能であることを処理結果記憶部30に記録する処理を行うことが望ましい。
【0062】
(各種条件の設定手段の付加)
上記電子部品実装装置100に、撮像対象物の撮像時における撮像枚数等の撮像条件や撮像時の照明光の照射方向や明るさ等の照明条件をパラメータとして設定する条件設定手段を付加しても良い。
例えば、撮像枚数を任意に設定可能とした場合、撮像枚数を多く設定する程、法線ベクトルの計算結果の精度は向上するが、複数の撮像対象について形状認識を行う場合には、全ての撮像対象物に対して最大の撮像枚数を設定しなくとも、撮像対象の材質の認識しやすさや、必要とされている精度によって枚数を調節することで、無駄な撮像や計算を省くことができる。
また、照明条件を任意に設定可能とした場合、撮像対象に合わせて最適な照明設定を切り替えることでより精度の高い計算が可能となる。
【0063】
(各種条件の設定手段の付加)
上記画像処理装置10には、算出された各画素における法線ベクトルの方向について特定の範囲を設定入力する範囲設定部と、各法線ベクトルが範囲設定部により設定された範囲内の方向に属する画素を特定し抽出する抽出部とを付加しても良い。
さらに抽出された画素については、処理結果記憶部30に記憶しても良いし、表示装置15のモニタに表示する表示制御を行っても良い。これにより、撮像対象物の表面において、一定の方向となる部分を抽出し、所定の形状条件を満たす部位を抽出したり、当該部位に囲まれる領域を特定したりすることができ、特定形状に対する新たな制御、検査、画像処理などに応用することが可能である。
【0064】
(その他)
上記実施形態では、選出部21において輝度値を三つに絞り込んでいるが、これに限定されるものではなく、四以上に絞り込んでも良い。だたし、その場合には、絞り込まれた四以上の輝度値の中から三つの輝度値の組み合わせを複数作ることができるので、各組み
合わせから求まる複数の法線ベクトルについて平均化等により最終的に一つの法線ベクトルに確定する必要がある。
【0065】
また、上記実施形態では、基板Sの半田パターンを撮像対象物として例示したが、例えば基板Sの全体像を撮像して法線ベクトルを算出しても良いし、半田パターン以外の一部分のみを撮像対象物としてもよいことは言うまでもない。
また、カメラ1及び照明装置2を上方に向けてベースフレーム114に装備し、ヘッド105を位置決めして吸着ノズル105の吸着された電子部品Cやそのバンプなどを撮像対象としても良い。
【0066】
また、上記実施形態では、撮像画像の全画素について法線ベクトルの算出を行う場合例示したが、撮像画像の一部の領域内の画素について法線ベクトルを算出する構成としても良い。
【0067】
また、上記実施形態では、立体形状認識装置としての画像処理装置10を電子部品実装装置100に搭載した場合を例示したが、これに限定されず、例えば、電子部品の形状異常の検査装置に適用しても良い。
【0068】
また、上記処理部20では、選出部21が、絞り込みによって使用画像として選出された撮像画像データが三つに満たない場合に、注目画素を無効画素として処理しているが、これに限らず、補間処理により法線データを新たに算出する補間処理部を付加しても良い。具体的には、隣接する周囲の2〜8の画素における法線ベクトルを合成する等により補間を行う。
【0069】
なお、画像処理装置10の処理部20における各種の構成21〜23は、実際には、ソフトウェアにより実現しているが、これらの構成をFPGA(Field-Programmable Gate Array)のような集積回路(ハードウェア)で実現しても良い。
【符号の説明】
【0070】
1 カメラ(撮像手段)
2 照明装置(照明手段)
10 画像処理装置(立体形状認識装置)
13 操作入力装置
15 表示装置
20 処理部
21 選出部
22 算出部
23 閾値設定部
100 電子部品実装装置
120 ホストコントローラ(制御部)
C 電子部品
S 基板(撮像対象物)
【特許請求の範囲】
【請求項1】
対象物に対して異なる少なくとも四以上の方向から個別に照明光を照射する照明手段と、前記対象物を撮像する撮像手段と、前記照明手段及び前記撮像手段を制御して、前記照明光の照射方向が異なる複数の撮像画像データを取得する制御部とを備え、
照度差ステレオ法を用いて、前記照明光の照射方向が異なる複数の撮像画像データとそれぞれの照射方向とから撮像画像を構成する画素ごとにその位置の法線ベクトルを算出する立体形状認識装置において、
撮像画像を構成するそれぞれの画素について、前記複数の撮像画像データの同じ位置の画素における複数の輝度値を、予め定めた絞り込み条件に従って絞り込む選出部と、
撮像画像を構成するそれぞれの画素について、前記選出部により絞り込まれた同じ位置の画素における複数の輝度値に基づいて前記法線ベクトルを算出する算出部とを備えることを特徴とする立体形状認識装置。
【請求項2】
前記選出部は、予め定められた前記輝度値に対する閾値との比較により前記同じ位置の画素における複数の輝度値の絞り込みを行うことを特徴とする請求項1記載の立体形状認識装置。
【請求項3】
ティーチング操作により選択された対象物の撮像画像の一部の領域に含まれる画素の輝度値に基づいて前記閾値に設定する閾値設定部を備えることを特徴とする請求項2記載の立体形状認識装置。
【請求項4】
前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値について値が上位の所定数のもの、下位の所定数のもの又は中間順位の所定数のものに絞り込みを行うことを特徴とする請求項2又は3記載の立体形状認識装置。
【請求項5】
前記選出部は、前記閾値により前記同じ画素における複数の輝度値の絞り込みを行った後に、前記同じ画素における複数の輝度値についてその値の大きさがよりバラつくように絞り込みを行うことを特徴とする請求項2又は3記載の立体形状認識装置。
【請求項6】
前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値についてその撮像画像の照射光の照射方向のバラツキがより大きくなるように絞り込みを行うことを特徴とする請求項2又は3記載の立体形状認識装置。
【請求項7】
前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値についてその撮像画像の照射光の照射方向のバラツキがより小さくなるように絞り込みを行うことを特徴とする請求項2又は3記載の立体形状認識装置。
【請求項8】
撮像画像を構成するそれぞれの画素について、
前記選出部は複数の異なる絞り込み条件の内の二つの絞り込み条件により同じ位置の画素における複数の輝度値の絞り込みを行い、
前記算出部が、前記異なる二つの絞り込み条件で絞り込まれたそれぞれの輝度値について法線ベクトルを算出し、
前記異なる二つの絞り込み条件で絞り込まれた複数の輝度値により算出されたそれぞれの法線ベクトルを比較して許容値以上の差が生じた場合には、前記絞り込み条件を替えて再度算出又はその画素については法線ベクトル算出不能とする比較処理部を備えることを特徴とする請求項1から7のいずれか一項に記載の立体形状認識装置。
【請求項9】
前記照明手段による照射条件を設定する照射条件入力部を備え、
前記制御部は、前記照射条件に従って各々の撮像画像データを取得することを特徴とする請求項1から8のいずれか一項に記載の立体形状認識装置。
【請求項10】
前記法線ベクトルの方向について特定の範囲を設定入力する範囲設定部と、
前記算出部により算出された法線ベクトルが前記範囲設定部により設定された範囲内の方向に属する画素を特定し抽出する抽出部とを備えることを特徴とする請求項1から9のいずれか一項に記載の立体形状認識装置。
【請求項1】
対象物に対して異なる少なくとも四以上の方向から個別に照明光を照射する照明手段と、前記対象物を撮像する撮像手段と、前記照明手段及び前記撮像手段を制御して、前記照明光の照射方向が異なる複数の撮像画像データを取得する制御部とを備え、
照度差ステレオ法を用いて、前記照明光の照射方向が異なる複数の撮像画像データとそれぞれの照射方向とから撮像画像を構成する画素ごとにその位置の法線ベクトルを算出する立体形状認識装置において、
撮像画像を構成するそれぞれの画素について、前記複数の撮像画像データの同じ位置の画素における複数の輝度値を、予め定めた絞り込み条件に従って絞り込む選出部と、
撮像画像を構成するそれぞれの画素について、前記選出部により絞り込まれた同じ位置の画素における複数の輝度値に基づいて前記法線ベクトルを算出する算出部とを備えることを特徴とする立体形状認識装置。
【請求項2】
前記選出部は、予め定められた前記輝度値に対する閾値との比較により前記同じ位置の画素における複数の輝度値の絞り込みを行うことを特徴とする請求項1記載の立体形状認識装置。
【請求項3】
ティーチング操作により選択された対象物の撮像画像の一部の領域に含まれる画素の輝度値に基づいて前記閾値に設定する閾値設定部を備えることを特徴とする請求項2記載の立体形状認識装置。
【請求項4】
前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値について値が上位の所定数のもの、下位の所定数のもの又は中間順位の所定数のものに絞り込みを行うことを特徴とする請求項2又は3記載の立体形状認識装置。
【請求項5】
前記選出部は、前記閾値により前記同じ画素における複数の輝度値の絞り込みを行った後に、前記同じ画素における複数の輝度値についてその値の大きさがよりバラつくように絞り込みを行うことを特徴とする請求項2又は3記載の立体形状認識装置。
【請求項6】
前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値についてその撮像画像の照射光の照射方向のバラツキがより大きくなるように絞り込みを行うことを特徴とする請求項2又は3記載の立体形状認識装置。
【請求項7】
前記選出部は、前記閾値により前記同じ位置の画素における複数の輝度値の絞り込みを行った後に、前記同じ位置の画素における複数の輝度値についてその撮像画像の照射光の照射方向のバラツキがより小さくなるように絞り込みを行うことを特徴とする請求項2又は3記載の立体形状認識装置。
【請求項8】
撮像画像を構成するそれぞれの画素について、
前記選出部は複数の異なる絞り込み条件の内の二つの絞り込み条件により同じ位置の画素における複数の輝度値の絞り込みを行い、
前記算出部が、前記異なる二つの絞り込み条件で絞り込まれたそれぞれの輝度値について法線ベクトルを算出し、
前記異なる二つの絞り込み条件で絞り込まれた複数の輝度値により算出されたそれぞれの法線ベクトルを比較して許容値以上の差が生じた場合には、前記絞り込み条件を替えて再度算出又はその画素については法線ベクトル算出不能とする比較処理部を備えることを特徴とする請求項1から7のいずれか一項に記載の立体形状認識装置。
【請求項9】
前記照明手段による照射条件を設定する照射条件入力部を備え、
前記制御部は、前記照射条件に従って各々の撮像画像データを取得することを特徴とする請求項1から8のいずれか一項に記載の立体形状認識装置。
【請求項10】
前記法線ベクトルの方向について特定の範囲を設定入力する範囲設定部と、
前記算出部により算出された法線ベクトルが前記範囲設定部により設定された範囲内の方向に属する画素を特定し抽出する抽出部とを備えることを特徴とする請求項1から9のいずれか一項に記載の立体形状認識装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−122870(P2012−122870A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−274351(P2010−274351)
【出願日】平成22年12月9日(2010.12.9)
【出願人】(000003399)JUKI株式会社 (1,557)
【Fターム(参考)】
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願日】平成22年12月9日(2010.12.9)
【出願人】(000003399)JUKI株式会社 (1,557)
【Fターム(参考)】
[ Back to top ]