## Appendix A  
### Automatic Deviation of NDPCA  
To automatically determine the NDPCA, we developed a method to separate the continuous time-series data of the contact area in the toe area into wave data for one walking cycle; detect the extreme points; and identify the first and second peaks as well as the troughs.  
As shown in Figure 11, the calculation of the DPCA requires the two peaks (\(A_{\text{peak1}}\), \(A_{\text{peak2}}\)) and the minimum point (\(A_{\text{min}}\)) of each walking cycle from the time-series data. We derived these extreme points by determining where the time derivative of the pixel time-series data was zero. The local peak or maximum is where the time derivative changes from positive to negative. Conversely, the point where the time derivative changes from negative to positive is the local trough or minimum. Figure 11 shows the extreme points (in green) derived from three walking cycles. Some of the extreme points were unnecessary for the calculation of the NDPCA (e.g., \(EP_{2}\) and \(EP_{3}\), where \(EP_{i}\) denotes the \(i\)th extreme point) and were deleted before calculation. The unnecessary extreme points are characterizedby a small difference between contact areas of adjacent points, as seen in the red circle in Figure A1. Thus, we checked the distance between two adjacent extreme points, \(Diff_{i}\), defined by  
\[Diff_{i}=\left|EP_{i}-EP_{i+1}\right|\text{ for }i=1,\;2,\;3\ldots\] (A1)  
We then removed the unnecessary extreme points. If \(Diff_{i}\) was less than the threshold \(\theta\), then \(EP_{i}\) was removed. The threshold was determined through trial and error, based on the preliminary experiments. Here, the difference between \(Diff_{\text{max}}\)  and \(Diff_{\text{min}}\) was used as the reference for considering the individual difference and normalizing the range of time-series data. In addition, if both \(EP_{\text{i}}\) and \(EP_{i+2}\) were the same type of extreme points (i.e., peak or trough), then \(EP_{i}\) was removed. The condition for removing \(EP_{i}\) was defined as  
\[Diff_{i}<\theta(i=1,\;2,\;3\ldots)\] (A2)  
where  
\[\theta=0.25(Diff_{max}-Diff_{min})\] (A3) \[Diff_{max}=\text{Max}(Diff_{i})\;(i=1,\;2,\;3\ldots)\] \[Diff_{min}=\text{Min}(Diff_{i})\;(i=1,\;2,\;3\ldots)\]  
Figure A2 shows time-series data after removing the unnecessary extreme points in Figure A2. Each walking cycle has three extreme points associated with two peaks (\(A_{peak1}\) and \(A_{peak2}\)) and one trough between the two peaks. The trough between \(A_{peak1}\) and \(A_{peak2}\) is the minimum point (\(A_{min}\)). \(A_{peak1}\) and \(A_{peak2}\) correspond to the values of the contact areas at push-off and heel-strike, respectively, and \(A_{min}\) corresponds to the moment when the contact area during the swing phase is the smallest. The swing phase is detected upon detection of \(A_{min}\). Given that the order of appearance of \(A_{peak1}\), \(A_{min}\), and \(A_{peak2}\) is known, the peaks corresponding to \(A_{peak1}\) and \(A_{peak2}\) are recognized by the location of \(A_{min}\). One walking cycle ends at the trough that occurs after \(A_{peak2}\). The NDPCA is calculated using \(A_{peak1}\), \(A_{peak2}\), and \(A_{min}\) in Equation (A2). The overall automatic gait recognition procedure is summarized in Figure A3.  
Figure A2: First and second peaks and troughs extracted from the calculation for three cycles.