View a markdown version of this page

Latih 3D Gaussian Splatting dari video Anda sendiri - Awan Batas Waktu

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Latih 3D Gaussian Splatting dari video Anda sendiri

Tutorial ini memandu Anda melatih awan titik Gaussian Splatting 3D Anda sendiri dari video yang Anda tangkap. Anda mengirimkan bundel pekerjaan pipeline Gaussian Splatting GitHub ke farm Deadline Cloud Anda. Pekerjaan mengambil file video sebagai input dan menghasilkan file Gaussian Splatting .ply sebagai output. Saat pekerjaan selesai, Anda dapat melihat hasilnya di penampil Gaussian Splatting apa pun, seperti. SuperSplat

Pipeline menjalankan satu tugas yang:

  1. Mengekstrak bingkai video dengan alat pemrosesan video FFmpeg.

  2. Memec Structure-from-Motion ahkan dengan COLMAP dan GLOMAP, menyimpan model lubang jarum dan gambar yang tidak terdistorsi.

  3. Melatih Gaussian Splatting dengan Ne RF Studio splatfacto, Splatfacto in the Wild, atau contoh pustaka gsplat simple_trainer.py, dan menyimpan output ke file yang Anda tentukan. .ply

Video berikut menunjukkan alur kerja pipeline Gaussian Splatting di Deadline Cloud.

Perkiraan waktu: Beberapa jam, termasuk pengaturan pertanian. Tergantung pada input video dan pengaturan yang Anda pilih, pekerjaan itu sendiri dapat selesai dalam 10 menit atau memakan waktu berjam-jam.

Menjalankan tutorial ini dikenakan biaya untuk instance pekerja GPU yang memproses pekerjaan. Memahami biaya pekerjaan pelatihan AndaBagian ini menunjukkan cara meninjau biaya-biaya tersebut.

Gambaran umum

Untuk menyelesaikan tutorial ini, ikuti langkah-langkah berikut:

  1. Lengkapi prasyarat.

  2. Siapkan peternakan Anda.

  3. Menangkap video subjek.

  4. Kirim gsplat_pipeline kan pekerjaan.

  5. Pantau pekerjaan.

  6. Unduh dan lihat file Gaussian S .ply platting.

  7. Pembersihan sumber daya

Prasyarat

Sebelum Anda mulai, selesaikan pengaturan berikut:

  1. Buat AWS akun jika Anda belum memilikinya.

Siapkan peternakan Anda

Anda memerlukan farm Deadline Cloud dengan armada GPU CUDA untuk menjalankan pekerjaan Gaussian Splatting. Untuk mengaturnya, selesaikan langkah-langkah berikut:

  1. Ikuti petunjuk CloudFormation template sampel pertanian CUDA untuk membuat farm Deadline Cloud yang memiliki armada GPU CUDA dan dapat membangun paket conda.

  2. Ikuti petunjuk resep paket conda sampel NerF Studio untuk membangun paket conda NeRF Studio ke saluran Amazon S3 peternakan CUDA Anda.

catatan

Jika Anda hanya memerlukan pelatih default NERFSTUDIO (splatfacto), Anda tidak perlu menerapkan CloudFormation template pertanian CUDA atau membangun paket conda NeRF Studio kustom. Persyaratan minimum adalah farm Deadline Cloud dengan armada GPU, lingkungan antrian yang conda-forge disertakan dalam saluran conda, dan paket conda. ffmpeg colmap glomap nerfstudio cuda Opsi GSPLAT_SIMPLE_TRAINER dan NERFSTUDIO_SPLATFACTOW trainer bergantung pada perintah yang hanya tersedia dalam paket conda NeRF Studio yang dibuat khusus.

Menangkap video subjek

