Semi-Supervised Haptic Material Recognition using GANs

Paper | PDF in PMLR

Z. Erickson, S. Chernova, and C. C. Kemp, “Semi-Supervised Haptic Material Recognition for Robots using Generative Adversarial Networks”, 1st Annual Conference on Robot Learning (CoRL 2017), 2017.

Quick Setup

Want to download code and data in one go?
The lines below will download the code repository and a compact dataset (for tables 1, 2, 3, 4, and 6).

# Install prerequisites
pip install -U keras theano plotly
mkdir ~/git
cd ~/git
git clone https://github.com/Healthcare-Robotics/mr-gan.git
# Download compact dataset (1 GB) for computing tables 1, 2, 3, 4, and 6
cd mr-gan/data_processed
wget -O data_processed_compact.tar.gz https://goo.gl/WiqSjJ
tar -xvzf data_processed_compact.tar.gz
rm data_processed_compact.tar.gz
cd ../
# Compute results for Table 1. This will take several hours with a GPU.
python mr_gan.py --tables 1
# Regenerate plots
python paperplotly.py

Code

https://github.com/Healthcare-Robotics/mr-gan

MREO Dataset

Processed Data

Compact dataset (1 GB) for computing tables 1, 2, 3, 4, and 6 from the paper: https://goo.gl/WiqSjJ

cd ~/git/mr-gan/data_processed
wget -O data_processed_compact.tar.gz https://goo.gl/WiqSjJ
tar -xvzf data_processed_compact.tar.gz
rm data_processed_compact.tar.gz

Entire dataset (20 GB) for computing table 5: https://goo.gl/FnXfgM

cd ~/git/mr-gan/data_processed
wget -O data_processed_full.tar.gz https://goo.gl/FnXfgM
tar -xvzf data_processed_full.tar.gz
rm data_processed_full.tar.gz

Raw Data

Download the raw data (10 GB) collected on the PR2 if you would like to perform your own preprocessing: https://goo.gl/DNqPib

cd ~/git/mr-gan/data_raw
wget -O data_raw.tar.gz https://goo.gl/DNqPib
tar -xvzf data_raw.tar.gz
rm data_raw.tar.gz

Data Format

Data files are stored as dictionaries in Python pickle files. Keys represent different sensor modalities.

Processed data keys: 

'forceTime':        time stamps for force measurements
'force0':           first force sensor measurements
'force1':           second force sensor measurements
'temperatureTime':  temperature time stamps
'temperature':      temperature measurements
'contactTime':      contact microphone time stamps
'contact':          contact microphone measurements

Raw data keys:

'RGripRFingerTime':   force time stamps
'RGripRFingerForce':  both force sensor measurements
'temperatureTime':    temperature time stamps
'temperature':        temperature measurements
'contactmicTime':     contact microphone time stamps
'contactmic':         contact microphone measurements
'collisionTime':      time stamp marking when collision occurred with the object

Object List

Metal Plastic Wood
pot
bowl
plate
soup can
steel pan
plant pot
leaf dish
frying pan
drinking mug
aluminum foil
aluminum pan
tooth brush holder
bag
bowl
folder
solo cup
rubbermaid
pill bottle
rain poncho
rubik’s cube
vaseline bottle
coffee container
full water bottle
empty water bottle
bowl
block
large box
plant pot
rolling pin
cutting board
soap dispenser
round container
large bamboo bowl
tooth brush holder
large bamboo plate
large hardwood bowl
Glass Ceramic Fabric
bowl
plate
candle
pot lid
large jar
foggy jar
baking pan
beer glass
black lid jar
latched lid jar
soap dispenser
decorative plate
tile
mug
teapot
plant pot
baking pan
large bowl
cereal bowl
white plate
blue loaf pan
paint spotted plate
white rectangle plate
black rectangle plate
jeans
gauze
red towel
satin robe
wool socks
pillow case
acrylic hat
khaki shorts
hospital gown
grey rayon shirt
blue polyester shirt
black cotton sweater

Sensor Construction

TODO