淘宝内容场下的人物理解系统

简介: 淘宝内容场下的人物理解系统

01.gif

本文的人物理解特指对人的视觉特征的识别,即从视觉维度,获取视频或图片中人物的身份、性别、年龄、颜值、身材、服饰、人-物关系等各种信息。

背景介绍

随着网络通信技术的迅猛发展,主流的信息传播已经揉合了文本、图像、语音、视频等多种媒体形式。特别是近几年出现的短视频和直播正在迸发出巨大的能量。淘系内部也孵化出了直播、点淘、逛逛等多个视频内容平台。

在视频内容中,出现频率最高、对用户影响力最大的素材就是“人”,淘宝直播V2以上的直播间中70%以上都含有主播(人),逛逛封面图中30%以上含有人,淘宝短视频的封面中近50%含有人。因此,人物理解是视频内容理解中必不可少的一环,可以应用到搜索、推荐、审核、生产等多个业务场景中。

本文的人物理解特指对人的视觉特征的识别,即从视觉维度,获取视频或图片中人物的身份、性别、年龄、颜值、身材、服饰、人-物关系等各种信息。比如下图,可以获取到两个人物信息:

image.png图1 人物理解示例

人物理解

 技术难点

人的视觉属性可以分为人脸相关(如性别、年龄、颜值、质量、人脸识别等)和人体相关(如身材、服装、风格等),由于人的视觉变化复杂且人物属性多样,例如人脸模糊、妆容变化、非活体广告人物等等都会加大目标人物理解的难度,而且也不存在一个单一的模型可以完全识别所有的人物属性。

image.png

图2 人物理解难点示例

 技术方案

为了尽可能全面的识别人物特征,我们希望搭建一个人物理解系统,满足以下几个原则:

  1. 全面:尽可能多的识别人物特征
  2. 准确:人物理解不受场景限制,保证识别准确率
  3. 灵活:既可高效的识别特定属性,又能方便嵌入新特征识别模块

如下图所示,我们搭建的人物理解系统基础框架由检测、矫正、人脸识别、人脸属性识别、人体属性识别五个子模块组成,同时引申到高层语义人物理解,并在封面选帧、人物关系、场景关系、明星图谱等方向取得一定业务和技术成果。

image.gifimage.png

图3 人物理解系统框架

经过近2年的积累,我们的人物理解系统现在包含20多个人物相关原子模型,支持超过100多种人物属性的识别;为了满足业务上人脸识别的需求,我们搭建了4个人物相关的数据库。人物理解系统已成功在点淘、逛逛、直播等多个内容场落地18项业务,算法总调用量达到2亿次/天。

 核心算法

  • 人脸/人体检测

检测模型是人物理解系统的基石,检测必须有足够高的准确率和召回率,才能保证人物理解系统正常应用到下游业务。但直接使用公开数据集存在域适配的问题,因此我们收集了一批直播场景的真实数据在开源数据训练的模型上finetune。检测算法我们采用了YOLOv5训练框架,并针对业务场景的训练数据集挖掘了适配的anchor尺寸。

  • 人脸矫正

人脸矫正是人脸识别、人脸属性识别的前提,矫正思路是先通过深度学习算法获取人脸关键点,再通过OpenCV里的仿射变换对人脸进行矫正,效果见图4:

image.png

图4 人脸矫正效果展示

关键点检测模型来自部门团队自研的PixelAI人脸关键点算法[1],该工作已发表在TPAMI 2021。该算法采用轻量级的Resnet18作为骨干网络,支持在移动端运行,最终输出106个人脸关键点和3个欧拉角,106个关键点在移动端验证集上NME=1.51%,欧拉角的指标MAE=1.72度。
考虑到大姿态(俯仰角大于45度或偏航角大于45度)的情况下人脸遮挡严重(见图2),无法准确识别属性和特征,因此我们将大姿态的人脸进行过滤,不进入下一环节。

  • 身份识别

人脸质量评估

人脸出现的场景复杂多变,除了上文提到过的大姿态人脸不适合进行人脸识别外,检测出来的人脸中还可能存在人脸误检、卡通人脸、遮挡、模糊等情况,都无法进行准确识别,见图5。因此我们训练了一个人脸质量分模型对检测出的人脸进行评估,以进一步过滤人脸误检(猫脸狗脸等易误检的case)、非真人人脸(卡通人脸)、模糊/遮挡严重,获取能够做人脸识别和人脸属性识别的高质量人脸,最终只让高质量人脸进入后续流程。

