{"id":28617608,"url":"https://github.com/dwithchenna/sfm","last_synced_at":"2025-06-12T03:32:35.738Z","repository":{"id":93234579,"uuid":"167667290","full_name":"dwithchenna/SfM","owner":"dwithchenna","description":"Structure from Motion (SfM) using Factorization Method","archived":false,"fork":false,"pushed_at":"2019-07-18T03:31:34.000Z","size":54409,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-06T23:35:33.409Z","etag":null,"topics":["factorization","from","klt","motion","sfm","structure","tracking-algorithm"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dwithchenna.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2019-01-26T08:33:55.000Z","updated_at":"2023-05-25T05:58:27.000Z","dependencies_parsed_at":"2023-03-04T02:45:34.955Z","dependency_job_id":null,"html_url":"https://github.com/dwithchenna/SfM","commit_stats":null,"previous_names":["dwithchenna/sfm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dwithchenna/SfM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dwithchenna%2FSfM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dwithchenna%2FSfM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dwithchenna%2FSfM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dwithchenna%2FSfM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dwithchenna","download_url":"https://codeload.github.com/dwithchenna/SfM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dwithchenna%2FSfM/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259389869,"owners_count":22850107,"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":["factorization","from","klt","motion","sfm","structure","tracking-algorithm"],"created_at":"2025-06-12T03:31:06.895Z","updated_at":"2025-06-12T03:32:35.726Z","avatar_url":"https://github.com/dwithchenna.png","language":"MATLAB","readme":"## Project Title\r\n\r\nProject implements shape and motion from image stream using factorization method\r\n\r\n## Getting Started\r\n\r\nThis project implements factorization method for estimation of object shape and camera motion from image stream. \r\nFactorization method relies on good feature selection and tracking algorithm. In this we use minimum eigen values as feature, \r\nKLT feature tracker on medusa image sequence.\r\n\r\n## Framework used\r\n\r\nMatlab\r\n\r\n## Implementation\r\n\r\nWe track P points through F frames of images, which is used to build 2FxP matrix called measurement matrix (W). \r\nThe rotation and translation are measured w.r.t centroid of the object which enables the application of rank theorem []\r\nThe rotation matrix is defined by: 1) Rotation (R) of dimensions: 2Fx3 and 2) Translation (T) of dimensions: 3xP\r\n\r\nWe apply factorization method by computing SVD decomposition to estimate the rotation and translation matrix. \r\nWe use orthographic projection as assumptions for solving for matrix Q. For more details about the algorithms available in the paper [1]\r\n\r\n\r\n## Medusa Image Sequence\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg width=\"460\" height=\"300\" src=\"https://github.com/cyndwith/SfM/blob/master/Images/Medussa.PNG\"\u003e\r\n\u003c/p\u003e\r\n\r\n## Feature Tracking (KLT)\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg width=\"460\" height=\"300\" src=\"https://github.com/cyndwith/SfM/blob/master/Images/KLT_Features.PNG\"\u003e\r\n\u003c/p\u003e  \r\n\r\n\u003cinclude links for images\u003e\r\n\r\n\r\n## Structure from Motion (SfM)\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg width=\"460\" height=\"300\" src=\"https://github.com/cyndwith/SfM/blob/master/Images/SfM_points.PNG\"\u003e\r\n\u003c/p\u003e  \r\n\r\n## References\r\n[1] C. Tomasi and T. Kanade, \"Shape and motion from image streams under orthography-- a\r\nfactorization method,\" International Journal of Computer Vision, 9(2):137--154, 1992.\r\n\r\n[2] Implementation of KLT feature tracking algorithm, https://www.mathworks.com /help/vision/examples/face-detection-and-tracking-using-the-klt-algorithm.html\r\n\r\n\r\n  \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdwithchenna%2Fsfm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdwithchenna%2Fsfm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdwithchenna%2Fsfm/lists"}