作者:Android源代码 | 来源:互联网 | 2023-09-13 09:43
在《Oracle数据科学:图像识别与视频合成》当中,我们针对静态图像中的物体侦测进行了介绍。但在我们日常工作中,更多情况下是对动态视频中的物体进行侦测,比如之前说的隧道中的火灾告警、公共场所的人类行为侦测,看看是否有人需要帮助或者是否有可疑人物有制造危险的企图等等。
今天我们为大家介绍,基于Oracle公有云上AI all in one镜像配合GPU环境搭建动态影像人类行为侦测的例子。具体的效果如下,下面视频是来自Oracle OOW2019上Larry的演讲。我们通过AI算法对视频中的人物行为进行标记。通过视频大家可以看出,AI算法已经成功侦测到Larry的站立、行走以及讲话动作,该算法可以标记人类的几百种常规动作。您也可以按照kinetics或者AVA格式创建自己的动作训练数据集,然后在HPC上训练属于自己的专属模型。比如目前我正在完成的关于医疗机构当中在生物样本采集的过程中是否遵守相关的SOP,侦测采集者的采检动作是否按照该检体采集的标准流程来完成,当出现操作疏失的时候立即提醒操作者,较少采检者和受采者的暴露风险。
环境搭建:
1、在Oracle公有云OCI上选择带有GPU资源的数据中心,比如美国Ashburn数据中心的AD2,使用GPU shape,比如GPU3.1作为基础架构,使用Oracle提供的AI all in one for Data Science免费镜像作为操作系统安装介质。
2、该环境当中已经带有Python环境以及PyTorch等用于张量计算和GPU加速的开源机器学习库,所以直接部署您的动作检测项目即可。
3、在该项目当中,我们可以将现有的视频片段作为输入,然后输出如上面视频那样的标记人类动作之后的结果视频。也可以将摄像机获取的实时视频作为输入,然后在显示器上输出实时侦测结果。在OCI GPU3.1环境当中,对于1080p的视频可以做到每秒13-15帧的处理速度,可以实现对摄像机输入准实时侦测的效果,如果要求分辨率更高的输入和刷新率更高的输出,可以选择GPU3.2或者更高的配置。
4、关于远端计算功能的调用,在之前发布的《Oracle数据科学:图像识别与视频合成》中的视频合成部分,我们可以实现使用Zoom,Skype等视频会议软件摄像头中图像实时换脸的效果,但凭借笔记本电脑或者一般台式机上面GPU的算力很难满足要求,于是我们使用远端计算资源调用的技术来解决这个问题,在个人计算机上只通过摄像头采集实时的视频图像,然后将该视频流发送到远端的OCI的GPU计算资源上,OCI的远端计算资源完成视频合成之后,实时将处理好的视频发送到个人计算机的模拟摄像头上,这样对方看到的就是换脸之后的影像了。举个例子,在洛杉矶通过Zoom参与视频会议,利用位于弗吉尼亚州的Ashburn的数据中心当中的GPU虚拟机对影像做降低分辨率之后的表情迁移处理,并将结果返回到洛杉矶的个人电脑,一般会出现1到1.5秒的影像延迟,这么小的延迟很难被对方发现。
最近正与数据科学的PM紧密合作,期待在不久的将来发布的新版Oracle Data Science Service以及新一代的AI (All-in-One) GPU Image for Data Science中为大家提供更多、更强大的功能,期待您的关注,谢谢。
编辑:殷海英