【2020华为云AI实战营】 基于ModelArts使用I3D模型实现视频动作识别

举报
andyleung 发表于 2020/07/28 14:04:55 2020/07/28
【摘要】 目标: 实现一段根据视频计算得到rgb.npy和flow.npy的代码,并跑通I3D模型对新视频的动作识别预测视频动作识别是指对一小段视频中的内容进行分析,判断视频中的人物做了哪种动作。视频动作识别与图像领域的图像识别,既有联系又有区别,图像识别是对一张静态图片进行识别,而视频动作识别不仅要考察每张图片的静态内容,还要考察不同图片静态内容之间的时空关系。比如一个人扶着一扇半开的门,仅凭这一张...

目标: 实现一段根据视频计算得到rgb.npy和flow.npy的代码,并跑通I3D模型对新视频的动作识别预测

视频动作识别是指对一小段视频中的内容进行分析,判断视频中的人物做了哪种动作。视频动作识别与图像领域的图像识别,既有联系又有区别,图像识别是对一张静态图片进行识别,而视频动作识别不仅要考察每张图片的静态内容,还要考察不同图片静态内容之间的时空关系。比如一个人扶着一扇半开的门,仅凭这一张图片无法判断该动作是开门动作还是关门动作。

视频分析领域的研究相比较图像分析领域的研究,发展时间更短,也更有难度。视频分析模型完成的难点首先在于,需要强大的计算资源来完成视频的分析。视频要拆解成为图像进行分析,导致模型的数据量十分庞大。视频内容有很重要的考虑因素是动作的时间顺序,需要将视频转换成的图像通过时间关系联系起来,做出判断,所以模型需要考虑时序因素,加入时间维度之后参数也会大量增加。

进入ModelArts

点击如下链接:https://www.huaweicloud.cn/product/modelarts.html , 进入ModelArts主页。点击“立即使用”按钮,输入用户名和密码登录,进入ModelArts使用页面。

进入ModelArts

点击如下链接:https://www.huaweicloud.cn/product/modelarts.html , 进入ModelArts主页。点击“立即使用”按钮,输入用户名和密码登录,进入ModelArts使用页面。进入控制台:

创建ModelArts Notebook

下面,我们在ModelArts中创建一个Notebook开发环境,ModelArts Notebook提供网页版的Python开发环境,可以方便的编写、运行代码,并查看运行结果。

第一步:在ModelArts服务主界面依次点击“开发环境”、“创建”

第二步:填写notebook所需的参数:


参数 说明
计费方式 按需计费
名称 Notebook实例名称,如 action_recognition
工作环境 Python3
资源池 选择"公共资源池"即可
类型 GPU
规格 [限时免费]体验规格GPU版
存储配置 EVS
磁盘规格 5GB

第三步:配置好Notebook参数后,点击下一步,进入Notebook信息预览。确认无误后,点击“立即创建”



点击右上角的"New",然后创建TensorFlow 1.13.1开发环境。


1、“根据视频计算得到rgb.npy和flow.npy”的代码提供给你,点此链接进行下载,下载完成后,回到课

程案例代码,找到"import i3d"所在的那个cell,在这个cell之后新建一个cell,复制粘贴刚下载的代码到

新建的cell中;--就是在cell21的位置后面新建一个cell,然后则会个cell把下载的代码copy进去。

with tf.Session() as sess:

...

rgb_sample = np.load(_SAMPLE_PATHS['rgb'])

tf.logging.info('RGB data loaded, shape=%s', str(rgb_sample.shape))

feed_dict[rgb_input] = rgb_sample

...

flow_sample = np.load(_SAMPLE_PATHS['flow'])

tf.logging.info('Flow data loaded, shape=%s', str(flow_sample.shape))

feed_dict[flow_input] = flow_sample

out_logits, out_predictions = sess.run(

[model_logits, model_predictions],

feed_dict=feed_dict)

2、刚复制的代码并不能直接执行,找到该块代码中带有注释 “# TODO,填写视频所在的路径” 的那一

行,这一行是需要你填写待预测视频所在的路径,课程案例dataset_subset目录中已经准备好了多个视

频,比如Bowling目录下有32个视频,本次作业请你使用Bowling目录下其中任意一个视频的路径进行

填写;

3、视频路径填写完成后,执行该代码块,耗时30秒到两分钟(原视频的总帧数越多,耗时就越长)之

后,会生成两个npy文件,接下来你需要修改下一个cell中的_SAMPLE_VIDEO_FRAMES参数值为视频总

帧数减1,SAMPLE_PATHS参数中的路径为刚才生成的两个npy路径;

4、修改完成后,执行当前cell及之后的代码,完成新视频的动作识别预测。





【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。