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

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

▶ テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッドの特許一覧

特許7026262ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置
<>
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図1
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図2
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図3
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図4
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図5
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図6
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図7
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図8
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図9
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図10
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図11
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図12
  • 特許-ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-16
(45)【発行日】2022-02-25
(54)【発明の名称】ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置
(51)【国際特許分類】
   G06T 7/00 20170101AFI20220217BHJP
【FI】
G06T7/00 350C
【請求項の数】 14
(21)【出願番号】P 2020568019
(86)(22)【出願日】2019-03-01
(65)【公表番号】
(43)【公表日】2021-06-17
(86)【国際出願番号】 CN2019076724
(87)【国際公開番号】W WO2019184654
(87)【国際公開日】2019-10-03
【審査請求日】2020-08-26
(31)【優先権主張番号】201810253848.3
(32)【優先日】2018-03-26
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ルゥオ,ウェンハン
(72)【発明者】
【氏名】マ,リン
(72)【発明者】
【氏名】リィウ,ウェイ
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開2015-142327(JP,A)
【文献】特開2018-006828(JP,A)
【文献】米国特許出願公開第2017/0180589(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
サーバーが実行するニューラルネットワークモデルのトレーニング方法であって、
トレーニングサンプルを取得するステップであって、前記トレーニングサンプルにトレーニングビデオ及び前記トレーニングビデオに対応する第1画像セットが含まれ、前記第1画像セットに、第1の所定フレーム数の前記トレーニングビデオにおける最初のフレームの画像又は最後のフレームの画像が含まれるステップと、
前記トレーニングサンプルに基づきトレーニングすることにより、トレーニング終了条件を満たすニューラルネットワークモデルを取得するステップであって、前記ニューラルネットワークモデルに、タイムラプス撮影ビデオに対してコンテンツモデリングを行うためのベーシックネットワークと、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うための最適化ネットワークとが含まれるステップと、
を含み、
前記ベーシックネットワークは、第1の所定フレーム数の同じ画像が含まれる第2画像セットを入力とし、ベーシックタイムラプス撮影ビデオを出力とする第1の敵対的生成ネットワークであり、前記最適化ネットワークは、前記ベーシックネットワークの出力を入力とし、最適化されたタイムラプス撮影ビデオを出力とする第2の敵対的生成ネットワークである、方法。
【請求項2】
前記ニューラルネットワークモデルを取得するステップは、
前記トレーニングサンプルに基づきトレーニングすることにより、トレーニング終了条件を満たす第1の敵対的生成ネットワークを、ベーシックネットワークとして取得するステップと、
前記第1画像セットに基づき、ベーシックネットワークにより、前記ベーシックネットワークによって出力されるベーシックタイムラプス撮影ビデオを取得するステップと、
前記ベーシックタイムラプス撮影ビデオと前記トレーニングビデオとに基づき、トレーニングすることにより、トレーニング終了条件を満たす第2の敵対的生成ネットワークを、最適化ネットワークとして取得するステップと、
を含む請求項1に記載の方法。
【請求項3】
前記最適化ネットワークとして取得するステップは、
前記ベーシックタイムラプス撮影ビデオに基づき、前記第2の敵対的生成ネットワークにおける第2の生成器により、最適化されたタイムラプス撮影ビデオを取得するステップと、
前記最適化されたタイムラプス撮影ビデオに基づき、前記第2の敵対的生成ネットワークにおける第2の判別器により、判別結果を取得するステップと、
前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ、前記トレーニングビデオ、及び前記判別結果に基づき、前記第2の敵対的生成ネットワークの損失を生成するステップであって、前記損失に少なくともランキング損失が含まれ、前記ランキング損失が、前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ、及び前記トレーニングビデオのそれぞれに対応するモーション特徴に基づき決定されるステップと、
トレーニング終了条件を満たす第2の敵対的生成ネットワークが最適化ネットワークとして取得されるまで、前記第2の敵対的生成ネットワークの損失に基づき、前記第2の敵対的生成ネットワークのネットワークパラメータを最適化するステップと、
を含む請求項2に記載の方法。
【請求項4】
前記第2の敵対的生成ネットワークにおける第2の判別器により、前記最適化されたタイムラプス撮影ビデオの第1特徴、前記ベーシックタイムラプス撮影ビデオ及び前記トレーニングビデオのそれぞれの第2特徴をそれぞれ抽出し、前記第1特徴及び前記第2特徴に基づき、前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ、及び前記トレーニングビデオのそれぞれに対応するグラムgram行列をそれぞれ算出し、前記グラムgram行列は、ビデオフレーム間のモーション状態を表すために用いられ、
前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ、及び前記トレーニングビデオのそれぞれに対応するグラムgram行列に基づき、ランキング損失を決定し、
前記第2の敵対的生成ネットワークのコンテンツ損失、敵対損失、及び前記ランキング損失に基づき、前記第2の敵対的生成ネットワークの損失を決定する請求項1に記載の方法。
【請求項5】
前記トレーニングサンプルを取得するステップは、
トレーニングビデオを取得するステップと、
前記トレーニングビデオから、最初のフレームの画像又は最後のフレームの画像を抽出するステップと、
前記最初のフレームの画像又は最後のフレームの画像をコピーして、前記第1画像セットを生成するステップと、
前記トレーニングビデオ、及び前記第1画像セットを、トレーニングサンプルとして使用するステップと、
を含む、請求項1に記載の方法。
【請求項6】
電子機器が実行するタイムラプス撮影ビデオの生成方法であって、
指定画像を取得するステップと、
前記指定画像に基づき、第1の所定フレーム数の前記指定画像を含む第3画像セットを生成するステップと、
前記第3画像セットに基づき、予めトレーニングされたニューラルネットワークモデルにより前記第3画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得するステップと、
を含み、
前記ニューラルネットワークモデルは、請求項1から5のいずれか一項に記載の方法でトレーニングすることで取得される、方法。
【請求項7】
前記電子機器は端末装置であり、前記端末装置に前記ニューラルネットワークモデルが配置されており、前記指定画像を取得するステップは、
選択コマンドに応答して、アルバムにおける選択された写真を、指定画像として取得するステップ、又は、
撮影コマンドに応答して、撮影された写真を、指定画像として取得するステップ、
を含む、請求項6に記載の方法。
【請求項8】
前記電子機器はサーバーであり、前記指定画像を取得するステップは、
端末装置から送信されたタイムラプス撮影生成要求を受信するステップであって、前記タイムラプス撮影生成要求に指定画像が含まれるステップと、
前記タイムラプス撮影生成要求から前記指定画像を取得するステップと、
を含む、請求項6に記載の方法。
【請求項9】
ニューラルネットワークモデルのトレーニング装置であって、
トレーニングサンプルを取得するための取得モジュールであって、前記トレーニングサンプルにはトレーニングビデオ、及び前記トレーニングビデオに対応する第1画像セットが含まれ、前記第1画像セットに、第1の所定フレーム数の前記トレーニングビデオにおける最初のフレームの画像又は最後のフレームの画像が含まれる取得モジュールと、
前記トレーニングサンプルに基づきトレーニングすることにより、トレーニング終了条件を満たすニューラルネットワークモデルを取得するためのトレーニングモジュールであって、前記ニューラルネットワークモデルに、タイムラプス撮影ビデオに対してコンテンツモデリングを行うためのベーシックネットワークと、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うための最適化ネットワークとが含まれるトレーニングモジュールと、
を含み、
前記ベーシックネットワークは、第1の所定フレーム数の同じ画像が含まれる第2画像セットを入力とし、ベーシックタイムラプス撮影ビデオを出力とする第1の敵対的生成ネットワークであり、前記最適化ネットワークは、前記ベーシックネットワークの出力を入力とし、最適化されたタイムラプス撮影ビデオを出力とする第2の敵対的生成ネットワークである、装置。
【請求項10】
タイムラプス撮影ビデオの生成装置であって、
指定画像を取得するための取得モジュールと、
前記指定画像に基づき、第1の所定フレーム数の前記指定画像が含まれる第3画像セットを生成するための第1の生成モジュールと、
前記第3画像セットに基づき、予めトレーニングされたニューラルネットワークモデルにより前記第3画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得するための第2の生成モジュールと、
を含み、
前記ニューラルネットワークモデルは、請求項1から5のいずれか一項に記載の方法でトレーニングすることで取得される、装置。
【請求項11】
端末とサーバーとを含む、タイムラプス撮影ビデオの生成システムであって、
前記端末と前記サーバーとは、ネットワークを介して相互作用し、
前記サーバーは、前記端末から送信された指定画像を受信し、前記指定画像に基づき、第1の所定フレーム数の前記指定画像が含まれる第3画像セットを生成し、前記第3画像セットに基づき、予めトレーニングされたニューラルネットワークモデルにより前記第3画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得し、前記タイムラプス撮影ビデオを前記端末に送信するために使用され、
前記ニューラルネットワークモデルは、請求項1から5のいずれか一項に記載の方法でトレーニングすることで取得される、システム。
【請求項12】
メモリとプロセッサとを含む電子機器であって、
前記メモリはコンピュータプログラムを記憶
前記コンピュータプログラムは、前記プロセッサにより実行されると、前記電子機器に、請求項1から5のいずれか一項に記載のニューラルネットワークモデルのトレーニング方法、又は、請求項6から8のいずれか一項に記載のタイムラプス撮影ビデオの生成方法を実行させるためのコンピュータプログラムである、電子機器。
【請求項13】
コンピュータプログラムが記憶されている記憶媒体であって、
前記コンピュータプログラムは、プロセッサによって実行される場合に、請求項1から5のいずれか一項に記載のニューラルネットワークモデルのトレーニング方法を実現するか、又は、請求項6から8のいずれか一項に記載のタイムラプス撮影ビデオの生成方法を実現するために使用される、記憶媒体。
【請求項14】
コンピュータに、請求項1から5のいずれか一項に記載のニューラルネットワークモデルのトレーニング方法、又は、請求項6から8のいずれか一項に記載のタイムラプス撮影ビデオの生成方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2018年03月26日に中国専利局に提出された、出願番号が201810253848.3であって、発明の名称が「ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置」である中国特許出願の優先権を主張するものであり、その全ての内容を本出願に参照により援用する。
【0002】
本出願は、人工知能技術の分野に関し、特に、ニューラルネットワークモデルのトレーニング方法、タイムラプス撮影ビデオの生成方法及び対応する装置、システム、デバイス、記憶媒体、ならびに、コンピュータプログラムに関する。
【背景技術】
【0003】
タイムラプス撮影は、時間圧縮された撮影(Time-lapse photography)や時間圧縮された録画とも呼ばれ、時間を圧縮する撮影技術である。一連の写真を撮影し、後の段階では、写真をつなぎ合わせて、数分、数時間、さらに、数日又は数年のプロセスを短い時間に圧縮してビデオの形で再生することである。現在、タイムラプス撮影ビデオの生成方法はまだ学術研究段階にあり、主にニューラルネットワークモデルで実現され、しかし、この方法で生成されたビデオは、コンテンツがぼやけており、リアリティが低く、ユーザーのニーズを満たすことが難しいため、広く利用されていない。
【発明の概要】
【発明が解決しようとする課題】
【0004】
これに鑑み、本出願の実施例は、ニューラルネットワークモデルのトレーニング方法、タイムラプス撮影ビデオの生成方法を提供し、それにより、高いリアリティを備えた鮮明で滑らかなタイムラプス撮影ビデオを生成して、ユーザーのニーズを満たすことができ、広い適用の見通しがある。本出願は、対応する装置、システム、デバイス、記憶媒体、及びコンピュータプログラムをさらに提供する。
【課題を解決するための手段】
【0005】
上記の目的を実現するために、本出願の実施例は、以下の技術案を提供する。
サーバーに適用されるニューラルネットワークモデルのトレーニング方法であって、
トレーニングサンプルを取得するステップであって、前記トレーニングサンプルに、トレーニングビデオ及びそれに対応する画像セットが含まれ、前記画像セットに、第1の所定フレーム数の前記トレーニングビデオにおける最初のフレーム画像又は最後のフレーム画像が含まれるステップと、
前記トレーニングサンプルに基づきトレーニングすることにより、トレーニング終了条件を満たすニューラルネットワークモデルを取得するステップであって、前記ニューラルネットワークモデルに、タイムラプス撮影ビデオに対してコンテンツモデリングを行うためのベーシックネットワークと、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うための最適化ネットワークとが含まれるステップと、
を含み、
前記ベーシックネットワークは、第1の所定フレーム数の同じ画像が含まれる画像セットを入力とし、ベーシックタイムラプス撮影ビデオを出力とする第1の敵対的生成ネットワークであり、
前記最適化ネットワークは、前記ベーシックネットワークの出力を入力とし、最適化されたタイムラプス撮影ビデオを出力とする第2の敵対的生成ネットワークである。
【0006】
電子機器に適用されるタイムラプス撮影ビデオの生成方法であって、
指定画像を取得するステップと、
前記指定画像に基づき、第1の所定フレーム数の前記指定画像が含まれる画像セットを生成するステップと、
前記画像セットに基づき、予めトレーニングされたニューラルネットワークモデルにより前記画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得するステップと、
を含み、
前記ニューラルネットワークモデルは、本出願に記載されたニューラルネットワークモデルのトレーニング方法でトレーニングすることで取得される。
【0007】
ニューラルネットワークモデルのトレーニング装置であって、
トレーニングサンプルを取得するための取得モジュールであって、前記トレーニングサンプルトに、トレーニングビデオ及びそれに対応する画像セットが含まれ、前記画像セットに、第1の所定フレーム数の前記トレーニングビデオにおける最初のフレーム画像又は最後のフレーム画像が含まれる取得モジュールと、
前記トレーニングサンプルに基づきトレーニングすることにより、トレーニング終了条件を満たすニューラルネットワークモデルを取得するためのトレーニングモジュールであって、前記ニューラルネットワークモデルに、タイムラプス撮影ビデオに対してコンテンツモデリングを行うためのベーシックネットワークと、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うための最適化ネットワークとが含まれるトレーニングモジュールと、
を含み、
前記ベーシックネットワークは、第1の所定フレーム数の同じ画像が含まれる画像セットを入力とし、ベーシックタイムラプス撮影ビデオを出力とする第1の敵対的生成ネットワークであり、前記最適化ネットワークは、前記ベーシックネットワークの出力を入力とし、最適化されたタイムラプス撮影ビデオを出力とする第2の敵対的生成ネットワークである。
【0008】
タイムラプス撮影ビデオの生成装置であって、
指定画像を取得するための取得モジュールと、
前記指定画像に基づき、第1の所定フレーム数の前記指定画像が含まれる画像セットを生成するための第1の生成モジュールと、
前記画像セットに基づき、予めトレーニングされたニューラルネットワークモデルにより前記画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得するための第2の生成モジュールと、
を含み、
前記ニューラルネットワークモデルは、本出願に記載されたニューラルネットワークモデルのトレーニング方法でトレーニングすることで取得される。
【0009】
端末とサーバーとを含む、タイムラプス撮影ビデオの生成システムであって、
前記端末と前記サーバーとは、ネットワークを介して相互作用し、
前記サーバーは、前記端末に送信される指定画像を受信し、前記指定画像に基づき、第1の所定フレーム数の前記指定画像が含まれる画像セットを生成し、前記画像セットに基づき、予めトレーニングされたニューラルネットワークモデルにより前記画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得し、前記タイムラプス撮影ビデオを前記端末に送信するために使用され、
前記ニューラルネットワークモデルは、本出願に記載されたニューラルネットワークモデルのトレーニング方法でトレーニングすることで取得される。
【0010】
メモリとプロセッサとを含む電子機器であって、
前記メモリはコンピュータプログラムを記憶するために使用され、
前記プロセッサは、前記メモリ内のコンピュータプログラムを呼び出して実行して、本出願に記載されたニューラルネットワークモデルのトレーニング方法を実現するか、又は本出願に記載されたタイムラプス撮影ビデオの生成方法を実現するために使用される。
【0011】
コンピュータプログラムが記憶されている記憶媒体であって、前記コンピュータプログラムは、プロセッサによって実行される場合に、上記のようなタイムラプス撮影ビデオを生成するためのニューラルネットワークモデルのトレーニング方法の各ステップ、及び/又は、上記のようなタイムラプス撮影ビデオの生成方法の各ステップを実現する。
【0012】
コマンドを含むコンピュータプログラムであって、コンピュータで実行される場合に、本出願に記載されたニューラルネットワークモデルのトレーニング方法、又は、本出願に記載されたタイムラプス撮影ビデオの生成方法を前記コンピュータに実行させる。
【0013】
上記の技術案から分かるように、従来技術と比べて、本出願は、デュアルネットワーク構造のモデルに基づいてタイムラプス撮影ビデオを生成する方法を提供し、その中、デュアルネットワーク構造に、具体的に、タイムラプス撮影ビデオに対してコンテンツモデリングを行うためのベーシックネットワークと、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うための最適化ネットワークとが含まれ、ベーシックネットワークは、第1の所定フレーム数の指定フレーム画像が含まれるビデオを入力とし、ベーシックタイムラプス撮影ビデオを出力とする第1の敵対的生成ネットワークであり、最適化ネットワークは、前記ベーシックネットワークの出力を入力とし、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うために使用され、最適化されたタイムラプス撮影ビデオを出力とする第2の敵対的生成ネットワークであり、複数のトレーニングビデオを取得した後に、トレーニングビデオに基づきトレーニングビデオに対応する画像セットを生成し、当該画像セットは第1の所定フレーム数の前記トレーニングビデオにおける最初のフレーム画像又は最後のフレーム画像を含み、当該トレーニングビデオ及びそれに対応する画像セットによって、ベーシックネットワーク及び最適化ネットワークからなるニューラルネットワークモデルをトレーニングし、トレーニング終了条件を満たしたら、当該ビデオをタイムラプス撮影ビデオの生成に使用することができる。
【0014】
具体的に、指定画像を取得し、当該指定画像に基づき、第1の所定フレーム数の指定画像が含まれる指定画像セットを生成し、そして、予めトレーニングされたニューラルネットワークモデルにより前記指定画像セットに対してコンテンツモデリングとモーション状態モデリングを行って、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得する。当該方法は、多段階の敵対的生成ネットワークによりタイムラプス撮影ビデオを継続的に最適化し、コンテンツのモデリング及びモーション状態のモデリングにより未来フレーム又は履歴フレームの合理的な予測を保証して、タイムラプス撮影ビデオが粗いものから細かいものまで段階的に生成されることを実現する。当該方法は、コンテンツのリアリティと、モーション情報の合理性とを保持しているため、生成されるタイムラプス撮影ビデオは高いリアリティを有し、且つ、比較的自然である。一方で、当該方法で使用されるモデルはカスケードデュアルネットワーク構造であり、実現と簡素化が容易であり、クラウド又はオフラインのシナリオに適用できる。
【図面の簡単な説明】
【0015】
本出願の実施例又は従来技術における技術案をより明確に説明するために、以下は、実施例又は従来技術の記述で使用する必要がある図面を簡単に説明し、明らかに、以下の記述の添付図面は本出願の実施例にすぎず、当業者にとって、創造的な努力なしに提供されたこれらの図面から他の図面を得ることができる。
図1】本出願の実施例で提供されるタイムラプス撮影ビデオの生成方法のフローチャートである。
図2】本出願の実施例で提供されるニューラルネットワークモデルのトレーニング方法のフローチャートである。
図3】本出願の実施例で提供される他のニューラルネットワークモデルのトレーニング方法のフローチャートである。
図4】本出願の実施例で提供されるベーシックネットワークのトレーニング方法のフローチャートである。
図5】本出願の実施例で提供されるベーシックネットワークの構成図である。
図6】本出願の実施例で提供される最適化ネットワークのトレーニング方法のフローチャートである。
図7】本出願の実施例で提供される最適化ネットワークの構成図である。
図8】本出願の実施例で提供されるタイムラプス撮影ビデオの生成システムの構成図である。
図9】本出願の実施例で提供されるタイムラプス撮影ビデオの生成方法のシグナリングフローチャートである。
図10】本出願の実施例で提供されるタイムラプス撮影ビデオの生成装置の構成図である。
図11】本出願の実施例で提供されるニューラルネットワークモデルのトレーニング装置の構成図である。
図12】本出願の実施例で提供される他のニューラルネットワークモデルのトレーニング装置の構成図である。
図13】本出願の実施例で提供される電子機器のハードウェア構成図である。
【発明を実施するための形態】
【0016】
以下に、本出願の実施例における図面と合わせて、本出願の実施例における技術案を明確且つ完全に説明し、明らかに、説明される実施例は、全ての実施例ではなく、本出願の一部の実施例にすぎない。本出願における実施例に基づいて、創造的な努力なしに当業者によって得られる他の全ての実施例は、本出願の保護範囲に属する。
【0017】
本出願の上記の目的、特徴及び利点をより明らかに且つより理解し易くするために、本出願は、図面及び具体的な実施形態と合わせて以下でさらに詳しく説明される。
【実施例
【0018】
本出願の実施例は、電子機器に適用可能なタイムラプス撮影ビデオの生成方法を提供し、当該電子機器は、ローカルに位置する端末であってもよいし、クラウドのサーバーであってもよいし、端末及びサーバーで構成されるタイムラプス撮影ビデオの生成システムであってもよい。図1を参照し、図1は、本出願の実施例で提供されるタイムラプス撮影ビデオの生成方法のフローチャートである。図1に示すように、当該方法は、以下のことを含む。
【0019】
ステップS11において、指定画像を取得する。
当該方法が端末によって実現される場合に、指定画像を取得する実現方法が2つあり、1つの実現方法は、アルバムから写真を指定画像として選択することであり、具体的に、端末は、選択コマンドに応答して、アルバムにおける選択された写真を指定画像として取得することであり、1つの実現方法は、指定画像として画像をリアルタイムで撮影することであり、具体的に、端末は、撮影コマンドに応答して、撮影された写真を指定画像として取得することである。当該方法がサーバーによって実現される場合に、サーバーは、端末から送信されたタイムラプス撮影生成要求を受信し、当該タイムラプス撮影生成要求に指定画像が含まれ、サーバーは、前記タイムラプス撮影生成要求から前記指定画像を取得することができる。
【0020】
ステップS12において、前記指定画像に基づき、第1の所定フレーム数の前記指定画像が含まれる画像セットを生成する。
本実施例は、画像セットを生成する2つの方法を提供する。1つの実現方法は、前記指定画像の数が第1の所定フレーム数に達するまで前記指定画像をコピーし、次に、第1の所定フレーム数の前記指定画像に基づき画像セットを生成することであり、別の実現方法は、データソースから指定画像を繰り返して取得することであり、例えば、前記指定画像の数が第1の所定フレーム数に達するまで、指定画像である同じ画像を複数回取得し、次に、第1の所定フレーム数の前記指定画像に基づき画像セットを生成する。
【0021】
任意選択で、前記第1の所定フレーム数は32であってもよく、つまり、前記画像セットに32枚の前記指定画像が含まれ、なお、本出願では、前記第1の所定フレーム数の具体的な数値について、限定されず、実際のニーズに応じて調整してもよく、第1の所定フレーム数の具体的な数値の変更は、本出願の保護範囲から逸脱しない。
【0022】
ステップS13において、前記画像セットに基づき、予めトレーニングされたニューラルネットワークモデルにより前記画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得する。
【0023】
前記ニューラルネットワークモデルは、ベーシックネットワークと最適化ネットワークを含む。ベーシックネットワークは、タイムラプス撮影ビデオに対してコンテンツモデリングを行うためのものであり、第1の所定フレーム数の指定画像が含まれる画像セットを入力とし、ベーシックタイムラプス撮影ビデオを出力とする敵対的生成ネットワークであり、記述の便宜上、第1の敵対的生成ネットワークと表記される。最適化ネットワークは、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うためのものであり、前記ベーシックネットワークの出力を入力とし、最適化されたタイムラプス撮影ビデオを出力とする敵対的生成ネットワークであり、記述の便宜上、第2の敵対的生成ネットワークと表記される。
【0024】
いわゆる敵対的生成ネットワークとは、2人用のゼロサムゲームの理論に基づいて実現されるネットワークである。当該ネットワークに、生成モデル(生成器とも呼ばれる)と、判別モデル(判別器とも呼ばれる)とが含まれ、生成モデルは、サンプルデータの分布をキャプチャし、特定の分布(例えば、均一分布や、ガウス分布など)に従うノイズを使用して、実際のトレーニングデータと類似するサンプルデータを生成し、判別モデルは、サンプルデータが実際のトレーニングデータ(生成されたデータではない)に由来する確率を推定するために使用されるバイナリ分類器であり、サンプルが実際のトレーニングデータに由来すると、大きな確率を出力し、さもなければ、小さな確率を出力する。なお、生成モデルは、実際のトレーニングデータと同じサンプルデータを生成して、判別モデルが区別できないようにすることを目的とし、判別モデルは、生成モデルによって生成されたサンプルデータを検出することを目的とする。
【0025】
本実施例では、電子機器にニューラルネットワークモデルが配置されており、指定画像セットをニューラルネットワークモデルに入力し、当該ニューラルネットワークモデルのベーシックネットワークは、タイムラプス撮影ビデオに対してコンテンツモデリングを行ってベーシックタイムラプス撮影ビデオを生成し、次に、ベーシックネットワークによって出力されるベーシックタイムラプス撮影ビデオを最適化ネットワークに入力し、最適化ネットワークは、タイムラプス撮影ビデオのモーション状態に対してモデリングを行って、最適化されたタイムラプス撮影ビデオを出力し、当該最適化されたタイムラプス撮影ビデオは、最終的に出力されたタイムラプス撮影ビデオである。
【0026】
なお、本実施例で提供されるタイムラプス撮影ビデオの生成方法で生成されるビデオは未来を表すビデオであってもよいし、過去を表すビデオであってもよく、主に使用するニューラルネットワークモデルにより決定され、モデルは未来フレームを予測して、順方向予測を実現すると、未来を表すビデオを生成し、モデルは履歴フレームを予測して、逆方向予測を実現すると、過去を表すビデオを生成する。
【0027】
以下、理解の便宜上、簡単な例で説明する。ユーザーは、花の開花過程を表すタイムラプス撮影ビデオを生成したい場合に、花がつぼみである際の写真を指定画像として、当該指定画像をコピーして第1の所定フレーム数の指定画像を取得することで、画像セットを生成し、次に、画像セットを、未来フレームを予測できるニューラルネットワークモデルに入力してもよく、当該ニューラルネットワークモデルは、花がつぼみから満開まで徐々に咲くタイムラプスビデオを出力できる。
【0028】
いくつかの可能な実施態様では、ユーザーは、花の開花過程を表すタイムラプス撮影ビデオを生成したい場合に、花が満開する際の写真を指定画像として、当該指定画像をコピーして第1の所定フレーム数の指定画像を取得することで、画像セットを生成し、次に、画像セットを、履歴フレームを予測できるニューラルネットワークモデルに入力してもよく、当該ニューラルネットワークモデルは、花が満開する前の履歴フレームを予測できるので、花がつぼみから満開まで徐々に咲くタイムラプスビデオを出力できる。
【0029】
なお、ニューラルネットワークモデルのトレーニングプロセスについては、後述するので、ここで詳細に説明しない。
【0030】
本出願の実施例はタイムラプス撮影ビデオの生成方法を提供し、当該方法は、予めトレーニングされたニューラルネットワークモデルを利用して、第1の所定フレーム数の指定画像が含まれる画像セットに対してコンテンツモデリング及びモーション状態モデリングを行うことで、タイムラプス撮影ビデオを生成することであり、当該方法は、多段階の敵対的生成ネットワークによりタイムラプス撮影ビデオを継続的に最適化し、コンテンツのモデリング及びモーション状態のモデリングにより未来のフレーム又は履歴フレームの合理的な予測を保証して、タイムラプス撮影ビデオが粗いものから細かいものまで段階的に生成されることを実現する。当該方法は、コンテンツのリアリティと、モーション情報の合理性とを保持しているため、生成されるタイムラプス撮影ビデオは高いリアリティを有し、且つ、比較的自然である。一方で、当該方法で使用されるモデルはカスケードデュアルネットワーク構造であるので、実現と簡素化が容易であり、クラウド又はオフラインのシナリオに適用できる。
【0031】
具体的に、本出願の上記の実施例では、前記ステップS13では、既に予めトレーニングされた、タイムラプス撮影ビデオを生成するためのニューラルネットワークモデルが使用され、当該タイムラプス撮影ビデオを生成するためのニューラルネットワークモデルは、事前にトレーニングされる必要があることは理解でき、以下、当該タイムラプス撮影ビデオを生成するためのニューラルネットワークモデルのトレーニングプロセスを説明する。
【0032】
図2を参照して、図2は、本出願の実施例で提供されるニューラルネットワークモデルのトレーニング方法のフローチャートである。図2に示すように、当該方法は、以下のことを含む。
【0033】
ステップS21において、トレーニングサンプルを取得する。
前記トレーニングサンプルはトレーニングビデオ、及びそれに対応する画像セットを含み、前記画像セットは第1の所定フレーム数の前記トレーニングビデオにおける最初のフレーム画像又は最後のフレーム画像を含む。なお、ニューラルネットワークモデルをトレーニングする場合に、通常、バッチトレーニングサンプルが使用され、バッチトレーニングサンプルの画像セットに含まれる画像は全てトレーニングビデオにおける最初のフレーム画像であるか、又は、全てトレーニングビデオにおける最後のフレーム画像である。
【0034】
その中、トレーニングビデオはタイムラプス撮影ビデオである。具体的に、予め取得した各タイムラプス撮影ビデオを前処理し、複数の適格なトレーニングビデオを生成し、複数の当該適格な独立し且つ重ならないトレーニングビデオを取得する。
【0035】
任意選択で、キーワードを設定することで、大量のタイムラプス撮影ビデオを予めインターネット上でクロールすることができ、これらのクロールされたタイムラプス撮影ビデオは一般に比較的大きく、これらの大きなビデオを小さなビデオクリップに分割してもよく、このプロセスでは、例えば、画像が静止している、画像の黒い境界線が非常に大きい、画像が非常に暗い、又は画面にクイックズームイン/ズームアウトなどの操作がある小さなビデオクリップなどの不適切なトレーニングデータを削除する。これらの不適切なビデオクリップを削除した後に、残りのビデオクリップは、第1の所定フレーム数ごとに1つのトレーニングビデオを作成する形で、適格な、独立し且つ重ならないトレーニングビデオを得ることができる。例えば、1つのビデオクリップに128フレームが含まれ、第1の所定フレーム数が32の場合に、当該ビデオクリップは、32フレームごとに4つのトレーニングビデオを生成できる。なお、各トレーニングビデオに第1の所定フレーム数の画像が含まれ、前記第1の所定フレーム数は32にすることができ、その大きさがトレーニングに比較的適している。もちろん、前記第1の所定フレーム数は、実際のニーズに応じて設置でき、本出願では、その具体的な数値は限定されず、その具体的な数値の変化は本出願の保護範囲から逸脱しない。
【0036】
本実施例では、以下の方法でトレーニングサンプルを取得することができ、具体的に、まず、トレーニングビデオを取得し、次に、前記トレーニングビデオから最初のフレーム画像又は最後のフレーム画像を抽出して、前記トレーニングビデオに対応する画像セットを生成し、前記トレーニングビデオ、及びそれに対応する画像セットを、トレーニングサンプルとする。なお、前記トレーニングビデオから最初のフレーム画像又は最後のフレーム画像を抽出した後に、2つの方法でトレーニングビデオに対応する画像セットを生成することができる。1つの方法は、画像の数が第1の所定フレーム数に達するまで、抽出された画像をコピーし、上記の第1の所定フレーム数の画像に基づき画像セットを生成することである。別の方法は、複数回の抽出により、第1の所定フレーム数の最初のフレーム画像、又は第1の所定フレーム数の最後のフレーム画像を取得して、画像セットを生成することである。
【0037】
ステップS22において、前記トレーニングサンプルに基づきトレーニングすることで、トレーニング終了条件を満たすニューラルネットワークモデルを取得する。
【0038】
前記ニューラルネットワークモデルは、タイムラプス撮影ビデオに対してコンテンツモデリングを行うためのベーシックネットワークと、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うための最適化ネットワークとを含み、前記ベーシックネットワークは、第1の所定フレーム数の同じ画像が含まれる画像セットを入力とし、ベーシックタイムラプス撮影ビデオを出力とする第1の敵対的生成ネットワークであり、前記最適化ネットワークは、前記ベーシックネットワークの出力を入力とし、最適化されたタイムラプス撮影ビデオを出力とする第2の敵対的生成ネットワークである。
【0039】
本実施例では、ベーシックネットワークと最適化ネットワークの両方は敵対的生成ネットワークであり、ベーシックネットワークは、第1の所定フレーム数の同じ画像が含まれる画像セットに基づいて、コンテンツモデリングを行うことにより、ベーシックタイムラプス撮影ビデオを生成することができ、これに基づいて、さらに、最適化ネットワークによりベーシックタイムラプス撮影ビデオに対してモーション状態モデリングを行ってもよく、それにより、継続的な最適化を実行して、より真実的で自然な、最適化されたタイムラプス撮影ビデオを生成する。
【0040】
以下、前記ステップS22にて前記トレーニングサンプルに基づきトレーニングすることにより、トレーニング終了条件を満たすニューラルネットワークモデルを取得するプロセスについて、詳細に説明する。図3を参照し、図3は本出願の実施例で提供される他のニューラルネットワークモデルのトレーニング方法のフローチャートである。図3に示すように、当該方法は、以下のことを含む。
【0041】
ステップS31において、前記トレーニングサンプルに基づきトレーニングすることにより、トレーニング終了条件を満たす第1の敵対的生成ネットワークを、ベーシックネットワークとして取得する。
トレーニングサンプルに、トレーニングビデオ及びトレーニングビデオに対応する画像セットが含まれ、ベーシックネットワークは、画像セットを入力とし、コンテンツモデリングを行うことでベーシックタイムラプス撮影ビデオを出力し、それは、生成されたベーシックタイムラプス撮影ビデオがトレーニングビデオに近づくことを目的とし、このようにして、生成されたビデオとトレーニングビデオとの類似度に基づいて第1の敵対的生成ネットワークのパラメータを調整でき、パラメータを継続的に調整することで、第1の敵対的生成ネットワークを最適化し、トレーニング終了条件を満たすと、当該第1の生成ネットワークを、ベーシックネットワークとして取得する。
【0042】
なお、トレーニング終了条件は、実際のニーズに応じて設置でき、例えば、第1の敵対的生成ネットワークの損失関数が収束状態にある場合や、第1の敵対的生成ネットワークの損失関数がプリセット値よりも小さい場合がある。ベーシックネットワークのトレーニングプロセスついては、以下で詳細に説明し、ここで繰り返して説明しない。
【0043】
ステップS32において、前記トレーニングビデオに対応する画像セットに基づき、ベーシックネットワークを介して、前記ベーシックネットワークによって出力されるベーシックタイムラプス撮影ビデオを取得する。
ベーシックネットワークは、第1の所定フレーム数の同じ画像が含まれる画像セットを入力とし、ベーシックタイムラプス撮影ビデオを出力とし、トレーニングビデオに対応する画像セットをベーシックネットワークに入力することで、ベーシックネットワークによって出力されるベーシックタイムラプス撮影ビデオを取得できる。
【0044】
ステップS33において、前記ベーシックタイムラプス撮影ビデオと前記トレーニングビデオとに基づきトレーニングすることにより、トレーニング終了条件を満たす第2の敵対的生成ネットワークを、最適化ネットワークとして取得する。
【0045】
最適化ネットワークは、ベーシックタイムラプス撮影ビデオをさらに最適化するために使用され、敵対的生成ネットワークのトレーニングにより取得できる。具体的な実現では、ベーシックタイムラプス撮影ビデオ及びトレーニングビデオをトレーニングサンプルとして、ベーシックタイムラプス撮影ビデオを入力とし、最適化されたタイムラプス撮影ビデオを出力とし、生成された最適化されたタイムラプス撮影ビデオがトレーニングビデオに近づくことを目的としてもよく、このようにして、生成された最適化されたタイムラプス撮影ビデオとトレーニングビデオとの類似度に基づいて第2の敵対的生成ネットワークのパラメータを調整でき、パラメータを継続的に調整することで、第2の敵対的生成ネットワークを最適化し、トレーニング終了条件を満たすと、当該第2の生成ネットワークを最適化ネットワークとする。
【0046】
なお、トレーニング終了条件は、実際のニーズに応じて設置でき、例えば、第2の敵対的生成ネットワークの損失関数が収束状態にある場合や、第2の敵対的生成ネットワークの損失関数がプリセット値よりも小さい場合がある。ベーシックネットワークのトレーニングプロセスついては、以下で詳細に説明し、ここで繰り返して説明しない。ベーシックネットワークと最適化ネットワークとがトレーニングされた後に、ベーシックネットワークと最適化ネットワークとをカスケードして、タイムラプス撮影ビデオを生成するニューラルネットワークモデルとなる。
【0047】
以下、前記ステップS31におけるベーシックネットワークのトレーニングプロセスについて詳細に説明する。図4を参照して、図4は、本出願の実施例で提供されるベーシックネットワークのトレーニング方法のフローチャートである。図4に示すように、当該方法は、以下のことを含む。
【0048】
ステップS41において、前記画像セットを第1の生成器に入力することで、前記第1の生成ネットワークによって出力されるベーシックタイムラプス撮影ビデオを取得する。
この実施例では、ベーシックネットワークは、第1の生成器と第1の判別器とを含み、第1の生成器は、ベーシックタイムラプス撮影ビデオを生成するために使用され、第1の判別器は、ベーシックタイムラプス撮影ビデオが真実のビデオであるかどうかを判別するために使用され、第1の判別器の判別結果が真実のビデオである場合に、第1の生成器が生成するベーシックタイムラプス撮影ビデオは高いリアリティを有し、且つ比較的自然であることを示す。
【0049】
第1の生成器は、エンコーダとデコーダで構成されてもよい。具体的な実現では、エンコーダは、指定数の畳み込み層を含んでもよく、デコーダは指定数の逆畳み込み層を含んでもよく、このように、エンコーダは全体として対称構造になる。なお、指定数は、実際のニーズに応じて設置でき、一例として、6であってもよい。各畳み込み層と、それと対称となる逆畳み込み層とはジャンパーで接続され、このようにして、エンコーダの特徴を良く利用することができる。ベーシックネットワークの第1の生成器を通じて、入力される元の画像と同じ解像度のビデオフレームを出力して取得する。
【0050】
第1の判別器は、第1の生成器が生成したビデオ(即ち、予測ビデオ)と、上記のトレーニングビデオ(即ち、真実のビデオ)とをそれぞれ判別して、第1の生成器が真実のビデオにより近いビデオを生成することを保証するようにするために使用され、当該判別器は、出力層が1つのバイナリ分類の層であることを除いて、他の部分は第1の生成器におけるエンコーダと同じ構造を有する。なお、第1の判別器における畳み込み層の数は、実際のニーズに応じて調整することができ、本出願では、これを限定しない。
【0051】
図5を参照して、図5は、本出願の実施例で提供されるベーシックネットワークの構成図である。図5に示すように、当該ベーシックネットワークは、第1の生成器51と、第1の判別器52とを含み、xは、最初のフレーム画像又は最後のフレーム画像を示し、Xは、最初のフレーム画像で形成される画像セット又は最後のフレーム画像で形成される画像セットを示し、Yは、トレーニングビデオを示し、Y1は、第1の生成器によって出力されるベーシックタイムラプス撮影ビデオを示す。
【0052】
ステップS42において、前記ベーシックタイムラプス撮影ビデオと、前記画像セットに対応するトレーニングビデオとを、前記第1の判別器に入力し、第1の敵対的生成ネットワークの損失関数によって第1の敵対的生成ネットワークの損失を算出する。
【0053】
本実施例では、生成器が高いリアリティを有するビデオを生成することを保証するために、1つの判別器、即ち、第1の判別器を採用して、生成器によって生成されるビデオと真実のビデオとをそれぞれ判別する。第1の判別器は、第1の生成器におけるエンコーダと同様の構造を有し、主な違いは、その出力層がバイナリ分類層であることであり、第1の生成器によって出力されるベーシックタイムラプス撮影ビデオと、トレーニングビデオとを、第1の判別器に入力し、第1の判別器は、ベーシックタイムラプス撮影ビデオと、トレーニングビデオとに基づき第1の敵対的生成ネットワークの損失を算出する。
【0054】
この実施例は、ネットワークパラメータを調整して第1の敵対的生成ネットワークの損失を低減することにより、ベーシックネットワークのトレーニングを実現することである。なお、第1の敵対的生成ネットワークの損失は、少なくとも敵対損失を含み、当該敵対損失は、次の式に基づいて算出されることができる。
【数1】
式(1)で、Ladvは敵対損失を示し、Eは期待値を示し、Dは第1の生成器に対応する関数を示し、Gは第1の判別器に対応する関数を示し、Xは画像セットに対応する4次元行列を示し、Yは(前記画像セットに対応する)トレーニングビデオに対応する4次元行列を示し、その中、前記4次元行列の4つの次元はそれぞれ、画像の長さ、幅、チャネル数(画像のチャネル数を指し、画像がRGBカラーモードであると、チャネル数は3である)、及び画像のフレーム数である。
【0055】
式(1)で、
【数2】
は、第1の生成器の敵対損失を算出する場合に、第1の判別器の関数Dが定数(即ち、固定値)をとり、第1の生成器の関数Gが最大値をとり、第1の判別器の敵対損失を算出する場合に、第1の生成器の関数Gが定数(即ち、固定値)をとり、第1の判別器に対応する関数Dが最大値をとることを示す。
【0056】
また、第1の生成器によって生成されるビデオのコンテンツが十分に真実であることを保証するために、L1ノルムに基づくコンテンツ損失関数も次のように設置される。
【数3】
式(2)で、Lcon(G)はコンテンツ損失を示し、Gは第1の判別器に対応する関数を示し、Xは画像セットに対応する4次元行列を示し、Yは(前記画像セットに対応する)トレーニングビデオに対応する4次元行列を示し、|| ||はL1ノルムを求めることを示す。
【0057】
つまり、第1の敵対的生成ネットワークの損失は、敵対損失とL1ノルムに基づくコンテンツ損失との合計であってもよい。
【0058】
ステップS43において、前記第1の敵対的生成ネットワークの損失に基づいて、前記第1の生成器及び前記第1の判別器のパラメータをそれぞれ更新する。
具体的に、前記第1の敵対的生成ネットワークの損失によって、各層の勾配を算出し、さらに、前記第1の生成器及び前記第1の判別器のパラメータ(例えば、重み、オフセット量など)を更新する。第1の生成器及び第1の判別器のパラメータを継続的に更新することで、第1の敵対的生成ネットワークのトレーニングを実現し、例えば、第1の敵対的生成ネットワークの損失が収束しているか、又はプリセット値よりも小さい場合などのトレーニング終了条件が満たされた場合、第1の敵対的生成ネットワークを、ベーシックネットワークとして決定することができる。
【0059】
以下、前記ステップS33における最適化ネットワークのトレーニングプロセスについて詳細に説明する。図6を参照して、図6は、本出願の実施例で提供される最適化ネットワークのトレーニング方法のフローチャートである。図6に示すように、当該方法は、以下のことを含む。
【0060】
ステップS61において、前記ベーシックタイムラプス撮影ビデオに基づき、前記第2の敵対的生成ネットワークにおける第2の生成器により、最適化されたタイムラプス撮影ビデオを取得する。
最適化ネットワークは、第2の生成器と第2の判別器とを含み、その中、第2の生成器は、ベーシックタイムラプス撮影ビデオに基づきモーション情報モデリングを行うことで、最適化されたタイムラプス撮影ビデオを取得するために使用され、第2の判別器は、ベーシックタイムラプス撮影ビデオが真実のビデオであるかどうかを判断するために使用され、第2の判別器の判別結果が真実のビデオであると、第2の生成器によって生成されたベーシックタイムラプス撮影ビデオが高いリアリティを有し、且つ比較的自然であることを示す。
【0061】
ベーシックネットワークと同様に、最適化ネットワークにおける第2の生成器はエンコーダとデコーダとを含み、エンコーダは、M個の畳み込み層から構成され、デコーダはM個の逆畳み込み層から構成され、エンコーダは全体として対称構造になってもよい。その中、Mは正の整数である。また、畳み込み層と、それと対称となる逆畳み込み層とを選択的に指定してジャンパーで接続することができ、このようにして、エンコーダの特徴を良く利用することができ、具体的に、どの(又は、どちらの)畳み込み層と、それと対称となる逆畳み込み層を指定してジャンパーで接続するかについて、一定量の実験を行った後、実験結果に従って最良のものを選択して決定してもよく、本出願では、それを限定しない。
【0062】
なお、畳み込み層の数と逆畳み込み層の数(即ち、M)、及び各層のパラメータ配置は、実際のニーズに応じて調整することができ、例えば、Mは6に等しくなってもよく、本出願では、入力画像と出力画像の解像度とが一致している限り、これを限定しない。つまり、最適化ネットワークの第2の生成器において、畳み込み層と逆畳み込み層の数の増減は、本出願の保護範囲から逸脱しない。比較すると、最適化ネットワークの第2の生成ネットワークは、ベーシックネットワークの第1の生成ネットワークと同様の構造を有する(いくつかのジャンパー接続が削除されることを除いて、残りの構造は同じである)ことが分かる。
【0063】
最適化ネットワークの第2の判別器は、ベーシックネットワークの第1の判別器と同じ構造を有するので、ここで繰り返して説明しない。
【0064】
図7を参照し、図7は、本出願の実施例で提供される最適化ネットワークの構成図である。図7に示すように、当該最適化ネットワークは、第2の生成器71と第2の判別器72とを含み、Y1'は前記トレーニング後のベーシックネットワークによって出力されるベーシックタイムラプス撮影ビデオを示し、Yはトレーニングビデオを示し、Y2は第2の生成器によって出力される最適化されたタイムラプス撮影ビデオを示す。
【0065】
ステップS62において、前記最適化されたタイムラプス撮影ビデオに基づき、前記第2の敵対的生成ネットワークにおける第2の判別器により、判別結果を取得する。
第1の判別器と同様に、第2の判別器は、最適化されたタイムラプス撮影ビデオとトレーニングビデオとに基づき、第2の生成器によって生成される最適化されたタイムラプス撮影ビデオのリアリティを判別することにより、判別の結果を取得することができ、最適化されたタイムラプス撮影ビデオとトレーニングビデオとの類似性が事前設定されたレベルに達した場合、最適化されたタイムラプス撮影ビデオが真実のビデオであると判別し、即ち、当該最適化されたタイムラプス撮影ビデオは高いリアリティを有する。
【0066】
ステップS63において、前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ、前記トレーニングビデオ、及び前記判別結果に基づき、第2の敵対的生成ネットワークの損失を生成する。
ベーシックネットワークと同様に、最適化ネットワークは、パラメータを調整して第2の敵対的生成ネットワークの損失を減少することでモデルトレーニングを実現することである。前記損失は少なくともランキング損失を含み、前記ランキング損失は、前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ及び前記トレーニングビデオのそれぞれに対応するモーション特徴に基づき決定される。
【0067】
任意選択で、前記第2の敵対的生成ネットワークの損失は、前記第2の敵対的生成ネットワークのコンテンツ損失、敵対損失、及び前記ランキング損失に基づき決定されてもよく、これに基づいて、いくつかの可能な実現方法において、前記最適化ネットワークの損失関数は、プリセット定数とランキング損失関数との積、敵対損失関数、及びL1ノルムに基づくコンテンツ損失関数との合計であり得る。
【0068】
なお、前記最適化ネットワークの損失関数の表現式は次のようになる。
【数4】
式(4)で、Lstage1は最適化ネットワークの損失を示し、Ladvは敵対損失を示し、Lcon[即ち、Lcon(G)]はコンテンツ損失を示し、λはプリセット定数を示し、Lrankは(合計の)ランキング損失を示し、前記敵対損失関数、L1ノルムに基づくコンテンツ損失関数について、上記で説明されたが、ここで再度説明しない。以下、ランキング損失関数に焦点を当てている。
【0069】
いくつかの可能な実施態様では、前記第2の敵対的生成ネットワークにおける第2の判別器により、前記最適化されたタイムラプス撮影ビデオの特徴、前記ベーシックタイムラプス撮影ビデオ及び前記トレーニングビデオのそれぞれの特徴をそれぞれ抽出し、前記特徴に基づき、前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ及び前記トレーニングビデオのそれぞれに対応するグラムgram行列をそれぞれ算出し、当該gram行列は、ビデオフレーム間のモーション状態を表すために使用され、そして、前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ及び前記トレーニングビデオのそれぞれに対応するグラムgram行列に基づき、前記ランキング損失を決定できる。なお、前記ランキング損失関数は、次のようになる。
【数5】
式(4)で、Lrank(Y,Y,Y)は(合計の)ランキング損失を示し、Lrank(Y,Y,Y;l)は単一層(即ち、単一の特徴層)のランキング損失関数を示し、lは第2の判別器における特徴層のシーケンス番号を示し、Yはベーシックタイムラプス撮影ビデオに対応する4次元行列を示し、Yは(前記画像セットに対応する)トレーニングビデオに対応する4次元行列を示し、Yは最適化されたタイムラプス撮影ビデオに対応する4次元行列を示し、Σは合計を求めることを示す。任意選択で、l(即ち、どの特徴層が具体的に選択されるか)は、一定量の実験を行った後に、実験結果に基づき最良のものを選択することによって決定されてもよい。
【0070】
任意選択で、単一層のランキング損失関数の表現式は、次のようになる。
【数6】
式(5)で、g(Y;l)はl層から抽出されたgram(グラム)行列を示す。
【0071】
ステップS64において、トレーニング終了条件を満たす第2の敵対的生成ネットワークが最適化ネットワークとして取得されるまで、前記敵対的生成ネットワークの損失に基づき、前記第2の敵対的生成ネットワークのネットワークパラメータを最適化する。
【0072】
具体的に、前記最適化ネットワークの損失によって、各層の勾配を算出し、さらに、前記第2の生成器及び前記第2の判別器のパラメータ(例えば、重み、オフセット量など)を更新する。第2の生成器及び第2の判別器のパラメータを継続的に更新することで、第2の敵対的生成ネットワークのトレーニングを実現し、例えば、第2の敵対的生成ネットワークの損失が収束しているか、又はプリセット値よりも小さい場合などの、トレーニング終了条件が満たされた場合に、第2の敵対的生成ネットワークを最適化ネットワークとして決定することができる。
【0073】
上記の各実施例において、第1の生成器と第1の判別器は交互にトレーニングされ、第1の生成器をトレーニングする際に、第1の判別器は固定され、第1の判別器をトレーニングする際に、第1の生成器は固定され、同様に、第2の生成器と第2の判別器は交互にトレーニングされ、第2の生成器をトレーニングする際に、第2の判別器は固定され、このようにランキング損失を最小化させて、第2の生成器によって出力される最適化されたタイムラプス撮影ビデオが真実のビデオにより近く(即ち、第2の生成器によって生成されるビデオが真実のビデオとより似ている)、且つ、第2の生成器に入力されるビデオ(つまり、収束しているようにトレーニングされた基本ネットワークによって出力されるビデオ)からはるかに離れる(つまり、差別化を増やす)ことを保証する。第2の判別器をトレーニングする際に、第2の生成器が固定され、ランキング損失を最大化させて、第2の生成器によって出力される最適化されたタイムラプス撮影ビデオと真実のビデオとの違いを拡大する。これは、その後、最適化ネットワークをさらにトレーニングすることに役立つ。
【0074】
本実施形態によるトレーニングを通じて得られた最適化ネットワークは、収束しているようにトレーニングされた基本ネットワークによって出力されるビデオをさらに最適化することができ、これは、主に、モーション情報を最適化できることに反映される。
【0075】
以上、本出願の実施例で提供されるタイムラプス撮影ビデオの生成方法、ニューラルネットワークモデルのトレーニング方法の具体的な実現方法であり、それに対応して、本出願では、さらに、タイムラプス撮影ビデオの生成システムを提供する。図8を参照し、図8は、本出願の実施例で提供されるタイムラプス撮影ビデオの生成システムの構成図である。図8に示すように、当該システムは、端末81とサーバー82とを含み、前記端末81と前記サーバー82とは、ネットワークを介して相互作用する。
【0076】
前記サーバー82は、前記端末から送信された指定画像を受信し、前記指定画像に基づき、第1の所定フレーム数の前記指定画像が含まれる画像セットを生成し、前記画像セットに基づき、予めトレーニングされたニューラルネットワークモデルにより前記画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得し、前記タイムラプス撮影ビデオを前記端末に送信するために使用され、前記ニューラルネットワークモデルは、上記のニューラルネットワークモデルのトレーニング方法でトレーニングすることで取得される。
【0077】
前記サーバー82の動作はまた、上記のタイムラプス撮影ビデオを生成するためのニューラルネットワークモデルのトレーニングプロセスの各ステップをさらに含み得ることが理解できる。
【0078】
任意選択で、前記端末81は、スマートフォンなどのモバイルスマートデバイス811や、パソコンなどのローカルコンピュータデバイス812であってもよい。
【0079】
本出願の実施例で提供される技術案によれば、ユーザーは、ローカル端末で1枚の指定画像をアップロードするだけでよく、リモートサーバーは、この指定画像に基づいて、タイムラプス撮影ビデオを生成するためのニューラルネットワークモデルにより、予測されたタイムラプス撮影ビデオを出力し、ローカル端末に送信することができ、これにより、ユーザーが1つのタイムラプス撮影ビデオを容易に作成できると便利であり、ユーザーエクスペリエンスを効果的に向上させることができる。
【0080】
同時に、当該技術案は、ローカル端末が前記のタイムラプス撮影ビデオを生成するためのニューラルネットワークモデルを実行する必要がないので、ローカル端末の実行リソースを占有することなく1つのタイムラプス撮影ビデオを作成でき、これにより、ローカル端末の実行リソースを効果的に節約することができる。
【0081】
本出願の実施例で提供されるタイムラプス撮影ビデオの生成システムに対応して、本出願では、タイムラプス撮影ビデオの生成方法のシグナリング流れを説明する。図9を参照し、図9は、本出願の実施例で提供されるタイムラプス撮影ビデオの生成方法のシグナリングフローチャートであり、図9に示すように、当該シグナリング流れは、以下のことを含む。
【0082】
ステップS91において、ローカル端末は、指定画像をリモートサーバーに送信する。
【0083】
ステップS92において、リモートサーバーは、前記指定画像をコピーして、第1の所定フレーム数の前記指定画像が含まれる画像セットを生成する。
【0084】
ステップS93において、リモートサーバーは、前記画像セットを、タイムラプス撮影ビデオを生成するためのニューラルネットワークモデルに入力する。
【0085】
ステップS94において、前記ニューラルネットワークモデルにより、画像セットにおける指定画像のコンテンツを再構築し、タイムラプス撮影ビデオを出力する。
【0086】
その中、指定画像が最初のフレーム画像である場合に、その後の複数のフレーム画像に対してコンテンツモデリングを行って、画像におけるコンテンツを再構築してもよく、指定画像が最後のフレーム画像である場合に、その前の複数のフレーム画像に対してコンテンツモデリングを行って、画像におけるコンテンツを再構築してもよく、これにより、タイムラプス撮影ビデオを生成する。ステップS95において、リモートサーバーは、前記出力されたタイムラプス撮影ビデオをローカル端末に送信する。
【0087】
当該方法は、多段階の敵対的生成ネットワークによりタイムラプス撮影ビデオを継続的に最適化し、コンテンツのモデリング及びモーション状態のモデリングにより、未来フレーム又は履歴フレームの合理的な予測を保証することで、タイムラプス撮影ビデオが粗いものから細かいものまで段階的に生成されることを実現する。当該方法は、コンテンツのリアリティとモーション情報の合理性とを保持しているため、生成されるタイムラプス撮影ビデオが高いリアリティを有し、且つ比較的自然である。
【0088】
同時に、当該技術案は、ローカル端末が前記のタイムラプス撮影ビデオを生成するためのニューラルネットワークモデルを実行する必要がないので、ローカル端末の実行リソースを占有することなく1つのタイムラプス撮影ビデオを作成することができ、これにより、ローカル端末の実行リソースを効果的に節約することができる。
【0089】
また、なお、前記のタイムラプス撮影ビデオを生成するためのニューラルネットワークモデルのトレーニングプロセスに必要なシステムリソースは比較的大きいため、好ましくは、リモートサーバー側で前記のタイムラプス撮影ビデオを生成するためのニューラルネットワークモデルのトレーニングプロセスを実行する。
【0090】
本出願で提供される技術案をより完全に説明するために、本出願の実施例で提供されるタイムラプス撮影ビデオの生成方法に対応して、本出願では、タイムラプス撮影ビデオの生成装置を開示する。
【0091】
図10を参照して、図10は、本出願の実施例で提供されるタイムラプス撮影ビデオの生成装置の構成図である。当該装置は、ローカル端末、又は、タイムラプス撮影ビデオの生成システムにおけるリモートサーバー側に適用でき、図10に示すように、当該装置1000は、
指定画像を取得するための取得モジュール1010と、
前記指定画像に基づき、第1の所定フレーム数の前記指定画像が含まれる画像セットを生成するための第1の生成モジュール1020と、
前記画像セットに基づき、予めトレーニングされたニューラルネットワークモデルにより前記画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得するための第2の生成モジュール1030と、
を含み、
前記ニューラルネットワークモデルは、上記のニューラルネットワークモデルのトレーニング方法でトレーニングすることで取得される。
【0092】
任意選択で、前記電子機器は端末装置であり、前記端末装置に前記ニューラルネットワークモデルが配置されており、前記取得モジュール1010は、具体的に、
選択コマンドに応答して、アルバムにおける選択された写真を、指定画像として取得するか、又は、
撮影コマンドに応答して、撮影された写真を、指定画像として取得するために使用される。
【0093】
任意選択で、前記電子機器はサーバーであり、前記取得モジュール1010は、具体的に、
端末装置から送信されたタイムラプス撮影生成要求を受信し、前記タイムラプス撮影生成要求に指定画像が含まれ、
前記タイムラプス撮影生成要求から前記指定画像を取得するために使用される。
【0094】
本出願の実施例で提供されるタイムラプス撮影ビデオの生成装置は、まず、指定画像を取得し、当該指定画像に基づき、第1の所定フレーム数の指定画像が含まれる指定画像セットを生成し、次に、予めトレーニングされたニューラルネットワークモデルにより、前記指定画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得する。当該装置は、多段階の敵対的生成ネットワークによりタイムラプス撮影ビデオを継続的に最適化し、コンテンツのモデリング及びモーション状態のモデリングにより未来フレーム又は履歴フレームの合理的な予測を保証して、タイムラプス撮影ビデオが粗いものから細かいものまで段階的に生成されることを実現する。当該装置は、コンテンツのリアリティとモーション情報の合理性とを保持しているため、生成されるタイムラプス撮影ビデオは高いリアリティを有し、且つ比較的自然である。一方で、当該装置で使用されるモデルはカスケードデュアルネットワーク構造であるので、実現と簡素化が容易であり、クラウド又はオフラインのシナリオに適用できる。
【0095】
任意選択で、図11を参照して、図11は、本出願の実施例で提供されるニューラルネットワークモデルのトレーニング装置の構成図である。図11に示すように、当該装置1100は、
トレーニングサンプルを取得するための取得モジュール1110であって、前記トレーニングサンプルトに、トレーニングビデオ及びそれに対応する画像セットが含まれ、前記画像セットに、第1の所定フレーム数の前記トレーニングビデオにおける最初のフレーム画像、又は最後のフレーム画像が含まれる取得モジュール1110と、
前記トレーニングサンプルに基づきトレーニングすることにより、トレーニング終了条件を満たすニューラルネットワークモデルを取得するためのトレーニングモジュール1120であって、前記ニューラルネットワークモデルに、タイムラプス撮影ビデオに対してコンテンツモデリングを行うためのベーシックネットワークと、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うための最適化ネットワークとが含まれるトレーニングモジュール1120と、
を含み、
前記ベーシックネットワークは、第1の所定フレーム数の同じ画像が含まれる画像セットを入力とし、ベーシックタイムラプス撮影ビデオを出力とする第1の敵対的生成ネットワークであり、前記最適化ネットワークは、前記ベーシックネットワークの出力を入力とし、最適化されたタイムラプス撮影ビデオを出力とする第2の敵対的生成ネットワークである。
【0096】
任意選択で、図12を参照して、図12は、本出願の実施例で提供される他のニューラルネットワークモデルのトレーニング装置の構成図である。図12に示すように、当該装置1100は、図11及びそれに対応する実施例で記載された前記の各モジュールを含むことに加えて、前記トレーニングモジュール1120は、具体的に、
前記トレーニングサンプルに基づきトレーニングすることにより、トレーニング終了条件を満たす第1の敵対的生成ネットワークを、ベーシックネットワークとして取得するための第1のトレーニングサブモジュール1121と、
前記トレーニングビデオに対応する画像セットに基づき、ベーシックネットワークにより、前記ベーシックネットワークによって出力されるベーシックタイムラプス撮影ビデオを取得するための取得サブモジュール1122と、
前記ベーシックタイムラプス撮影ビデオと前記トレーニングビデオとに基づきトレーニングすることにより、トレーニング終了条件を満たす第2の敵対的生成ネットワークを、最適化ネットワークとして取得する第2のトレーニングサブモジュール1123と、を含む。
【0097】
任意選択で、前記第2のトレーニングサブモジュール1123は、具体的に、
前記ベーシックタイムラプス撮影ビデオに基づき、前記第2の敵対的生成ネットワークにおける第2の生成器により、最適化されたタイムラプス撮影ビデオを取得し、
前記最適化されたタイムラプス撮影ビデオに基づき、前記第2の敵対的生成ネットワークにおける第2の判別器により、判別結果を取得し、
前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ、前記トレーニングビデオ、及び前記判別結果に基づき、第2の敵対的生成ネットワークの損失を生成し、前記損失に少なくともランキング損失が含まれ、前記ランキング損失が、前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ、及び前記トレーニングビデオのそれぞれに対応するモーション特徴に基づき決定され、
トレーニング終了条件を満たす第2の敵対的生成ネットワークが最適化ネットワークとして取得されるまで、前記敵対的生成ネットワークの損失に基づき、前記第2の敵対的生成ネットワークのネットワークパラメータを最適化する、ために使用される。
【0098】
任意選択で、前記装置は、以下の方法で前記第2の敵対的生成ネットワークの損失を決定するための決定モジュールをさらに含み、
前記第2の敵対的生成ネットワークにおける第2の判別器により、前記最適化されたタイムラプス撮影ビデオの特徴、前記ベーシックタイムラプス撮影ビデオ及び前記トレーニングビデオのそれぞれの特徴をそれぞれ抽出し、前記特徴に基づき、前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ、及び前記トレーニングビデオのそれぞれに対応するグラムgram行列をそれぞれ算出し、前記gram行列は、ビデオフレーム間のモーション状態を表すために使用され、
前記最適化されたタイムラプス撮影ビデオ、前記ベーシックタイムラプス撮影ビデオ、及び前記トレーニングビデオのそれぞれに対応するグラムgram行列に基づき、前記ランキング損失を決定し、
前記第2の敵対的生成ネットワークのコンテンツ損失、敵対損失、及び前記ランキング損失に基づき、前記第2の敵対的生成ネットワークの損失を決定する。
【0099】
任意選択で、前記取得モジュール1110は、具体的に、
トレーニングビデオを取得し、
前記トレーニングビデオから、最初のフレーム画像又は最後のフレーム画像を抽出し、
前記最初のフレーム画像又は最後のフレーム画像をコピーして、前記トレーニングビデオに対応する画像セットを生成し、
前記トレーニングビデオ、及びそれに対応する画像セットを、トレーニングサンプルとする、ために使用される。
【0100】
以上から分かるように、本出願は、デュアルネットワーク構造に基づくニューラルネットワークモデル生成方法を提供し、その中、デュアルネットワーク構造は、具体的に、タイムラプス撮影ビデオに対してコンテンツモデリングを行うためのベーシックネットワークと、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うための最適化ネットワークとを含み、その中、ベーシックネットワークは、第1の所定フレーム数の指定フレーム画像が含まれるビデオを入力とし、ベーシックタイムラプス撮影ビデオを出力とする第1の敵対的生成ネットワークであり、最適化ネットワークは、前記ベーシックネットワークの出力を入力とし、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うために使用され、最適化されたタイムラプス撮影ビデオを出力とする第2の敵対的生成ネットワークであり、複数のトレーニングビデオを取得した後に、トレーニングビデオに基づきトレーニングビデオに対応する画像セットを生成し、当該画像セットは第1の所定フレーム数の前記トレーニングビデオにおける最初のフレーム画像又は最後のフレーム画像を含み、当該トレーニングビデオ、及びそれに対応する画像セットによって、ベーシックネットワーク及び最適化ネットワークで構成されるニューラルネットワークモデルをトレーニングし、トレーニング終了条件を満たした場合、当該ビデオをタイムラプス撮影ビデオの生成に使用できる。この装置がトレーニングするニューラルネットワークモデルは、多段階の敵対的生成ネットワークによりタイムラプス撮影ビデオを継続的に最適化し、コンテンツのモデリング及びモーション状態のモデリングにより、未来フレーム又は履歴フレームの合理的な予測を保証して、タイムラプス撮影ビデオが粗いものから細かいものまで段階的に生成されることを実現する。当該方法は、コンテンツのリアリティと、モーション情報の合理性とを保持しているため、生成されるタイムラプス撮影ビデオは高いリアリティを有し、且つ比較的自然である。一方で、この装置がトレーニングするニューラルネットワークモデルはカスケードデュアルネットワーク構造であるので、実現と簡素化が容易であり、クラウド又はオフラインのシナリオに適用できる。
【0101】
本出願で提供される技術案をより完全に説明するために、本出願の実施例で提供されるタイムラプス撮影ビデオの生成方法に対応して、本出願では、電子機器を開示し、当該電子機器は、ローカル端末(例えば、ローカルコンピュータ、モバイル端末など)や、リモートサーバーなどであってもよい。
【0102】
図13を参照し、図13は、本出願の実施例で提供される電子機器のハードウェア構成図である。図13に示すように、当該電子機器は、プロセッサ1、通信インターフェース2、メモリ3、及び通信バス4を含む。
その中、プロセッサ1、通信インターフェース2、メモリ3は、通信バス4を介して相互に通信し、
プロセッサ1は、前記メモリに記憶されているプログラムを呼び出して実行するために使用され、
メモリ3は、プログラムを記憶するために使用される。
前記プログラムはプログラムコードを含んでもよく、前記プログラムコードはコンピュータ操作コマンドを含み、本出願の実施例では、プログラムは、タイムラプス撮影ビデオを生成するためのニューラルネットワークモデルのトレーニング方法に対応するプログラム、及び前記タイムラプス撮影ビデオの生成方法に対応するプログラムの2つのプログラム、又は、その中のいずれかのプログラムを含んでもよい。
【0103】
プロセッサ1は、中央処理装置CPU、又は、特定用途向け集積回路ASIC(Application Specific Integrated Circuit)、又は、本出願の実施例を実施するように配置される1つ又は複数の集積回路であり得る。
【0104】
メモリ3は、高速RAMメモリを含むことができ、不揮発性メモリ(non-volatile memory)、例えば、少なくとも1つの磁気ディスクメモリを含むこともできる。
【0105】
なお、前記プログラムは、具体的に、
指定画像を取得し、
前記指定画像に基づき、第1の所定フレーム数の前記指定画像が含まれる画像セットを生成し、
前記画像セットに基づき、予めトレーニングされたニューラルネットワークモデルにより、前記画像セットに対してコンテンツモデリングとモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得するために使用されることができ、その中、前記ニューラルネットワークモデルは、上記のニューラルネットワークモデルのトレーニング方法でトレーニングすることで取得される。
【0106】
任意選択で、前記プログラムは、さらに、本出願の実施例で提供されるタイムラプス撮影ビデオの生成方法のいずれかの実現方法のステップを実現するために使用されてもよい。
【0107】
また、本出願の実施例は、記憶媒体をさらに提供し、当該記憶媒体に、コンピュータプログラムが記憶され、前記コンピュータプログラムはプロセッサによって実行される場合に、上記の実施例における前記ニューラルネットワークモデルのトレーニング方法の各ステップ、及び/又は、前記タイムラプス撮影ビデオの生成方法の各ステップを実行するために使用される。
【0108】
以下、本出願の実際の適用シナリオについて簡単に説明する。例えば、ユーザーは、空の変化を実際のシナリオとする1つのタイムラプス撮影ビデオを作成したい場合、本出願で提供される技術案を適用すると、ユーザーは次の2つの方法で作成することができる。
第1の方法は、ユーザーがローカル端末で作成することであり、ローカル端末で実行される操作は、以下のことを含む。
ユーザーによって提供される指定画像を取得し、当該指定画像はユーザーが現場で撮影した空の画像であってもよいし、ユーザーが選択した既存の空の画像であってもよく、前記指定画像をコピーして、第1の所定フレーム数の前記指定画像が含まれる画像セットを生成し、前記画像セットを、タイムラプス撮影ビデオを生成するためのニューラルネットワークモデルに入力し、前記ニューラルネットワークモデルによりコンテンツモデリングとモーション状態モデリングを行うことで、指定画像のコンテンツを再構築し、最適化されたタイムラプス撮影ビデオを出力する。
【0109】
この方法では、ローカル端末にタイムラプス撮影ビデオを生成するためのニューラルネットワークモデルが予め設置され、つまり、ローカル端末は、独立してタイムラプス撮影ビデオを生成することができる。
【0110】
第2の方法は、ユーザーがローカル端末を操作して、リモートサーバーを介してタイムラプス撮影ビデオを取得することであり、その具体的なフローは以下通りである。
ローカル端末は、指定画像をリモートサーバーに送信し、当該指定画像は、ユーザーが現場で撮影した空の画像であってもよいし、ユーザーが選択した既存の空のピクチャであってもよい。
リモートサーバーは、前記指定画像をコピーして、第1の所定フレーム数の前記指定画像が含まれる画像セットを生成し、前記画像セットを、タイムラプス撮影ビデオを生成するためのニューラルネットワークモデルに入力し、前記ニューラルネットワークモデルによりコンテンツモデリングとモーション状態モデリングを行って、画像のコンテンツを再構築し、最適化されたタイムラプス撮影ビデオを出力する。
【0111】
この方法では、ユーザーは、ローカル端末を介して空の画像をリモートサーバーに送信するだけでよく、リモートサーバーにタイムラプス撮影ビデオを生成するためのニューラルネットワークモデルが予め設置され、リモートサーバーは、空の画像から予測されたタイムラプス撮影ビデオを生成し、その後、ユーザーのローカル端末に送信する。
【0112】
上記の技術案によれば、従来技術と比べて、本出願は、ニューラルネットワークモデルのトレーニング、タイムラプス撮影ビデオの生成方法及び装置を提供する。本出願で提供される技術案は、デュアルネットワーク構造のニューラルネットワークモデルに基づいてタイムラプス撮影ビデオを生成することであり、デュアルネットワーク構造は、具体的に、タイムラプス撮影ビデオに対してコンテンツモデリングを行うためのベーシックネットワークと、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うための最適化ネットワークを含み、ベーシックネットワークは、第1の所定フレーム数の指定フレーム画像が含まれるビデオを入力とし、ベーシックタイムラプス撮影ビデオを出力とする第1の敵対的生成ネットワークであり、最適化ネットワークは、前記ベーシックネットワークの出力を入力とし、タイムラプス撮影ビデオのモーション状態に対してモデリングを行うために使用され、最適化されたタイムラプス撮影ビデオを出力とする第2の敵対的生成ネットワークであり、複数のトレーニングビデオを取得した後、トレーニングビデオに基づきトレーニングビデオに対応する画像セットを生成し、当該画像セットは、第1の所定フレーム数の前記トレーニングビデオにおける最初のフレーム画像又は最後のフレーム画像を含み、当該トレーニングビデオ及びそれに対応する画像セットによって、ベーシックネットワークと最適化ネットワークで構成されるニューラルネットワークモデルをトレーニングし、トレーニング終了条件を満たした場合に、当該ビデオをタイムラプス撮影ビデオの生成に使用できる。
【0113】
タイムラプス撮影ビデオを生成する際に、まず、指定画像を取得し、当該指定画像に基づき第1の所定フレーム数の指定画像が含まれる指定画像セットを生成し、次に、予めトレーニングされたニューラルネットワークモデルにより前記指定画像セットに対してコンテンツモデリング、及びモーション状態モデリングを行うことで、前記ニューラルネットワークモデルによって出力されるタイムラプス撮影ビデオを取得する。
【0114】
当該技術案は、多段階の敵対的生成ネットワークによりタイムラプス撮影ビデオを継続的に最適化し、コンテンツのモデリング及びモーション状態のモデリングにより、未来フレームの合理的な予測を保証して、タイムラプス撮影ビデオが粗いものから細かいものまで段階的に生成されることを実現する。コンテンツのリアリティと、モーション情報の合理性とを保持しているため、生成されるタイムラプス撮影ビデオは高いリアリティを有し、且つ比較的自然である。一方で、使用されるモデルはカスケードデュアルネットワーク構造であるので、実現と簡素化が容易であり、クラウド又はオフラインのシナリオに適用できる。
【0115】
最後に、本明細書において、例えば、「第1」や「第2」などの関係用語は、あるエンティティ又は操作を別のエンティティ又は操作と区分するためにのみ使用され、これらのエンティティ又は操作同士に任意のこのような実際の関係又は順序が存在することを必ずしも要求又は示唆するものではないことに注意されたい。また、「包含」、「含む」という用語又はその他の変更は、非排他的な包含をカバーすることを意図している。これにより、一連の要素を含むプロセス、方法、物品又はスマートデバイスは、それらの要素だけでなく、明確に記載されていない他の要素、又はこのプロセス、方法、物品又はスマートデバイスに固有の要素も含む。これ以上の制限がない場合、「1つの...を含む」という文で限定された要素は、その要素を含むプロセス、方法、物品又はスマートデバイスにその他の同じ要素も存在することを除外しない。
【0116】
本明細書における各実施例は漸進的に記載されており、各実施例は他の実施例との相違点について主に説明し、各実施例間の同じ又は類似の部分は互いに参照され得る。実施例に開示された装置、システム、スマートデバイス及び記憶媒体について、実施例に開示された方法に対応するので、説明は比較的単純であり、関連部分は方法のセクションの説明を参照することができる。
【0117】
当業者はさらに以下のことを理解することができ、本明細書に開示されている実施例に関連して説明されている各例示的なユニット及びアルゴリズムのステップは、電子ハードウェア、コンピュータソフトウェア、又はそれらの組み合わせによって実現することができ、ハードウェアとソフトウェアの互換性を明確に説明するために、各例示的な構成要素及びステップは、上記の説明では機能の観点から一般的に説明されている。これらの機能がハードウェアで実行されるかそれともソフトウェアで実行されるかは、技術案の特定の適用及びソリューションの設計上の制約に依存する。当業者であれば、特定の用途ごとに、説明した機能を実現するために異なる方法を使用することができるが、そのような実現は本発明の範囲を超えると見なされるべきではない。
【0118】
本明細書に開示されている実施例に関連して説明されている方法又はアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、又はそれらの組み合わせで直接実施することができる。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、メモリ、読み出し専用メモリ(ROM)、電気的にプログラム可能なROM、電気的に消去可能なプログラム可能なROM、レジスタ、又は当該技術分野で知られている既知の任意の他の形態の記憶媒体に配置することができる。
【0119】
開示された実施例の上記の説明は、当業者が本出願を実現又は使用することを可能にする。これらの実施例に対する様々な修正は当業者に明らかであり、本明細書で定義された一般的な原理は本出願の精神又は範囲から逸脱することなく他の実施例において実現することができる。したがって、本出願は本明細書に示されたこれらの実施例に限定されず、本明細書に開示されている原理及び新規の特徴と一致している最も広い範囲に適合されなければならない。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13