Thanks for your reply and we are glad to see that our response can address most of your raised concerns. We would like to futher clarify the below issues.
### R3W1: Insufficient Dataset Contribution.
**R:** (1) The dataset contribution is one **part of** our **3rd contribution** and we still have **other technical contributions**.
(2) Note that our dataset is necessary as we are handling a **new task** (handling NeRF in low-light scenes with camera motions). To construct this dataset, it took us more than 3 full weeks to select images and tune the camera pose parameters. Note that the colmap-free method [A] does not handle our task well as it is **very difficult** to optimize the camera pose directly in **low-light blurry** scenes.
(3) We can **revise** our third contribution to **emphasize more** on the experimental evaluations and state-of-the-art results of our model. However, we **do need this dataset** for evaluation and we did put efforts into constructing this dataset.
[A] NeRF--: Neural radiance fields without known camera parameters, arXiv:2102.07064, 2021.
### R3W4: Relation between CTP module and DP-NeRF.
**R:** Thansk for your suggestion. The Rigid Blurring Kernel (RBK) module in DP-NeRF[19] models the scene blur kernel by simulating the 3D camera motions via the following two main parts:
**Ray Rigid Transformation (RRT):** The RRT models the blurring process of an image. It is formulated as ray transformation derived from the deformation of rigid camera motion, which is defined as the dense SE(3) field for scene $s$ and modeled by the MLPs as:
$S_s = (r_s;v_s) = (\mathcal{R}(\mathcal{E}(l_s);\mathcal{L}(\mathcal{E}(l_s))), where \ s \in view_{img},$
where $l_s$ is the latent code for each view through the embedding layer in [B], $\mathcal{R}, \mathcal{L}, \mathcal{E}$ are three MLP networks, $view_{img}$ is the training view set. The $S_s = (r_s;v_s) \in \mathbb{R}^6$ is the matrix which will be used for the RRT modeling as follows:
$ray_{s;q}^{RRT} = Rigid-Transform(ray_s, (r_s;v_s)),$
where $Rigid-Transform()$ function is the standard 3D rigid transformation operation, $ray_s$ and $ray_{s;q}^{RRT}$ are the orgin ray and the transformed rays in scene $s$, $q \in \\{1,...,k \\}$, $k$ is a hyper-parameter that controls the number of camera motions contributing to the blur in each scene $s$. The blurry RGB value at $ray_s$ can be acquired by weighting sums of the NeRF volume rendering values $C_{s;0}$ and $C_{s;q}$ from $ray_s$ and $ray_{s;q}^{RRT}$.
**Coarse Composition Weights:** The Coarse Composition Weights are computed for each ray obtained by the RRT:
$m_{s;0,1,...,k} = \sigma(\mathcal{W}(\mathcal{E}(l_s))), where \ \sum_{i=0}^{k}m_{s;i} = 1,$
where $m_s$ is the final weight for each ray in RRT. Finally, blurry color $\mathnormal{C}_s$ for scene $s$ can be computed by the weighted sum operation as shown below:
$C_s = m_{s;0}C_{s;0} + \sum_{q=1}^{k}m_{s;q}C_{s;q}.$
**We will add these information to the revision.**
[B] Optimizing the latent space of generative networks, arXiv:1707.05776, 2017.
### R3Q1: Why is the noise modeled with a NeRF? Why not optimize ...
**R:** We agree with the reviewer that the $(x,y,N)$-based formulation is another possbile implementation of modeling noise comparing to our current one (the rendering results of both **do not differ much**). Note that this **does not affect our goal** of decomposing the scene and noise information.
Regarding the ray midpoint, we **uniformly sample (instead of random sampling in S-NeRF)** between the near and far fields (calculated by COLMAP) of the ray, and select the coordinates $P_{mid}$ of the intermediate sampling point, along with the view direction $d$, as the input of N-NeRF. Since the **bounds of the ray do not change** during the training phase, the midpoints for each ray (one-to-one map with pixels) is same.
We will incorporate all these information into our revision.