image.png

图5 低质量人脸示例

人脸识别

自然场景的人脸识别是一个非常复杂的问题,存在如下多种困难:

  1. 低质量人脸识别(侧脸、低头、模糊、过曝光、遮挡、卡通人脸等)
  2. 不同内容域的数据分布偏差造成的算法跨场景迁移问题
  3. 数据长尾分布
  4. 跨年龄人脸识别
  5. 受光照、表情等影响,不同身份的人脸视觉相似,比如张一山和夏雨;而同一个人受表情、妆容等因素影响,视觉上相差很大

image.png

图6 人脸识别面临的问题

针对上述问题,我们提出了一个多域联合的人脸特征优化方案,见图7:

image.png

图7 多域联合人脸优化方

首先考虑到低质量人脸识别很容易存在误差,且对业务无重大影响,因此我们根据上文提到的人脸姿态、人脸质量分将低质量人脸过滤掉,不做识别。

人脸识别方面,我们设计了多域联合的人脸细分类结合跨域自动难样本挖掘的算法训练架构(图7)。人脸分类的基础结构是基于Circle-loss的细粒度特征优化方案,移动端小模型的backbone选择了轻量级的MobileFaceNet,云端模型选择SE-IR50。针对数据偏置场景迁移问题,我们整理了开源亚洲人脸数据集、网络明星人脸数据集、淘宝直播人脸数据集、淘宝短视频人脸数据集,多个内容域的数据联合进行训练,引入跨域分类反向梯度模块,消除域间差异,提升模型通用性。此外我们还进行了跨域半难样本的在线挖掘和混合训练,提升难样本挖掘空间,进一步缓解跨域识别难问题,同时提升对边缘case的识别能力。依靠人脸识别过程中积累的技术经验,我们在CVPR2020的比赛中取得了冠军,具体见技术积累章节。

完成上述训练流程后,我们就获取到了人脸细分类模型的输出特征作为人脸识别中使用的人脸特征。我们将人脸特征输入人脸库中进行特征检索,获取最终的人脸识别结果。根据不同的业务需求,我们累计构建了4个业务场景人脸库,并对所有人脸库采用统一的FaceID,方便支持跨业务的人物身份查询和联动。详情见下文。

人脸库

我们基于达摩院提供的VTS向量检索引擎,搭建人脸库系统,支持实时增删改查操作。现已累计如下4个业务数据库。

  1. 全量直播人脸库:在线实时收集淘宝直播场景的人脸FaceID数据。
  2. 全量短视频人脸库:在线实时收集逛逛、淘宝短视频、点淘短视频等场景的人脸数据。
  3. 真实主播库:我们定义真实主播为直播中出现超过一定时长的卖货主播。根据直播历史数据,我们从近900w场直播中出构建真实主播人脸库,同时包含这些主播的特色身份(例如明星主播、珠宝类带货主播等)、性别、年龄、颜值等信息;真实主播人脸库仍在持续通过离线统计分析的方式增长和迭代。
  4. 明星库:收集网络上公开的明星网红数据,构建明星网红库,覆盖明星、网红和头部主播,覆盖大陆、欧美、港台、日韩多个地域,包含演员、歌手、体育、网红等多种行业。明星库随着明星的更新换代,保持持续积累迭代。数据积累流程见图8。

image.gifimage.png

图8 明星库构建流程

活体识别

直播间里掺杂着各种形式的非活体人脸,包括视频嵌入、静态贴片、背景海报、产品包装等等,见图9。如果不加处理,经常会导致人脸误识别,但是上述多种复杂的非活体场景无法使用单一的模型去解决。

image.gifimage.png

图9 直播间非活体示例

我们将贴片过滤、时序多帧静态判断、静态图像活体打分三种算法级联,作为活体判断的解决方案,见图10。三种方法互相补充,且除了静态图像活体打分外,由于不会引入新的深度学习模型,其余两种方法不会引入过多的计算量。

image.gif

image.png

图10 活体识别解决方案

  • 人脸属性

除了人脸识别外,人脸的其他属性信息在业务上也有很大的需求,因此我们的人物理解系统还支持识别多种人脸属性信息。

人脸属性 详情
表情识别 支持6种表情识别,分别是:正常、微笑、朝上笑、朝下笑、大笑及侧脸笑。
颜值打分 收集了网络和直播场景的人脸颜值数据,在人脸识别训练模型上进行微调(保留人脸身份特征,因为颜值具有一定身份固有性)。
性别 支持男/女/未知的性别识别。
年龄 支持0-70岁的年龄识别以及“老中青少幼”的年龄段识别。

  • 人体属性识别

