以下、本発明をその実施形態を示す図面に基づいて詳述する。
(実施形態1)
実施形態1は、工場内で対象物に対する作業者の行動(オペレーション)情報を出力する形態に関する。対象物は、例えばアルミ灰、シリコン単結晶、調合物、食品等の工場内の加工物、生成物または抽出物である。
図1は、工場オペレーション自動化システムの概要を示す説明図である。本実施形態のシステムは、情報処理装置1、情報処理端末2及び撮影装置3を含み、各装置はインターネット等のネットワークNを介して情報の送受信を行う。
情報処理装置1は、種々の情報に対する処理、記憶及び送受信を行う情報処理装置である。情報処理装置1は、例えばサーバ装置、パーソナルコンピュータまたは汎用のタブレットPC(パソコン)等である。本実施形態において、情報処理装置1はサーバ装置であるものとし、以下では簡潔のためサーバ1と読み替える。
情報処理端末2は、工場内での対象物の画像の取得、対象物に対し作業する作業者の画像の取得、及び対象物に対する行動情報の表示等を行う端末装置である。情報処理端末2は、例えばエッジコンピュータ、パーソナルコンピュータまたはタブレット等の情報処理機器である。以下では簡潔のため、情報処理端末2をエッジ端末2と読み替える。
撮影装置3は、対象物または当該対象物に対し作業する作業者を撮影して画像を生成する。本実施形態の撮影装置3は、無線通信部を含む。無線通信部は、通信に関する処理を行うための無線通信モジュールであり、ネットワークNを介して、エッジ端末2等と撮影画像の送受信を行う。なお、撮影装置3の代わりに、撮影可能な情報処理端末であっても良い。情報処理端末は、例えばスマートフォン、携帯電話、タブレット、パーソナルコンピュータ端末等の情報処理機器である。
本実施形態に係るサーバ1は、工場内で対象物に対し作業する作業者の画像を取得する。サーバ1は、取得した作業者の画像を含む第1訓練データに基づき、作業者の画像を入力した場合に作業者の行動に関する行動情報を出力するよう学習された第1行動情報出力モデル(第1学習モデル)151を生成する。サーバ1は、対象物を撮像した対象物の画像と、第1行動情報出力モデル151から出力された行動情報とを対応付けて記憶する。
サーバ1は、記憶した対象物の画像、及び当該対象物の画像に対応する行動情報を含む第2訓練データを取得する。サーバ1は、取得した第2訓練データに基づき、対象物の画像を入力した場合に行動情報を出力する第2行動情報出力モデル(第2学習モデル)152を生成する。なお、第1行動情報出力モデル151及び第2行動情報出力モデル152に関しては後述する。
図2は、サーバ1の構成例を示すブロック図である。サーバ1は、制御部11、記憶部12、通信部13、読取部14及び大容量記憶部15を含む。各構成はバスBで接続されている。
制御部11はCPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等の演算処理装置を含み、記憶部12に記憶された制御プログラム1Pを読み出して実行することにより、サーバ1に係る種々の情報処理、制御処理等を行う。なお、制御プログラム1Pは、単一のコンピュータ上で、または1つのサイトにおいて配置されるか、もしくは複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように展開することができる。なお、図2では制御部11を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。
記憶部12はRAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ素子を含み、制御部11が処理を実行するために必要な制御プログラム1P又はデータ等を記憶している。また、記憶部12は、制御部11が演算処理を実行するために必要なデータ等を一時的に記憶する。通信部13は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、エッジ端末2等との間で情報の送受信を行う。
読取部14は、CD(Compact Disc)-ROM又はDVD(Digital Versatile Disc)-ROMを含む可搬型記憶媒体1aを読み取る。制御部11が読取部14を介して、制御プログラム1Pを可搬型記憶媒体1aより読み取り、大容量記憶部15に記憶しても良い。また、ネットワークN等を介して他のコンピュータから制御部11が制御プログラム1Pをダウンロードし、大容量記憶部15に記憶しても良い。さらにまた、半導体メモリ1bから、制御部11が制御プログラム1Pを読み込んでも良い。
大容量記憶部15は、例えばHDD(Hard disk drive:ハードディスク)、SSD(Solid State Drive:ソリッドステートドライブ)等の記録媒体を備える。大容量記憶部15は、第1行動情報出力モデル151、第2行動情報出力モデル152、訓練データDB(database)153及び学習モデル管理DB154を含む。
第1行動情報出力モデル151は、工場内で対象物に対し作業する作業者の画像に基づいて、当該対象物に対する行動情報を推定(出力)する推定器であり、機械学習により生成された学習済みモデルである。第2行動情報出力モデル152は、対象物の画像に基づいて、当該対象物に対する行動情報を推定する推定器であり、機械学習により生成された学習済みモデルである。
訓練データDB153は、第1行動情報出力モデル151または第2行動情報出力モデル152を構築(作成)するための訓練データを記憶している。学習モデル管理DB154は、学習済みの第1行動情報出力モデル151または第2行動情報出力モデル152に関する情報を記憶している。
なお、本実施形態において記憶部12及び大容量記憶部15は一体の記憶装置として構成されていても良い。また、大容量記憶部15は複数の記憶装置により構成されていても良い。更にまた、大容量記憶部15はサーバ1に接続された外部記憶装置であっても良い。
サーバ1は、種々の情報処理及び制御処理等をコンピュータ単体で実行しても良いし、複数のコンピュータで分散して実行しても良い。また、サーバ1は、1台のサーバ内に設けられた複数の仮想マシンによって実現されても良いし、クラウドサーバを用いて実現されても良い。
図3は、訓練データDB153及び学習モデル管理DB154のレコードレイアウトの一例を示す説明図である。 訓練データDB153は、種類列、入力データ列及び出力データ列を含む。種類列は、訓練データの種類を記憶している。訓練データの種類は、第1行動情報出力モデル151を生成するための第1訓練データ、及び第2行動情報出力モデル152を生成するための第2訓練データを含む。
訓練データの種類が第1訓練データである場合、入力データ列は、対象物に対し作業する作業者の画像を記憶している。工場内で対象物を処理するためのセンサ装置またはアクチュエータ装置等が設置される。作業者は、センサ装置またはアクチュエータ装置等のボタン(スイッチ)、レバー等を操作することにより、対象物に対し作業する。作業者の画像は、アクチュエータ装置等のボタンまたはレバー等を操作した作業者の画像である。訓練データの種類が第2訓練データである場合、入力データ列は、対象物の画像を記憶している。
出力データ列は、対象物に対する行動情報を記憶している。行動情報は、工場内で対象物に対し、工場内に設置されたセンサ装置またはアクチュエータ装置等を操作した作業者の行動に関する情報である。行動情報は、例えば撹拌回数、撹拌速度、押し出しタイミング、温度制御、湿度制御、気圧制御、流量制御、薬剤投入量、水投入量、冷灰投入量、材料追加または異常通知等を含む。
学習モデル管理DB154は、モデルID列、学習モデル列、種類列及び生成日時列を含む。モデルID列は、各学習済みの第1行動情報出力モデル151または第2行動情報出力モデル152を識別するために、一意に特定される学習モデルのIDを記憶している。学習モデル列は、学習済みの第1行動情報出力モデル151または第2行動情報出力モデル152のモデルファイルを記憶している。
種類列は、第1行動情報出力モデル151または第2行動情報出力モデル152を含む学習モデルの種類を記憶している。生成日時列は、第1行動情報出力モデル151または第2行動情報出力モデル152を生成した日時情報を記憶している。
なお、上述した各DBの記憶形態は一例であり、データ間の関係が維持されていれば、他の記憶形態であっても良い。
図4は、エッジ端末2の構成例を示すブロック図である。エッジ端末2は、制御部21、記憶部22、通信部23、入力部24及び表示部25を含む。各構成はバスBで接続されている。
制御部21はCPU、MPU等の演算処理装置を含み、記憶部22に記憶された制御プログラム2Pを読み出して実行することにより、エッジ端末2に係る種々の情報処理、制御処理等を行う。なお、図4では制御部21を単一のプロセッサであるものとして説明するが、マルチプロセッサであっても良い。記憶部22はRAM、ROM等のメモリ素子を含み、制御部21が処理を実行するために必要な制御プログラム2P又はデータ等を記憶している。また、記憶部22は、制御部21が演算処理を実行するために必要なデータ等を一時的に記憶する。
通信部23は通信に関する処理を行うための通信モジュールであり、ネットワークNを介して、サーバ1及び撮影装置3等と情報の送受信を行う。入力部24は、キーボード、マウスまたは表示部25と一体化したタッチパネルでも良い。表示部25は、液晶ディスプレイ又は有機EL(electroluminescence)ディスプレイ等であり、制御部21の指示に従い各種情報を表示する。
先ず、サーバ1は、第1行動情報出力モデル151を生成する。なお、第1行動情報出力モデル151の生成処理に関しては後述する。エッジ端末2は、生成された第1行動情報出力モデル151を用いて、第2行動情報出力モデル152を生成するための訓練データを作成(生成)する。
具体的には、エッジ端末2は、生成された第1行動情報出力モデル151をサーバ1から取得してデプロイする。エッジ端末2は、対象物に対し作業する作業者の画像、及び当該対象物を撮像した対象物の画像を撮影装置3から取得する。なお、本実施形態では、作業者の画像または対象物の画像が撮影装置3から送信された例を説明したが、これに限るものではない。例えば、撮影装置3が撮影した作業者の画像または対象物の画像をメモリーカード経由でエッジ端末2に転送しても良い。
エッジ端末2は、取得した作業者の画像を第1行動情報出力モデル151に入力して、当該対象物に対する行動情報を取得する。エッジ端末2は、取得した対象物の画像と、第1行動情報出力モデル151から出力された行動情報とを対応付けてサーバ1に送信する。サーバ1は、エッジ端末2から送信された対象物の画像と行動情報とを対応付けて、訓練データとして訓練データDB153に記憶する。具体的には、サーバ1は、訓練データの種類(第2訓練データ)、対象物の画像及び行動情報を一つのレコードとして訓練データDB153に記憶する。
次に、サーバ1は、第2行動情報出力モデル152を生成する。なお、第2行動情報出力モデル152の生成処理に関しては後述する。エッジ端末2は、生成された第2行動情報出力モデル152をサーバ1から取得してデプロイする。エッジ端末2は、工場内で対象物の画像を撮影装置3から取得する。エッジ端末2は、取得した対象物の画像を第2行動情報出力モデル152に入力して、当該対象物に対する行動情報を出力する。
なお、本実施形態では、第1行動情報出力モデル151及び第2行動情報出力モデル152をサーバ1側で学習した例を説明したが、これに限るものではない。例えば、第1行動情報出力モデル151または第2行動情報出力モデル152をエッジ端末2側で学習しても良い。
図5は、第1行動情報出力モデル151を説明する説明図である。第1行動情報出力モデル151は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。第1行動情報出力モデル151は、工場内で対象物に対し作業する作業者の画像を入力とし、当該対象物に対する行動情報を出力とするニューラルネットワークを構築済みの推定器である。
サーバ1は、第1行動情報出力モデル151として、作業者の画像内における作業者の行動の特徴量を学習するディープラーニングを行うことで第1行動情報出力モデル151を生成する。例えば、第1行動情報出力モデル151はCNN(Convolution Neural Network)であり、対象物に対し作業する作業者の画像の入力を受け付ける入力層と、当該対象物に対する行動情報を出力する出力層と、バックプロパゲーションにより学習済の中間層とを有する。
入力層は、作業者の画像に含まれる各画素の画素値の入力を受け付ける複数のニューロンを有し、入力された画素値を中間層に受け渡す。なお、作業者の画像は、単一もしくは複数の静止画像であっても良いし、または作業者が対象物に対して作業した映像データであっても良い。
中間層は、作業者の画像の特徴量を抽出する複数のニューロンを有し、抽出した画像特徴量を出力層に受け渡す。中間層は、入力層から入力された各画素の画素値を畳み込むコンボリューション層と、コンボリューション層で畳み込んだ画素値をマッピングするプーリング層とが交互に連結された構成により、作業者の画像の画素情報を圧縮しながら最終的に画像の特徴量を抽出する。なお、作業者の画像が映像データである場合、中間層は映像データに含まれるフレーム画像(フレームごとの静止画像)の特徴量を抽出する。
その後中間層は、バックプロパゲーションによりパラメータが学習された全結合層により、作業者の画像に対応する作業者の行動に関する行動情報を推定(予測)する。推定結果は、複数のニューロンを有する出力層に出力される。
なお、作業者の画像は、交互に連結されたコンボリューション層とプーリング層とを通過して特徴量が抽出された後に、入力層に入力されても良い。
なお、CNNの代わりに、RCNN(Regions with Convolutional Neural Network)、Fast RCNN、Faster RCNN、SSD(Single Shot Multibook Detector)、YOLO(You Only Look Once)、SVM(Support Vector Machine)、ベイジアンネットワーク、トランスフォーマー(Transformer)ネットワーク、または回帰木等の任意の物体検出アルゴリズムを使用しても良い。
例えばサーバ1は、訓練データDB153に蓄積された第1訓練データを用いて、第1行動情報出力モデル151を生成する。第1訓練データは、対象物に対し作業する作業者の画像と、当該対象物に対する行動情報とが対応付けられた組み合わせのデータである。作業者は工場内で対象物に対し、センサ装置またはアクチュエータ装置等のボタン、レバー等を操作する。第1訓練データは、対象物に対し作業する作業者から収集された大量の行動(操作)情報に基づいて生成される。なお、第1訓練データは別途人手で作成されたデータであっても良い。
サーバ1は、取得した第1訓練データを用いて学習を行う。具体的には、サーバ1は、第1訓練データである作業者の画像を入力層に入力し、中間層での演算処理を経て、出力層から対象物に対する行動情報を出力する。出力層は、例えばシグモイド関数またはソフトマックス関数を含み、中間層から出力された特徴量に基づいて、推定された行動情報の確率値を出力する。
サーバ1は、出力層から出力された推定結果を、第1訓練データにおいて作業者の画像に対しラベル付けされた情報、すなわち正解値と比較し、出力層からの出力値が正解値に近づくように、中間層での演算処理に用いるパラメータを最適化する。当該パラメータは、例えばニューロン間の重み(結合係数)、各ニューロンで用いられる活性化関数の係数等である。パラメータの最適化の方法は特に限定されないが、例えば、サーバ1は誤差逆伝播法を用いて各種パラメータの最適化を行う。
サーバ1は、第1訓練データに含まれる各作業者の画像について上記の処理を行い、第1行動情報出力モデル151を生成する。これにより、例えばサーバ1は当該第1訓練データを用いて第1行動情報出力モデル151の学習を行うことで、対象物に対する行動情報を出力可能なモデルを生成することができる。
サーバ1は、生成した第1行動情報出力モデル151を学習モデル管理DB154に記憶する。具体的には、サーバ1は、第1行動情報出力モデル151に対してモデルIDを割り振る。サーバ1は、割り振ったモデルIDに対応付けて、第1行動情報出力モデル151のモデルファイル、学習モデルの種類(第1行動情報出力モデル151)及び生成日時を一つのレコードとして学習モデル管理DB154に記憶する。
エッジ端末2は、学習済みの第1行動情報出力モデル151をサーバ1の学習モデル管理DB154から取得する。エッジ端末2は、取得した第1行動情報出力モデル151をデプロイする。
エッジ端末2は作業者の画像を取得した場合、取得した作業者の画像を第1行動情報出力モデル151に入力する。エッジ端末2は、第1行動情報出力モデル151の中間層にて作業者の画像の特徴量を抽出する演算処理を行う。エッジ端末2は、抽出した特徴量を第1行動情報出力モデル151の出力層に入力して、対象物に対する行動情報を推定した推定結果を出力として取得する。
図示のように、作業者の画像に対し、「行動情報A」、「行動情報B」、「行動情報C」それぞれの確率値が、「0.91」、「0.04」、「0.05」である推定結果が出力される。行動情報Aは、「撹拌3回 温度上げ 薬剤1回投入」である。行動情報Bは、「撹拌2回 温度上げ 水1回投入」である。行動情報Cは、「撹拌2回 気圧上げ 薬剤1回投入」である。
また、所定閾値を利用して推定結果を出力しても良い。例えばエッジ端末2は、「行動情報A」の確率値(0.91)が所定閾値(例えば、0.85)以上であると判定した場合、行動情報Aを推定結果として出力する。なお、上述した閾値を利用せず、第1行動情報出力モデル151が識別した各行動情報の確率値から、最も高い確率値に対応する行動情報を推定結果として出力しても良い。
なお、上述した例での行動情報が一連の操作であるが、これに限るものではない。エッジ端末2は作業者の画像に基づき、個別操作である行動情報を出力しても良い。例えば、作業者が対象物に対して「撹拌1回」ボタンを押した場合、エッジ端末2は該作業者の画像に対し、「行動情報A」、「行動情報B」、「行動情報C」それぞれの確率値が、「0.91」、「0.04」、「0.05」である推定結果を出力する。例えば、行動情報Aが「撹拌1回」であり、行動情報Bが「温度上げ」であり、行動情報Cが「薬剤1回投入」である。エッジ端末2は、最も高い確率値に対応する「撹拌1回」行動情報を推定結果として出力しても良い。
続いて、第1行動情報出力モデル151から出力された行動情報を用いて、第2行動情報出力モデル152を生成するための第2訓練データを作成する。具体的には、エッジ端末2は、当該作業者が作業した対象物の画像を取得する。エッジ端末2は、取得した対象物の画像と、第1行動情報出力モデル151から出力された行動情報とを対応付けてサーバ1に送信する。
サーバ1は、エッジ端末2から送信された対象物の画像及び行動情報を受信する。サーバ1は、受信した対象物の画像と、当該対象物に対する行動情報とを対応付けて記憶する。具体的には、サーバ1は、訓練データの種類(第2訓練データ)、対象物の画像及び行動情報を一つのレコードとして訓練データDB153に記憶する。訓練データDB153に記憶された第2訓練データを用いて、第2行動情報出力モデル152を生成することができる。
図6は、第2行動情報出力モデル152を説明する説明図である。第2行動情報出力モデル152は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。第2行動情報出力モデル152は、工場内で対象物の画像を入力とし、当該対象物に対する行動情報を出力とするニューラルネットワークを構築済みの推定器である。
サーバ1は、第2行動情報出力モデル152として、対象物の画像内における特徴量を学習するディープラーニングを行うことで第2行動情報出力モデル152を生成する。例えば、第2行動情報出力モデル152はCNNであり、対象物の画像の入力を受け付ける入力層と、当該対象物に対する行動情報を出力する出力層と、バックプロパゲーションにより学習済の中間層とを有する。
サーバ1は、訓練データDB153に蓄積された第2訓練データを用いて、第2行動情報出力モデル152を生成する。第2訓練データは、対象物の画像と、当該対象物に対する行動情報とが対応付けられた組み合わせのデータである。
サーバ1は、取得した第2訓練データを用いて学習を行う。具体的には、サーバ1は、第2訓練データである対象物の画像を入力層に入力し、中間層での演算処理を経て、出力層から該対象物に対する行動情報を出力する。出力層は、例えばシグモイド関数またはソフトマックス関数を含み、中間層から出力された特徴量に基づいて、推定された行動情報の確率値を出力する。
サーバ1は、出力層から出力された推定結果を、第2訓練データにおいて対象物の画像に対しラベル付けされた情報、すなわち正解値と比較し、出力層からの出力値が正解値に近づくように、中間層での演算処理に用いるパラメータを最適化する。
サーバ1は、第2訓練データに含まれる各対象物の画像について上記の処理を行い、第2行動情報出力モデル152を生成する。これにより、例えばサーバ1は当該第2訓練データを用いて第2行動情報出力モデル152の学習を行うことで、対象物に対する行動情報を出力可能なモデルを生成することができる。
サーバ1は、生成した第2行動情報出力モデル152を学習モデル管理DB154に記憶する。具体的には、サーバ1は、第2行動情報出力モデル152に対してモデルIDを割り振る。サーバ1は、割り振ったモデルIDに対応付けて、第2行動情報出力モデル152のモデルファイル、学習モデルの種類(第2行動情報出力モデル152)及び生成日時を一つのレコードとして学習モデル管理DB154に記憶する。
エッジ端末2は、学習済みの第2行動情報出力モデル152をサーバ1の学習モデル管理DB154から取得する。エッジ端末2は、取得した第2行動情報出力モデル152をデプロイする。
エッジ端末2は対象物の画像を取得した場合、取得した対象物の画像を第2行動情報出力モデル152に入力する。エッジ端末2は、第2行動情報出力モデル152の中間層にて対象物の画像の特徴量を抽出する演算処理を行う。エッジ端末2は、抽出した特徴量を第2行動情報出力モデル152の出力層に入力して、対象物に対する行動情報を推定した推定結果を出力として取得する。
図示のように、対象物の画像に対し、「行動情報A」、「行動情報B」、「行動情報C」それぞれの確率値が、「0.90」、「0.04」、「0.06」である推定結果が出力される。行動情報Aは、「撹拌1回 温度上げ 薬剤1回投入」である。行動情報Bは、「撹拌2回 温度下げ 水1回投入」である。行動情報Cは、「気圧上げ 薬剤1回投入」である。
また、所定閾値を利用して推定結果を出力しても良い。例えばエッジ端末2は、「行動情報A」の確率値(0.90)が所定閾値(例えば、0.85)以上であると判定した場合、行動情報Aを推定結果として出力する。なお、上述した閾値を利用せず、第2行動情報出力モデル152が識別した各行動情報の確率値から、最も高い確率値に対応する行動情報を推定結果として出力しても良い。
なお、CNNの代わりに、RCNN、Fast RCNN、Faster RCNN、SSD、YOLO、SVM、ベイジアンネットワーク、トランスフォーマーネットワーク、または回帰木等の任意の物体検出アルゴリズムを使用しても良い。
図7は、第1行動情報出力モデル151の生成処理の手順を示すフローチャートである。サーバ1の制御部11は、工場内で対象物に対し作業する作業者の画像と、当該対象物に対する行動情報とが対応付けられた第1訓練データを大容量記憶部15の訓練データDB153から複数取得する(ステップS101)。制御部11は、取得した第1訓練データを用いて、作業者の画像を入力として、対象物に対する行動情報を出力とする第1行動情報出力モデル151を生成する(ステップS102)。
制御部11は、生成した第1行動情報出力モデル151を大容量記憶部15の学習モデル管理DB154に記憶し(ステップS103)、一連の処理を終了する。具体的には、制御部11は、生成した第1行動情報出力モデル151に対してモデルIDを割り振り、割り振ったモデルIDに対応付けて、第1行動情報出力モデル151のモデルファイル及び生成日時を一つのレコードとして学習モデル管理DB154に記憶する。
図8は、第2訓練データを作成する際の処理手順を示すフローチャートである。サーバ1の制御部11は、第1行動情報出力モデル151のモデルファイルを大容量記憶部15の学習モデル管理DB154から取得する(ステップS111)。制御部11は、取得した第1行動情報出力モデル151のモデルファイルを通信部13によりエッジ端末2に送信する(ステップS112)。
エッジ端末2の制御部21は、サーバ1から送信された第1行動情報出力モデル151のモデルファイルを通信部23により受信する(ステップS211)。制御部21は、受信した第1行動情報出力モデル151のモデルファイルを用いて、第1行動情報出力モデル151をデプロイする(ステップS212)。なお、上述した処理(ステップS111~112、及びステップS211~S212)が一度実行された場合、次回から処理の実行を省略することができる。
制御部21は、工場内で対象物に対し作業する作業者の画像、及び対象物の画像を通信部23により撮影装置3から取得する(ステップS213)。制御部21は、取得した作業者の画像を第1行動情報出力モデル151に入力して(ステップS214)、当該対象物に対する行動情報を出力する(ステップS215)。制御部21は、取得した対象物の画像と、第1行動情報出力モデル151から出力された行動情報とを対応付けて第2訓練データを作成する(ステップS216)。制御部21は、生成した訓練データを通信部23によりサーバ1に送信する(ステップS217)。
サーバ1の制御部11は、エッジ端末2から送信された第2訓練データを通信部13により受信する(ステップS113)。制御部11は、受信した第2訓練データを大容量記憶部15の訓練データDB153に記憶し(ステップS114)、処理を終了する。具体的には、制御部11は、訓練データの種類(第2訓練データ)、対象物の画像及び行動情報を一つのレコードとして訓練データDB153に記憶する。
図9は、第2行動情報出力モデル152の生成処理の手順を示すフローチャートである。サーバ1の制御部11は、工場内で対象物の画像と、当該対象物に対する行動情報とが対応付けられた第2訓練データを大容量記憶部15の訓練データDB153から複数取得する(ステップS121)。制御部11は、取得した第2訓練データを用いて、対象物の画像を入力として、対象物に対する行動情報を出力とする第2行動情報出力モデル152を生成する(ステップS122)。
制御部11は、生成した第2行動情報出力モデル152を大容量記憶部15の学習モデル管理DB154に記憶し(ステップS123)、一連の処理を終了する。具体的には、制御部11は、生成した第2行動情報出力モデル152に対してモデルIDを割り振り、割り振ったモデルIDに対応付けて、第2行動情報出力モデル152のモデルファイル及び生成日時を一つのレコードとして学習モデル管理DB154に記憶する。
本実施形態によると、作業者の画像を入力した場合に、作業者の行動に関する行動情報を出力するよう学習された第1行動情報出力モデル151を生成することが可能となる。
本実施形態によると、第1行動情報出力モデル151から出力された行動情報を用いて、第2行動情報出力モデル152を生成するための訓練データを作成することが可能となる。
本実施形態によると、第2行動情報出力モデル152を用いて、対象物の画像を入力して、該対象物に対する行動情報を出力することが可能となる。
本実施形態によると、工場内で対象物の画像から該対象物に対する行動情報を推定することにより、工場内のオペレーション自動化を実現することが可能となる。
<変形例1>
環境情報を含む第2訓練データを用いて、第2行動情報出力モデル152を学習する処理を説明する。環境情報は、電圧、電流、音、振動、温度、湿度または気圧などを含む。電圧、電流、音または振動等の環境情報は、電圧、電流、音または振動を検出するための検出装置から検出された時系列データである。または、電圧、電流、音または振動等の環境情報は、時系列データに基づいて作成された、電圧、電流、音または振動の変化を表すグラフ画像であっても良い。温度、湿度または気圧等の環境情報は、そのもののデータであっても良く、またはセンサ装置(温度センサ、湿度センサまたは気圧センサ等)から検出された時系列データであっても良い。更にまた、温度、湿度または気圧等の環境情報は、温度、湿度または気圧の変化を示すグラフ画像であっても良い。
図10は、変形例1における訓練データDB153のレコードレイアウトの一例を示す説明図である。なお、図3と重複する内容については同一の符号を付して説明を省略する。訓練データDB153の入力データ列は、対象物の画像と、該対象物の画像に対応する環境情報とを記憶している。
図11は、変形例1における第2行動情報出力モデル152を説明する説明図である。なお、図6と重複する内容については同一の符号を付して説明を省略する。第2行動情報出力モデル152は、工場内で対象物の画像と、該対象物の画像に対応する環境情報とを入力とし、当該対象物に対する行動情報を出力とするニューラルネットワークを構築済みの推定器である。
第2行動情報出力モデル152は、対象物の画像と環境情報との入力を受け付ける入力層と、当該対象物に対する行動情報を出力する出力層と、バックプロパゲーションにより学習済の中間層とを有する。
サーバ1は、訓練データDB153に蓄積された第2訓練データを用いて、第2行動情報出力モデル152を生成する。第2訓練データは、対象物の画像及び環境情報と、当該対象物に対する行動情報とが対応付けられた組み合わせのデータである。サーバ1は、取得した第2訓練データを用いて学習を行う。
サーバ1は、第2訓練データである対象物の画像及び環境情報を入力層に入力し、中間層での演算処理を経て、出力層から該対象物に対する行動情報を出力する。サーバ1は、出力層から出力された推定結果を、第2訓練データにおいて対象物の画像及び環境情報に対しラベル付けされた情報、すなわち正解値と比較し、出力層からの出力値が正解値に近づくように、中間層での演算処理に用いるパラメータを最適化する。
サーバ1は、第2訓練データに含まれる各対象物の画像及び環境情報について上記の処理を行い、第2行動情報出力モデル152を生成する。サーバ1は、生成した第2行動情報出力モデル152を学習モデル管理DB154に記憶する。
なお、環境情報が時系列データである場合、再帰型ニューラルネットワークのRNN(Recurrent Neural Network)、LSTM(Long Short-Term Memory)若しくはGRU(Gated Recurrent Unit)、またはトランスフォーマーネットワーク等を用いて、第2行動情報出力モデル152を生成することができる。
本変形例によると、環境情報を含む第2訓練データを用いて第2行動情報出力モデル152を学習することにより、精度の高い行動情報を得ることが可能となる。
<変形例2>
作業者ごとに第2行動情報出力モデル152を生成する処理を説明する。
図12は、変形例2における訓練データDB153及び学習モデル管理DB154のレコードレイアウトの一例を示す説明図である。なお、図3と重複する内容については同一の符号を付して説明を省略する。
訓練データDB153及び学習モデル管理DB154は、作業者ID列を含む。作業者ID列は、作業者を特定する作業者IDを記憶している。
作業者ごとの第2訓練データを用いて、作業者ごとに第2行動情報出力モデル152を生成することができる。具体的には、エッジ端末2は、工場内で対象物に対し作業する作業者の画像、及び対象物の画像を撮影装置3から取得する。エッジ端末2は、取得した作業者の画像を第1行動情報出力モデル151に入力して、当該対象物に対する行動情報を出力する。エッジ端末2は、取得した対象物の画像と、第1行動情報出力モデル151から出力された行動情報とを対応付けて第2訓練データを作成する。制御部21は、生成した第2訓練データを作業者IDに対応付けてサーバ1に送信する。
サーバ1は、エッジ端末2から送信された作業者ID及び第2訓練データを受信する。サーバ1は、受信した第2訓練データを作業者IDに対応付けて訓練データDB153に記憶する。具体的には、サーバ1は、作業者ID、訓練データの種類(第2訓練データ)、対象物の画像及び行動情報を一つのレコードとして訓練データDB153に記憶する。
そして、サーバ1は、訓練データDB153に蓄積された作業者ごとの第2訓練データを用いて、作業者ごとに第2行動情報出力モデル152を生成する。具体的には、サーバ1は、各作業者IDに対応付けて、各作業者の第2訓練データを訓練データDB153から取得する。サーバ1は、取得した各作業者の第2訓練データを用いて、作業者ごとに第2行動情報出力モデル152を生成する。なお、第2行動情報出力モデル152の生成処理は、実施形態1と同様であるため、説明を省略する。
サーバ1は、生成した第2行動情報出力モデル152を作業者IDに対応付けて学習モデル管理DB154に記憶する。具体的には、サーバ1は、割り振ったモデルIDに対応付けて、第2行動情報出力モデル152のモデルファイル、学習モデルの種類(第2行動情報出力モデル)、生成日時及び作業者IDを一つのレコードとして学習モデル管理DB154に記憶する。
なお、本変形例では、作業者ごとに第2行動情報出力モデル152を生成した処理を説明したが、これに限らず、作業者ごとに第1行動情報出力モデル151を生成しても良い。
本変形例によると、作業者ごとに第2行動情報出力モデル152を生成することが可能となる。
<変形例3>
対象物の処理工程ごとに第2行動情報出力モデル152を生成する処理を説明する。
図13は、変形例3における訓練データDB153及び学習モデル管理DB154のレコードレイアウトの一例を示す説明図である。なお、図3と重複する内容については同一の符号を付して説明を省略する。
訓練データDB153及び学習モデル管理DB154は、処理工程列を含む。処理工程列は、対象物の処理工程を記憶している。処理工程は、工場内の対象物を処理する工程である。例えば対象物がアルミ灰である場合、アルミ灰の絞り状況に応じて、「アルミ絞り中」または「アルミ絞り止り」等を含む。
サーバ1は、訓練データDB153に蓄積された第2訓練データを用いて、処理工程ごとに第2行動情報出力モデル152を生成する。第2訓練データは、処理工程ごとに、対象物の画像と、当該対象物に対する行動情報とが対応付けられた組み合わせのデータであり、または、対象物の画像及び環境情報と、当該対象物に対する行動情報とが対応付けられた組み合わせのデータである。
以下では、「アルミ絞り中」処理工程における第2行動情報出力モデル152を生成する例を説明する。サーバ1は、「アルミ絞り中」処理工程に対応する第2訓練データを訓練データDB153から取得する。サーバ1は、取得した第2訓練データを用いて第2行動情報出力モデル152を生成する。
サーバ1は、生成した第2行動情報出力モデル152を学習モデル管理DB154に記憶する。具体的には、サーバ1は、割り振ったモデルIDに対応付けて、第2行動情報出力モデル152のモデルファイル、学習モデルの種類(第2行動情報出力モデル)、生成日時及び処理工程(アルミ絞り中)を一つのレコードとして学習モデル管理DB154に記憶する。
図14は、処理工程ごとに対象物に対する行動情報を出力する際の処理手順を示すフローチャートである。エッジ端末2の制御部21は、処理工程の選択(指定)を入力部24により受け付ける(ステップS231)。制御部21は通信部23を介して、受け付けた処理工程に応じた対象物の画像を撮影装置3から取得する(ステップS232)。例えば対象物に対し、各処理工程に対応する撮影装置3を配置しても良い。各処理工程に対応する撮影装置3は、該当する処理工程に応じて対象物を撮影する。なお、対象物の画像が予め記憶部22またはサーバ1の大容量記憶部15に記憶された場合、制御部21は、これらの対象物の画像を取得しても良い。
制御部21は、受け付けた処理工程に対応する第2行動情報出力モデル152を取得する(ステップS233)。具体的には、サーバ1の制御部11は、処理工程列を参照し、該当する第2行動情報出力モデル152のモデルファイルを大容量記憶部15の学習モデル管理DB154から抽出する。サーバ1の制御部11は、抽出した第2行動情報出力モデル152のモデルファイルをエッジ端末2に送信する。
制御部21は、取得した第2行動情報出力モデル152をデプロイする(ステップS234)。なお、ステップS233~S234の処理が一度実行された場合、次回から処理の実行を省略することができる。制御部21は、該処理工程に応じた対象物の画像を、取得した第2行動情報出力モデル152に入力し(ステップS235)、当該対象物に対する行動情報を出力する(ステップS236)。制御部21は、処理を終了する。
なお、環境情報を利用した場合は、処理工程のごとに、対象物に対応する環境情報を取得するためのセンサ装置(温度センサ、湿度センサまたは気圧センサ等)が設置される。制御部21は、処理工程に応じた対象物の画像を、当該処理工程に対応する撮影装置3から取得する。制御部21は、当該対象物に対応する環境情報を、当該処理工程に対応するセンサ装置から取得する。制御部21は、取得した対象物の画像及び当該対象物に対応する環境情報を、当該処理工程に対応する第2行動情報出力モデル152に入力し、当該対象物に対する行動情報を出力する。
図15は、対象物の各処理工程の学習状況の表示画面の一例を示す説明図である。図15では、アルミ灰の処理工程の例を説明するが、他の対象物の処理工程にも同様に適用することができる。例えば、アルミ灰の窯内の燃焼状況に応じて、アルミ灰の処理工程が「アルミ絞り中(第1段階)」、「アルミ絞り中(第2段階)」及び「アルミ絞り止り」に分類される。
該画面は、学習状況表示欄11a及び学習ボタン11bを含む。学習状況表示欄11aは、各処理工程の学習状況を表示する表示欄である。学習状況は、例えば「学習済み」、「学習中」及び「未学習」等を含む。学習ボタン11bは、未学習の第2行動情報出力モデル152を学習させるボタンである。
エッジ端末2は、処理工程ごとに第2行動情報出力モデル152の学習状況を取得する。具体的には、エッジ端末2は、処理工程ごとに学習済みの第2行動情報出力モデル152がサーバ1の学習モデル管理DB154に存在しているか否かを問い合わせる。エッジ端末2は、第2行動情報出力モデル152のモデルファイルが存在している場合、該処理工程に対応する第2行動情報出力モデル152の学習状況が「学習済み」である。エッジ端末2は、第2行動情報出力モデル152のモデルファイルが存在していない場合、該処理工程に対応する第2行動情報出力モデル152の学習状況が「未学習」である。
エッジ端末2は、未学習の処理工程に対応する第2行動情報出力モデル152に対し、学習ボタン11bを生成して画面に表示する。エッジ端末2は、学習ボタン11bのタッチ操作を受け付けた場合、第2行動情報出力モデル152の学習指示をサーバ1に送信する。エッジ端末2は、該処理工程に対応する第2行動情報出力モデル152の学習状況を「未学習」から「学習中」に変更する。
サーバ1は、エッジ端末2から送信された学習指示に応じて、該処理工程に対応する第2行動情報出力モデル152の学習処理を行う。サーバ1は、第2行動情報出力モデル152を生成した場合、学習済みの第2行動情報出力モデル152のモデルファイルをエッジ端末2に送信する。エッジ端末2は、サーバ1から送信された学習済みの第2行動情報出力モデル152のモデルファイルを受信する。エッジ端末2は、該処理工程に対応する第2行動情報出力モデル152の学習状況を「学習中」から「学習済み」に変更する。
なお、本変形例では、対象物の処理工程ごとに第2行動情報出力モデル152を生成した処理を説明したが、これに限らず、対象物の処理工程ごとに第1行動情報出力モデル151を生成しても良い。
本変形例によると、対象物の処理工程ごとに第2行動情報出力モデル152を生成することが可能となる。
<変形例4>
作業者による作業と、第2行動情報出力モデル152による行動情報に基づく処理との切り替える処理を説明する。
対象物の画像が取得された場合、作業者による手作業と、第2行動情報出力モデル152による行動情報に基づく処理との切り替えることができる。作業者による作業への切り替え後に、サーバ1は、対象物に対し作業する作業する作業者の画面を取得する。サーバ1は、取得した作業者の画像と、第1行動情報出力モデル151から出力された対象物に対する行動情報(分類結果)とに応じて、第2訓練データを作成する。サーバ1は、作成した第2訓練データを用いて第2行動情報出力モデル152を再学習する。なお、第2行動情報出力モデル152の学習処理に関しては、実施形態1での学習処理と同様であるため、説明を省略する。サーバ1は、再学習した第2行動情報出力モデル152を学習モデル管理DB154に記憶する。
図16は、第2行動情報出力モデル152を再学習する際の処理手順を示すフローチャートである。エッジ端末2の制御部21は、作業者による作業への切り替えを入力部24により受け付ける(ステップS271)。例えば制御部21は、後述する図22の画面を通じて、作業者による作業への切り替えを選択欄12cにより受け付けても良い。制御部21は、作業者の画像を通信部23により撮影装置3から取得する(ステップS272)。制御部21は、作業者による作業への切り替え指示と、取得した作業者の画像とを通信部23によりサーバ1に送信する(ステップS273)。
サーバ1の制御部11は、エッジ端末2から送信された切り替え指示及び作業者の画像を通信部13により受信する(ステップS171)。制御部11は、受信した作業者の画像と、第1行動情報出力モデル151から出力された対象物に対する行動情報とに応じて、第2訓練データを作成する(ステップS172)。制御部11は、作成した第2訓練データを用いて、実施形態1の学習処理と同様に、第2行動情報出力モデル152を再学習する(ステップS173)。制御部11は、再学習した第2行動情報出力モデル152を大容量記憶部15の学習モデル管理DB154に更新する(ステップS174)。
制御部11は、第2行動情報出力モデル152のモデルファイルを通信部13によりエッジ端末2に送信する(ステップS175)。エッジ端末2の制御部21は、サーバ1から送信された第2行動情報出力モデル152のモデルファイルを通信部23により受信する(ステップS274)。制御部21は、受信した第2行動情報出力モデル152のモデルファイルを用いて、第2行動情報出力モデル152をデプロイし(ステップS275)、処理を終了する。
本変形例によると、作業者による作業への切り替え後に、作業者の画像に基づいて作成された第2訓練データを用いて、第2行動情報出力モデル152を再学習することが可能となる。
なお、上述した処理の他に、作業者ごとに、対象物の各処理工程の第2行動情報出力モデル152を生成することができる。この場合、作業者ID及び処理工程に対応付けて、第2訓練データが訓練データDB153に蓄積される。サーバ1は、作業者ごとに、対象物の各処理工程における第2行動情報出力モデル152を生成した場合、作業者ごとに、各処理工程に対応する第2訓練データを訓練データDB153から取得する。サーバ1は、取得した第2訓練データを用いて、作業者ごとに、対象物の各処理工程における第2行動情報出力モデル152を生成する。なお、作業者ごとに、対象物の各処理工程の第1行動情報出力モデル151を生成しても良い。
なお、上述した実施形態では第1行動情報出力モデル151を生成した後に、第2行動情報出力モデル152を生成する例を示したがこれに限るものではない。両者の訓練データを同時に取得し、同時に取得した訓練データに基づき、第1行動情報出力モデル151及び第2行動情報出力モデル152を学習させても良い。例えば、作業者の画像及び対象物の画像を1または複数の撮像装置により同時に取得するとともに、作業者の行動情報の正解ラベルを取得する。サーバ1は、取得した作業者の画像と行動情報とに基づき第1行動情報出力モデル151を生成する。サーバ1はまた、取得した対象物の画像と行動情報とに基づき第2行動情報出力モデル152を生成する。
(実施形態2)
実施形態2は、第2行動情報出力モデル152による行動情報に基づく当該対象物に関する評価を特定する形態に関する。なお、実施形態1と重複する内容については説明を省略する。
エッジ端末2は、第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に関する評価情報を取得する。対象物に関する評価情報は、生産速度、歩留まり率、装置の不具合低減、省エネルギー、環境への影響等を含む。
例えばエッジ端末2は、第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に対し、該対象物の生産速度が上がったか否かを判定しても良い。または、エッジ端末2は、第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に対し、該対象物を生産するための装置の不具合が低減したか否かを判定しても良い。
例えば、対象物がアルミ灰である場合、エッジ端末2は、アルミ灰の画像を第2行動情報出力モデル152に入力して、アルミ灰に対する行動情報を出力する。行動情報は、例えば「撹拌1回、温度上げ、少量水投入」である。エッジ端末2は、第2行動情報出力モデル152から出力された行動情報に応じて、工場内に設置されたアクチュエータ装置に操作指示を出力する。
アクチュエータ装置は、エッジ端末2から送信された操作指示に応じて、アルミ灰を処理する。エッジ端末2は、アルミ灰の処理速度等の評価情報を取得する。エッジ端末2は、取得したアルミ灰の処理速度と基準の処理速度とを比較する。エッジ端末2は、アルミ灰の処理速度が基準の処理速度以下である場合、アルミ灰に関する評価が低いと判定する。エッジ端末2は、アルミ灰に関する評価が低いと判定した場合、アラートを画面に出力する。
なお、対象物を購入した顧客による評価情報、または、対象物に対するアンケートに基づく評価情報等を利用しても良い。
図17は、対象物に関する評価を特定する際の処理手順を示すフローチャートである。エッジ端末2の制御部21は、対象物の画像を通信部23により撮影装置3から取得する(ステップS241)。制御部21は、取得した対象物の画像を第2行動情報出力モデル152に入力し(ステップS242)、当該対象物に対する行動情報を出力する(ステップS243)。
制御部21は、対象物に関する評価情報(生産速度、歩留まり率等)を取得する(ステップS244)。制御部21は、取得した対象物に関する評価情報に基づき、対象物の評価が低いか否かを判定する(ステップS245)。例えば、制御部21は、取得した対象物の生産速度と基準の生産速度とを比較し、生産速度が低いか否かを判定しても良い。
制御部21は、対象物の評価が低いと判定した場合(ステップS245でYES)、評価が低い旨を含むアラートを表示部25により表示し(ステップS246)、処理を終了する。制御部21は、対象物の評価が高いと判定した場合(ステップS245でNO)、処理を終了する。
続いて、評価の高い第2行動情報出力モデル152の選択を受け付ける処理を説明する。複数の第2行動情報出力モデル152が用意された場合、エッジ端末2は、各第2行動情報出力モデル152を用いて、対象物(例えば、アルミ灰)に対する行動情報のそれぞれを取得する。エッジ端末2は、各第2行動情報出力モデル152から出力された行動情報に応じて、工場内に設置されたアクチュエータ装置に操作指示を出力する。
アクチュエータ装置は、エッジ端末2から送信された操作指示に応じて、アルミ灰を処理する。エッジ端末2は、各第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に対し、当該対象物に関する評価情報を取得する。エッジ端末2は、対象物に対する評価の高い第2行動情報出力モデル152の選択を受け付ける。エッジ端末2は、エッジ端末2は、受け付けた第2行動情報出力モデル152をデプロイする。
図18は、処理工程ごとに評価の高い第2行動情報出力モデル152の選択を受け付ける際の処理手順を示すフローチャートである。エッジ端末2の制御部21は、通信部23を介して、処理工程ごとに複数の第2行動情報出力モデル152をサーバ1の学習モデル管理DB154から取得する(ステップS251)。制御部21は、対象物の画像を通信部23により撮影装置3から取得する(ステップS252)。制御部21は、取得した対象物の画像を、処理工程ごとに各第2行動情報出力モデル152に入力し(ステップS253)、対象物に対する行動情報を各第2行動情報出力モデル152から出力する(ステップS254)。
制御部21は、第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に対し、当該対象物に関する評価情報(生産速度、歩留まり率等)を取得する(ステップS255)。制御部21は、処理工程ごとに評価の高い第2行動情報出力モデル152の選択を入力部24により受け付ける(ステップS256)。制御部21は、処理工程ごとに、受け付けた第2行動情報出力モデル152をデプロイし(ステップS257)、処理を終了する。
本実施形態によると、第2行動情報出力モデル152による行動情報に基づく当該対象物に関する評価を特定することが可能となる。
本実施形態によると、対象物に関する評価が低いと判定した場合にアラートを出力することが可能となる。
本実施形態によると、各処理工程で対象物に関する評価の高い第2行動情報出力モデル152の選択を受け付けることが可能となる。
(実施形態3)
実施形態3は、対象物に関する評価を報酬として、第2行動情報出力モデル152を強化学習により学習する形態に関する。なお、実施形態1~2と重複する内容については説明を省略する。
図19は、実施形態2のサーバ1の構成例を示すブロック図である。なお、図2と重複する内容については同一の符号を付して説明を省略する。大容量記憶部15には、スコアDB155が記憶されている。スコアDB155は、強化学習において与えられる報酬(スコア)を規定するテーブルであり、対象物評価の行動と、対象物評価に対して各行動を取った場合に与えられる報酬とを対応付けて記憶するテーブルである。
図20は、スコアDB155のレコードレイアウトの一例を示す説明図である。スコアDB155は、ステータス列及びスコア列を含む。ステータス列は、強化学習における報酬付与の基準とし、対象物評価のステータスを記憶している。本実施の形態では、報酬付与の基準とする対象物(例えば、アルミ灰)評価のステータスとしては、生産速度、歩留まり率、装置の不具合低減、省エネまたは環境への影響に対して評価するためのステータスを定義してある。例えば、生産速度に対する二つのレベルを設けても良い。対象物が生産速度のレベル1に達成した場合、10点のスコアを得て、生産速度のレベル2に達成した場合、15点のスコアを得る。スコア列は、対象物評価のステータスに対応付けて、強化学習の際の報酬値とするスコアを記憶している。
本実施形態では、サーバ1は強化学習手法を用いて、対象物の画像及び環境情報(電圧、電流、音、振動、温度、湿度または気圧)に基づき、対象物に対する行動情報を学習する処理を行う。
強化学習(DQN:Deep Q-Network)は、機械学習の手法の一つであり、現在の状態(s;States)を元に取るべき行動(a;Actions)を選択するための学習手法である。より詳細には、強化学習は、ある方策(π;Policy)に基づきある状態である行動を取った場合に、得られた報酬(r;Reward)から当該方策を評価し、将来に亘って得られる報酬の累積値を最大化するよう方策を改善する手法である。強化学習では、例えば以下の式(1)、(2)を用いて方策の評価と改善とを行う。
式(1)は状態価値関数であり、方策πの下での状態sの価値を定義する関数である。Rtは最終的な累積報酬を表す関数(Reward Function)であり、ある時点tでの報酬rと、遠い将来に得られる報酬rほど割り引いて評価するための割引率γ(Discount Factor)とで表される。式(1)に示すように、状態価値関数は、ある状態sにおいて得られるであろう累積報酬Rtの期待値で表される。
式(2)は行動価値関数であり、方策πの下で、状態sにおいて行動aを取ることの価値を定義する関数である。行動価値関数も状態価値関数と同様に、累積報酬Rtの期待値で表される。
強化学習では、式(1)、(2)で表される各関数を、次の式(3)、(4)で示すように最大化(最適化)する学習を行う。
式(3)、(4)をまとめると、次の式(5)となる。
強化学習では、式(5)を目的関数として、当該目的関数の最適化を行う。具体的には、例えばモンテカルロ法、Q学習、方策勾配法等を用いて、目的関数の最適化を行う。なお、これらの最適化アルゴリズムは公知のものであるため詳細な説明は省略する。
サーバ1は上述の強化学習を用いて、対象物に対する行動情報を学習する処理を行う。具体的には、サーバ1は、対象物の画像及び環境情報を状態sとし、対象物に対する行動情報を行動aとして、スコアDB155で規定される報酬(スコア)に基づく強化学習を行う。
サーバ1は、対象物の画像及び環境情報を状態sとして、式(5)で表される目的関数に入力する。サーバ1は、スコアDB155を参照し、対象物に対する評価行動に基づいて報酬値を算出する。スコアDB155は、対象物の評価行動を判定基準として、対象物の各ステータスの評価行動を取った場合に与えられる報酬rを規定している。具体的には図20で説明したように、スコアDB155は、対象物の評価行動を表すステータスそれぞれに対応付けて、強化学習の報酬rとするスコアを格納している。
スコアDB155では、例えば対象物の生産速度に対する「生産速度のレベル1に達成」及び「生産速度のレベル2に達成」二つのステータスと定義しても良い。「生産速度のレベル1に達成」の場合のスコアを「10」と定義し、「生産速度のレベル2に達成」の場合のスコアを「15」と定義している。つまり、対象物の生産速度が生産速度のレベル1に達成した場合、報酬rとして10ポイントが与えられる。なお、対象物の生産速度が生産速度のレベル1及び生産速度のレベル2の両方に達成していない場合、報酬rとして0ポイントが与えられる。または評価が低いことに応じて、報酬rとしてマイナスポイント(例えば、-10ポイント)が与えられても良い。従って、スコアDB155のステータス列に対応する対象物の評価行動に基づき、累積報酬Rtが計算される。
サーバ1は、上記のように算出される報酬を元に、目的関数の最適化を行う。すなわち、サーバ1は、対象物に対する行動情報を行動aとし、対象物の画像及び環境情報を状態sとして、対象物に対する行動情報を元に算出された累積報酬Rtを元に、式(5)で表されるQ関数の最適化を行う。
上記のようにしてサーバ1は、対象物の画像及び環境情報(状態s)を入力値として、対象物に対する行動情報(行動a)を出力値として得る学習済みの第2行動情報出力モデル152を生成する。
なお、本実施形態では、対象物の画像及び環境情報(状態s)を入力値として説明したが、これに限るものではない。例えばサーバ1は、対象物の画像(状態s)のみを入力値として、対象物に対する行動情報(行動a)を出力値として得る学習済みの第2行動情報出力モデル152を生成しても良い。
なお、上述した強化学習処理に限るものではない。例えば、シーケンスモデリングによる強化学習の手法の一つであるDecision Transformerを用いて、第2行動情報出力モデル152を学習しても良い。
図21は、第2行動情報出力モデル152の強化学習を行う際の処理手順を示すフローチャートである。サーバ1の制御部11は、通信部13を介して、対象物の画像、及び当該対象物に対応する環境情報(電圧、電流、音、振動、温度、湿度または気圧)を取得する(ステップS161)。
制御部11は、取得した対象物の画像及び環境情報を用いて、第2行動情報出力モデル152の強化学習を行う(ステップS162)。具体的には、制御部11は、対象物の画像及び環境情報を状態sとして、式(5)で表される目的関数に入力する。制御部11は、スコアDB155を参照し、対象物に対する評価行動に基づいて報酬値を算出する。制御部11は、算出した報酬を元に目的関数の最適化を行うことにより、第2行動情報出力モデル152を強化学習する。
制御部11は、強化学習を行った第2行動情報出力モデル152を大容量記憶部15の学習モデル管理DB154に更新し(ステップS163)、処理を終了する。具体的には、制御部11はモデルIDに対応付けて、第2行動情報出力モデル152のモデルファイル、学習モデルの種類(第2行動情報出力モデル)及び生成日時を一つのレコードとして学習モデル管理DB154に記憶する。
なお、作業者ごとに第2行動情報出力モデル152の強化学習を行っても良い。また、対象物の処理工程ごとに第2行動情報出力モデル152の強化学習を行っても良い。更にまた、作業者ごとに、対象物の各処理工程における第2行動情報出力モデル152の強化学習を行っても良い。
本実施形態によると、強化学習手法を用いて、対象物に対する行動情報を学習することが可能となる。
本実施形態によると、対象物に対する最適な行動情報を出力することにより、生産性を向上させることが可能となる。
(実施形態4)
実施形態4は、作業者ごとに、各処理工程に対応する第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に対し、当該対象物に関する評価情報を表示する形態に関する。なお、実施形態1~3と重複する内容については説明を省略する。
図22は、対象物に関する評価情報の表示画面の一例を示す説明図である。図22では、アルミ灰の処理工程の例を説明するが、他の対象物の処理工程にも同様に適用することができる。例えば、アルミ灰の窯内の燃焼状況に応じて、アルミ灰の処理工程が「アルミ絞り中(第1段階)」、「アルミ絞り中(第2段階)」及び「アルミ絞り止り」に分類される。
該画面は、名称表示欄12a、サムネイル画像表示欄12b、選択欄12c及び情報表示欄12dを含む。名称表示欄12aは、処理工程の名称を表示する表示欄である。サムネイル画像表示欄12bは、処理工程のサムネイル画像を表示する表示欄である。
選択欄12cは、作業者ごとの第2行動情報出力モデル152の選択、または、作業者による作業への切り替え先の選択を受け付ける選択欄である。図示のように、選択欄12cには、「作業者A 第2行動情報出力モデル」、「作業者B 第2行動情報出力モデル」、「作業者Aによる作業への切り替え」及び「作業者Bによる作業への切り替え」が設定される。なお、選択欄12cに設定された項目は、実際のニーズに応じて設定されても良い。
情報表示欄12dは、選択欄12cにおいてモデルが選択されている場合、モデル名と、該モデルの対象物に関する評価情報が表示される。一方、情報表示欄12dは、選択欄12cにおいて作業者への切り替えが選択されている場合、作業者による作業への切り替えに関する情報が表示される。
エッジ端末2は、アルミ灰の処理工程の名称及びサムネイル画像を取得する。なお、処理工程の名称及びサムネイル画像がサーバ1の大容量記憶部15に記憶されても良く、またはエッジ端末2の記憶部22に記憶されても良い。エッジ端末2は、取得した処理工程の名称を名称表示欄12aに表示し、取得した処理工程のサムネイル画像をサムネイル画像表示欄12bに表示する。
エッジ端末2は、選択欄12cの選択操作を受け付けた場合、選択された項目に応じて、情報表示欄12dに表示される情報を取得する。例えばエッジ端末2は、「アルミ絞り中(第1段階)」処理工程における「作業者A 第2行動情報出力モデル」項目の選択を受け付ける。エッジ端末2は、「アルミ絞り中(第1段階)」処理工程に対し、作業者Aに対応する第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に関する評価情報を取得する。対象物に関する評価情報は、生産速度、歩留まり率、装置の不具合低減、省エネルギー、環境への影響等を含む。エッジ端末2は、取得した評価情報を、「アルミ絞り中(第1段階)」処理工程に対応する情報表示欄12dに表示する。図示のように、「作業者A 第2行動情報出力モデル」項目に対し、「生産速度:高 歩留まり率:85% ・・・」となった評価情報が情報表示欄12dに表示される。
また、例えばエッジ端末2は、「アルミ絞り中(第2段階)」処理工程における「作業者B 第2行動情報出力モデル」項目の選択を受け付ける。エッジ端末2は、「アルミ絞り中(第2段階)」処理工程に対し、作業者Bに対応する第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に関する評価情報を取得する。エッジ端末2は、取得した評価情報を、「アルミ絞り中(第2段階)」処理工程に対応する情報表示欄12dに表示する。図示のように、「作業者B 第2行動情報出力モデル」項目に対し、「生産速度:高 歩留まり率:87% ・・・」となった評価情報が情報表示欄12dに表示される。
更にまた、例えばエッジ端末2は、「アルミ絞り止り」処理工程における「作業者Aによる作業への切り替え」項目の選択を受け付ける。エッジ端末2は、作業者の画像を撮影装置3から取得する。エッジ端末2は、作業者による作業への切り替え指示と、取得した作業者の画像とをサーバ1に送信する。サーバ1は、エッジ端末2から送信された切り替え指示及び作業者の画像を受信する。サーバ1は、受信した作業者の画像と、第1行動情報出力モデル151から出力された対象物に対する行動情報とに応じて、第2訓練データを作成する。
サーバ1は、作成した第2訓練データを用いて、実施形態1の学習処理と同様に、第2行動情報出力モデル152を再学習する。サーバ1は、学習中の旨を含むメッセージをエッジ端末2に送信する。エッジ端末2は、サーバ1から送信されたメッセージを受信する。エッジ端末2は、受信したメッセージを、「アルミ絞り止り」処理工程に対応する情報表示欄12dに表示する。図示のように、「作業者Aによる作業への切り替え」項目に対し、「作業者Aによる作業に基づき、学習中」、または、再学習処理の終了に伴い「作業者Aの第2行動情報出力モデル学習完了」等のメッセージが表示される。
なお、図22では第2行動情報出力モデル152の例を説明したが、これに限らず、第1行動情報出力モデル151にも同様に適用することができる。
本実施形態によると、作業者ごとに、各処理工程に対応する第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に対し、当該対象物に関する評価情報を表示することが可能となる。
(実施形態5)
実施形態5は、更新前後の第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に対し、当該対象物に関する評価を記憶する形態に関する。なお、実施形態1~4と重複する内容については説明を省略する。
対象物に関する評価は、対象物(例えば、アルミ灰、シリコン単結晶、生成物または抽出物)に対し、評価項目に基づき算出されたスコアまたはランク等を含む。評価項目は、例えば、絞り出し量、処理時間、消費電力量、生産速度、歩留まり率、装置の故障若しくは停止の回数、装置の不具合低減、電流の負荷状況、消耗部材の交換回数、省エネルギー、または環境への影響等を含む。なお、以下では、スコアの例を説明するが、他の種類の評価にも同様に適用することができる。
図23は、実施形態5におけるスコアDB155のレコードレイアウトの一例を示す説明図である。スコアDB155は、モデルID列、評価項目列、スコア列、総合スコア列及び評価日時列を含む。モデルID列は、学習済みの第2行動情報出力モデル152を特定する学習モデルのIDを記憶している。
評価項目列は、対象物を評価するための評価項目を記憶している。スコア列は、評価項目のスコアを記憶している。総合スコア列は、各評価項目のスコアに基づいて算出された総合スコアを記憶している。評価日時列は、第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に対し、当該対象物を評価した日時情報を記憶している。
例えば、モデルIDが「00001」である第2行動情報出力モデル152は、再学習前の学習モデルである。モデルIDが「00002」である第2行動情報出力モデル152は、モデルIDが「00001」である第2行動情報出力モデル152を再学習させた学習モデルである。
図示のように、再学習前の第2行動情報出力モデル152(モデルID:00001)において、対象物の絞り出し量のスコアが6点であり、処理時間のスコアが8点である。再学習後の第2行動情報出力モデル152(モデルID:00002)において、対象物の絞り出し量のスコアが7点であり、処理時間のスコアが9点である。絞り出し量が多いほど、スコアが高くなる。また、処理時間が短いほど、スコアが高くなる。
サーバ1は、第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に対し、所定の評価項目に応じて、当該対象物に対して評価された第1スコア(総合スコア)を算出する。評価項目は、例えば、絞り出し量、処理時間、消費電力量、生産速度または歩留まり率等を含む。
例えば、対象物がアルミ灰である場合、各評価項目は工場内でアルミ灰を絞る(搾る)ためアルミ灰搾り装置から取得されても良い。例えば、絞り出し量が90Lである場合、当該絞り出し量のスコアが6点である。または、消費電力量が20分である場合、当該消費電力量のスコアが8点である。第1スコアは、各評価項目のスコアを合計することにより算出される。算出された第1スコアは14点(6点+8点)である。なお、重み付け係数を利用することにより、第1スコアを算出することができる。重み付け係数による第1スコアの算出処理は後述する。サーバ1は、第2行動情報出力モデル152のモデルIDに対応付けて、算出した第1スコアをスコアDB155に記憶する。
サーバ1は、第2行動情報出力モデル152を再学習させる。例えばサーバ1は、実施形態3での強化学習を用いて、対象物に関する第1評価に基づいて再学習させても良い。サーバ1は、再学習させた第2行動情報出力モデル152に対してモデルIDを割り振る。サーバ1は、割り振ったモデルIDに対応付けて、再学習させた第2行動情報出力モデル152を学習モデル管理DB154に記憶する。
サーバ1は、再学習させた第2行動情報出力モデル152から出力された行動情報に基づいて処理された当該対象物に対し、所定の評価項目に応じて、当該対象物に対して評価された第2スコア(総合スコア)を算出する。例えば、絞り出し量が95Lである場合、当該絞り出し量のスコアが7点である。または、消費電力量が19分である場合、当該消費電力量のスコアが9点である。第2スコアは、16点(7点+9点)である。サーバ1は、再学習させた第2行動情報出力モデル152のモデルIDに対応付けて、算出した第2スコアをスコアDB155に記憶する。
図24及び図25は、更新前後の第2行動情報出力モデル152におけるスコアを記憶する際の処理手順を示すフローチャートである。エッジ端末2の制御部21は、ステップS281~S284の処理を実行する。なお、ステップS281~S284の処理に関しては、図17のステップS241~S244と同様であるため、説明を省略する。
制御部21は、取得した評価情報(絞り出し量、処理時間、消費電力量、生産速度または歩留まり率等)を通信部23によりサーバ1に送信する(ステップS285)。サーバ1の制御部11は、エッジ端末2から送信された評価情報を通信部13により受信する(ステップS181)。制御部11は、受信した評価情報に応じて、対象物に対して評価された第1スコアを算出する(ステップS182)。
例えば、評価項目が絞り出し量、処理時間及び消費電力量を含む場合、絞り出し量、処理時間及び消費電力量のそれぞれに対してスコアを設けても良い。絞り出し量が多いほど、スコアが高くなる。例えば、絞り出し量によるスコアが「90L:6点、95L:7点、100L:8点、105L:9点、110L:10点」であっても良い。処理時間が短いほど、スコアが高くなる。例えば、処理時間によるスコアが「21分:7点、20分:8点、19分:9点、18分:10点」であっても良い。消費電力量が少ないほど、スコアが高くなる。例えば、消費電力量によるスコアが「0.9KWh:10点、1KWh:9点、1.1KWh:8点」であっても良い。そして、第1スコアは、各評価項目のスコアを合計することにより算出される。
または、第1スコアは、各評価項目に基づいて算出されたスコアを重み付けして加算することにより得られても良い。例えば、絞り出し量の重み付け係数が1.5であり、処理時間の重み付け係数が0.8であり、且つ、消費電力量の重み付け係数が0.7である。この場合、第1スコアは、「絞り出し量のスコア×1.5 + 処理時間のスコア×0.8 + 消費電力量のスコア×0.7」となった計算式で算出される。なお、重み付け係数は、評価項目の重要度に応じて設定されても良い。
なお、第1スコアは、実際のニーズに応じて任意の算出アルゴリズムを利用して算出しても良い。
制御部11は、算出した第1スコアを大容量記憶部15のスコアDB155に記憶する(ステップS183)。具体的には、制御部11は、第2行動情報出力モデル152のモデルIDに対応付けて、対象物の評価項目(例えば、絞り出し量90Lを達成)、各評価項目のスコア、第1スコア(総合スコア)及び評価日時を一つのレコードとしてスコアDB155に記憶する。
制御部11は、例えば、対象物に対して評価された第1スコアに基づいて、強化学習における訓練データを作成する(ステップS184)。訓練データは、対象物評価の行動(ステータス)と、当該対象物評価に対して各行動を取った場合に与えられるスコア(報酬)とが対応付けられたデータである。
制御部11は、作成した訓練データを用いて、対象物の画像に基づき、強化学習手法により第2行動情報出力モデル152の再学習を行う(ステップS185)。なお、第2行動情報出力モデル152の再学習処理に関しては、実施形態3での強化学習処理と同様であるため、説明を省略する。なお、第2行動情報出力モデル152の再学習は強化学習を用いることができるが、特に強化学習に限定されず、例えば、教師あり学習を行っても良い。
制御部11は、ステップS186~S187の処理を実行する。エッジ端末2の制御部21は、ステップS286~S287の処理を実行する。なお、ステップS186~S187及びステップS286~S287の処理については、図16のステップS174~S175及びステップS274~S275の処理と同様であるため、説明を省略する。
その後に、エッジ端末2の制御部21は、ステップS288~S292の処理を実行する。サーバ1の制御部11は、ステップS188~190の処理を実行する。なお、ステップS288~S292及びステップS188~190の処理に関しては、ステップS281~S285及びステップS181~S183の処理と同様であるため、説明を省略する。
サーバ1の制御部11は、算出した第1スコアと第2スコアとの比較処理を行う(ステップS191)。制御部11は、第1スコアと第2スコアとを比較した比較結果を通信部13によりエッジ端末2に送信する(ステップS192)。エッジ端末2の制御部21は、サーバ1から送信された比較結果を通信部23により受信する(ステップS293)。制御部21は、受信した比較結果を表示部25により表示し(ステップS294)、処理を終了する。なお、比較結果は、表またはグラフ等の形式で表示されても良い。
図26は、スコアに基づく比較結果を示すグラフの一例である。図26Aは、評価項目ごとのスコアに基づく比較結果を示すグラフの一例である。グラフ13aには、第2行動情報出力モデル152A、第2行動情報出力モデル152B及び第2行動情報出力モデル152Cにおいて、絞り出し量、処理時間及び消費電力量を含む評価項目に対応するスコアが表示されている。
図示のように、グラフ13aの横軸は評価項目(絞り出し量、処理時間及び消費電力量)を示す。グラフ13aの縦軸はスコアを示し、単位は点(得点)である。第2行動情報出力モデル152Aは、右下がりのハッチングで示されている。第2行動情報出力モデル152Bは、横ストライプ状のハッチングで示されている。第2行動情報出力モデル152Cは、枠で囲まれたひし形のハッチングで示されている。
第2行動情報出力モデル152Aから出力された行動情報に基づいて処理された対象物の絞り出し量のスコア(9点)が一番高い。また、第2行動情報出力モデル152Cから出力された行動情報に基づいて処理された対象物の処理時間のスコア(9点)が一番高い。更にまた、第2行動情報出力モデル152Bから出力された行動情報に基づいて処理された対象物の消費電力量のスコア(8点)が一番高い。
図26Bは、総合スコアに基づく比較結果を示すグラフの一例である。グラフ13bには、第2行動情報出力モデル152A(右下がりのハッチング)、第2行動情報出力モデル152B(横ストライプ状のハッチング)及び第2行動情報出力モデル152C(枠で囲まれたひし形のハッチング)のそれぞれの総合スコアが表示されている。グラフ13bの横軸は総合スコアを示し、単位は点である。グラフ13bの縦軸は第2行動情報出力モデル152の名称を示す。
サーバ1は、各評価項目に基づいて算出されたスコアを重み付けして加算することにより、総合スコアを算出する。例えば、絞り出し量の重み付け係数が1.5であり、処理時間の重み付け係数が0.8であり、且つ、消費電力量の重み付け係数が0.7である。第2行動情報出力モデル152Aの総合スコアは23.3(9×1.5+7×0.8+6×0.7)であり、第2行動情報出力モデル152Bの総合スコアは24(8×1.5+8×0.8+8×0.7)であり、第2行動情報出力モデル152Cの総合スコアは24.1(8×1.5+9×0.8+7×0.7)である。
サーバ1は、算出した総合スコアに基づき、比較結果を示すグラフ13bを生成する。サーバ1は、生成したグラフ13bをエッジ端末2に送信する。エッジ端末2は、サーバ1から送信されたグラフ13bを表示する。図示のように、第2行動情報出力モデル152Aの総合スコアが一番低い、第2行動情報出力モデル152Cの総合スコアが一番高い。従って、第2行動情報出力モデル152Cの評価が高いと判断することができる。
なお、図26では、比較結果を縦棒グラフで示しているが、これに限るものではない。例えば、円グラフまたは横棒グラフ等の形式で比較結果を表示しても良い。
本実施形態によると、更新前後の第2行動情報出力モデル152から出力された行動情報に基づいて処理された対象物に対し、当該対象物に関する評価を記憶することが可能となる。
(実施形態6)
実施形態6は、第2行動情報出力モデル152から出力された行動情報と、当該行動情報に基づき実施された実施行動情報とを比較する形態に関する。なお、実施形態1~5と重複する内容については説明を省略する。
エッジ端末2は、第2行動情報出力モデル152から出力された行動情報に基づき実施された実施行動情報を取得する。実施行動情報は、対象物に対し、作業者により実際の作業を行って得られた行動情報である。エッジ端末2は、第2行動情報出力モデル152から出力された行動情報と、取得した実施行動情報とを比較する。
例えば、工場内で対象物に対し、第2行動情報出力モデル152から出力された行動情報が「薬剤投入」であり、「薬剤投入」と「水投入」との両方の実施行動情報に基づき、作業者により作業を行った場合がある。または、第2行動情報出力モデル152から出力された行動情報が「3回撹拌」であり、「5回撹拌」となった実施行動情報に基づき、作業者により作業を行った場合がある。
これらの場合、エッジ端末2は、作業者の実施行動情報を検出する。なお、実施行動情報は、対象物に対し作業する作業者の画像を入力した場合、当該対象物に対する行動情報(実施行動情報)を出力する第1行動情報出力モデル151を用いて検出されても良い。なお、実施行動情報の検出処理に関しては、第1行動情報出力モデル151の利用に限るものではない。例えば、測位センサにより得られた作業者の移動履歴、及び、工場内で対象物を処理するためのセンサ装置もしくはアクチュエータ装置等の操作履歴に基づき、実施行動情報を検出しても良い。
エッジ端末2は、第2行動情報出力モデル152から出力された行動情報と、作業者による実施行動情報とが一致していない場合に、アラートを出力する。アラートは、例えば、メッセージ表示、ランプの点灯もしくは点滅、ブザーの鳴動またはメール配信等を含む。なお、メッセージには、第2行動情報出力モデル152から出力された行動情報及び作業者の実施行動情報において、それぞれの行動の名称(例えば、撹拌)、または回数(例えば、3回)等が含まれても良い。なお、上述した処理はサーバ1側で実行されても良い。
図27は、行動情報と実施行動情報とを比較する際の処理手順を示すフローチャートである。エッジ端末2の制御部21は、対象物の画像を通信部23により撮影装置3から取得する(ステップS01)。制御部21は、取得した対象物の画像を第2行動情報出力モデル152に入力し(ステップS02)、当該対象物に対する行動情報を出力する(ステップS03)。
制御部21は、出力された行動情報に基づき、対象物に対して作業した作業者の画像を通信部23により撮影装置3から取得する(ステップS04)。制御部21は、取得した作業者の画像を第1行動情報出力モデル151に入力し(ステップS05)、当該対象物に対する実施行動情報を出力する(ステップS06)。
制御部21は、第2行動情報出力モデル152から出力された行動情報と、第1行動情報出力モデル151から出力された実施行動情報とが一致しているか否かを判定する(ステップS07)。制御部21は、両者が一致していると判定した場合(ステップS07でYES)、処理を終了する。制御部21は、両者が一致していないと判定した場合(ステップS07でNO)、アラートを表示部25により出力し(ステップS08)、処理を終了する。
本実施形態によると、第2行動情報出力モデル152から出力された行動情報と、当該行動情報に基づき実施された実施行動情報とを比較することが可能となる。
本実施形態によると、行動情報と、当該行動情報に基づき実施された実施行動情報とが一致していない場合、アラートを出力することが可能となる。
本実施形態によると、アラートを出力することにより、対応漏れまたは誤操作等を早期に検出できるので、作業の安全性を向上できる。
(実施形態7)
実施形態7は、再学習前の第2行動情報出力モデル152により出力された行動情報に基づき作業を行った作業結果と、再学習後の当該第2行動情報出力モデル152により出力された行動情報に基づき作業を行った作業結果とを比較する形態に関する。なお、実施形態1~6と重複する内容については説明を省略する。
作業結果は、作業者により作業を行って得られた第1作業結果、及び、工場内で対象物を処理するためのセンサ装置もしくはアクチュエータ装置等から得られた第2作業結果を含む。第1作業結果は、例えば、第2行動情報出力モデル152により出力された行動情報に基づき、対象物に対し作業する作業者の画像もしくは動画(録画データ)等を含む。第2作業結果は、対象物に対応する環境情報を取得するためのセンサ装置(温度センサ、湿度センサまたは気圧センサ等)により得られたセンサデータ、各工程における対象物に対する作業ログデータ、または、対象物に関する評価情報等含む。
本実施形態では、各工程における対象物に対する作業ログデータを作業結果として説明するが、他の種類の作業結果にも同様に適用することができる。
図28は、作業結果を比較した比較結果を出力する際の処理手順を示すフローチャートである。例えば作業結果は、作業ログデータである。作業ログデータは、例えば、工程の名称、各工程における対象物の状態(例えば、撹拌状態または抽出状態)、及びログ出力時刻等を含む。
エッジ端末2の制御部21は、通信部23を介して、対象物を撮像した対象物の画像を撮影装置3から取得する(ステップS11)。制御部21は、取得した対象物の画像を第2行動情報出力モデル152(更新前)に入力し(ステップS12)、当該対象物に対する行動情報を出力する(ステップS13)。エッジ端末2の制御部21は、第2行動情報出力モデル152(更新前)により出力された行動情報に基づき作業を行った第1作業ログデータを取得する(ステップS14)。
制御部21は、通信部23を介して、更新(再学習)された第2行動情報出力モデル152をサーバ1から取得する(ステップS15)。例えばサーバ1は、第2行動情報出力モデル152により出力された行動情報に基づき処理された対象物に対し、当該対象物に関する評価に基づいて第2行動情報出力モデル152を再学習させる。なお、第2行動情報出力モデル152の再学習処理に関しては、実施形態5での再学習処理と同様であるため、説明を省略する。
制御部21は、取得した更新後の第2行動情報出力モデル152をデプロイする(ステップS16)。制御部21は、通信部23を介して、対象物の画像を撮影装置3から再取得する(ステップS17)。制御部21は、再取得した対象物の画像を第2行動情報出力モデル152(更新後)に入力し(ステップS18)、当該対象物に対する行動情報を出力する(ステップS19)。
制御部21は、更新後の第2行動情報出力モデル152により出力された行動情報に基づき作業を行った第2作業ログデータを取得する(ステップS20)。制御部21は、第1作業ログデータと第2作業ログデータとの比較処理を行う(ステップS21)。制御部21は、比較した比較結果を表示部25により表示し(ステップS22)、処理を終了する。比較結果は、例えば、表またはグラフ等の形式で画面に表示されても良い。
また、作業ログデータに基づき、工程ごとに対象物の状態変化を示す情報をグラフ形式で出力することができる。
図29は、対象物の状態変化を示すグラフの一例を示す説明図である。例えば、対象物がアルミ灰である。グラフ14aは、灰絞り工程において、撹拌による絞り出しの作業ログデータに基づき作成されたグラフである。グラフ14aには、第2行動情報出力モデル152A及び第2行動情報出力モデル152Bのそれぞれの上釜状態及び下釜状態が示されている。例えば、第2行動情報出力モデル152Aが更新前の学習モデルであり、第2行動情報出力モデル152Bが更新後の学習モデルである。
グラフ14aの横軸は時間を示し、例えば単位は分である。グラフ14aの左側の縦軸は上釜状態を示し、右側の縦軸は下釜状態を示す。上釜状態(撹拌)は、例えば、撹拌棒上昇(撹拌棒上)、消灰投入(窯の上は消灰で覆われる)、注水(小爆発)、正反転交互回転(撹拌中)、撹拌棒降下(撹拌開始)、及び釜投入(上釜有り)を含む。下釜状態(抽出)は、例えば、釜満、抽出大、抽出中、抽出少、抽出無し、釜有及び釜無を含む。
図示のように、灰絞り工程において、第2行動情報出力モデル152A(更新前)に対し、作業の時間順に上釜の撹拌状態を示すライン14b、及び、作業の時間順に下釜の抽出状態を示すライン14cがグラフ14a上に表示される。ライン14bは、実線で表れている。ライン14b上での各黒楕円印14b’は、上釜の各撹拌状態を示す。ライン14cは、破線で表れている。ライン14c上での各白楕円印14c’は、下釜の各抽出状態を示す。
また、第2行動情報出力モデル152B(更新後)に対し、作業の時間順に上釜の撹拌状態を示すライン14d、及び、作業の時間順に下釜の抽出状態を示すライン14eが14a上に表示される。ライン14dは、点線で表れている。ライン14d上での各黒矩形印14d’は、上釜の各撹拌状態を示す。ライン14eは、一点鎖線で表れている。ライン14e上での各白矩形印14e’は、下釜の各抽出状態を示す。
時間の推移に伴い、第2行動情報出力モデル152A(更新前)及び第2行動情報出力モデル152B(更新後)において、上釜の撹拌状態及び下釜の抽出状態を対比して表示することにより、上釜の撹拌状態及び下釜の抽出状態の変化を容易に把握することができる。
本実施形態によると、再学習前後の第2行動情報出力モデル152により出力された行動情報に基づき作業を行った作業結果を比較した比較結果を出力することが可能となる。
(実施形態8)
実施形態8は、第1期間における対象物の時系列画像に基づき、人工知能(AI:Artificial Intelligence)を用いて、当該第1期間以降(第2期間)における当該対象物の画像を予測した予測結果を出力する形態に関する。なお、実施形態1~7と重複する内容については説明を省略する。
図30は、実施形態8におけるサーバ1の構成例を示すブロック図である。なお、図19と重複する内容については同一の符号を付して説明を省略する。大容量記憶部15には、予測モデル(第3学習モデル)156が記憶されている。予測モデル156は、第1期間における対象物の時系列画像に基づいて、第2期間(第1期間以降)における当該対象物の画像を予測する予測器であり、機械学習により生成された学習済みモデルである。
本実施形態でのサーバ1は、第1期間における対象物の画像を時系列で取得する。サーバ1は、取得した第1期間における対象物の時系列画像を予測モデル156に入力し、第2期間における当該対象物の画像を予測した予測結果を出力する。
予測モデル156は、人工知能ソフトウェアの一部であるプログラムモジュールとして利用される。予測モデル156は、第1期間における対象物の時系列画像が入力された場合、第2期間における当該対象物の画像を予測した予測結果を出力する学習モデルである。対象物の画像は、作業中の対象物の状態または具合等を示す画像である。
本実施の形態に係る予測モデル156は、例えばU-Net(Convolutional Networks for Biomedical Image Segmentation)を用いて対象物の画像の予測処理を行う。予測モデル156は、複数のニューロンが相互に結合したニューラルネットワークの構造をなしている。予測モデル156は、一又は複数のデータの入力を受け付ける入力層と、入力層にて受け付けられたデータに対して演算処理を行う中間層と、中間層の演算結果を集約して一又は複数の値を出力する出力層とを備えている。
予測モデル156は、予め学習処理がなされた学習済みのモデルである。学習処理は、予め与えられた多数の訓練データを用いて、ニューラルネットワークを構成する各ニューロンの係数及び閾値等に適切な値を設定する処理である。本実施の形態に係る予測モデル156は、訓練データを用いて学習処理が行われる。訓練データの入力データは、第1期間における対象物の時系列画像であり、出力データは、第2期間における当該対象物の画像である。
具体的には、サーバ1は、訓練データに含まれる第1期間における対象物の時系列画像(入力データ)を学習前の予測モデル156の入力層に入力し、中間層での演算処理を経て、出力層から出力された対象物の画像を取得する。そして、サーバ1は、出力層から出力された対象物の画像と、訓練データに含まれる第2期間における対象物の画像(出力データ)、すなわち正解値とを比較し、出力層から出力される対象物の画像が、正解値である第2期間における対象物の画像に近づくように、中間層での演算処理に用いるパラメータを最適化する。
当該パラメータは、例えばニューロン間の重み(結合係数)等である。パラメータの最適化の方法は特に限定されないが、例えばサーバ1は、最急降下法または誤差逆伝播法等を用いて各種パラメータの最適化を行う。
なお、他のコンピュータ(図示せず)により上述の学習処理を行い、予測モデル156をデプロイしても良い。
サーバ1は、第1期間における対象物の画像を時系列で取得した場合、取得した対象物の時系列画像を予測モデル156に入力し、第2期間における当該対象物の画像を予測する。サーバ1は、予測した予測結果を出力する。
なお、予測モデル156は、U-Netに限らず、例えばDNN(Deep Neural Network(s))、Universal Sentence Encoder、RNN、GAN(Generative Adversarial Network)、ViT(Vision Transformer)、BERT(Bidirectional Encoder Representations from Transformers)、LSTM、ロジスティック回帰、SVM、k-NN、決定木、単純ベイズ分類器、またはランダムフォレストといった他のモデルによって実現されても良い。
サーバ1は、生成した予測モデル156を学習モデル管理DB154に記憶する。具体的には、サーバ1は、予測モデル156に対してモデルIDを割り振る。サーバ1は、割り振ったモデルIDに対応付けて、予測モデル156のモデルファイル、学習モデルの種類(予測モデル156)及び生成日時を一つのレコードとして学習モデル管理DB154に記憶する。
サーバ1は、記憶した予測モデル156をエッジ端末2に送信する。エッジ端末2は、サーバ1から送信された学習済みの予測モデル156を受信する。エッジ端末2は、受信した予測モデル156をデプロイする。エッジ端末2は、デプロイした予測モデル156を用いて対象物の画像を予測する。
図31は、第2期間における対象物の画像を予測する際の処理手順を示すフローチャートである。エッジ端末2の制御部21は、通信部23を介して、第1期間における対象物の時系列画像を撮影装置3から取得する(ステップS31)。制御部21は、取得した対象物の時系列画像を予測モデル156に入力する(ステップS32)。
制御部21は、第2期間における対象物の画像を予測した予測結果を出力する(ステップS33)。具体的には、制御部21は、予測モデル156の中間層にて対象物の画像の特徴量を抽出する演算処理を行う。制御部21は、抽出した特徴量を予測モデル156の出力層に入力して、第2期間における当該対象物の画像を予測した予測結果を出力として取得する。制御部21は、予測モデル156から出力された予測結果を表示部25により表示し(ステップS34)、処理を終了する。
第2期間における対象物の画像を予測することにより、対象物の出来上がり具合に応じて、最適な投入の材料または投入量等を随時調整することができる。また、作業者は、予測された対象物の画像から当該対象物の出来上がり具合を評価し、出来上がり具合の評価により人手が介入することが可能となる。更にまた、予測された対象物の画像に基づき、当該対象物に対してレシピを変えることにより、最適なレシピを提供し得ることが可能となる。
本実施形態によると、第1期間における対象物の時系列画像に基づき、予測モデル156を用いて、第2期間における当該対象物の画像を予測することが可能となる。
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
各実施形態に記載した事項は相互に組み合わせることが可能である。また、特許請求の範囲に記載した独立請求項及び従属請求項は、引用形式に関わらず全てのあらゆる組み合わせにおいて、相互に組み合わせることが可能である。さらに、特許請求の範囲には他の2以上のクレームを引用するクレームを記載する形式(マルチクレーム形式)を用いているが、これに限るものではない。マルチクレームを少なくとも一つ引用するマルチクレーム(マルチマルチクレーム)を記載する形式を用いて記載しても良い。