(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024014119
(43)【公開日】2024-02-01
(54)【発明の名称】作業認識装置、作業認識方法、及び作業認識プログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20240125BHJP
【FI】
G06T7/20 300A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022116725
(22)【出願日】2022-07-21
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】西行 健太
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA02
5L096DA02
5L096GA34
5L096HA04
5L096HA09
5L096JA09
5L096KA04
(57)【要約】
【課題】機械学習を用いて作業者の作業を認識する場合と比較して、簡単な構成で作業の種類を認識することができる。
【解決手段】作業認識装置は、作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得する動き情報取得部と、1周期分の前記一連の作業の各作業の種類を教示する教示データを取得する教示データ取得部と、前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識する認識部と、認識結果を出力する出力部と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得する動き情報取得部と、
1周期分の前記一連の作業の各作業の種類を教示する教示データを取得する教示データ取得部と、
前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識する認識部と、
認識結果を出力する出力部と、
を備えた作業認識装置。
【請求項2】
前記認識部は、
前記一連の作業が開始されるタイミングで前記作業者の身体の一部が通過する領域である注目領域を設定する注目領域設定部と、
前記動き情報に基づいて、前記作業者の動作ベクトル系列を算出する動作ベクトル系列算出部と、
前記動作ベクトル系列に基づいて、前記作業者の体の一部が前記注目領域に出現したタイミングを前記一連の作業の作業周期の始点として推定する推定部と、
前記教示データが示す作業周期と、推定した前記作業周期の始点で区切られた各作業周期と、に基づいて、各作業周期における各作業の種類を特定する特定部と、
を含む請求項1記載の作業認識装置。
【請求項3】
前記特定部は、前記教示データが示す作業周期と、推定した前記作業周期の始点で区切られた各作業周期と、の時間的アライメントを行うことにより、各作業周期における各作業の種類を特定する
請求項2記載の作業認識装置。
【請求項4】
前記特定部は、前記教示データが示す作業周期と、前記推定部により推定された各作業周期の中から選択した代表作業周期と、に基づいて、前記代表作業周期における各作業の種類を特定し、特定した各作業の種類を教示データとして、前記代表作業周期以外の作業周期における各作業の種類を特定する
請求項2又は請求項3記載の作業認識装置。
【請求項5】
前記特定部は、前記推定部により推定された各作業周期の中から、作業周期の長さが中央値である作業周期を前記代表作業周期として選択する
請求項4記載の作業認識装置。
【請求項6】
前記作業者が複数の場合、前記特定部は、作業者毎に前記代表作業周期を選択する
請求項4記載の作業認識装置。
【請求項7】
コンピュータが、
作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得し、 1周期分の前記一連の作業の各作業の種類を教示する教示データを取得し、
前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識し、
認識結果を出力する、
ことを含む処理を実行する作業認識方法。
【請求項8】
コンピュータに、
作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得し、 1周期分の前記一連の作業の各作業の種類を教示する教示データを取得し、
前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識し、
認識結果を出力する、
ことを含む処理を実行させる作業認識プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、作業認識装置、作業認識方法、及び作業認識プログラムに関する。
【背景技術】
【0002】
特許文献1には、画像データを入力とした画像認識により、前記画像データに写る人物の関節位置を示す特徴点データを含む骨格データを取得する骨格抽出部、前記骨格データごとに姿勢ラベルが対応づけられている姿勢モデルの記憶部、前記骨格抽出部が取得した前記骨格データをもとに、前記姿勢モデルに予め決められた前記姿勢ラベルから、前記画像データに写る人物の姿勢を判別する姿勢推定部、前記骨格データごとに入力された正解ラベルである前記姿勢ラベルを学習データとして前記姿勢モデルを機械学習する姿勢学習部、前記画像データの一部として定義された背景領域に写る背景前記画像データごとに、入力された正解ラベルである背景ラベルを学習データとして背景モデルを機械学習する背景定義部、前記背景モデルを用いた機械学習の推論により、背景前記画像データを入力として前記背景ラベルを出力する背景推定部、前記画像データの一部として定義された特徴点領域の座標と、特徴点領域内か否かを判定するための特徴点データと、領域ラベルとを対応づけた領域モデルを定義する領域定義部、前記骨格抽出部が取得した前記骨格データの特徴点データが前記領域モデルの特徴点領域内に存在するときに、対応する前記領域ラベルを出力する領域推定部としてコンピュータを機能させ、前記姿勢推定部は、さらに、前記姿勢モデルを用いた機械学習の推論により、前記骨格データを入力として前記姿勢ラベルを出力することを特徴とする姿勢分析プログラムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1記載の技術では、機械学習を用いて作業者の作業を認識するが、作業の現場によって作業の状況は様々に変化するため、精度良く作業者の作業を認識するためには、大量の学習データが必要となる。
【0005】
しかしながら、そのような大量の学習データを収集することは困難である、という問題があった。
【0006】
開示の技術は、上記の点に鑑みてなされたものであり、機械学習を用いて作業者の作業を認識する場合と比較して、簡単な構成で作業の種類を認識することができる作業認識装置、作業認識方法、及び作業認識プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
開示の第1態様は、作業認識装置であって、作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得する動き情報取得部と、1周期分の前記一連の作業の各作業の種類を教示する教示データを取得する教示データ取得部と、前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識する認識部と、認識結果を出力する出力部と、を備える。
【0008】
開示の第2態様は、上記第1態様において、前記認識部は、前記一連の作業が開始されるタイミングで前記作業者の身体の一部が通過する領域である注目領域を設定する注目領域設定部と、前記動き情報に基づいて、前記作業者の動作ベクトル系列を算出する動作ベクトル系列算出部と、前記動作ベクトル系列に基づいて、前記作業者の体の一部が前記注目領域に出現したタイミングを前記一連の作業の作業周期の始点として推定する推定部と、前記教示データが示す作業周期と、推定した前記作業周期の始点で区切られた各作業周期と、に基づいて、各作業周期における各作業の種類を特定する特定部と、を含む。
【0009】
開示の第3態様は、上記第2態様において、前記特定部は、前記教示データが示す作業周期と、推定した前記作業周期の始点で区切られた各作業周期と、の時間的アライメントを行うことにより、各作業周期における各作業の種類を特定する。
【0010】
開示の第4態様は、上記第2態様又は第3態様において、前記特定部は、前記教示データが示す作業周期と、前記推定部により推定された各作業周期の中から選択した代表作業周期と、に基づいて、前記代表作業周期における各作業の種類を特定し、特定した各作業の種類を教示データとして、前記代表作業周期以外の作業周期における各作業の種類を特定する。
【0011】
開示の第5態様は、上記第4態様において、前記特定部は、前記推定部により推定された各作業周期の中から、作業周期の長さが中央値である作業周期を前記代表作業周期として選択する。
【0012】
開示の第6態様は、上記第4態様又は第5態様において、前記作業者が複数の場合、前記特定部は、作業者毎に前記代表作業周期を選択する。
【0013】
開示の第7態様は、作業認識方法であって、コンピュータが、作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得し、1周期分の前記一連の作業の各作業の種類を教示する教示データを取得し、前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識し、認識結果を出力する、ことを含む処理を実行する。
【0014】
開示の第8態様は、作業認識プログラムであって、コンピュータに、作業者が予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得し、1周期分の前記一連の作業の各作業の種類を教示する教示データを取得し、前記動き情報及び前記教示データに基づいて、複数回行った前記一連の作業の各作業の種類を認識し、認識結果を出力する、ことを含む処理を実行させる。
【発明の効果】
【0015】
開示の技術によれば、機械学習を用いて作業者の作業を認識する場合と比較して、簡単な構成で作業の種類を認識することができる。
【図面の簡単な説明】
【0016】
【
図2】作業認識装置のハードウェア構成を示す構成図である。
【
図4】作業の種類について説明するための図である。
【
図7】始点の推定について説明するための図である。
【
図8】終点の推定について説明するための図である。
【
図9】時間的アライメントについて説明するための図である。
【
図10】時間的アライメントについて説明するための図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
【0018】
図1は、作業認識システム10の構成を示す。作業認識システム10は、作業認識装置20及びカメラ30を備える。
【0019】
作業認識装置20は、カメラ30で撮影された動画像に基づいて、作業者Wが行った一連の作業の各作業の種類を認識する。
【0020】
作業者Wは、一例として作業台TBに載置された作業の対象物Mを取り出して、作業スペースSで予め定めた一連の作業を行う。作業者Wが行う一連の作業は、例えば部品の把持、運搬、組み立て、検査、ドライバによるねじ締め、及びラベル貼り等、1つの作業周期に多様な動作が含まれる作業である。
【0021】
カメラ30は、例えばRGBのカラー動画像を撮影可能な撮影装置である。カメラ30は、作業者Wの動き及び作業台TB全体を認識しやすい位置に設置される。
【0022】
また、本実施形態では、カメラ30が1台の場合について説明するが、複数台のカメラ30を設けた構成としてもよい。
【0023】
図2は、本実施形態に係る作業認識装置20のハードウェア構成を示すブロック図である。
図2に示すように、作業認識装置20は、コントローラ21を備える。コントローラ21は、一般的なコンピュータを含む装置で構成される。
【0024】
図2に示すように、コントローラ21は、CPU(Central Processing Unit)21A、ROM(Read Only Memory)21B、RAM(Random Access Memory)21C、及び入出力インターフェース(I/O)21Dを備える。そして、CPU21A、ROM21B、RAM21C、及びI/O21Dがバス21Eを介して各々接続されている。バス21Eは、コントロールバス、アドレスバス、及びデータバスを含む。
【0025】
また、I/O21Dには、操作部22、表示部23、通信部24、及び記憶部25が接続されている。
【0026】
操作部22は、例えばマウス及びキーボードを含んで構成される。
【0027】
表示部23は、例えば液晶ディスプレイ等で構成される。
【0028】
通信部24は、カメラ30等の外部装置とデータ通信を行うためのインターフェースである。
【0029】
記憶部25は、ハードディスク等の不揮発性の外部記憶装置で構成される。
図2に示すように、記憶部25は、作業認識プログラム25A、教示データ25B、及び注目領域データ25C等を記憶する。
【0030】
CPU21Aは、コンピュータの一例である。ここでいうコンピュータとは、広義的なプロセッサを指し、汎用的なプロセッサ(例えば、CPU)、又は、専用のプロセッサ(例えば、GPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
【0031】
なお、作業認識プログラム25Aは、不揮発性の非遷移的(non-transitory)記録媒体に記憶して、又はネットワークを介して配布して、作業認識装置20に適宜インストールすることで実現してもよい。
【0032】
不揮発性の非遷移的記録媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD(ハードディスクドライブ)、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
【0033】
図3は、作業認識装置20のCPU21Aの機能構成を示すブロック図である。
図3に示すように、CPU21Aは、機能的には、動き情報取得部40、教示データ取得部41、認識部42、及び出力部43の各機能部を備える。
【0034】
CPU21Aは、記憶部25に記憶された作業認識プログラム25Aを読み込んで実行することにより
図3に示す各機能部として機能する。
【0035】
動き情報取得部40は、作業者Wが予め定めた一連の作業を複数回行ったときの動きに関する動き情報を取得する。具体的には、作業者Wが予め定めた一連の作業を行った様子をカメラ30によって撮影された動画像を動き情報として記憶部25に記憶しておく。そして、動き情報取得部40は、記憶部25に記憶された動画像を読み出すことにより取得する。なお、カメラ30に代えて、モーションセンサ等を用いて作業者Wの動き情報を取得してもよい。
【0036】
教示データ取得部41は、1周期分の一連の作業の各作業の種類を教示する教示データ25Bを記憶部25から読み出すことにより取得する。教示データ25Bは、例えば標準的な作業者Wが一連の作業を行った場合の各作業の種類を表すラベルの時系列データである。
【0037】
本実施形態では、
図4に示すように、一例として一連の作業が作業0、作業1、作業2の3種類の作業を順次行う作業である場合について説明する。例えば作業0は、箱に貼付されたバーコードをバーコードリーダで読み取る作業である(作業開始)。作業1は、バーコードの読み取り結果に従って、箱に対して封をする等の作業である。作業2は、バーコードリーダで再度バーコードを読み取る作業である(作業終了)。そして、教示データ25Bが、
図5に示すように、作業の種類を示すラベルの時系列データ(0、0、1、1、1、2、2、2)である場合について説明する。なお、時系列データは、予め定めた単位フレーム期間t毎に作業をラベル付けしたデータである。従って、
図5に示す教示データ25Bの場合、作業0はt×2時間、作業1、2はt×3時間ずつ要したことになる。
【0038】
認識部42は、動き情報取得部40が取得した動画像及び教示データ取得部41が取得した教示データ25Bに基づいて、複数回行った一連の作業の各作業の種類を認識する。
【0039】
認識部42は、注目領域設定部44、動作ベクトル系列算出部45、推定部46、及び特定部47を備える。
【0040】
注目領域設定部44は、一連の作業が開始されるタイミングで作業者Wの身体の一部が通過する領域である注目領域を設定する。具体的には、記憶部25に記憶された注目領域データ25Cに基づいて注目領域を設定する。
図6に注目領域の設定例を示す。
図6の例では、動画像の撮影範囲50の一部に注目領域52が設定されている。注目領域52は、一例として作業者Wが一連の作業を開始するタイミングで作業者Wの手首が通過する領域として設定されている。この注目領域は事前に設定され、撮影範囲50に対する注目領域52の位置及び範囲を示す注目領域データ25Cとして予め記憶部25に記憶される。
【0041】
動作ベクトル系列算出部45は、動き情報取得部40が取得した動画像に基づいて、作業者Wの動作ベクトル系列を算出する。動作ベクトル系列は姿勢系列の一例であり、骨格系列に対して動作特徴量抽出処理を適用することにより得られる動作特徴量の系列データである。
【0042】
具体的には、動作ベクトル系列算出部45は、背景及び作業者Wの服装等に影響を受けないようにするため、動画像に基づいて作業者Wの姿勢の推定を行い、推定した姿勢を骨格系列に変換する。
【0043】
作業者Wの姿勢を推定し、推定した姿勢を骨格系列に変換する手法としては、下記参考文献1に記載されたOpenPoseと呼ばれる公知の手法を用いることができる。骨格系列は、作業者Wの体の部位及び関節等の特徴点の座標と、各特徴点を接続するリンクが定義されたリンク情報と、特徴点の身体の部位を表すラベルと、を含む時系列のデータである。例えば特徴点は、作業者Wの目及び鼻等の顔の部位、首、肩、肘、手首、腰、膝、及び足首等の関節等を含む。
【0044】
OpenPoseでは、動画像を入力とし、骨格系列を出力とする学習モデルを、多数の動画像を教師データとして学習した学習済みモデルを用いる。このような学習済みモデルを得る学習方法としては、例えばCNN(Regions with Convolutional Neural Networks)等の公知の方法が用いられる。
【0045】
(参考文献1) "OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields", Zhe Cao, Student Member, IEEE, Gines Hidalgo, Student Member, IEEE, Tomas Simon, Shih-En Wei, and Yaser Sheikh, IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE.
【0046】
ここで、工場の作業において、体型の異なる様々な作業者が作業を行うため、体型の違いによる影響が大きい。体型の違いに影響を受けることがないように、本実施形態では、下記参考文献2に記載されたMotionRetargetingと呼ばれる手法を用いて、動画像から得られた骨格系列を、動作特徴量を表す動作ベクトル系列に変換する。
【0047】
(参考文献2)K. Aberman, R. Wu, D. Lischinski, B. Chen, and D. Cohen-Or,“Learning character-agnostic motion for motion retargeting in 2d,”TOG, vol.38, no.4, p.75, 2019.
【0048】
MotionRetargetingでは、骨格系列を入力として、エンコーダーを用いて、動作、体型、カメラ視点の3つの成分の特徴ベクトルを出力するが、本実施形態では、一例として体型及びカメラ視点の影響を少なくするため、動作成分の特徴ベクトルのみを用いる。
【0049】
なお、姿勢推定のノイズの影響を除くため、動作ベクトル系列への変換を行う前に、骨格系列に対して、時系列の補間処理、時系列平滑化、及び下半身の補間処理の3つの前処理を行ってもよい。
【0050】
時系列の補間処理では、姿勢推定に失敗している関節点があれば、1つ前のフレームの関節点をコピーする。時系列平滑化では、姿勢推定のノイズを除去するため、系列データに対してガウシアンフィルタで平滑化を行う。本実施形態で用いるOpenPoseでは、人物の上半身だけでなく、下半身の姿勢も推定する。工場における作業の場合、机上の作業台で作業することが多いため、下半身が机で遮蔽され、下半身の関節点が欠損することが多い。MotionRetargetingのような動作特徴量を抽出するエンコーダーは、人物の全身の骨格系列を入力とするため、下半身の関節点が欠損している場合は、動作成分の特徴ベクトルを適切に出力することができない場合がある。そのため、下半身の補完処理を行ってもよい。具体的には、下半身の補間処理として、人物の胴体の長さに比例する長さで両膝及び両足の少なくとも一方の関節点を補完してもよい。
【0051】
推定部46は、動作ベクトル系列算出部45が算出した動作ベクトル系列に基づいて、作業者Wの体の一部が注目領域に出現したタイミングを一連の作業の作業周期の始点として推定する。
図6の例では、作業者Wの手首が注目領域52に出現したタイミングを一連の作業の作業周期の始点として推定する。ここで、作業周期とは、作業者Wが繰り返し行う一連の作業の周期である。そして、作業周期の始点とは、一連の作業を開始した時点をいう。
【0052】
図7に作業周期の始点の一例を示す。
図7の例では、一連の作業が複数回実行され、作業者Wの手首が注目領域52に出現したタイミングを含む単位フレーム期間を始点として推定する。これにより、
図7の例では、15個の単位フレーム期間のうち4個の単位フレーム期間が始点として設定される。このため、一連の作業が4回繰り返されたと推定することができる。また、始点を推定することができれば、
図8に示すように、始点の直前の単位フレーム期間及び一連の作業の最後の単位フレーム期間を終点と推定することができる。
【0053】
ここで、始点の位置s及び終点の位置eを用いて作業周期を[s,e]と表すと、
図8の例では、1周期目の作業周期は[0,3]と表され、2周期目の作業周期は[4,7]と表され、3周期目の作業周期は[8,11]と表され、4周期目の作業周期は[12,14]と表される。
【0054】
特定部47は、教示データ25Bが示す作業周期と、推定部46が推定した作業周期の始点で区切られた各作業周期と、の時間的アライメントを行うことにより、各作業周期における各作業の種類を特定する。すなわち、教示データ25Bが示す作業周期の単位フレーム期間と、推定部46が推定した各作業周期の各単位フレーム期間と、の時間的な対応付けを行う。
【0055】
時間的アライメントの手法としては、例えば、ハミング距離を距離関数としたDTW(Dynamic Time Warping)を用いることができるが、これに限られるものではない。
【0056】
図9に時間的アライメントを行った結果の一例を示す。
図9に示すように、教示データ25Bが示す作業周期と、推定部46が推定した1周期目の作業周期と、の時間的アライメントを行った結果、1周期目の作業周期における作業の種類を示す時系列データは、(0、1、2、2)と特定される。2~4周期目についても同様に、教示データ25Bとの時間的アライメントを行うことにより、作業の種類を特定する。
図9の例では、2周期目の作業の種類を表す時系列データは、(0、0、1、2)であり、3周期目の作業の種類を表す時系列データは、(0、1、2、2)であり、4周期目の作業の種類を表す時系列データは、(0、1、2)である。
【0057】
なお、複数の作業者の動画像を取得した場合は、作業者毎に上記の処理を行う。例えば
図10に示すように、5人の作業者1~5の動画像を取得した場合は、教示データ25Bが示す作業周期と、作業者1の各作業周期と、の時間的アライメントを行う。作業者2~5についても同様である。
【0058】
出力部43は、各作業の種類を認識した認識結果、すなわち各作業者が繰り返し行った一連の作業の各作業周期に含まれる各作業の種類をラベル付けした時系列データを、例えば記憶部25に出力し、記憶する。
【0059】
次に、作業認識装置20のCPU21Aで実行される作業認識処理について、
図11に示すフローチャートを参照して説明する。
【0060】
ステップS100では、CPU21Aが、作業者Wが予め定めた一連の作業を行った様子をカメラ30によって撮影された動画像を記憶部25から読み出すことにより取得する。
【0061】
ステップS101では、CPU21Aが、1周期分の一連の作業の各作業の種類を教示する教示データ25Bを記憶部25から読み出すことによりを取得する。
【0062】
ステップS102では、CPU21Aが、記憶部25から注目領域データ25Cを読出し、読み出した注目領域データ25Cに基づいて、注目領域52を設定する。
【0063】
ステップS103では、CPU21Aが、ステップS100で取得した動画像に基づいて、作業者Wの動作ベクトル系列を算出する。
【0064】
ステップS104では、CPU21Aが、ステップS103で算出した動作ベクトル系列に基づいて、作業者Wの手首が注目領域52に出現したタイミングを一連の作業の作業周期の始点として推定する。
【0065】
ステップS105では、CPU21Aが、教示データ25Bが示す作業周期と、ステップS104で推定した作業周期の始点で区切られた各作業周期と、の時間的アライメントを行うことにより、各作業周期における各作業の種類を特定する。
【0066】
ステップS106では、CPU21Aが、ステップS105で特定した各作業の種類をラベル付けした時系列データを作業の認識結果として記憶部25に出力し、記憶する。
【0067】
このように、本実施形態では、作業者が予め定めた一連の作業を複数回行ったときの動画像及び1周期分の教示データに基づいて各作業の種類を認識する。これにより、機械学習を用いて作業者の作業を認識する場合と比較して、簡単な構成で作業の種類を認識することができる。
【0068】
なお、上記実施形態は、本発明の構成例を例示的に説明するものに過ぎない。本発明は上記の具体的な形態には限定されることはなく、その技術的思想の範囲内で種々の変形が可能である。
【0069】
例えば本実施形態では、予め記憶部25に記憶された教示データ25Bのみを用いて作業の種類を認識する場合について説明したが、これに限られない。
【0070】
例えば、特定部47は、教示データが示す作業周期と、推定部46により推定された各作業周期の中から選択した代表作業周期と、に基づいて、代表作業周期における各作業の種類を特定し、特定した各作業の種類を教示データとして、代表作業周期以外の作業周期における各作業の種類を特定するようにしてもよい。
【0071】
ここで、特定部47は、推定部46により推定された各作業周期の中から、作業周期の長さが中央値である作業周期を代表作業周期として選択するようにしてもよい。例えば、一連の作業を5回行った場合に、1~5周期目の各作業期間が、t×1、t×4、t×5、t×6、t×10であったとする。この場合、中央値は3周期目のt×5であるため、3周期目を代表作業周期とする。そして、教示データ25Bと、3周期目との時間的アライメントを行うことにより3周期目の作業の種類を特定する。次に、代表作業周期である3周期目と、代表作業周期以外の作業周期である1周期目、2周期目、4周期目、及び5周期目との時間的アライメントを各々行うことにより、1周期目、2周期目、4周期目、及び5周期目の各作業の種類を特定する。また、作業者が複数の場合、特定部47は、作業者毎に代表作業周期を選択し、作業者毎に各作業周期の各作業の種類を特定するようにしてもよい。
【0072】
また、上各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した作業認識処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の認識の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、作業認識処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【符号の説明】
【0073】
10 作業認識システム
20 作業認識装置
21 コントローラ
25A 作業認識プログラム
25B 教示データ
25C 注目領域データ
25 記憶部
30 カメラ
40 動き情報取得部
41 教示データ取得部
42 認識部
43 出力部
44 注目領域設定部
45 動作ベクトル系列算出部
46 推定部
47 特定部
50 撮影範囲
52 注目領域