No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data
photoshape
README.md

README.md

PhotoShape

This is a partial release of our data. We plan on releasing code to process and create this data as well. In the meantime, please contact the authors if you have any questions.

Created by Keunhong Park, Konstantinos Rematas, Ali Farhadi, and Steven M. Seitz.

[Project Page] [arXiv]

Citing PhotoShape

If you find PhotoShape useful, please consider citing:

@article{photoshape2018,
 author = {Park, Keunhong and Rematas, Konstantinos and Seitz, Steven M. and Farhadi, Ali},
 title = {PhotoShape: Photorealistic Materials for Large-Scale Shape Collections},
 journal = {ACM Trans. Graph.},
 issue_date = {November 2018},
 volume = {37},
 number = {6},
 month = nov,
 year = {2018},
 articleno = {192},
} 

Getting Started

We try to provide everything required to get up and running, but due to licensing and copyright restrictions you will have to download/purchase some data directly from the source.

# Clone this repository
git clone --recursive git@github.com:keunhong/photoshape.git

# Extract metadata
cd data && tar xvzf metadata.tar.gz && cd ..

Data Sets

Exemplar Images

Please contact us if you need the exemplar images.

Shapes

Herman Miller

You will have to download and process Herman Miller 3D shapes. Please review their terms of use before proceeding.

cd data/hermanmiller

# This will download zip files to the zip directory and then 
# extract *.3ds models to the extracted directory.
bash download.sh

ShapeNet

Download the ShapeNetCore.v2.zip file from the ShapeNet website and extract it somewhere.

We will provide code to post-process the shapes.

Materials

Adobe Stock

Materials from Adobe Stock are subject to copyright and must be downloaded from their source. Please refer to the source_url field in materials.json.

Place the extracted materials sorted by substance type in the data/materials/adobe-stock directory.

Adobe stock materials should look like this:

adobe-stock/fabric/AdobeStock_125038380
├── denim_track_rough
│   ├── denim_track_rough_basecolor.png
│   ├── denim_track_rough_height.png
│   ├── denim_track_rough_metallic.png
│   ├── denim_track_rough_normal.png
│   └── denim_track_rough_roughness.png
└── denim_track_rough.mdl

Poliigon

Materials from Poliigon are subject to copyright and must be downloaded from their source. Please refer to the source_url field in materials.json.

Place the extracted materials sorted by substance type in the data/materials/poliigon directory.

Download the 1K version of the materials. Poliigon materials should look like this:

poliigon/fabric/FabricCanvas001_1k
├── FabricCanvas001_COL_VAR1_1K.jpg
├── FabricCanvas001_COL_VAR2_1K.jpg
├── FabricCanvas001_DISP_1K.jpg
├── FabricCanvas001_GLOSS_1K.jpg
├── FabricCanvas001_NRM_1K.jpg
├── FabricCanvas001_OBJECTID_1K.png
└── FabricCanvas001_REFL_1K.jpg

Aittala Beckmann

We provide materials adapted from Aittala et al. and scanned ourselves. These SVBRDFs have been adapted from the original Aittala BRDF to the Beckmann model in order to support rendering using Blender.

Download the files and extract to data/materials.

curl -L -O https://homes.cs.washington.edu/~kpar/photoshape/materials-500x500/aittala-beckmann.tar.gz
tar xvzf aittala-beckmann.tar.gz

V-Ray Materials

Materials from vray-material.de.

Download the files and extract to data/materials.

curl -L -O https://homes.cs.washington.edu/~kpar/photoshape/materials-500x500/vray-materials-de.tar.gz
tar xvzf vray-materials-de.tar.gz

Parametric Materials

Materials with type BLINN_PHONG and PRINCIPLED are defined in the params field of each material in materials.json.

Metadata

We've process our data using PostgreSQL. For your convenience we've exported the data in an easier to use collection of JSON files found in data/*.json.

shapes.json

This file contains meta-data regarding the 3D shapes used in this project.

Fields

  • id: the unique identifier for the shape
  • source: the source of the shape (either shapenet or hermanmiller)
  • source_id: the identifier from the source
  • category: the object category of the shape (e.g., chair, cabinet, etc.)
  • split_set: our train/validation split used for training our material classifier
  • azimuth_correction: a correction to the azimuth of the model orientation used to create preview renderings

exemplars.json

Contains meta-data regarding the exemplar images.

pairs.json

Contains meta-data for Exemplar-Shape pairs.

Fields

  • id: a unique identifier for the pair
  • shape_id: the id for the shape associated with this pair
  • exemplar_id: the id for the exemplar associated wiith this pair
  • fov: the field of view of the aligned camera
  • azimuth: the azimuthal angle in radians of the aligned camera
  • elevation: the elevation angle in radians of the aligned camera
  • rank: the rank of this pair in terms of HoG distance between the shape and exemplar.

materials.json

Contains meta-data for the materials.

Fields

  • id: the unique identifier for the material
  • name: a name for the material
  • type: the type of BRDF. One of: POLIIGON, MDL, VRAY, BLINN_PHONG, AITTALA_BECKMANN, PRINCIPLED
  • author: the author of the material
  • source: the source of the material (e.g., poliigon, adobe_stock, aittala, merl, etc.)
  • source_id: the unique identifier from the source
  • source_url: the URL the material can be downloaded from
  • default_scale: the UV mapping should be scaled by 2^s where s is this value

Notes

  • MDL is the NVIDIA material definition language.
  • PRINCIPLED materials are the Disney principled BRDF as implemented in Blender.
  • AITTALA_BECKMANN materials are the Aittala TwoShot SVBRDF materials fitted to the Beckmann model as implemented in Blender.
  • For BLINN_PHONG and PRINCIPLED materials, the params field will contain the material properties.
  • For MDL materials, the params field will contain material properties and/or locations of textures.

labels.json

This contains the mapping from material_id to output class labels for the material classifier.