掌桥专利:专业的专利平台
掌桥专利
首页

一种logo识别加速方法

文献发布时间:2023-06-19 12:22:51


一种logo识别加速方法

技术领域

本发明涉及图像处理技术领域,尤其涉及一种logo识别加速方法。

背景技术

随着互联网的发展,在互联网上的视频数量也越来越多,同时也会面临着安全问题,像一些特殊组织在网上散播一些特殊视频,这些视频如果在社会上流传开来,对于整个社会安稳有着很大的影响,因此识别出这些特殊视频成为很重要的任务。这些特殊视频大部分都会有特定的logo,所以logo识别成为特殊视频识别很重要的一步。Logo识别一般会用到特征比对,用输入图像中logo的特征和底库特征进行比对,logo的特征一般是高维向量比如2048 维,如果底库的特征比较多,那么一对一的比对会消耗过多的时间。

现有的特征检索方案是如果底库数据量比较少,特征维度比较低,那么就采取一对一的计算欧式距离的方法,如果是底库数据量比较多,那么构建 kd-tree,然后进行特征检索。如果是一对一进行检索,从效率来讲是相对比较慢,实用性并不高,如果是构建kd-tree的话,效率会有所提高,但是构建kd-tree 过程比较麻烦,并且不利于后期维护。

因此,提供一种logo识别加速方法,提高logo识别的速度,是本领域技术人员亟需解决的问题。

发明内容

有鉴于此,本发明提供了一种logo识别加速方法,能够加速logo识别速度。

为了实现上述目的,本发明采用如下技术方案:

一种logo识别加速方法,包括以下步骤:

S1、视频输入步骤,获取视频数据;

S2、关键帧抽取步骤,获取关键帧;

S3、logo检测步骤,通过候选区域产生网络和回归器获取分类候选框的类别;

S4、logo识别训练步骤,采用残差网络ResNet50、经过全局平均池化和损失函数,获得logo识别训练网络;

S5、logo识别测试步骤,输出logo分类结果。

优选的,步骤S2中关键帧抽取步骤的具体内容为:

对步骤S1输入的视频采用多媒体视频处理工具FFmpeg进行视频抽帧,具体为每隔一个固定时间抽取视频中的一帧图像,作为关键帧。

优选的,固定时间可选2秒钟。

优选的,步骤S3中logo检测步骤的具体内容为:

将步骤S2中得到的关键帧首先通过ResNet50进行图像特征提取,采用候选区域产生网络(RPN,Region Proposal Network)获取候选框,然后采用回归器来回归候选框的位置坐标,采用分类器来分类候选框的类别。

优选的,步骤S4中logo识别训练步骤的具体内容为:

采用ResNet50输出7×7×2048的特征向量,该特征向量经过全局平均池化(Global Avarage Pooling)输出的2048维向量输入到损失函数(Loss函数) 中,完成训练,得到logo识别训练网络。

优选的,步骤S4中logo识别测试步骤的具体内容为:

采用logo识别训练网络最后一层输出的2048维特征向量,与目标底库中的logo特征向量进行欧式距离计算,若计算结果小于设定阈值,则认为该logo 属于目标底库中的一种,否则,认为该logo不是目标logo。

经由上述的技术方案可知,与现有技术相比,本发明提供了一种logo识别加速方法:能够快速有效地对视频中特定的目标人物进行检测和识别;具有很快的检测和识别速度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明一种logo识别加速方法流程图;

图2为本发明logo检测步骤示意图;

图3为传统TensorRT模型结构示意图;

图4为本发明Conv、BN、Relu三个层融合后TensorRT模型结构示意图;

图5为本发明网络结构水平整合示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

参照图1,本实施例公开了一种logo识别加速方法,包括以下步骤:

S1、视频输入步骤,获取视频数据;

S2、关键帧抽取步骤:对步骤S1输入的视频采用多媒体视频处理工具 FFmpeg进行视频抽帧,具体为每隔2秒时间抽取视频中的一帧图像,作为关键帧。

