Update README.md
Browse files
README.md
CHANGED
|
@@ -1,3 +1,156 @@
|
|
| 1 |
-
---
|
| 2 |
-
license: cc-by-4.0
|
| 3 |
-
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: cc-by-4.0
|
| 3 |
+
---
|
| 4 |
+
|
| 5 |
+
# Charge: A Comprehensive Benchmark and Dataset for Dynamic Novel View Synthesis
|
| 6 |
+
|
| 7 |
+
This repository contains scripts for downloading [Charge](https://charge-benchmark.github.io/) dataset.
|
| 8 |
+
|
| 9 |
+
## Updates
|
| 10 |
+
|
| 11 |
+
- [ ] Full data release
|
| 12 |
+
- [x] [12/12/2024] Release of the first scene in the dataset.
|
| 13 |
+
|
| 14 |
+
## Download
|
| 15 |
+
|
| 16 |
+
The only dependency of download scripts is the Huggingface Hub client which can be installed as:
|
| 17 |
+
```
|
| 18 |
+
pip install huggingface-hub
|
| 19 |
+
```
|
| 20 |
+
|
| 21 |
+
You can manually download desired scene, task, and modalities via:
|
| 22 |
+
```
|
| 23 |
+
python downloader.py --output-dir $1 --scenes [list-of-scenes] --modalities [rgb depth mask segmentation normal flow_fw flow_bw] --tasks [Dense Sparse Mono]
|
| 24 |
+
```
|
| 25 |
+
E.g. to download RGB images and dynamic masks for scene 050_0130 in the task of Sparse reconstruction (in the local folder), use:
|
| 26 |
+
```
|
| 27 |
+
python downloader.py --output-dir $1 --scenes 050_0130 --modalities rgb mask --tasks Sparse
|
| 28 |
+
```
|
| 29 |
+
|
| 30 |
+
For convenience, we provide bash scripts to download all data, or RGB data per task:
|
| 31 |
+
- `download_all.sh`
|
| 32 |
+
- `download_rgb_dense.sh`
|
| 33 |
+
- `download_rgb_sparse.sh`
|
| 34 |
+
- `download_rgb_mono.sh`
|
| 35 |
+
|
| 36 |
+
Use them as following:
|
| 37 |
+
```
|
| 38 |
+
bash download_all.sh path-to-download-location
|
| 39 |
+
```
|
| 40 |
+
|
| 41 |
+
## Data structure
|
| 42 |
+
|
| 43 |
+
The data is structured as following:
|
| 44 |
+
```
|
| 45 |
+
Charge_v1_0
|
| 46 |
+
|-- 050_0130
|
| 47 |
+
|-- Dense
|
| 48 |
+
|-- Dense_00_00
|
| 49 |
+
|-- frame_0416.png
|
| 50 |
+
|-- frame_0416_depth.npy
|
| 51 |
+
|-- frame_0416_segmentation.png
|
| 52 |
+
|-- frame_0416_normal.png
|
| 53 |
+
|-- frame_0416_dyn_mask.png
|
| 54 |
+
|-- frame_0416_flow_fw.npy
|
| 55 |
+
|-- frame_0416_flow_bw.npy
|
| 56 |
+
| ...
|
| 57 |
+
| ...
|
| 58 |
+
|-- transforms_train.json
|
| 59 |
+
|-- transforms_test.json
|
| 60 |
+
|-- Sparse
|
| 61 |
+
| ...
|
| 62 |
+
|-- Mono
|
| 63 |
+
| ...
|
| 64 |
+
|-- segmentation.json
|
| 65 |
+
| ..
|
| 66 |
+
```
|
| 67 |
+
|
| 68 |
+
The modalities included are as following:
|
| 69 |
+
- `frame_XXXX.png` - RGB image (2048x858)
|
| 70 |
+
- `frame_XXXX_depth.npy` - metric depth
|
| 71 |
+
- `frame_XXXX_segmentation.png` - segmentation map encoded as uint16 image (objects dictionary included in `segmentation.json`)
|
| 72 |
+
- `frame_XXXX_normal.png` - normal map encoded as uint16 image
|
| 73 |
+
- `frame_XXXX_dyn_mask.png` - mask of dynamic content
|
| 74 |
+
- `frame_XXXX_flow_fw.npy` - optical flow (forward)
|
| 75 |
+
- `frame_XXXX_flow_bw.npy` - optical flow (backward)
|
| 76 |
+
|
| 77 |
+
We include the camera data in the `.json` files found in task directories. In Sparse setup we include 3 scenarios (corresponding to 3, 6, 9 input views). In Mono scenario we include 4 different camera trajectories. For each, for convenience we include 3 testing scenarios: `_lite` - only rig cameras (stereo cameras with different baseline, and orbital camera), `_med` - rig cameras + 4 central cameras from Dense setup (static cameras), `_full` - rig cameras + all Dense cameras. We also include splits for Stereo training and evaluation.
|
| 78 |
+
|
| 79 |
+
Each transforms `.json` contains a dictionary:
|
| 80 |
+
```
|
| 81 |
+
{
|
| 82 |
+
"CameraName": [ #List of camera parameters per frame
|
| 83 |
+
{
|
| 84 |
+
"fov" - field of view
|
| 85 |
+
"f" - focal length
|
| 86 |
+
"K" - intrinsics
|
| 87 |
+
"transformation_matrix" - extrinsics
|
| 88 |
+
"image_path" - corresponding image
|
| 89 |
+
},
|
| 90 |
+
{
|
| 91 |
+
# Camera data for second frame
|
| 92 |
+
},
|
| 93 |
+
...
|
| 94 |
+
],
|
| 95 |
+
"CameraName2": ...,
|
| 96 |
+
...
|
| 97 |
+
}
|
| 98 |
+
```
|
| 99 |
+
|
| 100 |
+
## Download size
|
| 101 |
+
|
| 102 |
+
The dataset is split into several repositories due to size. Below table summarises the size of data in GB. *-optical flow in one direction only (data include both forward and backward flow)
|
| 103 |
+
|
| 104 |
+
<table>
|
| 105 |
+
<tr>
|
| 106 |
+
<th colspan="2" style="text-align: center; width:12%"> Scene </th>
|
| 107 |
+
<th style="text-align: right; width:11%"> RGB </th>
|
| 108 |
+
<th style="text-align: right; width:11%"> Depth </th>
|
| 109 |
+
<th style="text-align: right; width:11%"> Segm </th>
|
| 110 |
+
<th style="text-align: right; width:11%"> Normal </th>
|
| 111 |
+
<th style="text-align: right; width:11%"> Mask </th>
|
| 112 |
+
<th style="text-align: right; width:11%"> Flow* </th>
|
| 113 |
+
<th style="text-align: right; width:11%"> Total </th>
|
| 114 |
+
</tr>
|
| 115 |
+
<tr>
|
| 116 |
+
<td rowspan="4" style="writing-mode: vertical-rl; transform: rotate(180deg); text-align: center;"> 050_0130 </td> <td> Dense </td>
|
| 117 |
+
<td style="text-align: right"> 4.1 </td>
|
| 118 |
+
<td style="text-align: right"> 25.2 </td>
|
| 119 |
+
<td style="text-align: right"> 0.6 </td>
|
| 120 |
+
<td style="text-align: right"> 14.5 </td>
|
| 121 |
+
<td style="text-align: right"> 0.1 </td>
|
| 122 |
+
<td style="text-align: right"> 50.3 </td>
|
| 123 |
+
<td style="text-align: right"> 144.9 </td>
|
| 124 |
+
</tr>
|
| 125 |
+
<tr>
|
| 126 |
+
<td> Sparse </td>
|
| 127 |
+
<td style="text-align: right"> 2.0 </td>
|
| 128 |
+
<td style="text-align: right"> 11.7 </td>
|
| 129 |
+
<td style="text-align: right"> 0.3 </td>
|
| 130 |
+
<td style="text-align: right"> 7.0 </td>
|
| 131 |
+
<td style="text-align: right"> 0.1 </td>
|
| 132 |
+
<td style="text-align: right"> 23.3 </td>
|
| 133 |
+
<td style="text-align: right"> 67.5 </td>
|
| 134 |
+
</tr>
|
| 135 |
+
<tr>
|
| 136 |
+
<td> Mono </td>
|
| 137 |
+
<td style="text-align: right"> 2.0 </td>
|
| 138 |
+
<td style="text-align: right"> 12.3 </td>
|
| 139 |
+
<td style="text-align: right"> 0.3 </td>
|
| 140 |
+
<td style="text-align: right"> 7.0 </td>
|
| 141 |
+
<td style="text-align: right"> 0.1 </td>
|
| 142 |
+
<td style="text-align: right"> 24.5 </td>
|
| 143 |
+
<td style="text-align: right"> 70.6 </td>
|
| 144 |
+
</tr>
|
| 145 |
+
<tr>
|
| 146 |
+
<td> Total </td>
|
| 147 |
+
<td style="text-align: right"> 8.1 </td>
|
| 148 |
+
<td style="text-align: right"> 49.1 </td>
|
| 149 |
+
<td style="text-align: right"> 1.2 </td>
|
| 150 |
+
<td style="text-align: right"> 28.4 </td>
|
| 151 |
+
<td style="text-align: right"> 0.2 </td>
|
| 152 |
+
<td style="text-align: right"> 98.1 </td>
|
| 153 |
+
<td style="text-align: right"> 283.0 </td>
|
| 154 |
+
</tr>
|
| 155 |
+
|
| 156 |
+
</table>
|