如何判断iPhone用户是否正在睡觉?

3

我希望我的应用程序能够进行用户的睡眠分析。我认为CoreMotion框架可以提供帮助。

func queryActivityStartingFromDate(start: NSDate!, toDate end: NSDate!, toQueue queue: NSOperationQueue!, withHandler handler: CMMotionActivityQueryHandler!)

我使用上述API获取了用户过去7天的运动数据。现在我得到了一个CMMotionActivity对象列表。我的问题是如何从这些数以千计的CMMotionActivity对象中计算出用户的睡眠状态。是否有任何算法?或者有其他方法实现睡眠分析。

1个回答

1

CMMotionActivity 包括一个 stationary 属性,可能对您有用。

寻找连续的不活动时期,与位置、时区和 CMDeviceMotion 数据配对,您应该开始检测数据集中的模式。使用统计变化来定义阈值并微调结果。

注意, 您会做出一些可能不正确的假设。例如,有些人在移动车辆中睡觉。

我发现这个pdf很有用 ftp://ftp.tik.ee.ethz.ch/pub/students/2010-HS/SA-2010-26.pdf


我已经阅读了这份PDF很多个小时,但仍然没有得到一个清晰的算法来解决问题。但它确实帮助了我很多。我稍后会更仔细地阅读它。 - shadox
有人想出了一个好的算法来将运动数据转换成可读的图形吗?我从阅读那份PDF中无法找到开始的地方。任何示例方程式都会极大地帮助我。 - Anthony Castelli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接