通用人体属性识别

由于人体属性标注困难,我们收集了开源数据和网络数据,和直播场景数据混合进行训练。我们的算法支持六十多种人体视觉属性识别,包括性别、年龄、人体朝向、服装类型、服装颜色、是否背包、是否戴(口罩、围巾、帽子)、是否截断或遮挡等。模型的基础算法来自参考文献[2],考虑到多种人体属性分布不均衡的问题,我们在损失函数上选择了多分类FocalLoss,用于提升整体精度。

人物风格识别

人物风格识别在业界没有相关的数据集,数据只能从淘系内部获取。我们首先从逛逛的内容标题中提取风格关键词,使用人体检测算法检测出内容中的人体,对数据进行二次校验,同时对风格词进行类别的合并与清洗,最终细分了一百多类人物风格。

image.gifimage.png

图11 人物风格示例

由于数据获取方式简单,且很多风格词汇并非单一人物风格特有,比如中国风、百搭风等,数据集中实际上存在着大量的语义模糊数据。为了解决语义模糊的问题,我们采用了动态权重的策略,引入两个独立的backbone进行训练,两个模型的预测结果一致时则认为当前数据是clean的,后续训练过程中加大权重,而预测结果差别大时,认为是语义模糊数据,后续训练过程中降低权重。同时,我们在训练过程中动态地对每个反传中的loss最大的10%的case,认为是语义模糊数据,不进行反传。通过这种方式,我们在人物风格训练上获得了合适的训练平衡。

image.png

image.gif

图12 人物风格模型训练框架和训练过程

人物身材识别

人物身材识别同样源于业务需求,无公开数据集,我们依赖人工标注收集到一批业务数据,作为一种特殊人体属性训练。

PersonID

PersonID就是视频内的人体身份识别,将人物重识别和人脸识别结合起来,互相补充信息。人脸识别上文已介绍过,我们也尝试用淘宝短视频的数据去训练人物重识别的模型。我们的算法采用了CVPRW2019的文章[3]中的方案,使用了包括Warmup、随机擦除增广、Label Smooth、BNNeck和Center loss多个训练策略。

  • 人物属性图谱

基于2.3.3中提到的4个业务人脸库以及PersonID,我们正在构建一个人物属性图谱,如图13所示。我们收集的明星库中含有丰富的人物社会信息和人物属性,但对于特定随时间变化的属性(例如颜值、年龄、身材等)无法及时更新,而人脸库中的人物能够快速更新人物属性,但只是一个虚拟的FaceID,不具备社会意义。我们通过人脸特征将人脸库中的人和明星库中的人对应起来,两个数据库互相补充,可以构建一个丰富的人物属性图谱。人脸库和PersonID同样能够根据是否在视频中同时识别而对应起来,提供一些实时的人体信息。人物属性图谱是一个非常繁杂的工作,目前还在持续迭代中。

image.png

图13 人物图谱示例

  • 人-物交互

人-物关系交互是更偏高层语义理解,本身是一个非常难解的问题,目前学术界关于这个方向的研究时间也不长。这个问题最复杂的地方在于,如何判断图片中的哪个物体和哪个人有交互关系,特别是无接触关系(例如看电视、踢足球等等)。在充分调研现有方法后,我们提出了一种新的基于Transformer的人-物关系检测算法,如图14所示。该方法在主流的HICO-DET和V-COCO两个数据集上的mAP分别相对提升了9.32%和5.94%,为目前公开发表(含arxiv)的性能SOTA。这项工作我们发表在了NIPS  2021。

image.gifimage.png

图14 人物关系交互算法框架图

技术先进性成果

在搭建人物理解系统、解决实际业务问题的过程中,我们也完成了很多突破,并将积累的相关技术经验拿到国际赛事上与外部优秀的科研工作者切磋,取得了不错的成绩,累积获得3项CVPR比赛冠军。

