我正在开展一个人必须模仿预定义姿势的项目。从模仿该预定义姿势的人制作图片。 然后,从该图像中提取人的人体姿势并与预定姿势进行比较。最后,评分机制决定两个姿势的匹配程度,或者它们是否匹配。
我想为智能手机开发,所以理想情况下,所有内容都嵌入智能手机本身。这意味着,该实现能够在CPU或智能手机GPU上运行(例如Moto G5 plus,板载Adreno 506 GPU - 支持OpenGL-)。 嵌入式工作不是必须的,我认为将估计/匹配算法外包给包含合适GPU的中央服务器也是可能的。这种特殊的选择,嵌入式或外包,是一个涉及大量参数的问题(性能/计算能力,服务器成本,准确性,移动电池使用,延迟服务器通信,多平台,可扩展性,移动数据使用 - 无重要 - ,...)
我知道有一些用于人体姿势估计的框架,比如Openpose和deepcut。但由于他们都使用深度学习,他们需要下降GPU。如今,大多数新智能手机都装有GPU,但是它们能够运行这些框架吗? 对于这种情况的细微差别,(多人)关键点检测不需要是实时的,因为只有1个图像(没有实时视频)并且可以接受2到5秒的延迟时间。
由于我还处于研究阶段,我不知道应该走哪条路。 甚至可以将这些框架移植到智能手机平台吗?就像Openpose一样,它使用Caffe和OpenCV。让我们说我想将Openpose移植到Android;我知道有一个CNNdroid库可以将用Caffe制作的CNN模型转换成CNNdroid格式。进一步的OpenCV也不应该是一个大问题,因为有Android版本可用。所以,理论上似乎有可能,但实际上是什么......
我的问题是:是否有人在智能手机上有人体姿势检测/匹配经验?智能手机上现有的GPU是否可行?我知道这是一个广泛的问题,但一些方向/建议/经验可能真的有帮助
更新: 我正考虑将Openpose(使用Caffe作为ML框架)移植到TensorFlow的选项。 TensorFlow支持Android和Android。的iOS
答案 0 :(得分:2)
您可能有兴趣研究Krafka等人使用的技术。对于他们的Eye Tracking for Everyone项目,他们在这个项目中压缩一个较大的网络,用于将注视坐标估计到可以在智能手机上运行的较小网络。这是使用Geoff Hinton开发的一个概念,他称之为Dark Knowledge。注视检测是姿势估计的一个特例,因此原则上看起来这些技术会有所帮助。但是,我不知道它们是否足以满足您的目的(我认为这在很大程度上取决于您的准确性限制)。
答案 1 :(得分:1)
Openpose对于智能手机应用而言太重了。您需要重新设计软件架构以适应电话系统。关于作为性能瓶颈的cnn,使用类似移动网络的结构和Dark Knowledge(如Mozglubov所提到的)教授更薄的网络是两种有前途的方法。在任何地方,都有很多工程师在工作。祝你好运!