我在一个人必须模仿预定义姿势的项目中工作。由模仿此预定义姿势的人制成图片。
然后,从该图像中提取人的人体姿势,并将其与预定义的姿势进行比较。最终,一个计分机制决定了两个姿势的匹配程度或是否完全匹配。
我想为智能手机进行开发,因此理想情况下所有内容都嵌入在智能手机本身中。这意味着该实现能够在CPU或智能手机GPU(例如Moto G5 plus,板上的Adreno 506 GPU-支持OpenGL-)上运行。
嵌入式工作不是必须的,我认为也可以将估计/匹配算法外包给包含一个不错的GPU的中央服务器。这个特殊的选择(嵌入式或外包)是一个涉及很多参数的问题(性能/计算能力,服务器成本,准确性,移动电池使用量,延迟服务器通信,多平台,可伸缩性,移动数据使用量-不那么重要- ,...)
我知道那里有一些用于人体姿势估计的框架,例如Openpose和deepercut。但是,由于它们都使用深度学习,因此它们需要下降的GPU。如今,大多数新智能手机都配备了GPU,但是它们能够运行这些框架吗?
为了解决这种情况,(多人)关键点检测不需要是实时的,因为只有1张图片(没有实时视频)并且2到5秒的延迟时间是可以接受的。
由于我仍处于研究阶段,因此我不知道应该朝哪个方向前进。
甚至可以将这些框架移植到智能手机平台上吗?例如,像Openpose,它使用Caffe和OpenCV。假设我想将Openpose移植到Android;我知道有一个CNNdroid库,可以将Caffe制作的CNN模型转换为CNNdroid格式。进一步的OpenCV也不应该成为大问题,因为有可用的Android版本。因此,从理论上讲似乎可行,但在实践中可行。
我的问题是:有人在智能手机上进行人体姿势检测/匹配方面有经验吗?使用智能手机上的当前GPU甚至可以实现。我知道这是一个广泛的问题,但是某些方向/建议/经验可能确实有帮助
更新:
我正在考虑将Openpose(使用Caffe作为ML框架)移植到TensorFlow的选项。 TensorFlow同时支持Android和iOS
最佳答案
您可能对研究Krafka等人使用的技术感兴趣。在他们的Eye Tracking for Everyone项目中,他们将更大的网络压缩以将凝视坐标估计为可以在智能手机上运行的较小网络。这使用了Geoff Hinton提出的概念,他称之为Dark Knowledge。注视检测是姿势估计的一种特殊情况,因此从原则上讲,这些技术似乎会有所帮助。但是,我不知道它们是否对您的目的足够有效(我认为这在很大程度上取决于您的准确性约束)。
关于image-processing - 智能手机上的人体姿势估计/匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46728358/