(57)【要約】【課題】  本発明によれば、学習モデルに用いる教師データの生成にかける手間を軽減し、教師データを効率的に生成できる。【解決手段】  上記課題を解決する本発明にかかる情報処理装置は、所定の動作を反復して行う物体を撮影した時系列画像データに対して動作内容を出力する学習済みモデルを有する情報処理装置であって、前記時系列画像データのうち所定の動作を行う物体を示す画像データと、前記動作を反復する周期を示す工程情報とを取得する取得手段と、前記画像データが示す物体の動作の周期と前記工程情報が示す前記物体の動作の周期とが整合する場合、該画像データに対して所定の動作を示すラベルを付与することによって前記学習済みモデルを新たに学習させる教師データを生成する生成手段を有することを特徴とする。【選択図】  図４
2020144660.tif 000002
【特許請求の範囲】
【請求項１】
所定の動作を反復して行う物体を撮影した時系列画像データに対して動作内容を出力する学習済みモデルを有する情報処理装置であって、
前記時系列画像データのうち所定の動作を行う物体を示す画像データと、前記動作を反復する周期を示す工程情報とを取得する取得手段と、
前記画像データが示す物体の動作の周期と前記工程情報が示す前記物体の動作の周期とが整合する場合、該画像データに対して所定の動作を示すラベルを付与することによって前記学習済みモデルを新たに学習させる教師データを生成する生成手段を有することを特徴とする情報処理装置。
【請求項２】
前記工程情報は、前記所定の動作に含まれる第１の動作と、前記第１の動作の次に行われる第２の動作との順序を示す情報であって、
前記生成手段は、前記画像データが示す動作の順序と前記工程情報が示す前記順序とが整合する場合、該画像データに対して所定の動作を示すラベルを付与することによって前記学習済みモデルを新たに学習させる教師データを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記工程情報は、前記所定の動作に含まれる第１の動作と、前記第１の動作の所要時間を示す情報であって、
前記生成手段は、前記画像データが示す前記第１の動作の所要時間と前記工程情報が示す前記所要時間とが整合する場合、該画像データに対して前記第１の動作を示すラベルを付与することによって前記学習済みモデルを新たに学習させる教師データを生成することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記工程情報は、前記第１の動作と、前記所定の動作に含まれる前記第１の動作と異なる第２の動作との時間間隔を示す情報であって、
前記生成手段は、前記第１の動作と前記第２の動作とを示す前記画像データと前記工程情報が示す前記時間間隔が整合する場合、該画像データに対して所定の動作を示すラベルを付与することによって前記学習済みモデルを新たに学習させる教師データを生成する生成手段することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記生成手段は、前記工程情報が示す前記所定の動作が発生していない前記時系列画像に対して、前記動作が行われていないことを示すラベルを付与することによって前記学習済みモデルを新たに学習させる教師データを生成することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記教師データを用いて前記学習済みモデルの結合重み付けパラメータを更新する学習手段を更に有することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記学習手段によって更新された前記学習済みモデルに基づいて、前記時系列画像を入力とし、該時系列画像に対して前記動作内容を認識する認識手段を更に有することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記学習手段によって更新された前記学習済みモデルに、前記時系列画像を入力し、前記認識手段によって認識結果として出力された動作内容が正解であるか否かを評価する評価手段を更に有することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記評価手段によって、前記学習済みモデルを新たに学習させる教師データに基づいて生成した前記学習済みモデルによる認識結果が所定の基準を満たさないと評価された場合、
前記学習手段は、前記学習済みモデルの結合重み付けパラメータを更新しないことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記動作を行う環境における変化を認識する環境認識手段と、
前記環境の変化があった場合、前記生成手段によって生成された教師データに基づいて前記学習済みモデルの前記結合重み付けパラメータを更新するか否かの判断を受け付ける受け付け手段を更に有することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
コンピュータを、請求項１乃至１０のいずれか１項に記載の情報処理装置が有する各手段として機能させるためのプログラム。
【請求項１２】
所定の動作を反復して行う物体を撮影した時系列画像データに対して動作内容を出力する学習済みモデルを有する情報処理方法であって、
前記時系列画像データのうち所定の動作を行う物体を示す画像データと、前記動作を反復する周期を示す工程情報とを取得する取得工程と、
前記画像データが示す物体の動作の周期と前記工程情報が示す前記物体の動作の周期とが整合する場合、該画像データに対して所定の動作を示すラベルを付与することによって前記学習済みモデルを新たに学習させる教師データを生成する生成工程を有することを特徴とする情報処理方法。
【請求項１３】
所定の動作を反復して行う物体を撮影した時系列画像データに対して動作内容を出力する学習済みモデルを有する情報処理システムであって、
前記時系列画像データのうち所定の動作を行う物体を示す画像データと、前記動作を反復する周期を示す工程情報とを取得する取得手段を有する情報処理装置と、
前記画像データが示す物体の動作の周期と前記工程情報が示す前記物体の動作の周期とが整合する場合、該画像データに対して所定の動作を示すラベルを付与することによって前記学習済みモデルを新たに学習させる教師データを生成する生成手段を有するサーバと、を有する特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列画像を分析する技術に関する。
【背景技術】
【０００２】
近年、時系列で得られる画像に対して機械学習の学習モデルを用いて画像認識を行う技術が盛んに開発されている。学習モデルを用いる場合、学習に際しては多数のデータに教師ラベルを付与した教師データを用意する必要がある。環境の変化に対応できる学習モデルを生成するには教師データを大量に用意する必要があるため、教師データをなるべく手間をかけずに生成する手段が望まれる。そこで特許文献１では、動画を含む時系列データから教師データに用いる対象データを抽出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−７６０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら特許文献１の方法では教師データを作成すべき対象データを絞り込む処理が自動化されているにとどまり、最終的に対象データに教師ラベルを付与するのは人手である。このため依然として手間がかかる。
【０００５】
本発明は以上の課題を鑑みてなされたものであり、学習モデルに用いる教師データの生成にかける手間を軽減し、教師データを効率的に生成することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決する本発明にかかる情報処理装置は、所定の動作を反復して行う物体を撮影した時系列画像データに対して動作内容を出力する学習済みモデルを有する情報処理装置であって、前記時系列画像データのうち所定の動作を行う物体を示す画像データと、前記動作を反復する周期を示す工程情報とを取得する取得手段と、前記画像データが示す物体の動作の周期と前記工程情報が示す前記物体の動作の周期とが整合する場合、該画像データに対して所定の動作を示すラベルを付与することによって前記学習済みモデルを新たに学習させる教師データを生成する生成手段を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、学習モデルに用いる教師データの生成にかける手間を軽減し、教師データを効率的に生成できる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの外観の一例を示す図である。
【図２】情報処理装置の機能構成例を示すブロック図である。
【図３】情報処理装置が実行する処理を説明するフローチャートである。
【図４】情報処理装置が実行する処理を説明するフローチャートである。
【図５】情報処理装置の機能構成例を示すブロック図である。
【図６】情報処理装置が実行する処理を説明するフローチャートである。
【図７】ＧＵＩの一例を示す図である。
【図８】認識結果と工程情報の一例を示す。
【図９】情報処理装置のハードウェア構成例を示す図である。
【図１０】教師データの一例を示す図である。
【図１１】ＧＵＩの一例を示す図である。
【図１２】情報処理装置が実行する処理を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
本実施形態では、所定の作業（動作）を反復して行う様子を撮影した時系列画像に対して作業内容（動作内容）を出力する学習済みモデルに対して、教師データを効率的に生成する方法を説明する。
【００１０】
工程は作業者が対象物に対して行う所定の複数の作業から構成される。作業者は所定の複数の作業を全て終えると工程が完了し、対象物を新しいものに交換して工程の作業を繰り返す。工程を構成する複数の作業の順序と内容は予め決められている。本実施形態において工程は順に実施される「作業Ａ」、「作業Ｂ」、「作業Ｃ」という３つの作業から構成されているとして以降の説明をする。認識処理が認識する対象は各作業の開始と終了すなわち「作業Ａ開始」、「作業Ａ終了」、「作業Ｂ開始」、「作業Ｂ終了」、「作業Ｃ開始」、「作業Ｃ終了」の６種類のイベント種別とその発生時刻で構成されるイベント情報である。学習モデルを学習する際に必要な情報、すなわち教師データは各イベント情報と各イベント情報に関連する時系列画像である。本実施形態において初期の学習済みモデルは本実施形態に係る情報処理装置が本稼動する前に予め撮影された時系列画像と人手によって時系列画像に付与されたイベント情報を用いて学習し生成されたものが設定されている。
【００１１】
本実施形態における学習済みモデルとは、入力画像から入力画像に対応する結果を出力するニューラルネットワークに基づくネットワーク構造とそのパラメータとする。具体的には、例えばニューラルネットワークモデルで構成可能である。なお、パラメータの更新とは、学習モデルの入力側の層に画像を設定し、出力画像の層に画像に対する正解値を示すデータを設定する。ニューラルネットワークを経由して取得される出力が設定した教師データに近づくようにニューラルネットワークの結合重み付けパラメータを調整する処理を指す。本実施形態において、入力データは所定の作業を反復する作業工程を撮像した時系列画像であって、出力データは作業内容を示すデータ（イベント情報）である。
【００１２】
機械学習による認識処理は一般的に、学習に用いたデータと、その後運用時に認識するときに入力するデータの傾向が変化し、差異が大きくなるにつれ認識精度が徐々に低下する。そのため定期的に新鮮な教師データを使って学習モデルを追加的に学習（以降、追加学習と呼ぶ）して更新する必要がある。本実施形態によれば教師データを自動的に収集することで、入力データの傾向の変化に対応するための追加学習を、人手を介さずに行うことができる。
【００１３】
図１は、所定の作業を反復して行う様子を撮影した時系列画像に対して作業内容を出力する学習済みモデルを有する情報処理装置と、該装置が扱う時系列画像を撮影する装置の設置状況を表す外観図である。情報処理システム１００は、情報処理装置１０１、出力装置１０２、入力装置１０３、作業スペース１０４、撮像装置１０５から構成される。情報処理装置１０１は本実施形態に係る情報処理装置に該当するＰＣである。情報処理装置１０１には出力装置１０２としてディスプレイ、入力装置１０３としてキーボードおよびマウスが接続されており、ユーザーに情報を提示したり、ユーザーからの入力を受け取ったりすることができる。１０４は作業スペースを示す。具体的には、撮影対象である作業者、作業台、および対象物である。作業者は作業台の上に供給される対象物に対して所定の複数の作業を行うことで組み立てて、組みあがった完成物を隣の作業者に流す工程を反復して行う。１０５は、撮像装置である。具体的には、カラーカメラであり、作業者が行う作業を俯瞰できる位置に設置されており作業者が工程を反復して行う様子を撮影する本実施形態では、この撮像装置は単眼のカラーカメラであり、撮影された画像はカラー画像であるとする。ただし、カメラはカラーカメラのほかモノクロカメラでも良い。例えば、グレースケールカメラや、赤外線カメラや、広角レンズカメラや、パノラマカメラであっても良い。パン、チルト、ズームが可能なカメラであっても良い。カラーカメラ以外でも、撮像装置１０５は情報処理装置１０１に接続されており情報処理装置１０１は撮影された画像を取得することができる。
【００１４】
情報処理装置１０１は、例えばパーソナルコンピュータ（ＰＣ）により構成されている。図９は、情報処理装置１０１のハードウェア構成の一例である。情報処理装置１０１は、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、外部メモリ１４と、入力部１５と、表示部１６と、通信Ｉ／Ｆ１７と、システムバス１８とを備える。ＣＰＵ１１は、情報処理装置１０１における動作を統括的に制御するものであり、システムバス１８を介して、各構成部（１１〜１７）を制御する。ＲＯＭ１２は、ＣＰＵ１１が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。なお、当該プログラムは、外部メモリ１４や着脱可能な記憶媒体（不図示）に記憶されていても良い。ＲＡＭ１３は、ＣＰＵ１１の主メモリ、ワークエリアとして機能する。すなわち、ＣＰＵ１１は、処理の実行に際してＲＯＭ１２から必要なプログラムをＲＡＭ１３にロードし、当該プログラムを実行することで各種の機能動作を実現する。
【００１５】
外部メモリ１４は、例えば、ＣＰＵ１１がプログラムを用いた処理を行う際に必要な各種データや各種情報を記憶している。また、外部メモリ１４には、例えば、ＣＰＵ１１がプログラムを用いた処理を行うことにより得られた各種データや各種情報が記憶される。入力部１５は、例えばキーボードやマウスのポインティングデバイスにより構成され、オペレータが入力部１５を介して当該情報処理装置１０１に指示を与えることができるようになっている。表示部１６は、液晶ディスプレイ（ＬＣＤ）等のモニタで構成される。通信Ｉ／Ｆ１７は、外部機器と通信するためのインターフェースである。システムバス１８は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、外部メモリ１４、入力部１５、表示部１６及び通信Ｉ／Ｆ１７を通信可能に接続する。このように、情報処理装置１０１は、通信Ｉ／Ｆ１７を介して、外部機器である撮像装置１０５や入力装置１０３、出力装置１０２、とそれぞれ通信可能に接続されており、これらの外部機器の動作を制御する。
【００１６】
図２は情報処理装置の機能構成例を示すブロック図である。
【００１７】
画像取得部２０１は、撮像装置１０５が撮影した時系列画像を取得する。撮影対象は、作業スペース１０４のように作業者が物体を取り扱うシーンである。例えば、図１０におけるＡ，Ｂ，Ｃのような画像を取得する。画像保持部２０２は、画像取得部２０１で取得された時系列画像を保持する。情報処理装置１０１の外部にある記憶装置で保持しても良い。その場合は、通信部によって情報処理装置が外部の記憶装置から時系列画像を取得する。作業認識部２０３は、作業工程の画像から作業内容を認識する学習モデルに基づいて時系列画像に対して作業内容を認識する。認識結果保持部２０４は、作業認識部２０３が作業内容を認識した結果を保持する。工程情報取得部２０５は、作業工程に関して静的に定まっている情報を工程情報として取得する。工程情報とは、工程の工程に属する各作業の順序、各作業の開始時刻・終了時刻の工程開始時刻からの標準的なオフセット時間から構成される情報である。決定部２０６は、認識保持部２０４が保持している認識結果の中から学習および評価に用いるに足る条件を満たす認識結果を決定する。データを決定する方法は、後述する。認識結果に関連する時系列画像を画像保持部２０２から取得して保存する。データ保持部２０７は、教師データおよび評価データを保持する。生成部２０８は、時系列画像とイベント情報とに基づいて教師データを生成する。評価部２０９は、評価データを用いて学習モデルの性能を評価する。学習済みモデル保持部２１０は、作業認識部２０３で認識に用いる学習モデルとそのパラメータを保持する。本実施形態における情報処理装置が最初に稼動するときは、初期の学習モデルとして人手によって該時系列画像に付与されたイベント情報を用いて学習し生成された学習モデルが設定されている。学習部２１１は、生成された教師データに基づいて学習済みモデル保持部２１０が保持している学習モデルの結合重み付けパラメータを更新する。
【００１８】
環境認識部２１２は、作業スペースに設置されている各種センサ（例えば照度計等）の計測結果や時系列画像の少なくとも一つに基づいて、環境の変化を認識する。環境とは、ここでは具体的には、作業対象である物体や作業スペースの明るさを指す。同じ作業スペースにおいて、複数の異なる物体を対象とする作業が行われる場合、学習モデルが環境変化に対応できない可能性がある。そのような場合は、物体毎に教師データを生成することによって、学習モデルを物体毎にカスタマイズする。また、作業スペースにおいて、例えば電灯が一つ故障し、明るさが一時的に低くなるといったトラブルが発生する可能性がある。そのようなめったに起こらない環境の変化については、わざわざ追加で学習する必要があるとは限らない。つまり、非連続的な環境の変化に対しては、追加学習のための教師データは生成しないが、連続的な環境の変化については追加学習のための教師データを生成する。このように環境の変化に合わせて学習を追加で行うことによって、より多くの多様な教師データを学習させることが出来る為、より好ましい認識結果を得られるようになる。また、追加学習が必要か否かを環境の変化についての認識結果を基に判断できるため、ユーザーにとっては手間なく容易に教師データを生成できる。指示入力部２１３は、ユーザーから指示情報を受け付ける。指示情報には、追加学習を行うか否かという指示である。
【００１９】
本実施形態に係る情報処理装置においては二つのプロセスが実行される。一つ目のプロセスは認識フェーズであり、作業者が工程作業を実施している間にわたってその様子を撮影、認識し、認識結果を保持するプロセスである。認識フェーズは工程の作業が行われる時間帯に合わせて起動・終了するようにＰＣのＯＳにあらかじめタイマー設定されている。もう一つのプロセスは追加学習を行う学習フェーズであり、初回学習時に使った教師データの傾向と、認識フェーズが入力として受け取る撮影データの傾向の差異が大きくなり過ぎないうちの一定の期間内に定期的に追加学習を行う。本実施形態においては毎日認識フェーズが終了した後に学習フェーズが起動されるようＰＣのＯＳにあらかじめタイマー設定されている。
【００２０】
以降これら二つのプロセスの詳細をフローチャートに沿って説明する。図３は、情報処理システムが実行する処理（認識フェーズ）を説明するフローチャートである。図３に示される処理は、図２３に示す情報処理装置１０１のＣＰＵ１１が、ＲＯＭ１２もしくは外部メモリ１４に格納されたプログラムを読み出して実行することにより実現される。ただし、図３の処理の一部または全部が、専用のハードウェアにより実現されても良い。図３の処理は、例えばオペレータが情報処理システム１００を起動したときに開始される、ただし、開始のタイミングは、情報処理システム１００の起動時に限定されるものではない。以下の説明では、各工程（ステップ）について先頭にＳを付けて表記することで、工程（ステップ）の表記を省略する。また、情報処理装置１０１は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。
【００２１】
Ｓ３０１では、画像取得部２０１が、撮像装置１０５から所定の作業を反復して行う様子を撮像した時系列画像を取得する。具体的には、まず画像取得部２０１は、撮像装置１０５に画像を要求する。撮像装置１０５は所定のフレームレート（例えば６０  ｆｐｓ）で画像を撮影しており、新しい画像が撮影でき次第、画像をタイムスタンプとともに画像取得部２０１に送信する。
【００２２】
Ｓ３０２では、画像保持部２０２が、Ｓ３０１で取得した時系列画像について、画像データ（画像とそのタイムスタンプ）を保持する。
【００２３】
Ｓ３０３では、作業認識部２０３が、学習済みモデル保持部２１０が保持している学習済みモデルに基づいて、画像保持部２０２が保持している画像データに対して作業工程を認識する。本実施形態では機械学習の具体的な手法としてはニューラルネットワークを採用する。学習モデルはニューラルネットワークのネットワークモデルの各ノードが保持する結合重み付けパラメータである。作業認識部２０３は最近の所定の期間、本実施形態においては１０秒間の時系列画像をメモリ上に読み込み、該時系列画像を入力として新しいイベントが発生したか否かを認識する。なお、入力する時系列画像の期間は可変である。つまり、１フレーム毎に入力しても良いし、ユーザーによって指定された期間（１分間）を入力としても良い。さらにランタイムで決めても良い（実行最中に入力された内容によって増えたり減ったりする）。今回のフレームの追加によって新しいイベントの発生が認識された場合は、イベント種別とイベント発生時刻から構成されるイベント情報（作業を示すラベル）を認識結果として戻す。新しいイベントの発生が認識されなかったらその旨を表わす記号を戻す。なお、作業認識部２０３は、イベント情報を認識した際に、その認識結果の確からしさを示す尤度を同時に出力しても良い。その場合、学習フェーズにおいて、認識結果と尤度を踏まえて追加学習を行うか否かの判断材料にする。例えば、認識結果の尤度が高い場合は、追加学習を行う必要はないと考えられる。追加学習が必要な場面だけ教師データを生成するようになるため、効率的に教師データを生成できる。また、この工程において、環境認識部２１２が環境に関する情報を認識しても良い。この場合は、認識結果と合わせて環境がそのときどのような状態だったかを示す情報を付与する。例えば、明るさがＸルクスである、といった情報で良い。環境毎に教師データを生成したい場合に役に立つ。
【００２４】
Ｓ３０４では、認識結果保持部２０４が、Ｓ３０３で新しいイベントの発生が認識されたときはその作業内容を示すイベント情報を時系列画像に対する認識結果として保持する。新しいイベントの発生が認識されなかったときは、イベントが発生していないことを示す情報を時系列画像に対する認識結果として保持しても良い。
【００２５】
Ｓ３０５では、情報処理装置１０１が、終了要求があるか否かを判断する。本実施形態においてはＰＣのＯＳが管理するタイマー設定からの終了要求があるか否かを判断し、終了要求がない場合は再びＳ３０１に戻って処理を継続する。終了要求がある場合は処理を終了する。
【００２６】
以上、説明した認識フェーズにより、工場において作業者が行っている工程作業の認識結果が認識結果保持部２０４に蓄積される。
【００２７】
図１０を用いて学習フェーズについて概要を説明する。図１０（Ａ）は、認識フェーズで取得された画像データとタイムスタンプ、そして認識結果を時系列で示す図である。例えば、作業Ａは時刻Ｔａ１、時刻Ｔａ２の間に行われる。同様にして、作業Ｂ、作業Ｃが示されており、作業Ａ，Ｂ，Ｃは周期的に実施されていることが示されている。一方、図１０（Ａ）（Ｂ）（Ｃ）は、それぞれの作業に対応する画像データとその認識結果である。例えば、画像１００１は時刻Ｔａ１で作業Ａが始まったことを示すイベント情報が付与されている。同様に、画像１００２は時刻Ｔｂ１で作業Ｂが始まったことを示すイベント情報が、画像１００３は時刻Ｔｃ１で作業Ｃが始まったことを示すイベント情報が付与されている。学習フェーズにおいては、イベント情報が付与された画像データの抽出と、１つ以上の画像データとイベント情報の組合せが、作業手順によって定められる所定の条件を満たしている場合に、正解の教師データを生成する。作業手順によって定められる所定の条件とは、例えば作業の順序（Ａ→Ｂ→Ｃ→Ａ・・・）、作業の所要時間（例えば作業Ａの平均タクト、もしくは理想的なタクトタイム）、作業同士の時間間隔（例えば、作業Ａから作業Ｂに移行する所要時間）である。
【００２８】
図１１は、追加学習を行うか否かを指示する際にユーザーが用いるＧＵＩの一例を示す図である。例えば、工場に置いて、レイアウト変更、作業者の変更、対象物体の変化が意図的に行われることがある。一方で、一時的な故障による作業の発生や電灯切れといったエラーが発生したことによる環境の変化がある。このような意図しない環境の変化があった場合、学習モデルによる認識がこの変化に必ずしも対応しなくても良い。よって、環境の変化による追加学習を行うか、行わないかの判断をすることによって、より効率的に教師データを生成する。図１１のＧＵＩ１１では、画像１１０２に時系列画像が表示される。このとき、作業スペースが普段より暗くなっているようすが画像１１０２からわかる。画像１１０１には、環境認識部２１２による環境の認識結果が表示される。ここでは、画像から環境の明るさと、作業対象の物体を検出している。明るさは、ここでは、通常時の明るさを０として、相対的な明るさを示す指標である。この場合、明るさは−３であるため通常時より暗いことを示す。画像１１０３は、追加学習を行うことをユーザーが情報処理装置に指示するためのＧＵＩである。追加学習を行わない場合は、画像１１０４を選択する。指示入力部２１３は、画像１１０３か画像１１０４かのいずれかが選択されたことを受け付けることによって、追加学習を行うか否かの指示情報を入力する。
【００２９】
図１２は、情報処理装置が実行する処理を説明するフローチャートである。Ｓ１２０１では、環境認識部２１２が、撮像された時系列画像から、環境の変化を認識する。環境の変化が、所定の条件（例えば、過去データと最新データで対象物体が異なる）を満たさない場合、環境の変化があったものとして、Ｓ１２０２に進む。環境の変化が、所定の条件（例えば、過去データと最新データの輝度の差が０）を満たす場合、環境の変化がないため学習モデルを更新する必要がないので、学習処理を終える。ここで、環境とは、具体的に、作業スペースの明るさ、または作業対象となる物体を指す。これらに限らず、作業スペースのレイアウトや、作業者を環境として認識しても良い。環境認識部２１２は、前日までの時系列画像と最新の時系列画像とに基づいて、環境の変化を認識する。具体的には、例えば明るさを認識する場合、前日までの時系列画像から得た輝度の平均値と、最新の時系列画像から得た輝度の平均値とを比較する。過去の輝度に対して最新の輝度がどの程度変化したかを相対的に評価する。または、物体を認識する場合は、過去の時系列画像と最新の時系列画像のそれぞれで物体検出をする。認識結果は、図１１に示すＧＵＩ１１に表示する。Ｓ１２０２では、指示入力部２１３が、追加学習を行うか否かのユーザー指示を受け付ける。ユーザーは、Ｓ１２０１における環境認識部２１２の認識結果を基に追加学習を行うか否かの判断をする。例えば、明るさの変化が一時的な変化ではない場合は、追加学習をした方が良いと判断する。追加学習を行う指示情報が入力された場合は、Ｓ１２０３に進み、追加学習の処理を行う。一方で、環境の変化がないときや、一時的な変化である場合は、追加学習を行う必要は必ずしもないので、追加学習をしない指示をユーザーが入力する。追加学習を行わない場合は、学習フェーズの処理を終了する。
【００３０】
図４は、情報処理システムが実行する処理（追加学習フェーズ）を説明するフローチャートである。Ｓ４０１では、工程情報取得部２０５が、作業手順によって定められる所定の条件を示す工程情報を取得する。工程情報は、工程の工程に属する各作業の順序、各作業の開始時刻・終了時刻の工程開始時刻からの標準的なオフセット時間から構成される情報である。工程情報の具体例を図８に示す。工程情報はユーザーが本実施形態にかかるシステムをセットアップする際に入力して、ＰＣ内にファイルとして保存しておく。本ステップでは該ファイルをメモリ上に読み込む。
【００３１】
Ｓ４０２では、決定部２０６が、画像データのうち、工程情報が示す所定の条件を満たす画像データを決定する。そして、データ保持部２０７に保存する。認識結果保持部２０４が保持している画像データに対する認識結果と、Ｓ４０１で取得した工程情報が示す所定の条件とを照合することで判定し、教師データに用いる画像データを決定する。本実施形態においては照合による条件の判定を、周期（作業時間、作業間隔と順序）の整合性に基づいて行う。具体的にはまず、認識結果保持部２０４が保持しているイベント情報を取得し、各認識イベント情報をイベント発生時刻でソートする。各イベントの前後のイベントとの時間間隔を前後認識情報として取得する。同様に、工程情報から各イベント種別において、該イベントの前後で発生するイベントとの時間間隔を前後正解情報として取得する。前後認識情報と前後正解情報を比較し、前後それぞれの作業種別が一致しており且つ時間間隔の差が共に所定の時間、例えば３秒よりも小さいものを、条件を満たす画像データとして選定する。
【００３２】
図８を用いて工程情報の具体例を説明する。認識結果をイベント発生時刻でソートした結果が図８における８０１のようである場合に、作業種別「作業Ｂ開始」の認識結果８０２の条件を工程情報８０３と照合して判定する手順を説明する。認識結果８０１から当該イベントの発生時刻２０１８／１２／２６  １４：５４：３２．５を時刻１とする。当該イベント発生時刻の一つ前に認識された「作業Ａ終了」のイベントの発生時刻２０１８／１２／２６  １４：５４：２５．１を時刻２とする。時刻１と時刻２との間隔７．４秒、および当該イベント発生時刻の一つ後に認識された「作業Ｂ終了」のイベントの発生時刻２０１８／１２／２６  １４：５４：４７．１との間隔１４．６秒を前後認識情報として取得する。次に工程情報８０３における「作業Ｂ開始」の標準オフセット時間２０．３秒を時間１とする。一つ前の「作業Ａ終了」の標準オフセット時間１２．２秒を時間２とする。時間１と時間２との間隔８．１秒、および一つ後の「作業Ｂ終了」の標準オフセット時間３５．５秒との間隔１５．２秒を前後正解情報として取得する。そして前後認識情報と前後正解情報のそれぞれの要素の差（７．４秒と８．１秒の差および１４．６秒と１５．２秒の差）がこの例においては共に所定の時間３秒より小さいので条件を満たす認識結果として選定される。前後認識情報と前後正解情報の要素の差がともに３秒以下でない場合は条件を満たさない認識結果として選定対象から除外する。または前後認識情報の一つ前のイベント種別と前後正解情報の一つ前のイベント種別が異なる場合は条件を満たさない認識結果として選定対象から除外する。または前後認識情報の一つ後のイベント種別と前後正解情報の一つ後のイベント種別が異なる場合は条件を満たさない認識結果として選定対象から除外する。さらに、上記の手順により選定された各々の認識結果のイベント発生時刻の周辺１０秒間の時系列画像を画像保持部２０２から、選定された認識結果に関連する画像として取得する。そして認識結果と、認識結果に関連する画像の対を作成し、データ保持部２０７に保存する。
【００３３】
Ｓ４０４では、評価部２０９が、Ｓ４０３で生成した教師データで学習を行った場合の学習モデルの性能を評価する。具体的には、データ保持部２０７が保持しているデータの中からイベント発生時刻が最近の所定の時間以前のもの、本実施形態では２４時間前以前のものを評価データとして取得する。そして評価データの時系列画像を入力としたときの学習モデルの認識結果と評価データの正解認識結果との一致率を評価値として取得する。または、ユーザーが新しい学習済みモデルに時系列画像データを入力し、出力された認識結果であるイベント情報の正否を判定し、指示入力部２１３に判定結果を評価値として入力しても良い。なお、ここでは評価値は入力された画像に対する作業内容の正答率であるとする。
【００３４】
Ｓ４０５では、評価部２０９が、Ｓ４０４で取得した評価結果（評価値）が所定の基準を満たすか否かを判定する。具体的にはＳ４０４で取得した評価値が所定の基準として０．９を超えているか否かを判定する。超えている場合はＳ４０６に進む。超えていなければプロセスを終了する。
【００３５】
Ｓ４０６では、学習部２１１が、学習済みモデル保持部２１０が保持する学習モデルをＳ４０３で生成した教師データに基づいて更新する。
【００３６】
以上に説明した処理を情報処理装置１０１においてコンピュータプログラムとして実行することで入力データの傾向の変化に対応するための追加学習を、人手を介さずに行うことができる。
【００３７】
本実施形態によれば教師データを自動的に収集することで、入力データの傾向の変化に対応するための追加学習を、人手を介さずに行うことができるが、効果はこれだけにとどまらない。この他の効果として最初のシステム導入時や工程の変更によって初期の学習モデルを生成するときに、人手によって正解を付与して作成する教師データの量が少なくても本実施形態による追加学習を行うことで安定した認識性能を発揮することができる。
【００３８】
本実施形態の認識フェーズは、リアルタイムで画像を取得して認識処理を実行する手順として説明したが、必ずしもリアルタイムに処理する必要はない。例えば作業の様子を撮影した画像を一旦サーバに蓄積してからバッチ処理で認識フェーズを実行しても良い。また、サーバにおいて学習フェーズを実行する。そして追加学習フェーズを起動するタイミングはバッチ処理で実行した認識フェーズの完了時に設定する。こうすることでリアルタイムに処理する計算能力を持たないＰＣでも認識フェーズおよび追加学習フェーズを実行できる。また、複数の工場に設置されているサーバから、図示しない通信部によって接続されたネットワーク上にあるクラウドに教師データを収集するようにしても良い。この場合、クラウドにおいて上記の学習フェーズの工程（Ｓ４０１からＳ４０６）を実行する。多くのサーバから教師データを大量に収集することによって、手間なく効率的に学習モデルを更新できる。
【００３９】
本実施形態の学習モデルにおける認識や学習は、上記の方法に限らない。学習フェーズの教師データについて、ある作業の開始時点に撮像された時系列画像を抽出し、正解ラベルを付与してもよい。例えば、作業Ａ、作業Ｂ、作業Ｃが連続して周期的に行われる場合、各作業の開始時刻の時系列画像に対してそれぞれ作業内容をラベル（ＧＴとして付与する。このように、すべての時系列画像について処理するのではなく、イベント発生時の状況を抽出するので、効率的に教師データを生成できる。なお、認識時は、作業Ａが発生したことを示すイベント情報が認識されてから、作業Ｂが認識結果に関連する画像としてイベントが発生していない時刻の時系列画像も取得して学習に利用しても良い。その場合Ｓ４０２において、認識結果に関連する画像として認識結果が表わすイベントが発生した時刻周辺のデータに加えて、選定された認識結果が表わすいずれのイベントも発生していない時間帯のデータも保存する。いずれのイベントも発生していない時間帯のデータは具体的には、条件を満たすイベントが複数連続して続く時間帯を、条件を満たす時間帯として取得する。条件を満たす時間帯から各イベントの発生時刻周辺の時間帯を除外した時間帯の時系列画像を取得し、データ保持部２０７に保持する。Ｓ４０３において、データ保持部２０７が保持しているデータの中からイベント発生時刻が最近の所定の時刻以降のイベント発生時データに加えて、イベントが発生していない時間帯の時系列画像も取得する。そして、イベント発生時の時系列画像を入力したときに正しい認識結果を出力できるように確率的勾配法によって学習モデルのパラメータを更新する。且つイベントが発生していない時間帯の時系列画像を入力したときにイベントが発生していないという結果を正しく出力できるように確率的勾配法によって学習モデルのパラメータを更新する。こうすることで学習モデルの認識精度を向上させることができる。
【００４０】
本実施形態のＳ４０２において、照合による条件の判定を周期と順序の一致度に基づいて行ったが周期または順序のいずれか一方のみに基づいて選定しても良い。周期だけに基づいて選定する場合は、前後認識情報と前後正解情報の比較において作業種別は考慮せずに前後の発生イベントとの時間間隔が所定の時間以下か否かについてのみ考慮して選定する。順序だけに基づいて選定する場合は、前後認識情報と前後正解情報の比較において時間間隔は考慮せずに前後の発生イベントの作業種別が一致するか否かについてのみ考慮して選定する。こうすることで工程情報に作業の標準オフセット時間か作業種別の一方だけしか含まれない場合でも選定することができる。
【００４１】
周期として当該作業のイベント発生時刻と前後の作業のイベント発生時刻との時間間隔に基づいたが、周期の一致度を測る尺度はこれに限定されるものではない。工程情報が工程の標準的な所要時間を含む場合、前後の作業ではなくて前後の工程における同種別の作業のイベント発生時刻との時間間隔に基づいて条件を判定しても良い。その場合は前後の工程における同種別の作業のイベント発生時刻との時間間隔と工程の標準的な所要時間との差が所定の範囲内、例えば３秒以内に収まっていることをもって条件が当てはまる可能性が高いと判断する。こうすることで工程情報として工程の標準所要時間のみしか取得できない場合でも認識結果の整合性を判定することができる。作業の工程における開始と終了に関するオフセット時間と工程の標準所要時間の両方が含まれている場合を考える。当該イベントの前後のイベント発生時刻の時間間隔と、当該イベントを含む工程の前後の工程における同種別のイベントの発生時刻の時間間隔の両方がともに標準的な時間との差が所定の範囲内に収まることをもって条件を満たす。こうすることでより安全に条件を見積もることができる。このように、周期の一致度に基づいて判定する方法は、工程情報に含まれる周期性を持つ時間情報であれば他の時間情報を用いても実施可能である。さらに、時間情報は工程情報としてユーザーが設定するものとしたが、ユーザーが設定するのではなくて統計的に取得しても良い。例えば工程の標準的な所要時間は、一定期間に渡って認識した同種のイベント情報の発生間隔の平均値としても良い。繰り返し行われる工程が静的に備えている時間に関する値であれば、潜在的な属性から統計的に取得した値でも良い。
【００４２】
本実施形態のＳ４０３において、Ｓ４０２で選定されたデータを用いて学習モデルを生成したが、少なくともＳ４０２で選定したデータを用いるのであればその他のデータを併せて用いて学習しても実施可能である。例えば本実施形態では初期の学習モデルは人手によって作成された教師データを用いて生成するとした。そのときの教師データをデータ保持部２０７に保持させておく。学習モデル生成部はデータ保持部２０７から決定部２０６が選定したデータと、人手によって作成された教師データを取得し、併用して学習することで学習モデルを生成しても良い。こうすることで、より汎用的な学習モデルを生成することができる。あるいは、決定部２０６が選定してデータ保持部２０７に保持した教師データの中から最近の一定期間、例えば一ヶ月分のデータを取り出して学習に使っても良い。こうすることで必要以上の汎用性を獲得しようとする副作用によって学習モデルの精度が低下してしまう危険を回避することができる。
【００４３】
（第２の実施形態）
本実施形態では認識フェーズにおいて、自動的に学習して更新した学習モデルで認識した結果をユーザーに提示する。認識結果が望ましくない場合には、学習済みモデルの結合重み付けパラメータを他の結合重み付けパラメータに切り替える方法を説明する。ここでは、ユーザーの指示によって学習済みモデルを変更する。こうすることで、新たに生成した教師データによって追加で学習した学習済みモデルでは好ましい認識結果が得られなかった場合でも、ユーザーは他の結合重み付けパラメータを利用できる。
【００４４】
図５は情報処理装置の機能構成例を示すブロック図である。画像取得部２０１、画像保持部２０２、作業認識部２０３、認識結果保持部２０４、工程情報取得部２０５、決定部２０６、データ保持部２０７。生成部２０８、評価部２０９、学習部２１１、環境認識部２１２は第１の実施形態で説明した各モジュールと同様である。
【００４５】
出力部５０１は、取得した画像と認識結果をリアルタイムにディスプレイ１０２に出力する。第１学習済みモデル保持部５０２は新しい学習モデルに更新することによって使われなくなった旧学習済みモデル（第１学習済みモデル）を保持する。学習済みモデル保持部２１０（第２学習済みモデル保持部）では、新たに生成された教師データによって追加で学習した学習済みモデルとその結合重み付けパラメータを保持する。切替部５０３は、評価部２０９または指示入力部２１３から学習済みモデルを変更する指示情報に基づいて作業認識部２０３で用いられる学習済みモデルを切り替える。
【００４６】
本実施形態においても第１の実施形態と同様に認識フェーズと追加学習フェーズがある。
【００４７】
このうち、追加学習フェーズは第１の実施形態で説明した追加学習フェーズのＳ４０６において学習済みモデルを更新する際に、第１学習済みモデルの結合重み付けパラメータを破棄せずに第１学習済みモデル保持部５０２に保持させる。それ以外の処理は第１の実施形態で説明した追加学習フェーズと同様である。以降は本実施形態に係る認識フェーズについて説明する。
【００４８】
図６は、情報処理装置が実行する処理（認識フェーズ）を説明するフローチャートである。フローチャート内のＳ３０１、Ｓ３０２、Ｓ３０３、Ｓ３０４、Ｓ３０５は第１の実施形態の図３で説明した各ステップと同様である。ここでは第１の実施形態とは異なるＳ６０１〜Ｓ６０３について説明する。
【００４９】
Ｓ６０１では、出力部５０１が、ディスプレイ上にウィンドウを作成し、取得した時系列画像の現在のフレームとＳ３０３で取得した認識結果に基づく認識状況を表示する。図７は、ＧＵＩの一例を示す図である。７０１は作業状況であり、Ｓ３０３で取得した認識結果に基づいて現在行われている作業（開始に認識したが終了が未認識の最新の作業）の状況である。「現在の作業」という項目に作業種別名称を、「作業開始日時」という項目に作業の開始に関する最新のイベントの発生時刻を、「経過時間」という項目に前記作業開始日時からの経過時間を表示している。７０２はＳ３０１で取得した画像である。７０３は認識を停止するボタンであり、ボタンを押下すると認識フェーズにプロセス終了要求を発動する。７０４は学習モデルを切り替えるボタンであり、ボタンを押下すると認識フェーズに学習済みモデルを変更する指示情報を指示入力部２１３が受け付ける。
【００５０】
Ｓ６０２では、指示入力部５０３が、ユーザーが切替ボタン７０４を押下することで発動される指示情報を受け付けているか否かを判定する。指示情報を受け付けていない場合は、Ｓ３０５に進む。指示情報を受け付けた場合は、Ｓ６０２に進む。
【００５１】
Ｓ６０３では、切替部５０３が、Ｓ６０２で受け付けた指示情報に基づいて、第２学習済みモデル保持部２１０が保持する第２学習済みモデルを第１学習済みモデル保持部５０２が保持している第１学習済みモデルの結合重み付けパラメータに切り替える。
【００５２】
なお、ここでは２つの学習済みモデルを保持している例を述べたが２つ以上の学習済みモデル（とその結合重み付けパラメータ）を保持しても良い。すなわち、複数の結合重み付けパラメータを保持しておき、環境の状況によってパラメータを切り替えても良い。この場合は、例えば、Ｓ６０２の前で環境認識部２１２が撮影された画像から環境の状況を認識する。Ｓ６０１では、出力部５０１が、環境認識部２１２の認識結果をさらに表示する。ユーザーはこの環境認識結果も確認して、学習済みモデルを切り替えるか否かを判断できる。複数の学習済みモデル（とその結合重み付けパラメータ）を保持する場合は、もっとも近い環境のデータセットで学習した学習済みモデルをユーザーが選択指示する。学習済みモデルのパラメータの選択は、ユーザーによる選択に限らず、評価部２０９による学習済みモデルと教師データの評価結果を用いても良い。複数の学習済みモデルを保持することで、必要以上に教師データを生成する必要がなくなることが期待できる。
【００５３】
このように自動的に追加学習する手段だけではなく、学習モデルを切り替える手段を提供することで万一自動追加学習に失敗した場合でもユーザーは認識率の高い学習済みモデルを選択できる。
【００５４】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供しても良い。
【符号の説明】
【００５５】
１０１  情報処理装置
１０２  出力装置
１０３  入力装置
１０４  作業スペース
１０５  撮像装置
【図１】
2020144660.tif 000003
【図２】
2020144660.tif 000004
【図３】
2020144660.tif 000005
【図４】
2020144660.tif 000006
【図５】
2020144660.tif 000007
【図６】
2020144660.tif 000008
【図７】
2020144660.tif 000009
【図８】
2020144660.tif 000010
【図９】
2020144660.tif 000011
【図１０】
2020144660.tif 000012
【図１１】
2020144660.tif 000013
【図１２】
2020144660.tif 000014