IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

<>
  • 特表-ビデオ動作の認識および変更 図1
  • 特表-ビデオ動作の認識および変更 図2
  • 特表-ビデオ動作の認識および変更 図3
  • 特表-ビデオ動作の認識および変更 図4
  • 特表-ビデオ動作の認識および変更 図5
  • 特表-ビデオ動作の認識および変更 図6
  • 特表-ビデオ動作の認識および変更 図7
  • 特表-ビデオ動作の認識および変更 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-25
(54)【発明の名称】ビデオ動作の認識および変更
(51)【国際特許分類】
   G06T 7/20 20170101AFI20240718BHJP
   G06T 7/00 20170101ALI20240718BHJP
【FI】
G06T7/20 300
G06T7/00 350C
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023573345
(86)(22)【出願日】2022-05-11
(85)【翻訳文提出日】2023-11-28
(86)【国際出願番号】 CN2022092187
(87)【国際公開番号】W WO2022267728
(87)【国際公開日】2022-12-29
(31)【優先権主張番号】17/304,600
(32)【優先日】2021-06-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】イン、クーニャン
(72)【発明者】
【氏名】チャン、ホンビン
(72)【発明者】
【氏名】リー、ファン
(72)【発明者】
【氏名】チャン、ハオ
(72)【発明者】
【氏名】シャオ、ワン
(72)【発明者】
【氏名】リュウ、シュエピン
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096BA20
5L096DA02
5L096FA09
5L096FA64
5L096FA66
5L096FA67
5L096FA69
5L096GA17
5L096GA30
5L096HA11
5L096JA11
5L096JA22
5L096KA04
(57)【要約】
ビデオ動作認識を実施するためのシステム、方法およびコンピュータ・プログラム製品が提供される。この方法は、ユーザ運動動作を含むビデオ・ストリームを受け取ることを含む。ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点を抽出し、多数のデジタル・レベルに関してカテゴリ分類する。ビデオ・フレーム内で初期視覚窓点を生成し、ビデオ・フレームに関して一群の骨格点の平均移動距離を決定する。応答して、視覚窓のサイズを調整し、一群の骨格点から特徴ベクトルを抽出する。骨格点の点座標を抽出し、特徴ベクトルにリンク付けする。特徴ベクトルを点座標にリンク付けすることに関連した畳み込みニューラル・ネットワークを生成し、ビデオ・ストリームの正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にする。
【特許請求の範囲】
【請求項1】
コンピュータ可読メモリ・ユニットに結合されたプロセッサを含むハードウェア・デバイスであって、前記メモリ・ユニットが、前記プロセッサによって実行されたときにビデオ動作の認識および変更方法を実施する命令を含み、前記方法が、
前記プロセッサによって、ユーザ運動動作を含むビデオ・ストリームを受け取ること、
前記プロセッサによって、前記ビデオ・ストリームから、複数のセンサを介して、前記ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点を抽出すること、
前記プロセッサによって、多数のデジタル・レベルに関して、前記骨格点をカテゴリ分類すること、
前記プロセッサによって、前記ビデオ・ストリームの複数のビデオ・フレーム内の前記骨格点のうちの一群の骨格点を取り囲む初期視覚窓を生成すること、
前記プロセッサによって、前記複数のビデオ・フレームに関して、前記一群の骨格点の平均移動距離を決定すること、
前記決定の結果に応答した前記プロセッサによって、前記複数のビデオ・フレームの各々に関して、前記視覚窓のサイズを調整すること、
前記調整の結果に応答してスケール不変特徴変換(SIFT)コードを実行している前記プロセッサによって、前記一群の骨格点の特徴ベクトルを抽出すること、
OpenPoseコードを実行している前記プロセッサによって、前記骨格点の点座標を抽出すること、
前記プロセッサによって、前記特徴ベクトルを前記点座標にリンク付けする第1のリンク付けを実行すること、
前記プロセッサによって、前記特徴ベクトルを前記点座標にリンク付けする前記リンク付けに関連した畳み込みニューラル・ネットワークを生成すること、および
前記畳み込みニューラル・ネットワークを使用可能にした結果に応答した前記プロセッサによって、前記ビデオ・ストリームの正確な提示に関連したビデオ動作認識に関して、前記ビデオ・ストリームを使用可能にすること
を含む、ハードウェア・デバイス。
【請求項2】
前記方法がさらに、
前記プロセッサによって、前記骨格点に関連した周囲特徴を抽出することであり、前記一群の骨格点の前記平均移動距離の前記決定がさらに前記周囲特徴にも基づく、前記抽出すること
を含む、請求項1に記載のハードウェア・デバイス。
【請求項3】
前記方法がさらに、
前記プロセッサによって、多数のデジタル特徴に関して、前記骨格点をカテゴリ分類すること、および
前記プロセッサによって、前記多数のデジタル特徴の第2のリンク付けを実行すること
を含む、請求項1に記載のハードウェア・デバイス。
【請求項4】
前記方法がさらに、
前記第1のリンク付けおよび前記第2のリンク付けの結果に応答した前記プロセッサによって、前記畳み込みニューラル・ネットワークの動作に関連した分類確率を決定すること
を含む、請求項3に記載のハードウェア・デバイス。
【請求項5】
前記平均移動距離の前記決定が、
【数1】
を実行することを含み、
【数2】
が、i番目のフレームの元の窓幅(W)に対するリシェイプ・ファクタを含み、Nが、リシェイプ・ファクタを計算するためのフレームの数を含み、distがユークリッド距離を含み、xが、フレームt内の骨格点のx座標を含む、請求項1に記載のハードウェア・デバイス。
【請求項6】
前記平均移動距離の前記決定がさらに、
【数3】
を実行することを含み、
【数4】
が、i番目のフレームの元の窓高さ(H)に対するリシェイプ・ファクタを含み、Nが、前記リシェイプ・ファクタを計算するためのフレームの数を含み、distがユークリッド距離を含み、yが、前記フレームt内の骨格点のy座標を含む、請求項5に記載のハードウェア・デバイス。
【請求項7】
前記視覚窓の前記サイズの前記調整が、
【数5】
を実行することを含み、W’が、リシェイプ後の窓幅を含み、Wが、元の窓幅を含み、
【数6】
が、i番目のフレームの前記元の窓幅Wに対するリシェイプ・ファクタを含む、請求項1に記載のハードウェア・デバイス。
【請求項8】
前記視覚窓の前記サイズの前記調整がさらに、
【数7】
を実行することを含み、H’が、リシェイプ後の窓高さを含み、Hが、元の窓高さを含み、
【数8】
が、i番目のフレームの前記元の窓高さHに対するリシェイプ・ファクタを含む、請求項7に記載のハードウェア・デバイス。
【請求項9】
前記方法がさらに、
前記プロセッサによって、前記骨格点を前記多数のデジタル・レベルにアップサンプリングすること
を含む、請求項1に記載のハードウェア・デバイス。
【請求項10】
ビデオ動作の認識および変更方法であって、
ハードウェア・デバイスのプロセッサによって、ユーザ運動動作を含むビデオ・ストリームを受け取ること、
前記プロセッサによって、前記ビデオ・ストリームから、複数のセンサを介して、前記ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点を抽出すること、
前記プロセッサによって、多数のデジタル・レベルに関して、前記骨格点をカテゴリ分類すること、
前記プロセッサによって、前記ビデオ・ストリームの複数のビデオ・フレーム内の前記骨格点のうちの一群の骨格点を取り囲む初期視覚窓を生成すること、
前記プロセッサによって、前記複数のビデオ・フレームに関して、前記一群の骨格点の平均移動距離を決定すること、
前記決定の結果に応答した前記プロセッサによって、前記複数のビデオ・フレームの各々に関して、前記視覚窓のサイズを調整すること、
前記調整の結果に応答してスケール不変特徴変換(SIFT)コードを実行している前記プロセッサによって、前記一群の骨格点の特徴ベクトルを抽出すること、
OpenPoseコードを実行している前記プロセッサによって、前記骨格点の点座標を抽出すること、
前記プロセッサによって、前記特徴ベクトルを前記点座標にリンク付けする第1のリンク付けを実行すること、
前記プロセッサによって、前記特徴ベクトルを前記点座標にリンク付けする前記リンク付けに関連した畳み込みニューラル・ネットワークを生成すること、および
前記畳み込みニューラル・ネットワークを使用可能にした結果に応答した前記プロセッサによって、前記ビデオ・ストリームの正確な提示に関連したビデオ動作認識に関して、前記ビデオ・ストリームを使用可能にすること
を含むビデオ動作の認識および変更方法。
【請求項11】
前記プロセッサによって、前記骨格点に関連した周囲特徴を抽出することであり、前記一群の骨格点の前記平均移動距離の前記決定がさらに前記周囲特徴にも基づく、前記抽出すること
をさらに含む、請求項10に記載の方法。
【請求項12】
前記プロセッサによって、多数のデジタル特徴に関して、前記骨格点をカテゴリ分類すること、および
前記プロセッサによって、前記多数のデジタル特徴の第2のリンク付けを実行すること
をさらに含む、請求項10に記載の方法。
【請求項13】
前記第1のリンク付けおよび前記第2のリンク付けの結果に応答した前記プロセッサによって、前記畳み込みニューラル・ネットワークの動作に関連した分類確率を決定すること
をさらに含む、請求項12に記載の方法。
【請求項14】
前記平均移動距離の前記決定が、
【数9】
を実行することを含み、
【数10】
が、i番目のフレームの元の窓幅(W)に対するリシェイプ・ファクタを含み、Nが、リシェイプ・ファクタを計算するためのフレームの数を含み、distがユークリッド距離を含み、xが、フレームt内の骨格点のx座標を含む、請求項10に記載の方法。
【請求項15】
前記平均移動距離の前記決定がさらに、
【数11】
を実行することを含み、
【数12】
が、i番目のフレームの元の窓高さ(H)に対するリシェイプ・ファクタを含み、Nが、前記リシェイプ・ファクタを計算するためのフレームの数を含み、distがユークリッド距離を含み、yが、前記フレームt内の骨格点のy座標を含む、請求項14に記載の方法。
【請求項16】
前記視覚窓の前記サイズの前記調整が、
【数13】
を実行することを含み、W’が、リシェイプ後の窓幅を含み、Wが、元の窓幅を含み、
【数14】
が、i番目のフレームの前記元の窓幅Wに対するリシェイプ・ファクタを含む、請求項10に記載の方法。
【請求項17】
前記視覚窓の前記サイズの前記調整がさらに、
【数15】
を実行することを含み、H’が、リシェイプ後の窓高さを含み、Hが、元の窓高さを含み、
【数16】
が、i番目のフレームの前記元の窓高さHに対するリシェイプ・ファクタを含む、請求項16に記載の方法。
【請求項18】
前記プロセッサによって、前記骨格点を前記多数のデジタル・レベルにアップサンプリングすること
をさらに含む、請求項10に記載の方法。
【請求項19】
前記ハードウェア・デバイス内のコンピュータ可読コードの生成、統合、ホスティング、維持および展開のうちの少なくとも1つに対する少なくとも1つの支援サービスを提供することをさらに含み、前記コードが、前記プロセッサによって実行されて、前記受け取ること、前記骨格点の前記抽出、前記カテゴリ分類、前記初期視覚窓の前記生成、前記決定、前記調整、前記特徴ベクトルの前記抽出、前記点座標の前記抽出、前記第1のリンク付け、前記畳み込みニューラル・ネットワークの前記生成、および前記使用可能化を実施する、
請求項10に記載の方法。
【請求項20】
コンピュータ・プログラム製品であって、コンピュータ可読プログラム・コードを記憶したコンピュータ可読ハードウェア・ストレージ・デバイスを含み、前記コンピュータ可読プログラム・コードが、ハードウェア・デバイスのプロセッサによって実行されたときにビデオ動作の認識および変更方法を実施するアルゴリズムを含み、前記方法が、
前記プロセッサによって、ユーザ運動動作を含むビデオ・ストリームを受け取ること、
前記プロセッサによって、前記ビデオ・ストリームから、複数のセンサを介して、前記ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点を抽出すること、
前記プロセッサによって、多数のデジタル・レベルに関して、前記骨格点をカテゴリ分類すること、
前記プロセッサによって、前記ビデオ・ストリームの複数のビデオ・フレーム内の前記骨格点のうちの一群の骨格点を取り囲む初期視覚窓を生成すること、
前記プロセッサによって、前記複数のビデオ・フレームに関して、前記一群の骨格点の平均移動距離を決定すること、
前記決定の結果に応答した前記プロセッサによって、前記複数のビデオ・フレームの各々に関して、前記視覚窓のサイズを調整すること、
前記調整の結果に応答してスケール不変特徴変換(SIFT)コードを実行している前記プロセッサによって、前記一群の骨格点の特徴ベクトルを抽出すること、
OpenPoseコードを実行している前記プロセッサによって、前記骨格点の点座標を抽出すること、
前記プロセッサによって、前記特徴ベクトルを前記点座標にリンク付けする第1のリンク付けを実行すること、
前記プロセッサによって、前記特徴ベクトルを前記点座標にリンク付けする前記リンク付けに関連した畳み込みニューラル・ネットワークを生成すること、および
前記畳み込みニューラル・ネットワークを使用可能にした結果に応答した前記プロセッサによって、前記ビデオ・ストリームの正確な提示に関連したビデオ動作認識に関して、前記ビデオ・ストリームを使用可能にすること
を含む、コンピュータ・プログラム製品。
【発明の詳細な説明】
【背景技術】
【0001】
本発明は一般に、ビデオ動作の認識および変更(video action recognition and modification)を自動化するための方法に関し、詳細には、ユーザ運動動作(user movement action)を実行しているユーザのビデオ表現に関連した骨格点(skeleton point)をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓(initial visual window)を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するための方法および関連システムに関する。骨格に基づく典型的なグラフ畳み込みネットワーク(graph convolutional network)は、最初にOpenPoseプロセスに基づいて骨格が抽出されるような態様のビデオ動作認識に関連している。同様に、空間情報に基づくグラフ畳み込みネットワークは、位置および信頼度(confidence)属性を使用して、抽出された時間情報が時間畳み込みネットワークに基づくような態様で抽出される。位置および信頼度属性を使用するプロセスは、骨格点に関連した情報を迂回する傾向があることがある。さらに、典型的なビデオ・ストリームは、異なるレベルの粒度(granularity)動作に関連していることがあり、それによって、1スケール骨格(one-scale skeleton)に基づいて動作を表現することを困難にすることがある。したがって、本発明の方法および関連システムは、多粒度ビデオ認識動作に関連した認識の正確さを向上させるためのコンテンツ・アウェア(content aware)および多スケール骨格3Dグラフ畳み込みネットワークに基づいて多粒度ビデオ動作認識プロセスを使用可能にするように構成されている。
【発明の概要】
【0002】
本発明の第1の態様は、コンピュータ可読メモリ・ユニットに結合されたプロセッサを含むハードウェア・デバイスであって、メモリ・ユニットが、プロセッサによって実行されたときにビデオ動作の認識および変更方法を実施する命令を含み、この方法が、プロセッサによって、ユーザ運動動作を含むビデオ・ストリームを受け取ること、プロセッサによって、ビデオ・ストリームから、複数のセンサを介して、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点を抽出すること、プロセッサによって、多数のデジタル・レベルに関して、骨格点をカテゴリ分類すること、プロセッサによって、ビデオ・ストリームの複数のビデオ・フレーム内の骨格点のうちの一群の骨格点を取り囲む初期視覚窓を生成すること、プロセッサによって、複数のビデオ・フレームに関して、一群の骨格点の平均移動距離(average movement distance)を決定すること、この決定の結果に応答したプロセッサによって、複数のビデオ・フレームの各々に関して、視覚窓のサイズを調整すること、この調整の結果に応答してスケール不変特徴変換(scale-invariant feature transform)(SIFT)コードを実行しているプロセッサによって、一群の骨格点の特徴ベクトルを抽出すること、OpenPoseコードを実行しているプロセッサによって、骨格点の点座標を抽出すること、プロセッサによって、特徴ベクトルを点座標にリンク付けする第1のリンク付けを実行すること、プロセッサによって、特徴ベクトルを点座標にリンク付けするリンク付けに関連した畳み込みニューラル・ネットワークを生成すること、および畳み込みニューラル・ネットワークを使用可能にした結果に応答したプロセッサによって、ビデオ・ストリームの正確な提示に関連したビデオ動作認識に関して、ビデオ・ストリームを使用可能にすることを含む、ハードウェア・デバイスを提供する。
【0003】
本発明のいくつかの実施形態はさらに、骨格点に関連した周囲特徴を抽出するためのハードウェア・デバイスを提供する。同様に、本発明のいくつかの実施形態は、多数のデジタル特徴に関して骨格点をカテゴリ分類し、リンク付けして、畳み込みニューラル・ネットワークの動作に関連した分類確率(classification probability)を決定するように構成される。有利には、これらの実施形態は、多粒度ビデオ認識動作に関連した認識の正確さを向上させるためのコンテンツ・アウェアおよび多スケール骨格3Dグラフ畳み込みネットワークに基づいて多粒度ビデオ動作認識プロセスを正確に使用可能にする効果的な手段を提供する。
【0004】
本発明の第2の態様は、ビデオ動作の認識および変更方法であって、ハードウェア・デバイスのプロセッサによって、ユーザ運動動作を含むビデオ・ストリームを受け取ること、プロセッサによって、ビデオ・ストリームから、複数のセンサを介して、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点を抽出すること、プロセッサによって、多数のデジタル・レベルに関して、骨格点をカテゴリ分類すること、プロセッサによって、ビデオ・ストリームの複数のビデオ・フレーム内の骨格点のうちの一群の骨格点を取り囲む初期視覚窓を生成すること、プロセッサによって、複数のビデオ・フレームに関して、一群の骨格点の平均移動距離を決定すること、この決定の結果に応答したプロセッサによって、複数のビデオ・フレームの各々に関して、視覚窓のサイズを調整すること、この調整の結果に応答してスケール不変特徴変換(SIFT)コードを実行しているプロセッサによって、一群の骨格点の特徴ベクトルを抽出すること、OpenPoseコードを実行しているプロセッサによって、骨格点の点座標を抽出すること、プロセッサによって、特徴ベクトルを点座標にリンク付けする第1のリンク付けを実行すること、プロセッサによって、特徴ベクトルを点座標にリンク付けするリンク付けに関連した畳み込みニューラル・ネットワークを生成すること、および畳み込みニューラル・ネットワークを使用可能にした結果に応答したプロセッサによって、ビデオ・ストリームの正確な提示に関連したビデオ動作認識に関して、ビデオ・ストリームを使用可能にすることを含むビデオ動作の認識および変更方法を提供する。
【0005】
本発明のいくつかの実施形態はさらに、骨格点に関連した周囲特徴を抽出するための方法を提供する。同様に、本発明のいくつかの実施形態は、多数のデジタル特徴に関して骨格点をカテゴリ分類し、リンク付けして、畳み込みニューラル・ネットワークの動作に関連した分類確率を決定するように構成される。有利には、これらの実施形態は、多粒度ビデオ認識動作に関連した認識の正確さを向上させるためのコンテンツ・アウェアおよび多スケール骨格3Dグラフ畳み込みネットワークに基づいて多粒度ビデオ動作認識プロセスを正確に使用可能にする効果的な手段を提供する。
【0006】
本発明の第3の態様は、コンピュータ・プログラム製品であって、コンピュータ可読プログラム・コードを記憶したコンピュータ可読ハードウェア・ストレージ・デバイスを含み、コンピュータ可読プログラム・コードが、ハードウェア・デバイスのプロセッサによって実行されたときにビデオ動作の認識および変更方法を実施するアルゴリズムを含み、この方法が、プロセッサによって、ユーザ運動動作を含むビデオ・ストリームを受け取ること、プロセッサによって、ビデオ・ストリームから、複数のセンサを介して、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点を抽出すること、プロセッサによって、多数のデジタル・レベルに関して、骨格点をカテゴリ分類すること、プロセッサによって、ビデオ・ストリームの複数のビデオ・フレーム内の骨格点のうちの一群の骨格点を取り囲む初期視覚窓を生成すること、プロセッサによって、複数のビデオ・フレームに関して、一群の骨格点の平均移動距離を決定すること、この決定の結果に応答したプロセッサによって、複数のビデオ・フレームの各々に関して、視覚窓のサイズを調整すること、この調整の結果に応答してスケール不変特徴変換(SIFT)コードを実行しているプロセッサによって、一群の骨格点の特徴ベクトルを抽出すること、OpenPoseコードを実行しているプロセッサによって、骨格点の点座標を抽出すること、プロセッサによって、特徴ベクトルを点座標にリンク付けする第1のリンク付けを実行すること、プロセッサによって、特徴ベクトルを点座標にリンク付けするリンク付けに関連した畳み込みニューラル・ネットワークを生成すること、および畳み込みニューラル・ネットワークを使用可能にした結果に応答したプロセッサによって、ビデオ・ストリームの正確な提示に関連したビデオ動作認識に関して、ビデオ・ストリームを使用可能にすることを含む、コンピュータ・プログラム製品を提供する。
【0007】
本発明のいくつかの実施形態はさらに、骨格点に関連した周囲特徴を抽出するためのコンピュータ・プログラム製品を提供する。同様に、本発明のいくつかの実施形態は、多数のデジタル特徴に関して骨格点をカテゴリ分類し、リンク付けして、畳み込みニューラル・ネットワークの動作に関連した分類確率を決定するように構成される。有利には、これらの実施形態は、多粒度ビデオ認識動作に関連した認識の正確さを向上させるためのコンテンツ・アウェアおよび多スケール骨格3Dグラフ畳み込みネットワークに基づいて多粒度ビデオ動作認識プロセスを正確に使用可能にする効果的な手段を提供する。
【0008】
有利には、本発明は、ビデオ動作の認識および変更を自動化することができる単純な方法および関連システムを提供する。
【図面の簡単な説明】
【0009】
図1】ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するための、本発明の実施形態によるシステムを示す図である。
図2】ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するための図1のシステムによって使用可能になる、本発明の実施形態によるプロセス・フローの詳細を示すアルゴリズムを示す図である。
図3】本発明の実施形態による、図1のソフトウェア/ハードウェアの内部構造図である。
図4】本発明の実施形態による、図1のシステムによって使用可能になる初期視覚窓生成プロセスを示す図である。
図5】本発明の実施形態による、図1のシステムによって使用可能になる点座標抽出プロセスを示す図である。
図6】ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するための図1のシステムによって使用される、本発明の実施形態によるコンピュータ・システムを示す図である。
図7】本発明の実施形態によるクラウド・コンピューティング環境を示す図である。
図8】本発明の実施形態による、クラウド・コンピューティング環境によって提供される一組の機能抽象化層を示す図である。
【発明を実施するための形態】
【0010】
図1は、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するための、本発明の実施形態によるシステム100を示している。骨格に基づく典型的なグラフ畳み込みネットワークは、最初に骨格が抽出されるような態様のビデオ動作認識に関連している。同様に、空間情報に基づく典型的なグラフ畳み込みネットワークは、位置および信頼度属性を使用して、抽出された時間情報が時間畳み込みネットワークに基づくような態様で抽出される。さらに、位置および信頼度属性を使用するプロセスは、骨格点に関連した情報を迂回する傾向があることがある。さらに、典型的なビデオ・ストリームは、異なるレベルの粒度動作に関連していることがあり、それによって、1スケール骨格に基づいて動作を表現することを困難にすることがある。したがって、システム100は、多粒度ビデオ動作を認識し、骨格点に基づいて適応周囲特徴抽出プロセスを実行し、多スケール骨格3次元グラフ畳み込みネットワークを使用可能にし、それによって多粒度動作に関する認識の正確さを向上させ、ビデオ認識属性を抽出するための正確な方法を提供するように構成されている。
【0011】
システム100は、異なるスケールに関連した骨格点を、異なる粒度ビデオ動作を表現するように構成することができるような態様で、画像情報に関する骨格点に関連した情報の取出しを使用可能にする。それらのビデオ動作は、骨格に基づく3次元グラフに関連したものとすることができる。
【0012】
システム100は、畳み込みネットワークに基づく多スケール骨格3次元グラフに関するコンテンツ・アウェアネスに基づいて多粒度ビデオ動作認識プロセスを実行するように構成されている。このプロセスは、OpenPoseシステム(すなわち単一の画像に関して人間の体、手、顔および足キーポイント(例えば合計135個のキーポイント)を一緒に検出するリアルタイム・マルチ・パーソン・システム)に基づいて骨格が抽出されたときに開始される。同様に、システム100は、異なるスケールの骨格属性に基づいて3次元グラフを構成するための、骨格点に関連した特徴抽出構成要素を含む。
【0013】
図1のシステム100は、ネットワーク117を介して相互接続されたハードウェア・デバイス139、ビデオ・ハードウェア114、データベース115およびネットワーク・インタフェース・コントローラ153を含む。ハードウェア・デバイス139は、センサ112、回路/論理127およびソフトウェア/ハード121を含む。ビデオ・ハードウェア114は、リモート・ビデオ源システム(例えばビデオ・ストレージ・システム、ビデオ・ストリーミング・システム、ビデオ・プロジェクタなど)を含むことができる。ハードウェア・デバイス139およびビデオ・ハードウェア114はそれぞれ埋込みデバイスを含むことができる。本明細書では、埋込みデバイスを、特定用途向け機能を実行するように特に設計された(機能が固定されたまたはプログラム可能な)コンピュータ・ハードウェアとソフトウェアの組合せを含む専用デバイスまたはコンピュータと定義する。プログラム可能な埋込みコンピュータまたはデバイスは、特定用途向けプログラミング・インタフェースを含むことができる。一実施形態では、ハードウェア・デバイス139およびビデオ・ハードウェア114がそれぞれ、図1~8に関して説明するプロセスを(独立してまたは組み合わせて)実行するための特定用途向け(非汎用)ハードウェアおよび回路(すなわち特定用途向け個別非汎用アナログ、デジタルおよび論理ベース回路)を含む特定用途向けハードウェア・デバイスを含むことができる。それらの特定用途向け個別非汎用アナログ、デジタルおよび論理ベース回路(例えばセンサ112、回路/論理127、ソフトウェア/ハードウェア121など)は、特に設計されたプロプライエタリ構成要素(例えば特定用途向け集積回路、例えば、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するための自動化されたプロセスだけを実施するように設計された特定用途向け集積回路(ASIC))を含むことができる。センサ112は、とりわけ、GPSセンサ、Bluetoothビーコニング・センサ、セル式電話検出センサ、Wi-Fiポジショニング検出センサ、三角測量検出センサ、アクティビティ・トラッキング・センサ、温度センサ、超音波センサ、光センサ、ビデオ検索デバイス、湿度センサ、電圧センサ、ネットワーク・トラフィック・センサなどを含む、任意のタイプの内部または外部センサを含むことができる。ネットワーク117は、とりわけ、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、無線ネットワークなどを含む、任意のタイプのネットワークを含むことができる。
【0014】
システム100は、画像内の局所特徴を検出および記述するためのコンピュータ・ビジョンに関連した特徴検出アルゴリズムを含むスケール不変特徴変換(SIFT)に関する適応周囲特徴抽出コードを使用可能にすることによって視覚的周囲特徴を抽出するためのプロセスを実行するために使用可能にされる。このプロセスは以下のことを含む。
1.ビデオ特徴を抽出するために初期窓サイズ5を変更すること。
2.フレーム・ストラップ・サイズを10に設定し、それぞれの骨格点の平均移動距離を決定すること。
3.関連距離を使用して視覚窓サイズを調整すること。
4.SIFTに関係したプロセスを使用して、1次元ベクトルに関するボックス特徴を抽出すること。
【0015】
システム100はさらに、多スケール骨格3次元グラフ畳み込みネットワーク・モデリング・プロセスを実施するためのプロセスを実行するために使用可能にされる。このプロセスは以下のように実行される。
1.OpenPose抽出された骨格に基づいて3つの骨格層をアンダーサンプリングする。
2.3次元骨格グラフを生成する。
3.3次元グラフ畳み込みネットワークを実行して、それぞれの層のビデオ特徴を抽出する。
4.異なる層に関して、3次元グラフ畳み込みネットワーク特徴をアテンション・モデルと融合させる。
【0016】
図2は、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するための図1のシステム100によって使用可能になる、本発明の実施形態によるプロセス・フローの詳細を示すアルゴリズムを示す図である。図2のアルゴリズムのステップの各々は、コンピュータ・コードを実行しているコンピュータ・プロセッサによって、任意の順序で使用可能にすることおよび実行することができる。さらに、図2のアルゴリズムのステップの各々は、ハードウェア・デバイス139およびビデオ・ハードウェア114によって、組み合わせて使用可能にすることおよび実行することができる。ステップ200で、ハードウェア・デバイスによって、ユーザ運動動作を含むビデオ・ストリームを受け取る。ステップ202で、このビデオ・ストリームから、センサを介して骨格点を抽出する。骨格点は、ユーザ運動動作を実行しているユーザのビデオ表現に関連している。ステップ204で、多数のデジタル・レベルに関して、骨格点をカテゴリ分類する。骨格点は、多数のデジタル・レベルに関してアップサンプリングすることができる。
【0017】
ステップ208で、ビデオ・ストリームのビデオ・フレーム内で、一群の骨格点を取り囲む初期視覚窓を生成する。ステップ210で、ビデオ・フレームに関して、骨格点の平均移動距離を決定する。同様に、骨格点の平均移動距離の決定がさらに周囲特徴にも基づくような態様で、骨格点に関連した周囲特徴を抽出することができる。平均移動距離の決定は、式
【数1】

