| Input: unobserved exercise image |
| Initialization: |
(1) | Zm,n array of image (m rows, n column) at convolution layer 1 |
(2) | Fi, j filter (i rows, j column) |
(3) | resultant array obtained after convolution |
(4) | output array after removing negative values |
(5) | sum of product operation |
(6) | FM feature map function |
(7) | output array at 2nd convolution layer |
(8) | F_Ym, n output at 3rd convolution layer |
| Preparation: |
(1) | Load CNN model |
(2) | Load trained LSTM model |
| Steps: |
(3) | CNN ⟵ New_array (Zi) |
(4) | Load FM in Conv1: (convolution layer 1), filter_size (5, 5) |
| Number of rows and columns (m, n) |
| a: ⟵Fi, j × Zm,n No. of filters ⟵ 64 |
| b: |
| c: Max_pooling (4, 4) |
| d: Dropout (0.5) |
(5) | Load FM in Conv2: (convolution layer 2), filter size (3, 3) |
| a: ⟵ Fi, j × Ym,n No. of filters ⟵ 128 |
| b: |
| c: Max_pooling (2, 2) |
| d: Dropout (0.5) |
(6) | : Load FM in Conv3: (convolution layer 3), filter size (3, 3) |
| ⟵ Fi, j × Qm,n No. of filters ⟵ 256 |
| b: F_Ym, n ⟵ max (0, F_0m, n) |
| c: Max_pooling ⟵ 2 × 2 |
(7) | LSTM (64) ⟵ F_Ym, n after Conv3 |
(8) | FC Layer ⟵ Dense (64) |
(9) | Predicted values ⟵ Dense (64) |
(10) | Pass the predicted values through the BN layer |
(11) | Calculate Loss ⟵ (ground_truth_value–predicted_value) |
(12) | SoftMax function ⟵ predicted exercise |
| Output: display and label the predicted exercise |