(57)【特許請求の範囲】
【請求項１】
学習対象のフルサイズのデータである学習対象データを取得するデータ取得部と、
前記学習対象データを分割して前記学習対象データの分割データである第１の分割データを複数生成するとともに、前記第１の分割データのそれぞれに前記第１の分割データの前記学習対象データ内での領域を識別する第１の識別情報を付与するデータ生成部と、
前記第１の分割データと、前記第１の分割データに対応する前記第１の識別情報と、の組である第１の対応情報を用いて、前記第１の分割データの異常を判断するための学習済モデルを生成するモデル生成部と、
を備える、
ことを特徴とする学習装置。
【請求項２】
前記学習済モデルは、前記第１の対応情報を受付けると、前記第１の分割データの正常なデータとして適切な第１の正常データを出力する、
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記データ取得部は、推論対象のフルサイズのデータである推論対象データを取得し、
前記データ生成部は、前記推論対象データを分割して前記推論対象データの分割データである第２の分割データを複数生成するとともに、前記第２の分割データのそれぞれに前記第２の分割データの前記推論対象データ内での領域を識別する第２の識別情報を付与し、
前記学習済モデルに、前記第２の分割データと、前記第２の分割データに対応する前記第２の識別情報と、の組である第２の対応情報を入力することで、前記推論対象データの異常を判断する推論部をさらに備える、
ことを特徴とする請求項１に記載の学習装置。
【請求項４】
前記学習済モデルは、前記第２の対応情報を受付けると、前記第２の分割データの正常なデータとして適切な第２の正常データを出力し、
前記推論部は、前記第２の正常データと前記第２の分割データとを比較することで前記第２の分割データの異常を判断し、判断結果に基づいて、前記推論対象データの異常を判断する、
ことを特徴とする請求項３に記載の学習装置。
【請求項５】
前記推論部は、前記第２の正常データと前記第２の分割データとを比較することで前記第２の分割データのうちの異常な状態を示す箇所を特定し、特定結果に基づいて、前記推論対象データにおいて異常な状態を示す箇所を特定する、
ことを特徴とする請求項４に記載の学習装置。
【請求項６】
前記学習対象データは、画像データであり、
前記データ生成部は、
前記学習済モデルを生成する際には、前記第１の識別情報を画像化するとともに前記第１の分割データの画像サイズと同じ画像サイズにリサイズし、画像化およびリサイズした前記第１の識別情報を用いて前記第１の対応情報を生成し、生成した前記第１の対応情報を用いて前記学習済モデルを生成する、
ことを特徴とする請求項１または２に記載の学習装置。
【請求項７】
前記学習対象データおよび前記推論対象データは、画像データであり、
前記データ生成部は、
前記学習済モデルを生成する際には、前記第１の識別情報を画像化するとともに前記第１の分割データの画像サイズと同じ画像サイズにリサイズし、画像化およびリサイズした前記第１の識別情報を用いて前記第１の対応情報を生成し、生成した前記第１の対応情報を用いて前記学習済モデルを生成し、
前記推論対象データの異常を判断する際には、前記第２の識別情報を画像化するとともに前記第２の分割データの画像サイズと同じ画像サイズにリサイズし、画像化およびリサイズした前記第２の識別情報を用いて前記第２の対応情報を生成し、生成した前記第２の対応情報を前記学習済モデルに入力する、
ことを特徴とする請求項３から５の何れか１つに記載の学習装置。
【請求項８】
前記第１の識別情報は、前記第１の分割データの前記学習対象データ内に占める領域を第１の色で示し、前記学習対象データ内での前記第１の分割データ以外の領域を第２の色で示した情報であり、
前記第２の識別情報は、前記第２の分割データの前記推論対象データ内に占める領域を前記第１の色で示し、前記推論対象データ内での前記第２の分割データ以外の領域を前記第２の色で示した情報である、
ことを特徴とする請求項７に記載の学習装置。
【請求項９】
前記第１の色が白色である場合には、前記第２の色は黒色であり、
前記第１の色が黒色である場合には、前記第２の色は白色である、
ことを特徴とする請求項８に記載の学習装置。
【請求項１０】
前記第１の識別情報および前記第２の識別情報は、２次元コードである、
ことを特徴とする請求項７から９の何れか１つに記載の学習装置。
【請求項１１】
前記学習済モデルは、ニューラルネットワークであり、
前記モデル生成部は、前記第１の識別情報を前記ニューラルネットワークの中間層に入力して前記学習済モデルを生成し、
前記推論部は、前記第２の識別情報を前記ニューラルネットワークの前記中間層に入力して、前記推論対象データの異常を判断する、
ことを特徴とする請求項３から５の何れか１つに記載の学習装置。
【請求項１２】
前記学習対象データおよび前記推論対象データは、１次元データである、
ことを特徴とする請求項３に記載の学習装置。
【請求項１３】
学習対象のフルサイズのデータである学習対象データを取得するデータ取得ステップと、
前記学習対象データを分割して前記学習対象データの分割データである第１の分割データを複数生成するとともに、前記第１の分割データのそれぞれに前記第１の分割データの前記学習対象データ内での領域を識別する第１の識別情報を付与するデータ生成ステップと、
前記第１の分割データと、前記第１の分割データに対応する前記第１の識別情報と、の組である第１の対応情報を用いて、前記第１の分割データの異常を判断するための学習済モデルを生成するモデル生成ステップと、
を含む、
ことを特徴とする学習方法。
【請求項１４】
推論対象のフルサイズのデータである推論対象データを取得するデータ取得部と、
前記推論対象データを分割して前記推論対象データの分割データを複数生成するとともに、前記分割データのそれぞれに前記分割データの前記推論対象データ内での領域を識別する識別情報を付与するデータ生成部と、
前記分割データと前記分割データに対応する前記識別情報との組である対応情報と、前記対応情報を用いて前記分割データの異常を判断するための学習済みモデルとを用いて、前記推論対象データの異常を判断する推論部と、
を備える、
ことを特徴とする推論装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、検査対象の正常な状態を学習する学習装置、学習方法、および推論装置に関する。
【背景技術】
【０００２】
製品が製造される際には、製品の検査が、機械学習によって行われる場合がある。機械学習を行う学習装置は、例えば、多層のニューラルネットワークなどを用いて、製品の検査を行っている。【０００３】
特許文献１に記載の異変検出装置は、学習用の正常な画像データを入力し、出力データが、学習用の正常な画像データと同じになるように機械学習している。この異変検出装置は、学習結果に基づいて、検査対象の画像データから特徴部を抽出し、特徴部と、検査対象の画像データとの差に基づいて、検査対象の異常の有無を判定している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１９５１１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、画像データといった学習用データのデータサイズが大きい場合には、学習時間が長くなる。学習時間を短くする方法として、学習用データを分割し、分割した学習用データを用いて機械学習を行う方法がある。この方法を特許文献１に記載の異変検出装置に適用した場合を考える。この場合、異常の有無を判定する学習用データは、分割されているので複数となるが、分割された学習用データが、何れの位置の学習用データであるかまでは管理されていない。このため、異常な状態を示す学習用データが、この学習用データとは異なる位置における正常な状態を示す学習用データと同じになる場合には、異変検出装置は、異常な状態を示す学習用データを正常な状態を示す学習用データであると判定してしまい、正確な機械学習を実行できなかった。【０００６】
本開示は、上記に鑑みてなされたものであって、検査対象の正常な状態を短時間で正確に機械学習することができる学習装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本開示の学習装置は、学習対象のフルサイズのデータである学習対象データを取得するデータ取得部と、学習対象データを分割して学習対象データの分割データである第１の分割データを複数生成するとともに、第１の分割データのそれぞれに第１の分割データの学習対象データ内での領域を識別する第１の識別情報を付与するデータ生成部とを備える。また、本開示の学習装置は、第１の分割データと、第１の分割データに対応する第１の識別情報と、の組である第１の対応情報を用いて、第１の分割データの異常を判断するための学習済モデルを生成するモデル生成部を備える。
【発明の効果】
【０００８】
本開示にかかる学習装置は、検査対象の正常な状態を短時間で正確に機械学習することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１にかかる学習装置の構成を示す図
【図２】実施の形態１にかかる学習装置が用いるニューラルネットワークの構成を示す図
【図３】実施の形態１にかかる学習装置による学習処理の処理手順を示すフローチャート
【図４】実施の形態１にかかる推論装置の構成を示す図
【図５】実施の形態１にかかる推論装置による推論処理の処理手順を示すフローチャート
【図６】図４で説明した推論装置の機能を有した学習装置の構成を示す図
【図７】図６に示した学習装置のハードウェア構成を示す図
【図８】図６に示した学習装置による、正常データの学習処理および推論処理を説明するための図
【図９】実施の形態１にかかる推論装置が切取位置情報を用いて生成した異常指摘マップと、切取位置情報を用いずに生成された異常指摘マップとの違いを説明するための図
【図１０】実施の形態２にかかる学習装置が、ＲＧＢカラー３チャンネルの分割データに設定する切取位置画像を説明するための図
【図１１】実施の形態２にかかる学習装置が、グレースケール１チャンネルの分割データに設定する切取位置画像を説明するための図
【図１２】実施の形態２にかかる学習装置が、グレースケール１チャンネルの分割データに設定する分割データの切取領域を識別可能なデータの配列画像を説明するための図
【図１３】実施の形態２にかかる推論装置がフルサイズ画像を分割して機械学習を実行した場合の計算時間と、フルサイズ画像が分割されることなく機械学習が実行された場合の計算時間との違いを説明するための図
【図１４】実施の形態３にかかる推論装置が、分割データの切取位置情報を学習済モデルの中間層に直接入力する処理を説明するための図
【発明を実施するための形態】
【００１０】
以下に、本開示の実施の形態にかかる学習装置、学習方法、および推論装置を図面に基づいて詳細に説明する。なお、これらの実施の形態によりこの開示が限定されるものではない。
【００１１】
実施の形態１．
図１は、実施の形態１にかかる学習装置の構成を示す図である。学習装置１０は、検査対象の学習サンプルである学習対象データを分割し、分割した学習対象データを用いて、正常な状態の検査対象を機械学習するコンピュータである。学習装置１０は、ＡＩ（Artificial  Intelligence：人工知能）の一例である機械学習によって学習済モデルを生成し、後述する推論装置では生成された学習済モデルを用いて正常な状態の検査対象を推論し、検査対象と正常な状態の検査対象とを比較することで、検査対象が異常であるか否かを判断する。なお、以下では、学習対象および検査対象が、製品の画像データである場合について説明するが、学習対象および検査対象は、画像データ以外のデータであってもよい。
【００１２】
学習装置１０は、何れの学習方法によって機械学習を実行してもよい。学習装置１０は、例えば、良品の画像データを用いた良品学習によって機械学習を実行してもよいし、良品および不良品の画像データを用いた機械学習を実行してもよい。
【００１３】
学習装置１０は、全体の画像データ（以下、全体データという）を分割することで、複数の分割した画像データ（以下、分割データという）を生成する。全体データの例は、製品全体の画像を示すデータ、すなわちフルサイズ画像を示すデータであり、分割データの例は、製品の一部の領域を示すデータである。全体データは、製品を何れの方向から撮像した画像の画像データであってもよい。実施の形態１では、全体データが、製品を上面から撮像した画像の画像データである場合について説明する。
【００１４】
学習装置１０は、分割データと、この分割データの全体データ内での位置と、を対応付けて機械学習を行う。学習装置１０は、データ取得部１１と、データ生成部１６と、モデル生成部１４とを備えている。データ生成部１６は、データ切取部１２および位置情報付与部１３を有している。
【００１５】
データ取得部１１は、全体データを取得する。データ取得部１１は、例えば、製品を撮像する撮像装置等の外部装置から全体データを取得する。データ取得部１１は、取得した全体データをデータ生成部１６に送る。
【００１６】
データ切取部１２は、全体データを分割し、全体データから分割データを切取る。なお、分割データのサイズは任意である。例えば、全体データは、矩形状の画像のデータであり、１辺の画素数は１０２４である。また、分割データは、矩形状の画像のデータであり、１辺の画素数は６４である。
【００１７】
位置情報付与部１３は、分割データの全体データ内での領域を識別する切取位置情報を、分割データに付与する。切取位置情報は、例えば、全体データにおける分割データの２つ以上の頂点の座標で示される。なお、切取位置情報は、全体データにおける分割データ内の１点の座標とサイズで示されてもよい。
【００１８】
データ生成部１６は、位置情報付与部１３が付与した切取位置情報と、データ切取部１２が生成した分割データとを対応付けてモデル生成部１４に送る。
【００１９】
モデル生成部１４は、切取位置情報と分割データとが対応付けされた情報である対応情報を用いて、学習済モデル３１を生成する。実施の形態１では、対応情報が、正常な状態の画像データ（以下、正常データという）を学習するための学習用データ、すなわち学習対象データである。全体データが１００枚の分割データに分割された場合、モデル生成部１４は、１００枚分の対応情報を用いて学習済モデル３１を生成する。
【００２０】
モデル生成部１４は、切取位置情報および分割データの組合せに基づいて生成される対応情報（学習用データ）に基づいて、正常データを学習する。すなわち、モデル生成部１４は、切取位置情報および分割データから正常データを推論する学習済モデル３１を生成する。モデル生成部１４は、全体データに対し、１つの学習済モデル３１を生成する。ここで、学習用データは、切取位置情報および分割データを互いに関連付けたデータである。
【００２１】
学習済モデル３１は、例えば、ニューラルネットワークを多層に重ねたディープラーニングを用いて、正常な状態の製品の画像データを機械学習する。学習済モデル３１は、対応情報が入力されると、正常な状態の画像データを出力する。学習済モデル３１は、１枚分の対応情報が入力されると、１枚分の正常データを出力する。
【００２２】
学習済モデル３１が出力する正常データの画像データは、分割データと同じ領域の画像データである。学習済モデル３１は、学習用データである分割データが入力されると、出力データが、正常な状態を示す画像データとなるように機械学習する。学習済モデル３１は、学習用データから特徴的なデータである特徴データを抽出しながら正常な状態の製品を示す画像データ、すなわち正常データを機械学習する。すなわち、モデル生成部１４は学習アルゴリズムとして特徴量を抽出して学習するディープラーニングを用い、検査対象の正常な学習サンプルである複数の学習対象データの集合を用いてニューラルネットワークに特徴を抽出させながら学習させる。これにより、モデル生成部１４は、特徴が入力されることなく、また正常か異常かなどの明示的な教師信号が入力されることなく一種の教師なし学習を行い、検査対象の正常な特徴を有する正常なデータとして適切な正常データを出力する学習済モデル３１を生成する。
【００２３】
学習済モデル３１がニューラルネットワークを用いたモデルである場合、ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層（隠れ層）、および複数のニューロンからなる出力層で構成される。中間層は、１層であってもよいし、２層以上であってもよい。
【００２４】
図２は、実施の形態１にかかる学習装置が用いるニューラルネットワークの構成を示す図である。ニューラルネットワークは、例えば、図２に示すような３層のニューラルネットワークであれば、複数の入力が入力層（Ｘ１−Ｘ３）に入力されると、その値に重みＷ１（ｗ１１−ｗ１６）を掛けて中間層（Ｙ１−Ｙ２）に入力し、その結果にさらに重みＷ２（ｗ２１−ｗ２６）を掛けて出力層（Ｚ１−Ｚ３）から出力する。この出力結果は、重みＷ１，Ｗ２の値によって変わる。
【００２５】
ニューラルネットワークは、データ生成部１６によって生成される分割データと分割データに対応する識別情報との組である対応情報に基づいて、ディープラーニングにより、正常な特徴を有する正常なデータとして適切な正常データを学習する。
【００２６】
すなわち、ニューラルネットワークは、入力層に分割データと分割データに対応する識別情報との組である対応情報を入力して、中間層で特徴を抽出し、抽出された特徴を有する正常なデータとして適切な正常データが出力層から出力されるよう重みＷ１，Ｗ２を調整することで学習する。
【００２７】
モデル生成部１４は、以上のような学習を実行することで学習済モデル３１を生成し、生成した学習済モデル３１を出力する。学習済モデル記憶部１５は、モデル生成部１４から出力された学習済モデル３１を記憶する装置である。学習済モデル記憶部１５は、学習装置１０の内部に配置されてもよいし、学習装置１０の外部に配置されてもよい。
【００２８】
モデル生成部１４が用いる学習アルゴリズムには、ディープラーニングを用いた教師無し学習の一種が用いられる場合について説明したが、その他の教師なし学習、教師あり学習、半教師あり学習、強化学習等の公知のアルゴリズムが用いられてもよい。また、学習済モデル３１の構成には、ディープラーニングのニューラルネットワークの構成が用いられる場合について説明したが、その他の学習アルゴリズムに基づいた構成が用いられてもよい。
【００２９】
次に、図３を用いて、学習装置１０による学習処理について説明する。図３は、実施の形態１にかかる学習装置による学習処理の処理手順を示すフローチャートである。データ取得部１１は、製品全体の画像を示す全体データを取得する（ステップＳ１０）。ここで取得される全体データは、正常データの機械学習に用いられる。データ生成部１６は、全体データを分割し、全体データから分割データを切取る（ステップＳ２０）。
【００３０】
位置情報付与部１３は、分割データの全体データ内での領域を識別する切取位置情報を、分割データに付与する（ステップＳ３０）。データ生成部１６は、位置情報付与部１３が付与した切取位置情報と、データ切取部１２が生成した分割データとを対応付けし、対応情報としてモデル生成部１４に送る。
【００３１】
モデル生成部１４は、学習済モデル３１の学習処理を実行する（ステップＳ４０）。具体的には、モデル生成部１４は、切取位置情報と分割データとが対応付けされた対応情報を用いて、学習済モデル３１を生成する。換言すると、モデル生成部１４は、切取位置情報と分割データとの組合せに基づいて生成された学習用データに従って、いわゆる教師なし学習により、正常データを学習し、学習済モデル３１を生成する。学習済モデル記憶部１５は、モデル生成部１４が生成した学習済モデル３１を記憶する（ステップＳ５０）。
【００３２】
つぎに、学習済モデル３１を用いて正常データを推論し、推論対象データの異常を判断する推論装置について説明する。図４は、実施の形態１にかかる推論装置の構成を示す図である。推論装置２０は、データ取得部２１と、データ生成部２６と、推論部２４とを備えている。データ生成部２６は、データ切取部２２および位置情報付与部２３を有している。
【００３３】
データ取得部２１は、データ取得部１１と同様の機能を有しており、データ生成部２６は、データ生成部１６と同様の機能を有している。データ取得部１１は、学習用データとして用いる全体データを取得したが、データ取得部２１は、検査用データとして用いる全体データを取得する。検査用データとして用いる全体データが、推論対象データである。また、データ生成部１６は、学習用データとして用いる対応情報を生成したが、データ生成部２６は、検査用データとして用いる対応情報を生成する。データ生成部２６は、生成した対応情報を推論部２４に送る。
【００３４】
推論部２４は、データ生成部２６から送られてくる対応情報を受付ける。推論部２４は、学習済モデル記憶部１５で記憶されている学習済モデル３１を用いて、対応情報から正常データを推論する。すなわち、推論装置２０は、学習済モデル３１に検査用データの対応情報を入力することで、対応情報の正常な特徴を有する正常なデータとして適切な正常データを推論する。このとき、推論部２４は、検査用データの分割データと識別情報としての切取位置情報に基づいて、分割データ毎に、正常データを推論する。
【００３５】
推論部２４は、推論結果である正常データと、データ生成部２６から受付けた対応情報内の分割データとを比較し、正常データと分割データとの間で差分が発生している箇所を、異常の発生している箇所であると判定する。このとき、推論部２４は、分割データ毎に、正常データと分割データとの差分を判定する。
【００３６】
推論部２４は、分割データ毎での判定結果に基づいて、異常の発生している箇所を示す異常指摘マップ３３を生成し、検査結果として外部装置に出力する。異常指摘マップ３３は、全体の画像データの中で、異常の発生している箇所を他の箇所と区別して認識できるよう、色を変えるなどして表示したマップである。異常指摘マップ３３では、全体データに対し、異常の発生箇所がマップ化されて重ね書きされている。推論部２４が異常指摘マップ３３を出力する外部装置がディスプレイといった表示装置である場合、表示装置は、異常指摘マップ３３を表示する。なお、異常指摘マップ３３を出力する外部装置は、警報装置等であってもよい。
【００３７】
また、推論部２４が異常の発生している箇所を示す異常指摘マップ３３を生成する例で説明したが、推論部２４は、異常の発生している箇所は特定せず、分割データ毎に異常かどうかを判断した後、すべての分割データのうち何れかが異常であれば検査対象の全体データとして異常と判断し、検査結果として異常かどうかの判断のみを出力してもよい。また、推論部２４は分割データ毎の正常データを先に結合して、全体データに対応するフルサイズ画像の正常データを生成してから、全体データと全体データに対応する正常データとを比較して、異常を判断してもよい。
【００３８】
実施の形態１では、推論装置２０が、学習装置１０のモデル生成部１４で学習した学習済モデル３１を用いて、異常指摘マップ３３を出力するものとして説明したが、推論装置２０は、学習装置１０以外で学習された学習済モデル３１を用いてもよい。この場合、推論装置２０は、学習装置１０以外の他の外部装置等から学習済モデル３１を取得し、この学習済モデル３１に基づいて異常指摘マップ３３を出力するようにしてもよい。
【００３９】
なお、学習装置１０および推論装置２０は、例えば、ネットワークを介して接続されてもよい。この場合、学習装置１０が生成した学習済モデル３１は、ネットワークを介して推論装置２０に送られる。
【００４０】
次に、図５を用いて、推論装置２０による推論処理について説明する。図５は、実施の形態１にかかる推論装置による推論処理の処理手順を示すフローチャートである。データ取得部２１は、製品全体の画像を示す全体データを取得する（ステップＳ１１０）。ここで取得される全体データは、正常データの推論処理に用いられる。データ生成部２６は、全体データを分割し、全体データから分割データを切取る（ステップＳ１２０）。
【００４１】
位置情報付与部２３は、分割データの全体データ内での領域を識別する切取位置情報を、分割データに付与する（ステップＳ１３０）。データ生成部２６は、位置情報付与部２３が付与した切取位置情報と、データ切取部２２が生成した分割データとを対応付けし、対応情報として推論部２４に送る。
【００４２】
推論部２４は、データ生成部２６から送られてくる対応情報を受付ける。推論部２４は、学習済モデル記憶部１５で記憶されている学習済モデル３１を用いて、対応情報から正常データを推論する（ステップＳ１４０）。このとき、推論部２４は、分割データ毎に、正常データを推論する。推論部２４が用いる学習済モデル３１は、切取位置情報と分割データとが対応付けされた対応情報が入力されると、正常データを出力する。
【００４３】
推論部２４は、推論結果である正常データと、データ生成部２６から受付けた対応情報内の分割データとを比較し（ステップＳ１５０）、比較結果に基づいて、正常データと分割データとの差分を判定する。このとき、推論部２４は、分割データ毎に、正常データと分割データとの差分を判定する。推論部２４は、正常データと分割データとの差分に基づいて、異常指摘マップ３３を生成する（ステップＳ１６０）。推論部２４は、生成した異常指摘マップ３３を外部装置に出力する。
【００４４】
なお、推論装置２０は、学習済モデル３１を用いて正常データを推論しながら、正常データの学習を実行してもよい。この場合、学習済モデル３１は、推論装置２０による学習によって新たな学習済モデル３１に更新される。
【００４５】
また、学習装置１０と推論装置２０とが組み合わされた学習装置によって、正常データの学習および推論が実行されてもよい。図６は、図４で説明した推論装置の機能を有した学習装置の構成を示す図である。推論装置２０の機能を有した学習装置１０Ａは、データ取得部１１Ａと、データ生成部１６Ａと、モデル生成部１４と、学習済モデル記憶部１５Ａと、推論部２４とを備えている。データ生成部１６Ａは、データ切取部１２Ａおよび位置情報付与部１３Ａを有している。データ取得部１１Ａは、データ取得部１１およびデータ取得部２１を兼用している。データ生成部１６Ａは、データ生成部１６とデータ生成部２６を兼用している。
【００４６】
なお、学習装置１０Ａは、データ取得部１１Ａの代わりにデータ取得部２１を備えていてもよい。また、学習装置１０Ａは、データ生成部１６Ａの代わりにデータ生成部２６を備えていてもよい。学習装置１０Ａは、データ取得部１１およびデータ取得部２１をそれぞれ備えていてもよい。学習装置１０Ａは、データ生成部１６およびデータ生成部２６をそれぞれ備えていてもよい。
【００４７】
学習装置１０Ａは、検査の準備段階の機械学習として、検査対象の正常なサンプルとしての全体データを取得して学習することで学習済モデル３１を生成し記憶しておく。学習装置１０Ａは、機械学習の後、検査の運用段階としては、検査対象の全体データを取得して、機械学習で生成され記憶された学習済モデル３１を用いて、検査対象の異常を判断する。
【００４８】
学習装置１０Ａが検査の準備段階において正常データの機械学習を実行する場合、データ取得部１１Ａが、正常データの学習に用いられる正常な学習サンプルの全体データを取得する。また、データ生成部１６Ａでは、データ切取部１２Ａが全体データから分割データを切取り、位置情報付与部１３Ａが分割データに切取位置情報を付与する。データ生成部１６Ａは、位置情報付与部１３Ａが付与した切取位置情報と、データ切取部１２Ａが生成した分割データとを対応付けてモデル生成部１４に送る。モデル生成部１４は、切取位置情報と分割データとが対応付けされた対応情報を用いて、学習済モデル３１を生成する。この学習済モデル３１は、学習済モデル記憶部１５Ａで記憶される。
【００４９】
学習装置１０Ａが検査の運用段階において異常を判断する場合は、データ取得部１１Ａが、検査対象データの全体データを取得する。また、データ生成部１６Ａでは、データ切取部１２Ａが全体データから分割データを切取り、位置情報付与部１３Ａが分割データに切取位置情報を付与する。データ生成部１６Ａは、位置情報付与部１３Ａが付与した切取位置情報と、データ切取部１２Ａが生成した分割データとを対応付けて推論部２４に送る。推論部２４は、切取位置情報と分割データとが対応付けされた対応情報と、学習済モデル記憶部１５Ａで記憶されている学習済モデル３１を用いて、正常データの推論を実行する。推論部２４は、図４および図５で説明した処理と同様の処理によって正常データの推論を実行する。
【００５０】
学習装置１０Ａでは、機械学習時の分割データが第１の分割データであり、学習時の切取位置情報が第１の識別情報である。また、学習装置１０Ａでは、機械学習時の対応情報が第１の対応情報であり、機械学習時の正常データが第１の正常データである。
【００５１】
また、学習装置１０Ａでは、推論時の分割データが第２の分割データであり、推論時の切取位置情報が第２の識別情報である。また、学習装置１０Ａでは、推論時の対応情報が第２の対応情報であり、推論時の正常データが第２の正常データである。
【００５２】
なお、学習装置１０は、推論装置２０に内蔵されてもよいし、推論装置２０は、学習装置１０に内蔵されてもよい。また、学習装置１０および推論装置２０の少なくとも一方が、全体データの画像データを撮像する撮像装置に内蔵されてもよい。また、学習装置１０および推論装置２０は、クラウドサーバ上に存在していてもよい。
【００５３】
図７は、図６に示した学習装置のハードウェア構成を示す図である。学習装置１０Ａは、入力装置１０３、プロセッサ１０１、メモリ１０２、および出力装置１０４により実現することができる。プロセッサ１０１の例は、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital  Signal  Processor）、ＧＰＵ（Graphics  Processing  Unit）ともいう）またはシステムＬＳＩ（Large  Scale  Integration）である。メモリ１０２の例は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）である。
【００５４】
学習装置１０Ａは、プロセッサ１０１が、メモリ１０２で記憶されている学習装置１０Ａの動作を実行するための、コンピュータで実行可能な、学習プログラムを読み出して実行することにより実現される。学習装置１０Ａの動作を実行するためのプログラムである学習プログラムは、学習装置１０Ａの手順または方法をコンピュータに実行させるものであるともいえる。
【００５５】
学習装置１０Ａで実行される学習プログラムは、データ取得部１１Ａと、データ生成部１６Ａと、モデル生成部１４と、推論部２４とを含むモジュール構成となっており、これらが主記憶装置上にロードされ、これらが主記憶装置上に生成される。
【００５６】
入力装置１０３は、全体データを受付けてプロセッサ１０１に送る。メモリ１０２は、プロセッサ１０１が各種処理を実行する際の一時メモリに使用される。また、メモリ１０２は、全体データ、分割データ、切取位置情報、学習済モデル３１、正常データ、異常指摘マップ３３などを記憶する。出力装置１０４は、正常データ、異常指摘マップ３３などを外部装置に出力する。
【００５７】
学習プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、学習プログラムは、インターネットなどのネットワーク経由で学習装置１０Ａに提供されてもよい。なお、学習装置１０Ａの機能について、一部を専用回路などの専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。また、学習装置１０および推論装置２０についても、学習装置１０Ａと同様のハードウェア構成によって実現できる。
【００５８】
また、学習装置１０が、教師なし学習を実現する場合、上記のようなディープラーニングに限らず、他の公知の方法を用いてもよい。例えば、学習装置１０は、Ｋ平均法による非階層型クラスタリングを用いてもよい。
【００５９】
また、モデル生成部１４は、複数の製品に対して生成される全体データに従って、正常データを学習するようにしてもよい。なお、モデル生成部１４は、同一のエリアで使用される複数の製品から全体データを取得してもよいし、異なるエリアの複数の製品から収集される全体データを利用して正常データを学習してもよい。また、モデル生成部１４に対しては、全体データを収集する撮像装置等のデータ収集装置を途中で対象に追加したり、対象から除去したりすることも可能である。さらに、ある製品に関して正常データを学習した学習装置を、これとは別の学習装置に適用し、当該別の学習装置が正常データを再学習して、学習済モデルを更新するようにしてもよい。
【００６０】
ここで、切取位置情報を用いた、正常データの学習処理および推論処理について説明する。図８は、図６に示した学習装置による、正常データの学習処理および推論処理を説明するための図である。なお、ここでは学習装置１０Ａが、正常データを学習する場合について説明するが、正常データの学習は学習装置１０が行ってもよい。また、異常を判断する推論は推論装置２０が行ってもよい。
【００６１】
まず、検査の準備段階の機械学習として、検査対象の正常なサンプルとしての全体データを取得して学習し、学習済モデル３１を生成する、学習処理について説明する。
【００６２】
学習装置１０Ａのデータ取得部１１Ａは、機械学習に用いられる検査対象の正常な学習サンプルの全体データとして、学習用のフルサイズ画像である全体画像５１を取得する。データ切取部１２Ａは、全体画像５１を、特定サイズに分割し、全体画像５１から分割データＤ１〜Ｄｎ（ｎは自然数）を切取る。
【００６３】
また、位置情報付与部１３Ａは、画像群である分割データＤ１〜Ｄｎに対し、切取位置情報Ｐ１〜Ｐｎを付与する。位置情報付与部１３Ａは、分割データＤｍ（ｍは１〜ｎの自然数）に対し、切取位置情報Ｐｍを付与する。データ切取部１２Ａは、例えば、１辺が１０２４画素の全体画像５１を、１辺が６４画素の分割データＤ１〜Ｄｎに分割する。この場合において、隣接する分割データは、一部の領域が重なっていてもよい。
【００６４】
モデル生成部１４は、分割データＤｍと切取位置情報Ｐｍとが対応付けされた対応情報を学習済モデル３１に入力する。このように、モデル生成部１４は、学習用のフルサイズ画像である全体画像５１を特定の大きさに切取り、その切取った画像群である分割データＤｍと切取位置情報Ｐｍとの組を同時に学習済モデル３１に入力する。この例では、ディープラーニングにより、分割データＤｍと切取位置情報Ｐｍとの組に対応付けられて、正常な分割データＤｍの画像の特徴がニューラルネットワークの中間層で抽出され、その特徴を有する正常なデータとして適切な正常データの画像が出力されるように機械学習される。これにより、学習済モデル３１は、学習結果である正常データと、この正常データに対応する切取位置情報Ｐｍとが対応付けされた対応情報を出力するように機械学習される。
【００６５】
機械学習において、通常は学習サンプルが複数用意され、複数の学習サンプルから得られる複数の全体データに基づき機械学習が行われる。これにより、正常と判断される範囲のばらつきが考慮された、正常なデータとして適切な正常データが出力できるように機械学習が実行される。ばらつきには、例えば、検査対象に取り付けられた部品の配置のばらつき、検査対象をカメラ等で撮像して画像を取得する際の明るさなどの環境のばらつきなどが含まれる。
【００６６】
モデル生成部１４は、分割データＤｍと切取位置情報Ｐｍとの組を、順番に１つの学習済モデル３１に入力することで、分割データＤ１〜Ｄｎに対応する正常データを順番に機械学習する。学習済モデル３１は、学習結果である正常データと、この正常データに対応する切取位置情報Ｐｍとが対応付けされた対応情報を、分割データ毎に出力できるように機械学習される。
【００６７】
モデル生成部１４は、分割データＤｍと切取位置情報Ｐｍとが組み合わされた１つの対応情報を学習済モデル３１に入力する際に、対応情報を、対応情報に含まれる１画素毎の情報に分割する。
【００６８】
モデル生成部１４は、学習済モデル３１の入力層に、分割した各画素の情報を入力する。すなわち、モデル生成部１４は、分割データＤｍを各画素に分割し、各画素のデータを学習済モデル３１に入力し、画素毎に学習済モデル３１から正常データを出力するように機械学習する。
【００６９】
例えば、分割データＤｍの１辺が６４画素である場合、モデル生成部１４は、６４×６４個の画素のデータを学習済モデル３１に入力し、学習済モデル３１から６４×６４個の正常な画素のデータを出力させる。
【００７０】
モデル生成部１４により生成された学習済モデル３１は、学習済モデル３１が出力する画素のデータに基づいて、１枚分の分割データの画像に対応する１枚分の正常データの画像を生成することが可能となる。この正常データとして生成された画像が分割データＲｍである。分割データＲｍは、分割データＤｍに対応しており、切取位置情報Ｐｍに対応付けされている。学習済モデル３１は、正常データである分割データＲｍと、切取位置情報Ｐｍとを対応付けし、対応情報として出力する。生成された学習済モデル３１は、学習済モデル記憶部１５Ａに記憶される。
【００７１】
なお、学習済モデル３１は、受付けた画素の位置と、出力する画素の位置とが同じになるよう各画素に入力層および出力層を対応付けしておき、各画素の入力層および出力層の位置に基づいて、１枚分の分割データＲｍを生成してもよい。また、学習済モデル３１に分割データＤｍと対応する切取位置情報Ｐｍが入力されたときに学習済モデル３１から出力される正常データとしての分割データＲｍに対応する切取位置情報は、学習済モデル３１に入力された切取位置情報Ｐｍを参照して使用されてもよい。このため、学習済モデル３１は、切取位置情報を出力せず、正常データとしての分割データＲｍのみを出力するようにしてもよい。
【００７２】
次に、機械学習の後、検査の運用段階として、検査対象の全体データを取得して、機械学習で生成され記憶された学習済モデル３１を用いて、検査対象の異常を判断する、推論処理について説明する。
【００７３】
学習装置１０Ａのデータ取得部１１Ａは、検査に用いられる全体データとして、検査対象のフルサイズ画像である全体画像５１を取得する。データ切取部１２Ａは、準備段階の学習処理のときと同様に、全体画像５１を、特定サイズに分割し、全体画像５１から分割データＤ１〜Ｄｎを切取る。
【００７４】
また、位置情報付与部１３Ａは、学習処理のときと同様に、画像群である分割データＤ１〜Ｄｎに対し、切取位置情報Ｐ１〜Ｐｎを付与する。位置情報付与部１３Ａは、分割データＤｍに対し、切取位置情報Ｐｍを付与する。データ切取部１２Ａは、例えば、１辺が１０２４画素の全体画像５１を、１辺が６４画素の分割データＤ１〜Ｄｎに分割する。隣接する分割データは、一部の領域が重なっていてもよい。
【００７５】
推論部２４は、準備段階の学習処理にて機械学習され学習済モデル記憶部１５Ａに記憶された学習済モデル３１を取得しておき、切取位置情報Ｐｍと分割データＤｍとが対応付けされた対応情報を学習済モデル３１に入力する。このように、推論部２４は、学習用のフルサイズ画像である全体画像５１を特定の大きさに切取り、その切取った画像群である分割データＤｍと切取位置情報Ｐｍとの組を同時に学習済モデル３１に入力する。これにより、学習済モデル３１は、学習結果である正常データと、この正常データに対応する切取位置情報Ｐｍとが対応付けされた対応情報を出力する。なお、学習済モデル３１から出力される正常データとしての分割データＲｍに対応する切取位置情報は、学習済モデル３１に入力された切取位置情報Ｐｍが参照されてもよいため、学習済モデル３１は、切取位置情報を出力せず、正常データとしての分割データＲｍのみを出力するようにしてもよい。
【００７６】
推論部２４は、検査対象の分割データＤｍと切取位置情報Ｐｍとの組を、順番に１つの学習済モデル３１に入力することで、分割データＤ１〜Ｄｎに対応する正常データを順番に推論する。学習済モデル３１は、推論結果である正常データと、この正常データに対応する切取位置情報Ｐｍとが対応付けされた対応情報を、分割データ毎に出力する。図８では、学習済モデル３１が出力する正常データを分割データＲ１〜Ｒｎの画像群で示している。
【００７７】
推論部２４は、検査対象の分割データＤｍと切取位置情報Ｐｍとが組み合わされた１つの対応情報を学習済モデル３１に入力する際に、対応情報を、対応情報に含まれる１画素毎の情報に分割する。
【００７８】
推論部２４は、学習済モデル３１の入力層に、分割した各画素の情報を入力する。すなわち、推論部２４は、分割データＤｍを各画素に分割し、各画素のデータを学習済モデル３１に入力し、画素毎に学習済モデル３１から正常データを出力させる。
【００７９】
例えば、分割データＤｍの１辺が６４画素である場合、推論部２４は、６４×６４個の画素のデータを学習済モデル３１に入力し、学習済モデル３１から６４×６４個の正常な画素のデータを出力させる。
【００８０】
推論部２４は、学習済モデル３１が出力する画素のデータに基づいて、１枚分の分割データの画像に対応する１枚分の正常データの画像を生成する。この正常データとして生成された画像が分割データＲｍである。分割データＲｍは、分割データＤｍに対応しており、切取位置情報Ｐｍに対応付けされている。学習済モデル３１は、正常データである分割データＲｍと、切取位置情報Ｐｍとを対応付けし、対応情報として出力する。
【００８１】
推論部２４は、分割データＲｍと、分割データＤｍとを比較し、これらの差分を示す分割データＴｍを生成する。すなわち、推論部２４は、学習済モデル３１に入力した分割データＤｍと、学習済モデル３１から出力される分割データＲｍとを比較し、比較結果である分割データＴｍを生成する。すなわち、推論部２４は、分割データＤ１〜Ｄｎに対応する分割データＴ１〜Ｔｎを生成する。分割データＤ１〜Ｄｎは、分割データＲ１〜Ｒｎに対応しており、分割データＲ１〜Ｒｎは、分割データＴ１〜Ｔｎに対応している。
【００８２】
分割データＴｍは、正常データである分割データＲｍと、入力データである分割データＤｍとの差分を示すデータである。したがって、分割データＴｍは、異常が発生している箇所を示すデータである。
【００８３】
推論部２４は、画像群である分割データＴ１〜Ｔｎを用いて、異常指摘マップ３３を生成する。具体的には、推論部２４は、学習済モデル３１から出力された分割データＴ１〜Ｔｎを再結合し、全体画像５１に重ね合わせることで、全体画像５１に対応する異常指摘マップ３３を生成する。
【００８４】
このように、推論部２４は、分割データＤｍと切取位置情報Ｐｍとに基づいて学習済モデル３１により推論された正常データである分割データＲｍと、データ生成部１６Ａから受付けた分割データＤｍとを比較することで、分割データＲｍの異常を判断し、分割データＲｍのうちの異常な状態を示す箇所を特定している。そして、推論部２４は、特定結果に基づいて、全体画像５１において異常な状態を示す箇所を特定した異常指摘マップ３３を生成している。
【００８５】
ここで、分割データＤｍおよび切取位置情報Ｐ１〜Ｐｎを用いて機械学習された学習済モデル３１に基づいて生成された異常指摘マップ３３と、切取位置情報Ｐ１〜Ｐｎを用いずに分割データＤｍにより機械学習された学習済モデル３１に基づいて生成された異常指摘マップとの違いについて説明する。図９は、実施の形態１にかかる推論装置が切取位置情報を用いて生成した異常指摘マップと、切取位置情報を用いずに生成された異常指摘マップとの違いを説明するための図である。
【００８６】
ここでは、異常箇所３５，３６を含んだ検査対象画像７０に対して異常指摘マップが生成される場合について説明する。検査対象画像７０は、特定製品を撮像した、学習用のフルサイズ画像である。異常箇所３５は、部品の配置に位置ずれが生じている箇所である。異常箇所３６は、本来あるはずのラベルシールがない箇所である。
【００８７】
異常指摘マップ３３Ｘは、検査対象画像７０について、分割データＤｍに対応した切取位置情報が用いられずに機械学習された学習済モデル３１を用いて、生成された異常指摘マップである。すなわち、異常指摘マップ３３Ｘは、フルサイズの学習対象データ内での分割データＤｍの領域を識別する識別情報を用いずに機械学習した場合の検査結果画像である。
【００８８】
検査対象画像７０に含まれる異常箇所３６も、他の箇所と同様に分割データＤｍに分割される。この場合において、各分割データＤｍは小さいので、異常箇所３６内の分割データＤｍが、正常な分割データＤｍとほぼ同じになる場合がある。すなわち、異常箇所３６内の分割データＤｍが、異常箇所３５，３６以外の分割データＤｍと類似する場合がある。換言すると、分割データＤｍが切取られた際に、ラベルがない異常箇所に類似する正常な画像箇所が、異常箇所３５，３６以外に存在している場合がある。この場合、分割データＤｍに対応する識別情報を用いずに機械学習された学習済モデル３１は、異常箇所３６内の分割データＤｍと、類似する正常な画像箇所との区別がつかず、類似する正常な画像箇所の学習結果である正常データを出力する。このため、異常箇所３６内の分割データＤｍは、学習済モデル３１から出力された類似する正常な画像箇所の正常データと比較し、正常な分割データＤｍであると判断される。このため、異常指摘マップ３３Ｘは、異常箇所３５を異常箇所として示すものの、異常箇所３６は、正常箇所として示してしまう。
【００８９】
異常指摘マップ３３Ａは、検査対象画像７０について、分割データＤｍと切取位置情報Ｐ１〜Ｐｎとを用いて機械学習された学習済モデル３１を用いて、生成した異常指摘マップである。すなわち、異常指摘マップ３３Ａは、分割データＤｍとフルサイズの学習対象データ内での分割データＤｍの領域を識別する識別情報とを用いて機械学習した場合の検査結果画像である。
【００９０】
学習装置１０Ａは、切取位置情報Ｐ１〜Ｐｎを用いて機械学習して学習済モデル３１を生成した場合、異常箇所３６の分割データＤｍが、他の正常箇所での分割データＤｍと類似している場合であっても、切取位置情報Ｐｍが異なるので、異常箇所３６の分割データＤｍと、他の正常箇所での分割データＤｍとを区別して、学習した結果を出力できる。このため、学習装置１０Ａの推論部２４は、検査対象の分割データＤｍと切取位置情報Ｐ１〜Ｐｎに基づいて、検査対象の各分割データＤｍに異常があるか否かを正確に判断できる。
【００９１】
なお、実施の形態１では、学習対象および検査対象が２次元の画像データである場合について説明したが、学習対象および検査対象は、時系列波形での一定時間毎のデータ値が並べられたデータ列などといった１次元データであってもよいし、複数のデータが組み合わされた多次元データであってもよい。多次元データで組み合わされるデータは、電流値データなどの計測データであってもよいし、画像データであってもよい。一次元データとして、例えば、製品の動作で製品に流れる電流値を測定した時系列波形である電流波形がある。製品の動作に複数の動作段階がある場合、各動作段階の時間領域毎に電流波形の特徴がある。この場合、学習装置１０は、電流波形を複数の時間領域に分割した分割データを生成し、各時間領域の分割データである分割電流波形と、各時間領域の分割データを識別する領域識別情報とを対応付けした対応情報を用いて、時間領域毎に正常な特徴を持つ正常な分割電流波形を機械学習し、学習済モデル３１を生成する。また、推論装置２０は、検査対象の製品の電流波形を取得して複数の時間領域の分割データに分割し、分割データと各時間領域を識別する領域識別情報とを対応付けした対応情報を用いて、学習済モデル３１に基づき、時間領域毎に電流の正常データを推論し、分割データと正常データとを比較して、検査対象の電流波形の異常を判断する。
【００９２】
学習装置１０および推論装置２０は、例えば、製造業における製品の検査（画像を用いた外観検査など）に適用される。学習装置１０および推論装置２０は、全体データを分割データＤ１〜Ｄｎに分割し、切取位置情報Ｐ１〜Ｐｎを用いて正常データを推論しているので、学習コストを削減して効率良く正常データを学習することができる。ここでの学習コストには、計算時間、計算機数、学習用サンプル数などが含まれている。
【００９３】
また、学習装置１０および推論装置２０は、学習コストを削減することができるので、ＰＣ（Personal  Computer）基板、ＦＡ（Factory  Automation）機器などの製造工場において、製造品種が数百種または数千種を超えるような場合、または検査工程数が多い場合であっても、検査対象を短時間で機械学習することができる。また、学習装置１０および推論装置２０は、学習コストを削減することができるので、多数の機種毎、または多数の工程毎に機械学習を実行する場合であっても、検査対象を短時間で正確に機械学習することができる。
【００９４】
このように実施の形態１では、学習装置１０および推論装置２０が、全体データを分割して分割データＤｍを複数生成し、分割データＤｍのそれぞれに切取位置情報Ｐｍを付与している。学習装置１０および推論装置２０は、分割データＤｍと切取位置情報Ｐｍとの組である対応情報から、正常データを推論するための学習済モデル３１を生成している。これにより、学習装置１０および推論装置２０は、検査対象の正常な状態を短時間で正確に機械学習することができる。
【００９５】
また、推論装置２０は、切取位置情報Ｐｍに基づいて、正常データと分割データＤｍとを比較して、分割データＤｍにおける異常の発生箇所を特定し、特定結果に基づいて、推論対象の全体データにおいて異常な状態を示す箇所を特定している。これにより、推論装置２０は、全体データにおいて異常な状態を示す箇所を短時間で特定することができる。
【００９６】
なお、実施の形態１では、分割データの全体データ内での領域を識別する識別情報として、分割データを全体データから切り取った位置の情報である切取位置情報を用いて説明したが、識別情報は、全体データから切り取られた複数の分割データがそれぞれ識別できればよく、１枚の全体データから２５６枚の分割データができる場合、例えば０から２５５の整数を対応付けて付与してもよい。その場合、切り取られた分割データと付与される識別情報とが１対１で対応していればよく、全体データ内での分割データの配置順と、識別情報として付与する整数の順番とが違っていてもよい。
【００９７】
実施の形態２．
つぎに、図１０から図１２を用いて実施の形態２について説明する。実施の形態２では、学習装置１０が、切取位置情報を画像で示した情報（後述する切取位置画像）を、分割データに結合させ、結合させた情報を用いて機械学習を実行する。
【００９８】
図１０は、実施の形態２にかかる学習装置が、ＲＧＢカラー３チャンネルの分割データに設定する切取位置画像を説明するための図である。学習画像が、ＲＧＢ（Red、Green、Blue）カラー３チャンネルのフルサイズ画像７５である場合、フルサイズ画像７５は、３チャンネル分の画像として、赤色の画像７５Ｒと、緑色の画像７５Ｇと、青色の画像７５Ｂとを含んでいる。
【００９９】
学習装置１０のデータ生成部１６は、このフルサイズ画像７５の画像データから分割データ７７を切取るとともに、分割データ７７の切取位置情報を画像で示す情報を分割データ７７に結合する。データ生成部１６がフルサイズ画像７５の特定領域から切取る分割データ７７には、３チャンネル分の分割データが含まれている。すなわち、データ生成部１６がフルサイズ画像７５の特定領域から切取る分割データ７７には、赤色の分割データ７７Ｒと、緑色の分割データ７７Ｇと、青色の分割データ７７Ｂとが含まれている。
【０１００】
なお、図１０では、画像７５Ｒ，７５Ｇ，７５Ｂを別々に記載しているが、データ生成部１６は、フルサイズ画像７５を、画像７５Ｒ，７５Ｇ，７５Ｂに分解する必要はない。同様に、図１０では、分割データ７７Ｒ，７７Ｇ，７７Ｂを別々に記載しているが、データ生成部１６は、分割データ７７を、分割データ７７Ｒ，７７Ｇ，７７Ｂに分解する必要はない。
【０１０１】
データ生成部１６は、分割データ７７Ｒ，７７Ｇ，７７Ｂの情報を含んだ分割データ７７に対応する切取位置画像７６Ｐを取得する。すなわち、データ生成部１６は、フルサイズ画像７５に対する分割データ７７の位置を示す切取位置画像７６Ｐを取得する。切取位置画像７６Ｐは、分割データ７７の切取位置情報を画像化したデータである。切取位置画像７６Ｐの例は、分割データ７７の切取り位置を白で示し、その他の領域を黒で示した画像である。
【０１０２】
さらに、データ生成部１６は、切取位置画像７６Ｐのアスペクト比（縦横比）および画像サイズが、分割データ７７のアスペクト比および画像サイズと同じになるよう、切取位置画像７６Ｐをリサイズする。これにより、分割データ７７の切取位置画像７６Ｐは、分割データ７７と同じアスペクト比および画像サイズを有した切取位置画像７８Ｐとなる。
【０１０３】
データ生成部１６は、切取位置画像７８Ｐを、分割データ７７Ｒ，７７Ｇ，７７Ｂを含んだ分割データ７７に結合する。すなわち、データ生成部１６は、切取位置画像７８Ｐを４チャンネル目のデータとして分割データ７７に付与する。これにより、分割データ７７は、赤色、緑色、青色、および位置の４つのチャンネル画像である分割データ７９となる。モデル生成部１４は、４つのチャンネル画像である分割データ７９を、学習済モデル３１に入力する。これにより、学習装置１０は、学習済モデル３１の構造を大きく変えることなくチャンネル数を変えることで、容易に機械学習を行うことが可能となる。
【０１０４】
この切取位置画像７８Ｐを分割データ７７に結合する方法は、フルサイズ画像がグレースケール１チャンネルである場合にも適用できる。また、切取位置画像７８Ｐを分割データ７７に結合する方法は、フルサイズ画像が、ＲＧＢに深さ（距離）の情報を含んだＲＧＢ-デプス（Depth）画像である場合にも、チャンネルに依存することなく適用できる。
【０１０５】
なお、検査の運用段階で、推論装置２０が、図１０で説明した処理を実行してもよい。この場合、推論装置２０が、切取位置画像７８Ｐを分割データ７７に結合させ、結合させた情報である分割データ７９を用いて異常の判断を実行する。
【０１０６】
図１１は、実施の形態２にかかる学習装置が、グレースケール１チャンネルの分割データに設定する切取位置画像を説明するための図である。学習対象の画像データが、グレースケール１チャンネルのフルサイズ画像８５である場合、フルサイズ画像８５は、１チャンネル分のグレースケールの画像を含んでいる。
【０１０７】
学習装置１０のデータ生成部１６は、このフルサイズ画像８５の画像データから分割データ８７を切取るとともに、分割データ８７の切取位置情報を画像で示す情報を分割データ８７に結合する。データ生成部１６がフルサイズ画像８５の特定領域から切取る分割データ８７には、１チャンネル分の分割データが含まれている。
【０１０８】
データ生成部１６は、分割データ８７に対応する切取位置画像８６Ｐを取得する。すなわち、データ生成部１６は、フルサイズ画像８５に対する分割データ８７の位置を示す切取位置画像８６Ｐを取得する。切取位置画像８６Ｐは、分割データ８７の切取位置情報を画像化したデータである。切取位置画像８６Ｐの例は、分割データ８７の切取り位置を白で示し、その他の領域を黒で示した画像である。
【０１０９】
さらに、データ生成部１６は、切取位置画像８６Ｐのアスペクト比および画像サイズが、分割データ８７のアスペクト比および画像サイズと同じになるよう、切取位置画像８６Ｐをリサイズする。これにより、分割データ８７の切取位置画像８６Ｐは、分割データ８７と同じアスペクト比および画像サイズを有した切取位置画像８８Ｐとなる。切取位置画像８６Ｐは、切取位置画像７６Ｐと同様の情報であり、切取位置画像８８Ｐは、切取位置画像７８Ｐと同様の情報である。
【０１１０】
データ生成部１６は、切取位置画像８８Ｐを、分割データ８７に結合する。すなわち、データ生成部１６は、切取位置画像８８Ｐを２チャンネル目のデータとして分割データ８７に付与する。これにより、分割データ８７は、グレースケールおよび位置の２つのチャンネル画像である分割データ８９となる。モデル生成部１４は、２つのチャンネル画像である分割データ８９を、学習済モデル３１に入力する。これにより、学習装置１０は、学習済モデル３１の構造を大きく変えることなくチャンネル数を変えることで、容易に機械学習を行うことが可能となる。
【０１１１】
なお、検査の運用段階で、推論装置２０が、図１１で説明した処理を実行してもよい。この場合、推論装置２０が、切取位置画像８８Ｐを分割データ８７に結合させ、結合させた情報である分割データ８９を用いて異常の判断を実行する。
【０１１２】
なお、学習装置１０は、グレースケール１チャンネルの分割データに設定する切取位置画像８８Ｐの代わりに、分割データの切取領域を識別可能なデータの配列画像を用いてもよい。
【０１１３】
図１２は、実施の形態２にかかる学習装置が、グレースケール１チャンネルの分割データに設定する分割データの切取領域を識別可能なデータの配列画像を説明するための図である。学習装置１０のデータ生成部１６は、図１１で説明した処理と同様の処理によって、フルサイズ画像８５から分割データ８７を切取る。また、データ生成部１６は、分割データ８７のフルサイズ画像８５における切取領域を識別可能なデータ配列画像を、分割データ８７に設定する。データ配列画像は、２次元コードである。
【０１１４】
以下、識別可能なデータ配列画像を、識別データ画像８８Ｑという。識別データ画像８８Ｑの例は、ＱＲ（Quick  Response：キューアール）コード（登録商標）である。識別データ画像８８Ｑは、フルサイズ画像８５内の分割データ８７の領域を識別する情報であり、ここでは、切取位置画像７８Ｐ，８８Ｐの代わりに用いられる。
【０１１５】
データ生成部１６は、識別データ画像８８Ｑを、分割データ８７に結合する。すなわち、データ生成部１６は、識別データ画像８８Ｑを２チャンネル目のデータとして分割データ８７に付与する。これにより、分割データ８７は、グレースケールおよび位置の２つのチャンネル画像である分割データ９０となる。モデル生成部１４は、２つのチャンネル画像である分割データ９０を、学習済モデル３１に入力する。これにより、学習装置１０は、学習済モデル３１の構造を大きく変えることなくチャンネル数を変えることで、容易に機械学習を行うことが可能となる。
【０１１６】
データ生成部１６は、ＲＧＢカラー３チャンネルのフルサイズ画像７５に識別データ画像８８Ｑを適用してもよい。また、推論装置２０が、図１２で説明した処理を実行してもよい。この場合、推論装置２０が、識別データ画像８８Ｑを分割データ８７に結合させ、結合させた情報である分割データ９０を用いて機械学習を実行する。また、推論装置２０が、分割データ９０を用いて正常データの推論を実行してもよい。
【０１１７】
また、データ生成部１６，２６は、切取位置画像７６Ｐ，７８Ｐ，８６Ｐ，８８Ｐの白色と黒色を反転させた画像を切取位置画像に用いてもよい。また、切取位置画像７６Ｐ，７８Ｐ，８６Ｐ，８８Ｐに用いる色は、白色および黒色に限らず、何れの色であってもよい。この場合も、データ生成部１６，２６は、切取位置画像７６Ｐ，７８Ｐ，８６Ｐ，８８Ｐのうち分割データのフルサイズ画像に占める領域を第１の色で示し、フルサイズ画像内で分割データ以外の領域を第２の色で示す。
【０１１８】
また、データ生成部１６，２６は、分割データ７７，８７の領域を識別する情報で分割データ７７，８７に１対１で対応する情報であれば、何れの情報を分割データ７７，８７の識別情報としてもよい。データ生成部１６，２６は、分割データ７７，８７の領域を識別する情報として、例えば、１次元バーコードなどの１次元コードを用いてもよい。
【０１１９】
ここで、図１０で説明したように、学習装置１０または推論装置２０が、フルサイズ画像７５を分割して機械学習を実行した場合の計算時間と、フルサイズ画像７５が分割されることなく機械学習が実行された場合の計算時間との違いについて説明する。
【０１２０】
図１３は、実施の形態２にかかる推論装置がフルサイズ画像を分割して機械学習を実行した場合の計算時間と、フルサイズ画像が分割されることなく機械学習が実行された場合の計算時間との違いを説明するための図である。ここでは、機械学習が、ニューラルネットワークを多層に重ねたディープラーニングで行われた場合の計算時間の違いについて説明する。
【０１２１】
「フルサイズ学習」は、フルサイズ画像７５のままの機械学習であり、「切取学習」は、フルサイズ画像７５を分割データに分割したうえでの機械学習である。ここでは、「フルサイズ学習」の場合の画像１辺の画素数が１０２４であるとし、「切取学習」の場合の画像１辺の画素数が６４であるとする。すなわち、フルサイズ画像７５は、画像１辺の画素数が１０２４であり、分割データの画像は、画像１辺の画素数が６４である。
【０１２２】
「フルサイズ学習」の場合のチャンネル数は、ＲＧＢの３チャンネルであり、合計の画素数は、１０２４×１０２４×３＝３１４５７２８である。また、「切取学習」の場合のチャンネル数は、ＲＧＢ＋位置の４チャンネルであり、合計の画素数は、６４×６４×４＝１６３８４である。
【０１２３】
上述した「フルサイズ学習」が、６０枚のフルサイズ画像７５に対して実行された場合の、学習時間は約７２０分であった。一方、上述した「切取学習」の場合、（１０２４×１０２４）の画素数を有したフルサイズ画像７５は、（１０２４×１０２４）／（６４×６４）＝２５６枚の分割データに分割されることとなる。したがって、「切取学習」の場合、６０枚のフルサイズ画像７５は、２５６×６０＝１５３６０枚の分割データとなる。
【０１２４】
学習装置１０または推論装置２０が、１５３６０枚の分割データに対して「切取学習」を実行すると、学習時間は約４０分であった。
【０１２５】
このように、「フルサイズ学習」では、合計の画素数が３１４５７２８となり、この画素数が「フルサイズ学習」で用いられる学習済モデルの入力層の数に相当することとなる。一方、「切取学習」では、合計の画素数が１６３８４であり、「フルサイズ学習」の場合の１００分の１以下となる。したがって、「切取学習」では、学習済モデルの入力層の数も、「フルサイズ学習」の場合の１００分の１以下となり、入力層と中間層と出力層の間での重みを有する接続の数も大幅に削減することができる。このことから、機械学習に必要なメモリ容量を「フルサイズ学習」の場合と比較して大幅に抑制することができる。「切取学習」の場合、「フルサイズ学習」の場合よりも、画像の合計枚数は増えるが、学習時間は、「フルサイズ学習」の場合の約１／２０に短縮できた。
【０１２６】
このように実施の形態２によれば、学習装置１０が、切取位置画像７８Ｐを分割データに結合させ、結合させた分割データを用いて機械学習を実行するので、学習装置１０は、学習済モデル３１の構造を大きく変えることなくチャンネル数を変えることで、容易に機械学習を行うことが可能となる。
【０１２７】
実施の形態３．
つぎに、図１４を用いて実施の形態３について説明する。実施の形態３では、推論装置２０が、分割データＤ１〜Ｄｎの切取位置情報を、学習済モデルの中間層に直接入力する。
【０１２８】
図１４は、実施の形態３にかかる推論装置が、分割データの切取位置情報を学習済モデルの中間層に直接入力する処理を説明するための図である。なお、ここでは推論装置２０が、正常データを学習する場合について説明するが、正常データの学習は学習装置１０が行ってもよい。
【０１２９】
実施の形態３では、推論装置２０のデータ生成部２６が、フルサイズ画像である全体画像５１から切取った分割データＤｍの切取位置情報を、学習済モデル３２の中間層に直接入力する。分割データＤｍの切取位置情報の例は、分割データＤｍの座標といった数値データである。学習済モデル３２は、学習済モデル３１と同様のニューラルネットワークである。
【０１３０】
データ生成部２６は、分割データＤｍの学習済モデル３２の入力層に対しては、分割データＤｍを入力し、中間層に対しては、分割データＤｍの切取位置情報を入力する。これにより、学習済モデル３２の出力層からは、分割データＲｍが出力される。学習済モデル３２は、学習済モデル３１と同様の方法によって、分割データＤｍに対応する分割データＲｍを出力する。このように、学習済モデル３２は、分割データＤ１〜Ｄｎが入力されると、分割データＲ１〜Ｒｎを出力する。
【０１３１】
データ生成部２６は、図８で説明した処理と同様の処理によって、分割データＤ１〜Ｄｎと分割データＲ１〜Ｒｎとを比較し、分割データＴ１〜Ｔｎを生成する。データ生成部２６は、分割データＴ１〜Ｔｎと、学習済モデル３２の中間層に入力された切取位置情報とに基づいて、分割データＴ１〜Ｔｎを再結合することで、異常指摘マップ３４を生成する。
【０１３２】
このように実施の形態３によれば、推論装置２０が、分割データＤ１〜Ｄｎの切取位置情報を、学習済モデル３２の中間層に直接入力するので、対応情報を生成することなく機械学習を実行することが可能となる。
【０１３３】
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１３４】
１０，１０Ａ  学習装置、１１，１１Ａ，２１  データ取得部、１２，１２Ａ，２２  データ切取部、１３，１３Ａ，２３  位置情報付与部、１４  モデル生成部、１５，１５Ａ  学習済モデル記憶部、１６，１６Ａ，２６  データ生成部、２０  推論装置、２４  推論部、３１，３２  学習済モデル、３３，３３Ａ，３３Ｘ，３４  異常指摘マップ、３５，３６  異常箇所、５１  全体画像、７０  検査対象画像、７５，８５  フルサイズ画像、７５Ｂ，７５Ｇ，７５Ｒ  画像、７６Ｐ，７８Ｐ，８６Ｐ，８８Ｐ  切取位置画像、７７，７７Ｂ，７７Ｇ，７７Ｒ，７９，８７，８９，９０  分割データ、８８Ｑ  識別データ画像、１０１  プロセッサ、１０２  メモリ、１０３  入力装置、１０４  出力装置、Ｄ１〜Ｄｎ，Ｒ１〜Ｒｎ，Ｔ１〜Ｔｎ  分割データ、Ｐ１〜Ｐｎ  切取位置情報。
【要約】
学習装置（１０）が、学習対象のフルサイズのデータである学習対象データを取得するデータ取得部（１１）と、学習対象データを分割して学習対象データの分割データである第１の分割データを複数生成するとともに、第１の分割データのそれぞれに第１の分割データの学習対象データ内での領域を識別する第１の識別情報を付与するデータ生成部（１６）と、第１の分割データと、第１の分割データに対応する第１の識別情報と、の組である第１の対応情報を用いて、第１の分割データの異常を判断するための学習済モデル（３１）を生成するモデル生成部（１４）と、を備える。【図１】
0006818961.tif 000002
【図２】
0006818961.tif 000003
【図３】
0006818961.tif 000004
【図４】
0006818961.tif 000005
【図５】
0006818961.tif 000006
【図６】
0006818961.tif 000007
【図７】
0006818961.tif 000008
【図８】
0006818961.tif 000009
【図９】
0006818961.tif 000010
【図１０】
0006818961.tif 000011
【図１１】
0006818961.tif 000012
【図１２】
0006818961.tif 000013
【図１３】
0006818961.tif 000014
【図１４】
0006818961.tif 000015