(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024176848
(43)【公開日】2024-12-19
(54)【発明の名称】作業評価装置
(51)【国際特許分類】
G06T 7/20 20170101AFI20241212BHJP
G06T 7/00 20170101ALI20241212BHJP
【FI】
G06T7/20 300Z
G06T7/00 350B
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023095683
(22)【出願日】2023-06-09
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100087480
【弁理士】
【氏名又は名称】片山 修平
(72)【発明者】
【氏名】竹内 伸一
(72)【発明者】
【氏名】倉持 知貴
(72)【発明者】
【氏名】田端 淳
(72)【発明者】
【氏名】森 大輝
(72)【発明者】
【氏名】則竹 真吾
(72)【発明者】
【氏名】柳川 涼
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA02
5L096CA04
5L096DA02
5L096FA12
5L096FA62
5L096FA64
5L096FA66
5L096FA69
5L096GA51
5L096HA11
5L096KA04
(57)【要約】
【課題】 作業者の作業を高精度に評価することができる作業評価装置を提供する。
【解決手段】 作業評価装置は、撮像装置が撮像した第1画像内の第1作業者の骨格の座標、及び前記撮像装置が撮像した第2画像内の第2作業者の骨格の座標を検出する検出部と、前記第1画像内の作業中の前記第1作業者の骨格の座標を時系列に従って機械学習した学習モデルを用い、前記第2画像内の作業中の前記第2作業者の骨格の座標の時間変化に基づき前記第2作業者の作業を評価する評価部と、前記学習モデルが学習した前記第1作業者の骨格の座標、または前記検出部が検出した前記第2作業者の骨格の座標を補正値により補正する補正部と、前記第1画像内の前記第1作業者と、前記第2画像内の前記第2作業者との体格差による骨格の座標の差分から前記補正値を算出する算出部とを有する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
撮像装置が撮像した第1画像内の第1作業者の骨格の座標、及び前記撮像装置が撮像した第2画像内の第2作業者の骨格の座標を検出する検出部と、
前記第1画像内の作業中の前記第1作業者の骨格の座標を時系列に従って機械学習した学習モデルを用い、前記第2画像内の作業中の前記第2作業者の骨格の座標の時間変化に基づき前記第2作業者の作業を評価する評価部と、
前記学習モデルが学習した前記第1作業者の骨格の座標、または前記検出部が検出した前記第2作業者の骨格の座標を補正値により補正する補正部と、
前記第1画像内の前記第1作業者と、前記第2画像内の前記第2作業者との体格差による骨格の座標の差分から前記補正値を算出する算出部とを有する、
作業評価装置。
【請求項2】
前記算出部は、前記第1画像内の前記第1作業者の両肩を結ぶ直線の中心座標と、前記第2画像内の前記第2作業者の両肩を結ぶ直線の中心座標との差分から前記補正値を算出する、
請求項1に記載の作業評価装置。
【請求項3】
前記算出部は、前記第1作業者の作業の種類に応じて骨格ごとに前記補正値を異ならせる、
請求項1または2に記載の作業評価装置。
【請求項4】
前記第1画像及び前記第2画像から前記第1作業者と前記第2作業者の身長差を算出し、前記補正部による補正の要否を前記身長差に基づき判定する判定部を有し、
前記補正部は、前記判定部が補正を不要と判定した場合、前記骨格の座標を補正しない、
請求項1または2に記載の作業評価装置。
【請求項5】
前記第1画像及び前記第2画像から前記第1作業者と前記第2作業者の肩幅の差を算出し、前記補正部による補正の要否を前記肩幅の差に基づき判定する判定部を有し、
前記補正部は、前記判定部が補正を不要と判定した場合、前記骨格の座標を補正しない、
請求項1または2に記載の作業評価装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業評価装置に関する。
【背景技術】
【0002】
例えば特許文献1には、カメラの映像から人の行動をその骨格情報に基づき認識するサービスにおいて、ディープラーニングなどの機械学習のアルゴリズムに従って基本動作が学習済みである学習モデルを用いる点が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、例えば、画像内の作業者の骨格から、上記のような学習モデルを用いて作業を評価する場合、作業者と、学習モデルの学習対象の基本動作を行った人物との体格の違いにより作業者の動作が正確に評価されないおそれがある。
【0005】
そこで本発明は上記の課題に鑑みてなされたものであり、作業者の作業を高精度に評価することができる作業評価装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の作業評価装置は、撮像装置が撮像した第1画像内の第1作業者の骨格の座標、及び前記撮像装置が撮像した第2画像内の第2作業者の骨格の座標を検出する検出部と、前記第1画像内の作業中の前記第1作業者の骨格の座標を時系列に従って機械学習した学習モデルを用い、前記第2画像内の作業中の前記第2作業者の骨格の座標の時間変化に基づき前記第2作業者の作業を評価する評価部と、前記学習モデルが学習した前記第1作業者の骨格の座標、または前記検出部が検出した前記第2作業者の骨格の座標を補正値により補正する補正部と、前記第1画像内の前記第1作業者と、前記第2画像内の前記第2作業者との体格差による骨格の座標の差分から前記補正値を算出する算出部とを有する。
【0007】
上記の作業評価装置において、前記算出部は、前記第1画像内の前記第1作業者の両肩を結ぶ直線の中心座標と、前記第2画像内の前記第2作業者の両肩を結ぶ直線の中心座標との差分から前記補正値を算出してもよい。
【0008】
上記の作業評価装置において、前記算出部は、前記第1作業者の作業の種類に応じて骨格ごとに前記補正値を異ならせてもよい。
【0009】
上記の作業評価装置において、前記第1画像及び前記第2画像から前記第1作業者と前記第2作業者の身長差を算出し、前記補正部による補正の要否を前記身長差に基づき判定する判定部を有し、前記補正部は、前記判定部が補正を不要と判定した場合、前記骨格の座標を補正しなくてもよい。
【0010】
上記の作業評価装置において、前記第1画像及び前記第2画像から前記第1作業者と前記第2作業者の肩幅の差を算出し、前記補正部による補正の要否を前記肩幅の差に基づき判定する判定部を有し、前記補正部は、前記判定部が補正を不要と判定した場合、前記骨格の座標を補正しなくてもよい。
【発明の効果】
【0011】
本発明によれば、作業者の作業を高精度に評価することができる。
【図面の簡単な説明】
【0012】
【
図1】
図1は、作業評価システムの一例を示す構成図である。
【
図2】
図2は、骨格の座標の補正の一例を示す図である。
【
図3】
図3は、補正値の算出の一例を示す図である。
【
図4】
図4は、補正判定処理の一例を示すフローチャートである。
【
図5】
図5は、作業の評価処理の一例を示すフローチャートである。
【
図6】
図6は、作業の評価処理の他の例を示すフローチャートである。
【発明を実施するための形態】
【0013】
(作業評価システムの構成例)
図1は、作業評価システム9の一例を示す構成図である。作業評価システム9は、一例として自動車などの組立工場に設置される。
【0014】
作業評価システム9は、LAN(Local Area Network)90を介して互いに通信可能な作業評価サーバ1、カメラ装置2、及び端末3を含む。作業評価サーバ1は作業評価装置の一例である。作業評価サーバ1は作業者の作業動作を評価する。カメラ装置2は、撮像装置の一例であり、作業者などの人物を撮像する。端末3は、例えば作業者やその関係者により所持され、作業評価サーバ1から作業の評価結果を受信して作業者などに通知する。
【0015】
作業評価サーバ1は、CPU(Central Processing Unit)10、ROM(Read Only Memory)11、RAM(Random Access Memory)12、HDD(Hard Disk Drive)13、及び通信ポート14を有する。CPU10は、互いに信号の入出力ができるように、ROM11、RAM12、HDD13、及び通信ポート14と、バス19を介して電気的に接続されている。
【0016】
ROM11は、CPU10を駆動するプログラムが格納されている。RAM12は、CPU10のワーキングメモリとして機能する。通信ポート14は、例えば無線LANカードであり、LAN90を介したCPU10の通信を処理する。
【0017】
CPU10は、ROM11からプログラムを読み込むと、ソフトウェア機能として、装置制御部100、骨格検出部101、補正要否判定部102、補正値算出部103、骨格データ補正部104、及び作業評価部105を形成する。また、HDD13には、検出骨格データ130、学習骨格データ131、評価データ132、及び学習モデル133が格納されている。
【0018】
装置制御部100は、プログラムに規定されたシーケンスに従い骨格検出部101、補正要否判定部102、補正値算出部103、骨格データ補正部104、及び作業評価部105に対して各種の動作を指示する。なお、装置制御部100、骨格検出部101、補正要否判定部102、補正値算出部103、骨格データ補正部104、及び作業評価部105は、ソフトウェアに限定されず、ASIC(Application Specified Integrated Circuit)などのハードウェアにより実現されてもよい。
【0019】
骨格検出部101は検出部の一例である。骨格検出部101は、カメラ装置2が撮像した画像内の人物の骨格の座標を検出する。骨格検出部101は、カメラ装置2からLAN90を介して画像データを受信する。骨格検出部101は、例えば汎用的なAI(Artificial Intelligence)を用いた画像解析により人物の骨格の座標を検出する。
【0020】
カメラ装置2は、作業評価部105が評価対象の作業者(以下、評価作業者と表記)を評価する場合、評価作業者の画像を撮像する。また、カメラ装置2は、作業評価部105が評価に用いる学習モデル133に評価基準の骨格の座標を学習させるため、模範的な作業者(以下、模範作業者と表記)の画像を撮像する。なお、模範作業者は第1作業者の一例であり、評価作業者は第2作業者の一例である。また、模範作業者が撮像された画像は第1画像の一例であり、評価作業者が撮像された画像は第2画像の一例である。
【0021】
骨格検出部101は、評価作業者の画像から評価作業者の骨格の座標を検出して検出骨格データ130としてHDD13に格納する。検出骨格データ130は、例えば画像のフレーム番号ごとに画像内の評価作業者の鼻、左肩、右肩、左肘、右肘、左手、右手、左腰、右腰の各座標を時系列に従って示す。座標は、例えば画像の矩形状のフレームの横方向及び縦方向をX軸及びY軸とそれぞれ定義したとき、X座標及びY座標(x,y)により示される。なお、原点の位置に限定はない。
【0022】
作業評価部105は評価部の一例である。作業評価部105は、画像内の作業中の模範作業者の骨格の座標を時系列に従って機械学習した学習モデル133を用い、画像内の作業中の評価作業者の骨格の座標の時間変化に基づき評価作業者の作業を評価する。作業評価部105は、検出骨格データ130に記録された評価作業者の骨格の座標の時間変化が、学習骨格データ131に記録された評価作業者の骨格の座標の時間変化に類似しているか否かを判定することにより、評価作業者が、模範作業者により示される所定の基準に従って作業しているか否かを判断する。
【0023】
学習モデル133は、各種の演算モジュール及びパラメータのセットとしてHDD13に格納されている。学習モデル133の学習処理では、作業中の模範作業者の骨格の座標の時間変化を教師データとして、作業の評価結果についてアノテーションが行われる。学習モデル133は、人間の脳機能を数学的にモデル化したニューラルネットワークであり、ニューロンに該当する部分の活性化関数の重み係数を機械学習に基づいて決定する。このように作業評価部105は、教師あり学習による機械学習済みの学習モデル133を用いることにより、高精度に評価結果を出力することができる。
【0024】
学習モデル133が学習した模範作業者の骨格の座標は、学習骨格データ131としてHDD13に格納される。学習骨格データ131は、検出骨格データ130と同様に、画像のフレーム番号ごとに画像内の評価作業者の鼻、左肩、右肩、左肘、右肘、左手、右手、左腰、右腰の各座標を時系列に従って示す。学習モデル133は、学習骨格データ131に対する検出骨格データ130の相違の程度から評価結果を出力する。
【0025】
このようにして作業評価部105は、評価作業者の作業が所定の基準に従っている場合、評価結果を「良」とし、評価作業者の作業が所定の基準に従っていない場合、評価結果を「不可」とする。作業評価部105は、評価結果を評価データ132としてHDD13に保存する。作業評価部105は、評価データ132をLAN90経由で端末3に送信する。これにより、評価作業者に作業の評価結果が通知され、評価作業者の作業が改善される。
【0026】
骨格データ補正部104は補正部の一例である。骨格データ補正部104は、学習モデル133が学習した模範作業者の骨格の座標を補正値により補正する。例えば骨格データ補正部104は、学習骨格データ131の骨格の座標を補正する。このとき、骨格データ補正部104は、学習骨格データ131の鼻、左肩、右肩、左肘、右肘、左手、右手、左腰、右腰の各座標に対して個別の補正値を用いる。なお、後述するように、骨格データ補正部104は、学習骨格データ131に代えて、検出骨格データ130の骨格の座標を補正してもよい。
【0027】
補正値算出部103は算出部の一例である。補正値算出部103は、画像内の模範作業者及び評価作業者の体格差による骨格の座標の差分から、学習骨格データ131に対する補正値を算出する。例えば補正値算出部103は、互いに同一位置及び同一姿勢の模範作業者及び評価作業者の骨格の座標の差分から補正値を算出する。補正値算出部103は、鼻、左肩、右肩、左肘、右肘、左手、右手、左腰、右腰の各座標の個別の補正値を算出する。
【0028】
これにより、作業の評価結果に対する評価作業者と模範作業者の間の体格差の影響が低減されるため、作業評価部105は、高精度に作業を評価することができる。
【0029】
補正要否判定部102は判定部の一例である。補正要否判定部102は、カメラ装置2により評価作業者を撮像した画像と、模範作業者を撮像した画像とから評価作業者と模範作業者の身長差を算出し、骨格データ補正部104による学習骨格データ131の補正の要否を身長差に基づき判定する。例えば補正要否判定部102は、検出骨格データ130に含まれる骨格の座標のうち、所定の姿勢の評価作業者の骨格の座標と、学習骨格データ131に含まれる骨格の座標のうち、所定の姿勢の評価作業者の骨格の座標とから身長差を算出する。
【0030】
補正要否判定部102は、身長差が閾値以上である場合、補正が必要であると判定し、身長差が閾値未満である場合、学習骨格データ131の補正が不要であると判定する。骨格データ補正部104は、補正要否判定部102が補正を必要と判定した場合、学習骨格データ131の骨格の座標の補正を行い、補正要否判定部102が補正を不要と判定した場合、学習骨格データ131の骨格の座標の補正を行わない。
【0031】
このため、骨格データ補正部104は、評価作業者と模範作業者の身長差に応じて適切に補正を行うことができる。また、補正要否判定部102は、身長差とともに、あるいは身長差に代えて、評価作業者と模範作業者の肩幅の差を算出し、肩幅の差が閾値未満である場合、学習骨格データ131の補正が不要であると判定してもよい。この場合、骨格データ補正部104は、評価作業者と模範作業者の肩幅の差に応じて適切に補正を行うことができる。
【0032】
(補正例)
図2は、骨格の座標の補正の一例を示す図である。
図2には、部品CをワークWに組付ける作業中の模範作業者Haの画像G1aと、模範作業者Haと同一の作業中の評価作業者Hbの画像G2aが示されている。画像G1aは学習モデル133による骨格の座標の学習時に撮像され、画像G2aは作業評価部105による作業の評価時に撮像される。
【0033】
画像G1a,G2aは、作業場の模範作業者Ha及び評価作業者Hbの正面に設置されたカメラ装置2により撮像される。作業場には、一例として、作業が行われる作業台80、部品箱81、搬送コンベア83が設置されている。模範作業者Ha及び評価作業者Hbは、一例として、右手側の部品箱81から部品Cを取り出して、作業台80上のワークWに組み付ける作業を行う。ワークWは搬送コンベア83により搬送される。
【0034】
骨格検出部101は、汎用的なAIを用いた画像解析により画像G1a,G2aから模範作業者Ha及び評価作業者Hbの骨格の座標をそれぞれ検出する。骨格の座標としては、例えば模範作業者Ha及び評価作業者Hbの鼻の位置P0、左肩の位置P23、右肩の位置P13、左肘の位置P22、右肘の位置P12、左手の位置P21、右手の位置P11、左腰の位置P32、及び右腰の位置P31の各座標が挙げられる。なお、画像G1a,G2aにおいて、水平方向をX方向とし、鉛直方向をY方向とする。
【0035】
作業評価部105は、評価前、学習モデル133に画像G1a内の骨格の座標を学習させて学習骨格データ131を生成する。作業評価部105は、評価時、画像G1aの骨格の座標を学習済みの学習モデル133を用いて、画像G2a内の骨格の座標に基づき作業を評価する。このとき、画像G1a内の骨格の座標と画像G2a内の骨格の座標が互いに比較され、比較結果に応じた評価結果が得られる。
【0036】
しかし、模範作業者Ha及び評価作業者Hbの体格差により各々の骨格の座標は、同一位置で同じ組付け作業を行っているときでも相違する。評価作業者Hbの身長は模範作業者Haより低い。このため、評価作業者Hbが正しい作業を行っても、作業評価部105は、骨格の座標の相違のために「不可」の評価結果を出力するおそれがある。
【0037】
そこで、骨格データ補正部104は、点線の矢印で示されるように、模範作業者Haの骨格の座標を補正する。白丸は補正後の骨格の位置P0,P11~P13,P21~P23,P31,P32である。模範作業者Haの補正後の骨格の座標は、画像G2a内の骨格の座標に近い。このため、評価作業者Hbが正しい作業を行った場合、作業評価部105が「不可」の評価結果を出力するおそれが低減される。
【0038】
骨格データ補正部104は、必ずしも全ての骨格の座標を補正する必要はない。本例のような組付け作業では、模範作業者Ha及び評価作業者Hbは左手でワークWの左端の中央を抑える動作を行う。ワークW上の抑え位置は、実質的には、模範作業者Ha及び評価作業者Hbの体格によらず一定である。したがって、骨格データ補正部104は左手の位置P21を補正しなくてもよい。
【0039】
また、本例とは異なり、例えば模範作業者Ha及び評価作業者Hbが部品箱81から部品Cを取り出す作業を行う場合、右手の位置P11は実質的に各々の体格によらず一定である。このため、部品Cの取り出し作業の評価において、骨格データ補正部104は右手の位置P11を補正しなくてもよい。
【0040】
したがって、補正値算出部103は、評価作業者Hbの作業の種類に応じて骨格ごとに補正値を異ならせることができる。これにより、骨格の座標がより作業の種類に応じて適切に補正されるため、作業評価部105は、より高精度に作業を評価することができる。
【0041】
(補正値の算出例)
図3は、補正値の算出の一例を示す図である。
図3には、作業台80の前で所定の基本姿勢をとる模範作業者Ha及び評価作業者Hbの画像G1b,G2bが示されている。なお、
図3において
図2と共通する構成には同一の符号を付し、その説明は省略する。
【0042】
補正値算出部103は、基本姿勢の模範作業者Ha及び評価作業者Hbから補正値を算出する。カメラ装置2は、学習モデル133の学習時、基本姿勢の模範作業者Haの画像G1bを撮像する。このとき、例えば作業評価部105は、骨格検出部101が画像G2aから検出した骨格の座標を学習骨格データ131の一部として保存する。なお、基本姿勢の模範作業者Haの骨格の座標は、これに限定されず、学習骨格データ131とは別のデータとしてHDD13に予め格納されてもよい。
【0043】
また、カメラ装置2は、基本姿勢の評価作業者Hbの画像G2bを評価前に撮像する。このとき、補正値算出部103は、骨格検出部101が画像G2bから検出した骨格の座標を基本姿勢の模範作業者Haの骨格の座標と比較することにより補正値を算出する。基本姿勢は、一例として、模範作業者Ha及び評価作業者Hbの体格差が明確となるように、上腕を左右の水平方向に伸ばし、前腕を鉛直上方向に伸ばして正面を向いた状態であるが、これに限定されない。補正値算出部103は、模範作業者Ha及び評価作業者Hbの体格差による骨格の座標の差分から補正値を算出する。
【0044】
補正値算出部103は、補正値を算出するとき、基本姿勢の模範作業者Ha及び評価作業者Hbの各々の両肩を結ぶ直線Na,Nbの中央に補正の基準点Pa,Pbをそれぞれ定める。ここで、基準点Paの座標を(Xa,Ya)とし、基準点Pbの座標を(Xb,Yb)とすると、Xa=Xb及びYa>Ybが成立する。補正値算出部103は、一例として部品箱81の角部に設定した測定点Poから基準点Pa,Pbまでの各距離Da,Dbを算出する。補正値算出部103は、距離Daに対するDbの比(Db/Da)をX座標の補正値として算出する。また、補正値算出部103は、各基準点Pa,PbのY座標の差分ΔY(=Ya-Yb)をY座標の補正値として算出する。
【0045】
骨格データ補正部104は、上記の各補正値を用いて右肩、左肩、右腰、及び左腰(P13,P23,P31,P32)の座標を補正する。以下に左肩の座標の補正例を述べる。
【0046】
例えば測定点Poの座標を(0,0)としたときの基準点Paの座標を(100,110)とし、基準点Pbの座標を(100,100)とする。また、模範作業者Haの左肩の座標を(154,110)とする。このとき、測定点Poと基準点Paの距離Daは148.7であり、測定点Poと基準点Pbの距離Dbは141.4であるため、X座標の補正値は0.95(=141.4/148.7)と算出される。また、Y座標の補正値は、10(=110-100)と算出される。
【0047】
骨格データ補正部104は、各補正値を用いて模範作業者Haの左肩の座標(154,110)を補正する。補正後の左肩のX座標は、補正前のX座標(154)にX座標の補正値を乗ずることにより146(=154×0.95)と算出される。補正後の左肩のY座標は、補正前のY座標(110)にY座標の補正値を減ずることにより100(=110-10)と算出される。したがって、補正後の左肩の座標は(146,100)となる。この座標は、実質的に画像G2bの左肩の座標に一致する。右肩、右腰、及び左腰の座標の補正も左肩と同様に行われる。なお、補正値算出部103は、これに限定されず、各画像G1b,G2bの左肩、右肩、右腰、及び左腰の座標同士の相対的な位置の差から補正値を算出してもよい。
【0048】
また、骨格データ補正部104は、左肘、右肘、左手、及び右手(P22,P12,P21,P11)の座標を、例えば画像G2bの上腕の長さU及び前腕の長さLを用いて補正する。例えば補正値算出部103は、画像G2bの左肩及び左肘の各座標の間の距離を評価作業者Hbの上腕の長さUとして算出し、画像G2bの左肘及び左手の各座標の間の距離を評価作業者Hbの前腕の長さLとして算出する。
【0049】
補正値算出部103は、上腕の長さUを左肘及び右肘の座標の補正値として算出し、前腕の長さLを左手及び右手の座標の補正値として算出する。骨格データ補正部104は、学習骨格データ131の補正後の左肩の座標、上腕の長さU、及び左の上腕の鉛直方向に対する角度から学習骨格データ131の左肘の座標を補正する。なお、右肘の座標も同様に、補正後の右肩の座標、上腕の長さU、及び右の上腕の鉛直方向に対する角度から補正される。
【0050】
また、骨格データ補正部104は、学習骨格データ131の補正後の左肘の座標、前腕の長さL、及び左の前腕の鉛直方向に対する角度から学習骨格データ131の左手の座標を補正する。なお、右手の座標も同様に、補正後の右肘の座標、前腕の長さL、及び右の前腕の鉛直方向に対する角度から補正される。なお、上記の補正方法は一例であり、これに限定されない。
【0051】
また、補正値算出部103は、各基準点Pa,PbのY座標の差分ΔYを鼻の座標の補正値とする。骨格データ補正部104は、学習骨格データ131の鼻のY座標から差分ΔYを減算して鼻のY座標を補正する。なお、鼻のX座標の補正は行われない。
【0052】
このように、補正値算出部103は、画像G1b内の模範作業者Haの両肩を結ぶ直線Naの中心の基準点Paの座標(Xa,Ya)と、画像G2b内の評価作業者Hbの両肩を結ぶ直線Nbの中心の基準点Pbの座標(Xb,Yb)との差分から補正値を算出する。このため、骨格データ補正部104は、作業中の評価作業者Hbの姿勢によらず、高精度に骨格の座標を補正することができる。なお、本例では、模範作業者Haの身長が評価作業者Hbより高い場合を挙げたが、評価作業者Hbの身長が模範作業者Haより高い場合も、上記の手法と同様の手法により学習済みの骨格の座標を補正することが可能である。
【0053】
また、模範作業者Ha及び評価作業者Hbの身長が互いに実質的に同一であるが、肩幅が相違する場合、例えば基準点Pa,Pbから各骨格の座標までのX方向の距離の比から学習骨格データ131の骨格の座標を補正することができる。
【0054】
補正要否判定部102は、補正値の算出前に模範作業者Ha及び評価作業者Hbの体格差から補正の可否を判定する。補正要否判定部102は、模範作業者Ha及び評価作業者Hbの身長差を算出し、身長差が閾値以上である場合、補正を必要と判定し、身長差が閾値未満である場合、補正を不要と判定する。例えば補正要否判定部102は、身長として鼻のY座標Ta,Tbの差分(|Ta-Tb|)を判定に用いる。
【0055】
また、補正要否判定部102は、模範作業者Ha及び評価作業者Hbの肩幅Wa,Wbの差(|Wa-Wb|)を閾値と比較することにより補正の要否を判定してもよい。模範作業者Haの肩幅Waは学習骨格データ131の右肩及び左肩の座標間の距離から算出され、評価作業者Hbは画像G2bの右肩及び左肩の座標間の距離から算出される。
【0056】
このように補正要否判定部102は、模範作業者Ha及び評価作業者Hbの身長差及び肩幅の差に基づき骨格の座標の補正の要否を判定する。このため、模範作業者Ha及び評価作業者Hbの体格差が実質的にない場合、補正を省くことができる。なお、補正要否判定部102は、模範作業者Ha及び評価作業者Hbの身長差及び肩幅の差の一方のみで補正の要否を判定してもよい。
【0057】
(補正判定処理)
図4は、補正判定処理の一例を示すフローチャートである。本処理は、作業の評価処理の前に実行される。なお、上記の画像G1bで示されたような基本姿勢の模範作業者Haの骨格の座標は予め学習骨格データ131に含まれている。
【0058】
まず、骨格検出部101はカメラ装置2から評価作業者の画像をLAN90経由で取得する(ステップSt1)。次に骨格検出部101は評価作業者の骨格の座標を検出する(ステップSt2)。次に作業評価部105は、骨格の座標を所定パタンと比較することにより評価作業者が基本姿勢であるか否かを判定する(ステップSt3)。評価作業者が基本姿勢ではない場合(ステップSt3のNo)、再びステップSt1以降の処理が行われる。
【0059】
評価作業者が基本姿勢である場合(ステップSt3のYes)、補正要否判定部102は、学習骨格データ131のうち、基本姿勢の模範作業者の骨格の座標を読み出す(ステップSt4)。次に補正要否判定部102は基本姿勢の模範作業者及び評価作業者の各々の骨格の座標から互いの身長差及び肩幅の差をそれぞれ算出する(ステップSt5)。補正要否判定部102は身長差を閾値THaと比較する(ステップSt6)。例えば閾値THaは、身長差と所望の評価の精度との関係から決定される。
【0060】
身長差が閾値THa未満である場合(ステップSt6のNo)、補正要否判定部102は肩幅の差を閾値THbと比較する(ステップSt9)。例えば閾値THbは、肩幅の差と所望の評価の精度との関係から決定される。肩幅の差が閾値THb未満である場合(ステップSt9のNo)、補正要否判定部102は補正処理を不要と判定する(ステップSt10)。
【0061】
身長差が閾値THa以上である場合(ステップSt6のYes)、または肩幅の差が閾値THb以上である場合(ステップSt9のYes)、補正要否判定部102は補正処理を必要と判定する(ステップSt7)。次に補正値算出部103は、基本姿勢の模範作業者及び評価作業者の各々の骨格の座標から補正値を算出する(ステップSt8)。このようにして補正判定処理は行われる。
【0062】
(評価処理)
図5は、作業の評価処理の一例を示すフローチャートである。本処理は、補正判定処理の後に実行される。まず、骨格データ補正部104は、補正要否判定部102が補正処理を必要であると判定した場合(ステップSt21のYes)、学習骨格データ131の作業中の模範作業者の骨格の座標を読み出す(ステップSt22)。次に骨格データ補正部104は学習骨格データ131の骨格の座標を補正値により補正する(ステップSt23)。また、補正処理が不要と判定された場合(ステップSt21のNo)、ステップSt22及びSt23は実行されない。
【0063】
次に骨格検出部101はカメラ装置2から評価作業者の画像をLAN90経由で取得する(ステップSt24)。次に骨格検出部101は評価作業者の骨格の座標を検出する(ステップSt25)。次に骨格検出部101は骨格の座標を時系列で検出骨格データ130として保存する(ステップSt26)。
【0064】
次に作業評価部105は、補正後の学習骨格データ131の骨格の座標と検出骨格データ130の骨格座標を比較する(ステップSt27)。次に作業評価部105は、学習モデル133を用いて骨格の座標の比較結果から、学習骨格データ131に応じた模範作業者の動作と、検出骨格データ130に応じた評価作業者の動作とが互いに類似するか否かを判定する(ステップSt28)。
【0065】
作業評価部105は、模範作業者の動作と評価作業者の動作とが互いに類似する場合(ステップSt28のYes)、作業を「良」と評価し(ステップSt29)、模範作業者の動作と評価作業者の動作とが互いに類似しない場合(ステップSt28のNo)、作業を「不可」と評価する(ステップSt31)。次に作業評価部105は評価結果を評価データ132として保存する(ステップSt30)。このようにして評価処理は行われる。
【0066】
(他の実施例)
骨格データ補正部104は、学習骨格データ131の骨格の座標に代えて、検出骨格データ130の骨格の座標を補正値により補正してもよい。
【0067】
図6は、作業の評価処理の他の例を示すフローチャートである。
図6において、
図5と共通する処理には同一の符号を付し、その説明は省略する。評価作業者の骨格の座標の検出及び保存後(St24~St26)、骨格データ補正部104は、補正要否判定部102が補正処理を必要であると判定した場合(ステップSt26aのYes)、検出骨格データ130の骨格の座標を補正値により補正し(ステップSt26b)、補正要否判定部102が補正処理を不要であると判定した場合(ステップSt26aのNo)、補正を行わない。その後、上述したように作業評価部105が作業の評価を行う(St27~St31)。
【0068】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【符号の説明】
【0069】
1 作業評価サーバ(作業評価装置)、10 CPU、101 骨格検出部(検出部)、102 補正要否判定部(判定部)、103 補正値算出部(算出部)、104 骨格データ補正部(補正部)、105 作業評価部(評価部)、130 検出骨格データ、131 学習骨格データ、133 学習モデル