Anda dapat menggunakan kamera berkemampuan video seperti ponsel cerdas Anda untuk merekam video subjek untuk Gaussian Splatting Anda. Pertimbangkan tips berikut:

  • Gunakan bidang pandang yang luas, seperti tingkat zoom 0,5 di aplikasi kamera Anda. Dengan bidang pandang yang lebih luas, lebih banyak objek umum di antara pasangan gambar Structure-from-Motion untuk digunakan.

  • Matikan stabilisasi video. Mematikannya mempertahankan optik lensa yang identik di antara semua bingkai, dan dapat meningkatkan kualitas pemecahan.

  • Rencanakan gerakan kamera Anda tergantung pada subjek. Untuk menangkap objek, seperti bangku atau sepeda, mengorbit di sekitar subjek beberapa kali pada ketinggian dan jarak yang berbeda. Untuk menangkap interior ruangan, ikuti bagian luar ruangan dengan kamera menghadap ke dalam, dan ulangi pada ketinggian kamera yang berbeda. Untuk menangkap ruang yang kurang terstruktur seperti medan luar, pikirkan cara memasukkan semua yang Anda inginkan dalam Gaussian Splatting Anda, dan cara menangkap semuanya dari berbagai sudut yang berbeda.

  • Rekam video dengan gerakan lambat dan mantap.

  • Terus gerakkan kamera. Hindari berhenti dan menggeser dari satu lokasi.

Salin video yang Anda ambil dari kamera ke komputer Anda untuk dikirimkan ke peternakan.

Kirim pekerjaan gsplat_pipeline

Untuk mengirimkan pekerjaan Gaussian Splatting
  1. Jika Anda tidak memiliki salinan lokal GitHub repositori deadline-cloud-sample, kloning atau unduh sebagai ZIP:

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git cd deadline-cloud-samples/job_bundles
  2. Dari job_bundles direktori, jalankan perintah berikut:

    deadline bundle gui-submit gsplat_pipeline
  3. Beralih ke tab Job-specific pengaturan dan pilih jalur untuk File Video Input dan File Output Ply.

  4. Pilih Kirim, atau sesuaikan pengaturan terlebih dahulu. Jika video input memiliki kompleksitas yang lebih tinggi, Anda mungkin perlu meningkatkan nilai Perkiraan Jumlah Gambar.

Anda juga dapat memilih pelatih Gaussian Splatting mana yang akan digunakan dan menyesuaikan opsi CLI untuknya. Misalnya, untuk menggunakan pelatih rantai Monte Carlo Markov (MCMC) dengan opsi grid bilateral untuk menghasilkan hingga 2 juta splats, buat perubahan berikut:

  1. Ganti Gaussian Splatting Trainer dari ke. NERFSTUDIO GSPLAT_SIMPLE_TRAINER

  2. Ubah teks Opsi Pelatih Sederhana GSPlat dari --strategy.cap-max 1000000 --strategy.cap-max 2000000 untuk mendapatkan 2 juta splats, dan dari --no-use-bilateral-grid --use-bilateral-grid ke untuk mengaktifkan opsi grid bilateral.

catatan

Jika Anda memilih video input atau opsi yang memerlukan penggunaan memori lebih tinggi daripada yang disediakan armada CUDA, Anda perlu memperbarui pengaturan minimum armada. Re-deploy CloudFormation template Anda dengan nilai parameter yang diperbarui, atau edit pengaturan dari konsol Deadline Cloud.

Memantau tugas

Setelah mengirimkan pekerjaan, Anda dapat memantau statusnya dari tabel pekerjaan monitor Deadline Cloud. Tergantung pada video input dan pengaturan yang Anda pilih, pekerjaan mungkin selesai dalam 10 menit atau memakan waktu berjam-jam.

Saat pekerjaan sedang berjalan, buka menu konteks untuk tugas dan pilih Lihat log untuk membuka tampilan log. Saat pipeline melewati langkah-langkahnya, ia memperbarui pesan status yang terlihat dalam detail tugas yang dijalankan.

Jika Anda mengalami kesalahan, keluaran log dalam tampilan ini membantu Anda melacak penyebabnya. Penyebab umum termasuk kehabisan memori atau gagal menyelesaikan pose kamera. Pipeline dapat gagal selama salah satu langkah ini: ekstraksi bingkai FFmpeg, pem Structure-from-Motion ecahan GLOMAP, atau pelatihan NeRF Studio. Untuk mengatasi kesalahan, sesuaikan infrastruktur armada atau gunakan resolusi gambar atau jumlah gambar yang lebih rendah.

