CN117058657A - 汽车可行驶区域识别方法、深度学习模型构建方法和装置 - Google Patents
汽车可行驶区域识别方法、深度学习模型构建方法和装置 Download PDFInfo
- Publication number
- CN117058657A CN117058657A CN202311143128.9A CN202311143128A CN117058657A CN 117058657 A CN117058657 A CN 117058657A CN 202311143128 A CN202311143128 A CN 202311143128A CN 117058657 A CN117058657 A CN 117058657A
- Authority
- CN
- China
- Prior art keywords
- model
- data set
- training
- automobile
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000013136 deep learning model Methods 0.000 title claims abstract description 27
- 238000010276 construction Methods 0.000 title claims abstract description 13
- 238000012549 training Methods 0.000 claims description 102
- 238000012360 testing method Methods 0.000 claims description 69
- 238000012795 verification Methods 0.000 claims description 37
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000010200 validation analysis Methods 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 5
- 238000007906 compression Methods 0.000 claims description 5
- 238000013434 data augmentation Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 22
- 230000011218 segmentation Effects 0.000 description 19
- 238000004458 analytical method Methods 0.000 description 13
- 238000011156 evaluation Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 10
- 230000003068 static effect Effects 0.000 description 8
- 238000003708 edge detection Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 240000004050 Pentaglottis sempervirens Species 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000011524 similarity measure Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 235000012434 pretzels Nutrition 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000037072 sun protection Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/16—Image acquisition using multiple overlapping images; Image stitching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及汽车技术领域,提供了汽车可行驶区域识别方法、深度学习模型构建方法和装置。其中所述汽车可行驶区域识别方法包括:使用Segformer模型进行汽车可行驶区域的识别。本发明使用Segformer模型进行汽车可行驶区域的识别,由于Segformer模型具有体积小,准确率高的特点,从而能够减少汽车可行驶区域识别所占用的计算资源,从而能够在一些计算资源有限的设备上运行。
Description
技术领域
本发明涉及汽车技术领域,特别是涉及汽车可行驶区域识别方法、深度学习模型构建方法和装置。
背景技术
汽车可行驶区域分割是指对一张汽车驾驶场景图像进行分割,将图像中的每个像素归属到不同的类别中,从而实现对汽车可行驶区域的识别和分割,传统图像处理手段如边缘检测和光流法在可行驶区域检测中存在适应性有限、缺乏语义信息、参数敏感以及计算效率较低等一些缺点,且现有技术往往针对单摄像头视角的图像进行可行驶区域的识别,导致识别区域的视角受限,导致汽车可行驶区域的识别不够精准。
在现有技术中,还通常使用一些语义分割模型进行可识别区域的分割,但这些语义分割模型的体积通常较大,将其应用到汽车可行驶区域识别方法中时,会占用更多的计算资源,不适用于在一些计算资源有限的设备上运行。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
发明内容
本发明要解决的技术问题是现有技术中的汽车可行驶区域识别占用计算资源通常较多,不适用于在一些计算资源有限的设备上运行。
本发明采用如下技术方案:
第一方面,本发明提供了一种汽车可行驶区域识别方法,包括:
使用Segformer模型进行汽车可行驶区域的识别。
优选的,所述使用Segformer模型进行汽车可行驶区域的识别,具体包括:
对汽车行驶周边的多张环境样本图像进行拼接,得到以车身为中心的鸟瞰图;
对鸟瞰图进行预处理后,输入至训练完成的Segformer模型进行汽车可行驶区域的识别,以识别出可行驶区域。
第二方面,本发明还提供了一种用于汽车可行驶区域识别的深度学习模型构建方法,所述深度学习模型为Segformer模型,构建方法包括:
对多张鸟瞰图进行标记,生成训练数据集、验证数据集和测试数据集;
构建初始Segformer模型;
使用所述训练数据集、验证数据集和测试数据集对初始Segformer模型进行训练,得到用于汽车可行驶区域识别的训练完成的Segformer模型。
优选的,所述初始Segformer模型为尺寸居中的MiT-B2模型;
所述MiT-B2模型包括四个编码器、一个解码器和一个输出层;
每个编码器包括多个编码层,在每两个编码层之间还设置有重叠压缩合并层;
所述解码器包括多个解码层和一个上采样层,所述解码层用于使用自注意力机制和跨注意力机制整合不同层级的特征信息,所述上采样层用于将特征图的尺寸增加到与输入图像的尺寸相同;
所述输出层包括一个分类头,所述分类头为由一个线性层函数实现的卷积层,用于将各像素分配至不同的类别。
优选的,所述使用所述训练数据集、验证数据集和测试数据集对初始Segformer模型进行训练,包括:
将所述训练数据集划分为多个批次的训练子集,将验证数据集划分为多个批次的验证子集,将测试数据集划分为多个测试子集;
将每一批次的训练子集和每一批次的验证子集输入至相应批次的第一中间模型中进行训练,以得到相应批次的第二中间模型;其中,以初始Segformer模型作为第一批次的第一中间模型,以上一批次的第二中间模型作为下一批次的第一中间模型;
使用相应批次的测试子集对相应批次的第二中间模型进行测试,得到相应批次的测试结果,根据所有批次的测试结果从所有批次的第二中间模型中选择一个第二中间模型作为训练完成的Segformer模型。
优选的,所述方法还包括:
在训练得到预设数量个第二中间模型后,在后续各第一中间模型的各编码器中添加噪声;
根据所添加噪声的水平,设定相应的学习率,以便于根据添加有噪声的第一中间模型和相应的学习率进行后续批次的训练。
优选的,所述测试结果为各类别的准确率,所述使用相应批次的测试子集对相应批次的第二中间模型进行测试,得到相应批次的测试结果,具体包括:对每一批次的第二中间模型执行以下操作:
将相应批次的测试子集输入至相应批次的第二中间模型,输出预测结果;其中,所述预测结果包括测试子集中每张图像的每个像素的预测类别;
将每个像素的预测类别与标记所得的每个像素的标记类别进行匹配,判断各像素的预测类别是否正确,统计相应批次的第二中间模型在各类别的准确率。
优选的,所述根据所有批次的测试结果从所有批次的第二中间模型中选择一个第二中间模型作为训练完成的Segformer模型,具体包括:
从所有类别的准确率均大于相应预设准确率的第二中间模型中,选择整体准确率最高的第二中间模型作为训练完成的Segformer模型;其中,所述相应第二中间模型的整体准确率由该第二中间模型的各类别的准确率结合预设规则计算得到。
优选的,在使用所述训练数据集、验证数据集和测试数据集对初始Segformer模型进行训练前,所述方法还包括对训练数据集、验证数据集和测试数据集中的图像进行数据增广,具体包括:
将训练数据集和验证数据集中的图像进行缩放,使缩放后图像的长度和宽度分别为2×m1×k和m2×k;其中,m1为图像的长度,m2为图像的宽度,k为预设缩放系数;
对缩放后的图像进行裁剪,使裁剪后图像恢复缩放前的图像大小,并对图像进行翻转;其中,对缩放后的图像进行裁剪的比例不超出预设裁剪比例;
还对图像的亮度、对比度、饱和度和色调进行调整,和对图像进行色彩空间转换。
第三方面,本发明还提供了一种用于汽车可行驶区域识别的装置,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的汽车可行驶区域识别方法或第二方面所述的用于汽车可行驶区域识别的深度学习模型构建方法。
第四方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的汽车可行驶区域识别方法或第二方面所述的用于汽车可行驶区域识别的深度学习模型构建方法。
本发明使用Segformer模型进行汽车可行驶区域的识别,由于Segformer模型具有体积小,准确率高的特点,从而能够减少汽车可行驶区域识别所占用的计算资源,从而能够在一些计算资源有限的设备上运行。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的第一种汽车可行驶区域识别方法的流程示意图;
图2是本发明实施例提供的一种用于汽车可行驶区域识别的深度学习模型构建方法的流程示意图;
图3是本发明实施例提供的另一种用于汽车可行驶区域识别的深度学习模型构建方法的流程示意图;
图4是本发明实施例提供的又一种用于汽车可行驶区域识别的深度学习模型构建方法的流程示意图;
图5是本发明实施例提供的一种汽车可行驶区域识别方法中鸟瞰图变化的示意图;
图6是本发明实施例提供的一种汽车可行驶区域识别方法中鸟瞰图的示意图;
图7是本发明实施例提供的再一种用于汽车可行驶区域识别的深度学习模型构建方法的流程示意图;
图8是本发明实施例提供的一种汽车可行驶区域识别方法中识别模型的示意图;
图9是本发明实施例提供的一种汽车可行驶区域识别方法中训练完成的模型的各评价指标的示意图;
图10是本发明实施例提供的一种汽车可行驶区域识别装置的架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明中术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
现有技术中的汽车可行驶区域识别占用计算资源通常较多,不适用于在一些计算资源有限的设备上运行。为了解决此问题,本发明实施例1提供了一种汽车可行驶区域识别方法,包括:使用Segformer模型进行汽车可行驶区域的识别。由于SegFormer模型相较于其他模型来说,模型尺寸更小,参数量更少,推理速度也更快,但是它依然采用了一些提高模型准确率的技巧,因此更适合在计算资源有限的情况下在边缘设备上部署使用。故本实施例通过使用尺寸更小的Segformer模型进行汽车可行驶区域的识别,减少所占用的计算资源,从而适用于在计算资源有限的设备上运行。
在实际使用中,现有的汽车可行驶区域识别方法如边缘检测和光流法在可行驶区域检测中存在适应性有限、缺乏语义信息、参数敏感以及计算效率较低等一些缺点,且现有技术往往针对单摄像头视角的图像进行可行驶区域的识别,导致识别区域的视角受限,导致汽车可行驶区域的识别不够精准,为了解决此问题,结合上述实施例,本实施例还提供了一种优选的实施方式,即所述使用Segformer模型进行汽车可行驶区域的识别,如图1所示,具体包括:
在步骤201中,对汽车行驶周边的多张环境样本图像进行拼接,得到以车身为中心的鸟瞰图;其中,所述环境样本图像通过测试人员驾驶车辆行驶在道路上并打开车载的环视摄像头,对汽车周围的道路环境样本照片进行采集得到。所述对汽车行驶周边的多张环境样本图像进行拼接可以是使用AVM环视拼接算法,将多张环境样本图像拼接为以车身为中心的汽车可行驶区域的鸟瞰图。
还可使用PointSIFT方法从每个摄像头图像中提取特征描述符。这些描述符可以是点云、特征点或局部特征描述符,用于表示图像中的关键信息;然后对于每个摄像头的特征描述符,使用相似度度量方法(如L2范数或余弦相似度)计算与其他摄像头的特征描述符之间的距离或相似性。通过比较特征描述符之间的相似性,可以进行摄像头之间的匹配;最后利用RANSAC或其他一致性估计方法,对匹配点对进行内点筛选,并估计摄像头之间的几何关系,例如,相机位姿或基础矩阵。RANSAC算法可以剔除错误匹配和离群点,从而提高估计的准确性。根据估计得到的摄像头之间的几何关系,使用AVM环视拼接算法将多张环境样本图像拼接得到鸟瞰图。
在步骤202中,对鸟瞰图进行预处理后,输入至训练完成的Segformer模型进行汽车可行驶区域的识别,以识别出可行驶区域。
在实际的应用场景下,所述对鸟瞰图进行预处理,具体包括:使用均值漂移滤除环境样本图像中的噪点,并对环境样本图像进行图像增强。所述使用均值漂移滤除环境样本图像中的噪点可以是使用对环境样本图像中的各像素点进行处理。其中,xt是第t次迭代的位置,xi表示数据集中的第i个样本,K是核函数,h是带宽参数,用来控制估计的精度。在每次迭代中,均值漂移通过计算当前位置xt与其他样本的相似度,然后加权平均得到新的位置xt+1,重复这个过程直到收敛。这里根据对每张图的图像灰度分布以及反复调试,将数值t和i定位7和1。通过滤除噪点能够排除车载摄像头在拍摄过程中受到光线、震动等因素的干扰,从而使训练结果更精准。
其中,所述对环境样本图像进行图像增强,具体包括:针对部分照片存在的对比度不足现象,通过直方图均衡化、伽马变换以及深度学习图像超分辨率修复方法,提升图像质量。由于直接通过ESRGAN处理后的鸟瞰图图像,会由于背景路面像素值较暗的原因损失掉高频的30%左右纹理,对于过暗的可能损失80%甚至更多,故在优选的实施方式中,将伽马变换融合到超分修复模型ESRGAN的方法(GAMA-ESRGAN),如在ESRGAN的前处理阶段添加伽马变换,所述伽马变换为:o=α*iγ;其中,o和i分别是输出和输入图像像素值,α和o是正常数。当γ<1时,幂律曲线将较窄范围的暗输入值映射到较宽范围的输出值,当γ>1时则相反。考虑到图像整体偏暗,故将γ设置为0.6。通过伽马变换参数γ调整图像的动态范围,使得图像的亮度范围适应修复模型的输入要求。
在可选的实施方式中,所述方法还包括:对修复后的图像,利用AVM拼接算法,多路的图片拼接成以车身为中心的汽车可行驶区域的鸟瞰图图片。本实施例通过对环境样本图像进行拼接得到以车身为中心的鸟瞰图,从而能够提供更广的视角,从而提高汽车可行驶区域的识别的精准度。
实施例2:
本发明在提供了实施例1所描述的一种汽车可行驶区域识别方法后,本发明实施例还将进一步提供一种用于汽车可行驶区域识别的深度学习模型构建方法,为的是对实施例1中Segformer模型的构建与训练角度侧做相关阐述,并进一步就其设计原理做相关的深入分析。
本实施例所提供的一种用于汽车可行驶区域识别的深度学习模型构建方法,如图2所示,包括:
在步骤301中,对多张鸟瞰图进行标记,生成训练数据集、验证数据集和测试数据集;其中,所述训练数据集和验证数据集用于对识别模型进行训练,所述测试数据集用于对训练完成的识别模型进行测试,判断所述识别模型是否达到需求的训练效果。在后续实施例中也使用特征图作为所述训练数据集、验证数据集和测试数据集中的鸟瞰图的替代性描述。
在步骤302中,构建初始Segformer模型。其中,所述初始Segformer模型中的各参数由本领域技术人员根据经验分析得到。
在步骤303中,使用所述训练数据集、验证数据集和测试数据集对识别模型进行训练,得到用于汽车可行驶区域识别的训练完成的Segformer模型。实施例1使用经过本实施例所得的训练完成的Segformer模型进行汽车可行驶区域的识别,具体的,将训练完成的Segformer模型中的各参数存储到设备上,使用设备进行汽车可行驶区域的识别,在该实现下,所述设备可以是离线设备,所述进行汽车可行驶区域的识别的方法在实施例1中已进行了详述,在此不再赘述。
在可选的实施方式中,为了在模型的尺寸和识别的准确度之间进行平衡,本实施例中所述初始Segformer模型为尺寸居中的MiT-B2模型;即在MiT-B0~MiT-B5这6个不同尺寸的Segformer模型中,选择尺寸居中的模型。每个Segformer模型中用于编码器的可训练系数的量不同,用于解码器的可训练系数的量不同,MiT-B0中用于编码器的可训练系数占用存储空间约3.4M,用于解码器的可训练系数占用存储空间约0.4M;MiT-B1中用于编码器的可训练系数占用存储空间约13.1M,用于解码器的可训练系数占用存储空间约0.6M;MiT-B2中用于编码器的可训练系数占用存储空间约24.2M,用于解码器的可训练系数占用存储空间约3.3M;MiT-B3中用于编码器的可训练系数占用存储空间约44M,用于解码器的可训练系数占用存储空间约3.3M;MiT-B4中用于编码器的可训练系数占用存储空间约60.8M,用于解码器的可训练系数占用存储空间约3.3M;MiT-B5中用于编码器的可训练系数占用存储空间约81.4M,用于解码器的可训练系数占用存储空间约3.3M。
所述MiT-B2模型包括四个编码器、一个解码器和一个输出层;每个编码器包括多个编码层,在每两个编码层之间还设置有重叠压缩合并层;其中,MiT-B2模型的其四个阶段中的每个编码器Encoder Layer的个数分别设置为3、4、6和3。
每个编码器包含不同尺度特征,所述四个编码器形成Transformer结构,其中每个编码器又由若干个高效自注意力机制(Efficient Self-Attention)和混合全连接前馈网络(Mix-Forward Neural Network)组成的Encoder Layer(编码层)堆叠而成;EncoderLayer之间还进行了Overlapped Patch Merging(重叠压缩合并层)的操作。最终将四个编码器的输出一起传入到解码器中。
所述解码器包括多个解码层和一个上采样层,所述解码层用于使用自注意力机制和跨注意力机制整合不同层级的特征信息,所述上采样层用于将特征图的尺寸增加到与输入图像的尺寸相同。
所述解码器用于对编码器中对应的四个阶段的有效感受野进行解码融合。所述解码器实质上是一个具有多个Decoder Layer(解码层)的Transformer结构。Decoder Layer通过利用编码器中的自注意力机制和跨注意力机制(Cross-Attention)来整合不同层级的特征信息。解码器的目标是将编码器提取的语义信息转化为像素级的分割预测。为了实现像素级的分割,Segformer在解码器最后(即上采样层)使用了上采样操作,将特征图的尺寸增加到与输入图像相同的尺寸。这个过程可以通过插值或转置卷积等方式完成。
所述输出层包括一个分类头,所述分类头为由一个线性层函数实现的卷积层,用于将各像素分配至不同的类别。所述输出层通过在解码器的输出上应用逐像素的分类头(Pixel-wise Classification Head)来进行语义分割预测。分类头的输出通道数等于分割任务中的类别数。最终,通过所述线性层函数将每个像素分配到不同的类别。
在上述实施例的基础上,为了进一步提升汽车可行驶区域识别的精准度,本实施例还提供了以下优选的实施方式,即所述使用所述训练数据集、验证数据集和测试数据集对初始Segformer模型进行训练,如图3所示,具体包括:
在步骤401中,将所述训练数据集划分为多个批次的训练子集,将验证数据集划分为多个批次的验证子集,将测试数据集划分为多个测试子集;其中,训练数据集、验证数据集、测试数据集所划分得到的训练子集、验证子集和测试子集的批次数量相同,该批次数量由本领域技术人员根据经验分析得到。
在步骤402中,将每一批次的训练子集和每一批次的验证子集输入至相应批次的第一中间模型中进行训练,以得到相应批次的第二中间模型;其中,以初始Segformer模型作为第一批次的第一中间模型,以上一批次的第二中间模型作为下一批次的第一中间模型。
在此需要说明的是,本实施例所述的“上一批次”和“下一批次”相对两次相邻的批次而言的,例如,截止某个时间为止已经进行了三个批次的训练,在此为描述方便,将这三个批次按照时间顺序称为:第一批次、第二批次和第三批次,则第一批次为第二批次的“上一批次”,第二批次为第一批次的“下一批次”,第一批次的第二中间模型作为第二批次的第一中间模型,第二批次为第三批次的“上一批次”,第三批次为第二批次的“下一批次”,第二批次的第二中间模型作为第三批次的第一中间模型。
训练子集用于对相应批次的第一中间模型的参数进行训练,验证子集用于在使用相应批次的训练子集对第一中间模型的参数进行训练后,输入至训练后的第一中间模型,得到模型输出,根据模型输出计算训练后第一中间模型的关键评价指标,调整所述第一中间模型中优化器的权重衰减系数和/或优化器的超参数,直至计算得到关键评价指标达到第一预设指标,所述优化器可以是AdamW优化器;所述关键评价指标包括模型的损失函数、解码器的准确率(acc,Accuracy)和模型的均交并比(mIoU,Mean Intersection overUnion)中的一种或多种,所述模型的损失函数可以是模型的交叉熵损失函数(CrossEntropyLoss)。如若根据交叉熵损失函数判断得到交叉熵Loss收敛过快,则调小权重衰减系数,并配合调整优化器的超参数,以防止过拟合。
如果根据交叉熵损失函数判断得到交叉熵Loss收敛过慢,则调大权重衰减系数,并配合调整优化器的超参数,以防止欠拟合。在可选的实施方式中,所述权重衰减系数的调大调小均可通过预设步长调节实现,如调小时,将权重衰减系数减小预设步长,调大时将权重衰减系数增大预设步长,所述预设步长由本领域技术人员根据经验分析得到。所述第一预设指标由本领域技术人员根据经验分析得到。
通过调整优化器的权重衰减系数,能够平衡模型的正则化效果,以增加模型的正则化能力,防止了过拟合,如使用较小的权重衰减系数;调整AdamW优化器的超参数(即β1和β2以及ε),以便更快地遗忘历史梯度信息,同时提高数值稳定性。如在多次迭代训练过程中,逐渐使用更小的β1和β2值,将β1和β2值从[0.9,0.999]修改到了[0.879,0.959],解决了模型训练中损失收敛较慢的问题。
在步骤403中,使用相应批次的测试子集对相应批次的第二中间模型进行测试,得到相应批次的测试结果,根据所有批次的测试结果从所有批次的第二中间模型中选择一个第二中间模型作为训练完成的Segformer模型。
在此需要说明的是,所述第一中间模型、第二中间模型均与Segformer模型具有相同的结构,所述第一中间模型可理解为相应批次在训练前的模型,所述第二中间模型可理解为相应批次在训练后的模型。
在可选的实施例中,在具体的应用场景下,所述测试结果为各类别的准确率,所述使用相应批次的测试子集对相应批次的第二中间模型进行测试,得到相应批次的测试结果,具体包括:对每一批次的第二中间模型执行以下操作:
将相应批次的测试子集输入至相应批次的第二中间模型,输出预测结果;其中,所述预测结果包括测试子集中每张图像的每个像素的预测类别。将每个像素的预测类别与标记所得的每个像素的标记类别进行匹配,判断各像素的预测类别是否正确,统计相应批次的第二中间模型在各类别的准确率。
所述根据所有批次的测试结果从所有批次的第二中间模型中选择一个第二中间模型作为训练完成的Segformer模型,具体包括:从所有类别的准确率均大于相应预设准确率的第二中间模型中,选择整体准确率最高的第二中间模型作为训练完成的Segformer模型;其中,所述相应第二中间模型的整体准确率由该第二中间模型的各类别的准确率结合预设规则计算得到。所述预设准确率和预设规则由本领域技术人员根据经验和各类别的准确率需求分析得到,如可采用各类别的准确率相加或求均值的方式得到整体准确率,又或各类别的准确率加权求和的方式计算得到整体准确率。
还存在一种优选的实施方式为:若相应批次的第二中间模型的相应类别的准确率不大于预设准确率,则调整训练集、验证集和测试集的比例,将训练集的占比增加并人工去除掉极难识别的数据,再重新进行各批次的模型的训练,直至所有批次的第二中间模型在所有类别的准确率均大于预设准确率,从所有第二中间模型中选择整体准确率最高的一个作为训练完成的Segformer模型。
为了提高模型的准确性,本实施例还提供了以下优选的实施方式,如图4所示,具体包括:
在步骤501中,在训练得到预设数量个第二中间模型后,在后续各第一中间模型的各编码器中添加噪声;其中,所述预设数量由本领域技术人员根据经验分析得到。所述噪声可以是椒盐噪声、随机噪声和高斯噪声中的一种或多种。
在步骤502中,根据所添加噪声的水平,设定相应的学习率,以便于根据添加有噪声的第一中间模型和相应的学习率进行后续批次的训练。在可选的实施方式中,第n次训练迭代中的学习率其中,αn为一个根据总迭代次数设定好的预设参数,该预设参数由本领域技术人员根据经验分析得到,ln-1表示上一次设定的学习率,即第n-1次训练迭代中的学习率,mn表示第n次添加的服从标准正态分布的噪声。
举例而言,在训练迭代5000次(即预设次数)时,将高斯噪声添加到各编码器中,并根据噪声水平指定学习率,以使网络在噪声较高的区域更加谨慎地更新参数,目标是通过在模型训练过程中引入噪声来提高模型的鲁棒性和泛化能力,其中,在训练过程中逐渐降低学习率。
为了进一步提高模型的准确性,在使用所述训练数据集、验证数据集和测试数据集对初始Segformer模型进行训练前,所述方法还包括对训练数据集、验证数据集和测试数据集中的图像进行数据增广,具体包括:
将训练数据集和验证数据集中的图像进行缩放,使缩放后图像的长度和宽度分别为2×m1×k和m2×k;其中,m1为图像的长度,m2为图像的宽度,k为预设缩放系数;该预设缩放系数由本领域技术人员根据经验分析得到。
对缩放后的图像进行裁剪,使裁剪后图像恢复缩放前的图像大小,并对图像进行翻转;其中,对缩放后的图像进行裁剪的比例不超出预设裁剪比例;该预设裁剪比例由本领域技术人员根据经验分析得到。
还对图像的亮度、对比度、饱和度和色调进行调整,和对图像进行色彩空间转换。
如当各图像的长和宽相同时,执行以下步骤:
(1)对图像尺度进行缩放,如将图像尺度缩放到2*m*k×m*k(m表示原始的长和宽的大小,k表示缩放比例,如从[0.5-2.0]随机选择一个值作为值),在随机缩放中将k值的取值上限提升而下限降低。
(2)对图像进行随机裁剪回原来的尺度m×m、对图像进行随机横向翻转,并且在随机裁剪中添加了一个目标最大裁剪比例让裁剪掉的语义信息不可以超过这个占比,以及增大了图像进行随机横向翻转的可能性。
(3)调整图像的亮度、对比度、饱和度、色调和色彩空间转换,这些改动的目的是为了在做数据增强的时候能保留更多的有效信息同时也增加了增强后的图像具有更多的语义内容的可能性。从而让模型能够适配各种各样的场景,具有更强的泛化能力。
实施例3:
在实施例1所述的汽车可行驶区域识别方法的基础上,为了提高进行汽车可行驶区域识别过程的效率,本实施例还提供了一种汽车可行驶区域识别方法,具体包括:
若在上一次识别过程中,识别得到汽车行驶周边存在不可行驶区域,则从不可行驶区域中识别各对象的轮廓,将各对象的轮廓与预设轮廓库中的轮廓比对,将比对得到可能为静态对象的对象作为目标对象,则在下一次识别时,根据汽车的车速,计算所述目标对象与汽车之间的相对偏移;其中,所述预设轮廓库由本领域技术人员采集构建得到,并针对每一轮廓标注静态对象或动态对象。
根据所述相对偏移,确定在下一次识别时,所对应特征图(即用于进行汽车可行驶区域识别的鸟瞰图)中所述目标对象的可能位置,计算所述图像中可能位置的实际像素分布与上一次识别得到的所述目标对象的像素分布之间的相似度;所述可能位置的实际像素分布与目标对象的像素分布之间的相似度是通过计算目标对象的每一个位置的像素与所述可能位置中的对应位置的像素之间的像素相似度,再综合可能位置的实际像素分布与目标对象的像素分布的所有像素分布的像素相似度得到的。
若所述相似度大于第一预设相似度,则认为所述图像的相对汽车的实际偏移与计算得到的相对偏移一致,即目标对象与汽车之间的相对运动仅由汽车带来,则判断得到所述目标对象为静态对象,在后续识别过程中,直接将所述目标对象所在位置划分为汽车的不可行驶区域。如图5所示,若在t0时刻进行了一次识别,识别得到特征图中存在近似树形的轮廓,则将其认定为目标对象,若在t1时刻又进行了一次识别,识别得到该树形轮廓在两次识别的特征图中的相对偏移与汽车行驶所带来的相对偏移一致,则认定其为静态对象,该树形轮廓不参与后续使用识别模型进行可行驶区域识别的过程,而是直接被划分为不可行驶区域。
若所述相似度小于等于第二预设相似度,则判断得到所述目标对象并非静态对象,在后续识别过程中,所述目标对象依旧保留在特征图中输入至识别模型进行识别。
若所述相似度大于第二预设相似度且小于等于第一预设相似度,则对所述可能位置进行轮廓识别,若识别得到单个轮廓或两个以上轮廓,则在后续识别过程中,所述目标对象依旧保留在特征图中输入至识别模型进行识别。若识别得到存在两个轮廓,即目标对象被另一对象所遮挡,如图6所示,树形轮廓被人形轮廓所遮挡,从而形成两个轮廓,则根据所述目标对象与汽车之间的位置关系进行相应处理,包括:若汽车车头行驶已超过所述目标对象,则直接将所述目标对象所在位置划分为汽车的不可行驶区域,而不将其输入至识别模型进行识别。
若所述可能静态对象所在位置位于汽车的车头前方,则选取所述目标对象两侧预设范围内的像素区域,结合上一次识别时图像中的该像素区域与下一次识别时图像中的该像素区域,通过像素匹配,判断得到遮挡所述目标对象的另一对象在两次识别过程中相对周边环境的偏移,根据该偏移判断该另一对象的移动趋势,若判断得到另一对象的移动趋势为远离汽车行驶方向,则将所述目标对象所在位置划分为汽车的不可行驶区域;若判断得到另一对象的移动趋势为朝向汽车行驶方向,则在将所述目标对象所在位置划分为汽车的不可行驶区域的同时,还通过告警、图像标注等形式提醒驾驶员注意来往动态对象。
其中,所述选取所述目标对象两侧预设范围内的像素区域可以是选取所述目标对象以及所述另一对象两侧清晰度相对较高的一侧的像素区域。所述第一预设相似度和所述第二预设相似度均是由本领域技术人员根据经验分析得到的,所述第一预设相似度大于第二预设相似度。
其中,所述直接将所述目标对象所在位置划分为汽车的不可行驶区域具体为:不对所述目标对象所在位置进行识别,而是通过像素覆盖或剔除像素点的方式将目标对象从特征图中删除,从而不将其输入至识别模型进行识别,而是直接将所述目标对象所在位置划分为汽车的不可行驶区域,直至所述目标对象淡出汽车的识别视野。如在所述目标对象所在位置填充预设像素,从而使目标对象被遮挡,而不参与识别模型的识别。在后续识别过程中,所述目标对象所在位置均根据汽车的车速与上一次识别时目标对象所在位置计算得到目标对象的相对偏移,根据该相对偏移确定得到。
本实施方式通过对静态对象进行识别,并使静态对象不参与识别模型的识别,从而能够提高识别效率和实时性,进一步减少资源占用,以便于在边缘设备上部署使用。
实施例4:
本发明基于实施例1和实施例2所描述的方法基础上,结合具体的应用场景,并借由相关场景下的技术表述来阐述本发明特性场景下的实现过程。
本实施例所述的汽车可行驶区域识别方法,如图7所示,具体包括:
在步骤601中,利用车载的环视摄像头对汽车在行驶过程中进行拍照获取道路环境样本照片(即获取汽车行驶周边的多张环境样本图像)。
在步骤602中,对采集到的图像(即实施例1中的环境样本图像)进行预处理,包括AVM拼接、图像增强、尺度缩放等操作,得到预处理的汽车可行驶区域的鸟瞰图图片样本。
在步骤603中,对预处理后的汽车可行驶区域的鸟瞰图图片样本进行标注,并标注后将所有样本及标签分配到训练集(即实施例1中的训练数据集)、验证集(即实施例1中的验证数据集)和测试集(即实施例1中的测试数据集)中。
在步骤604中,通过改进的Segformer模型(即实施例1中的识别模型),对步骤603中的汽车可行驶区域的鸟瞰图图片样本进行模型训练,得到模型权重。包括:构建Segformer初始模型;基于鸟瞰图图片样本进行Segformer初始模型训练;对训练集、验证集中鸟瞰图图片分别进行数据增广;将验证集和训练集输入至Segformer初始模型中并基于预设的学习策略进行Segformer初始模型训练,即将图像数据、标签和Segformer预训练权重分别以图像、图像和二进制文件的形式输入到模型中进行训练,每个批次训练完毕后,对关键的评价指标(即实施例1中的关键评价指标)进行分析,迭代优化参数,直至模型的损失函数达到预设值(可理解为选用模型的损失函数作为关键评价指标,使用预设值作为第一预设指标),输出模型及评价指标;基于测试集对输出模型进行测试,若判断达到预设阈值(可理解为实施例2中的评价指标达到第二预设指标),则输出最终的训练最优模型。
在步骤605中,将步骤604中得到的训练完毕模型的权重模型进行转换,推理该模型得到汽车可行驶区域的准确分割结果。
其中,所述步骤602具体包括:
针对成像图片中车载摄像头在拍摄过程中容易受到光线、震动等因素的干扰导致图像出现噪点使用均值漂移进行滤除。
进一步的,所述的均值漂移为:
其中,xt是第t次迭代的位置,xi表示数据集中的第i个样本,K是核函数,h是带宽参数,用来控制估计的精度。在每次迭代中,均值漂移通过计算当前位置xt与其他样本的相似度,然后加权平均得到新的位置xt+1,重复这个过程直到收敛。这里根据对每张图的图像灰度分布以及反复调试,将数值t和i定位7和1。
针对部分照片存在的对比度不足现象,通过直方图均衡化、伽马变换以及深度学习图像超分辨率修复方法,提升图像质量。
本实施例将伽马变换融合到超分修复模型ESRGAN的方法(GAMA-ESRGAN),对于直接通过ESRGAN处理后的鸟瞰图图像,会由于背景路面像素值较暗的原因损失掉高频的30%左右纹理,对于过暗的可能损失80%甚至更多,本实施例在ESRGAN的前处理阶段添加伽马变换,通过伽马变换参数γ调整图像的动态范围,使得图像的亮度范围适应修复模型的输入要求。
所述的伽马变换为:
o=α*iγ
其中,o和i分别是输出和输入图像像素值,α和o是正常数。当γ<1时,幂律曲线将较窄范围的暗输入值映射到较宽范围的输出值,当γ>1时则相反。考虑到图像整体偏暗,故将γ设置为0.6。
对修复后的图像,利用AVM拼接算法,多路的图片拼接成以车身为中心的汽车可行驶区域的鸟瞰图图片。
本实施例还提出了一种基于RANSAC与PointSIFT的进行相邻摄像头匹配的AVM拼接算法,首先使用PointSIFT方法从每个摄像头图像中提取特征描述符。这些描述符可以是点云、特征点或局部特征描述符,用于表示图像中的关键信息。
然后对于每个摄像头的特征描述符,使用相似度度量方法(如L2范数或余弦相似度)计算与其他摄像头的特征描述符之间的距离或相似性。通过比较特征描述符之间的相似性,可以进行摄像头之间的匹配。
最后利用RANSAC或其他一致性估计方法,对匹配点对进行内点筛选,并估计摄像头之间的几何关系,例如,相机位姿或基础矩阵。RANSAC算法可以剔除错误匹配和离群点,从而提高估计的准确性。根据估计得到的摄像头之间的几何关系,使用AVM环视拼接算法将多张环境样本图像拼接得到鸟瞰图。
所述步骤603具体包括:以8:1:1的经验比例,将汽车可行驶区域的鸟瞰图图片划分到训练集、验证集与测试集中;对训练集和验证集进行标注,其中:道路及车位等可行驶区域记为可行驶类,标签值为1,对应像素值为(1,1,1);行人记为不可行驶类,标签值为2,对应像素值为(2,2,2);其它可见车辆记为不可行驶类,标签值为3,对应像素值为(3,3,3);草地及树木记为不可行驶类,标签值为4,对应像素值为(4,4,4)。
所述步骤604中所构建的初始Segformer模型如图8所示,由以下部分构成:
(1)编码器:Segformer的编码器部分实质上是一种使用了连续四个包含不同尺度特征的编码器的Transformer结构,其中每个编码器又由若干个高效自注意力机制(Efficient Self-Attention)和混合全连接前馈网络(Mix-Forward Neural Network)组成的Encoder Layer(编码层)堆叠而成;Encoder Layer之间还进行了Overlapped PatchMerging(重叠压缩合并层)的操作。最终将四个编码器的输出一起传入到解码器中。
(2)解码器:解码器中对编码器中对应的四个阶段的有效感受野进行解码融合。Segformer的解码器实质上是一个具有多个Decoder Layer的Transformer结构。DecoderLayer通过利用编码器中的自注意力机制和跨注意力机制(Cross-Attention)来整合不同层级的特征信息。解码器的目标是将编码器提取的语义信息转化为像素级的分割预测。为了实现像素级的分割,Segformer在解码器最后使用了上采样操作,将特征图的尺寸增加到与输入图像相同的尺寸。这个过程可以通过插值或转置卷积等方式完成。
(3)语义分割预测模块(即实施例1中的输出层):Segformer通过在解码器的输出上应用逐像素的分类头(Pixel-wise Classification Head)来进行语义分割预测。分类头是一个卷积层,其输出通道数等于分割任务中的类别数。最终,通过一个线性层函数将每个像素分配到不同的类别。
为了满足对模型大小、性能的不同需求,本实施例构建不同尺寸的Segformer模型,根据每个编码器中使用的Encoder Layer的不同,我们将各Segformer模型分为MiT-B0~MiT-B5共六个模型。在此需要说明的是,图8仅仅以一个Segformer模型为例说明其层级结构。考虑到为了边缘计算设备算力与模型推理性能,这里选择了Segformer中模型大小MiT-B0~MiT-B5中居中的MiT-B2模型作为初始Segformer模型,MiT-B2模型的四个编码阶段中的每个编码器Encoder Layer个数设置为3、4、6和3。
此外,在算力资源充裕并对检测精度要求很高的情况下,可以考虑选择比MiT-B2更大模型;而在在算力资源紧张并对检测精度要求一般或较低的情况下,可以考虑选择比MiT-B2更小模型。
所述步骤604中对训练集、验证集中鸟瞰图图片分别进行数据增广,具体包括:
(1)对图像尺度缩放到2*m*k×m*k(m表示原始的长和宽的大小,k表示缩放比例,如从[0.5-2.0]随机选择一个值作为k值),在随机缩放中将k值的取值上限提升而下限降低。
(2)对图像进行随机裁剪回原来的尺度m×m、对图像进行随机横向翻转,并且在随机裁剪中添加了一个目标最大裁剪比例让裁剪掉的语义信息不可以超过这个占比,以及增大了图像进行随机横向翻转的可能性。
(3)改变图像的亮度、对比度、饱和度、色调和色彩空间转换,这些改动的目的是为了在做数据增强的时候能保留更多的有效信息同时也增加了增强后的图像具有更多的语义内容的可能性。
所述步骤604中将验证集和训练集输入至初始Segformer模型中并基于预设的学习策略进行初始Segformer模型训练,具体包括:
将所有数据(包括训练集、验证集和测试集)分为若干个批次,每个批次训练完毕后,进行分析优化参数,直至所有批次完成。最终将最后一个批次的模型的损失函数及其它指标达到预设值,输出模型及评价指标,(可理解为将相应批次的训练子集和验证子集输入至相应第一中间模型进行训练,并调整超参数,得到各批次的第二中间模型的过程);
且在整个Segformer模型结构上修改了AdamW优化器,包括以下两点:
(1)调整学习率调度策略:将学习率尝试采用更合适的学习率调度策略来加快模型的收敛速度。如使用“扩散Poly学习率策略”,在训练迭代5000次时后,将高斯噪声添加到各编码器中,并根据噪声水平指定学习率的想法在学习率调度,以使网络在噪声较高的区域更加谨慎地更新参数,这种方法的目标是通过在模型训练过程中引入噪声来提高模型的鲁棒性和泛化能力,在训练过程中逐渐降低学习率。
(2)调整其它超参数设置:通过调整AdamW优化器中的权重衰减系数,平衡模型的正则化效果,以增加模型的正则化能力,防止了过拟合,如尝试使用较小的权重衰减系数;调整AdamW优化器的超参数(β1和β2以及ε),以便更快地遗忘历史梯度信息,同时提高数值稳定性。如在多次训模实验过程中,逐渐使用了更小的β1和β2(Adam优化器中的参数)值,从[0.9,0.999]修改到了[0.879,0.959],从而解决在实际训模中loss收敛较慢的问题。
其中,在训练过程中,对每个批次的训模关键评价指标CrossEntropyLoss(交叉熵损失函数)、acc(Accuracy,准确率)、mIoU(Mean Intersection over Union,均交并比)等进行分析,反馈当前模型训练效果并再次优化参数,如此循环反馈直至将模型训练到最后一步,得到参数优化后的相应批次的输出模型(可理解为实施例2中的第二中间模型)。最终对Segformer整体模型的损失函数、解码器的准确率、解码器的损失函数、相关类别的mIoU以及模型整体的mIoU进行分析整理,如图9所示,从所有批次中挑选出能实现最优效果的模型(即实施例2中训练完成的Segformer模型),具体的:基于测试集对输出模型进行测试,即在输出各批次的第二中间模型后,还对各第二中间模型进行初步验证,包括:运用像素级语义归纳的手段,将测试集图像带入到可行驶区域、行人、车辆、草地及树木这四个不同的类别中并用标注中的像素值进行指明,即对测试集中每个图像上的每个像素都要做坐标值与像素值的一一配对,然后根据测试集上的标签判定匹配的结果是否正确,然后统计出不同类别的准确率值并和预设准确率进行比较,若某一类的准确率未达标则调整步骤603中的比例大小将训练集的占比增加并人工去除掉极难识别的数据,若全部达标则输出最终的训练完毕模型。
为了便于训练完成的模型的部署,本实施例还包括:
将训练完成的以.pth格式结尾的Segformer模型转换成实际部署效率更高的以.pt格式结尾的Segformer模型。
在实际使用中,所述方法还包括:
对Segformer语义分割模型推理的结果进行后处理操作,利用二值化、形态学开闭操作对得到的掩码图像进行均衡化,并添加伪彩色使各个目标的掩码图像像素更加突出。
将掩码图像与原始图像以2:1的比例进行叠加,得到最终图像,即最终图像=2/3*掩码图像+1/3*原始图像。
在实际使用中,对于步骤602,还存在一种可选的实施方式为:对单张原图,不使用环视拼接,直接对齐进行数据标注后放入模型训练。
在步骤602中,如果采集阶段满足以下几点,则可以相应减少或删除这两步中的内容:1)相机设置:像素高、光圈大、曝光时间短的相机,能够在相同的光照条件下获得更高质量的图像。2)环境设计:优化采集环境,减少不良光照等因素的影响,比如选择采集时间和天气条件合适的时段、在采集地点加装遮阳板、挡风玻璃和防晒网等。3)采集姿态:通过合理的车辆姿态控制,使摄像头更好地捕捉到道路信息,比如保持车辆水平、保持适当的距离和高度等。4)多传感器组合:结合不同传感器的数据,如使用激光雷达等传感器获取更为准确的地图信息,以及通过对多模态数据进行融合以提高预测性能。
在步骤604中,可以考虑采用传统图像处理手段或其它语义分割方法。传统的边缘检测算法通常基于亮度或梯度变化来检测图像边缘,但在复杂的场景中,边缘可能受到光照变化、阴影、纹理等因素的干扰,导致边缘检测的准确性下降。光流法在存在快速运动或纹理缺失的情况下也容易产生错误的光流估计,边缘检测只能提供图像中的边界信息,而无法提供关于不同区域的语义信息。对于可行使区域检测而言,仅仅依靠边缘信息往往难以准确地区分道路、障碍物和其他物体。并且,传统的边缘检测和光流法通常需要调整一些参数,如滤波器的尺寸、梯度阈值等,这些参数的选择对算法的性能影响较大;在不同场景和不同图像上,参数的选择可能不同,需要进行手动调整,使得算法不够自适应和稳定。一些传统的边缘检测算法和光流法在计算上较为复杂,对计算资源的需求较高。这在实时场景下对性能要求较高的应用中可能会造成问题。
改进的Segformer对模型尺寸(SegFormer模型相较于VIT大模型来说,模型尺寸更小,参数量更少)、推理速度(由于SegFormer模型的规模较小,推理速度也更快,适合应用于实时场景中,如自动驾驶)、准确率(采用了一些提高模型准确率的技巧,如DeformableConvolutional Networks、Spatial Attention等)以及泛化能力(SegFormer模型在训练过程中采用了数据增强和正则化等技术,有利于提高模型的泛化能力,使得模型在不同的数据集上都能取得较好的性能)进行综合考虑。
在步骤605中,如果没有对实际硬件的需求,可以直接用python代码进行推理;如果部署硬件的平台不支持.pth格式的模型时,可以将模型转换成其它二进制部署推理格式的模型,如.onnx、.engine、.bin等。将训练完成后的Segformer模型部署到相应设备上,在汽车行驶过程中,使用该设备进行汽车可行驶区域的识别。该识别过程在实施例1中已进行了详述,在此不再赘述。
掩码图像与原始图像的拼接比例并非固定,而是由本领域技术人员根据掩码图像的实际质量和原始图像在HSV色彩空间的成像质量分析得到的。
实施例5:
如图10所示,是本发明实施例的一种用于汽车可行驶区域识别的装置的架构示意图。本实施例的汽车可行驶区域识别装置包括一个或多个处理器21以及存储器22。其中,图10中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图10中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1、实施例3、实施例4中的汽车可行驶区域识别方法或实施例2中的用于汽车可行驶区域识别的深度学习模型构建方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行汽车可行驶区域识别方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1、实施例3、实施例4中的汽车可行驶区域识别方法或实施例2中的用于汽车可行驶区域识别的深度学习模型构建方法。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种汽车可行驶区域识别方法,其特征在于,包括:
使用Segformer模型进行汽车可行驶区域的识别。
2.根据权利要求1所述的汽车可行驶区域识别方法,其特征在于,所述使用Segformer模型进行汽车可行驶区域的识别,具体包括:
对汽车行驶周边的多张环境样本图像进行拼接,得到以车身为中心的鸟瞰图;
对鸟瞰图进行预处理后,输入至训练完成的Segformer模型进行汽车可行驶区域的识别,以识别出可行驶区域。
3.一种用于汽车可行驶区域识别的深度学习模型构建方法,其特征在于,所述深度学习模型为Segformer模型,构建方法包括:
对多张鸟瞰图进行标记,生成训练数据集、验证数据集和测试数据集;
构建初始Segformer模型;
使用所述训练数据集、验证数据集和测试数据集对初始Segformer模型进行训练,得到用于汽车可行驶区域识别的训练完成的Segformer模型。
4.根据权利要求3所述的用于汽车可行驶区域识别的深度学习模型构建方法,其特征在于,所述初始Segformer模型为尺寸居中的MiT-B2模型;
所述MiT-B2模型包括四个编码器、一个解码器和一个输出层;
每个编码器包括多个编码层,在每两个编码层之间还设置有重叠压缩合并层;
所述解码器包括多个解码层和一个上采样层,所述解码层用于使用自注意力机制和跨注意力机制整合不同层级的特征信息,所述上采样层用于将特征图的尺寸增加到与输入图像的尺寸相同;
所述输出层包括一个分类头,所述分类头为由一个线性层函数实现的卷积层,用于将各像素分配至不同的类别。
5.根据权利要求4所述的用于汽车可行驶区域识别的深度学习模型构建方法,其特征在于,所述使用所述训练数据集、验证数据集和测试数据集对初始Segformer模型进行训练,包括:
将所述训练数据集划分为多个批次的训练子集,将验证数据集划分为多个批次的验证子集,将测试数据集划分为多个测试子集;
将每一批次的训练子集和每一批次的验证子集输入至相应批次的第一中间模型中进行训练,以得到相应批次的第二中间模型;其中,以初始Segformer模型作为第一批次的第一中间模型,以上一批次的第二中间模型作为下一批次的第一中间模型;
使用相应批次的测试子集对相应批次的第二中间模型进行测试,得到相应批次的测试结果,根据所有批次的测试结果从所有批次的第二中间模型中选择一个第二中间模型作为训练完成的Segformer模型。
6.根据权利要求5所述的用于汽车可行驶区域识别的深度学习模型构建方法,其特征在于,所述方法还包括:
在训练得到预设数量个第二中间模型后,在后续各第一中间模型的各编码器中添加噪声;
根据所添加噪声的水平,设定相应的学习率,以便于根据添加有噪声的第一中间模型和相应的学习率进行后续批次的训练。
7.根据权利要求5所述的用于汽车可行驶区域识别的深度学习模型构建方法,其特征在于,所述测试结果为各类别的准确率,所述使用相应批次的测试子集对相应批次的第二中间模型进行测试,得到相应批次的测试结果,具体包括:对每一批次的第二中间模型执行以下操作:
将相应批次的测试子集输入至相应批次的第二中间模型,输出预测结果;其中,所述预测结果包括测试子集中每张图像的每个像素的预测类别;
将每个像素的预测类别与标记所得的每个像素的标记类别进行匹配,判断各像素的预测类别是否正确,统计相应批次的第二中间模型在各类别的准确率。
8.根据权利要求7所述的用于汽车可行驶区域识别的深度学习模型构建方法,其特征在于,所述根据所有批次的测试结果从所有批次的第二中间模型中选择一个第二中间模型作为训练完成的Segformer模型,具体包括:
从所有类别的准确率均大于相应预设准确率的第二中间模型中,选择整体准确率最高的第二中间模型作为训练完成的Segformer模型;其中,所述相应第二中间模型的整体准确率由该第二中间模型的各类别的准确率结合预设规则计算得到。
9.根据权利要求3所述的用于汽车可行驶区域识别的深度学习模型构建方法,其特征在于,在使用所述训练数据集、验证数据集和测试数据集对初始Segformer模型进行训练前,所述方法还包括对训练数据集、验证数据集和测试数据集中的图像进行数据增广,具体包括:
将训练数据集和验证数据集中的图像进行缩放,使缩放后图像的长度和宽度分别为2×m1×k和m2×k;其中,m1为图像的长度,m2为图像的宽度,k为预设缩放系数;
对缩放后的图像进行裁剪,使裁剪后图像恢复缩放前的图像大小,并对图像进行翻转;其中,对缩放后的图像进行裁剪的比例不超出预设裁剪比例;
还对图像的亮度、对比度、饱和度和色调进行调整,和对图像进行色彩空间转换。
10.一种用于汽车可行驶区域识别的装置,其特征在于,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行权利要求1-2任一所述的汽车可行驶区域识别方法或3-9任一所述的用于汽车可行驶区域识别的深度学习模型构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311143128.9A CN117058657B (zh) | 2023-09-05 | 2023-09-05 | 汽车可行驶区域识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311143128.9A CN117058657B (zh) | 2023-09-05 | 2023-09-05 | 汽车可行驶区域识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117058657A true CN117058657A (zh) | 2023-11-14 |
CN117058657B CN117058657B (zh) | 2024-09-06 |
Family
ID=88666297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311143128.9A Active CN117058657B (zh) | 2023-09-05 | 2023-09-05 | 汽车可行驶区域识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117058657B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492556A (zh) * | 2018-10-28 | 2019-03-19 | 北京化工大学 | 面向小样本残差学习的合成孔径雷达目标识别方法 |
US20210089878A1 (en) * | 2019-09-20 | 2021-03-25 | International Business Machines Corporation | Bayesian nonparametric learning of neural networks |
CN113196304A (zh) * | 2018-12-19 | 2021-07-30 | 微软技术许可有限责任公司 | 用于训练dnn的缩放学习 |
CN113468592A (zh) * | 2021-06-15 | 2021-10-01 | 武汉理工大学 | 一种基于深度学习的差分隐私保护方法及装置 |
CN114663397A (zh) * | 2022-03-22 | 2022-06-24 | 小米汽车科技有限公司 | 可行驶区域的检测方法、装置、设备及存储介质 |
CN116363587A (zh) * | 2023-03-24 | 2023-06-30 | 大连海事大学 | 一种用于在道路监控视频中检测车辆异常行为的方法 |
-
2023
- 2023-09-05 CN CN202311143128.9A patent/CN117058657B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109492556A (zh) * | 2018-10-28 | 2019-03-19 | 北京化工大学 | 面向小样本残差学习的合成孔径雷达目标识别方法 |
CN113196304A (zh) * | 2018-12-19 | 2021-07-30 | 微软技术许可有限责任公司 | 用于训练dnn的缩放学习 |
US20210089878A1 (en) * | 2019-09-20 | 2021-03-25 | International Business Machines Corporation | Bayesian nonparametric learning of neural networks |
CN113468592A (zh) * | 2021-06-15 | 2021-10-01 | 武汉理工大学 | 一种基于深度学习的差分隐私保护方法及装置 |
CN114663397A (zh) * | 2022-03-22 | 2022-06-24 | 小米汽车科技有限公司 | 可行驶区域的检测方法、装置、设备及存储介质 |
CN116363587A (zh) * | 2023-03-24 | 2023-06-30 | 大连海事大学 | 一种用于在道路监控视频中检测车辆异常行为的方法 |
Non-Patent Citations (4)
Title |
---|
ENZE XIE等: "SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers", ARXIV:2105.15203V3, 28 October 2021 (2021-10-28), pages 1 - 18 * |
QING ZHANG ETAL.: "Noisy Supervised Deep Learning for Remote Sensing Image Segmentation Using Electronic Maps", IEEE GEOSCIENCE AND REMOTE SENSING LETTERS, vol. 20, 13 June 2023 (2023-06-13), pages 1 - 5 * |
吴庆等: "基于点云鸟瞰图的实时车辆目标检测", 汽车技术, no. 9, 10 May 2023 (2023-05-10), pages 35 - 42 * |
牛玉珩等: "基于改进SegFormer模型的棉田地表残膜图像分割方法", 计算机与现代化, no. 7, 31 July 2023 (2023-07-31), pages 93 - 98 * |
Also Published As
Publication number | Publication date |
---|---|
CN117058657B (zh) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111046880B (zh) | 一种红外目标图像分割方法、系统、电子设备及存储介质 | |
CN110956094B (zh) | 一种基于非对称双流网络的rgb-d多模态融合人员检测方法 | |
CN110399856B (zh) | 特征提取网络训练方法、图像处理方法、装置及其设备 | |
CN108694386B (zh) | 一种基于并联卷积神经网络的车道线检测方法 | |
CN111915526A (zh) | 一种基于亮度注意力机制低照度图像增强算法的摄影方法 | |
CN110310241B (zh) | 一种融合深度区域分割的多大气光值交通图像去雾方法 | |
CN114782412B (zh) | 图像检测方法、目标检测模型的训练方法及装置 | |
CN114581887B (zh) | 车道线的检测方法、装置、设备和计算机可读存储介质 | |
CN112749654A (zh) | 一种用于视频大雾监测的深度神经网络模型构建方法、系统及装置 | |
CN110633633B (zh) | 一种基于自适应阈值的遥感影像道路提取方法 | |
CN112465735B (zh) | 行人检测方法、装置及计算机可读存储介质 | |
CN112686252A (zh) | 一种车牌检测方法和装置 | |
CN112819858B (zh) | 基于视频增强的目标跟踪方法、装置、设备及存储介质 | |
CN114037640A (zh) | 图像生成方法及装置 | |
Cheng et al. | A highway traffic image enhancement algorithm based on improved GAN in complex weather conditions | |
CN115965934A (zh) | 一种停车位检测方法及装置 | |
CN115311508A (zh) | 一种基于深度u型网络的单帧图像红外弱小目标检测方法 | |
CN113177956B (zh) | 一种面向无人机遥感影像的语义分割方法 | |
CN111160282B (zh) | 一种基于二值化Yolov3网络的红绿灯检测方法 | |
CN117058657B (zh) | 汽车可行驶区域识别方法和装置 | |
CN115035429A (zh) | 一种基于复合主干网络和多预测头的航拍目标检测方法 | |
CN114565597A (zh) | 一种基于YOLOv3-tiny-DB和迁移学习的夜间道路行人检测方法 | |
Huang et al. | Deep-learning rain detection and Wiper control featuring Gaussian extraction | |
CN118366065B (zh) | 一种基于高度信息的无人机影像车辆检测方法及系统 | |
CN117994625B (zh) | 基于毫米波雷达的特征融合能见度评估方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |