欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

58 安全图像多标签识别技术实践

最编程 2024-04-30 08:47:36
...

01

导读

图像识别任务是计算机视觉领域内的一种基础任务,经过长期发展已经取得了傲人的成绩,现有的识别算法大多只能识别出图像中的单个物体,所以当图像中有多个物体时这类算法将失去作用。然而,现实生活中图片往往包含多个类别的物体,图像多标签识别技术在这种背景下应运而生。通俗来讲,多标签识别就是识别出一个图像中存在的多种物体,这也就意味着我们可以从多标签算法的预测结果中获取更多的图像信息,从而能够更加精准的对图片中场景进行判别。 多标签识别与检测、分割这类识别多物体算法相比也具有较为明显的优势,比如多标签识别不需要标注物体区域,可以极大节省标注成本;并且多标签识别可以识别出检测、分割算法无法识别的更加抽象语义,如黄昏、风景等。本文主要介绍多标签识别技术在58业务中的算法实践。

 

02

业务背景

58 同城做为国内领先的分类信息网站、专业的“本地、免费、真实、高效”的生活服务平台,包括本地服务、房产、招聘、二手市场、金融、汽车等业务板块,拥有庞大的活跃用户群,每天接受的图片流量高达数亿。

这也就意味着各个业务领域都有着大量的图像数据积累。在每个业务领域数据中,都会存在一些语义相似的图像。对于这类图像的挖掘,可以服务于发帖推荐、广告展示、违规识别等业务需求。例如在暴恐违规数据推审中,可以基于语义相似性,挖掘出定性为暴恐的违规数据;在黄页和部落中可以基于语义的相似性为用户推荐更加符合其倾向的发帖。

图1暴恐语义相似数据

图2 部落语义相似数据

图1、图2展示了58部分业务领域图库中存在的语义相似图像,我们归纳了业务中对语义识别的大致需求:

1、基于现有图像,推荐具有相似语义图像的发帖。

2、基于已有图像为评价标准,从现有数据库中检索出语义相似图像并对相似度进行排序。

因此设计的图像多标签识别方案,需要解决上述问题并满足相应的业务需求,且能够达到良好的落地性能。

 

03

技术背景

图像多标签识别是图像算法领域内基础技术之一,其概念为从一个图像中识别出多个前景类别物体。如图3所示 

图3 多标签识别示例

3.1 多标签识别方法   

多标签识别方法根据训练数据集是否存在区域标注,可划分为定位方法和分类方法两种。定位方法包括检测和分割算法,这类算法会对图像进行目标定位,检测出图像中的前景目标以及前景目标所在的区域。分类方法会对图像进行多节点二分类,识别出图像中存在那些前景类别。定位方法依赖于训练集合中的定位信息,但是定位信息的标注成本往往非常高,且当前景类别增多时,标注成本会倍数增长,这就导致定位方法在前景类别较多时实用性降低。分类方法不依赖于训练集合中的定位信息,标注成本相对低廉,适用于前景类别数量较大的场景,在实用方面相比定位方法更有优势。

3.2 典型开源数据集

开源数据集合是算法研究的一个重要组成部分,丰富的开源数据集合能够客观的评价算法模型的性能。为算法改进研究提供客观的数据依据。多标签识别领域典型的开源数据集合主要有以下几种。

MS-COCO数据集合为一个大型的、丰富的检测、分割和字幕数据集合,对于多标签识别包含有80类别,标注数据20w+,在算法评价中常作为训练集及测试集来评价算法性能。

PASCAL VOC2012 数据集合为基准数据集合之一、在对象检测、图像分割、多标签对比实验与模型效果评估中频频使用。包含有20类别,标注数据1.1w+ 。

Open Images V6 数据集合是当前规模最大的多标签识别数据集合,包含类别为19958类,标注数据为917w+, 其中机器打标数据约894w+, 人工验证约23w+。数据集合多用于预训练模型为自有数据机器打标。

NUS-WIDE 数据集合主要由网站图片构成,包含约26.9w+数据,并包含5018类别。通常作为对比实验和模型效果评估的一种基准数据集合。

3.3 评价指标 

3.3.1 mAP

多标签分类通用评价指标为MAP,可以全面评价模型性能,其公式如下

 图4 mAP计算公式

其中C表示类别的数量,AP表示每个类别的Average Precision。

其中Average precision 分成宏观和微观两种模式,也就形成了宏观mAP和微观mAP两种mAP计算方式。

微观计算

图5 Micro-average of precision

图6 Micro-average of recall

 宏观计算

图7 Macro-average of precision

图8 Macro-average of recall

宏观计算区分类别,以类别为计算粒度;微观计算不区分类别,以图像个体为计算粒度。

3.3.2 Hamming Loss

Hamming Loss为最直观也是最容易理解的一个评价指标,它直接统计被误分类label的个数(不属于这个样本的标签被预测,或者属于这个样本的标签没有被预测)。如果指标值为0,表示所有的每一个data的所有label都被分对了。

图9 Hamming Loss

3.4 主流算法

图像多标签识别分类算法,当前主流方向主要为图像卷积网络,其最基本的操作为将网络最后输出的SoftMax层,替换成单节点的Sigmoid层,每个类别的输出为0~1 的一个概率值,可以根据设定阈值来确定图像中是否存在对应类别物体。

但是仅仅替换SoftMax层,会造成每个类别物体相互独立预测的现象,忽略了物体共生出现产生的关联性。近年来新的方法主要侧重于挖掘类别之间的关联性。主要的研究方法分成以下几个方向。 

3.4.1 CNN+LSTM

这个方向比较有代表性的研究为2018CVPR的文章 《Multi-label Image Classification with Regional Latent Semantic Dependencies》,文中对RPN推荐区域特征进行编码,将区域编码输入到LSTM中产生区域编码特征的交互,输出交互特征进行多标签识别。

图10 RLSD网络结构图

网络挖掘类别相关性的方法主要基于LSTM中特征交互实现。

图11 RLSD中MS-COCO数据集合对比

3.4.2  多模态Attention

此领域内比较有代表性的研究为2020AAAI 文章《Cross-Modality Attention with Semantic Graph Embedding for Multi-Label Classification》,文中使用基于类别邻接矩阵的辅助网络生成类别编码。并将CNN提取的特征图与类别编码交互产生每个类别的激活图,从而生成每个类别对应的聚合特征,用来预测图像中所存在的前景物体。

图12 CMA网络结构图

网络挖掘类别之间的关系是通过类别编码以及高级语义特征的跨模态attention实现的。

图13 CMA MS-COCO数据集合对比

3.4.3 图卷积网络