The invention discloses a human body attitude calculation method based on quaternion and Kalman filtering. The method comprises determining a vector coordinate system and a navigation coordinate system, determining an attitude matrix, respectively acquiring accelerated speed, angular velocity and magnetic induction intensity signals through an accelerometer, a gyroscope and a magnetometer, carrying out initial alignment on a human body attitude detection system, calculating initial attitude angles such as a pitching angle, a rolling angle and a heading angle, transforming the initial attitude angles into initial quaternion, carrying out system modeling according to a quaternion differential equation, inputting the initial quaternion as a measured value, carrying out data fusion on the attitude data through a Kalman filtering algorithm, outputting an estimated value which is updated quaternion, carrying out normalization processing on the updated quaternion to obtain final posture information, updating the attitude matrix and acquiring updated attitude angles. The human body attitude estimation method effectively improves the accuracy of human posture detection, has a fast response speed, has good stability and instantaneity and has a broad application prospect.