กระดาษ | อาร์ซิฟ | รหัส NVS | หน้าโครงการ
ชุดข้อมูล MegaScenes เป็นคอลเลกชันที่ครอบคลุมของฉากประมาณ 430,000 ภาพ และรูปภาพ 9 ล้านภาพ และรูปทรงเรขาคณิตแบบเอพิโพลาร์ โดยมีการสร้างโครงสร้างจากการเคลื่อนไหวใหม่มากกว่า 100,000 ภาพจาก 2 ล้านภาพเหล่านี้ ภาพของฉากเหล่านี้จะถูกบันทึกภายใต้สภาวะที่แตกต่างกัน รวมถึงเวลาที่ต่างกันของวัน สภาพอากาศและแสงสว่างต่างๆ และจากอุปกรณ์ต่างๆ ที่มีลักษณะของกล้องที่แตกต่างกัน
หากต้องการดูการสร้างใหม่ในเบราว์เซอร์ โปรดดู Web Viewer ของเรา !
เรามีเอกสารข้อมูลสำหรับ 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 }
}
ชุดข้อมูล MegaScenes โฮสต์บน Amazon S3 ด้วยโปรแกรม AWS Open Data Sponsorship
โดยเฉพาะ MegaScenes ใช้บัคเก็ต URL ของ AWS S3 s3://megascenes/
ในภูมิภาค AWS US-West-2
สามารถ ดาวน์โหลดไฟล์ทั้งหมดแยกกันได้ พวกมันจะ ไม่ ถูกแบ่งเป็นไฟล์ .tar
หรือ .zip
ผู้ใช้สามารถเข้าถึงชุดข้อมูลได้โดยใช้ s5cmd หรือ AWS CLI สิ่งเหล่านี้คืออินเทอร์เฟซบรรทัดคำสั่งที่ติดตั้งในเครื่องซึ่งสามารถเข้าถึงชุดข้อมูลบน AWS CLI ทั้งสองมีคำสั่งที่คล้ายกันมาก ดังนั้น โดยทั่วไปคำสั่ง s5cmd จึงสามารถแปลงเป็นคำสั่ง AWS CLI ได้โดยการแทนที่คำนำหน้า s5cmd
ด้วย aws s3
ในส่วนนี้ เราจะแบ่งปันคำสั่ง s5cmd บางส่วน
หากต้องการคัดลอกไฟล์หรือไดเรกทอรีจาก AWS ไปยังดิสก์ในเครื่อง ให้ใช้คำสั่งนี้: s5cmd --no-sign-request cp
หรือคุณสามารถใช้ 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 run
ด้วยไฟล์ข้อความของคำสั่ง s5cmd สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบของ s5cmd เกี่ยวกับการรันหลายคำสั่งพร้อมกัน
แสดงรายการเนื้อหาไดเร็กทอรีบน AWS: s5cmd --no-sign-request ls
คำสั่งนี้มีประโยชน์ในการดูว่ามีรายการใดบ้างในแต่ละไดเร็กทอรีก่อนดาวน์โหลดลงในเครื่องภายใน
คำสั่งนี้แสดงรายการเนื้อหาของ database/
โฟลเดอร์ย่อยบน AWS
ป้อนข้อมูล:
s5cmd --no-sign-request ls s3://megascenes/databases/
เอาท์พุท:
DIR descriptors/
DIR main/
ธง --no-sign-request
มีไว้สำหรับให้ผู้ใช้เข้าถึงบัคเก็ต AWS โดยไม่จำเป็นต้องสร้างและจัดหาข้อมูลรับรอง AWS
สำหรับคำสั่งอื่นๆ โปรดดูเอกสารประกอบ s5cmd หรือ AWS CLI
สามารถดาวน์โหลดไฟล์เอกพจน์ผ่าน HTTP (ผ่าน wget
หรือ curl
) โดยใช้ URL พื้นฐาน https://megascenes.s3.us-west-2.amazonaws.com/
ตัวอย่างเช่น https://megascenes.s3.us-west-2.amazonaws.com/metadata/subcat/000/007/subcats.json เป็นการดาวน์โหลดโดยตรงสำหรับข้อมูลหมวดหมู่ย่อยสำหรับ scene-ID 7
โครงสร้างไดเร็กทอรีของที่เก็บข้อมูลจะเป็นดังนี้:
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
ฉากจะแสดงด้วยหมายเลขรหัสฉากหกหลักที่มีเบาะศูนย์ตามที่อธิบายไว้ในโฟลเดอร์ฉากในไดเร็กทอรีย่อยที่เกี่ยวข้อง ไดเรกทอรีที่เชื่อมโยงชื่อฉากกับ scene-ID สามารถดูได้ที่: s3://megascenes/metadata/categories.json
สำหรับรายละเอียดเกี่ยวกับเนื้อหาโฟลเดอร์ย่อย โปรดดูส่วนที่เกี่ยวข้องด้านล่าง
databases/
ไดเร็กทอรีไดเร็กทอรีนี้เก็บฐานข้อมูล COLMAP สำหรับแต่ละฉาก ฐานข้อมูล COLMAP ประกอบด้วยข้อมูลแบบตารางเกี่ยวกับรูปภาพ จุดสำคัญ คำอธิบาย การจับคู่ และรูปทรงเรขาคณิตสองมุมมองโดยประมาณ ฐานข้อมูล COLMAP ใช้รูปแบบ SQLite
database/
ไดเร็กทอรีแบ่งออกเป็นสองไดเร็กทอรีย่อย:
main/
(1.9 TB) ซึ่งมีไฟล์ database.db
descriptors/
(บีบอัด 6.8 TB, ไม่บีบอัด 8.3 TB) ซึ่งมีไฟล์ descriptors.db.gz
ในไดเร็กทอรีย่อยสองไดเร็กทอรีข้างต้น ฉากจะแสดงด้วยหมายเลขรหัสฉากตามที่อธิบายไว้ในโฟลเดอร์ฉาก
สำหรับแต่ละฉาก ฐานข้อมูล COLMAP จะถูกแบ่งพาร์ติชันออกเป็นสองไฟล์:
database.db
ซึ่งเป็นฐานข้อมูล COLMAP ที่ไม่มีตาราง Descriptorsdescriptors.db.gz
ซึ่งเป็นตาราง Descriptors ที่แยกจากฐานข้อมูล COLMAP เป็นฐานข้อมูล SQLite ของตัวเอง มันถูกบีบอัดด้วย gzipเราแยกตาราง Descriptors เนื่องจากใช้พื้นที่ส่วนใหญ่ในฐานข้อมูล COLMAP และอาจไม่มีข้อมูลที่เกี่ยวข้องสำหรับบางแอปพลิเคชัน
สำหรับฉากที่มี ID 1234
ไฟล์ฐานข้อมูลจะเป็นดังนี้:
databases/main/001/234/database.db
databases/descriptors/001/234/descriptors.db.gz
images/
ไดเร็กทอรีไดเรกทอรีนี้เก็บรูปภาพและข้อมูลเมตาของรูปภาพสำหรับแต่ละฉาก ฉากจะแสดงด้วยหมายเลขรหัสฉากตามที่อธิบายไว้ในโฟลเดอร์ฉาก
images/
ไดเร็กทอรีมีขนาด 3.2 TB
ฉากสามารถมีหมวดหมู่ย่อยจำนวนเท่าใดก็ได้ แต่ละหมวดหมู่ย่อยประกอบด้วยรูปภาพ, raw_metadata.json
, category.json
และ 0/category.json
ข้อมูลเมตาของรูปภาพแสดงอยู่ใน raw_metadata.json
JSON นี้มีคีย์สำหรับชื่อรูปภาพแต่ละชื่อ และมีข้อมูลของข้อมูลต่างๆ ที่ดึงมาจากวิกิมีเดียคอมมอนส์ รวมถึงข้อมูล 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) ซึ่งเป็นไดเร็กทอรีที่มีไฟล์ JSON สำหรับรายการ Wikidata ทั้งหมดที่เกี่ยวข้องกับฉากหรือคลาสที่สืบทอดกันcategories.json
(19.2 MB) ซึ่งเป็นพจนานุกรมที่จับคู่ชื่อหมวดหมู่ Wikimedia Commons กับ Scene-IDimages_index.parquet
(~230 MB) ซึ่งเป็นดัชนีตารางของรูปภาพทั้งหมดใน MegaScenes ข้อมูลหมวดหมู่ย่อยอยู่ในไดเร็กทอรี metadata/subcat/
ไดเร็กทอรีนี้จัดเรียงตามหมายเลขรหัสฉากตามที่อธิบายไว้ในโฟลเดอร์ฉาก
ฉากปรากฏใน metadata/subcat/
เฉพาะเมื่อมีอย่างน้อยหนึ่งหมวดหมู่นอกเหนือจากหมวดหมู่หลัก ฉากดังกล่าวจะมี subcats.json
เพื่อแสดงข้อมูลหมวดหมู่ย่อย
ไฟล์ subcats.json
เป็นพจนานุกรมที่ประกอบด้วยช่องต่อไปนี้:
main_category
: สตริงชื่อของหมวดหมู่ระดับบนสุดของวิกิมีเดียคอมมอนส์graph
: พจนานุกรมที่จับคู่หมวดหมู่วิกิมีเดียคอมมอนส์กับรายการหมวดหมู่ย่อยโดยตรง หมวดหมู่จะเป็นกุญแจสำคัญใน graph
หากมีการเข้าชมแล้ว รายการว่างหมายความว่าหมวดหมู่นั้นไม่มีหมวดหมู่ย่อยfrontier
: รายการหมวดหมู่ย่อยที่มีอยู่ใน graph
ที่ยังไม่ได้ขยายให้มีคีย์ของตัวเองใน graph
หมวดหมู่ Arco degli Argentari มีรหัสฉากเป็น 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 ในงานศิลปะ
รายการชายแดนว่างเปล่า หมายความว่ากราฟหมวดหมู่ย่อยนี้จะถูกขยายให้ครบถ้วน
เรามีตารางที่จัดทำดัชนีภาพใน MegaScenes ที่ s3://megascenes/metadata/images_index.parquet
(ดาวน์โหลด HTTPS) (~230 MB) ไฟล์ปาร์เก้จัดเก็บข้อมูลแบบตาราง เช่น ไฟล์ CSV แต่มีขนาดกะทัดรัดกว่าและอ่านได้เร็วกว่า สามารถอ่านได้โดยใช้ไลบรารี Python dataframe เช่น Polars (แนะนำ) หรือ Pandas ตารางนี้มีมากกว่า 8 ล้านแถว โดยแต่ละแถวแทนรูปภาพในชุดข้อมูล คอลัมน์ได้แก่:
หน้า Wikimedia Commons ที่เกี่ยวข้องสำหรับรูปภาพอยู่ที่ URL https://commons.wikimedia.org/wiki/File:{image_name}
ในทำนองเดียวกัน หน้า Wikimedia Commons ที่เกี่ยวข้องสำหรับหมวดหมู่จะอยู่ที่ URL https://commons.wikimedia.org/wiki/Category:{cat or subcat}
แม้ว่าตารางนี้จะมีข้อมูลลิขสิทธิ์ที่แยกวิเคราะห์จาก Wikimedia Commons แต่เราขอแนะนำให้ผู้ใช้ตรวจสอบลิขสิทธิ์รูปภาพด้วยตนเอง
wikidata/
หมวดหมู่ย่อยได้รับการจัดระเบียบโดย Wikidata Q-ID ตัวเลขสามหลักแรกของ Q-ID กำหนดโฟลเดอร์ย่อยสามโฟลเดอร์ที่ข้อมูล Wikidata JSON สามารถพบได้ หาก Q-ID มีตัวเลขน้อยกว่าสามหลัก JSON นั้นจะอยู่ในโฟลเดอร์ other/
ต่างจากรหัสฉาก ตัวเลขนี้ไม่ใช่การเสริมศูนย์
JSON สำหรับรายการ Wikidata ที่มี Q-ID Q1234
อยู่ที่ metadata/wikidata/1/2/3/Q1234.json
JSON สำหรับรายการ Wikidata ที่มี Q-ID Q12
อยู่ที่ metadata/wikidata/other/Q12.json
สำหรับเอกสาร JSON โปรดดูหน้านี้ใน Wikibase JSON
สำหรับเครื่องมือเพิ่มเติมในการแยกวิเคราะห์ JSON นี้ โปรดดูหน้า Wikidata เกี่ยวกับการเข้าถึงข้อมูล
reconstruct/
ไดเรกทอรี ไดเร็กทอรีนี้ประกอบด้วยการสร้างคลาวด์แบบกระจายจุดของ COLMAP สำหรับแต่ละฉาก ไดเร็กทอรี reconstruct/
ถูกจัดระเบียบตามฉากต่างๆ ตามหมายเลขรหัสฉากตามที่อธิบายไว้ในโฟลเดอร์ฉาก การสร้างใหม่แต่ละครั้งประกอบด้วย images.bin
, cameras.bin
และ points3D.bin
ตามที่อธิบายไว้ที่นี่ ฉากหนึ่งอาจมีการสร้างใหม่เป็นศูนย์หรือมากกว่านั้น reconstruct/
โฟลเดอร์จะมีเฉพาะฉากที่มีหนึ่งฉากขึ้นไป
reconstruct/
โฟลเดอร์คือ 429 GB
สมมติว่าฉากที่มี ID 1234
มีการสร้างใหม่สามครั้ง ใน 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)
การสร้างใหม่สามารถโหลดได้ใน Python โดยใช้สคริปต์ read_write_model.py จากที่เก็บ COLMAP โดยเฉพาะฟังก์ชันที่เป็นประโยชน์คือ: read_model
, read_points3D_binary
, read_images_binary
, read_cameras_binary
ชุดข้อมูลใช้ระบบของโฟลเดอร์ย่อยสองโฟลเดอร์เพื่อแบ่งฉาก โดยแต่ละฉากจะมีหมายเลขรหัสฉาก โฟลเดอร์ย่อยแรกใช้ตัวเลขสามหลักแรกของรหัสฉากที่มีเบาะศูนย์ 6 หลัก โฟลเดอร์ย่อยที่สองใช้ตัวเลขสามหลักสุดท้าย ข้อมูลที่เกี่ยวข้องกับฉากนั้นอยู่ในโฟลเดอร์ย่อยหลัง
ตัวอย่างเช่น:
533
จะมีการเสริมค่าเป็นศูนย์เป็น 000533
หมายเลขนี้แปลเป็นไดเร็กทอรี 000/533/
422678
ฉากนั้นจะแปลเป็นไดเร็กทอรี 422/678/
แต่ละฉากมีพื้นฐานมาจากหมวดหมู่จากวิกิมีเดียคอมมอนส์ ตัวอย่างเช่น ฉาก "Arc_de_Triomphe_de_l'Étoile" ใช้รูปภาพจาก Category:Arc de Triomphe de l'Étoile และหมวดหมู่ย่อย MegaScenes ใช้ขีดล่างแทนช่องว่างสำหรับชื่อฉาก แต่สามารถใช้แทนกันได้เมื่อใช้ใน URL ของ Wikimedia Commons
ไฟล์ s3://megascenes/metadata/categories.json
(ลิงก์ HTTP) เชื่อมโยงชื่อหมวดหมู่กับ scene-ID
หากคุณพบการปรับปรุงใหม่ที่ไม่ถูกต้องหรือมีการปรับปรุงชุดข้อมูล โปรดสร้างปัญหา GitHub หรือโพสต์การสนทนา
ชุดข้อมูลนี้ได้รับอนุญาตภายใต้ Creative Commons Attribution 4.0 International License ภาพถ่ายใน images/
โฟลเดอร์มีสิทธิ์การใช้งานของตนเอง