【文献】
鈴木 智之, 青木 義満,行動遷移映像における姿勢特徴を中心とする学習を用いた時系列行動認識,第23回画像センシングシンポジウム,日本,画像センシング技術研究会,2017年06月07日,SO2-IS2-06,7 pages in total
【文献】
Umar Iqbal, Martin Garbade, Juergen Gall,Pose for Action - Action for Pose,2017 IEEE 12th International Conference on Automatic Face & Gesture Recognition (FG 2017),米国,IEEE,2017年05月30日,pp. 438-445,https://ieeexplore.ieee.org/document/7961774/
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0017】
以下図面について、本発明の一実施の形態を詳述する。
【0018】
なお、以下の説明において、「映像」とは動画像を指し、「画像」及び「フレーム」とは、「映像」を構成する1枚1枚の静止画像を指す。例えば、NTSC(National Television System Committee)方式の場合、1秒分の映像は30枚のフレームにより構成される。
【0019】
また以下の説明において、「管理領域」とは、製造や物流の現場などの管理が必要又は期待される範囲を指す。「管理」とは、作業員の関連行動を評価して作業効率等の管理目標を維持、向上することを意味する。
【0020】
さらに以下において、「関連行動」とは、管理領域における処理(物の製造現場での物の製造等)に関連する、人の動作の分類である。例えば、運搬中、作業中、上方の棚からの部品の取り出し(以下、これを部品取出し(上)と呼ぶ)、下方の棚からの部品の取り出し(以下、これを部品取出し(下)と呼ぶ)、及び、その他(非作業中)等が関連行動の一例である。関連行動は適宜定義されてよい。
【0021】
「動作」とは、人体の位置(即ち、姿勢)の連続を意味する。本実施の形態による業務支援システムは、連続する複数の画像をそれぞれ評価し、それぞれの画像に対して作業員の姿勢を推定し、推定した作業員の姿勢の変化の流れを評価することによりその作業員が実行した関連行動を推定する。
【0022】
また「姿勢」とは、歩行、静止、屈む、手を伸ばす、体の向き、体の方向といった作業員の状態を表す。例えば、上段の棚にある部品を取り出すという関連行動は、「歩行」→「静止」→「手を伸ばす」といった一連の姿勢の変化の流れによって行われる。
【0023】
(1)本実施の形態による業務支援システムのハードウェア構成
図1は、本実施の形態によるエッジコンピューティング方式の業務支援システム1を示す。この業務支援システム1は、製造・物流の現場における業務改善を支援するシステムであり、管理領域となる現場(例えば、物の製造工場)側のシステム(以下、これを第1のシステムと呼ぶ)2と、データセンタ側のシステム(第2のシステム)3と、管理クライアント4とを備えて構成されている。
【0024】
第1のシステム2は、画像センサを構成する複数のカメラ10及びその他のセンサ11からなるセンサ群12と、1又は複数のエッジコンピュータ13とを備えて構成される。センサ群12及びエッジコンピュータ13間はLAN14を介して接続される。エッジコンピュータ13の数は、センサ群12を構成するカメラ10の数に応じて適宜選択される。
【0025】
第2のシステム3は、エッジコンピュータ13のためのサーバ15と、他のシステムのためのサーバ16とを備えて構成される。エッジコンピュータ13及びサーバ15間は、インターネット等の通信経路18を介して接続される。またサーバ15及びサーバ16間はLAN17を介して接続され、サーバ15及び管理クライアント4間はインターネット19を介して接続される。
【0026】
第2のシステム3は、後述のように第1のシステム2から転送される各カメラ10の撮影映像の映像データに基づいて、管理領域内に存在する各作業員の姿勢を機械学習し、かくして得られた学習結果(予測モデル)を第1のシステム2に提供する機能を備える。第1のシステム2は、第2のシステム3から与えられた上述の予測モデルを用いてカメラ10の撮影映像を画像認識し、管理領域内に存在する各作業員の関連行動を推定する。
【0027】
そして第2のシステム3は、第1のシステム2により推定された各作業員の関連行動を評価又は分析することによって所定の管理指標を計算し、これを管理ユーザに提供する。かくして管理ユーザは、提供された情報に基づいて、物の製造効率等の管理目標を維持、改善又は向上することができる。
【0028】
(2)業務支援システムの論理構成
図2は、本業務支援システム1の論理構成を示す。第1のシステム2のセンサ群12を構成する各カメラ10は、撮影映像の映像データを送信するためのデータ送信モジュール10Aを備える。なお、「モジュール」は、CPU(Central Processing Unit)等のプロセッサがプログラムを実行することよって実現される機能の単位である。「モジュール」を「手段」、「機能」、「ブロック」、「エレメント」、「デバイス」等と言い換えてもよい。モジュールは、特定用途のIC等ハードウェアによって実行されてもよい。この場合、コントローラには特定用途のICを包含するものとして理解されてよい。
【0029】
本実施の形態の場合、カメラ10は、管理領域を俯瞰して撮影し、撮影により得られた映像をエッジコンピュータ13に送信する。このため各カメラ10は、これらカメラ10の撮影映像を合成することにより管理領域全体の合成映像が得られるように、管理領域の周囲に均等に分散されて配置される。ただし、カメラ10として360度を撮影できるIPカメラを1台だけ用いるようにしてもよい。また管理領域は、複数のエリアに分けて管理される。これらのエリアは、それぞれ互いに重ならないように定義される。
【0030】
エッジコンピュータ13は、CPU、メモリ及びハードディスク装置などの情報処理資源を備える汎用のコンピュータ装置から構成される。エッジコンピュータ13では、各カメラ10から収集した映像データを処理するためのアプリケーションプログラムがOS(Operating System)30上で稼働する。本実施の形態の場合、かかるアプリケーションプログラムとして、センシングアプリケーションプログラム(以下、これをセンシングアプリと呼ぶ)31、データ管理アプリケーションプログラム(以下、これをデータ管理アプリと呼ぶ)32、及びエージェントアプリケーションプログラム(以下、これをエージェントアプリと呼ぶ)33が稼動する。
【0031】
センシングアプリ31は、各カメラ10から撮影映像の映像データを収集するデータ収集モジュール31Aを備える。またデータ管理アプリ32は、データ収集モジュール31Aが収集した映像データを処理するためのモジュールとして、分析モジュール32A、圧縮モジュール32B及び管理モジュール32Cを備える。これら分析モジュール32A、圧縮モジュール32B及び管理モジュール32Cの機能については後述する。さらにエージェントアプリ33は、通信モジュール33Aを備える。通信モジュール33Aは、サーバ15と通信時におけるプロトコル制御を行うインタフェースとして機能する。
【0032】
一方、サーバ15は、
図1に示すように、CPU15A、メモリ15B及びハードディスク装置15Cなどの情報処理資源を備えた汎用のサーバ装置から構成される。サーバ15では、クラウドサービスアプリケーションプログラム(以下、これをクラウドサービスアプリと呼ぶ)41及びデータ管理アプリケーションプログラム(以下、これをデータ管理アプリと呼ぶ)42がOS40上で稼動する。
【0033】
クラウドサービスアプリ41は、通信モジュール41A及びデータ管理モジュール41Bを備える。通信モジュール41Aは、エッジコンピュータ13との通信時におけるプロトコル制御を行うインタフェースとして機能するモジュールであり、データ管理モジュール41Bは、後述のようにエッジコンピュータ13から転送されてくる俯瞰映像の映像データをハードディスク装置15Cに格納して管理する機能を有するモジュールである。
【0034】
またデータ管理アプリ42は、管理モジュール42A、学習モジュール42B及び評価モジュール42Cを備える。これら管理モジュール42A、学習モジュール42B及び評価モジュール42Cの機能については後述する。評価モジュール42Cは、管理クライアント4に接続される。
【0035】
管理クライアント4は、CPU、メモリ及びハードディスク装置などの情報処理資源と、マウス及び又はキーボードなどからなる入力装置と、液晶ディスプレイなどの表示装置とを備えた汎用のコンピュータ装置から構成される。管理クライアント4にはブラウザが実装されており、サーバ15から与えられる画面データに基づく各種画面を表示する。
【0036】
(3)各アプリケーションプログラム間における処理の流れ
図3は、
図2に示した各アプリケーションプログラム間における処理の流れを示す。各カメラ10のデータ送信モジュール10Aは、撮影映像の映像データをエッジコンピュータ13に送信する(S1)。なお、これら映像データには、フレームごとに、その撮影時刻を表す情報が含まれる。
【0037】
エッジコンピュータ13は、各カメラ10から送信されてくる映像データをセンシングアプリ31のデータ収集モジュール31Aにおいて受信する。そしてデータ収集モジュール31Aは、受信した各映像データをデータ管理アプリ32の管理モジュール32Cに転送する(S2)。
【0038】
管理モジュール32Cは、データ収集モジュール31Aから転送されてきた各カメラ10からの映像データを、撮影時刻が同じフレーム同士を合成するよう加工することにより、例えば、
図4に示すような、管理領域全体を俯瞰した俯瞰画像Wを順次生成する。
【0039】
具体的に、管理モジュール32Cは、国際公開番号WO2017/017790号公報に記載の画像生成システムを利用してかかる俯瞰画像Wを生成する。この画像生成システムによれば、複数のカメラ10の撮影映像を撮影時刻が同じフレームごとに仮想スクリーン上で重畳して表示することによって、俯瞰状態のまま全周囲画像を生成することができる。従って、俯瞰画像Wは、映像データのフレームごとにそれぞれ生成される。
【0040】
また管理モジュール32Cは、俯瞰画像W上にそれぞれローカル3次元座標を設定し、設定したローカル座標の座標範囲に従って管理領域内に複数のエリアをそれぞれ定義する。
【0041】
図5は、このようにして定義された各エリアを管理するために管理モジュール32Cにより作成されるエリア定義情報テーブルTLの構成例を示す。ただし管理ユーザがエリア定義情報テーブルTLを予め作成するようにしてもよい。
【0042】
エリア定義情報テーブルTLは、
図5に示すように、エリアID欄TL1、エリア名欄TL2及びエリア座標欄TL3を備えて構成される。そしてエリアID欄TL1には、管理領域内に定義された対応するエリアに付与されたそのエリアに固有の識別子(エリアID)が格納される。またエリア名欄TL2には、対応するエリアの名称(エリア名)が格納され、エリア座標欄TL3には、俯瞰画像Wにおける対応するエリアの位置を表す座標(エリア座標)が格納される。
【0043】
なお、エリアの範囲の一部に他のエリアを定義することもできる。例えば、
図4では、領域L10が、複数の部品を組み立てて完成品を生産し、完成品を他のエリアに搬出するための組立作業エリアL11と、完成品を組立作業エリアL11から他のエリアへ搬送するための搬送エリアL12とから構成されているが、組立作業エリアL11の中にさらに組立作業台エリアL13が定義されていることが示されている。
【0044】
エリア定義情報テーブルTLは、エッジコンピュータ13のメモリ内の所定領域に保存されると共に、第2のシステム3のサーバ15に送信されて、当該サーバ15のメモリ15B内の所定領域にも保存される。
【0045】
管理モジュール32Cは、生成した俯瞰画像Wの画像データ(以下、適宜、これを俯瞰画像データと呼ぶ)を順次圧縮モジュール32Bに出力する(S3)。そして圧縮モジュール32Bは、与えられた俯瞰画像データを画像単位で順次圧縮し、圧縮後の俯瞰画像データを管理モジュール32Cに出力する(S4)。
【0046】
一方、管理モジュール32Cは、上述のように生成した俯瞰画像データを分析モジュール32Aにも出力する(S5)。分析モジュール32Aは、管理モジュール32Cから順次与えられる俯瞰画像データに基づいて、生産・物流の現場の作業効率、安全性等管理目標の評価のために、俯瞰画像内に存在する作各業員の関連行動を推定する。
【0047】
作業員の関連行動を推定する理由は、生産・物流等の実際の現場での作業効率は、センサからの情報以外に作業員の関連行動から直接、かつ、大きく影響を受けるため、センサからの情報だけでは不十分なためである。すなわち、作業員の関連行動自体から、作業効率等の管理目標を判定することができる。
【0048】
ここで、作業員の「行動」とは、人体の姿勢の変化のフローのうち、意味があるものと定義する。作業員の関連行動を推定するには、時系列な複数の俯瞰画像Wのそれぞれについて、これら俯瞰画像W内の作業員の姿勢をそれぞれ評価し、評価結果に基づいてその作業員の「行動」を評価して関連行動を推定することが好適である。
【0049】
しかしながら、関連行動の態様は、製造する物等に大きく左右され、一概にルール化することは容易ではない。そこで、本実施の形態の業務支援システム1では、関連行動を推定するために、後述のようにサーバ15から与えられる、当該サーバ15において実行したディープラーニングにより得られた予測モデルを利用して、各俯瞰画像W内の作業員の関連行動を推定する。ただし、ディープラーニングのような機械学習の手法に代えて、あるいは、これと併せて、分析モジュール32AがHOG(Histogram of Oriented Gradients)特徴量やSIFT(Scale-Invariant Feature Transform)特徴量を用いた画像処理を利用して作業員の関連行動を推定するようにしてもよい。
【0050】
なお分析モジュール32Aは、関連行動の推定をエリアごとに実行する。また分析モジュール32Aは、エリア内の作業員の関連行動を推定する際、当該推定を「姿勢」の推定と「関連行動」の推定との2段階に分けて実行する。具体的に、分析モジュール32Aは、作業員の「姿勢」の推定を、経時的に変化する複数の俯瞰画像Wに対してそれぞれ行い、各俯瞰画像Wにおける作業員の姿勢の推定結果の組み合わせに基づいて作業員の関連行動の推定を行う。そして分析モジュール32Aは、このようにして得られた関連行動の推定結果を管理モジュール32Cに送信する(S6)。
【0051】
管理モジュール32Cは、上述のように分析モジュール32Aから与えられた作業員の関連行動の推定結果と、ステップS4で圧縮モジュール32Bから与えられた圧縮された各俯瞰画像Wの画像データ(俯瞰画像データ)とをエージェントアプリ33の通信モジュール33Aを介してサーバ15に送信する(S7,S8)。
【0052】
サーバ15側では、エッジコンピュータ13から送信されてくる関連行動の推定結果と、圧縮された俯瞰画像データとをクラウドサービスアプリ41の通信モジュール41Aを介して管理モジュール41Bが受信する(S9)。そして管理モジュール41Bは、上述の関連行動の推定結果と、圧縮された俯瞰画像データとをサーバ15内のハードディスク装置15C(
図1)に格納して管理する。
【0053】
そしてサーバ15は、この後、このハードディスク装置15Cに格納された関連行動の推定結果に基づいて、作業員の関連行動を評価又は分析することによって管理指標を計算し、これを管理ユーザに提供する。
【0054】
一方、データ管理アプリ42の管理モジュール42Aは、かかるハードディスク装置15Cに格納されている圧縮された俯瞰画像データのうち、所定時間間隔(以下、1秒間隔とする)の俯瞰画像Wの画像データ(俯瞰画像データ)をクラウドサービスアプリ41の管理モジュール41Bを介して順番に読み出し(S10)、これを伸張して学習モジュール42Bに転送する(S11)。
【0055】
学習モジュール42Bは、管理モジュール42Aから与えられる各俯瞰画像データを利用して、管理領域における作業員の姿勢をディープラーニングにより学習する。また学習モジュール42Bは、かかるディープラーニングにより得られた予測モデルを利用して、管理モジュール42Aから得られる1秒ごとの時系列な俯瞰画像W内における作業員の姿勢を予め定められた幾つかの姿勢のうちのいずれかの姿勢に順次分類し、各俯瞰画像Wにそれぞれ対応する姿勢のラベル(以下、これを姿勢ラベルと呼ぶ)を付与する姿勢分類処理を実行する。そして学習モジュール42Bは、この姿勢分類処理の処理結果を順次評価モジュール42Cに出力する(S12)。
【0056】
評価モジュール42Cは、学習モジュール42Bから与えられる作業員の姿勢の分類結果を評価し、その評価結果を管理クライアント4に表示させる(S13)。かくして管理ユーザは、管理クライアント4に表示されたかかる評価結果を確認することができる。また管理ユーザは、管理クライアント4を操作して、間違った姿勢ラベルが付与された俯瞰画像Wの当該姿勢ラベルを正しい姿勢ラベルに修正することができる。この場合、修正後の新たな姿勢ラベルがデータ管理アプリ42の評価モジュール42Cに通知される。
【0057】
評価モジュール42Cは、管理ユーザにより姿勢ラベルの修正が行われた場合、かかる修正後の姿勢ラベルを取得し(S14)、姿勢ラベルがその姿勢ラベルに修正された俯瞰画像Wの画像データと、修正後のその俯瞰画像Wの姿勢ラベルとを教師データとして学習モジュール42Bに与えると共に、当該教師データを用いて再学習すべき旨の再学習指示を学習モジュール42Bに与える(S15)。
【0058】
学習モジュール42Bは、かかる教師データ及び再学習指示を受領すると、この教師データを利用した再学習を実行する。そして学習モジュール42Bは、この再学習により得られた新たな学習結果である予測モデルを管理モジュール42Aに送信する(S16)。また管理モジュール42Aは、この予測モデルをクラウドサービスアプリ41の通信モジュール41Aを介してエッジコンピュータ13に転送する(S17,S18)。
【0059】
そして、この新たな予測モデルは、この後、エッジコンピュータ13のエージェントアプリ33の通信モジュール33Aにより受信されてデータ管理アプリ32の分析モジュール32Aに転送される(S19)。また分析モジュール32Aは、それまで保持していた予測モデルを、このとき転送されてきた予測モデルに切り替え、この後、この新しい予測モデルを用いて作業員の関連行動の推定を行う。
【0060】
(4)データ管理アプリの詳細構成
図6は、サーバ15のデータ管理アプリ42のより詳細な構成を示す。この
図6からも明らかなように、データ管理アプリ42において、学習モジュール42Bは、ラベル別教師データ格納部50及び機械学習部51を備えて構成され、評価モジュール42Cはタイミング制御部52、行動定義管理部53及び分類結果シーケンス評価部54を備えて構成される。
【0061】
学習モジュール42Bのラベル別教師データ格納部50は、本業務支援システム1の導入時に実行される機械学習部51のチューニングの際に管理ユーザから与えられる教師データや、その後のディープラーニングにより得られた学習データを関連行動ごとに分けてハードディスク装置15C(
図1)に格納する機能を有する機能部である。
【0062】
実際上、本業務支援システム1の導入後のチューニング時、学習モジュール42Bのラベル別教師データ格納部50には、管理ユーザの操作入力に応じて、第1のシステム2の分析モジュール32Aが推定すべき各関連行動のラベル(「運搬中」、「作業中」、「部品取出し(上)」、「部品取出し(下)」、「その他」及び「不在」など)が通知される。そしてラベル別教師データ格納部50は、
図7に示すように、通知された関連行動のラベルごとのフォルダ(以下、これをラベル別教師データフォルダと呼ぶ)55をハードディスク装置15C内に作成する。
【0063】
また、かかるチューニング時、学習モジュール42Bには、「運搬中」、「作業中」、「部品取出し(下)」、「部品取出し(上)」、「その他」及び「不在」といった関連行動のラベルごとの、その関連行動を構成する作業員の各姿勢をそれぞれ機械学習する際に利用する教師データのデータセットが与えられる。この教師データは、ハードディスク装置15Cに蓄積された一部の俯瞰画像Wの画像データ(俯瞰画像データ)に対して、管理ユーザがその俯瞰画像W内の作業員の姿勢のラベル(以下、これを姿勢ラベルと呼ぶ)を付与したものである。
【0064】
そしてラベル別教師データ格納部50は、これらの俯瞰画像Wごとの画像データ(俯瞰画像データ)を、管理ユーザの操作入力に応じて、ハードディスク装置15C内に作成した各ラベル別教師データフォルダ55(
図7)のうちの対応するラベル別教師データフォルダ55にそれぞれ振り分けて格納する。そしてこのような処理が関連行動のラベルごとにそれぞれ実行され、これにより関連行動のラベルごとの教師データがハードディスク装置15C内の対応するラベル別教師データフォルダ55にそれぞれ蓄積される。
【0065】
機械学習部51は、ハードディスク装置15Cに格納された各ラベル別教師データフォルダ55にそれぞれ格納された教師データに基づいて、関連行動を構成する作業員の各姿勢をディープラーニングにより学習する機能を有する機能部である。
【0066】
機械学習部51は、各俯瞰画像Wについて、メモリ15Bに保存されている
図5について上述したエリア定義情報テーブルTLを参照して、エリアごとの画像領域をトリミングし、エリアごとに学習を行う。これは、エリアごとに、想定又は期待される関連行動の態様が異なるからである。例えば、搬送エリアと、組立作業台エリアでは、作業員の関連行動が相違する。
【0067】
具体的に、機械学習部51は、俯瞰画像Wの画像データと姿勢ラベルとの組み合わせを教師データとし、複数の教師データについて、画像データ(複数の画素データの組み合わせ)が姿勢ラベルに対して成す影響度(重み)を計算する。また機械学習部51は、学習を継続することによって重みを最適化する。そして機械学習部51は、このような学習により俯瞰画像W内の作業員の姿勢を推定及び分類するための予測モデルを生成する。
【0068】
また機械学習部51は、このようにして生成した予測モデルに基づいて、管理モジュール42Aから与えられる1秒間間隔の各俯瞰画像Wの画像データ(俯瞰画像データ)について、その俯瞰画像W内の作業員の姿勢を既定のいずれかの姿勢に分類し、分類した姿勢のラベルをその俯瞰画像データに付与する機能をも有する。
【0069】
図8は、姿勢推定のためのディープラーニングをモデル化したブロック図である。ディープラーニングは、畳み込みニューラルネットワーク層(Convolution Neural Network Layer)60、全結合層(Fully connection layer)61及び出力層(Output layer)62から構成される。
【0070】
畳み込みニューラルネットワーク層60は、畳み込みフィルタ層及びプーリング層から構成される。畳み込みフィルタ層では、画像の濃淡パターンを検出して、エッジ抽出等の特徴抽出を行い、プーリング層では、畳み込みフィルタ層で反応があった特徴量の位置情報を一部捨てることにより、画像内で特徴量が若干位置ずれした場合における出力結果の不変性を実現する。畳み込みニューラルネットワーク層60は、これらの層を組み合わせることによって、人物の画像から特徴量を抽出する。
【0071】
全結合層61及び出力層62では、特徴量に基づいた分類を行う。全結合層61では、畳み込みニューラルネットワークを通して特徴部分が取り出された画像データを1つのノードに結合し、活性化関数によって変換された値(特徴変数)を出力する。ノードの数が増えると特徴量空間の分割数が増し、各領域を特徴付ける特徴変数の数が増える。
【0072】
出力層62では、全結合層61からの出力(特徴変数)を元に、ソフトマックス関数を用いて確率に変換し、画像が複数の姿勢の候補それぞれに分類される確率(スコア)を最大化する(最尤推定法)ことによって、複数ある姿勢の候補のランク付けを行う。そして出力層62は、最もスコアが上位の候補を最も確からしい姿勢として決定し、決定した姿勢のラベルをその俯瞰画像Wの画像データに付与して、これら画像データ及びラベルを作業員の姿勢の分類結果として評価モジュール42Cに出力する。なお、このとき出力層62が決定する「姿勢」は、「どの関連行動のどの姿勢」という、関連行動と関連付けられた姿勢である。
【0073】
一方、評価モジュール42Cのタイミング制御部52は、管理モジュール42Aが1秒間隔の俯瞰画像Wの画像データ(俯瞰画像データ)をハードディスク装置15Cから読み出して学習モジュール42Bに転送するタイミングと、分類結果シーケンス評価部54が後述する処理を実行するタイミングとを同期させるためのタイミング信号を管理モジュール42A及び分類結果シーケンス評価部54に出力する機能を有する機能部である。
【0074】
また行動定義管理部53は、管理ユーザから予め与えられた行動定義情報をメモリ15B(
図1)に格納して管理する機能を有する機能部である。
【0075】
実際上、管理ユーザは、関連行動を作業員が実行する際における一連の俯瞰画像W内での作業員の姿勢の変化の流れを関連行動ごとにそれぞれ定義する。この定義は、例えば、「部品取出し(上)」という関連行動の場合、『「歩行」という姿勢の後、続く○枚の俯瞰画像Wにおいて作業員の姿勢が「静止」となり、その後の○枚の俯瞰画像Wにおいて作業員の姿勢が「手を伸ばす」という姿勢となる』という内容のものである。管理ユーザは、このような定義を関連行動ごとに行い、各関連行動の定義を行動定義情報として予めサーバ15に登録する。そしてこの行動定義情報が評価モジュール42Cの行動定義管理部53に与えられ、行動定義管理部53によりメモリ15B(
図1)又はハードディスク装置15C(
図1)に格納されて管理される。
【0076】
分類結果シーケンス評価部54は、学習モジュール42Bの機械学習部51から与えられる作業員の姿勢の分類結果を、行動定義管理部53が管理している行動定義情報に基づいて評価する機能を有する機能部である。
【0077】
具体的に、分類結果シーケンス評価部54は、機械学習部51から順次与えられた、連続する所定枚数分の各俯瞰画像Wにおける作業員の姿勢の分類結果に基づいて、行動定義情報において定義された作業員の姿勢の変化の流れが最も近い関連行動を特定する。また分類結果シーケンス評価部は、特定した関連行動(以下、これを特定関連行動と呼ぶ)について定義されている一連の俯瞰画像Wにおける作業員の姿勢の変化の流れと、機械学習部51により分類された作業員の姿勢の流れとを比較する。
【0078】
そして分類結果シーケンス評価部54は、機械学習部51により分類された作業員の姿勢が、特定関連行動について定義されている一連の俯瞰画像Wにおける作業員の姿勢と一致していない俯瞰画像Wを不連続画像として検出する。
【0079】
このとき分類結果シーケンス評価部54が不連続画像の俯瞰画像Wを検出するケースとしては、製造現場での動作状況を考慮したケースや、時間を考慮したケースなどがある。
【0080】
「製造現場での動作状況を考慮したケース」とは、前後の俯瞰画像Wにおける作業員の姿勢の変化に基づいて不連続画像を検出するケースである。例えば、分類結果シーケンス評価部54により特定された上述の特定関連行動が「部品取出し(上)」である場合には、「棚に手を伸ばす(高い棚)」という姿勢は「静止」という姿勢の後、分類結果シーケンス評価部54により特定された特定関連行動が「部品取出し(下)」である場合には、「棚に手を伸ばす(低い棚)」という姿勢は「屈む」という姿勢の後に実行されることが行動定義情報で定義されているため、この順序と異なる順序で姿勢の変化が発生した場合には機械学習部51における学習の誤りであると判断できる。そこで、分類結果シーケンス評価部54は、このような場合に、特定関連行動の行動定義情報に基づき予測される姿勢と異なる姿勢が機械学習部51により推定(分類)された俯瞰画像Wを不連続画像として検出する。
【0081】
また「時間を考慮したケース」とは、時間的要素に基づいて不連続画像を検出するケースである。例えば、分類結果シーケンス評価部54が個々の俯瞰画像Wについて特定する上述の特定関連行動が
図9のような状況であった場合を考える。本実施の形態では、上述のように学習モジュール42Bの機械学習部51には、1秒間隔の俯瞰画像Wの画像データ(俯瞰画像データ)が与えられるため、
図9の例では、1秒で「部品取出し(上)」という関連行動が行われたことになる。しかしながら、常識的にこのような事態が発生することはない。従って、このような状況の場合にはその俯瞰画像Wについて機械学習部51が分類した作業員の姿勢が間違いである可能性が高い。そこで、分類結果シーケンス評価部54は、このような場合に、その俯瞰画像Wを不連続画像として検出する。
【0082】
このような時間的要素に基づいて不連続画像を検出するための手段として、例えば、「運搬は1分以上の時間を要する」、「作業には5分以上要する」といった、時間的な制約等の制約情報を予め行動定義管理部53や分類結果シーケンス評価部54に登録できるようにする。そして分類結果シーケンス評価部54が、特定関連行動を特定する際にこの制約情報を利用して不連続画像を検出するようにすればよい。
【0083】
なお、例えば「作業」及び「部品取出し(上)」のような、ある関連行動と別の関連行動との途中の画像が機械学習の導入時に間違えやすく、特定関連行動の特定が困難な俯瞰画像Wや姿勢については、上述の「時間を考慮したケース」としての不連続画像の検出対象から除外するようにしてもよい。
【0084】
そして分類結果シーケンス評価部54は、上述のような不連続画像の検出結果に基づいて例えば
図10に示すような分類結果評価画面80を生成し、生成した分類結果評価画面80の画像データを管理クライアント4に送信することにより、この分類結果評価画面80を管理クライアント4に表示させる。
【0085】
この
図10に示すように、この分類結果評価画面80は、ラベル別教師データフォルダ表示領域81、予測姿勢表示領域82、アラート表示領域83、エリア別フレーム画像表示領域84、予測姿勢ラベル表示領域85、分類姿勢表示領域86、俯瞰画像表示領域87及び不連続画像表示領域88を備えて構成される。
【0086】
そしてラベル別教師データフォルダ表示領域81には、学習モジュール42Bのラベル別教師データ格納部50(
図6)によりハードディスク装置15C内に作成された各ラベル別教師データフォルダ55(
図7)にそれぞれ対応させて、所定形状のアイコン90と、そのラベル別教師データフォルダ55と対応付けられた関連行動のラベルの名称を表す文字列91とが表示される。
【0087】
また予測姿勢表示領域82には、
図11に示すように、管理モジュール42Aから学習モジュール42Bに順次与えられた1秒間隔の俯瞰画像Wにそれぞれ対応付けられた複数の線分82Aが左側から右側に向けて時系列の順番で帯状に並べて表示される。この際、かかる線分82Aは、対応する俯瞰画像Wについて分類結果シーケンス評価部54により特定された上述の特定関連行動に応じた色で表示される。具体的に、線分82Aは、例えば、分類結果シーケンス評価部54により特定された特定関連行動が「作業中」である場合には赤色、「運搬中」である場合には青色、「部品取出し(上)」である場合には黄色、「部品取出し(下)」である場合には緑色などのように色分けされて表示される。
【0088】
エリア別フレーム画像表示領域84には、管理モジュール42Aから学習モジュール42Bに与えられた俯瞰画像データに基づく俯瞰画像Wから切り出されたエリアごとの画像(以下、これをエリア画像と呼ぶ)84Aが時系列に横方向に並べて表示される。エリア別フレーム画像表示領域84に表示されるこれらエリア画像の時間的範囲は、管理ユーザが予測姿勢表示領域82内のスライダ82Bをスライド操作することにより指定した時間的範囲である。この際、同じ俯瞰画像Wフレームから切り出された各エリアのエリア画像84Aは、縦方向に並べて表示される。以下においては、このように同じ俯瞰画像Wから切出されて縦方向に並べて表示された複数のエリア画像84Aをエリア画像群と呼ぶ。
【0089】
予測姿勢ラベル表示領域85には、対応する俯瞰画像Wについて行動定義情報に基づき予測される作業員の姿勢の姿勢ラベルが、その俯瞰画像Wに対応するエリア画像群と対応付けて表示される。また分類姿勢表示領域86には、対応する俯瞰画像Wについて機械学習部51により分類された作業員の姿勢の姿勢ラベルが、その俯瞰画像Wに対応するエリア画像群と対応付けて表示される。なお、
図10及び
図11では、予測姿勢ラベル表示領域85及び分類姿勢表示領域86に関連行動のラベルのみが表示されている状態を示しているが、実際には「○行動の△姿勢」というように、対応する関連行動及び姿勢のレベルが表示される。
【0090】
アラート表示領域83には、上述のように分類結果シーケンス評価部54が検出した不連続画像に対応する俯瞰画像Wのエリア画像群を指し示す矢印マーク83Aがアラートとして表示される。
【0091】
さらに俯瞰画像表示領域87には、エリア別フレーム画像表示領域84に表示されたエリア画像群の中からユーザにより選択されたエリア画像群に対応する元の俯瞰画像Wの全体画像が表示される。また不連続画像表示領域88には、その俯瞰画像Wのエリアごとのエリア画像(エリア別フレーム画像表示領域84に表示された対応する各エリア画像84A)が拡大されてそれぞれ表示される。
【0092】
そして、この分類結果評価画面80では、分類姿勢表示領域86に表示された対応する俯瞰画像Wに付与された姿勢ラベルを管理ユーザの操作により他の姿勢の姿勢ラベルに付け替えることができる。かくして管理ユーザは、アラート表示領域83にアラート(矢印マーク83A)が表示されたエリア画像群と対応する俯瞰画像Wに付与されて分類姿勢表示領域86に表示されたラベルを、正しい姿勢の姿勢ラベル(例えば、予測姿勢ラベル表示領域85に表示された対応する姿勢ラベル)に修正することができる。
【0093】
このような姿勢ラベルの修正は、分類結果評価画面80からポップアップメニューにより行うことができる。そして、このとき修正された姿勢ラベルと、その俯瞰画像Wの画像データとが管理クライアント4から学習モジュール42Bのラベル別教師データ格納部50に与えられる。かくしてラベル別教師データ格納部50は、これら姿勢ラベル及びその俯瞰画像Wの画像データを新たな教師データとしてハードディスク装置15C内の対応するラベル別教師データフォルダ55に格納する。また機械学習部51は、この後、管理クライアント4から与えられる上述の再学習指示に応じて、この新たな教師データに基づいて、その俯瞰画像W内の作業員の姿勢を再学習する。
【0094】
なお、かかる再学習を頻繁に行うと効率が悪いため、一定回数のラベルの修正が行われた段階で再学習を行うようにしてもよい。このようにする場合には、例えば、管理クライアント4が再学習指示を評価モジュール42Cに与えるようにし、評価モジュール42Cが一定数の再学習指示を受信した段階で、これら再学習指示を纏めた再学習指示を学習モジュール42Bの機械学習部51に与えるようにすればよい。
【0095】
(5)チューニングの流れ
図12は、本業務支援システム1の導入時にサーバ15の学習モジュール42Bの機械学習部51について実行される「チューニング」の流れを示す。
【0096】
チューニングの実行時、管理ユーザは、まず、分類対象のすべての関連行動のラベルをサーバ15に設定すると共に、これら関連行動の行動定義情報をサーバ15に登録する。かくしてサーバ15の学習モジュール42Bのラベル別教師データ格納部50は、設定された関連行動のラベルごとのラベル別教師データフォルダ55(
図7)をハードディスク装置15C(
図2)内にそれぞれ作成すると共に、評価モジュール42Cの行動定義管理部53は行動定義情報をメモリ15Bに格納する(S20)。
【0097】
続いて、管理ユーザは、第1のシステム2(
図1)を稼動させて俯瞰映像データをサーバ15(
図2)内のハードディスク装置15C内に用意する(S21)。ただし、管理ユーザがチューニング用の俯瞰映像データや、俯瞰画像Wの画像データを別途用意してハードディスク装置15Cに格納するようにしてもよい。
【0098】
そして管理ユーザは、用意した俯瞰映像データから例えば1秒間隔の俯瞰画像Wの画像データを順次読み出し、読み出したこれらの画像データに対してその俯瞰画像W内の作業員の姿勢のラベル(姿勢ラベル)を付与した上で、これらの画像データを教師データとしてハードディスク装置15C内に作成された対応するラベル別教師データフォルダ55に順次振り分けて格納する(S22)。
【0099】
その後、管理ユーザは、データ管理アプリ42(
図6)を稼動させて、ディープラーニングを実行させる(S23)。また管理ユーザは、この後、ステップS23のディープラーニングにより得られた予測モデルを用いて、ハードディスク装置15Cに格納されている俯瞰映像データに基づく俯瞰映像の1秒ごとの俯瞰画像Wについて、当該俯瞰画像W内の作業員の姿勢を分類(推定)する姿勢分類処理を学習モジュール42Bの機械学習部51(
図6)に実行させる(S24)。
【0100】
この結果、このときの機械学習部51の姿勢分類処理の処理結果が分類結果シーケンス評価部54(
図6)に与えられ、分類結果シーケンス評価部54においてかかる処理結果が評価されて
図11について上述した分類結果評価画面80が生成され、生成された分類結果評価画面80が管理クライアント4に表示される(S25)。
【0101】
管理ユーザは、この分類結果評価画面80上においてアラートが表示されているか否かを確認し(S26)、アラートが表示されていない場合には(S26;NO)、このときのチューニングを終了する。また管理ユーザは、分類結果評価画面80にアラートが表示されている場合には(S26;YES)、アラートが表示された俯瞰画像Wに対するラベルの修正を分類結果評価画面80上で行い(S27)、この後、分類結果評価画面80上でアラートが表示されなくなるまでステップS23以降の処理を繰り返す。
【0102】
そして、やがて分類結果評価画面80上でアラートが表示されなくなった段階で(S26;NO)、チューニングが終了する。
【0103】
(6)姿勢分類処理
図13は、上述のステップS24において機械学習部51により実行される姿勢分類処理の処理手順を示す。なお
図13では、組立作業エリアL11(
図4)に対する姿勢分類処理の処理手順を示している。
【0104】
機械学習部51は、この姿勢分類処理を開始すると、まず、管理モジュール42A(
図6)を介して取得した1枚の俯瞰画像Wの画像データ(俯瞰画像データ)と、エリア定義情報テーブルTL(
図5)に格納されている各エリアのエリア座標とを取得する(S30)。
【0105】
続いて、機械学習部51は、取得した俯瞰画像データに基づく俯瞰画像Wから組立作業エリアL11の画像を切り出し(S31)、同エリアの画像の画素情報を認識して同エリア内に作業員が存在するか否かを判定する(S32)。
【0106】
機械学習部51は、この判定で肯定結果を得ると(S32;YES)、作業員が組立作業台を向いているか否かを判定する(S33)。そして機械学習部51は、この判定で否定結果を得ると(S33;NO)、組立作業エリアL11内に存在する作業員の姿勢を推定する(S37)。
【0107】
また機械学習部51は、ステップS33の判定で肯定結果を得ると(S33;YES)、ステップS30で取得した俯瞰画像データに基づく俯瞰画像Wから組立作業台エリアL13(
図4)の画像を切り出し(S34)、この後、同エリア内の作業員の姿勢を推定する(S37)。
【0108】
一方、機械学習部51は、ステップS32の判定で否定結果を得ると(S32;NO)、搬送エリアL12(
図4)内に作業員が存在するか否かを判定する(S35)。そして機械学習部51は、この判定で否定結果を得ると(S35;NO)、ステップS38に進む。
【0109】
また機械学習部51は、ステップS35の判定で肯定結果を得ると(S35;YES)、ステップS30で取得した俯瞰画像データに基づく俯瞰画像Wから搬送エリアL12(
図4)の画像を切り出し(S36)、この後、同エリア内の作業員の姿勢を推定する(S37)。
【0110】
そして機械学習部51は、ステップS37で作業員の姿勢を推定し終えると、必要なすべての俯瞰画像Wに対するステップS30〜ステップS37の処理を実行し終えたか否かを判定する(S38)。
【0111】
機械学習部51は、この判定で否定結果を得ると(S38;NO)、ステップS30に戻り、この後、対象とする俯瞰画像Wを未処理の他の俯瞰画像Wに順次切替えながら、ステップS30〜ステップS38の処理を繰り返す。
【0112】
そして機械学習部51は、やがて必要な俯瞰画像Wに対するステップS30〜ステップS37の処理を実行し終えることによりステップS38で肯定結果を得ると(S38;YES)、この姿勢分類処理を終了する。
【0113】
(7)本実施の形態の効果
以上のように本実施の形態の業務支援システム1では、分類結果評価画面80において、行動定義情報に基づき予測される俯瞰画像W内の作業員の姿勢の姿勢ラベルと、機械学習部51により分類されたその俯瞰画像W内の作業員の姿勢の姿勢ラベルとが異なる俯瞰画像Wについてアラート(矢印マーク83A)を表示すると共に、その俯瞰画像Wについて姿勢ラベルが修正された場合には、その俯瞰画像Wの画像データ及びその姿勢ラベルを教師データとして機械学習部51が再学習を行う。
【0114】
従って、本業務支援システム1によれば、予測モデルを用いた各俯瞰画像W内の作業員の姿勢の分類処理において特に機械学習部51が間違いを起こし易い俯瞰画像Wの画像データを教師データとすることができるため、より重要度の高い教師データを選択的かつ容易に取得することができる。かくするにつき、チューニングに要する管理ユーザの労力を低減させながら、機械学習の精度を向上させることができる。
【0115】
(8)他の実施の形態
なお上述の実施の形態においては、本発明を製造・物流の現場における業務改善を支援する業務支援システム1に適用するようにした場合について述べたが、本発明はこれに限らず、要は、AIを利用する種々のシステムに広く適用することができる。
【0116】
また上述の実施の形態においては、
図12のステップS24の後に常に分類結果評価画面80を管理クライアント4に表示するようにした場合について述べたが、本発明はこれに限らず、ステップS25以降の処理を実行するかしないかを管理ユーザが選択できるようにし、必要な場合にのみステップS25以降の処理を実行させ得るようにしてもよい。
【0117】
なお、本発明は上述した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上述した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることも可能である。