{"id":13665188,"url":"https://github.com/xiaolonw/TimeCycle","last_synced_at":"2025-04-26T08:31:43.354Z","repository":{"id":88270054,"uuid":"177499233","full_name":"xiaolonw/TimeCycle","owner":"xiaolonw","description":"Learning Correspondence from the Cycle-consistency of Time (CVPR 2019)","archived":false,"fork":false,"pushed_at":"2019-06-26T03:56:42.000Z","size":10551,"stargazers_count":719,"open_issues_count":9,"forks_count":113,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-08-03T06:01:45.004Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xiaolonw.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}},"created_at":"2019-03-25T02:21:21.000Z","updated_at":"2024-07-15T15:57:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"e12f53e6-fb6f-49fa-8a49-65f36449b1ab","html_url":"https://github.com/xiaolonw/TimeCycle","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/xiaolonw%2FTimeCycle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaolonw%2FTimeCycle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaolonw%2FTimeCycle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaolonw%2FTimeCycle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiaolonw","download_url":"https://codeload.github.com/xiaolonw/TimeCycle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224031926,"owners_count":17244361,"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-08-02T06:00:26.312Z","updated_at":"2024-11-11T00:30:32.372Z","avatar_url":"https://github.com/xiaolonw.png","language":"Python","funding_links":[],"categories":["2019","Computer Vision"],"sub_categories":["CVPR","Video Representation Learning"],"readme":"# TimeCycle\n\nCode for [Learning Correspondence from the Cycle-consistency of Time (CVPR 2019, Oral)](https://arxiv.org/abs/1903.07593). The code is developed based on the [PyTorch](https://pytorch.org/) framework, in version PyTorch 0.4 with Python 2. It also runs smoothly with PyTorch 1.0. This repo includes the training code for learning semi-dense correspondence from unlabeled videos, and testing code for applying this correspondence on segmentation mask tracking in videos.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"figures/horsepano.jpg\" width=\"700px\" /\u003e\n\u003c/div\u003e\n\n\n## Citation\nIf you use our code in your research or wish to refer to the baseline results, please use the following BibTeX entry.\n```\n@inproceedings{CVPR2019_CycleTime,\n    Author = {Xiaolong Wang and Allan Jabri and Alexei A. Efros},\n    Title = {Learning Correspondence from the Cycle-Consistency of Time},\n    Booktitle = {CVPR},\n    Year = {2019},\n}\n```\n\n## Model and Result\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"figures/1.gif\" width=\"33%\" /\u003e\n  \u003cimg src=\"figures/2.gif\" width=\"33%\" /\u003e\n  \u003cimg src=\"figures/3.gif\" width=\"33%\" /\u003e\n\u003c/p\u003e\n\nOur trained model can be downloaded from [here](https://drive.google.com/file/d/1jKwP6qOoEFhhr9WFL_mfXvk0IHtElsmB/view?usp=sharing). The tracking performance on DAVIS-2017 for this model (without training on DAVIS-2017) is:\n\n| cropSize | J_mean | J_recall | J_decay | F_mean | F_recall | F_decay |\n| ------------- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |\n| 320 x 320 | 0.419 | 0.409 | 0.272 | 0.394 | 0.336 | 0.328 |\n| 400 x 400 | 0.430 | 0.437 | 0.296 | 0.426 | 0.413 | 0.356 |\n| 480 x 480 | 0.464 | 0.500 | 0.332 | 0.500 | 0.480 | 0.379 |\n\nNote that one can easily improve the results in test time by increasing the input image size \"cropSize\" in the script. The training and testing procedures for this model are described as follows.\n\n## Converting Our Model to Standard Pytorch ResNet-50\n\nPlease see [`convert_model.ipynb`](convert_model.ipynb) for converting our model [here](https://drive.google.com/file/d/1jKwP6qOoEFhhr9WFL_mfXvk0IHtElsmB/view?usp=sharing) to standard Pytorch ResNet-50 model format.\n\n\n## Dataset Preparation\n\nPlease read [`DATASET.md`](DATASET.md) for downloading and preparing the VLOG dataset for training and DAVIS dataset for testing.\n\n## Training\nReplace the input list in train_video_cycle_simple.py in the home folder as:\n```Shell\n    params['filelist'] = 'YOUR_DATASET_FOLDER/vlog_frames_12fps.txt'\n```\nThen run the following code:\n```Shell\n    python train_video_cycle_simple.py --checkpoint pytorch_checkpoints/release_model_simple\n```\n\n## Testing\nReplace the input list in test_davis.py in the home folder as:\n```Shell\n    params['filelist'] = 'YOUR_DATASET_FOLDER/davis/DAVIS/vallist.txt'\n```\nSet up the dataset path YOUR_DATASET_FOLDER in run_test.sh . Then run the testing and evaluation code together:\n```Shell\n    sh run_test.sh\n```\n\n\n## Acknowledgements\n\n[weakalign](https://github.com/ignacio-rocco/weakalign) by Ignacio Rocco, Relja Arandjelović and Josef Sivic.\n\n[inflated_convnets_pytorch](https://github.com/hassony2/inflated_convnets_pytorch) by Yana Hasson.\n\n[pytorch-classification](https://github.com/bearpaw/pytorch-classification) by Wei Yang.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaolonw%2FTimeCycle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaolonw%2FTimeCycle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaolonw%2FTimeCycle/lists"}