(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024066556
(43)【公開日】2024-05-16
(54)【発明の名称】データ変換装置、学習装置、動作変換システム、データ変換方法、およびプログラム
(51)【国際特許分類】
G06T 7/20 20170101AFI20240509BHJP
G06T 7/00 20170101ALI20240509BHJP
G06V 10/82 20220101ALI20240509BHJP
【FI】
G06T7/20 300Z
G06T7/00 350C
G06V10/82
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022175959
(22)【出願日】2022-11-02
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【弁理士】
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】野崎 善喬
(72)【発明者】
【氏名】福司 謙一郎
(72)【発明者】
【氏名】西原 康介
(72)【発明者】
【氏名】中原 謙太郎
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA09
5L096FA67
5L096FA69
5L096HA02
5L096HA11
5L096KA04
5L096KA15
(57)【要約】
【課題】背景の影響を受けずに、複数の動画データの各々に含まれる同期対象動作を高精度で同期できるデータ変換装置を提供する。
【解決手段】グラフ畳み込みネットワークを含むエンコーダを有し、同期対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化し、角度表現に正規化された姿勢データをエンコーダに入力して埋め込み空間における特徴量を計算する特徴量計算部と、基準動画データを構成するフレームごとに算出された特徴量と、同期対象動画データを構成するフレームごとに算出された特徴量との距離を計算する距離計算部と、算出された距離に基づいてフレームごとの最適経路を計算し、最適経路で結ばれたフレームのタイミングを揃えることによって、同期対象動画データを基準動画データに同期させる同期処理部と、基準動画データに同期された同期対象動画データを出力する出力部と、を備えるデータ変換装置とする。
【選択図】
図1
【特許請求の範囲】
【請求項1】
グラフ畳み込みネットワークを含むエンコーダを有し、同期対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化し、角度表現に正規化された前記姿勢データを前記エンコーダに入力して埋め込み空間における特徴量を計算する特徴量計算手段と、
基準動画データを構成するフレームごとに算出された特徴量と、同期対象動画データを構成するフレームごとに算出された特徴量との距離を計算する距離計算手段と、
算出された距離に基づいてフレームごとの最適経路を計算し、前記最適経路で結ばれたフレームのタイミングを揃えることによって、前記同期対象動画データを前記基準動画データに同期させる同期処理手段と、
前記基準動画データに同期された前記同期対象動画データを出力する出力手段と、を備えるデータ変換装置。
【請求項2】
前記エンコーダは、
角度表現に正規化された前記姿勢データをグラフ畳み込みによって畳み込み、
埋め込み空間における埋め込みを特徴量として出力する請求項1に記載のデータ変換装置。
【請求項3】
前記距離計算手段は、
前記基準動画データを構成するフレームに関する特徴量と、前記同期対象動画データを構成するフレームに関する特徴量との間の距離を総当たりで計算し、
前記同期処理手段は、
算出された距離に基づいてフレームごとの前記最適経路を計算する請求項2に記載のデータ変換装置。
【請求項4】
前記同期対象動画データおよび前記基準動画データを取得する取得手段と、
前記同期対象動画データおよび前記基準動画データの各々を構成するフレームごとに前記姿勢データを推定する推定手段と、を備える請求項1に記載のデータ変換装置。
【請求項5】
前記取得手段は、
複数の前記同期対象動画データを取得し、
前記推定手段は、
複数の前記同期対象動画データを構成する複数のフレームごとに前記姿勢データを推定し、
前記特徴量計算手段は、
複数の前記同期対象動画データを構成する複数のフレームごとの前記姿勢データを角度表現に正規化し、
角度表現に正規化された前記姿勢データを前記エンコーダに入力して特徴量を計算し、
前記距離計算手段は、
複数の前記同期対象動画データを構成する複数のフレームごとに算出された特徴量の間の距離を計算し、
前記同期処理手段は、
算出された距離に基づいてフレームごとに前記最適経路を計算し、
前記最適経路で結ばれたフレームのタイミングを揃えることによって、複数の前記同期対象動画データを互いに同期させる請求項4に記載のデータ変換装置。
【請求項6】
前記同期対象動画データの同期に用いられた変換配列を記憶する変換配列記憶手段と、
前記変換配列を用いて、前記基準動画データとして用いられた前記同期対象動画データに逆変換を行う逆変換手段と、を備え、
前記同期処理手段は、
複数の前記同期対象動画データのうち1つを前記基準動画データに設定し、
算出された距離に基づいてフレームごとに前記最適経路を計算し、
前記最適経路で結ばれたフレームのタイミングを揃えることによって、前記同期対象動画データを前記基準動画データに同期させ、
前記同期対象動画データの同期に用いられた前記変換配列を、前記変換配列記憶手段に記憶させ、
前記逆変換手段は、
前記基準動画データとして用いられなかった他の前記同期対象動画データを基準として、前記基準動画データとして用いられた前記同期対象動画データを他の前記同期対象動画データに同期させる請求項5に記載のデータ変換装置。
【請求項7】
グラフ畳み込みネットワークを含むエンコーダを有し、同期対象動作を含む学習対象動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化し、角度表現に正規化された前記姿勢データを前記エンコーダに入力して埋め込み空間における特徴量を計算する特徴量計算手段と、
前記エンコーダによって算出された特徴量に応じた損失を計算する損失計算手段と、
算出された前記損失の勾配に基づいて前記エンコーダを訓練する学習処理手段と、を備える学習装置。
【請求項8】
請求項7に記載の学習装置と、
請求項1乃至6のいずれか一項に記載のデータ変換装置と、を備え、
前記学習装置は、
学習対象動作を含む学習対象動画データをエンコーダに学習させ、学習結果に応じて前記エンコーダを更新し、
前記データ変換装置は、
前記学習装置によって更新された前記エンコーダを用いて、前記学習対象動作に相当する同期対象動作を含む同期対象動画データおよび基準動画データを取得し、前記エンコーダを用いて前記同期対象動画データを前記基準動画データに同期させる動画変換システム。
【請求項9】
コンピュータが、
同期対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化し、
グラフ畳み込みネットワークを含むエンコーダに、角度表現に正規化された前記姿勢データを入力して埋め込み空間における特徴量を計算し、
基準動画データを構成するフレームごとに算出された特徴量と、同期対象動画データを構成するフレームごとに算出された特徴量との距離を計算し、
算出された距離に基づいてフレームごとの最適経路を計算し、
前記最適経路で結ばれたフレームのタイミングを揃えることによって、前記同期対象動画データを前記基準動画データに同期させ、
前記基準動画データに同期された前記同期対象動画データを出力するデータ変換方法。
【請求項10】
同期対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化する処理と、
グラフ畳み込みネットワークを含むエンコーダに、角度表現に正規化された前記姿勢データを入力して埋め込み空間における特徴量を計算する処理と、
基準動画データを構成するフレームごとに算出された特徴量と、同期対象動画データを構成するフレームごとに算出された特徴量との距離を計算する処理と、
算出された距離に基づいてフレームごとの最適経路を計算する処理と、
前記最適経路で結ばれたフレームのタイミングを揃えることによって、前記同期対象動画データを前記基準動画データに同期させる処理と、
前記基準動画データに同期された前記同期対象動画データを出力する処理とをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、動作データを同期させるデータ変換装置等に関する。
【背景技術】
【0002】
人間の動作に関するデジタルツインの技術を用いて動作データを拡張すれば、一般的な学習よりも少量の実測データで、大量のデータを用いた場合と同等以上の精度の動作認識モデルを構築できる。データ拡張で用いられる敵対的生成モデル(GAN:Generative Adversarial Network)の学習を安定させるためには、データを効果的に正規化することが重要である。例えば、動作データに含まれる共通の動作を、異なる動作データとの間で正規化できれば、敵対的生成モデルの学習を安定化できる。すなわち、異なる動作データの間で、動作データに含まれる共通の動作を同期できれば、敵対的生成モデルの学習を安定化できる。
【0003】
非特許文献1には、映像間の時間的整合のタスクに基づく自己教師あり表現学習手法について開示されている。非特許文献1の手法では、時間的サイクル整合性(TCC:Temporal Cycle-Consistency)を用いて、ネットワークを訓練する。非特許文献1の手法では、学習された埋め込み空間における最近傍のフレームを対応付けることによって、異なる動画に含まれる共通の動作を同期させる。
【0004】
特許文献1には、与えられた検索条件に基づいて、動きデータを検索する動きデータ検索装置について開示されている。特許文献1の装置は、物体の一連の動きを表す動きデータについて、一定時間の区間ごとに、動きの特徴を表す区間特徴量を計算する。特許文献1の装置は、検索条件動きデータについての区間特徴量と、検索対象動きデータについての区間特徴量との距離を計算する。特許文献1の装置は、算出された距離に基づいて、検索結果の提示データを作成する。
【0005】
特許文献2には、行動認識モデルのパラメータを学習する行動認識学習装置について開示されている。特許文献2の装置は、動作対象物の動作を含む動作データと、動作の行動種別に対応する行動ラベルとを、学習データとして受け付ける。特許文献2の装置は、動作に関する類似度に基づいて行動ラベルをクラスタリングし、行動ラベルの階層構造を生成する。特許文献2の装置は、動作データおよび階層構造を用いて算出された損失に基づいて、行動認識モデルのパラメータを学習する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2010-033163号公報
【特許文献2】特開2022-072444号公報
【非特許文献】
【0007】
【非特許文献1】D. Dwibedi, et al., “Temporal Cycle-Consistency Learning”, IEEE Conf. on Computer Vision and Pattern Recognition (2019).
【発明の概要】
【発明が解決しようとする課題】
【0008】
非特許文献1の手法では、動画データに対してエンコーダモデルを学習し、埋め込み空間における最近傍のフレームを対応付けることによって、2つの動画データを同期する。非特許文献1の手法では、2つの動画データを同期する際に、動画に含まれる背景の影響が及ぶ。そのため、非特許文献1の手法では、異なる動画において背景が大きく異なる場合、同期の精度が低下することがあった。また、非特許文献1の手法は、動画形式ではないデータに対しては、適用できなかった。
【0009】
特許文献1の手法では、動きの多様性に対応して、データベースに予め格納された動きデータを検索する。特許文献1の手法では、動画データを用いて、動きデータを抽出することを想定していない。そのため、特許文献1の手法では、背景が異なる動画データから、同じ動作を同様に抽出できるとは限らなかった。
【0010】
特許文献2の手法では、動作データおよび行動ラベルを学習データとして用いて、行動認識モデルのパラメータを学習する。特許文献2には、動画データから動作データを抽出する具体的な方法が開示されていない。そのため、特許文献2の手法では、背景が異なる映像データから、同じ動作を同様に抽出できるとは限らなかった。
【0011】
本開示の目的は、背景の影響を受けずに、複数の動画データの各々に含まれる同期対象動作を高精度で同期できるデータ変換装置等を提供することにある。
【課題を解決するための手段】
【0012】
本開示の一態様のデータ変換装置は、グラフ畳み込みネットワークを含むエンコーダを有し、同期対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化し、角度表現に正規化された姿勢データをエンコーダに入力して埋め込み空間における特徴量を計算する特徴量計算部と、基準動画データを構成するフレームごとに算出された特徴量と、同期対象動画データを構成するフレームごとに算出された特徴量との距離を計算する距離計算部と、算出された距離に基づいてフレームごとの最適経路を計算し、最適経路で結ばれたフレームのタイミングを揃えることによって、同期対象動画データを基準動画データに同期させる同期処理部と、基準動画データに同期された同期対象動画データを出力する出力部と、を備える。
【0013】
本開示の一態様の学習装置は、グラフ畳み込みネットワークを含むエンコーダを有し、同期対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化し、角度表現に正規化された姿勢データをエンコーダに入力して埋め込み空間における特徴量を計算する特徴量計算部と、エンコーダによって算出された特徴量を用いて損失を計算する損失計算部と、算出された損失の勾配に基づいてエンコーダを訓練する学習処理部と、を備える学習装置。
【0014】
本開示の一態様のデータ変換方法においては、同期対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化し、グラフ畳み込みネットワークを含むエンコーダに、角度表現に正規化された姿勢データを入力して埋め込み空間における特徴量を計算し、基準動画データを構成するフレームごとに算出された特徴量と、同期対象動画データを構成するフレームごとに算出された特徴量との距離を計算し、算出された距離に基づいてフレームごとの最適経路を計算し、最適経路で結ばれたフレームのタイミングを揃えることによって同期対象動画データを基準動画データに同期させ、基準動画データに同期された同期対象動画データを出力する。
【0015】
本開示の一態様のプログラムは、同期対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化する処理と、グラフ畳み込みネットワークを含むエンコーダに、角度表現に正規化された姿勢データを入力して埋め込み空間における特徴量を計算する処理と、基準動画データを構成するフレームごとに算出された特徴量と、同期対象動画データを構成するフレームごとに算出された特徴量との距離を計算する処理と、算出された距離に基づいてフレームごとの最適経路を計算する処理と、最適経路で結ばれたフレームのタイミングを揃えることによって、同期対象動画データを基準動画データに同期させる処理と、基準動画データに同期された同期対象動画データを出力する処理とをコンピュータに実行させる。
【発明の効果】
【0016】
本開示によれば、背景の影響を受けずに、複数の動画データの各々に含まれる同期対象動作を高精度で同期できるデータ変換装置等を提供することが可能になる。
【図面の簡単な説明】
【0017】
【
図1】第1の実施形態に係る学習装置の構成の一例を示すブロック図である。
【
図2】第1の実施形態に係る学習装置による学習対象である動画データから姿勢データを抽出する一例を示す概念図である。
【
図3】第1の実施形態に係る学習装置による学習対象である動画データから姿勢データを抽出する一例を示す概念図である。
【
図4】第1の実施形態に係る学習装置による姿勢データの角度表現への正規化の一例について説明するための概念図である。
【
図5】第1の実施形態に係る学習装置の動作の一例について説明するためのフローチャートである。
【
図6】第2の実施形態に係るデータ変換装置の構成の一例を示すブロック図である。
【
図7】第2の実施形態に係るデータ変換装置によって算出された基準動画データおよび同期対象動画データの各々を構成するフレームごとの特徴量の最適経路を対応付けたマップの一例を示す概念図である。
【
図8】第2の実施形態に係るデータ変換装置によって算出された基準動画データおよび同期対象動画データの各々を構成するフレームの最適経路が対応付けられた状態を示すグラフである。
【
図9】第2の実施形態に係るデータ変換装置によって算出された基準動画データおよび同期対象動画データの各々を構成するフレームの最適経路のタイミングが揃えられた状態を示すグラフである。
【
図10】第2の実施形態に係るデータ変換装置の動作の一例について説明するためのフローチャートである。
【
図11】第2の実施形態に係るデータ変換装置による同期処理の一例について説明するためのフローチャートである。
【
図12】第3の実施形態に係るデータ変換装置の構成の一例を示すブロック図である。
【
図13】第3の実施形態に係るデータ変換装置の動作の一例について説明するためのフローチャートである。
【
図14】第3の実施形態に係るデータ変換装置による同期処理の一例について説明するためのフローチャートである。
【
図15】第4の実施形態に係る動画変換システムの構成の一例を示すブロック図である。
【
図16】第5の実施形態に係る学習装置の構成の一例を示すブロック図である。
【
図17】第6の実施形態に係るデータ変換装置の構成の一例を示すブロック図である。
【
図18】各実施形態に係る処理や制御を実行するハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【0018】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。なお、以下の実施形態の説明に用いる全図においては、特に理由がない限り、同様箇所には同一符号を付す。また、以下の実施形態において、同様の構成・動作に関しては繰り返しの説明を省略する場合がある。
【0019】
(第1の実施形態)
まず、第1の実施形態に係る学習装置について図面を参照しながら説明する。本実施形態の学習装置は、異なる動画データに含まれる同じ動作を同期させるエンコーダを学習させる。動画データは、複数のフレームによって構成される。個々のフレームから抽出される人物の姿勢に関するデータを、姿勢データと呼ぶ。複数の姿勢データが時系列で連結されたデータを、動作データと呼ぶ。以下においては、異なる動画データに含まれる同じ動作を同期させることを、異なる動画データを同期させると表現することがある。
【0020】
本実施形態は、非特許文献1に開示された手法に基づいて説明する箇所を含む(非特許文献1:D. Dwibedi, et al., “Temporal Cycle-Consistency Learning”, IEEE Conf. on Computer Vision and Pattern Recognition (2019).)。
【0021】
(構成)
図1は、本実施形態に係る学習装置10の構成の一例を示すブロック図である。学習装置10は、取得部11、推定部12、特徴量計算部13、損失計算部15、および学習処理部16を備える。
【0022】
取得部11(取得手段)は、動画データ110を取得する。動画データ110は、学習対象動作を行う人物の像を含むデータである。例えば、学習対象動作には、背伸びや跳躍、歩行、走行、ストレッチなどの動作が含まれる。動画データを構成するフレームから抽出できれば、学習対象動作の種類については特に限定を加えない。
【0023】
例えば、取得部11は、動画データから抽出された人物の姿勢データを取得してもよい。姿勢データは、人物の代表的な部位の位置に関する位置座標のデータセットである。例えば、人物の代表的な部位は、関節や末端などである。例えば、取得部11は、モーションキャプチャを用いて計測された姿勢データを取得してもよい。取得部11が姿勢データを直接取得する場合、推定部12を省略できる。
【0024】
推定部12(推定手段)は、動画データ110に含まれるフレームから、人物を抽出する。推定部12は、抽出された人物の姿勢データを推定する。例えば、推定部12は、深層学習モデルを用いて、動画データ110から抽出された人物の姿勢データを推定する。推定部12は、動画データ110から抽出された人物に関して、代表的な部位の空間的な位置を姿勢データとして推定する。言い換えると、姿勢データは、動画データ110から抽出された人物の姿勢に関するデータである。
【0025】
図2は、動画データ110Aから抽出された姿勢データの一例(姿勢データ120A)を示す概念図である。
図2は、学習対象動作を行う人物を含む動画データ110Aの一例を示す。
図2は、動画データ110Aを構成するフレームの一部を示す。推定部12は、動画データ110Aを構成するフレームから、人物の代表的な部位(関節)の位置を、姿勢データ120Aとして推定する。各フレームにおいては、人物の代表的な部位(関節)の位置を示す円が、接続線で連結されている。例えば、推定部12は、肩や肘、手首、首、胸、腰、股、膝、足首などの関節の位置座標を、姿勢データとして推定する。例えば、推定部12は、頭や指先、足先などの末端の位置座標を、姿勢データとして推定する。例えば、推定部12は、関節や末端の間に相当する部位の位置座標を、姿勢データとして推定する。以下においては、人物の代表的な部位の位置を関節と表現する。
【0026】
図3は、動画データ110Bから抽出された姿勢データの一例(姿勢データ120B)を示す概念図である。
図3は、学習対象動作を行う人物を含む動画データ110Bの一例を示す。
図3は、動画データ110Bを構成するフレームの一部を示す。推定部12は、動画データ110Bを構成するフレームから、人物の代表的な部位(関節)の位置を、姿勢データ120Bとして推定する。
図2の例と同様に、各フレームにおいては、人物の代表的な部位(関節)の位置を示す円が、接続線で連結されている。
【0027】
図2~
図3のように、動画データ110Aと動画データ110Bには、同じ学習対象動作を行う人物が含まれる。動画データ110Aと動画データ110Bの背景は、全く異なる。そのため、動画データ110Aおよび動画データ110Bを構成するフレームについて特徴量を計算すると、背景の特徴が含まれる。推定部12は、動画データ110Aおよび動画データ110Bを構成するフレームごとに、人物の姿勢データを推定する。推定部12によって推定された姿勢データからは、動画データ110Aおよび動画データ110Bに含まれる背景の特徴が除かれている。そのため、姿勢データを用いれば、背景の特徴を除去できる。
【0028】
特徴量計算部13(特徴量計算手段)は、正規化部131およびエンコーダ133を含む。特徴量計算部13は、正規化部131を用いて、姿勢データを角度表現に正規化する。特徴量計算部13は、エンコーダ133を用いて、角度表現に正規化された姿勢データから、学習対象動作に関する特徴量を抽出する。
【0029】
正規化部131(正規化手段)は、姿勢データを角度表現に正規化する。姿勢データには、その姿勢データの取得元である人物の腕や脚の長さなどの体格に関する属性が含まれる。それに対し、角度表現に正規化された姿勢データには、その姿勢データの取得元である人物の体格に関する属性が含まれない。正規化部131は、人物の関節を接続する接続線の成す角を、関節ごとに計算することによって、姿勢データを角度表現に正規化する。
【0030】
図4は、角度表現に正規化された姿勢データの一例について説明するための概念図である。正規化部131は、フレームごとに推定された姿勢データから、人物の姿勢を検証するための関節J
mを抽出する(mは自然数)。正規化部131は、複数の関節J
mに関して、それらの関節J
mによって連結された2つの接続線の成す3次元的関節角度(オイラー角θ
m)を計算する。すなわち、正規化部131は、各フレームから抽出された人物に関して、関節ごとのオイラー角のデータセット(関節角データセット)を計算する。
【0031】
エンコーダ133は、グラフ畳み込みネットワークGCN(Graph Convolutional Network)を含む。エンコーダ133は、動画データ110に含まれるフレームに対して、一意の埋め込み表現を学習する。例えば、エンコーダ133は、非特許文献1に開示された時間的サイクル整合性(TCC:Temporal Cycle-Consistency)の手法を用いた学習によって、特徴抽出を行う。TCC学習は、自己教師あり学習である。TCC学習によれば、同じ動作を含む動画データ110が複数あれば、それらの対応関係を探す損失関数(Cycle-back Loss)を計算することによって、ラベル無しで特徴抽出器を訓練できる。
【0032】
エンコーダ133には、正規化部131によって算出された関節角データセットが入力される。エンコーダ133は、入力された関節角データセットに関して、グラフ畳み込みネットワークによって特徴量を計算する。エンコーダ133は、3次元空間の座標系で表現された関節角データセットを、埋め込み表現に変換する。このように、エンコーダ133は、スケルトン形式で表現された隣接する関節を、グラフ構造と見なしてグラフ畳み込みを実行する。エンコーダ133は、動画データ110の背景が含まれないスケルトン形式の関節角データセットに対して、グラフ畳み込みネットワークを用いる。そのため、エンコーダ133を用いて抽出された特徴量には、動画データ110の背景の影響が含まれない。
【0033】
例えば、エンコーダ133には、隣接した複数のフレームを結合させたコンテクストの入力に応じて、特徴量を出力するように構成されてもよい。その場合、エンコーダ133には、ST(Spatio-Temporal)-GCNが用いられる。例えば、フレーム番号が1~5の連続した5つのフレームに関して、フレーム番号1~3のフレーム、フレーム番号2~4のフレーム、フレーム番号3~5のフレームの各々が結合されて、コンテクストとして選択される。このように、互いに連続するコンテクストは、同じフレーム番号のフレームを共有することが好ましい。
【0034】
損失計算部15(損失計算手段)は、エンコーダ133によって算出された特徴量を用いて、損失を計算する。例えば、損失計算部15は、非特許文献1に開示されたCycle-back Loss法を用いて、損失を計算する。損失計算部15による損出の計算方法については、限定を加えない。
【0035】
非特許文献1の手法を用いる場合、損失計算部15は、同じ動作を含む2つの動画データ110(画像列)に対して、ResNet(Residual Network)をベースとしたエンコーダモデルを適用する。その結果、埋め込み表現のデータ列(埋め込みデータ列)が得られる。例えば、損失計算部15は、動画データSおよび動画データTに対して、50層のConvolutional Neural Network(CNN)を含むResNet50をベースとしたエンコーダモデルを適用して、埋め込みデータ列を得る。損失計算部15は、動画データSの埋め込みデータ列Uのiフレーム目における埋め込みuiに対して、動画データTの埋め込みデータ列Vに含まれる埋め込みのうち最近傍の埋め込みvを探索する(iは自然数)。損失計算部15は、探索された埋め込みvに対して、動画データSの埋め込みデータ列Uの中で最近傍になる埋め込みukを探索する(kは自然数)。損失計算部15は、埋め込みuiおよび埋め込みukを用いて、損失を計算する。例えば、損失計算部15は、iとkの一致に関する交差エントロピー損失を、損失として計算する。例えば、損失計算部15は、iとkとの差に関する回帰ロスを、損失として計算する。
【0036】
学習処理部16(学習処理手段)は、算出された損失の変化量(勾配)を計算する。例えば、学習処理部16は、勾配降下法を用いて勾配を計算する。学習処理部16は、算出された勾配に応じて、機械学習によってエンコーダ133を訓練する。学習処理部16は、予め設定された基準よりも勾配が小さくなるまで、エンコーダ133を訓練する。例えば、学習処理部16は、確率的勾配降下法SGD(Stochastic Gradient Descent)を用いて、エンコーダ133を訓練する。学習処理部16は、確率的勾配降下法SGDではない手法を用いて、エンコーダ133を訓練してもよい。
【0037】
(動作)
次に、学習装置10の動作について図面を参照しながら説明する。
図5は、学習装置10の動作の一例について説明するためのフローチャートである。
図5のフローチャートに沿った説明においては、学習装置10を動作主体として説明する。
【0038】
図5において、まず、学習装置10は、学習対象の動画データ110を取得する(ステップS11)。
【0039】
次に、学習装置10は、動画データ110を構成するフレームごとに姿勢データを推定する(ステップS12)。
【0040】
次に、学習装置10は、動画データ110に含まれるフレームごとに推定された姿勢データを角度表現に正規化する(ステップS13)。
【0041】
次に、学習装置10は、グラフ畳み込みネットワークによって、角度表現に正規化された姿勢データ(関節角データセット)から、学習対象動作に関する特徴量を計算する(ステップS14)。
【0042】
次に、学習装置10は、算出された特徴量を用いて、損失を計算する(ステップS15)。
【0043】
次に、学習装置10は、算出された損失を用いて勾配を計算して、機械学習によってエンコーダ133を訓練する(ステップS16)。全ての動画データの訓練が完了していない場合(ステップS17でNo)、ステップS11に戻る。全ての動画データの訓練が完了すると(ステップS17でYes)、
図5のフローチャートに沿った処理は終了である。
【0044】
以上のように、本実施形態の学習装置は、取得部、推定部、特徴量計算部、損失計算部、および学習処理部を備える。取得部は、学習対象動画データを取得する。推定部は、学習対象動画データから姿勢データを推定する。特徴量計算部は、グラフ畳み込みネットワークを含むエンコーダを有する。特徴量計算部は、学習対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化する。特徴量計算部は、角度表現に正規化された姿勢データをエンコーダに入力して埋め込み空間における特徴量を計算する。損失計算部は、エンコーダによって算出された特徴量に応じた損失を計算する。学習処理部は、算出された損失の勾配に基づいてエンコーダを訓練する。
【0045】
本実施形態の学習装置は、学習対象動画データを構成するフレームごとに推定された姿勢データに関する特徴量に応じた損失に基づいて、エンコーダを訓練する。姿勢データは、角度表現に正規化されている。また、特徴量は、埋め込み空間において計算される。そのため、本実施形態によれば、背景の影響を受けずに、同期対象動画データに含まれる動作を高精度で同期できるようにエンコーダを訓練できる。本実施形態の学習装置によって訓練されたエンコーダを用いれば、タグやメタデータなどのアノテーションがなくても、動画データを拡張できる。このエンコーダを用いれば、多様な人間の動作データの動作タイミングや速さが揃った動作を含む動画データを拡張できる。本実施形態の学習装置によって訓練されたエンコーダは、複数の動画データの各々に含まれる同期対象動作を同期させるデータ変換に使用できる。
【0046】
(第2の実施形態)
次に、第2の実施形態に係るデータ変換装置について図面を参照しながら説明する。本実施形態のデータ変換装置は、第1の実施形態の手法によって訓練されたエンコーダを用いて、同期対象動画データを基準動画データに同期させる。
【0047】
(構成)
図6は、本実施形態に係るデータ変換装置20の構成の一例を示すブロック図である。データ変換装置20は、取得部21、推定部22、特徴量計算部23、距離計算部25、同期処理部26、および出力部29を備える。
【0048】
取得部21(取得手段)は、基準動画データ211および同期対象動画データ212を取得する。基準動画データ211および同期対象動画データ212には、共通の同期対象動作が含まれる。基準動画データ211は、同期の基準となるデータである。同期対象動画データ212は、基準動画データ211に合わせて、同期させるデータである。動画データを構成するフレームから抽出できれば、同期対象動作の種類については特に限定を加えない。例えば、同期対象動作には、背伸びや跳躍、歩行、走行、ストレッチなどの動作が含まれる。
【0049】
推定部22(推定手段)は、第1の実施形態の推定部12と同様の構成である。推定部22は、基準動画データ211および同期対象動画データ212の各々に含まれるフレームから、人物を抽出する。推定部22は、抽出された人物の姿勢データを推定する。例えば、推定部22は、深層学習モデルを用いて、基準動画データ211および同期対象動画データ212の各々から抽出された人物の姿勢データを推定する。推定部22は、基準動画データ211および同期対象動画データ212の各々から抽出された人物に関して、代表的な部位の空間的な位置を姿勢データとして推定する。
【0050】
特徴量計算部23(特徴量計算手段)は、第1の実施形態の特徴量計算部13と同様の構成である。特徴量計算部23は、正規化部231およびエンコーダ233を含む。正規化部231は、第1の実施形態の正規化部131と同様の構成である。エンコーダ233は、第1の実施形態のエンコーダ133と同様の構成である。特徴量計算部23は、正規化部231を用いて、姿勢データを角度表現に正規化する。特徴量計算部23は、エンコーダ233を用いて、角度表現に正規化された姿勢データから、同期対象動作に関する特徴量を抽出する。基準動画データ211を構成するフレームごとの関節角データセットを用いて算出された特徴量を、第1特徴量と呼ぶ。同期対象動画データ212構成するフレームごとの関節角データセットを用いて算出された特徴量を、第2特徴量と呼ぶ。
【0051】
距離計算部25(距離計算手段)は、基準動画データ211に関する第1特徴量と、同期対象動画データ212に関する第2特徴量との距離を計算する。すなわち、距離計算部25は、基準動画データ211を構成するフレームごとに算出された特徴量と、同期対象動画データ212を構成するフレームごとに算出された特徴量との距離を計算する。距離計算部25は、埋め込み空間における距離を計算する。距離計算部25は、基準動画データ211に関する第1特徴量と、同期対象動画データ212に関する第2特徴量との距離(誤差の絶対値)を総当たりで計算する。例えば、距離計算部25は、L2ノルムなどの手法を用いて、特徴量間の距離を算出する。この手法によれば、時系列データの長さや周期が違っても、距離(類似度)を導出できる。
【0052】
例えば、距離計算部25は、DTW(Dynamic Time Warping)などの手法を用いて、最適経路を計算する。DTWでは、2つの時系列データを構成する各点の距離(誤差の絶対値)が総当たりで計算される。各特徴量に関して算出された全ての距離のうち、最も短い経路が最適経路に相当する。DTWによれば、基準動画データ211と同期対象動画データ212のフレーム長や周期が異なっても、それらを構成するフレームの類似度を計算できる。
【0053】
同期処理部26(同期処理手段)は、距離計算部25により算出された距離に基づいてフレームごとの最適経路を計算する。同期処理部26は、最適経路で結ばれたフレームのタイミングを揃えることによって、同期対象動画データを基準動画データに同期させる。同期処理部26は、基準動画データに含まれる同期対象動作を基準として、同期対象動画を基準動画データに同期させる。その結果、基準動画データ211および同期対象動画データ212に含まれる最も類似した動作が対応付けられる。そして、同期処理部26は、対応付けられた動作を含むフレームのタイミングを揃えて、基準動画データ211および同期対象動画データ212に含まれる動作を同期させる。
【0054】
図7は、基準動画データ211および同期対象動画データ212を構成するフレームの最適経路を対応付けたマップの一例を示す概念図である。基準動画データ211を構成するフレームごとの特徴量の時系列データ(実線)をF1と表記する。同期対象動画データ212を構成するフレームごとの特徴量の時系列データ(破線)をF2と表記する。
図7は、アレイ状に配列されたマス目に最適経路がドットで示される。基準動画データ211を構成するフレームと、同期対象動画データ212を構成するフレームとは、最適経路(ドット)のタイミングで対応付けられる。
【0055】
図8は、基準動画データ211および同期対象動画データ212を構成するフレームの最適経路を対応付けたグラフである。
図8は、フレームごとの最適経路が線分で対応付けられた様子を示す。例えば、時系列データF2(破線)のと時刻iと、時系列データF1(実線)における時刻i+2とが、最適経路で結ばれる。
【0056】
図9は、基準動画データ211に基づく時系列データF1と、基準動画データ211に合わせて同期された同期済み動画データ290を構成するフレームごとの特徴量の時系列データS2(破線)とを対応付けたグラフである。
図9のように、最適経路として対応付けられたフレームのタイミングを揃えることによって、同期対象動画データ212が基準動画データ211に同期される。
【0057】
出力部29(出力手段)は、同期済み動画データ290を出力する。同期済み動画データ290は、同期対象動作(学習対象動作)の学習に用いられる。同期済み動画データ290は、処理される同期対象動画データ212の数に応じて増える。すなわち、データ変換装置20は、同期対象動画データ212を用いて同期済み動画データ290を増やすことによって、学習対象動作を含む動画データを拡張する。
【0058】
出力部29から出力された同期済み動画データ290の用途は、学習対象動作の拡張に限定されない。同期済み動画データ290は、同期対象動作を検証するユーザによって閲覧可能な端末装置の画面に表示されてもよい。例えば、同期済み動画データ290は、その同期済み動画データ290と同期されている基準動画データ211と並べて、端末装置の画面に表示されてもよい。例えば、同期済み動画データ290は、同期前の同期対象動画データ212と並べて、端末装置の画面に表示されてもよい。
【0059】
(動作)
次に、データ変換装置20の動作について図面を参照しながら説明する。
図10は、データ変換装置20の動作の一例について説明するためのフローチャートである。
図10のフローチャートに沿った説明においては、データ変換装置20を動作主体として説明する。
【0060】
図10において、まず、データ変換装置20は、基準動画データ211と同期対象動画データ212を取得する(ステップS21)。
【0061】
次に、データ変換装置20は、基準動画データ211および同期対象動画データ212を構成するフレームごとに姿勢データを推定する(ステップS22)。
【0062】
次に、データ変換装置20は、基準動画データ211および同期対象動画データ212を構成するフレームごとに、姿勢データを角度表現に正規化する(ステップS23)。
【0063】
次に、データ変換装置20は、同期処理を実行する(ステップS24)。ステップS24の同期処理において、データ変換装置20は、角度表現に正規化された姿勢データを用いて、同期対象動画データ212に含まれる動作を、基準動画データ211に含まれる動作と同期させる。ステップS24の同期処理の詳細については、後述する。
【0064】
次に、データ変換装置20は、同期処理によって同期された同期済み動画データ290を出力する(ステップS25)。出力された同期済み動画データ290は、学習対象動作の学習に用いられる。出力された同期済み動画データ290は、画面に表示されてもよい。
【0065】
〔同期処理〕
次に、データ変換装置20による同期処理(
図10のステップS24)の一例について図面を参照しながら説明する。
図11は、同期処理(
図10のステップS24)について説明するためのフローチャートである。
図11のフローチャートに沿った説明においては、データ変換装置20を動作主体として説明する。
【0066】
図11において、まず、データ変換装置20は、同期対象動画データ212および基準動画データ211を構成するフレームごとの角度表現を用いて、グラフ畳み込みネットワークにより特徴量を計算する(ステップS241)。
【0067】
次に、データ変換装置20は、同期対象動画データおよび基準動画データに関して、特徴量の距離を計算する(ステップS242)。
【0068】
次に、データ変換装置20は、算出された距離を用いて、フレーム間の最適経路を計算する(ステップS243)。
【0069】
次に、データ変換装置20は、算出された最適経路のタイミングを揃えて、同期対象動画データを基準動画データに同期させる(ステップS244)。ステップS244の次は、
図10のステップS25に進む。
【0070】
以上のように、本実施形態のデータ変換装置は、取得部、推定部、特徴量計算部、距離計算部、同期処理部、および出力部を備える。取得部は、基準動画データおよび同期対象動画データを取得する。推定部は、基準動画データおよび同期対象動画データの各々を構成するフレームごとに姿勢データを推定する。特徴量計算部は、グラフ畳み込みネットワークを含むエンコーダを有する。例えば、エンコーダは、角度表現に正規化された姿勢データをグラフ畳み込みによって畳み込み、埋め込み空間における埋め込みを特徴量として出力する。特徴量計算部は、同期対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化する。特徴量計算部は、角度表現に正規化された姿勢データをエンコーダに入力して埋め込み空間における特徴量を計算する。距離計算部は、基準動画データを構成するフレームごとに算出された特徴量と、同期対象動画データを構成するフレームごとに算出された特徴量との距離を計算する。例えば、距離計算部は、基準動画データを構成するフレームに関する特徴量と、同期対象動画データを構成するフレームに関する特徴量との間の距離を総当たりで計算する。同期処理部は、算出された距離に基づいてフレームごとの最適経路を計算する。例えば、同期処理部は、算出された距離に基づいてフレームごとの最適経路を計算する。同期処理部は、最適経路で結ばれたフレームのタイミングを揃えることによって、同期対象動画データを基準動画データに同期させる。出力部は、基準動画データに同期された同期対象動画データを出力する。
【0071】
本実施形態のデータ変換装置は、動画データを構成するフレームごとに推定された姿勢データの特徴に基づいて、同期対象動画データを基準動画データに同期させる。そのため、同期対象動画データは、背景の影響を受けずに、基準動画データに含まれる同期対象動作を基準として同期される。また、本実施形態のデータ変換装置は、角度表現に正規化された姿勢データの特徴に基づいて、同期対象動画データを基準動画データに同期させる。そのため、同期対象動画データは、基準動画データに含まれる同期対象動作を基準として高精度に同期される。すなわち、本実施形態によれば、背景の影響を受けずに、複数の動画データの各々に含まれる同期対象動作を高精度で同期できる。
【0072】
一般に、動画データを構成するフレームに含まれる画像に基づいて、2つの動画データの各々に含まれる同期対象動作を同期させることは難しい。本実施形態では、動画データを構成するフレームを、埋め込みされた埋め込み空間に落とし込む。埋め込み空間では、特徴量の間の距離を計算できる。本実施形態では、埋め込み空間における距離を用いて、同じ動作を関連付ける。本実施形態では、フレーム単位で抽出された特徴量に基づき、DTWの手法を用いて同期を取る。そのため、本実施形態によれば、角度表現に変換された姿勢データを直接用いて同期を取るよりも、2つの動画データを高精度に同期させることができる。
【0073】
本実施形態の手法では、基準動画データに含まれる同期対象動作のタイミングに、同期対象動画データに含まれる同期対象動作のタイミングを合わせて、時間方向に伸縮・同期させる。そのため、基準動画データに含まれる同期対象動作と、同期対象動画データに含まれる同期対象動作とは、時間方向において正規化される。そのため、本実施形態によれば、タグやメタデータなどのアノテーションがなくても、動画データを拡張できる。本実施形態によれば、多様な人間の動作データの動作タイミングや速さが揃った動作を含む動画データを拡張できる。
【0074】
(第3の実施形態)
次に、第3の実施形態に係るデータ変換装置について図面を参照しながら説明する。本実施形態のデータ変換装置は、第1の実施形態の学習装置によって訓練されたエンコーダを用いて、複数の同期対象動画データを互いに同期させる。
【0075】
(構成)
図12は、本実施形態に係るデータ変換装置30の構成の一例を示すブロック図である。データ変換装置30は、取得部31、推定部32、特徴量計算部33、距離計算部35、同期処理部36、変換配列記憶部37、逆変換部38、および出力部39を備える。
【0076】
取得部31(取得手段)は、複数の同期対象動画データ310を取得する。
図12の例では、取得部31は、同期対象動画データ310A、同期対象動画データ310B、および同期対象動画データ310Cを取得する。取得部31は、4つ以上の同期対象動画データ310を取得してもよい。同期対象動画データ310A、同期対象動画データ310B、および同期対象動画データ310Cには、共通の同期対象動作が含まれる。動画データを構成するフレームから抽出できれば、同期対象動作の種類については特に限定を加えない。
【0077】
推定部32(推定手段)は、第1の実施形態の推定部12と同様の構成である。推定部32は、複数の同期対象動画データ310の各々を構成するフレームごとに、人物を抽出する。推定部32は、抽出された人物の姿勢データを推定する。例えば、推定部32は、深層学習モデルを用いて、複数の同期対象動画データ310の各々から抽出された人物の姿勢データを推定する。推定部32は、複数の同期対象動画データ310の各々から抽出された人物に関して、代表的な部位の空間的な位置を姿勢データとして推定する。
【0078】
特徴量計算部33(特徴量計算手段)は、第1の実施形態の特徴量計算部13と同様の構成である。特徴量計算部33は、正規化部331およびエンコーダ333を含む。正規化部331は、第1の実施形態の正規化部131と同様の構成である。エンコーダ333は、第1の実施形態のエンコーダ133と同様の構成である。特徴量計算部33は、正規化部331を用いて、姿勢データを角度表現に正規化する。特徴量計算部33は、エンコーダ333を用いて、角度表現に正規化された姿勢データから、同期対象動作に関する特徴量を抽出する。
【0079】
距離計算部35(距離計算手段)は、第2の実施形態の距離計算部25と同様の構成である。距離計算部35は、複数の同期対象動画データ310の各々に関して算出された特徴量の距離を計算する。すなわち、距離計算部35は、複数の同期対象動画データ310の各々に関して算出された特徴量の距離を計算する。距離計算部35は、埋め込み空間における距離を計算する。
【0080】
同期処理部36(同期処理手段)は、第2の実施形態の同期処理部26と同様の構成である。同期処理部36は、複数の同期対象動画データ310のうち1つを基準動画データに設定する。例えば、同期処理部36は、同期対象動画データ310Aを基準動画データに設定する。例えば、同期処理部36は、同期対象動画データ310Aに含まれる同期対象動作を基準として、同期対象動画データ310Bまたは同期対象動画データ310Cを同期対象動画データ310Aに同期させる。同期処理部36は、同期対象動画データ310Bや同期対象動画データ310Cを基準動画データに設定してもよい。
【0081】
同期処理部36は、距離計算部35により算出された距離に基づいてフレームごとの最適経路を計算する。同期処理部36は、最適経路で結ばれたフレームのタイミングを揃えることによって、同期対象動画データを基準動画データに同期させる。同期処理部36は、基準動画データに含まれる同期対象動作を基準として、同期対象動画を基準動画データに同期させる。その結果、基準動画データおよび同期対象動画データに含まれる最も類似した動作が対応付けられる。そして、同期処理部36は、互いに対応付けられた動作を含むフレームのタイミングを揃えて、基準動画データおよび同期対象動画データに含まれる動作を同期させる。
【0082】
同期処理部36は、同期対象動画データ310の同期に用いられた変換配列を、変換配列記憶部37に記憶させる。例えば、同期処理部36は、同期対象動画データ310Aを基準動画データとして、同期対象動画データ310Bまたは同期対象動画データ310Cを同期させた際に用いられた変換配列を、変換配列記憶部37に記憶させる。また、同期処理部36は、同期されていない同期対象動画データ310を逆変換部38に出力する。逆変換部38に出力された同期対象動画データ310は、基準動画データとして用いられた同期対象動画データ310の同期に用いられる。
【0083】
変換配列記憶部37(変換配列記憶手段)は、同期対象動画データ310の同期に用いられた変換配列を記憶する。例えば、変換配列記憶部37は、同期対象動画データ310Aを基準動画データとして、同期対象動画データ310Bまたは同期対象動画データ310Cを同期させた際に用いられた変換配列を記憶する。変換配列記憶部37に記憶された変換配列は、同期処理部36で同期されなかった同期対象動画データ310の同期に用いられる。同期処理部36で同期されなかった同期対象動画データ310は、基準動画データとして用いられた同期対象動画データ310に相当する。
【0084】
逆変換部38(逆変換手段)は、同期されていない同期対象動画データ310を同期処理部36から取得する。逆変換部38は、取得した同期対象動画データ310の同期に用いられる変換配列を取得する。例えば、同期対象動画データ310Bに同期対象動画データ310Aを同期させる場合、逆変換部38は、同期対象動画データ310Aに対して同期対象動画データ310Bを同期させた際に用いられた変換配列を取得する。例えば、同期対象動画データ310Cに同期対象動画データ310Aを同期させる場合、逆変換部38は、同期対象動画データ310Aに対して同期対象動画データ310Cを同期する際に用いられた変換配列を取得する。
【0085】
逆変換部38は、変換配列を用いて、基準動画データとして用いられた同期対象動画データ310に逆変換を行う。逆変換部38は、基準動画データとして用いられなかった他の同期対象動画データ310を基準として、基準動画データとして用いられた同期対象動画データ310を他の同期対象動画データ310に同期させる。例えば、逆変換部38は、同期対象動画データ310Aに対して同期対象動画データ310Bを同期させた際に用いられた変換配列を用いて、同期対象動画データ310Bに同期対象動画データ310Aを同期させる。例えば、逆変換部38は、同期対象動画データ310Aに対して同期対象動画データ310Cを同期させた際に用いられた変換配列を用いて、同期対象動画データ310Cに同期対象動画データ310Aを同期させる。
【0086】
出力部39(出力手段)は、同期済み動画データ390を出力する。同期済み動画データ390は、学習対象動作の学習に用いられる。同期済み動画データ390は、処理される同期対象動画データ310の数に応じて増える。すなわち、データ変換装置30は、同期対象動画データ310を用いて同期済み動画データ390を増やすことによって、学習対象動作を含む動画データを拡張する。
【0087】
出力部39から出力された同期済み動画データ390の用途は、学習対象動作の拡張に限定されない。同期済み動画データ390は、同期対象動作を検証するユーザによって閲覧可能な端末装置の画面に表示されてもよい。例えば、同期済み動画データ390は、その同期済み動画データ390と同期された他の同期済み動画データ390と並べて、端末装置の画面に表示されてもよい。例えば、同期済み動画データ390は、同期前の同期済み動画データ390と並べて、端末装置の画面に表示されてもよい。
【0088】
(動作)
次に、データ変換装置30の動作について図面を参照しながら説明する。
図13は、データ変換装置30の動作の一例について説明するためのフローチャートである。
図13のフローチャートに沿った説明においては、データ変換装置30を動作主体として説明する。
【0089】
図13において、まず、データ変換装置30は、複数の同期対象動画データ310を取得する(ステップS31)。
【0090】
次に、データ変換装置30は、複数の同期対象動画データ310を構成するフレームごとに姿勢データを推定する(ステップS32)。
【0091】
次に、データ変換装置30は、複数の同期対象動画データ310を構成するフレームごとに、姿勢データを角度表現に正規化する(ステップS33)。
【0092】
次に、データ変換装置30は、同期処理を実行する(ステップS34)。ステップS34の同期処理において、データ変換装置30は、角度表現に正規化された姿勢データを用いて、同期対象動画データ310に含まれる動作を、他の同期対象動画データ310に含まれる動作と同期させる。ステップS34の同期処理の詳細については、後述する。
【0093】
次に、データ変換装置30は、同期処理によって同期された同期済み動画データ390を出力する(ステップS35)。出力された同期済み動画データ390は、学習対象動作の学習に用いられる。出力された同期済み動画データ390は、画面に表示されてもよい。
【0094】
〔同期処理〕
次に、データ変換装置30による同期処理(
図13のステップS34)の一例について図面を参照しながら説明する。
図14は、同期処理(
図13のステップS34)について説明するためのフローチャートである。
図14のフローチャートに沿った説明においては、データ変換装置30を動作主体として説明する。
【0095】
図14において、まず、データ変換装置30は、複数の同期対象動画データ310を構成するフレームごとの角度表現を用いて、グラフ畳み込みネットワークにより特徴量を計算する(ステップS341)。
【0096】
次に、データ変換装置30は、複数の同期対象動画データ310のうち一つを基準動画データに設定する(ステップS342)。
【0097】
次に、データ変換装置30は、基準動画データおよび同期対象動画データ310に関して、特徴量の距離に応じて、フレーム間の最適経路を計算する(ステップS343)。
【0098】
次に、データ変換装置30は、算出された最適経路のタイミングを揃えて、同期対象動画データ310を基準動画データに同期させる(ステップS344)。
【0099】
次に、データ変換装置30は、同期対象動画データ310を基準動画データに同期させるのに用いられた変換配列を、変換配列記憶部37に記憶させる(ステップS345)。
【0100】
次に、データ変換装置30は、変換配列を用いて、いずれかの同期対象動画データ310に基準動画データを同期させる(ステップS346)。ステップS346の次は、
図13のステップS35に進む。
【0101】
以上のように、本実施形態のデータ変換装置は、取得部、推定部、特徴量計算部、距離計算部、同期処理部、および出力部を備える。取得部は、複数の同期対象動画データを取得する。推定部は、複数の同期対象動画データの各々を構成するフレームごとに姿勢データを推定する。特徴量計算部は、グラフ畳み込みネットワークを含むエンコーダを有する。例えば、エンコーダは、角度表現に正規化された姿勢データをグラフ畳み込みによって畳み込み、埋め込み空間における埋め込みを特徴量として出力する。特徴量計算部は、複数の同期対象動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化する。特徴量計算部は、角度表現に正規化された姿勢データをエンコーダに入力して埋め込み空間における特徴量を計算する。距離計算部は、複数の同期対象動画データを構成するフレームごとに算出された特徴量との距離を計算する。例えば、距離計算部は、複数の同期対象動画データを構成するフレームに関する特徴量との間の距離を総当たりで計算する。同期処理部は、算出された距離に基づいてフレームごとの最適経路を計算する。例えば、同期処理部は、算出された距離に基づいてフレームごとの最適経路を計算する。同期処理部は、最適経路で結ばれたフレームのタイミングを揃えることによって複数の同期対象動画データを互いに同期させる。出力部は、同期された同期対象動画データを出力する。
【0102】
本実施形態のデータ変換装置は、複数の同期対象動画データのうち1つを基準動画データに設定する。本実施形態のデータ変換装置は、複数の同期対象動画データを基準動画データと同期させて、同期済みの動画データに変換する。そのため、本実施形態によれば、複数の同期対象動画データを互いに同期させることができる。
【0103】
本実施形態の一態様のデータ変換装置は、変換配列記憶部と逆変換部をさらに備える。変換配列記憶部は、同期対象動画データの同期に用いられた変換配列を記憶する。逆変換部は、変換配列を用いて、基準動画データとして用いられた同期対象動画データに逆変換を行う。同期処理部は、複数の同期対象動画データのうち1つを基準動画データに設定する。同期処理部は、算出された距離に基づいてフレームごとに最適経路を計算する。同期処理部は、最適経路で結ばれたフレームのタイミングを揃えることによって、同期対象動画データを基準動画データに同期させる。同期処理部は、同期対象動画データの同期に用いられた変換配列を、変換配列記憶部に記憶させる。逆変換部は、基準動画データとして用いられなかった他の同期対象動画データを基準として、基準動画データとして用いられた同期対象動画データを他の同期対象動画データに同期させる。
【0104】
本態様のデータ変換装置は、複数の同期対象動画データの同期に用いられた変換配列を記憶する。本実施形態のデータ変換装置は、変換配列を用いて、基準動画データを他の同期対象動画データに同期させる。変換配列は、任意の同期対象動画データに対して用いられてもよい。このように、本実施形態によれば、基準動画データを同期対象動画データと同期させる処理をせずに、変換配列を用いて同期させることができる。例えば、同期対象動画データが2N個ある場合、2(N-1)個の変換配列を用いて、N2通りの同期済み動画データを表現できる(Nは自然数)。本実施形態によれば、複数の同期対象動画データを互いに同期させる処理における計算量を軽減できる。
【0105】
(第4の実施形態)
次に、第4の実施形態に係る動画変換システム40について図面を参照しながら説明する。本実施形態の動画変換システム40は、第1の実施形態の学習装置と、第2~第3の実施形態のデータ変換装置とを組み合わせた構成である。
【0106】
(構成)
図15は、本実施形態に係る動画変換システム40の一例を示すブロック図である。動画変換システム40は、学習装置41およびデータ変換装置45を備える。学習装置41は、第1の実施形態の学習装置10と同様の構成である。データ変換装置45は、第2の実施形態のデータ変換装置20または第3の実施形態のデータ変換装置30と同様の構成である。
【0107】
学習装置41およびデータ変換装置45は、第1~第3の実施形態で提示された特徴量計算部(図示しない)を有する。特徴量計算部は、学習装置41およびデータ変換装置45のうち少なくともいずれかが有すればよい。例えば、データ変換装置45は、学習装置41が有する特徴量計算部に接続される。例えば、学習装置41は、データ変換装置45が有する特徴量計算部に接続される。例えば、学習装置41およびデータ変換装置45の各々は、同じ特徴量計算部を個別に有する。例えば、学習装置41およびデータ変換装置45は、動画変換システム40の外部に配置されたクラウドやサーバに配置された特徴量計算部にアクセスするように構成されてもよい。
【0108】
学習装置41は、学習対象の動画データ410を取得する。学習装置41は、取得した動画データ410を用いて、特徴量計算部に含まれるエンコーダを学習させる。学習装置41は、学習結果に応じてエンコーダを更新する。学習装置41およびデータ変換装置45が異なる特徴量計算部を用いる場合、データ変換装置45が用いる特徴量計算部に含まれるエンコーダも、学習装置41による学習結果に応じて更新される。本実施形態においては、データ変換装置45が用いる特徴量計算部に含まれるエンコーダは、学習装置41による学習結果に応じて適宜更新される。
【0109】
データ変換装置45は、同期対象動画データ450を取得する。データ変換装置45は、特徴量計算部に含まれるエンコーダを用いて、取得した同期対象動画データ450を同期済み動画データ455に変換する。データ変換装置45は、同期された同期済み動画データ455を出力する。
【0110】
同期済み動画データ455は、同期対象動作(学習対象動作)の学習に用いられる。同期済み動画データ455は、処理される同期対象動画データ450の数に応じて増える。すなわち、動画変換システムは、同期対象動画データ450を用いて同期済み動画データ455を増やすことによって、学習対象動作を含む動画データを拡張する。同期済み動画データ455の用途は、学習対象動作の拡張に限定されない。例えば、同期済み動画データ455は、同期対象動作を検証するユーザによって閲覧可能な端末装置の画面に表示されてもよい。
【0111】
以上のように、本実施形態の動画変換システムは、学習装置およびデータ変換装置を備える。学習装置は、第1の実施形態の学習装置である。データ変換装置は、第2~第3の実施形態のデータ変換装置である。学習装置は、学習対象動作を含む学習対象動画データをエンコーダに学習させる。学習装置は、学習結果に応じてエンコーダを更新する。データ変換装置は、学習装置によって更新されたエンコーダを用いて、学習対象動作に相当する同期対象動作を含む同期対象動画データおよび基準動画データを取得する。データ変換装置は、エンコーダを用いて同期対象動画データを基準動画データに同期させる。
【0112】
本実施形態の動画変換システムは、拡張された動画データを含む学習対象動画データを用いて、エンコーダを更新する。学習対象動画データは、データ変換装置によって同期された同期済みの同期対象動画データを含んでもよい。本実施形態の動画変換システムは、高精度のエンコーダを用いて、同期対象動画データを基準動画データに同期させることができる。本実施形態の動画変換システムは、学習対象動作の同期が取れた学習対象動画データを用いて適宜更新されたエンコーダによって、学習対象動画データを高精度に拡張できる。そのため、本実施形態によれば、大量に準備することが難しい実測された動画データを基礎として、大量のデータを用いた場合と同等以上の精度のエンコーダを構築できる。
【0113】
(第5の実施形態)
次に、第5の実施形態に係る学習装置について図面を参照しながら説明する。本実施形態の学習装置は、第1の実施形態に係る学習装置10を簡略化した構成である。
図16は、本実施形態に係る学習装置50の構成の一例を示すブロック図である。学習装置50は、特徴量計算部53、損失計算部55、および学習処理部56を備える。
【0114】
特徴量計算部53は、グラフ畳み込みネットワークを含むエンコーダを有する。特徴量計算部53は、同期対象動作を含む学習対象動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化する。特徴量計算部53は、角度表現に正規化された姿勢データをエンコーダに入力して埋め込み空間における特徴量を計算する。
【0115】
損失計算部55は、エンコーダによって算出された特徴量に応じた損失を計算する。学習処理部56は、算出された損失の勾配に基づいてエンコーダを訓練する。
【0116】
本実施形態の学習装置は、学習対象動画データを構成するフレームごとに推定された姿勢データに関する特徴量に応じた損失に基づいて、エンコーダを訓練する。姿勢データは、角度表現に正規化されている。また、特徴量は、埋め込み空間において計算される。そのため、本実施形態によれば、背景の影響を受けずに、複数の同期対象動画データに含まれる同期対象動作を高精度で同期できるようにエンコーダを訓練できる。本実施形態の学習装置によって訓練されたエンコーダは、複数の動画データの各々に含まれる同期対象動作を同期させるデータ変換に使用できる。
【0117】
(第6の実施形態)
次に、第6の実施形態に係るデータ変換装置について図面を参照しながら説明する。本実施形態のデータ変換装置は、第2~第3の実施形態に係るデータ変換装置を簡略化した構成である。
図17は、本実施形態に係るデータ変換装置60の構成の一例を示すブロック図である。データ変換装置60は、特徴量計算部63、距離計算部65、同期処理部66、および出力部69を備える。
【0118】
特徴量計算部63は、グラフ畳み込みネットワークを含むエンコーダを有する。特徴量計算部63は、同期対象動作を含む動画データを構成するフレームごとに推定された姿勢データを角度表現に正規化する。特徴量計算部63は、角度表現に正規化された姿勢データをエンコーダに入力して埋め込み空間における特徴量を計算する。
【0119】
距離計算部65は、基準動画データを構成するフレームごとに算出された特徴量と、同期対象動画データを構成するフレームごとに算出された特徴量との距離を計算する。同期処理部66は、算出された距離に基づいてフレームごとの最適経路を計算する。同期処理部66は、最適経路で結ばれたフレームのタイミングを揃えることによって、同期対象動画データを基準動画データに同期させる。出力部69は、基準動画データに同期された同期対象動画データを出力する。
【0120】
本実施形態のデータ変換装置は、動画データを構成するフレームごとに推定された姿勢データの特徴に基づいて、同期対象動画データを基準動画データに同期させる。そのため、同期対象動画データは、背景の影響を受けずに、基準動画データに含まれる同期対象動作を基準として同期される。また、本実施形態のデータ変換装置は、角度表現に正規化された姿勢データの特徴に基づいて、同期対象動画データを基準動画データに同期させる。そのため、同期対象動画データは、基準動画データに含まれる同期対象動作を基準として高精度に同期される。すなわち、本実施形態によれば、背景の影響を受けずに、複数の動画データの各々に含まれる同期対象動作を高精度で同期できる。
【0121】
(ハードウェア)
次に、本開示の各実施形態に係る制御や処理を実行するハードウェア構成について、図面を参照しながら説明する。ここでは、そのようなハードウェア構成の一例として、
図18の情報処理装置90(コンピュータ)をあげる。
図18の情報処理装置90は、各実施形態の制御や処理を実行するための構成例であって、本開示の範囲を限定するものではない。
【0122】
図18のように、情報処理装置90は、プロセッサ91、主記憶装置92、補助記憶装置93、入出力インターフェース95、および通信インターフェース96を備える。
図18においては、インターフェースをI/F(Interface)と略記する。プロセッサ91、主記憶装置92、補助記憶装置93、入出力インターフェース95、および通信インターフェース96は、バス98を介して、互いにデータ通信可能に接続される。また、プロセッサ91、主記憶装置92、補助記憶装置93、および入出力インターフェース95は、通信インターフェース96を介して、インターネットやイントラネットなどのネットワークに接続される。
【0123】
プロセッサ91は、補助記憶装置93等に格納されたプログラム(命令)を、主記憶装置92に展開する。例えば、プログラムは、各実施形態の制御や処理を実行するためのソフトウェアプログラムである。プロセッサ91は、主記憶装置92に展開されたプログラムを実行する。プロセッサ91は、プログラムを実行することによって、各実施形態に係る制御や処理を実行する。
【0124】
主記憶装置92は、プログラムが展開される領域を有する。主記憶装置92には、プロセッサ91によって、補助記憶装置93等に格納されたプログラムが展開される。主記憶装置92は、例えばDRAM(Dynamic Random Access Memory)などの揮発性メモリによって実現される。また、主記憶装置92として、MRAM(Magneto resistive Random Access Memory)などの不揮発性メモリが構成/追加されてもよい。
【0125】
補助記憶装置93は、プログラムなどの種々のデータを記憶する。補助記憶装置93は、ハードディスクやフラッシュメモリなどのローカルディスクによって実現される。なお、種々のデータを主記憶装置92に記憶させる構成とし、補助記憶装置93を省略することも可能である。
【0126】
入出力インターフェース95は、規格や仕様に基づいて、情報処理装置90と周辺機器とを接続するためのインターフェースである。通信インターフェース96は、規格や仕様に基づいて、インターネットやイントラネットなどのネットワークを通じて、外部のシステムや装置に接続するためのインターフェースである。外部機器と接続されるインターフェースとして、入出力インターフェース95と通信インターフェース96とが共通化されてもよい。
【0127】
情報処理装置90には、必要に応じて、キーボードやマウス、タッチパネルなどの入力機器が接続されてもよい。それらの入力機器は、情報や設定の入力に使用される。入力機器としてタッチパネルが用いられる場合、タッチパネルの機能を有する画面がインターフェースになる。プロセッサ91と入力機器とは、入出力インターフェース95を介して接続される。
【0128】
情報処理装置90には、情報を表示するための表示機器が備え付けられてもよい。表示機器が備え付けられる場合、情報処理装置90には、表示機器の表示を制御するための表示制御装置(図示しない)が備えられる。情報処理装置90と表示機器は、入出力インターフェース95を介して接続される。
【0129】
情報処理装置90には、ドライブ装置が備え付けられてもよい。ドライブ装置は、プロセッサ91と記録媒体(プログラム記録媒体)との間で、記録媒体に格納されたデータやプログラムの読み込みや、情報処理装置90の処理結果の記録媒体への書き込みを仲介する。情報処理装置90とドライブ装置は、入出力インターフェース95を介して接続される。
【0130】
以上が、本開示の各実施形態に係る制御や処理を可能とするためのハードウェア構成の一例である。
図18のハードウェア構成は、各実施形態に係る制御や処理を実行するためのハードウェア構成の一例であって、本開示の範囲を限定するものではない。各実施形態に係る制御や処理をコンピュータに実行させるプログラムも、本開示の範囲に含まれる。
【0131】
各実施形態に係るプログラムを記録したプログラム記録媒体も、本開示の範囲に含まれる。記録媒体は、例えば、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光学記録媒体で実現できる。記録媒体は、USB(Universal Serial Bus)メモリやSD(Secure Digital)カードなどの半導体記録媒体によって実現されてもよい。また、記録媒体は、フレキシブルディスクなどの磁気記録媒体、その他の記録媒体によって実現されてもよい。プロセッサが実行するプログラムが記録媒体に記録されている場合、その記録媒体はプログラム記録媒体に相当する。
【0132】
各実施形態の構成要素は、任意に組み合わせられてもよい。各実施形態の構成要素は、ソフトウェアによって実現されてもよい。各実施形態の構成要素は、回路によって実現されてもよい。
【0133】
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【0134】
10、41、50 学習装置
11、21、31 取得部
12、22、32 推定部
13、23、33、53、63 特徴量計算部
15、55 損失計算部
16、56 学習処理部
20、30、45 データ変換装置
25、35、65 距離計算部
26、36、66 同期処理部
29、39、69 出力部
37 変換配列記憶部
38 逆変換部
40 動画変換システム
131、231 正規化部
133、233 エンコーダ