(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024031515
(43)【公開日】2024-03-07
(54)【発明の名称】情報処理装置、プログラム、情報処理方法及び情報処理システム
(51)【国際特許分類】
G06T 7/70 20170101AFI20240229BHJP
G06T 7/20 20170101ALI20240229BHJP
G06T 7/00 20170101ALI20240229BHJP
【FI】
G06T7/70 A
G06T7/20 300
G06T7/00 350C
【審査請求】未請求
【請求項の数】23
【出願形態】OL
(21)【出願番号】P 2022135108
(22)【出願日】2022-08-26
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】朝倉 裕子
(72)【発明者】
【氏名】郡司 謙汰
(72)【発明者】
【氏名】川上 詩音
(72)【発明者】
【氏名】鈴木 隆司
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA02
5L096BA08
5L096DA02
5L096FA67
5L096FA69
5L096HA04
5L096HA09
5L096HA11
5L096KA04
(57)【要約】
【課題】撮像部の撮像範囲内か、撮像範囲外かによらずに対象者の行動を把握することができる情報処理装置、プログラム、情報処理方法及び情報処理システムを提供する。
【解決手段】情報処理装置は、異なる複数の時点において撮像部により撮像された複数の画像を取得し、取得した複数の画像の各々において対象者が写っているか否かを判定し、対象者が写っていると判定された各画像に対応する対象者の位置を導出し、複数の画像のうち、或る期間に撮像された画像に対象者が写っていないと判定された場合には、期間の直前に撮像された第1画像に写っている対象者の位置に係る第1情報、期間の直後に撮像された第2画像に写っている対象者の位置に係る第2情報、及び期間の長さに係る第3情報に基づいて、上記の期間において対象者がいた場所を推定する、処理部を備える。
【選択図】
図10
【特許請求の範囲】
【請求項1】
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者がいた場所を推定する、
処理部を備える情報処理装置。
【請求項2】
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者が所定の場所にいたかを判定する、
処理部を備える情報処理装置。
【請求項3】
前記処理部は、
前記第1情報、前記第2情報、及び前記第3情報を機械学習モデルに入力することによって、前記期間において前記対象者がいた場所を推定し、
前記機械学習モデルは、或る期間の直前における或る対象者の位置に係る情報、前記或る期間の直後における前記或る対象者の位置に係る情報、及び前記或る期間の長さに係る情報を入力することによって、前記或る期間において前記或る対象者がいた場所の推定結果を出力するように機械学習されたものである、
請求項1に記載の情報処理装置。
【請求項4】
前記処理部は、
前記対象者が写っていると判定された各画像に基づいて、当該画像の撮像時において前記対象者が行っていた作業を推定し、
前記第1情報、前記第2情報、及び前記第3情報に基づいて、前記期間において前記対象者が行っていた作業を推定する、
請求項1に記載の情報処理装置。
【請求項5】
前記処理部は、
前記第1情報、前記第2情報、及び前記第3情報を機械学習モデルに入力することによって、前記期間において前記対象者が行っていた作業を推定し、
前記機械学習モデルは、或る期間の直前における或る対象者の位置に係る情報、前記或る期間の直後における前記或る対象者の位置に係る情報、及び前記或る期間の長さに係る情報を入力することによって、前記或る期間において前記或る対象者が行っていた作業の推定結果を出力するように機械学習されたものである、
請求項4に記載の情報処理装置。
【請求項6】
前記処理部は、前記第1情報、前記第2情報、及び前記第3情報に基づいて、前記期間における前記対象者の移動経路をさらに推定する、
請求項1に記載の情報処理装置。
【請求項7】
前記処理部は、
前記複数の画像の各々において、複数の前記対象者が身に付けている識別標識を検出し、
前記識別標識の検出結果に基づいて、前記複数の画像の各々において前記対象者が写っているか否かの判定、及び、写っている前記対象者の位置の導出を、前記複数の対象者の各々について行う、
請求項1に記載の情報処理装置。
【請求項8】
前記処理部は、前記複数の画像に基づいて導出された前記対象者の位置、及び推定された前記対象者の場所を示す地図を出力部に出力させる、
請求項1に記載の情報処理装置。
【請求項9】
前記処理部は、前記複数の画像に基づく前記対象者の位置の推移、及び前記場所の推定結果に基づいて、前記対象者の各位置における滞在時間を表すヒートマップを出力部に出力させる、
請求項1に記載の情報処理装置。
【請求項10】
前記処理部は、前記複数の画像に基づく前記対象者の位置の推移、及び前記場所の推定結果に基づいて、前記対象者の、時間帯ごとの所定の場所における滞在時間に係る情報を出力部に出力させる、
請求項1に記載の情報処理装置。
【請求項11】
前記処理部は、前記複数の画像に基づく前記対象者の位置の推移、及び前記場所の推定結果に基づいて、前記対象者の、時間帯ごとの運動量に係る情報を出力部に出力させる、
請求項1に記載の情報処理装置。
【請求項12】
前記処理部は、前記作業の推定結果に基づいて、前記対象者が各時間帯において行っていた作業の割合に係る情報を出力部に出力させる、
請求項4又は5に記載の情報処理装置。
【請求項13】
前記処理部は、前記複数の画像に基づく前記対象者の位置の推移、及び前記場所の推定結果に基づいて、前記対象者の、各時間帯において最も長く滞在した場所に係る情報を出力部に出力させる、
請求項1に記載の情報処理装置。
【請求項14】
前記処理部は、前記作業の推定結果に基づいて、前記対象者が行った作業の履歴に係る情報を出力部に出力させる、
請求項4又は5に記載の情報処理装置。
【請求項15】
前記処理部は、前記複数の画像に基づく前記対象者の位置の推移、及び前記場所の推定結果に基づいて、前記対象者の、或る2地点間における部材の運搬回数及び運搬時間の少なくとも一方に係る情報を出力部に出力させる、
請求項1に記載の情報処理装置。
【請求項16】
前記処理部は、前記作業の推定結果に基づいて、前記対象者が行った作業の作業時間に係る情報を出力部に出力させる、
請求項4又は5に記載の情報処理装置。
【請求項17】
前記処理部は、
前記撮像部により撮像された複数の画像を動画として取得し、
前記複数の画像に基づく前記対象者の位置の推移、及び前記場所の推定結果に基づいて、前記対象者による作業の異常を検出し、
前記撮像部により撮像された前記対象者の動画のうち、前記異常が生じた時点の動画を出力部に出力させる、
請求項1に記載の情報処理装置。
【請求項18】
コンピュータに、
異なる複数の時点において撮像部により撮像された複数の画像を取得する処理、
取得した前記複数の画像の各々において対象者が写っているか否かを判定する処理、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出する処理、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者がいた場所を推定する処理、
を実行させるプログラム。
【請求項19】
コンピュータに、
異なる複数の時点において撮像部により撮像された複数の画像を取得する処理、
取得した前記複数の画像の各々において対象者が写っているか否かを判定する処理、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出する処理、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者が所定の場所にいたかを判定する処理、
を実行させるプログラム。
【請求項20】
コンピュータが実行する情報処理方法であって、
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者がいた場所を推定する、
情報処理方法。
【請求項21】
コンピュータが実行する情報処理方法であって、
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者が所定の場所にいたかを判定する、
情報処理装置方法。
【請求項22】
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者がいた場所を推定する、
処理部を備える情報処理システム。
【請求項23】
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者が所定の場所にいたかを判定する、
処理部を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、プログラム、情報処理方法及び情報処理システムに関する。
【背景技術】
【0002】
従来、カメラ等の撮像部により撮像された作業現場の撮像画像から、対象者が作業現場のどの位置にいるか判定する技術が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、作業現場を撮像する撮像部の撮像範囲から外れた対象者に対しては、上記技術は機能しないという問題があった。
【0005】
この発明は、撮像部の撮像範囲内か、撮像範囲外かによらずに対象者の行動を把握できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係る情報処理装置は、
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者がいた場所を推定する、
処理部を備える。
【0007】
上記課題を解決するため、本発明に係る情報処理装置は、
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者が所定の場所にいたかを判定する、
処理部を備える。
【0008】
上記課題を解決するため、本発明に係るプログラムは、
コンピュータに、
異なる複数の時点において撮像部により撮像された複数の画像を取得する処理、
取得した前記複数の画像の各々において対象者が写っているか否かを判定する処理、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出する処理、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者がいた場所を推定する処理、
を実行させる。
【0009】
上記課題を解決するため、本発明に係るプログラムは、
コンピュータに、
異なる複数の時点において撮像部により撮像された複数の画像を取得する処理、
取得した前記複数の画像の各々において対象者が写っているか否かを判定する処理、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出する処理、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者が所定の場所にいたかを判定する処理、
を実行させる。
【0010】
上記課題を解決するため、本発明に係る情報処理方法は、
コンピュータが実行する情報処理方法であって、
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者がいた場所を推定する。
【0011】
上記課題を解決するため、本発明に係る情報処理方法は、
コンピュータが実行する情報処理方法であって、
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者が所定の場所にいたかを判定する。
【0012】
上記課題を解決するため、本発明に係る情報処理システムは、
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者がいた場所を推定する、
処理部を備える。
【0013】
上記課題を解決するため、本発明に係る情報処理システムは、
異なる複数の時点において撮像部により撮像された複数の画像を取得し、
取得した前記複数の画像の各々において対象者が写っているか否かを判定し、
前記対象者が写っていると判定された各画像に対応する前記対象者の位置を導出し、
前記複数の画像のうち、或る期間に撮像された画像に前記対象者が写っていないと判定された場合には、前記期間の直前に撮像された第1画像に写っている前記対象者の位置に係る第1情報、前記期間の直後に撮像された第2画像に写っている前記対象者の位置に係る第2情報、及び前記期間の長さに係る第3情報に基づいて、前記期間において前記対象者が所定の場所にいたかを判定する、
処理部を備える。
【発明の効果】
【0014】
本発明によれば、撮像部の撮像範囲内か、撮像範囲外かによらずに対象者の行動を把握することができる。
【図面の簡単な説明】
【0015】
【
図1】行動分析システムの機能構成を示すブロック図である。
【
図6】作業者が身に付けている識別マークを示す図である。
【
図7】識別マークのバリエーションの例を示す図である。
【
図8】座標算出部による作業者の位置の算出方法を説明する図である。
【
図9】骨格の検出結果に基づく作業の判定方法を説明する図である。
【
図10】作業者が未検出となる場合の例を示す図である。
【
図11】行動分析処理の制御手順を示すフローチャートである。
【
図12】作業判定処理の制御手順を示すフローチャートである。
【
図17】滞在時間・移動距離グラフの例を示す図である。
【
図19】代表滞在場所テーブルの例を示す図である。
【
図21】運搬回数・運搬時間グラフの例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態を図面に基づいて説明する。
【0017】
<作業分析システムの概要>
図1は、行動分析システム1の機能構成を示すブロック図である。
行動分析システム1(情報処理システム)は、行動分析装置10(情報処理装置)及びカメラ20(撮像部、撮像装置)を備える。行動分析装置10は、無線又は有線によりカメラ20と通信接続されており、行動分析装置10及びカメラ20の間で、制御信号や画像データ等のデータの送受信を行うことが可能となっている。行動分析システム1は、2以上のカメラ20を備えていてもよい。本実施形態のカメラ20は、工場の内部に設置されており、工場における生産ラインで作業をしている作業者40(対象者)の動画を撮像する。
【0018】
図2は、工場のフロア100を示す図である。
フロア100は、生産ラインが設けられた作業室2と、製品の製造に用いられる部材等が保管されている倉庫5と、作業室2及び倉庫5を繋ぐ通路6とを有する。以下では、
図2に示すXYZ直交座標系によりフロア100内の位置を表す。X軸及びY軸は、作業室2の外形がなす矩形の辺に平行である。Z軸は、鉛直方向に平行である。
【0019】
作業室2の内部は、工程エリア3及びサブエリア4に区分されている。詳しくは、サブエリア4は、作業室2のうち+X方向側の端部を占める矩形の領域であり、工程エリア3は、サブエリア4の-X方向側に隣接する矩形の領域である。工程エリア3は、作業者40が製品を製造する作業を行う場所であり、製造作業を行うための作業台50が設置されている。サブエリア4には、製品の製造に用いられる部材や設備の一時保管場所などが設けられている。通路6は、サブエリア4の+Y方向側の端部から+Y方向に延びた後に-X方向に折れて倉庫5まで延在している。倉庫5は、工程エリア3の+Y方向側に離れて位置する矩形の領域である。
【0020】
作業室2には、2つのカメラ20a、20bが設置されている。また、倉庫5には、1つのカメラ20cが設置されている。カメラ20a~20cは、互いに同期されている。すなわち、カメラ20a~20cは、同一のタイミングで撮像した画像に同一の撮像時刻が記録されるように調整されている。カメラ20a~20cは、それぞれ、カメラレンズの向きから放射線状に広がる台形の撮像範囲Ra~Rcを撮像する。
図2では、撮像範囲Ra~Rcを破線で表している。カメラ20a、20bの撮像範囲Ra、Rbは、作業室2の大部分をカバーしているが、作業室2には、カメラ20a、20bのいずれの撮像範囲にも入っていない部分がある。また、カメラ20cの撮像範囲Rcは、倉庫5のほぼ全域をカバーしている。通路6にはカメラ20が設けられていないため、通路6を通る作業者40は、いずれのカメラ20によっても撮像されない。
【0021】
フロア100では、複数の作業者40が作業を行う。各作業者40には、それぞれ行う作業が割り当てられている。例えば、或る作業者40は、工程エリア3の作業台50において、製品の製造に係る作業を行う。また、或る作業者40は、サブエリア4と倉庫5との間を往復しつつ、倉庫5に保管されている部材のうち製品の製造に必要な部材をサブエリア4に運搬する。また、或る作業者は、フロア100内の各所に設けられている図示略の設備のオペレーションを行う。
【0022】
部材の運搬や設備のオペレーション等を行う作業者40は、生産ラインを維持安定する重要な役割を担っている。しかしながら、フロア100内を動き回る作業の特性上、工程エリア3において直接製造作業を行う作業者40のように標準時間で作業を行うようになっておらず、効率よく作業が行われているか否かを判断することが極めて難しい。このため、様々な問題が発生し、非効率な作業になっている場合がある。
【0023】
本実施形態に係る行動分析システム1では、作業者40のカメラ20による撮像画像から作業者40の作業を分析しつつ、カメラ20の撮像範囲外にいる作業者40の場所や作業も推定することで、カメラ20の撮像範囲内、撮像範囲外によらず作業者40の行動を把握して分析することが可能となっている。また、カメラ20及び行動分析装置10によりリアルタイムで行動データを収集・分析することで、人手に頼らない常時又は即時の行動分析を行うことが可能となっている。
【0024】
<作業分析システムの構成>
以下、
図1を参照して行動分析装置10及びカメラ20の構成について説明する。
行動分析装置10は、処理部11(1以上の処理部、コンピュータ、制御部)と、記憶部12と、表示部13(出力部)と、通信部14などを備える。行動分析装置10の各部は、バス15を介して接続されている。
【0025】
処理部11は、CPU(Central Processing Unit)、及びRAM(Random Access Memory)などを備える。処理部11は、記憶部12に記憶されているプログラム121を読み出して実行し、各種演算処理を行うことで、行動分析装置10の動作を制御する。なお、行動分析装置10は、複数の処理部(例えば、複数のCPU)を有していてもよく、本実施形態の1つの処理部11が実行する複数の処理を、これらの複数の処理部が分担して実行してもよい。この場合において、複数の処理部が共通の処理に関与してもよいし、あるいは、複数の処理部が独立に異なる処理を並列に実行してもよい。なお、処理部11は、GPU(Graphics Processing Unit)やタイマーなどをさらに備えていてもよい。
【0026】
処理部11は、プログラム121に従って各種処理を実行することにより、マーク検出部111、骨格検出部112、作業判定部113、時刻算出部114、座標算出部115、未検出時刻算出部116、及び未検出行動推定部117などとして機能する。これらの各部の機能については後述する。
【0027】
記憶部12は、コンピュータとしての処理部11により読み取り可能な非一時的な記録媒体であり、プログラム121及び各種データを記憶する。記憶部12は、例えばHDD(Hard Disk Drive)、SSD(Solid State Drive)等の不揮発性メモリを含む。プログラム121は、コンピュータが読み取り可能なプログラムコードの形態で記憶部12に格納されている。
【0028】
記憶部12には、マーク検出モデル122、骨格検出モデル123、作業判定モデル124、及び行動推定モデル125が記憶されている。これらの機械学習モデルの詳細については後述する。
【0029】
また、記憶部12には、行動データ領域126が設けられている。行動データ領域126には、作業者40の作業及び行動の判定結果及び推定結果に係るデータ、及び当該判定結果及び推定結果に基づいて生成された各種分析データなどが記録される。また、行動データ領域126には、作業者40の行動の判定、推定及び分析に用いられる作業エリアマスタ1261、作業者マスタ1262、作業分類マスタ1263等のデータベースが含まれる。
【0030】
図3は、作業エリアマスタ1261の内容例を示す図である。
フロア100は、用途等に応じて複数の場所(エリア)に区分されている。作業エリアマスタ1261には、各場所の範囲及び名称が登録されている。
作業エリアマスタ1261の「場所ID」は、各場所に対応付けられている固有の符号である。
「開始座標」及び「終了座標」は、各場所を表すXY平面に平行な矩形の範囲の、対角線のXYZ座標を表す。なお、各場所は、必ずしも矩形でなくてもよく、例えば、凸型や凹型などであってもよい。
「作業場所名」は、各場所の名称である。
【0031】
図4は、作業者マスタ1262の内容例を示す図である。
作業者マスタ1262には、フロア100で作業を行う各作業者に割り当てられた作業場所が登録されている。
作業者マスタ1262の「マークID」は、各作業者40に対応付けられている固有の符号である。後述するように、各作業者40は、互いに異なる識別マーク60(
図6、7参照)を身に付けており、「マークID」は、当該識別マーク60のパターンから特定される。
「メイン作業場所ID」は、各作業者40が主に作業を行う場所(メイン作業場所)として割り当てられている(指示されている)作業場所の符号である。
「サブ作業場所ID」は、各作業者40が付随的な作業を行う場所(サブ作業場所)として割り当てられている(指示されている)作業場所の符号である。なお、各作業者に、2以上のサブ作業場所が割り当てられていてもよい。この場合には、作業者マスタ1262において、サブ作業場所を表す列が追加される。
「メイン作業場所ID」及び「サブ作業場所ID」の符号は、作業エリアマスタ1261の「場所ID」に対応する。
【0032】
図5は、作業分類マスタ1263の内容例を示す図である。
作業分類マスタ1263には、フロア100において複数の作業者40が行う種々の作業が分類されて登録されている。
作業分類マスタ1263の「作業ID」は、各作業に対応付けられている固有の符号である。
「作業分類」は、分類された各作業の名称である。ここでは、倉庫5等において部材を取り上げる「ピッキング」、倉庫5やサブエリア4等において部材の整理を行う「部材整理」、倉庫5等において部材の出庫を行う「出庫処理」、及び管理者や他の作業者からの相談や連絡の割り込みにより作業を中断していることを表す「相談・連絡」が例示されている。
「区分」は、各作業が属する区分を表す。本実施形態の「区分」は、主要な作業であることを表す「正味作業」、及び付随的な作業であることを表す「付随作業」のいずれかである。ここでは、「ピッキング」が「正味作業」に区分され、「部材整理」、「出庫処理」及び「相談・連絡」が「付随作業」に区分されている。
【0033】
図1に戻り、記憶部12には、画像データ領域127が設けられている。画像データ領域127は、カメラ20により撮像されてカメラ20から送信された動画に係る画像データが記録される。当該動画に係る画像データは、動画を構成する複数の撮像画像30(フレーム画像)の画像データを含む。
【0034】
表示部13は、液晶ディスプレイなどの表示装置を備え、処理部11からの表示制御信号に従って表示装置において各種表示を行う。
【0035】
通信部14は、ネットワークカード又は通信モジュール等により構成され、カメラ20や図示しない外部装置との間で所定の通信規格に従ってデータの送受信を行う。
【0036】
カメラ20は、所定のフレームレート(例えば、30fps)で動画を撮像し、その画像データを行動分析装置10に送信する。カメラ20は、カラーの動画を撮像するものであってもよいし、モノクロの動画を撮像するものであってもよい。また、カメラ20による撮像解像度は、後述する分析点41を適切に検出可能な範囲であれば特に限定されない。
【0037】
<作業分析システムの動作>
(動作の概要)
次に、行動分析システム1の動作について説明する。
行動分析システム1の行動分析装置10による、作業者40の行動の分析に関する動作の概要は、以下のとおりである。
行動分析装置10は、まず、カメラ20により撮像された動画の各撮像画像30(フレーム画像)の画像データを取得する。そして、取得した撮像画像30の画像データにおいて作業者40を検出し、作業者40を識別する。以下では、「撮像画像30の画像データ」を、単に「撮像画像30」とも記す。
次に、撮像画像30における作業者40の座標(
図8におけるxy座標)から、フロア100において作業者40が位置するXYZ座標を算出する。また、算出した作業者40の位置等に基づいて、作業者40が行っている作業を判定する。作業の判定は、後述するように作業者40の骨格データに基づいてさらに詳細に行ってもよい。
検出された作業者40が、それ以前の或る期間(以下、「未検出期間」と記す)の撮像画像30から検出されていなかった場合には、未検出期間の直前及び直後に撮像された撮像画像30に基づいて、未検出期間において作業者40がいた場所を推定する。また、推定された場所等に基づいて、未検出期間において作業者40が行っていた作業を推定する。
また、作業者40の位置の算出結果、場所の推定結果、並びに作業者40が行っていた作業の判定結果及び推定結果を、撮像画像30が撮像された時刻と対応付けて、行動データ領域126に行動データとして記録、蓄積していく。
行動データ領域126に作業データが蓄積されると、行動データに基づいて、作業者40の行動に係る各種分析を行い、分析結果に係る情報を表示部13に表示する。
以下、これらの動作の詳細について説明する。
【0038】
(作業者40の検出及び識別)
まず、作業者40の検出及び識別に係る動作について説明する。
作業者40の検出及び識別は、作業者40を撮像した撮像画像30において、作業者40が身に付けている識別マーク60a、60b(識別標識)をマーク検出モデル122により検出することにより行われる。
【0039】
図6は、作業者40が身に付けている識別マーク60a、60bを示す図である。
識別マーク60a、60bは、表面に所定のパターンが描かれた帯状の部材である。識別マーク60aは、作業者40の頭部、又は作業者40が被っている帽子に巻かれている、鉢巻き状の帯状部材である。識別マーク60bは、作業者40の上腕部に巻かれている腕章である。作業者40は、識別マーク60a、60bの少なくとも一方を装着して作業を行う。以下では、識別マーク60a、60bの任意の一方を指す場合には「識別マーク60」と記す。識別マーク60は、作業エリアを動き回る作業者40がどのような位置、向き及び姿勢であってもカメラ20に写るように、大きさ、幅、及びパターンが定められている。なお、帽子に識別マーク60aを付す場合には、帽子の側面を一周する帯状の識別マーク60aに加えて、帽子の頭頂部にも同一パターンの識別マークを付してもよい。
【0040】
図7は、識別マーク60のバリエーションの例を示す図である。
図7に示すように、本実施形態では、互いに異なるパターンが描かれた複数種類の識別マーク60が用意されている。本実施形態の識別マーク60の複数のパターンは、複数の円を含み、円の色、円の大きさ、及び円の背景の色のうちの少なくとも一部が互いに異なる。各作業者40は、パターンが互いに異なる識別マーク60を身に付ける。複数種類の識別マーク60の各々には、固有のマークID(「A」、「B」、「C」、…)が対応付けられている。なお、識別マーク60のパターンは
図7に示すものに限られず、互いに区別することが可能な任意のパターンとすることができる。
【0041】
処理部11のマーク検出部111は、取得した撮像画像30に写っている識別マーク60を検出する。詳しくは、マーク検出部111は、マーク検出モデル122を用いて識別マーク60を検出する。マーク検出モデル122は、マーク検出部111から撮像画像30の画像データが入力されると、撮像画像30に含まれる識別マーク60のパターンを認識し、撮像画像30における識別マーク60の位置(撮像画像30におけるxy座標)、及び識別マーク60のマークIDを出力する機械学習モデルである。
【0042】
なお、識別マーク60に代えて、作業者40の顔や骨格などの身体的特徴から作業者40を識別してもよい。
また、作業者40がほぼ固定の位置で作業する場合は、識別マーク60を身に付けなくても当該作業者40を特定できるため、識別マーク60を省略してもよい。
【0043】
また、処理部11の時刻算出部114は、マーク検出部111が作業者40を検出した撮像画像30の撮像時刻を算出する。リアルタイムに動画から撮像画像30を取り込んでいる場合は、時刻算出部114は、処理部11のタイマーから得た時刻を取得する。過去に撮像されて記憶部12に保存された動画の撮像画像30であれば、時刻算出部114は、撮像開始時刻からの経過時間を算出する。
【0044】
(作業者40の位置の算出)
次に、作業者40の位置を算出(導出)する動作について説明する。作業者40の位置の算出は、処理部11の座標算出部115により行われる。
図8は、座標算出部115による作業者40の位置の算出方法を説明する図である。
図8の上段は、カメラ20により撮像された動画の或る撮像画像30(フレーム画像)を表す。撮像画像30内の画素の位置は、
図8に示すx軸及びy軸を座標軸とするxy座標により表される。
図8の下段は、上段の撮像画像30の撮像時におけるフロア100(ここでは、作業室2)を+Z方向から見た図に相当する。
図8の上段における撮像画像30には、下段における台形状の撮像範囲Raが写っている。
【0045】
座標算出部115は、まず、撮像画像30における作業者40の位置座標p(x,y)を特定する。次に、座標算出部115は、撮像画像30における作業者40の位置座標p(x,y)を、フロア100におけるXYZ座標系に変換(ホモグラフィ変換)し、
図8の下段に示す作業者40の位置座標P(X,Y,X)を算出する。Z座標は、フロア100の階数(1階、2階、…)を表すこととしてもよい。
【0046】
(作業者40の作業の判定)
次に、撮像画像30に写っている作業者40の作業を判定する動作について説明する。作業の判定は、処理部11の作業判定部113により行われる。
作業判定部113は、例えば、座標算出部115により算出された作業者40の位置座標P、及び当該位置座標Pが属する作業場所に基づいて、当該作業場所に対応する作業(当該作業場所にいる作業者40が行う作業として予め定められている作業)を、作業者40が行っている作業として判定する。例えば、作業者40が倉庫5にいる場合には、部材の「ピッキング」の作業を行っていると判定してもよい。また、作業判定部113は、撮像画像30に基づいて、作業者40が部材等を持っているか否かを判定し、当該判定の結果を作業の判定に反映させてもよい。例えば、作業者40が倉庫5にいる場合において、作業者40が部材を持っている場合には「ピッキング」の作業を行っていると判定し、部材を持っていない場合には「部材整理」の作業を行っていると判定してもよい。
【0047】
また、作業判定部113は、撮像画像30から検出された作業者40の骨格の動きに基づいて作業を判定してもよい。以下、この場合の判定方法について詳細に説明する。
【0048】
図9は、骨格の検出結果に基づく作業の判定方法を説明する図である。
作業者40の骨格の検出は、処理部11の骨格検出部112により行われる。骨格検出部112は、撮像画像30の画像データのうち、検出した作業者40に対応する部分を骨格検出モデル123に入力することで、作業者40の骨格を検出する。骨格検出モデル123は、骨格検出部112から、撮像画像30の画像データのうち作業者40に対応する部分が入力されると、作業者40の複数の部位に対応する複数の分析点41を検出し、分析点41の位置(座標)を出力する機械学習モデルである。これらの分析点41から、分析点41を繋ぐ軸線42を特定し、後述する作業の判定において当該軸線42の情報をさらに加味してもよい。撮像画像30において複数の作業者40が検出されている場合には、骨格検出部112は、作業者40ごとに骨格を検出する。
【0049】
図9には、分析点41及び軸線42の例が示されている。本実施形態においては、作業者40の18箇所の部位(複数の部位)についてそれぞれ分析点41が検出される。18箇所の部位は、例えば、両目、両耳、鼻、のど、両肩、両肘、両手、左右の脚の付け根、両膝、両足首である。ただし、分析点41の位置及び数はこれに限定されない。上記の18箇所の部位のうち、撮像画像30に写っていない部位については分析点41の検出が省略される。
【0050】
本明細書では、作業者40の複数の分析点41を検出することを、「骨格の検出」と記し、検出された分析点41の座標を含むデータを「骨格データd」(
図9の骨格データd1~d7)と記す。骨格データdには、軸線42の位置、長さ及び向きの情報が含まれていてもよい。
【0051】
作業判定部113は、骨格データdに基づいて作業の判定を行う。作業判定部113は、最新の所定フレーム数の撮像画像30からなる撮像画像群30Gにおける、各撮像画像30についての骨格データdを、作業判定モデル124に入力する。本実施形態においては、所定フレーム数は「6」である。作業判定部113は、例えば
図9の上段に示すように、撮像画像群30Gを構成する1~6フレームの撮像画像30から、骨格データd1~d6を取得し、これらを結合して骨格データ結合Dを生成する。作業判定部113は、この骨格データ結合Dを作業判定モデル124に入力する。なお、「所定フレーム数」は、5フレーム以下、又は7フレーム以上であってもよい。
【0052】
作業判定モデル124は、或る撮像画像群30Gの各撮像画像30から抽出された複数の分析点41を入力することによって、当該或る画像群に含まれるいずれかの撮像画像30の撮像時において作業者40が行っていた作業の判定結果を出力するように機械学習された機械学習モデルである。よって、作業判定部113から骨格データ結合D(撮像画像群30Gから検出された複数の分析点41の情報)が作業判定モデル124に入力されると、作業判定モデル124は、撮像画像群30Gにおける複数の分析点41の時系列変化に基づいて、製品を製造するための工程に含まれる複数の作業のうち、撮像画像群30Gに含まれるいずれかの撮像画像30の撮像時において作業者40が行っていた作業を判定する。本実施形態では、作業判定モデル124は、撮像画像群30Gに含まれる複数の撮像画像30のうち、最後に撮像された(最新の)撮像画像30の撮像時において作業者40が行っていた作業を判定する。なお、作業判定モデル124は、撮像画像群30Gに含まれる、最後の撮像画像30以外のいずれかの撮像画像30(例えば、中間の撮像画像30や、最初の撮像画像30)の撮像時において作業者40が行っていた作業を判定してもよい。
【0053】
作業判定モデル124のコアとなる判定ロジックには、LSTM(Long Short Term Memory)が用いられている。LSTMは、ディープニューラルネットワークのアルゴリズムの一つであり、ネットワーク内部での短期記憶を長期間活用可能な構造を持つ。よって、LSTMを用いることで、過去の時系列データを加味して作業を判定することができる。本実施形態のLSTMは、6フレーム分の骨格データdからなる骨格データ結合Dを学習データとして、作業者40の作業の判定結果(例えば、作業ID)を出力するように機械学習されている。
【0054】
また、6フレーム分の撮像画像30のうち一部で骨格が検出されなかった場合には、当該撮像画像30についての骨格データdを、骨格に係る情報を含まない未検出データ(ブランクデータ、ダミーデータ)としても、作業判定モデル124は、残りのフレームの骨格データdから作業を判定できるようになっている。
図9の上段に示す例では、骨格データd3、d5が未検出データとなっているが、残りの骨格データd1、d2、d4、d6から作業を判定することができる。
【0055】
図9の上段に示すように、1~6フレームの撮像画像30からなる撮像画像群30Gに基づいて、6フレーム目の撮像画像30の撮像時における作業者40の作業が判定されると(N回目の判定とする)、次のフレームでは、
図9の下段に示すように、2~7フレームの撮像画像30からなる撮像画像群30Gに基づいて、7フレーム目の撮像画像30の撮像時における作業者40の作業が判定される(N+1回目の判定とする)。すなわち、N回目の作業の判定に用いた撮像画像群30Gのうち、最も古い撮像画像30(1フレーム目)が除外されるとともに、最新の撮像画像30(7フレーム目)が撮像画像群30Gに加えられる。そして、2~7フレームの撮像画像30からそれぞれ骨格データd2~d7が取得され、骨格データ結合Dが生成されて、作業判定モデル124に入力される。このように、作業判定部113及び作業判定モデル124は、構成する骨格データdを所定数のフレームずつ(本実施形態では、1フレームずつ)シフトさせた骨格データ結合Dに基づいて、各回の作業を判定する。言い換えると、作業判定部113及び作業判定モデル124は、構成する撮像画像30を所定フレームずつシフトさせた撮像画像群30Gに基づいて、各回の作業を判定する。1フレームごとに作業の判定を行うことで、判定のロバスト性が期待できる。
【0056】
また、作業判定モデル124は、その学習時にも、作業の判定時と同様に、構成する骨格データdを所定数のフレームずつ(本実施形態では、1フレームずつ)シフトさせた複数の骨格データ結合Dを学習データとして機械学習されている。言い換えると、作業判定モデル124は、構成する撮像画像30を所定数のフレームずつシフトさせた複数の撮像画像群30Gからそれぞれ生成した骨格データ結合Dを学習データとして用いて機械学習されている。このように、学習データ群自体についてもデータ間で時系列的な特徴を持たせ、このデータ群を学習させることで、時系列的な変化に対し分類精度を高めている。
すなわち、時系列変化に基づく判定を行うLSTMを用いるとともに、LSTMの学習データにも時系列的な特徴をもたせることで、2重の時系列的変化への対応により分類精度を高めている。
【0057】
なお、上記の「所定数のフレーム」は、1フレームに限られず、2フレーム以上としてもよい。
また、LSTMに代えて、RNN(回帰型ニューラルネットワーク)やTransformerなどの、時系列データを加味した判定(推定)を行うことが可能な他の判定ロジックを用いてもよい。
【0058】
(未検出の作業者40の行動の推定)
次に、未検出期間において未検出であり、その後、撮像画像30において検出された作業者40の、未検出期間における行動を推定する動作について説明する。未検出の作業者40の行動の推定は、処理部11の未検出時刻算出部116及び未検出行動推定部117により行われる。行動の推定は、未検出の作業者40が未検出期間に所定の場所にいたか否かの判定を含んでいてもよい。また、行動の推定は、未検出の作業者40が未検出期間にいた場所の推定を含んでいてもよい。さらに、行動の推定は、未検出期間において作業者40が行っていた作業の推定を含んでいてもよい。ここで、判定又は推定される「場所」は、例えば、作業エリアマスタ1261において登録されている作業場所のいずれかであってもよい。作業者40が未検出期間にいた場所の推定は、作業者40が未検出期間にいた座標の推定を含んでいてもよい。
【0059】
図10は、作業者40が未検出となる場合の例を示す図である。
図10では、作業者40がサブエリア4内の位置P1から、通路6内の位置P2、P3、P4を通って倉庫5内の位置P5まで移動した場合が例示されている。以下では、作業者40が位置P1~P5にいた時刻を、それぞれ時刻T1~T5とする。このうち時刻T1は、作業者40が通路6に入る直前であるものとする。また、時刻T2は、作業者40が通路6に入った直後であるものとする。また、時刻T4は、作業者40が倉庫5に入る直前であるものとする。また、時刻T5は、作業者40が倉庫5に入った直後であるものとする。
【0060】
図10に示すように、サブエリア4内の位置P1は、カメラ20bの撮像範囲Rbに含まれるため、時刻T1において位置P1にいる作業者40は、カメラ20bにより撮像される。以下では、時刻T1においてカメラ20bにより撮像された撮像画像30を、第1撮像画像301と記す。
図10では、便宜上、カメラ20bによる撮影範囲Rbにより第1撮像画像301を表している。また、倉庫5内の位置P5は、カメラ20cの撮像範囲Rcに含まれるため、時刻T5において位置P5にいる作業者40は、カメラ20cにより撮像される。以下では、時刻T5においてカメラ20cにより撮像された撮像画像30を、第2撮像画像302と記す。
図10では、便宜上、カメラ20cによる撮影範囲Rcにより第2撮像画像302を表している。一方、通路6内の位置P2~P4は、いずれのカメラ20の撮像範囲にも入っていないため、通路6を通っている時刻T2~T4の間、作業者40は、いずれのカメラ20にも撮像されない。
【0061】
この例において、カメラ20cにより時刻T5において撮像された第2撮像画像302から、位置P5にいる作業者40が検出されたものとする。この作業者40は、これより前の一定期間(通路6を移動していた時刻T2~T4の期間)には、いずれのカメラ20による撮像画像30からも検出されない。そこで、未検出時刻算出部116は、まず、当該作業者40が未検出となっていた未検出期間を算出する。
図10に示す例では、作業者40が、時刻T1においてカメラ20bにより撮像された第1撮像画像301、及び時刻T5においてカメラ20cにより撮像された第2撮像画像302に写っており、その間の時刻T2~T4においていずれのカメラ20にも撮像されていないことから、未検出時刻算出部116は、未検出期間が時刻T2から時刻T4までであると特定する。また、未検出時刻算出部116は、未検出期間の長さΔT(ΔTは、時刻T4と時刻T2との差分)を算出する。上述のとおり、カメラ20a~20cは互いに同期されているため、各カメラによる各画像の撮像時刻に基づいて、このように未検出期間を特定することができ、また、未検出期間の長さを算出することができる。第1撮像画像301は、未検出期間(或る期間)の直前に撮像された第1画像に相当し、第2撮像画像302は、未検出期間(或る期間)の直後に撮像された第2画像に相当する。
【0062】
次に、未検出行動推定部117は、第1撮像画像301に写っている作業者40の時刻T1における位置P1(第1情報)、第2撮像画像302に写っている作業者40の時刻T5における位置P5(第2情報)、及び未検出期間の長さΔT(第3情報)に基づいて、未検出期間において作業者40がいた場所を推定する。
図10に示す例では、時刻T1における位置P1と、時刻T5における位置P5との間にある領域であって、いずれのカメラ20にも撮像されない領域は通路6であるので、未検出行動推定部117は、未検出期間において作業者40が通路6を移動していたと推定する。また、通路6の長さと、未検出期間の長さとから、未検出期間の各時刻において作業者40がいた位置を推定してもよい。また、位置P1と位置P5との間に、互いに異なる長さの複数の経路がある場合に、未検出期間の長さに基づいて、複数の経路のうち作業者40が通った移動経路を推定してもよい。この場合において、未検出期間の長さが長いほど、距離の長い通路を通ったものと推定してもよい。
【0063】
また、未検出行動推定部117は、時刻T1における作業者40の位置P1、時刻T5における作業者40の位置P5、及び未検出期間の長さΔTの各情報を行動推定モデル125に入力することによって、未検出期間に作業者40がいた場所を推定してもよい。行動推定モデル125は、或る未検出期間の直前における或る作業者40の位置に係る情報、当該未検出期間の直後における当該作業者40の位置に係る情報、及び当該未検出期間の長さに係る情報を入力することによって、当該未検出期間において当該作業者40がいた場所の推定結果を出力するように機械学習された機械学習モデルである。よって、
図10に示す例では、時刻T1における作業者40の位置P1、時刻T5における作業者40の位置P5、及び未検出期間の長さΔTの各情報が行動推定モデル125に入力されると、行動推定モデル125は、入力された各情報に基づいて、未検出期間において作業者40がいた場所の推定結果として「通路6」を出力する。
【0064】
また、未検出行動推定部117は、時刻T1における作業者40の位置P1、時刻T5における作業者40の位置P5、及び未検出期間の長さΔTに基づいて、未検出期間において作業者40が行っていた作業を推定する。例えば、未検出行動推定部117は、未検出期間において作業者40がいた場所に予め対応付けられている作業を、作業者40が行っていた作業として推定してもよい。
図10に示す例において、作業者40は、倉庫5に保管されている部材をサブエリア4に運搬するためにサブエリア4と倉庫5との間を移動する。このため、作業者40がサブエリア4から通路6を通って倉庫5に移動した場合における通路6には、作業としての「移動」が対応付けられている。また、作業者40が倉庫5から通路6を通ってサブエリア4に移動した場合における通路6には、作業としての部材の「運搬」が対応付けられている。よって、時刻T1に位置P1にいた作業者40が、時刻T5に位置T5に移動した場合には、未検出行動推定部117は、作業者40が行っていた作業を「移動」と推定する。
あるいは、未検出行動推定部117は、時刻T1における作業者40の位置P1、時刻T5における作業者40の位置P5に基づいて、未検出期間において作業者40が行っていた作業を確率的に推定(分類)してもよい。具体的には、未検出行動推定部117は、未検出期間において作業者40が行い得る複数の作業の各々について、各作業を行っていた確率を算出し、最も確率の高い作業を、未検出期間において作業者40が行っていた作業として推定してもよい。確率の算出には、作業者マスタ1262の内容、作業者40の属性、及び/又は、位置P1と位置P5との間にある通路や部屋に対応付けられている作業等がパラメータとして用いられてもよい。
【0065】
また、未検出行動推定部117は、時刻T1における作業者40の位置P1、時刻T5における作業者40の位置P5、及び未検出期間の長さΔTの各情報を行動推定モデル125に入力することによって、未検出期間に作業者40が行っていた作業を推定してもよい。この場合、行動推定モデル125は、或る未検出期間の直前における或る作業者40の位置に係る情報、当該未検出期間の直後における当該作業者40の位置に係る情報、及び当該未検出期間の長さに係る情報を入力することによって、当該未検出期間において当該作業者40が行っていた作業の推定結果を出力するように機械学習されていればよい。例えば、行動推定モデル125は、未検出期間の直前の位置及び直後の位置との間に、互いに異なる作業を行うための複数の部屋、及び/又は、互いに異なる長さの複数の経路がある場合に、入力された情報に基づいて、未検出期間においてどの部屋でどの作業を行っていたか、又は、どの通路を移動していたかを推定することができる。
図10に示す例では、時刻T1における作業者40の位置P1、時刻T5における作業者40の位置P5、及び未検出期間の長さΔTの各情報が行動推定モデル125に入力されると、行動推定モデル125は、入力された各情報に基づいて、未検出期間において作業者40が行っていた作業の推定結果として「移動」を出力する。
なお、未検出に至るまでの所定期間(未検出期間の直前の所定期間)における作業者40の行動データ(例えば、各時刻における位置座標、及び/又は、各時刻において行っていた作業)、及び/又は、検出後の所定期間(未検出期間の直後の所定期間)における作業者40の行動データをさらに行動推定モデル125への入力情報とすることで、作業の推定精度を向上させてもよい。例えば、倉庫5の一部がカメラにより撮像できない場合において、未検出期間の直前の行動として、作業者40が、部品を運搬するためのカートを用意しており、かつ、未検出期間の直後の行動として、作業者40が、カートとともに工程エリア3に向かっていれば、未検出期間におけるカメラ視野外の行動(作業)が、部品のピッキングであったと精度よく推定することができる。また、このような入力情報を用いることで、行動推定モデル125によって部品のピッキングの順番を推定することもできる。
【0066】
なお、上記では、未検出行動推定部117が、未検出期間において作業者40がいた場所を推定したが、これに代えて、時刻T1における作業者40の位置P1、時刻T5における作業者40の位置P5、及び未検出期間の長さΔTに基づいて、作業者40が所定の場所(ここでは、通路6)にいたか否かを判定してもよい。
【0067】
また、上記では、作業者40が通路6に入った場合における未検出期間を例示したが、作業者40がいずれのカメラ20の撮像範囲からも外れたことにより生じる任意の未検出期間において、上記の方法により作業者40の行動(位置及び作業)を推定することができる。例えば、
図2に示す作業室2のうち、カメラ20a、20bの撮像範囲Ra、Rbのいずれからも外れた作業者40の行動を、上記と同様の方法で推定することができる。
【0068】
(行動分析処理)
次に、上述した作業者40の行動の推定に係る動作を実現するために処理部11が実行する行動分析処理について説明する。
図11は、行動分析処理の制御手順を示すフローチャートである。
行動分析処理は、行動分析システム1を管理するユーザ(以下、「管理ユーザ」と記す)により行動分析の開始を指示する操作がなされ、カメラ20による動画の撮像が開始された場合に開始される。
【0069】
行動分析処理が開始されると、処理部11は、カメラ20により撮像された動画を構成する最新の撮像画像30(フレーム画像)の画像データを取得する(ステップS101)。
【0070】
処理部11のマーク検出部111は、取得した撮像画像30をマーク検出モデル122に入力して、撮像画像30に含まれる識別マーク60を検出する(ステップS102)。
【0071】
処理部11は、ステップS102で1以上の識別マーク60が検出されたか否かを判別する(ステップS103)。1以上の識別マーク60が検出されたと判別された場合には(ステップS103で“YES”)、処理部11の時刻算出部114は、取得した撮像画像30の撮像時の時刻を算出(又は取得)する(ステップS104)。
【0072】
処理部11の座標算出部115は、フロア100における作業者40の位置を算出する(ステップS105)。詳しくは、座標算出部115は、撮像画像30における作業者40の位置のxy座標を、フロア100における作業者40の位置のXYZ座標に変換する。その後、処理部11の未検出行動推定部117は、作業判定処理を行う(ステップS106)。
【0073】
図12は、作業判定処理の制御手順を示すフローチャートである。
作業判定処理が呼び出されると、処理部11は、ステップS102で検出された識別マーク60に対応する指定範囲の画像(作業者40を含む部分の画像)を撮像画像30から切り出す(ステップS201)。指定範囲の大きさは、識別マーク60に対応する作業者40が入るように予め定められている。また、処理部11は、検出した識別マーク60のマークIDに基づいて、検出された作業者40を識別する。
【0074】
処理部11の骨格検出部112は、ステップS201で切り出された作業者40の画像を骨格検出モデル123に入力し、作業者40の骨格を検出して骨格データdを生成する(ステップS202)。
【0075】
処理部11は、ステップS202で骨格が検出されたか否かを判別する(ステップS203)。骨格が検出されたと判別された場合には(ステップS203で“YES”)、処理部11は、その時点における骨格データ結合Dから最も古い骨格データdを削除し、ステップS106で生成された最新フレームの骨格データdを骨格データ結合Dに結合する(ステップS204)。
なお、行動分析処理の開始後にステップS204が実行された回数が、上述の所定フレーム数(本実施形態では、6フレーム)未満である場合には、ステップS204で骨格データdを結合した後の骨格データ結合Dに含まれる骨格データdの数が6フレームに満たないこととなる。この場合には、不足のフレームについては未検出データを用いてもよいし、処理をステップS206に進めずに(作業の判定を行わずに)作業判定処理を終了させてもよい。
【0076】
一方、ステップS203において、骨格が検出されていないと判別された場合には(ステップS203で“NO”)、処理部11は、その時点における骨格データ結合Dから最も古い骨格データdを削除し、骨格に係るデータを含まない未検出データを骨格データ結合Dに結合する(ステップS205)。
【0077】
ステップS204又はステップS205が終了すると、処理部11の作業判定部113は、骨格データ結合Dを作業判定モデル124に入力することで、ステップS101で取得した撮像画像30において作業者40が行っている作業を判定する(ステップS206)。また、処理部11の作業判定部113は、判定結果を、ステップS104で算出した撮像時刻に対応付けて行動データ領域126に記録する(ステップS207)。ステップS207が終了すると、処理部11は、作業判定処理を終了させて、処理を行動分析処理に戻す。
【0078】
なお、
図12では、骨格データdを用いて作業者40の作業を分析するフローを例示したが、作業判定処理のフローはこれに限られない。例えば、ステップS105で算出された作業者40の位置に予め対応付けられている作業を特定するフローとしてもよい。
【0079】
図11に戻り、作業判定処理(ステップS106)が終了すると、処理部11は、ステップS102で識別マーク60が検出された作業者40が、前回取得された撮像画像30においても検出されているか否かを判別する(ステップS107)。作業者40が、前回取得された撮像画像30において検出されていないと判別された場合には(ステップS107で“NO”)、処理部11は、作業者40が或る未検出期間において未検出であったと判別して、以下のステップS108~S110の処理を実行する。
【0080】
処理部11の未検出時刻算出部116は、未検出期間の長さ(上述の例におけるΔT)を算出する(ステップS108)。ここでは、未検出時刻算出部116は、未検出期間の前に、最後に作業者40が写っていた撮像画像30(第1撮像画像301)を特定し、当該撮像画像30の次に撮像された撮像画像30の撮像時刻(T2)を、未検出期間の開始時刻として特定する。また、未検出時刻算出部116は、ステップS101で取得された撮像画像30(第2撮像画像302)の1つ前に撮像された撮像画像30の撮像時刻(T4)を、未検出期間の終了時刻として特定する。そして、未検出時刻算出部116は、終了時刻(T4)と開始時刻(T2)の差分から、未検出期間の長さ(ΔT)を算出する。
【0081】
処理部11の未検出行動推定部117は、作業者40の、未検出期間の直前における位置(P1)、直後における位置(ステップS105で算出された位置)(P5)、及びステップS108で算出された未検出期間の長さ(ΔT)に基づいて、上述した方法で、未検出期間において作業者40がいた場所を推定する(ステップS109)。
【0082】
また、処理部11の未検出行動推定部117は、作業者40の、未検出期間の直前における位置(P1)、直後における位置(P5)、及び未検出期間の長さ(ΔT)に基づいて、上述した方法で、未検出期間において作業者40が行っていた作業を推定する(ステップS110)。
【0083】
ステップS110が終了した場合、又は、ステップS107において、作業者40が前回取得された撮像画像30においても検出されていると判別された場合には(ステップS107で“YES”)、処理部11は、作業者40の行動の分析結果を行動データ領域126に記録する(ステップS111)。すなわち、処理部11は、ステップS105における作業者40の位置の算出結果、及び、ステップS106における作業者40の作業の判定結果を、ステップS104で算出した撮像時刻に対応付けて行動データ領域126に記録する。また、ステップS107で“NO”に分岐した場合には、未検出期間における作業者40の位置及び作業の推定結果を、未検出期間の開始時刻及び終了時刻とともに行動データ領域126に記録する。
【0084】
処理部11は、動画に次の撮像画像30(フレーム画像)の画像データがあるか否かを判別し(ステップS112)、次の画像データがあると判別された場合には(ステップS112で“YES”)、処理をステップS101に戻す。また、次の画像データがないと判別された場合には(ステップS112で“NO”)、処理部11は、行動分析処理を終了させる。
【0085】
ステップS101~S112は、カメラ20による撮像のフレームレートに応じた周期で繰り返し実行される。例えば、フレームレートが10fpsであれば、1秒間に10フレームの撮像画像30が撮像されるため、1/10秒ごとにステップS101~S112が繰り返し実行される。
また、ステップS103において複数の識別マーク60が検出された場合には、処理部11は、各識別マーク60について(すなわち、対応する各作業者40について)、以降のステップS105~S111の処理を実行する。
【0086】
(作業者40の行動の分析)
次に、作業者40の行動の分析結果の例について説明する。
上記の行動分析処理により蓄積された行動データに基づいて、作業者40の行動に係る分析データを生成することができる。分析データは、行動データ領域126に記憶される。例えば、処理部11は、上記の行動分析処理で蓄積された行動データに基づいて、行動データテーブル1264を生成する。
【0087】
図13は、行動データテーブル1264の例を示す図である。
行動データテーブル1264は、各作業者40の行動を10秒ごとに抽出したものである。よって、行動データテーブル1264における1つの行データは、各作業者40について10秒に1回の頻度で生成される。
図13の行動データテーブル1264においては、マークIDが「A」に対応する作業者40(以下、「作業者40A」と記す)、及び、マークIDが「B」に対応する作業者40(以下、「作業者40B」と記す)の行動に係るデータが記録されている。作業者40Aは、主に、サブエリア4と倉庫5との間を往復しつつ、倉庫5に保管されている部材のうち製品の製造に必要な部材をサブエリア4に運搬するものとする。また、作業者40Bは、主に、工程エリア3の作業台50において、製品の製造に係る作業を行っているものとする。
【0088】
行動データテーブル1264の「時刻」は、そのデータ行の生成時刻である。
「マークID」は、マーク検出部111によって検出された識別マーク60のマークIDである。マークIDから、そのデータ行に対応する作業者40を特定することができる。
「座標」は、そのデータ行の「時刻」における作業者40の位置であって、座標算出部115によって算出された位置座標、又は、未検出行動推定部117によって推定された位置座標である。
「作業分類」は、作業判定部113による作業の判定結果、又は、未検出行動推定部117による作業の推定結果である。ここでは、作業名が記載されているが、作業名に代えて
図5の作業分類マスタ1263の作業IDが記録されてもよい。
「推定ステータス」は、そのデータ行が、未検出期間に係る推定のデータを含むか否かを表す。詳しくは、「推定ステータス」は、そのデータ行における「座標」及び「作業分類」が、未検出行動推定部117によって推定されたものである場合には「ON」とされ、撮像画像30に写っている作業者40から算出及び判定されたものである場合には「OFF」とされる。
なお、「推定ステータス」が「ON」となるデータ行は、予め算出して行動データテーブル1264に格納してもよいし、データの必要時(可視化時)に都度、未検出時刻算出部116及び未検出行動推定部117にて処理して算出することでもよい。
また、行動データテーブル1264の各データ行が10秒ごとに生成されるとしたが、これに限られない。例えば、「作業分類」及び「推定ステータス」の少なくとも一方が変化したタイミングで1つのデータ行を生成することとしてもよい。
【0089】
また、処理部11は、管理ユーザによる分析の目的に応じて、行動データテーブル1264に基づいて各種の集計テーブルを生成してもよい。
図14は、集計テーブル1265の例を示す図である。
集計テーブル1265は、行動データテーブル1264において、「マークID」及び「作業分類」が共通し、時間帯が連続している複数のデータ行を1つのデータ行にまとめるとともに、「作業場所」、「滞在時間」及び「移動距離」のデータ項目を追加したものである。よって、集計テーブル1265の1つのデータ行は、或る作業者40が行った1つの作業に対応する。
【0090】
集計テーブル1265の「作業場所」は、「座標」に対応する作業場所を、
図3の作業エリアマスタ1261の各作業場所の「開始座標」及び「終了座標」に基づいて特定したものである。ここでは、作業場所名が記載されているが、作業場所名に代えて
図3の場所IDが記録されてもよい。
「滞在時間」は、作業者40が、そのデータ行に対応する「作業場所」に滞在して「作業分類」の作業を行った期間の長さを表す。「滞在時間」は、集計テーブル1265のデータ行が、行動データテーブル1264のn個のデータ行を統合したものである場合に、「n×10」で算出される。
「移動距離」は、そのデータ行の期間内における作業者40の移動距離を表す。「移動距離」は、例えば、1フレームごと(又は、所定数のフレームごと)の作業者40の位置の推移に基づいて算出される。
【0091】
また、処理部11は、集計テーブル1265をさらに加工して、個別集計テーブル1266を生成してもよい。
図15は、個別集計テーブル1266の例を示す図である。
個別集計テーブル1266は、
図14の集計テーブル1265のうち或るマークID(ここでは、マークID「A」)に対応する作業者40(ここでは、作業者40A)のデータ行を抽出したものである。個別集計テーブル1266から、作業者40Aの行動の推移を把握することができる。
【0092】
図15に示す例では、作業者40Aは、「09:07:10」(9時7分10秒)までの期間でサブエリア4において「部材整理」の作業を行ったと判定され、その後、「09:07:30」までの期間で、サブエリア4から倉庫5まで通路6を移動したものと推定され、「09:08:00」までの期間で、倉庫5において部材のピッキングの作業を行ったと判定されている。続いて、「09:08:20」までの期間で、倉庫5からサブエリア4まで通路6を移動したものと推定され、「09:08:40」までの期間で、サブエリア4において部材整理の作業を行ったと判定されている。すなわち、
図15に示す個別集計テーブル1266の内容から、作業者40Aが、通路6を通ってサブエリア4と倉庫5との間を1往復し、部材を倉庫5からサブエリア4に1回運搬したことを特定することができる。
図15の個別集計テーブル1266に示す一連の作業のうち、例えば、「移動」、「ピッキング」及び「運搬」の作業の組み合わせが繰り返された回数を特定することで、作業者40Aが部材を運搬した回数を特定することができる。また、当該一連の作業の「滞在時間」を加算することで、運搬に要した時間を特定することができる。
【0093】
以下では、行動データテーブル1264、集計テーブル1265、及び個別集計テーブル1266等に基づいて行うことができる行動分析の例(1)~(8)について説明する。
【0094】
(1)地
図70上に作業者40の位置を表示
処理部11は、複数の撮像画像30に基づいて算出(導出)された作業者40の位置を示す地
図70を表示部13に表示させてもよい。例えば、処理部11は、
図2に示すようにフロア100を上方から俯瞰した地
図70上に、各作業者40の位置をリアルタイムにプロットしてもよい。また、地
図70上では、各作業者40を、図形や記号等の標識により表してもよい。
【0095】
また、処理部11は、複数の撮像画像30に基づいて推定された、未検出期間における作業者40の推定の場所(位置が推定された場合には、位置)を地
図70に表示してもよい。例えば、過去の任意の時点における地
図70を表示部13に表示できるようにし、当該地
図70上に、作業者40の推定の場所(又は位置)をプロットしてもよい。
【0096】
(2)ヒートマップ71を表示
処理部11は、複数の撮像画像30に基づく作業者40の位置の推移、及び場所又は位置の推定結果に基づいて、作業者40の各位置における滞在時間を表すヒートマップ71を表示部13に表示させてもよい。
【0097】
図16は、ヒートマップ71の例を示す図である。
ヒートマップ71の縦軸は、1時間を単位とする時間帯を表し、横軸は、作業室2におけるX座標を表す。ヒートマップ71では、1時間当たりの滞在時間が長い位置ほど、濃い色に着色されている。
【0098】
(3)滞在時間・移動距離グラフ72を表示
処理部11は、複数の撮像画像30に基づく作業者40の位置の推移、及び場所又は位置の推定結果に基づいて、滞在時間・移動距離グラフ72を表示部13に表示させてもよい。滞在時間・移動距離グラフ72は、作業者40の、時間帯ごとの所定の場所における滞在時間に係る情報、及び、作業者40の、時間帯ごとの移動距離(運動量)に係る情報を含む。
【0099】
図17は、滞在時間・移動距離グラフ72の例を示す図である。
滞在時間・移動距離グラフ72は、1時間を単位とする時間帯ごとに、作業者40が各場所に滞在していた時間を積み上げた棒グラフと、時間帯ごとの各場所における移動距離を表す折れ線グラフとを含む。
図17に示す例では、作業者40が、大多数の時間帯で主に工程エリア3に滞在しているが、13時(~14時)の時間帯においては通路6における滞在時間及び移動距離が長くなっていることを把握することができる。
【0100】
(4)滞在時間割合テーブル73を表示
処理部11は、作業の判定結果及び推定結果に基づいて、作業者40が各時間帯において行っていた作業の割合に係る情報を含む作業割合テーブル73を表示部13に表示させてもよい。
【0101】
図18は、作業割合テーブル73の例を示す図である。
作業割合テーブル73は、作業者40A~40Cの各々について、日ごと、時間帯ごとに、正味作業に属する作業の実行時間、及び付随作業に属する作業の実行時間を棒グラフ状に表したものである。各作業が正味作業及び付随作業のいずれに属するかは、
図5の作業分類マスタ1263に基づいて分類される。
【0102】
(5)代表滞在場所テーブル74を表示
処理部11は、複数の撮像画像30に基づく作業者40の位置の推移、及び場所又は位置の推定結果に基づいて、作業者40の、各時間帯において最も長く滞在した場所に係る情報を含む代表滞在場所テーブル74を表示部13に表示させてもよい。
【0103】
図19は、代表滞在場所テーブル74の例を示す図である。
代表滞在場所テーブル74は、作業者40A~40Cの各々について、日ごと、時間帯ごとに、各時間帯において最も長く滞在した滞在場所(代表滞在場所)を表すテーブルである。テーブルの各セルは、場所に対応する色に着色されていてもよい。
【0104】
(6)タイムチャート75
処理部11は、作業の判定結果及び推定結果に基づいて、作業者40が行った作業の履歴に係る情報を含むタイムチャート75を表示部13に表示させてもよい。
【0105】
図20は、タイムチャート75の例を示す図である。
タイムチャート75は、作業者40Aが、どの時間に何の作業を行ったかを表す帯グラフである。ここでは、サブエリア4から倉庫5に移動する「移動」、倉庫5において部材を取り上げる「ピッキング」、倉庫5からサブエリア4へ部材を運搬する「運搬」、倉庫5において部材の整理を行う「部材整理」が、色分けされて帯状に配列されている。
【0106】
(7)運搬回数・運搬時間グラフ76
処理部11は、複数の撮像画像30に基づく作業者40の位置の推移、及び場所又は位置の推定結果に基づいて、作業者40の、或る2地点間における部材の運搬回数及び運搬時間に係る情報を含む運搬回数・運搬時間グラフ76を表示部13に表示させてもよい。なお、これに代えて、部材の運搬回数及び運搬時間のうち一方のみの情報を表示部13に表示させてもよい。
【0107】
図21は、運搬回数・運搬時間グラフ76の例を示す図である。
運搬回数・運搬時間グラフ76は、1時間を単位とする時間帯ごとに、作業者40が部材を倉庫5からサブエリア4に運搬した回数を表す棒グラフと、部材の運搬に要した合計の時間を表す折れ線グラフとを含む。部材の運搬回数は、例えば、上述したように、
図15の個別集計テーブル1266において「移動」、「ピッキング」及び「運搬」の作業の組み合わせが繰り返された回数から特定することができる。また、運搬時間は、「移動」、「ピッキング」及び「運搬」の作業の「滞在時間」を加算することにより得られる。なお、運搬時間の算出方法はこれに限られず、「移動」及び「運搬」の作業に係る滞在時間のみを運搬時間としてもよいし、「運搬」の作業に係る滞在時間のみを運搬時間としてもよいし、「部材整理」の作業に係る滞在時間を運搬時間に加算してもよい。
【0108】
(8)分析円グラフ77
処理部11は、作業の判定結果及び推定結果と、時刻情報とに基づいて、作業者40が行った作業の作業時間に係る情報を含む分析円グラフ77を表示部13に表示させてもよい。
【0109】
図22は、分析円グラフ77の例を示す図である。
分析円グラフ77は、或る作業者40が或る期間において行った作業の作業時間を、「正味作業時間」、「正味作業時間遅延」、及び「付随作業等」に分類して示したものである。「正味作業時間」は、正味作業に属する作業の作業時間のうち、正味作業の標準的な作業時間として定められた標準時間内の作業時間を表す。「正味作業時間遅延」は、正味作業に属する作業の作業時間のうち、標準時間を超えて行われた作業の作業時間である。作業時間と標準時間とに基づいて作業効率を算出してもよい。「付随作業等」は、「部材整理」、「出庫処理」、「思考時間」及び「相談・連絡」の内訳の合計時間であり、
図22の分析円グラフ77では、これらの内訳についても作業時間がそれぞれ表示されている。なお、「付随作業等」の内訳を、別個の補助円グラフに表示してもよい。このような分析円グラフ77を表示することで、作業のロスや無駄を視覚的に把握することができる。また、分析円グラフ77から得られる情報を、最適人員の算出、IT機器等の設備導入時の投資対効果の算出、及びKPI(Key Performance Indicator:重要業績評価指標)の算出等に用いることもできる。
【0110】
(9)異常が生じた時点の動画表示
処理部11は、複数の撮像画像30に基づく作業者40の位置の推移、及び場所又は位置の推定結果に基づいて、作業者40による作業の異常を検出し、カメラ20により撮像された作業者40の動画のうち、異常が生じた時点の動画を表示部13に表示させてもよい。例えば、
図17に示す滞在時間・移動距離グラフ72において、13時の時間帯の滞在場所の傾向及び運動量が、他の時間帯と大きく異なるため、異常が生じていると判定して、13時の時間帯の動画を表示部13に表示させてもよい。なお、異常の判定対象は、滞在時間・移動距離グラフ72に限られず、地
図70、ヒートマップ71、作業割合テーブル73、代表滞在場所テーブル74、タイムチャート75、及び運搬回数・運搬時間グラフ76等において異常が検出された場合に、同様に動画を表示させてもよい。
【0111】
<効果>
以上のように、上記実施形態に係る情報処理装置としての行動分析装置10は、処理部11を備え、処理部11は、異なる複数の時点においてカメラ20により撮像された複数の撮像画像30を取得し、取得した複数の撮像画像30の各々において作業者40が写っているか否かを判定し、作業者40が写っていると判定された各撮像画像30に対応する作業者40の位置を導出し、複数の撮像画像30のうち、或る未検出期間に撮像された撮像画像30に作業者40が写っていないと判定された場合には、未検出期間の直前に撮像された第1撮像画像301(第1画像)に写っている作業者40の位置P1(第1情報)、未検出期間の直後に撮像された第2撮像画像302(第2画像)に写っている作業者40の位置P5(第2情報)、及び未検出期間の長さΔT(第3情報)に基づいて、未検出期間において作業者40がいた場所を推定する。これにより、カメラ20の撮像範囲が、作業者40の行動範囲の全てをカバーしていなくても、撮像範囲から外れた未検出期間において作業者40がいた場所を推定することができる。よって、カメラ20の撮像範囲内か、撮像範囲外かによらずに、作業者40の行動を把握することができる。また、作業者40の行動に係るデータを自動的に蓄積できるため、当該データを集計及び加工することで、作業者40の行動に係る様々な分析を、高精度かつ即時に行うことができる。このため、行動分析に係る手間を低減することができる。よって、例えば、生産ラインにおける日々の行動の変動を即時に検出して、適切な対策を適時に講ずることが可能となる。
【0112】
また、上記実施形態に係る情報処理装置としての行動分析装置10は、処理部11を備え、処理部11は、異なる複数の時点においてカメラ20により撮像された複数の撮像画像30を取得し、取得した複数の撮像画像30の各々において作業者40が写っているか否かを判定し、作業者40が写っていると判定された各撮像画像30に対応する作業者40の位置を導出し、複数の撮像画像30のうち、或る未検出期間に撮像された撮像画像30に作業者40が写っていないと判定された場合には、未検出期間の直前に撮像された第1撮像画像301(第1画像)に写っている作業者40の位置P1(第1情報)、未検出期間の直後に撮像された第2撮像画像302(第2画像)に写っている作業者40の位置P5(第2情報)、及び未検出期間の長さΔT(第3情報)に基づいて、未検出期間において作業者40が所定の場所にいたかを判別する。これにより、カメラ20の撮像範囲が、作業者40の行動範囲の全てをカバーしていなくても、撮像範囲から外れた未検出期間において作業者40が所定の場所にいたか否かを判定することができる。また、未検出期間において作業者40が、当該場所に対応する作業を行っていたか否かを判定することができる。
【0113】
また、処理部11は、位置P1、位置P2、及び未検出期間の長さΔTを行動推定モデル125に入力することによって、未検出期間において作業者40がいた場所を推定し、行動推定モデル125は、或る未検出期間の直前における或る作業者40の位置に係る情報、当該未検出期間の直後における当該作業者40の位置に係る情報、及び当該未検出期間の長さに係る情報を入力することによって、当該未検出期間において当該作業者40がいた場所の推定結果を出力するように機械学習されたものである。これにより、位置P1、位置P2、及び未検出期間の長さΔTを行動推定モデル125に入力する簡易な処理で、未検出期間において作業者40がいた場所を推定することができる。
【0114】
また、処理部11は、作業者40が写っていると判定された各撮像画像30に基づいて、当該撮像画像30の撮像時において作業者40が行っていた作業を推定し、上記の位置P1、位置P2、及び未検出期間の長さΔTに基づいて、未検出期間において作業者40が行っていた作業を推定する。これにより、カメラ20の撮像範囲が、作業者40の行動範囲の全てをカバーしていなくても、カメラ20による撮像範囲外にいた未検出期間において作業者40が行っていた作業を推定することができる。よって、カメラ20の撮像範囲内か、撮像範囲外かによらずに、作業者40の行動をより詳細に分析することができる。
【0115】
また、処理部11は、上記の位置P1、位置P2、及び未検出期間の長さΔTを行動推定モデル125に入力することによって、未検出期間において作業者40が行っていた作業を推定し、行動推定モデル125は、或る未検出期間の直前における或る作業者40の位置に係る情報、当該未検出期間の直後における当該作業者40の位置に係る情報、及び当該未検出期間の長さに係る情報を入力することによって、当該未検出期間において当該作業者40が行っていた作業の推定結果を出力するように機械学習されたものである。これにより、位置P1、位置P2、及び未検出期間の長さΔTを行動推定モデル125に入力する簡易な処理で、未検出期間において作業者40が行っていた作業を推定することができる。
【0116】
また、処理部11は、上記の位置P1、位置P2、及び未検出期間の長さΔTに基づいて、未検出期間における作業者40の移動経路をさらに推定する。これにより、未検出期間における作業者40の行動をより詳細に把握することができる。
【0117】
また、処理部11は、複数の撮像画像30の各々において、複数の作業者40が身に付けている識別マーク60を検出し、識別マーク60の検出結果に基づいて、複数の撮像画像30の各々において作業者40が写っているか否かの判定、及び、写っている作業者40の位置の導出を、複数の作業者40の各々について行う。これにより、異なる複数の作業者40の各々を識別した上で、各作業者40について行動分析を行うことができる。
【0118】
また、処理部11は、複数の撮像画像30に基づいて導出された作業者40の位置、及び推定された作業者40の場所を示す地
図70を表示部13に表示させる。これにより、作業者40がカメラ20の撮像範囲内にいるか、撮像範囲外にいるかによらずに、フロア100における各作業者40の位置を地
図70上で確認することができる。
【0119】
また、処理部11は、複数の撮像画像30に基づく作業者40の位置の推移、及び場所の推定結果に基づいて、作業者40の各位置における滞在時間を表すヒートマップ71を表示部13に表示させる。これにより、作業者40がカメラ20の撮像範囲内にいるか、撮像範囲外にいるかによらずに、作業者40の各位置における滞在時間を、視覚的かつ直感的に把握することができる。
【0120】
また、処理部11は、複数の撮像画像30に基づく作業者40の位置の推移、及び場所の推定結果に基づいて、作業者40の、時間帯ごとの所定の場所における滞在時間に係る情報を含む滞在時間・移動距離グラフ72を表示部13に表示させる。これにより、作業者40がカメラ20の撮像範囲内にいるか、撮像範囲外にいるかによらずに、作業者40の時間帯ごとの各場所における滞在時間を視覚的かつ直感的に把握することができる。
【0121】
また、処理部11は、複数の撮像画像30に基づく作業者40の位置の推移、及び場所の推定結果に基づいて、作業者40の、時間帯ごとの移動距離(運動量)に係る情報を含む滞在時間・移動距離グラフ72を表示部13に表示させる。これにより、作業者40がカメラ20の撮像範囲内にいるか、撮像範囲外にいるかによらずに、作業者40の時間帯ごとの各場所における移動距離を視覚的かつ直感的に把握することができる。
【0122】
また、処理部11は、作業の推定結果に基づいて、作業者40が各時間帯において行っていた作業の割合に係る情報を含む作業割合テーブル73を表示部13に表示させる。これにより、作業者40がカメラ20の撮像範囲内にいるか、撮像範囲外にいるかによらずに、作業者40がどのような割合でどのような作業を行っていたかを、視覚的かつ直感的に把握することができる。
【0123】
また、処理部11は、複数の撮像画像30に基づく作業者40の位置の推移、及び場所の推定結果に基づいて、作業者40の、各時間帯において最も長く滞在した場所に係る情報を含む代表滞在場所テーブル74を表示部13に表示させる。これにより、作業者40がカメラ20の撮像範囲内にいるか、撮像範囲外にいるかによらずに、作業者40の代表的な滞在場所を視覚的かつ直感的に把握することができる。
【0124】
また、処理部11は、作業の推定結果に基づいて、作業者40が行った作業の履歴に係る情報を含むタイムチャート75を表示部13に表示させる。これにより、作業者40がカメラ20の撮像範囲内にいるか、撮像範囲外にいるかによらずに、作業者40の作業の履歴を視覚的かつ直感的に把握することができる。
【0125】
また、処理部11は、複数の撮像画像30に基づく作業者40の位置の推移、及び場所の推定結果に基づいて、作業者40の、或る2地点間における部材の運搬回数及び運搬時間の少なくとも一方に係る情報を含む運搬回数・運搬時間グラフ76を表示部13に表示させる。これにより、作業者40がカメラ20の撮像範囲内にいるか、撮像範囲外にいるかによらずに、作業者40が資材の運搬を行った回数や運搬に要した時間を視覚的かつ直感的に把握することができる。
【0126】
また、処理部11は、作業の推定結果に基づいて、作業者40が行った作業の作業時間に係る情報を含む分析円グラフ77を表示部13に表示させる。これにより、作業者40がカメラ20の撮像範囲内にいるか、撮像範囲外にいるかによらずに、作業者40による作業の作業時間を視覚的かつ直感的に把握することができる。
【0127】
また、処理部11は、カメラ20により撮像された複数の撮像画像30を動画として取得し、複数の撮像画像30に基づく作業者40の位置の推移、及び場所の推定結果に基づいて、作業者40による作業の異常を検出し、カメラ20により撮像された作業者40の動画のうち、異常が生じた時点の動画を表示部13に表示させる。これにより、異常の内容を動画において目視で確認することができる。また、動画に写っている状況から、異常の原因を簡易に特定することができる。
【0128】
また、本実施形態に係るプログラム121は、コンピュータとしての処理部11に、異なる複数の時点においてカメラ20により撮像された複数の撮像画像30を取得する処理、取得した複数の撮像画像30の各々において作業者40が写っているか否かを判定する処理、作業者40が写っていると判定された各撮像画像30に対応する作業者40の位置を導出する処理、複数の撮像画像30のうち、或る未検出期間に撮像された撮像画像30に作業者40が写っていないと判定された場合には、未検出期間の直前に撮像された第1撮像画像301(第1画像)に写っている作業者40の位置P1(第1情報)、未検出期間の直後に撮像された第2撮像画像302(第2画像)に写っている作業者40の位置P5(第2情報)、及び未検出期間の長さΔT(第3情報)に基づいて、未検出期間において作業者40がいた場所を推定する処理、を実行させる。これにより、カメラ20の撮像範囲が、作業者40の行動範囲の全てをカバーしていなくても、撮像範囲から外れた未検出期間において作業者40がいた場所を推定することができる。よって、カメラ20の撮像範囲内か、撮像範囲外かによらずに、作業者40の行動を把握することができる。また、作業者40の行動に係る様々な分析を、高精度かつ即時に行うことができる。このため、行動分析に係る手間を低減することができる。
【0129】
また、本実施形態に係るプログラム121は、コンピュータとしての処理部11に、異なる複数の時点においてカメラ20により撮像された複数の撮像画像30を取得する処理、取得した複数の撮像画像30の各々において作業者40が写っているか否かを判定する処理、作業者40が写っていると判定された各撮像画像30に対応する作業者40の位置を導出する処理、複数の撮像画像30のうち、或る未検出期間に撮像された撮像画像30に作業者40が写っていないと判定された場合には、未検出期間の直前に撮像された第1撮像画像301(第1画像)に写っている作業者40の位置P1(第1情報)、未検出期間の直後に撮像された第2撮像画像302(第2画像)に写っている作業者40の位置P5(第2情報)、及び未検出期間の長さΔT(第3情報)に基づいて、未検出期間において作業者40が所定の場所にいたかを判定する処理、を実行させる。これにより、カメラ20の撮像範囲が、作業者40の行動範囲の全てをカバーしていなくても、撮像範囲から外れた未検出期間において作業者40が所定の場所にいたか否かを判定することができる。また、未検出期間において作業者40が、当該場所に対応する作業を行っていたか否かを判定することができる。
【0130】
また、本実施形態に係る情報処理方法としての行動分析方法は、異なる複数の時点においてカメラ20により撮像された複数の撮像画像30を取得し、取得した複数の撮像画像30の各々において作業者40が写っているか否かを判定し、作業者40が写っていると判定された各撮像画像30に対応する作業者40の位置を導出し、複数の撮像画像30のうち、或る未検出期間に撮像された撮像画像30に作業者40が写っていないと判定された場合には、未検出期間の直前に撮像された第1撮像画像301(第1画像)に写っている作業者40の位置P1(第1情報)、未検出期間の直後に撮像された第2撮像画像302(第2画像)に写っている作業者40の位置P5(第2情報)、及び未検出期間の長さΔT(第3情報)に基づいて、未検出期間において作業者40がいた場所を推定する。これにより、カメラ20の撮像範囲が、作業者40の行動範囲の全てをカバーしていなくても、撮像範囲から外れた未検出期間において作業者40がいた場所を推定することができる。よって、カメラ20の撮像範囲内か、撮像範囲外かによらずに、作業者40の行動を把握することができる。また、作業者40の行動に係る様々な分析を、高精度かつ即時に行うことができる。このため、行動分析に係る手間を低減することができる。
【0131】
また、本実施形態に係る情報処理方法としての行動分析方法は、異なる複数の時点においてカメラ20により撮像された複数の撮像画像30を取得し、取得した複数の撮像画像30の各々において作業者40が写っているか否かを判定し、作業者40が写っていると判定された各撮像画像30に対応する作業者40の位置を導出し、複数の撮像画像30のうち、或る未検出期間に撮像された撮像画像30に作業者40が写っていないと判定された場合には、未検出期間の直前に撮像された第1撮像画像301(第1画像)に写っている作業者40の位置P1(第1情報)、未検出期間の直後に撮像された第2撮像画像302(第2画像)に写っている作業者40の位置P5(第2情報)、及び未検出期間の長さΔT(第3情報)に基づいて、未検出期間において作業者40が所定の場所にいたかを判定する。これにより、カメラ20の撮像範囲が、作業者40の行動範囲の全てをカバーしていなくても、撮像範囲から外れた未検出期間において作業者40が所定の場所にいたか否かを判定することができる。また、未検出期間において作業者40が、当該場所に対応する作業を行っていたか否かを判定することができる。
【0132】
また、本実施形態に係る情報処理システムとしての行動分析システム1は、処理部11を備え、処理部11は、異なる複数の時点においてカメラ20により撮像された複数の撮像画像30を取得し、取得した複数の撮像画像30の各々において作業者40が写っているか否かを判定し、作業者40が写っていると判定された各撮像画像30に対応する作業者40の位置を導出し、複数の撮像画像30のうち、或る未検出期間に撮像された撮像画像30に作業者40が写っていないと判定された場合には、未検出期間の直前に撮像された第1撮像画像301(第1画像)に写っている作業者40の位置P1(第1情報)、未検出期間の直後に撮像された第2撮像画像302(第2画像)に写っている作業者40の位置P5(第2情報)、及び未検出期間の長さΔT(第3情報)に基づいて、未検出期間において作業者40がいた場所を推定する。これにより、カメラ20の撮像範囲が、作業者40の行動範囲の全てをカバーしていなくても、撮像範囲から外れた未検出期間において作業者40がいた場所を推定することができる。よって、カメラ20の撮像範囲内か、撮像範囲外かによらずに、作業者40の行動を把握することができる。また、作業者40の行動に係る様々な分析を、高精度かつ即時に行うことができる。このため、行動分析に係る手間を低減することができる。
【0133】
また、本実施形態に係る情報処理システムとしての行動分析システム1は、処理部11を備え、処理部11は、異なる複数の時点においてカメラ20により撮像された複数の撮像画像30を取得し、取得した複数の撮像画像30の各々において作業者40が写っているか否かを判定し、作業者40が写っていると判定された各撮像画像30に対応する作業者40の位置を導出し、複数の撮像画像30のうち、或る未検出期間に撮像された撮像画像30に作業者40が写っていないと判定された場合には、未検出期間の直前に撮像された第1撮像画像301(第1画像)に写っている作業者40の位置P1(第1情報)、未検出期間の直後に撮像された第2撮像画像302(第2画像)に写っている作業者40の位置P5(第2情報)、及び未検出期間の長さΔT(第3情報)に基づいて、未検出期間において作業者40が所定の場所にいたかを判定する。これにより、カメラ20の撮像範囲が、作業者40の行動範囲の全てをカバーしていなくても、撮像範囲から外れた未検出期間において作業者40が所定の場所にいたか否かを判定することができる。また、未検出期間において作業者40が、当該場所に対応する作業を行っていたか否かを判定することができる。
【0134】
<その他>
なお、上記実施形態における記述は、本発明に係る情報処理装置、プログラム、情報処理方法及び情報処理システムの一例であり、これに限定されるものではない。
例えば、上記実施形態における行動分析装置10の処理部11が実行していた処理の少なくとも一部を、行動分析システム1における行動分析装置10以外の1以上の装置が分担して実行してもよい。
この場合の1以上の装置は、カメラ20を含んでいてもよい。例えば、カメラ20として、エッジAIカメラ(エンドポイントAIカメラ)を用い、カメラ20に設けられた処理部が、上記実施形態における処理部11のマーク検出部111、骨格検出部112、作業判定部113、時刻算出部114、座標算出部115、未検出時刻算出部116、及び未検出行動推定部117のうちの少なくとも一部として機能してもよい。言い換えると、カメラ20に設けられた処理部が、識別マーク60の検出(作業者40の識別)、作業者40の骨格の検出、作業者40の作業の判定、時刻の算出、作業者40の位置座標の算出、未検出期間の特定、及び未検出期間の行動の推定のうちの少なくとも一部を行ってもよい。この場合において、上記実施形態におけるマーク検出モデル122、骨格検出モデル123、作業判定モデル124、及び行動推定モデル125の少なくとも一部を、カメラ20に設けられた記憶部に記憶させてもよい。
また、複数のカメラ20のうちの1つをエッジAIカメラとし、各カメラ20により撮像された動画を上記の1つのエッジAIカメラに送信し、エッジAIカメラに設けられた処理部が、識別マーク60の検出(作業者40の識別)、作業者40の骨格の検出、作業者40の作業の判定、時刻の算出、作業者40の位置座標の算出、未検出期間の特定、及び未検出期間の行動の推定のうちの少なくとも一部を行ってもよい。
また、複数のカメラ20として、相互にデータの送受信が可能に接続された、複数のエッジAIカメラを用いてもよい。この場合において、各エッジAIカメラが撮像した動画に基づいて、各エッジAIカメラに設けられた処理部が、識別マーク60の検出(作業者40の識別)、作業者40の骨格の検出、作業者40の作業の判定、時刻の算出、作業者40の位置座標の算出、未検出期間の特定、及び未検出期間の行動の推定のうちの少なくとも一部を行い、これらの処理の結果を、他のいずれかのエッジAIカメラからの要求に応じて、当該エッジAIカメラに送信してもよい。すなわち、複数のエッジAIカメラにより、作業者40の未検出期間における行動に係る情報をリアルタイムに共有してもよい。また、当該処理の結果を受信したエッジAIカメラ(又は行動分析装置10)が、全作業者40に係る行動データを統合してもよい。
行動分析装置10の処理部11が実行していた処理の一部をカメラ20に設けられた処理部が実行する場合には、行動分析装置10の処理部11及びカメラ20の処理部が「1以上の処理部」に相当する。また、行動分析装置10の処理部11が実行していた処理の全部をカメラ20に設けられた処理部が実行する場合には、カメラ20の処理部が「1以上の処理部」に相当し、カメラ20が「情報処理装置」に相当する。
【0135】
また、行動分析装置10(情報処理装置)は、カメラ20(撮像部)を備えていてもよい。
【0136】
また、上記実施形態では、カメラ20により撮像された動画の画像データをリアルタイムで分析する例を用いて説明したが、これに限られず、画像データ領域127に記録されている過去の動画の画像データを用いて分析してもよい。この場合には、各動画が同期されている必要がある。すなわち、各動画を撮像したカメラ20が互いに同期されていることにより、各動画の時刻合わせがなされている必要がある。
【0137】
また、行動分析装置10の記憶部12に記憶されるプログラム、機械学習モデル、及びデータを、ネットワーク上のサーバやデータベースに格納し、通信部14を介して当該サーバやデータベースから必要なデータを取得してもよい。
【0138】
また、上記実施形態では、行動を分析する対象となる対象者として、フロア100において作業を行う作業者40を例示したが、これに限られず、カメラ20による撮像範囲と一部が重複する行動範囲において行動する任意の対象者を、分析対象とすることができる。
【0139】
また、「第1情報」は、未検出期間の直前に撮像された第1画像に写っている作業者40の位置に係る情報であればよく、位置座標そのものでなくてもよい。また、「第2情報」は、未検出期間の直後に撮像された第2画像に写っている作業者40の位置に係る情報であればよく、位置座標そのものでなくてもよい。例えば、第1情報及び第2情報は、複数のエリアのうち作業者40が位置するエリアを表す情報等であってもよい。
【0140】
また、「第3情報」は、未検出期間の長さに係る情報であればよく、未検出期間の長さそのものでなくてもよい。例えば、第3情報は、未検出期間の長さが、複数段階の長さ区分のうちいずれの長さ区分に属するかを表す情報等であってもよい。
【0141】
また、行動の分析方法は、上記実施形態に例示した地
図70、ヒートマップ71、滞在時間・移動距離グラフ72、作業割合テーブル73、代表滞在場所テーブル74、タイムチャート75、運搬回数・運搬時間グラフ76、及び分析円グラフ77を用いた方法に限られない。
【0142】
また、上記実施形態では、行動の分析結果(例えば、
図2の地
図70、
図16のヒートマップ71、
図17の滞在時間・移動距離グラフ72、
図18の作業割合テーブル73、
図19の代表滞在場所テーブル74、
図20のタイムチャート75、
図21の運搬回数・運搬時間グラフ76、及び
図22の分析円グラフ77)を表示部13に表示させたが、これに代えて、行動の分析結果を任意の出力部に出力させてもよい。例えば、行動の分析結果を、出力部としての印刷装置により用紙上に印刷させてもよい。
【0143】
また、以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体として記憶部12のHDD、SSDを使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、フラッシュメモリ、CD-ROM等の情報記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0144】
また、上記実施形態における行動分析システム1の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【0145】
本発明の実施の形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
【符号の説明】
【0146】
1 行動分析システム(情報処理システム)
2 作業室
3 工程エリア
4 サブエリア
5 倉庫
6 通路
10 行動分析装置(情報処理装置)
11 処理部
111 マーク検出部
112 骨格検出部
113 作業判定部
114 時刻算出部
115 座標算出部
116 未検出時刻算出部
117 未検出行動推定部
12 記憶部
121 プログラム
122 マーク検出モデル
123 骨格検出モデル
124 作業判定モデル
125 行動推定モデル(機械学習モデル)
126 行動データ領域
1261 作業エリアマスタ
1262 作業者マスタ
1263 作業分類マスタ
1264 行動データテーブル
1265 集計テーブル
1266 個別集計テーブル
127 画像データ領域
13 表示部(出力部)
14 通信部
15 バス
20、20a~20c カメラ(撮像部)
30 撮像画像(画像)
30G 撮像画像群(画像群)
40、40A~40C 作業者(対象者)
41 分析点
42 軸線
50 作業台
60、60a、60b 識別マーク(識別標識)
60b 識別マーク
71 ヒートマップ
72 滞在時間・移動距離グラフ
73 作業割合テーブル
74 代表滞在場所テーブル
75 タイムチャート
76 運搬回数・運搬時間グラフ
77 分析円グラフ
100 フロア
D 骨格データ結合
P1 位置(第1情報)
P2~P4 位置
P5 位置(第2情報)
Ra~Rc 撮像範囲
T1~T5 時刻
ΔT 未検出期間の長さ(第3情報)
d、d1~d7 骨格データ