System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及图像检测,尤其涉及一种基于深度学习的摄像头脏污检测方法。
技术介绍
1、现有的自动驾驶车辆大量应用先进传感器以实现智能环境感知,但这些传感器大多数暴露在车辆外部。在极端条件下,例如泥浆飞溅到摄像头表面,这些传感器容易受到不同程度的污染,导致图像质量下降,最终影响到自动驾驶的安全性能。因此,准确检测和及时处理摄像头的污染变得至关重要。
2、目前,一般采用信息熵计算摄像头拍摄到的图像质量,再根据预设的固定阈值来判断图像质量是否大于该阈值,若不大于,则判定摄像头存在脏污。但在某些特殊场景下,如夜晚或逆光拍摄,由于本身图像质量就很差,而非摄像头脏污所致,因此使用这种方法进行摄像头污染检测容易出现误检情况。
技术实现思路
1、有鉴于此,本专利技术的目的在于提出一种基于深度学习的摄像头脏污检测方法,以解决现有的摄像头脏污判断容易误检的问题。
2、基于上述目的,本专利技术提供了一种基于深度学习的摄像头脏污检测方法,包括以下步骤:
3、s1、获取带有脏污区域标注的图像数据集,并进行预处理;
4、s2、构建包括改进的segformer编码器、afpn连接模块、多个输出头以及相应的连接层的深度神经网络,其中改进的segformer编码器包括segformer骨干网络以及额外的自注意力机制;
5、s3、将原始图像转为序列化数据,送入改进的segformer编码器中,采用自注意力机制提取图像的特征信息,并将提取的图像的特征信息输入额
6、s4、将提取的图像的特征信息送入渐进特征融合模块中进行不同维度特征信息的融合,得到包含了原始图像的重建信息的decoded patches;
7、s5、将包含了原始图像的重建信息的decoded patches送入多个输出头中,进行脏污检测、场景检测和目标检测,输出脏污分类结果、场景分类结果和目标检测分类结果,基于损失函数对深度神经网络进行训练;
8、s6、将待检测图像输入训练好的深度神经网络,输出脏污分类结果、场景分类结果和目标检测分类结果。
9、优选地,图像数据集包括不同场景下的真实脏污图像和利用cyclegan网络生成的脏污图像,其中cyclegan网络使用遮挡掩膜和注意力机制,在特定区域生成脏污,将干净图像转换成脏污图像。
10、优选地,步骤s3中,所述将提取的图像的特征信息输入额外的自注意力机制模块中,得到脏污区域的特征包括:
11、s31、给定一个输入的图像的特征信息映射的二维矩阵,将二维矩阵分割为个非重叠的区域,使每个区域包含个特征向量,对二维矩阵x进行reshape 操作,使其变为,经过线性映射,得到q、k、v 张量:
12、;
13、其中r表示实数,h表示高度,w表示宽度,c表示通道数,wq,wk,wv分别表示q、k、v的权重矩阵,xr表示reshape 操作后的二维矩阵;
14、s32、构建有向图,寻找区域与区域之间的注意力关系,通过在 q 和 k 上分别应用每个区域的平均值来获得区域级 ,即对矩阵x 进行分块处理后,针对区域进行计算得到的查询张量,通过和其转置进行矩阵乘法,推导出区域到区域亲和度图的邻接矩阵,表示维度为的实数矩阵;
15、;
16、仅保留每个区域前 k 个最密切区域,形成路由索引矩阵,具有逐行应用 topk 算子,表示维度为的自然矩阵;
17、;
18、第 i 行包含第 i 个区域的 k 个最相关区域的索引,topkindex表示topk算子操作;
19、s33、进行 k、v 张量的收集:
20、;
21、其中,,kg和vg均为进行gather后的中间变量,gather操作表示从输入张量中收集特定位置的元素,根据提供的索引矩阵提取这些元素;
22、将收集到的应用注意力:
23、;
24、其中lce 是上下文增强项,o表示脏污区域的特征。
25、优选地,segformer编码器中包括四个segformer模块,所述进行不同维度特征信息的融合包括:
26、渐进特征融合模块通过四个segformer模块获取输入,通过1x1 卷积调整通道数得到 p1, p2, p3, p4,p1, p2, p3, p4分别表示第一层、第二层、第三层和第四层segformer模块的特征输出;
27、依次融合底层特征、深层特征和最高层特征,在每次融合过程中将第 j 层的特征向量表示为,将第 i 层到第 j 层的特征向量表示为,asff表示asff模块为不同向量分配权重的模块,关系用如下式:
28、;
29、其中αi,βi,γi均表示权重;
30、在不同层之间的特征向量中用 1x1 卷积和双线性插值方法进行下采样,利用步幅为 2 的 2x2 卷积来实现 2 倍上采样,用步幅为 4 的 4x4 卷积来实现 4 倍上采样,用步幅为 8 的 8x8 卷积来实现 8 倍上采样,总的特征融合过程为:
31、;
32、其中均为中间变量,表示通过不同倍率处理后的特征向量,upsample2表示2倍上采样,upsample4表示4倍上采样,downsample2表示2倍下采样,downsample4表示4倍下采样。
33、优选地,深度神经网络包括脏污分割头、摄像头场景分类头和目标检测分类头,步骤s5具体包括:
34、s51、通过脏污分割头,对decoded patches中的每个像素进行分类,确定该像素是否属于脏污区域,空间分支中的高分辨率特征图经过1 × 1卷积和批量归一化层,生成待融合的特征,与此同时,上下文分支中的低分辨率特征图经过一个1 × 1卷积层、一个sigmoid层,上采样到高分辨率,通过双线性插值生成语义权重,将上下文分支的语义权重按元素顺序多重叠加到空间分支的高分辨率特征上;
35、s52、场景检测对整个图像进行分类,通过摄像头场景分类头给出场景分类标签,每个标签代表不同的场景类型,同时场景检测根据场景情况为脏污检测的阈值设定范围。
36、优选地,步骤s5中,损失函数的计算公式为:
37、loss =α×分割损失+β×分类损失 +γ×检测损失;
38、其中,loss表示深度神经网络的多任务损失,语义分割和场景分类通过交叉熵损失进行计算,目标检测通过smooth l1计算边界框损失,均为可调整的权重超参数。
39、本专利技术的有益效果:
40、1、本专利技术通过设置三个输出头,实现不同的检测任务,不但能够判断摄像头被脏污覆盖的区域,同时能够实现对部分物体的分类以及对当前场景的分类,多任务学习架构充分利用了底层特征的共享表达能力,不同输出头可以同时优化各自的目标,相互促进,提高了算法的本文档来自技高网...
【技术保护点】
1.一种基于深度学习的摄像头脏污检测方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的基于深度学习的摄像头脏污检测方法,其特征在于,所述图像数据集包括不同场景下的真实脏污图像和利用CycleGAN网络生成的脏污图像,其中CycleGAN网络使用遮挡掩膜和注意力机制,在特定区域生成脏污,将干净图像转换成脏污图像。
3.根据权利要求1所述的基于深度学习的摄像头脏污检测方法,其特征在于,步骤S3中,所述将提取的图像的特征信息输入额外的自注意力机制模块中,得到脏污区域的特征包括:
4.根据权利要求1所述的基于深度学习的摄像头脏污检测方法,其特征在于,所述Segformer编码器中包括四个Segformer模块,所述进行不同维度特征信息的融合包括:
5.根据权利要求1所述的基于深度学习的摄像头脏污检测方法,其特征在于,所述深度神经网络包括脏污分割头、摄像头场景分类头和目标检测分类头,步骤S5具体包括:
6.根据权利要求1所述的基于深度学习的摄像头脏污检测方法,其特征在于,步骤S5中,损失函数的计算公式为:
【技术特征摘要】
1.一种基于深度学习的摄像头脏污检测方法,其特征在于,所述方法包括以下步骤:
2.根据权利要求1所述的基于深度学习的摄像头脏污检测方法,其特征在于,所述图像数据集包括不同场景下的真实脏污图像和利用cyclegan网络生成的脏污图像,其中cyclegan网络使用遮挡掩膜和注意力机制,在特定区域生成脏污,将干净图像转换成脏污图像。
3.根据权利要求1所述的基于深度学习的摄像头脏污检测方法,其特征在于,步骤s3中,所述将提取的图像的特征信息输入额外的自注意力机制模块中,...
【专利技术属性】
技术研发人员:宋军,毛俊迪,何舒平,宋志龙,陈向成,余涛,张良,
申请(专利权)人:安徽大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。