此外,算法技术持续快速发展,除了我们目前正在使用的算法,这几年也涌现了很多人物相关的高层语义研究方向,比如人-物交互关系检测、视频人物动作识别等等,我们也在密切关注并参与进去,同样取得了不错的成绩。我们目前已完成2篇CCF-A文章录用(NIPS和ACM  MM),同时有2篇CCF-A类文章在投稿中(CVPR和TIP)。相关比赛和相关已录用文章列表如下。

  1. NeurIPS 2021-人物交互关系检测(Human-Object Interaction Detection, HOI)
    我们在解决点淘场景下的视频/直播在空间维度上的兴趣发现和定位问题时,沉淀了视频空间兴趣定位的技术能力,并在相应HOI领域学术数据集上进行验证达到SOTA,在NeurIPS 2021上录用了文章,具体见NeurIPS 2021 | CDN:首个融合two-stage和one-stage思想的transformer-based HOI检测方法
  2. CVPR2021 比赛冠军(ActivityNet Home Action Genome Challenge赛道)
    该比赛提供了一个大规模多视角的视频数据集,目标是检测视频中存在的人-物交互关系,我们以准确率76.5%的成绩在该项比赛上取得了第一名的成绩,大幅领先第二名68.4%和第三名的65.7%。
  3. CVPR2020 比赛冠军(DeepFashion2 Fashion Retrieval Challenge赛道)
    依托人脸识别相关特征优化算法,我们以大幅领先第二名的成绩,获得2020年CVPR DeepFashion2 Challenge服饰检索单元冠军,比赛方案录用为CVPRW 2021 paper: Domain Adaptive Hard Example Mining for Fashion Instance Retrieval

image.png

image.gifimage.gif

图15 比赛证书

应用场景

人物理解系统目前已累计支持了18项线上业务,覆盖淘宝直播、逛逛、点淘、拍立淘、闲鱼、洋淘等多个内容场,有打散、推荐、搜索、审核等多项用途。

image.png

图16 业务概览

 应用示例:首猜FaceID打散

双十一期间,首猜同屏幕中出现了过多的以头部主播为封面的内容,影响了用户体验。首猜的内容来自于淘宝短视频、逛逛、直播看点等多个内容源,累计1167w离线数据,数据量十分庞大,快速获取FaceID字段存在很大困难。得益于成熟的人物理解系统和丰富的业务积累,在与下游业务方快速敲定解决方案后,我们在一周内完成了算法侧全部的工作。

image.png

image.gif图17 旧版首猜展示内容示例

考虑到业务的紧急程度和首猜业务的复杂性,算法侧直接提供全部首猜内容的跨内容域统一的FaceID,下游从混排层进行打散排序。其中,599w逛逛侧内容已经给首猜透传了我们的FaceID字段,其他内容源没有透传,我们对淘宝短视频(含5s动态封面图,回刷数据量翻倍)和直播看点进行回刷补充了FaceID。整个算法流程中,我们优先进行明星识别,非明星则去人脸库查询FaceID,未命中的人脸自动创建新的FaceID,具体见图18。

image.gifimage.png

图18 首猜FaceID识别人脸链路

最终识别出含有FaceID的内容有326w,占全部内容的27.93%,其中有7053条内容含有头部主播。下游进行相应的打散逻辑上线后,我们从体感上解决了头部主播密集出现的问题,整体业务指标正向:淘宝短视频侧ctr  +3.29%,pv +0.1%,ipv +2.81%;逛逛侧ctr -2.38%,pv+0.459%,ipv +2.64%;直播看点侧ctr  +0.13%,pv +0.36%,ipv +1.12%。

 其他业务简介

  • 人脸识别(人脸FaceID)相关

人脸识别主要应用在推荐打散和内容一致性判定上,解决用户体验问题。首猜上利用FaceID对封面人物进行打散,解决连续出现同一个人物(比如李佳琦)的现象;逛逛推荐引入FaceID对内容进行打散,效率指标在正常范围内波动,多样性指标微正,人均一级类目数+0.25%,人均叶子类目数+0.29%;淘宝直播利用FaceID对一开多流的主播进行分发降权,pv+0.785%,点击+0.475%。

  • 明星识别相关

短视频搜索侧利用明星识别做扩召回,pctr+4.32%,uctr+0.83%; 拍立淘接入明星识别的结果,双十一期间与猫晚合作,推广“找明星同款”,活动期间累计新增340w+   query,新增流失用户召回环比+74w,累计识别70w+明星图片,后续明星种草活动将长期线上推广;明星舆情出现时,逛逛侧对舆情明星相关的功能进行紧急下架,水滴平台在大促期间对劣迹明星相关的素材做过滤,我们的明星识别在其中都承担了非常重要的角色,节省了大量人力成本。

  • 颜值相关

