得物端智能视频封面推荐

一、背景

什么要做智能封面?

用户可以在得物购物,也可以在得物社区分享自己的生活。

得物社区中的视频使用双列流,每条内容包含封面、标题等。

  • 对得物社区的创作者而言,选择视频封面是创作链路的重要环节。
  • 对得物社区的消费者而言,封面是影响 CTR(点击率)的关键因素。

封面推荐可以降低创作者的创作成本,提高消费者 CTR。

端智能介绍

端智能(Edge/Client Intelligence)是指在边缘设备(如物联网设备、智能传感器、移动设备等)上进行数据处理和智能决策的能力。与云计算模型相比,端智能将计算、存储和分析功能移到更接近数据源的地方,优势如下:

  • 低延迟 :数据在本地处理,减少了传输到远程服务器的时间,提高响应速度。
  • 节省带宽 :通过在本地处理数据,仅发送必要的信息到中心服务器,减少了网络带宽的消耗。
  • 数据隐私和安全 :数据在本地处理,敏感信息不必传输到云,从而提高了数据隐私和安全性。
  • 可靠性 :在网络连接不稳定或中断的情况下,边缘设备可以继续进行本地处理和决策。

尽管端智能带来了很多优势,但在实际应用中也面临一些挑战:

  • 计算能力的局限性 :边缘设备通常具有有限的计算资源,可能无法处理复杂的人工智能模型。
  • 数据一致性与协同 :多个边缘设备之间的数据一致性和协调处理仍然是一个挑战。
  • 设备管理与部署 :随着设备数量的增加,边缘设备的管理、监控和更新变得更加复杂。

考虑到用户隐私、实时性和服务端压力,我们选择用端智能推荐视频封面,并克服相关的挑战,最终获得收益。

得物端智能

对客户端而言,不需要训练模型,只需要推理。

端智能框架可以简化推理过程,常见的端智能 SDK 如下:

  • 开源 SDK:MNN、TNN、NCNN、Paddle Light、TensorFlow Light 等。
  • 闭源 SDK:ByteNN、Pitaya、KwaiNN、Ykit 等。
  • 系统 SDK:CoreML(iOS)、MLKit(Android)等。

考虑到 iOS、Android 双端的通用性和开发成本,得物基于 MNN [1] 框架,开发得物端智能推理基建。端智能基建核心功能如下:

  • 提供端智能模型管理后台,提供完整链路,管理模型的放量。
  • 端侧提供统一的基建,方便业务进行模型的下载、运行管理,以及熔断和降级的处理,降低使用门槛。
  • 提供相对完善的稳定性和性能监控机制,及时报警和出错时止损。

整体架构

智能封面主要开发流程如下,算法侧产出端智能模型,客户端调用模型推荐视频封面。

二、内容理解算法

算法调研

端智能封面推荐场景要求无参图片质量评价(NR-IQA)、轻量化,因此基于目前的前沿进展进行调研和摸底,确定相关实现方案。主要的调研内容:

Faster-VQA[2]:轻量化的视频质量评估模型。核心是使用优化版本的Transformer->Swin-Transformer来减少网络计算,加速效率。

UNIQA[3]:统一的图像质量评估(IQA)框架,旨在同时处理全参考(FR)和无参考(NR)任务。现有的IQA模型通常只能处理FR或NR任务之一,而人类视觉系统(HVS)则可以无缝地在两者之间转换,因此提出开发一个能够像人类一样处理不同类型图像质量评估任务的模型,统一全参/无参两类任务。

LAR-IQA[4]:轻量级的NR-IQA模型,基于MobileNetV3提出了一种新的无参考图像质量评估模型LAR-IQA。该模型旨在解决现有模型在实际应用中的局限性,特别是对于资源受限的移动设备上的实时图像质量评估任务。核心贡献点有:双分支架构、多色空间训练、Kolmogorov-Arnold Networks (KAN)结构代替MLP。

CLIP-IQA[5]:利用(引入)对比语言-图像预训练( CLIP)模型来评估图像的视觉感知,包括图像的质量(look)和抽象感知(feel),无需进行特定任务的训练。核心在于利用CLIP中蕴含的视觉语言先验,通过精心设计的提示策略来提升评估性能。同时提出了一种反义词提示配对策略(如"好照片"和"坏照片"成对使用),以减少语言模糊性并增强模型在视觉感知评估中的表现。此外,为了克服CLIP对固定尺寸输入的要求及其可能引入的额外失真问题,增加了移除位置嵌入的方法,进一步提升了模型与人类感知的一致性。

