APP下载

面向检索应用的商标显著性检测方法

2023-11-22伍阳停朱琦赫李宝安王子健

计算机技术与发展 2023年11期
关键词:显著性特征图像

王 楠,伍阳停,朱琦赫,李宝安,惠 健,王子健

(1.北京信息科技大学 网络文化与数字传播北京市重点实验室,北京 100029;2.北京信息科技大学 计算机学院,北京 100029;3.杭州海康威视数字技术有限公司,浙江 杭州 310000)

0 引 言

显著性特征与商标注册申请、侵权判断息息相关,因此商标显著性判断和检测就非常重要[1-2]。所谓显著性在视觉上是指某些物体或区域比其周围部分表现出更明显的特征。人的视觉系统在看到一个场景时,会自动并优先注意场景内的显著性物体,而后再关注场景内的背景或环境[3]。因此学者们建立了与人类视觉系统相似的数学模型,相关模型通常建立在如下视觉显著性检测原理基础上:一个是对比度原理。在一个场景中通过不同物体的颜色、形状、亮度等特征分辨物体;另一个是高频抑制原理,广泛应用于频域图像显著性分析;第三个是Gestalt原理,假设人类视觉优先关注场景内的核心区域,并以该区域为中心向四周延展处理。显著性区域提取往往还要经过特征处理和综合表征两个环节[4]。其中,特征处理是通过视觉系统并行提取各种独立的初级特征,包括纹理、方向、亮度、大小、颜色、曲率、倾角等,进行像素级比较;而在综合表征环节,初级视觉特征被统合起来,集成到显著体中。以上思路已经在很多显著性检测场景中得到了应用和验证。目前,由于分辨率低、图像模糊、信息量小、噪声大等问题,还没有合适的针对商标等小目标图像的显著性检测算法。此外,现有显著性目标数据集稀少且标注复杂,不能满足商标显著性检测任务的需要,容易出现样本不平衡问题。基于显著性检测的商标检索系统也鲜有实现[5]。

因此,该文提出了一套面向商标图像目标的显著性检测任务的整体解决方案。首先,给出了商标显著性特征数据加工方法,搭建并开源一套满足商标显著性检测任务评测的数据集。其次,基于已有显著性检测框架,多角度评估了现有流行的显著性检测算法,给出一种适配商标图案显著性检测任务的深度网络架构。最后,开发一个快速高效的商标检索系统,为后续工业级应用奠定基础。

1 商标显著性检测

1.1 商标的显著性检测问题

商标的显著性强弱决定了商标保护的范围。常见的商标显著性检测问题可以划分为两种[1,4]:第一种是针对商标图像的显著性特征检测与识别,另一种是从商品包装中进行商标识别。该文的商标显著性检测主要从第一种问题出发,区分当前待检测商标与已有商标间的显著性差异。在商标特征选择方面,初始特征表示通常采用的比较明显的浅层特征,如颜色、亮度、形状等,对背景干净、对比明显的商标显著性区域提取有一定的效果。但是实际商标图像存在着大量的复杂背景、色彩、纹理以及各种不完整的区块,其提取出的特征不完整,所以识别效果往往达不到标准。因此需要开发满足上述任务的显著性检测方案。下面系统介绍一下显著性检测常见模型及算法。

1.2 显著性检测研究现状

传统的显著性检测方法往往采用手工标记特征,并利用大量的先验知识(如对比度先验、背景先验、颜色先验等)来进行显著性判断[6]。相关模型可以分为两类:由数据驱动的自下向上模型和由任务驱动的自上向下模型。数据驱动模型是一种快速的,无意识的,数据驱动的视觉注意机制[2,7]。一般通过颜色、亮度和边缘判断目标区域与区域周围之间的像素差异,然后计算目标图像区域的显著性。这类模型不仅计算简单,而且适用范围广。任务驱动模型是一种缓慢的、有意识的、闭环的视觉注意过程,一般是指提取并识别图像中高级语义特征信息,计算图像目标区域的显著性。目前常将两种思路获得的特征融合并综合运用。由于图像检测对象的旋转、变形、平移、遮挡等问题,待检测目标往往呈现多向变化特征。Ojala等人[8]首次利用局部二值模式(Local Binary Pattern,LBP)解决光照变化的影响问题,从而获得灰度不变性及纹理表征方式。Tomoki等人提出利用局部归一化的梯度方向直方图(HOG描述符),获取图像的平移不变性、亮度和旋转不变性,输入分类器来完成目标检测任务[9]。Liu等人[10]提出将显著性检测任务简化为二值分割问题,采用局部特征、区域特征和全局特征表示显著性物体。此外,也有学者提出了局部特征点方案,改善亮度、大小和遮挡覆盖等问题。上述技术也逐渐用于商标识别与商标图片检测任务中。Joly等人[11]采用了SIFT特征点匹配技术,通过设置阈值来提高查找的准确性,减少商标大小以及方向旋转的影响。Fu等人[12]将SIFT、形状以及分割块等特征融合,提高显著性检测精度,但特征点匹配十分耗时。Sivic和Zisserman等人计算特征点向量之间的差异分辨显著性区域,能够显著提升图像检测与识别的速度[13]。近年来,显著性检测转向基于底层特征的计算模型,进一步提高检测精度。Li等人[14]提出全局对比度算法,通过颜色空间维度变换使得显著性区域和背景区域可分。此外,还有基于最小化栅格距离(MBD)变换的显著性检测算法,计算像素与边界的颜色距离,以此衡量像素的显著值。该方法对图像像素值波动有很好的鲁棒性,不必经过区域抽象化预处理(如超像素分割),但是计算相当耗时。上述显著性检测方法虽然可以有效地对视觉场景中的图像进行检测,但难以高效学习特征且计算效率较低。

近年来,由于深度学习模型对图像中复杂特征信息具有较强的学习能力,能够同时提取多尺度深度特征信息以达到图像显著性检测目的,因此逐渐引入到图像显著性检测模型中[15-16]。2014年以前,深度模型主要采用多层感知机。利用CNN结构获取特征中的空间信息,但是全连接层和池化层的运用,导致聚合过程中位置信息的丢失。针对全连接层问题,Long等人[15-16]提出了全卷积网络(FCN),FCN模型将传统CNN中的全连接层转化成一个个的卷积层,在不带有全连接层的情况下进行目标预测,使得显著性检测更加高效。该类结构逐渐在显著性识别和语义分割中推广开来[17]。进一步将显著性检测、空间一致性、多层次图像分割结合起来,形成完整的显著性目标检测框架[18-19]。但由于相关检测数据不够规范,导致检测算法准确率不够高、鲁棒性差、检测速率低。黄明珠等[20]提出了基于改进Faster R-CNN的显著性目标检测方法,且使用对抗训练生成低分辨率的小目标样本,解决了图像分辨率低导致显著性检测性能低的问题。但同时由于组合模型的结构复杂,两阶段训练时间和计算量大大增加。另一类基于回归的单步目标检测的YOLO系列算法也被提出。通过新增检测层和空间注意力机制,更关注图像前景特征和尺度问题。但由于引入新的全连接层和卷积层,训练成本和信息丢失仍然存在。此外,针对池化问题,学者们提出了编码器-解码器(Encoder-Decoder)结构。Encoder模块使用池化层缩减输入空间的维度,而Decoder模块则通过反卷积层等尽可能恢复目标细节,其代表性模型为U-Net模型[21]。U-Net类模型中以U-Net结构为基础网络,使用多尺度特征进行语义分割,其U形结构也启发了后面很多算法;也有学者设计了空洞卷积结构,且消除了池化层结构,代表性模型为DeepLab-v3+模型[22]。DeepLab-v3+模型使用空间金字塔模块和Encoder-Decoder结构做语义分割。此外,大量显著性检测算法也采用了以VGG、ResNet、DenseNet为骨干网络的深度神经网络架构[23-25]。一些创造性的精细化结构也进一步提高了显著性检测的效果,让编码器提取更为丰富的语义信息来指引解码器的显著性图预测[26]。在上述模型的基础上,Qin等人提出了BASNet模型[27]。该模型由两个模块组成,预测模块是一个类似U-Net的密集监督编解码器网络,从输入图像中预测显著图,通过多尺度残差细化模块(RRM)来细化预测模块的结果显著图。由U-Net出发,U2-Net进一步采用了两级嵌套的U形结构,为显著性对象检测任务(Salient Object Detection,SOD)进行了精细化设计[28]。以上总结如表1所示,相关模型算法没有针对商标图像显著性问题进行探讨,也缺少系统性分析和评测。因此,有必要开发一套全新的面向商标显著性检测任务的数据集,并探讨相关深度学习算法的效果,在后文会进行具体实践和介绍。

