rknn上部署人体关键点检测模型(1)
前言
人体关键点检测(Human Keypoints Detection)又称为人体姿态估计,是计算机视觉中一个相对基础的任务,是人体动作识别、行为分析、人机交互等的前置任务。一般情况下可以将人体关键点检测细分为单人/多人关键点检测、2D/3D关键点检测,同时有算法在完成关键点检测之后还会进行关键点的跟踪,也被称为人体姿态跟踪。

难点
人体的非刚性结构导致任何一个部位发生变化都会产生新的姿态,尤其是自遮挡和复杂姿态问题。多样的服饰和不同人体结构的高度相似性,给关键点的精确定位带来诸多问题。环境干扰、前景遮挡、视野截断、人群遮挡和角度多变的拍摄视角,带来一些不确定性。
对于工业部署,还需要在兼顾识别准去率的同时,考虑推理速度的问题。硬件性能限制了模型的大小,模型结构。在实际部署过程中要考虑。
模型选择
多人关键点检测分自上而下和自下而上两种方法:
自上而下(Top-Down)的人体骨骼关键点检测算法主要包含两个部分,目标检测和单人人体骨骼关键点检测,对于目标检测算法,这里不再进行描述,而对于关键点检测算法,首先需要注意的是关键点局部信息的区分性很弱,即背景中很容易会出现同样的局部区域造成混淆,所以需要考虑较大的感受野区域;其次人体不同关键点的检测的难易程度是不一样的,对于腰部、腿部这类关键点的检测要明显难于头部附近关键点的检测,所以不同的关键点可能需要区别对待;缺点就是受检测框的影响太大,漏检,误检,IOU大小等都会对结果有影响。
自下而上(Bottom-Up)的人体骨骼关键点检测算法主要包含两个部分,关键点检测和关键点聚类,其中关键点检测和单人的关键点检测方法上是差不多的,区别在于这里的关键点检测需要将图片中所有类别的所有关键点全部检测出来,然后对这些关键点进行聚类处理,将不同人的不同关键点连接在一块,从而聚类产生不同的个体。而这方面的论文主要侧重于对关键点聚类方法的探索,即如何去构建不同关键点之间的关系。这种方法一般准确率较差,会将不同人的不同部位按一个人进行拼接,但处理速度较快。
针对于上文提到的,实际部署要考虑的问题,选择了Lite-HRNet网络(轻量级的高分辨率网络)。
高分辨率网络 Lite-HRNet,用于人体姿态估计。 Lite-HRNet首先将 ShuffleNet 中的高效 shuffle 块应用于 HRNet(高分辨率网络),从而产生比 MobileNet、ShuffleNet 和 Small HRNet 等流行的轻量级网络更强的性能。 shuffle 块中大量使用的逐点 (1x1) 卷积成为计算瓶颈。 Lite-HRNet引入了一个轻量级单元,条件通道加权,以替换 shuffle 块中昂贵的逐点 (1x1) 卷积。通道加权的复杂度与通道数量成线性关系,低于逐点卷积的二次时间复杂度。 HRNet 的并行分支中很容易获得的所有通道和多个分辨率中学习权重。它使用权重作为跨通道和分辨率交换信息的桥梁,补偿逐点 (1x1) 卷积所起的作用。Lite-HRNet 在流行的轻量级网络上展示了人体姿态估计的优越结果。

可以看出Lite-HRNet在coco2017上取得了不错的成绩,同时该网络参数数量,需求算力较低,像比于其他网络如openpose,可以更方便的在边缘设备如rknn上部署。

*********************************宣传时间分割线**************************************
深圳原数科技提供嵌入式软硬件、服务器、APP、代工生产一站式服务,对国产MCU和SOC(全志,瑞芯微)有丰富开发经验,特别是在低成本的wifi图传和AI视觉识别领域有深厚沉淀,相关产品出货超过50W台。近来顺应市场需求陆续推出人形追踪云台、虚拟背景直播一体机等落地产品,欢迎联系咨询,李生13686461548微信同号,也可官网查询相关信息www.atom-math.com


浙公网安备 33010602011771号