を実行することを含むことができ、
【数2】

は、i番目のフレームの元の窓幅(W)に対するリシェイプ・ファクタ(reshape factor)を含み、Nは、リシェイプ・ファクタを計算するためのフレームの数を含み、distはユークリッド距離を含み、xは、フレームt内の骨格点のx座標を含む。さらに、平均移動距離の決定は、式
【数3】

を実行することを含むことができ、
【数4】

は、i番目のフレームの元の窓高さ(H)に対するリシェイプ・ファクタを含み、Nは、リシェイプ・ファクタを計算するためのフレームの数を含み、distはユークリッド距離を含み、yは、フレームt内の骨格点のy座標を含む。
【0018】
ステップ212で、(ステップ210の結果に基づいて)ビデオ・フレームの各々に関して、視覚窓のサイズを調整する。視覚窓のサイズの調整は、式
【数5】

を実行することを含むことができ、W’は、リシェイプ後の窓幅を含み、Wは、元の窓幅を含み、
【数6】

は、i番目のフレームの元の窓幅Wに対するリシェイプ・ファクタを含む。視覚窓のサイズの調整はさらに、式
【数7】

を実行することを含むことができ、H’は、リシェイプ後の窓高さを含み、Hは、元の窓高さを含み、
【数8】

は、i番目のフレームの元の窓高さHに対するリシェイプ・ファクタを含む。
【0019】
ステップ214で、ステップ212の結果に応答してスケール不変特徴変換(SIFT)コードを実行することによって、骨格点の特徴ベクトルを抽出する。ステップ216で、OpenPoseコードを実行することによって、骨格点の点座標を抽出する。ステップ218で、特徴ベクトルを点座標にリンク付けする。ステップ220で、畳み込み(デジタル)ニューラル・ネットワークを生成する。この畳み込み(デジタル)ニューラル・ネットワークは、特徴ベクトルを点座標にリンク付けすることに関連している。ステップ224で、多数のデジタル特徴に関して、骨格点をカテゴリ分類およびリンク付けし、上述のリンク付けステップの結果に応答して、畳み込みニューラル・ネットワークの動作に関連した分類確率を決定する。同様に、多数のデジタル特徴に関して骨格点をカテゴリ分類し、それらの多数のデジタル特徴をリンク付けすることができる。さらに上述のリンク付けステップに基づいて、畳み込みニューラル・ネットワークの動作に関連した分類確率を決定することができる。
【0020】
ステップ228で、ビデオ・ストリームの正確な提示に関連したビデオ動作認識に関して、ビデオ・ストリームを使用可能にする。
【0021】
図3は、本発明の実施形態による、図1のソフトウェア/ハードウェア121の内部構造図を示している。ソフトウェア/ハードウェア121は、抽出およびカテゴリ分類モジュール304、調整モジュール310、リンク付けモジュール308、ビデオ使用可能化モジュール314、ならびに通信コントローラ302を含む。抽出およびカテゴリ分類モジュール304は、図2の抽出およびカテゴリ分類ステップに関係した全ての機能を制御するための専門ハードウェアおよびソフトウェアを含む。調整モジュール310は、図2のアルゴリズムに関して説明した調整ステップに関係した全ての機能を制御するための専門ハードウェアおよびソフトウェアを含む。リンク付けモジュール308は、図2のリンク付けステップに関係した全ての機能を制御するための専門ハードウェアおよびソフトウェアを含む。ビデオ使用可能化モジュール314は、図2のアルゴリズムのビデオ・ストリーム使用可能化および提示ステップに関係した全ての機能を制御するための専門ハードウェアおよびソフトウェアを含む。通信コントローラ302は、抽出およびカテゴリ分類モジュール304、調整モジュール310、リンク付けモジュール308およびビデオ使用可能化モジュール314間の全ての通信を制御するために使用可能にされる。
【0022】
図4は、本発明の実施形態による、図1のシステム100によって使用可能になる初期視覚窓生成プロセス400を示している。フレーム401は、骨格点402a...402nと、骨格点402a...402nを接続する接続403a...403nとを含む第1のサンプル・フレームを含む。OpenPoseツールを実行して、あらゆるフレームの骨格点402a...402nを抽出する。フレーム404は、骨格点402a...402nを表現するためのコンテキスト特徴の抽出に関連した、一群404bの骨格点402a...402nを取り囲む元の窓404aを含む第2のサンプル・フレームを含む。フレーム408a...408nは、元の窓の幅および高さに対するリシェイプ・ファクタを決定するためのプロセスに関連したフレームを含む。このプロセスは、連結された2つのフレーム間に位置する(骨格点402a...402nのうちの)現在の骨格点のユークリッド距離を計算するために、現在のフレームを取り囲む10個のフレームを使用可能にする。同様に、(図2に関して説明した式に関して示した)リシェイプ・ファクタに対して、10個のフレームの間で平均ユークリッド距離を決定する。フレーム410は、(図2に関して説明した式に関して示した)上述のリシェイプ・ファクタを使用して元の窓をリシェイプするためのプロセスに関連したサンプル・フレームを含む。フレーム412および414は、窓404a内の骨格点に関してSIFTアルゴリズムを使用してコンテキスト特徴を抽出するためのプロセスに関連したサンプル・フレームを含む。コンテキスト特徴を抽出するためのこのプロセスを実行して、窓404a内の骨格点の特徴ベクトルを生成する。これらの特徴ベクトルは、ディープ・ラーニング・モデルの入力データに使用される。
【0023】
図5は、本発明の実施形態による、図1のシステム100によって使用可能になる点座標抽出プロセス500を示している。フレーム502の各々について、OpenPoseツールを実行することによって骨格点を抽出する。OpenPoseツールは、フレーム502の1人の人に対して18個の骨格点を抽出するように構成される。ブロック504は、フレーム502の各々からより多くの情報を取り出すために異なるレベルL1、L2およびL3にダウンサンプリングされている骨格点を示している。例えば、レベルL2では、2つの骨格点ごとにそれらの中間点を骨格点として割り当て、それによって、新たな骨格点の周囲のSIFT特徴を抽出するためのプロセスを使用可能にする。ブロック506は、コードを実行し、それによって画像の代わりにグラフ(頂点および辺)シーケンスに関してディープ・ニューラル・ネットワーク・バックボーンを適用することによって実施される空間-時間グラフ畳み込みネットワーク(ST-GCN)アルゴリズムの演算を示している。ブロック510は骨格点レベルごとに1つの特徴ベクトルが取り出されるような態様で、抽出されたSIFT特徴をST-GCNモデルにフィードするためのプロセスを示している。したがって、全てのレベルは、複数のベクトルを連結して1つの大きなベクトルにするように構成される。同様に、ニューラル・ネットワークに関して線形層(linear layer)を実行して、ベクトル次元を、動作クラスの数と同じサイズに低減させる。ブロック508は、最終ベクトル内の最大確率が、認識された動作を含むような態様でフロート・ベクトルをクラス確率に移すためのSoftMax層を示している。
【0024】
図6は、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するための図1のシステム100によって使用される、または図1のシステム100が含む、本発明の実施形態によるコンピュータ・システム90(例えば図1のハードウェア・デバイス139およびビデオ・ハードウェア114)を示している。
【0025】
本発明の態様は、全体がハードウェアの実施形態、(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)全体がソフトウェアの実施形態、または、本明細書ではいずれも全体として「回路」、「モジュール」もしくは「システム」と呼ばれることがあるソフトウェア態様とハードウェア態様とを組み合わせた実施形態、の形態をとることができる。
【0026】
本発明は、システム、方法もしくはコンピュータ・プログラム製品、またはこれらの組合せであることがある。このコンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読ストレージ媒体を含むことがある。
【0027】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は例えば、限定はされないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイスまたはこれらの適当な組合せとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去可能なプログラマブル・リード・オンリー・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリー・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、機械的にコード化されたデバイス、例えばパンチカードまたはその上に命令が記録された溝の中の一段高くなった構造体、およびこれらの適当な組合せを含む。本明細書で使用されるコンピュータ可読ストレージ媒体を、それ自体が一過性の信号、例えば電波もしくは他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体内を伝搬する電磁波(例えば光ファイバ・ケーブル内を通る光パルス)、または電線を通して伝送される電気信号であると解釈すべきではない。
【0028】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から対応するそれぞれのコンピューティング/処理デバイスにダウンロードすることができ、またはネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワークもしくは無線ネットワークまたはこれらの組合せを介して外部コンピュータもしくは外部ストレージ・デバイスにダウンロードすることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータもしくはエッジ・サーバ、またはこれらの組合せを含むことができる。それぞれのコンピューティング/処理装置内のネットワーク・アダプタ・カードまたはネットワーク・インタフェースは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を、対応するそれぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するために転送する。
【0029】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データであってもよく、またはSmalltalk(R)、C++、spark、R言語などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同種のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、ソース・コードもしくはオブジェクト・コードであってもよい。このコンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で実行されてもよく、一部がユーザのコンピュータ上で実行されてもよく、独立型ソフトウェア・パッケージとして実行されてもよく、一部がユーザのコンピュータ上で、一部がリモート・コンピュータ上で実行されてもよく、または全体がリモート・コンピュータもしくはリモート・サーバ上で実行されてもよい。上記の最後のシナリオでは、リモート・コンピュータが、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、またはこの接続が、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)実施されてもよい。いくつかの実施形態では、本発明の態様を実行するために、例えばプログラム可能論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA)またはプログラム可能論理アレイ(PLA)を含む電子回路が、このコンピュータ可読プログラム命令の状態情報を利用してその電子回路をパーソナライズすることにより、このコンピュータ可読プログラム命令を実行してもよい。
【0030】
本明細書では、本発明の態様が、本発明の実施形態による方法、デバイス(システム)およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方の図を参照して説明される。それらのフローチャート図もしくはブロック図またはその両方の図のそれぞれのブロック、およびそれらのフローチャート図もしくはブロック図またはその両方の図のブロックの組合せは、コンピュータ可読プログラム命令によって実施することができることが理解される。
【0031】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示できるものであってもよい。
【0032】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラム可能な装置、または他のデバイスで実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ実装プロセスを作り出すべく、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能な装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
【0033】
添付図中のフローチャートおよびブロック図は、本発明のさまざまな実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実施態様のアーキテクチャ、機能および動作を示す。この点に関して、それらのフローチャートまたはブロック図のそれぞれのブロックは、指定された論理機能を実施する1つまたは複数の実行可能命令を含む、命令のモジュール、セグメントまたは部分を表すことがある。いくつかの代替実施態様では、ブロックに示された機能を、図に示された順序とは異なる順序で実行することができる。例えば、連続して示された2つのブロックが、実際は、1つのステップとして実施されること、同時に、実質的に同時に、または時間的に部分的にもしくは完全に重なって実行されること、あるいは含まれる機能によってはそれらのブロックが時に逆の順序で実行されることもある。それらのブロック図もしくはフローチャート図またはその両方の図のそれぞれのブロック、ならびにそれらのブロック図もしくはフローチャート図またはその両方の図のブロックの組合せを、指定された機能もしくは操作を実行しまたは専用ハードウェアとコンピュータ命令の組合せを実行するハードウェアベースの専用システムによって実施することができることにも留意すべきである。
【0034】
図6に示されたコンピュータ・システム90は、プロセッサ91、プロセッサ91に結合された入力デバイス92、プロセッサ91に結合された出力デバイス93、ならびにプロセッサ91にそれぞれ結合されたメモリ・デバイス94および95を含む。入力デバイス92は、とりわけ、キーボード、マウス、カメラ、タッチスクリーンなどとすることができる。出力デバイス93は、とりわけ、プリンタ、プロッタ、コンピュータ・スクリーン、磁気テープ、リムーバブル・ハード・ディスク、フロッピー(R)・ディスクなどとすることができる。メモリ・デバイス94および95は、とりわけ、ハード・ディスク、フロッピー(R)・ディスク、磁気テープ、光ストレージ、例えばコンパクト・ディスク(CD)またはデジタル・ビデオ・ディスク(DVD)、ダイナミック・ランダム・アクセス・メモリ(DRAM)、リード・オンリー・メモリ(ROM)などとすることができる。メモリ・デバイス95はコンピュータ・コード97を含む。コンピュータ・コード97は、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するためのアルゴリズム(例えば図2のアルゴリズム)を含む。プロセッサ91はコンピュータ・コード97を実行する。メモリ・デバイス94は入力データ96を含む。入力データ96は、コンピュータ・コード97が必要とする入力を含む。出力デバイス93は、コンピュータ・コード97からの出力を表示する。一方または両方のメモリ・デバイス94および95(またはリード・オンリー・メモリ・デバイス96などの1つもしくは複数の追加のメモリ・デバイス)は、アルゴリズム(例えば図2のアルゴリズム)を含むことができ、コンピュータ可読プログラム・コードが実装された、もしくは他のデータが記憶された、またはコンピュータ可読プログラム・コードが実装され、他のデータが記憶されたコンピュータ使用可能媒体(またはコンピュータ可読媒体もしくはプログラム・ストレージ・デバイス)として使用することができ、コンピュータ可読プログラム・コードはコンピュータ・コード97を含む。一般に、コンピュータ・システム90のコンピュータ・プログラム製品(または製造物品)はコンピュータ使用可能媒体(またはプログラム・ストレージ・デバイス)を含むことがある。
【0035】
いくつかの実施形態では、(例えばアルゴリズムを含む)記憶されたコンピュータ・プログラム・コード84を、ハード・ドライブ、光ディスク、または書込み可能、再書込み可能もしくは取外し可能な他のハードウェア・メモリ・デバイス95に記憶し、ハードウェア・メモリ・デバイス95からアクセスするのではなしに、コンピュータ・プログラム・コード84を、リード・オンリー・メモリ(ROM)デバイス85などの取外し不能なスタティック・リード・オンリー・ストレージ媒体上に記憶することができ、または、プロセッサ91は、コンピュータ・プログラム・コード84に、このような取外し不能なスタティック・リード・オンリー媒体85から直接にアクセスすることができる。同様に、いくつかの実施形態では、記憶されたコンピュータ・プログラム・コード97をコンピュータ可読ファームウェア85として記憶することができ、またはプロセッサ91は、ハード・ドライブまたは光ディスクなどのよりダイナミックまたは取外し可能なハードウェア・データ・ストレージ・デバイス95からではなしに、このようなファームウェア85から直接にコンピュータ・プログラム・コード97にアクセスすることができる。
【0036】
さらに、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良することを提供するサービス・サプライヤによって、本発明の構成要素のうちの任意の構成要素の生成、統合、ホスティング、維持、展開、管理、サービスなどを実行することなどができる。したがって、本発明は、コンピュータ・システム90にコンピュータ可読コードを統合することを含む、コンピューティング・インフラストラクチャの展開、生成、統合、ホスティング、維持もしくは統合、またはこれらの組合せを実行するためのプロセスを開示し、このコードは、コンピュータ・システム90との組合せで、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するためのプロセスを使用可能にするための方法を実行することができる。別の実施形態では、本発明が、加入、広告もしくは料金に基づいてまたはこれらの組合せに基づいて本発明のプロセス・ステップを実行する商業的方法を提供する。すなわち、ソリューション・インテグレータなどのサービス・サプライヤは、ユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するためのプロセスを使用可能にすることを提供することができる。この場合、サービス・サプライヤは、1人または数人の顧客に対して、本発明のプロセス・ステップを実行するコンピュータ・インフラストラクチャの生成、維持、支援などを実行することができる。その見返りとして、サービス・サプライヤは、加入契約および/もしくは料金契約に基づいて顧客から報酬を受け取ることができ、かつ/または1人もしくは数人の第三者に広告内容を販売することによって報酬を受け取ることができる。
【0037】
図6は、コンピュータ・システム90を、ハードウェアおよびソフトウェアの特定の構成として示しているが、当業者に知られているであろうハードウェアおよびソフトウェアの任意の構成を、図6の特定のコンピュータ・システム90に関連して上で述べた目的に利用することができる。例えば、メモリ・デバイス94および95を、別個のメモリ・デバイスとするのではなしに、単一のメモリ・デバイスの部分とすることができる。
【0038】
クラウド・コンピューティング環境
本開示はクラウド・コンピューティングに関する詳細な説明を含んではいるが、本明細書に記載された教示の実施態様はクラウド・コンピューティング環境に限定されないことを理解すべきである。むしろ、本発明の実施形態は、現在知られているまたは後に開発される任意の他のタイプのコンピューティング環境に関連して実施することができる。
【0039】
クラウド・コンピューティングは、最小限の管理労力またはサービスのプロバイダとの最小限のインタラクションで迅速に供給およびリリースすることができる構成可能なコンピューティング・リソース(例えばネットワーク、ネットワーク・バンド幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想機械およびサービス)の共用プールへの便利なオンデマンド・ネットワーク・アクセスを可能にするサービス配信モデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含むことができる。
【0040】
特徴は以下のとおりである。
【0041】
オンデマンド・セルフサービス:クラウド・コンシューマは、サーバ時間およびネットワーク・ストレージなどのコンピューティング機能を、このサービスのプロバイダとのヒューマン・インタラクションを必要とすることなく必要に応じて自動的に一方向的に供給することができる。
【0042】
ブロード・ネットワーク・アクセス:機能は、ネットワーク上で利用可能であり、機能には、異種のシンまたはシック・クライアント・プラットホーム(例えば移動電話、ラップトップおよびPDA)による使用を促進する標準的機構を通してアクセスされる。
【0043】
リソース・プーリング:マルチテナント・モデルを使用して多数のコンシューマにサービスを提供するために、プロバイダのコンピューティング・リソースがプールされており、要求に応じて、異なる物理および仮想リソースが動的に割当ておよび再割当てされる。コンシューマは一般に、提供されたリソースの正確な位置を制御できずまたは正確な位置を知らないが、より高次の抽象化レベル(例えば国、州またはデータセンター)で位置を指定することができるという意味で、位置独立の感覚がある。
【0044】
迅速な弾力性:機能は、素早くスケールアウトするために迅速かつ弾力的に、場合によっては自動的に供給することができ、素早くスケールインするために迅速にリリースすることができる。コンシューマにとって、供給に利用可能な機能はしばしば無限であるように見え、いつでも好きな量だけ購入することができる。
【0045】
測定されるサービス:クラウド・システムは、サービスのタイプ(例えばストレージ、処理、バンド幅および使用中ユーザ・アカウント)に対して適切なある抽象化レベルで計測機能に介入することによって、リソースの使用状況を自動的に制御および最適化する。リソースの使用状況を監視、制御および報告して、利用されているサービスのプロバイダとコンシューマの両方に透明性を提供することができる。
【0046】
サービス・モデルは以下のとおりである。
【0047】
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供されるこの機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用する機能である。ウェブ・ブラウザなどのシン・クライアント・インタフェース(例えばウェブ・ベースの電子メール)を通してさまざまなクライアント・デバイスからそれらのアプリケーションにアクセス可能である。場合によっては可能な限られたユーザ固有のアプリケーション構成の設定を除けば、コンシューマは、ネットワーク、サーバ、オペレーティング・システム、ストレージまたは個々のアプリケーション機能を含む基礎をなすクラウド・インフラストラクチャを管理もまたは制御もしない。
【0048】
プラットホーム・アズ・ア・サービス(PaaS):コンシューマに提供されるこの機能は、クラウド・インフラストラクチャ上で、プロバイダがサポートするプログラム言語およびツールを使用して作成されたコンシューマ作成または取得のアプリケーションをデプロイする機能である。コンシューマは、ネットワーク、サーバ、オペレーティング・システムまたはストレージを含む基礎をなすクラウド・インフラストラクチャを管理もまたは制御もしないが、デプロイされたアプリケーションおよび場合によってはアプリケーション・ホスティング環境構成を制御することができる。
【0049】
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供されるこの機能は、処理、ストレージ、ネットワークおよび他の基本的なコンピューティング・リソースを供給する機能であり、コンシューマは任意のソフトウェアをデプロイおよび実行することができ、これらのソフトウェアは、オペレーティング・システムおよびアプリケーションを含むことができる。コンシューマは、基礎をなすクラウド・インフラストラクチャを管理もまたは制御もしないが、オペレーティング・システム、ストレージおよびデプロイされたアプリケーションは制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えばホスト・ファイアウォール)を限定的に制御することができる。
【0050】
デプロイメント・モデルは以下のとおりである。
【0051】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織体のためだけに運営される。インフラストラクチャは、その組織体または第三者が管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0052】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、いくつかの組織体によって共有され、利害(例えばミッション、セキュリティ要件、ポリシーおよびコンプライアンス上の問題)を共有する特定のコミュニティをサポートする。インフラストラクチャは、その組織体または第三者が管理することができ、オンプレミスまたはオフプレミスで存在することができる。
【0053】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般大衆または大きな産業グループが利用可能であり、クラウド・サービスを販売している組織体によって所有される。
【0054】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、固有の実体を維持しているが、データおよびアプリケーション・ポータビリティを可能にする標準化された技術または独占技術(例えばクラウド間のロード・バランシングのためのクラウド・バースティング(cloud bursting))によって1つに結合された2つ以上のクラウド(プライベート、コミュニティまたはパブリック)の合成体である。
【0055】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性および意味論的相互運用性(semantic interoperability)に重きを置くサービス指向の環境である。クラウド・コンピューティングの中心には、相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0056】
次に図7を参照すると、例示的なクラウド・コンピューティング環境50が示されている。示されているとおり、クラウド・コンピューティング環境50は1つまたは複数のクラウド・コンピューティング・ノード10を含み、クラウド・コンシューマによって使用されるローカル・コンピューティング・デバイス、例えばパーソナル・デジタル・アシスタント(PDA)もしくは移動電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54Cまたは自動車コンピュータ・システム54Nあるいはこれらの組合せは、これらのノードと通信することができる。ノード10は互いに通信することができる。それらのノードは、上で説明したプライベート、コミュニティ、パブリックまたはハイブリッド・クラウドまたはこれらの組合せなどの1つまたは複数のネットワークに、物理的にまたは仮想的にグループ分けされていることがある(図示せず)。これによって、クラウド・コンピューティング環境50は、インフラストラクチャ、プラットホームもしくはソフトウェアまたはこれらの組合せをサービスとして提供することができ、そのため、クラウド・コンシューマは、ローカル・コンピューティング・デバイス上にリソースを維持する必要がない。図7に示されたタイプのコンピューティング装置54A、54B、54Cおよび54Nは単なる例であることが意図されていること、ならびにコンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意のタイプのネットワーク上もしくはアドレス指定可能なネットワーク接続上またはその両方で(例えばウェブ・ブラウザを使用して)、コンピュータ化された任意のタイプのデバイスと通信することができることが理解される。
【0057】
次に図8を参照すると、クラウド・コンピューティング環境50(図7参照)によって提供される一組の機能抽象化層が示されている。図8に示されているコンポーネント、層および機能は単なる例であることが意図されており、本発明の実施形態はそれらに限定されないことを予め理解しておくべきである。図示のとおり、以下の層および対応する機能が提供される。
【0058】
ハードウェアおよびソフトウェア層60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例は、メインフレーム61、RISC(縮小命令セット・コンピュータ)アーキテクチャ・ベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65ならびにネットワークおよびネットワーキング・コンポーネント66を含む。いくつかの実施形態では、ソフトウェア・コンポーネントが、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0059】
仮想化層70は、仮想実体の以下の例を提供することができる抽象化層を提供する:仮想サーバ71、仮想ストレージ72、仮想専用ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75。
【0060】
一例では、管理層80が以下の機能を提供することができる。リソース供給81は、クラウド・コンピューティング環境内でタスクを実行する目的に利用されるコンピューティング・リソースおよびその他のリソースの動的調達を提供する。計量および価格決定82は、クラウド・コンピューティング環境内でリソースが利用されたときの費用追跡、およびこれらのリソースの消費に対する課金または請求を提供する。一例では、これらのリソースがアプリケーション・ソフトウェア・ライセンスを含むことがある。セキュリティは、クラウド・コンシューマおよびタスクの識別確認ならびにデータおよび他のリソースの保護を提供する。ユーザ・ポータル83は、コンシューマおよびシステム管理者に、クラウド・コンピューティング環境へのアクセスを提供する。サービス水準管理87は、必要なサービス水準が達成されるようなクラウド・コンピューティング・リソースの割振りおよび管理を提供する。サービス水準合意(Service Level Agreement)(SLA)計画および履行88は、SLAに従って将来必要になると予想されるクラウド・コンピューティング・リソースの事前調整および調達を提供する。
【0061】
ワークロード層101は、クラウド・コンピューティング環境を利用することができる機能の例を提供する。この層から提供することができるワークロードおよび機能の例は、マッピングおよびナビゲーション102、ソフトウェア開発およびライフサイクル管理103、仮想教室教育配信133、データ解析処理134、トランザクション処理106、ならびにユーザ運動動作を実行しているユーザのビデオ表現に関連した骨格点をビデオ・ストリームから抽出し、カテゴリ分類すること、一群の骨格点を取り囲む初期視覚窓を生成すること、特徴ベクトルを抽出し、点座標にリンク付けすること、および正確な提示に関連したビデオ動作認識に関してビデオ・ストリームを使用可能にすることに関連したビデオおよびソフトウェア技術を改良するためのもの107を含む。
【0062】
本明細書では本発明の実施形態を例示のために説明したが、多くの変更および改変が当業者には明らかになるであろう。したがって、添付の特許請求の範囲は、本発明の範囲に含まれるそのような全ての変更および改変を包含することが意図されている。
図1
図2
図3
図4
図5
図6
図7
図8
【国際調査報告】