(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176801
(43)【公開日】2024-12-19
(54)【発明の名称】行動認識方法
(51)【国際特許分類】
G06T 7/20 20170101AFI20241212BHJP
G06T 7/00 20170101ALI20241212BHJP
【FI】
G06T7/20 300
G06T7/00 660B
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023095607
(22)【出願日】2023-06-09
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】竹内 伸一
(72)【発明者】
【氏名】倉持 知貴
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA69
5L096GA51
(57)【要約】
【課題】行動認識の対象とする作業者の行動を適切に認識する。
【解決手段】行動認識方法では、コンピュータが、映像データから作業者の骨格情報を時系列で取得する(S12)。コンピュータが、取得した骨格情報に含まれる作業者の各部位の位置座標を取得する(S21)。コンピュータが、複数の作業者の骨格情報を取得した場合に、作業者毎の位置座標に基づいて、行動認識の対象とする作業者を特定する(S24)。コンピュータが、特定した作業者の骨格情報の時系列に基づいて、作業者の行動を認識する(S43)。なお、行動認識方法では、機械学習により予め学習された学習済みモデルを用いることにより、作業者の行動を認識してもよい。
【選択図】
図2
【特許請求の範囲】
【請求項1】
コンピュータが、
映像データから作業者の骨格情報を時系列で取得することと、
取得した前記骨格情報に含まれる前記作業者の各部位の位置座標を取得することと、
複数の前記作業者の前記骨格情報を取得した場合に、前記作業者毎の前記位置座標に基づいて、行動認識の対象とする前記作業者を特定することと、
特定した前記作業者の前記骨格情報の時系列に基づいて、前記作業者の行動を認識することと、
を実行する
行動認識方法。
【請求項2】
前記コンピュータが、
複数の前記作業者の前記骨格情報を取得した場合に、前記作業者毎の前記位置座標の時系列に基づいて、当該作業者の移動速度である作業者速度を前記作業者毎に算出することと、
算出した前記作業者速度が予め定められた規定作業者速度よりも高い前記作業者を除いた上で、対象とする前記作業者を特定することと、
を実行する
請求項1に記載の行動認識方法。
【請求項3】
前記コンピュータが、
複数の前記作業者の前記骨格情報を取得した場合に、取得した前記骨格情報に含まれる右肩の前記位置座標と、取得した前記骨格情報に含まれる左肩の前記位置座標との位置関係に基づいて、対象とする前記作業者を特定することと、
を実行する
請求項1又は請求項2に記載の行動認識方法。
【請求項4】
前記コンピュータが、
特定した前記作業者の前記骨格情報の時系列に基づいて、前記骨格情報に含まれる予め定められた特定部位の移動速度である特定部位速度を算出することと、
前記特定部位の前記位置座標の時系列のうち、算出した前記特定部位速度が予め定められた規定部位速度よりも高い前記特定部位の前記位置座標をノイズデータとしたとき、
特定した前記作業者の前記骨格情報の時系列から前記ノイズデータを除いた認識対象情報を生成することと、
特定した前記作業者の前記認識対象情報に基づいて、前記作業者が行う行動を認識することと、
を実行する
請求項1又は請求項2に記載の行動認識方法。
【請求項5】
前記コンピュータが、
算出した前記特定部位速度が前記規定部位速度以下である前記特定部位の前記位置座標を、代替データとして生成することと、
前記ノイズデータを除いた上で、当該ノイズデータに代えて前記代替データを付加した情報を、前記認識対象情報として生成することと、
を実行する
請求項4に記載の行動認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行動認識方法に関する。
【背景技術】
【0002】
特許文献1の行動認識システムは、行動認識装置と、カメラとを備えている。行動認識装置は、カメラから映像データを取得する。また、行動認識装置は、映像データから作業者の骨格情報を時系列で取得する。そして、行動認識装置は、取得した骨格情報の時系列に基づいて、作業者の行動を認識する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1のような行動認識システムでは、カメラから取得した映像データに複数の作業者が映り込むことがある。この場合、行動認識装置は、複数の作業者の骨格情報を取得することがある。特許文献1のような行動認識装置は、上記のように複数の作業者の骨格情報を取得する場合について着目していないため、行動認識の対象とするべき作業者の行動を、期待どおりに認識できないおそれがある。
【課題を解決するための手段】
【0005】
上記課題を解決するための行動認識方法は、コンピュータが、映像データから作業者の骨格情報を時系列で取得することと、取得した前記骨格情報に含まれる前記作業者の各部位の位置座標を取得することと、複数の前記作業者の前記骨格情報を取得した場合に、前記作業者毎の前記位置座標に基づいて、行動認識の対象とする前記作業者を特定することと、特定した前記作業者の前記骨格情報の時系列に基づいて、前記作業者の行動を認識することと、を実行する。
【発明の効果】
【0006】
上記構成によれば、複数の作業者の骨格情報を取得した場合には、行動認識の対象とする作業者が特定される。そして、特定された作業者の骨格情報の時系列に基づくことで、対象とする作業者の行動を適切に認識できる。すなわち、行動認識の対象外である作業者の行動が、行動認識の対象である行動者に対する行動の認識に影響を及ぼすことを低減できる。
【図面の簡単な説明】
【0007】
【
図1】
図1は、行動認識システムの概略構成図である。
【
図2】
図2は、認識制御を示すフローチャートである。
【
図3】
図3は、作業者の骨格情報に関する説明図である。
【発明を実施するための形態】
【0008】
<行動認識システムの概略構成>
以下、本発明の一実施形態を
図1~
図3にしたがって説明する。先ず、行動認識システム10の概略構成について説明する。
【0009】
図1に示すように、行動認識システム10は、コンピュータ20、入力デバイス30、カメラ40、及びディスプレイ50を備えている。
入力デバイス30は、例えば、キーボード、及びポインティングデバイスを含んでいる。カメラ40は、被写体の映像である映像データDPを検出する。本実施形態において、カメラ40は、行動認識の対象とする作業者が作業する場所の近傍に位置している。また、カメラ40は、行動認識の対象とする作業者の様子を、当該作業者の正面から撮影可能な場所に位置している。さらに、カメラ40は、行動認識の対象とする作業者が作業する場所を向いている。なお、行動認識の対象とする作業者の一例は、自動車の部品の組み立て作業を行う作業者である。ディスプレイ50は、各種の情報を表示可能である。
【0010】
コンピュータ20は、実行装置21、及び記憶装置22を備えている。実行装置21の一例は、CPUである。記憶装置22は、読み出しのみが可能なROMと、読み出し及び書き込みが可能な揮発性のRAMと、読み出し及び書き込みが可能な不揮発性のストレージとを含んでいる。記憶装置22は、各種のプログラム及び各種のデータを予め記憶している。また、記憶装置22は、各種のプログラムの一つとして行動認識プログラム22Aを予め記憶している。さらに、記憶装置22は、各種のデータの一つとして写像データ22Bを予め記憶している。写像データ22Bは、所定の入力変数と、作業者の行動を示す出力変数との関係性である写像が、実行装置21が実行可能な形式で記述されたものである。写像データ22Bで記述された写像は、機械学習により予め学習されたものである。なお、写像データ22Bについての具体的な説明は後述する。実行装置21は、記憶装置22に記憶された行動認識プログラム22Aを実行することにより、行動認識方法における各種の処理を実現する。コンピュータ20の一例は、いわゆるパーソナルコンピュータである。
【0011】
コンピュータ20は、入力デバイス30、及びカメラ40からの信号を取得する。すなわち、コンピュータ20は、カメラ40から映像データDPを取得する。このとき、実行装置21は、映像データDPを記憶装置22に記憶する。また、コンピュータ20は、ディスプレイ50に対して制御信号を出力することにより、ディスプレイ50で各種の情報を表示する。
【0012】
<認識制御>
次に、
図2を参照して、コンピュータ20が実行する認識制御について説明する。この認識制御は、行動認識の対象とする作業者の行動を認識するための制御である。本実施形態において、コンピュータ20は、予め定められた制御周期毎に、認識制御を実行する。
【0013】
図2に示すように、コンピュータ20の実行装置21は、認識制御を開始すると、ステップS11の処理を実行する。ステップS11において、実行装置21は、ステップS11の処理時点から予め定められた規定期間PR前までの映像データDPを記憶装置22から取得する。規定期間PRの一例は、数秒~十数秒である。ステップS11の後、実行装置21は、処理をステップS12に進める。
【0014】
ステップS12において、実行装置21は、規定期間PRの映像データDPから、当該映像データDPに含まれる作業者について骨格情報ISを時系列で取得する。具体的には、実行装置21は、規定期間PRの映像データDPに含まれる複数のフレームを取得する。そして、実行装置21は、骨格検出などと呼ばれる処理を行うことにより、各フレームに含まれる作業者の骨格情報ISを取得する。このとき、実行装置21は、フレームに含まれる全ての作業者について骨格情報ISを取得する。なお、骨格情報ISを取得する処理としては、例えば、特開2022-003434号公報、特開2019-071008号公報に記載される技術を利用できる。ステップS12の後、実行装置21は、処理をステップS21に進める。
【0015】
ステップS21において、実行装置21は、作業者の骨格情報ISの時系列について、すなわち複数のフレームに含まれる骨格情報ISについて、骨格情報ISに含まれる部位の位置座標PCを取得する。
図3に示すように、骨格情報ISに含まれ作業者の部位は、頭A、右肩B、右肘C、右手D、右腰E、左肩F、左肘G、左手H、及び左腰Iの合計9つの部位である。また、位置座標PCは、X軸及びY軸の直交座標系で表現される。本実施形態において、X軸は、垂直方向に直交する軸線である。また、Y軸は、垂直方向に沿う軸線である。なお、実行装置21は、全ての作業者について、各作業者の骨格情報ISに含まれる部位の位置座標PCを取得する。
図2に示すように、ステップS21の後、実行装置21は、処理をステップS22に進める。
【0016】
図2に示すように、ステップS22において、実行装置21は、位置座標PCの時系列に基づいて、当該位置座標PCに対応する作業者の移動速度である作業者速度SWを算出する。例えば、実行装置21は、頭Aに対応する位置座標PCのX軸上の位置を示す値の単位時間当たりの変動量の絶対値に基づいて、作業者速度SWを算出する。ここで、ステップS12において取得した、ある作業者の骨格情報ISの時系列として、合計N組のデータが存在するものとする。なお、「N」は、2以上の整数である。また、N個のデータのうち古いものから順に、第1時点のデータ、第2時点のデータ、・・・第N時点のデータとする。この場合、ステップS22において、実行装置21は、第1時点と第2時点とについての頭Aに対応する位置座標PCのX軸上の位置を示す値の差の絶対値を、第1時点と第2時点とについての単位時間当たりの変動量の絶対値として算出する。同様に、実行装置21は、第2時点と第3時点とについての頭Aに対応する位置座標PCのX軸上の位置を示す値の差の絶対値を、第2時点と第3時点とについての単位時間当たりの変動量の絶対値として算出する。また、実行装置21は、第N-1時点と第N時点とについての頭Aに対応する位置座標PCのX軸上の位置を示す値の差の絶対値を、第N-1時点と第N時点とについての単位時間当たりの変動量の絶対値として算出する。そして、実行装置21は、算出した単位時間当たりの変動量の絶対値の平均値を、作業者速度SWとして算出する。なお、例えば、第N-1時点で頭Aに対応する位置座標PCを取得できなかったとする。この場合、第N-2時点から第N-1時点までの単位時間当たりの変動量の絶対値、及び第N-1時点から第N時点までの単位時間当たりの変動量の絶対値は、算出できない。したがって、上記の場合、第N-2時点から第N-1時点までの単位時間当たりの変動量の絶対値、及び第N-1時点から第N時点までの単位時間当たりの変動量の絶対値は、上記の平均値の算出には用いらない。その結果、例えば歩いている作業者の作業者速度SWは、ある地点で作業をしている作業者の作業者速度SWに比べて高くなる傾向がある。なお、実行装置21は、全ての作業者について、各作業者の作業者速度SWを算出する。ステップS22の後、実行装置21は、処理をステップS23に進める。
【0017】
ステップS23において、実行装置21は、位置座標PCの時系列に基づいて、累積期間PAを算出する。具体的には、実行装置21は、規定期間PRのうち、右肩Bに対応する位置座標PCのX軸上の位置を示す値が、左肩Fに対応する位置座標PCのX軸上の位置を示す値よりも小さくなっている期間の累積値を、累積期間PAとして算出する。したがって、
図3に示すように、作業者の身体がカメラ40に向いている状態が長いほど、累積期間PAは大きくなる。本実施形態において、累積期間PAは、右肩Bに対応する位置座標PCと、左肩Fに対応する位置座標PCとの位置関係を示す値である。
図2に示すように、ステップS23の後、実行装置21は、処理をステップS24に進める。
【0018】
図2に示すように、ステップS24において、実行装置21は、作業者毎の位置座標PCに基づいて、行動認識の対象とする作業者を特定する。例えば、ステップS12において実行装置21が複数の作業者の骨格情報ISを取得したとする。この場合、実行装置21は、複数の作業者のうち、作業者速度SWが予め定められた規定作業者速度SWAよりも高い作業者を除いた作業者を抽出する。なお、規定作業者速度SWAは、歩く等により移動している作業者を除くために予め定められた閾値である。規定作業者速度SWAは、実験及びシミュレーションにより定めることができる。さらに、実行装置21は、抽出した作業者のうち、累積期間PAが最も長い作業者を、行動認識の対象とする作業者として特定する。換言すると、実行装置21は、複数の作業者のうち、移動している作業者を除いた上で、身体がカメラ40に向いている状態が最も長い作業者を、行動認識の対象とする作業者として特定する。ステップS24の後、実行装置21は、処理をステップS31に進める。
【0019】
ステップS31において、実行装置21は、ステップS24で特定した作業者の骨格情報ISに含まれる右手Dに対応する位置座標PCに基づいて、当該右手Dの移動速度である右手速度SSDを算出する。ここで、特定した作業者の骨格情報ISの時系列として、合計N組のデータが存在するものとする。なお、「N」は、2以上の整数である。また、N個のデータのうち古いものから順に、第1時点のデータ、第2時点のデータ、・・・第N時点のデータとする。この場合、実行装置21は、例えば以下のように右手速度SSDを算出する。実行装置21は、第1時点における右手Dに対応する位置座標PCと、第2時点における右手Dに対応する位置座標PCとのユークリッド距離を、第2時点における右手速度SSDとする。同様に、実行装置21は、第2時点における右手Dに対応する位置座標PCと、第3時点における右手Dに対応する位置座標PCとのユークリッド距離を、第3時点における右手速度SSDとする。なお、上と同じ要領で、実行装置21は、第N時点までの右手速度SSDを算出する。
【0020】
また、実行装置21は、ステップS24で特定した作業者の骨格情報ISに含まれる左手Hに対応する位置座標PCに基づいて、左手Hの移動速度である左手速度SSHを算出する。例えば、実行装置21は、第1時点における左手Hに対応する位置座標PCと、第2時点における左手Hに対応する位置座標PCとのユークリッド距離を、第2時点における左手速度SSHとする。同様に、第2時点における左手Hに対応する位置座標PCと、第3時点における左手Hに対応する位置座標PCとのユークリッド距離を、第3時点における左手速度SSHとする。なお、上と同じ要領で、実行装置21は、第N時点までの左手速度SSHを算出する。本実施形態において、右手速度SSD及び左手速度SSHのそれぞれは、予め定められた特定部位の移動速度である特定部位速度に相当する。ステップS31の後、実行装置21は、処理をステップS32に進める。
【0021】
ステップS32において、実行装置21は、ステップS31で算出した右手速度SSDに基づいて、右手ノイズデータDNDを特定する。具体的には、実行装置21は、第2時点から第N時点までの右手速度SSDのうち、予め定められた規定右手速度よりも高い右手速度SSDを抽出する。そして、実行装置21は、抽出した右手速度SSDに対応する位置座標PCを、右手ノイズデータDNDとして特定する。例えば抽出した右手速度SSDが第N時点の右手速度SSDである場合、実行装置21は、第N時点における右手Dに対応する位置座標PCを、右手ノイズデータDNDとして特定する。すなわち、右手ノイズデータDNDは、右手Dに対応する位置座標PCの時系列のうち、予め定められた規定右手速度よりも高い右手速度SSDに対応する位置座標PCである。なお、規定右手速度は、作業者が行う作業工程での想定を超える右手速度SSDを抽出するための閾値である。
【0022】
また、実行装置21は、ステップS31で算出した左手速度SSHに基づいて、左手ノイズデータDNHを特定する。具体的には、実行装置21は、第2時点から第N時点までの左手速度SSHのうち、予め定められた規定左手速度よりも高い左手速度SSHを抽出する。そして、実行装置21は、抽出した左手速度SSHに対応する位置座標PCを、左手ノイズデータDNHとして特定する。例えば抽出した左手速度SSHが第N時点の左手速度SSHである場合、実行装置21は、第N時点における左手Hに対応する位置座標PCを、左手ノイズデータDNHとして特定する。すなわち、左手ノイズデータDNHは、左手Hに対応する位置座標PCの時系列のうち、予め定められた規定左手速度よりも高い左手速度SSHに対応する位置座標PCである。なお、規定左手速度は、作業者が行う作業工程での想定を超える左手速度SSHを抽出するための閾値である。本実施形態において、右手ノイズデータDND及び左手ノイズデータDNHのそれぞれは、ノイズデータである。また、規定右手速度及び規定左手速度のそれぞれは、規定部位速度である。ステップS32の後、実行装置21は、処理をステップS33に進める。
【0023】
ステップS33において、実行装置21は、右手Dに対応する位置座標PCに基づいて、右手代替データDADを生成する。例えば、ステップS32で特定した右手ノイズデータDNDが第N時点における右手Dに対応する位置座標PCであるとする。この場合、実行装置21は、第N-1時点における右手Dに対応する位置座標PCと、第N-2時点における右手Dに対応する位置座標PCとの平均値を、第N時点の右手代替データDADとして生成する。したがって、右手代替データDADは、右手速度SSDが予め定められた規定右手速度以下である右手Dに対応する位置座標PCに相当する。なお、例えば、ステップS32で特定した右手ノイズデータDNDが第2時点における右手Dに対応する位置座標PCである場合、実行装置21は、第1時点における右手Dに対応する位置座標PCと同じものを、第2時点の右手代替データDADとして生成する。
【0024】
また、実行装置21は、左手Hに対応する位置座標PCに基づいて、左手代替データDAHを生成する。例えば、ステップS32で特定した左手ノイズデータDNHが第N時点における左手Hに対応する位置座標PCであるとする。この場合、実行装置21は、第N-1時点における左手Hに対応する位置座標PCと、第N-2時点における左手Hに対応する位置座標PCとの平均値を、第N時点の左手代替データDAHとして生成する。したがって、左手代替データDAHは、左手速度SSHが予め定められた規定左手速度以下である左手Hに対応する位置座標PCに相当する。なお、例えば、ステップS32で特定した左手ノイズデータDNHが第2時点における左手Hに対応する位置座標PCである場合、実行装置21は、第1時点における左手Hに対応する位置座標PCと同じものを、第2時点の左手代替データDAHとして生成する。本実施形態において、右手代替データDAD及び左手代替データDAHのそれぞれは、代替データである。ステップS33の後、実行装置21は、処理をステップS34に進める。
【0025】
ステップS34において、実行装置21は、ステップS24で特定した作業者の骨格情報IS、右手代替データDAD、及び左手代替データDAHに基づいて、認識対象情報IRを生成する。具体的には、実行装置21は、ステップS24で特定した作業者の骨格情報ISのうち、右手ノイズデータDNDを除いた上で、当該右手ノイズデータDNDに代えて右手代替データDADを付加した情報を生成する。さらに、実行装置21は、右手代替データDADを付加した情報のうち、左手ノイズデータDNHを除いた上で、当該左手ノイズデータDNHに代えて左手代替データDAHを付加した情報を、認識対象情報IRとして生成する。ステップS34の後、実行装置21は、処理をステップS41に進める。
【0026】
ステップS41において、実行装置21は、認識対象情報IRを、写像データ22Bで記述された写像への入力変数として生成する。ここで、認識対象情報IRに含まれる骨格情報ISの時系列として、合計N組のデータが存在するものとする。なお、「N」は、2以上の整数である。また、N個のデータのうち古いものから順に、第1時点のデータ、第2時点のデータ、・・・第N時点のデータとする。また、上述したように、認識対象情報IRに含まれる骨格情報ISは、合計9つの部位を含んでいる。そして、部位に対応する位置座標PCは、X軸上の位置を示す値、及びY軸上の位置を示す値を含むものである。したがって、各骨格情報ISは、合計18種の数値を含んでいる。ステップS41において、実行装置21は、入力変数x(1)~入力変数x(18)に、第1時点の骨格情報ISに含まれる18種の数値を1つずつ順に代入する。同様に、実行装置21は、入力変数x(19)~入力変数x(36)に、第2時点の骨格情報ISに含まれる18種の数値を1つずつ順に代入する。上と同じ要領で入力変数を生成することにより、実行装置21は、入力変数x(1)~入力変数x(18×N)を生成する。なお、以下では、ステップS41で生成された入力変数の種類の数を、「Z」として記載する。ステップS41の後、実行装置21は、処理をステップS42に進める。
【0027】
ステップS42において、実行装置21は、写像データ22Bで記述された写像に、入力変数x(1)~入力変数x(Z)及びバイアスパラメータとしての入力変数x(0)を入力することによって、出力変数y(i)の値を算出する。
【0028】
写像データ22Bで記述された写像の一例は、関数近似器であり、中間層が1層の全結合順伝搬型のニューラルネットワークである。具体的には、写像では、入力変数x(1)~入力変数x(Z)及びバイアスパラメータとしての入力変数x(0)が、係数wFjk(j=1~m、k=0~Z)によって規定される線形写像にて変換された「m」個の値のそれぞれが活性化関数fに代入される。その結果、中間層のノードの値が定まる。また、係数wSij(i=1~P)によって規定される線形写像によって中間層のノードの値が変換された値のそれぞれが活性化関数gに代入されることによって、出力変数y(1)~出力変数y(P)が定まる。なお、ステップS42における出力変数の種類の数を「P」として記載している。ここで、出力変数の種類の数である「P」は、作業者が行う作業工程の種類の数と同じである。すなわち、例えば、作業者が行う作業工程が第1工程~第10工程まで存在する場合、「P」は、「10」である。本実施形態において、活性化関数fの一例は、ReLU関数である。また、活性化関数gの一例は、ソフトマックス関数である。したがって、出力変数y(1)~出力変数y(P)は、それらに対応する作業工程が行われている確率を示すものである。
【0029】
写像データ22Bで記述された写像は、例えば以下のように予め学習されたものである。ここで、例えば作業者が行う作業工程が第1工程~第10工程まで存在するものとする。この場合、先ず、第1工程を認識させるための学習にあたっては、第1工程の作業を作業者に正しい手順で行わせつつ、上と同じ要領で、入力変数x(1)~入力変数x(Z)を生成する。このとき、生成した入力変数x(1)~入力変数x(Z)を、学習に使用するデータとする。また、第1工程を正解ラベルとする。すなわち、出力変数y(1)の値を「1」とする一方、出力変数y(2)~出力変数y(P)の値を「0」とする。このようなデータを写像に入力することで、機械学習により写像を学習する。同様に、第2工程を認識させるための学習にあたっては、第2工程の作業を作業者に正しい手順で行わせつつ、上と同じ要領で、入力変数x(1)~入力変数x(Z)を生成する。このとき、生成した入力変数x(1)~入力変数x(Z)を、学習に使用するデータとする。また、第2工程を正解ラベルとする。すなわち、出力変数y(2)の値を「1」とする一方、出力変数y(1)及び出力変数y(3)~出力変数y(P)の値を「0」とする。このようなデータを写像に入力することで、機械学習により写像を学習する。なお、上と同じ要領で、第3工程~第10工程についても機械学習により写像を学習する。ステップS42の後、実行装置21は、処理をステップS43に進める。
【0030】
ステップS43において、実行装置21は、出力変数y(1)~出力変数y(P)に基づいて、行動認識の対象とする作業者が行う作業工程を特定する。具体的には、実行装置21は、出力変数y(1)~出力変数y(P)のうちの最大値を特定する。そして、実行装置21は、最大値に対応する作業工程を、作業者が行う作業工程として特定する。例えば、出力変数y(1)が最大値である場合、実行装置21は、第1工程を、作業者が行う作業工程として特定する。なお、実行装置21は、特定した作業工程を記憶装置22に記憶する。本実施形態において、ステップS43の処理は、行動認識の対象とする作業者が行う行動を認識する処理である。なお、上述したように、写像データ22Bで記述された写像への入力変数は認識対象情報IRに含まれる骨格情報ISの時系列に基づいているため、実行装置21は、骨格情報ISの時系列に基づいて、行動認識の対象とする作業者が行う行動を認識する。ステップS43の後、実行装置21は、処理をステップS51に進める。
【0031】
ステップS51において、実行装置21は、予め定められた正常条件を満たすか否かを判定する。本実施形態において、正常条件は、以下の要件(1)及び要件(2)の何れかを満たすことである。
【0032】
要件(1):今回の認識制御で特定した作業工程が、1回前の認識制御で特定した作業工程と同じである。
要件(2):今回の認識制御で特定した作業工程が、1回前の認識制御で特定した作業工程の次の作業工程である。
【0033】
ステップS51において、正常条件を満たすと実行装置21が判定した場合(S51:YES)、実行装置21は、処理をステップS61に進める。ステップS61において、実行装置21は、作業者の作業工程が正しいと判定する。ステップS61の後、実行装置21は、今回の認識制御を終了する。そして、実行装置21は、再び処理をステップS11に進める。
【0034】
一方、ステップS51において、正常条件を満たさないと実行装置21が判定した場合(S51:NO)、実行装置21は、処理をステップS71に進める。なお、例えば、1回前の認識制御で特定した作業工程が第1工程であり、且つ、今回の認識制御で特定した作業工程が第3工程である場合に、実行装置21は、正常条件を満たさないと判定する。
【0035】
ステップS71において、実行装置21は、作業者の作業工程が誤っていると判定する。ステップS71の後、実行装置21は、処理をステップS72に進める。ステップS72において、実行装置21は、ディスプレイ50に制御信号を出力することにより、ディスプレイ50において作業者の作業工程が誤っていることを表示する。ステップS72の後、実行装置21は、今回の認識制御を終了する。そして、実行装置21は、再び処理をステップS11に進める。
【0036】
<本実施形態の作用>
図2に示すように、ステップS12において、実行装置21は、規定期間PRの映像データDPから、当該映像データDPに含まれる作業者についての骨格情報ISを時系列で取得する。また、ステップS21において、実行装置21は、各骨格情報ISに含まれる部位の位置座標PCを取得する。ステップS22において、実行装置21は、位置座標PCの時系列に基づいて、当該位置座標PCに対応する作業者の移動速度である作業者速度SWを算出する。さらに、ステップS23において、実行装置21は、位置座標PCの時系列に基づいて、右肩Bに対応する位置座標PCと、左肩Fに対応する位置座標PCとの位置関係を示す累積期間PAを算出する。そして、ステップS24において、実行装置21は、作業者毎の位置座標PCに基づいて、具体的には作業者速度SW及び累積期間PAに基づいて、行動認識の対象とする作業者を特定する。
【0037】
<本実施形態の効果>
(1)仮に、ステップS12において実行装置21が複数の作業者の骨格情報ISを取得したとしても、行動認識の対象とするべき作業者であるかそうでないかによって、各作業者の作業者速度SW及び累積期間PAには差異が生じるはずである。そのため、作業者毎の骨格情報ISに含まれる位置座標PCの時系列に基づくことで、ステップS24において行動認識の対象とする作業者を特定可能である。これにより、ステップS41~ステップS43において行動認識の対象とする作業者が行う作業工程を適切に認識できる。すなわち、行動認識の対象外である作業者の行動が、行動認識の対象である作業者の行動の認識に影響を及ぼすことを抑制できる。
【0038】
(2)ステップS12において、実行装置21は、例えば、ある地点で作業している対象の作業者の骨格情報ISだけでなく、対象の作業者の近傍を歩く等により移動している作業者の骨格情報ISを取得することがある。この場合、移動している作業者の作業者速度SWは、ある地点で移動せずに作業をしている作業者の作業者速度SWに比べて高くなる。
【0039】
この点、ステップS24において、実行装置21は、複数の作業者のうち、作業者速度SWが予め定められた規定作業者速度SWAよりも高い作業者を除いた上で、行動認識の対象とする作業者を特定する。このように、移動している作業者を除くことで、行動認識の対象とする作業者をより確実に特定できる。
【0040】
(3)行動認識の対象とする作業者と、その作業者の映像データDPを取得するためのカメラ40との位置関係が同じであれば、映像データDP上において、行動認識の対象とする作業者の身体の向きは、略同じ向きになっている可能性が高い。
【0041】
この点、ステップS23において、実行装置21は、位置座標PCの時系列に基づいて、累積期間PAを算出する。ここで、累積期間PAは、規定期間PRのうち、右肩Bに対応する位置座標PCのX軸上の位置を示す値が、左肩Fに対応する位置座標PCのX軸上の位置を示す値よりも小さくなっている期間の累積値である。そして、ステップS24において、実行装置21は、複数の作業者のうち、累積期間PAが最も長い作業者を、行動認識の対象とする作業者として特定する。これにより、右肩Bに対応する位置座標PCと、左肩Fに対応する位置座標PCとの位置関係に基づくことで、映像データDP上において身体の向きが略同じになっている作業者、すなわち行動認識の対象とする作業者をより確実に特定できる。
【0042】
(4)行動認識の対象とする作業者は、例えば右手Dで頭Aを触るなどの不要な動作を行うことがある。仮に、上記のような不要な動作が含まれた骨格情報ISに基づいて、ステップS41~ステップS43において作業者が行う作業工程を認識すると、適切に作業工程を認識できない可能性がある。
【0043】
この点、ステップS32において、実行装置21は、右手Dに対応する位置座標PCの時系列のうち、予め定められた規定右手速度よりも高い右手速度SSDに対応する位置座標PCを、右手ノイズデータDNDとして特定する。また、ステップS34において、実行装置21は、ステップS24で特定した作業者の骨格情報ISのうち、右手ノイズデータDNDを除いた上で、認識対象情報IRを生成する。そして、ステップS41~ステップS43において、実行装置21は、認識対象情報IRに基づいて、作業者が行う作業工程を認識する。これにより、行動認識の対象とする作業者の不要な動作を除くことで、作業者が行う作業工程をより適切に認識できる。
【0044】
(5)ステップS33において、実行装置21は、右手Dに対応する位置座標PCに基づいて、右手代替データDADを生成する。この右手代替データDADは、右手速度SSDが予め定められた規定右手速度以下である右手Dに対応する位置座標PCである。そして、ステップS34において、実行装置21は、ステップS24で特定した作業者の骨格情報ISのうち、右手ノイズデータDNDを除いた上で、右手ノイズデータDNDに代えて右手代替データDADを付加した情報を用いて、認識対象情報IRを生成する。これにより、右手ノイズデータDNDを除いたことに起因して、作業者が行う作業工程を認識できない、といった事態が生じることは抑制できる。
【0045】
<変更例>
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0046】
・上記実施形態において、認識制御は変更してもよい。
例えば、ステップS21において、位置座標PCを取得する作業者の部位は変更してもよい。具体例として、実行装置21は、骨格情報ISから、頭A、右肩B、右肘C、右手D、右腰E、左肩F、左肘G、左手H、及び左腰Iに代えて、又は加えて、作業者の他の部位の位置座標PCを取得してもよい。また、具体例として、実行装置21は、骨格情報ISから、合計9つの部位に限らず、8つ以下の部位、又は10つ以上の部位の位置座標PCを取得してもよい。
【0047】
・例えば、ステップS22において、作業者速度SWの算出の仕方は変更してもよい。具体例として、実行装置21は、頭Aに対応する位置座標PCに代えて、又は加えて、右腰Eに対応する位置座標PCのX軸上の位置を示す値の単位時間当たりの変動量の絶対値に基づいて、作業者速度SWを算出してもよい。
【0048】
・例えば、ステップS23において、累積期間PAの算出の仕方は変更してもよい。具体例として、カメラ40は、行動認識の対象とする作業者の様子を、当該作業者の背面から撮影可能な場所に位置しているとする。この場合、実行装置21は、規定期間PRのうち、右肩Bに対応する位置座標PCのX軸上の位置を示す値が、左肩Fに対応する位置座標PCのX軸上の位置を示す値よりも大きくなっている期間の累積値を、累積期間PAとして算出すればよい。
【0049】
・例えば、ステップS24において、行動認識の対象とする作業者の特定の仕方は変更してもよい。具体例として、作業者速度SWに拘わらず、実行装置21は、複数の作業者のうち、累積期間PAが最も長い作業者を、行動認識の対象とする作業者として特定してもよい。この場合、ステップS22の処理を省略できる。
【0050】
また、具体例として、累積期間PAに拘わらず、実行装置21は、複数の作業者のうち、作業者速度SWが最も低い作業者を、行動認識の対象とする作業者として特定してもよい。この場合、ステップS23の処理を省略できる。
【0051】
・例えば、ステップS31において、実行装置21は、右手速度SSD及び左手速度SSHに加えて、又は代えて、他の部位の速度を、特定部位速度として算出してもよい。具体例として、実行装置21は、ステップS24で特定した作業者の骨格情報ISに含まれる右肘Cに対応する位置座標PCに基づいて、当該右肘Cの移動速度である右肘速度を算出してもよい。なお、この場合、ステップS32において、実行装置21は、ステップS31で算出した右肘速度に基づいて、ノイズデータを特定すればよい。すなわち、ステップS31において算出する特定部位速度に合わせて、ステップS32において特定するノイズデータは変更すればよい。また、同様に、ステップS31において算出する特定部位速度に合わせて、ステップS33において生成する代替データは変更すればよい。
【0052】
・例えば、ステップS34において、認識対象情報IRの生成の仕方は変更してもよい。具体例として、実行装置21は、ステップS24で特定した作業者の骨格情報ISのうち、右手ノイズデータDNDを除く一方で、右手代替データDADを付加せずに、認識対象情報IRを生成してもよい。このとき、例えば第N時点の骨格情報ISから第N時点の右手ノイズデータDNDを除いた場合、実行装置21は、第1時点の骨格情報ISから第N-1時点の骨格情報ISまでの情報を、認識対象情報IRとして生成してもよい。すなわち、実行装置21は、必ずしも右手代替データDADを付加しなくてもよい。なお、同様に、実行装置21は、必ずしも左手代替データDAHを付加しなくてもよい。この場合、ステップS33の処理を省略できる。
【0053】
具体例として、実行装置21は、ステップS24で特定した作業者の骨格情報ISを、認識対象情報IRとして生成してもよい。すなわち、実行装置21は、必ずしも右手ノイズデータDNDを除かなくてもよい。なお、同様に、実行装置21は、必ずしも左手ノイズデータDNHを除かなくてもよい。この場合、ステップS32の処理を省略できる。
【0054】
・例えば、ステップS72において、報知の仕方は変更してもよい。具体例として、実行装置21は、ディスプレイ50において表示する報知に代えて、又は加えて、例えばスピーカーで音を発生する報知を実行してもよい。
【0055】
・上記実施形態において、行動認識システム10の構成は変更してもよい。
例えば、写像データ22Bで記述された写像の活性化関数は例示であり、写像の活性化関数は変更してもよい。
【0056】
・例えば、写像データ22Bで記述された写像としては、中間層の数が1層のニューラルネットワークを例示したが、中間層の数が2層以上であってもよい。
・例えば、写像データ22Bで記述された写像のニューラルネットワークとして、全結合順伝搬型のニューラルネットワークを例示したが、これに限らない。具体例として、ニューラルネットワークは、回帰結合型ニューラルネットワークであってもよい。また、例えば、写像としての関数近似器は、ニューラルネットワークに限らない。具体例として、写像は、中間層を備えない回帰式であってもよい。
【0057】
・例えば、コンピュータ20は変更してもよい。具体例として、コンピュータ20は、CPUによりソフトウェア処理を実行するものに限らない。一例としては、上記実施形態においてソフトウェア処理されたものの少なくとも一部をハードウェア処理する、例えばASIC等の専用のハードウェア回路を備えてもよい。すなわち、コンピュータ20は、以下の(a)~(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するROM等のプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【符号の説明】
【0058】
DP…映像データ IS…骨格情報 10…行動認識システム 20…コンピュータ 21…実行装置 22…記憶装置 22A…行動認識プログラム 22B…写像データ 30…入力デバイス 40…カメラ 50…ディスプレイ