Linning Xu · Vasu Agrawal · William Laney · Tony Garcia · Aayush Bansal
Changil Kim · Samuel Rota Bulò · Lorenzo Porzi · Peter Kontschieder
Aljaž Božič · Dahua Lin · Michael Zollhöfer · Christian Richardt
SIGGRAPH ACM Asia 2023
Pemandangan | ver | kamera | pos | gambar | 2K EXR | 1K EXR | 8K+ JPEG | 4K JPEG | 2K JPEG | 1K JPEG |
---|---|---|---|---|---|---|---|---|---|---|
apartemen | v2 | 22 | 180 | 3.960 | 123 GB | 31 GB | 92 GB | 20 GB | 5 GB | 1,2 GB |
dapur | v2* | 19 | 318 | 6.024 | 190GB | 48 GB | 142 GB | 29 GB | 8 GB | 1,9 GB |
kantor1a | v1 | 9 | 85 | 765 | 24 GB | 6 GB | 15 GB | 3 GB | 1 GB | 0,2 GB |
kantor1b | v2 | 22 | 71 | 1.562 | 49 GB | 13 GB | 35 GB | 7 GB | 2 GB | 0,4 GB |
kantor2 | v1 | 9 | 233 | 2.097 | 66 GB | 17 GB | 46 GB | 9 GB | 2 GB | 0,5 GB |
office_view1 | v2 | 22 | 126 | 2.772 | 87 GB | 22 GB | 63 GB | 14 GB | 4 GB | 0,8 GB |
office_view2 | v2 | 22 | 67 | 1.474 | 47 GB | 12 GB | 34 GB | 7 GB | 2 GB | 0,5 GB |
pemandangan sungai | v2 | 22 | 48 | 1.008 | 34 GB | 8 GB | 24 GB | 5 GB | 2 GB | 0,4 GB |
area_tempat duduk | v1 | 9 | 168 | 1.512 | 48 GB | 12 GB | 36 GB | 8 GB | 2 GB | 0,5 GB |
meja | v1 | 9 | 134 | 1.206 | 38 GB | 9 GB | 26 GB | 6 GB | 2 GB | 0,4 GB |
bengkel | v1 | 9 | 700 | 6.300 | 198 GB | 50 GB | 123 GB | 27 GB | 8 GB | 2,1 GB |
raf_ruang kosong | v2 | 22 | 365 | 8.030 | 252 GB | 63 GB | 213 GB | 45 GB | 12 GB | 2,5 GB |
raf_furnishedroom | v2 | 22 | 154 | 3.388 | 106 GB | 27 GB | 90 GB | 19 GB | 5 GB | 1,1 GB |
Total | 1.262 GB | 318GB | 939 GB | 199 GB | 54 GB | 12,5 GB |
* v2 dengan 3 kamera lebih sedikit dari konfigurasi standar, yaitu hanya 19 kamera.
April 2024: Dua adegan berikut menyertai makalah kami Real Acoustic Fields (CVPR 2024):
Semua gambar dalam kumpulan data diambil dengan Eyeful Tower v1 atau v2 (sebagaimana ditentukan dalam tabel ikhtisar). Eyeful Tower v1 terdiri dari 9 kamera fisheye, sedangkan Eyeful Tower v2 terdiri dari 22 kamera lubang jarum (19 untuk “dapur”).
Kumpulan data Eyeful Tower dihosting di AWS S3, dan dapat dieksplorasi dengan browser apa pun atau diunduh dengan perangkat lunak standar, seperti wget atau curl.
Namun, untuk pengunduhan tercepat dan paling andal, kami merekomendasikan penggunaan antarmuka baris perintah AWS (AWS CLI), lihat petunjuk instalasi AWS CLI.
Opsional: Mempercepat pengunduhan dengan menambah jumlah pengunduhan secara bersamaan dari 10 menjadi 100:
aws configure set default.s3.max_concurrent_requests 100
aws s3 cp --recursive --no-sign-request s3://fb-baas-f32eacb9-8abb-11eb-b2b8-4857dd089e15/EyefulTower/apartment/images-jpeg-1k/ apartment/images-jpeg-1k/
Alternatifnya, gunakan “ sync
” untuk menghindari transfer file yang ada:
aws s3 sync --no-sign-request s3://fb-baas-f32eacb9-8abb-11eb-b2b8-4857dd089e15/EyefulTower/apartment/images-jpeg-1k/ apartment/images-jpeg-1k/
Bagi yang tertarik bereksperimen dengan kamera tertentu, kami sarankan untuk melihat video kolase terlebih dahulu. Ini akan membantu Anda mengidentifikasi tampilan kamera mana yang ingin Anda manfaatkan. Misalnya, untuk pemandangan apartemen ini yang menggunakan rig pengambilan v2, Anda mungkin mempertimbangkan ID kamera 19, 20, 21 yang ditempatkan pada ketinggian yang sama.
untuk kumpulan data di dapur apartemen office1a office1b office2 office_view1 office_view2 bengkel meja area duduk_area pemandangan sungai; Mengerjakan mkdir -p $kumpulan data/gambar-jpeg-1k; aws s3 cp --rekursif --tidak ada permintaan-tanda s3://fb-baas-f32eacb9-8abb-11eb-b2b8-4857dd089e15/EyefulTower/$dataset/images-jpeg-1k/ $dataset/images-jpeg-1k /;Selesai
aws s3 sync --no-sign-request s3://fb-baas-f32eacb9-8abb-11eb-b2b8-4857dd089e15/EyefulTower/ .
Setiap adegan disusun mengikuti struktur berikut:
apartment │ ├── apartment-final.pdf # Metashape reconstruction report ├── cameras.json # Camera poses in KRT format (see below) ├── cameras.xml # Camera poses exported from Metashape ├── colmap # COLMAP reconstruction exported from Metashape │ ├── images # Undistorted images (full resolution) │ ├── images_2 # Undistorted images (1/2 resolution) │ ├── images_4 # Undistorted images (1/4 resolution) │ ├── images_8 # Undistorted images (1/8 resolution) │ └── sparse # COLMAP reconstruction (for full-res images) ├── images-1k # HDR images at 1K resolution │ ├── 10 # First camera (bottom-most camera) │ │ ├── 10_DSC0001.exr # First image │ │ ├── 10_DSC0010.exr # Second image │ │ ├── [...] # More images │ │ └── 10_DSC1666.exr # Last image │ ├── 11 # Second camera │ │ ├── 11_DSC0001.exr │ │ ├── 11_DSC0010.exr │ │ ├── [...] │ │ └── 11_DSC1666.exr │ ├── [...] # More cameras │ └── 31 # Last camera (top of tower) │ ├── 31_DSC0001.exr │ ├── 31_DSC0010.exr │ ├── [...] │ └── 31_DSC1666.exr ├── images-2k [...] # HDR images at 2K resolution ├── images-jpeg [...] # Full-resolution JPEG images ├── images-jpeg-1k [...] # JPEG images at 1K resolution ├── images-jpeg-2k # JPEG images at 2K resolution │ ├── [10 ... 31] │ ├── [10 ... 31].mp4 # Camera visualization │ └── collage.mp4 # Collage of all cameras ├── images-jpeg-4k [...] # JPEG images at 4K resolution ├── mesh.jpg # Mesh texture (16K×16K) ├── mesh.mtl # Mesh material file ├── mesh.obj # Mesh in OBJ format └── splits.json # Training/testing splits
images-1k/{camera}/*.exr
dan images-2k/{camera}/*.exr
)Gambar dengan rentang dinamis tinggi digabungkan dari braket eksposur mentah 9 foto.
Diturunkan sampelnya ke resolusi “1K” (684×1024 piksel) atau “2K” (1368×2048 piksel).
Ruang warna: DCI-P3 (linier)
Disimpan sebagai gambar EXR dengan angka floating-point 32-bit yang tidak terkompresi.
Semua nama file gambar diawali dengan nama kamera, misalnya 17_DSC0316.exr
.
Gambar dengan nama file yang diakhiri dengan nomor yang sama diambil pada waktu yang sama.
Beberapa gambar mungkin hilang, misalnya karena gambar buram atau gambar yang menunjukkan operator pengambilan yang dihapus.
import os, cv2, numpy as np# Aktifkan dukungan OpenEXR di OpenCV (https://github.com/opencv/opencv/issues/21326).# Variabel lingkungan ini perlu ditentukan sebelum gambar EXR pertama dibuka.os. environ["OPENCV_IO_ENABLE_OPENEXR"] = "1"# Membaca gambar EXR menggunakan OpenCV.img = cv2.imread("apartment/images-2k/17/17_DSC0316.exr", cv2.IMREAD_UNCHANGED)# Terapkan penskalaan keseimbangan putih (Catatan: OpenCV menggunakan warna BGR).coeffs = np.array([0.726097, 1.0, 1.741252] ) # apartemen [RGB]img = np.einsum("ijk,k->ijk", img, coeffs[::-1])# Peta nada menggunakan kurva sRGB.linear_part = 12,92 * imgexp_part = 1,055 * (np.maximum(img, 0,0) ** (1 / 2.4)) - 0,055img = np.di mana(img <= 0.0031308, linear_part, exp_part)# Tulis gambar yang dihasilkan sebagai JPEG.img = np.clip(255 * img, 0.0, 255.0).astype(np.uint8)cv2.imwrite("apartment-17_DSC0316.jpg", img, params= [cv2.IMWRITE_JPEG_QUALITY, 100])
images-jpeg*/{camera}/*.jpg
)Kami menyediakan gambar JPEG dalam empat tingkat resolusi:
images-jpeg/
: 5784 × 8660 = 50. megapiksel — resolusi gambar asli penuh
images-jpeg-4k/
: 2736 × 4096 = 11,2 megapiksel
images-jpeg-2k/
: 1368 × 2048 = 2,8 megapiksel
images-jpeg-1k/
: 684 × 1024 = 0,7 megapiksel
Gambar JPEG adalah versi gambar HDR dengan keseimbangan putih dan pemetaan nada. Lihat kode di atas untuk detailnya.
Setiap adegan menggunakan pengaturan keseimbangan putih yang diperoleh dari ColorChecker, yang secara individual menskalakan saluran RGB sebagai berikut:
Pemandangan | Faktor skala RGB |
---|---|
apartemen | 0.726097, 1.0, 1.741252 |
dapur | 0.628143, 1.0, 2.212346 |
kantor1a | 0.740846, 1.0, 1.750224 |
kantor1b | 0.725535, 1.0, 1.839938 |
kantor2 | 0.707729, 1.0, 1.747833 |
office_view1 | 1.029089, 1.0, 1.145235 |
office_view2 | 0.939620, 1.0, 1.273549 |
pemandangan sungai | 1.077719, 1.0, 1.145992 |
area_tempat duduk | 0.616093, 1.0, 2.426888 |
meja | 0.653298, 1.0, 2.139514 |
bengkel | 0.709929, 1.0, 1.797705 |
raf_ruang kosong | 0.718776, 1.0, 1.787020 |
raf_furnishedroom | 0.721494, 1.0, 1.793423 |
cameras.json
) File JSON ini memiliki struktur dasar {"KRT": [
, di mana setiap objek gambar memiliki properti berikut:
width
: lebar gambar, dalam piksel (biasanya 5784)
height
: tinggi gambar, dalam piksel (biasanya 8660)
cameraId
: komponen nama file untuk gambar ini (misalnya "0/0_REN0001"
); untuk mendapatkan jalur lengkap, gunakan "{scene}/{imageFormat}/{cameraId}.{extension}"
untuk:
scene
: salah satu dari 11 nama adegan,
imageFormat
: salah satu dari "images-2k"
, "images-jpeg-2k"
, "images-jpeg-4k"
, atau "images-jpeg"
extension
: ekstensi file, jpg
untuk JPEG, exr
untuk gambar EXR (HDR)
K
: Matriks kamera intrinsik 3×3 untuk gambar resolusi penuh ( kolom-mayor )
T
: Matriks transformasi dunia-ke-kamera 4×4 ( kolom-utama )
distortionModel
: model distorsi lensa yang digunakan:
"Fisheye"
untuk gambar fisheye (Eyeful v1)
"RadialAndTangential"
untuk gambar lubang jarum (Eyeful v2)
distortion
: koefisien distorsi lensa untuk digunakan dengan fungsi cv2.undistort
OpenCV
Catatan: Model proyeksi adalah model fisheye yang ideal (jarak sama).
gambar mata ikan (Eyeful v1): [k1, k2, k3, _, _, _, p1, p2]
gambar lubang jarum (Eyeful v2): [k1, k2, p1, p2, k3]
(urutan yang sama seperti cv2.undistort
)
frameId
: indeks posisi selama pengambilan (bilangan bulat berurutan)
semua gambar yang diambil pada saat yang sama berbagi frameId
yang sama
sensorId
: ID sensor metashape ( alias kamera) dari gambar ini
semua gambar yang diambil dengan kamera yang sama memiliki sensorId
yang sama
cameraMasterId
(opsional): Metashape ID kamera untuk kamera master (dalam kalibrasi rig) pada posisi/bingkai ini
semua gambar yang diambil pada saat yang sama berbagi cameraMasterId
yang sama
sensorMasterId
(opsional): ID sensor metashape untuk kamera master dalam kalibrasi rig
harus memiliki nilai yang sama untuk semua kamera kecuali kamera master (biasanya "6"
untuk Eyeful v1, "13"
untuk Eyeful v2).
Sistem koordinat dunia: tangan kanan, y-up, y=0
adalah bidang tanah, satuannya dalam meter.
cameras.xml
)Data kalibrasi kamera diekspor langsung dari Metashape, menggunakan format file miliknya.
mesh.*
)Jaring bertekstur dalam format OBJ, diekspor dari Metashape dan dibuat dari gambar JPEG resolusi penuh.
Sistem koordinat dunia: tangan kanan, y-up, y=0
adalah bidang tanah, satuannya dalam meter.
colmap/
)Rekonstruksi COLMAP ini diekspor dari rekonstruksi asli kami menggunakan Metashape 2.1.3 dengan parameter default.
Gambar di bawah colmap/images
secara otomatis tidak terdistorsi dari gambar di images-jpeg
ke proyeksi lubang jarum dengan titik utama di pusat gambar.
Perhatikan bahwa undistorsi ini sangat merusak gambar fisheye, dan cenderung menghasilkan ukuran gambar berbeda untuk kamera berbeda.
Gambar di colmap/images-*
adalah versi downsampled dari gambar tidak terdistorsi resolusi penuh, mirip dengan format kumpulan data Mip-NeRF 360.
splits.json
) Berisi daftar gambar untuk pelatihan ( "train"
) dan pengujian ( "test"
).
Semua gambar dari satu kamera dikeluarkan untuk pengujian: kamera 5
untuk Eyeful v1, dan kamera 17
untuk Eyeful v2.
3 Nov 2023 – rilis kumpulan data awal
18 Jan 2024 – menambahkan resolusi “1K” (684×1024 piksel) EXR dan JPEG untuk eksperimen skala kecil.
19 Apr 2024 – menambahkan dua ruangan dari kumpulan data Real Acoustic Fields (RAF): raf_emptyroom
dan raf_furnishedroom
.
9 Okt 2024 – menambahkan rekonstruksi COLMAP yang diekspor dengan gambar tidak terdistorsi dalam format Mip-NeRF 360, misalnya kompatibel dengan gsplat.
Jika Anda menggunakan data apa pun dari kumpulan data ini atau kode apa pun yang dirilis dalam repositori ini, harap kutip makalah VR-NeRF.
@InProceedings{VRNeRF, penulis = {Linning Xu dan Vasu Agrawal dan William Laney dan Tony Garcia dan Aayush Bansal dan Changil Kim dan Rota Bulò, Samuel dan Lorenzo Porzi dan Peter Kontschieder dan Aljaž Božič dan Dahua Lin dan Michael Zollhöfer dan Christian Richardt}, title = {{VR-NeRF}: Ruang Walkable Virtual dengan Ketelitian Tinggi}, booktitle = {SIGGRAPH Asia Conference Proceedings}, tahun = {2023}, doi = {10.1145/3610548.3618139}, url = {https://vr-nerf.github.io}, }
Creative Commons Attribution-NonCommercial (CC BY-NC) 4.0, seperti yang ditemukan dalam file LISENSI.
[Ketentuan Penggunaan] [Kebijakan Privasi]