{"id":18792415,"url":"https://github.com/prbonn/tcore","last_synced_at":"2025-04-13T14:31:11.871Z","repository":{"id":231118442,"uuid":"750281996","full_name":"PRBonn/TCoRe","owner":"PRBonn","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-21T08:31:35.000Z","size":16876,"stargazers_count":20,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-21T09:54:04.237Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/PRBonn.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}},"created_at":"2024-01-30T10:45:50.000Z","updated_at":"2024-08-21T08:31:39.000Z","dependencies_parsed_at":"2024-04-02T15:00:50.890Z","dependency_job_id":"e9688f0e-91e5-4627-b9ea-c17145cffbe2","html_url":"https://github.com/PRBonn/TCoRe","commit_stats":null,"previous_names":["prbonn/tcore"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2FTCoRe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2FTCoRe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2FTCoRe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2FTCoRe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PRBonn","download_url":"https://codeload.github.com/PRBonn/TCoRe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223589718,"owners_count":17170030,"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-07T21:19:47.011Z","updated_at":"2025-04-13T14:31:11.862Z","avatar_url":"https://github.com/PRBonn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Efficient and Accurate Transformer-Based 3D Shape Completion and Reconstruction of Fruits for Agricultural Robots\n\nThis repo will contain the code for the fruit completion and reconstruction method proposed in our ICRA'24 paper that you can find at this [link](https://www.ipb.uni-bonn.de/pdfs/magistri2024icra.pdf)\n\n![](pics/teaser.png)\n\nThe main contribution of this paper is a novel approach\nfor completing 3D shapes combining template matching\nwith deep learning. First, we use a 3D sparse convolutional\nbackbone to extract point-wise features. We then aggregate\nsuch features into vertex features and feed them to a transformer decoder that iteratively deforms our template. Such\nan architecture allows us to estimate the complete 3D shape\nof fruits when only a partial point cloud is available\n\n## How to Install\n\u003cdetails\u003e\n  \u003csummary\u003e[Details (click to expand)]\u003c/summary\u003e\nWe tested our code on a system with Ubuntu 22.04 and CUDA 11.8.\n\nFor compatibility reasons, we recommend creating a conda environment with Python 3.9:  \u003cbr\u003e\n`conda create --name tcore python=3.9 \u0026\u0026 conda activate tcore`\n\nInstalling python packages pre-requisites:\n\n`sudo apt install build-essential python3-dev libopenblas-dev` \u003cbr\u003e\n`pip3 install -r requirements.txt`\n\nInstalling MinkowskiEngine:\n\n`pip3 install -U git+https://github.com/NVIDIA/MinkowskiEngine -v --no-deps`  \u003cbr\u003e\nNB: At the moment, MinkowskiEngine is not compatible with python 3.10+, see this [issue](https://github.com/NVIDIA/MinkowskiEngine/issues/526#issuecomment-1855119728)\n\nInstall Pytorch3D:\n\n`pip3 install \"git+https://github.com/facebookresearch/pytorch3d.git\"`\n\nTo setup the code run the following command on the code root directory:\n\n`pip3 install -U -e .`\n\u003c/details\u003e\n\n## How to Run\n\u003cdetails\u003e\n  \u003csummary\u003e[Details (click to expand)]\u003c/summary\u003e\n\n**Train**\n\nRun `python tcore/scripts/train_model.py` to train our approach, where parameters are specified in the config `tcore/config/model.yaml`.\n\nYou can use `--model_cfg_path \u003cpath-to-cfg\u003e` to specify a different configuration file.\n\n**Test**\n\nRun `python tcore/scripts/evaluate_model.py --w \u003cpath-to-checkpoint\u003e` for inference and computing metrics with the directory specified in `tcore/config/model.yaml`.\n\nYou can use `--model_cfg_path \u003cpath-to-cfg\u003e` to specify a different configuration file.\n\u003c/details\u003e\n\n## Running our Approach on Sample Data\n\u003cdetails\u003e\n  \u003csummary\u003e[Details (click to expand)]\u003c/summary\u003e\n\nFor running the demo of our approach, we assume that you are using Ubuntu 22.04 with a CUDA-capable device, but the scripts can be adapted to other platforms.\nWe assume that you are in the root directory of the repository. We prepare a small sample dataset for testing this repo.\n\n1. Download and extract the sample data: `sh scripts/download_data.sh`\n2. Download the checkpoint of our trained model: `sh scripts/download_checkpoint.sh`\n\nThese commands will download the dataset and the checkpoint in `./data/` and `./checkpoints`, respectively. \n\n3. Run the inference on the data: `python tcore/scripts/demo.py --w  checkpoints/pretrained_model.ckpt`\n\nYou should get the following image on your machine:\n![](pics/demo.png)\n\u003c/details\u003e\n\n## How to Cite\n\nIf you use this repo, please cite as:\n\n```bibtex  \n@inproceedings{magistri2024icra,\nauthor = {F. Magistri and R. Marcuzzi and E.A. Marks and M. Sodano and J. Behley and C. Stachniss},\ntitle = {{Efficient and Accurate Transformer-Based 3D Shape Completion and Reconstruction of Fruits for Agricultural Robots}},\nbooktitle = {Proc.~of the IEEE Intl.~Conf.~on Robotics \\\u0026 Automation (ICRA)}, \nyear = 2024,\n}\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprbonn%2Ftcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprbonn%2Ftcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprbonn%2Ftcore/lists"}