(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024143998
(43)【公開日】2024-10-11
(54)【発明の名称】プログラム、方法、情報処理装置、システム
(51)【国際特許分類】
G06V 10/778 20220101AFI20241003BHJP
G06T 7/00 20170101ALI20241003BHJP
【FI】
G06V10/778
G06T7/00 610
G06T7/00 350B
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2023135970
(22)【出願日】2023-08-24
(62)【分割の表示】P 2023054190の分割
【原出願日】2023-03-29
(71)【出願人】
【識別番号】516092005
【氏名又は名称】AI inside株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】渡辺 康仁
(72)【発明者】
【氏名】柚口 祐介
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA03
5L096CA02
5L096CA25
5L096DA02
5L096EA35
5L096FA02
5L096FA64
5L096FA67
5L096GA08
5L096GA59
5L096HA11
5L096JA11
5L096JA16
5L096KA04
(57)【要約】 (修正有)
【課題】製品について異常画像データがない場合又は未知の異常に対しても、異常画像データを新たに作成するプログラムを提供する。
【解決手段】プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、所定の製品画像を含む第1画像を取得する画像取得ステップ(S101)と、第1画像に対して、所定のハイパーパラメータに基づく画像処理モデルを適用することにより第2画像を生成する画像生成ステップ(S103)と、ユーザから、第2画像に含まれる所定の製品画像が、異常画像であるか否かに関する判定指示を受け付ける判定受付ステップ(S105)と、判定受付ステップにおいて受け付けた判定指示に基づき、画像生成ステップにおいて第2画像が所定の製品の異常画像となるように所定のハイパーパラメータを変更する条件変更ステップ(S106)と、を実行する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、
前記プロセッサが、
所定の製品画像を含む第1画像を取得する画像取得ステップと、
前記第1画像に対して、所定のハイパーパラメータに基づく画像処理モデルを適用することにより第2画像を生成する画像生成ステップと、
ユーザから、前記第2画像に含まれる前記所定の製品画像が、異常画像であるか否かに関する判定指示を受け付ける判定受付ステップと、
前記判定受付ステップにおいて受け付けた前記判定指示に基づき、前記画像生成ステップにおいて前記第2画像が前記所定の製品の異常画像となるように前記所定のハイパーパラメータを変更する条件変更ステップと、
を実行するプログラム。
【請求項2】
前記プロセッサが、
前記画像処理モデルに適用可能な複数のハイパーパラメータに含まれる複数の異なるハイパーパラメータ群ごとに、独立して前記画像生成ステップと、前記判定受付ステップと、前記条件変更ステップとを実行する独立処理ステップと、
を実行する請求項1記載のプログラム。
【請求項3】
前記プロセッサが、
前記独立処理ステップを実行した後に、前記複数の異なるハイパーパラメータ群のそれぞれを組み合わせたハイパーパラメータ群ごとに、前記画像生成ステップと、前記判定受付ステップと、前記条件変更ステップとを実行する組合処理ステップと、
を実行する請求項2記載のプログラム。
【請求項4】
前記プロセッサが、
前記独立処理ステップが完了したことを示す指示を受け付ける完了受付ステップと、
を実行し、
前記組合処理ステップは、前記完了受付ステップにおいて受け付けた前記指示に応じて実行されるステップである、
請求項3記載のプログラム。
【請求項5】
前記組合処理ステップは、前記複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群を除外した組み合わせにかかるハイパーパラメータ群ごとに、前記画像生成ステップと、前記判定受付ステップと、前記条件変更ステップとを実行するステップである、
請求項3記載のプログラム。
【請求項6】
前記プロセッサが、
前記複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群の選択を受け付ける選択受付ステップと、
を実行し、
前記組合処理ステップは、前記選択受付ステップにおいて選択された前記ハイパーパラメータ群に基づき、前記複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群を除外した組み合わせにかかるハイパーパラメータ群ごとに、前記画像生成ステップと、前記判定受付ステップと、前記条件変更ステップとを実行するステップである、
請求項5記載のプログラム。
【請求項7】
前記選択受付ステップは、前記所定の製品に応じて、前記複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群の選択を受け付けるステップである、
請求項6記載のプログラム。
【請求項8】
前記画像生成ステップは、
前記画像処理モデルに適用可能な複数のハイパーパラメータのうち、第3ハイパーパラメータ群に含まれる1または複数のハイパーパラメータに基づく前記画像処理モデルを適用することにより第3画像を生成するステップと、
前記画像処理モデルに適用可能な複数のハイパーパラメータのうち、第4ハイパーパラメータ群に含まれる1または複数のハイパーパラメータに基づく前記画像処理モデルを適用することにより第4画像を生成するステップと、
を含み、
前記判定受付ステップは、
ユーザから、前記第3画像に含まれる前記所定の製品画像が、異常画像であるか否かに関する第3判定指示を受け付けるステップと、
ユーザから、前記第4画像に含まれる前記所定の製品画像が、異常画像であるか否かに関する第4判定指示を受け付けるステップと、
を含み、
前記条件変更ステップは、
前記第3判定指示に基づき、前記第3ハイパーパラメータ群を変更するステップと、
前記第4判定指示に基づき、前記第4ハイパーパラメータ群を変更するステップと、
を含む、
請求項1記載のプログラム。
【請求項9】
前記プロセッサが、
前記第1画像に対して、前記第3ハイパーパラメータ群および前記第4ハイパーパラメータ群からなる第5ハイパーパラメータ群に含まれる1または複数のハイパーパラメータに基づく前記画像処理モデルを適用することにより第5画像を生成する第2画像生成ステップと、
ユーザから、前記第5画像に含まれる前記所定の製品画像が、異常画像であるか否かに関する第5判定指示を受け付ける第2判定受付ステップと、
前記第2判定受付ステップにおいて受け付けた前記第5判定指示に基づき、前記第2画像生成ステップにおいて前記第5画像が前記所定の製品の異常画像となるように前記第5ハイパーパラメータ群を変更する第2条件変更ステップと、
を実行する請求項8記載のプログラム。
【請求項10】
前記画像生成ステップは、
前記第1画像に含まれる前記所定の製品画像の領域を抽出するステップと、
抽出した前記所定の製品画像の領域に対して、前記所定のハイパーパラメータに基づく前記画像処理モデルを適用することにより前記第2画像を生成するステップと、
を含む、
請求項1記載のプログラム。
【請求項11】
前記画像生成ステップは、前記第1画像に含まれる前記所定の製品画像の領域を抽出することができなかった場合に、前記第1画像の全体に対して、前記所定のハイパーパラメータに基づく前記画像処理モデルを適用することにより前記第2画像を生成するステップである、
請求項10記載のプログラム。
【請求項12】
前記条件変更ステップは、前記所定のハイパーパラメータおよび前記判定指示に基づき、ベイズ最適化を適用することにより前記所定のハイパーパラメータを変更するステップである、
請求項1記載のプログラム。
【請求項13】
前記条件変更ステップは、前記画像処理モデルにより生成された前記第2画像に基づき学習される異常画像か否かを判定する分類モデルの精度に基づき、前記ベイズ最適化を適用するステップである、
請求項12記載のプログラム。
【請求項14】
前記判定受付ステップは、前記ユーザから、前記第2画像に含まれる前記所定の製品画像の異常画像の種類に関する異常画像種別の入力操作を受け付ける判定受付ステップと、
を実行する請求項1記載のプログラム。
【請求項15】
前記プロセッサが、
前記所定の製品に応じて、前記所定のハイパーパラメータの初期値を選択する初期値選択ステップと、
を実行し、
前記画像生成ステップは、前記初期値選択ステップにおいて選択された前記初期値に基づく前記画像処理モデルを適用することにより前記第2画像を生成するステップである、
請求項1記載のプログラム。
【請求項16】
前記画像処理モデルは、入力画像に対して欠け、歪み、擦り傷の少なくともいずれか1つに関する異常箇所を付加する画像処理を適用可能なモデルであり、前記所定のハイパーパラメータは、前記異常箇所の大きさ、回転角度、反転角度および色彩変更のパラメータを含む、
請求項1記載のプログラム。
【請求項17】
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、前記プロセッサが、請求項1から請求項16のいずれかに係る発明において実行される全てのステップを実行する方法。
【請求項18】
制御部と、記憶部とを備える情報処理装置であって、前記制御部が、請求項1から請求項16のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
【請求項19】
請求項1から請求項16のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、方法、情報処理装置、システムに関する。
【背景技術】
【0002】
深層学習モデル等を用いて製品画像を撮影した画像データに基づき、製品等を検査する技術が知られている。
特許文献1には、少ないサンプル数でも不良/ノイズを判別する推論プログラムの作成が可能な深層学習技術を画像処理工程に実装した自動検査装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
製品について異常画像データがない、または、未知の異常に対して異常画像データを作成することができていないという課題がある。
そこで、本開示は、上記課題を解決すべくなされたものであって、その目的は、製品について異常画像データがない、または、未知の異常に対しても、異常画像データを新たに生成したり、水増しすることである。
【課題を解決するための手段】
【0005】
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、所定の製品画像を含む第1画像を取得する画像取得ステップと、第1画像に対して、所定のハイパーパラメータに基づく画像処理モデルを適用することにより第2画像を生成する画像生成ステップと、ユーザから、第2画像に含まれる所定の製品画像が、異常画像であるか否かに関する判定指示を受け付ける判定受付ステップと、判定受付ステップにおいて受け付けた判定指示に基づき、画像生成ステップにおいて第2画像が所定の製品の異常画像となるように所定のハイパーパラメータを変更する条件変更ステップと、を実行するプログラム。
【発明の効果】
【0006】
本開示によれば、製品について異常画像データがない、または、未知の異常に対しても、異常画像データを新たに生成したり、水増しすることができる。
【図面の簡単な説明】
【0007】
【
図1】システム1の機能構成を示すブロック図である。
【
図2】サーバ10の機能構成を示すブロック図である。
【
図3】管理者端末30の機能構成を示すブロック図である。
【
図4】ユーザテーブル1012のデータ構造を示す図である。
【
図5】画像テーブル1013のデータ構造を示す図である。
【
図6】生成テーブル1014のデータ構造を示す図である。
【
図7】異常画像生成モデル作成処理の動作を示すフローチャートである。
【
図8】異常画像生成モデル作成処理の動作を示す画面例である。
【
図9】異常画像生成モデル作成処理における判定処理を示す画面例である。
【
図10】コンピュータ90の基本的なハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0008】
以下、本開示の実施形態について図面を参照して説明する。実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。なお、以下の実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態に示される構成要素のすべてが、本開示の必須の構成要素であるとは限らない。また、各図は模式図であり、必ずしも厳密に図示されたものではない。
【0009】
<システム1の構成>
本開示におけるシステム1は、所定の製品について製品に関する不具合や欠陥等がない状態の当該製品の外観等を撮影した画像データ(正常画像)から、生産工程等において不具合や欠陥等を有する当該製品の外観等を撮影した画像(異常画像)を生成するための情報処理システムである。なお、本開示は、製品の外観等の画像データに限らず、非破壊検査等により得られる製品の内部状態に関する画像データ、その他、製品に関する任意の画像データに対して適用することが可能である。
システム1は、ネットワークNを介して接続された、サーバ10、ユーザ端末20の情報処理装置を備える。
図1は、システム1の機能構成を示すブロック図である。
図2は、サーバ10の機能構成を示すブロック図である。
図3は、管理者端末30の機能構成を示すブロック図である。
【0010】
各情報処理装置は演算装置と記憶装置とを備えたコンピュータにより構成されている。コンピュータの基本ハードウェア構成および、当該ハードウェア構成により実現されるコンピュータの基本機能構成は後述する。サーバ10、ユーザ端末20のそれぞれについて、後述するコンピュータの基本ハードウェア構成およびコンピュータの基本機能構成と重複する説明は省略する。
【0011】
<サーバ10の構成>
サーバ10は、所定の製品に関する正常画像データに対して、画像処理モデル1021を適用することにより異常画像データを生成する情報処理サービスを提供する情報処理装置である。本開示にかかる情報処理サービスにより、所定の製品について異常画像データがない、または、未知の異常に対しても、異常画像データを新たに生成したり、水増しすることができる。生成された異常画像データは、当該製品の生産ライン等における外観検査等の異常検知のための深層学習モデル等を作成する際の教師データとして用いることができる。つまり、教師データを水増しすることにより、異常検知のための深層学習モデルの性能を向上させることができる。
サーバ10は、記憶部101、制御部104、入力装置106、出力装置108を備える。
【0012】
<サーバ10の記憶部101の構成>
サーバ10の記憶部101は、アプリケーションプログラム1011、ユーザID2011、アプリケーションプログラム2012、ユーザテーブル1012、画像テーブル1013、生成テーブル1014、画像処理モデル1021、分類モデル1022を備える。
【0013】
アプリケーションプログラム1011は、サーバ10の制御部104を各機能ユニットとして機能させるためのプログラムである。
アプリケーションプログラム1011は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
【0014】
ユーザID2011はユーザのアカウントIDである。ユーザは、ユーザ端末20からユーザID2011を、サーバ10へ送信する。サーバ10は、ユーザID2011に基づきユーザを識別し、本開示にかかるサービスをユーザに対して提供する。なお、ユーザID2011には、ユーザ端末20を利用しているユーザを識別するにあたりサーバ10から一時的に付与されるセッションIDなどの情報を含む。
【0015】
アプリケーションプログラム2012は、記憶部201に予め記憶されていても良いし、通信IFを介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としても良い。
アプリケーションプログラム2012は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
アプリケーションプログラム2012は、ユーザ端末20に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)などのインタープリター型プログラミング言語を含む。
【0016】
ユーザテーブル1012は、サービスを利用する会員ユーザ(以下、ユーザ)の情報を記憶し管理するテーブルである。ユーザは、サービスの利用登録を行うことで、当該ユーザの情報がユーザテーブル1012の新しいレコードに記憶される。これにより、ユーザは本開示にかかるサービスを利用できるようになる。
ユーザテーブル1012は、ユーザIDを主キーとして、ユーザID、ユーザ名のカラムを有するテーブルである。
図4は、ユーザテーブル1012のデータ構造を示す図である。
【0017】
ユーザIDは、ユーザを識別するためのユーザ識別情報を記憶する項目である。ユーザ識別情報は、ユーザごとにユニークな値が設定されている項目である。
ユーザ名は、ユーザの氏名を記憶する項目である。ユーザ名は、氏名ではなく、ニックネームなど任意の文字列を設定しても良い。
【0018】
画像テーブル1013には、所定の製品について製品に関する不具合や欠陥等がない状態の当該製品の外観等を撮影した画像データ(正常画像データ)を記憶し管理するテーブルである。
画像テーブル1013は、画像ID、ユーザID、画像データ、画像ラベルのカラムを有するテーブルである。
図5は、画像テーブル1013のデータ構造を示す図である。
【0019】
画像IDは、正常画像データを識別するための画像識別情報を記憶する項目である。
ユーザIDは、正常画像データを記憶したユーザのユーザ識別情報を記憶する項目である。
画像データは、カメラ等により撮影された正常画像データを記憶する項目である。他の場所に配置された画像データファイルに対する参照情報(パス)を記憶するものとしても良い。画像データのフォーマットは、jpeg、png、bmp、tiff、gif、eps、svgなど任意のデータフォーマットで良い。
画像ラベルは、正常画像データに関するラベル情報を記憶する項目である。具体的に、画像ラベルは、画像データに含まれる製品の状態や程度(良、不良)を示す情報、製品の種類や分類を示す製品カテゴリ情報、その他、任意のラベル情報を含むことができる。
【0020】
生成テーブル1014は、正常画像データに画像処理モデル1021を適用することにより生成された生成画像データ(生成データ)を記憶し管理するためのテーブルである。
生成テーブル1014は、生成ID、生成データ、生成条件、判定指示のカラムを有するテーブルである。
図6は、生成テーブル1014のデータ構造を示す図である。
【0021】
生成IDは、生成データを識別するための画像識別情報を記憶する項目である。
生成データは、生成データを記憶する項目である。他の場所に配置された画像データファイルに対する参照情報(パス)を記憶するものとしても良い。画像データのフォーマットは、jpeg、png、bmp、tiff、gif、eps、svgなど任意のデータフォーマットで良い。
生成条件は、生成データを生成する際の生成条件に関する情報を記憶する項目である。生成条件は、正常画像データから、生成データを生成する際に必要な情報をすべて含む。
生成条件は、生成データを生成する際の画像処理モデル1021に対して入力される正常画像データの画像識別情報を含む。
生成条件は、生成データを生成する際の画像処理モデル1021に対して入力されるハイパーパラメータの値を含む。
その他、生成条件は、複数の画像処理モデル1021がある場合には、複数の画像処理モデル1021のうち生成データを生成する際に用いられた画像処理モデル1021を特定する情報、ハイパーパラメータに関する情報を含む。
判定指示は、生成データが、異常画像データか否かに関する判定結果を示す情報を含む。
判定指示は、異常画像データが「異常」である事を示す情報、「異常ではない」ことを示す情報のいずれかを含んでも良い。
判定指示は、異常画像データが「塗装剥がれ」、「腐食」、「色異常」等の異常の種類に関する情報を含んでも良い。
【0022】
画像処理モデル1021は、入力画像データに対して欠け、歪み、擦り傷等の少なくともいずれか1つに関する異常箇所を付加する画像処理を適用可能なモデルである。画像処理モデルは、1または複数のハイパーパラメータを入力変数に含めることが可能である。
ハイパーパラメータは、異常箇所の大きさ、回転角度、反転角度および色彩変更に関するパラメータを含む。ハイパーパラメータは、画像処理モデル1021におけるフィルタサイズや層数などの画像処理モデル1021に応じたハイパーパラメータを含む。入力される1またはハイパーパラメータの値に応じて、画像処理モデルは異なる生成データを生成することができる。また、製品の正常画像を含む入力画像データに対して、異常画像生成モデル作成処理により最適化されたハイパーパラメータに基づく画像処理モデルを適用することにより、当該製品の異常画像を含む出力画像データを出力させることができる。
画像処理モデルに適用されるハイパーパラメータは、「欠け」、「歪み」、「擦り傷」等の画像処理の内容に応じて、それぞれの画像処理に対応する変数空間を被覆可能な複数のハイパーパラメータ群を含んでも良い。
例えば、「欠け」に関する画像処理モデルに応じた、「欠け」に関するハイパーパラメータ群を第1のハイパーパラメータ群とする。「歪み」に関する画像処理モデルに応じた、「歪み」に関するハイパーパラメータ群を第2のハイパーパラメータ群とする。「擦り傷」に関する画像処理モデルに応じた、「擦り傷」に関するハイパーパラメータ群を第3のハイパーパラメータ群とする。それぞれの、第1ハイパーパラメータ群、第2ハイパーパラメータ群、第3ハイパーパラメータ群は異なる変数空間を被覆可能である。
具体的に、ハイパーパラメータ群が10個の成分(ハイパーパラメータ)からなるベクトルである場合に、第1ハイパーパラメータ群が0~3番目の成分からなるベクトル、第2ハイパーパラメータ群が4~6番目の成分からなるベクトル、第3ハイパーパラメータ群が7~10番目の成分からなるベクトルとすることができる。
なお、複数のハイパーパラメータ群は必ずしも独立している必要はなく、それぞれのハイパーパラメータ群に含まれるハイパーパラメータの一部または全部が、他のハイパーパラメータ群に含まれたり重複していても構わない。例えば、第1ハイパーパラメータ群が0~3、6番目の成分からなるベクトル、第2ハイパーパラメータ群が4~6、8、9番目の成分からなるベクトル、第3ハイパーパラメータ群が7~10番目の成分からなるベクトルとしても良い。
なお、本開示にかかる画像処理モデルはルールベースの画像処理モデルである必要はなく、深層学習モデルにおけるGAN(Generative Adversarial Network)等の任意の生成モデルを含んでも良い。具体的に、正常画像データと、任意のハイパーパラメータ等に基づき、確率的に出力画像データを出力可能な任意の画像処理モデルを含む。
【0023】
分類モデル1022は、画像データを入力情報として、入力された画像データが異常画像か否かを示す情報(具体的に0、1などの分類ラベル)を出力する学習モデルである。
【0024】
<サーバ10の制御部104の構成>
サーバ10の制御部104は、ユーザ登録制御部1041、学習部1051、入力制御部2041、出力制御部2042を備える。制御部104は、記憶部101に記憶されたアプリケーションプログラム1011を実行することにより、各機能ユニットが実現される。
【0025】
ユーザ登録制御部1041は、本開示に係るサービスの利用を希望するユーザの情報をユーザテーブル1012に記憶する処理を行う。
ユーザテーブル1012に記憶される情報は、ユーザが任意の情報処理端末からサービス提供者が運営するウェブページなどを開き、所定の入力フォームに情報を入力しサーバ10へ送信する。ユーザ登録制御部1041は、受信した情報をユーザテーブル1012の新しいレコードに記憶し、ユーザ登録が完了する。これにより、ユーザテーブル1012に記憶されたユーザはサービスを利用することができるようになる。
ユーザ登録制御部1041によるユーザ情報のユーザテーブル1012への登録に先立ち、サービス提供者は所定の審査を行いユーザによるサービス利用可否を制限しても良い。
ユーザIDは、ユーザを識別できる任意の文字列または数字で良く、ユーザが希望する任意の文字列または数字、もしくはユーザ登録制御部1041が自動的に任意の文字列または数字を設定しても良い。
【0026】
学習部1051は、画像処理モデル1021に適用するハイパーパラメータを学習するための学習処理を実行する。学習処理については後述する。また、学習部1051は、分類モデルを学習するための学習処理を実行する。
【0027】
<サーバ10の入力装置106の構成>
サーバ10の入力装置106は、カメラ2061、マイク2062、位置情報センサ2063、モーションセンサ2064、タッチデバイス2065を備える。
【0028】
<サーバ10の出力装置108の構成>
サーバ10の出力装置108は、ディスプレイ2081、スピーカ2082を備える。
【0029】
<ユーザ端末20の構成>
ユーザ端末20は、サービスを利用するユーザが操作する情報処理装置である。ユーザ端末20は、例えば、スマートフォン、タブレット等の携帯端末でもよいし、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。また、HMD(Head Mount Display)、腕時計型端末等のウェアラブル端末であってもよい。
ユーザ端末20は、記憶部201、制御部204、入力装置206、出力装置208を備える。
【0030】
<ユーザ端末20の記憶部201の構成>
ユーザ端末20の記憶部201は、ユーザID2011、アプリケーションプログラム2012を備える。
【0031】
ユーザID2011はユーザのアカウントIDである。ユーザは、ユーザ端末20からユーザID2011を、サーバ10へ送信する。サーバ10は、ユーザID2011に基づきユーザを識別し、本開示にかかるサービスをユーザに対して提供する。なお、ユーザID2011には、ユーザ端末20を利用しているユーザを識別するにあたりサーバ10から一時的に付与されるセッションIDなどの情報を含む。
【0032】
アプリケーションプログラム2012は、記憶部201に予め記憶されていても良いし、通信IFを介してサービス提供者が運営するウェブサーバ等からダウンロードする構成としても良い。
アプリケーションプログラム2012は、ウェブブラウザアプリケーションなどのアプリケーションを含む。
アプリケーションプログラム2012は、ユーザ端末20に記憶されているウェブブラウザアプリケーション上で実行されるJavaScript(登録商標)などのインタープリター型プログラミング言語を含む。
【0033】
<ユーザ端末20の制御部204の構成>
ユーザ端末20の制御部204は、入力制御部2041、出力制御部2042を備える。制御部204は、記憶部201に記憶されたアプリケーションプログラム2012を実行することにより、各機能ユニットが実現される。
【0034】
<ユーザ端末20の入力装置206の構成>
ユーザ端末20の入力装置206は、カメラ2061、マイク2062、位置情報センサ2063、モーションセンサ2064、タッチデバイス2065を備える。
【0035】
<ユーザ端末20の出力装置208の構成>
ユーザ端末20の出力装置208は、ディスプレイ2081、スピーカ2082を備える。
【0036】
<システム1の動作>
以下、システム1の各処理について説明する。
図7は、異常画像生成モデル作成処理の動作を示すフローチャートである。
図8は、異常画像生成モデル作成処理の動作を示す画面例である。
図9は、異常画像生成モデル作成処理における判定処理を示す画面例である。
【0037】
<異常画像生成モデル作成処理>
異常画像生成モデル作成処理は、正常画像に基づき生成された生成データに対するユーザからの判定指示に基づき、異常画像を生成するための異常画像生成モデルを作成する処理である。以下に、異常画像生成モデル作成処理(第一実施形態)、異常画像生成モデル作成処理(第二実施形態)について説明する。
【0038】
<異常画像生成モデル作成処理(第一実施形態)の概要>
異常画像生成モデル作成処理(第一実施形態)は、製品に関する正常画像データの登録を受け付け、最適化対象となるハイパーパラメータを特定し、正常画像データに対して当該ハイパーパラメータを用いた画像処理モデルを適用することにより生成データを作成し、生成データをユーザに提示し、当該生成データに対するユーザからの判定指示を受け付け、当該判定指示に基づきハイパーパラメータを最適化する一連の処理である。
【0039】
<異常画像生成モデル作成処理(第一実施形態)の詳細>
以下に、異常画像生成モデル作成処理(第一実施形態)の詳細を説明する。
【0040】
ステップS101において、サーバ10の制御部104は、所定の製品画像を含む第1画像を取得する画像取得ステップを実行する。
具体的に、ユーザは、ユーザ端末20の入力装置206を操作することにより、ウェブブラウザ等に画像登録処理を実行するためのページ(画像登録処理ページ)のURLを入力し、画像登録処理ページを開く。ユーザ端末20の制御部204は、画像登録処理ページを開くためのリクエストを、サーバ10へ送信する。サーバ10の制御部104は、受信したリクエストに基づき、画像登録処理ページを生成しユーザ端末20へ送信する。ユーザ端末20の制御部204は、受信した画像登録処理ページをユーザ端末20のディスプレイ2081に表示する。
【0041】
ユーザは、ユーザ端末20の入力装置206を操作することにより、画像登録処理ページにおいて所定の入力フォーム等に対する入力操作を行うことにより、予めユーザがユーザ端末20の記憶部201に記憶された画像データを選択する。具体的に、画像データは、所定の製品について製品に関する不具合や欠陥等がない状態の当該製品の外観等を撮影した画像データ(正常画像データ)である。
ユーザは、ユーザ端末20の入力装置206を操作することにより、選択された画像データをサーバ10へ送信する操作を行う。ユーザ端末20の制御部204は、ユーザID2011、選択された画像データをサーバ10へ送信する。
サーバ10の制御部104は、ユーザ端末20からユーザID2011、画像データを受信し受け付ける。サーバ10の制御部104は、ユーザID2011、画像データをそれぞれ画像テーブル1013のユーザID、画像データの項目に記憶し登録する。なお、ユーザは、ユーザ端末20の入力装置206を操作することにより、画像登録処理ページに設けられた所定の入力欄等を編集することにより、送信した画像データに関連付けて記憶することが可能な画像ラベルを入力しても良い。ユーザにより入力された画像ラベルは、画像データと関連付けられて画像テーブル1013の画像ラベルの項目に記憶される。
ステップS101において、ユーザは複数の正常画像データをサーバ10に登録することができる。なお、画像処理モデルの性能を向上させるには、所定の製品について様々な角度や、異なる照明条件の下など、異なる撮影条件により撮影がなされた画像データをサーバ10へ登録しておくことが望ましい。
【0042】
ステップS102において、サーバ10の制御部104は、画像処理モデル1021に適用する複数のハイパーパラメータを特定する。画像処理モデル1021に適用可能な複数のハイパーパラメータについては、画像処理モデル1021の説明において述べた通りである。
サーバ10の制御部104は、特定した複数のハイパーパラメータに初期値を設定する。サーバ10の制御部104は、初期値として各ハイパーパラメータにランダムな値を設定する。なお、各ハイパーパラメータに設定される値は、画像処理モデルに応じて定められた所定のハイパーパラメータ空間内におけるランダムな値とする。
【0043】
ステップS102において、サーバ10の制御部104は、所定の製品に応じて、所定のハイパーパラメータの初期値を選択する初期値選択ステップを実行しても良い。
所定のハイパーパラメータの初期値は、ユーザによる選択操作に応じて設定される構成としても良い。例えば、ステップS101において登録した正常画像データに含まれる製品の種類、製品名等に応じユーザが所定の初期値を設定しても良い。
所定のハイパーパラメータの初期値は、画像処理モデル1021の適用対象となる製品の種類等(ねじ、板、バンパー等の自動車部品)、製品名(型番、商品名)に応じて、サーバ10の制御部104により自動的に設定されても良い。
所定のハイパーパラメータ初期値は、画像処理モデル1021の適用対象となる製品の画像データに応じて、サーバ10の制御部104により自動的に設定されても良い。
例えば、サーバ10の制御部104は、不図示の製品の種類に応じて複数のハイパーパラメータの初期値が記憶されたテーブル等を参照して、複数のハイパーパラメータの初期値を設定しても良い。サーバ10の制御部104は、複数のハイパーパラメータのうち、一部のハイパーパラメータの初期値のみを設定し、他のハイパーパラメータの初期値はランダムとしても良い。
ハイパーパラメータの初期値は、所定の製品の種類等において、本開示にかかる異常画像生成モデル作成処理により過去に最適化されたハイパーパラメータの値を初期値としても良い。例えば、他のユーザが過去に所定の製品について異常画像生成モデル作成処理を実行していた場合には、最適化されたハイパーパラメータの値を初期値として選択しても良い。
また、所定のハイパーパラメータの初期値は、予め決まった値である必要はなく、所定の製品の種類等に定められたハイパーパラメータ空間内におけるランダムな値も含む。サーバ10の制御部104は、製品の種類等に基づき狭められた範囲のハイパーパラメータ空間に含まれる任意の初期値を選択する場合も含む。
これにより、所定の製品の種類等に応じてハイパーパラメータの初期値を設定することにより、好適なハイパーパラメータを効率的に探索することができる。例えば、所定の製品の種類ごとに、予め最適化されたハイパーパラメータが既にある場合には当該ハイパーパラメータを初期値とすることにより、ハイパーパラメータを効率的に探索することができる。
【0044】
なお、ハイパーパラメータの初期値は1つである必要はなく、所定の初期値を中心として分布する複数のハイパーパラメータの初期値を設定することができる。サーバ10の制御部は、1つのバッチにおいて1セットの複数のハイパーパラメータに初期値を設定するだけでなく、複数セットの複数のハイパーパラメータにまとめて異なるハイパーパラメータ空間内における初期値を設定しても良い。例えば、1つのバッチにおいて100セットの複数のハイパーパラメータに対してまとめて異なる初期値を設定しても良い。
【0045】
ステップS103において、サーバ10の制御部104は、第1画像に対して、所定のハイパーパラメータに基づく画像処理モデルを適用することにより第2画像を生成する画像生成ステップを実行する。
具体的に、サーバ10の制御部104は、画像テーブル1013を検索しステップS101において登録された1または複数の正常画像データを取得する。サーバ10の制御部104は、取得した1または複数の正常画像データに対して、ステップS102において初期値が設定された複数のハイパーパラメータに基づく画像処理モデル1021を適用することにより、1または複数の画像データ(生成データ)を生成する。
【0046】
ステップS103において、画像生成ステップは、第1画像に含まれる所定の製品画像の領域を抽出するステップと、抽出した所定の製品画像の領域に対して、所定のハイパーパラメータに基づく画像処理モデルを適用することにより第2画像を生成するステップと、を含む。
具体的に、サーバ10の制御部104は、正常画像データに対して画像処理モデル1021を適用する前に、正常画像データに含まれる製品画像の領域を抽出する処理を実行しても良い。正常画像データに含まれる製品画像の領域は、入力対象の正常画像データと、ステップS101において登録された複数の正常画像データに対して平滑化処理(平均処理)を行った画像データとの差分を算定することにより抽出することができる。また、製品画像の領域抽出は、任意のオブジェクト抽出可能な深層学習モデル等に正常画像データを適用することにより抽出しても良い。
サーバ10の制御部104は、正常画像データから、製品画像の領域を抽出できた場合は、当該製品画像の領域に対して、ステップS102において初期値が設定された複数のハイパーパラメータに基づく画像処理モデル1021を適用することにより、生成データを生成する。
これにより、第1画像の一部に所定の製品画像が含まれている場合に、当該所定の製品画像に対してのみ異常画像を生成するための画像処理モデルを適用することができる。
【0047】
ステップS103において、画像生成ステップは、第1画像に含まれる所定の製品画像の領域を抽出することができなかった場合に、第1画像の全体に対して、所定のハイパーパラメータに基づく画像処理モデルを適用することにより第2画像を生成するステップを実行する。
サーバ10の制御部104は、正常画像データから、製品画像の領域を抽出できなかった場合は、正常画像データの全体に対して、ステップS102において初期値が設定された複数のハイパーパラメータに基づく画像処理モデル1021を適用することにより、生成データを生成する。
サーバ10の制御部104は、抽出された製品画像の領域が画像全体に渡っている場合、または、製品画像の領域がない場合に、製品画像の領域を抽出できなかったと判定する。具体的に、サーバ10の制御部104は、抽出された製品画像の画像データの画素値等に基づき、製品画像の領域を抽出できたか否かを判定することができる。
【0048】
ステップS103において、サーバ10の制御部104は、ステップS101において登録された複数の正常画像データに対してまとめて画像処理モデル1021を適用し、生成データを作成しても良い。
ステップS103において、サーバ10の制御部104は、ステップS102の1つのバッチにおいて設定された複数セットのハイパーパラメータに基づく画像処理モデル1021を、複数の正常画像データに対して適用することにより、多数(ハイパーパラメータのセット数と正常画像データの枚数との積)の生成データを作成しても良い。
【0049】
サーバ10の制御部104は、生成された生成データと、当該生成データを生成する際の正常画像データの画像識別情報、ハイパーパラメータの値、および、適用した画像処理モデル1021を特定する情報等を含む生成条件と、をそれぞれ、生成テーブル1014の生成データ、生成条件の項目に記憶する。
【0050】
ステップS104において、サーバ10の制御部104は、1または複数の生成データを含む判定処理ページを生成しユーザ端末20へ送信する。ユーザ端末20の制御部204は、受信した判定処理ページ(判定処理画面)をユーザ端末20のディスプレイ2081に表示する。
図9は、異常画像生成モデル作成処理における判定処理を示す判定処理画面の画面例である。判定処理画面D20は、受信した生成データD201、D202、D203、生成データのそれぞれに対する判定指示を受け付け可能な判定ボタンD211、D212、D213、入力フィールドD221、D222、D223を含む。
【0051】
ステップS105において、サーバ10の制御部104は、ユーザから、第2画像に含まれる所定の製品画像が、異常画像であるか否かに関する判定指示を受け付ける判定受付ステップを実行する。
具体的に、ユーザは、ユーザ端末20のディスプレイ2081に表示された生成データD201、D202、D203を視覚的に確認し、製品について不具合や欠陥等を有する異常画像に該当するか否かの判定を行う。ユーザは、ユーザ端末20の入力装置206を操作することにより、異常画像であると判定された生成データD203に対応する判定ボタンD213を押下することにより、生成データD203に対応する生成ID、判定結果を示す情報をサーバ10へ送信する。サーバ10の制御部104は、生成ID、判定結果を示す情報を受信し、受け付ける。
【0052】
ステップS105において、判定受付ステップは、ユーザから、第2画像に含まれる所定の製品画像の異常画像の種類に関する異常画像種別の入力操作を受け付ける判定受付ステップと。
具体的に、ユーザは、ユーザ端末20の入力装置206を操作することにより、生成データD203に含まれる異常画像データで示される製品の異常の種類や内容に関する情報(塗装剥がれ、腐食、色異常等)を入力フィールドD221、D222、D223に入力可能な構成としても良い。具体的に、判定ボタンD211、D212、D213に代えて、または加えて、テキスト入力フィールド、異常の種類を選択可能なドロップダウン等の選択フィールド等の入力フィールドD221、D222、D223が設けられる構成としても良い。この場合、判定結果を示す情報は、製品の異常の種類や内容に関する情報を含む。
【0053】
サーバ10の制御部104は、受信した生成IDに基づき生成テーブル1014の生成IDの項目を検索し特定されるレコードの判定指示の項目に、受信した判定結果を示す情報を記憶する。
【0054】
ステップS105における判定指示は、特定の1のユーザにより行われる必要はなく、生成データごとに複数の異なるユーザのそれぞれが判定指示を行う構成としても構わない。生成データごとに、判定結果を示す情報を関連付けて記憶することができればどのような手法を用いても構わない。また、ハイパーパラメータの複数のセットごとに複数の異なるユーザのそれぞれが判定指示を行う構成としても構わない。
【0055】
ステップS106において、サーバ10の制御部104は、判定受付ステップにおいて受け付けた判定指示に基づき、画像生成ステップにおいて第2画像が所定の製品の異常画像となるように所定のハイパーパラメータを変更する条件変更ステップを実行する。
具体的に、サーバ10の制御部104は、ステップS105において受け付けた判定指示に基づき、ステップS102において設定されたハイパーパラメータの値を変更する。具体的に、サーバ10の制御部104は、生成テーブル1014に記憶された生成条件、判定指示の値に応じて、ハイパーパラメータの探索範囲を特定する。
本開示においては、ハイパーパラメータの探索方法は、グリッド探索、ベイズ最適化等の任意の探索方法を適用することが可能である。特に、本開示のように広範なハイパーパラメータ空間を探索する場合は、ベイズ最適化によるハイパーパラメータの探索方法が好適である。
【0056】
ステップS106において、条件変更ステップは、所定のハイパーパラメータおよび判定指示に基づき、ベイズ最適化を適用することにより所定のハイパーパラメータを変更するステップを実行する。
【0057】
ステップS106において、条件変更ステップは、画像処理モデルにより生成された第2画像に基づき学習される異常画像か否かを判定する分類モデルの精度に基づき、ベイズ最適化を適用するステップを実行する。
分類モデル1022の精度(正解率、適合率、再現率、f値、F1スコア等を含む)を、画像処理モデル1021のハイパーパラメータの探索にフィードバックしても良い。具体的に、分類モデル1022の精度は、生成データを、学習データと検証データに分割し、検証データに対する予測精度として算出される。
具体的に、ステップS103において、サーバ10の制御部104は、生成された複数の生成データを、学習データと、検証データのデータセットに分割する。サーバ10の制御部104は、学習データに対して分類モデル1022を適用することにより、生成データのそれぞれに対して異常画像か否かを示す分類ラベルを出力する。ステップS105において、サーバ10の制御部104は、生成された複数の生成データ(学習データおよび検証データ)に対して、生成データのそれぞれが異常画像であるか否かに関する判定結果を取得する(教師データ、正答データ)。サーバ10の学習部1051は、学習データに基づき、分類モデル1022を学習させる学習処理を実行する。サーバ10の制御部104は、検証データに基づき、分類モデル1022の予測精度を評価する。具体的に、サーバ10の制御部104は、分類モデル1022が出力する予測値と、検証用データに対する判定結果(データ、正答データ)を比較し、分類モデル1022の精度を算出する。
サーバ10の制御部104は、分類モデル1022に対して算出された精度に基づき、ステップS106におけるベイズ最適化におけるハイパーパラメータの探索範囲を特定する。例えば、精度が高いほど、ハイパーパラメータの探索範囲を狭め(探索範囲をハイパーパラメータ近傍からより狭い範囲とし)、精度が低いほど、ハイパーパラメータの探索範囲を広げる(探索範囲をハイパーパラメータ近傍からより広い範囲とする)。これにより、広大なハイパーパラメータ空間においても、ユーザによる判定指示の煩わしさを最小にしつつ、効率的にハイパーパラメータ空間の探索を行うことができる。
【0058】
ステップS107において、サーバ10の制御部104は、ハイパーパラメータの最適化が完了したか否かを判定する。具体的に、ユーザからの入力操作を受け付けて、最適化が完了したか否かを判定しても良い。また、その他、サーバ10の制御部104が、ハイパーパラメータの品質を検証し、自動的にハイパーパラメータの最適化が完了したか否かを判定しても良い。その他、ハイパーパラメータの収束条件や試行回数などが一定の条件が満たされた場合に、ハイパーパラメータの最適化が完了したと判定しても良い。
サーバ10の制御部104は、最適化が完了したと判定した場合は、ステップS108に進む。
サーバ10の制御部104は、最適化が完了したと判定しなかった場合は、変更されたハイパーパラメータに基づきステップS103からステップS106までの処理を改めて実行する。具体的に、ステップS103においてステップS102において特定されたハイパーパラメータの初期値ではなく、ステップS106において変更されたハイパーパラメータが適用されるのみで処理内容は同一であるため、詳細な説明は省略する。
【0059】
サーバ10の制御部104は、ステップS107において最適化が完了したと判定されるまで、ベイズ最適化等のアルゴリズムに基づくハイパーパラメータの探索処理が実行される。これにより、画像処理モデル1021が生成する生成データが、所定の製品の異常画像データとなるようにハイパーパラメータの値が変更し、更新される。
本開示においては、サーバ10の制御部104は、広大なハイパーパラメータ空間において、ベイズ最適化に基づいて評価値が高い領域(判定指示により異常画像がより生成されると判定されたハイパーパラメータの領域)を優先的に探索することにより、ハイパーパラメータ空間を効率的に探索することができる。
【0060】
ステップS108において、サーバ10の制御部104は、変更されたハイパーパラメータをサーバ10の記憶部101に記憶する。具体的に、正常画像データに含まれる製品の種類、名称等と関連付けて記憶しても良い。これにより、ユーザは、正常画像データに対して、当該ハイパーパラメータに基づく画像処理モデル1021を適用することにより、異常画像データを作成することができる。これにより、異常画像生成モデルの作成が完了する。
【0061】
<異常画像生成モデル作成処理(第二実施形態)の概要>
異常画像生成モデル作成処理(第二実施形態)は、製品に関する正常画像データの登録を受け付け、画像処理モデルに適用可能なハイパーパラメータを構成する複数のハイパーパラメータ群のそれぞれに対して異常画像生成モデル作成処理(第一実施形態)によるハイパーパラメータ群の最適化を実行し、それぞれのハイパーパラメータ群の最適化が完了した後に、複数のハイパーパラメータ群の組み合わせに対して異常画像生成モデル作成処理(第一実施形態)によるハイパーパラメータの最適化を実行する一連の処理である。
【0062】
<異常画像生成モデル作成処理(第二実施形態)の詳細>
以下に、異常画像生成モデル作成処理(第二実施形態)の詳細を説明する。
【0063】
ステップS301は、異常画像生成モデル作成処理(第一実施形態)と同様であるため説明を省略する。
【0064】
ステップS302において、サーバ10の制御部104は、画像処理モデルに適用可能な複数のハイパーパラメータに含まれる複数の異なるハイパーパラメータ群ごとに、独立して画像生成ステップと、判定受付ステップと、条件変更ステップとを実行する独立処理ステップを実行する。
具体的に、サーバ10の制御部104は、画像処理モデル1021に適用可能な複数のハイパーパラメータ群から所定のハイパーパラメータ群を選択し、特定する。
【0065】
サーバ10の制御部104は、複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群の選択を受け付ける選択受付ステップを実行する。
具体的に、ユーザは、ユーザ端末20の入力装置206を操作することにより、複数のハイパーパラメータ群のうち、所定のハイパーパラメータ群を選択または除外して、ハイパーパラメータ群を特定しても良い。
これにより、所定の製品の異常画像生成に適さない1または複数の画像処理に関するハイパーパラメータ群を除外することにより、ハイパーパラメータの空間次元を減らすことができるため、好適なハイパーパラメータの探索時間を減らすことができる。所定の製品(製品の種類、製品名)に関する事前知識(例えば、「擦り傷」に関する異常画像は存在し得ないなど)を利用することにより、ハイパーパラメータの探索空間を狭めることにより好適なハイパーパラメータを効率的に探索することができる。
【0066】
選択受付ステップは、所定の製品に応じて、複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群の選択を受け付けるステップを実行する。
サーバ10の制御部104は、ステップS301において登録した正常画像データに含まれる製品の種類、製品名に応じて、複数のハイパーパラメータ群のうち、所定のハイパーパラメータ群を選択または除外して、ハイパーパラメータ群を特定しても良い。
これにより、所定の製品(製品の種類、製品名)に関する事前知識(例えば、「擦り傷」に関する異常画像は存在し得ないなど)を利用することにより、ハイパーパラメータの探索空間を狭めることにより好適なハイパーパラメータを効率的に探索することができる。
【0067】
サーバ10の制御部104は、特定したハイパーパラメータ群のそれぞれに対して生成判定独立処理を実行する。生成判定独立処理は、異常画像生成モデル作成処理(第一実施形態)のステップS102からS106において、1または複数のハイパーパラメータを、特定されたハイパーパラメータ群に置き換えたのみで処理の内容は同様であるため重複する処理についての説明は省略する。
生成判定独立処理は、複数のハイパーパラメータ群のそれぞれに対して独立して処理が実行される。例えば、生成判定独立処理はそれぞれのハイパーパラメータ群ごとに並列的に実行されても良いし、それぞれのハイパーパラメータ群ごとに順番に実行されても良い。
また、異常画像生成モデル作成処理(第一実施形態)と同様に、1つのバッチごとの複数セットのハイパーパラメータ群に対してまとめて処理を実行しても良い。
【0068】
所定のハイパーパラメータ群は、ユーザによる選択操作に応じて選択される構成としても良い。例えば、ステップS101において登録した正常画像データに含まれる製品の種類に応じ、ユーザがユーザ端末20の入力装置206を操作することにより所定のハイパーパラメータ群を適宜選択してもよい。
所定のハイパーパラメータ群は、画像処理モデル1021の適用対象となる製品の種類等(ねじ、板、バンパー等の自動車部品)に応じて、サーバ10の制御部104により自動的に選択される構成としても良い。具体的に、所定のハイパーパラメータ群は、画像処理モデル1021の適用対象となる製品の画像データを解析した解析結果に基づいて、サーバ10の制御部104により自動的に選択される構成としても良い。
例えば、サーバ10の制御部104は、不図示のテーブル等を参照して、または、任意の深層学習モデル、機械学習モデル、人工知能モデル等を用いて、所定のハイパーパラメータ群を特定することができる。
【0069】
ステップS302において、画像生成ステップは、画像処理モデルに適用可能な複数のハイパーパラメータのうち、第3ハイパーパラメータ群に含まれる1または複数のハイパーパラメータに基づく画像処理モデルを適用することにより第3画像を生成するステップと、
画像処理モデルに適用可能な複数のハイパーパラメータのうち、第4ハイパーパラメータ群に含まれる1または複数のハイパーパラメータに基づく画像処理モデルを適用することにより第4画像を生成するステップと、を含む。
具体的に、特定された複数のハイパーパラメータ群を第3ハイパーパラメータ群(「欠け」に関するハイパーパラメータ)、第4ハイパーパラメータ群(「歪み」に関するハイパーパラメータ)とする。この場合に、生成判定独立処理(ステップS103の生成データ作成処理)において、正常画像データに対して、第3ハイパーパラメータ群、第4ハイパーパラメータ群のそれぞれに基づく画像処理モデル1021に適用することにより、それぞれ、第3生成データ、第4生成データが生成される。なお、第3生成データ、第4生成データは、それぞれ、複数の生成データを含む。
【0070】
ステップS302において、判定受付ステップは、ユーザから、第3画像に含まれる所定の製品画像が、異常画像であるか否かに関する第3判定指示を受け付けるステップと、ユーザから、第4画像に含まれる所定の製品画像が、異常画像であるか否かに関する第4判定指示を受け付けるステップと、を含む。
具体的に、ユーザは、生成判定独立処理(ステップS105の判定指示の受付処理)において、ユーザ端末20のディスプレイ2081に表示された第3生成データ、第4生成データを視覚的に確認し、製品について不具合や欠陥等を有する異常画像に該当するか否かの判定を行う。ユーザは、ユーザ端末20の入力装置206を操作することにより、異常画像であると判定された第3生成データ、第4生成データに対応する判定ボタンを押下することにより、第3生成データ、第4生成データに対応する生成ID、判定結果を示す情報をサーバ10へ送信する。サーバ10の制御部104は、生成ID、判定結果を示す情報を受信し、受け付ける。
サーバ10の制御部104は、受信した生成IDに基づき生成テーブル1014の生成IDの項目を検索し特定されるレコードの判定指示の項目に、受信した判定結果を示す情報を記憶する。
【0071】
ステップS302において、条件変更ステップは、第3判定指示に基づき、第3ハイパーパラメータ群を変更するステップと、第4判定指示に基づき、第4ハイパーパラメータ群を変更するステップと、を含む。
具体的に、サーバ10の制御部104は、第3生成データ、第4生成データに対して受け付けた判定指示のそれぞれに基づき、第3ハイパーパラメータ群、第4ハイパーパラメータ群の値を変更する。具体的に、サーバ10の制御部104は、生成テーブル1014に記憶された生成条件、判定指示の値に応じて、第3ハイパーパラメータ群、第4ハイパーパラメータ群の探索範囲を特定する。
【0072】
ステップS303において、サーバ10の制御部104は、独立処理ステップが完了したことを示す指示を受け付ける完了受付ステップを実行する。
具体的に、ユーザからの入力操作を受け付けて、それぞれのハイパーパラメータ群の最適化が完了したか否かを判定しても良い。
なお、複数のハイパーパラメータ群のそれぞれに対して、異常画像生成モデル作成処理(第一実施形態)のステップS107における最適化が完了したか否かの判定を行い、すべてのハイパーパラメータ群に対する最適化が完了したと判定された場合に、生成判定独立処理が完了したと判定しても良い。
【0073】
ステップS303において、サーバ10の制御部104は、複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群の選択を受け付ける選択受付ステップを実行する。選択受付ステップは、所定の製品に応じて、複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群の選択を受け付けるステップを実行する。
具体的に、ステップS303において、ユーザは、ユーザ端末20の入力装置206を操作することにより、複数のハイパーパラメータ群のうち、所定のハイパーパラメータ群を選択または除外しても良い。また、サーバ10の制御部104は、複数のハイパーパラメータ群のうち、判定指示の内容に応じて、所定のハイパーパラメータ群を選択または除外しても良い。
例えば、生成判定独立処理において異常画像データを十分に生成することができなかったハイパーパラメータ群を除外して、最適化処理を完了しても良い。当該除外されたハイパーパラメータ群に含まれるハイパーパラメータについては、ステップS304以降の処理対象から除外する。複数のハイパーパラメータ群から、特定のハイパーパラメータ群を選択または除外することにより、ハイパーパラメータの探索空間を狭めることができるため好適なハイパーパラメータを効率的に探索することができる。
【0074】
ステップS304において、サーバ10の制御部104は、独立処理ステップを実行した後に、複数の異なるハイパーパラメータ群のそれぞれを組み合わせたハイパーパラメータ群ごとに、画像生成ステップと、判定受付ステップと、条件変更ステップとを実行する組合処理ステップを実行する。
具体的に、サーバ10の制御部104は、ステップS302の生成判定独立処理において複数のハイパーパラメータ群の最適化が完了した後に、複数のハイパーパラメータ群を組み合わせたハイパーパラメータに対して生成判定組合処理を実行する。生成判定組合処理は、異常画像生成モデル作成処理(第一実施形態)のステップS102からS106において、ハイパーパラメータを、複数のハイパーパラメータ群を組み合わせたハイパーパラメータに置き換えたのみで処理の内容は同様であるため重複する処理についての説明は省略する。
【0075】
ステップS304において、組合処理ステップは、完了受付ステップにおいて受け付けた指示に応じて実行されるステップを実行する。
具体的に、生成判定組合処理は、ステップS303における、それぞれのハイパーパラメータ群の最適化が完了したことを示すユーザからの入力操作を受け付けて処理を開始しても良い。
【0076】
ステップS304において、組合処理ステップは、複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群を除外した組み合わせにかかるハイパーパラメータ群ごとに、画像生成ステップと、判定受付ステップと、条件変更ステップとを実行するステップを実行する。
具体的に、ステップS303において、複数のハイパーパラメータ群のうち、所定のハイパーパラメータ群を選択または除外された場合においては、生成判定組合処理において選択されたハイパーパラメータ群に含まれるハイパーパラメータ、または、除外されたハイパーパラメータ群を除いたハイパーパラメータに対して、ハイパーパラメータの探索および最適化が行われる。
これにより、好適なハイパーパラメータの探索時間を減らすことができる。
【0077】
ステップS304において、サーバ10の制御部104は、第1画像に対して、第3ハイパーパラメータ群および第4ハイパーパラメータ群からなる第5ハイパーパラメータ群に含まれる1または複数のハイパーパラメータに基づく画像処理モデルを適用することにより第5画像を生成する第2画像生成ステップを実行する。
具体的に、生成判定組合処理(ステップS103の生成データ作成処理)において、正常画像データに対して、第3ハイパーパラメータ群および第4ハイパーパラメータ群を結合してなる第5ハイパーパラメータ群(「欠け」および「歪み」に関するハイパーパラメータ群)に基づく画像処理モデル1021に適用することにより、第5生成データが生成される。なお、第5生成データは、それぞれ、複数の生成データを含む。
【0078】
ステップS304において、サーバ10の制御部104は、ユーザから、第5画像に含まれる所定の製品画像が、異常画像であるか否かに関する第5判定指示を受け付ける第2判定受付ステップを実行する。
具体的に、ユーザは、生成判定組合処理(ステップS105の判定指示の受付処理)において、ユーザ端末20のディスプレイ2081に表示された第5生成データを視覚的に確認し、製品について不具合や欠陥等を有する異常画像に該当するか否かの判定を行う。ユーザは、ユーザ端末20の入力装置206を操作することにより、異常画像であると判定された第5生成データに対応する判定ボタンを押下することにより、第5生成データに対応する生成ID、判定結果を示す情報をサーバ10へ送信する。サーバ10の制御部104は、生成ID、判定結果を示す情報を受信し、受け付ける。
【0079】
ステップS304において、サーバ10の制御部104は、第2判定受付ステップにおいて受け付けた第5判定指示に基づき、第2画像生成ステップにおいて第5画像が所定の製品の異常画像となるように第5ハイパーパラメータ群を変更する第2条件変更ステップを実行する。
具体的に、サーバ10の制御部104は、第5データに対して受け付けた判定指示に基づき、第5ハイパーパラメータ群の値を変更する。具体的に、サーバ10の制御部104は、生成テーブル1014に記憶された生成条件、判定指示の値に応じて、第5ハイパーパラメータ群の探索範囲を特定する。
【0080】
なお、本開示においては、一例として複数のハイパーパラメータを構成するハイパーパラメータ群のそれぞれに対して生成判定独立処理を実行し、その後、ハイパーパラメータ群のそれぞれを結合してなるハイパーパラメータに対して生成判定組合処理を実行する構成を一例として開示した。なお、ハイパーパラメータ群の組み合わせに対して多段階で生成判定組合処理を実行しても良い。
例えば、20個の成分(ハイパーパラメータ)からなるハイパーパラメータ群が、群A(0~3列番目の成分からなるベクトル)、群B(4~8番目の成分からなるベクトル)、群C(9~11番目の成分からなるベクトル)、群D(12~15番目の成分からなるベクトル)、群E(16~20番目の成分からなるベクトル)の5種類ある場合において、群A~群Eのそれぞれのハイパーパラメータ群に対して生成判定独立処理を実行し、群A~群Eのハイパーパラメータ群のそれぞれに対するハイパーパラメータの探索および最適化を実行する。その後、群Aおよび群B、群Cおよび群Dを結合してなるハイパーパラメータ群(群AB(0~8番目の成分からなるベクトル)、群CD(9~15番目の成分からなるベクトル)とする)のそれぞれに対して、生成判定組合処理を実行し、群AB、群CDのそれぞれに対するハイパーパラメータ群の探索および最適化を実行する。そして、その後、群AB、群CD、群Eを結合してなるハイパーパラメータ群(群ABCDE(0~20番目の成分からなるベクトル))に対して、生成判定組合処理を実行し、ハイパーパラメータ空間の全体に対する探索および最適化を実行しても良い。
これにより、ハイパーパラメータの探索空間を狭めることにより好適なハイパーパラメータを効率的に探索することができる。
【0081】
<コンピュータの基本ハードウェア構成>
図10は、コンピュータ90の基本的なハードウェア構成を示すブロック図である。コンピュータ90は、プロセッサ901、主記憶装置902、補助記憶装置903、通信IF991(インタフェース、Interface)を少なくとも備える。これらは通信バス921により相互に電気的に接続される。
【0082】
プロセッサ901とは、プログラムに記述された命令セットを実行するためのハードウェアである。プロセッサ901は、演算装置、レジスタ、周辺回路等から構成される。
【0083】
主記憶装置902とは、プログラム、及びプログラム等で処理されるデータ等を一時的に記憶するためのものである。例えば、DRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0084】
補助記憶装置903とは、データ及びプログラムを保存するための記憶装置である。例えば、フラッシュメモリ、HDD(Hard Disc Drive)、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等である。
【0085】
通信IF991とは、有線又は無線の通信規格を用いて、他のコンピュータとネットワークを介して通信するための信号を入出力するためのインタフェースである。
ネットワークは、インターネット、LAN、無線基地局等によって構築される各種移動通信システム等で構成される。例えば、ネットワークには、3G、4G、5G移動通信システム、LTE(Long Term Evolution)、所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が含まれる。無線で接続する場合、通信プロトコルとして例えば、Z-Wave(登録商標)、ZigBee(登録商標)、Bluetooth(登録商標)等が含まれる。有線で接続する場合は、ネットワークには、USB(Universal Serial Bus)ケーブル等により直接接続するものも含む。
【0086】
なお、各ハードウェア構成の全部または一部を複数のコンピュータ90に分散して設け、ネットワークを介して相互に接続することによりコンピュータ90を仮想的に実現することができる。このように、コンピュータ90は、単一の筐体、ケースに収納されたコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0087】
<コンピュータ90の基本機能構成>
コンピュータ90の基本ハードウェア構成(
図10)により実現されるコンピュータの機能構成を説明する。コンピュータは、制御部、記憶部、通信部の機能ユニットを少なくとも備える。
【0088】
なお、コンピュータ90が備える機能ユニットは、それぞれの機能ユニットの全部または一部を、ネットワークで相互に接続された複数のコンピュータ90に分散して設けても実現することができる。コンピュータ90は、単一のコンピュータ90だけでなく、仮想化されたコンピュータシステムも含む概念である。
【0089】
制御部は、プロセッサ901が補助記憶装置903に記憶された各種プログラムを読み出して主記憶装置902に展開し、当該プログラムに従って処理を実行することにより実現される。制御部は、プログラムの種類に応じて様々な情報処理を行う機能ユニットを実現することができる。これにより、コンピュータは情報処理を行う情報処理装置として実現される。
【0090】
記憶部は、主記憶装置902、補助記憶装置903により実現される。記憶部は、データ、各種プログラム、各種データベースを記憶する。また、プロセッサ901は、プログラムに従って記憶部に対応する記憶領域を主記憶装置902または補助記憶装置903に確保することができる。また、制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶されたデータの追加、更新、削除処理を実行させることができる。
【0091】
データベースは、リレーショナルデータベースを指し、行と列によって構造的に規定された表形式のテーブル、マスタと呼ばれるデータ集合を、互いに関連づけて管理するためのものである。データベースでは、表をテーブル、マスタ、表の列をカラム、表の行をレコードと呼ぶ。リレーショナルデータベースでは、テーブル、マスタ同士の関係を設定し、関連づけることができる。
通常、各テーブル、各マスタにはレコードを一意に特定するための主キーとなるカラムが設定されるが、カラムへの主キーの設定は必須ではない。制御部は、各種プログラムに従ってプロセッサ901に、記憶部に記憶された特定のテーブル、マスタにレコードを追加、削除、更新を実行させることができる。
また、記憶部に、データ、各種プログラム、各種データベースを記憶させることにより、本開示にかかる情報処理装置、情報処理システムが製造されたものとして捉えることができる。
【0092】
なお、本開示におけるデータベース、マスタは、情報が構造的に規定された任意のデータ構造体(リスト、辞書、連想配列、オブジェクトなど)を含み得る。データ構造体には、データと、任意のプログラミング言語により記述された関数、クラス、メソッドなどを組み合わせることにより、データ構造体と見なし得るデータも含むものとする。
【0093】
通信部は、通信IF991により実現される。通信部は、ネットワークを介して他のコンピュータ90と通信を行う機能を実現する。通信部は、他のコンピュータ90から送信された情報を受信し、制御部へ入力することができる。制御部は、各種プログラムに従ってプロセッサ901に、受信した情報に対する情報処理を実行させることができる。また、通信部は、制御部から出力された情報を他のコンピュータ90へ送信することができる。
【0094】
<付記>
以上の各実施形態で説明した事項を以下に付記する。
【0095】
(付記1)
プロセッサと、記憶部とを備えるコンピュータに実行させるためのプログラムであって、プロセッサが、所定の製品画像を含む第1画像を取得する画像取得ステップ(S101)と、第1画像に対して、所定のハイパーパラメータに基づく画像処理モデルを適用することにより第2画像を生成する画像生成ステップ(S103)と、ユーザから、第2画像に含まれる所定の製品画像が、異常画像であるか否かに関する判定指示を受け付ける判定受付ステップ(S105)と、判定受付ステップにおいて受け付けた判定指示に基づき、画像生成ステップにおいて第2画像が所定の製品の異常画像となるように所定のハイパーパラメータを変更する条件変更ステップ(S106)と、を実行するプログラム。
これにより、所定の製品について異常画像データがない、または、未知の異常に対しても、オペレータの異常画像に対する判定指示を利用することにより、異常画像データを新たに生成したり、水増しすることができる。また、製品ごとの異常に関する事前の予備知識を用意することなく(予め外観検査を行う対象品および、異常の種類(「欠け」、「歪み」、「擦り傷」等)が既知である必要がない)、オペレータの判定指示を利用して、様々な製品ごとの異常画像データを新たに生成できる。つまり、特定の製品だけではなく、様々な製品において様々な異常画像データを汎用的に生成することができる。
なお、生成した異常画像データは、製品製造の際に用いられる異常検知モデルの教師データ等として活用することができる。
【0096】
(付記2)
プロセッサが、画像処理モデルに適用可能な複数のハイパーパラメータに含まれる複数の異なるハイパーパラメータ群ごとに、独立して画像生成ステップと、判定受付ステップと、条件変更ステップとを実行する独立処理ステップ(S302)と、を実行する付記1記載のプログラム。
本開示においては、製品画像に対して適用される画像処理モデルに適用可能なハイパーパラメータは、「欠け」、「歪み」、「擦り傷」等の画像処理の内容に応じた複数の異なるハイパーパラメータ群を含んでおり、それぞれのハイパーパラメータ群をそれぞれ独立して最適化することにより、ハイパーパラメータの探索空間を狭めることにより好適なハイパーパラメータを効率的に探索することができる。
【0097】
(付記3)
プロセッサが、独立処理ステップを実行した後に、複数の異なるハイパーパラメータ群のそれぞれを組み合わせたハイパーパラメータ群ごとに、画像生成ステップと、判定受付ステップと、条件変更ステップとを実行する組合処理ステップ(S304)と、を実行する付記2記載のプログラム。
これにより、独立した複数のハイパーパラメータ群のそれぞれを最適化した後に、「欠け」、「歪み」、「擦り傷」等の画像処理の組み合わせに応じてハイパーパラメータの探索を行うことにより、好適なハイパーパラメータを効率的に探索しつつ、「欠け」かつ「擦り傷」等の複数の画像処理を組み合わせた異常画像を適切に生成することができる。つまり、特定の製品だけではなく、様々な製品における様々な異常画像データの生成に好適なハイパーパラメータを効率的に探索することができる。
【0098】
(付記4)
プロセッサが、独立処理ステップが完了したことを示す指示を受け付ける完了受付ステップ(S303)と、を実行し、組合処理ステップ(S304)は、完了受付ステップにおいて受け付けた指示に応じて実行されるステップである、付記3記載のプログラム。
これにより、複数のハイパーパラメータ群のそれぞれを最適化が完了した後に、「欠け」、「歪み」、「擦り傷」等の画像処理の組み合わせに応じてハイパーパラメータの探索を行うことにより、ハイパーパラメータの探索空間を狭めることにより好適なハイパーパラメータを効率的に探索することができる。
【0099】
(付記5)
組合処理ステップ(S304)は、複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群を除外した組み合わせにかかるハイパーパラメータ群ごとに、画像生成ステップと、判定受付ステップと、条件変更ステップとを実行するステップである、付記3記載のプログラム。
これにより、複数のハイパーパラメータ群のうち、所定の製品の異常画像生成に適さない1または複数の画像処理に関するハイパーパラメータ群を除外することにより、ハイパーパラメータの探索空間を狭めることにより好適なハイパーパラメータを効率的に探索することができる。
【0100】
(付記6)
プロセッサが、複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群の選択を受け付ける選択受付ステップ(S303)と、を実行し、組合処理ステップ(S304)は、選択受付ステップにおいて選択されたハイパーパラメータ群に基づき、複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群を除外した組み合わせにかかるハイパーパラメータ群ごとに、画像生成ステップと、判定受付ステップと、条件変更ステップとを実行するステップである、付記5記載のプログラム。
これにより、ユーザ等から受け付けたりまたはコンピュータにより自動的に行われる選択指示に応じて、複数のハイパーパラメータ群のうち、所定の製品の異常画像生成に適さない1または複数の画像処理に関するハイパーパラメータ群を除外することにより、好適なハイパーパラメータの探索時間を減らすことができる。
所定の製品に関する事前知識(例えば、「擦り傷」に関する異常画像は存在し得ないなど)を利用することにより、ハイパーパラメータの探索空間を狭めることにより好適なハイパーパラメータを効率的に探索することができる。
【0101】
(付記7)
選択受付ステップ(S303)は、所定の製品に応じて、複数の異なるハイパーパラメータ群のうち一部のハイパーパラメータ群の選択を受け付けるステップである、付記6記載のプログラム。
所定の製品に関する事前知識(例えば、「擦り傷」に関する異常画像は存在し得ないなど)を利用することにより、ハイパーパラメータの探索空間を狭めることにより好適なハイパーパラメータを効率的に探索することができる。
【0102】
(付記8)
画像生成ステップ(S302)は、画像処理モデルに適用可能な複数のハイパーパラメータのうち、第3ハイパーパラメータ群に含まれる1または複数のハイパーパラメータに基づく画像処理モデルを適用することにより第3画像を生成するステップと、画像処理モデルに適用可能な複数のハイパーパラメータのうち、第4ハイパーパラメータ群に含まれる1または複数のハイパーパラメータに基づく画像処理モデルを適用することにより第4画像を生成するステップと、を含み、判定受付ステップ(S302)は、ユーザから、第3画像に含まれる所定の製品画像が、異常画像であるか否かに関する第3判定指示を受け付けるステップと、ユーザから、第4画像に含まれる所定の製品画像が、異常画像であるか否かに関する第4判定指示を受け付けるステップと、を含み、条件変更ステップ(S302)は、第3判定指示に基づき、第3ハイパーパラメータ群を変更するステップと、第4判定指示に基づき、第4ハイパーパラメータ群を変更するステップと、を含む、付記1記載のプログラム。
本開示においては、製品画像に対して適用される画像処理モデルに適用可能なハイパーパラメータは、「欠け」、「歪み」、「擦り傷」等の画像処理の内容に応じた複数の異なるハイパーパラメータ群を含んでおり、それぞれのハイパーパラメータ群をそれぞれ独立して最適化することにより、ハイパーパラメータの探索空間を狭めることにより好適なハイパーパラメータを効率的に探索することができる。
【0103】
(付記9)
プロセッサが、第1画像に対して、第3ハイパーパラメータ群および第4ハイパーパラメータ群からなる第5ハイパーパラメータ群に含まれる1または複数のハイパーパラメータに基づく画像処理モデルを適用することにより第5画像を生成する第2画像生成ステップ(S304)と、ユーザから、第5画像に含まれる所定の製品画像が、異常画像であるか否かに関する第5判定指示を受け付ける第2判定受付ステップ(S304)と、第2判定受付ステップにおいて受け付けた第5判定指示に基づき、第2画像生成ステップにおいて第5画像が所定の製品の異常画像となるように第5ハイパーパラメータ群を変更する第2条件変更ステップ(S304)と、を実行する付記8記載のプログラム。
これにより、複数のハイパーパラメータ群のそれぞれを最適化した後に、「欠け」、「歪み」、「擦り傷」等の画像処理の組み合わせに応じてハイパーパラメータの探索を行うことにより、好適なハイパーパラメータの探索時間を減らしつつ、「欠け」かつ「擦り傷」等の複数の画像処理を組み合わせた異常画像を適切に生成することができる。つまり、特定の製品だけではなく、様々な製品における様々な異常画像データの生成に好適なハイパーパラメータを効率的に探索することができる。
【0104】
(付記10)
画像生成ステップ(S103)は、第1画像に含まれる所定の製品画像の領域を抽出するステップと、抽出した所定の製品画像の領域に対して、所定のハイパーパラメータに基づく画像処理モデルを適用することにより第2画像を生成するステップと、を含む、付記1記載のプログラム。
これにより、第1画像の一部に所定の製品画像が含まれている場合に、当該所定の製品画像に対してのみ異常画像を生成するための画像処理モデルを適用することができる。
【0105】
(付記11)
画像生成ステップ(S103)は、第1画像に含まれる所定の製品画像の領域を抽出することができなかった場合に、第1画像の全体に対して、所定のハイパーパラメータに基づく画像処理モデルを適用することにより第2画像を生成するステップである、付記10記載のプログラム。
これにより、第1画像の全体に所定の製品画像が含まれている場合に、当該所定の製品画像の全体に対して異常画像を生成するための画像処理モデルを適用することができる。
【0106】
(付記12)
条件変更ステップ(S106)は、所定のハイパーパラメータおよび判定指示に基づき、ベイズ最適化を適用することにより所定のハイパーパラメータを変更するステップである、付記1記載のプログラム。
これにより、本開示のように特定の製品だけではなく、様々な製品における様々な異常画像データを生成するように、ハイパーパラメータの探索空間が広範である場合においても、好適なハイパーパラメータを効率的に探索することができる。
【0107】
(付記13)
条件変更ステップ(S106)は、画像処理モデルにより生成された第2画像に基づき学習される異常画像か否かを判定する分類モデルの精度に基づき、ベイズ最適化を適用するステップである、付記12記載のプログラム。
これにより、好適なハイパーパラメータを効率的に探索することができる。
【0108】
(付記14)
判定受付ステップ(S105)は、ユーザから、第2画像に含まれる所定の製品画像の異常画像の種類に関する異常画像種別の入力操作を受け付ける判定受付ステップと、を実行する付記1記載のプログラム。
これにより、生成された異常画像について「異常」か、「異常ではない」か、の2種類の判定指示だけではなく、「塗装剥がれ」、「腐食」、「色異常」などの異常の種類に応じた異常画像を生成することができる。
【0109】
(付記15)
プロセッサが、所定の製品に応じて、所定のハイパーパラメータの初期値を選択する初期値選択ステップ(S102)と、を実行し、画像生成ステップ(S103)は、初期値選択ステップにおいて選択された初期値に基づく画像処理モデルを適用することにより第2画像を生成するステップである、付記1記載のプログラム。
これにより、所定の製品の種類等に応じてハイパーパラメータの初期値を設定することにより、好適なハイパーパラメータを効率的に探索することができる。例えば、所定の製品の種類ごとに、予め最適化されたハイパーパラメータが既にある場合には当該ハイパーパラメータを初期値とすることにより、ハイパーパラメータを効率的に探索することができる。
【0110】
(付記16)
画像処理モデルは、入力画像に対して欠け、歪み、擦り傷の少なくともいずれか1つに関する異常箇所を付加する画像処理を適用可能なモデルであり、所定のハイパーパラメータは、異常箇所の大きさ、回転角度、反転角度および色彩変更のパラメータを含む、付記1記載のプログラム。
これにより、特定の製品だけではなく、様々な製品における様々な異常画像データの生成を効率的に行うことができる。
【0111】
(付記17)
プロセッサと、メモリとを備えるコンピュータに実行される方法であって、プロセッサが、付記1から付記16のいずれかに係る発明において実行される全てのステップを実行する方法。
これにより、所定の製品について異常画像データがない、または、未知の異常に対しても、オペレータの異常画像に対する判定指示を利用することにより、異常画像データを新たに生成したり、水増しすることができる。また、製品ごとの異常に関する事前の予備知識を用意することなく(予め外観検査を行う対象品および、異常の種類(「欠け」、「歪み」、「擦り傷」等)が既知である必要がない)、オペレータの判定指示を利用して、様々な製品ごとの異常画像データを新たに生成できる。つまり、特定の製品だけではなく、様々な製品において様々な異常画像データを汎用的に生成することができる。
なお、生成した異常画像データは、製品製造の際に用いられる異常検知モデルの教師データ等として活用することができる。
【0112】
(付記18)
制御部と、記憶部とを備える情報処理装置であって、制御部が、付記1から付記16のいずれかに係る発明において実行される全てのステップを実行する情報処理装置。
これにより、所定の製品について異常画像データがない、または、未知の異常に対しても、オペレータの異常画像に対する判定指示を利用することにより、異常画像データを新たに生成したり、水増しすることができる。また、製品ごとの異常に関する事前の予備知識を用意することなく(予め外観検査を行う対象品および、異常の種類(「欠け」、「歪み」、「擦り傷」等)が既知である必要がない)、オペレータの判定指示を利用して、様々な製品ごとの異常画像データを新たに生成できる。つまり、特定の製品だけではなく、様々な製品において様々な異常画像データを汎用的に生成することができる。
なお、生成した異常画像データは、製品製造の際に用いられる異常検知モデルの教師データ等として活用することができる。
【0113】
(付記19)
付記1から付記16のいずれかに係る発明において実行される全てのステップを実行する手段を備えるシステム。
これにより、所定の製品について異常画像データがない、または、未知の異常に対しても、オペレータの異常画像に対する判定指示を利用することにより、異常画像データを新たに生成したり、水増しすることができる。また、製品ごとの異常に関する事前の予備知識を用意することなく(予め外観検査を行う対象品および、異常の種類(「欠け」、「歪み」、「擦り傷」等)が既知である必要がない)、オペレータの判定指示を利用して、様々な製品ごとの異常画像データを新たに生成できる。つまり、特定の製品だけではなく、様々な製品において様々な異常画像データを汎用的に生成することができる。
なお、生成した異常画像データは、製品製造の際に用いられる異常検知モデルの教師データ等として活用することができる。
【符号の説明】
【0114】
1 システム、10 サーバ、101 記憶部、104 制御部、106 入力装置、108 出力装置、20 ユーザ端末、201 記憶部、204 制御部、206 入力装置、208 出力装置