diff --git a/.gitmodules b/.gitmodules
index 2a78943..c401087 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -4,6 +4,9 @@
[submodule "submodules/diff-gaussian-rasterization"]
path = submodules/diff-gaussian-rasterization
url = https://github.com/graphdeco-inria/diff-gaussian-rasterization
+[submodule "submodules/depth-diff-gaussian-rasterization"]
+ path = submodules/depth-diff-gaussian-rasterization
+ url = https://github.com/ingra14m/depth-diff-gaussian-rasterization
[submodule "SIBR_viewers"]
path = SIBR_viewers
url = https://gitlab.inria.fr/sibr/sibr_core
diff --git a/4DGaussians.ipynb b/4DGaussians.ipynb
new file mode 100644
index 0000000..a6bbc44
--- /dev/null
+++ b/4DGaussians.ipynb
@@ -0,0 +1,585 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "id": "VjYy0F2gZIPR",
+ "outputId": "129c4176-455a-42b0-e06a-b30ef7792aea",
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ }
+ },
+ "outputs": [
+ {
+ "metadata": {
+ "tags": null
+ },
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "/content\n",
+ "fatal: destination path '4DGaussians' already exists and is not an empty directory.\n",
+ "/content/4DGaussians\n",
+ "Submodule 'submodules/depth-diff-gaussian-rasterization' (https://github.com/ingra14m/depth-diff-gaussian-rasterization) registered for path 'submodules/depth-diff-gaussian-rasterization'\n",
+ "Submodule 'submodules/simple-knn' (https://gitlab.inria.fr/bkerbl/simple-knn.git) registered for path 'submodules/simple-knn'\n",
+ "Cloning into '/content/4DGaussians/submodules/depth-diff-gaussian-rasterization'...\n",
+ "Cloning into '/content/4DGaussians/submodules/simple-knn'...\n",
+ "Submodule path 'submodules/depth-diff-gaussian-rasterization': checked out 'f2d8fa9921ea9a6cb9ac1c33a34ebd1b11510657'\n",
+ "Submodule 'third_party/glm' (https://github.com/g-truc/glm.git) registered for path 'submodules/depth-diff-gaussian-rasterization/third_party/glm'\n",
+ "Cloning into '/content/4DGaussians/submodules/depth-diff-gaussian-rasterization/third_party/glm'...\n",
+ "Submodule path 'submodules/depth-diff-gaussian-rasterization/third_party/glm': checked out '5c46b9c07008ae65cb81ab79cd677ecc1934b903'\n",
+ "Submodule path 'submodules/simple-knn': checked out '44f764299fa305faf6ec5ebd99939e0508331503'\n",
+ "/bin/bash: line 1: conda: command not found\n",
+ "/bin/bash: line 1: conda: command not found\n",
+ "Collecting torch==1.13.1 (from -r requirements.txt (line 1))\n",
+ " Downloading torch-1.13.1-cp310-cp310-manylinux1_x86_64.whl (887.5 MB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m887.5/887.5 MB\u001b[0m \u001b[31m2.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+ "\u001b[?25hCollecting torchvision==0.14.1 (from -r requirements.txt (line 2))\n",
+ " Downloading torchvision-0.14.1-cp310-cp310-manylinux1_x86_64.whl (24.2 MB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24.2/24.2 MB\u001b[0m \u001b[31m71.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+ "\u001b[?25hCollecting torchaudio==0.13.1 (from -r requirements.txt (line 3))\n",
+ " Downloading torchaudio-0.13.1-cp310-cp310-manylinux1_x86_64.whl (4.2 MB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m105.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+ "\u001b[?25hCollecting mmcv==1.6.0 (from -r requirements.txt (line 4))\n",
+ " Downloading mmcv-1.6.0.tar.gz (554 kB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m554.9/554.9 kB\u001b[0m \u001b[31m50.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+ "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
+ "Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 5)) (3.7.1)\n",
+ "Collecting argparse (from -r requirements.txt (line 6))\n",
+ " Downloading argparse-1.4.0-py2.py3-none-any.whl (23 kB)\n",
+ "Collecting lpips (from -r requirements.txt (line 7))\n",
+ " Downloading lpips-0.1.4-py3-none-any.whl (53 kB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m53.8/53.8 kB\u001b[0m \u001b[31m7.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+ "\u001b[?25hCollecting plyfile (from -r requirements.txt (line 8))\n",
+ " Downloading plyfile-1.0.1-py3-none-any.whl (23 kB)\n",
+ "Requirement already satisfied: imageio-ffmpeg in /usr/local/lib/python3.10/dist-packages (from -r requirements.txt (line 9)) (0.4.9)\n",
+ "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.10/dist-packages (from torch==1.13.1->-r requirements.txt (line 1)) (4.5.0)\n",
+ "Collecting nvidia-cuda-runtime-cu11==11.7.99 (from torch==1.13.1->-r requirements.txt (line 1))\n",
+ " Downloading nvidia_cuda_runtime_cu11-11.7.99-py3-none-manylinux1_x86_64.whl (849 kB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m849.3/849.3 kB\u001b[0m \u001b[31m56.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+ "\u001b[?25hCollecting nvidia-cudnn-cu11==8.5.0.96 (from torch==1.13.1->-r requirements.txt (line 1))\n",
+ " Downloading nvidia_cudnn_cu11-8.5.0.96-2-py3-none-manylinux1_x86_64.whl (557.1 MB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m557.1/557.1 MB\u001b[0m \u001b[31m3.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+ "\u001b[?25hCollecting nvidia-cublas-cu11==11.10.3.66 (from torch==1.13.1->-r requirements.txt (line 1))\n",
+ " Downloading nvidia_cublas_cu11-11.10.3.66-py3-none-manylinux1_x86_64.whl (317.1 MB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m317.1/317.1 MB\u001b[0m \u001b[31m2.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+ "\u001b[?25hCollecting nvidia-cuda-nvrtc-cu11==11.7.99 (from torch==1.13.1->-r requirements.txt (line 1))\n",
+ " Downloading nvidia_cuda_nvrtc_cu11-11.7.99-2-py3-none-manylinux1_x86_64.whl (21.0 MB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m21.0/21.0 MB\u001b[0m \u001b[31m75.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+ "\u001b[?25hRequirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from torchvision==0.14.1->-r requirements.txt (line 2)) (1.23.5)\n",
+ "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from torchvision==0.14.1->-r requirements.txt (line 2)) (2.31.0)\n",
+ "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.10/dist-packages (from torchvision==0.14.1->-r requirements.txt (line 2)) (9.4.0)\n",
+ "Collecting addict (from mmcv==1.6.0->-r requirements.txt (line 4))\n",
+ " Downloading addict-2.4.0-py3-none-any.whl (3.8 kB)\n",
+ "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from mmcv==1.6.0->-r requirements.txt (line 4)) (23.2)\n",
+ "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from mmcv==1.6.0->-r requirements.txt (line 4)) (6.0.1)\n",
+ "Collecting yapf (from mmcv==1.6.0->-r requirements.txt (line 4))\n",
+ " Downloading yapf-0.40.2-py3-none-any.whl (254 kB)\n",
+ "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m254.7/254.7 kB\u001b[0m \u001b[31m30.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
+ "\u001b[?25hRequirement already satisfied: setuptools in /usr/local/lib/python3.10/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch==1.13.1->-r requirements.txt (line 1)) (67.7.2)\n",
+ "Requirement already satisfied: wheel in /usr/local/lib/python3.10/dist-packages (from nvidia-cublas-cu11==11.10.3.66->torch==1.13.1->-r requirements.txt (line 1)) (0.41.2)\n",
+ "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->-r requirements.txt (line 5)) (1.1.1)\n",
+ "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->-r requirements.txt (line 5)) (0.12.1)\n",
+ "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->-r requirements.txt (line 5)) (4.43.1)\n",
+ "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->-r requirements.txt (line 5)) (1.4.5)\n",
+ "Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->-r requirements.txt (line 5)) (3.1.1)\n",
+ "Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.10/dist-packages (from matplotlib->-r requirements.txt (line 5)) (2.8.2)\n",
+ "Requirement already satisfied: scipy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from lpips->-r requirements.txt (line 7)) (1.11.3)\n",
+ "Requirement already satisfied: tqdm>=4.28.1 in /usr/local/lib/python3.10/dist-packages (from lpips->-r requirements.txt (line 7)) (4.66.1)\n",
+ "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-packages (from python-dateutil>=2.7->matplotlib->-r requirements.txt (line 5)) (1.16.0)\n",
+ "Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->torchvision==0.14.1->-r requirements.txt (line 2)) (3.3.0)\n",
+ "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->torchvision==0.14.1->-r requirements.txt (line 2)) (3.4)\n",
+ "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->torchvision==0.14.1->-r requirements.txt (line 2)) (2.0.6)\n",
+ "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->torchvision==0.14.1->-r requirements.txt (line 2)) (2023.7.22)\n",
+ "Requirement already satisfied: importlib-metadata>=6.6.0 in /usr/local/lib/python3.10/dist-packages (from yapf->mmcv==1.6.0->-r requirements.txt (line 4)) (6.8.0)\n",
+ "Requirement already satisfied: platformdirs>=3.5.1 in /usr/local/lib/python3.10/dist-packages (from yapf->mmcv==1.6.0->-r requirements.txt (line 4)) (3.11.0)\n",
+ "Requirement already satisfied: tomli>=2.0.1 in /usr/local/lib/python3.10/dist-packages (from yapf->mmcv==1.6.0->-r requirements.txt (line 4)) (2.0.1)\n",
+ "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.10/dist-packages (from importlib-metadata>=6.6.0->yapf->mmcv==1.6.0->-r requirements.txt (line 4)) (3.17.0)\n",
+ "Building wheels for collected packages: mmcv\n",
+ " Building wheel for mmcv (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
+ " Created wheel for mmcv: filename=mmcv-1.6.0-py2.py3-none-any.whl size=847986 sha256=4aa22bff8e71e96eb0c412dea29087e675ea7ff37a484c5be7ca685662aa958c\n",
+ " Stored in directory: /root/.cache/pip/wheels/02/e2/7c/97f72e34ee40d71cdd28b94c9fdfec7bcc453651ad6e65c96d\n",
+ "Successfully built mmcv\n",
+ "Installing collected packages: argparse, addict, plyfile, nvidia-cuda-runtime-cu11, nvidia-cuda-nvrtc-cu11, nvidia-cublas-cu11, yapf, nvidia-cudnn-cu11, torch, mmcv, torchvision, torchaudio, lpips\n",
+ " Attempting uninstall: torch\n",
+ " Found existing installation: torch 2.0.1+cu118\n",
+ " Uninstalling torch-2.0.1+cu118:\n",
+ " Successfully uninstalled torch-2.0.1+cu118\n",
+ " Attempting uninstall: torchvision\n",
+ " Found existing installation: torchvision 0.15.2+cu118\n",
+ " Uninstalling torchvision-0.15.2+cu118:\n",
+ " Successfully uninstalled torchvision-0.15.2+cu118\n",
+ " Attempting uninstall: torchaudio\n",
+ " Found existing installation: torchaudio 2.0.2+cu118\n",
+ " Uninstalling torchaudio-2.0.2+cu118:\n",
+ " Successfully uninstalled torchaudio-2.0.2+cu118\n",
+ "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
+ "torchdata 0.6.1 requires torch==2.0.1, but you have torch 1.13.1 which is incompatible.\n",
+ "torchtext 0.15.2 requires torch==2.0.1, but you have torch 1.13.1 which is incompatible.\u001b[0m\u001b[31m\n",
+ "\u001b[0mSuccessfully installed addict-2.4.0 argparse-1.4.0 lpips-0.1.4 mmcv-1.6.0 nvidia-cublas-cu11-11.10.3.66 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-8.5.0.96 plyfile-1.0.1 torch-1.13.1 torchaudio-0.13.1 torchvision-0.14.1 yapf-0.40.2\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.colab-display-data+json": {
+ "pip_warning": {
+ "packages": [
+ "argparse"
+ ]
+ }
+ }
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Obtaining file:///content/4DGaussians/submodules/depth-diff-gaussian-rasterization\n",
+ " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
+ "Installing collected packages: diff-gaussian-rasterization\n",
+ " Running setup.py develop for diff-gaussian-rasterization\n",
+ "Successfully installed diff-gaussian-rasterization-0.0.0\n",
+ "Obtaining file:///content/4DGaussians/submodules/simple-knn\n",
+ " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
+ "Installing collected packages: simple-knn\n",
+ " Running setup.py develop for simple-knn\n",
+ "Successfully installed simple-knn-0.0.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "%cd /content\n",
+ "!git clone https://github.com/hustvl/4DGaussians\n",
+ "%cd 4DGaussians\n",
+ "!git submodule update --init --recursive\n",
+ "\n",
+ "!pip install -r requirements.txt\n",
+ "!pip install -e submodules/depth-diff-gaussian-rasterization\n",
+ "!pip install -e submodules/simple-knn\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "!mkdir /content/test\n",
+ "%cd /content/test\n",
+ "!wget https://huggingface.co/camenduru/4DGaussians/resolve/main/data/data.zip\n",
+ "!unzip data.zip"
+ ],
+ "metadata": {
+ "id": "wpqmK97Koq36"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [],
+ "metadata": {
+ "id": "IBB-voY0oqpy"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "id": "8hk10A8Al7_V",
+ "outputId": "e6df1ec7-fe5c-4b08-bee5-bcf077759c2a",
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ }
+ },
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "/content/4DGaussians\n",
+ "Optimizing \n",
+ "Output folder: ./output/dnerf/bouncingballs [18/10 12:15:58]\n",
+ "2023-10-18 12:15:59.094660: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n",
+ "To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n",
+ "2023-10-18 12:16:00.723098: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT\n",
+ "feature_dim: 128 [18/10 12:16:03]\n",
+ "Found transforms_train.json file, assuming Blender data set! [18/10 12:16:03]\n",
+ "Reading Training Transforms [18/10 12:16:03]\n",
+ "Reading Test Transforms [18/10 12:16:16]\n",
+ "Generating Video Transforms [18/10 12:16:18]\n",
+ "Generating random point cloud (2000)... [18/10 12:16:19]\n",
+ "Loading Training Cameras [18/10 12:16:19]\n",
+ "Loading Test Cameras [18/10 12:16:19]\n",
+ "Loading Video Cameras [18/10 12:16:19]\n",
+ "Voxel Plane: set aabb= Parameter containing:\n",
+ "tensor([[ 1.2998, 1.2999, 1.2999],\n",
+ " [-1.2998, -1.2998, -1.2987]], requires_grad=True) [18/10 12:16:20]\n",
+ "Number of points at initialisation : 2000 [18/10 12:16:24]\n",
+ "Training progress: 0% 0/3000 [00:00, ?it/s]Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off] [18/10 12:16:24]\n",
+ "Downloading: \"https://download.pytorch.org/models/alexnet-owt-7be5be79.pth\" to /root/.cache/torch/hub/checkpoints/alexnet-owt-7be5be79.pth\n",
+ "\n",
+ " 0% 0.00/233M [00:00, ?B/s]\u001b[A\n",
+ " 3% 8.09M/233M [00:00<00:02, 84.9MB/s]\u001b[A\n",
+ " 10% 23.0M/233M [00:00<00:01, 127MB/s] \u001b[A\n",
+ " 23% 54.7M/233M [00:00<00:00, 221MB/s]\u001b[A\n",
+ " 36% 83.1M/233M [00:00<00:00, 251MB/s]\u001b[A\n",
+ " 46% 107M/233M [00:00<00:00, 231MB/s] \u001b[A\n",
+ " 57% 132M/233M [00:00<00:00, 242MB/s]\u001b[A\n",
+ " 68% 158M/233M [00:00<00:00, 250MB/s]\u001b[A\n",
+ " 80% 185M/233M [00:00<00:00, 262MB/s]\u001b[A\n",
+ "100% 233M/233M [00:01<00:00, 241MB/s]\n",
+ "Loading model from: /usr/local/lib/python3.10/dist-packages/lpips/weights/v0.1/alex.pth [18/10 12:16:26]\n",
+ "Training progress: 17% 500/3000 [00:22<01:21, 30.50it/s, Loss=0.0293588, psnr=22.72, point=2000]\n",
+ "[ITER 500] Evaluating test: L1 0.03289371422108482 PSNR 21.315539640538834 [18/10 12:16:49]\n",
+ "\n",
+ "[ITER 500] Evaluating train: L1 0.042692432180047035 PSNR 19.828696531407974 [18/10 12:16:50]\n",
+ "reset opacity [18/10 12:16:50]\n",
+ "Training progress: 33% 1000/3000 [00:44<01:22, 24.30it/s, Loss=0.0231845, psnr=21.27, point=3108]\n",
+ "[ITER 1000] Evaluating test: L1 0.02628705880659468 PSNR 21.702505616580737 [18/10 12:17:11]\n",
+ "\n",
+ "[ITER 1000] Evaluating train: L1 0.03691562473335687 PSNR 20.561191895428827 [18/10 12:17:13]\n",
+ "Training progress: 50% 1500/3000 [01:05<01:11, 20.97it/s, Loss=0.0207843, psnr=25.42, point=7718]\n",
+ "[ITER 1500] Evaluating test: L1 0.02419357346918653 PSNR 21.819040074067956 [18/10 12:17:32]\n",
+ "\n",
+ "[ITER 1500] Evaluating train: L1 0.03390577419058365 PSNR 20.735389709472656 [18/10 12:17:33]\n",
+ "Training progress: 67% 2000/3000 [01:25<00:40, 24.63it/s, Loss=0.0269778, psnr=17.78, point=11409]\n",
+ "[ITER 2000] Evaluating test: L1 0.024030927787808812 PSNR 21.883982994977167 [18/10 12:17:52]\n",
+ "\n",
+ "[ITER 2000] Evaluating train: L1 0.033870420254328674 PSNR 20.992827583761777 [18/10 12:17:53]\n",
+ "\n",
+ "[ITER 2000] Saving Gaussians [18/10 12:17:53]\n",
+ "Training progress: 83% 2500/3000 [01:46<00:13, 35.83it/s, Loss=0.0251006, psnr=17.91, point=14595]\n",
+ "[ITER 2500] Evaluating test: L1 0.022819621762370363 PSNR 21.854939965640796 [18/10 12:18:12]\n",
+ "\n",
+ "[ITER 2500] Evaluating train: L1 0.032913146978792024 PSNR 20.98833117765539 [18/10 12:18:13]\n",
+ "Training progress: 100% 3000/3000 [02:06<00:00, 35.66it/s, Loss=0.0184311, psnr=19.64, point=17436]\n",
+ "[ITER 3000] Evaluating test: L1 0.021785845569170573 PSNR 22.046124009525073 [18/10 12:18:32]\n",
+ "\n",
+ "[ITER 3000] Evaluating train: L1 0.032102140597999096 PSNR 20.985104953541477 [18/10 12:18:33]\n",
+ "\n",
+ "[ITER 3000] Saving Gaussians [18/10 12:18:33]\n",
+ "reset opacity [18/10 12:18:33]\n",
+ "Training progress: 100% 3000/3000 [02:09<00:00, 23.22it/s, Loss=0.0184311, psnr=19.64, point=17436]\n",
+ "Training progress: 0% 0/20000 [00:00, ?it/s]Setting up [LPIPS] perceptual loss: trunk [alex], v[0.1], spatial [off] [18/10 12:18:35]\n",
+ "Loading model from: /usr/local/lib/python3.10/dist-packages/lpips/weights/v0.1/alex.pth [18/10 12:18:35]\n",
+ "Training progress: 2% 500/20000 [00:38<25:33, 12.72it/s, Loss=0.0094448, psnr=27.35, point=17895]\n",
+ "[ITER 500] Evaluating test: L1 0.009282524012686574 PSNR 29.097346922930548 [18/10 12:19:15]\n",
+ "\n",
+ "[ITER 500] Evaluating train: L1 0.010759759173892876 PSNR 28.454158446368048 [18/10 12:19:17]\n",
+ "reset opacity [18/10 12:19:17]\n",
+ "Training progress: 5% 1000/20000 [01:17<26:32, 11.93it/s, Loss=0.0079862, psnr=28.01, point=18581]\n",
+ "[ITER 1000] Evaluating test: L1 0.007670877473976682 PSNR 30.087999568266028 [18/10 12:19:54]\n",
+ "\n",
+ "[ITER 1000] Evaluating train: L1 0.00795259847141364 PSNR 30.263615327722885 [18/10 12:19:55]\n",
+ "Training progress: 8% 1500/20000 [01:52<26:57, 11.44it/s, Loss=0.0053360, psnr=36.24, point=19801]\n",
+ "[ITER 1500] Evaluating test: L1 0.007201356813311577 PSNR 30.24399544210995 [18/10 12:20:28]\n",
+ "\n",
+ "[ITER 1500] Evaluating train: L1 0.008079059038530378 PSNR 29.928070965935202 [18/10 12:20:29]\n",
+ "Training progress: 10% 2000/20000 [02:27<27:27, 10.92it/s, Loss=0.0046025, psnr=31.91, point=21122]\n",
+ "[ITER 2000] Evaluating test: L1 0.0053621865261126965 PSNR 32.535747191485235 [18/10 12:21:04]\n",
+ "\n",
+ "[ITER 2000] Evaluating train: L1 0.0061909939326784185 PSNR 31.593194288365982 [18/10 12:21:05]\n",
+ "\n",
+ "[ITER 2000] Saving Gaussians [18/10 12:21:05]\n",
+ "Training progress: 12% 2500/20000 [03:04<21:54, 13.31it/s, Loss=0.0041578, psnr=35.14, point=22289]\n",
+ "[ITER 2500] Evaluating test: L1 0.0048581437919946275 PSNR 32.970312903909125 [18/10 12:21:40]\n",
+ "\n",
+ "[ITER 2500] Evaluating train: L1 0.00490456263479941 PSNR 33.57072886298685 [18/10 12:21:41]\n",
+ "Training progress: 15% 3000/20000 [03:40<19:10, 14.78it/s, Loss=0.0048178, psnr=30.44, point=23309]\n",
+ "[ITER 3000] Evaluating test: L1 0.0045357245047960215 PSNR 33.26883473115809 [18/10 12:22:16]\n",
+ "\n",
+ "[ITER 3000] Evaluating train: L1 0.004470993901657707 PSNR 33.78879479800953 [18/10 12:22:17]\n",
+ "\n",
+ "[ITER 3000] Saving Gaussians [18/10 12:22:17]\n",
+ "reset opacity [18/10 12:22:18]\n",
+ "Training progress: 18% 3500/20000 [04:17<16:31, 16.65it/s, Loss=0.0038691, psnr=37.74, point=24287]\n",
+ "[ITER 3500] Evaluating test: L1 0.004175359123002957 PSNR 34.040599149816174 [18/10 12:22:54]\n",
+ "\n",
+ "[ITER 3500] Evaluating train: L1 0.004593397463288377 PSNR 33.84662392560173 [18/10 12:22:55]\n",
+ "Training progress: 20% 4000/20000 [04:54<15:52, 16.81it/s, Loss=0.0030375, psnr=36.63, point=25380]\n",
+ "[ITER 4000] Evaluating test: L1 0.0038323545801069807 PSNR 34.73158320258646 [18/10 12:23:30]\n",
+ "\n",
+ "[ITER 4000] Evaluating train: L1 0.003796229837462306 PSNR 35.06873366411995 [18/10 12:23:31]\n",
+ "Training progress: 22% 4500/20000 [05:33<16:15, 15.89it/s, Loss=0.0031049, psnr=39.84, point=26291]\n",
+ "[ITER 4500] Evaluating test: L1 0.004020221230080899 PSNR 34.12317376978257 [18/10 12:24:09]\n",
+ "\n",
+ "[ITER 4500] Evaluating train: L1 0.0037510368069086004 PSNR 35.35118103027344 [18/10 12:24:10]\n",
+ "Training progress: 25% 5000/20000 [06:10<15:03, 16.60it/s, Loss=0.0026159, psnr=38.60, point=27157]\n",
+ "[ITER 5000] Evaluating test: L1 0.0034943154383012477 PSNR 35.320645949419806 [18/10 12:24:46]\n",
+ "\n",
+ "[ITER 5000] Evaluating train: L1 0.0029573873479795806 PSNR 37.309416378245636 [18/10 12:24:47]\n",
+ "Training progress: 28% 5500/20000 [06:47<14:24, 16.78it/s, Loss=0.0021671, psnr=37.94, point=28018]\n",
+ "[ITER 5500] Evaluating test: L1 0.0034261168775093906 PSNR 35.630519418155444 [18/10 12:25:23]\n",
+ "\n",
+ "[ITER 5500] Evaluating train: L1 0.0031126464360996206 PSNR 37.271436130299286 [18/10 12:25:24]\n",
+ "Training progress: 30% 6000/20000 [07:24<13:53, 16.80it/s, Loss=0.0023847, psnr=42.02, point=28836]\n",
+ "[ITER 6000] Evaluating test: L1 0.003208557965562624 PSNR 36.11713768454159 [18/10 12:26:01]\n",
+ "\n",
+ "[ITER 6000] Evaluating train: L1 0.0027447668013765533 PSNR 37.97009254904354 [18/10 12:26:02]\n",
+ "reset opacity [18/10 12:26:02]\n",
+ "Training progress: 32% 6500/20000 [08:03<18:30, 12.15it/s, Loss=0.0022719, psnr=39.56, point=29569]\n",
+ "[ITER 6500] Evaluating test: L1 0.0031567666378310498 PSNR 36.61334542667164 [18/10 12:26:40]\n",
+ "\n",
+ "[ITER 6500] Evaluating train: L1 0.0025403551853207104 PSNR 38.88953265021829 [18/10 12:26:41]\n",
+ "Training progress: 35% 7000/20000 [08:42<19:32, 11.09it/s, Loss=0.0022586, psnr=40.55, point=30208]\n",
+ "[ITER 7000] Evaluating test: L1 0.003054004450164297 PSNR 36.86542510986328 [18/10 12:27:18]\n",
+ "\n",
+ "[ITER 7000] Evaluating train: L1 0.0023618749041548546 PSNR 39.677162394804114 [18/10 12:27:19]\n",
+ "\n",
+ "[ITER 7000] Saving Gaussians [18/10 12:27:19]\n",
+ "Training progress: 38% 7500/20000 [09:20<14:14, 14.63it/s, Loss=0.0019817, psnr=42.44, point=30844]\n",
+ "[ITER 7500] Evaluating test: L1 0.002951400381896426 PSNR 37.06199399162741 [18/10 12:27:56]\n",
+ "\n",
+ "[ITER 7500] Evaluating train: L1 0.0022212145576143965 PSNR 39.99447945987477 [18/10 12:27:57]\n",
+ "Training progress: 40% 8000/20000 [09:58<12:51, 15.55it/s, Loss=0.0020356, psnr=44.16, point=31374]\n",
+ "[ITER 8000] Evaluating test: L1 0.002882901469574255 PSNR 37.26977247350356 [18/10 12:28:34]\n",
+ "\n",
+ "[ITER 8000] Evaluating train: L1 0.0021015912198516376 PSNR 40.504227357752185 [18/10 12:28:35]\n",
+ "\n",
+ "[ITER 8000] Saving Gaussians [18/10 12:28:35]\n",
+ "Training progress: 42% 8500/20000 [10:33<10:10, 18.84it/s, Loss=0.0019608, psnr=44.71, point=24470]\n",
+ "[ITER 8500] Evaluating test: L1 0.002908740206347669 PSNR 37.15876814898323 [18/10 12:29:09]\n",
+ "\n",
+ "[ITER 8500] Evaluating train: L1 0.0024008757489569045 PSNR 39.982252681956574 [18/10 12:29:10]\n",
+ "Training progress: 45% 9000/20000 [11:07<10:01, 18.29it/s, Loss=0.0019406, psnr=38.15, point=24968]\n",
+ "[ITER 9000] Evaluating test: L1 0.0027893552734680914 PSNR 37.548010657815375 [18/10 12:29:43]\n",
+ "\n",
+ "[ITER 9000] Evaluating train: L1 0.002034447025781607 PSNR 40.57379038193647 [18/10 12:29:44]\n",
+ "\n",
+ "[ITER 9000] Saving Gaussians [18/10 12:29:44]\n",
+ "reset opacity [18/10 12:29:45]\n",
+ "Training progress: 48% 9500/20000 [11:42<09:43, 17.99it/s, Loss=0.0018367, psnr=45.70, point=25301]\n",
+ "[ITER 9500] Evaluating test: L1 0.002798064488588887 PSNR 37.580643822165094 [18/10 12:30:18]\n",
+ "\n",
+ "[ITER 9500] Evaluating train: L1 0.0018392370068742072 PSNR 42.312099905575025 [18/10 12:30:19]\n",
+ "Training progress: 50% 10000/20000 [12:16<09:44, 17.10it/s, Loss=0.0017030, psnr=43.73, point=25718]\n",
+ "[ITER 10000] Evaluating test: L1 0.002735216458163717 PSNR 37.80438479255228 [18/10 12:30:52]\n",
+ "\n",
+ "[ITER 10000] Evaluating train: L1 0.0018079423016923316 PSNR 42.22233424467199 [18/10 12:30:53]\n",
+ "Training progress: 52% 10500/20000 [12:52<09:35, 16.51it/s, Loss=0.0017275, psnr=46.47, point=26017]\n",
+ "[ITER 10500] Evaluating test: L1 0.0027014906312722493 PSNR 37.80445570104262 [18/10 12:31:28]\n",
+ "\n",
+ "[ITER 10500] Evaluating train: L1 0.0017387345570194371 PSNR 42.328860338996435 [18/10 12:31:29]\n",
+ "Training progress: 55% 11000/20000 [13:27<09:29, 15.80it/s, Loss=0.0014403, psnr=47.44, point=26390]\n",
+ "[ITER 11000] Evaluating test: L1 0.0026626865557559274 PSNR 37.93535456937902 [18/10 12:32:03]\n",
+ "\n",
+ "[ITER 11000] Evaluating train: L1 0.0016114438664825523 PSNR 42.97215742223403 [18/10 12:32:04]\n",
+ "Training progress: 57% 11500/20000 [14:03<08:42, 16.26it/s, Loss=0.0015507, psnr=43.64, point=26688]\n",
+ "[ITER 11500] Evaluating test: L1 0.0026659999960376058 PSNR 38.01013250911937 [18/10 12:32:39]\n",
+ "\n",
+ "[ITER 11500] Evaluating train: L1 0.0015885166837559903 PSNR 43.43097552131204 [18/10 12:32:40]\n",
+ "Training progress: 60% 12000/20000 [14:39<07:43, 17.27it/s, Loss=0.0012203, psnr=43.22, point=27018]\n",
+ "[ITER 12000] Evaluating test: L1 0.002632023794028689 PSNR 38.01683381024529 [18/10 12:33:15]\n",
+ "\n",
+ "[ITER 12000] Evaluating train: L1 0.0015034284031785587 PSNR 43.954322814941406 [18/10 12:33:16]\n",
+ "reset opacity [18/10 12:33:16]\n",
+ "Training progress: 62% 12500/20000 [15:14<07:14, 17.26it/s, Loss=0.0014863, psnr=44.21, point=27187]\n",
+ "[ITER 12500] Evaluating test: L1 0.002675521872280275 PSNR 37.987121133243335 [18/10 12:33:51]\n",
+ "\n",
+ "[ITER 12500] Evaluating train: L1 0.0015443166142658274 PSNR 44.20912664076861 [18/10 12:33:51]\n",
+ "Training progress: 65% 13000/20000 [15:50<06:36, 17.65it/s, Loss=0.0014596, psnr=42.48, point=27346]\n",
+ "[ITER 13000] Evaluating test: L1 0.002643499585032901 PSNR 38.07360391055836 [18/10 12:34:26]\n",
+ "\n",
+ "[ITER 13000] Evaluating train: L1 0.0015044443323003018 PSNR 44.235115948845355 [18/10 12:34:27]\n",
+ "Training progress: 68% 13500/20000 [16:26<07:03, 15.36it/s, Loss=0.0014033, psnr=47.03, point=27546]\n",
+ "[ITER 13500] Evaluating test: L1 0.002636970452252118 PSNR 38.07138218599207 [18/10 12:35:03]\n",
+ "\n",
+ "[ITER 13500] Evaluating train: L1 0.0014004296595778536 PSNR 44.93161078060375 [18/10 12:35:04]\n",
+ "Training progress: 70% 14000/20000 [17:02<07:21, 13.60it/s, Loss=0.0013125, psnr=44.89, point=27756]\n",
+ "[ITER 14000] Evaluating test: L1 0.0026343300568816416 PSNR 38.09962463378906 [18/10 12:35:39]\n",
+ "\n",
+ "[ITER 14000] Evaluating train: L1 0.0013917168766698416 PSNR 45.037186566521136 [18/10 12:35:40]\n",
+ "\n",
+ "[ITER 14000] Saving Gaussians [18/10 12:35:40]\n",
+ "Training progress: 72% 14500/20000 [17:39<07:52, 11.64it/s, Loss=0.0014793, psnr=48.82, point=27969]\n",
+ "[ITER 14500] Evaluating test: L1 0.0026121085153563935 PSNR 38.17773639454561 [18/10 12:36:16]\n",
+ "\n",
+ "[ITER 14500] Evaluating train: L1 0.0013993438401752535 PSNR 45.12252426147461 [18/10 12:36:16]\n",
+ "Training progress: 75% 15000/20000 [18:15<05:38, 14.77it/s, Loss=0.0012198, psnr=44.46, point=28090]\n",
+ "[ITER 15000] Evaluating test: L1 0.0026121584027457762 PSNR 38.16346000222599 [18/10 12:36:51]\n",
+ "\n",
+ "[ITER 15000] Evaluating train: L1 0.0013996757676496224 PSNR 45.407531289493335 [18/10 12:36:52]\n",
+ "Training progress: 78% 15500/20000 [18:50<04:29, 16.68it/s, Loss=0.0012678, psnr=43.22, point=28090]\n",
+ "[ITER 15500] Evaluating test: L1 0.002572473734343315 PSNR 38.25604607077206 [18/10 12:37:26]\n",
+ "\n",
+ "[ITER 15500] Evaluating train: L1 0.0012877711902975159 PSNR 45.99841375911937 [18/10 12:37:27]\n",
+ "Training progress: 80% 16000/20000 [19:25<03:54, 17.06it/s, Loss=0.0013073, psnr=45.90, point=28090]\n",
+ "[ITER 16000] Evaluating test: L1 0.002580023041981108 PSNR 38.257411507999194 [18/10 12:38:01]\n",
+ "\n",
+ "[ITER 16000] Evaluating train: L1 0.001255324449362781 PSNR 46.2190372242647 [18/10 12:38:02]\n",
+ "Training progress: 82% 16500/20000 [20:00<03:18, 17.61it/s, Loss=0.0011351, psnr=43.90, point=28090]\n",
+ "[ITER 16500] Evaluating test: L1 0.0025938723359585684 PSNR 38.22130382762236 [18/10 12:38:36]\n",
+ "\n",
+ "[ITER 16500] Evaluating train: L1 0.0013141077600748224 PSNR 46.081020804012525 [18/10 12:38:37]\n",
+ "Training progress: 85% 17000/20000 [20:35<02:48, 17.81it/s, Loss=0.0012820, psnr=47.89, point=28090]\n",
+ "[ITER 17000] Evaluating test: L1 0.0025558721424792617 PSNR 38.321165421429804 [18/10 12:39:11]\n",
+ "\n",
+ "[ITER 17000] Evaluating train: L1 0.0013066162731881965 PSNR 46.09962799969841 [18/10 12:39:12]\n",
+ "Training progress: 88% 17500/20000 [21:10<02:19, 17.97it/s, Loss=0.0013061, psnr=49.47, point=28090]\n",
+ "[ITER 17500] Evaluating test: L1 0.002584036309545969 PSNR 38.29386655022116 [18/10 12:39:46]\n",
+ "\n",
+ "[ITER 17500] Evaluating train: L1 0.0012900612988125753 PSNR 46.411755954518036 [18/10 12:39:47]\n",
+ "Training progress: 90% 18000/20000 [21:44<01:52, 17.85it/s, Loss=0.0012141, psnr=47.12, point=28090]\n",
+ "[ITER 18000] Evaluating test: L1 0.0025839185931117218 PSNR 38.271065431482654 [18/10 12:40:20]\n",
+ "\n",
+ "[ITER 18000] Evaluating train: L1 0.0012591813095187878 PSNR 46.53801300946404 [18/10 12:40:21]\n",
+ "Training progress: 92% 18500/20000 [22:18<01:23, 17.90it/s, Loss=0.0012329, psnr=43.69, point=28090]\n",
+ "[ITER 18500] Evaluating test: L1 0.0025499572717201185 PSNR 38.25597471349379 [18/10 12:40:54]\n",
+ "\n",
+ "[ITER 18500] Evaluating train: L1 0.001257107250721139 PSNR 46.56728834264418 [18/10 12:40:56]\n",
+ "Training progress: 95% 19000/20000 [22:52<00:58, 17.01it/s, Loss=0.0010787, psnr=44.04, point=28090]\n",
+ "[ITER 19000] Evaluating test: L1 0.002554826876696418 PSNR 38.317366431741156 [18/10 12:41:29]\n",
+ "\n",
+ "[ITER 19000] Evaluating train: L1 0.001252242867314421 PSNR 46.75315206191119 [18/10 12:41:30]\n",
+ "Training progress: 98% 19500/20000 [23:27<00:35, 14.07it/s, Loss=0.0010570, psnr=45.20, point=28090]\n",
+ "[ITER 19500] Evaluating test: L1 0.002561302129727076 PSNR 38.29808044433594 [18/10 12:42:04]\n",
+ "\n",
+ "[ITER 19500] Evaluating train: L1 0.0012227956698659588 PSNR 46.8690497454475 [18/10 12:42:05]\n",
+ "Training progress: 100% 20000/20000 [24:02<00:00, 13.86it/s, Loss=0.0012103, psnr=47.98, point=28090]\n",
+ "\n",
+ "[ITER 20000] Evaluating test: L1 0.002560187322909341 PSNR 38.32729653751149 [18/10 12:42:39]\n",
+ "\n",
+ "[ITER 20000] Evaluating train: L1 0.001223050821435583 PSNR 46.967015210319964 [18/10 12:42:40]\n",
+ "\n",
+ "[ITER 20000] Saving Gaussians [18/10 12:42:40]\n",
+ "\n",
+ "Training complete. [18/10 12:42:42]\n"
+ ]
+ }
+ ],
+ "source": [
+ "%cd /content/4DGaussians\n",
+ "!python train.py -s /content/test/data/bouncingballs --port 6017 --expname \"dnerf/bouncingballs\" --configs arguments/dnerf/bouncingballs.py"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "id": "RTBK98DNl7_W",
+ "outputId": "aabf7f5d-6189-4bd0-f81d-a4dc9d7c2acb",
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ }
+ },
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "/content/4DGaussians\n",
+ "Looking for config file in output/dnerf/bouncingballs/cfg_args\n",
+ "Config file found: output/dnerf/bouncingballs/cfg_args\n",
+ "Rendering output/dnerf/bouncingballs/\n",
+ "feature_dim: 128 [18/10 12:42:48]\n",
+ "Loading trained model at iteration 20000 [18/10 12:42:48]\n",
+ "Found transforms_train.json file, assuming Blender data set! [18/10 12:42:48]\n",
+ "Reading Training Transforms [18/10 12:42:48]\n",
+ "Reading Test Transforms [18/10 12:43:00]\n",
+ "Generating Video Transforms [18/10 12:43:02]\n",
+ "Generating random point cloud (2000)... [18/10 12:43:02]\n",
+ "Loading Training Cameras [18/10 12:43:02]\n",
+ "Loading Test Cameras [18/10 12:43:02]\n",
+ "Loading Video Cameras [18/10 12:43:02]\n",
+ "Voxel Plane: set aabb= Parameter containing:\n",
+ "tensor([[ 1.2998, 1.2999, 1.2999],\n",
+ " [-1.2998, -1.2998, -1.2987]], requires_grad=True) [18/10 12:43:03]\n",
+ "loading model from existsoutput/dnerf/bouncingballs/point_cloud/iteration_20000 [18/10 12:43:05]\n",
+ "Rendering progress: 100% 20/20 [00:01<00:00, 12.51it/s]\n",
+ "FPS: 11.988245192586138 [18/10 12:43:07]\n",
+ "writing training images. [18/10 12:43:07]\n",
+ "100% 20/20 [00:01<00:00, 15.48it/s]\n",
+ "writing rendering images. [18/10 12:43:09]\n",
+ "100% 20/20 [00:01<00:00, 13.67it/s]\n",
+ "Rendering progress: 100% 40/40 [00:00<00:00, 55.85it/s]\n",
+ "FPS: 54.44600711288924 [18/10 12:43:12]\n",
+ "writing training images. [18/10 12:43:12]\n",
+ "writing rendering images. [18/10 12:43:12]\n",
+ "100% 40/40 [00:02<00:00, 13.61it/s]\n"
+ ]
+ }
+ ],
+ "source": [
+ "%cd /content/4DGaussians\n",
+ "!python render.py --model_path \"output/dnerf/bouncingballs/\" --skip_train --configs arguments/dnerf/bouncingballs.py"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "from IPython.display import HTML\n",
+ "from base64 import b64encode\n",
+ "def display_video(video_path):\n",
+ " mp4 = open(video_path,'rb').read()\n",
+ " data_url = \"data:video/mp4;base64,\" + b64encode(mp4).decode()\n",
+ " return HTML(\"\"\"\n",
+ " \n",
+ " \"\"\" % data_url)"
+ ],
+ "metadata": {
+ "id": "oLyN3bAw0KCI"
+ },
+ "execution_count": 3,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "save_dir = '/content/4DGaussians/output/dnerf/bouncingballs/video/ours_20000/video_rgb.mp4'\n",
+ "\n",
+ "import os\n",
+ "import glob\n",
+ "# video_path = glob.glob(os.path.join(save_dir, \"*-test.mp4\"))[0]\n",
+ "display_video(save_dir)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 1000
+ },
+ "id": "nCTKtptS0MrA",
+ "outputId": "ad2bdbac-ddeb-4d27-900c-24c96009bc44"
+ },
+ "execution_count": 6,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ " "
+ ]
+ },
+ "metadata": {},
+ "execution_count": 6
+ }
+ ]
+ }
+ ],
+ "metadata": {
+ "accelerator": "GPU",
+ "colab": {
+ "gpuType": "T4",
+ "provenance": []
+ },
+ "kernelspec": {
+ "display_name": "Python 3",
+ "name": "python3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 0
+}
\ No newline at end of file
diff --git a/LICENSE.md b/LICENSE.md
index c869e69..ef71f13 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -73,7 +73,7 @@ WITHOUT PRIOR AND EXPLICIT CONSENT OF LICENSORS. YOU MUST CONTACT INRIA FOR ANY
UNAUTHORIZED USE: stip-sophia.transfert@inria.fr . ANY SUCH ACTION WILL
CONSTITUTE A FORGERY. THIS *SOFTWARE* IS PROVIDED "AS IS" WITHOUT ANY WARRANTIES
OF ANY NATURE AND ANY EXPRESS OR IMPLIED WARRANTIES, WITH REGARDS TO COMMERCIAL
-USE, PROFESSIONNAL USE, LEGAL OR NOT, OR OTHER, OR COMMERCIALISATION OR
+USE, PROFESSIONAL USE, LEGAL OR NOT, OR OTHER, OR COMMERCIALISATION OR
ADAPTATION. UNLESS EXPLICITLY PROVIDED BY LAW, IN NO EVENT, SHALL INRIA OR THE
AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
diff --git a/README.md b/README.md
index 2533961..ac88ed3 100644
--- a/README.md
+++ b/README.md
@@ -158,4 +158,4 @@ Some insights about neural voxel grids and dynamic scenes reconstruction origina
year = {2022},
booktitle = {SIGGRAPH Asia 2022 Conference Papers}
}
-```
\ No newline at end of file
+```
diff --git a/requirements.txt b/requirements.txt
index 97f8041..8cf29b8 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,4 +7,4 @@ argparse
lpips
plyfile
pytorch_msssim
-open3d
\ No newline at end of file
+open3d
diff --git a/scene/dataset_readers.py b/scene/dataset_readers.py
index cf10622..718aac7 100644
--- a/scene/dataset_readers.py
+++ b/scene/dataset_readers.py
@@ -242,7 +242,7 @@ def generateCamerasFromTransforms(path, template_transformsfile, extension, maxt
im_data = np.array(image.convert("RGBA"))
image = PILtoTorch(image,(800,800))
break
- # format infomation
+ # format information
for idx, (time, poses) in enumerate(zip(render_times,render_poses)):
time = time/maxtime
matrix = np.linalg.inv(np.array(poses))
@@ -640,6 +640,10 @@ sceneLoadTypeCallbacks = {
"Blender" : readNerfSyntheticInfo,
"dynerf" : readdynerfInfo,
"nerfies": readHyperDataInfos, # NeRFies & HyperNeRF dataset proposed by [https://github.com/google/hypernerf/releases/tag/v0.1]
+<<<<<<< HEAD
"PanopticSports" : readPanopticSportsinfos
-}
\ No newline at end of file
+}
+=======
+}
+>>>>>>> 6433420eb1f0463278e6800c0c604398f9245208
diff --git a/submodules/simple-knn b/submodules/simple-knn
new file mode 160000
index 0000000..44f7642
--- /dev/null
+++ b/submodules/simple-knn
@@ -0,0 +1 @@
+Subproject commit 44f764299fa305faf6ec5ebd99939e0508331503