Skip to content

clean262/sam3_bb_gb_generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

demo click demo text

はじめに

Release Downloads License Last Commit

クリックで簡単に動画を切り取れるAviutl2プラグインです。

  • マウスクリックだけで前景・背景を指定
  • 切り抜いた前景のみ(背景のみ)をAviutl2に自動挿入
  • 挿入方法はBB/GB/透過と選択可能
  • プレビューしながら前景・背景を調整
  • 複数フレームに対してクリック可能
  • point/Box形式で前景・背景を指定可能
  • テキストで前景を指定可能(実装中)

紹介動画こちらから
samune

利用に際して

本プラグインを用いて動画制作を行った場合親作品登録をしていただけると開発の励みになります。
親作品登録いただいたら見に行きます。

開発状況等は作者X: 旧twitterを参照してください。

バグ報告や機能追加の要望、利用に際して分からない点がありましたらまず本ページ下部にある Q&A セクションをご覧ください。
その上で分からないことがあればIssuesから気軽にお願いします。
右上New issueボタンから送れます。

また本プラグインはコミュニティの発展のために、Aviutl2本体の親作品登録を推奨しています。
Aviutl2-catalogを利用することでAviutl2本体/プラグイン/スクリプトの親作品リストを一括で取得できます。
samune

関連プラグイン/ソフト

1. Aviutl2 かんたん物体切り抜きプラグイン

GitHub 解説動画
本プラグインの静止画切り抜き版です。
本プラグインと比較して軽量のため、スペックが低いパソコンでも動かすことが出来ます。
samune

2. 静止画背景を自動で切り抜こう - さぶんぬっころ

X 解説動画
Aviutl2プラグインではありませんが、背景素材のみのシーンが存在する場合において前景を綺麗に切り取ることが出来ます。
samune

3. AIを使って簡単にBB素材を作ろう!

Open in Colab 解説動画
本プラグインが採用しているSAM3の1世代前のモデルであるSAM2で切り抜きが行えます。
Aviutl2プラグインではありませんが、Google Colabで実行できるため導入不要で切り抜きが行えます。
samune

4. Aviutl2 Remove Background

GitHub
本プラグインのSAM2版です。 性能は低下しますが、複数のモデルを選択できます。

実行確認環境

  • Aviutl2 beta32以上(必須)
  • Windows11
  • NVIDIA GeForce RTX 3060

導入方法

Nvidia driver install

NVIDIAのGPUを搭載したパソコンを所有している方は実行してください。搭載していない方は飛ばしてください。
GPUを用いてかなり高速な動画切り取りを行うことが出来ます。
このページに従ってインストールしてください。

nvidia-smi

上記コマンドをターミナル等のアプリで入力した際に、CUDA Version: 12.8 以上の表記が出ていればOKです。
既にNvidia driverをインストールされている方でもCUDA Version: 12.8 以上の表記が出るかは確認してください

gitのインストール

ターミナル等のアプリで以下のコマンドを入力し、gitがインストール済みと確認できる方は飛ばしてください

git --version

エラーが出る方は元々インストールされてませんので、このページに従ってgitをインストールしてください。
サイト内での2. Gitの初期設定まで実行していただければOKです。

SAM3の利用登録

Hugging Faceにアクセスし、アカウントを作成してください。
sign in sign in2