Unduh dan lihat Gaussian Splatting .ply

Untuk mengunduh dan melihat output
  1. Ketika pekerjaan selesai dengan sukses, buka menu konteks untuk tugas yang diselesaikan di tabel Tugas dari monitor Deadline Cloud dan pilih Download output. Tergantung pada pengaturan Anda, ini menunjukkan kemajuan unduhan atau menyajikan perintah CLI yang dapat Anda gunakan untuk mengunduh. Deadline Cloud menyimpan .ply file ke lokasi yang Anda pilih saat mengirimkan pekerjaan.

  2. Untuk melihat hasilnya di browser Anda, buka situs web SuperSplat Editor dan seret file dari browser file sistem operasi Anda ke SuperSplat halaman.

  3. Alihkan opsi Show/Hide Splats, lalu putar dan bergerak di sekitar pemandangan untuk menemukan subjek tangkapan Anda.

Dengan SuperSplat, Anda juga dapat mengedit Gaussian Splatting Anda. Misalnya, Anda dapat memilih bola, membalikkan pilihan, dan menghapus splats di luarnya untuk memotong pemandangan. SuperSplat Dokumentasi menjelaskan cara menggunakan editor, atau Anda dapat mengimpor .ply file Anda ke alat pilihan Anda.

Memahami biaya pekerjaan pelatihan Anda

Monitor Deadline Cloud menyertakan fitur penjelajah penggunaan yang memperkirakan biaya pekerjaan yang Anda jalankan, menunjukkan berapa biaya setiap pelatihan. Jika Anda merasa nyaman menjalankan pengujian selama jam di luar jam sibuk ketika CUDA-capable instans tersedia dengan tingkat interupsi yang cukup rendah, armada CUDA spot harganya lebih murah daripada armada sesuai permintaan. Penjelajah penggunaan tidak menampilkan biaya di luar waktu proses pekerjaan Anda, seperti waktu instans pekerja yang tidak aktif atau penyimpanan di bucket Amazon S3 Anda.

Bersihkan

Untuk menghindari biaya yang sedang berlangsung, bersihkan sumber daya yang Anda buat untuk tutorial ini:

Untuk membersihkan sumber daya tutorial
  1. Jika Anda menerapkan CloudFormation template pertanian CUDA, hapus tum CloudFormation pukan dari CloudFormation konsol.

  2. Jika Anda menggunakan farm yang ada dan membuat armada GPU khusus untuk tutorial ini, hentikan atau hapus armada itu. Jika Anda menggunakan armada bersama yang sudah ada sebelumnya, biarkan tetap di tempatnya.

Langkah selanjutnya

Anda dapat memisahkan, mengedit, dan mencampur ulang bundel gsplat_pipeline pekerjaan sesuai dengan kebutuhan Anda. Anda dapat menyesuaikan pipeline rekonstruksi 3D Anda sendiri, atau mengikuti pola yang sama untuk menjalankan beban kerja CUDA yang berbeda di farm CUDA Deadline Cloud Anda. Contoh README bekerja melalui arahan berikut secara rinci:

  • Jalankan pekerjaan di mana saja dengan Open Job Description CLI, seperti secara lokal atau di instans Amazon EC2, bukan di farm Anda.

  • Dekomposisi tugas tunggal pipeline menjadi beberapa langkah Deskripsi Pekerjaan Terbuka yang dihubungkan oleh dependensi, mengikuti pola dalam sampel Progresi Peng embangan Pekerjaan pada. GitHub Langkah-langkah terpisah dapat berjalan pada armada yang berbeda, seperti CPU-only armada untuk ekstraksi bingkai dan armada GPU untuk pelatihan.

  • Pisahkan pipa menjadi beberapa pekerjaan dengan struktur yang berbeda. Misalnya, satu pekerjaan untuk diselesaikan Structure-from-Motion sekali, dan pekerjaan kedua untuk secara berulang mencoba berbagai variasi parameter pelatihan Gaussian Splatting.

Sumber daya berikut memberikan informasi tambahan: