(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-05
(45)【発行日】2024-12-13
(54)【発明の名称】情報処理装置、情報処理方法及び情報処理プログラム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20241206BHJP
【FI】
G06Q10/04
(21)【出願番号】P 2024552757
(86)(22)【出願日】2022-12-27
(86)【国際出願番号】 JP2022048071
(87)【国際公開番号】W WO2024142193
(87)【国際公開日】2024-07-04
【審査請求日】2024-09-04
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】佐羽内 雅人
(72)【発明者】
【氏名】清水 尚吾
(72)【発明者】
【氏名】草野 勝大
(72)【発明者】
【氏名】小平 孝之
【審査官】小原 正信
(56)【参考文献】
【文献】特開2022-136068(JP,A)
【文献】特開2021-157431(JP,A)
【文献】特開2016-147010(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q10/00-99/00
(57)【特許請求の範囲】
【請求項1】
作業対象物への作業の際の作業者の運動情報である作業者運動情報と、前記作業対象物の画像である作業対象物画像とを取得する取得部と、
各々に作業者の運動情報と作業対象物の画像とが関連づけられている、複数の作業工程のうちの実施されている作業工程を推定するための
複数のモデルである複数の推定モデルの中から
、前記作業者が前記作業対象物に実施している作業工程を推定するために利用する推定モデルを利用推定モデルとして選択するモデル選択部と
、
前記作業者運動情報と前記複数の推定モデルの各々に関連づけられている運動情報との類似度を計算し、前記作業対象物画像と前記複数の推定モデルの各々に関連づけられている画像との類似度を計算する類似度計算部とを有し、
前記モデル選択部は、
前記類似度計算部により計算された、前記作業者運動情報と前記複数の推定モデルの各々に関連づけられている運動情報との類似度を用いて、前記複数の推定モデルの中から前記利用推定モデルの候補となる推定モデルを第1の候補モデルとして選択し、
前記類似度計算部により計算された、前記作業対象物画像と前記複数の推定モデルの各々に関連づけられている画像との類似度を用いて、前記複数の推定モデルの中から前記利用推定モデルの候補となる推定モデルを第2の候補モデルとして選択し、
前記第1の候補モデルと前記第2の候補モデルとのうちのいずれかを、前記利用推定モデルとして選択する情報処理装置。
【請求項2】
前記複数の推定モデルの各々は、作業者の特性と作業対象物の特性との複数の組み合わせのうちのいずれかの組み合わせに対応しており、
前記モデル選択部は、
前記第1の候補モデルが対応している作業者の特性である第1の作業者特性と前記第2の候補モデルが対応している作業者の特性である第2の作業者特性とを比較し、前記第1の候補モデルが対応している作業対象物の特性である第1の作業対象物特性と前記第2の候補モデルが対応している作業対象物の特性である第2の作業対象物特性とを比較し、
前記第1の作業者特性と前記第2の作業者特性とが一致し、前記第1の作業対象物特性と前記第2の作業対象物特性とが一致しない場合に、前記第1の候補モデルと前記第2の候補モデルのうち、運動情報についての類似度が大きい候補モデルを前記利用推定モデルとして選択し、
前記第1の作業者特性と前記第2の作業者特性とが一致せず、前記第1の作業対象物特性と前記第2の作業対象物特性とが一致する場合に、前記第1の候補モデルと前記第2の候補モデルのうち、画像についての類似度が大きい候補モデルを前記利用推定モデルとして選択し、
前記第1の作業者特性と前記第2の作業者特性とが一致せず、前記第1の作業対象物特性と前記第2の作業対象物特性とが一致しない場合に、前記第1の候補モデルと前記第2の候補モデルのうち、運動情報についての類似度と画像についての類似度を正規化して得られたスコアの大きい候補モデルを前記利用推定モデルとして選択する請求項
1に記載の情報処理装置。
【請求項3】
前記類似度計算部は、
前記作業者運動情報との類似度の計算と前記作業対象物画像との類似度の計算において前記モデル選択部により過去に前記利用推定モデルとして選択された推定モデルを優先する請求項
1に記載の情報処理装置。
【請求項4】
前記類似度計算部は、
前記作業者の前記作業対象物への作業中の映像の解析により、前記複数の推定モデルの間に優先順位を設定し、前記作業者運動情報との類似度の計算と前記作業対象物画像との類似度の計算を優先順位の高い推定モデルから順に行う請求項
1に記載の情報処理装置。
【請求項5】
前記複数の推定モデルの各々は、複数の作業手順のうちのいずれかの作業手順に対応し、前記複数の作業手順の各々には、前記複数の作業工程のうちのいずれか2つ以上の作業工程が含まれ、当該2つ以上の作業工程の実施順序が指定され、
前記取得部は、
作業手順ごとに2つ以上の作業工程の実施順序がノードの接続で示される木構造の探索マップを取得し、
前記類似度計算部は、
前記映像の解析により抽出された特定の作業工程に対応する前記探索マップ内の特定のノードから分岐する葉ノードの数に基づき、前記複数の推定モデルの間に優先順位を設定する請求項
4に記載の情報処理装置。
【請求項6】
コンピュータが、作業対象物への作業の際の作業者の運動情報である作業者運動情報と、前記作業対象物の画像である作業対象物画像とを取得
する取得処理と、
前記コンピュータが、
各々に作業者の運動情報と作業対象物の画像とが関連づけられている、複数の作業工程のうちの実施されている作業工程を推定するための
複数のモデルである複数の推定モデルの中か
ら、前記作業者が前記作業対象物に実施している作業工程を推定するために利用する推定モデルを利用推定モデルとして選択する
モデル選択処理と、
前記コンピュータが、前記作業者運動情報と前記複数の推定モデルの各々に関連づけられている運動情報との類似度を計算し、前記作業対象物画像と前記複数の推定モデルの各々に関連づけられている画像との類似度を計算する類似度計算処理とを有し、
前記モデル選択処理では、
前記コンピュータが、
前記類似度計算処理において計算された、前記作業者運動情報と前記複数の推定モデルの各々に関連づけられている運動情報との類似度を用いて、前記複数の推定モデルの中から前記利用推定モデルの候補となる推定モデルを第1の候補モデルとして選択し、
前記類似度計算処理において計算された、前記作業対象物画像と前記複数の推定モデルの各々に関連づけられている画像との類似度を用いて、前記複数の推定モデルの中から前記利用推定モデルの候補となる推定モデルを第2の候補モデルとして選択し、
前記第1の候補モデルと前記第2の候補モデルとのうちのいずれかを、前記利用推定モデルとして選択する情報処理方法。
【請求項7】
作業対象物への作業の際の作業者の運動情報である作業者運動情報と、前記作業対象物の画像である作業対象物画像とを取得する取得処理と、
各々に作業者の運動情報と作業対象物の画像とが関連づけられている、複数の作業工程のうちの実施されている作業工程を推定するための
複数のモデルである複数の推定モデルの中から
、前記作業者が前記作業対象物に実施している作業工程を推定するために利用する推定モデルを利用推定モデルとして選択するモデル選択処理と
、
前記作業者運動情報と前記複数の推定モデルの各々に関連づけられている運動情報との類似度を計算し、前記作業対象物画像と前記複数の推定モデルの各々に関連づけられている画像との類似度を計算する類似度計算処理とをコンピュータに実行させる情報処理プログラム
であって、
前記モデル選択処理では、
前記コンピュータに、
前記類似度計算処理により計算された、前記作業者運動情報と前記複数の推定モデルの各々に関連づけられている運動情報との類似度を用いて、前記複数の推定モデルの中から前記利用推定モデルの候補となる推定モデルを第1の候補モデルとして選択させ、
前記類似度計算処理により計算された、前記作業対象物画像と前記複数の推定モデルの各々に関連づけられている画像との類似度を用いて、前記複数の推定モデルの中から前記利用推定モデルの候補となる推定モデルを第2の候補モデルとして選択させ、
前記第1の候補モデルと前記第2の候補モデルとのうちのいずれかを、前記利用推定モデルとして選択させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、作業者が実施している作業工程を推定する技術に関する。
【背景技術】
【0002】
産業分野において、作業者の特性(例えば、作業者の利き手)及び/又は作業対象物の特性(例えば、作業対象物である製品の機種)が時間帯により切り替わる組み立てラインがある。そして、このような組み立てラインにおいて、映像から実施されている作業工程を正確に推定する技術に対するニーズがある。
作業工程とは、作業手順を構成する要素である。複数の作業工程が組み合わされて1つの作用手順が構成される。作業工程は、以下では作業要素ともいう。
【0003】
映像から実施されている作業工程を正確に推定するためには、作業者の特性及び作業対象物の特性に応じて、動作モード(以下、単にモードということもある)を切り替える必要がある。つまり、実施されている作業工程を推定するための複数の推定モデルの中から、作業者の特性及び/又は作業対象物の特性に応じて、適切な推定モデルを選択する必要がある。そして、選択した推定モデルに対応した動作モードに移行して、選択した推定モデルを実行する必要がある。
現在では、このような動作モードの切り替えは手作業で行われる。しかし、手作業での動作モードの切り替えは手間が大きく、切り替えの自動化が求められる。
【0004】
本開示に関連する技術として、特許文献1に開示の技術と特許文献2に開示の技術がある。
特許文献1では、映像から取得した人の手指の移動量、移動速度、軌跡に基づき動作モードを自動で切り替える方法が開示されている。
また、特許文献2では、画像から物体の有無を判別することで動作モードを自動で切り替える方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2004-246814号公報
【文献】特開2019-215711号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の技術及び特許文献2の技術では、作業者の特性(例えば、作業者の利き手)と作業対象物の特性(例えば、作業対象物である製品の機種)の組み合わせに応じて、適切な推定モデルを選択することができないという課題がある。
【0007】
本開示は、このような課題を解決することを主な目的とする。具体的には、作業者の特性と作業対象物の特性の組み合わせに応じて、適切な推定モデルを選択することを主な目的とする。
【課題を解決するための手段】
【0008】
本開示に係る情報処理装置は、
作業対象物への作業の際の作業者の運動情報である作業者運動情報と、前記作業対象物の画像である作業対象物画像とを取得する取得部と、
複数の作業工程のうちの実施されている作業工程を推定するためのモデルである複数の推定モデルの中から、前記作業者運動情報と前記作業対象物画像とを用いて、前記作業者が前記作業対象物に実施している作業工程を推定するために利用する推定モデルを利用推定モデルとして選択するモデル選択部とを有する。
【発明の効果】
【0009】
本開示によれば、作業者の特性と作業対象物の特性の組み合わせに応じて、適切な推定モデルを選択することができる。
【図面の簡単な説明】
【0010】
【
図1】実施の形態1に係る作業要素特定装置の構成例を示す図。
【
図2】実施の形態1に係る運用前処理を示すフローチャート。
【
図3】実施の形態1に係る運用前処理の骨格検出処理の例を示す図。
【
図4】実施の形態1に係る運用前処理の製品検出処理の例を示す図。
【
図5】実施の形態1に係る運用処理を示すフローチャート。
【
図6】実施の形態1に係る運用処理の骨格検出処理の例を示す図。
【
図7】実施の形態1に係る運用処理の製品検出処理の例を示す図。
【
図8】実施の形態1に係る運用処理の運動類似度計算処理の例を示す図。
【
図9】実施の形態1に係る運用処理の運動類似度計算処理の例を示す図。
【
図10】実施の形態1に係る運用処理の製品類似度計算処理の例を示す図。
【
図11】実施の形態1に係るインデックス情報と作業要素特定モデルとの対応表の例を示す図。
【
図12】実施の形態1に係る作業要素特定モデルの選択基準の例を示す図。
【
図13】実施の形態1の変形例2に係る作業要素特定装置の構成例を示す図。
【
図14】実施の形態1の変形例3に係る作業要素特定装置の構成例を示す図。
【
図15】実施の形態2に係る作業要素特定装置の構成例を示す図。
【
図16】実施の形態2に係る運用前処理を示すフローチャート。
【
図17】実施の形態2に係る作業要素表の生成処理の例を示す図。
【
図18】実施の形態2に係る作業要素表の例を示す図。
【
図19】実施の形態2に係る探索マップの例を示す図。
【
図21】実施の形態2に係る更新探索マップの例を示す図。
【
図22】実施の形態2に係る運用処理を示すフローチャート。
【
図23】実施の形態2に係る運用処理を示すフローチャート。
【
図24】実施の形態2に係る更新探索マップの例を示す図。
【発明を実施するための形態】
【0011】
以下、実施の形態を図を用いて説明する。以下の実施の形態の説明及び図面において、同一の符号を付したものは、同一の部分又は相当する部分を示す。
【0012】
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係る作業要素特定装置10の構成例を説明する。
作業要素特定装置10は情報処理装置に相当する。また、作業要素特定装置10の動作手順は、情報処理方法に相当する。また、作業要素特定装置10の動作を実現するプログラムは、情報処理プログラムに相当する。
なお、作業要素特定装置10が特定する「作業要素」は、前述したように、作業手順(本実施の形態では組み立て作業)を構成する要素(作業工程)である。2つ以上の作業要素が組み合わされて1つの作業手順が構成される。
【0013】
作業要素特定装置10は、コンピュータである。
作業要素特定装置10は、ハードウェアとして、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14を備える。
プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ11は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ12は、データを一時的に記憶する記憶装置である。メモリ12は、例えば、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。
ストレージ13は、データを保管する記憶装置である。ストレージ13は、例えば、HDD(Hard Disk Drive)である。また、ストレージ13は、SD(登録商標,Secure Digital)メモリカード、CF(登録商標,CompactFlash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記録媒体であってもよい。
通信インタフェース14は、外部の装置と通信するためのインタフェースである。通信インタフェース14は、例えば、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(登録商標,High-Definition Multimedia Interface)のポートである。
【0014】
作業要素特定装置10は、機能構成要素として、映像取得部21と、骨格検出部22と、製品検出部23と、運動類似度計算部24と、製品類似度計算部25と、モード選択部26と、作業要素特定部27とを備える。
作業要素特定装置10の各機能構成要素の機能はソフトウェアにより実現される。
ストレージ13には、作業要素特定装置10の各機能構成要素を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、作業要素特定装置10の各機能構成要素が実現される。
また、ストレージ13は、学習映像31と、学習映像の真値32と、作業要素特定モデル33とを記憶する。
【0015】
図1では、プロセッサ11の数は1つである。しかし、プロセッサ11は複数であってもよく、複数のプロセッサ11が各機能構成要素を実現するプログラムを連携して実行してもよい。
【0016】
学習映像31は、組み立て作業をしている1人以上の作業者と作業対象物である製品が映った映像である。
本実施の形態では、複数の学習映像31が存在する。各学習映像31は、複数の作業手順のうちのいずれかの作業手順に対応する。
【0017】
学習映像の真値32は、学習映像31の各フレームで行われている作業要素のラベル情報である。
【0018】
作業要素特定モデル33は、学習映像31ごとに生成されたモデルである。
本実施の形態では、複数の作業要素特定モデル33が存在する。各作業要素特定モデル33は、複数の学習映像31のうちのいずれかの学習映像31に対応する。つまり、各作業要素特定モデル33は、複数の作業手順のうちのいずれかの作業手順に対応する。
作業要素特定モデル33は、推定モデルの例である。
【0019】
作業要素特定装置10は、映像から取得された作業者の骨格情報を作業要素特定モデル33に適用することで、映像に映っている作業者が実施している作業要素を推定することができる。
骨格情報は、作業中の作業者の身体の運動を表す運動情報である。骨格情報には、作業者の首、手首といった複数の関節の座標の時系列情報、または、複数の関節の相対的な位置関係の時系列情報が含まれる。
【0020】
本実施の形態では、後述するように、作業者の特性として作業者の利き手(右利き、左利き)を想定する。また、作業対象物の特性として製品の機種(機種i、機種ii)を想定する。
本実施の形態では、作業者の利き手と製品の機種の全てのパターンを網羅する4つの学習映像31が存在する。つまり、本実施の形態では、利き手が右利きの作業者が機種iの製品への作業を行っている学習映像31(以下、「右利き&機種i学習映像」という)が存在する。また、利き手が右利きの作業者が機種iiの製品への作業を行っている学習映像31(以下、「右利き&機種ii学習映像」という)が存在する。また、利き手が左利きの作業者が機種iの製品への作業を行っている学習映像31(以下、「左利き&機種i学習映像」という)が存在する。また、利き手が左利きの作業者が機種iiの製品への作業を行っている学習映像31(以下、「左利き&機種ii学習映像」という)が存在する。
【0021】
また、作業要素特定モデル33も、学習映像31と同様である。つまり、作業者の利き手と製品の機種の全てのパターンを網羅する4つの作業要素特定モデル33が存在する。具体的には、本実施の形態では、利き手が右利きの作業者が機種iの製品への作業を行っている場合に適用される作業要素特定モデル33(以下、「右利き&機種iモデル」という)が存在する。また、利き手が右利きの作業者が機種iiの製品への作業を行っている場合に適用される作業要素特定モデル33(以下、「右利き&機種iiモデル」という)が存在する。また、利き手が左利きの作業者が機種iの製品への作業を行っている場合に適用される作業要素特定モデル33(以下、「左利き&機種iモデル」という)が存在する。また、利き手が左利きの作業者が機種iiの製品への作業を行っている場合に適用される作業要素特定モデル33(以下、「左利き&機種iiモデル」という)が存在する。
【0022】
また、学習映像の真値32は、学習映像31のフレームごとに該当する作業要素名を示す。
例えば、学習映像31が対応している作業手順に作業要素a、作業要素b及び作業要素cが含まれる場合を想定する。この場合に、学習映像の真値32には、例えば、フレーム1~10が作業要素aのフレームであること、フレーム11~20が作業要素bのフレームであること、フレーム21~30が作業要素cのフレームであることが示される。
【0023】
作業要素特定装置10の機能構成要素の詳細は後述するが、ここで各機能構成要素を概説する。
【0024】
映像取得部21は、通信インタフェース14を介して映像を取得する。
以下、映像取得部21が通信インタフェース14を介して取得した映像を入力映像46という。入力映像46は作業者が作業対象物である製品に作業を行っている映像である。
【0025】
骨格検出部22は、学習映像31及び入力映像46から作業者の運動情報である骨格情報を取得する。
骨格検出部22は、取得部に相当する。また、骨格検出部22により行われる処理は取得処理に相当する。また、骨格検出部22が入力映像46から取得する骨格情報は作業者運動情報に相当する。
【0026】
また、製品検出部23は、学習映像31及び入力映像46から製品画像を取得する。
製品検出部23も、取得部に相当する。また、製品検出部23により行われる処理も取得処理に相当する。また、製品検出部23が入力映像46から取得する製品画像は作業対象物画像に相当する。
【0027】
運動類似度計算部24は、学習映像31から取得された骨格情報と入力映像46から取得された骨格映像との間の類似度を計算する。
運動類似度計算部24は、類似度計算部に相当する。
【0028】
製品類似度計算部25は、学習映像31から取得された製品画像と入力映像46から取得された製品画像との間の類似度を計算する。
製品類似度計算部25も、類似度計算部に相当する。
【0029】
モード選択部26は、運動類似度計算部24により計算された運動類似度と製品類似度計算部25により計算された製品類似度とを用いて、複数の作業要素特定モデル33から、作業要素の特定のために用いる作業要素特定モデル33を選択する。
モード選択部26は、モデル選択部に相当する。モード選択部26により行われる処理はモデル選択処理に相当する。なお、モード選択部26により選択された作業要素特定モデル33は利用推定モデルに相当する。
【0030】
作業要素特定部27は、モード選択部26により選択された作業要素特定モデル33を用いて、作業者が実施している作業要素を特定する。
【0031】
***動作の説明***
次に、実施の形態1に係る作業要素特定装置10の動作例を説明する。
【0032】
実施の形態1に係る作業要素特定装置10は、運用前処理と運用処理とを行う。
運用前処理では、作業要素特定装置10は、学習映像31を用いて、運用処理を行うための準備を行う。
運用処理では、作業要素特定装置10は、入力された入力映像46を解析して、作業要素を特定するために利用する作業要素特定モデル33を選択する。
先ず、
図2を参照して、実施の形態1に係る運用前処理を説明する。
【0033】
(ステップS11:骨格検出処理)
骨格検出部22は、ストレージ13から全ての学習映像31を読み出す。
図3に示すように、骨格検出部22は、各学習映像31から、1人の作業者41の骨格情報42を検出する。
図3では、1関節分かつ作業手順の1サイクル分の骨格情報42を示している。しかし、実際には、骨格検出部22は、複数関節分かつ複数サイクル分の骨格情報42を検出する。作業手順の1サイクルには、全ての作業要素が含まれる。
【0034】
骨格検出部22は、学習映像31に映った1人以上の作業者41から1人の作業特定対象者を決定する。そして、骨格検出部22は作業特定対象者の骨格情報42を検出する。更に、骨格検出部22は、作業特定対象者の骨格情報42に、骨格情報42の検出元である学習映像31に対応させて作業要素特定モデル33のインデックス情報を付与する。そして、骨格情報42をインデックス情報とともにメモリ12に書き込む。
本実施の形態では、骨格検出部22は、「右利き&機種i学習映像」、「右利き&機種ii学習映像」、「左利き&機種i学習映像」、「左利き&機種ii学習映像」の各々から作業特定対象者の骨格情報42を検出する。そして、骨格検出部22は、「右利き&機種i学習映像」から検出された骨格情報42には「右利き&機種iモデル」が示されるインデックス情報を付与する。骨格検出部22は、「右利き&機種ii学習映像」、「左利き&機種i学習映像」、「左利き&機種ii学習映像」についても同様に骨格情報42を検出し、インデックス情報を付与する。
なお、骨格情報42の検出方法としては、深層学習を用いる方法等がある。また、作業特定対象者の決定方法には、検出した右肩と左肩の座標のユークリッド距離が最大である人物を選ぶ方法等がある。
【0035】
(ステップS12:製品検出処理)
製品検出部23は、ストレージ13から全ての学習映像31を読み出す。
図4に示すように、製品検出部23は、各学習映像31の代表フレーム43から組み立て対象の製品44を検出し、組み立て対象の製品44が映った製品画像45を切り出す。製品検出部23は、切り出した製品画像45に、製品画像45の切り出し元である学習映像31に対応させて作業要素特定モデル33のインデックス情報を付与する。そして、製品検出部23は、製品画像45をインデックス情報とともにメモリ12に書き込む。
【0036】
代表フレーム43を選択する方法として、製品検出部23が、学習映像31から、一定時間置きに代表フレーム43を選択する方法と、学習映像の真値32を用いる方法がある。
学習映像の真値32を用いる方法では、製品検出部23は、メモリ12から学習映像の真値32を読み出し、学習映像の真値32から各作業要素が開始するフレーム及び終了するフレームを特定する。そして、製品検出部23は、各作業要素が開始するフレーム及び終了するフレームの間から中央フレーム等を代表フレーム43として選択する。一つの作業要素が開始するフレーム及び終了するフレームが複数ある場合がある。すなわち学習映像31において一つの作業要素が複数回行われている場合がある。この場合は、製品検出部23は、各回で代表フレーム43を用意してもよい。また、製品検出部23は、各作業要素が開始するフレーム及び終了するフレームの間から、複数の代表フレーム43を選択してもよい。
製品画像45を切り出す方法としては、深層学習を用いる方法、ステップS11で検出した作業特定対象者の手首の座標周辺を切り出す方法、予め定めた範囲を切り出す方法等がある。
【0037】
図5を参照して、実施の形態1に係る運用処理を説明する。
【0038】
(ステップS21:映像取得処理)
映像取得部21は、入力映像46を、通信インタフェース14を介して取得する。映像取得部21は、入力映像46をメモリ12に書き込む。
入力映像46は、組み立て作業をしている1人以上の作業者41と組み立て対象の製品44が映った、任意時間の映像である。
【0039】
(ステップS22:終了判定処理)
映像取得部21は、入力映像46を取得できたか否かを判定する。
入力映像46を取得できなかった場合には、運用処理を終了する。
【0040】
(ステップS23:骨格検出処理)
骨格検出部22は、メモリ12から入力映像46を読み出す。
図6に示すように、骨格検出部22は、入力映像46から、1人の作業者41の骨格情報42を検出する。
図6には1関節分の骨格情報42を示している。しかし、実際には、骨格検出部22は複数の関節分の骨格情報42を検出する。
骨格検出部22は、入力映像46に映った1人以上の作業者41から1人の作業特定対象者を決定する。そして、骨格検出部22は作業特定対象者の骨格情報42を検出する、更に、骨格検出部22は、作業特定対象者の骨格情報42をメモリ12に書き込む。
骨格情報42の検出方法としては、深層学習を用いる方法等がある。また、作業特定対象者の決定方法には、検出した右肩と左肩の座標のユークリッド距離が最大である人物を選ぶ方法等がある。
【0041】
(ステップS24:製品検出処理)
製品検出部23は、メモリ12から入力映像46を読み出す。
図7に示すように、製品検出部23は、入力映像46の代表フレーム43から組み立て対象の製品44を検出し、組み立て対象の製品44が映った製品画像45を切り出す。製品検出部23は、切り出した製品画像45をメモリ12に書き込む。製品検出部23は、代表フレーム43として、入力映像46の中央フレーム等、1フレームを選択する。
製品画像45を切り出す方法としては、深層学習を用いる方法、ステップS23で検出した作業特定対象者の手首の座標周辺を切り出す方法、予め定めた範囲を切り出す方法等がある。
【0042】
(ステップS25:運動類似度計算処理)
運動類似度計算部24は、ステップS11で検出した全ての学習映像31の骨格情報42と、ステップS23で検出した入力映像46の骨格情報42とをメモリ12から読み出す。
図8に示すように、運動類似度計算部24は、ステップS11で検出した学習映像31の各骨格情報42と、ステップS23で検出した入力映像46の骨格情報42との類似度を総当たりで計算する。運動類似度計算部24は、計算した類似度をメモリ12に書き込む。
【0043】
図9に示すように、運動類似度計算部24は、骨格情報42の類似度を計算する際、ステップS11で検出した学習映像31の各骨格情報42を作業要素ごとに区切る。具体的には、運動類似度計算部24は、メモリ12から学習映像の真値32を読み出し、学習映像の真値32から各作業要素が開始するフレーム及び終了するフレームを特定する。そして、運動類似度計算部24は、特定したフレームを基準に学習映像31の骨格情報42を作業要素ごとに区切る。
更に、運動類似度計算部24は、区切った学習映像31の骨格情報42とステップS23で検出した入力映像46の骨格情報42との類似度を総当たりで計算する。
図8及び
図9の例では、
図8の左側に示す2つの骨格情報42の各々について、
図9に示す作業要素ごとに、ステップS23で検出した入力映像46の骨格情報42との類似度を総当たりで計算する。
骨格情報42の類似度を求める方法として、2つの骨格情報42のユークリッド距離を関節ごとに計算し、ユークリッド距離の総和が小さい骨格情報42の類似度が高いとする方法等がある。
【0044】
(ステップS26:製品類似度計算処理)
製品類似度計算部25は、ステップS12で切り出した学習映像31の全ての製品画像45と、ステップS24で切り出した入力映像46の製品画像45とをメモリ12から読み出す。
図10に示すように、製品類似度計算部25は、ステップS12で切り出した学習映像31の各製品画像45と、ステップS24で切り出した入力映像46の製品画像45との類似度を総当たりで計算する。
製品画像の類似度の計算方法は、Bag of Features等の周知のものでよい。
製品類似度計算処理24は、計算した類似度をメモリ12に書き込む。
【0045】
(ステップS27:モード選択処理)
モード選択部26は、ステップS11で検出した学習映像31の骨格情報42と、ステップS12で切り出した学習映像31の製品画像45と、ステップS25とステップS26それぞれで計算した類似度とをメモリ12から読み出す。
モード選択部26は、ステップS25で計算した骨格情報42の類似度の大きさと、ステップS26で計算した製品画像45の類似度の大きさと、類似度計算に用いた学習映像31の骨格情報42に付与されているインデックス情報と学習映像31の製品画像45に付与されているインデックス情報とから、作業要素特定モデル33を選択する。
モード選択部26は、作業要素特定部27の動作モード(作業要素特定モード)として、選択した作業要素特定モデル33に対応するモードを選択する。
【0046】
ここでは、モード選択部26が、前述した「右利き&機種iモデル」、「右利き&機種iiモデル」、「左利き&機種iモデル」及び「左利き&機種iiモデル」の4種類の作業要素特定モデル33のうち、いずれかを選択する場合を考える。
なお、作業要素特定装置10は、
図11に例示する、各作業要素特定モデル33のインデックス情報と4種類の作業要素特定モデルの対応関係を示す対応表などを別途有している。
このとき、モード選択部26は、入力映像46に映った作業特定対象者の特性である「利き手」と組み立て対象の製品44の特性である「機種」の組み合わせに基づいて、作業要素特定モデル33を選択する。
【0047】
まず、モード選択部26は、ステップS11で検出した学習映像31の骨格情報42のうち、ステップS23で検出した入力映像46の骨格情報42との類似度が最大の骨格情報42を作業要素単位で選択する。つまり、モード選択部26は、学習映像31の複数の骨格情報42の作業要素のうち、類似度が最大の作業要素を選択する。
そして、モード選択部26は、選択した作業要素に付与されているインデックス情報が示す作業要素特定モデル33を第1の候補モデルとして特定する。
【0048】
次に、モード選択部26は、ステップS12で切り出した学習映像31の製品画像45のうち、ステップS24で切り出した入力映像46の製品画像45との類似度が最大の製品画像45を選択する。
そして、モード選択部26は、選択した製品画像45に付与されているインデックス情報が示す作業要素特定モデル33を第2の候補モデルとして特定する。
【0049】
モード選択部26は、第1の候補モデルが対応している作業者の特性である第1の作業者特性(利き手)と第2の候補モデルが対応している作業者の特性である第2の作業者特性(利き手)とを比較する。また、モード選択部26は、第1の候補モデルが対応している作業対象物の特性である第1の作業対象物特性(機種)と第2の候補モデルが対応している作業対象物の特性である第2の作業対象物特性(機種)とを比較する。
そして、第1の作業者特性と第2の作業者特性とが一致し、第1の作業対象物特性と第2の作業対象物特性とが一致しない場合に、モード選択部26は、骨格情報42の類似度の計算結果を優先して候補モデルのいずれかを選択する。つまり、モード選択部26は、第1の候補モデルと第2の候補モデルのうち、骨格情報42についての類似度が大きい候補モデルを選択する。
また、第1の作業者特性と第2の作業者特性とが一致せず、第1の作業対象物特性と第2の作業対象物特性とが一致する場合に、モード選択部26は、製品画像45の類似度の計算結果を優先して候補モデルのいずれかを選択する。つまり、モード選択部26は、第1の候補モデルと第2の候補モデルのうち、製品画像45についての類似度が大きい候補モデルを選択する。
また、第1の作業者特性と第2の作業者特性とが一致せず、更に、第1の作業対象物特性と第2の作業対象物特性とが一致しない場合に、モード選択部26は、骨格情報42の類似度と製品画像45の類似度をそれぞれ0~1のスコアに正規化し、合計スコアが大きい方の計算結果を優先して候補モデルのいずれかを選択する。つまり、モード選択部26は、第1の候補モデルと第2の候補モデルのうち、骨格情報42についての類似度と製品画像45についての類似度を正規化して得られた合計スコアが大きい候補モデルを選択する。
【0050】
以上の作業要素特定モデル33の選択基準の具体例を
図12に示す。
第1の作業者特性と第2の作業者特性とが一致し、第1の作業対象物特性と第2の作業対象物特性とが一致する場合、すなわち、第1の候補モデルと第2の候補モデルが一致する場合は、モード選択部26は第1の候補モデル(=第2の候補モデル)をそのまま選択する。
第1の候補モデルと第2の候補モデルが一致しない場合のうち、「右利き&機種iモデル」と「右利き&機種iiモデル」のように、第1の作業対象物特性と第2の作業対象物特性のみが一致しない場合(製品の機種が一致しない場合)は、モード選択部26は、製品画像45についての類似度が大きい候補モデルを選択する。
また、「右利き&機種iモデル」と「左利き&機種iモデル」のように、第1の作業者特性と第2の作業者特性のみが一致しない場合は、モード選択部26は、骨格情報42についての類似度が大きい候補モデルを選択する。
また、「右利き&機種iモデル」と「左利き&機種iiモデル」のように、第1の作業者特性と第2の作業者特性とが一致せず、更に、第1の作業対象物特性と第2の作業対象物特性とが一致しない場合は、モード選択部26は、骨格情報42について類似度と製品画像45についての類似度をそれぞれ0~1のスコアに正規化する。そして、モード選択部26は、骨格情報42についてのスコアと製品画像45についてのスコアの合計値が大きい候補モデルを選択する。
【0051】
(ステップS28:作業要素特定処理)
作業要素特定部27は、ステップS27で選択した作業要素特定モードにおいて、選択した作業要素特定モデル33を用いて、作業者41が実施している作業要素を特定し、作業要素名を出力する。
【0052】
***実施の形態1の効果***
以上のように、本実施の形態によれば、作業者の特性と作業対象物の特性の組み合わせに応じて、適切な作業要素特定モデル33を選択することができる。
【0053】
より具体的には、本実施の形態に係る作業要素特定装置10は、入力映像46と学習映像31との間で骨格情報42の類似度を計算し、計算した類似度をもとに作業要素特定モードを選択する。骨格情報42は、人の関節の座標の時系列情報、複数の関節の相対的な位置関係の時系列情報といった、人の運動情報である。また、類似度の計算には、骨格情報42のユークリッド距離を用いる方法等がある。ユークリッド距離を用いる方法では、2つの骨格情報42のうち同じ作業要素部分に異なる運動が含まれていても、共通する運動部分から類似度が高いことを判定できる。したがって、本実施の形態によれば、人の運動情報を用いて適切な作業要素特定モデル33を選択することができる。
【0054】
また、本実施の形態に係る作業要素特定装置10は、入力映像46と学習映像31との間で製品画像45の類似度を計算し、計算した類似度をもとに作業要素特定モードを決定する。製品画像45の類似度は、製品44が同じ機種であれば高くなり、異なる機種であれば低くなる。したがって、本実施の形態によれば、製品44の機種に応じて適切な作業要素特定モデル33を選択することができる。
【0055】
***他の構成***
<変形例1>
実施の形態1では、作業要素特定装置10は、
図2から
図4に示すように、運用前処理として学習映像31及び入力映像46から骨格情報42及び製品画像45を取得し、メモリ12に書き込んでいた。しかし、作業要素特定装置10は、予め外部で生成した骨格情報42及び製品画像45をメモリ12に書き込んでもよい。
また、運用前処理の全体(骨格情報42へのインデックス情報の付与、製品画像45へのインデックス情報の付与まで)を外部で行ってもよい。この場合は、作業要素特定装置10は、外部で生成された骨格情報42とインデックス情報、製品画像45とインデックス情報を用いて運用処理を行う。
【0056】
<変形例2>
実施の形態1では、
図1に示すように、作業要素特定装置10は、1つの装置であった。しかし、作業要素特定装置10は、複数の装置によって構成されていてもよい。
具体例として、
図13に示すように、作業要素特定装置10は、検出装置110と特定装置120という2つの装置で構成されていてもよい。検出装置110は、学習映像31から骨格情報42と製品画像45を取得する。特定装置120は、入力映像46から作業要素を特定する。
この場合には、学習映像31と、学習映像の真値32と、作業要素特定モデル33とは、検出装置110及び特定装置120の外部に設けられたストレージに記憶されてもよい。また、学習映像31と、学習映像の真値32と、作業要素特定モデル33とが、検出装置110と特定装置120のうちのいずれかのストレージに記憶されてもよい。
なお、
図13では、検出装置110及び特定装置120のハードウェアの図示は省略されている。
検出装置110及び特定装置120は、それぞれ、作業要素特定装置10と同様に、ハードウェアとして、プロセッサとメモリとストレージと通信インタフェースとを備える。
【0057】
<変形例3>
実施の形態1では、作業要素特定装置10の各機能構成要素がソフトウェアで実現された。しかし、変形例3として、作業要素特定装置10の各機能構成要素はハードウェアで実現されてもよい。この変形例3について、実施の形態1と異なる点を説明する。
図14を参照して、変形例3に係る作業要素特定装置10の構成例を説明する。
各機能構成要素がハードウェアで実現される場合には、作業要素特定装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
電子回路15としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)が想定される。
全ての機能構成要素を1つの電子回路15で実現してもよいし、機能構成要素を複数の電子回路15に分散させて実現してもよい。
【0058】
<変形例4>
変形例4として、作業要素特定装置10の一部の機能構成要素がハードウェアで実現され、他の機能構成要素がソフトウェアで実現されてもよい。
【0059】
<変形例5>
実施の形態1では、モード選択部26は、骨格情報42と製品画像45の類似度から絞った第1の候補モデルと第2の候補モデルの関係から、骨格情報42と製品画像45のどちらの類似度の計算結果を優先するかを決めていた。
しかし、モード選択部26は、ステップS26で計算した製品画像45の類似度の最大値が閾値以上である場合、製品画像45の類似度の計算結果を優先し、閾値未満である場合は骨格情報42の類似度の計算結果を優先してもよい。
【0060】
実施の形態2.
実施の形態2は、運用前処理において、作業要素特定モデルの選択候補を絞り込むための探索マップを生成する点が実施の形態1と異なる。また、実施の形態2では、運用処理において、探索マップ及び/又は前サイクルの情報により絞り込んだ選択候補の中から作業要素特定モデルを選択する点が実施の形態1と異なる。
実施の形態2では、主にこれら異なる点を説明し、同一の点については説明を省略する。
【0061】
なお、実施の形態2では、複数の作業手順を想定する。実施の形態2では、作業手順ごとに、含まれる作業要素が指定されており、また、作業要素の実施順序も指定されている。
また、実施の形態2では、一つの作業手順に対し、組み立て対象となる製品44の機種が一つに決まるものとする。例えば、作業手順A、Bが存在する場合には、作業手順Aに対して製品44の機種Aが、作業手順Bに対して製品44の機種Bが組み立て対象となる。
さらに、作業者41の利き手が異なる場合、組み立て対象の製品44の機種が同一であっても、作業手順および作業手順を構成する作業要素を別のものとして扱う。例えば、製品A、Bの各々を組み立てる作業手順として、右利きの作業者を対象とする作業手順A、Bと、左利きの作業者を対象とする作業手順A’、B’が存在する。また、作業手順Aが作業要素a、b、・・・から構成される場合、作業手順A’を構成する作業要素a’、b’、・・・が存在する。作業手順B、B’を構成する作業要素についても同様である。
そして、作業手順ごとに学習映像31が存在し、学習映像31ごとに作業要素特定モデル33が存在する。例えば、作業手順A、B、A’、B’の各々には作業映像A、B、A’、B’が存在し、作業映像A、B、A’、B’の各々には作業要素特定モデルA、B、A’、B’が存在する。
実施の形態1では、作業者の特性として作業者の利き手(右利き、左利き)を想定し、作業対象物の特性として製品の機種(機種i、機種ii)を想定した。実施の形態1の想定上存在した「右利き&機種i学習映像」、「右利き&機種ii学習映像」、「左利き&機種i学習映像」、「左利き&機種ii学習映像」の各々は、実施の形態2における作業映像A、B、A’、B’に対応する。また、「右利き&機種iモデル」、「右利き&機種iiモデル」、「左利き&機種iモデル」、「左利き&機種iiモデル」は、実施の形態2における作業要素特定モデルA、B、A’、B’に対応する。
一方、本実施の形態では、作業者の特性として作業者の利き手が右利きと左利きのうちいずれか一つであることを想定し、作業対象物の特性として製品の機種(機種A~F)を想定する。
また、実施の形態2は、複数の学習映像31に共通の作業要素が少なくとも1つ含まれていることを前提とする。
更に、実施の形態2では、入力映像が作業の途中からではなく、作業の最初から開始することを前提とする。
【0062】
***構成の説明***
図15を参照して、実施の形態2に係る作業要素特定装置10の構成を説明する。
作業要素特定装置10は、探索マップ生成部28と、モデル探索部29とを備える点とが、
図1に示す作業要素特定装置10と異なる。また、実施の形態2では、作業要素特定モデル33は特定した作業要素名だけでなく特定の信頼度も出力する点が実施の形態1と異なる。
また、実施の形態2では、運動類似度計算部24は、入力映像46の骨格情報42との類似度の計算において、モード選択部26により過去に選択された作業要素特定モデル33を優先する。同様に、製品類似度計算部25は、入力映像46の製品画像45との類似度の計算において、モード選択部26により過去に選択された作業要素特定モデル33を優先する。
更に、実施の形態2では、運動類似度計算部24は、入力映像46の解析により、作業要素特定モデル33の間に優先順位を設定し、入力映像46の骨格情報42との類似度の計算を優先順位の高い作業要素特定モデル33から順に行う。同様に、製品類似度計算部25も、入力映像46の製品画像45との類似度の計算を優先順位の高い作業要素特定モデル33から順に行う。
【0063】
***動作の説明***
図16から
図24を参照して、実施の形態2に係る作業要素特定装置10の動作を説明する。
実施の形態2に係る作業要素特定装置10の動作は、運用前処理と、運用処理とを含む。
【0064】
図16を参照して、実施の形態2に係る運用前処理を説明する。
ステップS31からステップS32の処理は、
図2のステップS11からステップS12の処理と同じである。このため、これらの処理の説明は省略する。
【0065】
(ステップS33:探索マップ生成処理)
探索マップ生成部28は、学習映像の真値32をストレージ13から読み出し、ステップS31で検出した骨格情報42と、ステップS32で切り出した製品画像45とをメモリ12から読み出す。
探索マップ生成部28は、骨格情報42と学習映像の真値32とを用い、作業要素表47を生成する。
また、探索マップ生成部28は、作業要素表47と、作業要素表47から得たスキップ箇所と、製品画像45とから、探索マップ48を生成する。そして、探索マップ生成部28は、探索マップ48をメモリ12に書き込む。
作業要素表47は、各学習映像31で行われている作業要素が何であるかを時系列順に並べた表である。作業要素表47は、作業手順の1サイクル分の作業要素のみを含む。探索マップ48は、作業要素特定装置10が入力映像46から作業要素特定モデル33を選択する際に、選択候補の作業要素特定モデル33を絞り込むためのマップである。
【0066】
作業要素表47の内容及び生成方法について、具体的に説明する。
探索マップ生成部28は、学習映像の真値32から各作業要素が開始するフレーム及び終了するフレームを特定する。そして、探索マップ生成部28は、特定したフレームを基準に骨格情報42を作業要素ごとに区切る。
また、探索マップ生成部28は、
図17のように、検出元の学習映像31が異なる骨格情報42について、作業要素ごとに類似度を総当たりで計算する。
骨格情報42の類似度を求める方法として、2つの骨格情報42のユークリッド距離を関節ごとに計算し、ユークリッド距離の総和が小さい骨格情報42の類似度が高いとする方法等がある。
探索マップ生成部28は、骨格情報42の類似度が閾値以上であった作業要素を同一の作業要素として扱い、
図18のような作業要素表47を生成する。
図18において、作業要素番号は、作業要素の順序を表す。例えば、学習映像Aは作業手順Aに対応する。作業手順Aでは、作業要素a,c,d,f,hの順に作業要素が実施される。
なお、
図18の作業要素番号1~5が作業手順の1サイクルを構成する。
【0067】
次に、探索マップ48の内容及び生成方法について、具体的に説明する。
探索マップ生成部28は、
図19のような探索マップ48を生成する。
図19は、
図18の作業要素表47から生成した探索マップ48である。探索マップ48は、学習映像(作業手順)ごとに2つ以上の作業工程の実施順序がノードの接続で示される木構造のマップである。
図19では、学習映像A、B、・・・から生成された作業要素特定モデル33をそれぞれ作業要素特定モデルA、B、・・・と表している。
【0068】
図19において、例えば作業要素番号が1のとき、前回特定された作業要素がaであれば、ノードaを根とする部分木の葉ノードである作業要素特定モデルA、B及びCが選択候補となる。
図19の(skip)は、前の作業要素が行われている時点から作業要素特定モデル33を変更する必要がないことを表す。つまり、(skip)は、作業要素特定モデル33を選択するための類似度計算をスキップ可能であることを表す。
【0069】
探索マップ生成部28は、切り出し元の学習映像31と作業要素ごとに、製品画像45の中から代表画像49を最大1枚決め、代表画像49を用いて更新探索マップ50を生成する。
【0070】
代表画像49の例を
図20に示す。
図20は、
図18の作業要素表47と対応しており、各作業要素の開始フレームの製品画像45を代表画像49とした場合の一覧である。なお、作業要素番号1の開始フレームは製品をセットする前のフレームであるため、代表画像49は存在しない。
探索マップ生成部28は、探索マップ48の各ノードに対応する
図20の代表画像49が複数ある場合、そのノードの代表画像49の類似度を総当たりで計算する。代表画像49の類似度の計算方法としては、Bag of Features等の周知のものでよい。
探索マップ生成部28は、計算した代表画像49の類似度が閾値未満である場合、更新探索マップ50を生成する。
例えば、
図19のノードaは
図20のA1、B1、C1に対応するが、代表画像が存在しないため探索マップ生成部28は類似度計算を行わない。
図19のノードaを根とする部分木のノードdは、
図20のA3、B3に対応する。このため、探索マップ生成部28は代表画像A3と代表画像B3との類似度を計算する。類似度が閾値未満である場合は、探索マップ生成部28はノードdをノードd1とノードd2に分割する。ノードの分割を全て実施した後の探索マップ48である更新探索マップ50を
図21に示す。
【0071】
図22及び
図23を参照して、実施の形態2に係る運用処理を説明する。
ステップS41からステップS44の処理は、
図5のステップS21からステップS24の処理と同じである。また、ステップS52の処理は、
図5のステップS28の処理と同じである。このため、これらの処理の説明は省略する。
【0072】
(ステップS45:探索実施判定処理)
モデル探索部29は、ステップS45の実施が2回目以降の場合は、処理がステップS46に進む。
ステップS45の実施が1回目の場合は、モデル探索部29は、全ての作業要素特定モデル33を選択候補とし、選択候補のインデックス情報をメモリ12に書き込む。その後、ステップS48に進む。
【0073】
(ステップS46:モデル探索処理)
モデル探索部29は、メモリ12から更新探索マップ50を読み出す。
モデル探索部29は、その時点での入力映像46の作業要素番号と、作業要素特定部27によって特定された過去の作業要素から、更新探索マップ50を用いて作業要素特定モデル33の選択候補を決定する。また、モデル探索部29は、その時点での入力映像46の作業要素番号と、作業要素特定部27によって特定された過去の作業要素から、その時点での入力映像46の作業要素番号における更新探索マップ50による探索結果を決定する。
モデル探索部29は、作業要素特定モデル33の選択候補のインデックス情報及び更新探索マップ50による探索結果をメモリ12に書き込む。
【0074】
(ステップS47:スキップ判定処理)
モデル探索部29は、更新探索マップ50による探索結果をメモリ12から読み出す。
そして、探索結果が(skip)であった場合、モデル探索部29は、類似度計算処理をスキップし、ステップS50に処理を進める。一方、探索結果が(skip)ではない場合は、モデル探索部29は、ステップS48に処理を進める。
【0075】
(ステップS48:運動類似度計算処理)
実施の形態2では、運動類似度計算部24が、メモリ12から作業要素特定モデル33の選択候補のインデックス情報と、更新探索マップ50とを読み出す点が、ステップS25の処理と異なる。
また、実施の形態2では、ステップS31で検出した学習映像31の骨格情報42をメモリ12から読み出す際に、全てではなく一部の骨格情報42を読み出す点が、ステップS25の処理と異なる。
更に、実施の形態2では、読み出した骨格情報42を用いた類似度計算を行う順序を決め、類似度が閾値以上である場合に類似度計算を終了し、作業要素特定モデル33の選択候補を絞り込む点がステップS25の処理と異なる。
【0076】
具体的には、運動類似度計算部24は、ステップS31で検出した学習映像31の骨格情報42のうち、付与されているインデックス情報が、作業要素特定モデル33の選択候補と一致する骨格情報42をメモリ12から読み出す。
運動類似度計算部24は、入力映像46に2サイクル目以降の作業手順が映されている場合に、読み出した骨格情報42のうち、付与されているインデックス情報が、前サイクルで選択した作業要素特定モデル33と一致する骨格情報42を用いて1番目の類似度計算を行う。
例えば、入力映像46に3サイクル目の作業手順が映されており、2サイクル目の作業手順に対して作業要素特定モデルAが選択されている場合を想定する。この場合に、運動類似度計算部24は、作業要素特定モデルAのインデックス情報を持つ骨格情報42を用いて類似度計算を行う。製品組み立てラインの作業手順は1サイクルだけでなく複数サイクル行われることが多い。このため、前サイクルと異なる作業要素特定モデル33が利用される確率よりも前サイクルと同じ作業要素特定モデル33が利用される確率の方が高いと考えられる。従って、運動類似度計算部24は、入力映像46の骨格情報42との類似度の計算において前サイクルで選択した作業要素特定モデル33を優先する。
【0077】
また、運動類似度計算部24は、更新探索マップ50を参照し、その時点で選択候補として残っている作業要素特定モデル33の葉ノードの数の多さに基づき、作業要素特定モデル33間の優先順位、すなわち、類似度計算の順序を設定する。
例えば、入力映像46の解析により作業工程bが抽出されている状況を想定する。つまり、
図24の更新探索マップ50において、作業工程bに対応するノードbから分岐するノードd及びノードeのいずれかを選択する状況を想定する。この場合に、作業要素特定モデルD、E及びFが選択候補として残っている。このとき、ノードdを根とする部分木は1つの葉ノードDを持ち、ノードeを根とする部分木は2つの葉ノードEと葉ノードFとを持つ。したがって、運動類似度計算部24は、作業要素特定モデルEまたは作業要素特定モデルFのインデックス情報を持つ骨格情報42を用いた類似度計算を先に行う。そして、運動類似度計算部24は、作業要素特定モデルDのインデックス情報を持つ骨格情報42を用いた類似度計算を後に行う。葉ノードの数が多い部分木の根となるノードに対応する作業要素が入力映像46で実施されている確率が高いと考えられるため、運動類似度計算部24は、このようにして作業要素特定モデル33間に優先順位を設定する。
【0078】
運動類似度計算部24は、計算により得られた類似度が閾値以上である場合に、計算に用いた骨格情報42に付与されているインデックス情報が指す作業要素特定モデル33を選択候補として決定する。
そして、運動類似度計算部24は、選択候補として決定した作業要素特定モデル33のインデックス情報と、類似度をメモリ12に書き込み、ステップS48の処理を終了する。
【0079】
運動類似度計算部24は、前サイクルが存在すれば、前サイクルの選択結果を基準とした類似度計算を行う。一方、前サイクルが存在しなければ、運動類似度計算部24は、葉ノードの数を基準とした類似度計算を行う。具体的には、
図24の例において、ノードbから分岐するノードd及びノードeのいずれかを選択する状況の場合に、前サイクルで作業要素特定モデルDが選択されていれば、作業要素特定モデルDについての類似度計算を先に行う。一方、前サイクルが存在しない場合(又は、前サイクルでの選択結果が作業要素特定モデルD~Fのいずれでもない場合)は、運動類似度計算部24は、葉ノードの数を基準とした類似度計算を行う。
また、前サイクルの選択結果を基準とした類似度計算を行い、類似度が閾値未満であった場合にも、運動類似度計算部24は、葉ノードの数を基準とした類似度計算を行う。
【0080】
(ステップS49:製品類似度計算処理)
実施の形態2では、製品類似度計算部25が、メモリ12から作業要素特定モデル33の選択候補のインデックス情報と、更新探索マップ50とを読み出す点がステップS25の処理と異なる。
また、実施の形態2では、ステップS32で切り出した学習映像31の製品画像45をメモリ12から読み出す際、全てではなく一部の製品画像45を読み出す点がステップS25の処理と異なる。
また、実施の形態2では、読み出した製品画像45の類似度計算を行う順序を決め、類似度が閾値以上である場合に類似度計算を終了し、作業要素特定モデル33の選択候補を絞り込む点がステップS25の処理と異なる。
【0081】
具体的には、製品類似度計算部25は、ステップS32で切り出した学習映像31の製品画像45のうち、付与されているインデックス情報が、作業要素特定モデル33の選択候補と一致する製品画像45をメモリ12から読み出す。
ただし、製品類似度計算部25は、更新探索マップ50においてノードaから分岐するノードd1とノードd2とノードeとのいずれかを選択する場合や、ノードbから分岐するノードdとノードe1とノードe2とのいずれかを選択する場合のように、ステップS33で代表画像49を用いてノードの分割を行った箇所を参照する際には、代表画像49のみをメモリ12から読み出す。
製品類似度計算部25は、類似度計算を行う順序を、ステップS48の骨格情報42を製品画像45に置き換えた方法で決める。つまり、製品類似度計算部25は、運動類似度計算部24での骨格情報42についての類似度計算の順序の通りに、製品画像45についての類似度計算を行う。
製品類似度計算部25は、計算により得られた類似度が閾値以上である場合に、計算に用いた製品画像45に付与されているインデックス情報が指す作業要素特定モデル33を選択候補として決定する。そして、製品類似度計算部25は、選択候補として決定した作業要素特定モデル33のインデックス情報と、類似度をメモリ12に書き込み、ステップS49の処理を終了する。
【0082】
(ステップS50:モード選択処理)
実施の形態2では、ステップS47において類似度計算がスキップされた場合、モード選択部26が、前回の選択結果と同じ作業要素特定モードを選択する点がステップS28と異なる。
【0083】
(ステップS51:サイクル切り替わり判定処理)
実施の形態2では、作業要素特定部27は、作業要素名を出力する前に、作業要素特定の信頼度を出力する。
作業要素特定部27は、作業要素特定の信頼度が閾値未満である場合にサイクルが切り替わったと判定する。そして、作業要素特定部27は、全ての作業要素特定モデル33を選択候補として扱い、選択候補のインデックス情報をメモリ12に書き込む。その後、ステップS48に戻る。
作業要素特定の信頼度が閾値以上である場合、ステップS52に進む。
【0084】
***効果の説明***
以上のように、実施の形態2に係る作業要素特定装置10は、生成した更新探索マップ50及び/又は前サイクルの情報により絞り込まれた選択候補の中から作業要素特定モデル33を選択する。
作業要素特定モデル33の選択候補を絞り込むことで、骨格情報42についての類似度計算及び製品画像45について類似度計算の計算量が減り、処理を高速化することが可能である。処理の高速化により、作業要素特定モデル33の選択及び作業要素の特定をリアルタイムに行うことができる。
【0085】
***他の構成***
<変形例1>
実施の形態2では、運動類似度計算部24は、類似度計算を行う順序を決め、類似度が閾値以上である場合に類似度計算を終了していた。しかし、運動類似度計算部24は、類似度計算を行う順序を決めず、読み出した骨格情報42の全てを用いて類似度計算を行い、類似度が最も高い骨格情報42に付与されているインデックス情報が指す作業要素特定モデル33を選択候補としてもよい。
【0086】
<変形例2>
実施の形態2では、作業要素特定装置10は、運用前処理として作業要素表47及び探索マップ48を生成している。これに変えて、作業要素表47及び探索マップ48の生成を含む運用前処理の全体を外部で行ってもよい。この場合は、作業要素特定装置10は、外部で生成された作業要素表47及び探索マップ48を用いて、運用処理を行う。
【0087】
以上、実施の形態1及び2を説明したが、これら2つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら2つの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これら2つの実施の形態を部分的に組み合わせて実施しても構わない。
また、これら2つの実施の形態に記載された構成及び手順を必要に応じて変更してもよい。
【0088】
***ハードウェア構成の補足説明***
最後に、作業要素特定装置10のハードウェア構成の補足説明を行う。
【0089】
作業要素特定装置10のストレージ13には、作業要素特定装置10の機能構成要素を実現するプログラムに加えて、OS(Operating System)も記憶されている。
そして、OSの少なくとも一部がプロセッサ11により実行される。
プロセッサ11はOSの少なくとも一部を実行しながら、作業要素特定装置10の機能構成要素を実現するプログラムを実行する。
プロセッサ11がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、作業要素特定装置10の機能構成要素の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、メモリ12、ストレージ13、プロセッサ11内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、作業要素特定装置10の機能構成要素を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、作業要素特定装置10の機能構成要素を実現するプログラムが格納された可搬記録媒体を流通させてもよい。
【0090】
また、作業要素特定装置10の機能構成要素の「部」を、「回路」又は「工程」又は「手順」又は「処理」又は「サーキットリー」に読み替えてもよい。
なお、本明細書では、プロセッサ11と電子回路15との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサ11と電子回路15とは、それぞれ「プロセッシングサーキットリー」の具体例である。
【符号の説明】
【0091】
10 作業要素特定装置、11 プロセッサ、12 メモリ、13 ストレージ、14 通信インタフェース、15 電子回路、21 映像取得部、22 骨格検出部、23 製品検出部、24 運動類似度計算部、25 製品類似度計算部、26 モード選択部、27 作業要素特定部、28 探索マップ生成部、29 モデル探索部、31 学習映像、32 学習映像の真値、33 作業要素特定モデル、41 作業者、42 骨格情報、43 代表フレーム、44 製品、45 製品画像、46 入力映像、47 作業要素表、48 探索マップ、49 代表画像、50 更新探索マップ、110 検出装置、120 特定装置。