It sounds a lot like the problem of finding the attitude of a flying drone, and you probably need a similar solution (i.e. some very clever processing of the input from an gyro and accelerometer).
If you know the person will be stationary or close to stationary then you may be able to get away with a simpler accelerometer-based tilt sensor.