見出し画像

pytti 0.5ベータ日本語訳

# 手順


`scenes:`生成したいシーンの説明。`|| `で区切られます。各シーンには、 `|`で区切られた複数のプロンプトを含めることができます。


*例:* `冬の日の出| 氷のような風景|| 冬の日| 雪に覆われたスカイライン|| 冬の日没| 肌寒い空気|| 冬の夜| 晴天 `はいくつかの冬のシーンを通過します。

Example: Winter sunrise | icy landscape || Winter day | snowy skyline || Winter sunset | chilly air || Winter night | clear sky

**詳細:** `description:weight`による重みプロンプト。オプティマイザはより高い `weight`値を優先し、負の` weight`値は画像から説明を削除します。デフォルトの重みは$ 1 $です。重みは、アニメーションの過程で変化する$ t $の関数にすることもできます。


*シーンの例:* `青い空:10 |火星の風景|赤い空:-1`は火星の空
を青に変えようとします。

Example scene: blue sky:10|martian landscape|red sky:-1

**詳細:**画像が `description:weight:stop`と十分に一致すると、停止プロンプトが表示されます。`stop`は、ポジティブプロンプトの場合は$ 0 $から$ 1 $の間、ネガティブプロンプトの場合は$ -1 $から$ 0 $の間でなければなりません。`stop`値を低くすると、画像への影響が大きくなります($ -1 <-0.5 <0 $であることを忘れないでください)。負の「重み」を持つプロンプトは、多くの場合、停止せずに混乱します。ストップは、アニメーションの過程で変更する$ t $の関数にすることもできます。


*シーンの例:* `羽毛恐竜|鳥:1:0.87 |鱗:-1:-。9 |テキスト:-1:-。9`羽毛恐竜を鳥のように軽く、鱗やテキストなしで作成しようとしますが、 「アンチスケール」または「アンチテキスト」を作成せずに。

Example scene: Feathered dinosaurs|birds:1:0.87|scales:-1:-.9|text:-1:-.9

#**新着:**


**詳細:**テキストプロンプトを `mask`として、` description:weight_maskdescription`を使用します。プロンプトは、CLIPによると「マスクの説明」に一致する画像の領域にのみ適用されます。


*シーンの例:* `Khaleesi Daenerys Targaryen | ドラゴンの母| dragon:3_baby`は、画像の `baby`に一致する部分にのみ重み` dragon`を適用するため、 `mother`がドラゴンになりがちな赤ちゃんを(うまくいけば)変​​えます。

Example scene: Khaleesi Daenerys Targaryen | mother of dragons | dragon:3_baby

**詳細:** `description:weight_ [mask]`を使用して、画像へのURLまたはパス、または `mask`として使用する.mp4ビデオへのパスを指定します。プロンプトは、マスク画像のマスクされた(白い)領域にのみ適用されます。代わりに、 `description:weight _ [-mask]`を使用して、黒い領域にプロンプ​​トを適用します。


*シーンの例:* `sunlight:3_ [mask.mp4] | midnight:3 _ [-mask.mp4]` `mask.mp4`の白い領域に` sunlight`を適用し、黒い領域に `midnight`を適用します。

Example scene: sunlight:3_[mask.mp4]|midnight:3_[-mask.mp4]

**レガシー:**方向ウェイトは以前と同じように機能しますが、マスクほど良くはありません。


**詳細:**セマンティック画像プロンプトを追加するためのプロンプトとして `[path or url]`を使用します。これはCLIPによって読み取られ、画像のほぼ完全なテキスト説明として理解されます。


*シーンの例:* `[artistsignature.png]:-1:-。95 | [https://i.redd.it/ewpeykozy7e71.png]:3 |フラクタル雲|空の穴`

