AI技术+短视频于苏宁易购电商平台的应用实践

2018年5月18-19日,由51CTO主办的全球软件与运维技术峰会在北京召开。PP云高级技术架构师高超在“人工智能技术探索”B会场论坛中 带来了《AI技术+短视频于苏宁易购电商平台的应用实践》的主题分享。


一、   苏宁视频云介绍



                     

•       直播:软件开发工具包、API、控制台

•       点播:基于PP视频十年媒体技术和服务经验,打造的集上传,存储,转码,加速,管理和监控等功能为一体的产品

•       短视频:集拍摄,编辑,上传,转码,管理,分发,播放于一体的全功能产品

•       网页加速:自建+融合,支持全球智能化调度

•       低延时视频通话:基于WebRTC的视频通话解决方案,可以多人视频通话和旁路直播

 

二、   短视频机器审核


1.    AI应用起源




2016年开始,PP云进入快速发展周期,出现大量涉黄视频和版权问题视频,主要来源是企业上传视频。期间编辑审核速度不快,运营投诉,法务部门的反馈都让技术团队不得不抽出时间应对。我们需要花出额外的时间来人工校验,封禁账号。


经过一段时间的经验积累和应对措施调整,AI在视频审核的应用需求被提上日程。


2.    机器审核需求演化


下面是我们提出需求后,将机器审核服务上线落地,不断迭代经过的历程。




需求初期专门针对视频机器审核做了可行性分析,对目标的可操作性进行了论证,最终确认使用人工智能来做这件事情,并且调研和测试了卷积神经网络在这方面的应用,实际测试中也应用了深度学习框架来验证效果。


业务系统整合阶段让机器审核作为分布式服务部署,同时和人工审核服务并行存在,避免审核错误,并且纠正后的结果可以作为训练数据。


评估预测结果是个不断迭代,可持续的过程,在实际应用中,演化出了不同业务特性使用不同的模型。

 

3.    机器审核工作流




该工作流分为两层:上层为业务流程,下层为机器审核服务流程。


  • 业务流程的输入项为视频文件,转换为视频全图作为机器审核服务的输入项。

  • 机器审核服务对视频全图做特征处理,如重复检测等等,再输入到训练模型中给出结果预测,结果预测会输出到业务流程中,由人工审核监督。

  • 训练模型会进行定期评估和调整,已适应不断变化的业务需求。

  •     机器审核服务实践


4. 机器审核服务实践




在测试阶段参与测试的视频总量达数千万,所占存储约3PB。


测试视频的分类丰富,主要有电商类、体育类、文化类、企业多元化视频。电商类视频包括苏宁易购商品介绍视频,商品评价视频,社区视频等不同场景类型内容;体育类视频有直播录制视频,赛事讲解视频等等;文化类包含多种娱乐性视频,资讯类视频,PGC专业性内容视频等;企业上传视频是分类最多,场景最丰富的区域。




上面示例是苏宁易购的视频全景图,采用固定间隔截图,默认是6秒钟间隔一张,如果是高度敏感内容,可以调整为1秒钟间隔一张;缩略图采用10x10排列,一共100张一个全景,超过的部分用新的全景排列。




有了可测试数据源后,我们对主流AI框架做了调研和测试。选型的测试框架有Caffe、Keras、TensorFlow,结合我们的实际需求,确定了使用Caffe作为机器审核的基础AI框架,第一个测试阶段的数据集抽取了ImageNet的部分分类做验证,再使用准备好的视频数据做进一步准确性测试。




上图是一个普通神经网络的示例图,有输入层、隐藏层、输出层,实际应用中层数和链接都会做调整。




这是一个AlexNet模型,是两个GPU的使用场景,能清晰的看到输入层是一个 224x224x3的图像输入,划分为小图是11x11,移动步长为4;长方体是卷积核,比如3x3,5x5,还有深度;最后是三个全链接层,还有卷基层中间的池化层,起降维作用,减少参数输入,最终输出是100个类别;在我们实际使用的时候调整了类别个数。




