Code repository for "It's About Time: Analog clock Reading in the Wild"

Overview

it's about time

Code repository for "It's About Time: Analog clock Reading in the Wild"

Packages required: pytorch (used 1.9, any reasonable version should work), kornia (for homography), einops, scikit-learn (for RANSAC), tensorboardX (for logging)

Using pretrained model:

  • prediction python predict.py will predict on your data (or by default, whatever is in data/demo). This does assume the images being already cropped, we use CBNetv2. (you could instead add something like a yolov5 to the code if you prefer not installing anything extra).
  • evaluation python eval.py (requires dataset) should return the numbers reported in the paper

Training:

  • sh full_cycle.sh should do the job
  • if you want to do it individually, then do use
    • train.py train on SynClock
    • generate_pseudo_labels.py use the model to generate pseudo labels for timelapse
    • train_refine.py train on SynClock+timelapse.
    • The latter two can be repeated iteratively.

Dataset (Train):

  • SynClock is generated on the fly (via SynClock.py)
  • Timelapse will be uploaded later.

Dataset (Eval):

  • COCO and OpenImages: The .csv files in data/ contains the image ids, predicted bbox's (by CBNetV2), gt bbox's, and the manual time label. We will upload this subset later for convenience, but if you already have the respective datasets it should already work.
  • Clock Movies do not contain bbox's. We may not be able to release the data directly due to copyright, but the csv files do contain the image file names, and they are scraped from https://theclock.fandom.com/wiki/Special:NewFiles

Note: src/cyclic_ransac.py is adapted from the source code of scikit-learn (authored by Johannes Schönberger under BSD 3 clause license), to fit a sawtooth wave for cyclic linear data.

Coming soon (early December):

  • video
  • dataset
  • detection
Comments
  • On the problem of time-lapse photographic data set

    On the problem of time-lapse photographic data set

    Thank you for your excellent work. I'm a beginner who just came into contact with this direction. I encountered a problem in the program of labeling delayed video. I didn't find the relevant code for video processing, and when running the source code, I found that the directory of the published timelapse dataset didn't correspond to the given timelapse.txt label file. I thought it was the problem of my directory setting. Please answer it

    opened by zw-2503687 0
  • Some files which names can be find in 'lable.txt' cannot find on Timelapse datasets

    Some files which names can be find in 'lable.txt' cannot find on Timelapse datasets

    Hi! Thanks for your work and it's meaningful and amazing. However, I meet some problems when I run the code you provided.

    1. About generate_pseudo_labels.py, the input needs to be images not video provided on timelapse dataset. So do u do other actions ?
    2. Timelapse data cannot corresponde with released label file (timelapse_label.txt)
    3. During training process, I do not understand the meaning to generate pseudo-labels for training dataset, would't it be better to calibrate it with a well-trained models?
    opened by Vincen-31 1
  • Some question about train STN

    Some question about train STN

    Hi, thank you for your amazing work. I am inspired by your work about alignment the clock. I have tried to use STN for alignment my pointer meter as followings. I picked front meter of each category as a standard meter. And online random homography matrix was generated by code to apply on these standard meters for training STN. My batchsize is 32, and iteration about 120000, trian data is 10000, but the results is not good, and the loss is about 0.5 finally. Could you give my some advice about this task?

    Thanks very much. circle29 circle48 circle129

    opened by xywlpo 4
  • About train_refine

    About train_refine

    Thanks for such a great job! I am implementing train_fine and have doubts about the following code: img = torch.cat([img, img2], 0) hour = torch.cat([hour, hour2], 0) minute = torch.cat([minute, minute2], 0) Why overlay data

    opened by Totorol 1
  • training time

    training time

    Dear authors,

    Thanks for this wonderful work! Could you please let me know your training time (e.g. at how many GPUS) and the total epoch number? Did you set an early stop scheme?

    opened by catherine-qian 1
  • "kornia.geometry.transform.warp_perspective"

    Thanks for sharing the excellent job! In achieving STN, instead of the pytorch tutorials of STN, the codes adopt "kornia.geometry.transform.warp_perspective" to generate new images. I wonder why kornia is adopted, and the differences between the methods.

    opened by cuishuhao 2
Owner
null
This repository will contain the code for the CVPR 2021 paper "GIRAFFE: Representing Scenes as Compositional Generative Neural Feature Fields"

