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

基于深度学习的违规广告牌检测方法、装置、设备及介质

文献发布时间:2023-06-19 19:30:30


基于深度学习的违规广告牌检测方法、装置、设备及介质

技术领域

本发明涉及计算机视觉技术领域,尤其涉及基于深度学习的违规广告牌检测方法、装置、设备及介质。

背景技术

随着大数据、物联网和人工智能等新技术的发展,数字城市技术在全国范围内得到推广,精细化、信息化、网络化已成为城市管理工作的大趋势,“智慧城管”新模式给城市治理工作带来了新的机遇和挑战。

违规户外广告一直都是城市治理工作的常见场景,不仅影响城市环境美观,也存在着一定的安全隐患,需要整治进一步规范广告。以前的整治工作是依靠人工巡查为主,人力成本高;随着“智慧城管”模式的改革,开始利用AI技术在巡逻车巡检时自动检测违规的广告牌,但是由于广告牌存在样式多、颜色杂等特点,给AI检测带来了很大的挑战,导致检测结果不够精确。

发明内容

本发明实施例提供了基于深度学习的违规广告牌检测方法、装置、设备及介质,旨在解决现有利用AI检测技术对违规广告牌进行检测时不够精确的问题。

第一方面,本发明提供一种基于深度学习的违规广告牌检测方法,其中,包括:

获取检测视频并进行抽帧,对抽取出的图像帧进行标注,得到带有违规广告牌的样本图像和带有正规广告牌的样本图像,并构建样本集和测试集;

将样本集中的样本图像输入到YOLOv7模型中进行检测,输出检测到的目标;其中,所述YOLOv7模型中的颈部网络中的每一ELAN模块后面连接一注意力模块;

对检测到的目标进行文字识别,保存识别到的文本,将识别到的文本中的所有词语与预先创建的词库进行比较,检索得到所述词库中相似度最高的词语并作为关键词和对应的概率值;

采用损失函数对模型训练过程进行优化,其中,所述损失函数包括关联关键词的分类损失;

利用测试集中的样本图像对优化后的YOLOv7模型进行测试,并在测试完成后对待检测图像进行违规广告牌检测。

第二方面,本发明还提供一种基于深度学习的违规广告牌检测装置,其中,包括:

采集单元,用于获取检测视频并进行抽帧,对抽取出的图像帧进行标注,得到带有违规广告牌的样本图像和带有正规广告牌的样本图像,并构建样本集和测试集;

训练单元,用于将样本集中的样本图像输入到YOLOv7模型中进行检测,输出检测到的目标;其中,所述YOLOv7模型中的颈部网络中的每一ELAN模块后面连接一注意力模块;

识别单元,用于对检测到的目标进行文字识别,保存识别到的文本,将识别到的文本中的所有词语与预先创建的词库进行比较,检索得到所述词库中相似度最高的词语并作为关键词和对应的概率值;

优化单元,用于采用损失函数对模型训练过程进行优化,其中,所述损失函数包括关联关键词的分类损失;

检测单元,用于利用测试集中的样本图像对优化后的YOLOv7模型进行测试,并在测试完成后对待检测图像进行违规广告牌检测。

第三方面,本发明还提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上所述的基于深度学习的违规广告牌检测方法。

第四方面,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如上所述的基于深度学习的违规广告牌检测方法。

本发明实施例提供了基于深度学习的违规广告牌检测方法、装置、设备及介质,本发明实施例主要使用YOLOv7模型作为目标检测网络,同时针对广告牌场景对模型进行特定的改造,加入了CA注意力机制、文字识别及关键词检索技术。具体的,在YOLOv7模型中每个ELAN模块后面都接一个CA(注意力模块),增强特征表达能力;将检测到的目标进行文字识别,并将文字转成向量进行关键词检索,根据检索结果动态调整检测网络的分类损失函数,自适应权重。本发明在训练时利用文字识别的关键词进行辅助,有利于区分违规广告和正规广告牌,提高了检测的准确率。

附图说明

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

图1为本发明实施例提供的基于深度学习的违规广告牌检测方法的流程示意图;

图2为本发明实施例提供的基于深度学习的违规广告牌检测方法的子流程示意图;

图3为本发明实施例提供的基于深度学习的违规广告牌检测装置的示意性框图;

图4为本发明实施例提供的基于深度学习的违规广告牌检测装置中识别单元的示意性框图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

请参阅图1,图1为本发明实施例提供的一种基于深度学习的违规广告牌检测方法的流程示意图,包括步骤S101~S105:

S101、获取检测视频并进行抽帧,对抽取出的图像帧进行标注,得到带有违规广告牌的样本图像和带有正规广告牌的样本图像,并构建样本集和测试集;

S102、将样本集中的样本图像输入到YOLOv7模型中进行检测,输出检测到的目标;其中,所述YOLOv7模型中的颈部网络中的每一ELAN模块后面连接一注意力模块;

S103、对检测到的目标进行文字识别,保存识别到的文本,将识别到的文本中的所有词语与预先创建的词库进行比较,检索得到所述词库中相似度最高的词语并作为关键词和对应的概率值;

S104、采用损失函数对模型训练过程进行优化,其中,所述损失函数包括关联关键词的分类损失;

S105、利用测试集中的样本图像对优化后的YOLOv7模型进行测试,并在测试完成后对待检测图像进行违规广告牌检测。

本发明实施例主要使用YOLOv7模型作为目标检测网络,同时针对广告牌场景对模型进行特定的改造,加入了CA注意力机制、文字识别及关键词检索技术。具体的,在YOLOv7模型中每个ELAN模块后面都接一个CA(注意力模块),增强特征表达能力;将检测到的目标进行文字识别,并将文字转成向量进行关键词检索,根据检索结果动态调整检测网络的分类损失函数,自适应权重。本发明在训练时利用文字识别的关键词进行辅助,有利于区分违规广告和正规广告牌,提高了检测的准确率。

其中,在所述步骤S101中,可采集巡逻车巡检拍摄的画面,由标注专家筛选出图像,进行目标检测标注,得到数据集。

首先在驾驶巡逻车在街道进行巡检时,通过视频抽帧的方法采集城市不同街道的图像,再对图像进行数据清洗,保留各种场景下有立起来广告牌的图像,其中包括不同类型的违规广告牌,如:餐饮广告、招聘广告、服装店广告等,以及正规广告牌,如:交通、警示、文明宣传等。

其次,标注专家使用Labelme工具对街道图片进行标注,主要对图像中的广告牌进行标注,主要分为违规广告牌和正规广告牌两类,记录其矩形坐标以及标签,然后将标注信息存入json格式文件中,标注信息包括(z,cx,cy,w,h),z代表类别,(cx,cy)代表标注框中心点的坐标,w,h代表宽和高。

最后,将所有数据按标签进行等比例划分,其中70%作为训练集,20%作为验证集,10%作为测试集。

在进行训练之前,可先对数据进行数据预处理,例如使用随机裁剪和归一化的方法对训练集进行数据预处理,并使用数据增强平衡样本数量。

在步骤S102中,使用YOLOv7模型作为目标检测网络,由于本发明实施例模型是应用于边端推理场景,需要在巡逻车巡检时进行实时推理,因此对于模型有轻量级的要求。本发明实施例基于公开的YOLOv7模型进行改造,在其Backbone(颈部网络)的每个ELAN模块后面接一层CA(Coordinateattention)注意力机制(注意力模块),以便在金字塔特征融合前进一步提炼特征,使模型检测更精准。

其中,ELAN模块由多个CBS构成,其输入输出特征大小保持不变。

其中,注意力模块的处理流程如下:

对输入特征分别进行宽度和高度方向的全局平均池化,分别得到宽度方向的第一特征和高度方向的第二特征;

将宽度方向的第一特征和高度方向的第二特征进行拼接,再进行卷积以实现降维,然后依次进行批量归一化处理和激活;

将激活后得到的特征按照宽度和高度方向分别进行卷积,得到与原始通道数相同的宽度方向的第三特征和高度方向的第四特征;

利用激活函数对所述第三特征和第四特征分别进行激活,得到对应的注意力权重,然后在输入特征上通过乘法加权计算,得到带有对应的注意力权重的输出特征。

CA注意力机制通过精确的位置信息对通道关系和长期依赖性进行编码,可增强移动网络学习特征的表达能力,它可以对网络中的任意中间特征张量进行转化变化后输出同样尺寸的张量。

在步骤S103中,本发明实施例使用开源的PP-OCRv2算法进行文字识别,其是一款超轻量级的中文OCR模型,然后进行关键词检索,再通过检索结果动态调整分类损失,形成自适应权重,控制标签权重,使得模型训练加速收敛,提升正规广告牌和违规广告牌的区分能力。

具体的,如图2所示,步骤S103包括步骤S201~S205:

S201、利用PP-OCRv2算法对检测到的目标进行文字识别,将识别到的文本转换成包含至少一个词语的数组L;