Example scene: [artist signature.png]:-1:-.95|[https://i.redd.it/ewpeykozy7e71.png]:3|fractal clouds|hole in the sky
---



`scene_prefix:`各シーンの先頭に追加されるテキスト。


*例:* `アーステーションのトレンド|`

Example: Trending on Arstation|

`scene_suffix:`各シーンの最後に追加されるテキスト。


*例:* `by James Gurney`


`interpolation_steps:`各シーンの開始時に最後のシーンからスムーズに移行するために費やすステップ数。$ 200 $が適切なデフォルトです。無効にするには$ 0 $に設定します。


`steps_per_scene:`各シーンのレンダリングに費やす合計ステップ数。少なくとも `interpolation_steps`である必要があります。これにより、アニメーションの全長が間接的に制御されます。




#**新着**:

`direct_image_prompts:`画像を文字通りの意味で表示したい画像のパスまたはURLと、 `|`で区切られた `weight_mask`と` stop`の値。


`pathまたはurlof image:weight_pathまたはurl of mask`を使用して直接画像プロンプトにマスクを適用します。ビデオマスクの場合、mp4ファイルへのパスである必要があります。

path or url of image:weight_path or url of mask

**レガシー**潜像プロンプトはもうありません。これらは、直接画像プロンプトに組み込まれるようになりました。





`init_image:`開始画像のパスまたはURL。中心的な焦点を作成するためにうまく機能します。



`direct_init_weight:`デフォルトは$ 0 $です。初期画像を直接画像プロンプトとして使用します。
`direct_image_prompt`として` init_image:direct_init_weight`を追加するのと同じです。ウェイト、マスク、およびストップをサポートします。


`semantic_init_weight:`デフォルトは$ 0 $です。デフォルトは$ 0 $です。初期画像をセマンティック画像プロンプトとして使用します。`scenes`の各シーンにプロンプ​​トとして` [init_image]:direct_init_weight`を追加するのと同じです。ウェイト、マスク、およびストップをサポートします。**重要**これはセマンティックプロンプトであるため、パスまたはURLとして示すために、マスクを `[` `]`に入れる必要があります。そうしないと、ファイルではなくテキストとして読み取られます。




`width`、` height: `画像サイズ。これらの$ -1 $のいずれかを設定して、初期化画像のアスペクト比から導き出します。


`pixel_size:`整数の画像の倍率。画像を大きくします。VQGANの場合は$ 1 $に設定するか、VRAMの問題に直面します。


`smoothing_weight:`は画像をより滑らかにします。デフォルトは$ 0 $(平滑化なし)です。また、その揚げ物の外観に否定的である可能性があります。


`image_model:`画像の表現方法を選択します。


`vqgan_model:` VQGANバージョンを選択します( `image_model:VQGAN`の場合のみ)


`random_initial_palette:`チェックすると、パレットはランダムな色で始まります。それ以外の場合は、グレースケールとして開始されます。( `image_model:Limited Palette`の場合のみ)


`palette_size:`各パレットの色の数。( `image_model:Limited Palette`の場合のみ)


`palettes:`パレットの総数。画像の色は合計で `palette_size * palettes`になります。( `image_model:Limited Palette`の場合のみ)


`gamma:`相対ガンマ値。値を大きくすると画像が暗くなり、コントラストが高くなります。値を小さくすると画像が明るくなり、コントラストが低くなります。( `image_model:Limited Palette`の場合のみ)。$ 1 $が適切なデフォルトです。


`hdr_weight:`オプティマイザーが `ガンマ`をどれだけ強く維持するか。無効にするには$ 0 $に設定します。( `image_model:Limited Palette`の場合のみ)


`palette_normalization_weight:`オプティマイザーが画像内のパレットの存在をどれだけ強く維持するか。画像がパレットを失うのを防ぎます。( `image_model:Limited Palette`の場合のみ)


`show_palette:`このボックスをオンにすると、画像が表示されるたびにパレットが表示されます。( `image_model:Limited Palette`の場合のみ)


`target_pallete:`モデルが使用するパレットを作成するために使用する画像のパスまたはURL。


`lock_pallete:`は、モデルに初期パレットを使用するように強制します(復元から最も役立ちますが、それ以外の場合は、グレースケール画像または不安定なパレットを強制します)。



Animation


`animation_mode:`アニメーションモードを選択するか、アニメーションを無効にします。


`sampling_mode:`アニメーション中にピクセルがどのようにサンプリングされるか。
`nearest`は画像を鮮明に保ちますが見栄えが悪くなる可能性があります。
`bilinear`は画像を滑らかにし、
` bicubic`はテストされていません:)