GIRAFFE: Representing Scenes as Compositional Generative Neural Feature Fields Project Page | Paper | Supplementary | Video | Slides | Blog | Talk If

null 1.1k Dec 27, 2022
This repository contains all the source code that is needed for the project : An Efficient Pipeline For Bloom’s Taxonomy Using Natural Language Processing and Deep Learning

Pipeline For NLP with Bloom's Taxonomy Using Improved Question Classification and Question Generation using Deep Learning This repository contains all

Rohan Mathur 9 Jul 17, 2021
null 189 Jan 2, 2023
This repository contains the code for EMNLP-2021 paper "Word-Level Coreference Resolution"

Word-Level Coreference Resolution This is a repository with the code to reproduce the experiments described in the paper of the same name, which was a

null 79 Dec 27, 2022
Officile code repository for "A Game-Theoretic Perspective on Risk-Sensitive Reinforcement Learning"

CvarAdversarialRL Official code repository for "A Game-Theoretic Perspective on Risk-Sensitive Reinforcement Learning". Initial setup Create a virtual

Mathieu Godbout 1 Nov 19, 2021
Code repository for "It's About Time: Analog clock Reading in the Wild"

it's about time Code repository for "It's About Time: Analog clock Reading in the Wild" Packages required: pytorch (used 1.9, any reasonable version s

null 52 Nov 10, 2022
Repository of the Code to Chatbots, developed in Python

Description In this repository you will find the Code to my Chatbots, developed in Python. I'll explain the structure of this Repository later. Requir

Li-am K. 0 Oct 25, 2022
This project is part of Eleuther AI's quest to create a massive repository of high quality text data for training language models.

This project is part of Eleuther AI's quest to create a massive repository of high quality text data for training language models.

EleutherAI 42 Dec 13, 2022
This repository describes our reproducible framework for assessing self-supervised representation learning from speech

LeBenchmark: a reproducible framework for assessing SSL from speech Self-Supervised Learning (SSL) using huge unlabeled data has been successfully exp

null 49 Aug 24, 2022
NL-Augmenter 🦎 → 🐍 A Collaborative Repository of Natural Language Transformations

NL-Augmenter ?? → ?? The NL-Augmenter is a collaborative effort intended to add transformations of datasets dealing with natural language. Transformat

null 684 Jan 9, 2023
Implementing SimCSE(paper, official repository) using TensorFlow 2 and KR-BERT.

KR-BERT-SimCSE Implementing SimCSE(paper, official repository) using TensorFlow 2 and KR-BERT. Training Unsupervised python train_unsupervised.py --mi

Jeong Ukjae 27 Dec 12, 2022
This repository contains data used in the NAACL 2021 Paper - Proteno: Text Normalization with Limited Data for Fast Deployment in Text to Speech Systems

Proteno This is the data release associated with the corresponding NAACL 2021 Paper - Proteno: Text Normalization with Limited Data for Fast Deploymen

null 37 Dec 4, 2022
This repository is home to the Optimus data transformation plugins for various data processing needs.

Transformers Optimus's transformation plugins are implementations of Task and Hook interfaces that allows execution of arbitrary jobs in optimus. To i

Open Data Platform 37 Dec 14, 2022
This is the main repository of open-sourced speech technology by Huawei Noah's Ark Lab.

Speech-Backbones This is the main repository of open-sourced speech technology by Huawei Noah's Ark Lab. Grad-TTS Official implementation of the Grad-

HUAWEI Noah's Ark Lab 295 Jan 7, 2023
Repository for Graph2Pix: A Graph-Based Image to Image Translation Framework

Graph2Pix: A Graph-Based Image to Image Translation Framework Installation Install the dependencies in env.yml $ conda env create -f env.yml $ conda a

null 18 Nov 17, 2022
Plugin repository for Macast

Macast-plugins Plugin repository for Macast. How to use third-party player plugin Download Macast from GitHub Release. Download the plugin you want fr

null 109 Jan 4, 2023
The repository for the paper: Multilingual Translation via Grafting Pre-trained Language Models

Graformer The repository for the paper: Multilingual Translation via Grafting Pre-trained Language Models Graformer (also named BridgeTransformer in t

null 22 Dec 14, 2022