以下作品由安信可社区用户 bzhou830制作
01项目背景
前不久一个做医疗健康行业的老友找我咨询,想在一个医疗机器人上开发一个跌倒检测的功能。机器人搭配的是arm sbc,机器人是可以在养老院的各个房间巡逻的。
讨论下来有两个方案:
使用激光雷达传感器,而且市面上也有支持跌倒检测的激光雷达传感器。但是成本相对会高一点点。
使用视觉方案,考虑机器人上的处理器是RK3588,对于当前的应用来说是完全足够的。因此只需要添加摄像头作为额外的硬件开销,笔者这时就想到了BW21-CBV-Kit这款能检测人脸和动作的摄像头开发板。
开发板介绍:安信可有Ai识别方案了?
相关教程:如何使用BW21-CBV-Kit?最新最全教程来了~
DIY类:
【电子DIY作品】用BW21-CBV-Kit设计洗衣机远程控制面板
【电子DIY作品】基于BW21-CBV-Kit火灾隐患警报器
【电子DIY作品】用BW21-CBV-Kit做一个蓝牙温湿度计
02视频展示

03外形设计
在solidworks中使用装配体将打印件分割成各个零件,绘制在一起。

摄像头直接凸出包裹,将零件导出打印,组装起来得到这样。
随后摄像头放置在手机支架上,插电后开机测试。

04固件烧录
BW21的资料在论坛上相当的丰富。这次只需要按照如下进行环境搭建。
安信可小安派BW21-CBV-Kit 上手环境搭建 - 小安派·BW21-CBV-KIt - 物联网开发者社区-安信可论坛 - Powered by Discuz!

打开这个example。修改里面的Wi-Fi名称和密码,烧录即可使用。因为是将BW21当作一个网络摄像头,在机器人端来捕获摄像头的视频流进行检测。
在代码中测试打开摄像头视频流。

05跌倒检测算法设计
算法的核心思想:
人体检测与跟踪
首先通过YOLO模型检测视频帧中的所有人体,并利用跟踪算法为每个人分配唯一ID,实现跨帧跟踪,保证同一人的运动特征连续性。
姿态估计与特征提取
对每个人体区域,使用Mediapipe等方法提取关键点,计算出人体主轴角度、长宽比、关键点坐标、速度、加速度等多种时序和空间特征。mediapipe中的关键点比较多,目前只需要使用如下的关键点:0, 11, 12, 23, 24, 25, 26, 27, 28。

多特征融合判别跌倒
跌倒检测不是单一条件触发,而是融合了以下多种特征:
●身体姿态接近水平
●关键点的垂直位移突变
●姿态角度突变(身体突然变弯曲等)
●加速度突变 只有当多个条件同时满足(如满足3个及以上),才判定为跌倒,降低误报率。
最终检测到异常的视频帧会保存下来。
全部0条评论
快来发表一下你的评论吧 !