A computerized method performed by a processor, and computer program product the method comprising: receiving sensory data of motion by a human subject, the sensory data obtained during motion in an uncontrolled environment; extracting features from the sensory data; identifying a plurality of strides from the features extracted from the sensory data; calculating kinematic parameters of each stride from the plurality of strides from the sensory data; classifying each stride from the plurality of strides in accordance with the kinematic parameters to obtain a stride type; and outputting the stride type for the plurality of strides.