종이 | 아르크시브 | NVS 코드 | 프로젝트 페이지
MegaScenes 데이터세트는 약 430,000개의 장면과 9,000,000개의 이미지 및 에피폴라 형상으로 구성된 광범위한 컬렉션으로, 200만 개의 이미지에서 100,000개 이상의 모션 구조 재구성을 제공합니다. 이러한 장면의 이미지는 하루 중 다양한 시간, 다양한 날씨 및 조명을 포함한 다양한 조건에서, 그리고 고유한 카메라 내장 기능을 갖춘 다양한 장치에서 캡처됩니다.
브라우저에서 재구성을 보려면 웹 뷰어를 참조하십시오!
여기에서 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 데이터 세트는 AWS 개방형 데이터 후원 프로그램 덕분에 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
또는 cp
대신 sync
사용할 수도 있습니다. 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/
이 명령은 AWS에서 특정 database.db
파일을 해당 로컬 폴더로 다운로드합니다.
s5cmd --no-sign-request cp s3://megascenes/databases/main/000/000/database.db ./MegaScenes/databases/main/000/000/database.db
s5cmd를 사용하여 다운로드할 MegaScene의 하위 집합을 정의할 수 있습니다. 이는 s5cmd 명령의 텍스트 파일을 사용하여 s5cmd run
하여 수행됩니다. 자세한 내용은 여러 명령을 병렬로 실행하는 방법에 대한 s5cmd 설명서를 참조하세요.
AWS의 디렉터리 내용 나열: s5cmd --no-sign-request ls
이 명령은 로컬 시스템에 다운로드하기 전에 각 디렉터리에 어떤 항목이 있는지 확인하는 데 유용합니다.
이 명령은 AWS의 database/
하위 폴더 내용을 나열합니다.
입력:
s5cmd --no-sign-request ls s3://megascenes/databases/
산출:
DIR descriptors/
DIR main/
--no-sign-request
플래그는 사용자가 AWS 자격 증명을 생성하고 제공할 필요 없이 AWS 버킷에 액세스할 수 있도록 하기 위한 것입니다.
다른 명령에 대해서는 s5cmd 또는 AWS CLI 설명서를 참조하십시오.
Singular 파일은 기본 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은 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
장면은 해당 하위 디렉터리의 장면 폴더에 설명된 대로 0으로 채워진 6자리 장면 ID 번호로 표시됩니다. 장면 이름을 장면 ID에 연결하는 디렉터리는 s3://megascenes/metadata/categories.json
에서 찾을 수 있습니다. 하위 폴더 내용에 대한 자세한 내용은 아래 해당 섹션을 참조하세요.
databases/
디렉토리이 디렉토리에는 각 장면에 대한 COLMAP 데이터베이스가 들어 있습니다. COLMAP 데이터베이스에는 이미지, 키포인트, 설명자, 일치 항목 및 추정된 2개 뷰 형상에 대한 표로 작성된 정보가 포함되어 있습니다. COLMAP 데이터베이스는 SQLite 형식을 사용합니다.
database/
디렉터리는 두 개의 하위 디렉터리로 구분됩니다.
main/
(1.9TB)( database.db
파일 포함)descriptors/
(압축 시 6.8TB, 비압축 시 8.3TB), descriptors.db.gz
파일 포함위의 두 하위 디렉터리에서 장면은 장면 폴더에 설명된 대로 장면 ID 번호로 표시됩니다.
각 장면에 대해 COLMAP 데이터베이스는 두 개의 파일로 분할됩니다.
database.db
- 설명자 테이블이 없는 COLMAP 데이터베이스입니다.descriptors.db.gz
- COLMAP 데이터베이스에서 자체 SQLite 데이터베이스로 추출된 설명자 테이블입니다. gzip으로 압축되어 있습니다.Descriptors 테이블은 COLMAP 데이터베이스에서 대부분의 공간을 차지하고 특정 애플리케이션에 대한 관련 정보를 포함하지 않을 수 있으므로 분리합니다.
ID가 1234
인 장면의 경우 데이터베이스 파일은 다음과 같습니다.
databases/main/001/234/database.db
databases/descriptors/001/234/descriptors.db.gz
images/
디렉토리이 디렉토리에는 각 장면의 이미지와 이미지 메타데이터가 저장되어 있습니다. 장면은 장면 폴더에 설명된 대로 장면 ID 번호로 표시됩니다.
images/
디렉터리는 3.2TB입니다.
장면에는 하위 범주가 여러 개 있을 수 있습니다. 각 하위 범주에는 이미지, raw_metadata.json
, category.json
및 0/category.json
이 포함되어 있습니다.
이미지 메타데이터는 raw_metadata.json
에 표시됩니다. 이 json에는 각 이미지 이름에 대한 키가 포함되어 있으며 EXIF 데이터 및 라이선스 정보를 포함하여 Wikimedia Commons에서 추출된 다양한 데이터 정보가 포함되어 있습니다.
장면 하위 범주 이름은 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/
(386MB) - 하나 이상의 하위 카테고리가 있는 장면에 대한 하위 카테고리 정보의 JSON 파일이 포함된 디렉터리입니다.wikidata/
(4.5GB) - 장면이나 해당 계층 클래스와 관련된 모든 Wikidata 항목에 대한 JSON 파일이 포함된 디렉터리입니다.categories.json
(19.2MB) - Wikimedia Commons 카테고리 이름을 장면 ID에 매핑하는 사전입니다.images_index.parquet
(~230MB) - MegaScenes의 모든 이미지에 대한 표 형식 인덱스입니다. 하위 범주 정보는 metadata/subcat/
디렉터리에 있습니다. 이 디렉터리는 장면 폴더에 설명된 대로 장면 ID 번호로 구성됩니다.
장면은 기본 카테고리 외에 하나 이상의 카테고리가 있는 경우에만 metadata/subcat/
에 존재합니다. 이러한 장면에는 하위 카테고리 데이터를 나타내는 subcats.json
이 있습니다.
subcats.json
파일은 다음 필드를 포함하는 사전입니다.
main_category
: Wikimedia Commons 최상위 카테고리 이름의 문자열입니다.graph
: Wikimedia Commons 카테고리를 직접 하위 카테고리 목록에 매핑하는 사전입니다. 카테고리는 방문한 적이 있는 경우 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 다운로드)(~230MB)에서 MegaScenes의 이미지를 인덱싱하는 테이블을 제공합니다. Parquet 파일은 CSV 파일과 같은 표 형식의 데이터를 저장하지만 더 작고 읽기가 더 빠릅니다. Polars(권장) 또는 Pandas와 같은 Python 데이터프레임 라이브러리를 사용하여 읽을 수 있습니다. 이 테이블에는 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의 처음 세 자리는 위키데이터 JSON 정보를 찾을 수 있는 세 개의 하위 폴더를 정의합니다. Q-ID가 세 자리 미만인 경우 해당 JSON은 other/
폴더에 있습니다. 장면 ID와 달리 이 숫자는 0으로 채워지지 않습니다.
Q-ID가 Q1234
인 Wikidata 항목에 대한 JSON은 metadata/wikidata/1/2/3/Q1234.json
에 있습니다.
Q-ID가 Q12
인 위키데이터 항목에 대한 JSON은 metadata/wikidata/other/Q12.json
에 있습니다.
JSON 문서는 Wikibase JSON 페이지를 참조하세요.
이 JSON을 구문 분석하는 추가 도구는 데이터 액세스에 대한 Wikidata 페이지를 참조하세요.
reconstruct/
디렉토리 이 디렉토리에는 각 장면에 대한 COLMAP 희소 포인트 클라우드 재구성이 포함되어 있습니다. reconstruct/
디렉토리는 장면 폴더에 설명된 대로 장면 ID 번호에 따라 장면별로 구성됩니다. 각 재구성은 여기에 설명된 대로 images.bin
, cameras.bin
및 points3D.bin
으로 구성됩니다. 장면에는 재구성이 0개 이상 있을 수 있습니다. reconstruct/
폴더에는 하나 이상의 장면만 포함됩니다.
reconstruct/
폴더는 429GB입니다.
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 설치 필요).
COLMAP 저장소의 read_write_model.py 스크립트를 사용하여 재구성을 Python에 로드할 수 있습니다. 특히 유용한 기능은 다음과 같습니다: read_model
, read_points3D_binary
, read_images_binary
, read_cameras_binary
데이터 세트는 두 개의 하위 폴더 시스템을 사용하여 장면을 분할하며, 각 장면에는 장면 ID 번호가 있습니다. 첫 번째 하위 폴더는 제로 패딩된 6자리 장면 ID 중 처음 3자리를 사용합니다. 두 번째 하위 폴더는 마지막 세 자리 숫자를 사용합니다. 장면과 관련된 데이터는 후자의 하위 폴더에 있습니다.
예를 들어:
533
인 경우 000533
에 0이 채워집니다. 이 번호는 000/533/
디렉토리로 변환됩니다.422678
인 경우 422/678/
디렉터리로 변환됩니다.각 장면은 Wikimedia Commons의 카테고리를 기반으로 합니다. 예를 들어 "Arc_de_Triomphe_de_l'Étoile" 장면은 Category:Arc de Triomphe de l'Étoile 및 해당 하위 카테고리의 이미지를 사용합니다. MegaScenes는 장면 이름에 공백 대신 밑줄을 사용하지만 Wikimedia Commons URL에서 사용할 경우 상호 교환이 가능합니다.
s3://megascenes/metadata/categories.json
(HTTP 링크) 파일은 카테고리 이름을 scene-ID에 연결합니다.
잘못된 재구성을 발견했거나 데이터 세트에 대한 개선 사항이 있는 경우 GitHub 문제 또는 토론 게시물을 작성해 주세요.
이 데이터 세트는 Creative Commons Attribution 4.0 국제 라이선스에 따라 라이선스가 부여됩니다. images/
폴더에 있는 사진에는 자체 라이센스가 있습니다.