详解阿里99大促活动页内容识别技术实现

简介: 精准!

闲鱼技术-仝辉,深宇

引言:

      淘宝99大促今年会有天猫,淘宝和聚划算全员参与,有上千个页面形式的展现。其中,测试是保障活动页面的正常发布的一个必不可少的关键环节。

      传统的测试方法,需要测试人员去分析这个页面是否正常生成,以及是否实现正常地跳转等。这样通常会占用大量的测试资源。那么能否利用机器学习等相关技术为测试赋能呢?

      带着这个问题,我们分析了页面的特性。经过分析后发现页面具有高度的相似性,很多模块是复用的。因此,可以利用机器学习去学习模块特征,进而达到识别这些模块的目的。最终,我们实现了对淘宝99大促几十个活动页模块的自动识别。

      具体的模型训练和模型识别部分会在下一章节“处理流程”中详细介绍。

处理流程:

      深度学习技术通常由两部分构成:模型训练和模型预测。

      深度学习通常是有监督学习的方式,因此在模型训练环节中,需要输入训练样本,“告知”它输入和输出是什么。此外,我们还需要选择合适的深度学习网络来训练。相关细节会在后续两个小节中详细描述:

样本生成:样本生成过程中使用的三种方法
模型选择:fpn + Cascade R-CNN

      在模型预测环节,由于页面内容理解部分不止需要识别模块,还需要识别模块内部的元素。此外,受限于目标检测模型本身的局限性,会导致识别出来的位置没法达到像素级别的精确性,因此需要对位置做修正。为了近一步提高准确度,本文引入了位置修正模块。因此,本文的模型预测分为如下三个部分做介绍:

模块识别:识别页面中模块类别和位置
元素识别:基于模块的识别区域,识别内部元素
位置修正:通过传统图像的方式修正内部元素位置

模型训练:

样本制造:

      样本制造我们演进了三个版本:

image.png

      第一个版本是手动打标,基于labelImg等标注工具进行标注。这种打标方式的缺点是需要投入较多的人力资源,且无法满足未上线页面的打标。

      第二个版本是模型辅助打标,也就是先训练一个初始可用的模型,然后利用模型预测结果对模型进行初始标注,对不正确的地方作修改,可以不断地迭代优化模型。这种打标方式的缺点是无法满足未上线页面的打标。

      第三个版本是自动打标,分析H5页面的代码生成布局DSL,然后通过替换属性的方式自动生成相关代码。这种打标方式的优点是可以解决上述两个版本中“无法满足未上线页面打标”的问题。这种方法也是本文中采用的主要方法。

      本文,主要使用了第三种方式去生成训练数据,第一种和第二种更加真实的方式生成验证数据,达到生产环境准确验证的目的。

模型选择:

      淘宝99大促活动页需要识别活动页里面有哪些页面模块,且需要知道模块所在的位置。而深度学习的目标检测模型可以在给定的图片中精确找到物体所在位置,并标注出物体的类别。

      考虑到对坐标位置和类别有很高的召回率和准确率的要求(IOU0.5:0.95的召回率和准确率都要达到95%以上),本文使用了精度更高的Cascade-RCNN网络。

image.png

      主流的目标检测模型Faster-RCNN的缺点是RPN的proposals大部分质量不高,IOU低阈值会导致很多误检出,而高阈值会导致召回率过低。针对这个问题,Cascade-RCNN使用cascade回归作为一种重采样的机制,逐层提高proposal的IoU值,从而使得前一层重新采样过的proposals能够适应下一层的更高阈值。这样做的好处是:每个阶段都有不同的IoU阈值,可以更好地去除离群点,适应新的proposal分布。

      针对识别模块大小不一这种情况,我们在卷积特征提取网络加入了特征金字塔结构,均衡了不同尺度模块的检出数量(对小模块提升尤为明显),进而提高了召回率和准确率。网络结构如下图所示:

image.png

模型识别:

模块识别:

在本期的淘宝99大促中,我们支持了28个模块的识别,类似的模块如下:

image.png
image.png
识别的结果如下所示:
image.png
image.png

元素识别:

      由于页面内容理解部分不止需要识别模块,还需要识别模块内部的元素。如下图所示,我们不仅要识别七巧板模块,也需要识别内部元素的会场导航和商品导航模块。

image.png
      本文考虑到这两种元素也会在页面中单独出现,采用了Coarse-to-Fine的架构:首先识别七巧板模块,然后通过另一个目标检测网络去识别内部元素。
image.png

      识别的最终结果如下图所示:
image.png

