

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
<a name="tutorial-gsplat-pipeline"></a>

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 ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/gsplat_pipeline) 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 ](https://github.com/playcanvas/supersplat)

Pipeline menjalankan satu tugas yang:

1. Mengekstrak bingkai video dengan alat [ pemrosesan video ](https://www.ffmpeg.org/) FFmpeg.

1. Memec Structure-from-Motion ahkan dengan [ COLMAP ](https://colmap.github.io/) dan [ GLOMAP](https://github.com/colmap/glomap), menyimpan model lubang jarum dan gambar yang tidak terdistorsi.

1. Melatih Gaussian Splatting dengan Ne [ RF Studio splatfacto](https://docs.nerf.studio/nerfology/methods/splat.html), [ Splatfacto in the Wild, atau contoh [ pustaka gsplat ](https://docs.gsplat.studio/main/examples/colmap.html) simple\_trainer.py](https://docs.nerf.studio/nerfology/methods/splatw.html), dan menyimpan output ke file yang Anda tentukan. `.ply`

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

[![AWS Videos](http://img.youtube.com/vi/VUZwa6IuNdg/0.jpg)](http://www.youtube.com/watch?v=VUZwa6IuNdg)


**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 Anda](#tutorial-gsplat-cost)Bagian ini menunjukkan cara meninjau biaya-biaya tersebut.

## Gambaran umum
<a name="tutorial-gsplat-overview"></a>

Untuk menyelesaikan tutorial ini, ikuti langkah-langkah berikut:

1. Lengkapi prasyarat.

1. Siapkan peternakan Anda.

1. Menangkap video subjek.

1. Kirim `gsplat_pipeline` kan pekerjaan.

1. Pantau pekerjaan.

1. Unduh dan lihat file Gaussian S `.ply` platting.

1. Pembersihan sumber daya 

## Prasyarat
<a name="tutorial-gsplat-prerequisites"></a>

Sebelum Anda mulai, selesaikan pengaturan berikut:

1. [Buat AWS akun ](https://aws.amazon.com/resources/create-account/) jika Anda belum memilikinya.

## Siapkan peternakan Anda
<a name="tutorial-gsplat-setup"></a>

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 ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/cloudformation/farm_templates/cuda_farm) CUDA untuk membuat farm Deadline Cloud yang memiliki armada GPU CUDA dan dapat membangun paket conda.

1. Ikuti [ petunjuk resep paket conda sampel ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/nerfstudio) NerF Studio untuk membangun paket [ conda ](https://docs.nerf.studio/) 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
<a name="tutorial-gsplat-capture"></a>

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
<a name="tutorial-gsplat-submit"></a>

**Untuk mengirimkan pekerjaan Gaussian Splatting**

1. Jika Anda tidak memiliki salinan lokal GitHub repositori [ deadline-cloud-sample](https://github.com/aws-deadline/deadline-cloud-samples), kloning atau [ unduh sebagai ZIP: ](https://github.com/aws-deadline/deadline-cloud-samples/archive/refs/heads/mainline.zip)

   ```
   git clone https://github.com/aws-deadline/deadline-cloud-samples.git
   cd deadline-cloud-samples/job_bundles
   ```

1. Dari `job_bundles` direktori, jalankan perintah berikut:

   ```
   deadline bundle gui-submit gsplat_pipeline
   ```

1. Beralih ke ** tab ** Job-specific pengaturan dan pilih jalur untuk File Video ** Input ** dan File ** Output Ply**.

1. 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`

1. 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
<a name="tutorial-gsplat-monitor"></a>

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
<a name="tutorial-gsplat-view"></a>

**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.

1. Untuk melihat hasilnya di browser Anda, buka [ situs web ](https://superspl.at/editor) SuperSplat Editor dan seret file dari browser file sistem operasi Anda ke SuperSplat halaman.

1. 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 ](https://github.com/playcanvas/supersplat/wiki) menjelaskan cara menggunakan editor, atau Anda dapat mengimpor `.ply` file Anda ke alat pilihan Anda.

## Memahami biaya pekerjaan pelatihan Anda
<a name="tutorial-gsplat-cost"></a>

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
<a name="tutorial-gsplat-cleanup"></a>

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.

1. 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
<a name="tutorial-gsplat-next-steps"></a>

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 ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/gsplat_pipeline#this-sample-is-a-starting-point) bekerja melalui arahan berikut secara rinci:
+ Jalankan pekerjaan di mana saja dengan [ Open Job Description CLI](https://github.com/OpenJobDescription/openjd-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 ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/job_dev_progression) 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 terkait
<a name="tutorial-gsplat-related"></a>

Sumber daya berikut memberikan informasi tambahan:
+ [Contoh kode sumber pada GitHub ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/gsplat_pipeline)
+ [CloudFormation Templat pertanian CUDA ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/cloudformation/farm_templates/cuda_farm)
+ [Resep paket conda NerF Studio ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/conda_recipes/nerfstudio)
+ [Posting blog 3D Gaussian Splatting ](https://aws.amazon.com/blogs/spatial/3d-gaussian-splatting-performant-3d-scene-reconstruction-at-scale/)
+ [Buka templat Deskripsi Pekerjaan (OpenJD) untuk Deadline Cloud](build-job-bundle.md)