(57)【要約】【課題】作業者の姿勢を低コストかつ高精度に分析すること。【解決手段】分析装置１０は、画像データ１８を入力とした画像認識により、画像データ１８に写る人物の関節位置を示す特徴点データを含む骨格データ１９を取得する骨格抽出部１１と、骨格データ１９ごとに姿勢ラベルが対応づけられている姿勢モデル２２ｂの記憶部と、骨格抽出部１１が取得した骨格データ１９をもとに、姿勢モデル２２ｂに予め決められた姿勢ラベルから、画像データ１８に写る人物の姿勢を判別する姿勢推定部１３ｂと、姿勢推定部１３ｂによる判別の結果に基づき、骨格抽出部１１が取得した骨格データ１９の特徴点データをマーキングして表示する出力部１４とを有する。【選択図】  図１
2020201772.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力とした画像認識により、前記画像データに写る人物の関節位置を示す特徴点データを含む骨格データを取得する骨格抽出部、
前記骨格データごとに姿勢ラベルが対応づけられている姿勢モデルの記憶部、
前記骨格抽出部が取得した前記骨格データをもとに、前記姿勢モデルに予め決められた前記姿勢ラベルから、前記画像データに写る人物の姿勢を判別する姿勢推定部、としてコンピュータを機能させるための
姿勢分析プログラム。
【請求項２】
前記姿勢推定部による判別の結果に基づき、前記骨格抽出部が取得した前記骨格データの特徴点データをマーキングして表示する出力部としてコンピュータを機能させることを特徴とする
請求項１に記載の姿勢分析プログラム。
【請求項３】
前記姿勢推定部による判別の結果に基づき、時系列の各前記画像データに対して、前記骨格抽出部が取得した前記骨格データを表示する出力部としてコンピュータを機能させることを特徴とする
請求項１に記載の姿勢分析プログラム。
【請求項４】
前記骨格データごとに入力された正解ラベルである前記姿勢ラベルを学習データとして前記姿勢モデルを機械学習する姿勢学習部、としてコンピュータを機能させ、
前記姿勢推定部は、さらに、前記姿勢モデルを用いた機械学習の推論により、前記骨格データを入力として前記姿勢ラベルを出力することを特徴とする
請求項１に記載の姿勢分析プログラム。
【請求項５】
前記画像データの一部として定義された背景領域に写る背景前記画像データごとに、入力された正解ラベルである背景ラベルを学習データとして背景モデルを機械学習する背景定義部、
前記背景モデルを用いた機械学習の推論により、背景前記画像データを入力として前記背景ラベルを出力する背景推定部、としてコンピュータを機能させるための
請求項４に記載の姿勢分析プログラム。
【請求項６】
前記画像データの一部として定義された特徴点領域の座標と、特徴点領域内か否かを判定するための特徴点データと、領域ラベルとを対応づけた領域モデルを定義する領域定義部、
前記骨格抽出部が取得した前記骨格データの特徴点データが前記領域モデルの特徴点領域内に存在するときに、対応する前記領域ラベルを出力する領域推定部、としてコンピュータを機能させるための
請求項５に記載の姿勢分析プログラム。
【請求項７】
前記背景推定部が出力する前記背景ラベルを、前記画像データの背景領域に対応づけて重畳表示する出力部としてコンピュータを機能させることを特徴とする
請求項５に記載の姿勢分析プログラム。
【請求項８】
前記姿勢学習部は、前記姿勢推定部が出力した前記姿勢ラベルが修正されたときには、その修正された前記姿勢ラベルをもとに前記姿勢モデルを再学習することを特徴とする
請求項４に記載の姿勢分析プログラム。
【請求項９】
前記姿勢ラベル、前記背景ラベル、および、前記領域ラベルの少なくとも１つから、前記画像データに写る人物が行う作業の手順を特定するための手順モデルをもとに、前記画像データに写る人物が行う作業の手順を特定する手順推定部、
特定した作業の手順ごとの所要時間を表示部に出力する出力部としてコンピュータを機能させることを特徴とする
請求項６に記載の姿勢分析プログラム。
【請求項１０】
画像データを入力とした画像認識により、前記画像データに写る人物の関節位置を示す特徴点データを含む骨格データを取得する骨格抽出部と、
前記骨格データごとに姿勢ラベルが対応づけられている姿勢モデルの記憶部と、
前記骨格抽出部が取得した前記骨格データをもとに、前記姿勢モデルに予め決められた前記姿勢ラベルから、前記画像データに写る人物の姿勢を判別する姿勢推定部とを有することを特徴とする
姿勢分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、姿勢分析プログラム、および、姿勢分析装置に関する。
【背景技術】
【０００２】
製造業の人による作業を伴う生産現場において、また、製品の生産計画や、いわゆる現場改善において、人の作業時間計測は必須とされている。たとえば、組立作業を伴う生産現場においては、多様な組立作業に掛かる作業標準時間（ＳＴ：Standard Time）により、生産計画が立案される。また、作業の改善においては、標準作業との偏差の改善がテーマとなる。
【０００３】
ここで、作業時間の計測のためには、一般的には、PC操作、バーコード読込、ボタン押下などの人が作業の開始と終了を示す何らかの操作を契機にする。または、ドリルのON/OFF、スイッチのON/OFF、装置の稼動を示す電流値などの作業に間接的に係っている装置からデータを取り出すことで、作業時間が計測される場合もある。
しかし、これらの計測手段は、新たな設備の追加や、作業者への負担増につながり、本来業務ではない作業手順であることから実際にそれが行われず、正確にデータ化できないことが多い。
【０００４】
そのため、作業者の作業状況をビデオカメラで記録し、人手によって解析することが一般的になっており、そのための計算機システムあるいは、プログラムが使われている。しかし、長時間記録されたビデオカメラの映像から特定の作業者の状況を解析、記録する作業は長時間におよび、解析者の負担が大きく、映像の解析自動化による解析作業の負担軽減がのぞまれている。
そこで、特許文献１，２では、解析者の目視での解析の代わりに、コンピュータの画像認識により、自動的に作業を解析する手法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１９−１６２２６号公報
【特許文献２】国際公開第２０１９／００３３５５号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画像認識の精度を高めるためには、事前に用意した教師ありの学習データを大量に用意し、その学習データを機械学習して高精度なモデルを生成することが一般的である。しかし、多数の作業者が勤務する製造現場などでは、作業者一人ずつの学習データを用意することは負担が大きい。
そこで、特許文献１の手法では、画像に写っている作業者の頭と手の位置を特徴量として抽出し、その特徴量から作業を特定することで、個々の作業者の体格や性別などに依存しない汎用的な手法を提供している。
【０００７】
一方、作業者の頭と手の位置だけをトレースするだけでは、作業内容を絞り込めないこともある。例えば、手の位置が床に近づいた状態であっても、単にしゃがんだだけなのか、それとも床の荷物を持ち上げているのかというように、細かく作業者の意図を分析することで、作業内容がより正確に特定できる。
しかし、特許文献１，２などの従来の自動認識では、このような詳細な認識モデルは提案されていなかった。
【０００８】
そこで、本発明は、作業者の姿勢を低コストかつ高精度に分析することを、主な課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明の姿勢分析プログラムは、以下の特徴を有する。
姿勢分析プログラムは、
画像データを入力とした画像認識により、前記画像データに写る人物の関節位置を示す特徴点データを含む骨格データを取得する骨格抽出部、
前記骨格データごとに姿勢ラベルが対応づけられている姿勢モデルの記憶部、
前記骨格抽出部が取得した前記骨格データをもとに、前記姿勢モデルに予め決められた前記姿勢ラベルから、前記画像データに写る人物の姿勢を判別する姿勢推定部、としてコンピュータを機能させる。
その他の手段は、後記する。
【発明の効果】
【００１０】
本発明によれば、作業者の姿勢を低コストかつ高精度に分析することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態に関する作業分析システムの構成図である。
【図２】本発明の一実施形態に関する作業分析システムの運用を示すシーケンス図である。
【図３】本発明の一実施形態に関する画像データおよび骨格データの一例を示す図である。
【図４】本発明の一実施形態に関する図３の骨格データを構成する特徴点データを示すテーブルである。
【図５】本発明の一実施形態に関する領域に関する処理部を示す構成図である。
【図６】本発明の一実施形態に関する姿勢に関する処理部を示す構成図である。
【図７】本発明の一実施形態に関する背景に関する処理部を示す構成図である。
【図８】本発明の一実施形態に関する手順に関する処理部と、その処理結果を出力する出力部とを示す構成図である。
【図９】本発明の一実施形態に関する背景定義部によるモデル定義を示すフローチャートである。
【図１０】本発明の一実施形態に関するモデル定義の対象となる画像データを示す図である。
【図１１】本発明の一実施形態に関する図１０の画像データから生成される領域モデルの例を示す図である。
【図１２】本発明の一実施形態に関する図１０の画像データから生成される背景モデルの例を示す図である。
【図１３】本発明の一実施形態に関する姿勢学習部によるモデル定義を示すフローチャートである。
【図１４】本発明の一実施形態に関する図１３の姿勢推定部の学習工程におけるＧＵＩ画面図である。
【図１５】本発明の一実施形態に関する図１３の姿勢推定部の学習工程の結果として生成される姿勢モデルを示す図である。
【図１６】本発明の一実施形態に関する手順学習部による学習結果である手順モデルを示す図である。
【図１７】本発明の一実施形態に関する分析部のメイン処理を示すフローチャートである。
【図１８】本発明の一実施形態に関する領域推定部のサブルーチン処理を示すフローチャートである。
【図１９】本発明の一実施形態に関する図１８の処理結果として「部品取り領域」で両手を認識したときの図である。
【図２０】本発明の一実施形態に関する図１８の処理結果として「完成品格納領域」で両手を認識したときの図である。
【図２１】本発明の一実施形態に関する姿勢推定部のサブルーチン処理を示すフローチャートである。
【図２２】本発明の一実施形態に関する図２１の処理に用いられる画像データを示す図である。
【図２３】本発明の一実施形態に関する図２２の画像データに対する推論ラベル（姿勢ラベル）を示す姿勢データの図である。
【図２４】本発明の一実施形態に関する背景推定部のサブルーチン処理を示すフローチャートである。
【図２５】本発明の一実施形態に関する図２４の処理結果として、ドライバが未使用の状態を認識したときの図である。
【図２６】本発明の一実施形態に関する図２４の処理結果として、ドライバが使用中の状態を認識したときの図である。
【図２７】本発明の一実施形態に関する手順推定部が出力する手順データの例を示す図である。
【図２８】本発明の一実施形態に関する図２７の手順データをガントチャート形式で表示した画面図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
【００１３】
図１は、作業分析システムの構成図である。以下では、この作業分析システムを製造業の組み立て現場に導入し、作業者が小型のパソコンを組み立てる作業を分析する場合に適用した一例を説明する。
作業分析システムは、分析装置１０を中心として、ビデオカメラ３１と、ビデオレコーダ３２と、入出力装置３３と、モニタ４１と、記憶装置４２と、アプリケーション装置４３とを含めて構成される。
これらの作業分析システムの各装置は、それぞれ、イーサネット（登録商標）などのネットワーク、USBやその他、ハードウェア・インタフェースとして使用可能な適切なもので接続される。また、作業分析システムの各装置は、単独の装置として構成されていてもよいし、分析装置１０などの計算機システム上のソフトウェアを実行することで実現してもよい。
【００１４】
ビデオカメラ３１は、作業者を被写体として撮影する。ビデオレコーダ３２には、ビデオカメラ３１で撮影した映像が記録されている。入出力装置３３は、グラフィックディスプレイ、マウスを備え、作業者などの利用者に情報表示したり、利用者の指示を受け付けたりする。
モニタ４１と、記憶装置４２と、アプリケーション装置４３とは、それぞれ分析装置１０の分析結果の出力先である（詳細は図８）。
【００１５】
分析装置１０は、例えば、オンプレサーバ、もしくはクラウドサーバのような計算機システムである。分析装置１０は、ＣＰＵ（Central Processing Unit）と、メモリと、ハードディスクなどの記憶手段（記憶部）と、ネットワークインタフェースとを有するコンピュータとして構成される。このコンピュータは、ＣＰＵが、メモリ上に読み込んだプログラム（アプリケーションや、その略のアプリとも呼ばれる）を実行することにより、各処理部により構成される制御部（制御手段）を動作させる。
分析装置１０は、計算機システム上のプログラムを実行することで骨格抽出部１１と、モデル生成部１２と、分析部１３と、出力部１４とを構成する。これらの構成された各処理部は、ハードディスクなどの不揮発メモリ上に蓄えられるデータ（モデルデータ２２、推定結果データ２３）にアクセスする。
【００１６】
骨格抽出部１１は、ビデオカメラ３１またはビデオレコーダ３２から入力された画像データ１８をもとに、骨格データ１９を抽出する。
モデル生成部１２は、学習用の画像データ１８ａ（画像データ１８）と、学習用の骨格データ１９ａ（骨格データ１９）とを入力として、モデルデータ２２を生成して不揮発メモリに保存する。モデルデータ２２には、ユーザから明示的に定義された定義データと、ユーザから入力されたラベルデータを用いた学習結果である学習済データとが存在する。なお、モデル生成部１２は、分析対象の作業に対してモデルデータ２２を基本的には１度作成すればよいが、精度を向上させるために、すでに作成したモデルデータ２２を更新（改良）してもよい。
分析部１３は、分析用の画像データ１８ｂ（画像データ１８）と、分析用の骨格データ１９ｂ（骨格データ１９）とを入力として、モデルデータ２２を用いた推論処理により、推定結果データ２３を求める。
出力部１４は、推定結果データ２３を外部装置（モニタ４１と、記憶装置４２と、アプリケーション装置４３）に出力する。
【００１７】
図２は、作業分析システムの運用を示すシーケンス図である。
深層学習などの機械学習段階において、ビデオカメラ３１から画像取得（Ｓ１０１）された画像データ１８、または、ビデオカメラ３１から画像取得（Ｓ１０２）されてビデオレコーダ３２が記録画像３２Ｄに画像記録（Ｓ１０３）した画像データ１８は、分析装置１０に入力される。
分析装置１０は、利用者から入出力装置３３を介して受けた学習指示（Ｓ１１１）により、学習処理（Ｓ１１２）を実行し、その結果をモデルデータ２２として出力する。
【００１８】
分析段階において、ビデオカメラ３１から画像取得（Ｓ１２１）された画像データ１８、または、ビデオカメラ３１から画像取得（Ｓ１２２）されてビデオレコーダ３２が記録画像３２Ｅに画像記録（Ｓ１２３）した画像データ１８は、分析装置１０に入力される。
分析装置１０は、利用者から入出力装置３３を介して受けた分析指示（Ｓ１３１）により、モデルデータ２２に基づく分析処理（Ｓ１３２）を実行し、その結果を推定結果データ２３として出力する。なお、分析装置１０は、画像取得（Ｓ１２１）された画像データ１８に対して分析処理（Ｓ１３２）をリアルタイムに実行してもよい。また、分析装置１０は、利用者からの分析指示（Ｓ１３１）の操作を介さずに、分析処理（Ｓ１３２）を自動実行してもよい。
そして、分析装置１０の出力部１４は、出力処理（Ｓ１４１）によって推定結果データ２３をアプリケーション装置４３などに出力する。
【００１９】
図３は、画像データ１８および骨格データ１９の一例を示す図である。
画像データ１８は、人物が写っている動画像において、人物ごと、画像フレームごとに１つ生成される。
骨格データ１９は、骨格抽出部１１が画像データ１８から人物の骨格情報を抽出した結果である。骨格データ１９は、人物の特徴点（関節点など）ごとに、１つずつ番号が割り当てられる（図では番号＝０〜９）。骨格抽出部１１は、OpenPose（ＵＲＬ＝https://github.com/CMU-Perceptual-Computing-Lab/openpose）などの公知の骨格情報取得技術を使用することができる。
【００２０】
図４は、図３の骨格データ１９を構成する特徴点データを示すテーブルである。
このテーブルは、特徴点の番号ごとに、特徴点の名称（鼻など）と、特徴点の（ｘ，ｙ）座標とで構成される。特徴点の名称として、例えば、人物の首、左肩、左肘などの特徴点に対して別々の番号が割り当てられる。特徴点の名称や座標は、骨格抽出部１１が画像データ１８からそれぞれの関節点を画像認識で認識した結果である。
【００２１】
以下、図５〜図８を参照して、モデル生成部１２および分析部１３の詳細を説明する。分析装置１０は、以下の（１）〜（３）に示す中間的な分析結果をもとに、（４）の最終的な分析結果を求める。
（１）「領域」の分析とは、画像データ１８内にあらかじめ定義した領域内に、骨格データ１９が示す作業者の身体が入っているか否かを分析することである（詳細は図５）。
（２）「姿勢」の分析とは、骨格データ１９が示す作業者の身体がどのような姿勢になっているかを分析することである（詳細は図６）。
（３）「背景」の分析とは、画像データ１８内にあらかじめ定義した背景領域内の状態を分析することである（詳細は図７）。
（４）「手順」の分析とは、「領域、姿勢、背景」それぞれの分析結果の組み合わせを元に、画像データ１８内の作業者が組み立て作業の中のどのような手順を行っているかを分析することである（詳細は図８）。
なお、出力部１４は、（４）の最終的な分析結果を出力してもよいし、（１）〜（３）に示す中間的な分析結果のうちの少なくとも１つを出力してもよい。
【００２２】
図５は、領域に関する処理部を示す構成図である。
モデル生成部１２の領域定義部１２ａは、画像データ１８上の領域を入出力装置３３を介してユーザに多角形（四角形）座標データとして定義させ、その定義データをモデルデータ２２の領域モデル２２ａとして保存する。
分析部１３の領域推定部１３ａは、保存された領域モデル２２ａと骨格データ１９とを使用して、定義された領域内に、骨格データ１９の特徴点が入っているか否かを分析し、その分析結果（人物作業状態）を推定結果データ２３の領域データ２３ａとして出力する。
【００２３】
なお、領域定義部１２ａは、深層学習などの機械学習を用いてもよいし、用いなくてもよい。機械学習は精度が高く、汎用性も高い。しかし、学習に膨大な画像データ１８を必要とし、学習に手間がかかる。また、深層学習を使う技術が必要とされるため、製造現場において、生産管理を担当する担当者が使えるものではない。そこで、機械学習を用いる代わりに、領域モデル２２ａを直接ユーザに定義させることで、製造現場の担当者の負担を軽減できる。
【００２４】
図６は、姿勢に関する処理部を示す構成図である。
モデル生成部１２の姿勢学習部１２ｂは、骨格抽出部１１が抽出した骨格データ１９を表示し、その表示を見たユーザからの正解ラベル（姿勢ラベル）を受け付ける。姿勢学習部１２ｂは、骨格データ１９と姿勢ラベルとの組み合わせデータを学習し、その学習結果をモデルデータ２２の姿勢モデル２２ｂとして保存する。
分析部１３の姿勢推定部１３ｂは、保存された姿勢モデル２２ｂと骨格データ１９とを使用して、骨格データ１９の人物の姿勢を分析し、その分析結果（人物作業状態）を推定結果データ２３の姿勢データ２３ｂとして出力する。
【００２５】
図７は、背景に関する処理部を示す構成図である。
モデル生成部１２の背景定義部１２ｃは、画像データ１８上の背景領域を入出力装置３３を介してユーザに多角形（四角形）座標データとして定義させ、その背景領域内に写っている画像内容を見たユーザからの正解ラベル（背景ラベル）を受け付ける。背景定義部１２ｃは、背景領域と背景ラベルとの組み合わせデータを学習し、その学習結果をモデルデータ２２の背景モデル２２ｃとして保存する。
分析部１３の背景推定部１３ｃは、保存された背景モデル２２ｃと画像データ１８とを使用して、画像データ１８の背景領域内の画像内容を分析し、その分析結果（機材作業状態）を推定結果データ２３の背景データ２３ｃとして出力する。
【００２６】
図８は、手順に関する処理部と、その処理結果を出力する出力部１４とを示す構成図である。
領域モデル２２ａと、姿勢モデル２２ｂと、背景モデル２２ｃと、手順モデル２２ｄとを含むモデルデータ２２、および、領域データ２３ａと、姿勢データ２３ｂと、背景データ２３ｃと、手順データ２３ｄとを含む推定結果データ２３は、それぞれ分析装置１０の記憶部２０に格納される。
手順推定部１３ｄは、「領域データ２３ａ、姿勢データ２３ｂ、背景データ２３ｃ」それぞれの中間的な分析結果の推定結果データ２３を組み合わせて、最終的な作業者の手順データ２３ｄ（作業状態）を決定する。中間的な分析結果の３種類のうちの１種類が誤った推定をしても、残り２種類が正しく推定されることで、最終的な精度が向上する。
【００２７】
手順推定部１３ｄによる手順データ２３ｄの決定処理には、「領域モデル２２ａと、姿勢モデル２２ｂと、背景モデル２２ｃ」それぞれの中間的なモデルデータ２２を組み合わせから、手順データ２３ｄを求めるためのモデルデータ２２である手順モデル２２ｄが必要となる。
そこで、手順学習部１２ｄは、「領域、姿勢、背景」それぞれの中間的な分析結果を組み合わせをを表示し、その表示を見たユーザからの正解ラベル（手順ラベル）を受け付ける。手順学習部１２ｄは、中間的な分析結果を組み合わせと、手順ラベルとを学習し、その学習結果をモデルデータ２２の手順モデル２２ｄとして保存する。このように、機械学習の手法を使った学習・推論を組み合わせることで、より短い時間で、効率的に分析できる。
【００２８】
出力部１４の出力演算部１４ｐは、推定結果データ２３の通知を受け、出力先で要求されるデータとなるように、以下に例示する演算処理を実行させる。
・HTML出力部１４ａは、推定結果データ２３をHTML形式（ブラウザ表示）に変換し、モニタ４１に出力する。
・CSV出力部１４ｂは、推定結果データ２３をCSV形式のファイルに変換し、記憶装置４２に出力する。
・ソケット通信部１４ｃは、推定結果データ２３をソケット通信でアプリケーション装置４３に出力する。
【００２９】
以下、図９〜図１６を参照して、モデル生成部１２の事例を説明する。
図９は、背景定義部１２ｃによるモデル定義を示すフローチャートである。
Ｓ３０１として、背景定義部１２ｃは、ＧＵＩ（Graphical User Interface）を用いて選択されたフレームの画像データ１８を取得する。
Ｓ３０２として、背景定義部１２ｃは、選択されたフレームに対して背景ラベルのラベル付けの入力を受け付ける。
Ｓ３０３として、背景定義部１２ｃは、選択されたフレームの画像データ１８の一部である多角形（四角形）座標データで定義された背景領域の画像データを切り取る。
Ｓ３０４として、背景定義部１２ｃは、Ｓ３０３の画像データと、Ｓ３０２の背景ラベルとの組み合わせを、選択されたフレームの学習データとして保持する。
【００３０】
Ｓ３０５として、背景定義部１２ｃは、未処理のフレームが存在するときには、処理をＳ３０１に戻す。
Ｓ３０６として、背景定義部１２ｃは、Ｓ３０６の学習データを入力として機械学習を実行する。機械学習は、深層学習を含む、ニューラルネットワークやアンサンブル学習など、公知の技術を用いることができる。
Ｓ３０７として、背景定義部１２ｃは、Ｓ３０６の学習結果を、背景モデル２２ｃとして保存する。
以上、Ｓ３０１〜Ｓ３０７の処理により、背景定義部１２ｃは、画像データ１８から背景モデル２２ｃを定義した。
【００３１】
図１０は、モデル定義の対象となる画像データ１８を示す図である。
領域定義部１２ａは、入出力装置３３のＧＵＩを使用して、画像データ１８上の領域１０１，１０２を領域モデル２２ａ用に定義させる。例えば、部品取り領域を作業者のイスに対して右側に配置し（領域１０１）、完成品格納領域を左側に配置する（領域１０２）。
背景定義部１２ｃは、入出力装置３３のＧＵＩを使用して、画像データ１８上の背景領域１０３を背景モデル２２ｃ用に定義させる。例えば、ドライバ置き場であるドライバ領域を作業者のイスに対して右側に配置する（領域１０３）。
【００３２】
図１１は、図１０の画像データ１８から生成される領域モデル２２ａの例を示す図である。
領域モデル２２ａは、図１０で入力された領域ごとに、領域ラベルと、特徴点番号と、判定論理と、多角形（四角形）座標データとを対応づけて構成される。例えば、領域モデル２２ａの第１行は、「部品取り領域」として、作業者の骨格データ１９の特徴点番号（４は右手首、７は左手首を示す）の両方（AND）が多角形（四角形）座標データ（４つの頂点座標、図１０の領域１０１を示す）内に存在したときに、組み立てるパソコンの部品を作業者が取ったと認識される。
なお、判定論理の「AND」は特徴点番号のAND判定（例えば両手）を示し、「OR」は特徴点番号のOR判定（例えば片手）を示す。つまり、作業者の両手首が部品取り領域に入ったら「右側に両手が入る」という領域判定が行われる。
【００３３】
図１２は、図１０の画像データ１８から生成される背景モデル２２ｃの例を示す図である。
背景モデル２２ｃは、定義名と、Ｓ３０３で入力される多角形（四角形）座標データと、Ｓ３０２で入力される背景ラベルとを対応づけて構成される。
例えば、利用者は、ドライバ置き場にドライバが置かれている状態の背景領域１０３の多角形（四角形）座標データに対して、背景ラベル「未使用（ドライバあり）」を対応づける。一方、図示は省略したが、利用者は、ドライバ置き場にドライバが置かれていない状態の背景領域１０３の多角形（四角形）座標データに対して、背景ラベル「使用中（ドライバなし）」を対応づける。つまり、多角形（四角形）座標データで示される画像データ１８内の領域の位置が同じであっても、ドライバが置かれている画像データ１８と、ドライバが置かれていない画像データ１８とで、別々の背景ラベルが対応づけられる。
【００３４】
図１３は、姿勢学習部１２ｂによるモデル定義を示すフローチャートである。
Ｓ３１１として、姿勢学習部１２ｂは、ＧＵＩを用いて選択されたフレームの画像データ１８を取得する（図１４で後記）。
Ｓ３１２として、姿勢学習部１２ｂは、Ｓ３１１で選択されたフレームの骨格データ１９を取得する。そして、姿勢学習部１２ｂは、画像データ１８と骨格データ１９とを表示して、その表示内容に対して姿勢モデルの入力を促す。
Ｓ３１３として、姿勢学習部１２ｂは、姿勢ラベル（正解ラベル）がラベル付けされなかった場合、処理をＳ３１１に戻して別のフレームを選択させる。
【００３５】
Ｓ３１４として、姿勢学習部１２ｂは、Ｓ３１２の骨格データ１９と、Ｓ３１３の姿勢ラベルとの組み合わせを、選択されたフレームの学習データとして保持する。
Ｓ３１５として、姿勢学習部１２ｂは、未処理のフレームが存在するときには、処理をＳ３０１に戻す。
Ｓ３１６として、姿勢学習部１２ｂは、Ｓ３０６と同様に、Ｓ３１４の学習データを入力として機械学習を実行する。
Ｓ３１７として、姿勢学習部１２ｂは、Ｓ３１６の学習結果を、姿勢モデル２２ｂとして保存する（図１５で後記）。
【００３６】
図１４は、図１３の姿勢推定部１３ｂの学習工程におけるＧＵＩ画面図である。
利用者は、入出力装置３３のＧＵＩを用いて、正解ラベル付けを行う。まず、利用者は、画像表示欄１１１から学習用の画像を見ながら、画像選択欄１１２からコマ送りボタンやスライダで画像を選択する。
利用者は、選択した画像が、「右から取り出す」「組み立てる」「左に置く」「その他」のいずれであるかを、正解ラベル入力欄１１３のボタンの押下によって、指示する。
【００３７】
図１５は、図１３の姿勢推定部１３ｂの学習工程の結果として生成される姿勢モデル２２ｂを示す図である。
姿勢推定部１３ｂは、図１４のＧＵＩから入力されたフレーム番号と、正解ラベルと、フレームで検出した人物の骨格データ１９とを、機械学習の結果である姿勢モデル２２ｂとして関連付ける。この姿勢モデル２２ｂは、例えば、ねじ回しの作業姿勢を学習し、ねじ回しを行っているのか否かを推定するために使用される。
なお、図１５では、図１４の画像表示欄１１１に表示された画像上の人物の姿勢から、「右から取り出す」「組み立てる」「左に置く」「その他」を判定するための姿勢モデル２２ｂが示される。
【００３８】
図１６は、手順学習部１２ｄによる学習結果である手順モデル２２ｄを示す図である。
手順モデル２２ｄは、領域モデル２２ａ、姿勢モデル２２ｂ、背景モデル２２ｃの組み合わせを入力モデルとして、その入力モデルから推定される作業者の手順を出力するためのモデルである。例えば、組み立て作業は、以下の各手順などから構成される。
・部品取り手順は、作業者の右側にある組み立て対象の部品を取得する手順である。
・組み立て手順は、ドライバを用いて、ねじ締を行う手順である。
・部品格納手順は、組み立て完了した部品を作業者の左側に置く手順である。
例えば、領域モデル２２ａを単独に用いただけでは、人物の手が「どう」動いたのかは理解できても、人物の手が「何を」つかんだのかは不明である。
しかし、領域モデル２２ａと背景モデル２２ｃとを併用し、背景領域内のドライバ置き場にドライバが存在しないことで、人物が「ドライバを」つかんだことが明確になる。さらに、姿勢モデル２２ｂも併用して、ドライバに手が伸びたことが分かった上で、肘の角度などにより、ドライバをとったのか、置いたのかを判定することができる。
【００３９】
以下、図１７〜図２８を参照して、分析部１３の事例を説明する。
図１７は、分析部１３のメイン処理を示すフローチャートである。
Ｓ１１として、分析部１３は、モデルデータ２２を取得する。
Ｓ１２として、分析部１３は、分析用の画像データ１８を取得する。
Ｓ１３として、分析部１３は、Ｓ１２の画像データ１８から、骨格抽出部１１に骨格データ１９を抽出させる。
領域モデル２２ａが存在しているときには（Ｓ２１，Ｙｅｓ）、分析部１３は、領域推定部１３ａに領域データ２３ａの推定処理を実行させる（Ｓ２２，詳細は図１８）。
姿勢モデル２２ｂが存在しているときには（Ｓ２３，Ｙｅｓ）、分析部１３は、姿勢推定部１３ｂに姿勢データ２３ｂの推定処理を実行させる（Ｓ２４，詳細は図２１）。
【００４０】
Ｓ２５として、分析部１３は、未処理の人物がＳ１２の画像データ１８に存在するときには、処理をＳ２１に戻す。
背景モデル２２ｃが存在しているときには（Ｓ２６，Ｙｅｓ）、分析部１３は、背景推定部１３ｃに背景データ２３ｃの推定処理を実行させる（Ｓ２７，詳細は図２４）。
Ｓ３１として、分析部１３は、未処理のフレームが存在するときには、処理をＳ１２に戻す。
Ｓ３２として、分析部１３は、Ｓ２２，Ｓ２４，Ｓ２７の各分析結果から手順推定部１３ｄに作業手順を推定させる。
【００４１】
図１８は、領域推定部１３ａのサブルーチン処理を示すフローチャートである。
Ｓ２２１として、領域推定部１３ａは、画像フレームごとに、そのフレームにて検出された人物の骨格データ１９を取得する。
Ｓ２２２として、領域推定部１３ａは、領域モデル２２ａから１レコード分（１つの領域）を取得する。
領域推定部１３ａは、Ｓ２２１の骨格データ１９を構成する特徴点番号の座標が、Ｓ２２２で取得した領域内であるときには（Ｓ２２３，Ｙｅｓ）、Ｓ２２２で取得したレコードの領域ラベルを保持する（Ｓ２２４）。
【００４２】
Ｓ２２５として、領域推定部１３ａは、領域モデル２２ａ内の未処理のレコードが存在するときには、処理をＳ２２２に戻す。
Ｓ２２６として、領域推定部１３ａは、Ｓ２２４で保持されたすべての結果を領域データ２３ａとして出力する。
Ｓ２２７として、領域推定部１３ａは、未処理のフレームが存在するときには、処理をＳ２２１に戻す。
【００４３】
図１９は、図１８の処理結果として「部品取り領域」で両手を認識したときの図である。
領域推定部１３ａは、図１０の画像データ１８上の領域１０１に対して、図１１の領域モデル２２ａの第１レコード（部品取り領域）の要件を満たす（つまり、右側に両手が入る）ことで、「右から部品をとる」という領域ラベルを含めた領域データ２３ａを推定する。
【００４４】
図２０は、図１８の処理結果として「完成品格納領域」で両手を認識したときの図である。
領域推定部１３ａは、図１０の画像データ１８上の領域１０２に対して、図１１の領域モデル２２ａの第２レコード（完成品格納領域）の要件を満たす（つまり、左側に両手が入る）ことで、「左側に部品を格納する」という領域ラベルを含めた領域データ２３ａを推定する。
【００４５】
図２１は、姿勢推定部１３ｂのサブルーチン処理を示すフローチャートである。
Ｓ２４１として、姿勢推定部１３ｂは、画像データ１８の画像フレームごとに、そのフレームにて検出された人物の骨格データ１９を取得する。
Ｓ２４２として、姿勢推定部１３ｂは、取得した骨格データ１９を入力として、姿勢モデル２２ｂを用いて機械学習による推論を行う。これにより、骨格データ１９に対応する姿勢ラベルが出力される。
なお、ユーザは、Ｓ２４２の姿勢ラベルが実際と異なった場合（推論ミス）には（Ｓ２４３，Ｙｅｓ）、姿勢学習部１２ｂは、ユーザから正しい姿勢ラベルを受け付けてもよい。そして、姿勢学習部１２ｂは、受け付けた姿勢ラベルと、取得した骨格データ１９との組み合わせを新たな学習データとして、姿勢モデル２２ｂを修正（再学習）してもよい（Ｓ２４４）。
【００４６】
Ｓ２４５として、姿勢推定部１３ｂは、出力された姿勢ラベルを推論結果として保持する。
Ｓ２４６として、姿勢推定部１３ｂは、未処理の人物がＳ２４１の画像フレームに存在するときには、処理をＳ２４３に戻す。
Ｓ２４７として、姿勢推定部１３ｂは、画像フレームに存在するすべての人物についてのＳ２４５で保持した推論結果を姿勢データ２３ｂとして出力する。
Ｓ２４８として、姿勢推定部１３ｂは、未処理のフレームが存在するときには、処理をＳ２４１に戻す。
【００４７】
図２２は、図２１の処理に用いられる画像データ１８を示す図である。出力部１４は、時系列的に表示する画像データ１８に対して、左側から右側にむかってフレーム番号（f10＝10番、f30＝30番、…）を併記する。各フレームの画像データ１８には、骨格抽出部１１が認識した骨格データ１９を示す線も人物の画像へ重畳表示されている。
【００４８】
図２３は、図２２の画像データ１８に対する推論ラベル（姿勢ラベル）を示す姿勢データ２３ｂの図である。
姿勢推定部１３ｂは、ビデオカメラ３１などから取得した画像データ１８から、写っている人物の行動を構成する姿勢を分析し、その分析結果を姿勢データ２３ｂとして出力する。姿勢データ２３ｂには、検出時刻を示すフレーム番号が付されている。
この出力される姿勢データ２３ｂは、例えば、製造業の組み立て現場での組み立て作業の手順に係る作業姿勢や、製造業の製造現場での作業安全にかかわる身体的負担の大きい作業姿勢を検出するために活用できる。
【００４９】
図２４は、背景推定部１３ｃのサブルーチン処理を示すフローチャートである。
Ｓ２７１として、背景推定部１３ｃは、画像フレームごとの画像データ１８を取得する。
Ｓ２７２として、背景推定部１３ｃは、背景モデル２２ｃから１レコード分（１つの背景領域）を取得する。
Ｓ２７３として、背景推定部１３ｃは、Ｓ２７１の画像データ１８から、Ｓ２７２の背景領域の位置の画像を切り取る。
Ｓ２７４として、背景推定部１３ｃは、Ｓ２７３で切り取った画像データ１８を入力として、背景モデル２２ｃを用いて機械学習の推論を実行する。
Ｓ２７５として、背景推定部１３ｃは、Ｓ２７４の推論結果として、背景ラベルを保持する。
Ｓ２７６として、背景推定部１３ｃは、背景モデル２２ｃ内の未処理のレコードが存在するときには、処理をＳ２７２に戻す。
Ｓ２７７として、背景推定部１３ｃは、未処理のフレームが存在するときには、処理をＳ２７１に戻す。
Ｓ２７８として、背景推定部１３ｃは、すべての背景ラベルの推論結果を出力する。
【００５０】
図２５は、図２４の処理結果として、ドライバが未使用の状態を認識したときの図である。
出力部１４は、人物行動と関連のある背景画像の情報として、背景ラベルの「未使用」を、人物行動画像へ重畳表示する（符号１０３ｅ）。また、符号１１０で示すように、出力部１４は、画像データ１８の各フレームについて、骨格抽出部１１が認識した骨格データ１９を人物の画像へ重畳表示する。さらに、出力部１４は、骨格データ１９を構成する特徴点データ（関節点）をマーキングして表示する（図では丸印）。
【００５１】
図２６は、図２４の処理結果として、ドライバが使用中の状態を認識したときの図である。出力部１４は、人物行動と関連のある背景画像の情報として、背景ラベルの「使用中」を、人物行動画像へ重畳表示する（符号１０３ｆ）。
【００５２】
図２７は、手順推定部１３ｄが出力する手順データ２３ｄの例を示す図である。
図８でも説明したように、手順推定部１３ｄは、領域データ２３ａ、姿勢データ２３ｂ、背景データ２３ｃそれぞれの分析結果を組み合わせて、作業者の手順データ２３ｄ（作業状態）をフレーム番号ごとに決定する。例えば、背景データ２３ｃとして、ドライバが未使用の状態（図２５）と使用中の状態（図２６）とを区別することで、出力手順が組み立て中か否かを決定することができる。
【００５３】
図２８は、図２７の手順データ２３ｄをガントチャート形式で表示した画面図である。
手順推定部１３ｄは、手順データ２３ｄのフレーム番号は特定の時刻を示しているので、手順データ２３ｄから時系列の作業手順（出力手順）を求めることができる。そこで、出力部１４は、時系列の作業手順をガントチャート形式で表示することで、作業手順ごとの所要時間をユーザにわかりやすく示すことができる。
【００５４】
以上説明した本実施形態では、分析装置１０が深層学習などによる画像認識で画像データ１８に写っている人物を検出し、その人物の骨格データ１９を取得する。そして、分析装置１０は、取得した骨格データ１９と、事前に入力された正解ラベルとを姿勢モデル２２ｂとして機械学習しておくことで、製造現場における作業者の姿勢を推定し、その姿勢から作業者の作業手順を特定する。
また、分析装置１０は、骨格データ１９との位置関係を判定するための領域モデル２２ａと、人物が置かれている状況を示す背景モデル２２ｃとを併せて用いることで、作業手順の特定精度を向上させる。これにより、深層学習や画像認識の知識を問わず、簡便な方法で、作業者を撮影した画像データ１８から、作業者の姿勢データ２３ｂを分析し、作業者の手順データ２３ｄを特定できる。
【００５５】
なお、本発明は前記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。
また、前記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
【００５６】
各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）などの記録装置、または、ＩＣ（Integrated Circuit）カード、ＳＤカード、ＤＶＤ（Digital Versatile Disc）などの記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００５７】
１０    分析装置
１１    骨格抽出部
１２    モデル生成部
１２ａ  領域定義部
１２ｂ  姿勢学習部
１２ｃ  背景定義部
１２ｄ  手順学習部
１３    分析部
１３ａ  領域推定部
１３ｂ  姿勢推定部
１３ｃ  背景推定部
１３ｄ  手順推定部
１４    出力部
１８    画像データ
１９    骨格データ
２０    記憶部
２２    モデルデータ
２２ａ  領域モデル
２２ｂ  姿勢モデル
２２ｃ  背景モデル
２２ｄ  手順モデル
２３    推定結果データ
２３ａ  領域データ
２３ｂ  姿勢データ
２３ｃ  背景データ
２３ｄ  手順データ
３１    ビデオカメラ
３２    ビデオレコーダ
３３    入出力装置
４１    モニタ
４２    記憶装置
４３    アプリケーション装置
【図１】
2020201772.tif 000003
【図２】
2020201772.tif 000004
【図３】
2020201772.tif 000005
【図４】
2020201772.tif 000006
【図５】
2020201772.tif 000007
【図６】
2020201772.tif 000008
【図７】
2020201772.tif 000009
【図８】
2020201772.tif 000010
【図９】
2020201772.tif 000011
【図１０】
2020201772.tif 000012
【図１１】
2020201772.tif 000013
【図１２】
2020201772.tif 000014
【図１３】
2020201772.tif 000015
【図１４】
2020201772.tif 000016
【図１５】
2020201772.tif 000017
【図１６】
2020201772.tif 000018
【図１７】
2020201772.tif 000019
【図１８】
2020201772.tif 000020
【図１９】
2020201772.tif 000021
【図２０】
2020201772.tif 000022
【図２１】
2020201772.tif 000023
【図２２】
2020201772.tif 000024
【図２３】
2020201772.tif 000025
【図２４】
2020201772.tif 000026
【図２５】
2020201772.tif 000027
【図２６】
2020201772.tif 000028
【図２７】
2020201772.tif 000029
【図２８】
2020201772.tif 000030