(57)【要約】【課題】作業内容を特定する精度を向上させることを目的とする。【解決手段】映像を構成するフレームを取得する取得手段と、フレームの画像に基づいて、学習済みの学習モデルを用いた機械学習により、作業内容を特定する作業特定手段と、映像に含まれる期間のうち、作業特定手段により第１の作業内容が特定された連続フレームに対応する第１の期間と、映像に含まれる期間のうち、第１の期間と異なる期間で、第２の作業内容が特定された連続フレームに対応する第２の期間との時系列関係と、予め定められた複数の作業内容についての作業順と、に基づいて、フレームの画像に対応付く作業内容を補正し、作業順に対応した各作業の期間を特定する期間特定手段とを有する。【選択図】図５
2019149154.tif 000002
【特許請求の範囲】
【請求項１】
映像を構成するフレームを取得する取得手段と、
前記フレームの画像に基づいて、学習済みの学習モデルを用いた機械学習により、作業内容を特定する作業特定手段と、
前記映像に含まれる期間のうち、前記作業特定手段により第１の作業内容が特定された連続フレームに対応する第１の期間と、前記映像に含まれる期間のうち、前記第１の期間と異なる期間で、第２の作業内容が特定された連続フレームに対応する第２の期間との時系列関係と、予め定められた複数の作業内容についての作業順と、に基づいて、前記フレームの画像に対応付く作業内容を補正し、前記作業順に対応した各作業の期間を特定する期間特定手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記第２の期間は、前記第１の期間よりも前の期間であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の期間は、前記第１の期間の直前の期間であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記期間特定手段は、前記第２の作業内容と、前記第１の作業内容とが、前記作業順において連続した作業内容として定義されている場合に、前記第１の期間を、前記第１の作業内容に対応した期間として特定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記期間特定手段は、前記作業順において、前記第１の作業内容が前記第２の作業内容よりも前の作業内容として定義されている場合に、前記第１の期間を、前記第１の作業内容に対応した期間から削除することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記期間特定手段は、前記第１の期間の次の期間である第３の期間の第３の作業内容と、前記第２の作業内容とが、前記作業順において連続した作業内容として定義されている場合に、前記第１の期間を前記第１の作業内容に対応した期間から削除することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
前記期間特定手段は、前記第２の作業内容と前記第１の作業内容が等しい場合に、前記第１の期間を、前記第１の作業内容に対応した期間として特定し、前記第１の期間と前記第２の期間を統合することを特徴とする請求項３乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記第１の作業内容と前記第２の作業内容が、前記作業順に定められた作業内容と一致しない場合に、前記第１の作業内容を、前記第１の作業内容に類似する作業内容として予め設定された作業内容に変更する変更手段をさらに有することを特徴とする請求項３乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記期間特定手段は、前記第１の期間が予め設定された閾値よりも短い場合に、前記第１の期間を前記第１の作業内容に対応した期間から削除することを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
前記期間特定手段は、前記第１の作業内容に対応付けて予め設定された期待値と前記第１の期間の長さとの差分が、予め設定された閾値よりも大きい場合に、前記第１の期間を前記第１の作業内容に対応した期間から削除することを特徴とする請求項１乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
映像を構成するフレームを取得する取得手段と、
前記フレームの画像に基づいて、複数の作業それぞれに対するスコアを特定するスコア特定手段と、
所定の期間に含まれる複数のフレームそれぞれのスコアを結合したスコア系列と、予め定められた前記複数の作業の作業順と、に基づいて、作業の期間を特定する期間特定手段と
を有することを特徴とする情報処理装置。
【請求項１２】
前記スコアに基づいて、系列期間を決定する系列期間決定手段をさらに有し、
前記期間特定手段は、前記系列期間のスコアを結合した前記スコア系列と、前記作業順と、に基づいて、前記作業の期間を特定することを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記系列期間決定手段は、１つの作業の期間を前記系列期間として決定することを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記系列期間決定手段は、一連の作業の開始から終了までの期間を前記系列期間として決定することを特徴とする請求項１２に記載の情報処理装置。
【請求項１５】
前記期間特定手段は、さらに、前記作業の継続期間に基づいて、前記作業の期間を特定することを特徴とする請求項１１乃至１４の何れか１項に記載の情報処理装置。
【請求項１６】
前記期間特定手段は、前記スコア系列と、前記作業順と、に基づいて、作業期間候補を特定し、前記作業期間候補の長さと予め定められた作業期間の長さの差分が閾値以下の場合に、前記作業期間候補を前記作業の期間として特定することを特徴とする請求項１１乃至１５の何れか１項に記載の情報処理装置。
【請求項１７】
前記期間特定手段は、前記スコア系列と、前記作業順と、に基づいて、作業期間候補を特定し、前記作業期間候補に含まれるフレームのうち、フレームのスコアと予め設定された期待スコアとの差分がスコア閾値以上となるフレームの数がフレーム閾値未満の場合に、前記作業期間候補を前記作業の期間として特定することを特徴とする請求項１１乃至１６の何れか１項に記載の情報処理装置。
【請求項１８】
情報処理装置が実行する情報処理方法であって、
映像を構成するフレームを取得する取得ステップと、
前記フレームの画像に基づいて、学習済みの学習モデルを用いた機械学習により、作業内容を特定する作業特定ステップと、
前記映像に含まれる期間のうち、前記作業特定ステップにおいて第１の作業内容が特定された連続フレームに対応する第１の期間と、前記映像に含まれる期間のうち、前記第１の期間と異なる期間で、第２の作業内容が特定された連続フレームに対応する第２の期間との時系列関係と、予め定められた複数の作業内容についての作業順と、に基づいて、前記フレームの画像に対応付く作業内容を補正し、前記作業順に対応した各作業の期間を特定する期間特定ステップと
を含むことを特徴とする情報処理方法。
【請求項１９】
情報処理装置が実行する情報処理方法であって、
映像を構成するフレームを取得する取得ステップと、
前記フレームの画像に基づいて、複数の作業それぞれに対するスコアを特定するスコア特定ステップと、
所定の期間に含まれる複数のフレームそれぞれのスコアを結合したスコア系列と、予め定められた前記複数の作業の作業順と、に基づいて、作業の期間を特定する期間特定ステップと
を含むことを特徴とする情報処理方法。
【請求項２０】
コンピュータを、請求項１乃至１７の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、主に工場等の生産現場において、画像中の人物がどのような作業を行っているかを検出する手法及びその結果に基づいて作業を行っているタイミングを検出する手法が知られている。また、特許文献１には、学習モデルを用いた機械学習により、時系列データから状況を認識する認識装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２３５３４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のような機械学習を用いた画像認識においては、誤認識が生じる可能性があるという問題がある。一方で、時系列を考慮した機械学習を行うこととした場合には、多大な時間を要し、また学習データの収集が十分に行えない場合もある。
【０００５】
本発明はこのような問題点に鑑みなされたもので、作業内容を特定する精度を向上させることを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、情報処理装置であって、映像を構成するフレームを取得する取得手段と、前記フレームの画像に基づいて、学習済みの学習モデルを用いた機械学習により、作業内容を特定する作業特定手段と、前記映像に含まれる期間のうち、前記作業特定手段により第１の作業内容が特定された連続フレームに対応する第１の期間と、前記映像に含まれる期間のうち、前記第１の期間と異なる期間で、第２の作業内容が特定された連続フレームに対応する第２の期間との時系列関係と、予め定められた複数の作業内容についての作業順と、に基づいて、前記フレームの画像に対応付く作業内容を補正し、前記作業順に対応した各作業の期間を特定する期間特定手段とを有する。
【発明の効果】
【０００７】
本発明によれば、作業内容を特定する精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】作業特定システムの全体図である。
【図２】サーバ装置のハードウェア構成図である。
【図３】サーバ装置の機能構成図である。
【図４】作業検出処理を示すフローチャートである。
【図５】補正処理を示すフローチャートである。
【図６】補正処理の説明図である。
【図７】補正処理の説明図である。
【図８】第２の実施形態に係るサーバ装置の機能構成図である。
【図９】第２の実施形態に係る作業検出処理を示すフローチャートである。
【図１０】検出結果の保存例を示す図である。
【図１１】第３の実施形態の補正処理の説明図である。
【図１２】補正処理を示すフローチャートである。
【図１３】第４の実施形態に係る補正処理を示すフローチャートである。
【図１４】期待値の一例を示す図である。
【図１５】第５の実施形態の補正処理の説明図である。
【図１６】第５の実施形態に係る補正処理を示すフローチャートである。
【図１７】類似テーブルを示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
（第１の実施形態）
図１は、第１の実施形態に係る作業特定システムの全体図である。作業特定システムは、サーバ装置１００と、撮像装置１１０と、を有している。サーバ装置１００と撮像装置１１０は、例えばＴＣＰ／ＩＰを用いて通信を行う。なお、サーバ装置１００と撮像装置１１０は、他の通信プロトロコルを用いてもよい。撮像装置１１０は、人物Ａが物体１２０に対し、一連の作業を行う様子を撮像し、映像を撮像装置１１０に送信する。ここで、物体１２０は、作業対象となる物体である。物体１２０は、図１に示すように机１３０の上に載るサイズのものに限定されるものではなく、例えばネジ等のように掌や指に載るサイズのものでもよく、床に置かれるような大型サイズのものであってもよい。また、人物Ａが行う一連の作業は、複数の作業を含み、各作業の作業順は予め定められているものとする。一連の作業には、例えば、作業Ａ、作業Ｂ、作業Ｃが含まれ、各作業はこの順に実行されるものとする。本実施形態のサーバ装置１００は、一連の作業に含まれる各作業の作業順に、１、２、３というように連続する整数をラベルとして割り当てて管理するものとする。なお、ラベルに用いる記号は、各作業の順番が識別可能なものであればよく、実施形態に限定されるものではない。ラベルに用いる記号の他の例としては、１、３、５というような奇数列や、ａ、ｂ、ｃというようなアルファベット順が挙げられる。なお、サーバ装置１００は、情報処理装置の一例である。
【００１０】
図２は、サーバ装置１００のハードウェア構成図である。ＣＰＵ２０１は、ＲＡＭ２０６やＲＯＭ２０７に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりＣＰＵ２０１は、サーバ装置１００全体の動作制御を行うと共に、サーバ装置１００が行うものとして後述する各処理を実行若しくは制御する。
【００１１】
入力装置２０２は、ボタン群などのユーザインターフェースであり、ユーザが操作することで各種の入力をサーバ装置１００に対して行うことができる。出力装置２０３は、液晶画面等の表示部やスピーカを有し、ＣＰＵ２０１による処理結果を表示したり音声出力したりすることができる。なお、入力装置２０２によるユーザインターフェース機能と出力装置２０３による表示機能とを組み合わせてタッチパネル画面を構成しても構わない。通信装置２０４は、サーバ外部からのデータの入出力を受け付けるためのＵＳＢポート、ＬＡＮポートなどのインターフェースにより構成されている。映像データを取得するためのカメラや、映像データを記録したメディア、本装置により計測された作業時間を記録するためのメディア等が通信装置２０４に接続され、処理対象データの入出力が行われる。
【００１２】
記憶装置２０５は、ハードディスクドライブ装置やフラッシュメモリなどにより構成されている。記憶装置２０５には、ＯＳ（オペレーティングシステム）や、サーバ装置１００が行うものとして後述する各処理をＣＰＵ２０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。以降の説明において、処理に用いる映像データや検出された作業実施有無履歴、計測された作業時間データの登録先は記憶装置２０５となる。記憶装置２０５に保存されているコンピュータプログラムやデータは、ＣＰＵ２０１による制御に従って適宜ＲＡＭ２０６にロードされ、ＣＰＵ２０１による処理対象となる。
【００１３】
ＲＡＭ２０６は、記憶装置２０５からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。更にＲＡＭ２０６は、ＣＰＵ２０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ２０６は、各種のエリアを適宜提供することができる。ＲＯＭ２０７には、サーバ装置１００の設定データや起動プログラムなど、書き換え不要なコンピュータプログラムやデータが保存されている。なお、後述するサーバ装置１００の機能や処理は、ＣＰＵ２０１がＲＯＭ２０７又は記憶装置２０５に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。ＣＰＵ２０１、入力装置２０２、出力装置２０３、通信装置２０４、記憶装置２０５、ＲＡＭ２０６、ＲＯＭ２０７は何れもバス（ＢＵＳ）２０８に接続されている。
【００１４】
図３は、サーバ装置１００の機能構成図である。作業特定部３０１は、撮像装置１１０から入力された動画像を構成するフレームの画像に基づいて、学習済みの学習モデルを用いた機械学習により作業内容を特定する。なお、作業特定部３０１は、フレームの時系列関係を示す時系列情報等の情報を利用することなく、１フレームの画像の情報のみを用いて作業内容を特定するものとする。期間特定部３０２は、作業特定部３０１により特定された作業内容が同一の複数のフレームを、特定された作業内容の作業期間として特定する。期間特定部３０２はさらに、予め設定された作業順情報に基づいて、作業内容及び作業期間を適宜補正する。ここで、作業順情報とは、一連の作業に含まれる複数の作業の作業内容と順番とを示す情報である。表示処理部３０３は、各種情報を表示部に表示するよう制御する。
【００１５】
図４は、サーバ装置１００による作業検出処理を示すフローチャートである。作業検出処理は、映像に基づいて、作業内容を検出する処理である。Ｓ４０１において、作業特定部３０１は、通信装置２０４を介して撮像装置１１０かをフレーム単位で取得する。なお、動画像の取得は、ストリーミング形式で逐次行われるものとする。また、他の例としては、撮像装置１１０により得られた動画像は、一旦記憶装置２０５に記録され、作業特定部３０１は、記憶装置２０５に記憶された動画像をフレーム単位で取得してもよい。
【００１６】
次に、Ｓ４０２において、作業特定部３０１は、取得したフレームの画像情報に基づいて、作業内容を特定する。本処理は作業特定処理の一例である。具体的には、予め定められた複数の作業内容の動作特徴を学習した学習済みモデルを作成しておき、作業特定部３０１は、各作業内容に対するスコアを求める。作業特定部３０１は、スコアが最大となる作業内容を、フレームに対応する作業内容として特定する。本実施形態においては、作業内容を識別する作業ラベルが予め設定されているものとし、作業特定部３０１は、特定した作業内容に対応した作業ラベルを、フレームに対応付けて例えばＲＡＭ２０６等の記憶部に記録する。
【００１７】
本実施形態においては、作業ラベルは、１〜８までの整数とする。このうち、１〜７は、予め定められた作業内容で、互いに異なる作業内容を示す。８は、予め定められた作業内容が検出されなかったことを示す。さらに、本実施形態においては、実行順が定められた複数の作業を連続して行う様子が撮影された映像が処理対象となるものとし、作業ラベルは、実行順も識別可能な情報とする。本実施形態においては、作業ラベル１、２、３は、作業の順番を示すと共に、異なる番号であることは作業内容が異なることを示している。
【００１８】
なお、前述の学習モデルの作成においては、様々な方法が存在し、その方法は特に限定されるものではない。例えば深層学習と呼ばれる方法を用いる場合には、最初に正しい作業内容を撮影したデータを大量に用意しておき、これらのデータを学習用のネットワークに入力することでモデルを作成する。
【００１９】
また、作業特定部３０１は、画像に基づいて作業内容を特定すればよく、そのための具体的な処理は実施形態に限定されるものではない。他の例としては、各作業内容の代表的な動きの画像を用意しておき、作業特定部３０１は、用意された画像と処理対象の画像を比較し、比較結果に応じて作業内容を特定してもよい。また、他の例としては、各作業時に必ず触れるエリアを設定しておき、そこを触ったかどうか、どの程度触ったか等に基づいて、作業内容を特定してもよい。
【００２０】
次に、Ｓ４０３において、期間特定部３０２は、Ｓ４０１において取得したフレーム画像が映像の最終フレームか否かを判定する。期間特定部３０２は、最終フレームと判定した場合には（Ｓ４０３でＹＥＳ）、次のフレームが存在しないため、処理をＳ４０５へ進める。期間特定部３０２は、最終フレームでないと判定した場合には（Ｓ４０３でＮＯ）、処理をＳ４０４へ進める。Ｓ４０４において、期間特定部３０２は、Ｓ４０１において取得したフレーム画像において特定された作業内容が、直前のフレームの作業内容と別の作業内容か否かを判定する。このとき、期間特定部３０２は、作業ラベルを参照するものとする。期間特定部３０２は、別の作業内容の場合には（Ｓ４０４でＹＥＳ）、処理をＳ４０５へ進める。期間特定部３０２は、同じ作業内容の場合には（Ｓ４０４でＮＯ）、処理をＳ４０１へ進める。
【００２１】
Ｓ４０５において、期間特定部３０２は、Ｓ４０１において取得したフレームの作業内容の連続期間を、時系列を遡ってカウントする。次に、Ｓ４０６において、期間特定部３０２は、Ｓ４０５においてカウントしたフレーム数（連続フレーム数）と第１閾値とを比較する。ここで第１の閾値は、予め定められたフレーム数である。期間特定部３０２は、連続フレーム数が第１閾値よりも大きいと判定した場合には（Ｓ４０６でＹＥＳ）、処理をＳ４０７へ進める。期間特定部３０２は、連続フレーム数が第１閾値以下と判定した場合には（Ｓ４０６でＮＯ）、処理をＳ４０８へ進める。Ｓ４０７において、期間特定部３０２は、連続フレームを、Ｓ４０１において特定した作業内容の作業期間として抽出し、作業期間の開始フレーム、終了フレーム、作業内容をＲＡＭ２０６等の記憶部に記録し、その後処理をＳ４０９へ進める。
【００２２】
一方、Ｓ４０８において、期間特定部３０２は、連続フレームを、直前の作業期間に追加し、その後処理をＳ４０９へ進める。本処理は、連続期間が極端に短い場合には誤認識の可能性が高いことに対応した処理である。Ｓ４０８において、期間特定部３０２は、具体的には、直前の作業期間が作業ラベル２で識別される期間の場合には、連続フレームについても作業ラベル２の期間として、作業内容を置き換え、期間を統合する。
【００２３】
Ｓ４０９において、期間特定部３０２は、補正対象の作業期間が存在するか否かを判定する。本実施形態においては、期間特定部３０２は、直前の作業期間が特定され、かつ直後の作業期間が特定されているような作業期間が存在する場合に、前後に挟まれた作業期間を、補正対象の作業期間として特定するものとする。以下、補正対象の作業期間を対象期間と称する。期間特定部３０２は、対象期間が存在する場合には（Ｓ４０９でＹＥＳ）、処理をＳ４１０へ進める。期間特定部３０２は、対象期間が存在しない場合には（Ｓ４０９でＮＯ）、処理をＳ４０１へ進める。なお、最終フレームを含む作業期間においては、次の作業期間は存在しないが、この場合には、特例として処理をＳ４１０へ進めるものとする。
【００２４】
Ｓ４１０において、期間特定部３０２は、対象期間に対する補正処理を行う。補正処理は、対象期間の長さの補正や、誤認識の修正、作業の有無の判定等を行う処理である。補正処理については、図５を参照しつつ後述する。次に、Ｓ４１１において、期間特定部３０２は、Ｓ４０１において取得したフレームが最終フレームか否かを判定する。期間特定部３０２は、最終フレームと判定した場合には（Ｓ４１１でＹＥＳ）、作業検出処理を終
了する。期間特定部３０２は、最終フレームと判定しなかった場合には（Ｓ４１１でＮＯ）、処理をＳ４０１へ進める。
【００２５】
図５は、図４を参照しつつ説明した補正処理（Ｓ４１０）における詳細な処理を示すフローチャートである。図６及び図７は、補正処理の説明図である。図６（ａ）は、作業期間列６００を示し、図６（ｂ）は、作業期間列６１０を示している。作業期間列６００は、補正処理（Ｓ４１０）が行われる前にＳ４０８までの処理で得られた作業期間列であり、作業期間列６１０は、作業期間列６００に対して補正処理が行われた後の作業期間列である。同様に、図７（ａ）は、補正処理の前の作業期間列７００を示し、図７（ｂ）は、補正処理の後の作業期間列７１０を示している。作業期間列７１０は、作業期間列７００に対応している。
【００２６】
作業期間列６００，７００においては、作業期間を識別するＮｏと、開始フレームと、終了フレームと、作業ラベルと、を対応付けて示している。ここで、Ｎｏは、作業期間を識別する情報である。作業ラベルは、作業内容を識別する情報である。本実施形態においては、作業ラベルは、１〜８までの整数とする。このうち、１〜７は、予め定められた作業内容で、互いに異なる作業内容を示す。８は、予め定められた作業内容が検出されなかったことを示す。
【００２７】
図５において、Ｓ５０１において、期間特定部３０２は、対象期間が非作業期間か否かを判定する。具体的には、期間特定部３０２は、対象期間の作業ラベルが「８」の場合に、非作業期間と判定する。期間特定部３０２は、非作業期間と判定した場合には（Ｓ５０１でＹＥＳ）、処理をＳ５０２へ進める。期間特定部３０２は、非作業期間でないと判定した場合には（Ｓ５０１でＮＯ）、処理をＳ５０３へ進める。Ｓ５０２において、期間特定部３０２は、対象期間に対応する作業内容に対応した期間から、対象期間を削除する。以上で補正処理（Ｓ４１０）は終了する。この場合、期間特定部３０２は、その後処理をＳ４１１へ進める。
【００２８】
一方、Ｓ５０３において、期間特定部３０２は、対象期間と、その直前の作業期間の作業ラベルが同一か否かを判定する。期間特定部３０２は、作業ラベルが同一と判定した場合には（Ｓ５０３でＹＥＳ）、処理をＳ５０４へ進める。期間特定部３０２は、作業ラベルが異なると判定した場合には（Ｓ５０３でＮＯ）、処理をＳ５０６へ進める。Ｓ５０４において、期間特定部３０２は、対象期間を、割り当てられている作業内容（作業ラベル）に対応した期間として特定する。次に、Ｓ５０５において、期間特定部３０２は、対象期間の期間を直前の作業期間に統合する。以上で、補正処理（Ｓ４１０）を終了する。例えば、図６（ａ）の作業期間列６００においては、Ｎｏ５の作業期間は、Ｓ５０４において作業内容として作業ラベル３が特定され、Ｓ５０５においてＮｏ５の作業期間がＮｏ４の作業期間に統合される。
【００２９】
Ｓ５０６において、期間特定部３０２は、対象期間の作業ラベルが直前の作業期間の作業ラベルよりも数値が小さいか否かを判定する。なお、以下においては、対象期間の作業ラベルを対象のラベル、直前の作業期間の作業ラベルを直前のラベルと称する。期間特定部３０２は、対象のラベルが直前のラベルよりも小さいと判定した場合には（Ｓ５０６でＹＥＳ）、処理をＳ５０７へ進める。期間特定部３０２は、対象のラベルが直前のラベル以上と判定した場合には（Ｓ５０６でＮＯ）、処理をＳ５０８へ進める。Ｓ５０７において、期間特定部３０２は、対象期間に対応する作業内容に対応した期間から、対象期間を削除する。以上で補正処理（Ｓ４１０）は終了する。なお、Ｓ５０６で参照される作業期間は対象期間よりも前の作業期間であればよく、直前の作業期間に限定されるものではない。
【００３０】
本実施形態においては、予め定められた実行順に従い作業が行われている場合には、作業ラベルは昇順になるはずである。これに対応し、Ｓ５０６、Ｓ５０７の処理は、昇順を満たさない場合には誤認識結果として削除するものである。例えば、図６（ａ）の作業期間列６００においては、Ｎｏ７の作業期間の作業ラベルが「２」であり、直前のＮｏ６の作業期間の作業ラベル「４」よりも小さい。このため、Ｎｏ７の作業期間はＳ５０７の処理で削除される。なお、Ｓ５０７の処理は、作業順において対象期間の作業内容が直前の作業期間の作業内容よりも前の作業内容として定義されている場合に、対象期間を削除する処理の一例である。
【００３１】
Ｓ５０８において、期間特定部３０２は、対象のラベルと直前のラベルの差が１か否かを判定する。前述の通り、作業ラベルは作業順に対応しているものであり、Ｓ５０８の処理は、作業順にあった順序で作業が行われているかを確認するものである。したがって、期間特定部３０２は、作業順に応じた作業ラベルの差が１以外の他の値の場合には、他の値に基づいて、判断するものとする。期間特定部３０２は、差が１であると判定した場合には（Ｓ５０８でＹＥＳ）、処理をＳ５０９へ進める。期間特定部３０２は、差が１でないと判定した場合には（Ｓ５０８でＮＯ）、処理をＳ５１０へ進める。
【００３２】
Ｓ５０９において、期間特定部３０２は、対象期間を、対象期間において特定された作業内容（作業ラベル）に対応した期間として特定する。以上で補正処理（Ｓ４１０）を終了する。例えば、図６（ａ）の作業期間列６００においては、Ｎｏ３の作業期間を対象期間とした処理において、Ｎｏ３の作業期間が作業ラベル２の作業期間として特定される。同様に、Ｎｏ４の作業期間を対象期間とした処理において、Ｎｏ４の作業期間が作業ラベル３の作業期間として特定される。なお、Ｓ５０９の処理は、対象期間の作業内容と直前の作業内容と、対象期間の作業内容とが、作業順においてこの順に連続した作業内容として定義されている場合に、対象期間を、対応する作業内容の期間として特定する処理の一例である。
【００３３】
また、図７（ａ）の作業期間列７００のＮｏ１０の作業期間のように、前の作業期間が存在しない場合がある。この場合には、期間特定部３０２は、Ｓ５０３、Ｓ５０５では共にＮＯと判定し、Ｓ５０８でＹＥＳと判定することにより、作業期間として確定するものとする。また、他の例としては、補正対象の作業期間の作業ラベルが「１」の場合には、直前の作業期間が存在しない場合に、作業ラベル「１」を作業内容として確定してもよい。本処理においては、他の作業期間の作業ラベルとの比較を行うことなく、補正対象の作業期間の作業内容を決定することができる。
【００３４】
Ｓ５１０において、期間特定部３０２は、対象期間の次の作業期間の作業ラベル（次のラベル）と、直前のラベルの差が１か否かを判定する。本処理は、次の作業と直前の作業とが連続する作業であるか否かを確認する処理である。期間特定部３０２は、作業ラベルの差が１であると判定した場合には（Ｓ５１０でＹＥＳ）、処理をＳ５１１へ進める。期間特定部３０２は、作業ラベルの差が１でないと判定した場合には（Ｓ５１０でＮＯ）、処理をＳ５１２へ進める。Ｓ５１１において、期間特定部３０２は、対象期間に対応する作業内容に対応した期間から、対象期間を削除する。以上で補正処理（Ｓ４１０）が終了する。
【００３５】
次のラベルと直前のラベルの差が１の場合には、直前の作業期間と次の作業期間は連続した作業順に対応した期間であり、したがって、対象期間はノイズの期間であったと考えられる。そこで、本実施形態においては、この場合には、Ｓ５１１において、対象期間を対応する作業内容に対応した期間から削除するものとする。例えば、図７（ａ）の作業期間列７００においては、Ｎｏ１１〜Ｎｏ１３の作業期間において、作業ラベル２、４、３が割り当てられている。これに対し、Ｓ５１１処理が実行されると、Ｎｏ１２の作業期間は、削除される。なお、Ｓ５１０の処理は、直前の期間と次の期間の作業内容が作業順において連続した作業内容として定義されているか否かを判定する処理である。また、Ｓ５１１の処理は、直前の期間と次の期間の作業内容が作業順において連続した作業内容として定義されている場合に、対象期間を、対応する作業内容の期間として特定する処理の一例である。
【００３６】
一方、Ｓ５１２においては、期間特定部３０２は、作業漏れがあると判断し、作業漏れがある旨の通知情報を出力し、以上で補正処理（Ｓ４１０）が終了する。通知情報の出力の具体的な処理としては、通知情報を作業管理者のＰＣ等にメールで送信する、警告音を出力する、通知情報を表示部に表示する、等が挙げられる。
【００３７】
例えば、図７（ａ）の作業期間列７００においては、Ｎｏ２０〜Ｎｏ２２の作業期間において作業ラベル４、６、７が割り当てられている。この場合、Ｓ５０８でＮＯと判定され、Ｓ５１０でＮＯと判定されることになり、Ｓ５１２の処理が行われる。そして、Ｓ５１１の処理により、Ｎｏ５の作業が行われていないと判定され、Ｎｏ５の作業の作業漏れがある旨の通知情報が出力される。なお、Ｓ５１２においては、予め定められた特定の処理を行えばよく、具体的な処理は、実施形態に限定されるものではない。以上の補正処理により、図６（ａ）の作業期間列６００から図６（ｂ）の作業期間列６１０が確定し、図７（ａ）の作業期間列７００から図７（ｂ）作業期間列７１０が確定する。なお、補正処理（Ｓ４１０）は、複数の期間の時間的な関係と、予め定められた作業順と、に基づいて、作業順に対応した各作業の期間を特定する処理であり、期間特定処理の一例である。
【００３８】
以上のように、サーバ装置１００は、作業順を考慮することにより、作業内容及び作業期間の特定精度を向上させることができる。
【００３９】
（第２の実施形態）
次に、第２の実施形態に係る作業特定システムについて、第１の実施形態に係る作業特定システムと異なる点を主に説明する。図８は、第２の実施形態に係る作業特定システムのサーバ装置１００の機能構成図である。第２の実施形態に係るサーバ装置１００は、スコア算出部８０１と、期間特定部８０２と、表示処理部８０３と、を有している。
【００４０】
スコア算出部８０１は、撮像装置１１０から入力された動画像を構成するフレームの画像に基づいて、学習済みの学習モデルを用いた機械学習により各作業のスコアを算出する。なお、スコア算出部８０１は、フレームの時系列関係を示す時系列情報等の情報を利用することなく、１フレームの画像の情報のみを用いて作業内容を特定するものとする。期間特定部８０２は、スコア算出部８０１により算出されたスコアと、出力確率モデルと、遷移確率モデルと、に基づいて、作業内容及び作業期間を検出する。ここで、出力確率モデルとは、各作業のスコアから作業内容を推測するためのモデルである。遷移確率モデルとは、複数の作業間の遷移確率を定義したモデルである。表示処理部８０３は、各種情報を表示部に表示するよう制御する。
【００４１】
図９は、サーバ装置１００による作業検出処理を示すフローチャートである。作業検出処理は、映像に基づいて、作業内容を検出する処理である。Ｓ９０１において、スコア算出部８０１は、作業検出処理を終了するかを判定する。判定には様々な方法がり、その方法は特に限定されるものではない。例えば時刻に基づいて判定することや、動作物体がいるかいないかに基づいて判定することや、電源が切られたことに基づいて判定することや、映像の終了を検知して判定するという方法がある。スコア算出部８０１は、作業検出処理を終了すると判定した場合には（Ｓ９０１でＹＥＳ）、作業検出処理を終了する。スコア算出部８０１は、作業検出処理を終了すると判定しなかった場合には（Ｓ９０１でＮＯ）、処理をＳ９０２に進める。
【００４２】
Ｓ９０２において、スコア算出部８０１は、通信装置２０４を介して撮像装置１１０から動画像をフレーム単位で取得する。なお、動画像の取得は、ストリーミング形式で逐次行われるものとする。また、他の例としては、撮像装置１１０により得られた動画像は、一旦記憶装置２０５に記録され、作業特定部３０１は、記憶装置２０５に記憶された動画像をフレーム単位で取得してもよい。
【００４３】
次に、Ｓ９０３において、スコア算出部８０１は、Ｓ９０２で取得したフレームに対して、各作業内容に対するスコアを求める。本処理はスコア特定処理の一例である。具体的には、予め定められた複数の作業内容の動作特徴を学習した学習済みモデルが予め設定されているものとし、スコア算出部８０１は、学習済みモデルに基づいて各作業内容に対するスコアを求め、スコアをＲＡＭ２０６等の記憶部に記録する。
【００４４】
なお、前述の学習モデルの作成においては、様々な方法が存在し、その方法は特に限定されるものではない。例えば深層学習と呼ばれる方法を用いる場合には、最初に正しい作業内容の動作を撮影したデータとその作業内容を特定したデータとを大量に用意しておき、これらのデータを学習用のネットワークに入力することでモデルを作成する。学習済みモデルに、作業内容を撮影した動画像のフレームを入力すると、出力として作業内容が特定される。
【００４５】
また、スコア算出部８０１は、画像に基づいて各作業のスコアを算出すればよく、そのための具体的な処理は実施形態に限定されるものではない。他の例としては、各作業内容の代表的な動きの画像を用意しておき、スコア算出部８０１は、用意された画像と処理対象の画像を比較し、比較結果に応じて各作業のスコアを算出してもよい。また、他の例としては、各作業時に必ず触れるエリアを設定しておき、そこを触ったかどうか、どの程度触ったか等に基づいて、各作業のスコアを算出してもよい。
【００４６】
次に、Ｓ９０４において、期間特定部８０２は、Ｓ９０２で取得された動画像に含まれる期間のうち、Ｓ９０５以降で処理されるために十分な期間を検出する。期間特定部８０２は、例えば、一連の作業期間の開始から終了までの期間を十分な期間とし、一連の作業の終わりのタイミングを検出した場合に、十分な期間を検出したと判定する。具体的には、期間特定部８０２は、作業１、作業２、作業３、作業４の４つの作業をこの順に行う一連の作業を対象とする場合には、スコアに基づいて、作業４の終了を探し、作業４の終了を検出した場合に十分な期間を検出したと判定するものとする。ここで、十分な期間は、系列期間、所定の期間の一例である。なお、十分な期間を検出する処理は、スコアに基づいて、系列期間を決定する系列期間決定処理の一例である。期間特定部８０２は、十分な期間が検出された場合には（Ｓ９０４でＹＥＳ）、処理をＳ９０５へ進める。期間特定部８０２は、十分な期間が検出されなかった場合には（Ｓ９０４でＮＯ）、処理をＳ９０１へ進める。
【００４７】
Ｓ９０５において、期間特定部８０２は、Ｓ９０４において検出した十分な期間に対応するスコアを結合して、スコア系列を生成する。次に、Ｓ９０６において、期間特定部８０２は、Ｓ９０５において生成したスコア系列に含まれる各スコアに対応する各フレームに、尤もらしい作業内容のラベルを付与したラベル系列を生成する。期間特定部８０２は、ラベル系列の生成においては、出力確率モデルと、遷移確率モデルを用いる。また、遷移確率モデルは、各作業から各作業へ遷移する確率を定義したモデルである。期間特定部８０２は、これらのモデルに対する尤度を計算することで、スコア系列のそれぞれのスコアと対応するフレームに尤もらしいラベルを与える。
【００４８】
期間特定部８０２は、さらに、各作業の継続時間に基づいて尤度を調整する。例えば、予め各作業の継続時間の平均と分散を計測しておき、その平均と分散から各作業の継続時間の正規分布を作成しておく。そして、期間特定部８０２は、尤度の計算の際、生成した各作業の継続時間が、各作業の継続時間の正規分布から外れる場合、その尤度を低くする。
【００４９】
なお、各作業の継続時間に基づいて尤度を調整する方法は様々なものがあり、期間特定部８０２が実行する方法は、特に限定されるものではない。例えば正規分布でなく、別の分布を用いる方法が挙げられる。また、他の例としては、期間特定部８０２は、予め各作業の継続時間の平均を計算しておき、その平均とどのくらい異なっているかに基づいて調整してもよい。また、作業者の違いによって作業の継続時間が異なるので、期間特定部８０２は、予め作成した別の作業者の作業の継続時間に基づいて、その継続時間の違いに応じた分布を作成してもよい。また、前述の各作業の継続時間に基づいて尤度を変更する処理は、必須のものではない。
【００５０】
次に、Ｓ９０７において、期間特定部８０２は、Ｓ９０６において生成したラベル系列のラベルの連続期間を、時系列を遡ってカウントし、連続期間を作業期間候補としてまとめる。次に、Ｓ９０８において、期間特定部８０２は、Ｓ９０７でまとめられた作業期間候補をフィルタリングする。具体的には、期間特定部８０２は、作業期間候補の長さと予め定められた作業期間の長さとの差分が閾値よりも短い場合に、この作業期間候補を作業期間として特定する。一方で、期間特定部８０２は、差分が閾値よりも大きい場合に、この作業期間候補については作業期間と特定しない。このように、期間特定部８０２は、作業の継続期間に基づいて、作業期間を特定する。さらに、期間特定部８０２は、作業期間候補に含まれるフレームのうち、フレームのスコアと予め設定された期待スコアとの差分がスコア閾値以上となるフレームの数がフレーム閾値未満の場合に、この作業期間候補を作業期間として特定する。一方で、期間特定部８０２は、フレームの数がフレーム閾値以上の場合には、この作業期間候補については作業期間と特定しない。
【００５１】
次に、Ｓ９０９において、期間特定部８０２は、Ｓ９０８でフィルタリングされた作業期間候補を作業期間として特定し、作業期間の開始フレーム、終了フレーム、ラベル、Ｓ９０６で計算された尤度を記憶装置２０５等の記憶部に記録する。図１０（ａ）は、検出結果を保存する形式の一例である。図１０（ａ）に示すように、期間特定部８０２は、検出した作業期間に関する情報を行毎に記述していく。
【００５２】
次に、Ｓ９１０において、期間特定部８０２は、Ｓ９０９でまとめた作業期間において、作業抜けがあるか判断する。期間特定部８０２は、図１０（ｂ）に示すように時系列に沿って並べられた検出結果において、予め定められている定義順と比較することで作業抜けを検出する。例えば、図１０（ｂ）の例では、予め定められた作業ラベルの定義順は３、４、５、６だが、検出結果の作業ラベルは、３、４、６の順である。このため、作業ラベル５が抜けていると判断される。期間特定部８０２は、作業抜けがあった場合には（Ｓ９１０でＹＥＳ）、処理をＳ９１１へ進める。期間特定部８０２は、作業抜けがなかった場合には（Ｓ９１０でＮＯ）、処理をＳ９０１へ進める。
【００５３】
Ｓ９１１において、期間特定部８０２は、作業抜けがある旨の通知情報を出力する。通知情報の出力の具体的な処理としては、通知情報を作業管理者のＰＣ等にメールで送信する、警告音を出力する、通知情報を表示部に表示する、等が挙げられる。上記作業抜けがある旨の通知情報を出力した後、処理をＳ９０１に進める。
【００５４】
以上のように、サーバ装置１００は、スコア系列をモデル化することで、作業内容及び作業期間の特定精度を向上させることができる。
【００５５】
なお、Ｓ９１０の作業抜けがあるかの判断とＳ９１１の作業抜けがある旨の通知情報の処理は本実施形態において必須の処理ではなく、作業内容を記録するだけでもよい。作業抜け判断の処理を行わない場合は、期間特定部８０２は、Ｓ９０９の処理の後、処理をＳ９０１へ進めればよい。また、Ｓ９０９において、記憶部へ記録した検出結果は、作業抜けの判定が終わった後に、その記憶領域を解放してもよい。また、Ｓ９０９において、期間特定部８０２は、必ずしも作業期間の開始フレーム、終了フレーム、ラベル、Ｓ９０６で計算された尤度の全てを保存しなくてもよい。期間特定部８０２は、例えば、作業抜けの判断に必要な作業ラベルだけを保存してもよい。
【００５６】
また、本実施形態においては、期間特定部８０２は、図９に示す作業検出処理のＳ９０４において、十分な期間として一連の作業の期間を検出した。ただし、Ｓ９０４においては、ある程度の長さの期間を検出できればよく、検出対象の期間は実施形態に限定されるものではない。他の例としては、期間特定部８０２は、１つの作業の期間を十分な期間として検出してもよい。この場合には、Ｓ９０５以降では、作業の期間を対象としてスコア系列の生成、作業期間の決定等が行われる。
【００５７】
また他の例としては、期間特定部８０２は、一定のフレーム数、一定の時間等を十分な期間として検出してもよい。また、他の例としては、作業中に作業者の体が通るエリアを設定しておき、そのエリアを作業者が通った場合に、センサからサーバ装置１００へ通知されるものとする。そして、期間特定部８０２は、サーバ装置１００がセンサから通知を受信した場合に、この通知により十分な期間を検出してもよい。また、他の例としては、作業中に動作するプログラムが実行された場合に、プログラムを搭載した装置からサーバ装置１００へ通知されるものとし、期間特定部８０２は、通知を受信した場合に、十分な期間を検出してもよい。また、他の例としては、ボタン等の機材を用意し、その機材が使用された場合に、機材からサーバ装置１００へ通知されるものとしてもよい。
【００５８】
（第３の実施形態）
次に、第３の実施形態に係る作業特定システムについて、他の実施形態に係る作業特定システムと異なる点を主に説明する。図１１に示すように、期間Ｎｏ１〜Ｎｏ６の作業期間が得られたとする。Ｎｏ１〜Ｎｏ６の作業期間それぞれに対する正解の作業ラベルが１、２、３、３、３、４であるところ、学習済みモデルを用いた処理により作業ラベル１、２、３、４、３、４が特定されたとする。この場合、第１の実施形態においては、Ｎｏ３の期間が作業ラベル３の期間として特定され、Ｎｏ４〜６の期間が作業ラベル４の期間として特定されることになる。すなわち、正解の作業内容と異なる結果となってしまう。第３の実施形態に係る作業特定システムにおいては、このような特定結果が得られた場合においても、正しい作業期間を特定する。
【００５９】
図１２は、第３の実施形態に係るサーバ装置１００による補正処理（Ｓ４１０）における詳細な処理を示すフローチャートである。期間特定部３０２は、Ｓ５０１において非作業期間でないと判定した場合には（Ｓ５０１でＮＯ）、処理をＳ９０１へ進める。Ｓ９０１において、期間特定部３０２は、対象期間に含まれるフレーム数（対象のフレーム数）と第２閾値とを比較する。ここで、第２閾値は、予め定められたフレーム数である。また、第２閾値は、Ｓ４０６（図４）において参照される第１の閾値に比べて大きい値である。期間特定部３０２は、対象のフレーム数が第２閾値よりも小さい場合には（Ｓ９０１でＹＥＳ）、処理をＳ９０２へ進める。期間特定部３０２は、対象のフレーム数が第２閾値以上の場合には（Ｓ９０１でＮＯ）、処理をＳ５０３へ進める。Ｓ９０２において、期間特定部３０２は、対象期間に対応する作業内容に対応した期間から、対象期間を削除する。以上で補正処理（Ｓ４１０）は終了する。
【００６０】
Ｓ４０６の処理は、数フレーム程度現れる誤認識結果を除くための処理であり、一方で、Ｓ９０１の処理は、ある程度長い期間発生している誤認識結果を除くための処理である。Ｓ４０６において第２閾値を参照することとすると、誤認識の影響で細切れになっている正しい認識結果まで除かれてしまう可能性がある。これを避けるため、このように、２段階で閾値処理を行うこととした。
【００６１】
図１１を参照しつつ、Ｓ９０１及びＳ９０２の処理について具体的に説明する。ここでは、Ｓ４０６（図４）において参照される第１閾値を８フレーム、Ｓ９０１において参照される第２閾値を１５フレームとする。Ｎｏ４の期間が作業期間として処理が行われる場合において、Ｎｏ４の作業期間のフレーム数が第２閾値未満であることから、Ｎｏ４の期間は、Ｓ９０１、Ｓ９０２の処理により誤認識として処理対象から削除される。続いて、Ｎｏ５の期間が作業期間として処理が行われる場合において、Ｎｏ５の期間は直前の作業期間であるＮｏ３の期間と統合される。すなわち、Ｎｏ３〜Ｎｏ５の期間が作業ラベル３の期間として特定され、続くＮｏ６の期間が作業ラベル４の期間として特定される。なお、第３の実施形態に係る作業特定システムのこれ以外の構成及び処理は、他の実施形態に係る作業特定システムの構成及び処理と同様である。
【００６２】
以上のように、第３の実施形態に係る作業特定システムにおいては、２つの閾値を利用することで、作業内容及び作業期間の特定精度を向上させることができる。
【００６３】
第３の実施形態の変形例としては、サーバ装置１００は、Ｓ５０６における判定条件を変更し、作業のオーバーラップを許す形で、各作業期間を特定してもよい。例えば、Ｓ５０６の判定条件を「（対象のラベル＋１）＜直前のラベル？」とし、ＹＥＳの場合に、Ｓ５０７へ進み、ＮＯの場合に、Ｓ５０８へ進むようにしてもよい。これにより、例えば、途中で部品が足りなくなる等して第１の作業を中断し、続く第２の作業を一部始めた後で部品が届いたので第１の作業を再開する、といったパターンにも対応できる。また、一度第１の作業を終了し、続く第２の作業を開始したものの、念のためもう一度第１の作業を行うといったパターンにも対応できる。この場合、例えば、作業ラベル３、４、３がそれぞれ対応する、作業期間列が得られるが、作業をある程度長くやっていれば第２閾値で削除されることはないため、正しく作業内容と作業期間を特定することができる。
【００６４】
（第４の実施形態）
次に、第４の実施形態に係る作業特定システムについて、第３の実施形態に係る作業特定システムと異なる点を主に説明する。第４の実施形態に係る作業特定システムも、第３の実施形態に係る作業特定システムと同様に、図１１を参照しつつ説明したような特定結果が得られた場合においても、正しい作業期間を特定する。
【００６５】
図１３は、第４の実施形態に係るサーバ装置１００による補正処理（Ｓ４１０）における詳細な処理を示すフローチャートである。期間特定部３０２は、Ｓ５０１において非作業期間でないと判定した場合には（Ｓ５０１でＮＯ）、処理をＳ１００１へ進める。Ｓ１００１において、期間特定部３０２は、対象期間に含まれるフレーム数と期待値の差分の絶対値を求める。そして、期間特定部３０２は、差分の絶対値と第３閾値とを比較する。図１４は、期待値の一例を示す図である。なお、期待値は、作業ラベルで識別される作業内容において期待されるフレーム数に応じて任意に設定される値である。また、第３閾値は、予め定められたフレーム数の差分の閾値である。期待値や第３閾値は、例えば記憶装置２０５に予め記憶されている。
【００６６】
期間特定部３０２は、差分の絶対値が第３閾値以上の場合には（Ｓ１００１でＹＥＳ）、処理をＳ１００２へ進める。期間特定部３０２は、差分の絶対値が第３閾値よりも小さい場合には（Ｓ１００１でＮＯ）、処理をＳ５０３へ進める。Ｓ１００２において、期間特定部３０２は、対象期間に対応する作業内容に対応した期間から、対象期間を削除する。以上で補正処理（Ｓ４１０）は終了する。
【００６７】
次に、図１１を参照しつつ、Ｓ１００１及びＳ１００２の処理について具体的に説明する。ここでは、映像のフレームレートが一定であるとし、フレーム数は、時間に対応するものとする。また、第３閾値を１０フレームとする。Ｎｏ４の作業期間のフレーム数（１０）と作業ラベル４の期待値（５０）との差分は第３閾値（１０）以上である。このため、Ｎｏ４の期間が作業期間として処理が行われる場合において、Ｎｏ４の作業期間は誤認識として処理対象から削除される。続いて、Ｎｏ５の期間が作業期間として処理が行われる場合において、Ｎｏ５の期間は直前の作業期間であるＮｏ３の期間と統合される。すなわち、Ｎｏ３〜Ｎｏ５の期間が作業ラベル３の期間として特定され、続くＮｏ６の期間が作業ラベル４の期間として特定される。なお、第４の実施形態に係る作業特定システムのこれ以外の構成及び処理は、他の実施形態に係る作業特定システムの構成及び処理と同様である。
【００６８】
以上のように、第４の実施形態に係る作業特定システムにおいては、期待値との差分と、閾値とを参照することで、作業内容及び作業期間の特定精度を向上させることができる。
【００６９】
第４の実施形態の変形例としては、第３の実施形態の変形例において説明したのと同様に、サーバ装置１００は、Ｓ５０６における判定条件を変更し、作業のオーバーラップを許す形で、各作業期間を特定してもよい。
【００７０】
（第５の実施形態）
次に、第５の実施形態に係る作業特定システムについて、第３の実施形態に係る作業特定システムと異なる点を主に説明する。第５の実施形態に係る作業特定システムは、作業順に従い、適宜作業内容を変更する処理を行う。図１５に示すような複数の作業期間が得られたとする。Ｎｏ６の期間の正解の作業ラベルが６であるところ、学習済みモデルを用いた処理により作業ラベル１が特定されたとする。本実施形態の作業特定システムでは、このような誤った特定結果を、正しい作業内容に変更する。
【００７１】
図１６は、第５の実施形態に係るサーバ装置１００による補正処理（Ｓ４１０）における詳細な処理を示すフローチャートである。期間特定部３０２は、Ｓ５０１において非作業期間でないと判定した場合には（Ｓ５０１でＮＯ）、処理をＳ１３０１へ進める。Ｓ１３０１において、期間特定部３０２は、対象期間の作業内容が、作業順から期待される作業内容であるか否かを判定する。本実施形態においては、期間特定部３０２は、対象のラベルが直前のラベルに１加算した値である場合に期待される作業期間と判定する。期間特定部３０２は、期待される作業内容の場合には（Ｓ１３０１でＹＥＳ）、処理をＳ５０３へ進める。期間特定部３０２は、期待される作業内容でない場合には（Ｓ１３０１でＮＯ）、処理を１３０２へ進める。
【００７２】
Ｓ１３０２において、期間特定部３０２は、類似テーブルを参照し、対象期間の作業内容に類似する作業内容の有無を判定する。ここで、類似テーブルは、各作業内容に類似する作業内容を定義した情報であり、例えば、記憶装置２０５に予め記憶されている。図１７は、類似テーブルの一例を示す図である。期間特定部３０２は、類似する作業内容があると判定した場合には（Ｓ１３０２でＹＥＳ）、処理をＳ１３０３へ進める。期間特定部３０２は、類似する作業内容がないと判定した場合には（Ｓ１３０２でＮＯ）、処理をＳ５０３へ進める。Ｓ１３０３において、期間特定部３０２は、対象期間の作業ラベルを、類似する作業内容の作業ラベルに変更し、その後処理をＳ５０３へ進める。
【００７３】
例えば、図１５に示すＮｏ６の期間が作業期間として処理が行われている場合には、図１７に示す類似テーブルを参照すると、作業ラベル１に対し類似作業として作業ラベル６，８が対応付けられている。したがって、期間特定部３０２は、Ｓ１３０２において、類似の作業内容があると判定し、処理をＳ１３０３へ進める。そして、期間特定部３０２は、Ｓ１３０３において、対象期間の作業ラベルを「１」から、直前の作業ラベル「５」に続く「６」に変更する。これにより、図１５の例では、Ｎｏ６、７の期間は、統合され、作業ラベル６に対応した期間として特定される。なお、第５の実施形態に係る作業特定システムのこれ以外の構成及び処理は、他の実施形態に係る作業特定システムの構成及び処理と同様である。なお、Ｓ１３０１〜Ｓ１３０３の処理は、対象期間の作業内容と、直前の作業期間の作業内容が作業順に定められた作業内容と一致しない場合に、対象期間の作業内容を、類似する作業内容に変更する変更処理の一例である。
【００７４】
以上のように、第５の実施形態に係る作業特定システムにおいては、作業順と作業内容とを考慮することで、作業内容及び作業期間の特定精度を向上させることができる。
【００７５】
なお、上記においては、各実施形態において説明したサーバ装置１００の処理を、１つのサーバ装置１００が処理を切り替えることで実行してもよい。例えば、サーバ装置１００は、単純な作業を繰り返す等、作業途中での誤認識の発生が少ないと期待される場合には、第１の実施形態に係る処理を行うのが望ましい。そして、サーバ装置１００は、作業中にミスや想定外の動きが想定される等、誤認識の可能性がある場合には、第３から第５の実施形態に係る処理を行うのが望ましい。さらに、サーバ装置１００は、各作業で期待される所要時間のばらつきが少ない場合や、誤認識の恐れのある動きの継続時間が短いと想定される場合には第３の実施形態の処理を行うのが望ましい。逆に、各作業で期待される所要時間のばらつきが大きい場合や、誤認識の恐れのある動きの継続時間が長いと想定される場合には、サーバ装置１００は、第４の実施形態の処理を行うのが望ましい。
【００７６】
また、他の例としては、似ている作業が含まれている場合には、サーバ装置１００は、第５の実施形態に係る処理を行うのが望ましい。また、他の例としては、サーバ装置１００は、複数の実施形態に係る処理を組み合わせた処理を実行してもよい。例えば、サーバ装置１００は、第３の実施形態に係る処理と第４の実施形態に係る処理を組み合わせて実行することで、誤認識かどうかの判定精度をより高めることができる。
【００７７】
上述の実施形態の説明では、判定の際に用いる閾値が固定である例を挙げているが、閾値は固定値でなくともよく、またフレーム数以外を閾値として用いてもよい。例えば、サーバ装置１００は、誤認識の期間の傾向を機械学習で学習し、状況に応じて閾値を変更するといったことを行ってもよい。具体的には、作業者毎に作業時間の傾向が異なっている、生産計画次第で作業時間が変わってくるといった場合には、サーバ装置１００は、作業時間以外の要素を含めた学習を行い、その状況毎に適した閾値を求めてもよい。また、他の例としては、サーバ装置１００は、１フレーム毎の作業の認識スコアを利用し、誤認識をしているフレームにおいて２番目や３番目に高いスコアと１番高いスコアとの差が小さい場合には、それらの認識結果を考慮して判定を行ってもよい。
【００７８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７９】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８０】
１００  サーバ装置
１１０  撮像装置
【図１】
2019149154.tif 000003
【図２】
2019149154.tif 000004
【図３】
2019149154.tif 000005
【図４】
2019149154.tif 000006
【図５】
2019149154.tif 000007
【図６】
2019149154.tif 000008
【図７】
2019149154.tif 000009
【図８】
2019149154.tif 000010
【図９】
2019149154.tif 000011
【図１０】
2019149154.tif 000012
【図１１】
2019149154.tif 000013
【図１２】
2019149154.tif 000014
【図１３】
2019149154.tif 000015
【図１４】
2019149154.tif 000016
【図１５】
2019149154.tif 000017
【図１６】
2019149154.tif 000018
【図１７】
2019149154.tif 000019