S202、预先构建包含多个正规广告牌中的词语的词库M;

S203、使用Skip-gram算法将所述数组L和词库M中的所有词语转化成词向量;

S204、针对所述数组L中的每一词语,将其对应的词向量与所述词库M中的所有词语对应的词向量进行向量距离计算,得到每一组对应的向量距离并进行排序,返回词库中相似度最高的词语和概率值,并将对应的所述概率值存入概率值数组;

S205、将所述概率值数组中的概率值进行排序,得到最大的概率值,将与其对应的词库中的词语作为关键词。

其中,在步骤S201中,使用开源的PP-OCRv2算法对YOLOv7模型检测到的目标进行文字识别,并且将识别结果转换成一个数组L,从而以数组的形式保存检测到的文字。比如数组L=["请扫码"、"二维码"、...]。

步骤S202中,建立一个关键词的词库,用来作为语料库进行词向量的对比检索。由于广告牌检测模型的标签主要有两类:正规广告牌和违规广告牌,正规广告牌主要包括交通、警示、文明宣传等,正规广告牌上出现的文字比较固定,一般不会跟违规广告牌的文字有重复,所以本发明实施例可以建立一个正规广告牌的关键词词库M。M=["禁止"、"交通"、"宣传"、...]。

其中,词库M中穷举了正规广告牌中可能会出现并且与违规广告牌不重复的文字,包含且不限于以上词语。

步骤S203中,为了比较两个中文词语或者短句的相似性,对比它们的语义信息,需要将词语转换成词向量。由于本实施例中的词库数量不是很多,所以可以使用简单的词嵌入算法word2vec。Skip-gram是word2vec中的一个算法,本发明实施例使用Skip-gram算法将词库M中的所有词语转化成词向量。词库M的向量化表示为M_vec。同样的,遍历L中的每一个词语,同样的使用Skip-gram算法把词语转换成词向量,得到向量化表示l_vec。

步骤S204中,针对所述数组L中的每一词语,将其对应的词向量l_vec与所述词库M中的所有词语对应的词向量M_vec进行向量距离计算,也即余弦距离,得到每一组对应的向量距离并进行排序,返回词库中相似度最高的词语和概率值,并将对应的所述概率值存入概率值数组。

这样,对于数组L中的每一个词语,都会得到词库中相似度最高的词语以及概率值,从而使最终的概率值数组中包含多个概率值。

步骤S205中,将所述概率值数组中的概率值从大到小进行排序,得到最大的概率值,将与其对应的词库中的词语作为关键词。

比如数组L中包含两个词语:“注意”和“安全”,其中“注意”所检索到的相似度最高的词语是“防范”,概率值为“0.935613587746”。其中“安全”所检索到的相似度最高的词语是“生命”,概率值为“0.585613587746”。所以最终得到的最大概率值为“0.935613587746”,关键词为“防范”。

步骤S104中,采用损失函数对模型训练过程进行优化。

损失函数包括关联关键词的class分类损失、置信度损失和bbox边框回归损失。

置信度损失使用的损失函数是BCEWithLogitsLoss(二元交叉熵损失函数),公式如下:

