Look Back 🎥 Wan2.1-T2V-14B

詳細

ファイルをダウンロード

モデル説明

概要

Tatsuki Fujimotoの評判の高いワンショット漫画を原作とし、Studio DURIANが制作した『Look Back』(2024)は、二人の若き漫画家志望の切なくも美しい物語を描いている。自信に満ちた明るい藤野と、内向的で引きこもりの京本は、漫画を描くという共通の情熱を通して遠くからつながり合う。やがて若きライバル関係や憧れから始まる物語は、友情、情熱、そして静かに過ぎていく時間の深みに満ちた、感動的な探求へと展開する。

『Look Back』の偉大さは、その深い感情の誠実さと、創造的な心のあり方に対する共感を呼ぶ描写にあり、作品は才能、嫉妬、後悔、そして人生を形作る予期せぬ悲劇について、洗練され、心を抉る瞑想である。あらゆる繊細な感情を捉える圧倒的に表現力豊かなアニメーションを通じて、芸術が悲しみを処理する力や、私たちが互いに与える忘れがたい影響を、美しく、忧いに満ちた賛歌として伝える。これは、本当に忘れがたく、essentialな映画体験である。

このアニメ映画は、思いがけず私に深い影響を与えた。その芸術的演出が非常に魅力的だったため、そのアートのアイデンティティを盗み取ろうと試みるのも時間の問題だった。しかし、私はスタイルを完全に再現することはできなかった(たとえば「ラインブイル」効果が欠けており、線画が異常に鋭すぎるなど)、また高モーションシーンは残念な出来栄えだったが、いくつかの点で結果は悪くないと判断し、共有する価値があると感じた(Wan2.1の最終LoRAとして)。

使用方法

私はWanVideoWrapperを使用しています。私が投稿する各クリップには埋め込まれたワークフローが含まれています。JSON形式のワークフローの例はこちら

すべての動画はベースモデル WanVideo2.1-14B-T2V を用いて生成されています。

高速化のため、lightx2v self-forcing LoRAを強度0.9で使用しています。

データセット

データセットはオリジナルのアニメ映画から抽出され、PySceneDetectで分割されています。135本の動画(元解像度1920x960)と170枚の画像(静止フレーム、同じ解像度)を含んでいます。また、20枚の画像と20本の動画からなる検証用データセットも用意しました。

キャプション生成にはKwai-Keye/Keye-VL-8B-Previewを使用しました。いくつかのケースで、モデルが完全に不適切なキャプションを生成する「幻覚」が発生しました(これはモデルが「プレビュー段階」であることに起因すると考えられます)。しかし、そうでない場合、キャプションは非常に優れた精度と詳細さで生成され、これまで試した中で最も優れたオープンウェイトの動画キャプション生成モデルであると感じました。

トレーニング設定では、3つの動画セクション1つの画像セクションを使用しました。すべての動画セクションは同じ135本の動画を基にしていますが、異なる設定でトレーニングされています:

  1. 「高解像度」データセット:[960x480]でトレーニング、frame_extraction = "head"、target_frames = [1, 9]

  2. 「中解像度」データセット:[480x240]でトレーニング、frame_extraction = "uniform"、target_frames = [17]、frame_sample = 3

  3. 「低解像度」データセット:[240x128]でトレーニング、frame_extraction = "full"、max_frame = 81

すべての3つの動画データセットに対して、異なるキャプションファイルを使用しました。

  1. 高解像度セクション(キャプションの複雑さが最大)のキャプション生成には、以下のプロンプトを使用:
あなたのタスクは、動画のコンテンツと技術的実行を分解する、詳細で多面的な説明を生成することです。出力は包括的な段落とすべきです。

以下のすべての要素を分析・記述してください:
被写体とシーン:外見、衣装、物体、背景、前景について豊かで具体的な詳細を記述してください。
動き:速度、方向、性質を含む動きの特徴を記述してください。
カメラ言語:ショットタイプ(例:ロングショット、鳥瞰図)、カメラ角度(例:ローアングル)、カメラ移動(例:ドーリー、パン、オービット)を特定してください。
雰囲気:感情的な言語でシーンのムードを記述してください。

次のルールを厳密に守ってください:
芸術的スタイル(例:'サイバーパンク'、'廃墟'、'傑作')を記述または名称で言及しないでください。
文字通りの視覚的要素のみを記述してください。
必ず「Lookback style.」で説明を始めてください。

例:
Lookback style. 鳥瞰図のトラッキングショットが、ひび割れた大地と廃墟が広がる荒涼とした風景を歩く一人の人物を追う。カメラは滑らかに移動し、広大な空虚さを強調し、孤独と悲しみの力強い雰囲気を生み出す。
Lookback style. 雨の降る街路に明るいネオンサインが照らされ、ロングトレンチコートを着た人物がカメラの向こうへ歩き去る。彼の姿がアスファルトの水たまりにきらめく。濃密でレイヤードなビジュアルと鮮やかだが沈んだ色調が、神秘的で没入感のある雰囲気を生み出す。
Lookback style. 黄色い花粉に覆われたミツバチが、太陽の下でじっと花の上を動く様子を極めてクローズアップしたショットで捉える。カメラは静止し、ハチの羽の繊細な質感と花の表面のテクスチャーを高い精細さで記録する。明るい自然光と鮮やかな色調が、驚異と自然の美しさを感じさせる。
Lookback style. 揺れる第一人称視点のドローンショットで、映像は濃密な森を高速で通過し、木々や枝を避けながら疾走する。急速な動きとローアングルが、緊張と不安に満ちた thrilling で混乱した体験を生む。
  1. 中解像度セクション(キャプションの複雑さが中程度)のキャプション生成には、以下のプロンプトを使用:
あなたのタスクは、動画の主な活動、主要な視覚的特徴、および全体的なムードを捉える記述文を生成することです。

以下の要素を流暢な文に組み合わせて特定してください:
被写体と描写:主な被写体に1〜2つの明確な形容詞を加える(例:「帽子をかぶった背の高い男」)。
シーンと描写:環境を文脈付きで記述する(例:「混雑した都市の公園」)。
動き:主な動作をより詳しく記述する(例:「速やかに歩く」)。
雰囲気:明確な場合、全体的なムードを一語または短いフレーズで記述する(例:「静かな」、「エネルギッシュな」)。

次のルールを厳密に守ってください:
芸術的スタイルを記述または名称で言及しないでください。
カメラワークが中心的な特徴である場合のみ、それについて言及可能(例:「スローモーション」)。
必ず「Lookback style.」で説明を始めてください。

例:
Lookback style. 黄色いコートを着た若い女性が、落ち葉が舞う公園を走っている。孤独なムードを生み出している。
Lookback style. 古典的な赤いコンバーチブルが、日差しの差す沿岸高速道路を走る。エネルギッシュな雰囲気を放っている。
Lookback style. 料理人が明るい台所で木製の板の上を素早く野菜を刻んでいる。
Lookback style. スローモーションで、水滴が静かな池に落ち、波紋を広げる。
Lookback style. 大きな茶色のクマが、勢いよく流れる川から魚を捕らえる。自然の力強さを示している。
  1. 低解像度セクション(非常に簡潔なキャプション)のキャプション生成には、以下のプロンプトを使用:
あなたのタスクは、動画で最も本質的な動作のみを記述する、単一の簡潔な文を生成することです。

動画を分析し、次の3つの核心的要素を特定してください:
被写体:主な人物、動物、または物体。一般的な用語(例:「人物」や「車」)を使用してください。
シーン:一般的な環境。単純な記述(例:「屋外」や「部屋の中」)を使用してください。
動き:主な動作。単純な動詞(例:「歩く」や「動く」)を使用してください。

次のルールを厳密に守ってください:
色、質感、表情、小さな背景物体を記述しないでください。
「クローズアップ」や「パン」などのカメラワークを特定しないでください。
ムード、雰囲気、または芸術的スタイルを解釈しないでください。
必ず「Lookback style.」で説明を始めてください。

例:
Lookback style. 人物が畑を歩く。
Lookback style. 車が道路を動く。
Lookback style. 動物が森を走る。
Lookback style. 二人の人物が部屋に立つ。
Lookback style. 物体が空から落ちる。

最後に、画像データセット(動画から抽出した静止フレーム)は1280x640の解像度でトレーニングされ、次のプロンプトでキャプションが生成されました:

あなたのタスクは、単一の静止画像の詳細な記述を生成することです。構図、文字通りの視覚的要素、そしてある特定の瞬間の状態に焦点を当ててください。

重要なルール:時間経過に伴う動きや行動を記述しないでください。「人物が歩いている」ではなく、「人物が一歩を踏み出した瞬間に捉えられている」と記述してください。

フレーム内に存在する以下の要素を分析・記述してください:
被写体とシーン:被写体、物体、環境を含むすべての視覚的要素を、高密度で記述してください。
カメラ言語:ショットタイプ(例:クローズアップ、ミディアムショット)、カメラ角度(例:ローアングル)、レンズ効果(例:魚眼)といった静的なカメラ特性を特定してください。
雰囲気:単一の画像内に込められたムードを分析してください。
暗示される動作:潜在的な動作を示す被写体の姿勢や状態を記述可能(例:「飛び跳ねようとしている」、「踊りの瞬間に凍りついている」)。

次のルールを厳密に守ってください:
芸術的スタイルを記述または名称で言及しないでください。
文字通りに見えるもののみを記述してください。
必ず「Lookback style.」で説明を始めてください。

