{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/unsupervised-learning-of-video-1","title":"Unsupervised Learning of Video Representations via Dense Trajectory Clustering","arxiv_id":"2006.15731","date":"2020-06-28","proceeding":null,"authors":["Pavel Tokmakov","Martial Hebert","Cordelia Schmid"],"abstract":"This paper addresses the task of unsupervised learning of representations for action recognition in videos. Previous works proposed to utilize future prediction, or other domain-specific objectives to train a network, but achieved only limited success. In contrast, in the relevant field of image representation learning, simpler, discrimination-based methods have recently bridged the gap to fully-supervised performance. We first propose to adapt two top performing objectives in this class - instance recognition and local aggregation, to the video domain. In particular, the latter approach iterates between clustering the videos in the feature space of a network and updating it to respect the cluster with a non-parametric classification loss. We observe promising performance, but qualitative analysis shows that the learned representations fail to capture motion patterns, grouping the videos based on appearance. To mitigate this issue, we turn to the heuristic-based IDT descriptors, that were manually designed to encode motion patterns in videos. We form the clusters in the IDT space, using these descriptors as a an unsupervised prior in the iterative local aggregation algorithm. Our experiments demonstrates that this approach outperform prior work on UCF101 and HMDB51 action recognition benchmarks. We also qualitatively analyze the learned representations and show that they successfully capture video dynamics.","url_abs":"https://arxiv.org/abs/2006.15731v1","url_pdf":"https://arxiv.org/pdf/2006.15731v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"unsupervised-learning-of-video-1","repo_url":"https://github.com/pvtokmakov/video_cluster","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"action-recognition-in-videos","task_name":"Action Recognition"},{"task_slug":"action-recognition-in-videos-2","task_name":"Action Recognition In Videos"},{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"future-prediction","task_name":"Future prediction"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"trajectory-clustering","task_name":"Trajectory Clustering"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2006.15731","atlas_url":"https://app.syntology.ai/?focus=2006.15731","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.15731"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pvtokmakov/video_cluster","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":4},"by_repo_kind":{"official":{"samples":4,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"90326a7e43330ee5","entry":"calculate_accuracy","repo":"pvtokmakov/video_cluster","repo_kind":"official","path":"3D-ResNet/utils.py","file_url":"https://github.com/pvtokmakov/video_cluster/blob/HEAD/3D-ResNet/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"90326a7e43330ee5"}},{"code_sha256_prefix":"e83fbcc5be03a1f6","entry":"get_mean","repo":"pvtokmakov/video_cluster","repo_kind":"official","path":"3D-ResNet/mean.py","file_url":"https://github.com/pvtokmakov/video_cluster/blob/HEAD/3D-ResNet/mean.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e83fbcc5be03a1f6"}},{"code_sha256_prefix":"9533d248536bab4a","entry":"get_std","repo":"pvtokmakov/video_cluster","repo_kind":"official","path":"3D-ResNet/mean.py","file_url":"https://github.com/pvtokmakov/video_cluster/blob/HEAD/3D-ResNet/mean.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9533d248536bab4a"}},{"code_sha256_prefix":"4a7c82f20a853d09","entry":"load_value_file","repo":"pvtokmakov/video_cluster","repo_kind":"official","path":"3D-ResNet/utils.py","file_url":"https://github.com/pvtokmakov/video_cluster/blob/HEAD/3D-ResNet/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4a7c82f20a853d09"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}