Figure 1.
Block diagram of the proposed system.
Figure 1.
Block diagram of the proposed system.
Figure 2.
Signal patterns of 3D magnetic field recorded from the right shank sensor in various walking conditions. a.u. stands for arbitrary unit. The blue, orange, and green curves represent the magnetic field in the X, Y, and Z directions, respectively. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively.
Figure 2.
Signal patterns of 3D magnetic field recorded from the right shank sensor in various walking conditions. a.u. stands for arbitrary unit. The blue, orange, and green curves represent the magnetic field in the X, Y, and Z directions, respectively. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively.
Figure 3.
Confusion matrix for the best-performing signal combination. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively. Color intensity reflects the percentage of correct predictions for each walking surface condition, with darker shades indicating higher values.
Figure 3.
Confusion matrix for the best-performing signal combination. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively. Color intensity reflects the percentage of correct predictions for each walking surface condition, with darker shades indicating higher values.
Figure 4.
Confusion matrix for the best-performing sensor placement. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively. Color intensity reflects the percentage of correct predictions for each walking surface condition, with darker shades indicating higher values.
Figure 4.
Confusion matrix for the best-performing sensor placement. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively. Color intensity reflects the percentage of correct predictions for each walking surface condition, with darker shades indicating higher values.
Figure 5.
Confusion matrix for the best-performing window size. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively. Color intensity reflects the percentage of correct predictions for each walking surface condition, with darker shades indicating higher values.
Figure 5.
Confusion matrix for the best-performing window size. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively. Color intensity reflects the percentage of correct predictions for each walking surface condition, with darker shades indicating higher values.
Figure 6.
Class-wise accuracies for each surface condition and signal group. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively. Acc, FreeAcc, Gyr, Mag, VelInc, and OriInc stand for acceleration, gravity-subtracted acceleration, gyroscope, magnetic field, velocity increment, and orientation increment quaternion, respectively. YPR represents yaw, pitch and roll signals.
Figure 6.
Class-wise accuracies for each surface condition and signal group. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively. Acc, FreeAcc, Gyr, Mag, VelInc, and OriInc stand for acceleration, gravity-subtracted acceleration, gyroscope, magnetic field, velocity increment, and orientation increment quaternion, respectively. YPR represents yaw, pitch and roll signals.
Table 1.
Signal labels and descriptions. Acc, FreeAcc, Gyr, Mag, VelInc, and OriInc stand for acceleration, gravity-subtracted acceleration, gyroscope, magnetic field, velocity increment, and orientation increment quaternion, respectively. YPR represents yaw, pitch and roll signals. X, Y, and Z denote the axes. q0, q1, q2, and q3 represent individual quaternions.
Table 1.
Signal labels and descriptions. Acc, FreeAcc, Gyr, Mag, VelInc, and OriInc stand for acceleration, gravity-subtracted acceleration, gyroscope, magnetic field, velocity increment, and orientation increment quaternion, respectively. YPR represents yaw, pitch and roll signals. X, Y, and Z denote the axes. q0, q1, q2, and q3 represent individual quaternions.
Signal Label | Description |
---|
Acc: Acc_X, Acc_Y, Acc_Z | 3D acceleration |
FreeAcc: FreeAcc_X, FreeAcc_Y, FreeAcc_Z | 3D acceleration (gravity subtracted) |
Gyr: Gyr_X, Gyr_Y, Gyr_Z | 3D rate of turn |
Mag: Mag_X, Mag_Y, Mag_Z | 3D magnetic field |
VelInc: VelInc_X, VelInc_Y, VelInc_Z | 3D velocity increment |
Ori: OriInc_q0, OriInc_q1, OriInc_q2, OriInc_q3 | Orientation increment quaternion |
YPR: Yaw, Pitch, Roll | 3D Euler angles |
Table 2.
The number of samples for each class with respect to window length. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively.
Table 2.
The number of samples for each class with respect to window length. BnkR and BnkL indicate surfaces banked to the right and left, SlpD and SlpU represent surfaces with downhill and uphill slopes, and StrD and StrU indicate descending and ascending stairs. CS, FE, and GR stand for cobblestone, flat even, and grass surfaces, respectively.
Window Length | SlpU | SlpD | BnkR | BnkL | StrU | StrD | GR | CS | FE | Total |
---|
100 | 3994 | 4011 | 2843 | 2800 | 2150 | 2042 | 2526 | 2816 | 2354 | 25,636 |
200 | 1950 | 1961 | 1374 | 1356 | 1031 | 985 | 1227 | 1364 | 1131 | 12,579 |
300 | 1265 | 1276 | 889 | 869 | 658 | 626 | 775 | 877 | 723 | 8258 |
400 | 926 | 935 | 644 | 637 | 476 | 448 | 559 | 639 | 516 | 6180 |
500 | 733 | 730 | 504 | 500 | 360 | 349 | 416 | 505 | 400 | 4997 |
Table 3.
Details of the parameters for each layer in the proposed 1D-CNN model.
Table 3.
Details of the parameters for each layer in the proposed 1D-CNN model.
Block No | Layer No | Layer | Parameters |
---|
1 | 1 | Convolution1D | filters = 64, kernel_size = 3, strides = 1 |
2 | ReLU | - |
3 | Batch Norm. | - |
4 | Max Pooling1D | pool_size = 3, strides = 3 |
2 | 5 | Convolution1D | filters = 64, kernel_size = 3, strides = 1 |
6 | ReLU | - |
7 | Batch Norm. | - |
8 | Max Pooling1D | pool_size = 3, strides = 3 |
3 | 9 | Convolution1D | filters = 128, kernel_size = 3, strides = 1 |
10 | ReLU | - |
11 | Batch Norm. | - |
12 | Max Pooling1D | pool_size = 3, strides = 3 |
13 | Dropout | rate = 0.5 |
4 | 14 | Convolution1D | filters = 128, kernel_size = 3, strides = 1 |
15 | ReLU | - |
16 | Batch Norm. | - |
17 | Max Pooling1D | pool_size = 3, strides = 3 |
18 | Dropout | rate = 0.5 |
5 | 19 | Convolution1D | filters = 128, kernel_size = 3, strides = 1 |
20 | ReLU | - |
21 | Batch Norm. | - |
22 | Max Pooling1D | pool_size = 3, strides = 3 |
23 | Dropout | rate = 0.5 |
6 | 24 | Flatten | - |
25 | Dense | units = 9, activation = ’softmax’ |
Table 4.
Performance results for the first set of experiments. Acc, FreeAcc, Gyr, Mag, VelInc, and OriInc stand for acceleration, gravity-subtracted acceleration, gyroscope, magnetic field, velocity increment, and orientation increment quaternion, respectively. ShankR and ShankL refer to the right and left shank, respectively. The superscript * indicates that the accuracy for signal groups including “Mag, FreeAcc, YPR” was slightly more significant than that for signal groups including “Mag, FreeAcc”.
Table 4.
Performance results for the first set of experiments. Acc, FreeAcc, Gyr, Mag, VelInc, and OriInc stand for acceleration, gravity-subtracted acceleration, gyroscope, magnetic field, velocity increment, and orientation increment quaternion, respectively. ShankR and ShankL refer to the right and left shank, respectively. The superscript * indicates that the accuracy for signal groups including “Mag, FreeAcc, YPR” was slightly more significant than that for signal groups including “Mag, FreeAcc”.
Signal Group(s) | Sensor Locations | | | | | |
---|
Mag | ShankL, ShankR | 400 | 0.925 | 0.923 | 0.923 | 0.923 |
FreeAcc | ShankL, ShankR | 400 | 0.872 | 0.869 | 0.865 | 0.869 |
YPR | ShankL, ShankR | 400 | 0.807 | 0.810 | 0.804 | 0.810 |
Acc | ShankL, ShankR | 400 | 0.808 | 0.803 | 0.800 | 0.803 |
VelInc | ShankL, ShankR | 400 | 0.783 | 0.784 | 0.781 | 0.784 |
Gyr | ShankL, ShankR | 400 | 0.699 | 0.694 | 0.680 | 0.694 |
Ori | ShankL, ShankR | 400 | 0.632 | 0.629 | 0.608 | 0.629 |
Mag, FreeAcc | ShankL, ShankR | 400 | 0.956 | 0.955 | 0.955 | 0.955 |
Mag, Acc | ShankL, ShankR | 400 | 0.948 | 0.947 | 0.947 | 0.947 |
Mag, YPR | ShankL, ShankR | 400 | 0.944 | 0.944 | 0.943 | 0.944 |
Mag, VelInc | ShankL, ShankR | 400 | 0.944 | 0.943 | 0.943 | 0.943 |
Mag, Ori | ShankL, ShankR | 400 | 0.932 | 0.930 | 0.930 | 0.930 |
Mag, Gyr | ShankL, ShankR | 400 | 0.926 | 0.923 | 0.924 | 0.923 |
Mag, FreeAcc, YPR * | ShankL, ShankR | 400 | 0.956 | 0.955 | 0.955 | 0.955 |
Mag, FreeAcc, Acc | ShankL, ShankR | 400 | 0.955 | 0.954 | 0.954 | 0.954 |
Mag, FreeAcc, Ori | ShankL, ShankR | 400 | 0.953 | 0.952 | 0.952 | 0.952 |
Mag, FreeAcc, Gyr | ShankL, ShankR | 400 | 0.952 | 0.951 | 0.951 | 0.951 |
Mag, FreeAcc, VelInc | ShankL, ShankR | 400 | 0.951 | 0.950 | 0.950 | 0.950 |
Mag, FreeAcc, YPR, Acc | ShankL, ShankR | 400 | 0.957 | 0.956 | 0.956 | 0.956 |
Mag, FreeAcc, YPR, VelInc | ShankL, ShankR | 400 | 0.954 | 0.953 | 0.953 | 0.953 |
Mag, FreeAcc, YPR, Ori | ShankL, ShankR | 400 | 0.954 | 0.953 | 0.953 | 0.953 |
Mag, FreeAcc, YPR, Gyr | ShankL, ShankR | 400 | 0.952 | 0.951 | 0.951 | 0.951 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR | 400 | 0.963 | 0.961 | 0.962 | 0.961 |
Mag, FreeAcc, YPR, Acc, Ori | ShankL, ShankR | 400 | 0.959 | 0.958 | 0.958 | 0.958 |
Mag, FreeAcc, YPR, Acc, Gyr | ShankL, ShankR | 400 | 0.946 | 0.956 | 0.955 | 0.955 |
Mag, FreeAcc, YPR, Acc, VelInc, Gyr | ShankL, ShankR | 400 | 0.961 | 0.960 | 0.960 | 0.960 |
Mag, FreeAcc, YPR, Acc, VelInc, Ori | ShankL, ShankR | 400 | 0.960 | 0.960 | 0.960 | 0.960 |
Table 5.
Performance results for the second set of experiments. Acc, FreeAcc, Mag, and VelInc stand for acceleration, gravity-subtracted acceleration, magnetic field, and velocity increment, respectively. YPR denotes yaw, pitch, and roll. ShankR and ShankL refer to the right and left shank, respectively, while ThighR and ThighL denote the right and left thigh.
Table 5.
Performance results for the second set of experiments. Acc, FreeAcc, Mag, and VelInc stand for acceleration, gravity-subtracted acceleration, magnetic field, and velocity increment, respectively. YPR denotes yaw, pitch, and roll. ShankR and ShankL refer to the right and left shank, respectively, while ThighR and ThighL denote the right and left thigh.
Signal Groups | Sensor Location(s) | | | | | |
---|
Mag, FreeAcc, YPR, Acc, VelInc | ShankL | 400 | 0.939 | 0.935 | 0.935 | 0.935 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankR | 400 | 0.937 | 0.935 | 0.936 | 0.935 |
Mag, FreeAcc, YPR, Acc, VelInc | ThighL | 400 | 0.872 | 0.865 | 0.857 | 0.865 |
Mag, FreeAcc, YPR, Acc, VelInc | ThighR | 400 | 0.884 | 0.881 | 0.877 | 0.881 |
Mag, FreeAcc, YPR, Acc, VelInc | Trunk | 400 | 0.888 | 0.883 | 0.874 | 0.883 |
Mag, FreeAcc, YPR, Acc, VelInc | Wrist | 400 | 0.764 | 0.760 | 0.742 | 0.760 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR | 400 | 0.963 | 0.961 | 0.962 | 0.961 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR, Trunk | 400 | 0.968 | 0.968 | 0.968 | 0.968 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR, Trunk, ThighR | 400 | 0.969 | 0.969 | 0.969 | 0.969 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR, Trunk, ThighR, ThighL | 400 | 0.966 | 0.965 | 0.965 | 0.965 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR, Trunk, ThighR, Wrist | 400 | 0.969 | 0.969 | 0.969 | 0.969 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR, Trunk, ThighR, Wrist, ThighL | 400 | 0.967 | 0.966 | 0.966 | 0.966 |
Table 6.
Performance results for the third set of experiments. Acc, FreeAcc, Mag, and VelInc stand for acceleration, gravity-subtracted acceleration, magnetic field, and velocity increment, respectively. YPR denotes yaw, pitch, and roll. ShankR and ShankL refer to the right and left shank, respectively, while ThighR and ThighL denote the right and left thigh.
Table 6.
Performance results for the third set of experiments. Acc, FreeAcc, Mag, and VelInc stand for acceleration, gravity-subtracted acceleration, magnetic field, and velocity increment, respectively. YPR denotes yaw, pitch, and roll. ShankR and ShankL refer to the right and left shank, respectively, while ThighR and ThighL denote the right and left thigh.
Signal Groups | Sensor Locations | | | | | |
---|
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR, Trunk, ThighR | 100 | 0.958 | 0.958 | 0.958 | 0.958 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR, Trunk, ThighR | 200 | 0.967 | 0.967 | 0.967 | 0.967 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR, Trunk, ThighR | 300 | 0.967 | 0.967 | 0.967 | 0.967 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR, Trunk, ThighR | 400 | 0.969 | 0.969 | 0.969 | 0.969 |
Mag, FreeAcc, YPR, Acc, VelInc | ShankL, ShankR, Trunk, ThighR | 500 | 0.971 | 0.971 | 0.971 | 0.971 |
Table 7.
A summary of studies on gait-based walking surface condition detection. kNN: k-nearest neighbors, NB: naïve Bayes, QDA: quadratic discriminant analysis, DNN: deep neural network.
Table 7.
A summary of studies on gait-based walking surface condition detection. kNN: k-nearest neighbors, NB: naïve Bayes, QDA: quadratic discriminant analysis, DNN: deep neural network.
Study | Number of Participants | Number of Surfaces | Signals | Sensor Location | Segmentation | Features | Classifier | Accuracy (%) |
---|
Ref. [14] | 17 | 2 | Acc, Gyr, Mag | Lower back | 4 s window | Learned | LSTM | 96.3 |
Ref. [15] | 40 | 6 | Acc, Gyr | Chest and lower back | Stride-based | Tempo-spectral | RF, SVM | 89.0 |
Ref. [16] | 30 | 7 | Acc, Gyr | Shanks, thighs, lower back, wrist, all combined | 4 s window | Learned | CNN, LSTM | 92.0 |
Ref. [17] | 30 | 9 | Acc, Gyr, Mag | Shanks, thighs, lower back, wrist, combination of lower sensors, all combined | Gait cycle-based | Linear discriminant analysis-based | Multi-layer perceptron | 97.0 |
Ref. [22] | 30 | 9 | Acc, Gyr, Mag | Shanks, thighs, lower back, wrist | 2.56 s window | Time and frequency | SVM, RF, kNN, NB, QDA, DNN | 94.3 |
This Study | 30 | 9 | Acc, Gyr, Mag, FreeAcc, VelInc, Ori, YPR, combinations of these | Shanks, thighs, lower back, wrist, combinations of these | 1, 2, 3, 4, and 5 s windows | Learned | CNN | 97.1 |