Бумага | Арксив | Код НВС | Страница проекта
Набор данных MegaScenes представляет собой обширную коллекцию, содержащую около 430 тысяч сцен и 9 миллионов изображений и эпиполярных геометрий, включающую более 100 тысяч реконструкций структур из движения на основе 2 миллионов этих изображений. Изображения этих сцен сняты в разных условиях, в том числе в разное время суток, при разной погоде и освещении, а также с разных устройств с разными характеристиками камеры.
Для просмотра реконструкций в браузере воспользуйтесь нашим веб-просмотрщиком !
Мы предоставляем техническое описание 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.
В частности, MegaScenes использует URL-адрес корзины AWS S3 s3://megascenes/
в регионе AWS US-West-2
.
Все файлы можно скачать по отдельности . Они не разбиты на файлы .tar
или .zip
.
Пользователи могут получить доступ к набору данных с помощью s5cmd или AWS CLI. Это локально установленные интерфейсы командной строки, которые могут получать доступ к наборам данных на AWS. Оба интерфейса командной строки имеют очень похожие команды, поэтому команду s5cmd обычно можно преобразовать в команду AWS CLI, заменив префикс s5cmd
на aws s3
.
В этом разделе мы поделимся некоторыми командами 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/
Эта команда загружает определенный файл 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.
Файлы Singular можно загрузить через 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 — это прямая загрузка информации о подкатегории для сцены с идентификатором 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
Сцена представлена шестизначным идентификационным номером сцены, дополненным нулями, как описано в разделе «Папки сцен» в соответствующих подкаталогах. Каталог, который связывает имя сцены с идентификатором сцены, можно найти по адресу: s3://megascenes/metadata/categories.json
. Подробную информацию о содержимом подпапки см. в соответствующих разделах ниже.
databases/
КаталогВ этом каталоге хранятся базы данных COLMAP для каждой сцены. Базы данных COLMAP содержат табличную информацию об изображениях, ключевых точках, дескрипторах, совпадениях и предполагаемой геометрии двух изображений. Базы данных COLMAP используют формат SQLite.
Каталог database/
разбит на два подкаталога:
main/
(1,9 ТБ), содержащий файлы database.db
descriptors/
(6,8 ТБ в сжатом виде, 8,3 ТБ в несжатом виде), который содержит файлы descriptors.db.gz
В двух вышеуказанных подкаталогах сцена представлена своим идентификационным номером сцены, как описано в разделе «Папки сцен».
Для каждой сцены база данных COLMAP разделена на два файла:
database.db
— база данных COLMAP без таблицы дескрипторов.descriptors.db.gz
— таблица дескрипторов, извлеченная из базы данных COLMAP как собственная база данных SQLite. Он сжимается с помощью gzip.Мы отделяем таблицу «Дескрипторы», поскольку она занимает большую часть места в базе данных COLMAP и может не содержать релевантной информации для некоторых приложений.
Для сцены с ID 1234
файлы базы данных следующие:
databases/main/001/234/database.db
databases/descriptors/001/234/descriptors.db.gz
images/
КаталогВ этом каталоге хранятся изображения и метаданные изображений для каждой сцены. Сцена представлена ее идентификационным номером сцены, как описано в разделе «Папки сцен».
Каталог images/
имеет размер 3,2 ТБ.
Сцена может иметь любое количество подкатегорий. Каждая подкатегория содержит изображения, 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 МБ), который представляет собой каталог, содержащий файлы JSON с информацией о подкатегориях для сцен с хотя бы одной подкатегорией.wikidata/
(4,5 ГБ), каталог, содержащий файлы JSON для всех записей Викиданных, связанных со сценой или их иерархическими классами.categories.json
(19,2 МБ), который представляет собой словарь, который сопоставляет название категории Wikimedia Commons с идентификатором сцены.images_index.parquet
(~230 МБ), который представляет собой табличный индекс всех изображений в MegaScenes. Информация о подкатегории находится в каталоге metadata/subcat/
. Этот каталог организован по идентификационному номеру сцены, как описано в разделе «Папки сцен».
Сцена присутствует в metadata/subcat/
только в том случае, если она имеет хотя бы одну категорию помимо основной категории. Такая сцена будет иметь файл subcats.json
для представления данных подкатегории.
Файл subcats.json
представляет собой словарь, содержащий следующие поля:
main_category
: строка названия категории верхнего уровня Wikimedia Commons.graph
: словарь, отображающий категорию Wikimedia Commons в список ее прямых подкатегорий. Категория будет ключевой на 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 в искусстве не имеет подкатегорий, поэтому список пустой. Напротив, категория «Исторические изображения Арко дельи Арджентари» имеет подкатегорию «Арко дельи Арджентари» в искусстве.
Список границ пуст, а это означает, что этот граф подкатегорий развернут полностью.
Мы предоставляем таблицу, которая индексирует изображения в MegaScenes, по адресу s3://megascenes/metadata/images_index.parquet
(загрузка HTTPS) (~ 230 МБ). Файлы Parquet хранят табличные данные так же, как файлы CSV, но они более компактны и быстрее читаются. Их можно прочитать с помощью библиотек данных Python, таких как 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 определяют три подпапки, в которых можно найти информацию JSON Викиданных. Если Q-ID содержит менее трех цифр, то его JSON находится в папкеother other/
. В отличие от идентификаторов сцен, это число НЕ дополняется нулями.
JSON для элемента Викиданных с Q-ID Q1234
находится по адресу metadata/wikidata/1/2/3/Q1234.json
.
JSON для элемента Викиданных с Q-ID Q12
находится по адресу metadata/wikidata/other/Q12.json
.
Документацию по JSON можно найти на этой странице Wikibase JSON.
Дополнительные инструменты для анализа этого JSON можно найти на странице Викиданных «Доступ к данным».
reconstruct/
Каталог Этот каталог содержит реконструкции разреженного облака точек COLMAP для каждой сцены. Каталог reconstruct/
организован по сценам в соответствии с идентификационным номером сцены, как описано в разделе «Папки сцен». Каждая реконструкция состоит из images.bin
, cameras.bin
и points3D.bin
, как описано здесь. Сцена может иметь ноль или более реконструкций; папка reconstruct/
содержит только сцены с одним или несколькими.
Папка reconstruct/
имеет размер 429 ГБ.
Предположим, сцена с 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 (требуется установка 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/
.Каждая сцена основана на категории Wikimedia Commons. Например, сцена «Триумфальная арка_де_Этуаль» использует изображения из Категории:Триумфальная арка Этуаль и ее подкатегорий. В названиях сцен MegaScenes используются символы подчеркивания вместо пробелов, но они взаимозаменяемы при использовании в URL-адресах Wikimedia Commons.
Файл s3://megascenes/metadata/categories.json
(HTTP-ссылка) связывает имя категории с идентификатором сцены.
Если вы обнаружите какие-либо неверные реконструкции или у вас есть улучшения для набора данных, создайте проблему на GitHub или пост для обсуждения.
Этот набор данных доступен под лицензией Creative Commons Attribution 4.0 International License. Фотографии в папке images/
имеют собственные лицензии.