2

我正在开发一个人必须模仿预定姿势的项目。照片是由模仿此预定义姿势的人制作的。 然后,从这个图像中提取人的人体姿势,并与预定义的姿势进行比较。最后一个得分机制决定两个姿势的匹配程度,或者它们完全匹配。智能手机上的人体姿势估计/匹配

我想为智能手机开发,因此理想情况下,所有内容都嵌入智能手机本身。这意味着,该实现能够在CPU或智能手机GPU上运行(例如Moto G5 Plus,板载Adreno 506 GPU - 支持OpenGL)。 工作嵌入式不是必须的,我认为也可以将估算/匹配算法外包给包含体面GPU的中央服务器。嵌入式或外包式这种特殊选择是一个涉及许多参数(性能/计算能力,服务器成本,准确性,移动电池使用率,延迟服务器通信,多平台,可扩展性,移动数据使用量 - 无重要 - ,...)

我知道有一些框架可用于人体姿态估计,如Openpose和更深切。但是,由于他们都使用深度学习,他们需要一个下降GPU。目前,大多数新智能手机都配备了GPU,但它们是否能够运行这些框架? 为了适应这种情况,(多人)关键点检测不需要是实时的,因为只有1个图片(没有实时视频),并且延迟时间为2到5秒是可以接受的。

由于我还处于研究阶段,我不知道该走什么方向。 它甚至有可能将这些框架移植到智能手机平台上吗?就像Openpose一样,它使用Caffe和OpenCV。假设我想将Openpose移植到Android;我知道有一个库CNNdroid能够将使用Caffe制作的CNN模型转换为CNNdroid格式。进一步的OpenCV也不应该是一个大问题,因为有一个Android版本可用。所以,从理论上讲似乎是可能的,但在实践中......

我的问题是:是否有人在智能手机上使用人体姿势检测/匹配的经验?智能手机上现有的GPU可用吗?我知道这是一个很宽泛的问题,但一些方向/建议/经验可以真正帮助

UPDATE: 我正在考虑移植的选项Openpose(使用来自Caffe为ML框架)来TensorFlow。 TensorFlow支持的Android &的iOS

回答

1

您可能会感兴趣的看着由Krafka等人所使用的技术。他们的Eye Tracking for Everyone项目中,他们将一个较大的网络压缩到一个较小的网络上,以便将注视坐标估计为可在智能手机上运行的较小网络。这是使用Geoff Hinton开发的一个概念,他称之为Dark Knowledge。凝视检测是姿态估计的一个特例,所以原则上看起来这些技巧会有所帮助。但是,我不知道它们是否会为您的目的提供足够的有效性(我认为这在很大程度上取决于您的准确性限制)。

1

Openpose是一个智能手机应用太重。您需要重新设计软件架构以适应电话系统。关于到CNN这是性能的瓶颈,使用mobilenet状结构和暗知识(如Mozglubov提到)教更薄网络是两个有前途的方法。任何地方,都有很多工程师在前面工作。祝你好运!