以下、本発明の実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成のすべてが本発明の課題を解決するために必須の構成要件であるとは限らない。
1. 第1の実施形態
〔捺印シンボル検査システム〕
図1に、本発明の第1の実施形態における捺印シンボル検査システムの構成例を示す。図1の捺印シンボル検査システムは、電子機器としての電子部品に捺印されたシンボルを検査し、検査結果に応じて電子部品を良品又は不良品に振り分ける。
捺印シンボル検査システム10は、撮像手段(撮像部)としての撮像カメラ20と、捺印シンボル検査装置100と、振り分け処理装置30とを備えている。撮像カメラ20は、捺印シンボル検査装置100に接続され、撮像カメラ20により撮像された撮像画像の画像データ(撮像データ)を捺印シンボル検査装置100に供給する。捺印シンボル検査装置100は、振り分け処理装置30に接続され、捺印シンボル検査装置100の検査結果に対応した検査結果信号を、振り分け処理装置30に供給する。振り分け処理装置30は、検査結果信号に応じて、検査対象の電子部品40を良品又は不良品に振り分ける処理を行う。
このような構成を有する捺印シンボル検査システム10は、所定の検査経路を流れる電子部品40の捺印シンボルを識別し、識別したシンボルの良否判定を実施し、良品と判定された電子部品と不良品と判定された電子部品とを振り分ける。このとき、撮像カメラ20が、検査対象の電子部品40の捺印シンボルを含む領域を撮像して撮像画像の画像データを生成し、該画像データを捺印シンボル検査装置100に出力する。捺印シンボル検査装置100は、ニューラルネットワークを用いて、電子部品40の捺印シンボルを、高速、且つ、高精度に識別し、認識したシンボルの揺らぎ(かすれ、汚れ、欠け、にじみ、位置のずれ等)にかかわらず良否判定を実施する。捺印シンボル検査装置100による良否判定結果は、検査結果として、これに対応する検査結果信号により、振り分け処理装置30に出力される。振り分け処理装置30は、例えば、検査結果信号に応じて、良品として判定された電子部品40を検査経路に残して次の工程に送る処理を行い、不良品として判定された電子部品40を検査経路から除外する処理を行う。
〔捺印シンボル検査装置〕
捺印シンボル検査装置100が用いるニューラルネットワークは、学習によりシンボル認識の判断基準の自動形成と高い汎化性とを実現する特性を有している。そのため、捺印シンボル検査装置100における捺印シンボルの曖昧な良否判定基準を、学習により自動形成させることで、若干の捺印の不具合や捺印シンボルを撮像したときの状況に対しても安定した良否判定を実現させることができる。このようなニューラルネットワークは、行列計算からなる分離演算を行うものであり、乗算器や加算器等を有するDSP(Digital Signal Processor)等のプロセッサーにより、その機能を容易に実現することができる。従って、ニューラルネットワークを捺印シンボルの検査に適用することで、高速、且つ、実用度の高い捺印シンボル検査装置の構築が可能となる。
以下の説明において、捺印シンボル検査装置の検査対象である電子部品のシンボルを捺印する手法に限定されるものではなく、レーザー等でシンボルを刻む場合や、インク等でシンボルを捺印する場合等にも適用することができる。また、電子部品に捺印されるシンボルとしては、大文字又は小文字の英字、数字、各種記号、ひらがな、カタカナ、漢字等がある。なお、以下の説明では、捺印シンボルとして、大文字の英字“A”〜“Z”(但し、英字“I”及び“O”を除く)、及び数字“0”〜“9”の34種類のシンボルを検査するものとする。これにより、良否判定の精度にかかわらず、ユーザーによる大文字の英字“I”と数字“1”の混同や大文字の英字“O”と数字“0”の混同を、確実に回避することができる。
図2に、図1の捺印シンボル検査装置100の説明図を示す。図2では、ニューラルネットワークを模式的に表すと共に、捺印シンボル“A”に対して検査する様子を模式的に表している。
捺印シンボル検査装置100は、捺印シンボル識別手段と、良否判定手段とを有している。捺印シンボル識別手段は、検査対象の捺印シンボルの画像データに基づく第1のニューラルネットワークNN1による相対分類によって、捺印シンボルを識別する。良否判定手段は、各々が捺印シンボル識別手段によって識別されたシンボルに対応して設けられる複数の第2のニューラルネットワークNN2を有している。図2の場合、良否判定手段は、34種類の第2のニューラルネットワークNN2を有している。良否判定手段は、検査対象の捺印シンボルの画像データに基づき、捺印シンボル識別手段によって識別されたシンボル専用の第2のニューラルネットワークNN2による相対分類によって、捺印シンボルの良否判定を行う。
具体的には、撮像カメラ20が、検査対象の捺印シンボル“A”を含む領域を撮像して、撮像画像の画像データを生成する。捺印シンボル識別手段は、撮像画像を所定のブロック数に分割し、画像データに基づいて各ブロックを構成する画素の代表値を生成し、第1のニューラルネットワークNN1に入力する。
第1のニューラルネットワークNN1は、階層型モデルのニューラルネットワークであり、入力層、中間層、及び出力層を有している。第1のニューラルネットワークNN1は、複数の中間層を有していてもよい。入力層は、撮像画像の分割ブロック数分の入力ユニットを有しており、各入力ユニットには、対応するブロックの代表値が入力される。中間層は、入力層の入力ユニットの約半数の中間ユニットを有しており、各中間ユニットは、入力層の全入力ユニットの各々と接続され、各々が個別の重み付けがされる。出力層は、識別対象の捺印シンボル数分である34個の出力ユニットを有しており、各出力ユニットは、中間層の全中間ユニットの各々と接続され、各々が個別の重み付けがされる。入力ユニットと中間ユニットとの間の重み付け、及び中間ユニットと出力ユニットとの間の重み付けは、学習によって調整される。
ここで、第1のニューラルネットワークNN1の中間ユニット又は出力ユニットを構成するユニットについて説明する。
図3(A)、図3(B)に、第1のニューラルネットワークNN1の中間ユニット又は出力ユニットを構成するユニットの説明図を示す。図3(A)は、入力層、中間層、及び出力層の各々を第1層、第2層、及び第3層としたときの第k(k=2,3)層の第j(jは自然数)ユニットUk jの構成の概要を表す。第jユニットUk jは、第2層(k=2)のとき中間ユニットとなり、第3層(k=3)のとき出力ユニットとなる。図3(B)は、図3(A)の伝達部の伝達関数f(xi)の説明図を表す。
第1のニューラルネットワークNN1の中間ユニット又は出力ユニットを構成する第k層の第jユニットU
k jは、図3(A)に示すように、結合部UT
k jと、伝達部TF
k jとを備えている。結合部UT
k jは、次式のように、第(k−1)層の全ユニットからの出力を重み付けして線形和x
k jを出力する。
式(1)において、第(k−1)層の第iユニットから第k層の第jユニットへの出力の重み付け係数をWk−1,k i,j、第(k−1)層の第iユニットUk−1 iの出力をok−1 iとしている。
伝達部TF
k jは、次式のように、結合部UT
k jの出力である線形和x
k jを入力とする、例えば次式のような伝達関数f(x
k j)を出力o
k jとして出力する。第jユニットU
k jが出力層を構成するユニットの場合(k=3の場合)、出力o
k jは出力ユニットの反応値に相当する。
式(2)は、伝達関数f(xk j)として、図3(B)に示すシグモイド関数を用いる例を示しているが、図3(B)に示す関数に限定されるものではない。
第1のニューラルネットワークNN1を学習させることは、所与の学習データを与えて出力層の各出力ユニットの出力と教師信号との差が所定の閾値以下となるように、Wk−1,k i,jを調整することを意味する。この結果、例えば捺印シンボル“A”を学習させることにより、Wk−1,k i,jが調整される。そのため、捺印シンボル“A”の撮像画像を分割した各ブロックの代表値を入力層の対応する入力ユニットに入力すると、捺印シンボル“A”に対応する出力層の出力ユニットのみが他の出力ユニットに比べて反応値が大きくなる。これにより、捺印シンボル識別手段は、相対分類によって捺印シンボル“A”を識別することができるようになる。
次に、図2における良否判定手段は、捺印シンボル識別手段と同様に、撮像カメラ20によって撮像された撮像画像を所定のブロック数に分割し、画像データに基づいて各ブロックを構成する画素の代表値を生成する。そして、良否判定手段は、この代表値を、第2のニューラルネットワークNN2に入力する。この第2のニューラルネットワークNN2は、捺印シンボル識別手段により識別された捺印シンボル“A”に対応して設けられるニューラルネットワークである。
第2のニューラルネットワークNN2は、第1のニューラルネットワークNN1と同様に、階層型モデルのニューラルネットワークであり、入力層、中間層、及び出力層を有している。第2のニューラルネットワークNN2は、複数の中間層を有していてもよい。入力層は、撮像画像の分割ブロック数分の入力ユニットを有しており、各入力ユニットには、対応するブロックの代表値が入力される。中間層は、入力層の入力ユニットの約半数の中間ユニットを有しており、各中間ユニットは、入力層の全入力ユニットの各々と接続され、各々が個別の重み付けがされる。出力層は、良品用と不良品用の2個の出力ユニットを有しており、各出力ユニットは、中間層の全中間ユニットの各々と接続され、各々が個別の重み付けがされる。入力ユニットと中間ユニットとの間の重み付け、及び中間ユニットと出力ユニットとの間の重み付けは、学習によって調整される。
第2のニューラルネットワークNN2についても、図3(A)及び図3(B)と同様のユニットにより構成される。従って、例えば良品の捺印シンボル“A”を学習させることにより、対応する第2のニューラルネットワークNN2のWk−1,k i,jが調整される。そのため、良品の捺印シンボル“A”の撮像画像を分割した各ブロックの代表値を入力層の対応する入力ユニットに入力すると、良品の捺印シンボル“A”に対応する出力層の出力ユニットのみが不良品に対応する出力ユニットに比べて反応値が大きくなる。これにより、良否判定手段は、相対分類によって捺印シンボル“A”の良否判定を行うことができるようになる。
〔捺印シンボル検査装置の構成〕
第1の実施形態における捺印シンボル検査装置100は、次のような構成により、上記の動作を実現する。
図4に、図1の捺印シンボル検査装置100の構成例の機能ブロック図を示す。図4では、捺印シンボル検査装置100が、1種類の所定サイズの34種類の捺印シンボルを検査するものとする。以下では、説明の便宜上、シンボル“A”〜“Z”(“O”及び“I”を除く),“0”〜“9”の順序で、対応する良否判定学習データ編集部及び良否判定学習部を表記している。
捺印シンボル検査装置100は、捺印シンボル識別手段としての捺印シンボル識別部200と、良否判定手段としての良否判定部300と、検査制御部140とを備えている。また、捺印シンボル検査装置100は、捺印シンボル識別部200に対応して、シンボル識別学習データ編集部110、第1の学習データ編集部112、第2の学習データ編集部114、及びシンボル識別学習部120を備えている。更に、捺印シンボル検査装置100は、良否判定部300に対応して、識別するシンボル毎に設けられた良否判定学習データ編集部と、良否判定学習部とを備えている。具体的には、捺印シンボル検査装置100は、“A”用良否判定学習データ編集部1301、“B”用良否判定学習データ編集部1302、・・・、及び「9」用良否判定学習データ編集部13034と、“A”用良否判定学習部1321、“B”用良否判定学習部1322、・・・、及び“9”用良否判定学習部13234とを備えている。
捺印シンボル識別部200は、電子部品40の捺印シンボルを含む領域を撮像カメラ20により撮像した撮像画像に対応した画像データに基づいて分離演算する第1のニューラルネットワークNN1により、捺印シンボルを識別する。第1のニューラルネットワークNN1は、シンボル識別学習データ編集部110、第1の学習データ編集部112、第2の学習データ編集部114、及びシンボル識別学習部120により事前に学習が行われる。
シンボル識別学習データ編集部110は、第1のニューラルネットワークNN1に、定型フォントパターンの画像データを入力して学習させる。これにより、第1のニューラルネットワークNN1において、定型フォントパターンの認識の判断基準を自動形成させ、高い汎化性により各シンボルを相対的に分類することができるようになる。また、位相が同じシンボルであれば、1種類のフォントパターンを学習させることで、複数のフォントパターンのシンボルを認識することができるようになる。ここで、位相は、シンボルを構成する線のつながりに対応した特徴であり、例えば交点、端点、尖点、穴等がある。位相が同じシンボルの例として、“1”,“|”,“/”があり、位相が異なるシンボルの例として、例えば“0”,“Φ”,“o”がある。
第1の学習データ編集部112は、第1のニューラルネットワークNN1に、上記の定型フォントパターンにノイズを付加した画像データを入力して学習させる。例えば、微細な塵、ゴミ等のノイズが混入した画像を、第1のニューラルネットワークNN1に学習させる。このように、第1のニューラルネットワークの学習データとして、予め想定できる捺印シンボルの画像を与えることにより、想定したシンボルの変動(かすれ、にじみ、欠け、位置ずれ等)に対して、安定した認識が可能となる。
第2の学習データ編集部114は、第1のニューラルネットワークNN1に、位相が同じ複数のフォントパターンの画像データを入力して学習させる。位相が同じシンボルについて、想定される複数のフォントを学習に与えることで、シンボルの識別能力を強化することができるようになる。
シンボル識別学習部120は、シンボル識別学習データ編集部110、第1の学習データ編集部112、又第2の学習データ編集部114からの学習データに基づき、式(1)の重み付け係数W
k−1,k i,jを求める。そして、シンボル識別学習部120は、求めた重み付け係数W
k−1,k i,jを、捺印シンボル識別部200の第1のニューラルネットワークNN1に反映させる。このとき、シンボル識別学習部120は、出力層の各出力ユニットの出力と教師信号との差が所定の閾値以下となるように、次式の重み付け係数の修正量ΔW
k−1,k i,jを算出する。なお、以下の式において、tは、学習回数を表す
より具体的には、シンボル識別学習部120は、通常の誤差逆伝播法を改良した改良型誤差逆伝播法により、重み付け係数の修正量ΔW
k−1,k i,jを算出する。改良型誤差逆伝播法は、通常の誤差逆伝播法に慣性項と振動項とを付加したものであり、次式に従って重み付け係数の修正量ΔW
k−1,k i,jを算出する。
式(4)において、εは正の学習定数、dk jは第k層の第jユニットの一般化誤差、ok−1 iは第(k−1)層の第iユニットの出力、αは慣性項の比例定数、βは振動項の比例定数を表す。式(4)において、慣性項は、現在の重み付け係数の変化量を考慮して収束を早める働きを有し、振動項は、解の探索をローカルミニマムから脱却させる働きを有する。また、α、βは、次のような関係を満たすように調整される。
図5に、式(4)のαとβとの関係を示す。図5は、横軸にα、縦軸にβを表し、斜線領域SAが、αとβの選択領域となる。
これは、参考文献(S.Nagata,M.Sekiguchi and K.Asakawa:”Mobile Robot Control by a Structured Hierarchical Neural Network”; IEEE Control System Magazine, April, pp.69〜76(1990))において設定された慣性項と振動項の境界条件である。斜線領域SAの範囲内でα及びβを変化させながら、出力層の各出力ユニットの出力と教師信号との差が所定の閾値以下となるように繰り返し演算することで、α及びβを決定する。
図4において、良否判定部300は、電子部品40の捺印シンボルを含む領域を撮像カメラ20により撮像した撮像画像に対応した画像データに基づいて分離演算する第2のニューラルネットワークNN2により、捺印シンボルを良否判定する。第2のニューラルネットワークNN2は、上記のように、捺印シンボル識別部200によって識別された前記捺印シンボルに対応して設けられるものである。第2のニューラルネットワークNN2は、“A”用良否判定学習データ編集部1301〜“9”用良否判定学習データ編集部13034、及び“A”用良否判定学習部1321〜“9”用良否判定学習部13234により事前に学習が行われる。
“A”用良否判定学習データ編集部1301は、第2のニューラルネットワークNN2に、良品の捺印シンボル“A”の画像データを入力して学習させる。また、“A”用良否判定学習データ編集部1301は、欠け、ゴミの混入、にじみ、かすれ等により不良品として判定されたものの良品として判定させたい捺印シンボル“A”の画像データを入力して学習させる。これにより、捺印シンボル“A”専用のニューラルネットワークにおいて高い汎化性により良品又は不良品を相対的に分類することができ、非常に高い精度で、捺印シンボル“A”の良否判定が可能となる。
“A”用良否判定学習部1321は、“A”用良否判定学習データ編集部1301からの学習データに基づき、シンボル識別学習部120と同様に、式(1)の重み付け係数Wk−1,k i,jを求める。そして、“A”用良否判定学習部1321は、求めた重み付け係数Wk−1,k i,jを、良否判定部300の“A”用の第2のニューラルネットワークNN2に反映させる。このとき、“A”用良否判定学習部1321は、出力層の各出力ユニットの出力と教師信号との差が所定の閾値以下となるように、改良型誤差逆伝播法により式(4)に従って重み付け係数の修正量ΔWk−1,k i,jを算出する。
“B”用良否判定学習データ編集部1302は、第2のニューラルネットワークNN2に、良品の捺印シンボル“B”の画像データを入力して学習させる。また、“B”用良否判定学習データ編集部1302は、欠け、ゴミの混入、にじみ、かすれ等により不良品として判定されたものの良品として判定させたい捺印シンボル“B”の画像データを入力して学習させる。これにより、捺印シンボル“B”専用のニューラルネットワークにおいて高い汎化性により良品又は不良品を相対的に分類することができ、非常に高い精度で、捺印シンボル“B”の良否判定が可能となる。
“B”用良否判定学習部1322は、“B”用良否判定学習データ編集部1302からの学習データに基づき、シンボル識別学習部120と同様に、式(1)の重み付け係数Wk−1,k i,jを求める。そして、“B”用良否判定学習部1322は、求めた重み付け係数Wk−1,k i,jを、良否判定部300の“B”用の第2のニューラルネットワークNN2に反映させる。このとき、“B”用良否判定学習部1322は、出力層の各出力ユニットの出力と教師信号との差が所定の閾値以下となるように、改良型誤差逆伝播法により式(4)に従って重み付け係数の修正量ΔWk−1,k i,jを算出する。
同様に、“9”用良否判定学習データ編集部13034は、第2のニューラルネットワークNN2に、良品の捺印シンボル“9”の画像データを入力して学習させる。また、“9”用良否判定学習データ編集部13034は、欠け、ゴミの混入、にじみ、かすれ等により不良品として判定されたものの良品として判定させたい捺印シンボル“9”の画像データを入力して学習させる。これにより、捺印シンボル“9”専用のニューラルネットワークにおいて高い汎化性により良品又は不良品を相対的に分類することができ、非常に高い精度で、捺印シンボル“9”の良否判定が可能となる。
“9”用良否判定学習部13234は、“9”用良否判定学習データ編集部13034からの学習データに基づき、シンボル識別学習部120と同様に、式(1)の重み付け係数Wk−1,k i,jを求める。そして、“9”用良否判定学習部13234は、求めた重み付け係数Wk−1,k i,jを、良否判定部300の“9”用の第2のニューラルネットワークNN2に反映させる。このとき、“9”用良否判定学習部13234は、出力層の各出力ユニットの出力と教師信号との差が所定の閾値以下となるように、改良型誤差逆伝播法により式(4)に従って重み付け係数の修正量ΔWk−1,k i,jを算出する。
なお、図4では、捺印シンボル“A”,“B”,“9”のみを図示したが、他の捺印シンボル“C”〜“Z”,“0”〜“8”についても同様である。
検査制御部140は、捺印シンボル検査装置100を構成する各部の制御を司る。具体的には、検査制御部140は、捺印シンボル識別部200及び良否判定部300を制御して、1つのシンボル毎に、捺印シンボル識別部200により捺印シンボルを識別し、識別された捺印シンボルを良否判定部300により良否判定する制御を行う。これにより、検査制御部140は、電子部品40の捺印シンボルの識別、及び良否判定の制御を行う。
図6に、図4の捺印シンボル識別部200の構成例の機能ブロック図を示す。
捺印シンボル識別部200は、画像抽出部210と、画像分割処理部220と、分割ブロック数設定値記憶部222と、代表値演算部230と、分離演算部240と、判定部250とを備えている。
画像抽出部210には、撮像カメラ20からの撮像画像に対応した画像データが入力される。画像抽出部210は、撮像カメラ20により撮像された撮像画像から、検査対象の捺印シンボルの所定サイズのフレーム内の画像を抽出し、抽出した画像に対応した画像データを画像分割処理部220に出力する。
画像分割処理部220は、画像抽出部210によって抽出された画像を、分割ブロック数設定値記憶部222に記憶された設定値に対応したブロック数に分割する。分割ブロック数設定値記憶部222は、検査制御部140等により、画像分割処理部220による分割ブロック数に対応した設定値が変更可能に構成されている。画像分割処理部220は、分割した各ブロックの画像データを、代表値演算部230に出力する。
代表値演算部230は、画像分割処理部220によって分割されたブロック毎の画素値の特徴量としての代表値を演算する。代表値としては、ブロック内の全画素の画素値の加算平均値、重心値、又は分散値がある。
分離演算部240は、シンボル識別学習部120により学習が行われた第1のニューラルネットワークNN1により分離演算を行う。具体的には、分離演算部240は、第1のニューラルネットワークNN1の入力層を構成する各入力ユニットに、代表値演算部230により得られた対応するブロックの代表値が入力され、上記のように分離演算を行う。その結果、分離演算部240は、第1のニューラルネットワークNN1の出力層を構成し、識別対象の捺印シンボルに対応した出力ユニットの反応値を出力する。
判定部250は、分離演算部240から出力された、第1のニューラルネットワークNN1の出力層を構成する全出力ユニットの反応値に基づいて、識別すべき捺印シンボルを判定する。判定部250の判定結果は、検査制御部140に出力される。
このように、捺印シンボル識別部200は、撮像画像を分割した複数のブロックを構成する各ブロック内の画素値の代表値(具体的には、特徴量)に基づいて、捺印シンボルを識別する。具体的には、捺印シンボル識別部200は、撮像画像から捺印シンボルの所定サイズのフレーム内の画像を抽出し、抽出した画像に対応した画像データに基づいて分離演算する第1のニューラルネットワークNN1により、捺印シンボルを識別する。
図7に、図4の良否判定部300の構成例の機能ブロック図を示す。
良否判定部300は、画像抽出部310、画像分割処理部320、分割ブロック数設定値記憶部322、代表値演算部330を備えている。また、良否判定部300は、捺印シンボル識別部200によって識別された捺印シンボルに対応して設けられた分離演算部及び判定部を備えている。具体的には、良否判定部300は、“A”用分離演算部3401とこれに対応して設けられた“A”用判定部3501、“B”用分離演算部3402とこれに対応して設けられた“B”用判定部3502、・・・、及び“9”用分離演算部34034とこれに対応して設けられた“9”用判定部35034を備えている。
画像抽出部310には、撮像カメラ20からの撮像画像に対応した画像データが入力される。画像抽出部310は、撮像カメラ20により撮像された撮像画像から、検査対象の捺印シンボルの所定サイズのフレーム内の画像を抽出し、抽出した画像に対応した画像データを画像分割処理部320に出力する。
画像分割処理部320は、画像抽出部310によって抽出された画像を、分割ブロック数設定値記憶部322に記憶された設定値に対応したブロック数に分割する。分割ブロック数設定値記憶部322は、検査制御部140等により、画像分割処理部320による分割ブロック数に対応した設定値が変更可能に構成されている。なお、捺印シンボル識別部200の画像分割処理部220における分割ブロック数が、良否判定部300の画像分割処理部320における分割ブロック数以下であることが望ましい。これにより、捺印シンボル識別部において無駄に処理負荷をかけることなく、良否判定部において高精度な良否判定を行うことで、リソースを適正に割り当てながら、捺印シンボルの揺らぎにかかわらず、高速、且つ、高い精度で良否判定を行うことができる。画像分割処理部320は、分割した各ブロックの画像データを、代表値演算部330に出力する。
代表値演算部330は、画像分割処理部320によって分割されたブロック毎の特徴量としての代表値を演算する。代表値としては、ブロック内の全画素の画素値の加算平均値、重心値、又は分散値がある。
“A”用分離演算部3401〜“9”用分離演算部34034の各々は、対応する良否判定学習部により学習が行われた第2のニューラルネットワークNN2により分離演算を行う。例えば、“A”用分離演算部3401は、対応する第2のニューラルネットワークNN2の入力層を構成する入力ユニットに、代表値演算部330により得られた対応するブロックの代表値が入力され、上記のように分離演算を行う。その結果、“A”用分離演算部3401は、第2のニューラルネットワークNN2の出力層の良品に対応する出力ユニットの反応値及び不良品に対応する出力ユニットの反応値を出力する。同様に、例えば、“9”用分離演算部34034は、対応する第2のニューラルネットワークNN2の入力層を構成する入力ユニットに、代表値演算部330により得られた対応するブロックの代表値が入力され、上記のように分離演算を行う。その結果、“9”用分離演算部34034は、第2のニューラルネットワークNN2の出力層の良品に対応する出力ユニットの反応値及び不良品に対応する出力ユニットの反応値を出力する。
“A”用判定部3501〜“9”用判定部35034の各々は、対応する分離演算部から出力された、第2のニューラルネットワークNN2の出力層を構成する全出力ユニットの反応値に基づいて、良否判定を行う。“A”用判定部3501〜“9”用判定部35034の各々の判定結果は、検査制御部140に出力される。
このように、良否判定部300は、撮像画像を分割した複数のブロックを構成する各ブロック内の画素値の代表値に基づいて、捺印シンボルを良否判定する。
〔捺印シンボル検査装置の動作〕
捺印シンボル検査装置100は、中央演算処理装置(Central Processing Unit:以下、CPU)、読み出し専用メモリー(Read Only Memory:以下、ROM)又はランダムアクセスメモリー(Random Access Memory:以下、RAM)を有している。ROM又はRAMには、以下のフローの各ステップに対応したプログラムが格納されている。捺印シンボル検査装置100を構成する各部の機能は、ROM又はRAMに格納されたプログラムを読み込んだCPUが、該プログラムに対応した処理を実行することで実現される。
ここで、捺印シンボル検査装置100の動作について説明する前に、捺印シンボル検査装置100の検査対象の電子部品40の捺印シンボルについて簡単に説明する。
図8に、第1の実施形態における電子部品40の捺印シンボルの一例を示す。図8は、電子部品40として面実装型の整流ダイオードである半導体装置を上面から見た図を模式的に表したものである。
電子部品40は、パッケージ本体部42と、端子44,46とを備えている。パッケージ本体部42は、整流ダイオード素子を封止材により密封保持する。端子44は、パッケージ本体部42に密封された整流ダイオード素子のカソード端子に接続される。端子46は、パッケージ本体部42に密封された整流ダイオード素子のアノード端子に接続される。パッケージ本体部42には、カソード端子の向きを示すカソードマーク48の他に、品名、管理番号又はロット番号を表すシンボルが捺印されている。以下では、例えば、“A”を第1捺印シンボル、“1”を第2捺印シンボル、“8”を第3捺印シンボルとする。
第1の実施形態における捺印シンボル検査システム10は、図8に示すような1種類の所定サイズの3シンボル分の捺印シンボルを検査する。このとき、撮像カメラ20が、パッケージ本体部42の左上隅の所定の基準位置を基準に撮像領域PAの位置を調整した後、該撮像領域PAの画像を撮像し、撮像画像の画像データを捺印シンボル検査装置100に供給する。なお、撮像領域PA内に設けられる定型抽出フレームEA1,EA2,EA3については、後述する。撮像カメラ20により撮像された撮像画像の画像データが入力される捺印シンボル検査装置100は、次のように動作する。
図9に、第1の実施形態における捺印シンボル検査装置100の動作例のフロー図を示す。図9の動作をソフトウェアで実現する場合、ROM又はRAMに図9に示す処理を実現するプログラムが格納される。
まず、捺印シンボル検査装置100は、電子部品40の捺印シンボルの検査に先立って、シンボル識別学習及び良否判定学習等の学習処理を行う(ステップS1)。シンボル識別学習は、シンボル識別学習部120によって行われる。良否判定学習は、“A”用良否判定学習部1321〜“9”用良否判定学習部13234によって行われる。
図10に、図9のステップS1の動作例のフロー図を示す。図10の動作をソフトウェアで実現する場合、ROM又はRAMに図10に示す処理を実現するプログラムが格納される。
図9のステップS1では、シンボル識別学習部120が、シンボル識別学習データ編集部110からの学習データに基づいて、第1のニューラルネットワークNN1に学習させる(ステップS20)。
次に、シンボル識別学習部120は、第1の学習データ編集部112からの学習データに基づいて、定型フォントパターンにノイズを付加した画像データを入力して学習させる(ステップS21、第1の学習ステップ)。
続いて、シンボル識別学習部120は、第2の学習データ編集部114からの学習データに基づいて、位相が同じ複数のフォントパターンの画像データを入力して学習させる(ステップS22、第2の学習ステップ)。
その後、“A”用良否判定学習部1321〜“9”用良否判定学習部13234の各々が、対応する良否判定学習データ編集部からの学習データに基づいて、各第2のニューラルネットワークNN2を学習させ(ステップS23)、一連の処理を終了する(エンド)。
図9において、ステップS1に続いて、捺印シンボル検査装置100の検査制御部140は、捺印シンボル識別部200により1シンボル目の第1捺印シンボルの識別処理を行わせる制御を行う(ステップS2)。ステップS2では、捺印シンボル識別部200が、1シンボル目の第1捺印シンボルの識別が可能であるか否か、識別が可能な場合にはどのシンボルであるかを識別する。
ステップS2において所定の第1捺印シンボル(例えば、図8の“A”)として識別されたとき(ステップS3:Y)、検査制御部140は、良否判定部300により、ステップS2で識別された第1捺印シンボルの良否判定を行わせる制御を行う(ステップS4)。ステップS4では、良否判定部300が、識別された第1捺印シンボルが良品であるか、不良品であるかを判定する。
ステップS4において良品と判定されたとき(ステップS5:Y)、検査制御部140は、捺印シンボル識別部200により2シンボル目の第2捺印シンボルの識別処理を行わせる制御を行う(ステップS6)。ステップS6では、捺印シンボル識別部200が、2シンボル目の第2捺印シンボルの識別が可能であるか否か、識別が可能な場合にはどのシンボルであるかを識別する。
なお、ステップS3において所定の第1捺印シンボルとして識別されなかったとき(ステップS3:N)、検査制御部140は、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS15)。また、ステップS4において良品と判定されなかったとき(ステップS5:N)、検査制御部140は、同様に、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS15)。
ステップS6において所定の第2捺印シンボル(例えば、図8の“1”)として識別されたとき(ステップS7:Y)、検査制御部140は、良否判定部300により、ステップS6で識別された第2捺印シンボルの良否判定を行わせる制御を行う(ステップS8)。ステップS8では、良否判定部300が、識別された第2捺印シンボルが良品であるか、不良品であるかを判定する。
ステップS8において良品と判定されたとき(ステップS9:Y)、検査制御部140は、捺印シンボル識別部200により3シンボル目の第3捺印シンボルの識別処理を行わせる制御を行う(ステップS10)。ステップS10では、捺印シンボル識別部200が、3シンボル目の第3捺印シンボルの識別が可能であるか否か、識別が可能な場合にはどのシンボルであるかを識別する。
なお、ステップS7において所定の第2捺印シンボルとして識別されなかったとき(ステップS7:N)、検査制御部140は、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS15)。また、ステップS8において良品と判定されなかったとき(ステップS9:N)、検査制御部140は、同様に、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS15)。
ステップS10において所定の第3捺印シンボル(例えば、図8の“8”)として識別されたとき(ステップS11:Y)、検査制御部140は、良否判定部300により、ステップS10で識別された第3捺印シンボルの良否判定を行わせる制御を行う(ステップS12)。ステップS12では、良否判定部300が、識別された第3捺印シンボルが良品であるか、不良品であるかを判定する。
ステップS12において良品と判定されたとき(ステップS13:Y)、検査制御部140は、良品に対応する検査結果信号を出力して良品として振り分ける制御を行う(ステップS14)。
なお、ステップS11において所定の第3捺印シンボルとして識別されなかったとき(ステップS11:N)、検査制御部140は、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS15)。また、ステップS12において良品と判定されなかったとき(ステップS13:N)、検査制御部140は、同様に、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS15)。
ステップS14又はステップS15に続いて、捺印シンボル検査装置100は、一連の処理を終了する(エンド)。
図11に、捺印シンボル検査装置100による捺印シンボル識別処理の処理例のフロー図を示す。図11の処理は、捺印シンボル識別ステップとして、図9のステップS2、ステップS6、及びステップS10において実行される。図11の処理をソフトウェアで実現する場合、ROM又はRAMに図11に示す処理を実現するプログラムが格納される。
まず、捺印シンボル検査装置100の捺印シンボル識別部200は、画像抽出部210において、撮像カメラ20からの撮像画像の画像データに基づいて、撮像画像から捺印シンボルの所定サイズの定型抽出フレーム内の画像を抽出する(ステップS30)。定型抽出フレームは、図8の撮像領域PA内に予め決められた位置に設けられる。図8の場合、撮像領域PA内に、3シンボル分の定型抽出フレームEA1,EA2,EA3が設けられる。
次に、捺印シンボル識別部200は、画像分割処理部220において、分割ブロック数設定値記憶部222に記憶された設定値に対応した分割ブロック数で、抽出された画像を分割する(ステップS31)。
図12に、ステップS31の説明図を示す。図12は、ステップS30において抽出された定型抽出フレーム内の画像の一例を表す。
例えば、分割ブロック数設定値記憶部222に記憶される設定値が水平方向に“12”、垂直方向に“16”のとき、画像分割処理部220は、抽出された画像を、水平方向に12分割し、垂直方向に16分割する。このとき、各ブロックは、水平方向に32画素、垂直方向に32画素を有するものとする。画像分割処理部220により分割された192ブロックのうち左上ブロックを先頭として、順番に、第1のニューラルネットワークNN1の入力層を構成する入力ユニットに割り当てる。
ステップS31に続いて、捺印シンボル識別部200は、代表値演算部230において、図12の各ブロックの代表値を演算する(ステップS32)。ここでは、代表値演算部230は、各ブロックの全画素の画素値の加算平均値を代表値として演算するものとする。ここで求められた代表値は、正規化した後に、分離演算部240に出力されるようにしてもよい。
ブロック毎に加算平均値を演算すると、捺印シンボル識別部200は、分離演算部240において、第1のニューラルネットワークNN1により分離演算を行う(ステップS33)。即ち、第1のニューラルネットワークNN1の入力層を構成する入力ユニットに、代表値演算部230により得られた対応するブロックの代表値が入力される。すると、分離演算部240は、第1のニューラルネットワークNN1の出力層を構成する捺印シンボルに対応した出力ユニットの反応値を出力する。
ここで、第1のニューラルネットワークNN1の出力層を構成する34種類の出力ユニットの反応値のうち最大値をM1、M1の次の大きな値(準最大値)をM2とする。ステップS33に続いて、判定部250は、M1が予め決められた閾値th1以上であるか否かを判定する(ステップS34)。
M1が閾値th1以上であると判定されたとき(ステップS34:Y)、判定部250は、(M1−M2)が予め決められた閾値th2以上であるか否かを判定する(ステップS35)。
(M1−M2)が閾値th2以上であると判定されたとき(ステップS35:Y)、判定部250は、最大値M1を出力する出力ユニットに対応したシンボルとして識別し(ステップS36)、一連の処理を終了する(エンド)。
一方、ステップS34においてM1が閾値th1以上ではないと判定されたとき(ステップS34:N)、判定部250は、シンボルを識別不可能であると判断し(ステップS37)、一連の処理を終了する(エンド)。また、ステップS35において(M1−M2)が閾値th2以上ではないと判定されたとき(ステップS35:N)、判定部250は、シンボルを識別不可能であると判断し(ステップS37)、一連の処理を終了する(エンド)。
以上のように、最大値M1と準最大値M2とを用いてシンボルを識別するようにしたので、誤認識を防止して、高精度に捺印シンボルを識別することができるようになる。
図13に、捺印シンボル検査装置100による良否判定処理の処理例のフロー図を示す。図13の処理は、良否判定ステップとして、図9のステップS4、ステップS8、及びステップS12において実行される。図13の動作をソフトウェアで実現する場合、ROM又はRAMに図13に示す処理を実現するプログラムが格納される。
まず、捺印シンボル検査装置100の良否判定部300は、画像抽出部310において、撮像カメラ20からの撮像画像の画像データに基づいて、撮像画像から捺印シンボルの所定サイズの定型抽出フレーム内の画像を抽出する(ステップS40)。ステップS40では、ステップS30と同様に、撮像領域PA内に設けられた定型抽出フレームEA1,EA2,EA3を用いて、画像が抽出される。
次に、良否判定部300は、画像分割処理部320において、分割ブロック数設定値記憶部322に記憶された設定値に対応した分割ブロック数で、抽出された画像を分割する(ステップS41)。ステップS41では、ステップS31と同様に、画像分割処理部320は、抽出された画像を分割するものとする。
続いて、良否判定部300は、代表値演算部330において、ステップS41において分割された各ブロックの代表値を演算する(ステップS42)。ここでは、代表値演算部330は、各ブロックの全画素の画素値の加算平均値を代表値として演算するもののとする。
ブロック毎に加算平均値を演算すると、良否判定部300は、捺印シンボル識別部200によって識別された捺印シンボルに対応した分離演算部において、第2のニューラルネットワークNN2により分離演算を行う(ステップS43)。即ち、対応する第2のニューラルネットワークNN2の入力層を構成する入力ユニットに、代表値演算部330により得られた対応するブロックの代表値が入力される。すると、当該分離演算部は、第2のニューラルネットワークNN2の出力層を構成する良品又は不良品に対応した出力ユニットの反応値を出力する。
ここで、第2のニューラルネットワークNN2の出力層を構成する2種類の出力ユニットの反応値のうち最大値をm1、m1の次の大きな値(準最大値)をm2とする。ステップS43に続いて、ステップS43において分離演算した分離演算部に対応した判定部は、m1が予め決められた閾値th3以上であるか否かを判定する(ステップS44)。
m1が閾値th3以上であると判定されたとき(ステップS44:Y)、当該判定部は、(m1−m2)が予め決められた閾値th4以上であるか否かを判定する(ステップS45)。
(m1−m2)が閾値th4以上であると判定されたとき(ステップS45:Y)、当該判定部は、最大値m1を出力する出力ユニットに対応した良品又は不良品として判定し(ステップS46)、一連の処理を終了する(エンド)。
一方、ステップS44においてm1が閾値th3以上ではないと判定されたとき(ステップS44:N)、当該判定部は、判定不可能であると判断し(ステップS47)、一連の処理を終了する(エンド)。また、ステップS45において(m1−m2)が閾値th4以上ではないと判定されたとき(ステップS45:N)、当該判定部は、判定不可能であると判断し(ステップS47)、一連の処理を終了する(エンド)。
以上のように、最大値m1と準最大値m2とを用いてシンボルを良否判定するようにしたので、誤判定を防止して、高精度に捺印シンボルの良否判定を行うことができるようになる。
以上説明したように、第1の実施形態では、まず、第1のニューラルネットワークNN1により、電子部品に捺印されたシンボルを高精度に識別する。その後、識別したシンボル専用の第2のニューラルネットワークNN2により、識別後にシンボルの良否判定を行う。これにより、捺印シンボルの識別及び良否判定の各々において高精度な処理が可能となり、捺印シンボルの揺らぎにかかわらず、高速、且つ、高精度で良否判定を行うことができるようになる。
また、第1のニューラルネットワークNN1に、ノイズを付加した画像を学習データとして学習させるようにしたので、ノイズに対して頑健な捺印シンボル検査装置を提供することができるようになる。
図14(A)、図14(B)に、第1のニューラルネットワークNN1の学習データの分布を模式的に示す。図14(A)は、第1のニューラルネットワークNN1に定型フォントパターンの画像データを入力して学習させた場合の学習データの分布例を模式的に表す。図14(B)は、第1のニューラルネットワークNN1に、定型フォントパターンにノイズを付加した画像データを入力して学習させた場合の学習データの分布例を模式的に表す。図14(A)及び図14(B)において、横軸は代表値を表し、縦軸は頻度を表す。
シンボル識別学習データ編集部110により第1のニューラルネットワークNN1を学習させた場合、図14(A)に示すように学習データが分布する。これに対して、第1の学習データ編集部112により第1のニューラルネットワークNN1を学習させた場合、図14(B)に示すように学習データの分布が大きくなる(σ1<σ2)。しかしながら、ニューラルネットワークを用いることにより、学習が可能な範囲で学習データの分布を大きくすることで、ノイズに対しロバストな捺印シンボル検査装置を自動形成させることができる。
また、第1の実施形態では、画像抽出部210,310において、定型抽出フレームを用いて画像を抽出し、一律に各シンボルを抽出する。こうすることで、非常に簡素な構成で、ニューラルネットワークの汎化性によって、捺印シンボルの揺らぎにかかわらず高精度でシンボルを認識したり良否判定したりすることができる。
図15(A)、図15(B)、図15(C)に、第1の実施形態における定型抽出フレームの説明図を示す。図15(A)は、撮像領域PA内に設けられる定型抽出フレームEA1,EA2,EA3の説明図を表す。図15(B)は、定型抽出フレームEA1,EA2,EA3により抽出された画像の一例を表す。図15(C)は、定型抽出フレームEA1,EA2,EA3により抽出された画像の他の例を表す。
図15(A)に示す撮像領域PA内に、予め決められた位置に定型抽出フレームEA1,EA2,EA3が設けられており、画像抽出部210,310の各々は、定型抽出フレームEA1,EA2,EA3内の画像を抽出する。その結果、画像抽出部210,310の各々は、図15(B)や図15(C)に示すような画像を抽出する。図15(B)に示す場合、シンボルが予め決められた正しい位置に捺印されたと判断することができ、捺印シンボルのかすれや欠け等の具合によって、ニューラルネットワークにより相対分類することができる。
これに対して、図15(C)に示す場合、シンボルが予め決められた正しい位置に捺印されていないと判断することができる。しかしながら、図15(C)において、定型抽出フレームEA1を用いて抽出された画像では欠けER1が存在する場合に相当し、定型抽出フレームEA2を用いて抽出された画像ではゴミER2が混入した場合に相当する。また、定型抽出フレームEA3を用いて抽出された画像では、例えば数画素の位置ずれER3が存在した場合に相当する。従って、第1の実施形態では、汎化性のあるニューラルネットワークを用いて、定型抽出フレームにより抽出された画像を識別するようにしたので、欠けER1、ゴミER2及び位置ずれER3にかかわらず、正しく識別することができる。
2. 第2の実施形態
第1の実施形態では、図8に示すように1種類の所定サイズの捺印シンボルを検査するものとして説明したが、本発明に係る実施形態は、これに限定されるものではない。第2の実施形態では、2種類の所定サイズの捺印シンボルを検査する。
図16に、第2の実施形態における電子部品の捺印シンボルの一例を示す。図16は、電子部品として面実装型の整流ダイオードである半導体装置を上面から見た図を模式的に表したものである。図16において、図8と同様の部分には同一符号を付し、適宜説明を省略する。
第2の実施形態における捺印シンボル検査装置の検査対象である電子部品40aは、パッケージ本体部42と、端子44,46とを備えている。電子部品40aは、パッケージ本体部42において、カソード端子を示すカソードマーク48の他に、品名、管理番号又はロット番号を表すシンボルが捺印されている。電子部品40aでは、第1のフォントサイズ及び第2のフォントサイズの2種類のシンボルが捺印される。以下では、例えば“A”を第1捺印シンボル、“1”を第2捺印シンボル、“8”を第3捺印シンボル、“R”を第4捺印シンボル、“J”を第5捺印シンボルとする。第1捺印シンボルのフォントサイズは、図8と同様の第1のフォントサイズであり、第2捺印シンボル〜第5捺印シンボルの各々のフォントサイズは、第1のフォントサイズより小さい第2のフォントサイズである。
第2の実施形態における捺印シンボル検査システムは、図16に示すような2種類の所定サイズの5シンボル分の捺印シンボルを検査する。このとき、撮像カメラ20が、パッケージ本体部42の左上隅の所定の基準位置を基準に撮像領域PAの位置を調整し、該撮像領域PAの画像を撮像し、撮像画像の画像データを捺印シンボル検査装置に供給する。捺印シンボル検査装置は、撮像領域PA内の所定の位置に設けられた定型抽出フレームEA1,EA2,EA3,EA4,EA5内の画像を抽出して、各画像の画像データに基づいて捺印シンボルを検査する。
図17に、第2の実施形態における捺印シンボル検査装置の構成例の機能ブロック図を示す。図17では、捺印シンボル検査装置が、2種類の所定サイズの34種類の捺印シンボルを検査するものとする。なお、図17において、図4と同様の部分には同一符号を付し、適宜説明を省略する。
第2の実施形態における捺印シンボル検査装置100aは、捺印シンボル識別部200aと、良否判定部300aと、検査制御部140aとを備えている。捺印シンボル識別部200aは、第1のフォントサイズ用に設けられた第1の捺印シンボル識別部260aと、第2のフォントサイズ用に設けられた第2の捺印シンボル識別部270aとを備えている。また、捺印シンボル検査装置100aは、第1の捺印シンボル識別部260aに対応して、第1のシンボル識別学習データ編集部110a、第1の学習データ編集部112、第2の学習データ編集部114、及び第1のシンボル識別学習部120aを備えている。更に、捺印シンボル検査装置100aは、第2の捺印シンボル識別部270aに対応して、第2のシンボル識別学習データ編集部122a、第3の学習データ編集部124a、第4の学習データ編集部126a、及び第2のシンボル識別学習部128aを備えている。
また、良否判定部300aは、第1のフォントサイズ用に設けられた第1の良否判定部360aと、第2のフォントサイズ用に設けられた第2の良否判定部370aとを備えている。更に、捺印シンボル検査装置100aは、第1の良否判定部360a及び第2の良否判定部370aの各々に対応して、識別するシンボル毎に設けられた良否判定学習データ編集部と、良否判定学習部とを備えている。具体的には、捺印シンボル検査装置100aは、第1の“A”用良否判定学習データ編集部1301a、・・・、及び第1の「9」用良否判定学習データ編集部13034aと、第1の“A”用良否判定学習部1321a、・・・、及び第1の“9”用良否判定学習部13234aとを備えている。また、捺印シンボル検査装置100aは、第2の“A”用良否判定学習データ編集部1341a、・・・、及び第2の「9」用良否判定学習データ編集部13434aと、第2の“A”用良否判定学習部1361a、・・・、及び第2の“9”用良否判定学習部13634aとを備えている。
第1の捺印シンボル識別部260a及び第2の捺印シンボル識別部270aの各々は、図6に示す構成と同様の構成を有している。第1の良否判定部360a及び第2の良否判定部370aの各々は、図7に示す構成と同様の構成を有している。
第1のシンボル識別学習データ編集部110aは、第1のフォントサイズ用の図4のシンボル識別学習データ編集部110の機能を実現する。第1の学習データ編集部112は、第1のフォントサイズ用の図4の第1の学習データ編集部112の機能を実現する。第2の学習データ編集部114は、第1のフォントサイズ用の図4の第2の学習データ編集部114の機能を実現する。第1のシンボル識別学習部120aは、第1のフォントサイズ用の図4のシンボル識別学習部120の機能を実現する。第1の捺印シンボル識別部260aは、第1のフォントサイズ用の図4の捺印シンボル識別部200の機能を実現する。第1の“A”用良否判定学習データ編集部1301a〜第1の“9”用良否判定学習データ編集部13034aの各々は、第1のフォントサイズ用に、対応する図4の“A”用良否判定学習データ編集部1301〜“9”用良否判定学習データ編集部13034の機能を実現する。第1の“A”用良否判定学習部1321a〜第1の“9”用良否判定学習部13234aの各々は、第1のフォントサイズ用に、対応する図4の“A”用良否判定学習部1321〜“9”用良否判定学習部13234の機能を実現する。
同様に、第2のシンボル識別学習データ編集部122aは、第2のフォントサイズ用の図4のシンボル識別学習データ編集部110の機能を実現する。第3の学習データ編集部124aは、第2のフォントサイズ用の図4の第1の学習データ編集部112の機能を実現する。第4の学習データ編集部126aは、第2のフォントサイズ用の図4の第2の学習データ編集部114の機能を実現する。第2のシンボル識別学習部128aは、第2のフォントサイズ用の図4のシンボル識別学習部120の機能を実現する。第2の捺印シンボル識別部270aは、第2のフォントサイズ用の図4の捺印シンボル識別部200の機能を実現する。第2の“A”用良否判定学習データ編集部1341a〜第2の“9”用良否判定学習データ編集部13434aの各々は、第2のフォントサイズ用に、対応する図4の“A”用良否判定学習データ編集部1301〜“9”用良否判定学習データ編集部13034の機能を実現する。第2の“A”用良否判定学習部1361a〜第2の“9”用良否判定学習部13634aの各々は、第2のフォントサイズ用に、対応する図4の“A”用良否判定学習部1321〜“9”用良否判定学習部13234の機能を実現する。
検査制御部140aは、捺印シンボル検査装置100aを構成する各部の制御を司る。具体的には、検査制御部140aは、捺印シンボル識別部200a及び良否判定部300aを制御して、フォントサイズに応じて、1つのシンボル毎に、捺印シンボル識別部200aにより捺印シンボルを識別し、識別された捺印シンボルを良否判定部300aにより良否判定する制御を行う。これにより、検査制御部140aは、電子部品40aの捺印シンボルの識別、及び良否判定の制御を行う。
第2の実施形態における捺印シンボル検査装置100aもまた、第1の実施形態と同様に、CPU、ROM又はRAMを有している。ROM又はRAMには、以下のフローの各ステップに対応したプログラムが格納されている。捺印シンボル検査装置100aを構成する各部の機能は、ROM又はRAMに格納されたプログラムを読み込んだCPUが、該プログラムに対応した処理を実行することで実現される。
図18に、第2の実施形態における捺印シンボル検査装置100aの動作例のフロー図を示す。図18の動作をソフトウェアで実現する場合、ROM又はRAMに図18に示す処理を実現するプログラムが格納される。
まず、捺印シンボル検査装置100aは、電子部品40aの捺印シンボルの検査に先立ち、シンボル識別学習、及び良否判定学習等の学習処理を行う(ステップS40)。シンボル識別学習は、フォントサイズ毎に図10で説明したように行われる。具体的には、シンボル識別学習は、第1のフォントサイズ用に第1のシンボル識別学習部120aによって行われ、第2のフォントサイズ用に第2のシンボル識別学習部128aによって行われる。良否判定学習は、フォントサイズ毎に図10で説明したように行われる。具体的には、良否判定学習は、第1のフォントサイズ用に、第1の“A”用良否判定学習部1321a〜第1の“9”用良否判定学習部13234aによって行われ、第2のフォントサイズ用に、第2の“A”用良否判定学習部1361a〜第2の“9”用良否判定学習部13634aによって行われる。
次に、捺印シンボル検査装置100の検査制御部140aは、第1の捺印シンボル識別部260aにより第1のフォントサイズの第1捺印シンボルの識別処理を行わせる制御を行う(ステップS41)。ステップS41において所定の第1捺印シンボル(例えば、図16の“A”)として識別されたとき(ステップS42:Y)、検査制御部140aは、第1の良否判定部360aにより、ステップS41で識別された第1捺印シンボルの良否判定を行わせる制御を行う(ステップS43)。ステップS43において良品と判定されたとき(ステップS44:Y)、検査制御部140aは、第2の捺印シンボル識別部270aにより第2のフォントサイズの第2捺印シンボルの識別処理を行わせる制御を行う(ステップS45)。
なお、ステップS42において所定の第1捺印シンボルとして識別されなかったとき(ステップS42:N)、検査制御部140aは、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS62)。また、ステップS43において良品と判定されなかったとき(ステップS44:N)、検査制御部140aは、同様に、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS62)。
ステップS45において所定の第2捺印シンボル(例えば、図16の“1”)として識別されたとき(ステップS46:Y)、検査制御部140aは、第2の良否判定部370aにより、ステップS45で識別された第2捺印シンボルの良否判定を行わせる制御を行う(ステップS47)。ステップS47において良品と判定されたとき(ステップS48:Y)、検査制御部140aは、第2の捺印シンボル識別部270aにより第2のフォントサイズの第3捺印シンボルの識別処理を行わせる制御を行う(ステップS49)。
なお、ステップS46において所定の第2捺印シンボルとして識別されなかったとき(ステップS46:N)、検査制御部140aは、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS62)。また、ステップS47において良品と判定されなかったとき(ステップS48:N)、検査制御部140aは、同様に、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS62)。
ステップS49において所定の第3捺印シンボル(例えば、図16の“8”)として識別されたとき(ステップS50:Y)、検査制御部140aは、第2の良否判定部370aにより、ステップS49で識別された第3捺印シンボルの良否判定を行わせる制御を行う(ステップS51)。ステップS51において良品と判定されたとき(ステップS52:Y)、検査制御部140aは、第2の捺印シンボル識別部270aにより第2のフォントサイズの第4捺印シンボルの識別処理を行わせる制御を行う(ステップS53)。
なお、ステップS49において所定の第3捺印シンボルとして識別されなかったとき(ステップS50:N)、検査制御部140aは、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS62)。また、ステップS51において良品と判定されなかったとき(ステップS52:N)、検査制御部140aは、同様に、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS62)。
ステップS53において所定の第4捺印シンボル(例えば、図16の“R”)として識別されたとき(ステップS54:Y)、検査制御部140aは、第2の良否判定部370aにより、ステップS53で識別された第4捺印シンボルの良否判定を行わせる制御を行う(ステップS55)。ステップS55において良品と判定されたとき(ステップS56:Y)、検査制御部140aは、第2の捺印シンボル識別部270aにより第2のフォントサイズの第5捺印シンボルの識別処理を行わせる制御を行う(ステップS57)。
なお、ステップS53において所定の第4捺印シンボルとして識別されなかったとき(ステップS54:N)、検査制御部140aは、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS62)。また、ステップS55において良品と判定されなかったとき(ステップS56:N)、検査制御部140aは、同様に、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS62)。
ステップS57において所定の第5捺印シンボル(例えば、図16の“J”)として識別されたとき(ステップS58:Y)、検査制御部140aは、第2の良否判定部370aにより、ステップS57で識別された第5捺印シンボルの良否判定を行わせる制御を行う(ステップS59)。ステップS59において良品と判定されたとき(ステップS60:Y)、検査制御部140aは、良品に対応する検査結果信号を出力して良品として振り分ける制御を行う(ステップS61)。
なお、ステップS57において所定の第5捺印シンボルとして識別されなかったとき(ステップS58:N)、検査制御部140aは、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS62)。また、ステップS59において良品と判定されなかったとき(ステップS60:N)、検査制御部140aは、同様に、不良品に対応する検査結果信号を出力して不良品として振り分ける制御を行う(ステップS62)。
ステップS61又はステップS62に続いて、捺印シンボル検査装置100aは、一連の処理を終了する(エンド)。
図18において、ステップS41、ステップS45、ステップS49、ステップS53、ステップS58は、図11に示す捺印シンボル識別処理と同様である。また、ステップS43、ステップS47、ステップS51、ステップS55、ステップS59は、図13に示す捺印シンボル識別処理と同様である。
なお、第2の実施形態では、捺印シンボル検査装置100aが、図16に示す電子部品40aの捺印シンボルを検査するものとして説明したが、本発明に係る実施形態は、これに限定されるものではない。
図19に、第2の実施形態における捺印シンボル検査装置100aの検査対象である電子部品の他の例を示す。図19は、電子部品として面実装型の整流ダイオードである半導体装置を上面から見た図を模式的に表したものである。図19において、図16と同様の部分には同一符号を付し、適宜説明を省略する。
この電子部品40bは、パッケージ本体部42と、端子44,46とを備えている。電子部品40bでは、第2のフォントサイズの1種類のシンボルが捺印され、例えば“A”を第1捺印シンボル、“1”を第2捺印シンボル、“8”を第3捺印シンボル、“A”を第4捺印シンボル、“R”を第5捺印シンボル、“J”を第6捺印シンボルとする。第1の捺印シンボル〜第6の捺印シンボルの各々のフォントサイズは、第2のフォントサイズである。
捺印シンボル検査装置100aは、撮像領域PA内の所定の位置に設けられた定型抽出フレームEA1,EA2,EA3,EA4,EA5,EA6内の画像を抽出して、各画像の画像データに基づいて捺印シンボルを検査する。
以上のように、捺印シンボル検査装置100aは、図8に示す第1のフォントサイズのみの捺印シンボルを検査したり、図19に示す第2のフォントサイズのみの捺印シンボルを検査したりすることができる。
以上説明したように、第2の実施形態では、フォントサイズ毎に、第1の実施形態と同様に捺印シンボルを識別して良否判定を行う。これにより、異なるフォントサイズの捺印シンボルが混在する場合であっても、捺印シンボルの揺らぎにかかわらず、高精度で良否判定を行うことができるようになる。
3. 第3の実施形態
第1の実施形態では、第1のニューラルネットワークNN1を構成する出力層が、識別対象のシンボルに対応した34種類の出力ユニットのみを有するものとして説明したが、本発明に係る実施形態は、これに限定されるものではない。第3の実施形態では、第1のニューラルネットワークを構成する出力層が、34種類の出力ユニットに加えて、これらの出力ユニットに分類不可能な捺印シンボルを退避させるための退避ユニットを有している。
図20に、第3の実施形態における捺印シンボル検査装置の説明図を示す。図20において、図2と同様の部分には同一符号を付し、適宜説明を省略する。
第3の実施形態における捺印シンボル検査装置が第1の実施形態における捺印シンボル検査装置100と異なる点は、捺印シンボルを識別するための第1のニューラルネットワークNN1の出力層に退避ユニットTU1が追加された点である。退避ユニットTU1には、第1のニューラルネットワークNN1の出力層の出力ユニットに分類不可能な捺印シンボルを退避させる。即ち、第1のニューラルネットワークNN1に、34種類の捺印シンボルのいずれかに分類不可能な捺印シンボルが入力されたときに、退避ユニットの反応値が他の出力ユニットの反応値と大きくなるように構成される。この第1のニューラルネットワークNN1については、退避ユニットTU1に分類された捺印シンボルを除いて学習させる。こうすることで、何らかの原因で極端に損傷した捺印シンボルを、いずれかの出力ユニットに強制的に分類させることに起因して他の捺印シンボルの識別精度を低下させることなく、出力ユニットに分類された捺印シンボルの識別精度を高く維持することができる。
このような第3の実施形態における捺印シンボル検査装置の構成は、捺印シンボル識別部の構成を除いて図4と同様である。
図21に、第3の実施形態における捺印シンボル検査装置を構成する捺印シンボル識別部の構成例のブロック図を示す。図21において、図6と同様の部分には同一符号を付し、適宜説明を省略する。
第3の実施形態における捺印シンボル識別部200cは、画像抽出部210と、画像分割処理部220と、分割ブロック数設定値記憶部222と、代表値演算部230と、分離演算部240cと、判定部250とを備えている。分離演算部240cは、退避処理部242cを備えている。
分離演算部240cは、シンボル識別学習部120により学習が行われた第1のニューラルネットワークNN1により分離演算を行う。具体的には、分離演算部240cは、第1のニューラルネットワークNN1の入力層を構成する入力ユニットに、代表値演算部230により得られた対応するブロックの代表値が入力され、上記のように分離演算を行う。このとき、退避処理部242cは、各々が識別可能な捺印シンボルに対応した複数の出力ユニットに分類不可能な捺印シンボルを退避ユニットTU1に退避させる。
なお、図20では、第1のニューラルネットワークNN1に1つの退避ユニットを追加する例を説明したが、第1のニューラルネットワークNN1に複数の退避ユニットを追加するようにしてもよい。例えば、第1のニューラルネットワークNN1に第1の退避ユニット及び第2の退避ユニットを追加した場合、各退避ユニットには、捺印シンボルの揺らぎの種類に応じて分類させることができる。この場合、第1の退避ユニットには、捺印シンボルの揺らぎのうち、定型フォントパターンより検査対象のシンボルを構成する画素が減少する捺印シンボル(例えば、欠けやかすれ等を有する捺印シンボル)を退避させる。第2の退避ユニットには、捺印シンボルの揺らぎのうち、定型フォントパターンより検査対象のシンボルを構成する画素が増加する捺印シンボル(例えば、ゴミの混入やにじみ等を有する捺印シンボル)を退避させる。こうすることで、捺印シンボル検査装置の検査結果を解析して捺印状態の原因を特定し、シンボルの捺印に反映させることもできるようになる。
以上説明したように、第3の実施形態によれば、第1のニューラルネットワークNN1に退避ユニットを設け、識別可能な捺印シンボルに対応した複数の出力ユニットに分類不可能な捺印シンボルを退避させることができる。これにより、第1の実施形態と同様の効果に加えて、何らかの原因で極端に損傷した捺印シンボルの誤認識を防止すると共に、出力ユニットに分類された捺印シンボルの識別精度を高く維持することができる。
4. 第4の実施形態
第1の実施形態では、第2のニューラルネットワークNN2を構成する出力層が、良品及び不良品の各々に対応した2種類の出力ユニットを有するものとして説明したが、本発明に係る実施形態は、これに限定されるものではない。第4の実施形態では、第2のニューラルネットワークNN2を構成する出力層が、上記の2種類の出力ユニットに加えて、これらの出力ユニットに分類不可能な捺印シンボルを退避させる退避ユニットを有している。
図22に、第4の実施形態における捺印シンボル検査装置の説明図を示す。図22は、第3の実施形態と同様に第1のニューラルネットワークNN1に退避ユニットTU1を設けると共に、第2のニューラルネットワークNN2に退避ユニットを設けた構成を表している。図22において、図20と同様の部分には同一符号を付し、適宜説明を省略する。
第4の実施形態における捺印シンボル検査装置が第3の実施形態における捺印シンボル検査装置と異なる点は、捺印シンボルの良否判定を行うための第2のニューラルネットワークNN2の出力層に退避ユニットTU2,TU3が追加された点である。図22では、複数の第2のニューラルネットワークNN2のうち、“B”及び“9”の良品又は不良品を判定するための第2のニューラルネットワークNN2にのみ退避ユニットTU2,TU3が設けられている。退避ユニットTU2,TU3の各々には、対応する第2のニューラルネットワークNN2の出力層の出力ユニットに分類不可能な捺印シンボルを退避させる。即ち、“B”の良否判定用の第2のニューラルネットワークNN2に、良品又は不良品に分類不可能な捺印シンボルが入力されたときに、退避ユニットTU2の反応値が他の出力ユニットの反応値と大きくなるように構成される。同様に、“9”の良否判定用の第2のニューラルネットワークNN2に、良品又は不良品に分類不可能な捺印シンボルが入力されたときに、退避ユニットTU3の反応値が他の出力ユニットの反応値と大きくなるように構成される。退避ユニットTU2,TU3を有する第2のニューラルネットワークNN2については、退避ユニットに分類された捺印シンボルを除いて学習させる。こうすることで、何らかの原因で極端に損傷した捺印シンボルを、いずれかの出力ユニットに強制的に分類させることによる誤判定を防止し、出力ユニットに分類された捺印シンボルの良否判定の精度を高く維持することができる。
このような第4の実施形態における捺印シンボル検査装置は、捺印シンボル識別部及び良否判定部の構成を除き、図4と同様である。捺印シンボル識別部は、図21と同様の構成を有している。
図23に、第4の実施形態における捺印シンボル検査装置を構成する良否判定部の構成例のブロック図を示す。図23において、図7と同様の部分には同一符号を付し、適宜説明を省略する。
第4の実施形態における良否判定部300dは、画像抽出部310、画像分割処理部320、分割ブロック数設定値記憶部322、代表値演算部330を備えている。また、良否判定部300dは、捺印シンボル識別部200によって識別された捺印シンボルに対応して設けられた分離演算部及び判定部を備えている。具体的には、良否判定部300dは、“A”用分離演算部3401とこれに対応して設けられた“A”用判定部3501、“B”用分離演算部3402dとこれに対応して設けられた“B”用判定部3502、・・・、“8”用分離演算部34033とこれに対応して設けられた“8”用判定部35033、及び“9”用分離演算部34034dとこれに対応して設けられた“9”用判定部35034を備えている。更に、“B”用分離演算部3402dは、退避処理部3422dを備え、“9”用分離演算部34034dは、退避処理部34234dを備えている。
良否判定部300dが有する各分離演算部は、対応する良否判定学習部により学習が行われた第2のニューラルネットワークNN2により分離演算を行う。例えば、“B”用分離演算部3402dは、対応する第2のニューラルネットワークNN2の入力層を構成する入力ユニットに、代表値演算部330により得られた対応するブロックの代表値が入力され、上記のように分離演算を行う。このとき、退避処理部3422dは、良品又は不良品に対応した出力ユニットに分類不可能な捺印シンボルを退避ユニットTU2に退避させる。同様に、例えば、“9”用分離演算部34034dは、対応する第2のニューラルネットワークNN2の入力層を構成する入力ユニットに、代表値演算部330により得られた対応するブロックの代表値が入力され、上記のように分離演算を行う。このとき、退避処理部34234dは、良品又は不良品に対応した出力ユニットに分類不可能な捺印シンボルを退避ユニットTU3に退避させる。
なお、図22では、第2のニューラルネットワークNN2に1つの退避ユニットを追加する例を説明したが、第2のニューラルネットワークNN2に複数の退避ユニットを追加するようにしてもよい。
以上説明したように、第4の実施形態によれば、第2のニューラルネットワークNN2に退避ユニットを設け、良品又は不良品に対応した複数の出力ユニットに分類不可能な捺印シンボルを退避させることができる。これにより、第1の実施形態又は第3の実施形態と同様の効果に加えて、何らかの原因で極端に損傷した捺印シンボルの誤判定を防止すると共に、出力ユニットに分類された捺印シンボルの良否判定精度を高く維持することができる。
以上、本発明に係る捺印シンボル検査装置、及びその方法等を上記のいずれかの実施形態に基づいて説明したが、本発明は上記のいずれかの実施形態に限定されるものではない。例えば、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、次のような変形も可能である。
(1)上記のいずれかの実施形態において、電子部品に捺印されたシンボルを検査する例を説明したが、本発明は、これに限定されるものではない。本発明に係る捺印シンボル検査装置は、電子機器(電子装置)に捺印されたシンボルを検査することができる。なお、本発明に係る捺印シンボル検査装置の検査対象のシンボルが捺印される電子機器としては、電子部品や、電子ユニット等がある。電子部品としては、ダイオード、パワーMOSFET(Metal Oxide Semiconductor Field Effect Transistor)、サイダック、サージアブソーバー、パワーチェナー、パワーIC(Integrated Circuit)等の半導体素子や回路素子、集積回路装置がある。また、電子ユニットとしては、DC/DCコンバーター、AC/DCコンバーター、DC/ACコンバーター、その他システム周辺機器、各種車両に搭載する電装製品等がある。
(2)上記のいずれかの実施形態では、ニューラルネットワークが階層型モデルであるものとして説明したが、本発明は、これに限定されるものではない。
(3)第2の実施形態において、2種類のフォントサイズの捺印シンボルを検査する捺印シンボル検査装置について説明したが、本発明は、これに限定されるものではない。例えば、3種類以上のフォントサイズの捺印シンボルを検査する捺印シンボル検査装置を構成するようにしてもよい。この場合、例えば、フォントサイズ毎に、第2の実施形態と同様に、専用の学習データ編集部、シンボル識別学習部、捺印シンボル識別部、良否判定学習部、及び良否判定部を設ければよい。
(4)上記のいずれかの実施形態において、本発明を捺印シンボル検査装置、及びその方法等として説明したが、本発明は、これに限定されるものではない。例えば、本発明に係る捺印シンボル検査方法の処理手順が記述されたプログラム、このプログラムが記録された記録媒体であってもよい。