This page introduces the Low-Moral Actions (LMA) dataset.
The LMA dataset contains action sequences from 15 different action classes performed by 20 subjects. The sequences were taken one person at the time using two Kinect V2 sensors concurrently. The data was saved both as skeletons and depth maps.
In contrast to other similar datasets, a large part of the action classes in the LMA dataset are low-moral actions, like smoking or walking while looking at phone (see figure below).
The class labels are as follows:
2: Talking on the phone
3: Looking at the phone
5: Fast walking
6: Idly walking
7: Talking on the phone while walking
8: Looking at the phone while walking
9: Smoking while walking
10: Throwing trash while walking
13: Blocking the way
14: Baring the eye
15: Hitting with weapon
Classes can be divided into three categories: standing (classes 1-4), walking (5-10) and interaction (with a robot) (11-15).
The skeleton data is distributed as HDF5 file. It contains five datasets:
- person – the id of the person performing the action (between 0 and 19)
- repetition – each person did two repetitions (0 or 1)
- action – number of action class, as listed above (between 1 and 15)
- sensor – which of the two sensors the data comes from (0 or 1)
- skeleton – the skeleton data are provided as 13 second sequences, so each sample contains the 3D coordinates skeleton joints information as a 3x390x25 array ([x, y, z coordinates of skeleton joints] x [390 samples (13 seconds at 30 Hz) in the sequence] x [25 joints]).
Due to problems during the data collection the skeletons for some of the (person, repetition, action, sensor) combinations were not saved. The dataset contains 1182 samples in total.
The depth data is not distributed directly due to its large size. We can provide it upon request; contact us at the address provided below if you are interested.
LMA skeleton dataset (238 MB)
How to use
We recommend using Python and the h5py library to work with the dataset file. Below is a short example how you can read the file.
import h5py as h5 h5file = h5.File('LMA_skeleton.h5', 'r') skeleton_data = h5file['skeleton']
The datasets are free to use for research purposes only. In case you use the data in your work please be sure to cite the reference paper below.
Kanghui Du, Thomas Kaczmarek, Drazen Brscic and Takayuki Kanda, “Recognition of Rare Low-Moral Actions Using Depth Data”, Sensors 2020, 20, 2758.
drazen (at) i.kyoto-u.ac.jp