Q-Align[6]:目前NR-IQA领域的SOTA模型,将大模型引入到视觉打分任务中。通过文本定义的级别(例如好、差等)而不是直接的分数(例如3.45、1.77)来指导训练LLMs。标志着在视觉评分领域的一个重要进展,通过创新地使用离散文本定义级别来训练LMMs,不仅提高了评分的准确性和鲁棒性,还为未来的研究开辟了新的方向。

技术卡点

端侧模型存在体积限制,考虑到带宽成本、推理速度等,将模型体积控制在 30M 以内。

目前图片质量打分 sota 模型,整体都是从打分效果出发,不考虑模型性能(size/推理耗时/cpu性能/MAC等),最小的模型体积也超过 120M,不满足端上移植的要求。

现有的 Faster-VQA 和 LAR-IQA 虽然模型打分效果都不错,但是同样因为尺寸超额无法直接使用,也无法直接移植。

算法方案

轻量化网络:本次算法模型主要在手机本地部署,受限于带宽和计算资源限制,对模型尺寸有严格要求。综合考虑后采用业界比较成熟的轻量化模型 MobileNetV3 结构作为基础框架模块,从0到1重新训练轻量化图片打分模型。

数据清洗与数据集构建:考虑到图片-质量分数据的缺失,使用开源图片评价大模型对数据预标注(必要时进行人工介入清洗),通过多模型交叉打分验证和人工标注,最终总体训练数据量级超过10w+。整体流程如图所示:

轻量化图片质量评价模型

loss优化:loss设计上采用回归任务loss+主观感知偏差衡量loss,超参数控制多loss融合。

模型移植

MNN 模型支持 Tensorflow、Caffe、ONNX、Torchscripts 等主流模型文件格式,支持CNN / RNN / GAN / Transformer 等主流网络结构。

MobileNetV3 使用 PyTorch 框架创建、训练、持久化模型,需要先转换成为ONNX格式,然后再转换成 MNN 模型。通过 FP16/Int8 压缩与量化,模型最终大小为 24M,客户端可以接受。

在客户端进行模型推理调用时,需关注输入图片的尺寸、预处理方式以及输出数据格式等方面。这些参数与模型相互绑定,且在后续的迭代过程中应保持同步。

三、客户端部署

整体流程

整体流程如图所示,用户进入封面选择页,首先对视频抽帧,然后调用端智能推理。端智能输出一个评分,获取评分最高的图片作为推荐的封面。为了提高封面识别速度,采用批量异步计算。

时序图

整体架构如图所示,双端共用端智能基建,各自实现具体的业务逻辑。ClientIntelligence 作为端智能基建,底层封装了 MNN、OpenCV 等,实现了模型管理(下载、缓存等)、推理、监控等功能。

架构图

推理一致性

推理一致性(Inference Consistency)是指在不同时间、不同环境、或不同条件下,模型输出的结果保持稳定、可靠、一致的能力。这是一个非常重要的概念,尤其是在部署机器学习模型时,确保模型的推理一致性对于维护模型的质量和可信度至关重要。

推理不一致的来源:

  • 在不同硬件平台上运行模型(例如不同的 CPU、GPU、TPU 等)可能会导致数值精度上的细微差异,进而影响推理结果。
  • 不同的深度学习框架(例如 TensorFlow、PyTorch )可能会在推理过程中产生不一致的结果,尤其是涉及到数值计算时。
  • 输入数据预处理方式不一致导致推理结果不同,可以通过数据标准化、归一化等减少对推理结果的影响。

具体到智能封面的场景,主要面临下面几种一致性:

  • PyTorch、ONNX、MNN 推理一致性:不一致主要来源框架本身,端上模型为了提高推理速度,会对模型进行量化,比如将浮动精度的模型(如 Float32)转换为低精度模型(如 INT8)。框架造成的推理结果不一致无法避免。
  • iOS、Android 双端推理一致性:输入数据预处理方式是影响推理一致性的关键因素,在智能封面场景,图片数据的预处理方式需要保持一致。双端由于硬件的差异,推理结果也不同。此外,使用 CPU、GPU 推理结果也会存在细微的差别。智能封面会对图片评分,选择评分最高的图片,因此硬件造成的差别在本场景下可以接受。

耗时优化

用户在封面选择页面停留时间有限,因此要尽可能地减小封面推荐耗时。

