{"id":32976571,"url":"https://github.com/HsinYingLee/OPN","last_synced_at":"2025-11-16T08:01:52.393Z","repository":{"id":181263228,"uuid":"96578124","full_name":"HsinYingLee/OPN","owner":"HsinYingLee","description":null,"archived":false,"fork":false,"pushed_at":"2018-04-26T13:00:18.000Z","size":11,"stargazers_count":46,"open_issues_count":8,"forks_count":13,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-07-05T15:52:22.212Z","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/HsinYingLee.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}},"created_at":"2017-07-07T21:32:50.000Z","updated_at":"2024-01-04T16:15:30.000Z","dependencies_parsed_at":"2023-07-14T17:54:39.385Z","dependency_job_id":null,"html_url":"https://github.com/HsinYingLee/OPN","commit_stats":null,"previous_names":["hsinyinglee/opn"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/HsinYingLee/OPN","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsinYingLee%2FOPN","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsinYingLee%2FOPN/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsinYingLee%2FOPN/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsinYingLee%2FOPN/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HsinYingLee","download_url":"https://codeload.github.com/HsinYingLee/OPN/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsinYingLee%2FOPN/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284678558,"owners_count":27045646,"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","status":"online","status_checked_at":"2025-11-16T02:00:05.974Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-11-13T06:00:31.219Z","updated_at":"2025-11-16T08:01:52.388Z","avatar_url":"https://github.com/HsinYingLee.png","language":"Python","funding_links":[],"categories":["Computer Vision"],"sub_categories":["Image Representation Learning"],"readme":"# Unsupervised Representation Learning by Sorting Sequence (ICCV 2017)\n[Hsin-Ying Lee](http://vllab1.ucmerced.edu/~hylee/),\n[Jia-Bin Huang](https://filebox.ece.vt.edu/~jbhuang/),\n[Maneesh Kumar Singh](https://scholar.google.com/citations?user=hdQhiFgAAAAJ),\nand [Ming-Hsuan Yang](http://faculty.ucmerced.edu/mhyang/)\n\nIEEE International Conference on Computer Vision, ICCV 2017\n\n### Table of Contents\n1. [Introduction](#introduction)\n1. [Citation](#citation)\n1. [Requirements and Dependencies](#requirements)\n1. [Models and Training Data](#models-and-training-data)\n1. [Training](#training)\n1. [Testing](#testing)\n\n### Introduction\nThe Order Prediction Network (OPN) is a model that performs representation learning using unlabeled videos. Our method leverage temporal coherence as a supervisory signal by formulating representation learning as a sequence sorting task. The experimental results show that our method compares favorably against state-of-the-art methods on action recognition, image classification and object detection tasks. For more details and evaluation results, please check out our [project webpage](http://vllab.ucmerced.edu/hylee/OPN/) and [paper](http://vllab.ucmerced.edu/hylee/publication/ICCV17_OPN.pdf).\n\n![teaser](http://vllab.ucmerced.edu/hylee/OPN/images/sorting.gif)\n\n### Citation\nIf you find the code and data useful in your research, please cite:\n    \n    @inproceeding{OPN,\n        author    = {Lee, Hsin-Ying and Huang, Jia-Bin and Singh, Maneesh Kumar and Yang, Ming-Hsuan}, \n        title     = {Unsupervised Representation Learning by Sorting Sequence}, \n        booktitle = {IEEE International Conference on Computer Vision},\n        year      = {2017}\n    }\n\n### Requirements\nRequirements for `Caffe` and `pycaffe` (see: [Caffe installation instructions](http://caffe.berkeleyvision.org/installation.html))\nNote that the Caffe fork needs to support Batch Normalization to run our code.\n\n### Models and Training Data\n**Training Data**\n\n[UCF](http://vllab1.ucmerced.edu/~hylee/OPN/results/UCF_train.mat)  /  [HMDB](http://vllab.ucmerced.edu/hylee/OPN/results/HMDB_train.mat) /   [UCF+HMDB+ACT](http://vllab.ucmerced.edu/hylee/OPN/results/UCF_HMDB_ACT.mat)\n\n**Models**\n\n[Model](http://vllab.ucmerced.edu/hylee/OPN/results/UCF_OPN.caffemodel) Unsupervised trained on UCF\n\n[Model](http://vllab.ucmerced.edu/hylee/OPN/results/UCFHMDBACT_nobn.caffemodel) Unsupervised trained on UCF+HMDB+ACT (for Pascal VOC 2007)\n\n### Training\nThere are a few lines need to be customized in UCF_datalayers.py, including the training data location in L22-L27 and L84-87. The default setting includes all processing like channel splitting and spatial jittering, feel free to comment them out.\n\n        $ $CAFFE_ROOT/build/tool/caffe train -solver prototxt/solver_opn.prototxt\n### Testing\n\n**Visualization**\n\n        $ python visualize.py $MODEL $OUTPUT_FIG\n        \n**Action Recognition**\nThe testing on the UCF-101 and HMDB-51 datasets follows the testing sceme of the [original two-stream ConvNets](https://arxiv.org/pdf/1406.2199.pdf), where we sample 25 RGB frames from each video. From each of the frames we then obtain 10 inputs by cropping and flipping four corners and the center of the frame. \n\n**Pascal VOC 2007 Classification**\nThe training and testing codes are from [https://github.com/philkr/voc-classification](https://github.com/philkr/voc-classification).\n\n**Pascal VOC 2007 Detection**\nThe training and testing codes are from [https://github.com/rbgirshick/fast-rcnn](https://github.com/rbgirshick/fast-rcnn)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHsinYingLee%2FOPN","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHsinYingLee%2FOPN","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHsinYingLee%2FOPN/lists"}