facebook/sam3にアクセスし、以下の項目を入力してください。
許可が下りるまでしばらく時間がかかります(数十分から数時間
※場合によっては2〜3週間待つ可能性があります。それ以上待つ場合はSAM3側へ問い合わせしてみて下さい
term

access tokenを発行し 右上のCreate new tokenから、新しいtokenを作成してください。
ここで発行したtokenは一度しか表示されないので、保存し忘れた場合新たなtokenを作成してください。
これはHugging Faceのトークンのため、SAM3の申請の有無にかかわらず発行することが出来ます。
setting

すぐ下に記載のあるプラグインのインストールからまずはプラグインをインストールしてください(catalogからでもReleaseからでも大丈夫です)。
取得したトークンをターミナル等のアプリで、以下のコマンドを1行ずつ入力してください。
トークンを入力するタイミングはEnter your token(input will not be visible):の時です。
トークンはパスワードと同様、他人に見せてはならないものなので、入力しても何も表示されませんが入力されています。
Add token as git credential?にはnでOKです。

cd C:\ProgramData\aviutl2\Plugin\SAM3\python
.\uv.exe run hf auth login

トークンを登録できたかを確認するには以下のコマンドを1行ずつ入力してください。

cd C:\ProgramData\aviutl2\Plugin\SAM3\python
.\uv.exe run python -c "from huggingface_hub import whoami; print(whoami())"

{'type': 'user', 'id':...の後が自分が作成したhugging faceのアカウント名と一致し、最後の部分'auth': {'type': 'access_token', 'accessToken': {'displayName':...以降が自分の作成したトークンの名前、そしてroleが正しくREADになっていることを確認してください。

SAM3の利用申請は、SAM3側が手動で許諾をとっているようです。
こちらでSAM3がAcceptedになっていれば承認されています。Pendingの場合、まだ保留中です。しばらくお待ちください。

プラグインのインストール

Nvidia driverのインストール、gitのインストールとSAM3の利用登録を終えたら、プラグインのインストールには2種類のインストール方法があります。

Aviutl2-catalogからインストールする場合(推奨)

Aviutl2-catalogをダウンロードし、インストールボタンを押すだけで導入は完了です。

Aviutl2-catalog は、AviUtl2 のプラグインやスクリプトを「検索→導入→更新」まで一括管理できるデスクトップアプリです。
従来のようにダウンロード時には解凍してファイルを移動させる必要はありません。また、アップデートがあれば通知が来て1クリックで更新も完了します。
利用したプラグイン/スクリプトの親作品リストも一括で取得できます。

samune

Releaseからインストールする場合(optional)

catalogを利用していない人はこちらの方法でインストールしてください。 Github Releaseから最新のSAM3_win64.zipをダウンロードして下さい。
zipを解凍後、install.cmdをダブルクリックしてください。セキュリティの警告に対して実行を押していただくと、インストールが完了します。

使い方

Aviutl2起動後、左上 表示 の欄から SAM3 を選択してください。
term

下のような画面が表示されるので、タイムライン上で切り抜きたい動画を選択し、挿入形式を決定してください。
term

実行ボタンを押し、Gradio is runningの表示が出たら切り抜き画面を開くを押してください。
term

切り抜き用の画面が開かれます。
term

画面をクリックすると選択範囲が示されます。
間違えた場合は右のReset Promptボタンを押してください。
Frameのバーを動かすと、複数フレームで選択したい領域を指定できます。
また、point labelnegativeにすると選択したくない領域を指定できます
term

Prompt typeをBoxに指定し、左上の点と右下の点を指定すると長方形で範囲を指定できます。
Boxで指定した後、クリックで追加指定することも可能です。(逆は出来ません) term

Object IDを指定することで、複数の物体を指定することも可能です。
term

指定したらPropagate across segmentsボタンを押してください。切り抜きが行われます。
切り抜き精度に不満がある場合はFrameのバーを動かし、再度クリックやBoxで領域指定してからPropagate across segmentsボタンを押すことも可能です。
term

Render Previewボタンを押すと切り抜き結果を確認できます。
term

最後に、Finishを押すとAviutl2に切り抜き結果が自動挿入されます。
term

Q&A

カタログのダウンロード時に、5/5でエラーが出現する

gitのインストールが出来ていない可能性があります。 このページに従ってgitをインストールしてください。
サイト内での2. Gitの初期設定まで実行していただければOKです。

また、v0.0.5までにおいて、pythonとtorchのバージョン不整合によりダウンロード時にエラーが発生しておりました。
旧バージョンをご利用の方は最新バージョンにアップデートしてください。

web UIのURLが取得できない

setting
これは何らかの理由で、切り抜き用の画面が開けないことを意味しています。
ここだけでは原因が分からないので、透過/BB/GBを選択したSAM3 ウィンドウの一番下の箇所を参照してください。
以下にメッセージごとの対処法を記載します。

Model load failed:エラー

発行したトークン周りで何かしらのエラーが生じています。※(画像のエラーメッセージは1例です。類似のメッセージが出る場合もあります) 
setting
様々な可能性が考えられますので、まず順番に以下の内容を確認してください

  1. SAM3がAcceptedされているか
    こちらでSAM3がAcceptedになっているかを確認してください。
    pendingの場合は承認されるまで待ってください。

  2. 発行したトークンがREAD権限を持つか
    こちらで発行したトークンのPermissionがFine-grainedではなくREADになっているかを確認してください。
    Fine-Grainedになっている場合、新たにREADで作り直してください。
    Fine-Grainedになっておりトークンを作り直す場合は以下のコマンドを1行ずつ入力しログアウトした後、再度導入方法に従ってトークンを登録してください。

    cd C:\ProgramData\aviutl2\Plugin\SAM3\python
    .\uv.exe run hf auth logout
  3. 正しくトークンが登録できているか
    以下のコマンドを1行ずつ入力してください。

    cd C:\ProgramData\aviutl2\Plugin\SAM3\python
    .\uv.exe run python -c "from huggingface_hub import whoami; print(whoami())"

    2つ目のコマンドを入力した後の出力において、{'type': 'user', 'id':...の後が自分が作成したhugging faceのアカウント名と一致し、
    最後の部分'auth': {'type': 'access_token', 'accessToken': {'displayName':...以降が自分の作成したトークンの名前、
    そしてroleが正しくREADになっていることを確認してください。
    正しくない場合は2. と同様にログアウトし、再度導入方法に従ってトークンを登録してください。

  4. 以前にHugging faceを利用されたことがある方に起きうるエラー

    環境変数に既に別のトークンが入っており、そのトークンにアクセス権限がないケースが考えられます。(環境変数に入っているトークンが今回設定したトークンより優先される)
    [Environment]::GetEnvironmentVariable("HF_TOKEN", "User")のコマンドの出力がある方が該当します。

    出力があった場合の解決策は環境変数を削除するないし、上書きするです。
    (双方とも以前作成していたであろうトークンは削除することになるので、以前用いていたHugging faceを用いたコードが動かなくなる可能性はあります。
    これを回避するには適切な権限を与えてあげてください。)

    削除する場合は以下のコマンドを入力してください
    [Environment]::SetEnvironmentVariable("HF_TOKEN", $null, "User")

    上書きする場合は以下のコマンドを入力してください。YOUR_TOKEN_HEREの部分に作成したトークンを入力してください
    [Environment]::SetEnvironmentVariable("HF_TOKEN", "YOUR_TOKEN_HERE", "User")

このエラーの原因を確認する方法

C:\ProgramData\aviutl2\Plugin\SAM3\Jobs に日付時刻が記されたフォルダがあり、該当するフォルダを開いて下さい。
python.log.txtにエラーの原因が記載されています。
AIに質問 / Issuesで質問する際もこれをもとに質問してください

Loading video segment...から全然進まない

初回利用時には3.5GBもの切り抜き用のSAM3モデルをダウンロードしています。時間がかかるのでそのまま待ってください
setting

python process exited before result.json was createdエラー

setting

このエラーが出るときは、カタログでのダウンロード時に自動で実行されるライブラリのインストールが正しく出来ていないことが多いです。
一度カタログから本プラグインをアンインストールし、インストールしなおして下さい。

まだ同様のエラーが起こる場合は、手動でライブラリをインストールすることが出来ます。
C:\ProgramData\aviutl2\Plugin\SAM3\pythonにある、.venvフォルダをまとめて削除し、以下のコマンドを1行ずつ入力してください。

cd C:\ProgramData\aviutl2\Plugin\SAM3\Python
.\uv.exe sync --locked

このエラーの原因を確認する方法

C:\ProgramData\aviutl2\Plugin\SAM3\Jobs に日付時刻が記されたフォルダがあり、該当するフォルダを開いて下さい。
python.stderr.txtにエラーの原因が記載されています。
AIに質問 / Issuesで質問する際もこれをもとに質問してください

init_video_session failed: DefaultCPUAllocator: not enough memoryエラー

一度に切り抜こうとする動画の秒数が長いとこのエラーが生じます。(各パソコンのメモリに依存)
動画の長さを短くしてください。

このエラーの原因を確認する方法

C:\ProgramData\aviutl2\Plugin\SAM3\Jobs に日付時刻が記されたフォルダがあり、該当するフォルダを開いて下さい。
python.log.txtにエラーの原因が記載されています。
AIに質問 / Issuesで質問する際もこれをもとに質問してください

切り抜き用の画面においてクリック時にエラー

v0.0.6において、Geforce RTX5000番台のGPUを利用されていた方に発生していたエラーです。
カタログにおいてアップデートしてください。

このエラーの原因を確認する方法

C:\ProgramData\aviutl2\Plugin\SAM3\Jobs に日付時刻が記されたフォルダがあり、該当するフォルダを開いて下さい。
python.log.txtにエラーの原因が記載されています。
AIに質問 / Issuesで質問する際もこれをもとに質問してください

切り抜き時にパソコンが重い

切り抜く動画の長さが長くなると重くなるので適宜長さを調整してください。

Aviutl2起動時にSAM3 ウィンドウが自動表示される

v0.0.8にアップデートしてください。

「透過」を選択したときにマスクがずれる

原因を調査中です。 現状としましては、「BB」ないし「GB」を選択し、標準機能であるクロマキーを用いて切り抜きを行ってください。

ライセンス

MIT ライセンス

About

[Aviutl2] SAM3動画切り抜きプラグイン(BB・GB素材作成プラグイン)

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors