Unsupervised Learning of Object Keypoints for Perception and Control

Tejas Kulkarni, Ankush Gupta, Catalin Ionescu, Sebastian Borgeaud, Malcolm Reynolds +2 more
6/19/2019
cs.CVcs.LG

Official code: google-deepmind/deepmind-research (15,241 stars, Apache-2.0, last commit 2026-06-17).

Abstract

The study of object representations in computer vision has primarily focused on developing representations that are useful for image classification, object detection, or semantic segmentation as downstream tasks. In this work we aim to learn object representations that are useful for control and reinforcement learning (RL). To this end, we introduce Transporter, a neural network architecture for discovering concise geometric object representations in terms of keypoints or image-space coordinates. Our method learns from raw video frames in a fully unsupervised manner, by transporting learnt image features between video frames using a keypoint bottleneck. The discovered keypoints track objects and object parts across long time-horizons more accurately than recent similar methods. Furthermore, consistent long-term tracking enables two notable results in control domains -- (1) using the keypoint co-ordinates and corresponding image features as inputs enables highly sample-efficient reinforcement learning; (2) learning to explore by controlling keypoint locations drastically reduces the search space, enabling deep exploration (leading to states unreachable through random action exploration) without any extrinsic rewards.

View on arXivView PDF

Code Implementations(1)

Apache-2.0

This repository contains implementations and illustrative code to accompany DeepMind publications

15,2412,916C, C++Jan 15, 20194 months agoApache-2.0

Similar Papers

Cite this paper

@article{kulkarni2019unsupervised,
  title  = {Unsupervised Learning of Object Keypoints for Perception and Control},
  author = {Tejas Kulkarni and Ankush Gupta and Catalin Ionescu and Sebastian Borgeaud and Malcolm Reynolds and Andrew Zisserman and Volodymyr Mnih},
  year   = {2019},
  eprint = {1906.11883},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1906.11883}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1906.11883.svg)](https://codeofpaper.com/paper/1906.11883)

Discussion