位置修正:

      由于目标检测模型本身的局限性,会导致没法达到像素级别的精确性,因此需要对位置做修正。为了近一步提高准确度,采用计算公式如下:

image.png
image.png

现有效果

      本篇我们基于FPN+Cascade网络去预测淘宝99大促模块,在验证集近千张的样本量的情况下,采用了coco的验证标准,达到了如下的准确率:

      Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.982

      Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.989

      Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.984

      Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.989

      Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.423

      Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.986

      Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.993

      Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.993

      Average Recall (AR) @[ IoU=0.50 | area= large | maxDets=100 ] = 1.000

      由上面的数据我们可以知道,页面和相应元素识别的召回率和准确率达到了98%左右,满足了识别精度的要求。此外,该流程符合Coarse-to-Fine的架构(由粗粒度到细粒度),对于相类似的问题也可以采用该方法处理。

未来展望

      我们后续会尝试将本文的方法推广应用到更多的业务场景中去,例如双十一活动页模块识别等。由于本文的方法相对耗时(GPU机器几百毫秒级别),后续会在效果和效率的均衡上作更多的尝试。也希望大家能够关注我们后续的系列文章。

相关文章
|
1月前
|
人工智能
阿里上线AI电商工具“绘蛙”,让你的商品第一时间被种草
【2月更文挑战第15天】阿里上线AI电商工具“绘蛙”,让你的商品第一时间被种草
162 2
阿里上线AI电商工具“绘蛙”,让你的商品第一时间被种草
|
1月前
|
新零售 人工智能 搜索推荐
七人拼团新零售系统模式开发|成熟案例|详情
新零售,即企业以互联网为依托,通过运用大数据、人工智能等先进技术手段并运用心理学知识
|
2月前
五大百科引流方法 刷新你对百科营销的认知
百科引流攻略|小马识途分享百科营销的五个技巧
|
2月前
|
新零售 大数据
全民拼团商城新零售系统开发|模式分析|详情方案
新零售是线上线下的结合,组合的价值主要是线下线上引流
|
移动开发 算法 小程序
个推用户运营平台5大热门功能,限时免费体验!
立即申请免费试用,开启APP运营增长新体验
129 0
个推用户运营平台5大热门功能,限时免费体验!
|
机器学习/深度学习 人工智能 算法
阿里云PAI平台模型压缩技术落地淘宝直播双十一应用:一猜到底
随着移动端应用的兴起,模型压缩作为深度学习模型实现轻量化部署的有效手段,备受关注。机器学习也从理论研究阶段,有了明显的工程化、应用落地的趋势,那么模型压缩在淘宝直播游戏场景下,是如何发挥重要作用的呢,让我们一起揭开神秘的实践面纱。
1170 0
阿里云PAI平台模型压缩技术落地淘宝直播双十一应用:一猜到底
|
云安全 边缘计算 运维
2020双十一终极清单!阿里云CDN&视频云最全优惠攻略
为了答谢新老用户,CDN&视频云火力全开,特此推出新用户5折起、爆款产品低至5.6折、全线预付费产品低至7折钜惠等优惠活动,帮助大家降低上云门槛。
3062 0
2020双十一终极清单!阿里云CDN&视频云最全优惠攻略
|
运维 监控 Kubernetes
SAE助力南瓜电影7天内全面Severless
SAE是面向应用的Serverless PaaS,具备0门槛+0改造+0容器基础的绝对优势,与函数计算FC相比,两者的相同点是都屏蔽底层IaaS细节,免运维。不同的是,SAE在此基础上还屏蔽了K8s细节,提供面向应用和微服务的UI和API,适合PaaS层用户直接使用。
8572 1
SAE助力南瓜电影7天内全面Severless
|
云计算
阿里云大使页全新改版升级,助力大使资源变现,0门槛、高返佣
阿里云大使是阿里云的社会化营销项目,致力于通过社会化力量来助力中小企业的上云和数字化转型,现阶段仅针对个人加入和推广。是非常适合个人站长、有上云客户资源的用户通过资源或流量变现的热门项目,随着越来越多大使的加入,云大使已经成为我们这些推广云计算人的代名词。
阿里云大使页全新改版升级,助力大使资源变现,0门槛、高返佣
|
SQL 消息中间件 资源调度
首次揭秘!​春晚活动下快手实时链路保障实践
本文由快手开发工程师刘建刚分享,主要介绍春晚活动下快手实时链路保障实践。内容主要包含以下四部分:快手 Flink 简介、春晚实时保障方案、春晚实时大屏、未来规划。
首次揭秘!​春晚活动下快手实时链路保障实践