  Ubiquity of Internet-connected and sensor-equipped portable devices sparked a
new set of mobile computing applications that leverage the proliferating
sensing capabilities of smart-phones. For many of these applications, accurate
estimation of the user heading, as compared to the phone heading, is of
paramount importance. This is of special importance for many crowd-sensing
applications, where the phone can be carried in arbitrary positions and
orientations relative to the user body. Current state-of-the-art focus mainly
on estimating the phone orientation, require the phone to be placed in a
particular position, require user intervention, and/or do not work accurately
indoors; which limits their ubiquitous usability in different applications. In
this paper we present Humaine, a novel system to reliably and accurately
estimate the user orientation relative to the Earth coordinate system.
  Humaine requires no prior-configuration nor user intervention and works
accurately indoors and outdoors for arbitrary cell phone positions and
orientations relative to the user body. The system applies statistical analysis
techniques to the inertial sensors widely available on today's cell phones to
estimate both the phone and user orientation. Implementation of the system on
different Android devices with 170 experiments performed at different indoor
and outdoor testbeds shows that Humaine significantly outperforms the
state-of-the-art in diverse scenarios, achieving a median accuracy of
$15^\circ$ averaged over a wide variety of phone positions. This is $558\%$
better than the-state-of-the-art. The accuracy is bounded by the error in the
inertial sensors readings and can be enhanced with more accurate sensors and
sensor fusion.
