Repo นี้ประกอบด้วยการใช้งาน PyTorch อย่างเป็นทางการของ การสร้างเสียงเป็นวิดีโอที่หลากหลายและสอดคล้องกันผ่านการปรับเปลี่ยนโมเดลข้อความเป็นวิดีโอ
เราพิจารณางานสร้างวิดีโอที่หลากหลายและสมจริงโดยใช้ตัวอย่างเสียงธรรมชาติจากคลาสความหมายที่หลากหลาย สำหรับงานนี้ วิดีโอจะต้องสอดคล้องกับเสียงอินพุตทั้งแบบโกลบอลและชั่วคราว: ทั่วโลก เสียงอินพุตจะเชื่อมโยงเชิงความหมายกับวิดีโอเอาท์พุตทั้งหมด และชั่วคราว แต่ละส่วนของเสียงอินพุตจะเชื่อมโยงกับเซ็กเมนต์ที่สอดคล้องกันของ วิดีโอนั้น เราใช้โมเดลการสร้างวิดีโอแบบมีเงื่อนไขข้อความที่มีอยู่และโมเดลตัวเข้ารหัสเสียงที่ได้รับการฝึกอบรมล่วงหน้า วิธีการที่นำเสนอนั้นใช้เครือข่ายอะแดปเตอร์น้ำหนักเบา ซึ่งเรียนรู้ที่จะแมปการนำเสนอด้วยเสียงกับการนำเสนออินพุตที่คาดหวังโดยโมเดลการสร้างข้อความเป็นวิดีโอ ด้วยเหตุนี้ มันยังช่วยให้สามารถสร้างวิดีโอที่มีเงื่อนไขเกี่ยวกับข้อความ เสียง และเป็นครั้งแรกเท่าที่เราสามารถยืนยันได้ทั้งบนข้อความและเสียง เราตรวจสอบวิธีการของเราอย่างกว้างขวางในชุดข้อมูลสามชุดที่แสดงให้เห็นถึงความหลากหลายทางความหมายที่สำคัญของตัวอย่างเสียงและวิดีโอ และเสนอตัวชี้วัดการประเมินแบบใหม่ (AV-Align) เพื่อประเมินการจัดตำแหน่งของวิดีโอที่สร้างขึ้นกับตัวอย่างเสียงอินพุต AV-Align ขึ้นอยู่กับการตรวจจับและการเปรียบเทียบจุดสูงสุดของพลังงานในทั้งสองรูปแบบ เมื่อเปรียบเทียบกับแนวทางที่ล้ำสมัยล่าสุด วิธีการของเราจะสร้างวิดีโอที่สอดคล้องกับเสียงอินพุตได้ดีขึ้น ทั้งในด้านเนื้อหาและแกนเวลา นอกจากนี้เรายังแสดงให้เห็นว่าวิดีโอที่ผลิตโดยวิธีการของเรานำเสนอคุณภาพของภาพที่สูงขึ้นและมีความหลากหลายมากขึ้น
git clone [email protected]:guyyariv/TempoTokens.git cd TempoTokens pip install -r requirements.txt
และเริ่มต้นสภาพแวดล้อม Accelerate ด้วย:
accelerate config
ดาวน์โหลดโมเดล BEATs ที่ผ่านการฝึกอบรมล่วงหน้า
mkdir -p models/BEATs/ && wget -P models/BEATs/ -O "models/BEATs/BEATs_iter3_plus_AS2M_finetuned_on_AS2M_cpt2.pt" "https://valle.blob.core.windows.net/share/BEATs/BEATs_iter3_plus_AS2M_finetuned_on_AS2M_cpt2.pt?sv=2020-08-04&st=2023-03-01T07%3A51%3A05Z&se=2033-03-02T07%3A51%3A00Z&sr=c&sp=rl&sig=QJXmSJG9DbMKf48UDIU1MfzIro8HQOf3sqlNXiflY1I%3D"
ดำเนินการคำสั่งที่เกี่ยวข้องสำหรับแต่ละชุดข้อมูลที่เราฝึกอบรม รวมถึง VGGSound, Landscape และ AudioSet-Drum
accelerate launch train.py --config configs/v2/vggsound.yaml
accelerate launch train.py --config configs/v2/landscape.yaml
accelerate launch train.py --config configs/v2/audioset_drum.yaml
เราขอแนะนำอย่างยิ่งให้ตรวจสอบไฟล์การกำหนดค่าและปรับแต่งพารามิเตอร์ตามความต้องการของคุณ
รับน้ำหนักที่ฝึกอบรมล่วงหน้าสำหรับชุดข้อมูล 3 ชุดที่เราดำเนินการฝึกอบรมโดยไปที่ลิงก์ต่อไปนี้: https://drive.google.com/drive/folders/10pRWoq0m5torvMXILmIQd7j9fLPEeHtS เราขอแนะนำให้คุณบันทึกโฟลเดอร์ในไดเร็กทอรีชื่อ "models/. "
สคริปต์ inference.py
มีวัตถุประสงค์เพื่อสร้างวิดีโอโดยใช้จุดตรวจที่ได้รับการฝึกอบรม เมื่อคุณเสร็จสิ้นการฝึกโมเดลโดยใช้คำสั่งที่ให้มา (หรือเลือกใช้โมเดลที่ได้รับการฝึกล่วงหน้าของเรา) คุณสามารถสร้างวิดีโอจากชุดข้อมูลที่เราใช้สำหรับการฝึก เช่น VGGSound, Landscape และ AudioSet-Drum ได้อย่างง่ายดาย
accelerate launch inference.py --mapper_weights models/vggsound/learned_embeds.pth --testset vggsound
accelerate launch inference.py --mapper_weights models/landscape/learned_embeds.pth --testset landscape
accelerate launch inference.py --mapper_weights models/audioset_drum/learned_embeds.pth --testset audioset_drum
นอกจากนี้ คุณยังมีความสามารถในการสร้างวิดีโอจากเสียงของคุณเอง ดังที่แสดงด้านล่าง:
accelerate launch inference.py --mapper_weights models/vggsound/learned_embeds.pth --audio_path /audio/path
> python inference.py --help usage: inference.py [-h] -m MODEL -p PROMPT [-n NEGATIVE_PROMPT] [-o OUTPUT_DIR] [-B BATCH_SIZE] [-W WIDTH] [-H HEIGHT] [-T NUM_FRAMES] [-WS WINDOW_SIZE] [-VB VAE_BATCH_SIZE] [-s NUM_STEPS] [-g GUIDANCE_SCALE] [-i INIT_VIDEO] [-iw INIT_WEIGHT] [-f FPS] [-d DEVICE] [-x] [-S] [-lP LORA_PATH] [-lR LORA_RANK] [-rw] options: -h, --help show this help message and exit -m MODEL, --model MODEL HuggingFace repository or path to model checkpoint directory -p PROMPT, --prompt PROMPT Text prompt to condition on -n NEGATIVE_PROMPT, --negative-prompt NEGATIVE_PROMPT Text prompt to condition against -o OUTPUT_DIR, --output-dir OUTPUT_DIR Directory to save output video to -B BATCH_SIZE, --batch-size BATCH_SIZE Batch size for inference -W WIDTH, --width WIDTH Width of output video -H HEIGHT, --height HEIGHT Height of output video -T NUM_FRAMES, --num-frames NUM_FRAMES Total number of frames to generate -WS WINDOW_SIZE, --window-size WINDOW_SIZE Number of frames to process at once (defaults to full sequence). When less than num_frames, a round robin diffusion process is used to denoise the full sequence iteratively one window at a time. Must be divide num_frames exactly! -VB VAE_BATCH_SIZE, --vae-batch-size VAE_BATCH_SIZE Batch size for VAE encoding/decoding to/from latents (higher values = faster inference, but more memory usage). -s NUM_STEPS, --num-steps NUM_STEPS Number of diffusion steps to run per frame. -g GUIDANCE_SCALE, --guidance-scale GUIDANCE_SCALE Scale for guidance loss (higher values = more guidance, but possibly more artifacts). -i INIT_VIDEO, --init-video INIT_VIDEO Path to video to initialize diffusion from (will be resized to the specified num_frames, height, and width). -iw INIT_WEIGHT, --init-weight INIT_WEIGHT Strength of visual effect of init_video on the output (lower values adhere more closely to the text prompt, but have a less recognizable init_video). -f FPS, --fps FPS FPS of output video -d DEVICE, --device DEVICE Device to run inference on (defaults to cuda). -x, --xformers Use XFormers attnetion, a memory-efficient attention implementation (requires `pip install xformers`). -S, --sdp Use SDP attention, PyTorch's built-in memory-efficient attention implementation. -lP LORA_PATH, --lora_path LORA_PATH Path to Low Rank Adaptation checkpoint file (defaults to empty string, which uses no LoRA). -lR LORA_RANK, --lora_rank LORA_RANK Size of the LoRA checkpoint's projection matrix (defaults to 64). -rw, --remove-watermark Post-process the videos with LAMA to inpaint ModelScope's common watermarks.
โค้ดของเราสร้างขึ้นบางส่วนจากการปรับแต่งข้อความเป็นวิดีโอ
หากคุณใช้ผลงานของเราในการวิจัยของคุณ โปรดอ้างอิงเอกสารต่อไปนี้:
@misc{yariv2023diverse, title={Diverse and Aligned Audio-to-Video Generation via Text-to-Video Model Adaptation}, author={Guy Yariv and Itai Gat and Sagie Benaim and Lior Wolf and Idan Schwartz and Yossi Adi}, year={2023}, eprint={2309.16429}, archivePrefix={arXiv}, primaryClass={cs.LG} }
พื้นที่เก็บข้อมูลนี้เผยแพร่ภายใต้ใบอนุญาต MIT ตามที่พบในไฟล์ LICENSE