`infill_mode:`は、新しいピクセルが端から入ってくる場合にどのように塗りつぶすかを選択します。

*mirror:境界を越えて画像を反映

*wrap:反対側からピクセルをプルします

*black:黒で塗りつぶします

*smear:画像内の最も近いピクセルのサンプル


`pre_animation_steps:`安定した画像から始めるために、アニメーションが開始する前に実行するステップ数。$ 250 $が適切なデフォルトです。


`steps_per_frame:`各画像の移動間のステップ数。$ 50 $が適切なデフォルトです。


`frames_per_second:`毎秒レンダリングするフレーム数。$ t $のスケーリング方法を制御します。


`direct_stabilization_weight:`は、現在のフレームを直接画像プロンプトとして保持します。「ビデオソース」の場合、これはビデオの現在のフレームを直接画像プロンプトとして使用します。`2D`と` 3D`の場合、これは前のフレームのシフトされたバージョンを使用します。マスクもサポートしています: `weight_mask.mp4`。


`semantic_stabilization_weight:`は、現在のフレームをセマンティックイメージプロンプトとして保持します。「ビデオソース」の場合、これはビデオの現在のフレームを直接画像プロンプトとして使用します。`2D`と` 3D`の場合、これは前のフレームのシフトされたバージョンを使用します。マスクもサポートします: `weight_ [mask.mp4]`または `weight_maskphrase`。


`depth_stabilization_weight:`は、*非常に*急なパフォーマンスコストで深度モデルの出力をある程度一貫性のある状態に保ちます。「ビデオソース」の場合、これはビデオの現在のフレームをセマンティック画像プロンプトとして使用します。`2D`と` 3D`の場合、これは前のフレームのシフトされたバージョンを使用します。マスクもサポートしています: `weight_mask.mp4`。


`edge_stabilization_weight:`は、パフォーマンスコストをほとんどかけずに、画像の輪郭をある程度一定に保ちます。「ビデオソース」の場合、これはビデオの現在のフレームをソーベルフィルターを使用した直接画像プロンプトとして使用します。`2D`と` 3D`の場合、これは前のフレームのシフトされたバージョンを使用します。マスクもサポートしています: `weight_mask.mp4`。


`flow_stabilization_weight:`は、ちらつきを防ぐために `animation_mode:3D`と` VideoSource`に使用されます。実装の違いにより、「ビデオソース」にはわずかなパフォーマンスコストがかかり、「3D」には優れたパフォーマンスコストがかかります。マスクもサポートしています: `weight_mask.mp4`。ビデオソースの場合、マスクは移動するフレームの部分を選択する必要があり、残りは静止した背景として扱われます。


---