表1 显著性检测相关模型汇总

2 商标显著性检测数据集设计

2.1 显著性检测数据集设计

首先针对开源的显著性数据集进行整理与介绍,并进一步提出商标显著性数据集开发方案,用于后续分析与评测。

2.1.1 开源显著性检测数据集

现有的显著性检测数据集有MSAR、Achanta、SED、SOD等[17]。MSAR包含了5 000张测试图片,包括自然场景、人物、动物、室内室外等,图像分辨率也不同,框选最显著的物体构建数据集真值。Achanta数据集是在MSAR数据集内挑选了1 000张比较有代表性的测试图片,并且把MSAR数据集内显著性物体的边界切割出来形成一个二值化模板作为真值,如图1所示。在MSAR数据集和Achanta数据集内,图像中只包含一个显著物体。而在SED数据集中包含两部分。第一部分是SED1,每幅图形只有一个显著物体;第二部分是SED2,每幅图形有两个显著性物体,由切割显著物体边界作为真值。SOD数据集是由观测者在300幅测试图像上切割物体的边界作为真值,许多测试图像都包含一个显著物体。这些数据集构建过程为该文商标显著性检测数据集设计提供了思路。

图1 MSAR数据集和Achanta数据集真值

2.1.2 商标显著性检测数据集

商标图像区别于上述通用图像,往往是通过设计产生的,以相对规范的电子数据格式存放,所以不存在常见的亮度、遮盖等噪声影响。本次使用的数据集为自建的真实商标数据集,数据来源为中国商标网,数据集目前涵盖2 000张商标图片。采用如图2所示的数据集制作流程。首先获取大量的商标数据并存入数据库,将其中的图像商标筛选出来。对比常见软件的显著区域标注效果,利用交互式分割自动标注工具,加快图片标注的速度,保存标注结果以JSON格式存储。最终形成可训练以及测试的数据集,图3为标注过程以及部分标注数据效果展示。

2.2 商标显著性检测数据库设计

商标显著性检测系统使用MySQL数据库存储商标的数据。在数据库中存储不同类型的商标数据信息表,包括注册商标基本信息、实体关系等,用于返回数据库内的相似商标以及商标的信息。

图2 数据集制作流程

3 商标显著性检测方法

3.1 数据预处理及评估指标

在数据预处理阶段,对图片执行图片裁剪、锐化、去噪、灰度调整等操作,消除图像中无法使用的信息,增强信息的准确性以及简化数据。预处理完成后,将图片送入训练好的模型进行预测并返回结果。在方法定量评估阶段,通常以混淆矩阵为基础计算F1评价指标。此外,显著性检测任务也采用如下指标:像素准确率(Pixel Accuracy,PA),在一张显著性图像中判断检测像素点是否正确,如公式(1)所示。类别平均像素准确率(Mean Pixel Accuracy,MPA),该指标对于显著性而言,代表的是显著性区域与背景区域的像素正确率平均值,计算公式如公式(2)所示。平均交并比(Mean Intersection over Union,MIoU),此指标对于显著性检测而言,计算显著性区域与背景区域的交并比再平均。其中,交并比(Intersection over Union,IoU)表示的含义是显著性区域的识别结果与真实结果的交集和并集的比值,计算公式如公式(3)所示。

