{"id":24491954,"url":"https://github.com/abhisheknair10/nerf.3d","last_synced_at":"2025-03-15T02:27:08.704Z","repository":{"id":237389229,"uuid":"737541375","full_name":"abhisheknair10/nerf.3d","owner":"abhisheknair10","description":"An implementation of Neural Radiance Field from the ground up for 3D Reconstruction of Scenes","archived":false,"fork":false,"pushed_at":"2024-05-11T19:40:01.000Z","size":3983,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T18:21:35.504Z","etag":null,"topics":["computer-vision","machine-learning","nerf"],"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/abhisheknair10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-31T12:53:36.000Z","updated_at":"2025-01-21T02:14:29.000Z","dependencies_parsed_at":"2024-05-11T20:31:22.521Z","dependency_job_id":"652f3183-3f97-4579-b084-cc18fe5fa731","html_url":"https://github.com/abhisheknair10/nerf.3d","commit_stats":null,"previous_names":["abhisheknair10/neural-radiance-field","abhisheknair10/nerf.3d"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhisheknair10%2Fnerf.3d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhisheknair10%2Fnerf.3d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhisheknair10%2Fnerf.3d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abhisheknair10%2Fnerf.3d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abhisheknair10","download_url":"https://codeload.github.com/abhisheknair10/nerf.3d/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243673907,"owners_count":20329003,"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":["computer-vision","machine-learning","nerf"],"created_at":"2025-01-21T18:20:25.284Z","updated_at":"2025-03-15T02:27:08.697Z","avatar_url":"https://github.com/abhisheknair10.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Neural Radiance Field NeRF\n\nNeural Radiance Field or NeRF is a technique to represent a scene in the form of a network of encoded information. In theory, it takes a series of images taken from different positions and perspectives of an object, and from a learned function, is able to produce novel views of the object. This technique was first introduced in the paper [NeRF: Representing Scenes as Neural Radiance Field for View Synthesis](https://arxiv.org/abs/2003.08934) by Ben Mildenhall et al. in 2020.\n\nThis repository is an implementation of the ideas and techniques presented in the paper. \n\n## Intuition - Understanding the Paper\n\nThe abstract of the NeRF paper outlines the core concept of representing a scene using a deep fully connected neural network. The approach involves creating an encoded representation of a scene by training a deep neural network on a sparse set of images captured from various perspectives. Each image in the dataset is associated with known camera extrinsic and intrinsic parameters, enabling the explicit calculation of color and density properties of 3D points on light rays passing through the scene.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"Assets/nerf-main.png\" width=\"600\"\u003e\n\u003c/p\u003e\n\nThe encoded representation allows the NeRF model to predict scene properties, such as color and density, for any point in space given its coordinates and the viewing direction. By overfitting the network to the sparse set of images, NeRF \"achieves high-fidelity rendering of scenes and enables the generation of novel views from arbitrary camera positions and orientations\".\n\nIn essence, NeRFs are simple $Query$ $Resolvers$ where resolution of a query involves marching along a ray in 3D space and looking up the network for the color and density. Using a deep neural network helps in extrapolating and predicting what the properties of a certain point in space would be, given the known properties of the points around it.\n\nInputs:\n  - 3D point in space ($x$, $y$, $z$)\n  - Viewing direction in spherical coordinates ($\\theta$, $\\phi$)\n\nOutputs:\n  - Color ($r$, $g$, $b$)\n  - Density ($\\sigma$) \n\nBy batching up different positions along a straight line along a viewing direction, we get a graph representing the color and density properties along the ray. \n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"Assets/ray-plot.png\" width=\"600\"\u003e\n\u003c/p\u003e\n\nWe integrate the color and density properties along the ray, essentially calculating the weighted sum of the color and density values at each point along the ray, yielding the final color of the ray corresponding to the pixel in the image.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhisheknair10%2Fnerf.3d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabhisheknair10%2Fnerf.3d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhisheknair10%2Fnerf.3d/lists"}