(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024164829
(43)【公開日】2024-11-27
(54)【発明の名称】マイクロアクティビティ識別のための方法およびシステム
(51)【国際特許分類】
G06T 7/20 20170101AFI20241120BHJP
G06T 7/00 20170101ALI20241120BHJP
G06Q 10/08 20240101ALI20241120BHJP
【FI】
G06T7/20 300A
G06T7/00 350C
G06Q10/08
【審査請求】有
【請求項の数】12
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024078603
(22)【出願日】2024-05-14
(31)【優先権主張番号】202321034111
(32)【優先日】2023-05-15
(33)【優先権主張国・地域又は機関】IN
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.TENSORFLOW
(71)【出願人】
【識別番号】512070816
【氏名又は名称】タタ・コンサルタンシー・サーヴィシズ・リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アプルバ・ダス
(72)【発明者】
【氏名】アぺクシャ・ジャイン
【テーマコード(参考)】
5L010
5L096
【Fターム(参考)】
5L010AA16
5L096AA06
5L096BA02
5L096BA18
5L096CA04
5L096CA05
5L096DA02
5L096EA39
5L096FA67
5L096FA69
5L096HA02
5L096HA11
5L096JA24
5L096KA04
(57)【要約】
【課題】マイクロアクティビティ識別のための方法およびシステムを提供すること。
【解決手段】本開示は、一般に、タスクに関連するマイクロアクティビティ識別に関する。複雑なプロセスを伴う産業工程は、その中の多面的な数のマイクロアクティビティに起因してモニタすることが困難である。そのような複雑なプロセスの監視は、実環境内で、タスクを実行する作業者の作業スタイルおよび一連の組立プロセスに対する管理が存在しないので重要である。複数のマイクロアクティビティを含むタスクを効果的にモニタするために、人工知能(AI)ベースのモデルが提示され、それは、内部のマイクロアクティビティを効果的にモニタし、監視のもとでタスクに対する品質スコアを生成する。品質スコアは、正しく実行されたマイクロアクティビティに個々のスコアを割り当てることによって、およびマイクロアクティビティの間違った実行に対してペナルティを割り当てることによって導出される。
【選択図】
図2
【特許請求の範囲】
【請求項1】
複数のマイクロアクティビティを伴うタスクをスコアリングするプロセッサ実装方法(300)であって、
複数の同期されたビデオ兼オーディオカメラデバイスを介してビデオストリームを、1つまたは複数のハードウェアプロセッサを介して受信するステップ(302)と、
取り込みデバイスによって前記ビデオストリームを、前記1つまたは複数のハードウェアプロセッサを介して復号するステップ(304)であって、前記取り込みデバイスは、前記ビデオストリームを複数のフレームに復号して、前記ビデオストリームから関連するオーディオを抽出する、ステップと、
事前訓練済みAIモデルによって前記複数のフレーム内の少なくとも1つのマイクロアクティビティを、前記1つまたは複数のハードウェアプロセッサを介して検出するステップ(308)と、
前記事前訓練済みAIモデルによって検出された前記マイクロアクティビティを、前記1つまたは複数のハードウェアプロセッサを介して検証するステップ(310)であって、検証は、検出された前記マイクロアクティビティを、前記AIモデルに前に供給されたグラウンドトゥルースシーケンスとマッチさせることを伴う、ステップと、
複数のモジュールによって検出された前記マイクロアクティビティの各々に重み付けを、前記1つまたは複数のハードウェアプロセッサを介して割り当て、正しく実行された各マイクロアクティビティに正のスコアを加えることによって前記タスクをスコアリングし、間違って実行された前記マイクロアクティビティにペナルティを割り当てるステップ(312)と、
検出された前記複数のマイクロアクティビティに割り当てられた個々のスコアに基づいて、前記タスクに対する品質スコアを、前記1つまたは複数のハードウェアプロセッサを介して取得するステップ(314)とを含む、方法。
【請求項2】
前記AIモデルが、オブジェクトハンド関連付けモジュールと、ビデオ分類モジュールと、オーディオ分析モジュールと、ハンドジェスチャーモジュールと、姿勢推定モジュールと、光学式文字認識モジュールと、寸法測定モジュールと、占有ハンドモジュールとを含む、請求項1に記載の方法。
【請求項3】
各マイクロアクティビティに割り当てられた前記重み付けが、前記マイクロアクティビティを実行する間の正しいツール使用および正しいツール取り扱いに基づく、請求項1に記載の方法。
【請求項4】
各モジュールの出力が、実行される前記マイクロアクティビティの正確な持続時間に対してマッピングされる、請求項1に記載の方法。
【請求項5】
命令を記憶するメモリ(102)と、
1つまたは複数の通信インターフェース(106)と、
前記1つまたは複数の通信インターフェース(106)を介して前記メモリ(102)に結合された1つまたは複数のハードウェアプロセッサ(104)とを含み、前記1つまたは複数のハードウェアプロセッサ(104)は、前記命令によって、
複数の同期されたビデオ兼オーディオカメラデバイスを介してビデオストリームを受信することと、
取り込みデバイスによって前記ビデオストリームを復号することであって、前記取り込みデバイスは、前記ビデオストリームを複数のフレームに復号して、前記ビデオストリームから関連するオーディオを抽出する、ことと、
事前訓練済みAIモデルによって前記複数のフレーム内の少なくとも1つのマイクロアクティビティを検出することと、
前記事前訓練済みAIモデルによって検出された前記マイクロアクティビティを検証することであって、検証は、検出された前記マイクロアクティビティを、前記AIモデルに前に供給されたグラウンドトゥルースシーケンスとマッチさせることを伴う、ことと、
複数のモジュールによって検出された前記マイクロアクティビティの各々に重み付けを割り当て、正しく実行された各マイクロアクティビティに正のスコアを加えることによってタスクをスコアリングし、間違って実行された前記マイクロアクティビティにペナルティを割り当てることと、
検出された前記複数のマイクロアクティビティに割り当てられた個々のスコアに基づいて、前記タスクに対する品質スコアを取得することとを行うように構成される、システム(100)。
【請求項6】
前記AIモデルが、オブジェクトハンド関連付けモジュールと、ビデオ分類モジュールと、オーディオ分析モジュールと、ハンドジェスチャーモジュールと、姿勢推定モジュールと、光学式文字認識モジュールと、寸法測定モジュールと、占有ハンドモジュールとを含む、請求項5に記載のシステム。
【請求項7】
各マイクロアクティビティに割り当てられた前記重み付けが、前記マイクロアクティビティを実行する間の正しいツール使用および正しいツール取り扱いに基づく、請求項5に記載のシステム。
【請求項8】
各モジュールの出力が、実行される前記マイクロアクティビティの正確な持続時間に対してマッピングされる、請求項5に記載のシステム。
【請求項9】
1つまたは複数の命令を含む1つまたは複数の非一時的機械可読情報記憶媒体であって、前記1つまたは複数の命令は、1つまたは複数のハードウェアプロセッサによって実行されるとき、
複数の同期されたビデオ兼オーディオカメラデバイスを介してビデオストリームを受信することと、
取り込みデバイスによって前記ビデオストリームを復号することであって、前記取り込みデバイスは、前記ビデオストリームを複数のフレームに復号して、前記ビデオストリームから関連するオーディオを抽出する、ことと、
事前訓練済みAIモデルによって前記複数のフレーム内の少なくとも1つのマイクロアクティビティを検出することと、
前記事前訓練済みAIモデルによって検出された前記マイクロアクティビティを検証することであって、検証は、検出された前記マイクロアクティビティを、前記AIモデルに前に供給されたグラウンドトゥルースシーケンスとマッチさせることを伴う、ことと、
複数のモジュールによって検出された前記マイクロアクティビティの各々に重み付けを割り当て、正しく実行された各マイクロアクティビティに正のスコアを加えることによってタスクをスコアリングし、間違って実行された前記マイクロアクティビティにペナルティを割り当てることと、
検出された前記複数のマイクロアクティビティに割り当てられた個々のスコアに基づいて、前記タスクに対する品質スコアを取得することとを行わせる、1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項10】
前記AIモデルが、オブジェクトハンド関連付けモジュールと、ビデオ分類モジュールと、オーディオ分析モジュールと、ハンドジェスチャーモジュールと、姿勢推定モジュールと、光学式文字認識モジュールと、寸法測定モジュールと、占有ハンドモジュールとを含む、請求項9に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項11】
各マイクロアクティビティに割り当てられた前記重み付けが、前記マイクロアクティビティを実行する間の正しいツール使用および正しいツール取り扱いに基づく、請求項9に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【請求項12】
各モジュールの出力が、実行される前記マイクロアクティビティの正確な持続時間に対してマッピングされる、請求項9に記載の1つまたは複数の非一時的機械可読情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照および優先権
本出願は、2023年5月15日に出願されたインド特許出願第202321034111号の優先権を主張する。
【0002】
本明細書の本開示は、一般に、マイクロアクティビティ識別に関し、より詳細には、タスクに関連するマイクロアクティビティの識別および品質スコアリングのためのタスクを監視するコンピュータ実装方法およびシステムに関する。
【背景技術】
【0003】
実世界環境では、産業工程、自動組立ライン、手術を伴う医療処置など、いくつかのアクティビティ/タスクは非常に複雑である。時には、これらの複雑なプロセスは、その実行のために熟達した専門家の介在を伴う。プロセス内で品質を達成することは、それを実行する人の実績に依存する。自動化が、プロセス内で品質を維持するために期待できるオプションと見なされるが、場合によっては、完全自動化システムを有することは不可能である。これは、インフラ問題に起因する場合があり、または時には、生産ラインもしくは組立ラインまたはいくつかの手順において、一定の品質基準を保証するために人の介在が必須である段階が存在する。タスクがロボットによって実行されるときでも、ロボット動作は、それらの動作の綿密なモニタリングに基づいて分析され得る。さらに、人間動作からまたは他のロボットからの学習を通して、ロボットによる組み立てにおいて改善がもたらされ得る。リーン製造コンセプトおよび標準作業手順書(SOP)の実施にもかかわらず、時には、作業者/オペレータは、意図的にまたは意図せずにSOPを見落とす傾向があり、そのことが、劣等な作業の実行をもたらし、究極的に作業の品質を悪化させる。これは、人が複雑な産業環境において間違いを犯す通常の傾向である。品質を保証するために、オペレータ/作業者は、たとえば生産ライン内でSOPのとおりに動作のセットを実行すべきであり、製品は、不備なく組み立てられなければならない。タスクの取り扱いに対して確立されたプロセスに従うことは、確実な品質を保証するだけでなく、作業環境における安全を確実にするための抑制と均衡をも提供する。プロセスの安全だけでなくタスクを実行する作業者の安全も、確立されたSOPの見落としに起因して生じることがある危険の低減および最小化を確実にする。
【0004】
最新技術(SOTA)において実施される解決策は、組立に対する人間動作に関する情報および生産ラインにおける品質を可視化するための合理的方法を提案し、一定の活動を実行する作業者/オペレータに向けた方法で不備情報の管理を可能にする。他の解決策は、それらの生産ラインにおいて満足のいく結果を有する音響式品質管理システムを実装し、同じくSOPからの逸脱を識別するための機械学習システムを実装した。しかしながら、作業者の作業スタイルおよび一連の組立プロセスに対する管理が存在しない実環境において発生する事象のモニタリングまたは監視は、対処されないままである。実世界において発生するそのような事象は、人の介在を通して実行されるべき多くのマイクロアクティビティを伴う。マイクロアクティビティは、タスクを実行する間に生じるアクティビティのセットとして定義され得る。マイクロアクティビティは、短い時間期間(ほんの1、2秒から数秒)の間、たとえば自動車のエンジンを組み立てるタスクを実行する間、持続し、正しいねじをピックアップすること、ねじを正しく保持すること、ねじを適切に締結することなど、様々なマイクロアクティビティが関与する。そのようなマイクロアクティビティは、体の部分のジェスチャー、姿勢、および運動を伴う。ビデオ監視は、アクティビティまたはマイクロアクティビティを監督または点検するための効果的なメカニズムである。監督する間、ビデオキャプチャメカニズムを介するアクティビティは、視点をモニタすることによって、重要度の高いそれらの複数のマイクロアクティビティのすべてのキャプチャを必要とする。しかしながら、タスクまたは事象に関連する複数のマイクロアクティビティを自動的に検出するために、キャプチャされたビデオを処理することは、依然として資源集約型のままである。かなりの量の計算能力が、複雑なコンピュータ処理によって生成される膨大な量の出力を取り扱うために必要とされる。加えて、各展開場所は、通常、すべてのマイクロアクティビティ関連のビデオストリームを取り扱うために、ほんの限られたスペースおよび資源しか有しない。既存の手法は、タスクに関連するマイクロアクティビティのみに着目する解決策をほとんど提供しない。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の実施形態は、従来のシステム内で発明者らによって認識された上記の技術的問題のうちの1つまたは複数に対する解決策として、技術的改善を提示する。たとえば、一実施形態では、マイクロアクティビティ識別の方法が提供される。方法は、複数の同期されたビデオ兼オーディオカメラデバイスを介してビデオストリームを受信するステップを含む。複数の同期されたビデオ兼オーディオカメラデバイスは、様々な角度からの監視のもとでタスクをカバーする。方法は、取り込みデバイスによってビデオストリームを復号するステップをさらに含み、取り込みデバイスは、ビデオストリームを複数のフレームに復号してビデオストリームから関連するオーディオを抽出する。監視のもとでタスクを実行する人のビデオストリームは、ビデオストリームからフレームのバッチを抽出するために取り込みデバイスに提供される。フレーム抽出は、空間情報と時間情報の両方の抽出をもたらす。フレームのバッチは、ビデオ推定のために使用される。バッチ内のフレームの数は設定可能であり、モニタされるマイクロアクティビティのタイプに従って調整され得る。方法は、事前訓練済みAIモデルによって複数のフレーム内の少なくとも1つのマイクロアクティビティを検出するステップをさらに含む。事前訓練済みAIモデルは、オブジェクトハンド関連付け(OHA:object-hand-association)モジュールと、ビデオ分類モジュールと、オーディオ分析(AA:audio analysis)モジュールと、ハンドジェスチャー(HG:hand gesture)モジュールと、姿勢推定(PE:pose estimation)モジュールと、光学式文字認識(OCR:optical character recognition)モジュールと、寸法測定(DM:dimension measurement)モジュールと、占有ハンド(OH:occupied hand)モジュールとを含む。ODAモジュールは、ニューラルネットワークを伴う深層学習(DL)法に基づき、DLの最も重要な特徴は、それが、学習プロセスの間に分析のために着目されるべき特徴を自動的に抽出することである。各モジュールの出力は、実行されるマイクロアクティビティの正確な持続時間に対してマッピングされる。方法は、事前訓練済みAIモデルによって検出されたマイクロアクティビティを検証するステップをさらに含み、検証は、検出されたマイクロアクティビティを、AIモデルに前に供給されたグラウンドトゥルースシーケンスとマッチさせることを伴う。条件チェックが、検証の間に実行される。たとえば、ビデオ分類モジュールの予測される結果がグラウンドトゥルースリストとマッチする場合、ペナルティは課されず、さらなるアクティビティが、正しいツール使用および正しいツール取り扱いのためにチェックされる。しかしながら、ビデオ分類モジュールの予測される結果がグラウンドトゥルースリストとマッチしない場合、ペナルティが課され、一定の所定のスコアが差し引かれる。方法は、複数のモジュールによって検出されたマイクロアクティビティの各々に重み付けを割り当てるステップと、正しく実行された各マイクロアクティビティに正のスコアを加えることによってタスクをスコアリングするステップと、間違って実行されたマイクロアクティビティにペナルティを割り当てるステップとをさらに含む。各マイクロアクティビティに割り当てられた重み付けは、マイクロアクティビティを実行する間の正しいツール使用および正しいツール取り扱いに基づく。方法は、検出された複数のマイクロアクティビティに割り当てられた個々のスコアに基づいてタスクに対する品質スコアを取得するステップをさらに含む。
【0006】
別の態様では、マイクロアクティビティ識別のためのシステムが提供される。システムは、プログラムされた命令を記憶する少なくとも1つのメモリと、1つまたは複数の入力/出力(I/O)インターフェースと、1つまたは複数のハードウェアプロセッサとを含み、AIモデルは、対応する少なくとも1つのメモリに動作可能に結合された複数のモジュール、すなわち、オブジェクトハンド関連付け(OHA)モジュールと、ビデオ分類モジュールと、オーディオ分析(AA)モジュールと、ハンドジェスチャー(HG)モジュールと、姿勢推定(PE)モジュールと、光学式文字認識(OCR)モジュールと、寸法測定(DM)モジュールと、占有ハンド(OH)モジュールとを含み、システムは、複数の同期されたビデオ兼オーディオカメラデバイスを介してビデオストリームを受信するように構成される。複数の同期されたビデオ兼オーディオカメラデバイスは、様々な角度から監視のもとでタスクをカバーする。さらに、システムは、取り込みデバイスによってビデオストリームを復号するように構成され、取り込みデバイスは、ビデオストリームを複数のフレームに復号してビデオストリームから関連するオーディオを抽出する。監視のもとでタスクを実行する人のビデオストリームは、ビデオストリームからフレームのバッチを抽出するために取り込みデバイスに提供される。フレーム抽出は、空間情報と時間情報の両方の抽出をもたらす。フレームのバッチは、ビデオ推定のために使用される。バッチ内のフレームの数は設定可能であり、モニタされるマイクロアクティビティのタイプに従って調整され得る。さらに、システムは、事前訓練済みAIモデルによって複数のフレーム内の少なくとも1つのマイクロアクティビティを検出するように構成される。事前訓練済みAIモデルは、オブジェクトハンド関連付け(OHA)モジュールと、ビデオ分類モジュールと、オーディオ分析(AA)モジュールと、ハンドジェスチャー(HG)モジュールと、姿勢推定(PE)モジュールと、光学式文字認識(OCR)モジュールと、寸法測定(DM)モジュールと、占有ハンド(OH)モジュールとを含む。ODAモジュールは、ニューラルネットワークを伴う深層学習(DL)法に基づき、DLの最も重要な特徴は、それが、学習プロセスの間に分析のために着目されるべき特徴を自動的に抽出することである。各モジュールの出力は、実行されるマイクロアクティビティの正確な持続時間に対してマッピングされる。さらに、システムは、事前訓練済みAIモデルによって検出されたマイクロアクティビティを検証するように構成され、検証は、検出されたマイクロアクティビティを、AIモデルに前に供給されたグラウンドトゥルースシーケンスとマッチさせることを伴う。条件チェックが、検証の間に実行される。たとえば、ビデオ分類モジュールの予測される結果がグラウンドトゥルースリストとマッチする場合、ペナルティは課されず、さらなるアクティビティが、正しいツール使用および正しいツール取り扱いのためにチェックされる。しかしながら、ビデオ分類モジュールの予測される結果がグラウンドトゥルースリストとマッチしない場合、ペナルティが課され、一定の所定のスコアが差し引かれる。さらに、システムは、複数のモジュールによって検出されたマイクロアクティビティの各々に重み付けを割り当てることと、正しく実行された各マイクロアクティビティに正のスコアを加えることによってタスクをスコアリングすることと、間違って実行されたマイクロアクティビティにペナルティを割り当てることとを行うように構成される。各マイクロアクティビティに割り当てられた重み付けは、マイクロアクティビティを実行する間の正しいツール使用および正しいツール取り扱いに基づく。さらに、システムは、検出された複数のマイクロアクティビティに割り当てられた個々のスコアに基づいてタスクに対する品質スコアを取得するように構成される。
【0007】
また別の態様では、マイクロアクティビティ識別のコンピュータプログラムをその中に統合された非一時的コンピュータ可読媒体を含むコンピュータプログラム製品が提供される。コンピュータ可読プログラムは、コンピューティングデバイス上で実行されるとき、コンピューティングデバイスに、複数の同期されたビデオ兼オーディオカメラデバイスを介するビデオストリームを、1つまたは複数のハードウェアプロセッサを介して受信させる。複数の同期されたビデオ兼オーディオカメラデバイスは、様々な角度からの監視のもとでタスクをカバーする。さらに、コンピュータ可読プログラムは、コンピューティングデバイス上で実行されるとき、コンピューティングデバイスに、取り込みデバイスによってビデオストリームを、1つまたは複数のハードウェアプロセッサを介して復号させ、取り込みデバイスは、ビデオストリームを複数のフレームに復号してビデオストリームから関連するオーディオを抽出する。監視のもとでタスクを実行する人のビデオストリームは、ビデオストリームからフレームのバッチを抽出するために取り込みデバイスに提供される。フレーム抽出は、空間情報と時間情報の両方の抽出をもたらす。フレームのバッチは、ビデオ推定のために使用される。バッチ内のフレームの数は設定可能であり、モニタされるマイクロアクティビティのタイプに従って調整され得る。さらに、コンピュータ可読プログラムは、コンピューティングデバイス上で実行されるとき、コンピューティングデバイスに、複数のフレーム内の少なくとも1つのマイクロアクティビティを事前訓練済みAIモデルによって1つまたは複数のハードウェアプロセッサを介して検出させる。事前訓練済みAIモデルは、オブジェクトハンド関連付け(OHA)モジュールと、ビデオ分類モジュールと、オーディオ分析(AA)モジュールと、ハンドジェスチャー(HG)モジュールと、姿勢推定(PE)モジュールと、光学式文字認識(OCR)モジュールと、寸法測定(DM)モジュールと、占有ハンド(OH)モジュールとを含む。ODAモジュールは、ニューラルネットワークを伴う深層学習(DL)法に基づき、DLの最も重要な特徴は、それが、学習プロセスの間に分析のために着目されるべき特徴を自動的に抽出することである。各モジュールの出力は、実行されるマイクロアクティビティの正確な持続時間に対してマッピングされる。コンピュータ可読プログラムは、コンピューティングデバイス上で実行されるとき、コンピューティングデバイスに、事前訓練済みAIモデルによって検出されたマイクロアクティビティを、1つまたは複数のハードウェアプロセッサを介して検証させ、検証は、検出されたマイクロアクティビティを、AIモデルに前に供給されたグラウンドトゥルースシーケンスとマッチさせることを伴う。条件チェックが、検証の間に実行される。たとえば、ビデオ分類モジュールの予測される結果がグラウンドトゥルースリストとマッチする場合、ペナルティは課されず、さらなるアクティビティが、正しいツール使用および正しいツール取り扱いのためにチェックされる。しかしながら、ビデオ分類モジュールの予測される結果がグラウンドトゥルースリストとマッチしない場合、ペナルティが課され、一定の所定のスコアが差し引かれる。コンピュータ可読プログラムは、コンピューティングデバイス上で実行されるとき、コンピューティングデバイスに、複数のモジュールによって検出されたマイクロアクティビティの各々に重み付けを1つまたは複数のハードウェアプロセッサを介して割り当てることと、正しく実行された各マイクロアクティビティに正のスコアを加えることによってタスクをスコアリングすることと、間違って実行されたマイクロアクティビティにペナルティを割り当てることとを行わせる。各マイクロアクティビティに割り当てられた重み付けは、マイクロアクティビティを実行する間の正しいツール使用および正しいツール取り扱いに基づく。コンピュータ可読プログラムは、コンピューティングデバイス上で実行されるとき、コンピューティングデバイスに、個々のスコアが検出された複数のマイクロアクティビティに割り当てられることに基づいて、タスクに対する品質スコアを1つまたは複数のハードウェアプロセッサを介して取得させる。
【0008】
本開示に組み込まれ、本開示の一部を構成する添付の図面は例示的実施形態を示し、この説明とともに、開示される原理を説明するために役立つ。
【図面の簡単な説明】
【0009】
【
図1】本開示のいくつかの実施形態による、マイクロアクティビティ識別のためのシステムの例示的なブロック図である。
【
図2】本開示のいくつかの実施形態による、監視ビデオ内のマイクロアクティビティを記録、識別、およびスコアリングするためのシステムの構造的概要の例示的な図である。
【
図3】本開示のいくつかの実施形態による、監視のもとでタスク内で関与するマイクロアクティビティを記録、識別、およびスコアリングするための例示的な方法のフロー図である。
【
図4】本開示のいくつかの実施形態による、ビデオ分類モジュール(M2)からのアクティビティ識別のステップを示す図である。
【
図5】本開示のいくつかの実施形態による、監視のもとでタスク内で関連する複数のマイクロアクティビティをスコアリングするための一般化された方式を示す図である。
【
図6】本開示のいくつかの実施形態による、梱包産業セットアップにおける適切な梱包作業の実行に関する監視ビデオ内のマイクロアクティビティを記録、識別、およびスコアリングするためのシステムの実装形態を示す図である。
【
図7】本開示のいくつかの実施形態による、梱包作業におけるマイクロアクティビティ識別の例示的なシナリオに対してシステムによって生成されるスコアカードの図である。
【
図8】本開示のいくつかの実施形態による、産業セットアップにおけるラップトップ組立作業の実行に関する監視ビデオ内のマイクロアクティビティを記録、識別、およびスコアリングするためのシステムの実装形態を示す図である。
【発明を実施するための形態】
【0010】
例示的な実施形態が、添付の図面を参照しながら説明される。図面では、参照番号の左端の数字が、その参照番号が最初に現れる図を識別する。都合がよければどこにでも、同じ参照番号が、同じまたは同様の部分に言及するために図面にわたって使用される。開示される原理の例および特徴が本明細書で説明されるが、修正形態、適応形態、および他の実装形態が、開示される実施形態の範囲を逸脱することなく可能である。
【0011】
多くの異なる技法が、人間動作認識に対する文献の中に存在する。ビデオベースの動作認識は、監視ストリームからのビデオシーケンス内の動作を識別して認識するために、特にこの時期に新しく出現した挑戦的分野の研究である。ビデオ内の動作認識は、コンテンツベースビデオ検索、セキュリティおよびプライバシー目的の監視システム、ヒューマンコンピュータインタラクション、およびアクティビティ認識など、多くのアプリケーションを有する。動作認識の目的は、ビデオ内の人々、彼らの挙動、疑わしいアクティビティを検出して識別すること、ならびに対話型プログラムおよびIoTベースアプリケーションをサポートするために適切な情報を送達することである。動作認識は、それが、産業モニタリング、暴力検出、人識別、仮想現実、およびクラウド環境を含む居住者のセキュリティおよび安全の確保に関するとき、カメラの移動、オクルージョン、複雑な背景、および照明の変化における重要な改善に起因して、依然として多くの挑戦的課題を提起する。空間的および時間的情報は、ビデオ内の異なる人間動作の認識において重要な役割を果たす。この10年間、方法の大部分は、ビデオ内の対応する動作を特徴付けるために、動的運動の空間属性を示すために手作りの特徴工学を使用した。動作認識における手作りベースの特徴の方法は、主にデータベース指向であり、運動スタイルおよび複雑な背景クラッタに起因して普遍的状況を満足することはできない。
【0012】
人工知能(AI)、特に深層学習(DL)は、今や、ビデオベースの動作および挙動認識においてエンドツーエンドシステムを学習して作成する高レベルの識別的で顕著な特徴に対して広く使用される技法である。人間動作認識(HAR)のための既存のDL手法は、事前訓練済みモデルを使用することによってビデオフレームから特徴を学習するための畳み込み演算において単純な畳み込みニューラルネットワーク(CNN)戦略を使用する。これらの畳み込み層は、分類のためのモデルを訓練するために、空間特徴を抽出して学習する。それに比べて、伝統的なCNNモデルは、一連のデータ内の手作りの特徴より低い性能を有する。AlexNet、VGG、and ResNetなどの標準的CNNモデルは、単一の入力画像から空間特徴を学習する。これらのモデルは、空間情報をキャプチャすることにおいて有用であるが、それらは、ビデオシーケンス内のHARに対する運動情報をキャプチャするために重要な要因である時間データに対してあまり効果的ではない。最近、時空間問題が、リカレントニューラルネットワーク(RNN)を使用することによって取り扱われ、ここで監視システム内のHARに対する時間的特徴を学習して処理するために、LSTMが、特に長期間のビデオシーケンスに対して設計される。現今、研究者の大部分は、HARの現在の課題および限界をカバーするために、共同特徴訓練に対する時間的および空間的特徴を組み合わせるために動作認識に対する2ストリーム手法を開発した。
【0013】
これらの事実に基づいて、実世界ビデオ内の動作の正確な認識は、依然として挑戦的課題であり、人間動作の適切な識別のための運動、スタイル、および背景状況についての情報を欠いている。伝統的な方法は、連続動作の取り扱いにおける挑戦的課題、オクルージョンによって混雑したシーンのモデリングにおける難しさ、および雑音に対する感度に起因するこれらの問題に対処することができない。同様に、HARに対する最近の方法は、RNN、LSTM、およびゲート付きリカレントユニットによって、シーケンス学習問題を解決する。しかしながら、上記の手法は、アクティビティ/タスクに関連するマイクロアクティビティの検出に着目しない。マイクロアクティビティの検出は、タスクを実行する人を監視するために非常に重要であり、マイクロアクティビティが人によって実行される品質を数値化することができるさらなるスコアリング機能が重要である。監視は、モニタされること、または監視下に置かれることが必要なすべてのそのようなアクティビティにおいて重要である。
【0014】
以下の説明では、「AI」、「機械学習(ML)」、および「DL」という用語は、互いに交換可能に使用され、パターンを認識して予測または決定をするために訓練データに依存するプログラムまたはアルゴリズムに言及する。
【0015】
以下の説明では、「マイクロアクティビティ識別」、および「マイクロアクティビティ認識」という用語は、互いに交換可能に使用され、両者は、パターンを認識して予測または決定をするために訓練データに依存するプログラムまたはアルゴリズムに言及する。
【0016】
次に図面、より詳細には、同様の参照文字が図面全体を通して一貫して対応する特徴を示す
図1~
図8を参照すると、望ましい実施形態が示され、これらの実施形態は、以下の例示的なシステムおよび/または方法の文脈で説明される。
【0017】
図1は、本開示のいくつかの実施形態による、マイクロアクティビティ識別のためのシステムの例示的なブロック図を示す。
【0018】
図1に示すように、システム100は、1つまたは複数のプロセッサ104と、通信インターフェースデバイスまたは入力/出力(I/O)インターフェース106と、1つまたは複数のプロセッサ104に動作可能に結合された1つまたは複数のデータ記憶デバイスまたはメモリ102とを含む。ハードウェアプロセッサである1つまたは複数のプロセッサ104は、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、ステートマシン、グラフィックコントローラ、論理回路、および/または演算命令に基づいて信号を処理する任意のデバイスとして実装され得る。その他の能力の中でも、プロセッサは、メモリ内に記憶されたコンピュータ可読命令をフェッチして実行するように構成される。本開示の文脈では、「プロセッサ」および「ハードウェアプロセッサ」という表現は、互いに交換可能に使用され得る。一実施形態では、システム100は、ラップトップコンピュータ、ノートブック、ハンドヘルドデバイス、ワークステーション、メインフレームコンピュータ、サーバ、ネットワーククラウドなど、様々なコンピューティングシステム内に実装され得る。
【0019】
I/Oインターフェース106は、様々なソフトウェアおよびハードウェアインターフェース、たとえば、ウェブインターフェース、グラフィカルユーザインターフェースなどを含んでよく、たとえばLAN、ケーブルなどのワイヤードネットワーク、WLAN、セルラー、もしくは衛星などのワイヤレスネットワークを含む多種多様なネットワークおよびプロトコルタイプ内で複数の通信を容易にすることができる。一実施形態では、I/Oインターフェース106は、いくつかのデバイスを互いにもしくは別のサーバに接続するための1つまたは複数のポートを含むことができる。
【0020】
メモリ104は、たとえば、スタティックランダムアクセスメモリ(SRAM)およびダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリ、ならびに/またはリードオンリーメモリ(ROM)、消去可能プログラマブルROM、フラッシュメモリ、ハードディスク、光ディスク、および磁気テープなどの不揮発性メモリを含む、当技術分野で知られている任意のコンピュータ可読媒体を含み得る。一実施形態では、メモリ102は、データベースまたはリポジトリを含み得る。メモリ102は、システム100のプロセッサ104および本開示の方法によって実行される各ステップの入力/出力に関する情報を含み得る。一実施形態では、データベースは、システム100の外部(図示せず)にあって、I/Oインターフェース106を介して結合され得る。一実施形態では、メモリ102は、マイクロアクティビティ識別に対して連帯して責任を負う複数のモジュールを含む。複数のモジュールは、人工知能(AI)ベースの事前訓練済み機械学習モデル110を形成する。複数のモジュールは、110Aとして示されるオブジェクトハンド関連付け(OHA)モジュールM1と、110Bとして示されるビデオ分類モジュールM2と、110Cとして示されるオーディオ分析(AA)モジュールM3と、110Dとして示されるハンドジェスチャー(HG)モジュールM4と、110Eとして示される姿勢推定(PE)モジュールM5と、110Fとして示される光学式文字認識(OCR)モジュールM6と、110Gとして示される寸法測定(DM)モジュールM7と、110Hとして示される占有ハンド(OH)モジュールM8とを含む。ODAモジュール110Aは、ニューラルネットワークを伴う深層学習(DL)法に基づき、DLの最も重要な特徴は、それが、学習プロセスの間に分析のために着目されるべき特徴を自動的に抽出することである。オブジェクト検出に使用されるDL技法は、2段階ネットワーク(RCNNおよびSPPNet、Mask R-CNN、Fast RCNN、Faster RCNN、Pyramid Networks/FPN、およびG-RCNN)、または1段階ネットワーク(YOLO、SSD、RetinaNet、YOLOv3、YOLOv4、YOLOR)に分類される。畳み込みニューラルネットワーク(CNN)およびYou only look once (YOLO)は、オブジェクト検出に対して最も一般的に適用されるDLモデルである。オブジェクト検出モジュールは、境界ボックスマーキングによってオブジェクトの注釈のためにあらゆるフレームに注釈をつけることによって訓練される。ビデオ分類110Bモジュールは、静止状態のアクティビティに対してアクティビティクラスにおける変化を検出しようと試みる。これらのモジュールは、実行されるべき一連のマイクロアクティビティをモデルが学習することができるように、全アクティビティをカバーして最初から最後まで訓練する必要がある。アクティビティ認識は、それが周囲環境と無関係に訓練されるように、位置または方位から独立して実行される。ビデオ分類モジュールは、マイクロアクティビティがタスクの実行に関与する範囲を分類するために、ビデオおよびオーディオからのマルチモーダルのセンサデータを使用する。ビデオ分類モジュールは、各アクティビティクラスに対して複数のトリミングされたビデオ上で訓練される。時空間の特徴が、アクティビティに対して空間と時間の両方の情報を得るために、畳み込みニューラルネットワークを使用して抽出される。ビデオ分類モジュールは、アクティビティおよびそれらの持続時間を認識し、ビデオ分類モジュールは、異なるクラスにおけるアクティビティを分類する。ビデオ分類モジュールによって識別された様々なクラスの間で、最高確率のクラスを有する少なくとも2つのアクティビティが選択される。選択されたアクティビティは、ビデオ分類モジュールによって行われた予測をサポートするために、本発明に従って構成された他のモジュールを用いてさらに確認される。AAモジュール110Cは、デジタルデバイスによって記録されたオーディオ信号を変換、探索、および解釈するプロセスを伴う。音響データの理解を目的として、音響データは、最先端の深層学習アルゴリズムを含む広範囲の技術を適用する。オーディオ分析は、一般的に、標準ファイルフォーマット内に記憶されたプロジェクト固有のオーディオデータを取得することと、ソフトウェアツールを使用してあなたの機械学習プロジェクトに対するデータを準備することとを含む。オーディオ分析は、音響データのビジュアル表現からオーディオの特徴を抽出することと、オーディオの特徴上で機械学習モデルを訓練するために機械学習モデルを選択することとをさらに含む。音響事象検出のためのオーディオ分析は、ビデオファイルから抽出されたオーディオ上で実行されるFFTを介して行われる。次に、より低いおよびより高いカットオフ周波数を有するバンドパスフィルタが、音響事象の周波数に同調され、信号の振幅/エネルギーを抽出するために使用される。スペクトル強度/エネルギーが(設定されたしきい値に関して)顕著に高い場合はいつも、音響事象が検出される。より低いおよびより高いカットオフ周波数は、ターゲット信号を搬送するオーディオクリップの集合体から取得される。音響事象が関連するマイクロアクティビティを伴うビデオストリームが、ビデオ分類モジュールにおいて検出され、オーディオ検出のために小さいクリップにトリミングされる。これらのトリミングされた小さいクリップは、オーディオ検出のために使用される。オーディオは、ビデオから抽出され、短期FFT(SFFT)が、振幅比較のために計算される。HGモジュール110Dは、アクティビティまたはタスクを実行しながら一般的に段階分けされた手の動きを認識するために、ML/DLモデルの中に統合される。HGモジュールは、作業環境の中で一般的に使用される多種多様なハンドジェスチャーの画像を含むデータセットの助けを借りて訓練される。拳、手のひら、異なるターゲットのハンドジェスチャーなど、異なるハンドジェスチャーの画像を分類することができる機械学習アルゴリズムは、「ピンチング」、「サムズアップ」、「人差し指を指すこと」、「パンチ」のように訓練している。通常、ハンドジェスチャーモデルは、静止画像を分類するためにConvNets(畳み込みニューラルネットワーク)アーキテクチャを用いて構築される。HG認識モデルは、正しいツール取り扱いを検出するため、および同じく、ビデオ分類モデルによって検出されたアクティビティを確認するために使用される。ランドマークポイントが、右手と左手の両方に対して検出される。これらの検出されたハンドポイントは、人差し指、親指の右の位置のように特定のハンドジェスチャーを検出するために機械学習モデルを使用してさらに分類される。姿勢推定モジュール110Eは、画像およびビデオの中の人物像を検出するためにコンピュータビジョン技法を伴う姿勢推定法を使用し、それにより、たとえば誰かの肘が画像内に現れる場所が決定され得る。主要な体の関節の推定を除いて、姿勢検出に関連する、個人を特定できる情報は存在しない。身体姿勢推定は、人の姿勢検出のために深層学習アルゴリズムを使用する。PoseNetモデルが、姿勢推定モジュールを訓練するために埋め込まれる。PoseNetは、画像またはビデオの中で人間の姿勢が検出され得る、実時間姿勢検出技法である。PoseNetは、単一モード(単一の人の姿勢検出)とマルチ姿勢検出(複数の人の姿勢検出)の両方の場合において働く。簡単に言うと、PoseNetは、肘、臀部、手首、膝、足首などの体の部分を検出することによって人の姿勢を推定し、これらのポイントを接合することによって人の姿勢の骨格構造を形成することを可能にする深層学習TensorFlowモデルである。OCRモジュール110Fは、テキスト認識用である。OCRプログラムは、スキャンした文書、カメラ画像、および画像のみのPDFからデータを抽出し、別の用途に使う。OCRソフトウェアは、画像上の文字を選出し、それらを言葉に置き換え、次いで言葉を文に置き換え、こうして、元のコンテンツにアクセスして編集することを可能にする。OCRソフトウェアはまた、手動データ入力の必要性をなくする。CNNは、テキスト検出のステップに対して深層学習OCR用に使用するための最良の技法のうちの1つである。畳み込み層は、通常、特徴抽出におけるそれらの効率に起因して、画像分類タスクに使用される。畳み込み層は、画像内の意味のあるエッジ、ならびに形状および複雑なオブジェクトを(より高いレベルで)検出することを可能にする。アクティビティ認識において、OCRは、アクティビティの挙動がそれらの位置および数に基づいて変化するのに反して、機械の様々な部分は同じように見えることがあるので重要である。DMモジュール110Gは、エッジ検出のために画像センサを使用する。画像センサを使用する寸法検査では、位置、幅、角度は、2次元でオブジェクトをキャプチャすること、およびエッジを検出することによって測定され得る。寸法測定モジュールは、ArUco(商標)マーカーであり、それは、カメラ姿勢推定のために使用され得るバイナリ正方形基準マーカーである。マーカーのコーナーポイントは、姿勢推定による距離測定に使用され、ラインフィッティングによって取得されたエッジの交点である。OHAモジュール110Hは、手の動きをマッピングし、監視のもとでの組立作業または任意の他のタスクを実行するためのツールを保持する手の正しい姿勢を検出する。メモリ102は、監視のもとでのマイクロアクティビティに関連するデータを記憶するためのデータベース112をさらに含む。メモリ102は、マイクロアクティビティ識別のプロセスに関与する様々なステップを実行するためにシステム100によって実行されるアプリケーションまたは機能を補足するプログラムまたはコーディングされた命令を含む複数のモジュール(図示せず)をさらに含む。複数のモジュールは、とりわけ、ルーティン、プログラム、オブジェクト、構成要素、およびデータ構造を含むことができ、それらは、特定のタスクを実行するか、または特定の抽象データタイプを実行する。複数のモジュールはまた、演算命令に基づいて信号を処理する、信号プロセッサ、ノードマシン、論理回路、および/または任意の他のデバイスもしくは構成要素として使用され得る。さらに、複数のモジュールは、ハードウェアによって、1つまたは複数のハードウェアプロセッサ104によって実行されるコンピュータ可読命令によって、またはそれらの組合せによって使用され得る。複数のモジュールは、様々なサブモジュール(図示せず)を含むことができる。
【0021】
図2は、本開示のいくつかの実施形態による、監視ビデオ内のマイクロアクティビティを記録、識別、およびスコアリングするためのシステムの構造的概要の例示的な図である。
【0022】
図2は、本開示のいくつかの実施形態による、監視ビデオ内のマイクロアクティビティを記録、識別、および品質スコアリングするためのシステム100の構造的概要の例示的な図である。図示のように、マルチカメラビデオ取り込み202は、ビデオ兼オーディオキャプチャデバイスから生のビデオストリームを受信する。取り込みデバイスは、ビデオストリームから復号された複数のフレームを取得するために前記ビデオストリームを受信して復号するためのインターフェースとして働く。復号されたフレームは、較正されたフレームを取得するために、さらに較正される。オーディオを含むビデオの部分は、オーディオが抽出、処理および記憶されるオーディオ抽出ユニット204に導かれる。記憶されたオーディオは、本発明による事前訓練済みAIモデル110のオーディオ分析モジュールへの入力として使用される。前記モデル210がM1、M2、...、M8として表される一連のモジュールを含む、マイクロアクティビティ認識のためのAIモデル110は、前記フレーム内でキャプチャされた個別のタスクを実行する。本開示の一実施形態では、較正されたフレームは、モジュール110A~110Hを介してAIモジュール110内で処理され、各モジュールは、監視のもとでマイクロアクティビティに関連する特定のアクティビティを識別する。システム100は、マイクロアクティビティおよび品質スコアリングを決定するためにラッパーメイン()関数206を含む。ラッパーメイン()関数206は、ビデオ兼オーディオキャプチャデバイスからの入力とマイクロアクティビティ構成マップツール208からの命令とを受信すると、1つまたは複数のサブモジュール(M1、M2、...、M8)の動作の結果として識別されたマイクロアクティビティを検出することによって作動する。本発明の一実施形態によれば、ラッパー関数は、所与のデータセットの膨大なセットから最も重要で関連のあるマイクロアクティビティを選択することによって、特徴選択を実行する。システム100は、ユーザエンドにおけるカスタマイズを提示するマイクロアクティビティ構成マップツール208を含む。マイクロアクティビティ構成マップツール208は、AIモデル110を訓練するためにモジュール(110A~110H)によって使用されるべきすべての所定の特徴、動作、およびパラメータを含む。本発明の一実施形態によれば、AIモデル110は、マイクロアクティビティを検出するサブモジュール間を連係させるマイクロアクティビティ構成マップツール208によって指示される。ユーザは、特定の予測を行うように訓練するために、モジュールの訓練に固有である動作のユーザ自身のセットを定義することができる。ビデオ分類モジュールは、マイクロアクティビティをN個のクラスに分類し、ここでNは、認識される必要のあるマイクロアクティビティの数である。マイクロアクティビティ構成マップ208は、複数のモジュール210(M1、M2、...、M8)によってキャプチャされたサブタスクを収束させ、ラッパー関数206とともに、AIモデル210の出力を処理する。バイナリ正方形基準マーカー212(ArUco(商標)マーカーとして知られている)は、DMモジュール110Gである。DMモジュール110Gは、最初に、ピクセルからインチへの変換率を計算するために画像フレーム上でArUco(商標)マーキング212を実行することによって画像フレーム内のキャプチャされたオブジェクトの座標を測定する。それゆえ、DMモジュール110Gは、オブジェクト座標およびピクセルからインチへの変換に基づいてオブジェクトサイズを計算する。システム100は、マイクロアクティビティ検証ツール214を含む。マイクロアクティビティ検証ツール214は、AIモデル110の出力とマイクロアクティビティ構成マップ208からの所定の命令のセットとを受信し、AIモデル110によって行われる予測を確認する。各モジュールの出力は、実行されるマイクロアクティビティの正確な持続時間に対してマッピングされる。
【0023】
マイクロアクティビティ検証ツール214は、シーケンス検証214A、ツール検証214B、およびマイクロアクティビティの存在/不在214Cのような重要な特徴を実行するように構成される。これらの重要な特徴の検出に基づいて、検証ツール214は、各マイクロアクティビティに重み付けを割り当てる。各マイクロアクティビティに割り当てられた重み付けは、マイクロアクティビティを実行する間の正しいツール使用および正しいツール取り扱いに基づく。シーケンス検証214A、ツール検証214B、およびマイクロアクティビティの存在/不在214Cに割り当てられた重み付けは、品質スコアリングモジュール216に供給される。累積品質スコアが、事前訓練済みAIモデル110を介して検出されたアクティビティに対して品質スコアリングモジュール216によって生成され、続いて、検証ツール214によって確認/検証される。このようにして生成された品質スコアが、スコアカード218内にキャプチャされ、コンピュータ可読フォーマットで記憶される。スコアカード218は、アクティビティ内で関連するオペレータ(たとえば、タスク/アクティビティを実行する人)、アクティビティクラス、アクティビティ内で関連する複数のマイクロアクティビティの詳細、の完全な詳細を効果的にキャプチャする。AIアクティビティ訓練の結果として生成されたスコアカード218は、実時間フィードバックにプロンプトおよび査定を与える。それにもかかわらず、正しいツール使用もまた、マイクロアクティビティを実行するオペレータの安全を確実にする。
【0024】
図3は、本開示のいくつかの実施形態による、監視のもとでタスク内で関与するマイクロアクティビティを記録、識別、およびスコアリングするための例示的な方法のフロー図である。
【0025】
次に、本開示の方法300のステップが、
図1~
図8に示されるようにシステム100の構成要素またはブロックを参照しながら説明される。プロセスステップ、方法ステップ、技法などは一連の順序で説明され得るが、そのようなプロセス、方法、および技法は、代替の順序で働くように構成されてもよい。言い換えれば、説明されるステップの任意のシーケンスまたは順序は、必ずしも、ステップがその順序で実行されるという必須条件を示すとは限らない。本明細書で説明されるプロセスのステップは、任意の実用的な順序で実行され得る。さらに、いくつかのステップは、同時に実行され得る。
【0026】
方法300のステップ302において、1つまたは複数のハードウェアプロセッサ104は、それぞれの画像ビューを一緒に獲得し、人によって実行されるタスクに関連するマイクロアクティビティに焦点を置く視野をカバーすることができる、複数の同期されたビデオ兼オーディオキャプチャデバイスを介してライブビデオストリームを受信するように構成される。受信されたビデオ信号は、処理されるべきピクセルデータの画像ストリームを含む。ビデオ兼オーディオキャプチャデバイスは、ビデオカメラ、単眼強度カメラ、ステレオカメラ、構造化光カメラ、Fairchild CCDカメラ、飛行時間(TOF)カメラ、あるいはビデオレートにおいてビデオ画像信号の正確な生成が可能な、グレースケールもしくは色強度の画像または深度画像をキャプチャすることができる任意の他のカメラ、センサ、またはシステムであり得る。カメラ/ウェブカメラは、一般的に、それがキャプチャするビデオを分析するためのハードウェアを有しない。ビデオの分析処理を処理ユニットにオフロードすることを介して、複数のマイクロアクティビティを含むビデオが分析され得る。いくつかの実施形態では、この分析は、実時間または準実時間で行われる。加えて、取り付けられた処理ユニットは、ストリーミングビデオデータを取り込んで処理するために必要なインフラストラクチャの自動プロビジョニングおよび柔軟なスケーリングを可能にする。加えて、同じエンティティからのビデオストリームが、一緒に分析され得る(たとえば、一店舗内でカメラからカメラに写る人を追跡すること)。
【0027】
方法300のステップ304において、1つまたは複数のハードウェアプロセッサ104は、複数のフレームを取得するためにビデオ兼オーディオキャプチャデバイスから受信されたビデオストリームを復号するように構成される。抽出されたフレームは、ひずみを除去することによってさらに較正され、同時に、ビデオストリームからのオーディオが抽出されて、タスクに関連する音響事象を識別するために処理される。オーディオ抽出は、オーディオを伴うそれらのフレームに対して実行される。抽出されたオーディオは、システム100のオーディオ分析モジュール204において個別に処理される。ビデオ兼オーディオキャプチャデバイスから受信されたビデオは、フレームを取得するために復号される。ビデオストリームから復号された複数のフレームを取得するために前記ビデオストリームを受信して復号するためのインターフェースとして働く取り込みデバイスが提供される。複数のビデオキャプチャデバイスからキャプチャされたビデオは、ビデオストリームをフレームに復号する前に同期される。同期されたビデオが復号され、フレームがマルチスレッディングを使用して抽出され、続いて、フレーム処理のためのバッファ内に記憶される。入力フレームレートは、約20FPS(フレーム毎秒)から約60FPSであり得る。例示的な実装形態では、入力フレームレートは、約30FPSである。ライブビデオストリームから復号されたフレームのサイズは、240p(ピクセル)、360p、480p、720p、1080p、1440p、および2160pから選択され、約240pを含むサイズグループのレートは約30FPSである。復号されたフレームは、ひずみを除去するために少なくとも1つの基準マーカーを適用することによって画像較正のために得られる。基準マーカーは、フレームを復号しながら、画像ひずみを訂正するために使用される。基準マーカーは、基準点または尺度として使用するために作成された画像内に現れる、撮像システムの視野の中に置かれたオブジェクトである。基準マーカーは、被写体の中もしくは上に置かれたものか、または光学機器のレチクル内のマークもしくはマークのセットのいずれかであり得る。ひずみは、カメラ角度によって引き起こされ、基準マーカーを適用することによって一度訂正される必要がある。本開示の一実施形態では、基準マーカーは、バイナリ正方形基準マーカーである。バイナリ正方形基準マーカーは、カメラ姿勢を取得するために対応関係(その4つのコーナー)を提供する。同じく、内部バイナリコード化は、エラー検出および訂正技法を適用することを可能にする。バイナリ正方形基準マーカーは、ArUco(商標)マーカー、幅広の黒い枠線で構成された合成正方形マーカー、およびその識別子(id)を決定する内部バイナリ行列である。黒い枠線は、画像内のその速い検出を容易にし、バイナリコード化は、その識別ならびにエラー検出および訂正技法の適用を可能にする。マーカーサイズは、内部行列のサイズを決定する。ArUco(商標)は、初期フレームのために計算される。オブジェクトの座標が最初に決定され、次いで、ArUco(商標)マーカーの識別が、ピクセルからインチへの変換率を計算するために画像上で行われる。オブジェクトサイズが、ArUco(商標)からオブジェクト座標およびピクセルからインチへの変換に基づいて計算される。
【0028】
方法300のステップ306において、1つまたは複数のハードウェアプロセッサ104は、マイクロアクティビティ識別のために事前訓練済みAIモデル110内のビデオストリームから抽出されたフレームを処理するように構成され、モデルは、前記フレーム内でキャプチャされた個別のタスクを実行する一連のモジュール(M1、M2、...、M8)を含む。AIモデル110を訓練する間、ライブビデオストリームが、複数の同期されたビデオ兼オーディオキャプチャデバイスを介してキャプチャされる。ビデオは、複数のフレームを取得するために復号される。抽出されたフレームは、ひずみを除去するために較正に供される。同時に、オーディオが、タスクに関連する任意の音響事象の識別のためにキャプチャされたビデオから抽出される。復号されたフレームは、記憶媒体内に記憶される。フレームは、オーディオ、ビデオ、または画像の形態のデータを含む。復号されたフレーム内にキャプチャされた少なくとも1つのタスクを表すオーディオ、ビデオ、または画像のデータが、ラベル付きデータセットを取得するために注釈をつけられる。このラベル付きデータセットは、次いで、少なくとも1つのタスクを識別することができるモジュール(M1、M2、...、M8)を含むAIプロセッサに供給される。AIモデルは、画像、オーディオ、またはビデオのデータ内の少なくとも1つのマイクロアクティビティを識別するために、入力データに基づいて訓練されることを可能にされる。訓練済みAIモデル110は、さらに、タスクの順序付けおよびマイクロアクティビティ認識を実行するために使用される。それゆえ、複数のモジュール(M1、M2、...、M8)を介する事前訓練済みAIモデル110は、フレーム内でキャプチャされた個別のタスクを識別し、モジュールの各々は、人間動作認識のみならず特定のオブジェクト検出にも貢献している。ビデオ分類モジュール、オーディオ分析(AA)モジュール、ハンドジェスチャー(HG)モジュール、姿勢推定モジュール、および占有ハンドモジュールなどの少数のモジュールが、人間動作を認識するために訓練され、オブジェクトハンド関連付け(OHA)、光学式文字認識(OCR)、および寸法測定(DM)などの少数のモジュールが、オブジェクトおよびアクティビティを識別するために訓練される。少なくとも1つのマイクロアクティビティが、前記モジュールの出力と抽出されたオーディオとを組み合わせることによって決定される。マイクロアクティビティは、事前訓練済みAIモデル110内のオーディオおよびビデオの入力を処理した結果として検出されており、少なくとも1つのマイクロアクティビティを検出するために構成アクティビティマップツールによって誘導される。構成マップツールは、マイクロアクティビティを検出するAIモデル110のモジュール間を連係させる。各モジュールの出力は、実行されるマイクロアクティビティの正確な持続時間に対してマッピングされる。マイクロアクティビティ構成マップツールは、AIモデルを訓練するためにモジュールによって使用されるべきすべての所定の特徴、動作、およびパラメータを含む。マイクロアクティビティ構成マップツールは、ユーザエンドにおいてカスタマイズ可能である。ユーザは、特定の予測を行うように訓練するために、モジュールの訓練に固有である動作のユーザ自身のセットを定義することができる。ビデオ分類モジュールは、マイクロアクティビティをN個のクラスに分類し、ここでNは、認識する必要のあるマイクロアクティビティの数である。マイクロアクティビティが正しいことを検証するために、我々は、ハンドジェスチャー認識、姿勢推定、および占有ハンド検出のような他のモジュールを使用する。確認されたアクティビティは、マイクロアクティビティの順序付けをチェックするために使用される。ODAモジュールは、アクティビティの間に正しいツール使用を検出するために使用される。HG認識は、アクティビティを実行している間に正しいツール取り扱いを検出するために使用される。
【0029】
マイクロアクティビティの各々は、上記のようにモジュール(SM)の関数であり、前記マイクロアクティビティ(μAi)は、
【0030】
【0031】
として定義され、ここでδi, j=0または1は、4つのマイクロアクティビティに対するサンプルアクティビティマップを表す以下の構成のTable-1(表1)に基づく。数字1は、特定のマイクロアクティビティが発生しており、特定のモジュールを使用して分析されるべきであることを示す一方で、数字0は、特定のモデルを代表するアクティビティは発生していないので特定のモデルの寄与はないことを示す。マイクロアクティビティに基づいて、特定のモジュールがアクティブ化され、組合せμAiは、モジュール推定の組合せに基づいてマイクロアクティビティクラスに関する決定を表す。
【0032】
【0033】
スイッチは、オンオフメカニズムを与えられ、そのメカニズムは、マイクロアクティビティ構成マップによってトリガされ、カメラ/画像キャプチャデバイスから受信された入力に基づいて特定のモジュールが活性化されることを可能にする。
【0034】
カメラ/画像キャプチャデバイスからの入力と、マイクロアクティビティ構成マップツールからの命令とを受信すると、1つまたは複数のモジュールの動作の結果として検出されたマイクロアクティビティを決定するラッパー関数が提供される。ラッパー関数は、所与のデータセットの膨大なセットから最も重要で関連のあるマイクロアクティビティを選択することによって、特徴選択を実行する。ラッパー関数は、前方選択、後方消去、および双方向消去など、任意の知られているラッパー法から選択される。マイクロアクティビティ検出を実行するモジュールは、すべての場合に特定のアクティビティ訓練を回避する。これは、新しいアクティビティに適応するための解決策に役立ち、大量のビデオなどへの依存状態を有しない。
【0035】
方法300のステップ308において、1つまたは複数のハードウェアプロセッサ104は、複数の所定の条件に基づいてマイクロアクティビティを検証するように構成される。所定の条件は、システム内のユーザによって定義されるパラメータに基づいて特定のマイクロアクティビティを識別するためのチェックポイントを提供する。
【0036】
方法300のステップ310において、1つまたは複数のハードウェアプロセッサ104は、認識された各マイクロアクティビティに重み付けを割り当て、タスクを実行する人の累積実績スコアを計算するように構成される。方法は、ユーザエンドにおいて重み付けの割り当てをカスタマイズするためのオプションを提供する。累積品質スコアは、AIモデル110を介して検出され、続いて確認/検証されたアクティビティに対して計算される。本発明のプロセスに従って検出されて確認された1つまたは複数のマイクロアクティビティは、アクティビティが人によってどれほどうまく実行されるかの感触を与えることを意味する品質スコアを評価される。ユビキタスコンピューティングシナリオにおける人間アクティビティ認識アプリケーションの方法は、アクティビティの品質を評価することに着目することを必要とし、それは、関心のあるアクティビティを単に識別することを超える。客観的品質評価は、しばしば、達成が困難で数値化が難しく、一般的に、総合評価を偏らせて一般化を制限する、領域固有の背景情報を必要とする。アクティビティ認識におけるスキル評価に対するフレームワークは、人間アクティビティの自動品質分析を可能にする。アクティビティを実行する間に関与する重要な特徴に基づいて、検証ツールは、シーケンス検証、ツール検証、およびマイクロアクティビティの存在/不在を確認し、検証ツールによるそのような確認は、さらに、各マイクロアクティビティに重み付けを割り当てることを伴う。各マイクロアクティビティに割り当てられた重み付けは、マイクロアクティビティを実行する間の正しいツール使用および正しいツール取り扱いに基づく。重み付けの割り当ては、ユーザエンドにおいて設定可能である。ユーザによって識別された重要性に基づいて重み付けが設定され得、それに応じて品質スコアが生成され得る。累積品質スコアは、AIモデル110を介して検出され、続いて、検証ツールによって確認/検証されたアクティビティに対して計算される。間違ったツール使用が検出されたとき、間違ったツール取り扱いが検出されたとき、または間違ったアクティビティ順序付けが検出されたときはすぐに、ペナルティが差し引かれる。総合品質スコアは、ペナルティ割り当てによって悪影響を受ける。
【0037】
マイクロアクティビティスコアリングのための方法のステップは、以下で説明されるように、
a) それぞれの画像ビューを一緒に獲得し、人によってもしくは機械が事前訓練されることによって実行されるタスクに関連するマイクロアクティビティに着目する視野をカバーすることができる複数の同期されたビデオ兼オーディオキャプチャデバイスを介してライブビデオストリームを受信する。
b) 複数のフレームを取得するためにビデオ兼オーディオキャプチャデバイスから受信されたビデオストリームを復号する。さらに、ひずみを除去するためにフレームを較正する。同時に、オーディオが、タスクに関連する音響事象を識別するために、ビデオストリームから抽出されて処理される。
c) 抽出されたフレームは、マイクロアクティビティ認識のために事前訓練済みAIモデル内で処理するための入力であり、前記AIモデルは、前記フレーム内でキャプチャされた個別のタスクを実行する一連のサブモジュールを含む。
d) 前記サブモジュールの出力および抽出されたオーディオは、識別されたマイクロアクティビティを決定する。
e) 検出されたマイクロアクティビティは、複数の所定の条件に基づいて確認される。
f) 重み付けが、認識された各マイクロアクティビティに対して割り当てられ、タスクを実行する人の累積実績スコアが導出される。
g) 累積実績スコアが、コンピュータ可読フォーマットで記憶される。
【0038】
方法300のステップ312において、1つまたは複数のハードウェアプロセッサ104は、コンピュータ可読フォーマットにおけるスコアカードの形態で実績スコアを記憶するように構成される。スコアカードは、アクティビティ内で関連するオペレータ(たとえば、タスク/アクティビティを実行する人)、アクティビティクラス、複数のマイクロアクティビティの詳細、の完全な詳細を効果的にキャプチャする。スコアカードは、さらに、マイクロアクティビティが正しく行われたかどうか、どんな種類の異常がアクティビティを実行する間に識別されたかについての詳細を提供する。スコアカードは、同じく、マイクロアクティビティ(正しく行われたかどうかに関わらず)が検出されたビデオ持続時間内の時間をキャプチャする。AIアクティビティ訓練の結果として生成されたスコアカードは、実時間フィードバックにプロンプトおよび査定を与える。方法300のステップ314において、1つまたは複数のハードウェアプロセッサ104は、タスクに対して生成されたスコアカードを記憶するように構成される。スコアカードは、コンピュータ可読フォーマットで生成されて記憶される。スコアカードは、アクティビティ内で関連するオペレータ(たとえば、タスク/アクティビティを実行する人)、アクティビティクラス、複数のマイクロアクティビティの詳細、の完全な詳細を効果的にキャプチャする。それゆえ、複数のモジュールを介するAIモデルは、マイクロアクティビティを効果的に検出する。方法は、同じく、(a)ツールのゾーンマッピング、(b)トラックおよびタッグユニットID(ねじidなど)、(c)ツールを保持している間に安全なジェスチャーを確保するための指の間の角度測定などのようなビデオ処理アルゴリズムを、監視のもとでタスクに関連する複数のマイクロアクティビティを識別している間に方法をロバストにするためのAIモデルとともに包含する。スコアカード生成のステップは、以下のように記述される。
a) それぞれの画像ビューを一緒に獲得し、人によって実行されるタスクに関連するマイクロアクティビティに着目する視野をカバーすることができる複数の同期されたビデオ兼オーディオキャプチャデバイスを介してライブビデオストリームを受信する。
b) 複数のフレームを取得するためにビデオ兼オーディオキャプチャデバイスから受信されたビデオストリームを復号する。さらに、ひずみを除去するためにフレームを較正する。同時に、オーディオが、タスクに関連する音響事象を識別するために、ビデオストリームから抽出されて処理される。
c) 抽出されたフレームは、マイクロアクティビティ認識のために事前訓練済みAIモデル内で処理するための入力であり、前記AIモデルは、前記フレーム内でキャプチャされた個別のタスクを実行する一連のサブモジュールを含む。
d) 前記サブモジュールの出力および抽出されたオーディオは、識別されたマイクロアクティビティを決定する。
e) 検出されたマイクロアクティビティは、複数の所定の条件に基づいて確認される。
f) 重み付けが、認識された各マイクロアクティビティに対して割り当てられ、タスクを実行する人の累積実績スコアが導出される。
g) 累積実績スコアが、コンピュータ可読フォーマットで記憶される。
【0039】
図4は、本開示のいくつかの実施形態による、ビデオ分類モジュール(M2)からのアクティビティ識別のステップを示す。
【0040】
図示のように、ステップ402において、ビデオ分類モジュール110Bは、監視のもとでタスクを実行する人のビデオストリームを受信する。404において、フレームのバッチが、ビデオストリームから抽出される。フレーム抽出のバッチは、空間情報と時間情報の両方の抽出をもたらす。フレームのバッチは、ビデオ推定のために使用される。バッチ内のフレームの数は設定可能であり、モニタされるマイクロアクティビティのタイプに従って調整され得る。406において、抽出されたフレームのバッチが、前処理に供される。前処理では、変換が、推定に適したデータにするためにフレームのバッチに適用される。前処理は、処理されたフレームのバッチをもたらす。408において、ビデオ推定が、処理されたフレームのバッチ上で実行される。ビデオ推定は、タスク内で関与する複数のマイクロアクティビティを識別することを伴う。410において、後処理が、複数のモジュールによって取得された個々の推定に適用される。複数のモジュールは、タスクに関連する少なくとも1つのマイクロアクティビティを予測する。さらに、後処理は、複数のフレームのバッチ内でキャプチャされたタスク内で関連する複数のマイクロアクティビティを識別することによって、ビデオ分類モジュール110Bの出力を準備することを伴う。
【0041】
図5は、本開示のいくつかの実施形態による、監視のもとでタスク内で関連する複数のマイクロアクティビティをスコアリングするために一般化された方式を示す。システム100は、マイクロアクティビティ認識に関連する各モジュールに個々のスコアを割り当てるように構成される。提案される方法は、マイクロアクティビティ認識のために複数のモジュールを使用するので、すべてのモジュールの出力は、正確な持続時間において正しいアクティビティでマッピングされる必要がある。時間に関してそれぞれのモジュールによって認識されたマイクロアクティビティの各々に対して、ログが生成される。それゆえ、そのように生成されたログは、すべてのモジュールについてのマッピングされた情報を有する。ステップ502において、スコアリングが、個々のモジュール(M1、N2、...、M8)によってキャプチャされた複数のマイクロアクティビティのマッピングされた出力ログを取得することによって開始する。ステップ504において、複数のマイクロアクティビティの正しいシーケンスをチェックするために、ビデオ分類モジュールの予測されたアクティビティが、グラウンドトゥルースリストと比較される。ステップ506において、システム100は、条件チェックを実行する。ビデオ分類モジュール110Bの予測される結果がグラウンドトゥルースリストとマッチする場合、システム100はペナルティを課さず、さらなるアクティビティが、正しいツール使用および正しいツール取り扱いのためにチェックされる。しかしながら、同じステップ506において、ビデオ分類モジュール110Bの予測される結果がグラウンドトゥルースリストとマッチしない場合、システム100はペナルティを課し、一定の所定のスコアが差し引かれる。所定のスコアは、マイクロアクティビティの感受性および重要性に基づいて、ユーザエンドにおいてカスタマイズされ得る。さらに、ステップ508において、システム100は、正しいツール使用を使用しないことに対してペナルティを課す。それに応じて、スコアが、ツールの間違った使用の各々に対して差し引かれる。しかしながら、正しいツールの使用の各々に対して、正のスコアが生成される。さらに、ステップ510において、システム100は、正しいツール取り扱いを有しないことに対してペナルティを課す。それに応じて、スコアが、ツールの間違った取り扱いの各々に対して差し引かれる。しかしながら、正しいツールの取り扱いの各々に対して、正のスコアが生成される。最後に、システム100は、正しいツール使用および正しいツール取り扱いに対する個々のスコアのすべてを加算することによって、ならびに複数のモジュールに課されたすべてのペナルティを差し引くことおよび間違ったツール使用と間違ったツール取り扱いとを差し引くことによって、総合スコアを生成する。
【0042】
使用事例-I
梱包産業における梱包作業のマイクロアクティビティ識別
図6を参照すると、梱包産業セットアップにおける適切な梱包作業の実行に関するマイクロアクティビティ認識のシステムおよび方法が提示される。梱包産業セットアップにおける梱包作業に対する開示されたシステム100によって実行されるマイクロアクティビティ認識の方法を示す例示的なシナリオが、以下で説明される。標準的な教師あり機械学習を使用する梱包タスクの認識は、観察されたデータが、荷造りする品目の数、品目のサイズ、および他のパラメータ次第で大幅に変動するので、困難である。この研究では、配送ボックスを組み立てるときに荷造りテープを伸ばす動作、テープを保持する動作、特定の品目を荷造りするための一連のアクティビティなどの特定の作業において発生する、特徴的で必須の動作(運動)に、焦点が置かれる。マイクロアクティビティは、梱包タスクを実行しかつ梱包のステップが適切に行われることを確実にしながら、人のオペレータによって遂行される。
【0043】
ハードウェアセットアップ: 動作を記録するために2つのカメラ(カム1およびカム2)が使用される。両カメラは、いくつかのアクティビティステップを確認するために使用され得るオーディオ信号を記録するために、マイクロフォンを装備されている。画像をキャプチャするための記録速度は、30FPSであった。カメラの焦点は、手動で調整された。
【0044】
重要なステップが識別され、オペレータによって守られることを必要とされる。
1. 梱包空間を準備する(μActivity 1)
2. 荷造りされる製品を測定する(μActivity 2)
3. 製品に対する正しいボックスを選択する(μActivity 3)
4. バブルラップ、エアバッグなどの中に詰め込むことによって保護する(μActivity 4)
5. ボックスを封止する(μActivity 5)
6. 宛名のラベルを貼る(μActivity 6)
【0045】
マイクロアクティビティの識別は、AIモデルを訓練するために必要である。タスク/アクティビティ内で関連するマイクロアクティビティおよびそれらの分類をより詳細に述べることは、予測を立てるサブモジュールのより良好な選択を提供する。上記でリストアップされた各アクティビティに基づいて、特徴抽出が、以下のTable-2(表2)にリストアップされた梱包作業、アクティビティのシーケンス、正しいツール使用、および正しいツールの取り扱いを実行しながら、関与するマイクロアクティビティを識別することによってステップ604において実行される。
【0046】
図6に示すように、システム100は、アクティビティをキャプチャするために2つのカメラ(カム1およびカム2)を含む。両カメラは、ライブビデオストリームをキャプチャするために同期される。ステップ602において、第1のカメラ(カム1)から受信された入力は、フレーム抽出および較正を行われ、AIモデルの3つのサブモジュールに送られる。第1のカメラから抽出されたフレームは、ビデオ分類モジュール、オブジェクトハンド関連付けモジュール(OHA)、およびオーディオ分析モジュール、続いてArUco(商標)マーキングにおいて処理される。一度に行われて記録されるいくつかのアクティビティから、少なくとも2つの信頼確率を有するアクティビティが、識別されるべきマイクロアクティビティとしてキャプチャされる。さらに、AIモデルから識別されたアクティビティは、アクティビティ検証のために送られ、ここでアクティビティ検証ツールは、シーケンス検証も含むアクティビティの発生を確認するためにいくつかのチェックポイントを適用する。AIモデルは、たとえば、ArUco(商標)マーキングとともに活性化された正しいツール使用、オブジェクトハンド関連付けモジュール(OHA)、およびオーディオ分析モジュールを検出するために、識別されたアクティビティに基づいてサブモジュールの自動活性化を提示される。同様に、ステップ604において、第2のカメラ(カム2)から受信された入力は、フレーム抽出および較正を行われ、AIモデルの別の3つのサブモジュールに送られる。第2のカメラから抽出されたフレームは、ハンドジェスチャー認識モジュール、姿勢推定、および占有ハンド検出において処理された。AIモデルは、たとえば、ペンの検出、正しいラップ、正しい宛名マーキング、封止、ラベリングなどのようなアクティビティの間に、正しいツール取り扱いと、オブジェクトハンド関連付けモジュール(OHA)と、正しいツール使用の検出に使用される占有ハンド検出モジュールとを検出するために、識別されたアクティビティに基づいてこれらの3つのサブモジュールの自動活性化を提示し、知られている寸法ArUco(商標)コードが、製品サイズおよびボックスサイズを測定するために置かれる。さらに、ハンドジェスチャーおよび姿勢推定モジュールが、ラッピング中の手の動き、ラッピングが行われた回数、宛名の二重チェックなどをチェックするために、正しいツール取り扱いを検出するために使用される。最後に、光学式文字認識モジュールが、宛名の配置をチェックするように構成される。ステップ606において、上記でリストアップされた各アクティビティに対して、アクティビティ確認チェックが、正しいツールが使用されており、ツールが適切に取り扱われているかどうかをチェックするために遂行される。同様に、ステップ608において、確認されたアクティビティが、シーケンス検証のために1つまたは複数のチェックを行われ、さらなるスコアが、アクティビティ順序付けに提供される。ステップ610において、識別されたアクティビティは、2つの異なるカメラからキャプチャされ、選択的サブモジュールにおいて処理され、かつ累積品質スコア計算に供され、スコアカードが、実時間フィードバックを提供するために生成される。事前訓練済みAIモデルによって行われた予測に基づいて、梱包に関与するマイクロアクティビティが識別されて確認され、最後に、スコアカードが、タスクを実行するオペレータの詳細ならびにマイクロアクティビティの存在/不在を、品質スコアとともにキャプチャすることによって生成され、CSVフォーマットまたは表形式でコンピュータ内に記憶される。生成されたスコアカードが、
図7に示される。
【0047】
品質スコアリング行列: 累積品質スコアが、様々なモジュールを含む事前訓練済みAIモデルを介して検出されたアクティビティに対する品質スコアリング行列によって生成される。このようにして生成された品質スコアが、スコアカード内にキャプチャされ、コンピュータ可読フォーマットで記憶される。品質スコアリング行列は、ユーザエンドにおいて構成の柔軟性を提示する。アクティビティの重み付けが、関連する重要性に基づいてユーザによって定義され得る。例示的な品質スコアリング行列は、以下のように提示される。
1. サブタスクの存在および不在。重み付け30%(設定可能)
スコア値[1]=(間違って行われたステップの数)/ステップの総数(たとえば、12個のステップがあってすべてのステップが存在する場合、スコア値[1]は12/12=1となる。しかし、2つのアクティビティが失われる場合、スコア値[1]は10/12となる)
2. サブタスクのシーケンス。重み付け25パーセント(設定可能)
スコア値[2]=(間違って行われたシーケンスの数)/シーケンスの総数
3. 正しいツール使用。重み付け25パーセント(設定可能)
スコア値[3]=(間違って使用されたツールの数)/ツールの総数
4. ツールの取り扱い。重み付け20パーセント(設定可能)
スコア値[4]=クリック音が聞こえた 1 聞こえなかった 0
最終のスコアリング: (スコア値[i]×重み付け)の合計/すべての重みの合計
【0048】
スコアリング行列では、スコアの合計は0と1との間で変動し、アクティビティが正しく実行されない場合、それは0であり、すべてが適切に行われる場合、それは1である。各モジュールに与えられる重み付けは、設定可能である。すべてのモジュールの重み付けの合計は、100にならなければならない。この使用事例では、重み付けは、以下のように考慮される。
○ ビデオ分類: 40
○ 正しいツール使用: 30
○ 正しいツール取り扱い: 30
○ アクティビティの総数=6
○ 使用されたツールの総数=11
○ 正しいツール取り扱いがチェックされたアクティビティの総数=4
○ 以下のシナリオは、ユーザが梱包空間を準備することを忘れ、測定のための定規を正しく設置しなかった場合に生成されるスコアを提示する。
【0049】
【0050】
それゆえ、正しいツール使用および正しいツール取り扱いに基づいて監視のもとでオペレータによって遂行された梱包タスクに対するスコアは、0.853になる。スコアカードは、実行されたタスクの詳細な分析を与える。
【0051】
使用事例-II
正しいツール使用および正しいツール取り扱いによるラップトップ組立におけるアクティビティ順序付けの検証
ラップトップの組み立てに対して開示されるシステム100によって実行されるマイクロアクティビティ認識の方法を示す例示的なシナリオが、
図8を参照しながら説明される。ラップトップ組立作業の間のマイクロアクティビティ識別に対して、前に訓練されたAIモデル110が、ラップトップ組立のビデオストリーム入力を受信するために統合される。AIモデルは、ラップトップ組立作業に関連するマイクロアクティビティを識別するために訓練される。アクティビティのシーケンス、正しいツール使用、および正しいツールの取り扱いは、Table-3(表3)にリストアップされたとおりである。
【0052】
ラップトップ組立タスクを実行するオペレータは、アクティビティをキャプチャするために設置されたカメラのセットを介してライブビデオストリームをキャプチャすることによって監視のもとで設定される。ステップ802において、カメラ-1およびカメラ-2を介してキャプチャされたビデオストリームは、ビデオ取り込みデバイスにおいて処理されてシーンの複数のフレームを取得するために同期される。すべてのカメラからのビデオが取り込まれる。フレームの数およびそれらの発生時間は、変動するFPS(フレーム毎秒)の場合には変動するので、すべてのビデオの同期は、同じFPSを維持するために実行される。これは、実行されるアクティビティが、正しいツール使用および正しいツール取り扱いと重複しないので、間違った出力につながる。すべてのカメラに関連する入力バッファが存在する。すべてのバッファは入力FPSサイズであり、マルチスレッド化される。ステップ804において、同期されたビデオの1つのスレッド(スレッド1)が、第1の入力バッファとして処理され、オブジェクトハンド関連付けモジュール(OHA)110Aおよびビデオ分類モジュール110Bに供給される。110Aおよび110Bはともに、正しいツール使用に焦点を置き、同期されたビデオの入力スレッドに基づいて正しいツールの使用を推定する。同様に、ステップ806において、同期されたビデオの別のスレッド(スレッド2)が、第2の入力バッファとして処理され、オブジェクトハンド関連付けモジュール(OHA)110Aおよびビデオ分類モジュール110Bに供給される。110Aおよび110Bはともに、正しいツール使用に焦点を置き、同期されたビデオの入力スレッドに基づいて正しいツールの使用を推定する。マイクロアクティビティのマルチカメラ識別のこの種の手法は、AIモデル110を介して密接な監視と正確な認識とを提示する。ビデオ分類モジュール110Bは、時空間データを分類するために使用される。モデルは、効率的な3Dネットワークを使用して訓練される。スライド窓手法が、訓練されるべきデータを準備するために使用される。この手法では、入力ビデオが、アクティビティクラスに従って1~数秒に分割される。さらに、フリッピング、回転、ジッタのようなビデオ変形が、訓練データセットの中に様々な例を含めるために適用される。モデルは、12個のアクティビティクラスに対して訓練され、ビデオは、30秒の重複を伴って毎秒推測される。ステップ808において、ハンドジェスチャーモジュール110Dおよび姿勢推定110Eが、アクティビティの間に実行されたジェスチャーを検証するために使用される。この使用事例に対して、使用されるジェスチャーは、ねじを締めること、ねじを緩めること、ねじ回しの保持位置、ラップトップの後ろカバーの保持位置である。手のキーポイントが、両手に対してメディアパイプを使用して検出される。第1および第2のカメラからキャプチャされたビデオストリームは、アクティビティ分類に使用される。訓練データが、ビデオから特定のハンドジェスチャーに対するフレームを抽出することによって準備される。手のキーポイントは、訓練に使用される複数のビデオから各ジェスチャーに対して抽出される。カスタマイズされた深層学習モデルが、キーポイントの分類のために使用される。同様に、2つの異なる手法が、両カメラからオブジェクトハンド関連付けを計算するために使用される。手とオブジェクトの相互作用が、IOU(Interaction over union)を使用して識別される。IOUは、オブジェクトハンド関連付けモジュール(OHA)によって検出されたオブジェクトの境界ボックス間で計算される。手は、アクティビティの間に複数のオブジェクト上で移動しているので、偽陽性もキャプチャされる。これは、さらに、占有ハンドモデル110Hによって第2のカメラを使用して確認され、これは、手がオブジェクトを保持しているかどうかを検証する。110Dおよび110Hのモジュールによってマッピングされたマイクロアクティビティが、Table-4(表4)に提示される。オブジェクトハンド関連付けモジュール110Aは、オブジェクトハンド関連付けモジュール(OHA)を使用して品目を検出する。ラップトップ組立作業に対して検出されたオブジェクトは、ねじ、ねじ回し、後ろカバー、送風機、ハードディスク、テーブル、およびRAMである。YOLOv4(1段階オブジェクト検出器)が、オブジェクト検出に使用される。スコアが、グラウンドトゥルース動作と、マイクロアクティビティを実行する間に発生する実際の動作とに基づいて生成される。最後に、ゾーンごとの検証が、オブジェクトの異なる側面から実行される。上部カメラからの視野が、ラップトップに関して右と左のゾーンに分割される。オブジェクトハンド関連付けモジュール(OHA)を使用して、すべてのオブジェクトが識別される。右と左のゾーンは、ラップトップに関して生成される。ゾーンの面積が、各側面から最も近いオブジェクトおよび最も遠いオブジェクトの境界ボックス座標を使用して割り当てられる。テーブルのどの側面からオブジェクトが拾われているかをチェックするために、我々は、アクティビティの間にゾーンのどの側面からオブジェクトが見えなくなっているかをチェックする。これを識別するために、ゾーンとオブジェクトとの間のIOUが計算される。ビデオ分類モジュールおよびオブジェクトハンド関連付けモジュール(OHA)が、並列に推測される。ビデオ分類モジュールの出力に基づいて、OCR(110F)、オーディオ(110C)、およびハンドジェスチャー(110D)のような他のモジュールがトリガされる。ここで、アクティビティ順序付けが、ビデオ分類モジュールによって検証される。OHA(110H)、OCR(110F)、オーディオ分析(110C)、およびArUco(商標)が、正しいツール使用の検証において使用され、ハンドジェスチャー(110D)および姿勢推定(110E)が、正しいツール取り扱いに対して使用される。異なるモジュールが、視点に基づいて異なるカメラアングルを使用しているので、アクティビティが正しいツール使用および正しいツール取り扱いで実行されるばかりでなく、正しいシーケンスで実行されることを検証するために、すべてのモジュールの出力が、正確な持続時間においてマッピングされる。ラップトップ組立作業で使用されるすべてのアクティブモジュールの個々のスコアが、Table-4(表4)に提示される。
【0053】
【0054】
【0055】
【0056】
ラップトップ組立作業のスコアリング: スコアの合計は、0と1との間で変動する。アクティビティが正しく実行されない場合、それは0であり、すべてが適切に行われる場合、それは1である。各モジュールに与えられる重み付けは、設定可能である。すべてのモジュールの重み付けの合計は、100にならなければならない。この使用事例では、重み付けは以下のように割り当てられる。
・ ビデオ分類: 30
・ ハンドジェスチャー: 20
・ ハンドオブジェクト関連付け: 20
・ 姿勢推定: 20
・ オーディオ: 10
【0057】
ビデオ分類モジュール、ハンドジェスチャーモジュール、占有ハンドモジュール、姿勢推定モジュール、およびオーディオ分析モジュールの個々のスコアリングに基づいて、システム100に基づくアクティビティのスコアの合計は、0.86として割り当てられる。
【0058】
システム100によって提案されるマイクロアクティビティ識別は、アクティビティ/タスクの実行に関与する人の監視、アクティビティ/タスクの実行に関与するロボット、共同ロボット、ヒューマノイドなどの監視など、複数のマイクロアクティビティが同時に発生する複雑な実世界に対して好適である。
【0059】
記述された説明は、当業者が実施形態を作成して使用することを可能にするために、本明細書の主題を説明する。主題の実施形態の範囲は、特許請求の範囲によって定義され、当業者が想到する他の修正形態を含み得る。そのような他の修正形態は、それらが本特許請求の範囲のリテラル言語と違わない同様の要素を有する場合、またはそれらが本特許請求の範囲のリテラル言語とわずかな差異で同等の要素を含む場合、本特許請求の範囲の範囲に入ることが意図されている。
【0060】
本明細書の本開示の実施形態は、マイクロアクティビティ識別の未解決の問題、その効果的なキャプチャ、ならびに事象の実時間フィードバックを提供する品質スコアリングに対処する。したがって、実施形態は、AIモデルが様々なタイプのマイクロアクティビティに基づいて入力を処理する効果的な方法を提示する、迅速な解決策を提供する。マイクロアクティビティに関与しているオブジェクトの寸法を検出する特定のモジュールと結合された基準マーキングが、ツール選択および取り扱いについての正確な予測を提供する。検出された各マイクロアクティビティに割り当てられたスコアリング関数および設定可能なスコアリング行列のオプションが、オペレータの実時間フィードバックが品質スコアとともに取得され得る極めて信頼できるシステムを提供する。
【0061】
保護の範囲は、メッセージをその中に有するコンピュータ可読手段に加えて、そのようなプログラムにまで拡張され、プログラムがサーバもしくはモバイルデバイスまたは任意の適切なプログラマブルデバイス上で動作するとき、そのようなコンピュータ可読記憶媒体は、方法の1つまたは複数のステップの実施のためのプログラムコード手段を含有する。ハードウェアデバイスは、たとえば、サーバもしくはパーソナルコンピュータなど、または任意のそれらの組合せのような任意の種類のコンピュータを含む、プログラムされ得る任意の種類のデバイスであり得る。また、デバイスは、たとえば特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)のようなハードウェア手段、またはたとえばASICおよびFPGAのようなハードウェアとソフトウェアの手段の組合せ、またはソフトウェア処理構成要素がその中に置かれる少なくとも1つのマイクロプロセッサおよび少なくとも1つのメモリであり得る手段を含み得る。したがって、手段は、ハードウェア手段とソフトウェア手段の両方を含むことができる。本明細書で説明される方法実施形態は、ハードウェアおよびソフトウェアで実装され得る。デバイスも、ソフトウェア手段を含み得る。代替的に、実施形態は、たとえば、複数のCPUを使用して異なるハードウェアデバイス上に実装され得る。
【0062】
本明細書の実施形態は、ハードウェアおよびソフトウェアの要素を含むことができる。ソフトウェアで実装される実施形態は、限定はしないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。本明細書で説明される様々な構成要素によって実行される機能は、他の構成要素または他の構成要素の組合せで実装され得る。本説明の目的に対して、コンピュータ使用可能媒体もしくはコンピュータ可読媒体は、命令実行システム、装置またはデバイスによって、またはそれらと接続して使用するためのプログラムを含有、記憶、通信、伝搬、もしくは伝送することができる任意の装置であり得る。
【0063】
図示のステップは、示された例示的な実施形態を説明することを目指しており、進行中の技術的発展が、特定の機能が実行される方式を変化させることが予期されるべきである。これらの例は、例示の目的で本明細書に提示されており、制限するものではない。さらに、機能ビルディングブロックの境界が、説明を便利にするために、本明細書で任意に定義されている。指定された機能およびそれらの関係性が適切に実行される限り、代替の境界が定義され得る。代替形態(本明細書で説明される等価形態、拡張形態、変化形態、偏向形態などを含む)は、本明細書に含有される教示に基づいて、当業者には明らかであろう。そのような代替形態は、開示される実施形態の範囲に入る。同じく、「含む(comprising)」、「有する」、「含有する」、および「含む(including)」という単語、ならびに他の同様の書式は、意味において等価であること、およびこれらの単語のうちの任意の1つに続く品目は、そのような品目の膨大なリストであることを意味していないこと、またはリストアップされた品目のみに制限されることを意味することにおいて制約がないことが意図されている。本明細書で使用されるように、添付の特許請求の範囲では、単数形の「1つの(a)」、「1つの(an)」および「その(the)」は、文脈が別段に明確に示さない限り、複数の参照を含むことにも留意されたい。
【0064】
さらに、1つまたは複数のコンピュータ可読記憶媒体は、本開示に一致している実施形態の実装に使用され得る。コンピュータ可読記憶媒体は、プロセッサによって可読の情報またはデータが記憶され得る任意のタイプの物理メモリに言及する。したがって、コンピュータ可読記憶媒体は、本明細書で説明される実施形態に一致しているステップまたは段階をプロセッサに実行させるための命令を含む、1つまたは複数のプロセッサによる実行のための命令を記憶し得る。「コンピュータ可読媒体」という用語は、有形品目を含むこと、ならびに搬送波および一時的信号を排除すること、すなわち非一時的であることが理解されるべきである。例には、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、CD ROM、DVD、フラッシュドライブ、ディスク、および任意の他の知られている物理記憶媒体が含まれる。
【0065】
本開示および例は、例示のみを考慮されており、本開示の実施形態の真の範囲は、以下の特許請求の範囲によって示されることが意図されている。
【符号の説明】
【0066】
100 システム
102 データ記憶デバイス、メモリ
104 プロセッサ
106 入力/出力(I/O)インターフェース
108 ビデオおよびオーディオ入力
110 事前訓練済み機械学習モデル
110A オブジェクトハンド関連付け(OHA)モジュールM1
110B ビデオ分類モジュールM2
110C オーディオ分析(AA)モジュールM3
110D ハンドジェスチャー(HG)モジュールM4
110E 姿勢推定(PE)モジュールM5
110F 光学式文字認識(OCR)モジュールM6
110G 寸法測定(DM)モジュールM7
110H 占有ハンド(OH)モジュールM8
112 データベース
202 マルチカメラビデオ取り込み
204 オーディオ抽出ユニット
206 ラッパーメイン()関数
208 マイクロアクティビティ構成マップツール
210 モジュール
212 ArUco(商標)マーキング
214 マイクロアクティビティ検証ツール
214A シーケンス検証
214B ツール検証
214C マイクロアクティビティの存在/不在
216 品質スコアリングモジュール
218 スコアカード
300 方法
【外国語明細書】