它们都是踢腿动作,但实际上在视频中有很大的不同,是两种不同的动作。
为了识别动作,我们还需要使用RNN(循环神经网络),RNN的优势在处理时间序列问题,比如
- 自然语言处理,词语的意思需要联系上下文
- 根据历史记录,预测用户将要访问的页面
- 识别一系列帧中的动作
若要识别动作,我们还需要将数帧画面输入CNN,再将输出结果输入RNN。
总结在本文中,我们开发了一个图像分类模型。为此,我们手动提取视频帧并收集数据集,将它们分成三个不同的类别,然后使用imgaug进行数据增强。
之后,我们通过MobileNet来解释什么是迁移学习,以及我们如何利用MobileNet。经过训练,我们的模型达到了90%以上的准确率!
为了在浏览器中使用我们开发的模型,我们将它与MobileNet一起加载,并从用户的相机中每100ms取出一帧,识别用户的动作,并使用模型的输出来控制《真人快打3》中的角色。
最后,我们简单讨论了如何通过RNN来进一步改进我们的模型。
我希望你们能够和我一样喜欢这个小项目。
附录:原文地址:
https://blog.mgechev.com/2018/10/20/transfer-learning-tensorflow-js-data-augmentation-mobile-net/
原动作识别项目地址:
https://github.com/mgechev/movement.js
JS版《真人快打》项目地址:
https://github.com/mgechev/mk.js
imgaug:
https://github.com/aleju/imgaug
MobileNet神经网络:
https://www.npmjs.com/package/@tensorflow-models/mobilenet
— 完 —