{"id":18600802,"url":"https://github.com/autonomousvision/texture_fields","last_synced_at":"2025-04-10T18:31:39.123Z","repository":{"id":47871035,"uuid":"217286350","full_name":"autonomousvision/texture_fields","owner":"autonomousvision","description":"This repository contains code for the paper 'Texture Fields: Learning Texture Representations in Function Space'.","archived":false,"fork":false,"pushed_at":"2020-03-30T18:18:52.000Z","size":5146,"stargazers_count":118,"open_issues_count":6,"forks_count":18,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-25T03:01:37.494Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/autonomousvision.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-10-24T11:49:08.000Z","updated_at":"2025-03-12T22:06:26.000Z","dependencies_parsed_at":"2022-08-12T13:51:03.522Z","dependency_job_id":null,"html_url":"https://github.com/autonomousvision/texture_fields","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autonomousvision%2Ftexture_fields","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autonomousvision%2Ftexture_fields/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autonomousvision%2Ftexture_fields/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autonomousvision%2Ftexture_fields/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/autonomousvision","download_url":"https://codeload.github.com/autonomousvision/texture_fields/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248271767,"owners_count":21075800,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T02:05:40.830Z","updated_at":"2025-04-10T18:31:35.412Z","avatar_url":"https://github.com/autonomousvision.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Texture Fields\n\u003cdiv style=\"text-align: center\"\u003e\n\u003cimg src=\"gfx/clips/header.png\" width=\"40%\" /\u003e\n\u003cimg src=\"gfx/clips/blackroof.gif\" width=\"40%\" /\u003e\n\u003c/div\u003e\n\nThis repository contains code for the paper 'Texture Fields: Learning Texture Representations in Function Space'.\n\nYou can find detailed usage instructions for training your own models and using pretrained models below.\n\nIf you find our code or paper useful, please consider citing\n\n    @inproceedings{OechsleICCV2019,\n        title = {Texture Fields: Learning Texture Representations in Function Space},\n        author = {Oechsle, Michael and Mescheder,Lars and Niemeyer, Michael and Strauss, Thilo and Geiger, Andreas},\n        booktitle = {Proceedings IEEE International Conf. on Computer Vision (ICCV)},\n        year = {2019}\n    }\n\n## Installation\nThe simplest way to run our implementation is to use [anaconda](https://www.anaconda.com/). \n\nYou can create an anaconda environment called `texturefields` with\n```\nconda env create -f environment.yaml\nconda activate texturefields\n```\n\n## Demo\n\nIf you just want to quickly test our method on the single view reconstruction task, you can run our demo with \n```\npython generate.py configs/singleview/texfields/car_demo.yaml \n```\n\nThe script is using a pre-trained model for reconstructing the texture of the car object provided in `data/demo/`. You can find predicted images in `out/demo/fake/`.\n\n## Dataset\nFor downloading the preprocessed data, run the following script. \n```\nsource ./scripts/download_data.sh\n```\nWe just provide data for the car category with a file size of 33 GB.\nThe dataset is copied to the `data/` folder. For each 3D object we have 17 input views, 10 random views with corresponding depth maps and camera information. The train, test and validation splits are located in the main sub folder of the categories. For visualization, we provide renderings from fixed views in th `visualize` subfolder.\nData structure:\n____\ndata/shapenet/data_cars/{ModelID}/\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; input_image/ \\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; image/\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; depth/\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; visualize/\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; image/\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; depth/\\\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; pointcloud.npz\n____\n\n## Usage\nYou can use our implementation for training, generation and evaluation. For each mode there is a corresponding file that needs to be run. \n\n### Generation\n#### Single View Texture Reconstruction\nFor testing our method, you can generate novel views by running\n```\npython generate.py CONFIG.yaml\n```\nCONFIG.yaml stands for the path to a config file.\nFor generation, you can choose whether the views are from random views or fixed views on a circle around the object. If you would like to use random views you can add to the config file\n```\ntest:\n  dataset_split: 'test_eval' \n ```\nto the config file. For evaluating fixed views, you can replace the option with `'test_vis'`.\nFor the evaluation we use the random views.\nExample of config files can be found in\n```\nconfigs/singleview/car.yaml\nconfigs/singleview/car_eval_rnd.yaml\n```\n\n#### Generative Model\nYou can run our generative models by executing\n```\npython generate.py configs/VAE/000_eval_fix.yaml\n```\nfor the GAN\n```\npython generate.py configs/GAN/000_eval_fix.yaml\n```\nfor predicting novel texture in\n```\nout/VAE/car/eval_fix/\nout/GAN/car/eval_fix/\n```\n\n### Evaluation\nYou can evaluate the performance of our method on the single view reconstruction task by running\n```\npython generate.py configs/singleview/car_eval_rnd.yaml\npython evaluate.py configs/singleview/car_eval_rnd.yaml\n```\nThe script writes the results into the respective output folder.\n```\nout/singleview/car/eval_rnd/\n```\n\n### Training\nFor training a model from scratch run \n```\npython train.py CONFIG.yaml\n```\nin the conda environement.\nPlease set the following option in the config file:\n```\nmodel:\n  model_url:\n```\nSo that pre-trained model are not loaded.\nThe training process can be visualized with tensorboard. The logfiles are saved to the `logs` folder in the output directory.\n```\ntensorboard --logdir ./out --port 6006\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautonomousvision%2Ftexture_fields","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautonomousvision%2Ftexture_fields","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautonomousvision%2Ftexture_fields/lists"}