例:
Lookback style. 長いベージュのコートを着た洗練された女性が、有名な絵画の前で静止しているミディアムショット。柔らかな照明がコートの質感と彼女の穏やかな表情を強調する。構図は静かで内省的な雰囲気を生み出す。
Lookback style. ローアングルのショットで、バスケットボール選手が空中でパスを決める瞬間に凍りついている。厳しいアリーナの照明が、彼の張り詰めた筋肉に強いハイライトと影を生み出し、力強く臨場感のあるエネルギーを伝える。
Lookback style. 広角レンズで日の出の壮観な山脈を捉える。前景には静かな湖が反射し、空は鮮やかなオレンジとピンクの色調で彩られている。画像は壮大で静謐な雰囲気を持つ。
Lookback style. このフレームは、一枚の涙を流した目を極めてクローズアップしたもので、高コントラストの白黒で描かれている。焦点はまつ毛と瞳孔の反射に鋭く合っており、非常に親密で憂鬱なムードを生み出している。

全体的に、キャプション生成の「段階」を増やすことで、モデルの理解が向上すると考えています。
Wan2.1用のすべてのLoRAの中で、このLoRAはおそらくプロンプトの従順性と理解度が最も優れています。
しかし(いつものように)、数値的な証拠は提供しません 🙃

トレーニング

このLoRAは、Windows 10上でTakenokoを使用し、RAM 64GB、RTX 3090でトレーニングしました。トレーニングパラメータは以下の通りです:

rank/alpha: 32/32
optimizer: AdamW8bit
learning rate: 5.0e-5
weight decay: 0.01
lr_scheduler: Polynomial 
lr_warmup_steps: 200
lr_scheduler_power: 1.0

このLoRAでは、可変フローシフト戦略を使用しました。最初の4900ステップではdiscrete_flow_shift = 5でトレーニングし、残りのステップ(最大30000ステップ)ではdiscrete_flow_shift = 3を使用しました。

この戦略の狙いを説明します。

トレーニング中、シフト値はモデルがどのノイズレベルの除去を学習するかを制御します。このシフトを調整することで、構造(高ノイズレベル)や微細な詳細(低ノイズレベル)に焦点を当てることができます。この可視化がこの概念を理解する(あるいは少なくとも理解できたと信じる)のに役立ちました。

アイデアは、初期のトレーニング段階で、高ノイズ領域で最もよく表現される構造と動きの学習に集中するために、より高いシフト値を使用することでした。これにより、逆ノイズ除去プロセスにおけるシグモイドベースのタイムステップサンプリング分布の中心が、より高いタイムステップ(つまり高いノイズレベル)にシフトします。その後、トレーニングの後半でシフト値を下げることで、モデルが顔の表情、生地のテクスチャー、その他の高周波的な特徴などの微細な細部の学習に集中するようになるのです。これらの特徴は低いノイズレベルでよりよく学習されます。

つまり、高いシフト値は、シグモイドサンプリングされたタイムステップの確率分布を「高ノイズ領域」(ノイズ除去プロセスの初期ステップに対応する「y」値が1.0近辺)に押し上げます。この領域では、モデルは高度にノイズ化された入力を見て、レイアウトやグローバルな動きのような構造的・低周波パターンを学習します。

シフト値を下げると、タイムステップ分布は低ノイズ領域に集中し、ノイズ除去の後期ステップにおけるトレーニングサンプルの密度が増加します。その段階ではモデルはクリーンな入力に遭遇し、テクスチャーや顔の特徴、微細構造のような高周波の詳細に集中できるようになります。

(この説明により、推論ステップを減らす際にシフト値を上げることが推奨される理由も理解できました。推論ステップが少ない場合、モデルは十分な構造形成の余地を得るために、高いノイズレベルから始めなければなりません。シグモイドが低ノイズ領域にあまりにも左にシフトしていると、モデルは一貫した構造的理解を得るために必要な高ノイズステップを十分に経験できなくなってしまいます。)

まだこの方法がどれほど効果的だったかは確実ではありません。さらに実験が必要です。私は今、シフトをさらに下げて、約13,000ステップで1まで減らしたほうが、微細な詳細の学習をさらに強調できたのではないかと考えています。注意した点は、カメラ移動のプロンプトに対するモデルの反応性が向上したことです。今ではそれらをより素直に従います。ただし、2.2リリース以降、これはもはや関係ないようです。

いずれにせよ、私は30,000ステップまで学習しました。学習の流れは少し奇妙でした。平均損失と検証損失は約11,000ステップからほぼフラットになりましたが、サンプルは22,000ステップ付近まで次第に改善し続けました。複数のプロンプトでテストした後、20,580ステップのチェックポイントで学習を終えました。

コダ

この5ヶ月を振り返ると、Wan 2.1は歴史にその名を刻む偉大なモデルです(この驚異的な成果を生み出した才能ある開発者たちと同じように)。しかし、今や2.2への移行の時です。2.2は2.1の主な欠点であるモーションの一貫性の低さを改善した、非常に価値のある後継モデルに見えます。きっとそれを試すのに多くの楽しみがあるでしょう!🔥

このモデルで生成された画像

画像が見つかりません。