这是一个VGG16模型,我们的目标检测使用了FasterRCNN,VGG16一共16层,有13个卷积层和3个全链接层,实际测试中比AlexNet准确率更高,但是速度要慢一点,所以会应用中存量视频或及时性要求不高的视频审核上。从图上可以很形象的看出池化层(max pooling)的参数降维作用,并且激活函数和AlexNet相同,都使用了ReLU,输出层类别也是1000个


下图是我们测试中确定内容判定阀值的过程数据,可以看到阀值测试范围是0.3到0.7,步长是0.05,经过样本测试选中了0.45作为生产环境常量。




以下是影片分类判定阀值测试,利用同样的测试数据按计划做批次测试并汇总结果。




拿测试结果的90%作为置信区间,经过公式推算,得出阀值推荐值为0.473,推荐范围为[0.31,0.53],我们根据不同的业务要求做细节调整


目前我们系统平均准确率可以达到99.2%以上,准确率是按照整个视频所有图片聚合计算后得到的最终概率计算。


在我们使用卷积神经网络过程中也需要针对结果准确性做调试,这时候就需要反卷积算法帮助,来反查我们判断错误的内容是从那一层开始出错的,如下图是一个VGG16模型的卷积过程和反卷积过程。




下图是我们业务系统集成示例,一共有两个模式:业务增量视频上传接入、扫描处理历史数据;业务系统讲视频上传至存储管理系统中,由存储管理系统来分发审核任务,并且获取审核结果,机器审核分布式服务订阅任务队列,处理完任务后反馈结果到存储管理系统,整个过程实时性较高。




上面审核后台用来做结果复核,界面操作如下图,即是审核也是打标,打标后的数据可以重新反馈给机器审核做训练数据。



下图是业务系统应用的一个场景,讲机器审核和人工审核结果都同步过来,按照业务预定义好的判断逻辑做最终决策。




5.    其他类型的监控




除了机器审核对视频的动态监测,我们还使用了其他运维工具来保障服务访问的稳定性。如苏宁云迹作为自研系统,可以满足故障分析和基础报警需求;ELK和TICK作为辅助工具可以定制更多的业务类型监测和报警。


三、   短视频加速智能调度




1.    加速智能调度演化


随着业务越来越多,资源越来越丰富,我们需要针对不同服务做不同级别的保障,所以提出了智能调度的需求。和机器审核类似,也经历了三大过程,采用TensorFlow框架,不同类型的数据类型和输出策略。


2.    加速智能调度工作流



该工作流分为两层:上层为业务流程,下层为预测服务流程。


我们的数据输入边界比较明显,预置策略相对灵活,由模型利用历史数据和当前数据做调度预测,业务人工选择推荐并应用。


3.    智能调度实践


针对智能调度的目标定位分为服务整体稳定性和故障自动恢复。



通过调度预测实现局部稳定性推荐,并提升整体系统稳定性指数;并且可以在故障发生时根据推荐列表尝试自动恢复。


作为预测数据来源,我们一共分为三大类型:全网监测数据、基调网络数据和业务预置策略。全网监测数据来自自建CDN节点详细数据记录,商业融合CDN可以使用节点日志数据,基调网络数据可以更详细,基于LastMile,可以获取nslookup结果,ping结果,traceroute结果,终端下载耗时,下载速度,视频buffer等等,加上业务预置边界策略,可以推荐调度策略供业务使用。



四、   AI技术上的前景和困扰


1.    AI未来应用场景


  • 电商应用如用户购买预测

  • 新零售应用如数字化导购

  • 视频智能分类:苏宁集团内部系统视频分类打标

  • 内容智能感知:体育直播进球片段和精彩回放预测截取


2.    AI技术上的困扰



新生分类数据量初期少,如手术现场培训视频,容易引起模型预测不准,需要模型针对此类数据不断优化;这个不断优化的过程中,常用分类视频的回报周期效果明显,但是新的行业或者冷门行业数据需要不断调优来产生回报收益


猜你喜欢

转载自blog.csdn.net/weixin_42128541/article/details/80536688