紙| Arxiv | NVS 代碼|專案頁面
MegaScenes 資料集是約 430K 場景、900 萬張影像和極幾何的廣泛集合,具有從 2M 影像中進行的超過 100K 運動結構重建。這些場景的影像是在不同的條件下捕捉的,包括一天中的不同時間、不同的天氣和照明,以及來自具有不同相機特性的不同設備。
要在瀏覽器中查看重建,請參閱我們的Web 檢視器!
我們在這裡提供 MegaScenes 的數據表。
如果您發現我們的資料集或論文有用,請考慮引用
@inproceedings {
tung2024megascenes,
title = { MegaScenes: Scene-Level View Synthesis at Scale } ,
author = { Tung, Joseph and Chou, Gene and Cai, Ruojin and Yang, Guandao and Zhang, Kai and Wetzstein, Gordon and Hariharan, Bharath and Snavely, Noah } ,
booktitle = { ECCV } ,
year = { 2024 }
}
感謝 AWS 開放資料贊助計劃,MegaScenes 資料集託管在 Amazon S3 上。
具體來說,MegaScenes 在US-West-2
AWS 區域中使用 AWS S3 儲存桶 URL s3://megascenes/
。
所有文件都可以單獨下載。它們不會被分成.tar
或.zip
檔。
使用者可以使用 s5cmd 或 AWS CLI 存取資料集。這些是本機安裝的命令列介面,可以存取 AWS 上的資料集。兩個 CLI 都具有非常相似的命令,因此通常可以透過將前綴s5cmd
替換為aws s3
來將 s5cmd 命令轉換為 AWS CLI 命令。
在本節中,我們將分享一些 s5cmd 指令。
若要將檔案或目錄從 AWS 複製到本機磁碟,請使用下列命令: s5cmd --no-sign-request cp <source_bucket_url> <local_dest>
或者,可以使用sync
來代替cp
。 sync
也會檢查 AWS 和本機下載的資料集之間的差異。
重要的
如果來源 URL 是目錄,則它必須包含通配符 ( *
)。
此命令會將整個資料集下載到名為MegaScenes/
本機資料夾。
s5cmd --no-sign-request cp s3://megascenes/* ./MegaScenes/
此命令以遞歸方式將images
資料夾的內容從 AWS 下載到本機資料夾MegaScenes/images/
中:
s5cmd --no-sign-request cp s3://megascenes/images/* ./MegaScenes/images/
此命令將特定的database.db
檔案從AWS下載到其各自的本機資料夾中:
s5cmd --no-sign-request cp s3://megascenes/databases/main/000/000/database.db ./MegaScenes/databases/main/000/000/database.db
可以使用 s5cmd 定義要下載的 MegaScenes 子集;這是透過使用 s5cmd 命令的文字檔案s5cmd run
來完成的。有關更多信息,請參閱 s5cmd 有關並行運行多個命令的文檔。
列出 AWS 上的目錄內容: s5cmd --no-sign-request ls <bucket_url>
此命令有助於在將項目下載到本機之前查看每個目錄中的項目。
此命令列出 AWS 上的database/
子資料夾的內容。
輸入:
s5cmd --no-sign-request ls s3://megascenes/databases/
輸出:
DIR descriptors/
DIR main/
--no-sign-request
標誌用於讓使用者無需建立和提供 AWS 憑證即可存取 AWS 儲存桶。
有關其他命令,請參閱 s5cmd 或 AWS CLI 文件。
可以使用基本 URL https://megascenes.s3.us-west-2.amazonaws.com/
透過 HTTP(透過wget
或curl
)下載單一檔案。
例如, https://megascenes.s3.us-west-2.amazonaws.com/metadata/subcat/000/007/subcats.json 是場景 ID 7
的子類別資訊的直接下載。
Bucket的目錄樹如下:
s3://megascenes/
或https://megascenes.s3.us-west-2.amazonaws.com/
databases/
main/
000/000/
。 。 。 458/152/
descriptors/
000/000/
。 。 。 458/152/
images/
000/000/
。 。 。 458/152/
metadata/
subcat/
000/000/
。 。 。 458/148/
wikidata/
0/0/0/
。 。 。 9/9/9/
, other/
reconstruct/
000/000/
。 。 。 458/150/
README.md
場景由其零填充的六位元場景 ID 號碼表示,如適用子目錄中的場景資料夾中所述。將場景名稱連結到場景 ID 的目錄可以在以下位置找到: s3://megascenes/metadata/categories.json
。有關子資料夾內容的詳細信息,請參閱下面的相應部分。
databases/
目錄該目錄包含每個場景的 COLMAP 資料庫。 COLMAP 資料庫包含有關圖像、關鍵點、描述符、匹配和估計的雙視圖幾何形狀的表格資訊。 COLMAP 資料庫使用 SQLite 格式。
database/
目錄分為兩個子目錄:
main/
(1.9 TB),其中包含database.db
文件descriptors/
TB壓縮,8.3 TB未壓縮),其中包含descriptors.db.gz
文件在上述兩個子目錄中,場景由其場景 ID 號碼表示,如場景資料夾中所述。
對於每個場景,COLMAP 資料庫分為兩個檔案:
database.db
,這是沒有 Descriptors 表的 COLMAP 資料庫。descriptors.db.gz
,這是從 COLMAP 資料庫中提取出來的 Descriptors 表作為自己的 SQLite 資料庫。它是用 gzip 壓縮的。我們將描述符表分開,因為它佔用了 COLMAP 資料庫中的大部分空間,並且可能不包含某些應用程式的相關資訊。
對於ID為1234
場景,資料庫檔案如下:
databases/main/001/234/database.db
databases/descriptors/001/234/descriptors.db.gz
images/
目錄此目錄包含每個場景的圖像和圖像元資料。場景由其場景 ID 號碼表示,如場景資料夾所述。
images/
目錄為 3.2 TB。
一個場景可以有任意數量的子類別。每個子類別包含圖像、 raw_metadata.json
、 category.json
和0/category.json
。
圖像元資料在raw_metadata.json
中表示。該 json 包含每個圖像名稱的密鑰,並包含從 Wikimedia Commons 提取的各種數據的信息,包括 EXIF 數據和許可信息。
場景子類別名稱位於subcategory_name/category.json
。
圖像名稱清單位於subcategory_name/0/category.json
中。
對於ID為1234
場景,影像檔案如下:
images/
001/234/
commons/
subcategory_name_1/
category.json
raw_metadata.json
0/
category.json
pictures/
image1.jpg
image2.jpg
subcategory_name_2/
category.json
raw_metadata.json
0/
category.json
pictures/
image1.jpg
image2.jpg
metadata/
目錄此目錄包含資料集的元資料。
metadata/
目錄包含以下內容:
subcat/
(386 MB),該目錄包含至少具有一個子類別的場景的子類別資訊 JSON 文件wikidata/
(4.5 GB),該目錄包含與場景或其層次類別相關的所有 Wikidata 條目的 JSON 文件categories.json
(19.2 MB),這是一個將 Wikimedia Commons 類別名稱對應到場景 ID 的字典。images_index.parquet
(~230 MB),它是 MegaScenes 中所有圖像的表格索引子類別資訊駐留在metadata/subcat/
目錄中。此目錄按場景 ID 號碼組織,如場景資料夾所述。
只有當場景除了主類別之外至少有一個類別時,才會出現在metadata/subcat/
中。這樣的場景會有一個subcats.json
來表示子類別資料。
subcats.json
檔案是一個包含以下欄位的字典:
main_category
:維基共享資源頂層類別名稱的字串。graph
:將維基共享資源類別對應到其直接子類別清單的字典。如果某個類別已被造訪過,則該類別將成為graph
中的鍵。空列表表示該類別沒有子類別。frontier
: graph
中存在的子類別列表,這些子類別尚未擴展為在graph
中擁有自己的鍵。 Arco degli Argentari 類別的場景 ID 為7
。此場景的子類別資訊位於s3://megascenes/metadata/subcat/000/007/subcats.json
,內容如下:
{
"main_category": "Arco_degli_Argentari",
"graph": {
"Arco_degli_Argentari": [
"Arco_degli_Argentari_in_art",
"Historical_images_of_the_Arco_degli_Argentari"
],
"Arco_degli_Argentari_in_art": [],
"Historical_images_of_the_Arco_degli_Argentari": [
"Arco_degli_Argentari_in_art"
]
},
"frontier": []
}
此處,該圖顯示主類別 Arco degli Argentari 有兩個子類別:藝術中的 Arco degli Argentari 和 Arco degli Argentari 的歷史圖像。藝術中的 Arco degli Argentari 類別沒有子類別,因此列表為空。相較之下,Arco degli Argentari 的歷史圖像類別在藝術中具有 Arco degli Argentari 子類別。
前緣清單為空,這表示該子類別圖已全部展開。
我們在s3://megascenes/metadata/images_index.parquet
(HTTPS 下載)(~230 MB)提供了一個對 MegaScenes 中的圖像進行索引的表。 Parquet 檔案像 CSV 檔案一樣儲存表格數據,但更緊湊且讀取速度更快。可以使用 Python 資料幀庫讀取它們,例如 Polars(建議)或 Pandas。此表包含超過 800 萬行,每行代表資料集中的一個影像。這些列是:
圖像各自的維基共享資源頁面位於 URL https://commons.wikimedia.org/wiki/File:{image_name}
。同樣,某個類別的對應維基共享資源頁面位於 URL https://commons.wikimedia.org/wiki/Category:{cat or subcat}
。
雖然此表包含來自維基共享資源的解析許可信息,但我們鼓勵用戶自行驗證圖像許可。
wikidata/
子類別由 Wikidata Q-ID 所組織。 Q-ID 的前三位數字定義了三個可以在other/
找到 Wikidata JSON 資訊的子資料夾。與場景 ID 不同,該數字不是用零填充的。
具有 Q-ID Q1234
的 Wikidata 專案的 JSON 位於metadata/wikidata/1/2/3/Q1234.json
。
具有 Q-ID Q12
的 Wikidata 專案的 JSON 位於metadata/wikidata/other/Q12.json
。
有關 JSON 文檔,請參閱 Wikibase JSON 上的此頁面。
有關解析此 JSON 的其他工具,請參閱有關資料存取的 Wikidata 頁面。
reconstruct/
目錄此目錄包含每個場景的 COLMAP 稀疏點雲重建。依據場景資料夾中所述的場景 ID 號, reconstruct/
目錄按場景進行組織。每個重建都由images.bin
、 cameras.bin
和points3D.bin
組成,如這裡所述。一個場景可能有零次或多次重建; reconstruct/
資料夾僅包含一個或多個場景。
reconstruct/
資料夾大小為 429 GB。
假設 ID 為1234
的場景有 3 個重建。在這個場景的sparses/
資料夾中,將有三個資料夾,編號從0
到2
。
具體來說,格式如下:
reconstruct/
001/234/
sparses/
0/
images.bin
cameras.bin
points3D.bin
1/
images.bin
cameras.bin
points3D.bin
2/
images.bin
cameras.bin
points3D.bin
可以使用我們的網路檢視器來查看 MegaScenes 中的稀疏重建。
或者,可以使用 COLMAP GUI 在本機上查看重建(需要安裝 COLMAP)。
可以使用 COLMAP 儲存庫中的 read_write_model.py 腳本在 Python 中載入重建。具體來說,有用的函數是: read_model
、 read_points3D_binary
、 read_images_binary
、 read_cameras_binary
此資料集使用兩個子資料夾的系統來劃分場景,其中每個場景都有一個場景 ID 號碼。第一個子資料夾使用 6 位元補零場景 ID 的前三位。第二個子資料夾使用最後三位數字。與場景關聯的資料位於後一個子資料夾中。
例如:
533
,則將其補零為000533
。該號碼轉換為目錄000/533/
。422678
,它將轉換為目錄422/678/
。每個場景都基於維基共享資源的一個類別。例如,場景「Arc_de_Triomphe_de_l'Étoile」使用來自類別:Arc de Triomphe de l'Étoile 及其子類別的圖像。 MegaScenes 使用下劃線代替空格作為場景名稱,但在 Wikimedia Commons URL 中使用時它們是可以互換的。
文件s3://megascenes/metadata/categories.json
(HTTP 連結)將類別名稱連結到場景 ID。
如果您發現任何不正確的重建或對資料集有改進,請建立 GitHub 問題或討論貼文。
該資料集根據 Creative Commons Attribution 4.0 International License 授權。 images/
資料夾中的照片有自己的許可證。