As one of the effective methods to reduce the accumulated error of pedestrian navigation system based on foot-mounted inertial measurement unit (IMU), zero velocity update (ZUPT) has been widely used in the global navigation satellite system (GNSS) signal rejection environments, which requires accurate zero velocity detection. However, the detection accuracy of the classical fixed threshold method is not satisfactory under complex gaits. In this paper, an adaptive threshold method with error correction is proposed to improve the detection accuracy without adding sensors. In this method, an adaptive threshold model based on gait intensity is established, which can dynamically adjust the zero velocity detection threshold under complex gaits. Afterwards, error correction is proposed to identify and correct misjudgments in zero velocity detection by analyzing the zero velocity interval in one gait cycle. We build an actual pedestrian inertial navigation system to evaluate the proposed method. The experimental results show that the average zero velocity detection accuracy of the proposed method under complex gaits of different people is 98.67%, and the end-to-end positioning error is about 0.53% of the total distance during long-distance movement.