# Classification Problems Definition This directory contains prepared data for 2 classification problems with 2 approaches each, derived from the processed skeleton data. ## Problem Definitions ### Problem A: 3D Classification (Kinect-based) - **Input**: 3D joint coordinates from Kinect sensor - **Structure**: 13 joints × 3 dimensions (x, y, z) = 39 features per frame - **Temporal**: 10 frames per sequence - **Total features**: 39 × 10 = 390 features per sequence - **Task**: Classify movement quality as Good (1) or Bad (0) #### Approaches: - **ADense**: Flattened features for dense neural networks - Shape: (samples, 390) - **ACNN**: Structured features for convolutional neural networks - Shape: (samples, 10, 13, 3) - [time_steps, joints, coordinates] ### Problem B: 2D Classification (PoseNet-based) - **Input**: 2D joint coordinates from PoseNet/MediaPipe - **Structure**: 13 joints × 2 dimensions (x, y) = 26 features per frame - **Temporal**: 10 frames per sequence - **Total features**: 26 × 10 = 260 features per sequence - **Task**: Classify movement quality as Good (1) or Bad (0) #### Approaches: - **BDense**: Flattened features for dense neural networks - Shape: (samples, 260) - **BCNN**: Structured features for convolutional neural networks - Shape: (samples, 10, 13, 2) - [time_steps, joints, coordinates] ## Data Organization The prepared data is organized in the `prepared_data/` directory: ### ADense Files (3D, Flattened): - `A_Dense_train_X.npy`: Training features (shape: samples×390) - `A_Dense_train_y.npy`: Training labels - `A_Dense_test_X.npy`: Test features (shape: samples×390) - `A_Dense_test_y.npy`: Test labels - `A_Dense_train_aug_X.npy`: Augmented training features - `A_Dense_train_aug_y.npy`: Augmented training labels - `A_Dense_test_aug_X.npy`: Augmented test features - `A_Dense_test_aug_y.npy`: Augmented test labels ### ACNN Files (3D, Structured): - `A_CNN_train_X.npy`: Training features (shape: samples×10×13×3) - `A_CNN_train_y.npy`: Training labels - `A_CNN_test_X.npy`: Test features (shape: samples×10×13×3) - `A_CNN_test_y.npy`: Test labels - `A_CNN_train_aug_X.npy`: Augmented training features - `A_CNN_train_aug_y.npy`: Augmented training labels - `A_CNN_test_aug_X.npy`: Augmented test features - `A_CNN_test_aug_y.npy`: Augmented test labels ### BDense Files (2D, Flattened): - `B_Dense_train_X.npy`: Training features (shape: samples×260) - `B_Dense_train_y.npy`: Training labels - `B_Dense_test_X.npy`: Test features (shape: samples×260) - `B_Dense_test_y.npy`: Test labels - `B_Dense_train_aug_X.npy`: Augmented training features - `B_Dense_train_aug_y.npy`: Augmented training labels - `B_Dense_test_aug_X.npy`: Augmented test features - `B_Dense_test_aug_y.npy`: Augmented test labels ### BCNN Files (2D, Structured): - `B_CNN_train_X.npy`: Training features (shape: samples×10×13×2) - `B_CNN_train_y.npy`: Training labels - `B_CNN_test_X.npy`: Test features (shape: samples×10×13×2) - `B_CNN_test_y.npy`: Test labels - `B_CNN_train_aug_X.npy`: Augmented training features - `B_CNN_train_aug_y.npy`: Augmented training labels - `B_CNN_test_aug_X.npy`: Augmented test features - `B_CNN_test_aug_y.npy`: Augmented test labels ## Data Sources The data was extracted from the original processed sequences by interpreting the first portion of each frame as joint coordinates: - For 3D problem: First 39 values per frame interpreted as 13 joints × 3 coordinates - For 2D problem: First 26 values per frame interpreted as 13 joints × 2 coordinates ## Usage Examples ```python import numpy as np # Load ADense data for training a dense network X_train = np.load('prepared_data/A_Dense_train_X.npy') y_train = np.load('prepared_data/A_Dense_train_y.npy') X_test = np.load('prepared_data/A_Dense_test_X.npy') y_test = np.load('prepared_data/A_Dense_test_y.npy') # Load ACNN data for training a CNN X_train_cnn = np.load('prepared_data/A_CNN_train_X.npy') y_train_cnn = np.load('prepared_data/A_CNN_train_y.npy') ``` ## Note on Augmented Data All datasets include both original and augmented versions: - Original data maintains the original 91 training + 23 test samples - Augmented data includes 4 additional versions per original sample (mirror, rotate ±10°, stretch) - Total augmented data: 455 training + 115 test samples