多媒体内容理解在美图社区的应用实践
分享来宾:Fu Chaomeitu的高级视觉算法工程师
编辑和编译:Weng Mengjuan
生产平台:DataFuntalk
简介:在移动互联网时代,多媒体内容(例如图像和简短视频)爆炸,基于计算机视觉的AI算法是多媒体内容分析的基础。在Meitu社区的智能开发过程中,视频和图像分类标记的结果,重复数据删除和质量评估用于多种情况,例如建议,搜索和手动审查。本文主要介绍Meitu社区的图像和简短视频分析,如何减少Meitu社区未接听电话中短视频的重要性以及在内容审查中的应用和实施OCR。
01
多媒体内容理解
像大多数社区一样,Meitu社区也包含各种形式的数据,例如图片,文本,音频和视频。社区内容是多种多样的,质量水平不平衡,数据分配非常不平衡,这给内容理解带来了巨大的挑战。
一般而言,多媒体内容理解的应用分为四个方向:内容审查,内容质量,内容标签和功能工程。
1。内容评论
内容评论包括过滤竞争者水印,广告,文档,性感视频和其他违规行为。但是,非法过滤的特征与在安全审计中参与色情,政治和反恐和暴力的特征不同。这里的重点是不适合曝光的内容。
2。内容质量
在确定了非法内容后,图片的高质量筛选模型集成到低质量识别kaiyun全站网页版登录,地址用户识别和图像美学得分中,最后对内容的质量水平进行了全面的预测。
3。内容标签
首先,内容由象征的标签和语义特征向量表示。象征性的标签包括粗粒分类标签,细粒度实体标签,长期或短期。然后,通过面部识别,分析了星形功能,视觉场景特征等。
4。功能工程
功能工程主要包括图片向量和视频向量。
在这里,我们主要介绍简短的视频分类,视频指纹和OCR。
02
简短的视频分类
1。迈图社区中短视频分类的应用程序方案
简短的视频分类用于Meitu许多社区产品的不同情况。例如,Meitu Xiuxiu的建议信息流根据用户兴趣标签和基于用户区域的召回使用召回;相关建议使用视觉相似性;搜索用户肖像,手动审查后端操作等。有应用程序简短的视频类别。同时,内容功能将是排序模型的重要输入功能,并且在实际使用中也将产生良好的积极效果。
2。短视频的特征
用户在生活中随机拍摄的用户获得了简短的视频。内容差异很大,类别分布不均匀,而射击角度是单个的。即使在相同的结构场景中,表达的内容也可能有所不同。此外,摄影师希望他的作品将是独一无二的,并希望他的作品能够尽快与其他用户共享。此外,视频本身由各种形式组成,例如图片,文本,音频等,随着时间的流逝,拍摄方式也会改变。
3。选择简短的视频分类模型
在模型选择方面,一方面,我们希望使用更多功能,例如文本,音频,视频等。另一方面,我们希望使用简单有效的方法来输出尽可能少的帧。相对较好的结果。
①多模型模型
在这种原始意图下,排除了LSTM,3D CNN和双流网络模型。我们尝试的第一件事是NextVlad,该论文在第二个YouTube 8M短视频分类竞赛中排名第三。原始模型根据音频和视频功能实现分类,并执行标签预测。我们在此基础上进行了三种不同的治疗方法:首先,添加文本功能:通过社区中的预训练的BERT模型提取128维固定长度的文本向量;其次,使用更好,更快的效率网络B3型号替换原始特征提取模型Inception V3;第三个是将视频丢失,标题丢失和音频损失结合在一起,以执行多任务学习。性能比原始模型高约3%。
统计数据运行一天的NextVlad模型的数据。使用GPU,处理视频平均需要8.6秒。其中,特征提取300帧的视频需要8.1秒,占整个时间的93%。
在舞蹈类别中比较了NextVlad(多模型),TSM和GSM模型的性能和效率。舞蹈类别的数据包括14个类别:爵士舞蹈,韩国舞蹈,街头舞蹈,手势舞蹈,古典舞蹈,肚皮舞,拉丁舞,种族舞蹈,儿童舞蹈,钢管舞,芭蕾舞,舞步舞步,幽灵舞步舞,方形舞蹈和家庭舞蹈和家庭舞蹈。
总体而言,多模型模型的性能不能很好地提高,并且仅比TSM高约3%,这表明音频信息对舞蹈分类具有一定的辅助效应。 TSM和GSM没有特征提取步骤,精度接近90%。因此,总体而言,多模式的总体过程相对复杂,并且具有太多的依赖性,而NextVlad和GSM模型的准确性也没有太大不同,而且成本效益也不高。
②单模式模型
在没有足够大的数据集的情况下,在大规模培训中,C3D通常很差。此外,模型训练过程涉及大量参数和计算,因此我们暂时不会在这里考虑。 TSN对图像的每个帧进行了分类,并计算分类结果的平均值。该模型没有任何时间编码功能,最终的预测结果也与帧的时机无关。 GST在单独的通道上平行通过2D和3D卷积在空间和时间之间的相互作用。 TSM是通过时间卷积的硬编码时间转移定义的,这可能会导致某些通道在时间上向前或向后移动。这种学习方法具有跨网络传输模式的硬连线连接和结构化内核。
在任何上述网络中都没有关于数据依赖性的决定,即通过不同的分支选择路由特征。分组和随机模式设置在设计的开头,并学习如何随机具有一定的组合复杂性。因此,GSM用于Meitu社区。
GSM首先将输入2D卷积划分为两组,然后分别通过3D时空卷积和Tanh激活函数,然后穿过封闭式单元,一组固定的前进和另一组固定的后退,最后是输出和门控,门控添加了另一个输出。 GSM通过3D时空卷积将2D卷积转换为有效的时空特征提取器。这样,2D卷积可以自适应地学习时间路由特性,并将它们与此过程中的其他其他参数和计算开销相结合。 GSM模块的本质是带有X作为输入的残差结构。这种残差结构具有某些特征选择功能和数据路由功能。如果使用GSM模型学习的时空特征进行分类,则可以改善模型性能。 GSM与其他模型之间的关系可以总结为:当门控输出全部为零时,GSM将变成TSN;当一组门控为零,一组不是零时,GSM会收敛到TSM。在实际应用中,GSM放在相对较少的卷积的分支机构上。
我们已经基于原始GSM模型进行了两个优化:首先,在获得每个帧的特征和类别的FC层之后,即在2048×8和42×8层之间添加128维的完整连接。添加完全连接的图层等于基于原始特征执行特征聚合以进一步提取特征。同时,网络深度增加。在Meitu社区的情况下,这种优化可以提高准确性约2%。第二个是优化采样。 Meitu社区中的数据类别的分布不均匀,其中成千上万的样本中有最多的样本,最小的样本只有100多个样本。通过提高几类样品的采样率,基本上无法提高性能。 GSM培训仅需要8帧图像信息。以64帧的视频为例,浪费了56帧信息。因此,在这里我们进行了一些优化:64帧的视频均匀拍摄了8帧,间隔为8帧。从第一帧开始,在第一帧和第八帧之间随机拍摄一个帧。如果从第二帧开始,它将在当前帧之后从当前框架到第八帧随机取。在这里,我们从第四帧到第八帧的框架数量,以避免相邻帧之间过度相似性。
这样,可以采样一些班级的样本,并且每次都可以获取新视频。对于相对较小的类别,此优化可以提高精度高达20%。
对Meitu社区下42个类别的150万个短视频数据进行了培训,以比较多种模型的性能和效率。其中,GSM的骨干是INCEPTION V3,TSM的骨干为50。实验结果表明,在性能方面,GSM比TSN高32%。准确率比TSM高8%以上,召回率为27%。在效率方面,GPU上GSM和TSM的推理速度没有太大不同,这两者都是大约30毫秒。推断优化后,GSM在四核CPU上的推理速度可以达到约200毫秒。下图的右侧是由TSM和GSM在42个类别上输出的128维向量的聚类图。从数字中也可以看出,GSM的聚类效应比TSM更好。
为了进一步提高召回率并使标签覆盖范围尽可能接近100%,GSM模型添加的128维FC层用于将128维向量提取到辅助标记未标记的数据中。
此过程包括两个部分:在线和离线。离线部分的主要功能是为全部数据量建立一个索引库,在线部分的主要功能是预测新视频的标签。在离线部分中,首先在整个视频中执行策略过滤,然后使用GSM提取128个功能向量来创建索引。在在线部分中,首先是由于在标记过程中置信度较低而在没有标签的情况下首先确定数据,然后对此类数据进行特征提取,在索引库中搜索相似的视频,然后提取Top50结果,最后预测标签。获得第一和第二级标签。实验结果表明,尽管确保一级和二级标签的准确性保持不变,但总召回率可以提高11%。
03
视频指纹
1。视频指纹困难
视频指纹有四个困难:一个是添加开口和结尾以改变视频的持续时间;另一个是添加水印,徽标和文本。这种情况在Meitu社区尤为普遍。第三,通过裁缝和其他方式更改视频分辨率;第四,通过添加黑色边缘,白色边缘和动态模板来更改视频内容。
2。视频指纹管道
视频指纹管道主要分为两个部分:第一部分是粗略的召回,主要集中在视频的整体特征上,第二部分是次级校准,它主要比较视频中框架之间的相似性。
粗召回,查询下载框架以获取每个帧的特征,获得每个帧的特征,并查询每个帧的特征,并在视频指纹库中检索Top1。查询视频是按框架比较的,并通过重复的指纹成功进行比较。比较不成功,分配了新的指纹。当逐帧比较时,使用史密斯沃特曼算法。
①比较视频的特征提取
有三种常用的视频特征提取方法:第一种是直接使用Imagenet预训练模型来提取功能并将其用作视频的整体功能;第二个是将一些特殊的数据增强方法添加到Imagenet预训练模型中。然后对自己的数据集执行推断。这种方法具有一定的性能改进,但是功能分布仍基于类别的特征分布。第三种方法是我们的方法,它使用MOCO作为预任务,然后通过添加剪辑,文本,徽标和其他数据添加方法在您自己的数据集上进行训练,以获取视频的功能向量。最后,此功能向量被用作视频框架和整个视频的功能向量。
此外,在视频指纹场景中,添加黑白边缘后视频的主要内容实际上是中心部分。中心的像素重量应大于黑色和白色侧面的像素重量,因此中心重量设置在每个框架的特征上。
以下描述了如何设置中心加权。当前,图像检索通常使用CNN提取功能,并且使用卷积功能通常比使用完全连接的层更好。使用CNN中间层的特征也用于中央加权。首先,提取图片中间层的特征,然后添加高斯内核函数,并将特征聚类算法RMAC用于中心加权。
RMAC使用窗口滑动方法使用最大池提取不同区域尺寸的特征图。 RMAC还使用比例方法。当最大面积为1时,它用于提取整个图片的特征。对于较小的区域,采用值时设置了40%的重叠字段。
由于RMAC会平均处理每个特征汇总的图像区域,但实际上每个区域的特征权重不一致,因此这里使用了区域注意机制。根据图像显着性检测原理产生不同的区域权重,然后使用RMAC和区域注意权重进行加权聚合以获得最终图像特征。
②视频逐帧比较方法
获得每个图像的功能后,如何有效kaiyun官方网站登录入口,准确地比较两个视频的框架序列?是否使用向量来计算余弦相似性?还是使用脸来计算欧洲距离?还是使用哈希方法来计算出血距离?还是还有其他好的解决方案?
在这里,我们在生物信息学工程中使用了DNA比较算法-Smith Waterman算法。它是用于局部序列比较的算法,其功能是在两个视频序列之间找到相似的区域。
具体方法是定义置换矩阵。置换意味着如果两个帧匹配,则增加3分,否则将减少3个点。如上图所示,W是指空惩罚,初始值为2。
该算法分为三个步骤:
①初始化矩阵。第一行的元素值和第一列的元素值均为零;
②计算分数。分数来自三个方向(请参见上图),最终得分在三个方向和0中的分数之间的最大值为示例。在前三个元素中。黄色区域代表当前正在考虑的两个基础,红色代表该位置的得分来源。以图3为例,相应元素的左上角为零点,但是相应的水平和垂直方向是G,与匹配,因此倾斜方向分数为0+3点;相应元素的左侧和上部不匹配,因此左和最高得分均为0-2点。因此,最后一个位置的三个方向的分数为3,-2和-2。以这三个值和0的最大值,即3作为当前元素的分数。其他元素等。最后,获得了一个除法矩阵,如下图所示。
③追回蓝色区域。
蓝色区域代表得分最高的元素位置。从最高分数开始回溯到回溯到0的元素。在本地最相似的序列是在从最高分数回到零的过程中从右到左生成的序列。应该注意的是,在回溯过程中,某些位置可能具有多个方向,这可能会产生多个分支。如果在多个得分方向上有相同的最高分数,则应考虑每个最高分数的回溯。此外,在回溯过程中可能会有一种情况:相同的网格将具有多个最大得分方向。目前,优先级以左上角,上侧和左侧的顺序进行回溯。
最后,只需要计算本地类似序列中类似特征的数量。如果它小于某个值,则认为这两个视频被认为是不匹配的,反之亦然。
上图是视频指纹效果的一个示例。对于那些更改视频本身(例如切割和添加黑色边缘)的人,您可以看到效果很好。对于那些添加文案写作的人,它也将取得良好的结果。与哈希方法相比,该方法的准确率增加了3.1%,召回率增加了24.4%。
04
OCR
1。OCR的业务需求
在Meitu社区中kaiyun全站app登录入口,OCR的主要业务场景是在社区中的图片或视频中提取和识别内容。基本要求包括补充内容功能,例如根据封面图像将标题添加到无标题的内容中,并使用图片中的信息向产品添加描述。高级要求包括三个方面:一个是标识产品名称和工作名称,例如电影和电视作品和电影作品;第二个是内容的质量,例如广告副本的广告标识;第三个是对安全审查的要求,例如敲击敏感的单词和过滤敏感的单词。
2。OCR的业务困难
OCR的业务困难包括三个方面:首先,标签成本很大,角色多样,例如简化的中文,中文,英语,数字,英语,英语字符和中文英语广告字体;其次,文本方向不同。第三,OCR算法存在一些问题。例如,识别率很低,社区中的字体识别率很差,能够概括具有复杂背景的图片,看不见的文本的能力,无法检测到一些符号,并且某些符号会被错误地识别为文本。
3。OCR解决方案
Meitu使用数据综合来使用社区图片和语料库来训练适合Meitu社区的文本检测模型和文本识别模型。
在将文本检测框发送到识别模型之前,文本检测框进行倾斜并纠正以提高识别的准确性。在文本检测过程中,可以确定具有水平和垂直线的文本以及具有弯曲角度的文本。文本检测后,文本检测框各不相同。在文本检测框上执行最大外部矩阵和仿射转换后,将其输入角度预测模型,您将获得四个分类结果:0°,90°,180°和270°;然后根据预测的结果旋转并检测文本。盒子合并为水平和水平文本;最后,输入水平和垂直文本的识别模型以获得识别结果。
①文本检测
在社区环境中,不仅在自然场景中有文本,而且广告字体和一些具有复杂背景的文本符号。 CTPN使用边界框回归方法来检测弯曲的文本不准确,无法检测垂直文本,并且经常错误地将某些符号识别为文本,这些符号无法检测到接近文本。因此,我们使用psenet。
Psenet具有两个主要优点:首先,它是一种基于细分的方法,可以定位任何形状的文本。其次,这是一种逐渐扩展算法,可以解决相邻文本的不准确定位问题。
受FPN的启发,Psenet采用了U形网络体系结构,以融合从网络中提取的功能。然后使用分割对提取的特征进行分类;最后,使用像素分类结果通过一些后处理方法获得文本检测。结果。该方法可以通过现有的边界框回归方法解决对曲线文本检测不准确的问题,并且还可以相对减少符号的误差识别。
②文本识别
文本识别模型通常需要上下文信息特征。如果像Inception和Resnet这样的CNN网络需要具有上下文信息的CRNN,则有必要添加LSTM。通常的文本识别模型由CRNN,LSTM和CTC组成。在LSTM训练期间很难收敛,推理速度较慢。我们使用Resnet进行易于培训和加快推理。该模型可以提高推理速度,而无需LSTM学习环境。在解码方面,使用了具有FC层的CTC:使用FC层输出的特性,通过决策层进行解码,然后输出正确的文本识别结果。此外,我们计算并实验了接受场大于或等于3个字符的情况,并且识别效果是最好的。
4。OCR在线效果
上图是OCR模型在线效果的一个示例。对于长文本广告,可以实现100%的识别,并且没有单词的损失或重复。垂直文本,变形文本,变形字体和文本识别从各个角度都具有良好的结果。
总体而言,文本检测的准确性比CDPN高32.54%,速度为12.73%。文本识别的准确性比CRNN高10%,速度高8%。由于网络的损失,总体速度优化和推理速度也增加了10%。
05
摘要和前景
通常,通过实验得出以下结论:
①多模式是有效的:通过融合多模式,可以稳步提高2%至3%的精度。
②良好的预训练模型非常重要:它不仅对视频指纹有用,而且对视频分类有用。
③算法需要与企业深入集成。有必要根据实际业务场景来权衡算法的性能和效率的利弊。
尽管已经进行了一些工作,但仍有许多方面需要改进和改进。
①视频标签仍然需要连续完善和改进,并且仍然需要改善模型性能,模型优化效率,迭代周期和成本。
②我们需要在多模式方向上努力工作。视频由多种方式组成,并且仅从视觉角度提取标签具有一定的单方面性质。只有通过更好地使用文本,视频和音频信息并相互补充,可以更好地使用标签表达视频内容。
③在改进技术模型的前提下,尝试进行一些引人注目的游戏玩法。例如智能视频剪辑,智能封面图片等。这些有趣的功能和效果可用于增强用户体验和丰富产品。