(1)

(2)

(3)

3.2 显著性检测深度学习模型

与传统方法相比,深度学习显著目标检测网络表现出了更好的性能和正确率。近年来,学者们已经提出了许多深度学习显著目标检测算法。全卷积深度网络模型(FCN)是将全连接层全部替换成了卷积操作,通过Softmax层计算每个像素点的概率分布,达到显著性检测的目的[16]。但是FCN的上采样比较粗糙,细节分割效果不理想,并且没有充分考虑像素空间一致性;DeepLab-v3+模型依赖于空洞卷积多尺度的信息,添加一个简单有效的解码器细化分割结果,在不改变特征图的同时,控制感受野并提取多尺度信息,效果比较明显[22];U-Net网络结构是典型的Encoder-Decoder架构,网络结构左侧通过下采样获取特征,右侧通过上采样恢复原图。网络中还使用了跳跃连接,即解码器每上采样一次,就以拼接的方式将解码器和编码器中对应的相同分辨率特征图进行特征融合,帮助解码器更好地恢复目标的细节[21]。虽然U-Net在融合时恢复了目标细节,但是提取信息由于缺少底层信息,使得显著性检测边界模糊并且运行效率低;BASNet模型第一部分预测模块是一个Encoder-Decoder网络,输出初步预测的显著性图。第二部分残差优化模块与第一部分的主要架构相似但更加简单。编码器和解码器都有4个阶段,每个阶段都只有一个卷积层[27]。使用一个Residual Refinement Module (RRM)跟Structural Similarity Index Module (SSIM),目标分割效果较好。U2-Net是一种为显著性检测(Salient Object Detection,SOD)而设计的网络模型,通过一种新的残差U块(ReSidual U-block,RSU)提取多尺度特征,并且不降低特征图的分辨率。嵌套U结构能够更有效地提取阶段内多尺度特征和聚合阶段间多级特征完成显著性检测任务[28]。这种新架构允许网络深入并实现高分辨率,而不显著增加内存和计算成本。

通过对上述算法的整理和调试,开展对比实验。实验在配置为Intel(R) Core(TM) i5-8300H处理器、NVIDIAGTX 1050显卡、内存16 GB的计算机上运行。商标显著性检测数据集随机划分,最终训练集图片共计1 600张,测试集图片200张,验证集图片200张。训练过程中利用训练集、验证集的反馈(精度、损失)调整网络参数,使该模型达到最优神经网络的训练验证以及测试,整个实验均基于深度学习框架Pytorch进行。上述五种模型的显著性检测结果如图4所示。第1个测试目标中,四片树叶的缝隙被U2-Net网络检测成功,但是BASNet网络的结果直接忽视了四条缝隙。第2个测试目标的结果显示,FCN细节处理的结果比较粗糙;第4个测试目标的结果显示,U-Net网络与Deeplab-v3+网络生成的显著图中存在着明显的缺失。综上所述,U2-Net模型测试结果在与其他模型对比中,有着细节处理细腻,显著性区域提取完整的特点。表2已给出了评价指标结果,其中U2-Net网络的像素准确率最高,达到了0.92,F1-score也达到了0.907,而MIoU值在五种模型中也是最高的。通过上述指标对比以及生成的显著图对比后,最终采用U2-Net为系统的优选模型,经改进适配后用于商标检索系统的显著性检测服务。

表2 五种模型算法的评价指标值

图4 五种模型的显著性检测结果

3.3 商标显著性相似计算

相似计算是商标图像检索的关键一步。首先对输入的商标进行特征提取,利用函数计算特征的相似度,计算完成后将相似数据排序返回。采用Python的Annoy模块,用于检索近邻空间数据。检索过程一般分成三步:(1)特征索引建立。对于待检索的信息首先要建立索引;(2)进行近邻查询,利用模型内置函数进行搜索查询;(3)返回近邻节点,给出相似商标结果。首先对图片特征进行提取并把图片特征转化为维度为[7,7,512]的浮点型数据,保存图片索引Id与名称的映射数据,查询返回最接近的多个相似图片索引Id来查询相似商标图案。

