(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024141773
(43)【公開日】2024-10-10
(54)【発明の名称】事前学習装置、事前学習方法、およびコンピュータープログラム
(51)【国際特許分類】
G06N 3/0895 20230101AFI20241003BHJP
G06T 7/00 20170101ALI20241003BHJP
【FI】
G06N3/0895
G06T7/00 350B
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023053598
(22)【出願日】2023-03-29
(71)【出願人】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】関 健太
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096EA02
5L096EA03
5L096EA16
5L096FA62
5L096FA69
5L096GA30
5L096HA11
5L096JA05
5L096KA04
(57)【要約】
【課題】互いに類似する複数のパターンを含む対象物の一部を表す画像について、その一部の場所の相違を反映した適切な特徴ベクトルを出力できる特徴抽出モデルを生成する。
【解決手段】事前学習装置は、第1原画像データを取得し、それに基づいて複数の第1種部分画像データと複数の第1種識別データを生成し、複数組の第1種入力データセットそれらを使用して対照学習を行うことにより、事前学習モデルを生成する。第1原画像データは、互いに類似する複数のパターンを含む第1対象物の画像データである。第1種部分画像データは、第1原画像データが表す第1原画像の一部を表す。第1種識別データは、第1種部分画像データが表す部分画像の第1原画像における位置を表す。第1種入力データセットは、一つの第1種部分画像データと、それが表す部分画像の位置を表す第1種識別データと、の組み合わせである。
【選択図】
図4
【特許請求の範囲】
【請求項1】
画像データを入力されて特徴ベクトルを出力する事前学習モデルを生成する事前学習装置であって、
第1原画像データを取得する第1データ取得部であって、
第1原画像データは、互いに類似する複数のパターンを含む第1対象物の画像データである、第1データ取得部と、
前記第1原画像データに基づいて、複数の第1種部分画像データと、複数の第1種識別データと、を生成する第1データ生成部であって、
前記複数の第1種部分画像データのそれぞれは、前記第1原画像データが表す第1原画像の互いに異なる一部を表し、
前記複数の第1種識別データのそれぞれは、前記複数の第1種部分画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1データ生成部と、
複数組の第1種入力データセットを使用して対照学習を行うことにより、前記事前学習モデルを生成するモデル生成部であって、
前記複数組の第1種入力データセットの各組は、前記複数の第1種部分画像データのうちの一つの第1種部分画像データと、前記一つの第1種部分画像データが表す部分画像の前記位置を表す第1種識別データと、の組み合わせである、モデル生成部と、
を備える事前学習装置。
【請求項2】
請求項1に記載の事前学習装置であって、
前記第1原画像データに基づいて、複数の第1種拡張画像データと、複数の第1種拡張識別データと、を生成する第1種拡張データ生成部であって、
前記複数の第1種拡張画像データのそれぞれは、前記第1対象物について前記第1種部分画像データが表す部分画像の範囲と少なくとも一部が重なる前記第1対象物の範囲を表し、前記第1種部分画像データとは異なるデータであり、
前記複数の第1種拡張識別データのそれぞれは、前記複数の第1種拡張画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1種拡張データ生成部を備え、
前記モデル生成部は、複数組の第1種拡張入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成し、
前記複数組の第1種拡張入力データセットの各組は、前記複数の第1種拡張画像データのうちの一つの第1種拡張画像データと、前記一つの第1種拡張画像データが表す部分画像の前記位置を表す第1種拡張識別データと、の組み合わせである、事前学習装置。
【請求項3】
請求項1または2に記載の事前学習装置であって、
第2原画像データを取得する第2データ取得部であって、
前記第2原画像データは、前記第1対象物とは別の第2対象物であって前記第1対象物と同一または類似の構成を有する第2対象物の画像データである、第2データ取得部と、
前記第2原画像データに基づいて、複数の第2種部分画像データと、複数の第2種識別データと、を生成する第2データ生成部であって、
前記複数の第2種部分画像データのそれぞれは、前記第2原画像データが表す第2原画像の互いに異なる一部を表し、
前記複数の第2種識別データのそれぞれは、前記複数の第2種部分画像データの一つが表す部分画像の前記第2原画像における位置を表し、
前記複数の第2種識別データのそれぞれが表す前記第2原画像における位置は、前記複数の第1種識別データのそれぞれが表す前記第1原画像における位置と一致する、第2データ生成部と、を備え、
前記モデル生成部は、複数組の第2種入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成し、
前記複数組の第2種入力データセットの各組は、前記複数の第2種部分画像データのうちの一つの第2種部分画像データと、前記一つの第2種部分画像データが表す部分画像の前記位置を表す第2種識別データと、の組み合わせである、事前学習装置。
【請求項4】
画像データを入力されて特徴ベクトルを出力する事前学習モデルを生成する事前学習方法であって、
第1原画像データを取得する第1データ取得工程であって、
第1原画像データは、互いに類似する複数のパターンを含む第1対象物の画像データである、第1データ取得工程と、
前記第1原画像データに基づいて、複数の第1種部分画像データと、複数の第1種識別データと、を生成する第1データ生成工程であって、
前記複数の第1種部分画像データのそれぞれは、前記第1原画像データが表す第1原画像の互いに異なる一部を表し、
前記複数の第1種識別データのそれぞれは、前記複数の第1種部分画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1データ生成工程と、
複数組の第1種入力データセットを使用して対照学習を行うことにより、前記事前学習モデルを生成するモデル生成工程であって、
前記複数組の第1種入力データセットの各組は、前記複数の第1種部分画像データのうちの一つの第1種部分画像データと、前記一つの第1種部分画像データが表す部分画像の前記位置を表す第1種識別データと、の組み合わせである、モデル生成工程と、
を備える事前学習方法。
【請求項5】
請求項4に記載の事前学習方法であって、
前記第1原画像データに基づいて、複数の第1種拡張画像データと、複数の第1種拡張識別データと、を生成する第1種拡張データ生成工程であって、
前記複数の第1種拡張画像データのそれぞれは、前記第1対象物について前記第1種部分画像データが表す部分画像の範囲と少なくとも一部が重なる前記第1対象物の範囲を表し、前記第1種部分画像データとは異なるデータであり、
前記複数の第1種拡張識別データのそれぞれは、前記複数の第1種拡張画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1種拡張データ生成工程を備え、
前記モデル生成工程は、複数組の第1種拡張入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成する工程であり、
前記複数組の第1種拡張入力データセットの各組は、前記複数の第1種拡張画像データのうちの一つの第1種拡張画像データと、前記一つの第1種拡張画像データが表す部分画像の前記位置を表す第1種拡張識別データと、の組み合わせである、事前学習方法。
【請求項6】
請求項4または5に記載の事前学習方法であって、
第2原画像データを取得する第2データ取得工程であって、
前記第2原画像データは、前記第1対象物とは別の第2対象物であって前記第1対象物と同一または類似の構成を有する第2対象物の画像データである、第2データ取得工程と、
前記第2原画像データに基づいて、複数の第2種部分画像データと、複数の第2種識別データと、を生成する第2データ生成工程であって、
前記複数の第2種部分画像データのそれぞれは、前記第2原画像データが表す第2原画像の互いに異なる一部を表し、
前記複数の第2種識別データのそれぞれは、前記複数の第2種部分画像データの一つが表す部分画像の前記第2原画像における位置を表し、
前記複数の第2種識別データのそれぞれが表す前記第2原画像における位置は、前記複数の第1種識別データのそれぞれが表す前記第1原画像における位置と一致する、第2データ生成工程と、を備え、
前記モデル生成工程は、複数組の第2種入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成する工程であり、
前記複数組の第2種入力データセットの各組は、前記複数の第2種部分画像データのうちの一つの第2種部分画像データと、前記一つの第2種部分画像データが表す部分画像の前記位置を表す第2種識別データと、の組み合わせである、事前学習方法。
【請求項7】
コンピューターを使用して、画像データを入力されて特徴ベクトルを出力する事前学習モデルを生成させるコンピュータープログラムであって、
第1原画像データを取得する第1データ取得機能であって、
第1原画像データは、互いに類似する複数のパターンを含む第1対象物の画像データである、第1データ取得機能と、
前記第1原画像データに基づいて、複数の第1種部分画像データと、複数の第1種識別データと、を生成する第1データ生成機能であって、
前記複数の第1種部分画像データのそれぞれは、前記第1原画像データが表す第1原画像の互いに異なる一部を表し、
前記複数の第1種識別データのそれぞれは、前記複数の第1種部分画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1データ生成機能と、
複数組の第1種入力データセットを使用して対照学習を行うことにより、前記事前学習モデルを生成するモデル生成機能であって、
前記複数組の第1種入力データセットの各組は、前記複数の第1種部分画像データのうちの一つの第1種部分画像データと、前記一つの第1種部分画像データが表す部分画像の前記位置を表す第1種識別データと、の組み合わせである、モデル生成機能と、
を前記コンピューターに実現させる、コンピュータープログラム。
【請求項8】
請求項7に記載のコンピュータープログラムであって、
前記第1原画像データに基づいて、複数の第1種拡張画像データと、複数の第1種拡張識別データと、を生成する第1種拡張データ生成機能であって、
前記複数の第1種拡張画像データのそれぞれは、前記第1対象物について前記第1種部分画像データが表す部分画像の範囲と少なくとも一部が重なる前記第1対象物の範囲を表し、前記第1種部分画像データとは異なるデータであり、
前記複数の第1種拡張識別データのそれぞれは、前記複数の第1種拡張画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1種拡張データ生成機能を前記コンピューターに実現させ、
前記モデル生成機能は、複数組の第1種拡張入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成する機能であり、
前記複数組の第1種拡張入力データセットの各組は、前記複数の第1種拡張画像データのうちの一つの第1種拡張画像データと、前記一つの第1種拡張画像データが表す部分画像の前記位置を表す第1種拡張識別データと、の組み合わせである、コンピュータープログラム。
【請求項9】
請求項7または8に記載のコンピュータープログラムであって、
第2原画像データを取得する第2データ取得機能であって、
前記第2原画像データは、前記第1対象物とは別の第2対象物であって前記第1対象物と同一または類似の構成を有する第2対象物の画像データである、第2データ取得機能と、
前記第2原画像データに基づいて、複数の第2種部分画像データと、複数の第2種識別データと、を生成する第2データ生成機能であって、
前記複数の第2種部分画像データのそれぞれは、前記第2原画像データが表す第2原画像の互いに異なる一部を表し、
前記複数の第2種識別データのそれぞれは、前記複数の第2種部分画像データの一つが表す部分画像の前記第2原画像における位置を表し、
前記複数の第2種識別データのそれぞれが表す前記第2原画像における位置は、前記複数の第1種識別データのそれぞれが表す前記第1原画像における位置と一致する、第2データ生成機能と、を前記コンピューターに実現させ、
前記モデル生成機能は、複数組の第2種入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成する機能であり、
前記複数組の第2種入力データセットの各組は、前記複数の第2種部分画像データのうちの一つの第2種部分画像データと、前記一つの第2種部分画像データが表す部分画像の前記位置を表す第2種識別データと、の組み合わせである、コンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、事前学習装置、事前学習方法、およびコンピュータープログラムに関する。
【背景技術】
【0002】
従来、製品の検査において、製品の画像を事前学習させた機械学習モデルが使用されている。その機械学習モデルは、製品の画像を入力されて、製品の「良」または「不良」の判別結果を出力する。しかし、求められる判別精度を達成できるように、モデルに教師あり学習を行わせるためには、「良」または「不良」のラベルが付された膨大な数の画像データが必要となる。
【0003】
この問題を解決する技術として、ラベル付きのデータを用意することなく高い精度のモデルを実現できる、自己教師あり学習(Self-supervised Learning:SSL)が存在する。対照学習(Contrastive Learning)は、自己教師あり学習の一種である。「対照学習」は、入力されるデータ同士を比較する仕組みを用いて、入力されるデータにラベル付けを行うことなく、データをそのまま学習できる学習である。
【0004】
非特許文献1においては、そのような対照学習として、SimSiamが言及されている。非特許文献1の技術においては、同じ重みパラメーターを持つ一対の特徴抽出モデルが配置される。それぞれの特徴抽出モデルは、画像を入力されて、特徴ベクトルを出力する。教師なし画像に対して拡張を施して得られた複数の画像が、それら一対の特徴抽出モデルに与えられ、それぞれの特徴抽出モデルの出力が互いに近づくように、特徴抽出モデルが学習される。その後、特徴抽出モデルが出力する特徴ベクトルを入力されて判別結果を出力する判別器が、少数の教師あり画像で学習される。事前学習されたそれらの特徴抽出モデルと判別器とを組み合わせることにより、高い精度による画像の判別が可能なモデルが、実現される。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Xinlei Chen, Kaiming He, Facebook AI Research. Exploring Simple Siamese Representation Learning. arXiv preprint arXiv:2011.10566, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0006】
製品全体の寸法に対して、不良が表れている部位の寸法が非常に小さい製品が存在する。そのような製品について、製品全体を表す精細な画像を学習させると、学習にかかるコストが大きくなる。一方で、製品全体を表す画像であってより画素数の少ない画像を用意すると、不良が表れている部位の形状が画像上で正確に表されなくなってしまう。そのような画像で学習した学習済みモデルのいては、良/不良の判定精度が低下する。このため、本開示の技術の発明者らは、製品全体を表す精細な画像を分割して生成された画像を使用して学習させることを、検討した。
【0007】
一方、たとえば回路基板など、互いに類似する複数のパターンを含む対象物について、そのような処理を行うと、異なる部位から切り出された画像が互いに類似することとなる。しかし、非特許文献1に記載されたモデルにおいては、互いに類似する複数のパターンを含む対象物の画像を分割して得られる画像を分類することは、想定されていない。このため、非特許文献1の技術においては、対象物上の異なる位置に存在する互いに類似するパターンが同じ特徴を有する場合には、一対の特徴抽出モデルが同じ特徴ベクトルを出力するように、学習が行われると、本開示の技術の発明者らは予想した。
【0008】
しかし、たとえば回路基板などの検査においては、ある場所にあるパターンについては、ある特徴を有する場合に不良に分類されるべきであり、一方で、別の場所にある類似のパターンについては、それと同じ特徴を有する場合であっても不良に分類されるべきではない、ということがあり得る。このため、互いに類似する複数のパターンを含む対象物の一部を表す画像について、その一部の場所の相違を反映した適切な特徴ベクトルを出力できる特徴抽出モデルを生成できる学習が、求められている。
【課題を解決するための手段】
【0009】
本開示は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
【0010】
本開示の一形態によれば、画像データを入力されて特徴ベクトルを出力する事前学習モデルを生成する事前学習装置が提供される。この事前学習装置は、第1原画像データを取得する第1データ取得部であって、第1原画像データは、互いに類似する複数のパターンを含む第1対象物の画像データである、第1データ取得部と、前記第1原画像データに基づいて、複数の第1種部分画像データと、複数の第1種識別データと、を生成する第1データ生成部であって、前記複数の第1種部分画像データのそれぞれは、前記第1原画像データが表す第1原画像の互いに異なる一部を表し、前記複数の第1種識別データのそれぞれは、前記複数の第1種部分画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1データ生成部と、複数組の第1種入力データセットを使用して対照学習を行うことにより、前記事前学習モデルを生成するモデル生成部であって、前記複数組の第1種入力データセットの各組は、前記複数の第1種部分画像データのうちの一つの第1種部分画像データと、前記一つの第1種部分画像データが表す部分画像の前記位置を表す第1種識別データと、の組み合わせである、モデル生成部と、を備える。
【図面の簡単な説明】
【0011】
【
図1】第1実施形態の事前学習装置1を示すブロック図である。
【
図2】画像データを入力されて特徴ベクトルを出力する事前学習モデルを生成する処理を示すフローチャートである。
【
図3】回路基板CB1を表す第1原画像データIm1と、第1種部分画像データIp11,Ip22と、を示す説明図である。
【
図4】ステップS300におけるモデルの対照学習を示すブロック図である。
【
図5】回路基板の画像を入力されて、良品または不良品の判別を行う判別モデルIDMの構成を示すブロック図である。
【
図6】第2実施形態の事前学習装置1Aを示すブロック図である。
【
図7】第1種部分画像データIp11と、第1種拡張画像データIpa11と、の関係を示す説明図である。
【
図8】第3実施形態の事前学習装置1Bを示すブロック図である。
【
図9】第1種部分画像データIp11と、第2種部分画像データIp21と、の関係を示す説明図である。
【発明を実施するための形態】
【0012】
A.第1実施形態:
図1は、第1実施形態の事前学習装置1を示すブロック図である。事前学習装置1は、画像データを入力されて特徴ベクトルを出力する事前学習モデルを生成する。事前学習装置1は、具体的な構成として、プロセッサーであるCPU10と、RAM20と、ROM30と、を備えている。RAM20は、半導体メモリーであるメインメモリーと、補助記憶装置であるハードディスクとを含む。ハードディスクには、オペレーティングシステム、アプリケーションプログラム等が格納されている。CPU10は、ハードディスクに記憶されたコンピュータープログラムを、メインメモリーにロードして実行することによって、後述する各種の機能を実現する。
【0013】
事前学習装置1は、さらに、入力機器60と、出力機器70と、を備える。入力機器60は、事前学習装置1に情報を入力する機器である。入力機器60は、具体的には、キーボード、マウス、および図示しない通信インターフェイスである。出力機器70は、事前学習装置1が有する情報を出力する機器である。出力機器70は、具体的には、液晶ディスプレイ、および図示しない通信インターフェイスである。事前学習装置1は、それら通信インターフェイスおよび通信回線を通じて、他の機器とデータのやりとりを行うことができる。
【0014】
図2は、事前学習モデルを生成する処理を示すフローチャートである。
図2の処理の結果、画像データを入力されて特徴ベクトルを出力する事前学習モデルが生成される。
図2の処理は、事前学習装置1のCPU10によって実行される。
【0015】
ステップS100においては、特徴抽出モデルの学習に使用される画像データが取得される。画像データは、通信回線および通信インターフェイスを介して、他の機器から取得される。画像データは、たとえばデジタルスチルカメラなどの、画像データを生成する画像生成機器から取得されてもよいし、たとえば、画像サーバーなどの、画像データを蓄積している機器から取得されてもよい。
【0016】
第1実施形態においては、第1原画像データIm1が取得される(
図1の左部参照)。第1原画像データIm1は、互いに類似する複数のパターンを含む第1対象物CB1の画像データである。より具体的には、第1原画像データIm1は、第1対象物CB1としての回路基板を撮影して得られた画像である。第1原画像データIm1が取得される処理を、
図2においてステップS110として示す。ステップS110の機能を実現するCPU10の機能部を、
図1において、第1データ取得部110として示す。ステップS100の機能を実現するCPU10の機能部を、
図1において、データ取得部100として示す。
【0017】
ステップS200においては、ステップS100で取得された画像データに基づいて、複数の部分画像データと、複数の識別データと、が生成される。ステップS200は、ステップS210を含む。
【0018】
ステップS210においては、第1原画像データIm1に基づいて、複数の第1種部分画像データIp11,Ip22,・・が生成される。
【0019】
図3は、回路基板CB1を表す第1原画像データIm1と、第1種部分画像データIp11,Ip22と、を示す説明図である。複数の第1種部分画像データIp11,Ip22,・・のそれぞれは、第1原画像データIm1が表す第1原画像の互いに異なる一部を表す。なお、
図3の例において、第1種部分画像データIp11が表す部分画像の範囲と、第1種部分画像データIp22が表す部分画像の範囲とは、互いに重複していない。しかし、「画像の互いに異なる一部」は、互いにさらにその一部が重複してもよい。
図3では、2個の第1種部分画像データIp11,Ip22が示されている。しかし、ステップS210においては、より多くの第1種部分画像データが生成される。複数の第1種部分画像データIp11,Ip22,・・が生成される処理を、
図2においてステップS212として示す。
【0020】
複数の第1種識別データPp11,Pp22,・・のそれぞれは、複数の第1種部分画像データIp11,Ip22,・・の一つが表す部分画像の第1原画像における位置を表す。
図3において、2個の第1種識別データPp11,Pp22がそれぞれ表す位置を、点で示す。第1種識別データPp11,Pp22,・・がそれぞれ表す位置は、第1原画像における、第1種部分画像データIp11,Ip22,・・が表す部分画像の中心の位置である。複数の第1種識別データPp11,Pp22,・・が生成される処理を、
図2においてステップS214として示す。ステップS210において第1種部分画像データを生成する機能を実現するCPU10の機能部を、
図1において、第1データ生成部210として示す。
【0021】
ステップS200においては、複数の第1種部分画像データIp11,Ip22,・・のうちの一つの第1種部分画像データIp1x(x=1,2,・・)と、一つの第1種部分画像データIp1xが表す部分画像の位置を表す第1種識別データPp1x(x=1,2,・・)とが、互いに組み合わせられる。第1種部分画像データIp1xと、第1種部分画像データIp1xが表す部分画像の位置を表す第1種識別データPp1xと、の組み合わせを、第1種入力データセットDi1x(x=1,2,・・)と呼ぶ。第1種部分画像データIp1xと、第1種識別データPp1xと、を組み合わせる機能を実現するCPU10の機能部を、
図1において、位置情報付与部260として示す。
【0022】
ステップS300においては、複数組の第1種入力データセットDi11,Di12,・・を使用して対照学習が行われることにより、事前学習モデルが生成される。複数組の第1種入力データセットDi11,Di12,・・の各組は、複数の第1種部分画像データIp11,Ip22,・・のうちの一つの第1種部分画像データIp1x(x=1,2,・・)と、一つの第1種部分画像データIp1xが表す部分画像の位置を表す第1種識別データPp1xと、の組み合わせである。
【0023】
図4は、ステップS300におけるモデルの対照学習を示すブロック図である。
図4では、第1種部分画像データIp11と第1種識別データPp11の組み合わせである第1種入力データセットDi11を例に、処理が示されている(
図4の下段中央部参照)。
【0024】
まず、ステップS212で用意された第1種部分画像データIp11に対して、事前拡張処理が行われ、第1種部分変換データIp11cが生成される(
図4の中段右部参照)。事前拡張処理は、画像を歪ませる処理、画像を回転させる処理、画像を反転させる処理、画像の色調を変化させる処理のいずれか、または2以上の組み合わせである。それぞれの第1種部分画像データに対して実行される事前拡張処理の内容は、確率的に決定される。
【0025】
第1種部分画像データIp11と、第1種部分変換データIp11cとは、それぞれエンコーダーEn1,En2に入力される(
図4の中段参照)。エンコーダーEn1,En2は、互いに同一の構成を有し、対応する内部パラメーターが互いに異なる値を取り得るエンコーダーである。エンコーダーEn1,En2は、部分画像を表す画像データを入力されて、部分画像の特徴ベクトルと、部分画像の位置を表す識別データの予測値と、を出力するエンコーダーである。
図4において、エンコーダーEn1の出力である特徴ベクトルをz1として示す。エンコーダーEn1の出力である識別データの予測値をPa1_predとして示す。エンコーダーEn2の出力である特徴ベクトルをz2として示す。エンコーダーEn2の出力である識別データの予測値をPa2_predとして示す。
【0026】
エンコーダーEn1の出力である特徴ベクトルをz1は、さらに、予測器PRに入力される(
図4の上段左部参照)。予測器PRは、全結合層で構成されたニューラルネットワークである。
図4において、予測器PRの出力であるベクトルをp1として示す。
【0027】
エンコーダーEn1の出力とエンコーダーEn2の出力の類似度が評価される(
図4の上段中央部参照)。まず、予測器PRの出力であるベクトルp1と、エンコーダーEn2の出力である特徴ベクトルをz2と、の類似度D(p1,z2)が算出される。類似度D(p1,z2)の算出には、以下の式(1)が使用される。類似度D(p1,z2)は、コサイン類似度である。
【0028】
【0029】
技術の理解を容易にするため図示しないが、モデル生成部300においては、
図4の上段に示した構成とは逆に、エンコーダーEn1の下流に予測器PRが配されず、エンコーダーEn2の下流に予測器PRが配された態様が用意される。そして、エンコーダーEn2の出力である特徴ベクトルをz2が、さらに、予測器PRに入力される。エンコーダーEn2の出力である特徴ベクトルz2を入力された予測器PRの出力であるベクトルをp2とする。
【0030】
予測器PRの出力であるベクトルp2と、エンコーダーEn1の出力である特徴ベクトルをz1と、の類似度D(p2,z1)が算出される。類似度D(p2,z1)の算出には、上記の式(1)において、p1をp2に置き換え、z2をz1に置き換えた式が使用される。
【0031】
そして、それら出力ベクトルの類似度の平均L1が計算される。L1は、各エンコーダーの出力ベクトルの類似度を表す。
【数2】
【0032】
一方、エンコーダーEn1の出力である識別データの予測値をPa1_predと、エンコーダーEn2の出力である識別データの予測値をPa2_predと、の予測のずれの和L2が、以下の式(3)を使用して、計算される。
【数3】
Pa1およびPa2は、
図4の例におけるPp11である。
Pa1_predは、
図4の例におけるエンコーダーEn1によるPp11の予測値である。
Pa2_predは、
図4の例におけるエンコーダーEn2によるPp11の予測値である。
【0033】
そして、以下の式(4)を使用して、損失関数Lが計算される。
【数4】
λ1,λ2は、重みである。
【0034】
ステップS300においては、上記の損失関数Lが最小となるように、学習が行われる。ただし、エンコーダーEn2に対しては、勾配停止の処理が行われる。
【0035】
ステップS300においては、以上で説明した処理にしたがって、複数組の第1種入力データセットDi11,Di12,・・を使用して対照学習が行われることにより、エンコーダーの学習が行われる。そして、ステップS300の処理後、学習済みモデルとして、エンコーダーEn1が取り出される。ステップS300の機能を実現するCPU10の機能部を、
図1において、モデル生成部300として示す。
【0036】
図5は、回路基板の画像を入力されて、良品または不良品の判別を行う判別モデルIDMの構成を示すブロック図である。判別モデルIDMは、学習済みモデルLMと、識別器DMとを備える。学習済みモデルLMは、
図2の処理で学習されたエンコーダーEn1である(
図4参照)。学習済みモデルLMは、回路基板の画像データImを入力されて、特徴ベクトルzを出力する。識別器DMは、特徴ベクトルzを入力されて、良品または不良品の判別結果を出力する。
図5の右部において、特徴ベクトルzを2次元上の点で表し、境界線を挟んで、識別器DMによって判定された良品の集合Ggと不良品の集合Gngとを示す。
【0037】
識別器DMは、あらかじめ、学習済みモデルLMと組み合わされ、少量のラベル付き画像データを使用して、学習される。その結果、判別モデルIDMは、回路基板の画像を入力されて、良品または不良品の判別を高精度に行うことができるようになる。
【0038】
第1実施形態の事前学習装置1によれば、良/不良のラベル付きの画像データを用意することなく、互いに類似する複数のパターンを含む回路基板の一部を表す部分画像について、その一部の対象物上における場所の相違を反映した適切な特徴ベクトルを出力できる事前学習モデルLMを生成できる。生成された事前学習モデルLMは、回路基板上の異なる位置に存在する互いに類似した構成について、それぞれの位置を反映した特徴ベクトルを出力できる(
図3および
図5参照)。
【0039】
B.第2実施形態:
図6は、第2実施形態の事前学習装置1Aを示すブロック図である。第2実施形態の事前学習装置1AのCPU10Aは、機能部として、第1拡張データ生成部210aを備える(
図6の上段中央部参照)。第2実施形態においては、第1種入力データセットに加えて、第1種拡張入力データセットが生成され、特徴抽出モデルの学習に使用される。第2実施形態の事前学習装置1Aの他の点は、第1実施形態の事前学習装置1と同じである(
図1参照)。以下で、第2実施形態における処理のうち、第1実施形態における処理とは異なる点を、
図2を使用して説明する。
【0040】
第2実施形態において、ステップS200は、ステップS210に加えてステップS210aを含む。
図2において、ステップS210aを破線で示す。
【0041】
ステップS210aにおいては、第1原画像データIm1に基づいて、複数の第1種拡張画像データIpa11,Ipa12,・・と、複数の第1種拡張識別データPpa11,Ppa12,・・と、が生成される。
【0042】
図7は、第1種部分画像データIp11と、第1種拡張画像データIpa11と、の関係を示す説明図である。複数の第1種拡張画像データIpa11,Ipa12,・・のそれぞれは、第1対象物CB1について第1種部分画像データIp1x(x=1,2,・・)が表す部分画像の範囲と一部が重なる第1対象物CB1の範囲を表し、第1種部分画像データIp1xとは異なるデータである。
図7に示す例においては、第1種拡張画像データIpa11は、第1対象物CB1について第1種部分画像データIp11が表す部分画像の範囲に対して、右下にずれており一部が重なる範囲を表す画像データである。複数の第1種拡張画像データIpa11,Ipa12,・・が生成される処理を、
図2においてステップS212aとして、破線で示す。
【0043】
複数の第1種拡張識別データPpa11,Ppa12,・・のそれぞれは、複数の第1種拡張画像データIpa11,Ipa12,・・の一つが表す部分画像の第1原画像における位置を表す。
図7において、第1種識別データPp11と第1種拡張画像データIpa11がそれぞれ表す位置を、点で示す。複数の第1種拡張識別データPpa11,Ppa12,・・のそれぞれが表す位置は、第1原画像における、複数の第1種拡張画像データIpa11,Ipa12,・・が表す部分画像の中心の位置である。複数の第1種拡張識別データPpa11,Ppa12,・・が生成される処理を、
図2においてステップS214aとして、破線で示す。ステップS210aの機能を実現するCPU10の機能部を、
図6において、第1拡張データ生成部210aとして示す。
【0044】
第2実施形態のステップS200においては、複数の第1種拡張画像データIpa11,Ipa12,・・のうちの一つの第1種拡張画像データIpa1x(x=1,2,・・)と、一つの第1種拡張画像データIpa1xが表す部分画像の位置を表す第1種拡張識別データPpa1xとが、互いに組み合わせられる。第1種拡張画像データIpa1xと、第1種拡張画像データIpa1xが表す部分画像の位置を表す第1種拡張識別データPpa1xと、の組み合わせを、第1種拡張入力データセットDia1x(x=1,2,・・)と呼ぶ(
図6の上段右部参照)。第1種拡張画像データIpa1xと、第1種拡張識別データPpa1xと、を組み合わせる機能を実現するCPU10Aの機能部は、位置情報付与部260である。第2実施形態において、ステップS200の機能を実現するCPU10Aの機能部を、
図6において、データ生成部200Aとして示す。なお、第2実施形態において、第1実施形態の構成に対応する構成は、第1実施形態のその構成を表す符号の末尾に「A」を付して示す。
【0045】
ステップS300においては、複数組の第1種入力データセットDi11,Di12,・・に加えて、複数組の第1種拡張入力データセットDia11,Dia12,・・が使用されて対照学習が行われることにより、事前学習モデルが生成される(
図4の下段中央部のDi11参照)。
【0046】
第2実施形態においては、ステップS210aにおいて第1原画像データIm1に基づいて第1種拡張入力データセットDia11,Dia12,・・が生成されることにより、一つの原画像データIm1から、より多くの事前学習用の画像データおよび識別データが生成される(
図6の中央部参照)。このため、検査の対象である個別の対象物としての回路基板の態様が様々である場合にも安定して特徴ベクトルを出力できるモデルを、多数の原画像データを用意することなく、生成できる。
【0047】
C.第3実施形態:
図8は、第3実施形態の事前学習装置1Bを示すブロック図である。第3実施形態の事前学習装置1BのCPU10Bは、機能部として、第2データ取得部120および第2データ生成部220を備える(
図8の下段左部参照)。第3実施形態においては、第1種入力データセットに加えて、第2種入力データセットが生成され、特徴抽出モデルの学習に使用される。第3実施形態の事前学習装置1Bの他の点は、第1実施形態の事前学習装置1と同じである。以下で、第3実施形態における処理のうち、第1実施形態における処理とは異なる点を、
図2を使用して説明する。
【0048】
第3実施形態において、ステップS100は、ステップS110に加えてステップS120を含む。
図2において、ステップS120を破線で示す。
【0049】
ステップS120においては、第2原画像データIm2が取得される(
図8の下段左部参照)。第2原画像データIm2は、第1対象物CB1とは別の第2対象物CB2であって第1対象物CB1と同一の構成を有する第2対象物CB2の画像データである。より具体的には、第2原画像データIm2は、第1対象物CB1の回路基板とは別の回路基板であって第1対象物CB1の回路基板と同一の構成を有する回路基板を撮影して得られた画像である。ステップS120の機能を実現するCPU10Bの機能部を、
図8において、第2データ取得部120として示す。第3実施形態において、ステップS100の機能を実現するCPU10Bの機能部を、
図8において、データ取得部100Bとして示す。なお、第3実施形態において、第1実施形態の構成に対応する構成は、第1実施形態のその構成を表す符号の末尾に「B」を付して示す。
【0050】
第3実施形態において、ステップS200は、ステップS210に加えてステップS220を含む。
図2において、ステップS220を破線で示す。
【0051】
ステップS220においては、第2原画像データIm2に基づいて、複数の第2種部分画像データIp21,Ip22,・・と、複数の第2種識別データPp21,Pp22,・・と、が生成される。
【0052】
図9は、第1種部分画像データIp11と、第2種部分画像データIp21と、の関係を示す説明図である。複数の第2種部分画像データIp21,Ip22,・・のそれぞれは、第2原画像データIm2が表す第2原画像の互いに異なる一部を表す。第2原画像において複数の第2種部分画像データIp21,Ip22,・・のそれぞれが表す範囲は、第1原画像において複数の第1種識別データPp11,Pp22,・・のそれぞれが表す範囲と一致する。複数の第2種部分画像データIp21,Ip22,・・が生成される処理を、
図2においてステップS222として、破線で示す。
【0053】
複数の第2種識別データPp21,Pp22,・・のそれぞれは、複数の第2種部分画像データIp21,Ip22,・・の一つが表す部分画像の第2原画像における位置を表す。
図9において、第1種識別データPp11と第2種識別データPp21がそれぞれ表す位置を、点で示す。複数の第2種識別データPp21,Pp22,・・のそれぞれが表す第2原画像における位置は、複数の第1種識別データPp11,Pp22,・・のそれぞれが表す第1原画像における位置と一致する。
図9の例では、第2種識別データPp21が表す第2原画像における位置は、第1種識別データPp11が表す第1原画像における位置と一致する。複数の第2種識別データPp21,Pp22,・・が生成される処理を、
図2においてステップS224として、破線で示す。ステップS220の機能を実現するCPU10Bの機能部を、
図8において、第2データ生成部220として示す。
【0054】
第3実施形態のステップS200においては、複数の第2種部分画像データIp21,Ip22,・・のうちの一つの第2種部分画像データIp2x(x=1,2,・・)と、一つの第2種部分画像データIp2xが表す部分画像の位置を表す第2種識別データPp2xとが、互いに組み合わせられる。第2種部分画像データIp2xと、第2種部分画像データIp2xが表す部分画像の位置を表す第2種識別データPp2xと、の組み合わせを、第2種入力データセットDi2x(x=1,2,・・)と呼ぶ(
図8の下段右部参照)。第2種部分画像データIp2xと、第2種識別データPp2xと、を組み合わせる機能を実現するCPU10Bの機能部は、位置情報付与部260である。第3実施形態において、ステップS200の機能を実現するCPU10Bの機能部を、
図8において、データ生成部200Bとして示す。
【0055】
ステップS300においては、複数組の第1種入力データセットDi11,Di12,・・に加えて、複数組の第2種入力データセットDi21,Di22,・・が使用されて対照学習が行われることにより、事前学習モデルが生成される(
図4の下段中央部のDi11参照)。
【0056】
第3実施形態においては、ステップS220において、第2原画像データIm2に基づいて第2種入力データセットDi21,Di22,・・が生成されることにより、より多くの事前学習用の画像データおよび識別データが生成される(
図8の下段左部参照)。このため、複数の実際の対象物CB1,CB2から得られたより多くの画像データに基づいて、個別の対象物の実際の態様のばらつきに対して安定して特徴ベクトルを出力できるモデルを、生成できる。
【0057】
D.他の実施形態:
(1)上記実施形態において、第1種識別データPp11,Pp22,・・がそれぞれ表す位置は、第1原画像における、第1種部分画像データIp11,Ip22,・・が表す部分画像の中心の位置である(
図3参照)。しかし、第1種識別データが表す位置は、たとえば、第1種部分画像データが表す長方形の範囲の右下または左上の角の位置であってもよく、あらかじめ定められた基準により第1種部分画像データが表す範囲に基づいて定められる位置であればよい。第1種拡張画像データ、および第2種識別データが表す位置についても同様である。
【0058】
(2)上記第2実施形態においては、複数の第1種拡張画像データIpa11,Ipa12,・・のそれぞれは、第1対象物CB1について第1種部分画像データIp1x(x=1,2,・・)が表す部分画像の範囲と一部が重なる第1対象物CB1の範囲を表すデータである(
図7参照)。しかし、複数の第1種拡張画像データのそれぞれは、第1対象物について第1種部分画像データが表す部分画像の範囲と全部が重なる第1対象物の範囲を表し、第1種部分画像データとは異なるデータであってもよい。そのような部分画像データは、第1種拡張画像データに対して、画像を歪ませる処理、画像を回転させる処理、画像を反転させる処理、画像の色調を変化させる処理のいずれか、または2以上の組み合わせを経た画像データとすることができる。そのようにして得られる第1種拡張画像データが表す部分画像の位置は、第1種部分画像データと対応する第1種識別データが表す位置と同じである。
【0059】
また、複数の第1種拡張画像データは、上記第2実施形態における複数の第1種拡張画像データIpa11,Ipa12,・・に対して、さらに、画像を歪ませる処理、画像を回転させる処理、画像を反転させる処理、画像の色調を変化させる処理のいずれか、または2以上の組み合わせを経た画像データとすることもできる。そのようにして得られる第1種拡張画像データが表す部分画像の位置は、上記第1実施形態における複数の第1種拡張画像データIpa11,Ipa12,・・と対応する第1種識別データが表す位置と同じである。
【0060】
(3)上記第3実施形態において、第2原画像データIm2は、第1対象物CB1の回路基板とは別の回路基板であって第1対象物CB1の回路基板と同一の構成を有する回路基板を撮影して得られた画像である。しかし、第2原画像データは、第1対象物とは別の第2対象物であって第1対象物と同一ではなく類似の構成を有する第2対象物の画像データであってもよい。
【0061】
(4)上記第2実施形態のステップS300においては、複数組の第1種入力データセットDi11,Di12,・・と、複数組の第1種拡張入力データセットDia11,Dia12,・・と、を使用して対照学習が行われることにより、事前学習モデルが生成される(
図6の右部参照)。上記第3実施形態のステップS300においては、複数組の第1種入力データセットDi11,Di12,・・と、複数組の第2種入力データセットDi21,Di22,・・と、を使用して、対照学習が行われることにより、事前学習モデルが生成される(
図8の右部参照)。
【0062】
しかし、複数組の第1種入力データセットDi11,Di12,・・と、複数組の第1種拡張入力データセットDia11,Dia12,・・と、複数組の第2種入力データセットDi21,Di22,・・と、を使用して対照学習が行われてもよい。
【0063】
(5)上記実施形態において、判別モデルIDMは、回路基板の画像を入力されて、良品または不良品の判別を行う(
図5参照)。しかし、判別モデルIDMは、回路基板の一部の範囲の画像を入力されて、良品または不良品の判別を行うものであってもよい。
【0064】
(6)上記第1実施形態においては、第1種部分画像データIp1xと、第1種部分画像データIp1x(x=1,2,・・)が表す部分画像の位置を表す第1種識別データPp1xと、の組み合わせである、第1種入力データセットDi1x(x=1,2,・・)が生成され、学習に使用される(
図1の中段右部参照)。しかし、たとえば以下のような方法で、学習に使用されるデータが用意されてもよい。すなわち、第1種部分画像データIp1x(x=1,2,・・)をベクトル化し、さらにの第1種部分画像データIp1xが表す部分画像の位置の情報を埋め込んで、学習用のデータが生成されてもよい。
【0065】
(7)上記実施形態において、第1原画像データIm1は、第1対象物CB1としての回路基板を撮影して得られた画像である。しかし、検査の対象である対象物は、回路気宇版に限らず、複数のチップが形成され得る半導体ウエハーや、印刷物など、他の物であってもよい。
【0066】
(8)上記実施形態においては、第1種部分画像データIp11と、第1種部分変換データIp11cとは、それぞれエンコーダーEn1,En2に入力される(
図4の中段参照)。エンコーダーEn1,En2は、互いに同一の構成を有し、対応する内部パラメーターが互いに異なる値を取り得るエンコーダーである。しかし、第1種部分画像データIp11と、第1種部分変換データIp11cとが3以上のエンコーダーに入力され、学習が行われる態様とすることもできる。また、2以上のエンコーダーは、実際には一つのエンコーダーについて、複数組の代替的な内部パラメーターを持たせることで実現してもよい。
【0067】
E.他の形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0068】
(1)本開示の一形態によれば、画像データを入力されて特徴ベクトルを出力する事前学習モデルを生成する事前学習装置が提供される。この事前学習装置は、第1原画像データを取得する第1データ取得部であって、第1原画像データは、互いに類似する複数のパターンを含む第1対象物の画像データである、第1データ取得部と、前記第1原画像データに基づいて、複数の第1種部分画像データと、複数の第1種識別データと、を生成する第1データ生成部であって、前記複数の第1種部分画像データのそれぞれは、前記第1原画像データが表す第1原画像の互いに異なる一部を表し、前記複数の第1種識別データのそれぞれは、前記複数の第1種部分画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1データ生成部と、複数組の第1種入力データセットを使用して対照学習を行うことにより、前記事前学習モデルを生成するモデル生成部であって、前記複数組の第1種入力データセットの各組は、前記複数の第1種部分画像データのうちの一つの第1種部分画像データと、前記一つの第1種部分画像データが表す部分画像の前記位置を表す第1種識別データと、の組み合わせである、モデル生成部と、を備える。
このような態様とすることにより、ラベル付きの画像データを用意することなく、互いに類似する複数のパターンを含む対象物の一部を表す画像について、その一部の対象物上における場所の相違を反映した適切な特徴ベクトルを出力できる事前学習モデルを生成できる。
【0069】
(2)上記形態の事前学習装置において、前記第1原画像データに基づいて、複数の第1種拡張画像データと、複数の第1種拡張識別データと、を生成する第1種拡張データ生成部であって、前記複数の第1種拡張画像データのそれぞれは、前記第1対象物について前記第1種部分画像データが表す部分画像の範囲と少なくとも一部が重なる前記第1対象物の範囲を表し、前記第1種部分画像データとは異なるデータであり、前記複数の第1種拡張識別データのそれぞれは、前記複数の第1種拡張画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1種拡張データ生成部を備え、前記モデル生成部は、複数組の第1種拡張入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成し、前記複数組の第1種拡張入力データセットの各組は、前記複数の第1種拡張画像データのうちの一つの第1種拡張画像データと、前記一つの第1種拡張画像データが表す部分画像の前記位置を表す第1種拡張識別データと、の組み合わせである、態様とすることもできる。
このような態様とすることにより、個別の対象物の態様が様々である場合にも安定して特徴ベクトルを出力できるモデルを、多数の原画像データを用意することなく、生成できる。
【0070】
(3)上記形態の事前学習装置において、第2原画像データを取得する第2データ取得部であって、前記第2原画像データは、前記第1対象物とは別の第2対象物であって前記第1対象物と同一または類似の構成を有する第2対象物の画像データである、第2データ取得部と、前記第2原画像データに基づいて、複数の第2種部分画像データと、複数の第2種識別データと、を生成する第2データ生成部であって、前記複数の第2種部分画像データのそれぞれは、前記第2原画像データが表す第2原画像の互いに異なる一部を表し、前記複数の第2種識別データのそれぞれは、前記複数の第2種部分画像データの一つが表す部分画像の前記第2原画像における位置を表し、前記複数の第2種識別データのそれぞれが表す前記第2原画像における位置は、前記複数の第1種識別データのそれぞれが表す前記第1原画像における位置と一致する、第2データ生成部と、を備え、前記モデル生成部は、複数組の第2種入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成し、前記複数組の第2種入力データセットの各組は、前記複数の第2種部分画像データのうちの一つの第2種部分画像データと、前記一つの第2種部分画像データが表す部分画像の前記位置を表す第2種識別データと、の組み合わせである、態様とすることもできる。
このような態様とすることにより、複数の実際の対象物から得られたより多くの画像データに基づいて、個別の対象物の実際の態様のばらつきに対して安定して特徴ベクトルを出力できるモデルを、生成できる。
【0071】
(4)本開示の他の形態によれば、画像データを入力されて特徴ベクトルを出力する事前学習モデルを生成する事前学習方法が提供される。この事前学習方法は、第1原画像データを取得する第1データ取得工程であって、第1原画像データは、互いに類似する複数のパターンを含む第1対象物の画像データである、第1データ取得工程と、前記第1原画像データに基づいて、複数の第1種部分画像データと、複数の第1種識別データと、を生成する第1データ生成工程であって、前記複数の第1種部分画像データのそれぞれは、前記第1原画像データが表す第1原画像の互いに異なる一部を表し、前記複数の第1種識別データのそれぞれは、前記複数の第1種部分画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1データ生成工程と、複数組の第1種入力データセットを使用して対照学習を行うことにより、前記事前学習モデルを生成するモデル生成工程であって、前記複数組の第1種入力データセットの各組は、前記複数の第1種部分画像データのうちの一つの第1種部分画像データと、前記一つの第1種部分画像データが表す部分画像の前記位置を表す第1種識別データと、の組み合わせである、モデル生成工程と、を備える。
【0072】
(5)上記形態の事前学習方法において、前記第1原画像データに基づいて、複数の第1種拡張画像データと、複数の第1種拡張識別データと、を生成する第1種拡張データ生成工程であって、前記複数の第1種拡張画像データのそれぞれは、前記第1対象物について前記第1種部分画像データが表す部分画像の範囲と少なくとも一部が重なる前記第1対象物の範囲を表し、前記第1種部分画像データとは異なるデータであり、前記複数の第1種拡張識別データのそれぞれは、前記複数の第1種拡張画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1種拡張データ生成工程を備え、前記モデル生成工程は、複数組の第1種拡張入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成する工程であり、前記複数組の第1種拡張入力データセットの各組は、前記複数の第1種拡張画像データのうちの一つの第1種拡張画像データと、前記一つの第1種拡張画像データが表す部分画像の前記位置を表す第1種拡張識別データと、の組み合わせである、態様とすることもできる。
【0073】
(6)上記形態の事前学習方法において、第2原画像データを取得する第2データ取得工程であって、前記第2原画像データは、前記第1対象物とは別の第2対象物であって前記第1対象物と同一または類似の構成を有する第2対象物の画像データである、第2データ取得工程と、前記第2原画像データに基づいて、複数の第2種部分画像データと、複数の第2種識別データと、を生成する第2データ生成工程であって、前記複数の第2種部分画像データのそれぞれは、前記第2原画像データが表す第2原画像の互いに異なる一部を表し、前記複数の第2種識別データのそれぞれは、前記複数の第2種部分画像データの一つが表す部分画像の前記第2原画像における位置を表し、前記複数の第2種識別データのそれぞれが表す前記第2原画像における位置は、前記複数の第1種識別データのそれぞれが表す前記第1原画像における位置と一致する、第2データ生成工程と、を備え、前記モデル生成工程は、複数組の第2種入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成する工程であり、前記複数組の第2種入力データセットの各組は、前記複数の第2種部分画像データのうちの一つの第2種部分画像データと、前記一つの第2種部分画像データが表す部分画像の前記位置を表す第2種識別データと、の組み合わせである、態様とすることもできる。
【0074】
(7)本開示の一形態によれば、コンピューターを使用して、画像データを入力されて特徴ベクトルを出力する事前学習モデルを生成させるコンピュータープログラムが提供される。このコンピュータープログラムは、第1原画像データを取得する第1データ取得機能であって、第1原画像データは、互いに類似する複数のパターンを含む第1対象物の画像データである、第1データ取得機能と、前記第1原画像データに基づいて、複数の第1種部分画像データと、複数の第1種識別データと、を生成する第1データ生成機能であって、前記複数の第1種部分画像データのそれぞれは、前記第1原画像データが表す第1原画像の互いに異なる一部を表し、前記複数の第1種識別データのそれぞれは、前記複数の第1種部分画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1データ生成機能と、複数組の第1種入力データセットを使用して対照学習を行うことにより、前記事前学習モデルを生成するモデル生成機能であって、前記複数組の第1種入力データセットの各組は、前記複数の第1種部分画像データのうちの一つの第1種部分画像データと、前記一つの第1種部分画像データが表す部分画像の前記位置を表す第1種識別データと、の組み合わせである、モデル生成機能と、を前記コンピューターに実現させる。
【0075】
(8)上記形態のコンピュータープログラムにおいて、前記第1原画像データに基づいて、複数の第1種拡張画像データと、複数の第1種拡張識別データと、を生成する第1種拡張データ生成機能であって、前記複数の第1種拡張画像データのそれぞれは、前記第1対象物について前記第1種部分画像データが表す部分画像の範囲と少なくとも一部が重なる前記第1対象物の範囲を表し、前記第1種部分画像データとは異なるデータであり、前記複数の第1種拡張識別データのそれぞれは、前記複数の第1種拡張画像データの一つが表す部分画像の前記第1原画像における位置を表す、第1種拡張データ生成機能を前記コンピューターに実現させ、前記モデル生成機能は、複数組の第1種拡張入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成する機能であり、前記複数組の第1種拡張入力データセットの各組は、前記複数の第1種拡張画像データのうちの一つの第1種拡張画像データと、前記一つの第1種拡張画像データが表す部分画像の前記位置を表す第1種拡張識別データと、の組み合わせである、態様とすることもできる。
【0076】
(9)上記形態のコンピュータープログラムにおいて、第2原画像データを取得する第2データ取得機能であって、前記第2原画像データは、前記第1対象物とは別の第2対象物であって前記第1対象物と同一または類似の構成を有する第2対象物の画像データである、第2データ取得機能と、前記第2原画像データに基づいて、複数の第2種部分画像データと、複数の第2種識別データと、を生成する第2データ生成機能であって、前記複数の第2種部分画像データのそれぞれは、前記第2原画像データが表す第2原画像の互いに異なる一部を表し、前記複数の第2種識別データのそれぞれは、前記複数の第2種部分画像データの一つが表す部分画像の前記第2原画像における位置を表し、前記複数の第2種識別データのそれぞれが表す前記第2原画像における位置は、前記複数の第1種識別データのそれぞれが表す前記第1原画像における位置と一致する、第2データ生成機能と、を前記コンピューターに実現させ、前記モデル生成機能は、複数組の第2種入力データセットをさらに使用して、前記対照学習を行うことにより、前記事前学習モデルを生成する機能であり、前記複数組の第2種入力データセットの各組は、前記複数の第2種部分画像データのうちの一つの第2種部分画像データと、前記一つの第2種部分画像データが表す部分画像の前記位置を表す第2種識別データと、の組み合わせである、態様とすることもできる。
【0077】
本開示は、事前学習装置、事前学習方法、およびコンピュータープログラム以外の種々の形態で実現することも可能である。例えば、特徴抽出モデルの生産方法や判別モデルの生産方法、それらの方法を実現するコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体等の形態で実現することができる。
【符号の説明】
【0078】
1…事前学習装置、1B…事前学習装置、10…CPU、10B…CPU、20…RAM、30…ROM、60…入力機器、70…出力機器、100…データ取得部、100B…データ取得部、110…第1データ取得部、120…第2データ取得部、210…第1データ生成部、210a…第1拡張データ生成部、220…第2データ生成部、260…位置情報付与部、300…モデル生成部、CB1…第1対象物(回路基板)、CB2…第2対象物(回路基板)、DM…識別器、Di11…第1種入力データセット、Di12…第1種入力データセット、Di21…第2種入力データセット、Di22…第2種入力データセット、Dia11…第1種拡張入力データセット、Dia12…第1種拡張入力データセット、En1…エンコーダー、En2…エンコーダー、Gg…集合、Gng…集合、IDM…判別モデル、Im…画像データ、Im1…第1原画像データ、Im2…第2原画像データ、Ip11…第1種部分画像データ、Ip12…第1種部分画像データ、Ip21…第2種部分画像データ、Ip22…第2種部分画像データ、Ipa11…第1種拡張画像データ、Ipa12…第1種拡張画像データ、LM…学習済みモデル、PR…予測器、Pp11…第1種識別データ、Pp12…第1種識別データ、Pp21…第2種識別データ、Ppa11…第1種拡張識別データ、p1…予測器PRの出力ベクトル、z…特徴ベクトル、z1…エンコーダーEn1の出力ベクトル、z2…エンコーダーEn2の出力ベクトル