This code is a pytorch implementation of the unsupervised object detection method introduced in our paper "A Self supervised Learning System for Object Detection in Videos Using Random Walks on Graphs".
https://arxiv.org/abs/2011.05459\
- Python 3.7
- pytorch 1.5
- torchvision 0.6
- cuda 10
We provide an example on CORe50 datasets: \
- Download the datasets "cropped_128x128_images.zip" on https://vlomonaco.github.io/core50/index.html#download
- Under the project root RWS/, run:
source setup.sh
- Under RWS/script/CORe50/data_processing/, provide data path in the data_processing.sh file. Then, run:
sh data_processing.sh
- Under RWS/script/CORe50/graph_construction/ run:
To visualize the similarity graph, run:
sh build_graph.sh
python graph_viz
- Under RWS/script/CORe50/train/, run:
Then, run:
sh random_walk_sampling.sh
sh train.sh
- To evaluate the trained projection layers, under RWS/script/CORe50/evaluate/ run:
sh unsupervised_cluster.sh
Is you find the method useful, please consider cite the paper:
@misc{tan2020selfsupervised,
title={A Self-supervised Learning System for Object Detection in Videos Using Random Walks on Graphs},
author={Juntao Tan and Changkyu Song and Abdeslam Boularias},
year={2020},
eprint={2011.05459},
archivePrefix={arXiv},
primaryClass={cs.CV}
}