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

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

▶ 富士ゼロックス株式会社の特許一覧

特許7559360ユーザの動きによるビデオ再生のリアルタイム同期の方法及びシステム、プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-24
(45)【発行日】2024-10-02
(54)【発明の名称】ユーザの動きによるビデオ再生のリアルタイム同期の方法及びシステム、プログラム
(51)【国際特許分類】
   H04N 5/92 20060101AFI20240925BHJP
   H04N 21/442 20110101ALI20240925BHJP
   H04N 23/60 20230101ALI20240925BHJP
   A63B 69/00 20060101ALI20240925BHJP
【FI】
H04N5/92 010
H04N21/442
H04N23/60 500
A63B69/00 A
A63B69/00 514
【請求項の数】 20
(21)【出願番号】P 2020095344
(22)【出願日】2020-06-01
(65)【公開番号】P2021007214
(43)【公開日】2021-01-21
【審査請求日】2023-05-19
(31)【優先権主張番号】16/455485
(32)【優先日】2019-06-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】ドナルド ジー キンバー
(72)【発明者】
【氏名】ローラン ドゥヌ
(72)【発明者】
【氏名】メアリベス ジェイ バック
(72)【発明者】
【氏名】パトリック チィーウ
(72)【発明者】
【氏名】キム チョルファン
(72)【発明者】
【氏名】ザング ヤンシャ
【審査官】大西 宏
(56)【参考文献】
【文献】特開2005-109885(JP,A)
【文献】特開2008-271522(JP,A)
【文献】特表2008-528195(JP,A)
【文献】特表2016-517314(JP,A)
【文献】米国特許出願公開第2017/0266491(US,A1)
【文献】米国特許出願公開第2018/0268865(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/91 - 5/956
H04N 21/00 -21/858
H04N 23/40 -23/76
A63B 69/00 -69/40
(57)【特許請求の範囲】
【請求項1】
ライブビデオフィード内の第1のオブジェクトのリアルタイムの動きに関連付けられた検知された姿勢、及びビデオ内の第2のオブジェクトの動きに関連付けられた予め記録された姿勢を調整するコンピュータに実装される方法において、
前記コンピュータが、
マッチング関数を適用して、前記検知された姿勢の1つのポイントと前記予め記録された姿勢の対応するポイントとの間の一致を判定することと、
前記一致に基づいて、再生時間を判定し、前記再生時間について前記第2のオブジェクトに関連付けられた前記ビデオの少なくとも1つのフレームを出力することと
を含む、コンピュータに実装される方法
【請求項2】
前記検知された姿勢の1つの前記ポイント及び前記予め記録された姿勢の前記対応するポイントが、第1のモードにおける前記第1のオブジェクト及び前記第2のオブジェクトの単一ポイントと、第2のモードにおける前記第1のオブジェクト及び前記第2のオブジェクトの複数のポイントとを含む、請求項1に記載のコンピュータに実装される方法
【請求項3】
前記第1のモードと前記第2のモードとの間で選択し、前記第2のモードでは、前記第1のオブジェクト及び前記第2のオブジェクトの前記複数のポイントの数及び位置を選択するユーザ制御が提供される、請求項2に記載のコンピュータに実装される方法
【請求項4】
前記第1のオブジェクトが、前記ビデオの出力を受信し且つ前記予め記録された姿勢と調整するために前記姿勢を順番に実行するユーザを含み、前記第2のオブジェクトが、前記予め記録された姿勢を順番に実行する前記ビデオに表示されたトレーナーを含む、請求項1に記載のコンピュータに実装される方法
【請求項5】
前記動きが、理学療法活動、運動の少なくとも一部、ダンスの少なくとも一部、又は演技動作の少なくとも一部のうちの1つを含む、請求項4に記載のコンピュータに実装される方法
【請求項6】
前記コンピュータが、
前記マッチング関数の前記適用及び前記再生時間の前記判定の結果に基づいて時間窓にわたる瞬間速度推定値を判定することと、
再生速度を生成するために、前記瞬間速度推定値に平滑化方法を適用することと、
前記再生速度に基づいて前記再生時間を更新することと
をさらに含む、請求項1に記載のコンピュータに実装される方法
【請求項7】
前記平滑化方法が、経験的に判定された平滑化係数による移動平均、又は前記時間窓にわたる前記第2のオブジェクトの動きの程度に基づいて変化する変数を含む、請求項6に記載のコンピュータに実装される方法
【請求項8】
前記ビデオが、前記第2のオブジェクトの前記予め記録された姿勢に関連付けられた1又は複数の視覚的フィードバック指標を含む、請求項1に記載のコンピュータに実装される方法
【請求項9】
前記1又は複数の視覚的フィードバック指標が、前記第2のオブジェクトの前記対応するポイントの動き経路を示す軌跡、前記軌跡に沿った前記第2のオブジェクトの対応するポイントの相対速度及び相対方向を示すトラック、及び前記第2のオブジェクトの前記対応するポイントの位置と前記第1のオブジェクトの前記ポイントの位置との間の差を示すゴムバンドのうちの1又は複数を含む、請求項8に記載のコンピュータに実装される方法
【請求項10】
ライブビデオフィード内の第1のオブジェクトのリアルタイムの動きに関連付けられた検知された姿勢、及びビデオ内の第2のオブジェクトの動きに関連付けられた予め記録された姿勢を調整することができるシステムにおいて、前記システムが、
マッチング関数を適用して、前記検知された姿勢の1つのポイントと前記予め記録された姿勢の対応するポイントとの間の一致を判定する動作と、
前記一致に基づいて、再生時間を判定し、前記再生時間について前記第2のオブジェクトに関連付けられた前記ビデオの少なくとも1つのフレームを出力する動作と
を実行するように構成されている、システム。
【請求項11】
前記検知された姿勢の1つの前記ポイント及び前記予め記録された姿勢の前記対応するポイントが、第1のモードにおける前記第1のオブジェクト及び前記第2のオブジェクトの単一のポイント、並びに第2のモードにおける前記第1のオブジェクト及び前記第2のオブジェクトの複数のポイントを含み、前記第1のモードと前記第2のモードとの間を選択し、前記第2のモードについて、前記第1のオブジェクト及び前記第2のオブジェクトの前記複数のポイントの数及び位置を選択するユーザ制御が提供される、請求項10に記載のシステム。
【請求項12】
前記第1のオブジェクトが、前記ビデオの出力を受信し、前記予め記録された姿勢と調整するために前記姿勢を順番に実行するユーザを含み、前記第2のオブジェクトが、前記予め記録された姿勢を順番に実行する前記ビデオに表示されるトレーナーを含み、前記動きが、理学療法活動、運動の少なくとも一部、ダンスの少なくとも一部、又は演技動作の少なくとも一部のいずれかを含む、請求項10に記載のシステム。
【請求項13】
前記マッチング関数の前記適用及び前記再生時間の前記判定の結果に基づいて、時間窓にわたって瞬間速度推定値を判定することと、
前記瞬間速度推定値を平滑化係数に適用して、再生速度を生成することと、
前記再生速度に基づいて前記再生時間を更新することと
をさらに含み、
前記平滑化係数が、経験的に判定された固定値、又は前記時間窓にわたる前記第2のオブジェクトの動きの程度に基づいて変化する変数を含む、請求項10に記載のシステム。
【請求項14】
前記ビデオが、前記第2のオブジェクトの前記予め記録された姿勢に関連付けられた1又は複数の視覚的フィードバック指標を含み、前記1又は複数の視覚的フィードバック指標が、前記第2のオブジェクトの前記対応するポイントの動きの経路を示す軌跡の1又は複数、前記軌跡に沿った前記第2のオブジェクトの前記対応するポイントの相対速度及び相対方向を示すトラック、及び前記第2のオブジェクトの前記対応するポイント及び前記第1のオブジェクトの前記ポイントの位置間の差を示すゴムバンドを含む、請求項10に記載のシステム。
【請求項15】
ライブビデオフィード内の第1のオブジェクトのリアルタイムの動きに関連付けられた検知された姿勢と、ビデオ内の第2のオブジェクトの動きに関連付けられた予め記録された姿勢とを調整することを含む処理を、プロセッサに実行させるプログラムであって、前記処理が、
マッチング関数を適用して、前記検知された姿勢の1つのポイントと前記予め記録された姿勢の対応するポイントとの間の一致を判定することと、
前記一致に基づいて、再生時間を判定し、前記再生時間について前記第2のオブジェクトに関連付けられた前記ビデオの少なくとも1つのフレームを出力することと
を含む、プログラム。
【請求項16】
前記検知された姿勢の1つの前記ポイント及び前記予め記録された姿勢の前記対応するポイントが、第1のモードにおける前記第1のオブジェクト及び前記第2のオブジェクトの単一のポイントと、第2のモードにおける前記第1のオブジェクト及び前記第2のオブジェクトの複数のポイントとを含み、前記第1のモードと前記第2のモードとの間を選択し、前記第2のモードについて、前記第1のオブジェクト及び前記第2のオブジェクトの前記複数のポイントの数及び位置を選択するユーザ制御が提供される、請求項15に記載のプログラム。
【請求項17】
前記第1のオブジェクトが、前記ビデオの出力を受信し、前記予め記録された姿勢と調整するために前記姿勢を順番に実行するユーザを含み、前記第2のオブジェクトが、前記予め記録された姿勢を順番に実行する前記ビデオに表示されるトレーナーを含み、前記動きが、理学療法活動、運動の少なくとも一部、ダンスの少なくとも一部、又は演技動作の少なくとも一部のいずれかを含む、請求項15に記載のプログラム。
【請求項18】
前記マッチング関数の前記適用及び前記再生時間の前記判定の結果に基づいて、時間窓にわたって瞬間速度推定値を判定することと、
前記瞬間速度推定値を平滑化係数に適用して、再生速度を生成することと、
前記再生速度に基づいて前記再生時間を更新することと
をさらに含み、
前記平滑化係数が、経験的に判定された固定値、又は前記時間窓にわたる前記第2のオブジェクトの動きの程度に基づいて変化する変数を含む、請求項15に記載のプログラム。
【請求項19】
前記ビデオが、前記第2のオブジェクトの前記予め記録された姿勢に関連付けられた1又は複数の視覚的フィードバック指標を含む、請求項15に記載のプログラム。
【請求項20】
前記1又は複数の視覚的フィードバック指標が、前記第2のオブジェクトの前記対応するポイントの動き経路を示す軌跡、前記軌跡に沿った前記第2のオブジェクトの前記対応するポイントの相対速度及び相対方向を示すトラック、及び前記第2のオブジェクトの前記対応するポイントの位置と前記第1のオブジェクトの前記ポイントの位置との間の差を示すゴムバンドのうちの1又は複数を含む、請求項19に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
例示的な実装の態様は、ビデオを観察しているユーザについて、リアルタイムでユーザの動きと同期したビデオ再生を提供することに関連付けられる方法、システム、及びユーザ体験に関する。
【背景技術】
【0002】
関連技術では、ユーザは、活動の実行に関するトレーニングをユーザに提供することを目的としたビデオを観察する場合がある。例えば、関連技術のビデオは、キットの部品の組み立てを実行するために、又はユーザが自身の身体を所定の方法で動かすために必要な一連の動作に関するトレーニングをユーザに提供する場合がある。いくつかの関連技術のビデオは、ユーザが自身の身体を動かしてヨガ、ダンス、理学療法などの活動を行う方法に関するトレーニングを提供する場合がある。
【0003】
関連技術のビデオ再生手法は、一連の動作を再生することができ、ユーザが動作のサブセットをレビューする必要がある場合、所望の場所に戻ることはユーザにとって困難である。例えば、ユーザは、ビデオを巻き戻し又はスクラブして、必要な動作に戻す必要がある場合がある。
【0004】
関連技術の手法は、欠点又は課題を有する場合がある。例えば、限定されるものではないが、ユーザがビデオを所望のポイントに巻き戻す必要があると、ユーザのトレーニング体験にとって不便になる可能性があり、ユーザがビデオから学習しようとしている実際のタスクからユーザの注意をそらす場合がある。一連のタスクの実行に関するトレーニングを提供するビデオ再生の代わりに、ユーザは、ビデオを制御するタスクの実行に焦点をあてる。
【0005】
さらに、ヨガ、ダンス、理学療法及びその他などのトレーニング活動では、ビデオを制御するための関連技術の手法は、ユーザが関連技術のビデオ再生手法を効果的に使用して学習を行うことを妨げる。これらの関連技術の欠点の結果として、ユーザは、活動を続けることを思いとどまることが多く、ヨガ若しくはダンスなどの分野においてスキルをさらに向上させることができず、又は実際に理学療法などに関連付けられるビデオ再生のために物理的に苦しみ続けるか又はその改善を回避し続ける場合がある。
【0006】
ビデオを制御する他の関連技術の手法には、音声コマンドを含む場合がある。しかしながら、そのような手法もまた、欠点及び課題を有する。ユーザがビデオを巻き戻し又はスクラブして所望のポイントに戻すために音声コマンドを使用又は呼び戻す必要がある場合、ユーザは、遠隔制御などの操作を使用する必要がある関連技術の手法と同様の方法で、トレーニング活動から焦点を失う。関連技術の手法はまた、ハンドヘルド装置だけでなく、ジェスチャ関連のコマンドも使用する場合がある。しかしながら、そのような手法はまた、特に活動が腕、手、指などの位置決めを含む場合、ユーザがトレーニング活動を実行することができない場合があるという点で、課題及び欠点を有する。
【0007】
さらなる関連技術の手法は、ビデオ再生の代替として、アバター又はアバターのアニメーションなどのコンピュータ生成グラフィックスの使用を含む場合がある。しかしながら、そのような関連技術の手法もまた、様々な欠点及び課題を有する。例えば、限定されるものではないが、これらの関連技術の手法は、実質的に高い開発コストを有する可能性がある。さらに、それらの手法は、トレーニング活動のためにユーザによって所望されるフォトリアリズムを提供しない。
【0008】
したがって、関連技術では、ユーザが焦点を失ったり又はトレーニング活動を中止したりする必要なく、ユーザがビデオにおいて提供されているトレーニング動作に成功裏に追随しているかどうかに関するフィードバックを提供するために、ユーザの動きを追跡し、適切な方法で再生を制御及び提示することができる、という満たされていないニーズがある。
【先行技術文献】
【非特許文献】
【0009】
【文献】KIMBER, D. et al “Trailblazing: Video Playback Control by Direct Object Manipulation” IEEE International Conference on Multimedia and Expo, August 2007, pp. 1015-1018
【文献】GIRGENSOHN, A. et al. "DOTS; Support for Effective Video Surveillance" Proceedings of the 15th ACM International Conference on Multimedia, 2007, September 23-28,2006; 10 pages; Augsberg, Bavaria, Germany.
【文献】DRAGICEVIC, P. et al. "Video Browsing by Direct Manipulation” In Proceedings of the Twenty-Sixth Annual SIGCHI Conference on Human Factors in Computing Systems, April 5-10,2008; 10 pages; Florence, Italy.
【文献】CLARKE, C. et al. "Remote Control by Body Movement in Synchrony with Orbiting Widgets: an Evaluation of TraceMatch” Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, September 2017.
【文献】FAUCETT, H. et al. "'I Should Listen More': Real-time Sensing and Feedback of Non-Verbal Communication in Video Telehealth" Proceedings of the ACM on Human-Computer Interaction, November 2017; 19 pages; Vol. 1, No. 2, Article 44
【文献】LEE, M. et al. "Empathetic video experience through timely multimodal interaction" International Conference on Multimodal Interfaces and the Workshop on Machine Learning for Multimodal Interaction; November 8-10,2010 (4pages).
【文献】ALVARADO, IRENE, "Move Mirror You move and 80,000 images move with you” Published July 19,2018; https://www.blog.google/technology/ai/move-mirror-you-move-and-80000-images-move-you; 2 pages.
【文献】BAPTISTA, R. et al. “Flexible Feedback System for Posture Monitoring and Correction” IEEE International Conference on Image Information Processing (ICIIP), 2017, pp. 1-6, Shimla, India.
【文献】"Procrustes analysis" Wikipedia, retrieved on June 26,2019;https://en.wikipedia.org/wiki/Procrustes_analysls; 5 pages.
【文献】RHODIN, H. et al. “Interactive Motion Mapping for Real-lime Character Control Eurographics, 2014; 10 pages; Vol 33 No. 2.
【発明の概要】
【発明が解決しようとする課題】
【0010】
本開示の技術は、ユーザの動きを追跡し、再生を制御及び提示することを目的とする。
【0011】
例示的な実装の第1の態様によれば、ライブビデオフィード内の第1のオブジェクトのリアルタイムの動きに関連付けられた検知された姿勢、及びビデオ内の第2のオブジェクトの動きに関連付けられた予め記録された姿勢を調整するコンピュータ実装方法が提供され、コンピュータ実装方法は、マッチング関数を適用して、検知された姿勢の1つのポイントと予め記録された姿勢の対応するポイントとの間の一致を判定することと、一致に基づいて、再生時間を判定し、再生時間について第2のオブジェクトに関連付けられたビデオの少なくとも1つのフレームを出力することと、を含む。
【0012】
第2の態様によれば、検知された姿勢の1つのポイント及び予め記録された姿勢の対応するポイントは、第1のモードにおける第1のオブジェクト及び第2のオブジェクトの単一ポイントと、第2のモードにおける第1のオブジェクト及び第2のオブジェクトの複数のポイントとを含む。
第3の態様によれば、第1のモードと第2のモードとの間で選択し、第2のモードでは、第1のオブジェクト及び第2のオブジェクトの複数のポイントの数及び位置を選択するユーザ制御が提供される。
【0013】
第4の態様によれば、第1のオブジェクトは、ビデオの出力を受信し且つ予め記録された姿勢と調整するために姿勢を順番に実行するユーザを含み、第2のオブジェクトは、予め記録された姿勢を順番に実行するビデオに表示されたトレーナーを含む。
第5の態様によれば、動きは、理学療法活動、運動の少なくとも一部、ダンスの少なくとも一部、又は演技動作の少なくとも一部のうちの1つを含んでもよい。
【0014】
第6の態様によれば、コンピュータ実装方法は、マッチング関数の適用及び再生時間の判定の結果に基づいて時間窓にわたる瞬間速度推定値を判定することと、再生速度を生成するために、瞬間速度推定値に平滑化方法を適用することと、再生速度に基づいて再生時間を更新することとを含む。
第7の態様によれば、平滑化方法は、経験的に判定された固定平滑化係数による移動平均、又は時間窓にわたる第2のオブジェクトの動きの程度に基づいて変化する変数を含んでもよい。
【0015】
第8の態様によれば、ビデオは、第2のオブジェクトの予め記録された姿勢に関連付けられた1又は複数の視覚的フィードバック指標を含む。
第9の態様によれば、1又は複数の視覚的フィードバック指標は、第2のオブジェクトの対応するポイントの動き経路を示す軌跡、軌跡に沿った第2のオブジェクトの対応するポイントの相対速度及び相対方向を示すトラック、及び第2のオブジェクトの対応するポイントの位置と第1のオブジェクトのポイントの位置との間の差を示すゴムバンドのうちの1又は複数を含んでもよい。
【0016】
第10の態様によれば、ライブビデオフィード内の第1のオブジェクトのリアルタイムの動きに関連付けられた検知された姿勢、及びビデオ内の第2のオブジェクトの動きに関連付けられた予め記録された姿勢を調整することができるシステムにおいて、前記システムが、マッチング関数を適用して、前記検知された姿勢の1つのポイントと前記予め記録された姿勢の対応するポイントとの間の一致を判定する動作と、前記一致に基づいて、再生時間を判定し、前記再生時間について前記第2のオブジェクトに関連付けられた前記ビデオの少なくとも1つのフレームを出力する動作とを実行するように構成されている
【0017】
第11の態様によれば、前記検知された姿勢の1つの前記ポイント及び前記予め記録された姿勢の前記対応するポイントが、第1のモードにおける前記第1のオブジェクト及び前記第2のオブジェクトの単一のポイント、並びに第2のモードにおける前記第1のオブジェクト及び前記第2のオブジェクトの複数のポイントを含み、前記第1のモードと前記第2のモードとの間を選択し、前記第2のモードについて、前記第1のオブジェクト及び前記第2のオブジェクトの前記複数のポイントの数及び位置を選択するユーザ制御が提供される。
【0018】
第12の態様によれば、前記第1のオブジェクトが、前記ビデオの出力を受信し、前記予め記録された姿勢と調整するために前記姿勢を順番に実行するユーザを含み、前記第2のオブジェクトが、前記予め記録された姿勢を順番に実行する前記ビデオに表示されるトレーナーを含み、前記動きが、理学療法活動、運動の少なくとも一部、ダンスの少なくとも一部、又は演技動作の少なくとも一部のいずれかを含む。
【0019】
第13の態様によれば、前記マッチング関数の前記適用及び前記再生時間の前記判定の結果に基づいて、時間窓にわたって瞬間速度推定値を判定することと、前記瞬間速度推定値を平滑化係数に適用して、再生速度を生成することと、前記再生速度に基づいて前記再生時間を更新することとをさらに含み、前記平滑化係数が、経験的に判定された固定値、又は前記時間窓にわたる前記第2のオブジェクトの動きの程度に基づいて変化する変数を含む。
【0020】
第14の態様によれば、前記ビデオが、前記第2のオブジェクトの前記予め記録された姿勢に関連付けられた1又は複数の視覚的フィードバック指標を含み、前記1又は複数の視覚的フィードバック指標が、前記第2のオブジェクトの前記対応するポイントの動きの経路を示す軌跡の1又は複数、前記軌跡に沿った前記第2のオブジェクトの前記対応するポイントの相対速度及び相対方向を示すトラック、及び前記第2のオブジェクトの前記対応するポイント及び前記第1のオブジェクトの前記ポイントの位置間の差を示すゴムバンドを含む。
【0021】
第15の態様によれば、ライブビデオフィード内の第1のオブジェクトのリアルタイムの動きに関連付けられた検知された姿勢と、ビデオ内の第2のオブジェクトの動きに関連付けられた予め記録された姿勢とを調整することを含む処理を、プロセッサに実行させるプログラムであって、前記処理が、マッチング関数を適用して、前記検知された姿勢の1つのポイントと前記予め記録された姿勢の対応するポイントとの間の一致を判定することと、前記一致に基づいて、再生時間を判定し、前記再生時間について前記第2のオブジェクトに関連付けられた前記ビデオの少なくとも1つのフレームを出力することとを含む。
【0022】
第16の態様によれば、前記検知された姿勢の1つの前記ポイント及び前記予め記録された姿勢の前記対応するポイントが、第1のモードにおける前記第1のオブジェクト及び前記第2のオブジェクトの単一のポイントと、第2のモードにおける前記第1のオブジェクト及び前記第2のオブジェクトの複数のポイントとを含み、前記第1のモードと前記第2のモードとの間を選択し、前記第2のモードについて、前記第1のオブジェクト及び前記第2のオブジェクトの前記複数のポイントの数及び位置を選択するユーザ制御が提供される。
【0023】
第17の態様によれば、前記第1のオブジェクトが、前記ビデオの出力を受信し、前記予め記録された姿勢と調整するために前記姿勢を順番に実行するユーザを含み、前記第2のオブジェクトが、前記予め記録された姿勢を順番に実行する前記ビデオに表示されるトレーナーを含み、前記動きが、理学療法活動、運動の少なくとも一部、ダンスの少なくとも一部、又は演技動作の少なくとも一部のいずれかを含む。
【0024】
第18の態様によれば、前記マッチング関数の前記適用及び前記再生時間の前記判定の結果に基づいて、時間窓にわたって瞬間速度推定値を判定することと、前記瞬間速度推定値を平滑化係数に適用して、再生速度を生成することと、前記再生速度に基づいて前記再生時間を更新することとをさらに含み、前記平滑化係数が、経験的に判定された固定値、又は前記時間窓にわたる前記第2のオブジェクトの動きの程度に基づいて変化する変数を含む。
【0025】
第19の態様によれば、前記ビデオが、前記第2のオブジェクトの前記予め記録された姿勢に関連付けられた1又は複数の視覚的フィードバック指標を含む。
【0026】
第20の態様によれば、前記1又は複数の視覚的フィードバック指標が、前記第2のオブジェクトの前記対応するポイントの動き経路を示す軌跡、前記軌跡に沿った前記第2のオブジェクトの前記対応するポイントの相対速度及び相対方向を示すトラック、及び前記第2のオブジェクトの前記対応するポイントの位置と前記第1のオブジェクトの前記ポイントの位置との間の差を示すゴムバンドのうちの1又は複数を含む。
【図面の簡単な説明】
【0027】
図1図1は、実装例にかかるシステムの様々な態様を示している。
図2(a)】図2(a)は、実装例にかかるシステムの様々な態様を示している。
図2(b)】図2(b)は、実装例にかかるシステムの様々な態様を示している。
図2(c)】図2(c)は、実装例にかかるシステムの様々な態様を示している。
図3図3は、いくつかの例示的な実装において使用する例示的なハードウェアの態様を示している。
図4図4は、いくつかの例示的な実装の例示的なプロセスを示している。
図5図5は、いくつかの例示的な実装における使用に適した例示的なコンピュータ装置を有する例示的なコンピューティング環境を示している。
図6図6は、いくつかの例示的な実装に適した例示的な環境を示している。
【発明を実施するための形態】
【0028】
以下の詳細な説明は、本特許出願の図面及び例示的な実装のさらなる詳細を提供する。図面間の重複する要素の参照符号及び説明は、明確化のために省略されている。説明全体にわたって使用される用語は、例として提供されており、限定を意図するものではない。
【0029】
例示的な実装の態様は、ビデオ再生の方法及びシステムに関する。より具体的には、例示的な実装は、ビデオの再生が、ビデオを視聴している可能性のあるユーザの動き及び動作とリアルタイムで同期されるビデオ再生スキームを含む。この例示的な実装によれば、ユーザは、ビデオを視聴しながら、選択されたペースにおけるビデオ再生に関連付けられた身体的活動及び/又はタスクに従事して焦点をあてることができ、ビデオ再生の特定のポイントの巻き戻し又は検索のために焦点を失う必要はない。例示的な実装は、これらに限定されるものではないが、ダンス、ヨガ、太極拳などの身体的指導、並びに理学療法、ハウツービデオ及びエンターテイメントを含む様々なビデオに適用されることができる。
【0030】
これらの例示的な実装によれば、システムは、再生中のユーザの動きをリアルタイムで追跡し、ユーザの身体的行動と一致又は調整するようにビデオを再生するために動きに反応する出力をユーザに提供する。したがって、例示的な実装は、これに限定されるものではないが、記録された専門家のパフォーマンスを含むことがあるビデオのビデオ再生に対する制御をユーザに提供する。より具体的には、ユーザの動きを介して、システムは、再生されているビデオ内の専門家の位置にいるという体験をユーザに提供する。例示的な実装は、コンピュータ生成グラフィックス又はアバターを使用せずに提供される。
【0031】
例示的な実装では、ビデオ再生システムは、環境内の動きを追跡する。より具体的には、ユーザの動きは、ユーザが身体的活動から焦点を変更することなく、有用なフィードバック機構を提供するようにユーザがビデオを再生し続けるか、又はビデオと相互作用することを可能にするように追跡される。例えば、限定されるものではないが、ビデオは、身体的活動を行う専門家を含んでもよい。1つの例示的な実装では、ユーザは、ビデオを観察しているユーザが学習又は練習しようとしている太極拳の動きである「雲の手(cloud hands)」を示してもよい。
【0032】
図1は、例示的な実装100を示している。例示的な実装100では、ユーザ101は、ビデオ画面、投影画面などのディスプレイ103を視認している。ユーザ101を検知する1又は複数のビデオカメラ105が提供される。スピーカもまた提供されてもよい。より具体的には、ディスプレイ103上で提供される情報に応答する身体の動きなどのユーザ101の身体的活動が検知される。
【0033】
ディスプレイ103では、ビデオ再生は、オブジェクト109を含む。本例示的な実装では、オブジェクト109は、1又は複数の動作を行う教師の予め記録されたビデオである。ビデオ再生は、ユーザ101の動きと同期される。例えば、これに限定されるものではないが、ユーザが自身の動きの速度を上げた場合、ビデオの再生速度もまた、対応する速度で上がる。同様に、ユーザ101が減速した場合、停止した場合、又は逆方向に動いた場合、ビデオは、それに応じて、減速するか、停止するか、又は逆方向に動く。結果として、ユーザ101がビデオ内のオブジェクト109の速度よりも遅く動いている場合、ビデオは、速度差に応答し、減速する。その結果、ユーザ109は、ビデオ再生の位置を前のポイントに巻き戻したり逆転したりする必要がなく、ユーザ101の焦点は、変更されたり失われたりすることがない。
【0034】
さらに、115及び117で示されるようにユーザ101が自身の手を動かすなど、適切な動きだけでなく、自身の位置に関するフィードバックをユーザ101に与えるために、視覚的指標111、113が提供される。例えば、限定されるものではないが、図1に示す「雲の手(cloud hands)」の例では、ユーザ101が動くと、ビデオに示されているオブジェクト109の姿勢がユーザ101の動きと時間を合わせるように、それに沿ってビデオが再生される。
【0035】
例示的な実装を実装するために、ビデオ内のオブジェクト109の動きが追跡され、リアルタイムでのユーザ101の動きが追跡される。例示的な実装では、ユーザ101の身体が追跡されている。追跡は、毎回、ユーザ101の身体に関連付けられた115及び117などの関節位置の推定値を提供する。しかしながら、例示的な実装はそれに限定されるものではなく、身体としてのオブジェクト109に加えて、ビデオ内の個人又はオブジェクトの追跡など、本発明の範囲から逸脱することなく、他のオブジェクトがユーザの関節位置に置き換えられてもよい。
【0036】
例示的な実装において生成された推定値は、以下で詳細に説明される。例えば、推定値は、3D世界空間又は2D画像空間内で生成されることができる。さらに、推定値は、ユーザに再生される前にビデオの記録と同時に生成されてもよい(例えば、ビデオの初期記録とともにライブで)。さらに、ライブ初期記録推定値の代替として、又はそれに追加して、初期ビデオが記録された後に推定値が生成されてもよい。
【0037】
図2(a)-図2(c)は、例示的な実装にかかる視覚的指標の追加の例示的な説明200を示している。例えば、図2(a)に示すように、201において、本例示的な実装では太極拳マスターである教師などのオブジェクト109は、ビデオにおいてディスプレイ103に示される様々な指標を有する。より具体的には、着色軌跡203(緑色)、205(朱色)は、マスターが動きを示すときのマスターの手の動きを示している。矢印207(紫色)、209(紫色)が提供され、それぞれの軌跡203、205に沿った相対速度及び相対方向を示している。
【0038】
図2(b)に示すように、211において、複数のユーザ101がビデオカメラによって検知及び追跡されている。ビデオカメラから受信した信号は、ユーザ101の手の過去及び提案される将来の動きを示す着色軌跡213(朱色)、215(緑色)、221(緑色)、223(朱色)を示すように処理されている。矢印217(紫色)、219(紫色)、225(紫色)、227(紫色)は、それぞれの軌跡に沿った、ユーザ101の手の動きの速度及び方向を示すために提供されている。
【0039】
図2(c)に示すように、着色の軌跡231(緑色)、233(朱色)、及び軌跡235(紫色)、237(紫色)に沿った相対速度及び相対方向を示す矢印とともに、ビデオのオブジェクト109、この場合はマスター(例えば、トレーナー)が示されている。さらに、図2(a)の記録されたビデオからの一致する関節と比較して、図2(b)において上記で示すように、ユーザ101の手の相対的な位置を示す「ゴムバンド」と呼ばれることもある指標239、231が示されている。
【0040】
前述の例示的な実装では、ビデオ自体の再生以外に、ユーザのさらなるトレーニングのために追加の視覚的フィードバックが提供又は要求されることはない。任意に、上記の指標は、ビデオ内の対応する部分の動きと比較して、ユーザのリアルタイムの動き間の一致の程度に関連付けられている。例えば、限定されるものではないが、ユーザと予め記録されたビデオとの間の同期が1又は複数の関節の位置、又は手の位置などのユーザの身体の位置に基づいている場合、ユーザに表示されるビデオは、ユーザがそれらの軌跡をたどる方法に関する指標とともに、記録されたビデオ内の手の軌跡を示すことができる。
【0041】
したがって、ユーザは、軌跡に沿って、ユーザが所望する速度で、又はビデオ内の軌跡の逆方向にさえも、自身の手を動かすことができ、ビデオは、カメラと連動して、ユーザの活動に追随する。また、上記で説明したように、軌跡自体に加えて、軌跡の方向及び速度を示すために矢印が提供されてもよい。
【0042】
同様に、ユーザは、ビデオの視聴に関して様々な表示オプションを選択することができる。1つの例示的な実装によれば、ユーザは、記録されたビデオのみを視聴し、記録されたビデオに追随(又はリード)することができる。他の例示的な実装によれば、ユーザは、記録されたビデオの隣で自身の動きの視覚的フィードバックを見ることができるように、ライブモードで自身のビデオを視聴すると同時に記録されたビデオを視聴してもよい。他の例示的な実装では、記録されたビデオ及びライブビデオが本明細書で説明されるように同時に示される場合、記録されたビデオ内に動きフィードバックを示すことに加えて又は代替として、ライブビデオに動きフィードバックが提供されてもよい。
【0043】
さらなる例示的な実装によれば、ユーザがビデオに追随しているか、又は自由に動いているかのいずれかのとき、ユーザの動きが記録されてもよい。そして、ユーザに関連付けられた動きの記録は、他のユーザ、及び/又は教師によって使用されてもよい。例えば、限定されるものではないが、例示的な実装は、遠隔医療の例示的な実装において使用されてもよい。
【0044】
そのような手法では、理学療法士は、患者が実行するための運動などの治療の動きを記録することができる。患者は、ビデオを視聴して、記録中に運動又は動きを行うことができる。運動又は動きの実施後、記録は、理学療法士に提供されてもよい。理学療法士は、後に患者の動きを調べ、追加の動き、又は記録された動きに関するフィードバックを提供してもよい。さらに、理学療法士は、ユーザの記録されたビデオと比較して予め記録されたビデオを使用し、上記で説明したように軌跡、矢印及びゴムバンドを組み込んで、ユーザに詳細な指示及びフィードバックを提供してもよい。
【0045】
前述の例示的な実装は、ビデオ内のオブジェクトの身体の動きと同期されるリアルタイムでのユーザの身体の動きを対象としているが、例示的な実装は、それに限定されるものではなく、したがって、他の例示的な実装は、本発明の範囲から逸脱することなく置き換えられてもよい。例えば、これに限定されるものではないが、予め記録されたビデオは、複数の人物及び追跡されるオブジェクトを含んでもよい。さらに、再生中に、ユーザの指の位置が追跡され、指の位置の動きの軌跡に基づいて、ビデオをドラッグするために使用されてもよい。
【0046】
図3は、例示的な実装にかかるシステムの概略図を示している。より具体的には、システムは、関節303及び305を有するユーザ301が1又は複数の関節303及び305の運動を必要とする身体的活動を実行することができるように、領域300に物理的に配置される。領域300はまた、ユーザが観察することができるディスプレイ307も含む。以前に記録されたビデオの再生は、ディスプレイ307に出力され、ユーザ301が追随又は学習しようとしている一連の動き又は姿勢を含む。
【0047】
ビデオカメラなどのセンサ309は、ディスプレイ307を備えている。センサ309は、ディスプレイ307から分離されていてもよく、又はディスプレイ307に内蔵されたカメラ装置など、ディスプレイ307と一体的に形成されていてもよい。センサ309は、ディスプレイ307上の予め記録されたビデオの出力に基づいてユーザが動いている関節303及び305の動きを含む、ユーザ301の動きを検知する。任意に、ユーザがまた、ディスプレイ307上の予め記録されたビデオに関連付けられた命令、コマンド、音楽、又は他のオーディオ情報を聞くことができるように、オーディオ出力部311a、311b(例えば、スピーカなど)も提供されてもよい。
【0048】
ディスプレイ307、カメラ309、及び所望により存在するオーディオ出力部311a、311bは、有線又は無線通信のいずれかにより、プロセッサ313と通信可能に接続されることができる。例えば、限定されるものではないが、プロセッサ313は、領域300に位置するパーソナルコンピュータ又はラップトップとすることができる。任意に、プロセッサ313は、領域300から離れて位置するサーバであってもよい。プロセッサ313は、ディスプレイ307及び/又はセンサ309に関連付けられた1又は複数の設定を調整し、例えば、限定されるものではないが、ディスプレイ307の出力及びセンサ309の入力に関連付けられたマッチングモード、再生モード、タイミングモード、速度、軌跡、矢印、ゴムバンド又は他の特性を調整するために使用されてもよい。
【0049】
より具体的には、ディスプレイ307は、運動又は活動を行うトレーナーの予め記録されたビデオなどのオブジェクト315を含むことができる。本例示的な実装では、関節317、319を有するオブジェクト315が示されており、ユーザ301は、関節317、319の動きに追随しており、自身の関節303、305を動かそうとしている。さらに、上記で説明したように、軌跡、矢印又はゴムバンドなどの指標321、323はまた、個別に又は組み合わせて提供されてもよい。
【0050】
上記で説明したように、例示的な実装は、ビデオの記録時にリアルタイムでキャプチャされる、又はビデオのオフライン処理から後で生成される、ビデオ姿勢の第1のシーケンスを含むビデオ間のマッチング動作の実行を含む。ビデオ姿勢の第2のシーケンスは、ライブトラッキングとして、リアルタイムで使用中に取得され、ビデオ姿勢の第2のシーケンスを生成する。
【0051】
姿勢の第1のシーケンス及び姿勢の第2のシーケンスがそれぞれ追跡された関節のセットの2D画像位置である場合、第2のシーケンスのフレームに最も類似した第1のシーケンスのフレームを示すために、シーケンスにおける新たな時間ステップごとに基本的な再生モードが提供される。フレームを取得するために、マッチング関数が実行される。マッチング関数は、モード又はアプリケーションによって異なっていてもよい。しかしながら、1つの例示的な実装によれば、焦点が規定の関節位置に提供され、他の関節位置は無視される。そのような手法では、一致は、規定の関節位置の画像座標間のユークリッド距離によって示される。例えば、関節位置は、右手、左手又は他の身体部分に関連付けられたものであってもよい。
【0052】
より具体的には、第1のシーケンスは、ビデオにとって利用可能なビデオ姿勢のシーケンスPv(t)として表されることができ、第2のシーケンスは、ライブ姿勢PL(t)として表されることができ、tcは、リアルタイムクロック時間を示し、tは、ビデオにおける再生時間を示す。Pv(t)及びPL(t)がそれぞれ追跡された関節のセットの2D画像位置である場合、基本的な再生モードは、新たな時間ステップtcごとに、PL(tc)に最も類似した姿勢Pv(t)を有する記録されたビデオのフレームを示す。例えば、フレームは、時間t*について示され、式(1)は、以下の関係を提供する:
【0053】
t*=argmin match[Pv(t),PL(tc)] (1)
【0054】
ここで、match[・,・]は、マッチング関数である。例えば、match[Pv(t),PL(tc)]は、右手位置の画像座標間のユークリッド距離とすることができる。P(t)[j]が関節jの2D位置を表す場合、この例示的な実装では、マッチング関数は、以下のように式(2)によって表される:
【0055】
match[Pv(t),PL(tc)]=dist[Pv(t)[‘右手’],PL(tc)[‘右手’]] (2)
【0056】
例示的な実装は、1又は複数のマッチングモードを提供する。例えば、限定されるものではないが、単一の関節ポイント及びドラッグマッチングモードが提供されてもよく、多関節トラッキングモードが提供されてもよい。
【0057】
例示的な実装の単一の関節ポイント及びドラッグモードによれば、手などの関節は、ユーザがその特定の関節を動かしてビデオ内の関節の軌跡に沿ってスクラブする際に、ビデオ内で追跡されるべきポイントを選択するために使用されることができる。ユーザが焦点を失うことなく正しい動きをするのを支援するために、軌跡の一部がビデオ内に表示され、ユーザは、リアルタイムで自身の手を動かす場所を理解することができる。この単一の関節ポイント及びドラッグモードによれば、軌跡までの手のポイントの距離が開始閾値よりも小さい場合にドラッグが有効になり、軌跡までの手のポイントの距離が停止閾値よりも大きい場合にドラッグが無効になる。
【0058】
これらに限定されるものではないが、開始及び停止に対応する閉じた拳及び開いた拳など、特定のジェスチャ又は手の動きの使用を含む代替手法が採用されてもよい。したがって、ユーザの関節は、リアルタイムで、記録されたビデオ内のオブジェクト又は関節をドラッグするためにも使用されることができるポインタとして使用される。さらに、ドラッグされた関節は、ビデオ内のポインタに使用される関節に限定されるものではない。
【0059】
他の例示的な実装によれば、複数の関節がユーザ上で追跡されてもよく、追跡されたユーザの複数の関節は、記録されたビデオ内の対応する関節と一致してもよい。この手法を実装するために、以下のように式(3)の関係によって識別されるように、マッチング関数が提供されることができる:
【0060】
match[Pv(t),PL(tc)]=Σdist[Pv(t)[j],PL(tc)[j]] (3)
【0061】
ここで、Jは、左手及び右手など、追跡されている関節のセットを表す。このマッチング関数によれば、追跡されるべき関節のセットは、最大で追跡されるべき関節の完全セットまで、僅か単一の関節を含むことができる。より少ない関節の使用は、ユーザが焦点を維持してフィードバックを理解するとともに、ユーザがトレーニングを受けている記録に動きを適応させることを認知的に容易にすることができ、より多くの関節の使用は、より全体的な動きの特性、したがって、より完全なトレーニングの機会をユーザに提供することができる。
【0062】
1つの例示的な実装によれば、ユーザは、ユーザの焦点のレベル又はユーザのトレーニング機会に関する意図に基づいて、追跡される関節の数を制御することができる場合がある。例えば、限定されるものではないが、ユーザは、トレーニングの初期段階において1つ又はいくつかの関節の選択を示し、フィードバックの理解に焦点をあてて、ビデオ記録に細かい運動を適合させ、その後、より全体的なトレーニング手法を得るために関節の数を徐々に増加させることができる。
【0063】
さらに、例示的な実装は、1又は複数の再生タイミングモードを含んでもよい。例えば、第1のモードによれば、予め記録されたビデオは、予め記録されたビデオにおける動きに追随するユーザの基礎を提供する(例えば、関連技術の手法)。第2のモードによれば、ユーザは動きを生成し、ビデオはユーザを追跡する。第3のモードによれば、ユーザはまた、動きも生成し、ビデオは速度を追跡する。
【0064】
第1のモード(例えば、関連技術の手法)では、予め記録されたビデオが固定レートなどで再生される。ユーザは、予め記録されたビデオ内のオブジェクトの動きにリアルタイムで追随し、予め記録されたビデオによって自身の動きを維持しようとする。第1のモードは、各時間ステップtcについて、以下のように式(4)によって表されることができる:
【0065】
playTime=playTime+playSpeed*Δt (4)
【0066】
第1のモードにおける例示的な実装によれば、記録されたフレームは、再生時間について示される。
【0067】
この例示的な実装によれば、ユーザは、ユーザが特定の変数を設定又は変更することを可能にするユーザインターフェース要素によって提示されることができる。例えば、限定されるものではないが、再生時間又は再生速度は、ユーザによって変更されることができる。この例示的な実装では、システムは、ユーザを追跡しない。しかしながら、ユーザがビデオのペースに遅れてビデオを巻き戻したい又は減速したい場合、ユーザは、ビデオを明示的に制御して、以前の再生時間に戻すか又は速度を変更する必要がある。
【0068】
第2のモードによれば、予め記録されたビデオは、一時停止され、システムによって検出されるユーザの動きの態様に関連付けられた動きに一致させるようにスクラブされることができる。したがって、再生時間は、ユーザの動きによって判定される。さらに、再生速度の連続性は、ユーザの動きに基づいている。上記のように、各リアルタイムtcについて、上記で示されて説明されるように、最適なマッチングフレームの時間は、式(1)によって計算され、t*からのフレームが使用される。
【0069】
より具体的には、各時間ステップtcについて、ライブフレームが観察され、PL(tc)の値が判定される。さらに、t*の値は、式(1)に関して上述したように判定される。したがって、再生時間は、t*に設定され、記録されたフレームは、再生時間に対して示される。
【0070】
第3のモードによれば、ビデオ再生システムは、ビデオのトラックに沿ったユーザの動きを追跡する。この追跡に基づいて、ユーザの動きの速度が推定される。速度は、トラック上の正の前進運動、トラック上の負若しくは後退運動、又はユーザがトラックに沿って一時停止されている場合のゼロとすることができる。より具体的には、瞬間速度推定値は、マッチング関数の結果及び再生時間の判定に基づいて、時間窓にわたって判定される。平滑化方法が瞬間速度推定値に適用されて再生速度を生成し、再生時間が再生速度に基づいて更新される。さらに、平滑化方法は、経験的に判定された固定平滑化係数による移動平均、又は時間窓にわたる第2のオブジェクトの動きの程度に基づいて変化する変数を含んでもよい。
【0071】
この例示的な実装によれば、各時間ステップtcについて、ユーザの活動に関連付けられたライブフレームが観察され、PL(tc)が判定される。さらに、上記で説明されるように、t*は、式(1)にしたがって判定される。さらに、瞬間速度推定値であるsの値は、以下のように式(5)に基づいて判定される:
【0072】
s=(t*-playTime)/Δt (5)
【0073】
Sの判定された値に基づいて、再生速度は、以下のように式(6)によって定義される:
【0074】
playSpeed=w*s+(1-w)*playSpeed (6)
【0075】
前述の式(6)では、平滑化の重みとしてwが提供され、これは、速度の実行中の推定値が新たな観測速度推定値にどれだけ速く適応するかを判定する。例えば、wの値を1にすると、速度モードの態様を効果的に排除する。そのようなシナリオでは、t*についてのフレームの各時間ステップが生成される。一方、wの値がゼロに近付くと、システムがユーザの動きの速度を追跡するため、より有意な程度の平滑化を示す。
【0076】
したがって、以下の式(7)に示すように、再生速度が使用されて再生時間を判定する:
【0077】
playTime=playTime+playSpeed*Δt (7)
【0078】
上記に基づいて、記録されたフレームは、再生時間に対して示される。
【0079】
第3のモードに関連付けられた前述の例示的な実装では、wの値は、その更新された再生速度推定値への影響に関して、ユーザの検出位置の変化の強さに関連付けられる。例えば、限定されるものではないが、wは、経験的に判定される固定値とすることができる。あるいは、wは、一定ではない他の方法で判定されてもよいが、記録の軌跡が時間に対してどれだけ速く変化するかに関連付けられてもよい。例えば、速度は、式(8)にしたがって、時間tで記録された軌跡の動きの姿勢空間において定義されることができる。
【0080】
v(t)=dist[Pv(t),Pv(t+Δt)]/Δt (8)
【0081】
より大きなv(t)の値は、より有意な量の動きを示している。検出された位置の変化は、時間変化の推定値を提供するため、wは、より高く示される場合がある。一方、より小さなv(t)の値は、しばらくの間、動きがほとんどないことを示している場合がある。そのような状況では、動きがほとんどない場合、音声の推定値は、更新されるべきではなく、動きが再開したとき、ビデオが記録の後半まで同じ速度で再生し続けるように、wの値は、ゼロ付近に維持されてもよい。
【0082】
軌跡がそれ自体と相互作用する場合、又は交差点の近くで「ちらつき」が発生する場合、追跡された位置の僅かな摂動がビデオ再生における不連続性を引き起こし得る場合、連続するフレームは、大幅に異なる記録時間から提示される場合がある。この発生に対処するために、現在の再生時間からの時間差にペナルティを科すように、期間がマッチングスコアに追加されることができる。さらに、システムが継続性を維持するが、ユーザが追随するように再生速度を適合させる場合、同期再生モードが提供されてもよい。さらに、追加の関節の追跡が追加されてもよい。記録に一定の期間が存在し、追跡されている関節の明らかな動きがない状況では、上記で説明された第3のモードは、また上述したように、動き依存更新レートで使用されてもよい。
【0083】
いくつかの例示的な実装によれば、ユーザは、ビデオ画像内の自身の関節の位置が使用されてシステムを制御することができるように、自身を位置決めすることができる。例えば、限定されるものではないが、ユーザは、自身の関節が、ユーザが制御したい又は関連付けたい場合があるビデオ内の関節の近くに位置決めされる姿勢で立つことができる。
【0084】
あるいは、追跡された関節位置からビデオ内の関節とほぼ位置合わせされた位置合わせ位置まで変換が適用されてもよい。例えば、限定されるものではないが、追跡された関節は、頭部位置、重心、関節点などを位置合わせする変換関数Tによって変換されてもよい。位置合わせは、使用開始時に実行され、明示的に要求された場合、又は各フレームによるなどの定期的に更新されることができる。頻繁に発生する更新の場合、更新の重みは、位置合わせに関連付けられた相対的なタイムスケールがトレーニングに関連付けられた活動に典型的な動きのタイムスケールよりも遅いように、一定期間にわたって少量の動きについて設定されてもよい。
【0085】
3-D位置の場合、位置合わせは、並進、回転及び任意にスケールの変換に関して、ポイントの最小二乗位置合わせを取得するために、プロクラステスフィッティングを実装することができる。追加の位置合わせ手法は、骨格モデル間の運動適応の方法を採用することができる。3-Dの例示的な実装を使用することにより、利点が得られることができる。例えば、限定されるものではないが、ユーザがカメラの位置に対して前後に移動する動きを実行している場合、関節追跡は、2-Dの例示的な実装と比較して、そのような動きを精密且つ正確に検出及び処理するのにかなり効果的であり得る。
【0086】
例示的な実装によれば、システムは、例えば、ユーザが1つの運動と他の運動とを切り替えているときを自動的に認識してもよい。1つの例示的な実装では、ライブで実行されている動きは、履歴データなどの情報ライブラリに対するクエリとして使用されてもよく、システムは、マッチング関数を使用して活動を自動的に学習又は予測してもよい。
【0087】
さらに、システムによって検知されているユーザ活動が記録されてもよく、トレーナー又は、例えば理学療法士に提供されてもよい。したがって、ユーザの活動は、マッチング関数を使用して予め記録されたビデオと比較するために、記録され、トラッカを介して供給され、記録されたコンテンツに変換され、トレーナーに提供されてもよい。
【0088】
図4は、例示的な実装にかかる例示的なプロセス400を示している。本明細書で説明されるように、例示的なプロセス400は、1又は複数の装置上で実行されることができる。
【0089】
401において、再生ビデオ又はトレーニングビデオが受信される。例えば、限定されるものではないが、トレーニングビデオは、動きを行うトレーナーの記録とすることができる。トレーニングビデオは、トレーニング中にユーザのためにディスプレイに表示される。
【0090】
403において、トレーニングビデオは、トレーニングビデオ内のビデオ姿勢のシーケンスを定義するように処理される。この処理は、ビデオが記録されているときにリアルタイムで実行されることができる。あるいは、ビデオのオフライン処理中など、トレーニングビデオが記録された後、ビデオ姿勢がキャプチャされてもよい。上記で説明されたように、姿勢は、1又は複数の関節の追跡に関連付けられる。
【0091】
したがって、403の後、トレーニングビデオが生成されている。トレーニングビデオは、ビデオのコンテンツにおいて実行されている動きに関するトレーニングのプロセスにある1又は複数のユーザによって使用されることができる。動作401及び403は、ビデオが生成されている最初の時点で実行される必要があるのみであり、ユーザがビデオを見るたびに実行される必要はない。
【0092】
405において、ユーザは、センサによって検知される動きを実行する。例えば、限定されるものではないが、センサは、ビデオ入力としてユーザのリアルタイムの動きを検知するカメラとすることができる。再生タイミングモードに応じて、ユーザは、ビデオがリードしてユーザが追随することにより、ビデオの再生と同時に動きを実行していてもよい。あるいは、本明細書で説明するように、ユーザがリードしてビデオがユーザを追跡していてもよい。
【0093】
407において、リアルタイムでも同様に、検知されたビデオ入力から、ライブ追跡が実行される。ライブ追跡の結果として、ユーザの1又は複数のライブ姿勢が、検知されたビデオ入力においてリアルタイムに検出される。
【0094】
検知されたビデオ入力においてリアルタイムでユーザの1又は複数のライブ姿勢が検出され、上記で説明されたように、トレーニングビデオのビデオ姿勢が予め定義されている場合、409において、マッチング関数が適用されることができる。マッチング関数の態様は上述されている。マッチング関数の結果として、再生時間(例えば、t*)がフレームについて定義される。したがって、予め記録された再生ビデオの再生は、追跡された関節の姿勢に基づいて再生時間の観点から判定されることができる。上述したように、マッチングモードは、単一の関節ポイント及びドラッグ、多関節追跡、又はそれらの組み合わせを含むことができる。現在の例示的な実装では、上記で説明されたように、argmin関数が使用される。しかしながら、当業者によって理解されるように、したがって他の関数が代用されてもよい。
【0095】
411において、再生タイミングモードが、ビデオ再生システムがビデオのトラックとともにユーザの動きを追跡し、その動きの速度を推定するモード(例えば、「速度モード」)であるかどうかについて評価が行われる。再生タイミングモードが「速度モード」である場合、以下で説明されるように、動作415-419が実行される。再生タイミングモードが「速度モード」でない場合、動作413が実行される。
【0096】
「速度モード」にない再生タイミングモードの場合、413において、トレーニングビデオの記録されたフレームは、動作409において定義された再生時間の間に出力される。そして、ユーザが自身の姿勢を変化し続けると、動作は継続的に先行する。
【0097】
「速度モード」にある再生タイミングモードの場合、415において、上記で説明されたように、瞬間速度推定値が判定される。
【0098】
417において、上記で説明されたように、再生速度を判定するために、判定された瞬間速度推定値が平滑化重みwに適用される。任意に、上記で説明されたように、wの値は、経験的に、又は記録ビデオにおける軌跡が時間とともに変化する速さの関係(例えば、v(t))に基づいて判定されてもよい。
【0099】
419において、再生時間が更新され、再生速度に時間間隔を乗じて追加し、その後、上記で説明されたように、動作413が実行される。
【0100】
図5は、いくつかの例示的な実装における使用に適した例示的なコンピュータ装置505を有する例示的なコンピューティング環境500を示している。コンピューティング環境500におけるコンピューティング装置505は、1又は複数の処理ユニット、コア、又はプロセッサ510、メモリ515(例えば、RAM、及び/又はROMなど)、内部記憶装置520(例えば、磁気、光学、固体記憶装置、及び/又は有機)、及び/又はI/Oインターフェース525を含むことができ、これらのうちの任意のものは、情報を通信するために通信機構又はバス530に結合されるか又はコンピューティング装置505に内蔵されることができる。
【0101】
コンピューティング装置505は、入力/インターフェース535及び出力装置/インターフェース540に通信可能に結合されることができる。入力/インターフェース535及び出力装置/インターフェース540のいずれか一方又は双方は、有線又は無線インターフェースとすることができ、着脱可能とすることができる。入力/インターフェース535は、入力(例えば、ボタン、タッチスクリーンインターフェース、キーボード、ポインティング/カーソル制御、マイクロフォン、カメラ、点字、モーションセンサ、及び/又は光学式読み取り装置など)を提供するために使用可能な物理的又は仮想的な任意の装置、コンポーネント、センサ、又はインターフェースを含むことができる。
【0102】
出力装置/インターフェース540は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含むことができる。いくつかの例示的な実装では、入力/インターフェース535(例えば、ユーザインターフェース)及び出力装置/インターフェース540は、コンピューティング装置505に内蔵されることができるか、又は物理的に結合されることができる。他の例示的な実装では、他のコンピューティング装置は、コンピューティング装置505についての入力/インターフェース535及び出力装置/インターフェース540として機能してもよく、又はその機能を提供してもよい。
【0103】
コンピューティング装置505の例は、限定されるものではないが、高度なモバイル装置(例えば、スマートフォン、車両及び他の機械における装置、人間及び動物によって携行される装置など)、モバイル装置(例えば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、携帯テレビ、ラジオなど)、並びに移動性のために設計されていない装置(例えば、デスクトップコンピュータ、サーバ装置、他のコンピュータ、情報キオスク、1又は複数のプロセッサが内蔵された及び/又はそれに結合されたテレビ、ラジオなど)を含むことができる。
【0104】
コンピューティング装置505は、同じ又は異なる構成の1又は複数のコンピューティング装置を含む任意数のネットワークコンポーネント、装置、及びシステムと通信するために、外部記憶装置545及びネットワーク550に(例えば、I/Oインターフェース525を介して)通信可能に結合されることができる。コンピューティング装置505又は任意の接続されたコンピューティング装置は、サーバ、クライアント、シンサーバ、汎用マシン、専用マシン、又は他のラベルのサービスを提供するように機能することができるか又はそのように称することができる。例えば、限定されるものではないが、ネットワーク550は、ブロックチェーンネットワーク及び/又はクラウドを含んでもよい。
【0105】
I/Oインターフェース525は、限定されるものではないが、コンピューティング環境500における少なくとも全ての接続されたコンポーネント、装置、及びネットワークとの間で情報を通信するために、任意の通信又はI/Oプロトコル又は標準規格(例えば、イーサネット(登録商標)、802.11xs、ユニバーサルシステムバス、WiMAX、モデム、セルラーネットワークプロトコルなど)を使用する有線及び/又は無線インターフェースを含むことができる。ネットワーク550は、任意のネットワーク又はネットワークの組み合わせ(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラーネットワーク、衛星ネットワークなど)とすることができる。
【0106】
コンピューティング装置505は、一時的媒体及び非一時的媒体を含むコンピュータ使用可能又はコンピュータ可読媒体を使用して使用及び/又は通信することができる。一時的媒体は、伝送媒体(例えば、金属ケーブル、光ファイバ)、信号、搬送波などを含む。非一時的媒体は、磁気媒体(例えば、ディスク及びテープ)、光媒体(例えば、CD-ROM、ディジタルビデオディスク、ブルーレイディスク)、固体媒体(例えば、RAM、ROM、フラッシュメモリ、固体記憶装置)、及び他の不揮発性記憶装置又はメモリを含む。
【0107】
コンピューティング装置505は、いくつかの例示的なコンピューティング環境において、技術、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令を実装するために使用されることができる。コンピュータ実行可能命令は、一時的媒体から取得されることができ、非一時媒体に記憶されて非一時媒体から取得されることができる。実行可能命令は、プログラミング、スクリプティング、及び機械語(例えば、C、C++、C#、Java(登録商標)、ビジュアルベーシック、パイソン、パール、JavaScript(登録商標)など)のうちの1又は複数から発生することができる。
【0108】
プロセッサ510は、ネイティブ又は仮想環境において、任意のオペレーティングシステム(OS)(図示しない)の下で実行することができる。論理ユニット555、アプリケーションプログラミングインターフェース(API)ユニット560、入力ユニット565、出力ユニット570、マッチングユニット575、追跡ユニット580、再生タイミングユニット585、並びに異なるユニットが互いに、OS及び他のアプリケーション(図示しない)と通信するためのユニット間通信機構595を含む1又は複数のアプリケーションが配備されることができる。
【0109】
例えば、マッチングユニット575、追跡ユニット580、及び再生タイミングユニット585は、上述した構造に関して上記に示された1又は複数のプロセスを実装することができる。記載されたユニット及び要素は、設計、機能、構成、又は実装において変更可能であり、上述した記載に限定されるものではない。
【0110】
いくつかの例示的な実装では、情報又は実行命令がAPIユニット560によって受信されると、それは、1又は複数の他のユニット(例えば、論理ユニット555、入力ユニット565、マッチングユニット575、追跡ユニット580、及び再生タイミングユニット585)に伝送されることができる。
【0111】
例えば、マッチングユニット575は、キャプチャされたビデオ姿勢を有する予め記録された再生ビデオに関連付けられた情報、並びに姿勢を検出するためのリアルタイムのライブビデオフィードを受信及び処理することができる。マッチングユニットの出力は、予め記録された再生ビデオとユーザのライブ姿勢との間の追跡された関節の比較に関連付けられた時間t*を示す値を提供することができる。マッチングユニット575の出力は、例えば、記録されたフレームが表示されるべき時間を判定するために順次使用される再生時間を判定するために使用されてもよい。同様に、追跡ユニット580は、上記で説明されたように、ビデオのトラックに沿ったユーザの動きの速度を追跡する機能を実行するために提供されることができる。さらに、再生タイミングユニット585は、マッチングユニット575及び追跡ユニット580から取得した情報に基づいて、再生を実行することができる。
【0112】
いくつかの場合では、論理ユニット555は、上述したいくつかの例示的な実装において、ユニット間の情報フローを制御し、APIユニット560、入力ユニット565、マッチングユニット575、追跡ユニット580、及び再生タイミングユニット585によって提供されるサービスを導くように構成されることができる。例えば、1又は複数のプロセス又は実装のフローは、論理ユニット555によって単独に又はAPIユニット860と連携して制御されることができる。
【0113】
図6は、いくつかの例示的な実装に適した例示的な環境を示している。環境600は、装置605-645を含み、それぞれは、例えばネットワーク660を介して(例えば、有線及び/又は無線接続により)少なくとも1つの他の装置に通信可能に接続される。一部の装置は、1又は複数の記憶装置630及び645に通信可能に接続されてもよい。
【0114】
1又は複数の装置605-645の例は、それぞれ、図5に記載されたコンピューティング装置505とすることができる。装置605-645は、これらに限定されるものではないが、上記で説明したモニタ及び関連するウェブカメラを有するコンピュータ605(例えば、ラップトップコンピューティング装置)、モバイル装置610(例えば、スマートフォン又はタブレット)、テレビ615、車両620に関連付けられた装置、サーバコンピュータ625、コンピューティング装置635-640、記憶装置630及び645を含むことができる。
【0115】
いくつかの実装では、装置605-620は、様々な場所でトレーニングセッションの表示をリモートで受信している場合がある、ユーザに関連付けられたユーザ装置と見なすことができる。装置625-645は、(例えば、表示装置、検知装置、及びマッチングモード及び再生タイミングモードに関連付けられた設定の動作に関連付けられた情報を記憶及び処理するために使用される)サービスプロバイダに関連付けられた装置とすることができる。本例示的な実装では、これらのユーザ装置の1又は複数は、上記で説明されたように、ユーザのリアルタイムの動きを検知し、ユーザの1又は複数の関節の追跡に基づく姿勢の処理のためにリアルタイムのライブビデオフィードをシステムに提供することができるように、ユーザの近くに位置するセンサに関連付けられることができる。
【0116】
例示的な実装は、様々な利点及び効果を有することができる。例えば、限定されるものではないが、本例示的な実装は、ユーザの身体の動きを修正したり、又はユーザにトレーニングプロセスから焦点を外させたりすることができる、リモートコントロール又はマウスなどのオブジェクトをユーザが保持する必要がない。代わりに、例示的な実装は、ユーザがトレーニング活動の焦点を維持することができるように、ユーザの身体の動きを追跡する。
【0117】
さらに、例示的な実装によれば、多関節追跡が提供される。上記で説明したように、ユーザは、ユーザの意図に応じて、追跡されるべき関節の数を選択することができる(例えば、ユーザは、より全体的なトレーニングの一環として一連の動きを学習することに焦点をあてたユーザと比較して、単一の関節の動きのみに焦点をあてる、又は単一の軌跡に関連付けられた単一の活動の学習に焦点をあてる)。
【0118】
さらに、例示的な実装は、システム自体又は手動のいずれかによってインタラクティブに判定されることができる複数の再生モードを提供する。例えば、限定されるものではないが、例示的な実装は、ユーザがリードしてビデオが追随するモードを提供するだけでなく、ビデオがリードしてユーザが追随するモード、並びに相互同期モードも提供する。対照的に、関連技術の手法は、例示的な実装に関して本明細書で説明されるように、ユーザとビデオの同期を提供しない。
【0119】
さらに、例示的な実装によれば、トレーニングのさらなる部分に進むためにユーザが実行しなければならないイベントを予め定義する必要はない。代わりに、本明細書で説明される動き分析スキームによる例示的な実装は、動作を予め定義する必要なく、ユーザがビデオから動きを体験することができるように、ユーザの身体のライブの動き及びユーザの動きに対する予め記録されたビデオからの姿勢のマッチングを提供する。
【0120】
例示的な実装の様々な態様によれば、ユーザが姿勢の存在について関節位置を追跡するための任意の装置を使用することなく、トレーニング姿勢又は動きの規定セットと比較して、ユーザがリアルタイムで姿勢又は動きのセットを実行するシミュレーショントレーニングが使用されることができる。
【0121】
他の例示的な実装によれば、本明細書で説明される態様は、エンターテイメント活動に適用されてもよい。例えば、演技やダンスをする有名人のビデオは、再生ビデオとすることができ、ユーザは、特定の個々の役者の技術を学習することを意図している、演技やエンターテイメントの学生とすることができる。軌跡、矢印及び/又はゴムバンドを適用することにより、役者は、有名人のスタイルや技術を模倣することができるように、追跡対象の関節の細かい運動を制御することを学習することができる。さらに、役者が特定の動きに熟練すると、ユーザが追加の動きを学習することを可能にし、最終的に身体全体の動き及び有名人の動きを学習することができるように、多関節機能が適用されることができる。予め記録されたビデオの速度は、ユーザの動きに基づいているため、役者は、関連技術の手法のように、焦点を失ったり、ビデオ内の所定のポイントに巻き戻したり戻ったりすることなく、特定の動き、スタイル又は技術を練習することができる。
【0122】
さらに、本発明の概念に関連付けられた他の態様及び例示的な実装があり得る。例えば、限定されるものではないが、所望の姿勢のシーケンスについて、類似の利用可能なオンラインビデオを見つけるために検索が実行されることができるように、クエリ機構が提供されてもよい。この例示的な実装では、ユーザのリアルタイムのライブビデオは、予め記録されたオンラインビデオセグメントに置き換えられ、マッチング関数を使用して、予め記録されたビデオと比較されて関節の動きの類似性及び一致を判定する。
【0123】
さらに、ユーザが1又は複数の動きを実行しており、ユーザによって実行される1又は複数の動きが複数の姿勢を含む状況では、ユーザの動きに対してクエリが実行され、予め記録されたビデオの最も近位のセットを判定することができる。そして、クエリの最も関連性の高い結果が分類され、ユーザは、自身の動きが最も関連性の高いクラスに類似しているように見えるかどうかを知ることができる。例えば、限定されるものではないが、ユーザは、特定の種類のダンスを実行しようとしている場合がある。しかしながら、ユーザの動きは、予め記録されたトレーニングビデオにおけるダンスの種類とは異なる他の種類のダンスに類似している場合がある。ユーザは、自身が実行しているダンスが異なるダンスであることを知ることができ、予め記録されたトレーニングビデオにおけるダンスとは対照的に、異なるダンスに関するトレーニングを実行する選択肢を提供されることができる。
【0124】
同様に、特定の種類の運動又は理学療法を行うユーザには、ユーザに関連付けられた最も関連性の高い関節の動きが実際には予め記録されたビデオの動きとは異なるという指標が提供されてもよい。そのような状況では、ユーザには、ユーザによって選択された理学療法の特定の種類の運動の代わりに、クエリに最も関連性の高いと示される理学療法の運動の種類を試すように推薦されてもよい。
【0125】
例示的な実装の追加の態様として、及び上記で説明されたように、「速度モード」は、ユーザが活動を一時停止したか、又は動きが減速し始めたことの指標を提供してもよい。一時停止又は減速は、理学療法の場合など、ユーザが疲労したり若しくは活動に興味を失ったり、又は痛みを感じたりしている旨の指標としてもよい。したがって、「速度モード」の結果は、例えば、ユーザが休憩を取ること、他の活動を試すこと、又は予め記録されたビデオを再開することを検討することを推奨する指標として使用されることができる。
【0126】
任意に、マッチング関数に関連付けられた数値が使用され、ユーザの動きと予め記録されたビデオとの間の類似性スコアを生成することができる。そのようなスコアが使用され、共通の予め記録されたビデオと比較して動きに従事している複数のユーザのうち、どのユーザが予め記録されたビデオに最も一致するかを判定することができる。例えば、どのユーザが、スポーツ、ダンス、演技などに関連付けられた規定の一連の動きを最も厳密に模倣するかを判定する競争では、マッチング関数に関連付けられた数値に基づいて、より高いスコアを有するユーザが判定されることができる。
【0127】
さらに他の例示的な実装によれば、態様は、拡張現実又は仮想現実シナリオに統合されてもよい。例えば、限定されるものではないが、法医学及び個人の識別のために、セキュリティカメラの記録に示される個人の身体の動きは、同じ場所のリアルタイムのライブビデオフィードと比較され、歩行及び身体の動きが存在する個人の頻度を判定することができる。さらに、3-Dカメラの使用を含めることは、拡張現実又は仮想現実のシナリオにおけるユーザが、そのシナリオに適した方法で身体の動きを行うことを可能にすることができる。
【0128】
前述の例示的な実装では、様々な用語が使用され、態様及び機能を説明している。しかしながら、例示的な実装は、それに限定されるものではなく、本発明の範囲から逸脱することなく、他の用語及び説明がそれらに置き換えられてもよい。例えば、限定されるものではないが、コンピュータ実装方法は、検知された姿勢及び予め記録された姿勢の調整を含む。検知された姿勢は、上記で説明されたように2-D又は3-Dビデオカメラによって検知されてもよい。さらに、検知された姿勢は、ライブビデオフィード内の第1のオブジェクト(例えば、これに限定されるものではないが、ビデオカメラによって検知されているユーザ)のリアルタイムの動きに関連付けられてもよい。予め記録された姿勢は、第2のオブジェクト(例えば、ビデオにおけるトレーナー)の動きに関連付けられてもよい。しかしながら、第1のオブジェクトはユーザである必要はなく、第2のオブジェクトは、トレーナーである必要はない。
【0129】
さらに、コンピュータ実装方法は、検知された姿勢の1つのポイントと予め記録された姿勢の対応するポイントとの間の一致を判定するためにマッチング関数を適用することと、一致に基づいて、再生時間を判定し、再生時間についての第2のオブジェクトに関連付けられたビデオの少なくとも1つのフレームを出力することとを含む。いくつかの例示的な実装では、検知された姿勢の1つのポイント及び予め記録された姿勢の対応するポイントは、ユーザの関節又は複数の関節(例えば、手、足など)とすることができる。さらに、適用されるマッチング関数は、当業者によって理解されるように、上記で説明されたもの、並びにそれらに置き換えられることができる他のものを含んでもよい。
【0130】
いくつかの例示的な実装が示されて記載されたが、これらの例示的な実装は、本願明細書に記載された主題を当業者に伝えるために提供される。本願明細書に記載された主題は、記載された例示的な実装に限定されることなく、様々な形態で実装されてもよいことが理解されるべきである。本願明細書に記載された主題は、具体的に定義若しくは記載された事項を有することなく、又は記載されていない他の若しくは異なる要素若しくは事項を有して実施されることができる。添付した特許請求の範囲及びその均等物において定義された本願明細書に記載された主題から逸脱することなく、これらの例示的な実装において変更を行うことができることが当業者によって理解される。
図1
図2(a)】
図2(b)】
図2(c)】
図3
図4
図5
図6