项目背景
在居家或者医院环境中,常常会发生摔倒现象,这对个人的安全健康造成重大隐患,需要监测的人及时发现并,在监控视频中需要一种能够检测出视频画面中的人是否跌倒。
需求分解
检测视频画面中人物是否摔倒可以分两步走:
- 视频画面中是否存在人物
- 该人物是否“跌倒”
通过目标检测网络或者使用Opencv自带的行人检测,这一步较为容易实现。下面将着重讲解一下如何完成摔倒检测。
分析上述四张摔倒检测图,我们可以发现一个显著的特征:目标检测框的 W > H 。当我们使用这一条件进行目标检测时,会出现例如老年热杵拐棍画面和弯腰时候的画面,这个时候若按照这种逻辑进行判断的话会出现误判,例图如下:
上述例图这样类似的就无法很好的检测出人物是否真实摔倒,因此我们不能把 W>H 当作唯一的标准进行判断目标人物“摔倒”。这个时候我们可以详细分析下目标人物的头部与脚步(大家可以参考OPENCV自带xml模型)
分析上面的两张正常行人图形,我们可以得到头部的中心点坐标和脚部的中心点坐标分别在X轴与Y轴的特性:
- 在X轴上头部与脚部坐标相近,大约可以暂且定义在+-20像素点之内;
- 在Y轴上头部与脚部坐标较远,大约可以暂且定义在>30像素之外。
总结
通过上述的分析,我们可以得到进行摔倒检测可以从目标检测框的这三个角度进行判别:
- 整体目标框的W>H;
- X轴上头部坐标与脚部坐标相近(这个需要大家根据实际情况进行调试)
- Y轴上头部坐标与脚部坐标较远(这个需要大家根据实际情况进行调试)