{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/single-image-svbrdf-capture-with-a-rendering","title":"Single-Image SVBRDF Capture with a Rendering-Aware Deep Network","arxiv_id":"1810.09718","date":"2018-10-23","proceeding":null,"authors":["Valentin Deschaintre","Miika Aittala","Fredo Durand","George Drettakis","Adrien Bousseau"],"abstract":"Texture, highlights, and shading are some of many visual cues that allow humans to perceive material appearance in single pictures. Yet, recovering spatially-varying bi-directional reflectance distribution functions (SVBRDFs) from a single image based on such cues has challenged researchers in computer graphics for decades. We tackle lightweight appearance capture by training a deep neural network to automatically extract and make sense of these visual cues. Once trained, our network is capable of recovering per-pixel normal, diffuse albedo, specular albedo and specular roughness from a single picture of a flat surface lit by a hand-held flash. We achieve this goal by introducing several innovations on training data acquisition and network design. For training, we leverage a large dataset of artist-created, procedural SVBRDFs which we sample and render under multiple lighting directions. We further amplify the data by material mixing to cover a wide diversity of shading effects, which allows our network to work across many material classes. Motivated by the observation that distant regions of a material sample often offer complementary visual cues, we design a network that combines an encoder-decoder convolutional track for local feature extraction with a fully-connected track for global feature extraction and propagation. Many important material effects are view-dependent, and as such ambiguous when observed in a single image. We tackle this challenge by defining the loss as a differentiable SVBRDF similarity metric that compares the renderings of the predicted maps against renderings of the ground truth from several lighting and viewing directions. Combined together, these novel ingredients bring clear improvement over state of the art methods for single-shot capture of spatially varying BRDFs.","url_abs":"https://arxiv.org/abs/1810.09718v1","url_pdf":"https://arxiv.org/pdf/1810.09718v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"single-image-svbrdf-capture-with-a-rendering","repo_url":"https://github.com/valentin-deschaintre/Single-Image-SVBRDF-Capture-rendering-loss","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1810.09718","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1810.09718"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/valentin-deschaintre/Single-Image-SVBRDF-Capture-rendering-loss","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":3,"ran":1,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"3ba6aec873833b39","entry":"int_shape","repo":"valentin-deschaintre/Single-Image-SVBRDF-Capture-rendering-loss","repo_kind":"official","path":"material_net.py","file_url":"https://github.com/valentin-deschaintre/Single-Image-SVBRDF-Capture-rendering-loss/blob/HEAD/material_net.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3ba6aec873833b39"}},{"code_sha256_prefix":"4288f8e325eb43a4","entry":"deprocess","repo":"valentin-deschaintre/Single-Image-SVBRDF-Capture-rendering-loss","repo_kind":"official","path":"material_net.py","file_url":"https://github.com/valentin-deschaintre/Single-Image-SVBRDF-Capture-rendering-loss/blob/HEAD/material_net.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4288f8e325eb43a4"}},{"code_sha256_prefix":"7b296d580bba710b","entry":"preprocess","repo":"valentin-deschaintre/Single-Image-SVBRDF-Capture-rendering-loss","repo_kind":"official","path":"material_net.py","file_url":"https://github.com/valentin-deschaintre/Single-Image-SVBRDF-Capture-rendering-loss/blob/HEAD/material_net.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7b296d580bba710b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}