S3、logo检测步骤:将步骤S2中得到的关键帧首先通过ResNet50进行图像特征提取,采用候选区域产生网络(RPN,Region Proposal Network)获取候选框,然后采用回归器来回归候选框的位置坐标,采用分类器来分类候选框的类别。

S4、logo识别训练步骤:采用ResNet50输出7×7×2048的特征向量,该特征向量经过Global Avarage Pooling输出的2048维向量输入到损失函数 (Loss函数)中,完成训练,得到logo识别训练网络。

S5、logo识别测试步骤:采用logo识别训练网络最后一层输出的2048 维特征向量,与目标底库中的logo特征向量进行欧式距离计算,若计算结果小于设定阈值,则认为该logo属于目标底库中的一种,否则,认为该logo不是目标logo。

在一个具体实施例中,步骤S3中,将步骤S3预处理好的图像输入到Logo 检测网络,logo检测网络采用经典的FasterRCNN检测网络框架,如图2所示,输入一张调整好尺寸的图像,先通过resnet50的连续层(conv layer)提取图像特征(feature map),然后用候选区域产生网络(RPN,Region Proposal Network) 产生一定数量的候选框(anchor)。

在一个具体实施例中,步骤S3中,利用卷积神经网络(CNN)对候选框 (anchor)进行判定:

若候选框(anchor)里含有目标,则该候选框(anchor)为目标候选框 (positiveanchor);否则为非目标候选框(negative anchor)。

在一个具体实施例中,步骤S3中,每个候选框(anchor)连接一个回归器和分类器,回归器用于定位候选框(anchor)的位置,分类器用于分辨候选框(anchor)是否包含敏感标志。

在一个具体实施例中,步骤S3中,对每一个候选框(anchor)映射到图像特征(feature map)上,进行roi pooling操作,将候选框(anchor)对应的图像特征(featuremap)分割成7x7块,然后将该7x7图像特征(feature map),进行reshape成49,后面接全连接和softmax对候选框(anchor)的类型进行预测,本发明中使用的分类器是二分类,即该候选框(anchor)是logo或者不是logo。

在一个具体实施例中,步骤S4中,arcface函数的定义如下:

x

在一个具体实施例中,步骤S4中为了进行识别加速,将网络进行 TensorRT优化,主要是以下几个方面:

(1)对网络结构进行垂直整合:将目前主流神经网络中的Conv、BN、 Relu三个层融合为一个层CBR。BN为Batch-Normalization批标准化,一般用在卷积后,bias是BN的一个主要参数,ReLU是一个激活函数。如图3所示为Conv、BN、ReLu合并前3传统TensorRT模型结构示意图;如图4所示为Conv、BN、ReLu三个层融合后TensorRT模型结构示意图;

(2)对网络结构进行水平整合,将输入为相同张量和执行相同操作的融合在一起,如上图4中3个1x1 CBR张量大小相同,进行合并后如图5所示;

(3)减少concat层,将concat的输入直接送到后续的操作中,减少传输吞吐;

(4)解析网络模型,将网络中的无用的输出层消除,减少计算量。

经过网络结构优化和TensorRT加速,能够将网络的单张推理速度在p40 达到20ms以内,满足实时的需求。

在另一个具体实施例中,公开了logo识别检索优化方向。因为底库中的 logo种类上百种,每个logo在底库中的数量为5-10张,所以最后会有上千条高维特征,并且随着业务拓展,logo种类还是不断地增加,如果用暴力匹配的方法,准确率比较高但是速度会不太理想。那么需要对特征检索机制进行优化。本申请使用Faiss搜索库,它是一个给稠密向量提供高效相似度搜索和聚类,支持十亿级别向量的搜索,是目前最成熟的近似邻近搜索库存,Faiss 提供了多种相似性搜索的方法,支持不同的用法和功能集,优化了内存使用和速度,为相关索引方法提供了的GPU实现,采用多线程来利用多核资源,并在多个GPU上执行并行检索。

对所公开的实施例的上述说明,按照递进的方式进行,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种logo识别加速方法
  • 一种智慧图片LOGO识别方法
技术分类

06120113269640