IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日東電工株式会社の特許一覧

特許7563665検査システム、検査方法及び検査プログラム
<>
  • 特許-検査システム、検査方法及び検査プログラム 図1
  • 特許-検査システム、検査方法及び検査プログラム 図2
  • 特許-検査システム、検査方法及び検査プログラム 図3
  • 特許-検査システム、検査方法及び検査プログラム 図4
  • 特許-検査システム、検査方法及び検査プログラム 図5
  • 特許-検査システム、検査方法及び検査プログラム 図6
  • 特許-検査システム、検査方法及び検査プログラム 図7
  • 特許-検査システム、検査方法及び検査プログラム 図8
  • 特許-検査システム、検査方法及び検査プログラム 図9
  • 特許-検査システム、検査方法及び検査プログラム 図10
  • 特許-検査システム、検査方法及び検査プログラム 図11
  • 特許-検査システム、検査方法及び検査プログラム 図12
  • 特許-検査システム、検査方法及び検査プログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】検査システム、検査方法及び検査プログラム
(51)【国際特許分類】
   G01N 21/956 20060101AFI20241001BHJP
   G01N 21/88 20060101ALI20241001BHJP
   G06T 7/00 20170101ALI20241001BHJP
【FI】
G01N21/956 B
G01N21/88 J
G06T7/00 350B
【請求項の数】 6
(21)【出願番号】P 2021010592
(22)【出願日】2021-01-26
(65)【公開番号】P2022114331
(43)【公開日】2022-08-05
【審査請求日】2023-12-15
(73)【特許権者】
【識別番号】000003964
【氏名又は名称】日東電工株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】木川 洋一
(72)【発明者】
【氏名】陳 日飛
【審査官】井上 徹
(56)【参考文献】
【文献】米国特許出願公開第2021/0004945(US,A1)
【文献】米国特許出願公開第2020/0232934(US,A1)
【文献】米国特許出願公開第2010/0225666(US,A1)
【文献】米国特許出願公開第2020/0005448(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G01N 21/00-21/01
G01N 21/17-21/61
G01N 21/84-21/958
G01B 11/00-11/30
G06T 7/00- 7/90
H05K 3/00-13/08
JSTPlus/JMEDPlus/JST7580(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
検査対象物を撮影した画像のうち、欠陥が含まれていないと判断された第1画像の一部をマスクすることで生成された第1マスク画像のマスク領域に、対応するCADデータを重畳した重畳画像から、マスク前の第1画像が再現されるように学習された画像再現部と、
新たな検査対象物を撮影した第2画像の一部をマスクすることで生成された第2マスク画像のマスク領域に、対応するCADデータを重畳した重畳画像を、前記画像再現部に入力することで再現された再現画像と、前記第2画像とに基づいて、前記第2画像に欠陥が含まれるか否かを判定する判定部と
を有する検査システム。
【請求項2】
前記判定部は、
前記再現画像と、前記第2画像との各画素の画素値の誤差に基づいて算出される値が、所定の閾値以下である場合、前記第2画像に欠陥が含まれないと判定し、
前記再現画像と、前記第2画像との各画素の画素値の誤差に基づいて算出される値が、所定の閾値を超えている場合、前記第2画像に欠陥が含まれると判定する、請求項1に記載の検査システム。
【請求項3】
前記判定部により、前記第2画像に欠陥が含まれると判定された場合に、前記第2画像について目視検査を行うよう前記第2画像を出力する出力部を更に有する、請求項2に記載の検査システム。
【請求項4】
検査対象物を撮影した画像のうち、欠陥が含まれていないと判断された第1画像の一部をマスクすることで生成された第1マスク画像のマスク領域に、対応するCADデータを重畳した重畳画像から、マスク前の第1画像が再現されるよう、画像再現部に対して学習処理を行う学習部を更に有する、請求項に記載の検査システム。
【請求項5】
検査対象物を撮影した画像のうち、欠陥が含まれていないと判断された第1画像の一部をマスクすることで生成された第1マスク画像のマスク領域に、対応するCADデータを重畳した重畳画像から、マスク前の第1画像が再現されるように学習された画像再現部に、新たな検査対象物を撮影した第2画像の一部をマスクすることで生成された第2マスク画像のマスク領域に、対応するCADデータを重畳した重畳画像を入力することで再現された再現画像と、前記第2画像とに基づいて、前記第2画像に欠陥が含まれるか否かを判定する判定工程、
を有する検査方法。
【請求項6】
検査対象物を撮影した画像のうち、欠陥が含まれていないと判断された第1画像の一部をマスクすることで生成された第1マスク画像のマスク領域に、対応するCADデータを重畳した重畳画像から、マスク前の第1画像が再現されるように学習された画像再現部に、新たな検査対象物を撮影した第2画像の一部をマスクすることで生成された第2マスク画像のマスク領域に、対応するCADデータを重畳した重畳画像を入力することで再現された再現画像と、前記第2画像とに基づいて、前記第2画像に欠陥が含まれるか否かを判定する判定工程、
をコンピュータに実行させるための検査プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査システム、検査方法及び検査プログラムに関する。
【背景技術】
【0002】
従来より、プリント基板等の検査対象物を撮影し、基準画像と比較することで、検査対象物が良品であるか不良品であるかを検査する検査システムが知られている。
【0003】
当該検査システムでは、例えば、不良品を良品としてしまうことがないように、欠陥候補を過剰に検出しておき、検出した欠陥候補の画像を、最終的に検査員が目視検査することで、欠陥の見逃し防止を実現している。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2013-098267号公報
【文献】特開2020-052474号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記検査システムの場合、良品の範囲内での製造ばらつき等も、欠陥候補として検出されるため、検査員が目視検査すべき欠陥候補の画像が多くなり、検査員の作業負荷が高いという問題がある。
【0006】
一つの側面では、検査システムにおける検査員の作業負荷を低減させることを目的としている。
【課題を解決するための手段】
【0007】
一態様によれば、検査システムは、
検査対象物を撮影した画像のうち、欠陥が含まれていないと判断された第1画像の一部をマスクすることで生成された第1マスク画像のマスク領域に、対応するCADデータを重畳した重畳画像から、マスク前の第1画像が再現されるように学習された画像再現部と、
新たな検査対象物を撮影した第2画像の一部をマスクすることで生成された第2マスク画像のマスク領域に、対応するCADデータを重畳した重畳画像を、前記画像再現部に入力することで再現された再現画像と、前記第2画像とに基づいて、前記第2画像に欠陥が含まれるか否かを判定する判定部とを有する。
【発明の効果】
【0008】
検査システムにおける検査員の作業負荷を低減させることができる。
【図面の簡単な説明】
【0009】
図1】学習フェーズにおける検査システムのシステム構成の一例を示す図である。
図2】学習装置のハードウェア構成の一例を示す図である。
図3】学習装置の学習用データセット生成部による処理の具体例を示す図である。
図4】学習装置の学習部による処理の具体例を示す第1の図である。
図5】検査フェーズにおける検査システムのシステム構成の一例を示す図である。
図6】推論装置のハードウェア構成の一例を示す図である。
図7】推論装置の推論部による処理の具体例を示す第1の図である。
図8】検査システムにおける学習処理の流れを示す第1のフローチャートである。
図9】検査システムにおける検査処理の流れを示す第1のフローチャートである。
図10】学習装置の学習部による処理の具体例を示す第2の図である。
図11】推論装置の推論部による処理の具体例を示す第2の図である。
図12】検査システムにおける学習処理の流れを示す第2のフローチャートである。
図13】検査システムにおける検査処理の流れを示す第2のフローチャートである。
【発明を実施するための形態】
【0010】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0011】
[第1の実施形態]
<学習フェーズにおける検査システムのシステム構成>
はじめに、第1の実施形態に係る検査システムの、学習フェーズにおけるシステム構成について説明する。図1は、学習フェーズにおける検査システムのシステム構成の一例を示す図である。
【0012】
図1に示すように、学習フェーズにおける検査システム100は、自動光学検査(AOI:Automated Optical Inspection)装置110と、学習装置120とを有する。
【0013】
AOI装置110は、プリント基板130の自動外観検査を行う。AOI装置110は、プリント基板130をカメラでスキャンし、種々の検査項目を検査することで、欠陥候補を検出する。AOI装置110が検査する検査項目には、例えば、回路幅、回路間隔、ミッシングパッド/パッドなし、回路ショート等が含まれる。
【0014】
AOI装置110により検出された欠陥候補を含む各領域の画像140は、学習装置120に送信されるとともに、検査ラインに送信される。検査ラインでは、検査員等の検査員111が、欠陥候補を含む各領域の画像140を目視検査する。なお、AOI装置110は、不良品を良品とすることがないように、欠陥候補を含む各領域の画像が過剰に検出されるように設定されているものとする。
【0015】
検査員111は、各領域の画像140に欠陥が含まれているか否かを目視検査し、最終的に、プリント基板130が良品であるか不良品であるかを判断する。具体的には、欠陥候補を含む各領域の画像140のいずれにも欠陥が含まれていない場合には、プリント基板130は良品であると判断される。また、欠陥候補を含む各領域の画像140のいずれかに欠陥が含まれている場合には、プリント基板130は不良品であると判断される。
【0016】
なお、検査員111は、目視検査の結果(各領域の画像140に欠陥が含まれているか否かを判断した結果)を、学習装置120に通知する。図1の例において、「目視検査結果:OK」とは、欠陥候補を含む領域の画像に欠陥が含まれていないと判断されたことを示し、「目視検査結果:NG」とは、欠陥候補を含む領域の画像に欠陥が含まれていると判断されたことを示している。
【0017】
学習装置120には、学習プログラムがインストールされており、学習装置120は、当該プログラムを実行することで、学習用データセット生成部121、学習部122として機能する。
【0018】
学習用データセット生成部121は、AOI装置110から送信された、欠陥候補を含む各領域の画像140の中から、検査員111による目視検査の結果、欠陥が含まれていないと判断された画像を抽出する。また、学習用データセット生成部121は、抽出した各領域の画像を、目視検査の結果と対応付けて、学習用データセットとして学習用データセット格納部123に格納する。
【0019】
学習部122は、学習用データセット格納部123に格納された学習用データセットに含まれる各領域の画像を読み出す。また、学習部122は、各領域の画像の一部をマスクすることでマスク画像を生成し、生成したマスク画像から、マスク前の画像が再現されるようにモデルに対して学習処理を行う。
【0020】
なお、学習部122によって学習処理が行われるモデルには、例えば、画像の白抜き領域を補完するモデル等が用いられる。当該モデルでは、一部の領域が白抜きされた画像が入力された場合に、白抜きされた領域の周辺領域に基づき白抜きされた領域を補完し、白抜きされる前の元の画像を再現する。以下、当該モデルを、「画像再現部」と称す。
【0021】
<学習装置のハードウェア構成>
次に、学習装置120のハードウェア構成について説明する。図2は、学習装置のハードウェア構成の一例を示す図である。図2に示すように、学習装置120は、プロセッサ201、メモリ202、補助記憶装置203、I/F(Interface)装置204、通信装置205、ドライブ装置206を有する。なお、学習装置120の各ハードウェアは、バス207を介して相互に接続されている。
【0022】
プロセッサ201は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)等の各種演算デバイスを有する。プロセッサ201は、各種プログラム(例えば、学習プログラム等)をメモリ202上に読み出して実行する。
【0023】
メモリ202は、ROM(Read Only Memory)、RAM(Random Access Memory)等の主記憶デバイスを有する。プロセッサ201とメモリ202とは、いわゆるコンピュータを形成し、プロセッサ201が、メモリ202上に読み出した各種プログラムを実行することで、当該コンピュータは、例えば上記各機能(学習用データセット生成部121、学習部122)を実現する。
【0024】
補助記憶装置203は、各種プログラムや、各種プログラムがプロセッサ201によって実行される際に用いられる各種データを格納する。例えば、学習用データセット格納部123は、補助記憶装置203において実現される。
【0025】
I/F装置204は、外部装置の一例である操作装置210、表示装置211と、学習装置120とを接続する接続デバイスである。I/F装置204は、学習装置120に対する操作(例えば、検査員111による目視検査の結果を入力する操作、あるいは、学習装置120の管理者(不図示)が学習処理の指示を入力する操作等)を、操作装置210を介して受け付ける。また、I/F装置204は、学習装置120による学習処理の結果等を出力し、表示装置211を介して、学習装置120の管理者に表示する。
【0026】
通信装置205は、他の装置(本実施形態では、AOI装置110)と通信するための通信デバイスである。
【0027】
ドライブ装置206は記録媒体212をセットするためのデバイスである。ここでいう記録媒体212には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体212には、ROM、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【0028】
なお、補助記憶装置203にインストールされる各種プログラムは、例えば、配布された記録媒体212がドライブ装置206にセットされ、該記録媒体212に記録された各種プログラムがドライブ装置206により読み出されることでインストールされる。あるいは、補助記憶装置203にインストールされる各種プログラムは、通信装置205を介してネットワークからダウンロードされることで、インストールされてもよい。
【0029】
<学習装置の各部の詳細>
次に、学習装置120の各部(ここでは、学習用データセット生成部121、学習部122)の詳細について説明する。
【0030】
(1)学習用データセット生成部による処理の具体例
図3は、学習装置の学習用データセット生成部による処理の具体例を示す図である。図3に示すように、AOI装置110から、例えば、欠陥候補を含む各領域の画像301~306が送信されると、学習用データセット生成部121では、「目視検査結果:OK」の画像を抽出する。
【0031】
図3の例は、各領域の画像301~306のうち、画像301、302、304、305は、「目視検査結果:NG」の画像であることを示している。このため、学習用データセット生成部121では、各領域の画像303、306(「目視検査結果:OK」の画像)を抽出して、学習用データセット310を生成する。
【0032】
図3に示すように、学習用データセット310は、情報の項目として、"ID"、"画像"、"目視検査結果"とを有する。
【0033】
"ID"には、各領域の画像を識別する識別子が格納される。"画像"には、各領域の画像が格納される。"目視検査結果"には、各領域の画像の目視検査の結果が格納される。なお、学習用データセット310には、「目視検査結果:OK」の画像のみが格納されるため、"目視検査結果"には、「OK」のみが格納される。
【0034】
このように、学習用データセット生成部121は、
・AOI装置110により検出された欠陥候補を含む各領域の画像、かつ、
・検査員111により、欠陥が含まれていないと判断された画像(「目視検査結果:OK」の画像)、
を用いて、学習用データセット310を生成する。
【0035】
(2)学習部による処理の具体例
図4は、学習装置の学習部による処理の具体例を示す第1の図である。図4に示すように、学習部122は、マスク部410、画像再現部420、比較/変更部430を有する。
【0036】
マスク部410は、学習用データセット格納部123に格納された学習用データセット310の"画像"に格納された各領域の画像(第1画像の一例。例えば、画像440)を読み出す。また、マスク部410は、読み出した画像440の一部をマスクすることで、マスク画像(第1マスク画像の一例。例えば、マスク画像440_1~440_n)を生成する。また、マスク部410は、生成したマスク画像440_1~440_nを画像再現部420に入力する。なお、マスク部410が、読み出した画像440に対してマスクする際のマスク位置はランダムであり、例えば、マスク部410は、9~16箇所程度の位置にマスクする。
【0037】
画像再現部420は、マスク画像440_1~440_nに基づいて、マスク前の画像441_1~441_nを再現し、比較/変更部430に出力する。
【0038】
比較/変更部430は、画像再現部420により再現された画像441_1~441_nと、マスク部410により読み出されたマスク前の画像440とを比較し、両者が一致するように、画像再現部420のモデルパラメータを更新する。
【0039】
これにより、画像再現部420は、マスク部410により生成されたマスク画像440_1~440_nから、マスク前の画像440が再現されるように学習処理が行われることになる。このように、画像再現部420を用いる構成とすることで、学習装置120によれば、教師なしの学習処理を行うことができる。また、欠陥が含まれていない各領域の画像(「目視検査結果:OK」の画像)のみを用いて学習処理を行うことができる。これにより、様々な種類の欠陥が含まれている各領域の画像(「目視検査結果:NG」の画像)を収集して学習処理を行う場合と比較して、学習コストを低減させることができる。
【0040】
なお、マスク前の画像が再現されるように学習処理が行われた学習済み画像再現部は、後述する検査フェーズにおいて用いられる。
【0041】
<検査フェーズにおける検査システムのシステム構成>
次に、第1の実施形態に係る検査システムの、検査フェーズにおけるシステム構成について説明する。図5は、検査フェーズにおける検査システムのシステム構成の一例を示す図である。
【0042】
図5に示すように、検査フェーズにおける検査システム500は、AOI装置110と、推論装置510とを有する。
【0043】
このうち、AOI装置110は、学習フェーズにおける検査システム100のAOI装置110と同じであるため、ここでは説明を省略する。
【0044】
推論装置510には、検査プログラムがインストールされており、当該プログラムが実行されることで、推論装置510は、推論部511、出力部512として機能する。
【0045】
推論部511は、学習フェーズにおいて生成された学習済み画像再現部を有する。推論部511は、検査対象物であるプリント基板530に対して自動外観検査が行われることでAOI装置110から送信された各領域の画像540を取得する。また、推論部511は、取得した各領域の画像540の一部をマスクすることで、マスク画像を生成したのち、学習済み画像再現部に入力する。また、推論部511は、学習済み画像再現部により再現された画像と、マスク前の画像540とを比較することで、各領域の画像540に欠陥が含まれるか否かを判定する。更に、推論部511は、判定結果を出力部512に通知する。
【0046】
出力部512は、推論部511より通知された判定結果を、検査ラインに出力する。検査ラインでは、検査員111が、欠陥候補を含む各領域の画像を目視検査する。ただし、検査フェーズにおいて、検査ラインでは、出力部512により出力された判定結果を参照し、欠陥候補を含む各領域の画像540のうち、推論装置510により欠陥が含まれないと判定された画像を除外する。そして、検査ラインでは、欠陥候補を含む各領域の画像540のうち、推論装置510により欠陥が含まれると判定された画像550を目視検査に割り当てる。つまり、出力部512では、欠陥が含まれると判定された画像550について目視検査を行うよう画像550を出力する。
【0047】
このように、AOI装置110においてプリント基板530に対して自動外観検査が行われ、欠陥候補を含む各領域の画像が検出された場合、検査ラインでは、推論装置510によって、欠陥が含まれると判定された画像を、目視検査に割り当てる。この結果、検査システム500によれば、目視検査に割り当てる画像の数を減らすことが可能となり、検査員111による目視検査の作業負荷を低減させることができる。
【0048】
<推論装置のハードウェア構成>
次に、推論装置510のハードウェア構成について説明する。図6は、推論装置のハードウェア構成の一例を示す図である。なお、図6に示すように、推論装置510のハードウェア構成は、学習装置120のハードウェア構成と概ね同じであることから、ここでは、学習装置120のハードウェア構成との相違点を中心に説明する。
【0049】
プロセッサ601は、各種プログラム(例えば、検査プログラム等)をメモリ602上に読み出して実行する。プロセッサ601が、メモリ602上に読み出した各種プログラムを実行することで、プロセッサ601とメモリ602とにより形成されるコンピュータは、例えば上記各機能(推論部511、出力部512)を実現する。
【0050】
<推論装置の各部の詳細>
次に、推論装置510の各部(ここでは、推論部511)の詳細について説明する。図7は、推論装置の推論部による処理の具体例を示す第1の図である。図7に示すように、推論部511は、マスク部710、学習済み画像再現部720、判定部730を有する。
【0051】
マスク部710は、AOI装置110から送信された欠陥候補を含む各領域の画像(第2画像の一例。例えば、画像741)を取得し、取得した画像の一部をマスクすることで、マスク画像(第2マスク画像の一例。例えば、マスク画像741_1~741_n)を生成する。また、マスク部710は、生成したマスク画像741_1~741_nを学習済み画像再現部720に入力する。
【0052】
学習済み画像再現部720は、学習フェーズにおいて画像再現部420に対して学習処理が行われることで生成された学習済みモデルである。学習済み画像再現部720は、マスク画像741_1~741_nに基づいて、マスク前の画像(第2再現画像の一例。例えば、画像751_1~751_n)を再現する。
【0053】
判定部730は、学習済み画像再現部720により再現された画像751_1~751_nと、マスク部710により取得されたマスク前の画像741とを比較して、欠陥が含まれるか否かを判定する。
【0054】
具体的には、判定部730は、まず、再現された画像751_1とマスク前の画像741の各画素の画素値の平均2乗誤差(MSE:Mean Square Error)を算出する。続いて、判定部730は、再現された画像751_2とマスク前の画像741の各画素の画素値の平均2乗誤差(MSE)を算出する。以下、同様に、再現された画像751_3とマスク前の画像741の各画素の画素値の平均2乗誤差(MSE)~再現された画像751_nとマスク前の画像741の各画素の画素値の平均2乗誤差(MSE)を算出する。
【0055】
続いて、判定部730は、算出した各MSEがいずれも、所定の閾値(Th)以下であるか否かを判定する。算出した各MSEがいずれも、所定の閾値以下であると判定した場合、画像741には欠陥が含まれないと判定する(「判定結果:OK」)。一方、算出した各MSEのうち、いずれかのMSEが所定の閾値を超えていると判定した場合、画像741には欠陥が含まれると判定する(「判定結果:NG」)。
【0056】
このように、推論部511では、再現された画像と、マスク前の画像とを比較して、欠陥が含まれるか否かを判定する。これにより、例えば、マスク前の画像と基準画像とを比較して欠陥が含まれるか否かを判定する場合と比べて、良品の範囲内での製造ばらつき等に対応した判定結果を出力することが可能となる。
【0057】
つまり、検査システム500によれば、欠陥の見逃し防止を実現するように検出された欠陥候補を含む各領域の画像に対して、「目視検査結果:OK」となるであろう画像(「判定結果:OK」の画像)を、目視検査の割り当てから適切に除外することができる。この結果、検査システム500によれば、目視検査に割り当てる画像の数を減らすことが可能となり、検査員の作業負荷を低減させることができる。
【0058】
<学習処理の流れ>
次に、検査システム100における学習処理の流れについて説明する。図8は、検査システムにおける学習処理の流れを示す第1のフローチャートである。
【0059】
ステップS801において、学習装置120の学習用データセット生成部121は、AOI装置110より、欠陥候補を含む各領域の画像を取得する。
【0060】
ステップS802において、学習装置120の学習用データセット生成部121は、取得した各領域の画像から、「目視検査結果:OK」の画像を抽出し、学習用データセットを生成する。
【0061】
ステップS803において、学習装置120の学習部122は、学習用データセットに含まれる各領域の画像の一部をマスクすることでマスク画像を生成し、生成したマスク画像から、マスク前の画像が再現されるように、画像再現部に対して学習処理を行う。
【0062】
ステップS804において、学習装置120の学習部122は、学習処理を終了するか否かを判定する。ステップS804において、学習処理を継続すると判定した場合には(ステップS804においてNoの場合には)、ステップS801に戻る。
【0063】
一方、ステップS804において、学習処理を終了すると判定した場合には(ステップS804においてYesの場合には)、ステップS805に進む。
【0064】
ステップS805において、学習装置120の学習部122は、学習済み画像再現部を出力して、学習処理を終了する。
【0065】
<検査処理の流れ>
次に、検査システム500における検査処理の流れについて説明する。図9は、検査システムにおける検査処理の流れを示す第1のフローチャートである。
【0066】
ステップS901において、推論装置510の推論部511は、AOI装置110より、欠陥候補を含む各領域の画像を取得する。
【0067】
ステップS902において、推論装置510の推論部511は、取得した各領域の画像の一部をマスクすることでマスク画像を生成し、生成したマスク画像を、学習済み画像再現部に入力することで、マスク前の画像を再現する。
【0068】
ステップS903において、推論装置510の推論部511は、再現した画像と、マスク前の画像とを比較し、MSEを算出することで、マスク前の画像に欠陥が含まれるか否かを判定する。
【0069】
具体的には、推論装置510の推論部511では、例えば、取得した画像を縦方向に3分割、横方向に3分割の計9分割にする。続いて、推論装置510の推論部511では、いずれかの1つの分割領域をマスクすることで生成したマスク画像についてMSEを算出する処理を、マスクする分割領域を順次変えながら9回行う。そして、いずれか1つのマスク画像についてMSEが閾値を超えた場合、推論装置510の推論部511では、当該取得した画像には、欠陥が含まれると判定する(「判定結果:NG」)。
【0070】
ステップS904において、推論装置510の出力部512は、判定結果を報知する。これにより、自動外観検査が行われることでAOI装置110にて検出された欠陥候補を含む各領域の画像が、欠陥が含まれないと判定された画像(「判定結果:OK」の画像)と、欠陥が含まれると判定された画像(「判定結果:NG」の画像)とに分類される。この結果、欠陥が含まれると判定された画像(「判定結果:NG」の画像)のみを目視検査に割り当てることが可能となる。
【0071】
ステップS905において、推論装置510の推論部511は、検査処理を終了するか否かを判定する。ステップS905において、検査処理を継続すると判定した場合には(ステップS905においてNoの場合には)、ステップS901に戻る。
【0072】
一方、ステップS905において、検査処理を終了すると判定した場合には(ステップS905においてYesの場合には)、検査処理を終了する。
【0073】
<まとめ>
以上の説明から明らかなように、第1の実施形態に係る検査システムは、
・プリント基板を撮影した画像のうち、欠陥が含まれていないと判断された画像の一部をマスクすることでマスク画像を生成する。また、生成したマスク画像から、マスク前の画像が再現されるように、画像再現部に対して学習処理を行う。
・新たなプリント基板を撮影した画像の一部をマスクすることでマスク画像を生成する。また、生成したマスク画像を学習済み画像再現部に入力することでマスク前の画像を再現し、再現した画像と、マスク前の画像とを比較することで、マスク前の画像に欠陥が含まれるか否かを判定する。
【0074】
このように、再現した画像とマスク前の画像とを比較して欠陥が含まれるか否かを判定することで、良品の範囲内での製造ばらつき等に対応した判定結果を出力することが可能となる。
【0075】
つまり、第1の実施形態によれば、欠陥の見逃し防止を実現するように検出された欠陥候補を含む各領域の画像に対して、「目視検査結果:OK」となるであろう画像(「判定結果:OK」の画像)を、目視検査の割り当てから適切に除外することができる。この結果、第1の実施形態によれば、目視検査に割り当てる画像の数を減らすことが可能となり、検査員の作業負荷を低減させることができる。
【0076】
[第2の実施形態]
上記第1の実施形態では、各領域の画像の一部をマスクすることで生成したマスク画像を、画像再現部に入力するものとして説明した。これに対して、第2の実施形態では、各領域の画像の一部をマスクすることで生成したマスク画像に、CAD(Computer-aided design)データを重畳したうえで、画像再現部に入力する場合について説明する。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
【0077】
<学習部による処理の具体例>
はじめに、第2の実施形態に係る学習装置120の各部のうち、学習部122による処理の具体例について説明する。図10は、学習装置の学習部による処理の具体例を示す第2の図である。
【0078】
図10に示すように、第2の実施形態において、学習部122が処理を行うにあたり、学習用データセット格納部123には、学習用データセット1010が格納されているものとする。
【0079】
学習用データセット1010には、情報の項目として、学習用データセット310の情報の項目に加えて、"CADデータ"が含まれる。"CADデータ"には、"画像"に格納された各領域の画像に対応する領域のCADデータが格納される。図10の例は、画像1012に対応する領域のCADデータ1011が格納されている様子を示している。
【0080】
また、図10に示すように、学習部122は、マスク部410、重畳部1020、画像再現部1030、比較/変更部1040を有する。
【0081】
マスク部410は、図4で説明したマスク部410と同様であり、図10の例は、学習用データセット1010の"画像"に格納された画像1012を読み出し、一部をマスクすることで、マスク画像1031を生成した様子を示している。
【0082】
重畳部1020は、マスク部410により生成されたマスク画像のうち、マスクされた領域に、CADデータの対応する領域を重畳し、重畳画像を生成する。図11の例は、マスク画像1141のうち、マスクされた領域に、CADデータ1011の対応する領域を重畳し、重畳画像1032を生成した様子を示している。
【0083】
画像再現部1030は、重畳部1020にて生成された重畳画像に基づいて、マスク前の画像を再現し、比較/変更部1040に出力する。図10の例は、重畳部1020にて生成された重畳画像1032に基づいてマスク前の画像1033を再現し、比較/変更部1040に出力した様子を示している。
【0084】
比較/変更部1040は、画像再現部1030により再現された画像1033と、マスク部410によって読み出されたマスク前の画像1012とを比較し、両者が一致するように、画像再現部1030のモデルパラメータを更新する。
【0085】
これにより、画像再現部1030は、重畳部1020により生成された重畳画像1032から、マスク前の画像1012が再現されるように学習処理が行われることになる。なお、マスク前の画像が再現されるように学習処理が行われた学習済み画像再現部は、後述する検査フェーズにおいて用いられる。
【0086】
<推論装置の各部の処理の具体例>
次に、推論装置510の推論部511による処理の具体例について説明する。図11は、推論装置の推論部による処理の具体例を示す第2の図である。図11に示すように、推論部511は、マスク部710、重畳部1110、学習済み画像再現部1120、判定部1130を有する。
【0087】
マスク部710は、図7のマスク部710と同様であり、図11の例は、AOI装置110から送信された画像1101の一部をマスクすることで、マスク画像1141を生成した様子を示している。なお、画像1101は、回路ショート等の欠陥が含まれている画像である。
【0088】
重畳部1110は、マスク部710により生成されたマスク画像のうち、マスクされた領域に、CADデータの対応する領域を重畳し、重畳画像を生成する。図11の例は、マスク画像1141のうち、マスクされた領域に、CADデータ1102の対応する領域を重畳し、重畳画像1142を生成した様子を示している。
【0089】
学習済み画像再現部1120は、学習フェーズにおいて画像再現部1030に対して学習処理が行われることで生成された学習済みモデルである。学習済み画像再現部1120は、重畳部1110より通知された重畳画像に基づいて、マスク前の画像を再現する。図11の例は、重畳部1110より通知された重畳画像1142に基づいて、マスク前の画像1143が再現された様子を示している。
【0090】
判定部1130は、学習済み画像再現部1120により再現された画像1143と、マスク部710により取得されたマスク前の画像1101とを比較して、欠陥が含まれるか否かを判定する。図11の例は、学習済み画像再現部1120により再現された画像1143と、マスク部710により取得されたマスク前の画像1101とを比較した結果、MSEが所定の閾値を超えており、欠陥が含まれると判定された様子(「判定結果:NG」)を示している。
【0091】
このように、回路ショート等の欠陥が含まれる画像1101の場合、上記第1の実施形態で説明したマスク画像だけでは、「目視検査結果:OK」の画像を再現するように動作させることは困難である。回路ショート等の欠陥の場合、マスクした領域の周辺に、マスクした領域を補完するのに必要な情報が含まれていないからである。
【0092】
これに対して、上記のように、マスクされた領域にCADデータの対応する領域を重畳することで、「目視検査結果:OK」の画像を再現するように動作させることが可能になる。この結果、再現された画像とマスク前の画像との誤差が大きくなり、回路ショート等の欠陥が含まれることを精度よく判定することが可能となる。
【0093】
<学習処理の流れ>
次に、第2の実施形態に係る検査システム100における学習処理の流れについて説明する。図12は、検査システムにおける学習処理の流れを示す第2のフローチャートである。図8に示した第1のフローチャートとの相違点は、ステップS1201~S1203である。
【0094】
ステップS1201において、学習装置120の学習用データセット生成部121は、ステップS801において取得された各領域の画像に対応するCADデータを取得する。
【0095】
ステップS1202において、学習装置120の学習用データセット生成部121は、取得した各領域の画像から、「目視検査結果:OK」の画像を抽出する。また、学習装置120の学習用データセット生成部121は、抽出した各領域の画像を、対応する領域のCADデータと対応付けて学習用データセットを生成する。
【0096】
ステップS1203において、学習装置120の学習部122は、学習用データセットに含まれる各領域の画像の一部をマスクすることでマスク画像を生成したのち、CADデータの対応する領域を重畳することで重畳画像を生成する。
【0097】
以下、ステップS803~S805は、図8を用いて説明済みであるため、ここでは説明を省略する。
【0098】
<検査処理の流れ>
次に、第2の実施形態に係る検査システム500における検査処理の流れについて説明する。図13は、検査システムにおける検査処理の流れを示す第2のフローチャートである。図9に示した第1のフローチャートとの相違点は、ステップS1301~S1302である。
【0099】
ステップS1301において、推論装置510の推論部511は、ステップS901において取得された各領域の画像に対応する領域のCADデータを取得する。
【0100】
ステップS1302において、推論装置510の推論部511は、取得した各領域の画像の一部をマスクすることでマスク画像を生成したうえで、CADデータの対応する領域を重畳し、重畳画像を生成する。
【0101】
以下、ステップS902~S905は、図9を用いて説明済みであるため、ここでは説明を省略する。
【0102】
<まとめ>
以上の説明から明らかなように、第2の実施形態に係る検査システムは、
・プリント基板を撮影した画像のうち、欠陥が含まれていないと判断された画像の一部をマスクすることでマスク画像を生成したうえで、CADデータの対応する領域を重畳し、重畳画像を生成する。また、生成した重畳画像から、マスク前の画像が再現されるように、画像再現部に対して学習処理を行う。
・新たなプリント基板を撮影した画像の一部をマスクすることでマスク画像を生成したうえで、CADデータの対応する領域を重畳し、重畳画像を生成する。また、生成した重畳画像を学習済みの画像再現部に入力することでマスク前の画像を再現し、再現した画像と、マスク前の画像とを比較することで、マスク前の画像に欠陥が含まれるか否かを判定する。
【0103】
このように、重畳画像から「目視検査結果:OK」の画像が再現できるように学習処理を行う構成とすることで、回路ショート等の欠陥が含まれることを精度よく判定することが可能となる。この結果、第2の実施形態によれば、上記第1の実施形態と同様の効果を享受しつつ、誤判定を回避することが可能になる。
【0104】
[第3の実施形態]
上記第1の実施形態では、学習フェーズにおいてマスク部410が、1個の画像(例えば、画像440)に対して複数個のマスク画像(例えば、マスク画像440_1~440_n)を生成するものとして説明した。しかしながら、1個の画像から生成するマスク画像は複数個に限定されず、例えば、1個の画像から1個のマスク画像のみを生成するように構成してもよい。
【0105】
また、上記第1の実施形態では、学習部122による学習処理の具体的な回数について言及しなかったが、例えば、1個の画像から1個のマスク画像を生成する場合にあっては、
・学習用データセット310として、10000個の画像を用意し、
・その中の20個の画像を選択して、それぞれの画像に対して、ランダムな位置及びランダムなサイズで、1箇所ずつマスクし、
・当該20個のマスク画像を用いて、画像再現部420のモデルパラメータを更新する処理を、500回(=10000個/20個)行い、
・これらの処理を1セットとして、誤差が収束するまで10000セット程度繰り返す。
【0106】
これにより、推論部511では、精度の高い判定結果を出力することができる。
【0107】
上記第2の実施形態では、マスク画像にCADデータを重畳するものとして説明したが、マスク画像に重畳するデータは、CADデータに限定されない。例えば、検査フェーズにおいては、マスク画像に、「目視検査結果:OK」の画像の対応する領域を重畳するように構成してもよい。
【0108】
また、上記第1及び第2の実施形態では、検査対象物がプリント基板である場合について説明したが、検査対象物はプリント基板に限定されない。
【0109】
また、上記第1及び第2の実施形態では、判定結果に基づいて、目視検査に割り当てる画像を決定するものとして説明した。しかしながら、判定結果の利用方法はこれに限定されず、例えば、判定結果を検査員111に表示し、目視検査を支援するように構成してもよい。
【0110】
また、上記第1及び第2の実施形態では、学習装置120と推論装置510とを別体として構成したが、学習装置120と推論装置510とは一体として構成してもよい。
【0111】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0112】
100 :検査システム
110 :AOI装置
120 :学習装置
121 :学習用データセット生成部
122 :学習部
310 :学習用データセット
410 :マスク部
420 :画像再現部
500 :検査システム
510 :推論装置
511 :推論部
512 :出力部
710 :マスク部
720 :学習済み画像再現部
730 :判定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13