Loss={l

公式中:N为训练集batch,每个batch有n个目标。σ(x

class分类损失的损失函数同样是BCEWithLogitsLoss(二元交叉熵损失函数),但由于本发明实施例增加了文字识别和关键词检索技术,所以本实施例对BCEWithLogitsLoss进行了重新定义和改造,将向量检索结果关联在分类损失上,形成自适应权重,class分类损失的计算公式如下:

Loss={l

其中,

其中,N为训练集batch,每个batch有n个目标,σ(x

本实施例可以通过控制系数α去控制增加的权重大小。当l_max≥0.5时,侧重关注0标签,当l_max<0.5时,则侧重关注1标签。

本实施例提到的自适应权重是指w

这里的(1,3)维度是指:因为模型分类标签是3类,因此模型会输出3个类别的概率值,即(1,3),最终会选择概率值最大的标签作为预测结果。比如输出的概率值为:(0.1,0.75,0.15)。最终选择概率值最大的0.75的标签作为预测结果。

在一实施例中,bbox边框回归损失使用的是GIOUloss。bbox边框回归损失的计算公式如下:

L

其中,A表示真实边界框,B表示预测边界框,IOU(A,B)表示真实边界框和预测边界框的区域交并比,C表示可以覆盖预测边界框和真实边界框的最小矩形。

在模型训练开始时,先设定初始训练参数,将样本图像送到改造后的YOLOv7模型进行训练。在训练的每一个迭代过程中,YOLOv7模型识别到的每一个目标,都送到识别单元进行文字识别,对识别到的文字进行词向量转换,并使用词向量对词库M进行关键词检索,根据检索结果自动调整分类损失,形成自适应权重。

在一实施例中,所述利用测试集中的样本图像对优化后的YOLOv7模型进行测试,并在测试完成后对待检测的图像进行违规广告牌检测,包括:

在进行测试或检测时,将测试图像或待检测图像输入到优化后的YOLOv7模型中,将输出结果作为最终检测结果。

本发明实施例在训练迭代到300个epoch后停止训练,保存训练最好的模型,保存时需要删除后续的识别流程和检索流程,这两个过程对应的模块单元仅用于辅助YOLOv7模型的训练,不作用于推理,实现轻量化,保证边端推理的实时性。

在实际应用时,巡逻车在街道巡检时对摄像头视频进行实时抽帧,并将抽帧图像送到训练好的模型进行推理,模型对图像中是否有违规广告牌进行检测,实时返回检测结果。若检测结果有违规广告牌,则把告警信息发送到后台。

如图3所示,本发明实施例还提供一种基于深度学习的违规广告牌检测装置300,其包括:

采集单元301,用于获取检测视频并进行抽帧,对抽取出的图像帧进行标注,得到带有违规广告牌的样本图像和带有正规广告牌的样本图像,并构建样本集和测试集;

训练单元302,用于将样本集中的样本图像输入到YOLOv7模型中进行检测,输出检测到的目标;其中,YOLOv7模型中的颈部网络中的每一ELAN模块后面连接一注意力模块;

识别单元303,用于对检测到的目标进行文字识别,保存识别到的文本,将识别到的文本中的所有词语与预先创建的词库进行比较,检索得到词库中相似度最高的词语并作为关键词和对应的概率值;

优化单元304,用于采用损失函数对模型训练过程进行优化,其中,损失函数包括关联关键词的分类损失;

检测单元305,用于利用测试集中的样本图像对优化后的YOLOv7模型进行测试,并在测试完成后对待检测图像进行违规广告牌检测。

在一实施例中,注意力模块包括:

池化单元,用于对输入特征分别进行宽度和高度方向的全局平均池化,分别得到宽度方向的第一特征和高度方向的第二特征;

第一卷积单元,用于将宽度方向的第一特征和高度方向的第二特征进行拼接,再进行卷积以实现降维,然后依次进行批量归一化处理和激活;

第二卷积单元,用于将激活后得到的特征按照宽度和高度方向分别进行卷积,得到与原始通道数相同的宽度方向的第三特征和高度方向的第四特征;

加权单元,用于利用激活函数对第三特征和第四特征分别进行激活,得到对应的注意力权重,然后在输入特征上通过乘法加权计算,得到带有对应的注意力权重的输出特征。

在一实施例中,如图4所示,识别单元303包括:

识别子单元401,用于利用PP-OCRv2算法对检测到的目标进行文字识别,将识别到的文本转换成包含至少一个词语的数组L;

构建单元402,用于预先构建包含多个正规广告牌中的词语的词库M;

转化单元403,用于使用Skip-gram算法将数组L和词库M中的所有词语转化成词向量;

计算单元404,用于针对数组L中的每一词语,将其对应的词向量与词库M中的所有词语对应的词向量进行向量距离计算,得到每一组对应的向量距离并进行排序,返回词库中相似度最高的词语和概率值,并将对应的概率值存入概率值数组;

排序单元405,用于将概率值数组中的概率值进行排序,得到最大的概率值,将与其对应的词库中的词语作为关键词。

在一实施例中,损失函数包括class分类损失、置信度损失和bbox边框回归损失。关于上述各损失的具体技术细节可参考前述内容。

本发明实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上的基于深度学习的违规广告牌检测方法。

本发明实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序当被处理器执行时使处理器执行如上的基于深度学习的违规广告牌检测方法。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、机械硬盘、固态硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 基于深度学习的域名检测方法、装置、设备和存储介质
  • 基于深度学习模型的案件类型识别方法、装置、设备及介质
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 一种基于深度学习的人脸检测方法,装置和设备
  • 基于微波的行人检测方法、装置、计算机设备及存储介质
  • 基于深度学习的遛狗违规行为检测方法、装置及设备
  • 基于人工智能的违规行为检测方法、装置、设备及介质
技术分类

06120115929284