(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-24
(45)【発行日】2023-03-06
(54)【発明の名称】検査システム及び検査方法
(51)【国際特許分類】
G06F 8/34 20180101AFI20230227BHJP
G06F 8/60 20180101ALI20230227BHJP
H04L 67/10 20220101ALI20230227BHJP
【FI】
G06F8/34
G06F8/60
H04L67/10
(21)【出願番号】P 2021511708
(86)(22)【出願日】2019-03-29
(86)【国際出願番号】 JP2019014228
(87)【国際公開番号】W WO2020202331
(87)【国際公開日】2020-10-08
【審査請求日】2021-10-22
(73)【特許権者】
【識別番号】519365067
【氏名又は名称】Musashi AI株式会社
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100103263
【氏名又は名称】川崎 康
(72)【発明者】
【氏名】村田 宗太
(72)【発明者】
【氏名】三浦 智
【審査官】赤穂 州一郎
(56)【参考文献】
【文献】米国特許出願公開第2019/0096055(US,A1)
【文献】特開平03-158906(JP,A)
【文献】特開2003-022184(JP,A)
【文献】国際公開第2005/020071(WO,A1)
【文献】特開2018-132962(JP,A)
【文献】特開平06-332823(JP,A)
【文献】特開2018-055629(JP,A)
【文献】進藤智則,教師なしディープラーニングで製造不良品を自動検出 武蔵精密工業が自動車ギア検査にautoencoder,日経Robotics,日本,日経BP社,2018年04月10日,第34号,pp.3-8,ISSN 2189-5783, 第5頁右欄第15行-第6頁左欄第2行、
図3
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/34
G06F 8/60
H04L 67/10
(57)【特許請求の範囲】
【請求項1】
学習結果に基づいて、検査対象物の検査を行うAI(Artificial Intelligence)処理装置と、
前記AI処理装置との間で通信を行うとともに、所定の機器を制御する制御装置と
前記AI処理装置で実行される第1のプログラムと、前記制御装置で実行される第2のプログラムとを自動生成する情報処理装置と、を備えた検査システムであって、
前記AI処理装置は、
前記情報処理装置から送信された前記第1のプログラムを受信する第1の通信部と、
前記第1の通信部で受信された前記第1のプログラムを実行する第1の実行部と、を有し、
前記情報処理装置は、
前記第1のプログラムの処理内容に関する情報をユーザに入力させる複数の入力欄を有する第1のUI(User Interface)画面と、前記第2のプログラムの処理内容に関する情報をユーザに入力させる複数の入力欄を有する第2のUI画面とを表示部に表示させるUI生成部と、
前記第1のUI画面の前記複数の入力欄に入力された情報に基づいて前記第1のプログラムを生成し、かつ前記第2のUI画面の前記複数の入力欄に入力された情報に基づいて前記第2のプログラムを生成するプログラム生成部と、
前記第1のプログラムを前記AI処理装置に送信し、かつ前記第2のプログラムを前記制御装置に送信する第2の通信部と、を有し、
前記制御装置は、
前記第2の通信部から送信された前記第2のプログラムを受信する第3の通信部と、
前記第3の通信部で受信された前記第2のプログラムを実行する第2の実行部と、を有し、
前記第1のプログラムは、前記AI処理装置が前記制御装置から受信する情報または前記AI処理装置が前記制御装置へ送信すべき情報に応じた処理を前記AI処理装置が実行するように前記情報処理装置にて生成されるものであり、
前記第2のプログラムは、前記制御装置が前記AI処理装置から受信する情報または前記制御装置が前記AI処理装置へ送信すべき情報に応じた処理を前記制御装置が実行するように前記情報処理装置にて生成されるものであ
り、
前記第1のUI画面は、それぞれ関連づけて入力される第1の入力欄、第2の入力欄、第3の入力欄及び第4の入力欄を有し、
前記第1の入力欄には、前記制御装置から送信されて前記AI処理装置で受信されるメッセージの識別番号が入力され、
前記第2の入力欄には、前記AI処理装置から前記制御装置に送信されるメッセージの識別番号が入力され、
前記第3の入力欄には、前記AI処理装置にて実行されるファイルの名称が入力され、
前記第4の入力欄には、前記ファイルに含まれる関数の名称が入力され、
前記情報処理装置は、前記第1の入力欄に入力された識別番号に基づいて、前記第3の入力欄に入力されたファイル名のプログラムモジュールにおける前記第4の入力欄に入力された関数を前記AI処理装置が実行すると共に、前記第2の入力欄に入力された識別番号を前記AI処理装置から前記制御装置に送信する一連の処理手続が記述された前記第1のプログラムを生成する、検査システム。
【請求項2】
前記第1乃至第4の入力欄は、それぞれ関連づけて入力される4つの入力情報を一組とする複数組分の入力情報を入力する欄を有し、
前記情報処理装置は、前記複数組分の入力情報に基づいて、前記第1のプログラムを生成する、請求項
1に記載の検査システム。
【請求項3】
前記第1のUI画面は、前記第1乃至第4の入力欄に関連づけて入力される、第1の選択部及び第2の選択部を有し、
前記第1の選択部では、対応する処理結果を前記AI処理装置内に保持するか否かが選択され、
前記第2の選択部では、前記AI処理装置内に保持している処理結果を前記制御装置に送信するか否かが選択され、
前記情報処理装置は、前記第1の選択部にて処理結果の保持が選択されると、前記第1乃至第4の入力欄に基づいて前記AI処理装置にて実行された処理結果を前記AI処理装置内に保持し、前記第2の選択部にて前記制御装置への送信が選択されると、前記AI処理装置内に保持している処理結果を前記制御装置に送信する一連の処理手続が記述された前記第1のプログラムを生成する、請求項
1又は2に記載の検査システム。
【請求項4】
前記第2のUI画面は、それぞれ関連づけて入力される第5の入力欄及び第6の入力欄と、それぞれ関連づけて入力される第7の入力欄及び第8の入力欄と、を有し、
前記第5の入力欄には、前記AI処理装置から送信されて前記制御装置で受信されるメッセージの識別番号が入力され、
前記第6の入力欄には、前記第5の入力欄に入力された識別番号に基づいて前記制御装置にて実行される第1のプログラムモジュールの名称が入力され、
前記第7の入力欄には、前記制御装置にて実行される第2のプログラムモジュールの名称が入力され、
前記第8の入力欄には、前記第2のプログラムモジュールが実行されたときに前記制御装置から前記AI処理装置に送信されるメッセージの識別番号が入力され、
前記情報処理装置は、前記第5の入力欄に入力された識別番号に基づいて前記第6の入力欄に入力された第1のプログラムモジュールを前記制御装置にて実行し、かつ前記第7の入力欄に入力された第2のプログラムモジュールを前記制御装置が実行した場合に前記第8の入力欄に入力された識別番号を前記制御装置から前記AI処理装置に送信する一連の処理手続が記述された前記第2のプログラムを生成する、請求項1乃至
3のいずれか一項に記載の検査システム。
【請求項5】
前記第1のプログラムは、前記検査対象物のタイプを判別する処理と、判別結果を前記制御装置に送信する処理とを含む、請求項1乃至
4のいずれか一項に記載の検査システム。
【請求項6】
前記検査対象物を撮影する撮影部を有し、
前記制御装置は、前記検査対象物が複数の方向から前記撮影部にて撮影されるように、前記検査対象物及び前記撮影部の少なくとも一方を移動させる制御を行う、請求項1乃至
5のいずれか一項に記載の検査システム。
【請求項7】
学習結果に基づいて、検査対象物の検査を行うAI(Artificial Intelligence)処理装置と、
前記AI処理装置との間で通信を行うとともに所定の機器を制御する制御装置と、
前記AI処理装置で実行される第1のプログラムと、前記制御装置で実行される第2のプログラムとを自動生成する情報処理装置と、
を用いて前記検査対象物の検査を行う検査方法であって、
前記情報処理装置に、
前記第1のプログラムの処理内容に関する情報をユーザが入力する複数の入力欄を有する第1のUI(User Interface)画面を表示部に表示させ、
前記第2のプログラムの処理内容に関する情報をユーザが入力する複数の入力欄を有する第2のUI画面と前記表示部に表示させ、
前記第1のUI画面の前記複数の入力欄に入力された情報に基づいて前記第1のプログラムを生成させ、
前記第2のUI画面の前記複数の入力欄に入力された情報に基づいて前記第2のプログラムを生成させ、
前記第1のプログラムを前記AI処理装置に送信させ、
前記第2のプログラムを前記制御装置に送信させ、
前記第1のプログラムは、前記AI処理装置が前記制御装置から受信する情報または前記AI処理装置が前記制御装置へ送信すべき情報に応じた処理を前記AI処理装置が実行するように前記情報処理装置にて生成されたものであり、
前記第2のプログラムは、前記制御装置が前記AI処理装置から受信する情報または前記制御装置が前記AI処理装置へ送信すべき情報に応じた処理を前記制御装置が実行するように前記情報処理装置にて生成されたものであ
り、
前記第1のUI画面には、それぞれ関連づけて入力される第1の入力欄、第2の入力欄、第3の入力欄及び第4の入力欄が設けられ、
前記第1の入力欄には、前記制御装置から送信されて前記AI処理装置で受信されるメッセージの識別番号が入力され、
前記第2の入力欄には、前記AI処理装置から前記制御装置に送信されるメッセージの識別番号が入力され、
前記第3の入力欄には、前記AI処理装置にて実行されるファイルの名称が入力され、
前記第4の入力欄には、前記ファイルに含まれる関数の名称が入力され、
前記情報処理装置に、前記第1の入力欄に入力された識別番号に基づいて、前記第3の入力欄に入力されたファイル名のプログラムモジュールにおける前記第4の入力欄に入力された関数を前記AI処理装置が実行すると共に、前記第2の入力欄に入力された識別番号を前記AI処理装置から前記制御装置に送信する一連の処理手続が記述された前記第1のプログラムを生成させる、検査方法。
【請求項8】
前記AI処理装置、前記制御装置及び前記情報処理装置は、ネットワークに接続されており、
前記情報処理装置は、前記ネットワークを介して前記表示部に前記第1のUI画面及び前記第2のUI画面を表示させ、
ユーザが前記第1のUI画面に入力した前記第1のプログラムの処理内容に関する情報と、前記第2のUI画面に入力した前記第2のプログラムの処理内容に関する情報とを、前記ネットワークを介して前記情報処理装置に送信し、
前記情報処理装置にて生成された前記第1のプログラムを、前記ネットワークを介して前記AI処理装置に送信させ、
前記情報処理装置にて生成された前記第2のプログラムを、前記ネットワークを介して前記制御装置に送信させる、請求項
7に記載の検査方法。
【請求項9】
前記第1乃至第4の入力欄には、それぞれ関連づけて入力される4つの入力情報を一組とする複数組分の入力情報を入力する欄が設けられ、
前記情報処理装置に、前記複数組分の入力情報に基づいて、前記第1のプログラムを生成させる、請求項
7又は8に記載の検査方法。
【請求項10】
前記第1のUI画面には、前記第1乃至第4の入力欄に関連づけて入力される、第1の選択部及び第2の選択部が設けられ、
前記第1の選択部では、対応する処理結果を前記AI処理装置内に保持するか否かが選択され、
前記第2の選択部では、前記AI処理装置内に保持している処理結果を前記制御装置に送信するか否かが選択され、
前記情報処理装置に、前記第1の選択部にて処理結果の保持が選択されると、前記第1乃至第4の入力欄に基づいて前記AI処理装置にて実行された処理結果を前記AI処理装置内に保持し、前記第2の選択部にて前記制御装置への送信が選択されると、前記AI処理装置内に保持している処理結果を前記制御装置に送信する一連の処理手続が記述された前記第1のプログラムを生成させる、請求項
7乃至9のいずれか一項に記載の検査方法。
【請求項11】
前記第2のUI画面には、それぞれ関連づけて入力される第5の入力欄及び第6の入力欄と、それぞれ関連づけて入力される第7の入力欄及び第8の入力欄と、が設けられ、
前記第5の入力欄には、前記AI処理装置から送信されて前記制御装置で受信されるメッセージの識別番号が入力され、
前記第6の入力欄には、前記第5の入力欄に入力された識別番号に基づいて前記制御装置にて実行される第1のプログラムモジュールの名称が入力され、
前記第7の入力欄には、前記制御装置にて実行される第2のプログラムモジュールの名称が入力され、
前記第8の入力欄には、前記第2のプログラムモジュールが実行されたときに前記制御装置から前記AI処理装置に送信されるメッセージの識別番号が入力され、
前記情報処理装置に、前記第5の入力欄に入力された識別番号に基づいて前記第6の入力欄に入力された第1のプログラムモジュールを前記制御装置にて実行し、かつ前記第7の入力欄に入力された第2のプログラムモジュールを前記制御装置が実行した場合に前記第8の入力欄に入力された識別番号を前記制御装置から前記AI処理装置に送信する一連の処理手続が記述された前記第2のプログラムを生成させる、請求項
7乃至10のいずれか一項に記載の検査方法。
【請求項12】
前記第1のプログラムは、前記検査対象物のタイプを判別する処理と、判別結果を前記制御装置に送信する処理とを含む、請求項
7乃至11のいずれか一項に記載の検査方法。
【請求項13】
前記制御装置は、前記検査対象物が撮影部にて複数の方向から撮影されるように、前記検査対象物及び前記撮影部の少なくとも一方を移動させる制御を行う、請求項
7乃至12のいずれか一項に記載の検査方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、AI処理を活用した検査システム及び検査方法に関する。
【背景技術】
【0002】
ディープラーニング等の機械学習を利用して、今まで人間が手動で行っていた処理を自動化する取組が盛んに行われている。機械学習を利用したAI(Artificial Intelligence)処理では、例えば複数の教師データを入力して学習モデルを生成し、生成された学習モデルに入力データを与えて演算を行い、機械学習の結果を反映させたAI処理データを出力する(特開2019-039874号公報)。
【0003】
従前から、ニューラルネットワークの各ノードに与える重みを学習過程で制御して機械学習を行う技術は種々の分野に適用されてきた。最近では、教師あり学習だけでなく、教師なし学習を行ってAI処理を行う技術も進んでおり、囲碁等の取り得る組合せが無数に存在する推論処理も、人間よりもはるかに高速かつ精度よく行えるようになりつつある。
【発明の開示概要】
【0004】
検査対象物の検査にAI処理を活用する場合、検査対象物を扱う装置と、AI処理を行う装置との間で、各種の情報を送受する必要がある。これらの装置の処理動作は、検査対象物の種類や検査内容によって変わるため、各装置を動作させるためのプログラムを開発する必要がある。しかしながら、プログラムの開発には、専門的なスキルと経験が必要である。
【0005】
検査対象物の検査を行う作業者は、プログラムの開発に精通しているわけではないため、AI処理を活用して検査を行うには、検査用のプログラムの開発を委託しなければならず、費用と時間がかかる上に、検査対象物の種類や検査内容が変わるたびに、新たにプログラムの開発を委託しなければならないという問題がある。
【0006】
本発明は、AI処理を活用した検査に必要なプログラムを容易に生成することができる検査システム及び検査方法を提供するものである。
【0007】
上記の課題を解決するために、本発明の一態様では、学習結果に基づいて、検査対象物の検査を行うAI(Artificial Intelligence)処理装置と、
前記AI処理装置との間で通信を行うとともに、所定の機器を制御する制御装置と
前記AI処理装置で実行される第1のプログラムと、前記制御装置で実行される第2のプログラムとを自動生成する情報処理装置と、を備えた検査システムであって、
前記AI処理装置は、
前記情報処理装置から送信された前記第1のプログラムを受信する第1の通信部と、
前記第1の通信部で受信された前記第1のプログラムを実行する第1の実行部と、を有し、
前記情報処理装置は、
前記第1のプログラムの処理内容に関する情報をユーザに入力させる複数の入力欄を有する第1のUI(User Interface)画面と、前記第2のプログラムの処理内容に関する情報をユーザに入力させる複数の入力欄を有する第2のUI画面とを表示部に表示させるUI生成部と、
前記第1のUI画面の前記複数の入力欄に入力された情報に基づいて前記第1のプログラムを生成し、かつ前記第2のUI画面の前記複数の入力欄に入力された情報に基づいて前記第2のプログラムを生成するプログラム生成部と、
前記第1のプログラムを前記AI処理装置に送信し、かつ前記第2のプログラムを前記制御装置に送信する第2の通信部と、を有し、
前記制御装置は、
前記第2の通信部から送信された前記第2のプログラムを受信する第3の通信部と、
前記第3の通信部で受信された前記第2のプログラムを実行する第2の実行部と、を有し、
前記第1のプログラムは、前記AI処理装置が前記制御装置から受信する情報または前記AI処理装置が前記制御装置へ送信すべき情報に応じた処理を前記AI処理装置が実行するように前記情報処理装置にて生成されるものであり、
前記第2のプログラムは、前記制御装置が前記AI処理装置から受信する情報または前記制御装置が前記AI処理装置へ送信すべき情報に応じた処理を前記制御装置が実行するように前記情報処理装置にて生成されるものである、検査システムが提供される。
【0008】
前記第1のUI画面は、それぞれ関連づけて入力される第1の入力欄、第2の入力欄、第3の入力欄及び第4の入力欄を有し、
前記第1の入力欄には、前記制御装置から送信されて前記AI処理装置で受信されるメッセージの識別番号が入力され、
前記第2の入力欄には、前記AI処理装置から前記制御装置に送信されるメッセージの識別番号が入力され、
前記第3の入力欄には、前記AI処理装置にて実行されるファイルの名称が入力され、
前記第4の入力欄には、前記ファイルに含まれる関数の名称が入力され、
前記情報処理装置は、前記第1の入力欄に入力された識別番号に基づいて、前記第3の入力欄に入力されたファイル名のプログラムモジュールにおける前記第4の入力欄に入力された関数を前記AI処理装置が実行すると共に、前記第2の入力欄に入力された識別番号を前記AI処理装置から前記制御装置に送信する一連の処理手続が記述された前記第1のプログラムを生成してもよい。
【0009】
前記第1乃至第4の入力欄は、それぞれ関連づけて入力される4つの入力情報を一組とする複数組分の入力情報を入力する欄を有し、
前記情報処理装置は、前記複数組分の入力情報に基づいて、前記第1のプログラムを生成してもよい。
【0010】
前記第1のUI画面は、前記第1乃至第4の入力欄に関連づけて入力される、第1の選択部及び第2の選択部を有し、
前記第1の選択部では、対応する処理結果を前記AI処理装置内に保持するか否かが選択され、
前記第2の選択部では、前記AI処理装置内に保持している処理結果を前記制御装置に送信するか否かが選択され、
前記情報処理装置は、前記第1の選択部にて処理結果の保持が選択されると、前記第1乃至第4の入力欄に基づいて前記AI処理装置にて実行された処理結果を前記AI処理装置内に保持し、前記第2の選択部にて前記制御装置への送信が選択されると、前記AI処理装置内に保持している処理結果を前記制御装置に送信する一連の処理手続が記述された前記第1のプログラムを生成してもよい。
【0011】
前記第2のUI画面は、それぞれ関連づけて入力される第5の入力欄及び第6の入力欄と、それぞれ関連づけて入力される第7の入力欄及び第8の入力欄と、を有し、
前記第5の入力欄には、前記AI処理装置から送信されて前記制御装置で受信されるメッセージの識別番号が入力され、
前記第6の入力欄には、前記第5の入力欄に入力された識別番号に基づいて前記制御装置にて実行される第1のプログラムモジュールの名称が入力され、
前記第7の入力欄には、前記制御装置にて実行される第2のプログラムモジュールの名称が入力され、
前記第8の入力欄には、前記第2のプログラムモジュールが実行されたときに前記制御装置から前記AI処理装置に送信されるメッセージの識別番号が入力され、
前記情報処理装置は、前記第5の入力欄に入力された識別番号に基づいて前記第6の入力欄に入力された第1のプログラムモジュールを前記制御装置にて実行し、かつ前記第7の入力欄に入力された第2のプログラムモジュールを前記制御装置が実行した場合に前記第8の入力欄に入力された識別番号を前記制御装置から前記AI処理装置に送信する一連の処理手続が記述された前記第2のプログラムを生成してもよい。
【0012】
前記第1のプログラムは、前記検査対象物のタイプを判別する処理と、判別結果を前記制御装置に送信する処理とを含んでいてもよい。
【0013】
前記検査対象物を撮影する撮影部を有し、
前記制御装置は、前記検査対象物が複数の方向から前記撮影部にて撮影されるように、前記検査対象物及び前記撮影部の少なくとも一方を移動させる制御を行ってもよい。
【0014】
本発明の他の一態様では、学習結果に基づいて、検査対象物の検査を行うAI(Artificial Intelligence)処理装置と、
前記AI処理装置との間で通信を行うとともに所定の機器を制御する制御装置と、
前記AI処理装置で実行される第1のプログラムと、前記制御装置で実行される第2のプログラムとを自動生成する情報処理装置と、
を用いて前記検査対象物の検査を行う検査方法であって、
前記情報処理装置に、
前記第1のプログラムの処理内容に関する情報をユーザが入力する複数の入力欄を有する第1のUI(User Interface)画面を表示部に表示させ、
前記第2のプログラムの処理内容に関する情報をユーザが入力する複数の入力欄を有する第2のUI画面とを前記表示部に表示させ、
前記第1のUI画面の前記複数の入力欄に入力された情報に基づいて前記第1のプログラムを生成させ、
前記第2のUI画面の前記複数の入力欄に入力された情報に基づいて前記第2のプログラムを生成させ、
前記第1のプログラムを前記AI処理装置に送信させ、
前記第2のプログラムを前記制御装置に送信させ、
前記第1のプログラムは、前記AI処理装置が前記制御装置から受信する情報または前記AI処理装置が前記制御装置へ送信すべき情報に応じた処理を前記AI処理装置が実行するように前記情報処理装置にて生成されたものであり、
前記第2のプログラムは、前記制御装置が前記AI処理装置から受信する情報または前記制御装置が前記AI処理装置へ送信すべき情報に応じた処理を前記制御装置が実行するように前記情報処理装置にて生成されたものである、検査方法が提供される。
【0015】
前記AI処理装置、前記制御装置及び前記情報処理装置は、ネットワークに接続されており、
前記情報処理装置は、前記ネットワークを介して前記表示部に前記第1のUI画面及び前記第2のUI画面を表示させ、
ユーザが前記第1のUI画面に入力した前記第1のプログラムの処理内容に関する情報と、前記第2のUI画面に入力した前記第2のプログラムの処理内容に関する情報とを、前記ネットワークを介して前記情報処理装置に送信し、
前記情報処理装置にて生成された前記第1のプログラムを、前記ネットワークを介して前記AI処理装置に送信させ、
前記情報処理装置にて生成された前記第2のプログラムを、前記ネットワークを介して前記制御装置に送信させてもよい。
【0016】
前記第1のUI画面には、それぞれ関連づけて入力される第1の入力欄、第2の入力欄、第3の入力欄及び第4の入力欄が設けられ、
前記第1の入力欄には、前記制御装置から送信されて前記AI処理装置で受信されるメッセージの識別番号が入力され、
前記第2の入力欄には、前記AI処理装置から前記制御装置に送信されるメッセージの識別番号が入力され、
前記第3の入力欄には、前記AI処理装置にて実行されるファイルの名称が入力され、
前記第4の入力欄には、前記ファイルに含まれる関数の名称が入力され、
前記情報処理装置は、前記第1の入力欄に入力された識別番号に基づいて、前記第3の入力欄に入力されたファイル名のプログラムモジュールにおける前記第4の入力欄に入力された関数を前記AI処理装置が実行すると共に、前記第2の入力欄に入力された識別番号を前記AI処理装置から前記制御装置に送信する一連の処理手続が記述された前記第1のプログラムを生成してもよい。
【0017】
前記第1乃至第4の入力欄には、それぞれ関連づけて入力される4つの入力情報を一組とする複数組分の入力情報を入力する欄が設けられ、
前記情報処理装置は、前記複数組分の入力情報に基づいて、前記第1のプログラムを生成してもよい。
【0018】
前記第1のUI画面には、前記第1乃至第4の入力欄に関連づけて入力される、第1の選択部及び第2の選択部が設けられ、
前記第1の選択部では、対応する処理結果を前記AI処理装置内に保持するか否かが選択され、
前記第2の選択部では、前記AI処理装置内に保持している処理結果を前記制御装置に送信するか否かが選択され、
前記情報処理装置は、前記第1の選択部にて処理結果の保持が選択されると、前記第1乃至第4の入力欄に基づいて前記AI処理装置にて実行された処理結果を前記AI処理装置内に保持し、前記第2の選択部にて前記制御装置への送信が選択されると、前記AI処理装置内に保持している処理結果を前記制御装置に送信する一連の処理手続が記述された前記第1のプログラムを生成してもよい。
【0019】
前記第2のUI画面には、それぞれ関連づけて入力される第5の入力欄及び第6の入力欄と、それぞれ関連づけて入力される第7の入力欄及び第8の入力欄と、が設けられ、
前記第5の入力欄には、前記AI処理装置から送信されて前記制御装置で受信されるメッセージの識別番号が入力され、
前記第6の入力欄には、前記第5の入力欄に入力された識別番号に基づいて前記制御装置にて実行される第1のプログラムモジュールの名称が入力され、
前記第7の入力欄には、前記制御装置にて実行される第2のプログラムモジュールの名称が入力され、
前記第8の入力欄には、前記第2のプログラムモジュールが実行されたときに前記制御装置から前記AI処理装置に送信されるメッセージの識別番号が入力され、
前記情報処理装置は、前記第5の入力欄に入力された識別番号に基づいて前記第6の入力欄に入力された第1のプログラムモジュールを前記制御装置にて実行し、かつ前記第7の入力欄に入力された第2のプログラムモジュールを前記制御装置が実行した場合に前記第8の入力欄に入力された識別番号を前記制御装置から前記AI処理装置に送信する一連の処理手続が記述された前記第2のプログラムを生成してもよい。
【0020】
前記第1のプログラムは、前記検査対象物のタイプを判別する処理と、判別結果を前記制御装置に送信する処理とを含んでもよい。
【0021】
前記制御装置は、前記検査対象物が撮影部にて複数の方向から撮影されるように、前記検査対象物及び前記撮影部の少なくとも一方を移動させる制御を行ってもよい。
【0022】
本発明によれば、AI処理を活用した検査に必要なプログラムを容易に生成することができる。
【図面の簡単な説明】
【0023】
【
図1】第1の実施形態による検査システムの概略構成を示すブロック図。
【
図5】情報処理装置の表示部に表示される第1のUI画面の一例を示す図。
【
図6】情報処理装置が第1のUI画面の入力情報に基づいて第1のプログラムを生成する処理手順を示すフローチャート。
【
図7】情報処理装置で生成された第1のプログラムを実行するAI処理装置の処理手順の一例を示すフローチャート。
【
図8】情報処理装置の表示部に表示される第2のUI画面の一例を示す図。
【
図9】情報処理装置が第2のUI画面の入力情報に基づいて第2のプログラムを生成する処理手順を示すフローチャート。
【
図10】情報処理装置で生成された第2のプログラムを実行する制御装置の処理手順の一例を示すフローチャート。
【発明を実施するための形態】
【0024】
以下、図面を参照して本発明の実施形態を説明する。以下の実施形態では、検査システム内の特徴的な構成および動作を中心に説明するが、検査システムには以下の説明で省略した構成および動作が存在しうる。ただし、これらの省略した構成および動作も本実施形態の範囲に含まれるものである。
【0025】
図1は第1の実施形態による検査システム1の概略構成を示すブロック図である。
図1の検査システム1は、検査対象物2の外観検査を行うものである。検査対象物2の種類は特に限定されない。典型的な一例としては、予め決められた仕様で製造された複数の製造物である。より具体的な一例としては、金型で金属材料等をプレスした鍛造物や金型に金属材料等を流し込んで成形した鋳造物などである。検査対象物2の形状やサイズ、材料なども任意であり、金属だけでなく、樹脂等で形成されたものでもよい。
【0026】
図1の検査システム1は、制御装置3と、AI処理装置4と、情報処理装置5とを備えている。制御装置3と、AI処理装置4と、情報処理装置5とは、互いに情報を送受する通信機能を有する。この通信機能は、無線LANや近接無線通信等の無線通信機能でもよいし、Ethernet(登録商標)やUSB(Universal Serial Bus)等の有線通信機能でもよい。また、制御装置3と、AI処理装置4と、情報処理装置5の少なくとも2つは、一つの筐体又はSoC(Silicon on Chip)に統合してもよい。また、制御装置3と、AI処理装置4と、情報処理装置5とが行う処理動作の少なくとも一部は、ハードウェアとソフトウェアのいずれで実行してもよい。
【0027】
制御装置3は、撮影部6で撮影された撮影画像を用いて、AI処理装置4に与える教師データを生成するとともに、検査対象物2の検査対象データを生成する制御を行う。本実施形態は、検査対象物2の外観検査を行うことを念頭に置いているため、検査対象物2の外観を撮影部6で撮影した撮影画像を検査対象データとして、制御装置3からAI処理装置4に送信する。また、良品又は不良品の判別が済んだ検査対象物2の外観を撮影部6で撮影した撮影画像を教師データとして、制御装置3からAI処理装置4に送信する。なお、教師データは、検査対象物と同種の複数の検査済対象物を複数のタイプに分類した分類結果の少なくとも一部のデータである。複数のタイプとは、検査済対象物及び検査対象物の形状、特性及びサイズ等の特徴を複数に分類した場合の各分類を指す。より具体的には、教師データは、良品又は不良品の判別が済んだ撮影画像を含む教師ありデータでもよいし、良品と不良品の一方のみの撮影画像を含む教師なしデータでもよい。
【0028】
図1の制御装置3は、検査対象物2を収納する収納体7から検査対象物2を順に把持して回転ステージ8まで搬送するロボット9を制御する機能を有する。なお、回転ステージ8に検査対象物2を載置する作業は、必ずしもロボット9が行う必要はなく、作業者が手動で回転ステージ8に検査対象物2を載置してもよい。
【0029】
回転ステージ8の例えば斜め上方には撮影部6が設置されている。撮影部6の位置や数は任意である。回転ステージ8を回転させながら撮影部6で回転ステージ8上の検査対象物2を撮影することで、一つの検査対象物2の外観全体を複数の撮影画像にて撮影することができる。このように、本実施形態では、一つの検査対象物2の外観検査を行うために、複数の撮影画像を生成する。すでに良品又は不良品の判別が済んだ検査対象物2については、各撮影画像ごとに、良品又は不良品の判別結果を示す情報が付加された教師データを生成する。これから良品又は不良品の判別を行う検査対象物2については、撮影部6で撮影された各撮影画像が検査対象データとなる。
【0030】
なお、検査対象物2によっては、1枚の撮影画像だけで検査対象物2の外観全体を撮影できる場合もある。この場合、検査対象物2ごとに、1つの教師データと1つの検査対象データが生成される。
【0031】
AI処理装置4は、検査対象物2の検査をAI処理で行うものである。ここで、AI処理とは、機械学習により生成した学習モデルに入力データを与えて演算を行って得られるAI処理データを出力することを指す。機械学習には、種々の学習手法が提案されているが、本実施形態のAI処理は、任意の学習手法を適用可能である。
【0032】
情報処理装置5は、制御装置3が実行するプログラムと、AI処理装置4が実行するプログラムと、を自動生成する。情報処理装置5は、作業者が入力する複数の入力欄を有するUI画面を表示させる表示部5aを有する。表示部5aに表示されたUI画面に従って、作業者が種々の情報を各入力欄に入力すると、AI処理装置4が実行するプログラムと、制御装置3が実行するプログラムとが自動生成される。自動生成されたプログラムは、情報処理装置5の通信機能を介して、制御装置3とAI処理装置4にそれぞれ送信される。制御装置3は、情報処理装置5から送信されたプログラムを実行することで、上述したロボット9の制御と、検査対象物2の撮影制御と、教師データ及び検査対象データをAI処理装置4に送信する制御等を行う。また、AI処理装置4は、情報処理装置5から送信されたプログラムを実行することで、制御装置3から送信された検査対象データの受信制御と、検査対象データに対するAI処理と、AI処理結果を制御装置3に送信する制御等を行う。
【0033】
図2はAI処理装置4の内部構成を示すブロック図である。
図2のAI処理装置4は、第1の通信部11と、第1の実行部12とを有する。
【0034】
第1の通信部11は、情報処理装置5から送信された第1のプログラムを受信する。第1の実行部12は、第1の通信部11で受信された第1のプログラムを実行する。
【0035】
この他、AI処理装置4は、学習部13と、算出部14と、決定部15とを有する。これらの学習部13、算出部14及び決定部15は、第1の実行部12が第1のプログラムを実行する過程で、それぞれ対応する処理動作を行う。
【0036】
学習部13は、検査対象物2と同種の複数の良品及び不良品の少なくとも一方を教師データとして用いて、良品と不良品とを判別するための学習を行って学習モデルを生成する。学習モデルは、予め用意したモデル式の重み係数等を制御することにより生成できるが、学習モデルを生成するのに用いる具体的なモデル式については、限定されず、任意のモデル式を適用可能である。
【0037】
算出部14は、検査対象物2を学習モデルに入力して演算された結果に基づいて、良品又は不良品の可能性の高さを数値化した数値データを出力する。数値データは、相対評価に用いられるものであり、物理的な単位を有するデータではない。
【0038】
決定部15は、数値データを一種類以上の閾値と比較した結果に基づいて、数値データによる良品又は不良品の自動判断(判別)を行うか、人手による良品又は不良品の検査(判別)を行うかを決定する。すなわち、決定部15は、AI処理装置4によるAI処理にて良品又は不良品の信頼性の高い判断ができる場合に限って自動判別を行い、それ以外は人手による検査を行うことを決定する。これにより、本検査装置による検査精度が人手による検査精度より劣らないようにする。
【0039】
決定部15による決定結果は、例えば、AI処理装置4又は情報処理装置5の表示部5aに表示される。作業者は、この表示部5aの表示により、自動判断を行うのか、それとも、作業者自身で検査を行うかを判別する。
【0040】
AI処理装置4は、例えば、AI処理を行う専用のSoC(Silicon on Chip)と、その周辺回路を実装した基板を内蔵している。AI処理装置4は、情報処理装置5から教師データや検査対象データを受信してAI処理を行う。SoCを設けることで、AI処理を高速に行うことができる。なお、AI処理装置4は、専用のSoCにてAI処理を行う代わりに、汎用CPU(Central Processing Unit)によるソフトウェア処理でAI処理を行ってもよい。
【0041】
図3は情報処理装置5の内部構成を示すブロック図である。情報処理装置5は、例えば汎用のPC(Personal Computer)で実現することができる。
図3の情報処理装置5は、UI(User Interface)生成部21と、プログラム生成部22と、第2の通信部23とを有する。
【0042】
UI生成部21は、第1のプログラムの処理内容に関する情報を作業者に入力させる複数の入力欄を有する第1のUI(User Interface)画面24と、第2のプログラムの処理内容に関する情報を作業者に入力させる複数の入力欄を有する第2のUI画面25とを表示部5aに表示させる。
【0043】
プログラム生成部22は、第1のUI画面24の複数の入力欄に入力された情報に基づいて第1のプログラムを生成し、かつ第2のUI画面25の複数の入力欄に入力された情報に基づいて第2のプログラムを生成する。
【0044】
第1のプログラムは、AI処理装置4が制御装置3から受信する情報またはAI処理装置4が制御装置3へ送信すべき情報に応じた処理をAI処理装置4が実行するように情報処理装置5にて生成されるものである。より具体的には、第1のプログラムは、検査対象物2が良品か不良品かを判別する処理と、判別結果を制御装置3に送信する処理とを含んでいる。
【0045】
第2のプログラムは、制御装置3がAI処理装置4から受信する情報または制御装置3がAI処理装置4へ送信すべき情報に応じた処理を制御装置3が実行するように情報処理装置5にて生成されるものである。より具体的には、第2のプログラムは、教師データや検査対象データを生成する処理と、生成した教師データや検査対象データをAI処理装置4に送信する処理と、AI処理装置4によるAI処理結果を受信する処理とを含んでいる。
【0046】
第2の通信部23は、AI処理装置4及び制御装置3と各種情報の送受を行う。より具体的には、第2の通信部23は、第1のプログラムをAI処理装置4に送信し、かつ第2のプログラムを制御装置3に送信する。
【0047】
図4は制御装置3の内部構成を示すブロック図である。
図4の制御装置3は、第3の通信部31と第2の実行部32とを有する。第3の通信部31は、第2の通信部23から送信された第2のプログラムを受信する。第2の実行部32は、第3の通信部31で受信された第2のプログラムを実行する。制御装置3は、第2の実行部32が第2のプログラムを実行することにより、ロボット9の制御と、回転ステージ8の回転制御と、撮影部6の撮影制御と、撮影画像に基づいて教師データ及び検査対象データを生成する制御と、教師データ及び検査対象データをAI処理装置4に送信する制御と、AI処理装置4からのAI処理結果を受信する制御などを行う。
【0048】
図5は情報処理装置5の表示部5aに表示される第1のUI画面24の一例を示す図である。作業者は、情報処理装置5の不図示の初期メニュー画面から、第1のUI画面24を表示させるためのボタンを選択することで、
図5の第1のUI画面24を表示させることができる。
【0049】
図5の第1のUI画面24は、第1の入力欄41、第2の入力欄42、第3の入力欄43及び第4の入力欄44を有する。
【0050】
第1の入力欄41には、制御装置3から送信されてAI処理装置4で受信されるメッセージの識別番号が入力される。本明細書では、第1の入力欄41に入力される識別番号を第1識別番号と呼ぶ。第2の入力欄42には、AI処理装置4から制御装置3に送信されるメッセージの識別番号が入力される。本明細書では、第2の入力欄42に入力される識別番号を第2識別番号と呼ぶ。第3の入力欄43には、AI処理装置4にて実行されるファイルすなわちプログラムモジュールの名称が入力される。第4の入力欄44には、ファイルに含まれる関数の名称が入力される。
【0051】
ここで、本明細書では、第3の入力欄43に入力されるファイル名がAI処理装置4で実行される何らかのプログラムモジュールである例を説明する。プログラムモジュールとは、何らかの処理を行うために予め用意された単位プログラムである。AI処理装置4は、第3の入力欄43のファイル名で指定される複数のプログラムモジュールを予め用意している。各プログラムモジュールには、選択的に実行される関数が含まれており、第4の入力欄44に入力された名称の関数が実行される。
【0052】
情報処理装置5は、第1の入力欄41に入力された識別番号に基づいて、第3の入力欄43に入力されたファイル名のプログラムモジュールにおける第4の入力欄44に入力された関数をAI処理装置4が実行すると共に、第2の入力欄42に入力された識別番号をAI処理装置4から制御装置3に送信する一連の処理手続が記述された第1のプログラムを生成する。
【0053】
第1乃至第4の入力欄41~44は、第1のUI画面24内の縦方向に複数行分設けられている。第1乃至第4の入力欄41~44の各行は、一つの処理手続を行うための入力情報を示している。よって、第1のUI画面24内の第1乃至第4の入力欄41~44には、各行の入力情報を一組とする、複数組の入力情報が入力される。情報処理装置5は、複数組の第1乃至第4の入力欄41~44に入力された入力情報に基づいて、複数の処理手続を含む第1のプログラムを生成する。
【0054】
この他、第1のUI画面24は、第1乃至第4の入力欄41~44に関連づけて入力される、第1の選択部45及び第2の選択部46を有する。
【0055】
第1の選択部45は、対応する処理結果をAI処理装置4内に保持するか否かを選択する。第2の選択部46は、AI処理装置4内に保持している処理結果を制御装置3に送信するか否かを選択する。第1及び第2の選択部45,46は、第1乃至第4の入力欄41~44の各行の入力情報に対応して設けられている。
図5の第1のUI画面24では、第1の選択部45と第2の選択部46は、作業者がラジオボタンで選択する例を示しているが、具体的な選択の方式は特に問わない。
【0056】
また、
図5の第1のUI画面24には、作業者が予め入力した情報を各入力欄に自動的に取り込むことを指示するボタン47と、作業者が各入力欄に入力した情報を保存することを指示するボタン48と、作業者が各入力欄に入力した情報に基づいて第1のプログラムを生成することを指示するボタン49とが設けられている。
【0057】
なお、
図5の第1のUI画面24内の第1乃至第4の入力欄41~44と各ボタン47~49は一例であり、各入力欄の具体的内容と配置順序、表示形式等は任意である。
【0058】
情報処理装置5は、第1の選択部45にて処理結果の保持が選択されると、第1乃至第4の入力欄41~44に基づいてAI処理装置4にて実行された処理結果をAI処理装置4内に保持し、第2の選択部46にて制御装置3への送信が選択されると、AI処理装置4内に保持している処理結果を制御装置3に送信する旨の一連の処理手続が記述された第1のプログラムを生成する。
【0059】
図6は情報処理装置5が第1のUI画面24の入力情報に基づいて第1のプログラムを生成する処理手順を示すフローチャートである。まず、第1のUI画面24内の第1乃至第4の入力欄41~44の行数を表す変数mを1に初期化する(ステップS1)。
【0060】
次に、作業者が第1のUI画面24のm行目の第1乃至第4の入力欄41~44に入力した情報を取得する(ステップS2)。
【0061】
次に、第1の選択部45が選択されていれば、第1の入力欄41の第1識別番号を制御装置3から受信したときに、第2の入力欄42の第2識別番号を制御装置3に送信するとともに、第3の入力欄43のプログラムモジュールにおける第4の入力欄44の関数の実行結果を、制御装置3から送信指示があるまでAI処理装置4内に保持する旨を第1のプログラムに記述する(ステップS3)。
【0062】
次に、第2の選択部46が選択されていれば、第1の入力欄41の第1識別番号を制御装置3から受信したときに、AI処理装置4内に保持中の実行結果と第2の入力欄42の第2識別番号を、制御装置3に送信する旨を第1のプログラムに記述する(ステップS4)。
【0063】
次に、第1の選択部45と第2の選択部46がいずれも選択されていなければ、第1の入力欄41の第1識別番号を制御装置3から受信したときに、第2の入力欄42の第2識別番号と、第3の入力欄43のプログラムモジュールにおける第4の入力欄44の関数の実行結果を、制御装置3に送信する旨を第1のプログラムに記述する(ステップS5)。
【0064】
次に、mは第1乃至第4の入力欄41~44の最終行であるか否かを判定する(ステップS6)。mが最終行でなければ、mを1だけ増やして(ステップS7)、ステップS2以降の処理を繰り返す。ステップS6でmが最終行と判定されると、生成された第1のプログラムをAI処理装置4に送信する(ステップS8)。
【0065】
図7は情報処理装置5で生成された第1のプログラムを実行するAI処理装置4の処理手順の一例を示すフローチャートである。
【0066】
AI処理装置4は、第1のプログラムの実行を開始し(ステップS21)、第1のプログラムに記述されたプログラムモジュールを取得する(ステップS22)。
【0067】
次に、第1のプログラムに記述された第1識別番号が制御装置3から受信されたか否かを判定する(ステップS23)。AI処理装置4は、第1識別番号が制御装置3から受信されるまで、ステップS23に待機する。
【0068】
ステップS23で第1識別番号が受信されたと判定されると、プログラムモジュールの実行結果をAI処理装置4内に保持する必要があるか否かを判定する(ステップS24)。保持する必要があると判定された場合には、プログラムモジュールの実行結果をAI処理装置4内に保持するとともに、第1のプログラムに記述された第2識別番号を制御装置3に送信する(ステップS25)。
【0069】
このように、AI処理装置4は、プログラムモジュールの実行結果をAI処理装置4内に保持する必要があるという第1識別番号を受信した場合には、プログラムモジュールの実行結果を制御装置3に送信せずに、AI処理装置4内に保持する。
【0070】
ステップS24で保持する必要がないと判定された場合には、AI処理装置4内に保持されているプログラムモジュールの実行結果を制御装置3に送信する必要があるか否かを判定する(ステップS26)。送信する必要があると判定された場合には、AI処理装置4内に保持されているプログラムモジュールの実行結果と、第1のプログラムに記述された第2識別番号を制御装置3に送信する(ステップS27)。
【0071】
このように、AI処理装置4は、AI処理装置4内に保持されているプログラムモジュールの実行結果を制御装置3に送信する必要があるという第1識別番号を受信した場合には、AI処理装置4内に保持されていたプログラムモジュールの実行結果を制御装置3に送信する。
【0072】
ステップS26で送信する必要がないと判定された場合には、第1のプログラムに記述された第2識別番号とプログラムモジュールの実行結果を制御装置3に送信する(ステップS28)。
【0073】
このように、AI処理装置4は、プログラムモジュールの実行結果をAI処理装置4内に保持する必要がなく、AI処理装置4内に保持されているプログラムモジュールの実行結果を制御装置3に送信する必要もないという第1識別番号を受信した場合には、プログラムモジュールの実行結果をAI処理装置4内に保持することなくすぐに制御装置3に送信する。
【0074】
ステップS25、S27又はS28の処理が終了すると、AI処理装置4の電源がオンである間は、ステップS23に戻って、ステップS23以降の処理が繰り返し実行される。
【0075】
図8は情報処理装置5の表示部5aに表示される第2のUI画面25の一例を示す図である。作業者は、情報処理装置5の不図示の初期メニュー画面から、第2のUI画面25を表示させるためのボタンを選択することで、
図8の第2のUI画面25を表示させることができる。
【0076】
図8の第2のUI画面25は、それぞれ関連づけて入力される第5の入力欄51及び第6の入力欄52と、それぞれ関連づけて入力される第7の入力欄53及び第8の入力欄54と、を有する。
【0077】
第5の入力欄51には、AI処理装置4から送信されて制御装置3で受信されるメッセージの識別番号(第5識別番号)が入力される。第6の入力欄52には、第5の入力欄51に入力された第5識別番号に基づいて制御装置3にて実行される第1のプログラムモジュールの名称が入力される。
【0078】
第7の入力欄53には、制御装置3にて実行される第2のプログラムモジュールの名称が入力される。第8の入力欄54には、第2のプログラムモジュールが実行されたときに制御装置3からAI処理装置4に送信されるメッセージの識別番号(第8識別番号)が入力される。
【0079】
情報処理装置5は、第5の入力欄51に入力された識別番号に基づいて第6の入力欄52に入力された第1のプログラムモジュールを制御装置3が実行し、かつ第7の入力欄53に入力された第2のプログラムモジュールを制御装置3が実行した場合に第8の入力欄54に入力された第8識別番号を制御装置3からAI処理装置4に送信する一連の処理手続が記述された第2のプログラムを生成する。
【0080】
この他、
図8の第2のUI画面25は、制御装置3がAI処理装置4と各種情報を送受する際の通信設定情報55を入力する第9乃至第15の入力欄56~62を有する。第9の入力欄56には、AI処理装置4のIPアドレスが入力される。第10の入力欄57には、AI処理装置4のポート番号が入力される。第11の入力欄58には、制御装置3自身のポート番号が入力される。第12の入力欄59には、制御装置3との通信を開始する際に実行されるプログラムモジュールの名称が入力される。第13の入力欄60には、通信異常が発生したときに実行されるプログラムモジュールの名称が入力される。第14の入力欄61には制御装置3のソケット番号が入力される。第15の入力欄62には、制御装置3が使用するアドレス領域の先頭アドレスが入力される。なお、通信設定情報55を構成する各入力情報は任意であり、
図8に示された第9乃至第15の入力欄56~62の入力情報に限定されない。
【0081】
また、
図8の第2のUI画面25には、作業者が予め入力した情報を各入力欄に自動的に入力することを指示するボタン63と、作業者が各入力欄に入力した情報を保存することを指示するボタン64と、作業者が各入力欄に入力した情報に基づいて第2のプログラムを生成することを指示するボタン65とが設けられている。
【0082】
なお、
図8の第2のUI画面25内の第5乃至第15の入力欄51~62と各ボタン63~65は一例であり、各入力欄の具体的内容と配置順序、表示形式等は任意である。
【0083】
図9は情報処理装置5が第2のUI画面25の入力情報に基づいて第2のプログラムを生成する処理手順を示すフローチャートである。まず、作業者が第2のUI画面25内の第9乃至第15の入力欄56~62に入力したAI処理装置4と制御装置3間の通信設定情報55を第2のプログラムに記述する(ステップS41)。
【0084】
第5の入力欄51の第5識別番号をAI処理装置4から受信したときに、制御装置3が第6の入力欄52のプログラムモジュールを実行する旨を第2のプログラムに記述する(ステップS42)。第5の入力欄51と第6の入力欄52は、第2のUI画面25内の縦方向に複数行の入力情報を含むため、情報処理装置5は、各行ごとに、ステップS42の処理を行う。
【0085】
第7の入力欄53のプログラムモジュールを制御装置3が実行したときに、第8の入力欄54の第8識別番号をAI処理装置4に送信する旨を第2のプログラムに記述する(ステップS43)。第7の入力欄53と第8の入力欄54は、第2のUI画面25内の縦方向に複数行の入力情報を含むため、情報処理装置5は、各行ごとに、ステップS43の処理を行う。
【0086】
次に、情報処理装置5は、生成された第2のプログラムを制御装置3に送信する(ステップS44)。
【0087】
図10は情報処理装置5で生成された第2のプログラムを実行する制御装置3の処理手順の一例を示すフローチャートである。
【0088】
制御装置3は、第2のプログラムの実行を開始し(ステップS61)、第2のプログラムに記述されたプログラムモジュールを取得する(ステップS62)。
【0089】
次に、制御装置3は、第2のプログラムに記述された通信設定情報55を制御装置3に設定する(ステップS63)。通信設定情報55の設定により、制御装置3は、AI処理装置4と各種の情報を送受できるようになる。
【0090】
次に、制御装置3は、ステップS64~S65の処理とS66~S67の処理とを並行して行う。ステップS64では、第2のプログラムに記述された第5識別番号がAI処理装置4から受信されたか否かを判断する。受信されるまではステップS64に待機し、受信されると、受信された第5識別番号に対応する第6の入力欄52のプログラムモジュールを実行する(ステップS65)。ステップS65の処理が終了すると、制御装置3の電源がオンである間はステップS64に戻って、ステップS64~S65の処理が繰り返し行われる。
【0091】
一方、ステップS66では、第2のプログラムに記述された第7の入力欄53のプログラムモジュールを実行したか否かを判断する。実行するまでは、ステップS66に待機し、実行すると、第2のプログラムに記述された第8識別番号をAI処理装置4に送信する(ステップS67)。ステップS67の処理が終了すると、制御装置3の電源がオンである間はステップS66に戻って、ステップS66~S67の処理が繰り返し行われる。
【0092】
このように、本実施形態では、情報処理装置5の表示部5aに表示される第1のUI画面24にて、種々の情報を作業者が入力することにより、AI処理装置4が実行する第1のプログラムを自動生成できる。同様に、情報処理装置5の表示部5aに表示される第2のUI画面25にて、種々の情報を作業者が入力することにより、制御装置3が実行する第2のプログラムを自動生成できる。このように、作業者がプログラミングの専門知識を持っていなくても、第1のUI画面24や第2のUI画面25に種々の情報を入力するだけで、AI処理に関する第1及び第2のプログラムを生成できるため、種々の検査対象物2の検査にAI処理を適用することが容易に行える。
【0093】
また、第1のUI画面24と第2のUI画面25に入力する情報を変えることで、AI処理の設定変更や最適化も作業者自身で手軽に行うことができ、AI処理の設計開発コストや設計開発時間を削減できる。
【0094】
上述した実施形態で説明した検査システム1の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、検査システム1の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0095】
また、検査システム1の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0096】
さらに、上述した各実施形態による情報処理装置5を、インターネット等の公衆回線や専用回線等の所定のネットワークに接続して、ネットワークを介して情報処理装置5に教師データや検査対象データを送信し、情報処理装置5が実行したAI処理結果を、ネットワークを介して受信するようにしてもよい。このように、検査装置1内の少なくとも一部の構成部は、クラウド環境下に設けられてもよい。
【0097】
また、上述した各実施形態では、教師データ及び検査対象データの生成を制御装置3で行う例を説明したが、これに限られるものではなく、例えば、撮影部6で撮影された撮影画像をAI処理装置4に送信し、AI処理装置4で教師データ及び検査対象データの生成を行うようにしてもよい。この場合、制御装置3を介さずに撮影部6で撮影された撮影画像をAI処理装置4に送信するので、上述した各実施形態と比較して、教師データ及び検査対象データの生成を簡易かつ高速に行うことができる。
【0098】
また、上述した各実施形態では、学習モデルの生成をAI処理装置4の学習部13で行う場合を説明したが、これに限られるものではなく、例えば、AI処理装置4以外で生成された学習モデルを学習部13で取得するようにしてもよい。この場合、学習部13で行う処理を簡易化できるので、上述した各実施形態と比較して、AI処理装置4の処理負荷を軽減することができる。
【0099】
本発明の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本発明の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
【符号の説明】
【0100】
1 検査システム、2 検査対象物、3 制御装置、4 AI処理装置、5 情報処理装置、5a 表示部、6 撮影部、7 収納体、8 回転ステージ、9 ロボット、11 第1の通信部、12 第1の実行部、13 学習部、14 算出部、15 決定部、21 UI生成部、22 プログラム生成部、23 第2の通信部、24 第1のUI画面、25 第2のUI画面、31 第3の通信部、32 第2の実行部、41 第1の入力欄、42 第2の入力欄、43 第3の入力欄、44 第4の入力欄、45 第1の選択部、46 第2の選択部、47~49 ボタン、51 第5の入力欄、52 第6の入力欄、53 第7の入力欄、54 第8の入力欄、55 通信設定情報、56 第9の入力欄、57 第10の入力欄、58 第11の入力欄、59 第12の入力欄、60 第13の入力欄、61 第14の入力欄、62 第15の入力欄、63~65 ボタン