颜值打分在推荐上十分有效,用户往往对含有高颜值封面人物的内容更有好感,更愿意进行点击,该属性在淘宝直播推荐、点淘直播推荐、短视频推荐、逛逛推荐上均有应用,且都取得了正向效果。例如:直播场景纯净流click  +1.1%,staytime +1.4%,直播流read_pv +1.6%,updown_pv +1.7%,staytime  +2.1%。同时,淘宝短视频使用高颜值算法进行内容择优后,审核通过率也相应提升。

  • 人脸质量相关

人脸质量分除了在其他业务中作为必要一环,也可以单独承接业务。例如,在直播场景的虚拟主播识别中发挥了重要作用,识别准确率在90%+,业务效果正向,阅读pv+1.34%,uv平均时长+2.5%,跳失率-1.32%。

  • 其他

除了上述内容外,其他很多业务都使用了人物理解系统的多项输出,作为基础能力。例如,智能封面图生成使用了性别、年龄、颜值、人脸面积、人体属性等多项属性,在逛逛和直播侧均已上线,逛逛的智能封面图pctr+3.73%,uctr+2.95%,人均时长+0.63%;逛逛标签使用了性别、年龄、颜值、人脸面积、人体属性等多项内容,内容冷启动已接入;音乐推荐使用了人体属性、人物风格等识别结果;直播精简使用了人体检测、睁闭眼、人体属性等原子能力。此外,我们的人物理解系统还在闲鱼、洋淘、点淘影视剧聚合等业务上落地,获得相应的业务成果。

感谢

在人物理解系统的建设中,从算法、工程到最终上线取得效果,得到了非常多同学的帮助。

感谢咏亮、篱悠一直以来的悉心指导和支持

感谢大团队内同学的合作和支持:济宇临丰辰熙奥树毅安子睦

感谢算法工程团队同学的平台支持:佾云括羽路奇灵汮蓝愿壑松雪木静深修度

感谢业务算法同学帮助业务落地:哲文吾辈箫聪松岭云石云志等等

感谢各个业务方的业务同学:毅思青仪风岚松雨小奔秋微

感谢老大的支持和鼓励:乐田

参考文献

[1] Shao X, Xing J, Lyu J, Zhou X, Shi Y, Maybank SJ. Robust Face Alignment via Deep Progressive Reinitialization and Adaptive Error-driven Learning. IEEE Trans Pattern Anal Mach Intell. 2021 Apr 15;PP. doi: 10.1109/TPAMI.2021.3073593.

[2] Tang C , Sheng L , Zhang Z X , et al. Improving Pedestrian Attribute Recognition With Weakly-Supervised Multi-Scale Attribute-Specific Localization[J]. 2019 IEEE/CVF International Conference on Computer Vision (ICCV), 2019.

[3] Hao L . Bags of Tricks and A Strong Baseline for Deep Person Re-identification[C]// 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). IEEE, 2019.

相关文章
|
7月前
|
存储 搜索推荐
小红书InstantID来了, 一张照片几秒钟就能生成个性化图片
【2月更文挑战第24天】小红书InstantID来了, 一张照片几秒钟就能生成个性化图片
147 2
小红书InstantID来了, 一张照片几秒钟就能生成个性化图片
|
JSON API 数据格式
快手API接口:根据关键词获取海量商品列表的秘诀
快手API接口:根据关键词获取海量商品列表的秘诀
161 1
|
7天前
|
前端开发 API
企业及图文视频内容
企业及图文视频内容
|
2月前
|
UED
Midjourney-02 收集Prompt 咕卡手账 零件套装展示 可爱猫猫 线稿生成 2077猫猫 niji 5 niji 6 对比 详细记录 超多图片 多种风格 附带文本 关键词
Midjourney-02 收集Prompt 咕卡手账 零件套装展示 可爱猫猫 线稿生成 2077猫猫 niji 5 niji 6 对比 详细记录 超多图片 多种风格 附带文本 关键词
28 0
|
人工智能
用ChatGPT/midjourney生成创意营销图片素材,产品图、虚拟主播、终端店铺图
第一步,先预设场景,询问应该包含的关键词范围 假设你是一位世界一流水平的设计师,你想要使用AI绘画工具midjourney帮忙设计一款XXX,列举该场景需要用到的关键词范畴与示例。 第二步,按照推荐的关键词填充内容来输入到midjourney中,生成对应的图片。 按照逗号区隔不同描述词,用谷歌助手翻译成英文描述词,输入到midjourney中。
678 0
|
7月前
|
前端开发 JavaScript 双11
双十一互动图片和文字的处理方案
双十一互动图片和文字的处理方案
103 0
|
编解码 计算机视觉 Python