4 商标显著性检测系统实现

商标显著性检测方法和工程实现主要由前端、后端、项目部署及展示三部分组成。

4.1 前后端开发

前端页面使用Vue框架进行开发,前端涉及登录页、注册页、显著性检测页、图片检索页、文字检索页。登录页是系统的基本功能,点击登录触发动作,前端将表单使用POST请求发送给后端比对。系统登录成功后默认跳转到显著性检测页,图片显示功能是使用的Vue框架的Element Plus组件完成。使用flask搭建的U2-Net模型预测服务,访问该地址图片就能显示在前端页面中。图片检索页与显著性检测页类似,输入查询的功能与显著性效果检测功能实现步骤一致。后端使用Springboot+Flask开发,显著性检测和图片检索使用Flask搭建应用程序接口(API)。以图片检索页为例,当用户在前端上传一张图片点击查询按钮后,后端接受到文件并保存到本地,调用相似度搜索函数,函数返回多张相似图片的注册号,根据注册号将相似商标图案展示。

4.2 商标检索系统部署与展示

系统部署在本地计算机内,硬件配置为 Intel(R) Core(TM) i5-8300H处理器、NVIDIAGTX1050显卡、内存16 GB,软件配置为Java版本1.8.0_281,Python版本3.7.1。当用户点击导入图片后,图片显示框将把上传的图片实时显示出来。如图5所示,当用户点击查询按钮后,检测的图片就被送入后端并返回相似商标的信息,前端将这些信息展示在列表区。当用户输入待搜索的商标名称时,前端就将商标名称送入到后端并对数据库进行查询,返回的信息展示在列表区。

图5 图片检索效果

5 结束语

在庞大的商标数据库中,进行商标相似搜索、侵权判定目前仍然是成本较高且耗费资源的问题。该文提出了商标显著性特征检测方法和框架,相关框架吸纳国内外经典显著性检测模型,并进行了对比验证,最后提出了面向商标相似搜索的显著性检测解决方案。结论如下:

(1)自建并开源商标显著性检测数据集。目前国内外没有专门针对于商标显著性检测任务的数据集,该文在中文商标数据库中选取了2 000张商标图片数据并标注了显著性特征,最终构建了一个可用于训练、测试的商标数据集。

(2)商标显著性数据处理。搭建商标数据库,对商标数据库添加路径地址字段(URL),编写Python脚本使商标信息与图片关联,解决数据库中文本信息与图片信息不匹配的问题,实现了通过查询数据库并找到对应图片的需求。

(3)商标显著性检测算法设计及评价指标。对U-Net、FCN、BASNet、Deeplab-v3+、U2-Net等五种流行算法进行复现并训练测试,编写脚本计算算法的像素准确率、平均交互比等评价指标,最终优选U2-Net深度模型作为商标显著性检测服务的基础模型。

(4)基于商标图像适配的深度模型算法完成商标的显著性检测任务,并搭建了一套商标快速高效搜索系统,初步在一些项目中完成应用。

当然算法也存在诸多问题,比如模型优化训练及评测还不够完善。下一步准备将继续增大数据集的小目标的数据与标签精细程度。保证模型检测精度的基础上,优化训练及测试过程,逐渐形成能够满足工业级应用的商标显著性检测框架和系统。

猜你喜欢

显著性特征图像
改进的LapSRN遥感图像超分辨重建
有趣的图像诗
如何表达“特征”
不忠诚的四个特征
基于显著性权重融合的图像拼接算法
基于视觉显著性的视频差错掩盖算法
抓住特征巧观察
一种基于显著性边缘的运动模糊图像复原方法
论商标固有显著性的认定
线性代数的应用特征