首先要定位到耗时操作,然后有针对性地优化。

在本场景中,耗时操作包含抽帧、推理,具体优化如下:

  • 并行计算:多线程同时抽帧、推理,需要注意的是,并行数需要考虑 CPU 和内存的占用。
  • GPU 推理:端智能同时支持 CPU 和 GPU 推理,通过 GPU 推理可以显著减小耗时。
  • 不同性能的手机处理速度差别较大,低性能手机会适当减小抽帧数量,以提高运行速度。

优化后,可以在秒级完成抽帧、封面推荐全过程。

四、收益与效果评估

线上效果对比

线上智能封面、非智能封面抽样结果如下,使用智能封面功能,整体画风更优,更清晰。

智能封面

非智能封面

竞品效果对比

得物智能封面与主流短视频平台对比结果如下,整体选帧效果和主流短视频平台可比,部分场景效果较优。

得物

短视频平台A

短视频平台B

人工GSB评测

在智能封面功能上线后,我们随机抽取了线上真实的视频数据,并通过人工GSB(Good Same Bad)评估方法,对智能选帧所得的图片与默认首帧图片进行了图像质量的对比分析。

多组数据、多人次测评整体评估结果为:Good(好)361票,Same(一样)182票,Bad(差)95票。

相较于默认首帧图片,智能选帧的GSB评分提升了 41.7%,表明选帧功能在图像质量上有了显著的改进。

线上实验收益

在发布侧,采用智能封面点击率、选择率作为衡量指标,获得了显著的收益,其中智能封面点击率 5.5%,非首帧封面选择率相对提升 +25.61%。

在内容推荐侧,采用推荐双列流视频点击率作为衡量指标,pvctr 和 uvctr 都有明显提升,与对照组相比,pvctr+13.12%、uvctr+18.05%。实验结果也表明在推荐双列场景下,更好得封面内容会带来更好的消费。

五、总结

本文通过端智能推荐视频封面,帮助创作者降低发文成本,提高发文质量。

我们也希望将端智能用在更多的场景,提高用户体验。

六、参考资料

  1. github.com/alibaba/MNN
  2. Wu, Haoning, et al. "Fast-vqa: Efficient end-to-end video quality assessment with fragment sampling." European conference on computer vision. Cham: Springer Nature Switzerland, 2022.
  3. Zhou, Hantao, et al. "UniQA: Unified Vision-Language Pre-training for Image Quality and Aesthetic Assessment." arXiv preprint arXiv:2406.01069 (2024).
  4. Avanaki, Nasim Jamshidi, et al. "LAR-IQA: A Lightweight, Accurate, and Robust No-Reference Image Quality Assessment Model." arXiv preprint arXiv:2408.17057 (2024).
  5. Wang, Jianyi, Kelvin CK Chan, and Chen Change Loy. "Exploring clip for assessing the look and feel of images." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 37. No. 2. 2023.
  6. Wu, Haoning, et al. "Q-align: Teaching lmms for visual scoring via discrete text-defined levels." arXiv preprint arXiv:2312.17090 (2023).

文 / Devin&linghu

关注得物技术,每周更新技术干货

要是觉得文章对你有帮助的话,欢迎评论转发点赞~

未经得物技术许可严禁转载,否则依法追究法律责任。

相关推荐
無铭之辈11 分钟前
学习Vue的必要基础
前端·vue.js·学习
吉吉安25 分钟前
CSS实现中心放大动画
前端·css·动画·css动画·css中心放大动画
Wang's Blog30 分钟前
数据结构与算法之数组: LeetCode 541. 反转字符串 II (Ts版)
算法·leetcode
嵌入式学习菌1 小时前
常见的排序算法:插入排序、选择排序、冒泡排序、快速排序
java·算法·排序算法
九幽归墟1 小时前
浅析Transfer-Encoding: chunked在流式与边缘渲染中的应用
前端·javascript
成长ing121381 小时前
cocos creator 放大镜效果
前端·cocos creator
在成都搬砖的鸭鸭2 小时前
【LeetCode】时间复杂度和空间复杂度
算法·leetcode·golang·排序算法
Mercury_Lc2 小时前
【力扣 - 简单题】88. 合并两个有序数组
数据结构·算法·leetcode·acm
qy发大财2 小时前
全排列(力扣46)
算法·leetcode·职场和发展
欧了1112 小时前
动态规划LeetCode-1049.最后一块石头的重量Ⅱ
c语言·算法·leetcode·动态规划·01背包