(57)【要約】【課題】本発明は、高い精度で簡易に作業抜けを検知することを目的とする。【解決手段】本発明の情報処理装置は、作業の順序を表す基本パターンからの作業の入れ替わり情報を受け付ける受付手段と、受付手段によって受け付けられた入れ替わり情報に基づいて基本パターンの作業を入れ替えた第１の入れ替わりパターンを生成し、基本パターンと第１の入れ替わりパターンとから想定される第２の入れ替わりパターンを生成する生成手段と、作業の観測データと基本パターンと第１の入れ替わりパターンと第２の入れ替わりパターンとに基づいて、作業抜けを検知する第１の検知手段と、を有する。【選択図】図１０
2019219726.tif 000002
【特許請求の範囲】
【請求項１】
作業の順序を表す基本パターンからの作業の入れ替わり情報を受け付ける受付手段と、
前記受付手段によって受け付けられた前記入れ替わり情報に基づいて前記基本パターンの作業を入れ替えた第１の入れ替わりパターンを生成し、前記基本パターンと前記第１の入れ替わりパターンとから想定される第２の入れ替わりパターンを生成する生成手段と、
作業の観測データと前記基本パターンと前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとに基づいて、作業抜けを検知する第１の検知手段と、
を有する情報処理装置。
【請求項２】
前記生成手段は、複数の前記第１の入れ替わりパターンに対して行われた前記基本パターンからの作業の入れ替えを、前記基本パターンに対して行った前記第２の入れ替わりパターンを生成する請求項１記載の情報処理装置。
【請求項３】
前記生成手段は、複数の前記第１の入れ替わりパターンに対して行われた前記基本パターンからの作業の入れ替えのうち、異なる作業についての入れ替えを、前記基本パターンに対して行った前記第２の入れ替わりパターンを生成する請求項１又は２記載の情報処理装置。
【請求項４】
前記基本パターンに含まれる作業は、第１の粒度の作業と、前記第１の粒度の作業に含まれる第２の粒度の作業と、からなり、
前記生成手段は、複数の前記第１の入れ替わりパターンに対して行われた前記基本パターンからの作業の入れ替えのうち、前記第１の粒度の作業の入れ替えと前記第２の粒度の作業の入れ替えとを、前記基本パターンに対して行った前記第２の入れ替わりパターンを生成する請求項１又は２記載の情報処理装置。
【請求項５】
作業抜けの候補となる前記観測データの一覧を表す作業抜けの候補一覧を含む画面を表示するよう制御する表示制御手段を更に有し、
前記受付手段は、前記表示制御手段による制御で表示された前記画面で、前記入れ替わり情報を受け付ける請求項１乃至４何れか１項記載の情報処理装置。
【請求項６】
前記表示制御手段は、前記第１の検知手段によって作業抜けが検知された前記観測データを前記作業抜けの候補とする請求項５記載の情報処理装置。
【請求項７】
前記生成手段は、前記受付手段によって前記入れ替わり情報が受け付けられる毎に、前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとを生成することで、前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとを更新し、
前記生成手段によって前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとが更新された場合、前記作業抜けの候補となる前記観測データと前記基本パターンと前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとに基づいて、前記作業抜けの候補となる前記観測データの観測対象となる作業で作業抜けを検知する第２の検知手段を更に有し、
前記表示制御手段は、前記第２の検知手段によって作業抜けが検知された前記作業抜けの候補を前記作業抜けの候補一覧から削除する請求項５又は６記載の情報処理装置。
【請求項８】
前記表示制御手段は、前記画面に、前記作業抜けの候補一覧に対応する前記観測データに基づいて推定された許容される作業の入れ替わりを表示するよう制御する請求項５乃至７何れか１項記載の情報処理装置。
【請求項９】
作業抜けがある観測データと前記基本パターンと前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとに基づいて、前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとを使用した場合の作業抜けの検知漏れ率を推定する推定手段を更に有する請求項１乃至８何れか１項記載の情報処理装置。
【請求項１０】
前記推定手段によって推定された前記検知漏れ率が定められた閾値以上の場合、警告を通知する通知手段を更に有する請求項９記載の情報処理装置。
【請求項１１】
前記生成手段は、前記受付手段によって前記入れ替わり情報が受け付けられる毎に、前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとを生成することで、前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとを更新し、
前記通知手段による通知の後に、前記生成手段による更新を破棄する旨を受け付けた場合、前記生成手段による直近の更新を破棄する破棄手段を更に有する請求項１０記載の情報処理装置。
【請求項１２】
前記第１の検知手段は、前記観測データに対応するパターンとして、前記基本パターン、前記第１の入れ替わりパターン、及び、前記第２の入れ替わりパターンの何れかを特定し、前記観測データと特定したパターンとに基づいて、作業抜けを検知する請求項１乃至１１何れか１項記載の情報処理装置。
【請求項１３】
前記観測データは、作業を撮影した動画像である請求項１乃至１２何れか１項記載の情報処理装置。
【請求項１４】
作業の順序を表す基本パターンからの作業の入れ替わり情報を受け付ける受付ステップと、
前記受付ステップによって受け付けられた前記入れ替わり情報に基づいて前記基本パターンの作業を入れ替えた第１の入れ替わりパターンを生成し、前記基本パターンと前記第１の入れ替わりパターンとから想定される第２の入れ替わりパターンを生成する生成ステップと、
作業の観測データと前記基本パターンと前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとに基づいて、作業抜けを検知する検知ステップと、
を含む情報処理装置の制御方法。
【請求項１５】
コンピュータを、請求項１乃至１３何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
組立等の作業現場における品質保証や効率化を目的として、作業風景の映像やセンサデータを取得し、作業抜け検知を実現する技術が開発されている。
作業抜け検知技術の一つとして、作業者がバーコードリーダでバーコードを読み取りながら作業し、作業状況を把握管理する方法がある。しかし、バーコードを用いた作業管理では、バーコードが表示されたシールを対応する部分に個々に接着する必要があり、接着のために多くの時間を必要とされ、作業管理上の複雑化を招いていた。
そこで、特許文献１では、工具に内蔵された発信機から発せられる基準信号を複数の受信機で受信し、受信期間の基準信号の受信時間差に基づいて工具の使用位置を監視する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４―２５８８５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、作業者の工夫や癖に起因し、作業者が順番を入れ替えて作業を実施することがある。そして、この入れ替わりには、工程で許容される入れ替わりと許容されない入れ替わりとがある。
特許文献１の方法では、決まった順序で作業が実施されることを想定している。したがって、特許文献１の方法では、順序を入れ替えて作業が実施された場合、工程で許容される入れ替わりであっても、誤って作業抜けが発生したと判定してしまう。これを回避するために、例えば、全ての許容される入れ替わりを事前に登録しておく方法が考えられる。しかし、全ての入れ替わりを許容できるか否かを事前に判断し、登録することは現場にとって大きな負担である。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、作業の順序を表す基本パターンからの作業の入れ替わり情報を受け付ける受付手段と、前記受付手段によって受け付けられた前記入れ替わり情報に基づいて前記基本パターンの作業を入れ替えた第１の入れ替わりパターンを生成し、前記基本パターンと前記第１の入れ替わりパターンとから想定される第２の入れ替わりパターンを生成する生成手段と、作業の観測データと前記基本パターンと前記第１の入れ替わりパターンと前記第２の入れ替わりパターンとに基づいて、作業抜けを検知する第１の検知手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、高い精度で簡易に作業抜けを検知することができる。
【図面の簡単な説明】
【０００７】
【図１】システム構成等の一例を示す図である。
【図２】画像処理装置の機能構成の一例を示す図である。
【図３】撮影環境等の一例を示す図である。
【図４】作業抜け検知処理の入出力データの一例を示す図である。
【図５】設定画面の一例を示す図である。
【図６】作業抜け検知処理の一例を示すフローチャートである。
【図７】観測パターンを説明する図である。
【図８】入れ替わり登録処理の一例を示すフローチャートである。
【図９】入れ替わり登録処理での入出力データの一例を示す図である。
【図１０】入れ替わりパターン登録処理の一例を示すフローチャートである。
【図１１】入れ替わりパターン登録処理の一例を示すフローチャートである。
【図１２】入れ替わりパターン登録処理の一例を示すフローチャートである。
【図１３】入れ替わりパターン登録処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
＜第１の実施形態＞
［システム構成］
図１は、情報処理システム１のシステム構成の一例、及び、画像処理装置１００のハードウェア構成の一例を示す図である。情報処理システム１は、画像処理装置１００とネットワークカメラ１２０と距離センサ１４０とを有する。
ネットワークカメラ１２０は、所定の工程が実施される作業環境を一定時間間隔で撮影して、動画像を生成し、ネットワーク１５０を介して画像処理装置１００に送信する。ネットワーク１５０は、有線ネットワークでもよく、無線ネットワークでもよい。
距離センサ１４０も、ネットワークカメラ１２０と同様に、所定の工程が実施される作業環境を一定時間間隔で撮影する。そして、距離センサ１４０は、デプス動画像を生成し、ネットワーク１５０を介して画像処理装置１００に送信する。
画像処理装置１００は、パーソナルコンピュータやタブレット端末等の情報処理装置である。画像処理装置１００の詳細は次に説明する。
【０００９】
［ハードウェア構成］
次に、図１を参照して、画像処理装置１００のハードウェア構成について説明する。画像処理装置１００は、ハードウェアとして、制御部１０１と記憶部１０２と表示部１０３と入力部１０４と通信インタフェース１０５とこれらを接続するバス１０６とを有する。
制御部１０１は、画像処理装置１００の全体を制御する。制御部１０１は、ＣＰＵやＧＰＵで実現される。制御部１０１は、記憶部１０２に記憶されたプログラムを実行することで、図２の機能や、図６、図８、図１０から図１３までの処理等が実現される。
記憶部１０２は、ＲＡＭ等のメモリやハードディスク等から構成され、各種の情報を記憶したり、制御部１０１が一時的に使用する作業領域として使用されたりする。記憶部１０２は、制御部１０１が実行するプログラムや、ネットワークカメラ１２０から受信した動画像、距離センサ１４０から受信したデプス動画像、後述の標準パターン等を記憶する。記憶部１０２は、記憶媒体の一例である。
【００１０】
表示部１０３は、後述の設定画面５０１等を表示するディスプレイである。
入力部１０４は、ユーザからの入力を受け付ける。入力部１０４として、キーボードやマウスやタッチパネル等が使われる。
通信インタフェース１０５は、外部装置との通信を司る。画像処理装置１００は、通信インタフェース１０５を使用して、ネットワークカメラ１２０から動画像を受信したり、距離センサ１４０からデプス動画像を受信したりする。また、画像処理装置１００は、通信インタフェース１０５を使用して、各種の処理結果を、外部のサーバ等に送信する。
【００１１】
［機能構成］
次に、図２を参照して、画像処理装置１００の機能構成について説明する。図２は、画像処理装置１００の機能構成の一例を示す図である。画像処理装置１００は、画像取得部２０１と作業抜け検知部２０２と入れ替わりパターン登録部２０３と情報登録部２０４と情報取得部２０５と表示制御部２０６とを有する。
【００１２】
画像取得部２０１は、通信インタフェース１０５を使用して、ネットワークカメラ１２０から動画像を受信し、また、距離センサ１４０からデプス動画像を受信して、動画像、及び、デプス動画像を取得する。
作業抜け検知部２０２は、一工程実施分の作業現場の映像（動画像やデプス動画像）から作業抜けを検知する。作業抜け検知部２０２の詳細は、図６を用いて後述する。
入れ替わりパターン登録部２０３は、ユーザから受け付けた入れ替わりに関する情報に基づき、既知入れ替わりパターンを更新する。また、入れ替わりパターン登録部２０３は、既知入れ替わりパターンを用いて、未実行入れ替わりパターンを生成し、更新する。入れ替わりパターン登録部２０３の詳細は、図１０を用いて後述する。
情報登録部２０４は、観測データや観測データの属性を記憶部１０２に記憶する。観測データは、作業者３０４が実行する各作業を観測したデータであり、より具体的には、ネットワークカメラ１２０によって生成された動画像及び距離センサ１４０によって生成されたデプス動画像である。観測データの観測対象は、作業者３０４が実行する各作業である。
情報取得部２０５は、入力部１０４を介して、ユーザから入れ替わりに関する情報を取得する。情報取得部２０５の詳細は、図５を用いて後述する。
表示制御部２０６は、後述の設定画面５０１等を表示部１０３に表示するよう制御する。
【００１３】
［撮影環境／工程］
次に、図３（ａ）（ｂ）を参照して、撮影環境と工程について説明する。図３（ａ）は、撮影環境の一例を示す図である。図３（ｂ）は、工程の一例を示す図である。本実施形態では、天井３０１に設置されたネットワークカメラ１２０と距離センサ１４０とを用いて、工場の作業者３０４と作業台３０５とを撮影する。
図３（ｂ）に示す工程情報３０６は、作業者３０４が実行する１つの工程を示す。工程情報３０６に示すように、１つの工程は、複数の作業で構成される。それぞれの作業には、複数の動作が含まれる。本実施形態で説明する作業は、第１の粒度の作業の一例である。本実施形態で説明する動作は、第２の粒度の作業の一例である。
【００１４】
［作業抜け検知処理の入出力データ］
次に、図４（ａ）（ｂ）を参照して、後述の作業抜け検知処理の入出力データについて説明する。図４（ａ）は、作業抜け検知処理の入力データの一例を示す図である。図４（ｂ）は、作業抜け検知処理の出力データの一例を示す図である。
作業抜け検知処理の入力データは、ネットワークカメラ１２０から取得する１工程分のカラーの動画像４０１、及び、距離センサ１４０から取得する１工程分のデプス動画像４０２である。画像取得部２０１は、動画像４０１とデプス動画像４０２とを取得する。そして、画像取得部２０１は、ユーザが作業開始時にボタンを押下した場合にボタンの押下を表す通知を受け付けたり、画像処理等によって作業対象の部品の移動を検出したりすることで、１工程分の動画像４０１とデプス動画像４０２とを決定する。
作業抜け検知処理の出力データは、作業抜け検知結果４０３である。作業抜け検知結果４０３は、図４（ｂ）に示すように、１つの工程を構成する作業毎に作業が実施されたか否かの情報を含む。
【００１５】
［ユーザインターフェース］
次に、図５を参照して、本実施形態で使用するユーザインターフェースについて説明する。図５は、ユーザインターフェースとなる設定画面５０１の一例を示す図である。設定画面５０１は、表示制御部２０６の制御により、表示部１０３に表示される。
設定画面５０１は、作業現場映像５０２とユーザ教示ボックス５０３と作業抜け候補一覧５０９と工程情報５１０と終了ボタン５１１とを含む。
【００１６】
作業現場映像５０２は、作業抜け候補一覧５０９の中からユーザが選択した作業抜け候補に対応する動画像４０１を表示する。
作業抜け候補一覧５０９は、作業抜け候補となる観測データの情報を一覧表示する。作業抜け候補は、後述の図６の作業抜け検知処理によって作業抜けがあると判定された観測データである。作業抜け候補となる観測データは、作業者３０４が実行する１工程中の全作業を観測したデータであり、より具体的には、１つの工程分の動画像４０１及びデプス動画像４０２である。この観測データのうち、作業抜け候補一覧５０９に含まれる作業ＩＤで示した作業が作業抜けと判定されている。
工程情報５１０は、図３（ｂ）に示した情報であり、１つの工程を構成する複数の作業と動作とを表示する。
【００１７】
ユーザ教示ボックス５０３は、ユーザが画像処理装置１００に各種の情報を教示するために使われるオブジェクトである。ユーザ教示ボックス５０３は、ユーザ教示ボックスラベル５０４と抜け教示ボタン５０５と誤報教示ボタン５０６と入れ替わり教示ボタン５０７と入れ替わりテキストボックス５０８ａ、５０８ｂとを含む。
【００１８】
ユーザが作業抜け候補一覧５０９の所望の作業抜け候補を指定すると、表示制御部２０６は、指定された作業抜け候補に対応する動画像４０１を作業現場映像５０２に表示するよう制御する。動画像４０１は、工程の最初から表示してもよいし、作業抜けと判定された作業の一つ前の作業の先頭から表示してもよい。あるいは、一つ前の作業の最後の動作から表示してもよい。
ユーザは、作業現場映像５０２の映像を確認して、抜け教示ボタン５０５、誤報教示ボタン５０６、及び、入れ替わり教示ボタン５０７の何れかを選択することによって、作業抜け候補の属性を画像処理装置１００に教示する。作業抜け候補の属性には、“作業抜け”と“誤報”と“入れ替わり”との三種類がある。抜け教示ボタン５０５は、作業抜け候補の属性が“作業抜け”であることを教示する。誤報教示ボタン５０６は、作業抜け候補の属性が“誤報”であることを教示する。入れ替わり教示ボタン５０７は、作業抜け候補の属性が“入れ替わり”であることを教示する。
【００１９】
“作業抜け”は、実際に作業抜けが発生したことを表す。“誤報”は、実際には作業抜けが発生していなかったことを表す。
“入れ替わり”は、作業、又は、動作の許容される入れ替わりが発生していたことを表す。ユーザは、入れ替わり教示ボタン５０７を選択する前に、入れ替わりテキストボックス５０８ａ、５０８ｂに、入れ替わりを許容する動作の動作ＩＤ又は作業の作業ＩＤを入力する。ユーザは、工程情報５１０によって動作ＩＤ、作業ＩＤを確認できる。
入れ替わり登録を終了する際には、ユーザは終了ボタン５１１を選択する。また、設定画面５０１では、“作業抜け”や“誤報”を教示せず、入れ替わり教示ボタン５０７のみを用いてもよい。また、ボタンによる教示だけでなく、音声やキーボード入力を用いて実現してもよい。
【００２０】
［作業抜け検知処理］
次に、図６を参照して、作業抜け検知処理について説明する。図６は、作業抜け検知処理の一例を示すフローチャートである。
Ｓ６０１において、画像取得部２０１は、通信インタフェース１０５を使用して、ネットワークカメラ１２０から動画像を受信し、距離センサ１４０からデプス動画像を受信する。そして、画像取得部２０１は、１工程実施分の、動画像４０１、及び、デプス動画像４０２を取得する。
Ｓ６０２において、作業抜け検知部２０２は、Ｓ６０１で取得した動画像４０１、及び、デプス動画像４０２の全てのフレーム画像に対して、Ｓ６０３からＳ６０７までの処理（フレーム毎処理）が実施されたか否かを判定する。作業抜け検知部２０２は、全てのフレーム画像に対してフレーム毎処理が実施されたと判定した場合、処理をＳ６０９に進め、これ以外の場合、処理をＳ６０３に進める。
【００２１】
Ｓ６０３において、作業抜け検知部２０２は、動画像４０１のフレーム画像（カラー画像とも呼ぶ。）、及び、デプス動画像４０２のフレーム画像（デプス画像とも呼ぶ。）を選択する。Ｓ６０３が実行される毎に、作業抜け検知部２０２は、古い順にフレーム画像を選択する。
Ｓ６０４において、作業抜け検知部２０２は、検知エリアの位置合わせが完了しているか否かを判定する。作業抜け検知部２０２は、検知エリアの位置合わせが完了している場合、処理をＳ６０６に進め、完了していない場合、処理をＳ６０５に進める。
【００２２】
Ｓ６０５において、作業抜け検知部２０２は、カラー画像、及び、デプス画像における検知エリアの座標を決定する。より具体的には、作業抜け検知部２０２は、まず、カラー画像、及び、デプス画像から、基準となる物体を検出する。その際、作業抜け検知部２０２は、基準となる物体と基準となる物体が検出された領域との類似度を算出する。作業抜け検知部２０２は、類似度が第１の閾値以上の場合、基準となる物体からの相対座標を用いて検知エリアの座標を決定し、検知エリアの位置合わせは完了する。類似度が第１の閾値未満の場合、検知エリアの位置合わせは完了せず、作業抜け検知部２０２は、次フレームにて、再度、検知エリア位置の合わせを行う。基準となる物体の検出は、例えばテンプレートマッチングや局所特徴量の照合、及び、ニューラルネットワークを用いる手法等、公知の物体検出法により実現することができる。テンプレートマッチングとは、画像中から、テンプレートとなる画像と最も類似した領域を検出するアルゴリズムである。局所特徴量とは、画像中の濃淡の変化が大きい点の周囲を画素値や微分値により、特徴量として表す手法である。ニューラルネットワークとは、脳機能に見られる特性を計算机上のシミュレーションで表現することを目指した数学モデルである。
【００２３】
Ｓ６０６において、作業抜け検知部２０２は、カラー画像とデプス画像とにおける作業者３０４の手の領域を検出する。Ｓ６０６の入力データはカラー画像とデプス画像である。Ｓ６０６の出力データは、カラー画像における手領域の座標である。Ｓ６０６の手領域検出は、例えばＨＳＶ色空間でのルールベースでの検出や、アダブースト等、公知の方法により実現することができる。アダブーストとは、精度のあまり良くない識別機を適応的に複数つなげることで、全体として精度の良い識別機を構成する手法である。
Ｓ６０７において、作業抜け検知部２０２は、Ｓ６０６で検出した手領域と検知エリアとが接触しているか否かを判定する。より具体的には、作業抜け検知部２０２は、ｘｙｚ空間において、選定された各検知エリアとＳ６０６で検出した手領域との重なりを求める。手領域の画素と重なる検知エリアの画素が存在する場合、手領域と検知エリアとが接触していると判定する。手領域の画素と重なる検知エリアの画素が存在しない場合、手領域と検知エリアとが接触していないと判定する。Ｓ６０７の入力データは、検知エリアの座標、及び、Ｓ６０６で検出した手領域である。Ｓ６０７の出力データは、各検知エリアが手と接触しているか否かの判定結果である。
Ｓ６０８において、作業抜け検知部２０２は、処理をＳ６０２に戻す。
【００２４】
Ｓ６０９において、作業抜け検知部２０２は、観測パターンを生成する。観測パターンとは、作業者３０４の手が検知エリアに触れた順序を示す時系列パターンである。
図７を参照して、観測パターンの生成について説明する。図７は、観測パターンを説明する図である。図７（ａ）（ｂ）（ｃ）に示すフレーム画像７０１、７０２、７０３の時系列の順序は、フレーム画像７０１、続いてフレーム画像７０２、続いてフレーム画像７０３であるものとする。すなわち、フレーム画像７０１、７０２、７０３の中で、フレーム画像７０１が最も古く、フレーム画像７０３が最も新しい。
【００２５】
フレーム画像７０１、７０２、７０３において、作業者３０４は作業台３０５上で作業している。そして、フレーム画像７０１において、作業者３０４の左手は、検知エリア７１０に触れており、検知エリア７１１と検知エリア７１２には触れていない。また、フレーム画像７０２において、作業者３０４の右手は、検知エリア７１２に触れており、検知エリア７１０と検知エリア７１１には触れていない。また、フレーム画像７０３において、作業者３０４の右手は、検知エリア７１１に触れており、検知エリア７１０と検知エリア７１２には触れていない。
検知エリア７１０に作業者３０４の手が触れたことを表す記号を“ａ”とする。検知エリア７１２に作業者３０４の手が触れたことを表す記号を“ｂ”とする。検知エリア７１１に作業者３０４の手が触れたことを表す記号を“ｃ”とする。図７（ａ）（ｂ）（ｃ）の例では、作業抜け検知部２０２は、観測パターンとして、「“ａ”、“ｂ”、“ｃ”」を生成する。
【００２６】
Ｓ６１０において、作業抜け検知部２０２は、記憶部１０２から標準パターンを取得する。標準パターンとは、作業を全て実施した場合に想定される手の動きを示す時系列パターンである。標準パターンには、基本パターン、既知入れ替わりパターン、及び、未実行入れ替わりパターンが含まれる。
基本パターンは、基本となる作業の順序を表すパターンである。基本パターンは、入れ替わりが発生しなかった場合の作業や動作の順序を示す。基本パターンの生成は、例えば作業標準書からヒューリスティックに作成する方法や、学習用のデータから状態遷移モデルを生成する方法等、公知の方法により実現することができる。生成された基本パターンは、予め記憶部１０２に記憶されている。
既知入れ替わりパターンは、過去に観測され、ユーザが許容した入れ替わりが発生した場合の作業や動作の順序を示す。既知入れ替わりパターンは、第１の入れ替わりパターンの一例である。未実行入れ替わりパターンは、過去に観測されたことはないが、既知入れ替わりパターンの組み合わせによって想定される入れ替わりが発生した場合の作業や動作の順序を示す。未実行入れ替わりパターンは、第２の入れ替わりパターンの一例である。既知入れ替わりパターン、及び、未実行入れ替わりパターンの生成の詳細は、図９を用いて後述する。
【００２７】
Ｓ６１１において、作業抜け検知部２０２は、観測パターンと標準パターンとを照合する。そして、作業抜け検知部２０２は、観測パターンと最も類似した最近傍標準パターンを標準パターンから選択して特定する。そして、作業抜け検知部２０２は、最近傍標準パターンの各作業範囲に対応付いた観測パターンの範囲から、観測パターンにおける作業開始点と終了点とを求める。Ｓ６１１での時系列パターンの照合は、例えば、ＤＰマッチングや、ビタビアルゴリズム等、公知の方法によって実現することができる。ＤＰマッチングとは、一方のパターンをゴムのように非線形伸縮させ、最も整合した結果をマッチング結果とする手法である。ビタビアルゴリズムとは、与えられた配列を出力する可能性が最も高い状態列を計算するアルゴリズムである。
【００２８】
Ｓ６１２において、作業抜け検知部２０２は、作業抜けが発生したか否かを判定する。より具体的には、作業抜け検知部２０２は、観測パターンと最近傍標準パターンとを、作業毎に比較して、作業毎に類似度を算出する。作業抜け検知部２０２は、類似度が第２の閾値以上の場合、作業が実施されたと判定し、類似度が第２の閾値未満の場合、作業が実施されておらず、作業抜けが発生したと判定する。類似度には、例えばＤＰマッチングによって算出される距離や、標準パターンに対する観測パターンの網羅率が使われる。Ｓ６１２の処理の結果の一例が図４（ｂ）に示す作業抜け検知結果４０３である。作業抜け検知部２０２は、Ｓ６１２の処理で、作業抜けが発生したと判定した場合、Ｓ６０１で取得した１工程実施分の動画像４０１とデプス動画像４０２とを、作業抜け候補と判定する。作業抜け検知部２０２がＳ６１２の処理で作業抜けが発生したと判定した場合が、作業抜けを検知した場合に相当する。Ｓ６１２の処理は、第１の検知処理の一例である。
Ｓ６１３において、作業抜け検知部２０２は、Ｓ６１２での判定結果を記憶部１０２に記憶する。また、表示制御部２０６は、Ｓ６１２で作業抜け候補と判定された観測データである動画像４０１とデプス動画像４０２の情報を、図５の設定画面５０１に含まれる作業抜け候補一覧５０９に表示するよう制御する。ユーザは、図５の設定画面５０１を使って作業抜け候補を観察し、必要に応じて入れ替わりを登録の操作を行う。
【００２９】
［入れ替わり登録処理］
次に図８を参照して、入れ替わり登録処理について説明する。図８は、入れ替わり登録処理の一例を示すフローチャートである。
Ｓ８０１において、表示制御部２０６は、記憶部１０２に記憶された作業抜け候補の情報を取得する。
Ｓ８０２において、表示制御部２０６は、Ｓ８０１で取得した情報を使用して、図５に示す設定画面５０１に、作業抜け候補一覧５０９を表示するよう制御する。これにより、ユーザに、作業抜け候補の情報が通知される。作業抜け候補一覧５０９は、作業抜け候補毎に、作業抜け候補ＩＤ、日付、時間、及び、作業ＩＤを含む。作業抜け候補一覧５０９の作業抜け候補ＩＤは、作業抜け候補の識別記号であり、作業抜け候補一覧５０９における作業抜け候補の通し番号である。作業抜け候補一覧５０９の作業ＩＤは、図６の処理で実施されていないと判定された作業ＩＤを示す。この際、作業抜け候補に対応付いた最近傍標準パターン毎に、作業抜け候補一覧５０９における作業抜け候補情報を色分け等によって分類して、ユーザに通知してもよい。
【００３０】
Ｓ８０３において、入れ替わりパターン登録部２０３は、無限ループをするために、処理をＳ８０４に進める。
Ｓ８０４において、情報取得部２０５は、入力部１０４からの信号に基づいて、ユーザが図５の終了ボタン５１１を選択したか否かを判定する。情報取得部２０５は、ユーザが終了ボタン５１１を選択したと判定した場合、無限ループを抜けて、図８の入れ替わり登録処理を終了する。情報取得部２０５は、ユーザが終了ボタン５１１を選択していないと判定した場合、処理をＳ８０５に進める。
【００３１】
Ｓ８０５において、情報取得部２０５は、入力部１０４からの信号に基づいて、ユーザからの教示対象の情報を取得する。教示対象は、作業抜け候補一覧５０９に含まれる作業抜け候補のうち、ユーザによって指定された作業抜け候補である。教示対象の情報は、ユーザによって指示された作業抜け候補の属性である。作業抜け候補の属性には、既に説明したように、“作業抜け”、“誤報”、“入れ替わり”の三種類がある。情報取得部２０５は、教示対象の情報が“入れ替わり”の場合、入れ替わりテキストボックス５０８ａ、５０８ｂの入力内容も取得する。また、情報登録部２０４は、教示対象となる作業抜け候補に対応する観測データ（動画像４０１、デプス動画像４０２）に、メタデータとして、教示対象の情報を付与して記憶部１０２に記憶する。
【００３２】
Ｓ８０６において、入れ替わりパターン登録部２０３は、入れ替わりを許容するか否かを判定する。入れ替わりを許容するのは、以下の２条件を満たす場合である。１つ目は、Ｓ８０５で取得された教示対象の情報である作業抜け候補の属性が“入れ替わり”であることである。２つ目は、入れ替わりテキストボックス５０８ａと５０８ｂに異なる動作ＩＤ、又は、異なる作業ＩＤが入力されたことである。入れ替わりパターン登録部２０３は、入れ替わりを許容すると判定した場合、処理をＳ８０７に進め、入れ替わりを許容しないと判定した場合、処理をＳ８０８に進める。
Ｓ８０７において、入れ替わりパターン登録部２０３は、入れ替わりパターン登録処理を実行する。入れ替わりパターン登録処理は、図１０を参照して後に説明する。
Ｓ８０８において、入れ替わりパターン登録部２０３は、処理をＳ８０３に戻す。
【００３３】
［入れ替わりパターン登録処理］
次に、図９（ａ）から（ｅ）を参照して、入れ替わりパターン登録処理の入出力データについて説明する。入れ替わりパターン登録処理の入力データは、図９（ａ）に示す既知入れ替わり情報９０１、図９（ｂ）に示す被教示入れ替わり情報９０２、及び、図９（ｃ）に示す入れ替わりパターン情報９０３である。
既知入れ替わり情報９０１は、許容された既知の作業や動作の入れ替わりを示す入れ替わり情報を１つ以上含み、記憶部１０２に記憶されている。既知入れ替わり情報９０１は、入れ替わり情報毎に、入れ替わりが許容される２つのＩＤ、及び、粒度を含む。既知入れ替わり情報９０１のＩＤは、作業ＩＤ又は動作ＩＤである。粒度には、“作業”又は“動作”が指定される。粒度が“作業”の場合、既知入れ替わり情報９０１のＩＤは作業ＩＤを表す。粒度が“動作”の場合、既知入れ替わり情報９０１のＩＤは動作ＩＤを表す。
【００３４】
被教示入れ替わり情報９０２は、新たに許可された作業や動作の入れ替わりを示す入れ替わり情報である。より具体的には、被教示入れ替わり情報９０２は、直近の図８のＳ８０５で取得された情報であり、入れ替わりテキストボックス５０８ａ、５０８ｂに入力された情報である。被教示入れ替わり情報９０２は、既知入れ替わり情報９０１と同様に、入れ替わりが許容される２つのＩＤ、及び、粒度を含む。上記の既知入れ替わり情報９０１は、直近のＳ８０５で被教示入れ替わり情報９０２が取得される前に、図８のＳ８０５で取得された情報である。
既知入れ替わり情報９０１と被教示入れ替わり情報９０２とに含まれる入れ替わり情報は、図８のＳ８０５で取得された情報であり、入れ替わりテキストボックス５０８ａ、５０８ｂに入力された情報である。Ｓ８０５で入れ替わり情報を取得する処理は、基本パターンからの作業や動作の入れ替わり情報を受け付ける受付処理の一例である。
【００３５】
入れ替わりパターン情報９０３は、入れ替わりパターンを１つ以上含む。入れ替わりパターンには、既に説明した既知入れ替わりパターンと未実行入れ替わりパターンとがある。未実行入れ替わりパターン生成については、図１０の説明において後述する。入れ替わりパターン情報９０３は、入れ替わりパターン毎に、入れ替わりパターンＩＤと、入れ替わりパターンの内容と、入れ替わりパターンの属性とを含む。入れ替わりパターンの内容は、作業及び動作の順序を表す。入れ替わりパターンの属性には、既知入れ替わりパターンを表す“既知”、又は、未実行入れ替わりパターンを表す“未実行”が指定される。入れ替わりパターン情報９０３は、記憶部１０２に記憶されている。
【００３６】
入れ替わりパターン登録処理の出力データは、図９（ｄ）に示す更新後の既知入れ替わり情報９０４、及び、図９（ｅ）に示す更新後の入れ替わりパターン情報９０５である。
更新後の既知入れ替わり情報９０４は、図９（ａ）の既知入れ替わり情報９０１と同様に、入れ替わり情報毎に、入れ替わりが許容される２つのＩＤ、及び、粒度を含む。
更新後の入れ替わりパターン情報９０５は、図９（ｃ）に示す入れ替わりパターン情報９０３と同様に、入れ替わりパターン毎に、入れ替わりパターンＩＤと、入れ替わりパターンの内容と、入れ替わりパターンの属性とを含む。
【００３７】
次に、図１０を参照して、入れ替わりパターン登録処理について説明する。図１０は、入れ替わりパターン登録処理の一例を示すフローチャートである。入れ替わりパターン登録処理では、新たに教示された被教示入れ替わり情報に基づき、既存の既知入れ替わり情報、及び、入れ替わりパターン情報を更新する。以降の説明では、例えば作業ＩＤが“Ａ”の作業と作業ＩＤが“Ｂ”の作業との入れ替わりを「作業Ａ＜−＞作業Ｂ」のように表す。また、動作ＩＤが“ａ”の動作と動作ＩＤが“ｂ”の動作との入れ替わりを「動作ａ＜−＞動作ｂ」のように表す。
【００３８】
Ｓ１００１において、入れ替わりパターン登録部２０３は、既知入れ替わり情報９０１と被教示入れ替わり情報９０２とに基づいて、既知入れ替わりパターンを生成する。既知入れ替わりパターンは、基本パターンの一部を入れ替えたパターンである。より具体的には、入れ替わりパターン登録部２０３は、既知入れ替わり情報９０１に含まれる１件の入れ替わり情報毎に、この入れ替わり情報に基づいて、基本パターンの作業又は動作の一部を入れ替えることで、１件の既知入れ替わりパターンを生成する。また、入れ替わりパターン登録部２０３は、被教示入れ替わり情報９０２に基づいて、基本パターンの作業又は動作の一部を入れ替えることで、既知入れ替わりパターンを生成する。例えば、入れ替わりパターン登録部２０３は、図９（ａ）の既知入れ替わり情報９０１に含まれる入れ替わり情報に基づいて基本パターンの一部を入れ替えることで、図９（ｅ）の入れ替わりパターンＩＤが“１”の既知入れ替わりパターンを生成する。また、入れ替わりパターン登録部２０３は、図９（ｂ）の被教示入れ替わり情報９０２に基づいて基本パターンの一部を入れ替えることで、図９（ｅ）の入れ替わりパターンＩＤが“２”の既知入れ替わりパターンを生成する。
【００３９】
Ｓ１００２において、入れ替わりパターン登録部２０３は、未実行入れ替わりパターンを生成する。未実行入れ替わりパターンは、複数の既知入れ替わりパターンに対して行われた基本パターンからの作業や動作の入れ替えを、基本パターンに対して行ったパターンである。より具体的には、未実行入れ替わりパターンは、既知入れ替わり情報９０１、及び、被教示入れ替わり情報９０２において独立した入れ替わりの組み合わせによって実現するパターンである。
【００４０】
既知入れ替わり情報９０１、及び、被教示入れ替わり情報９０２に、「作業Ａ＜−＞作業Ｂ」と「作業Ｃ＜−＞作業Ｄ」とが含まれる場合、この組み合わせは、共通する作業がないため独立している。したがって、「作業Ａ＜−＞作業Ｂ」かつ「作業Ｃ＜−＞作業Ｄ」が未実行入れ替わりとして許容される。そこで、入れ替わりパターン登録部２０３は、基本パターンに対して、「作業Ａ＜−＞作業Ｂ」かつ「作業Ｃ＜−＞作業Ｄ」の入れ替わりが行われたパターンを未実行入れ替わりパターンとして生成する。図９の例では、入れ替わりパターン登録部２０３は、既知入れ替わり情報９０１と被教示入れ替わり情報９０２とに基づいて基本パターンを入れ替えることで、図９（ｅ）の入れ替わりパターンＩＤが“３”の未実行入れ替わりパターンを生成する。
既知入れ替わり情報９０１、及び、被教示入れ替わり情報９０２に、「作業Ａ＜−＞作業Ｂ」と「作業Ｂ＜−＞作業Ｃ」とが含まれる場合、この組み合わせは、作業Ｂが共通しているため、独立しているとはいえない。したがって、「作業Ａ＜−＞作業Ｂ」かつ「作業Ｂ＜−＞作業Ｃ」は、未実行入れ替わりとして許容されない。ここで説明した未実行入れ替わりパターンの例は、複数の既知入れ替わりパターンに対して行われた基本パターンからの作業や動作の入れ替えのうち、異なる作業や動作についての入れ替えを基本パターンに対して行ったパターンである。
【００４１】
また、粒度が異なる場合は、独立しているものと扱う。本実施形態では、作業と動作とは粒度が異なる。このため、既知入れ替わり情報９０１、及び、被教示入れ替わり情報９０２に、「作業Ａ＜−＞作業Ｂ」と「動作ａ＜−＞動作ｂ」とが含まれる場合、この組み合わせは、粒度が異なるため、独立している。したがって、「作業Ａ＜−＞作業Ｂ」かつ「動作ａ＜−＞動作ｂ」が未実行入れ替わりとして許容される。そこで、入れ替わりパターン登録部２０３は、基本パターンに対して、「作業Ａ＜−＞作業Ｂ」かつ「動作ａ＜−＞動作ｂ」の入れ替わりが行われたパターンを未実行入れ替わりパターンとして生成する。ここで説明した未実行入れ替わりパターンは、複数の既知入れ替わりパターンに対して行われた基本パターンからの作業や動作の入れ替えのうち、異なる粒度の作業や動作についての入れ替えを基本パターンに対して行ったパターンである。
Ｓ１００１及びＳ１００２の処理は、生成処理の一例である。
【００４２】
Ｓ１００３において、入れ替わりパターン登録部２０３は、既知入れ替わり情報９０１に被教示入れ替わり情報９０２を追加して、更新後の既知入れ替わり情報９０４を生成する。そして、入れ替わりパターン登録部２０３は、生成した既知入れ替わり情報９０４を記憶部１０２に記憶する制御を行うことで、記憶部１０２の既知入れ替わり情報を更新する。
Ｓ１００４において、入れ替わりパターン登録部２０３は、Ｓ１００１で生成した既知入れ替わりパターンとＳ１００２で生成した未実行入れ替わりパターンとを含む更新後の入れ替わりパターン情報９０５を生成する。そして、入れ替わりパターン登録部２０３は、生成した入れ替わりパターン情報９０５を記憶部１０２に記憶する制御を行うことで、記憶部１０２の入れ替わりパターン情報を更新する。
図１０の処理は、入れ替わり教示ボタン５０７が選択されて入れ替わりテキストボックス５０８ａと５０８ｂを介して被教示入れ替わり情報９０２が受け付けられる毎に実行される。そして、図１０の処理で、既知入れ替わりパターンと未実行入れ替わりパターンとが更新されていく。
【００４３】
以上説明したように、本実施形態によれば、ユーザから受け付けた作業や動作の入れ替わりの情報を用いて、未実行入れ替わりパターンを生成する。また、画像処理装置１００は、基本パターン、既知入れ替わりパターン、未実行入れ替わりパターンを含む標準パターンを使用して作業抜けを検知する。よって、各作業や動作の入れ替わりが生じていても、その入れ替わりに応じた標準パターンを用いて、作業抜けを検知することができる。したがって、入れ替わりが生じても精度を落とすことなく作業抜けを検知することができる。
また、ユーザは、作業や動作の入れ替わりの情報を全て入力しなくても、画像処理装置１００が、基本パターン、及び、既知入れ替わりパターンから想定される未実行入れ替わりパターンを生成する。したがって、ユーザが煩雑な入力作業を行うことなく、簡易かつ高精度に作業抜けを検知することができる。
また、仮に画像処理装置１００が、作業や動作の全ての入れ替わりを許容してしまうと、入れ替わりパターンの増加に伴って作業抜けの検知漏れが増加するおそれがある。一方、本実施形態の画像処理装置１００では、ユーザから受け付けた作業や動作の入れ替わりの情報を用いて、未実行の入れ替わりパターンを生成する。したがって、作業抜けの検知漏れの増加を抑えることができる。
【００４４】
＜第２の実施形態＞
次に、第２の実施形態について説明する。以下に記載する第２の実施形態の説明では、上記の第１の実施形態と共通する事項について説明を省略し、上記の第１の実施形態と異なる事項についての説明を行う。また、第１の実施形態と同様の点については、第１の実施形態と同じ符号を付しており、その詳細な説明は省略する。
第１の実施形態において、入れ替わり登録するために、ユーザは作業抜け候補を一つ一つ確認する必要がある。第２の実施形態では、このユーザの確認作業の負担を軽減できる。
【００４５】
図１１を参照して、第２の実施形態の入れ替わりパターン登録処理について説明する。図１１は、入れ替わりパターン登録処理の一例を示すフローチャートである。
図１１のＳ１１０１からＳ１１０４は、図１０のＳ１００１からＳ１００４と同様である。
Ｓ１１０５において、入れ替わりパターン登録部２０３は、作業抜け候補一覧５０９に含まれる作業抜け候補の全てについて、Ｓ１１０６からＳ１１０８までの処理（作業抜け候補毎処理）が実施されたか否かを判定する。入れ替わりパターン登録部２０３は、作業抜け候補の全てについて作業抜け候補毎処理が実施されたと判定した場合、図１１の入れ替わりパターン登録処理を終了する。入れ替わりパターン登録部２０３は、作業抜け候補の全てについては作業抜け候補毎処理が実施されていないと判定した場合、作業抜け候補一覧５０９から、作業抜け候補毎処理が実施されていない作業抜け候補を選択して、処理をＳ１１０６に進める。Ｓ１１０５で選択された作業抜け候補を、選択作業抜け候補と呼ぶ。
【００４６】
Ｓ１１０６において、作業抜け検知部２０２は、Ｓ１１０４で更新した入れ替わりパターン情報を用いて、選択作業抜け候補に対応する観測データ（動画像４０１、デプス動画像４０２）における作業抜けを再び検知する。具体的な検知方法は、図６の作業抜け検知処理と同様である。ここでの再検知では、更新した入れ替わりパターン情報が使われる。したがって、更新内容と同様の作業や動作の入れ替わりが発生していても、高精度に作業抜けを検知できる。Ｓ１１０６の処理は、第２の検知処理の一例である。
Ｓ１１０７において、作業抜け検知部２０２は、Ｓ１１０６で作業抜けを検知した場合、処理をＳ１１０９に進める。作業抜け検知部２０２は、Ｓ１１０６で作業抜けを検知しなかった場合、処理をＳ１１０８に進める。
Ｓ１１０８において、表示制御部２０６は、図５の作業抜け候補一覧５０９から、選択作業抜け候補を削除する。ここで削除される作業抜け候補については、ユーザの確認は不要となる。
Ｓ１１０９において、入れ替わりパターン登録部２０３は、処理をＳ１１０５に戻す。
【００４７】
以上説明したように、第２の実施形態によれば、更新後の入れ替わりパターンを用いて作業抜け検知を再び実施し、作業抜けが検知された作業抜け候補を作業抜け候補一覧５０９から削除する。よって、削除した作業抜け候補をユーザが確認する必要がない。したがって、ユーザの負担を軽減できる。また、第１の実施形態と同様に、簡易かつ高精度に作業抜けが発生したか否かを判定することができる。
【００４８】
＜第３の実施形態＞
次に、第３の実施形態について説明する。以下に記載する第３の実施形態の説明では、上記の第１、第２の実施形態と共通する事項について説明を省略し、上記の第１、第２の実施形態と異なる事項についての説明を行う。また、第１、第２の実施形態と同様の点については、第１、第２の実施形態と同じ符号を付しており、その詳細な説明は省略する。
第１、第２の実施形態では、図１０や図１１の入れ替わりパターン登録処理で、ユーザが指定した入れ替わり情報に対応する既知入れ替わりパターン及び未実行入れ替わりパターンを全て登録する。しかし、入れ替わり情報が増えるにしたがって、既知入れ替わりパターン及び未実行入れ替わりパターンの数が増加し、作業抜けの検知漏れが発生しやすくなる。もしも入れ替わり情報を追加しようとした際に検知漏れが増加する可能性が高いことを発見できれば、工程のレイアウト変更や検知エリアの設定変更といった手段によって入れ替わり登録に伴う検知漏れを未然に防止できる。第３の実施形態では、入れ替わり情報を追加する際の検知漏れ率を試算し、検知漏れが増加する場合に警告する。
第３の実施形態の画像処理装置１００は、図２に示す各部に加えて、漏れ率処理部を有する。漏れ率処理部は、次に説明するように、検知漏れ率の算出等、検知漏れ率に関する処理を行う。
【００４９】
図１２を参照して、第３の実施形態の入れ替わりパターン登録処理について説明する。図１２は、入れ替わりパターン登録処理の一例を示すフローチャートである。
図１２のＳ１２０１からＳ１２０４は、図１０のＳ１００１からＳ１００４と同様である。
Ｓ１２０５において、漏れ率処理部は、作業抜けが発生している観測データを記憶部１０２から取得する。漏れ率処理部は、記憶部１０２に記憶された観測データが、作業抜けが発生している観測データであるか否かの判定に、観測データのメタデータに含まれる観測データの属性を使用する。観測データの属性は、既に説明したように、ユーザの指示に基づいた教示対象の情報である。作業抜けが発生している観測データを作業抜け観測データとも呼ぶ。
【００５０】
Ｓ１２０６において、漏れ率処理部は、Ｓ１２０５で取得した作業抜け観測データの全てについて、Ｓ１２０７の処理（作業抜け毎処理）が実施されたか否かを判定する。漏れ率処理部は、作業抜け観測データの全てについて作業抜け毎処理が実施されたと判定した場合、処理をＳ１２０９に進める。漏れ率処理部は、作業抜け観測データの全てについては作業抜け毎処理が実施されていないと判定した場合、Ｓ１２０５で取得した作業抜け観測データから、作業抜け毎処理が実施されていない作業抜け観測データを選択して、処理をＳ１２０７に進める。Ｓ１２０６で選択された作業抜け観測データを、選択作業抜け観測データと呼ぶ。
【００５１】
Ｓ１２０７において、漏れ率処理部は、Ｓ１２０４で更新した入れ替わりパターン情報を用いて、選択作業抜け観測データに、作業抜けが発生しているか否かを判定する。具体的な判定方法は、図６の作業抜け検知処理と同様である。ここでの判定では、更新した入れ替わりパターン情報が使われる。したがって、過去に正しく作業抜けと判定できた観測データを入力しても、入れ替わりパターン情報を更新しているため、検知漏れが発生する可能性がある。
Ｓ１２０８において、漏れ率処理部は、処理をＳ１２０６に戻す。
【００５２】
Ｓ１２０９において、漏れ率処理部は、検知漏れ率を算出する。検知漏れ率は、例えば、「（Ｓ１２０７で作業抜けが検知されなかった観測データの数）／（Ｓ１２０５で取得した観測データの数）」である。Ｓ１２０９の処理は、検知漏れ率を推定する推定処理の一例である。
Ｓ１２１０において、漏れ率処理部は、Ｓ１２０９で算出した検知漏れ率が第３の閾値以上か否かを判定する。漏れ率処理部は、検知漏れ率が第３の閾値以上の場合、処理をＳ１２１１に進め、検知漏れ率が第３の閾値未満の場合、処理をＳ１２１２に進める。
Ｓ１２１１において、漏れ率処理部は、検知漏れが増加する旨をユーザに警告する。漏れ率処理部は、検知漏れ増加の警告を、例えばメールやディスプレイ、音声での通知等によって実現する。Ｓ１２１１でユーザに警告する処理は、警告を通知する通知処理の一例である。また、入れ替わりパターン登録部２０３は、警告に対しユーザからパターン削除の指示があった場合、記憶部１０２に記憶された入れ替わりパターン情報を、Ｓ１２０４で更新する前の状態に戻す。入れ替わりパターン登録部２０３が入れ替わりパターン情報を、Ｓ１２０４で更新する前の状態に戻す処理は、Ｓ１２０４での更新を破棄する破棄処理の一例である。
Ｓ１２１２からＳ１２１６は、図１１のＳ１１０５からＳ１１０９と同様である。
【００５３】
以上説明したように、第３の実施形態によれば、画像処理装置１００は、過去にユーザが確認した作業抜けの観測データを用いて検知漏れ率を計算する。よって、入れ替わりパターンの増加に伴う検知漏れの増加を、ユーザが事前に把握することができる。したがって、入れ替わりの登録に伴う検知漏れの増加に対して、対応策を実施せずにシステムを運用させることを回避できる。このため、入れ替わりの登録に伴って検知漏れが増加する場合であっても、検知漏れが発生する前に対応策を実施することができる。また、上記の実施形態と同時に、簡易かつ高精度に作業抜けが発生したか否かを判定することができる。
【００５４】
＜第４の実施形態＞
次に、第４の実施形態について説明する。以下に記載する第４の実施形態の説明では、上記の第１、第２、第３の実施形態と共通する事項について説明を省略し、上記の第１、第２、第３の実施形態と異なる事項についての説明を行う。また、第１、第２、第３の実施形態と同様の点については、第１、第２、第３の実施形態と同じ符号を付しており、その詳細な説明は省略する。
図１３を参照して、第４の実施形態の入れ替わりパターン登録処理について説明する。図１３は、入れ替わりパターン登録処理の一例を示すフローチャートである。
【００５５】
Ｓ１３０１において、入れ替わりパターン登録部２０３は、記憶部１０２から、基本パターンと既知入れ替わりパターンとを取得する。入れ替わりパターン登録部２０３は、ユーザからの指示に基づいて、予め既知入れ替わりパターンを生成し、記憶部１０２に記憶しているものとする。
第４の実施形態では、図１３に示す基本パターン１３２０、及び、既知入れ替わりパターン１３２１を具体例として説明する。基本パターン１３２０は、１工程の作業の順序が、作業Ａ、Ｂ、Ｃの順であることを示す。また、基本パターン１３２０は、作業Ａの動作の順序が、動作ａ、ｂ、ｃ、ｄの順であり、作業Ｂの動作の順序が、動作ｅ、ｆ、ｇ、ｈの順であり、作業Ｃの動作の順序が、動作ｉ、ｊ、ｋの順であることを示す。既知入れ替わりパターン１３２１は、３つあり、それぞれ、基本パターン１３２０から一部の作業や動作が入れ替えられている。
【００５６】
Ｓ１３０２において、入れ替わりパターン登録部２０３は、Ｓ１３０１で取得した基本パターンと既知入れ替わりパターンとに基づいて、作業間入れ替えルールを抽出する。作業間入れ替えルールは、基本パターンからの作業の入れ替えを表す。基本パターンの作業の順序も１つの作業間入れ替えルールとする。
Ｓ１３０２について具体例で説明する。基本パターン１３２０と既知入れ替わりパターン１３２１とを見ると、作業の順序として、作業Ａ、Ｂ、Ｃの順と、作業Ｂ、Ａ、Ｃの順とがある。したがって、入れ替わりパターン登録部２０３は、図１３に示すように、作業間入れ替えルール１３２２として、これらを抽出する。
【００５７】
Ｓ１３０３において、入れ替わりパターン登録部２０３は、Ｓ１３０１で取得した基本パターンと既知入れ替わりパターンとに基づいて、作業内入れ替えルールを抽出する。作業内入れ替えルールは、作業毎の動作についての基本パターンからの入れ替えを表す。基本パターンの動作の順序も１つの作業内入れ替えルールとする。
Ｓ１３０３について具体例で説明する。基本パターン１３２０と既知入れ替わりパターン１３２１とを見ると、作業Ａの動作の順序として、動作ａ、ｂ、ｃ、ｄの順と、動作ａ、ｃ、ｂ、ｄの順とがある。したがって、入れ替わりパターン登録部２０３は、図１３に示すように、作業Ａについての作業内入れ替えルール１３２３として、これらを抽出する。同様に、入れ替わりパターン登録部２０３は、作業Ｂについての作業内入れ替えルール１３２４を抽出し、作業Ｃについての作業内入れ替えルール１３２５を抽出する。
【００５８】
Ｓ１３０４において、入れ替わりパターン登録部２０３は、Ｓ１３０２で抽出した作業間入れ替えルールとＳ１３０３で抽出した作業内入れ替えルールとから、ルールの組み合わせであるルール組み合わせを選択する。ルール組み合わせは、１つの作業間入れ替えルールと、作業毎に１つの作業内入れ替えルールとで構成される。ここで選択されるルール組み合わせは、図１３の処理が開始してから過去のＳ１３０４で選択されていないものとする。
Ｓ１３０５において、入れ替わりパターン登録部２０３は、Ｓ１３０４で選択したルール組み合わせに基づいて、未実行入れ替わりパターンを生成する。より具体的には、入れ替わりパターン登録部２０３は、基本パターンに対して、Ｓ１３０４で選択したルール組み合わせの作業間入れ替えルールを適用し、更に、ルール組み合わせの作業内入れ替えルールを適用することで、未実行入れ替わりパターンを生成する。
【００５９】
Ｓ１３０６において、入れ替わりパターン登録部２０３は、直近のＳ１３０５で生成した未実行入れ替わりパターンが未実行であるか否かを判定する。直近のＳ１３０５で生成した未実行入れ替わりパターンが未実行であるとは、基本パターンでなく、かつ、既知入れ替わりパターンでなく、かつ、図１３の処理が開始してからＳ１３０７で登録された未実行入れ替わりパターンではない場合のことである。入れ替わりパターン登録部２０３は、直近のＳ１３０５で生成した未実行入れ替わりパターンが未実行であると判定した場合、処理をＳ１３０７に進め、未実行ではないと判定した場合、処理をＳ１３０８に進める。
【００６０】
Ｓ１３０７において、入れ替わりパターン登録部２０３は、直近のＳ１３０５で生成した未実行入れ替わりパターンを記憶部１０２に記憶することで、未実行入れ替わりパターンを登録する。
Ｓ１３０５、Ｓ１３０７について具体例で説明する。Ｓ１３０４で選択された組み合わせの作業間入れ替えルールが、作業Ａ、Ｂ、Ｃの順であり、作業Ａの作業内入れ替えルールが動作ａ、ｂ、ｃ、ｄの順であり、作業Ｂの作業内入れ替えルールが動作ｅ、ｇ、ｆ、ｈの順であるものとする。また、作業Ｃの作業内入れ替えルールが動作ｉ、ｊ、ｋの順であるものとする。このとき、Ｓ１３０５において、入れ替わりパターン登録部２０３は、基本パターンから、作業Ａの動作を動作ａ、ｂ、ｃ、ｄの順の順にし、作業Ｂの動作を動作ｅ、ｇ、ｆ、ｈの順にした未実行入れ替わりパターンを生成する。これは、図１３の未実行入れ替わりパターン１３２６のＩＤ「１」に対応する。そして、Ｓ１３０７において、入れ替わりパターン登録部２０３は、生成した未実行入れ替わりパターンを登録する。入れ替わりパターン登録部２０３は、全ての組み合わせについてＳ１３０５からＳ１３０７の処理をすることで、最終的に、図１３の未実行入れ替わりパターン１３２６の全てが登録されることになる。
【００６１】
Ｓ１３０８において、入れ替わりパターン登録部２０３は、ルール組み合わせの全てのパターンについて、Ｓ１３０４からＳ１３０７の処理が行われたか否かを判定する。入れ替わりパターン登録部２０３は、ルール組み合わせの全てのパターンについて処理が行われたと判定した場合、図１３の入れ替わりパターン登録処理を終了する。入れ替わりパターン登録部２０３は、ルール組み合わせの全てのパターンについては処理が行われていないと判定した場合、処理をＳ１３０４に戻す。
第４の実施形態においても、第１から第３の実施形態と同様に、簡易かつ高精度に作業抜けが発生したか否かを判定することができる。
【００６２】
＜その他の実施形態＞
上記の実施形態では、ネットワークカメラ１２０と距離センサ１４０とは異なる装置であるが、ネットワークカメラ１２０と距離センサ１４０とが一体になった装置を使用してもよい。また、ネットワークカメラ１２０と距離センサ１４０の一方のみを使用してもよい。また、画像処理装置１００は、ネットワークカメラ１２０及び距離センサ１４０の少なくとも何れかの機能を有していてもよい。
また、上記の実施形態では、作業の入れ替わりに加えて動作の入れ替わりを受け付ける。しかし、作業の入れ替わりのみを受け付けるようにしてもよい。これは、例えば、図６の処理において、作業のみを検知し、動作については検知しない場合に有効である。
【００６３】
また、画像処理装置１００の制御部１０１は、作業抜け候補一覧５０９に対応する観測データに基づいて、許容される作業や動作の入れ替わりを推定してもよい。表示制御部２０６は、図５の入れ替わりテキストボックス５０８ａ、５０８ｂに、推定した作業の入れ替わりの情報を予め表示する。制御部１０１は、例えば次のように、許容される作業や動作の入れ替わりを推定する。すなわち、制御部１０１は、作業抜け候補一覧５０９に含まれる作業抜け候補毎に、作業抜け候補に対応する最近傍標準パターンを選択する。そして、制御部１０１は、選択した最近傍標準パターンと基本パターンとを比べることで、作業抜け候補一覧５０９に含まれる作業抜け候補毎に、作業や動作の入れ替わりを決定する。そして、制御部１０１は、最も多い入れ替わりを、許容される作業や動作の入れ替わりと推定する。制御部１０１は、起こりえない作業や動作の入れ替わりは、許容される作業や動作の入れ替わりと推定しないようにしてもよい。起こりえない作業や動作の入れ替わりは、例えば、予め記憶部１０２に記憶されている。
【００６４】
また、制御部１０１は、既知入れ替わりパターンと未実行入れ替わりパターンとを作業環境毎に記憶部１０２に記憶して管理してもよい。また、第１の作業環境の既知入れ替わりパターンと未実行入れ替わりパターンとを、第１の作業環境とは異なる第２の作業環境でも許容するようにしてもよい。これにより、作業環境毎に入れ替わり登録処理を実行する必要性が減少する。
また、制御部１０１は、既知入れ替わりパターンと未実行入れ替わりパターンとを作業者３０４毎に記憶部１０２に記憶して管理してもよい。また、制御部１０１は、既知入れ替わり情報９０１を作業者３０４毎に記憶部１０２に記憶して管理してもよい。これにより、作業者３０４の癖を反映した入れ替わりパターンを使用できる。
【００６５】
また、既存の工程を構成する作業の順序を入れ替えて、新たな工程が作成されることがある。また、既存の工程を構成する作業を含んだ新たな工程が作成されることがある。この場合、制御部１０１は、既存の工程の作業に含まれる動作の入れ替わりを表す既知入れ替わり情報９０１を、新たな工程の既知入れ替わりパターンの生成に使用してもよい。これにより、新たな工程において、ユーザが設定画面５０１を使って入力する作業の負担を軽減できる。
【００６６】
また、制御部１０１は、基本パターン、既知入れ替わりパターン、未実行入れ替わり毎に、状態遷移モデルを作成してもよい。状態遷移モデルは、作業や動作に状態を割り当てて、ある状態において、次の作業や動作を受け付けることで、状態を遷移させるようなモデルである。制御部１０１の作業抜け検知部２０２は、図６のＳ６１２において、状態遷移モデルを使用して作業抜けを検知してもよい。より具体的には、作業抜け検知部２０２は、状態遷移モデルに観測パターンを適用することで、作業抜けがあるか否かを判定して、作業抜けを検知してもよい。
【００６７】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６８】
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
例えば、画像処理装置１００のハードウェア構成として、ＣＰＵは複数存在してもよく、複数のＣＰＵが各装置のＨＤＤ等に記憶されているプログラムに基づき処理を実行するようにしてもよい。また、画像処理装置１００のハードウェア構成として、ＣＰＵに替えてＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を用いることとしてもよい。画像処理装置１００の機能構成の一部は、画像処理装置１００のハードウェアとして実装されてもよい。また、上記の実施形態を任意に組み合わせてもよい。
【００６９】
以上、上記の実施形態によれば、高い精度で簡易に作業抜けを検知することができる。
【符号の説明】
【００７０】
１００  画像処理装置
１２０  ネットワークカメラ
１４０  距離センサ
【図１】
2019219726.tif 000003
【図２】
2019219726.tif 000004
【図３】
2019219726.tif 000005
【図４】
2019219726.tif 000006
【図５】
2019219726.tif 000007
【図６】
2019219726.tif 000008
【図７】
2019219726.tif 000009
【図８】
2019219726.tif 000010
【図９】
2019219726.tif 000011
【図１０】
2019219726.tif 000012
【図１１】
2019219726.tif 000013
【図１２】
2019219726.tif 000014
【図１３】
2019219726.tif 000015