`video_path:`ビデオソースのmp4ファイルへのパス `


`frame_stride`は、各出力フレームのビデオでこの数のフレームを進めます。これは驚くほど便利です。各フレームをレンダリングするには、$ 1 $に設定します。ビデオマスクもこの速度でステップします。


`reencode_each_frame:`このボックスをオンにすると、各出力フレームを次のinitにワープする代わりに、各ビデオフレームを `init_image`として使用します。カットは引き続き検出され、再エンコードがトリガーされます。



`flow_long_term_samples:` [Manuel Ruder、Alexey Dosovitskiy、およびThomas Brox(2016)](https://arxiv.org/abs/1604.08610)で説明されているように、複数のフレームを過去にサンプリングして、非閉塞でも一貫した補間を行います。各サンプルは過去の2倍前にあるため、最初にサンプリングされたフレームは過去の$ 2 ^ {\ text {long_term_flow_samples}} $フレームです。無効にするには$ 0 $に設定します。





`translate_x:`秒単位の時間$ t $の関数としての水平方向の画像の動き。

`translate_y:`秒単位の時間$ t $の関数としての垂直方向の画像の動き。

`translate_z_3d:`秒単位の時間$ t $の関数としての前方画像の動き。( `animation_mode:3D`の場合のみ)


`rotate_3d:`秒単位の時間$ t $の関数としてのクォータニオン$ \ left [r、x、y、z \ right] $としての画像の回転。( `animation_mode:3D`の場合のみ)


`rotate_2d:`秒単位の時間$ t $の関数としての度単位の画像回転。( `animation_mode:2D`の場合のみ)


`zoom_x_2d:`秒単位の時間$ t $の関数としての水平方向の画像ズーム。( `animation_mode:2D`の場合のみ)


`zoom_y_2d:`秒単位の時間$ t $の関数としての垂直方向の画像ズーム。( `animation_mode:2D`の場合のみ)


`lock_camera:`このボックスをチェックして、すべてのスクロールやドリフトを防ぎます。より安定した3D回転を実現します。( `animation_mode:3D`の場合のみ)


`field_of_view:`度単位の垂直視野。( `animation_mode:3D`の場合のみ)


`near_plane:`ピクセル単位の最も近い深度距離。( `animation_mode:3D`の場合のみ)


`far_plane:`ピクセル単位の最も遠い深度距離。( `animation_mode:3D`の場合のみ)


---


`file_namespace:`出力ディレクトリ名。


`allow_overwrite:`チェックして `file_namespace`の既存のファイルを上書きします。


`display_every:`ノートブックに画像が表示されるまでのステップ数。


`clear_every:`ノートブックコンソールがクリアされるまでのステップ数。


`display_scale:`ノートブックの画像表示スケール。$ 1 $は、画像をフルサイズで表示します。保存した画像には影響しません。


`save_every:`画像が保存されるたびのステップ数。一貫性のあるアニメーションを得るには、 `steps_per_frame`に設定します。


`backups:`保持するバックアップの数(最も古いバックアップのみが削除されます)。大きな画像は非常に大きなバックアップを作成するため、注意が必要です。すべてのバックアップを保存するには、 `all`に設定します。これらは `flow_long_term_samples`に使用されるため、` VideoSource`モードでは少なくとも$ 2 ^ {\ text {flow_long_term_samples}} + 1 $であることを確認してください。


`show_graphs:`これをチェックすると、画像が表示されるたびに損失値のグラフが表示されます。ローカルランタイムではこれを無効にします。


`approximate_vram_usage:`は現在壊れています。その嘘を信じないでください。





`ViTB32、ViTB16、RN50、RN50x4:` CLIPモデルを選択します。これらは多くのVRAMを必要とします。


`learning_rate:`画像がどれだけ速く変化するか。


`reset_lr_each_frame:`オプティマイザーは適応的に学習率を変更するので、これはそれを阻止します。


`seed:`疑似ランダムシード。


---


`cutout:`カットアウトの数。これを減らすと、品質と速度が犠牲になり、使用するVRAMが少なくなります。


`cut_pow:`は正である必要があります。大きな値はカットアウトを縮小して画像をより詳細にし、小さな値はカットアウトを拡大してより一貫性のあるものにします。$ 1 $が適切なデフォルトです。$ 3 $以上は、クラッシュを引き起こす可能性があります。


`cutout_border:`は$ 0 $から$ 1 $の間でなければなりません。カットアウトが画像サイズのこの部分だけ画像の端に突き出ることを可能にし、画像の端の周りのより良い詳細を可能にします。無効にするには$ 0 $に設定します。$ 0.25 $が適切なデフォルトです。


`border_mode:`画像の端からはみ出している切り抜きを埋める方法。一貫したインフィルのために `infill_mode`と一致します。


*clamp:カットアウトを画像に戻します

*mirror:境界を越えて画像を反映

*wrap::反対側からピクセルをプルします

*black:黒で塗りつぶします

*smear:画像内の最も近いピクセルのサンプル



#ステップ1:セットアップ

このセクションのセルは、ランタイムごとに1回、または工場出荷時にリセットした後に実行します。


#@ title 1.1グーグルドライブのマウント(オプション)

#@ markdownドライブのマウントはオプションですが、お勧めします。あなたもグーグルからランダムに復元することができます

ドライブをマウントすると、#@ markdownがあなたを追い出します。

google.colabインポートドライブから

drive._mount( '/ content / drive')

!mkdir -p / content / drive / MyDrive / pytti_test

%cd / content / drive / MyDrive / pytti_test


#@ title 1.2 NVIDIA-SMI(オプション)

#@ markdownランタイムGPUに関する情報を表示します。

#@ markdown Googleは、実行に必要な産業用GPUに接続します

#@このノートブックをマークダウンします。GPUでエラーチェックを無効にして、いくつかを取得することもできます

#@ markdownより多くのVRAMを、安定性にわずかなコストで。その後、ランタイムを再起動する必要があります

#@ markdownを無効にします。

enable_error_checking = False#@ param {type: "boolean"}

enable_error_checkingの場合:

!nvidia-smi

それ以外:

!nvidia-smi

!nvidia-smi -i 0 -e 0


#@ title1.3他のすべてをインストールする

#@ markdownこのセルを新しいランタイムで実行して、ライブラリとモジュールをインストールします。

os.pathからのインポートはpath_existsとして存在します

path_exists( '/ content / drive / MyDrive / pytti_test')の場合:

%cd / content / drive / MyDrive / pytti_test


試す:

AdjustTextからインポートadjust_text

ピッティ、トーチをインポートします

every_installed = True

ModuleNotFoundErrorを除く:

every_installed = False

def install_everything():

!pip install tensorflow == 1.15.2

!pipインストールトランスフォーマー&> / dev / null

!pip install PyGLM&> / dev / null

!pip install ftfy regex tqdm omegaconf pytorch-lightning&> / dev / null

!pip install kornia&> / dev / null

!pip install einops&> / dev / null

!pip install imageio-ffmpeg&> / dev / null

!pip install AdjustText exrex bunch&> / dev / null

!pip install matplotlib-label-lines&> / dev / null

!git clone https://github.com/openai/CLIP.git&> / dev / null

!git clone https://github.com/CompVis/taming-transformers.git&> / dev / null

そうでない場合path_exists( './ pytti'):

!git clone --branch p5 https://github.com/sportsracer48/pytti.git&> / dev / null

それ以外:

!rm -r pytti

!git clone --branch p5 https://github.com/sportsracer48/pytti.git

!git clone https://github.com/shariqfarooq123/AdaBins.git&> / dev / null

!git clone https://github.com/zacjiang/GMA.git&> / dev / null

!mkdir -p AdaBins / pretrained

そうでない場合path_exists( 'AdaBins / pretrained / AdaBins_nyu.pt'):

!gdown https://drive.google.com/uc?id=1lvyZZbC9NLcS8a__YPcUP7rDiIpbRpoF

そうでない場合path_exists( 'AdaBins_nyu.pt'):

!gdown https://drive.google.com/uc?id=1zgGJrkFkJbRouqMaWArXE4WF_rhj-pxW

!mv AdaBins_nyu.pt AdaBins/pretrained/AdaBins_nyu.pt


pytti.Notebookからインポートchange_tqdm_color

change_tqdm_color()

!mkdir -p images_out

!mkdir-pビデオ


force_install = True#@ param {type: "boolean"}

every_installedまたはforce_installでない場合:

install_everything()

elif every_installed:

pytti.Notebookからインポートchange_tqdm_color

change_tqdm_color()


#ステップ2:実行してください!

パラメータを編集するか、保存されたパラメータをロードしてから、モデルを実行します。

この記事が気に入ったらサポートをしてみませんか?