CN116740119A - 一种基于深度学习的烟叶图像活动轮廓分割方法 - Google Patents
一种基于深度学习的烟叶图像活动轮廓分割方法 Download PDFInfo
- Publication number
- CN116740119A CN116740119A CN202310681401.7A CN202310681401A CN116740119A CN 116740119 A CN116740119 A CN 116740119A CN 202310681401 A CN202310681401 A CN 202310681401A CN 116740119 A CN116740119 A CN 116740119A
- Authority
- CN
- China
- Prior art keywords
- image
- tobacco leaf
- model
- segmentation
- leaf 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.)
- Pending
Links
- 235000002637 Nicotiana tabacum Nutrition 0.000 title claims abstract description 120
- 230000011218 segmentation Effects 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013135 deep learning Methods 0.000 title claims abstract description 24
- 244000061176 Nicotiana tabacum Species 0.000 title 1
- 241000208125 Nicotiana Species 0.000 claims abstract description 119
- 238000012549 training Methods 0.000 claims abstract description 33
- 238000003709 image segmentation Methods 0.000 claims abstract description 14
- 238000011176 pooling Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 7
- 230000004927 fusion Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 6
- 238000002372 labelling Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000002360 preparation method Methods 0.000 claims description 3
- 238000004321 preservation Methods 0.000 claims description 3
- 238000005096 rolling process Methods 0.000 claims description 3
- 238000012935 Averaging Methods 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 claims description 2
- 230000017105 transposition Effects 0.000 claims 1
- 230000007547 defect Effects 0.000 abstract 1
- 238000005520 cutting process Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000004898 kneading Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 235000019505 tobacco product Nutrition 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/149—Segmentation; Edge detection involving deformable models, e.g. active contour models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- 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/40—Extraction of image or video features
- G06V10/52—Scale-space analysis, e.g. wavelet analysis
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
- G06V10/765—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
-
- 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/771—Feature selection, e.g. selecting representative features from a multi-dimensional feature space
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于深度学习的烟叶图像活动轮廓分割方法,包括以下步骤:获取原始烟叶图像,对其进行图像预处理;基于Pytorch框架构建烟叶图像的分割模型;对烟叶图像的分割模型进行训练;将预处理后的新烟叶图像输入到建立好的烟叶图像的分割模型中,分别输出对应的分割结果,即得到烟叶和非烟叶的图像区域,实现活动轮廓分割。本发明使用基于深度学习的烟叶活动轮廓分割方法可以克服传统方法的不足,能够充分利用烟叶图像信息,学习到更复杂、抽象的特征,得到更好的分割性能。
Description
技术领域
本发明涉及深度学习图像分割,特别是一种基于深度学习的烟叶图像活动轮廓分割方法。
背景技术
烟叶分割是烟草生产过程中的重要环节之一,其目的是将烟叶按照不同的品种、等级、用途等要求进行分类和加工,以保证烟草制品的质量和口感。当前,烟叶分割技术已经发展到了较为成熟的阶段,主要包括了机械分割和人工分割两种方式。机械分割是利用机械设备将烟叶进行分割,按照切割方式的不同可分为切刀式、压缩式、撕裂式、旋转式和冲击式等几种方法。机械分割的优点是工作效率高、分割精度高、生产成本低等,但其局限性也比较明显,对于较柔软或含水率较高的烟叶容易形成堵塞或卡住机器等问题,同时也容易产生烤成不均匀、布局不合理等问题。人工分割是指利用人工对烟叶进行手工分割,按照操作方式可以分为刀割式、手揉式、手捻式和手掐式等几种方式。人工分割的优点是可根据烟叶的质地和根据制作经验进行相应的加工,保证了烟叶的整体质量,与此同时,人工分割的成本较高,工作效率也不如机械分割高。与此同时,随着科技的不断发展,在烟叶分割方面也涌现出了一些新的研究成果,利用深度学习技术对烟叶图像进行分割,是提高烟叶分割的效率、精度和质量的有效方法。
烟叶图像分割是将数字图像中的烟叶部分从其它的背景部分分离出来,这是烟草加工中非常重要的步骤。烟叶图像分割技术的好坏直接影响到烟草行业的生产效率和产品质量。由于烟草生产中需要对烟叶进行各种繁琐、高精度操作,如分级、制丝、包装等,因此,烟叶图像分割技术的准确度、速度和稳定性是至关重要的。目前,烟叶图像分割技术已经有了很多研究和应用。传统的烟叶图像分割技术包括基于统计学、颜色模型、边缘检测、特征提取等方法。但是,这些方法存在一些缺陷,如输入图像大小有一定的限制、无法处理复杂的图像背景、分割精度较低、分割速度慢等问题。
发明内容
发明目的:本发明的目的是提供一种基于深度学习的烟叶图像活动轮廓分割方法,使得分割模型能够处理任意大小的输入图像,自动提取图像中的高级特征,处理各种形状、尺寸和背景的烟叶图像,从而有效提高烟叶图像分割的精度、速度和准确性。
技术方案:本发明所述的一种基于深度学习的烟叶图像活动轮廓分割方法,包括以下步骤:
S1、获取原始烟叶图像,对其进行图像预处理;
S1.1、获取原始烟叶图像,对其进行图像预处理,获得更准确的图像数据,再将预处理后的图像随机分为训练集、验证集和测试集;所述的图像预处理包括图像增强、归一化、裁剪、去除噪声。
S1.2、对烟叶图像进行标注:利用Labeling工具手动对烟叶图像进行标注,分割目标分为烟叶区域和非烟叶区域两类。
S2、基于Pytorch框架构建烟叶图像的分割模型:基于改进SegNet算法的模型,用于对烟叶图像进行分割。
所述的改进SegNet算法的模型分为Encoder、Bottleneck、Decoder和Softmax层;
Encoder使用ResNet网络,对图像进行特征提取、下采样和参数拟合;在ResNet网络中添加批量归一化层来加速ResNet网络的收敛,减少过拟合,能够更有效的对图像特征进行提取,在ResNet网络的卷积层中使用空洞卷积来扩大感受野,在各个层之间经过残差连接,防止梯度消失和坍塌问题;在U-Net网络中引入skip connection,即跳跃连接,主要用于解决梯度消失问题,其结构通常是将神经网络的某一层(或多层)的输入直接连接到网络的后续层,以便输入信号能够跳过一些卷积或全连接层,直接传到网络的最后一层或输出;U-Net网络中引入skip connection,可以将编码器中较低层的特征图与解码器中对应的较高层特征图相连接,实现更好的特征融合,避免上采样过程中导致信息丢失的问题。
Bottleneck包括FPN结构和PAN结构,用于连接Encoder和Decoder,并将Encoder中提取的图像特征图转换为Decoder需要的低分辨率特征图。
Decoder使用U-Net网络,用于对图像进行上采样、参数拟合、尺寸匹配、特征融合和分类和预测。
Softmax层作为激活函数,用于将Decoder产生的特征图进行像素级别的分类,得到每个像素点属于不同类别的概率分布。
S3、对烟叶图像的分割模型进行训练;
S3.1、数据准备:获取步骤S1中预处理过的标注烟叶图像数据集;
S3.2、定义数据加载器:使用PyTorch的DataLoader对标注烟叶图像数据集进行加载;
S3.3、定义模型结构:根据改进SegNet算法模型的结构,在PyTorch中定义分割模型;
S3.4、定义交叉熵损失函数:
L(f,h)=-1/N*sumi(sumj[hi,j*log fij+(1-hij)*log(1-fij)])
其中,fij表示SegNet模型预测类别为正类的概率,hij为标注图像中该像素的真实类别,N表示烟叶图像中所有像素的总数;
S3.5、定义优化器:使用PyTorch的SGD优化器来训练模型;
S3.6、定义超参数:定义学习率、训练轮数、批量大小等超参数进行模型训练;
S3.7、训练模型:使用PyTorch的训练函数,开始训练模型,通过记录训练损失和验证损失来监测训练模型的进展;
S3.8、进行模型验证:通过测试数据集,验证模型的效果,使用IoU作为计算分割准确性和绘制预测结果方法来进行模型验证;
S3.9、模型保存:将模型保存下来,以便后续的测试和使用。
S4、将预处理后的新烟叶图像输入到建立好的分割模型中,分别输出对应的分割结果,即得到烟叶和非烟叶的图像区域,实现活动轮廓分割。
S4.1、加载模型:将已训练好的分割模型加载到内存中;
S4.2、加载图像数据:将需要分割的烟叶图像加载到内存中,对图像进行预处理,使其符合分割模型的输入要求;
S4.3、图像分割:将预处理后的新烟叶图像输入到分割模型中,得到分割结果;
S4.3.1、将预处理后的新烟叶图像输入ResNet网络进行卷积和池化操作,并输出为C3×H/32×W/32的特征图,C表示通道数,即特征图的深度,H表示高度,W表示宽度;
S4.3.2、通过四个stage(即stage1~stage4)对特征进行提取和下采样,其中每个stage中都含有多个卷积模块(Convolutional Block)和恒等模块(Identity Block);
S4.3.3、将stage4的输出特征图经过全局平均池化操作得到一个2048维向量表示的图像特征,该向量能够表示为:
其中,H和W分别表示原始图像的高度和宽度;
将经过ResNet网络的提取的特征向量h输入到Bottleneck网络中,进行如下操作:
hout=Decoder(Encoder(hin)⊙FPN/PAN(Encoder(hin))
其中,Encoder(hin)表示从Encoder中提取的特征图,FPN/PAN(Encoder(hin))表示Bottleneck操作将不同尺度的Encoder特征图融合后得到的特征图,⊙表示特征图乘法操作,Decoder表示解码器用来将高分辨率的特征图转换为低分辨率的特征图,hout和hout分别表示输入图像和输出特征图;
通过上述公式,Bottleneck结构将Encoder中提取的特征图融合并转换为Decoder需要的低分辨率特征图,从而协调Encoder和Decoder之间的信息流,提高模型的性能和精度;
利用U-Net网络将输入的图像特征h在反卷积层进行反卷积操作,得到分割结果g;反卷积表示为H(x),x是反卷积的输入参数,H是反卷积操作;
g=decoder(H(h)),在反卷积的过程中,通常使用转置卷积(transposeconvolution)来实现;
g=W(H(h))+b,其中,W表示反卷积操作的权重矩阵,b为偏置项;
具体而言,转置卷积的实现表示为:
gi,j,k表示反卷积(转置卷积)生成的特征图g在第i行、第j列、第k个通道的像素值;
表示对三个变量r、s、t进行求和;该公式用于计算特征图g在第i行、第j列、第k个通道的像素值,需要对反卷积核的每个权值Wr,s,t,j,k和上一层特征图的部分像素值hi+r-1,j+s-1,t进行加权叠加,完成反卷积操作;
Wr,s,t,j,k表示反卷积核的权值,r、s、t分别表示反卷积核在第一个、第二个和第三个维度上的位置,j、k分别表示反卷积核的输入和输出通道数;
hi+r-1,j+s-1,t表示上一层特征图在转置卷积操作之后,对反卷积核进行卷积操作时使用的像素值,i、j、t分别表示上一层特征图在第一个、第二个和第三个维度上的位置,r、s分别表示反卷积核在第一个和第二个维度上的位置。需要注意的是,在计算位置时需要将r、s调整到和反卷积核中心像素重合的位置(即:r+s-1=i+r-1+1=j+s-1+1),这样能够避免对目标区域产生贡献的位置产生重复计算;
bk表示反卷积操作的偏置项,与卷积操作中的偏置项作用类似。
S4.4、结果输出:将分割结果保存到磁盘上或在界面上展示出来。
一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的一种基于深度学习的烟叶图像活动轮廓分割方法。
一种计算机设备,包括储存器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的一种基于深度学习的烟叶图像活动轮廓分割方法。
有益效果:与现有技术相比,本发明具有如下优点:
1、本发明采用深度学习、图像分割技术,对烟叶图像进行分割,提高了图像分割的准确性和速度;
2、烟叶图像分割模型采用基于改进SegNet算法模型,利用ResNet网络作为Encoder,U-Net网络作为Decoder,具备了更好的特征提取能力、信息传递机制和抑制过拟合能力;
3、传统的分割方法需要对图像进行繁杂的预处理和手动选取特征,而本发明所述方法基于深度学习,大大降低了操作难度和工作量;
4、本发明使用能够自动学习图像的特征并分割出烟叶图像的活动轮廓,能够充分利用烟叶图像信息,学习到更复杂、抽象的特征,得到更好的分割性能。
附图说明
图1为本发明所述方法的步骤流程图;
图2为本发明实施例中基于改进SegNet算法模型的结构示意图;
图3为ResNet网络的结构示意图;
图4为U-Net网络的结构示意图。
具体实施方式
下面结合附图对本发明的技术方案作进一步说明。
如图1所示,一种基于深度学习的烟叶图像活动轮廓分割方法,包括以下步骤:
S1、获取原始烟叶图像,对其进行图像预处理,具体为:
S1.1、获取原始烟叶图像,对其进行图像预处理,包括图像增强、归一化、裁剪、去除噪声等操作,获得更准确的图像数据,再将预处理后的图像随机分为训练集、验证集和测试集。
S1.2、对烟叶图像进行标注,具体为:利用Labeling工具手动对烟叶图像进行标注,分割目标分为两类:烟叶区域和非烟叶区域。
S2、基于Pytorch框架构建烟叶图像的分割模型。
采用Pytorch框架构建基于改进SegNet算法的烟叶分割模型,SegNet网络结构如图2所示,利用基于改进SegNet算法的神经网络用于对烟叶图像进行分割,具体为:
ResNet网络作为Encoder,对图像进行特征提取、下采样和参数拟合,具体为:
ResNet网络结构如图3所示,与许多其他卷积神经网络中采用的“堆叠层”方式不同,ResNet通过使用残差块(residual block)的方式来建立深层网络;在残差块中,输入特征映射通过跨层连接(shortcut connection)传递到网络另一侧,使得特征可以直接跳过某些层而得到保留,避免了梯度消失的问题;SegNet网络的Encoder部分采用ResNet网络,这可以有效地提取输入图像的特征,具体为:
特征提取具体为:
从输入图像中提取出不同级别的特征,以捕捉不同尺度、不同语义的图像信息。通常采用的方法是使用不同大小的卷积核分别对输入图像进行卷积操作,得到不同尺度和不同语义的特征图,然后将这些特征图在一个多分支的网络中进行融合,最终得到更为全面和丰富的特征表示。具体公式可以表示为:
F1=Conv(x,w1)
F2=Conv(x,w2)
...
Fn=Conv(x,wn)
F=Concat(F1,F2,...,Fn)
其中,x为输入图像,wi为不同大小的卷积核权重,Conv(.,.)表示卷积操作,Concat(.,.)表示多个特征图的拼接操作,F表示最终的特征表示
下采样具体为:
对提取出的特征图进行双线性插值,其具体为:
基于像素之间的线性插值,对目标图片进行放缩。假设目标图像为F,其宽高分别为w和h;原图像为G,其宽高分别为m和n。在目标图像上任意一点(x,y)处的像素值我们可以通过如下公式计算:
其中G(xi,yj)表示原图像上距离(x,y)最近的一个像素点的灰度值,w(x)表示插值函数,通常使用线性函数,其表达式为:
参数拟合具体为:
通过卷积、池化等操作对特征进行多个卷积和池化层的处理,以对特征进行进一步的抽象与综合,从而进一步强化特征的表征能力。在每个卷积层或池化层结束时,都会生成一个对应的特征图,作为下一层操作的输入。
Bottleneck网络包括FPN结构和PAN结构,用于连接Encoder和Decoder,并将Encoder中提取的图像特征图转换为Decoder需要的低分辨率特征图;
Bottleneck FPN结构具体为:
是在原始FPN结构的基础上进行改进,通过在每个FPN层中添加一个3x3的卷积层和一个Bottleneck块来增强特征表示能力。这个Bottleneck块包含一个1x1的卷积层用于降低通道数,并使用Stride=2的步幅对输入进行下采样,然后使用2个3x3的卷积层进行特征图升采样和通道数的增加,最后再与上一层的特征图进行融合。
PAN结构是由多个特征金字塔合并而成的一种网络结构。在PAN结构中,先对输入图像进行下采样,然后将这些下采样的特征图输入到多个不同的FPN中进行特征金字塔构建。接下来,通过PANet模块将多个FPN中的特征图进行特征融合,使得多尺度的特征信息能够共同用于物体检测和分割任务。
Decoder使用U-Net网络,用于对图像进行上采样、参数拟合、尺寸匹配、特征融合和分类和预测,具体为:
U-Net网络如图4所示,这里的卷积层是转置卷积层,用于上采样特征图,将其恢复成原始图像的尺寸,在每个转置卷积层前还有一个ReLU激活函数和一个BatchNormalization批归一化层。
在进行上采样之前,SegNet网络结构还要进行反池化(unpooling)操作,这个操作是将池化(pooling)时记录的最大值位置提取出来,新增加的像素值设为1,其他的为0,然后将其放回原始特征图的对应位置。这样做可以恢复特征图的空间信息,保留细节。
上采样具体为:
对编码器中经过下采样操作所得到的特征图进行最大池化(Max Pooling),还原特征图的尺寸,使其与原始图像具有相同的大小,具体为:
最大池化是指在输入的特征图上,选取每个小区域内的最大值作为该小区域的输出。
其中,pool(m,n)表示在位置(m,n)处特征图的值,Ri,j表示以(i,j)为中心的小区域,outi,j是经过池化后的输出特征图的(i,j)处的值。
参数拟合具体为:
与Encoder部分相似,Decoder部分也由多个卷积层和池化层组成,这些层的作用是对特征进行进一步的抽象和综合,以便更好地还原原始图像中的语义信息。设输入特征向量为y,i为当前层的编号,xi表示第i层的输出,wi为卷积核权重,bi为偏置项,则Decoder部分的计算可以用以下公式表述:
x1=g1(y)
xi=gi(xi-1)=f(wixi-1+bi)
其中f为激活函数,i=2,3,...,n,n为Decoder的总层数。
尺寸匹配具体为:
输入的特征图和Decoder进行卷积后得到的特征图的维度可能不匹配,1x1卷积将通道数进行调整,常用于将大通道数的特征图进行压缩,或者让多个特征图在通道维度上进行拼接,以便进行特征融合操作。假设输入特征图为卷积层的卷积核大小为1x1,输出特征图为/>则可以使用下列公式表示1x1卷积操作:
其中,wk,c∈R表示卷积核中的权重,i=1,2,...H,j=1,2,...W,k=1,2,...C2,C1和C2分别表示输入特征图和输出特征图的通道数。该公式的含义是将输入特征图中不同通道之间的像素值进行加权平均,得到输出特征图中对应位置和通道的像素值。
特征融合具体为:
将Encoder中特征提取的语义信息和Decoder还原出的图像特征进行拼接、叠加等操作,使得网络能够更好地还原原始图像的语义信息。假设特征提取的语义信息为z,Decoder还原出的图像特征为x,则将二者拼接成一个特征向量y=[z;x],并通过一些中间层的全连接层和激活函数进行加工和转换,得到最终的还原图像的特征。具体公式可以表示为:
h1=f(W1y+b1)
h2=f(W2y+b2)
...
hn=f(Wnhn-1+bn)
其中,Wi和bi表示第i层全连接层的权重和偏置项,f表示激活函数,hn表示最终输出的特征向量。
分类和预测具体为:
在最后一层卷积层中,该层的卷积核数量等于类别数目,通过卷积操作实现对每个像素的分类和预测。其中M为卷积核大小,wj为卷积核权重,xi+j-M/2为输入数据中对应的像素值,bi为偏置项,yi为第i个输出结果,最终通过softmax函数将输出结果转换为概率分布进行分类预测。
Softmax层作为激活函数,用于将Decoder产生的特征图进行像素级别的分类,得到每个像素点属于不同类别的概率分布,具体为:
SegNet网络的Decoder结构产生的特征图被送入一层Softmax层,用于将每个像素点的特征向量转化为对应的概率分布。在这个过程中,Softmax层会对特征向量进行指数运算,然后对每个像素点的指数结果进行归一化,得到对不同类别的置信度分布。这样就可以将每个像素点分配到最可能的类别中。
S3、对烟叶图像的分割模型进行训练,具体为:
S3.1、数据准备:获取步骤S1中预处理过的标注烟叶图像数据集;
S3.2、定义数据加载器:使用PyTorch的DataLoader对标注烟叶图像数据集进行加载;
S3.3、定义模型结构:根据改进SegNet算法模型的结构,在PyTorch中定义分割模型;
S3.4、定义交叉熵损失函数,具体为:
L(f,h)=-1/N*sumi(sumj[hi,j*log fij+(1-hij)*log(1-fij)])
其中,fij表示SegNet模型预测类别为正类的概率,hij为标注图像中该像素的真实类别,N表示烟叶图像中所有像素的总数。
S3.5、定义优化器:使用PyTorch的SGD优化器来训练模型,具体为:
PyTorch中的SGD优化器(Stochastic Gradient Descent)是一种基于随机梯度下降算法的优化器,用于更新模型的参数使其能够更好地拟合训练数据。具体而言,SGD优化器在每个训练迭代中根据当前的梯度计算出下一次的参数值,从而逐渐使模型的损失函数最小化。
S3.6、定义超参数:定义学习率、训练轮数、批量大小等超参数进行模型训练;
S3.7、训练模型:使用PyTorch的训练函数,开始训练模型。可以通过记录训练损失和验证损失来监测训练模型的进展。
S3.8、进行模型验证:通过测试数据集,验证模型的效果。使用IoU作为计算分割准确性和绘制预测结果方法来进行模型验证。
S3.9、模型保存:将模型保存下来,方便后续的测试和使用。
S4、将预处理后的新烟叶图像输入到建立好的分割模型中,分别输出对应的分割结果,即得到烟叶和非烟叶的图像区域,实现活动轮廓分割,具体为:
S4.1、加载模型:将已训练好的分割模型加载到内存中;
S4.2、加载图像数据:将需要分割的烟叶图像加载到内存中,对图像进行预处理,使其符合分割模型的输入要求;
S4.3、图像分割:将预处理后的新烟叶图像输入到分割模型中,得到分割结果,具体为:
S4.3.1、将预处理后的新烟叶图像输入ResNet网络进行卷积和池化操作,并输出为C3×H/32×W/32的特征图;
C表示通道数(即特征图的深度),H表示高度,W表示宽度;
S4.3.2、通过四个stage(即stage1~stage4)对特征进行提取和下采样,其中每个stage中都含有多个卷积模块(Convolutional Block)和恒等模块(Identity Block)。
S4.3.3、将stage4的输出特征图经过全局平均池化操作得到一个2048维向量表示的图像特征;
该向量可以表示为:
其中,H和W分别表示原始图像的高度和宽度;
将经过ResNet网络的提取的特征向量h输入到Bottleneck网络中,进行如下操作;
hout=Decoder(Encoder(hin)⊙FPN/PAN(Encoder(hin))
其中,Encoder(hin)表示从Encoder中提取的特征图,FPN/PAN(Encoder(hin))表示Bottleneck操作将不同尺度的Encoder特征图融合后得到的特征图,⊙表示特征图乘法操作,Decoder表示解码器用来将高分辨率的特征图转换为低分辨率的特征图,hout和hout分别表示输入图像和输出特征图。通过这个公式,Bottleneck结构能够将Encoder中提取的特征图融合并转换为Decoder需要的低分辨率特征图,从而协调Encoder和Decoder之间的信息流,提高模型的性能和精度。
再利用U-Net网络将输入的图像特征h在反卷积层进行反卷积操作,得到分割结果g;反卷积可表示为H(x),x是反卷积的输入参数,H是反卷积操作;
g=decoder(H(h))
在反卷积的过程中,我们通常使用转置卷积(transpose convolution)来实现。转置卷积是卷积操作的一种逆操作,将输入特征图通过插空的方式,扩展到更高的维度。
g=W(H(h))+b
其中,W表示反卷积操作的权重矩阵,b为偏置项。
具体而言,转置卷积的实现可以表示为:
gi,j,k表示反卷积(转置卷积)生成的特征图g在第i行、第j列、第k个通道的像素值。
表示对三个变量r、s、t进行求和。该公式用于计算特征图g在第i行、第j列、第k个通道的像素值,需要对反卷积核的每个权值Wr,s,t,j,k和上一层特征图的部分像素值hi+r-1,j+s-1,t进行加权叠加,完成反卷积操作。
Wr,s,t,j,k表示反卷积核的权值,r、s、t分别表示反卷积核在第一个、第二个和第三个维度上的位置,j、k分别表示反卷积核的输入和输出通道数。
hi+r-1,j+s-1,t表示上一层特征图在转置卷积操作之后,对反卷积核进行卷积操作时使用的像素值,i、j、t分别表示上一层特征图在第一个、第二个和第三个维度上的位置,r、s分别表示反卷积核在第一个和第二个维度上的位置。需要注意的是,在计算位置时需要将r、s调整到和反卷积核中心像素重合的位置(即:r+s-1=i+r-1+1=j+s-1+1),这样可以避免对目标区域产生贡献的位置产生重复计算。
bk表示反卷积操作的偏置项,与卷积操作中的偏置项作用类似。
S4.4、结果输出:将分割结果保存到磁盘上或在界面上展示出来。
Claims (10)
1.一种基于深度学习的烟叶图像活动轮廓分割方法,其特征在于,包括以下步骤:
S1、获取原始烟叶图像,对其进行图像预处理;
S2、基于Pytorch框架构建烟叶图像的分割模型;
S3、对烟叶图像的分割模型进行训练;
S4、将预处理后的新烟叶图像输入到建立好的分割模型中,分别输出对应的分割结果,即得到烟叶和非烟叶的图像区域,实现活动轮廓分割。
2.根据权利要求1所述的一种基于深度学习的烟叶图像活动轮廓分割方法,其特征在于,所述步骤S1具体为:
S1.1、获取原始烟叶图像,对其进行图像预处理,获得更准确的图像数据,再将预处理后的图像随机分为训练集、验证集和测试集;
S1.2、对烟叶图像进行标注:利用Labeling工具手动对烟叶图像进行标注,分割目标分为烟叶区域和非烟叶区域两类。
3.根据权利要求2所述的一种基于深度学习的烟叶图像活动轮廓分割方法,其特征在于,所述的图像预处理包括图像增强、归一化、裁剪、去除噪声。
4.根据权利要求1所述的一种基于深度学习的烟叶图像活动轮廓分割方法,其特征在于,步骤S2中具体为:基于改进SegNet算法的模型,用于对烟叶图像进行分割。
5.根据权利要求4所述的一种基于深度学习的烟叶图像活动轮廓分割方法,其特征在于,所述的改进SegNet算法的模型分为Encoder、Bottleneck、Decoder和Softmax层;
Encoder使用ResNet网络,对图像进行特征提取、下采样和参数拟合;
Bottleneck包括FPN结构和PAN结构,用于连接Encoder和Decoder,并将Encoder中提取的图像特征图转换为Decoder需要的低分辨率特征图;
Decoder使用U-Net网络,用于对图像进行上采样、参数拟合、尺寸匹配、特征融合和分类和预测;
Softmax层作为激活函数,用于将Decoder产生的特征图进行像素级别的分类,得到每个像素点属于不同类别的概率分布。
6.根据权利要求1所述的一种基于深度学习的烟叶图像活动轮廓分割方法,其特征在于,所述步骤S3具体为:
S3.1、数据准备:获取步骤S1中预处理过的标注烟叶图像数据集;
S3.2、定义数据加载器:使用PyTorch的DataLoader对标注烟叶图像数据集进行加载;
S3.3、定义模型结构:根据改进SegNet算法模型的结构,在PyTorch中定义分割模型;
S3.4、定义交叉熵损失函数:
L(f,h)=-1/N*sumi(sumj[hi,j*log fij+(1-hij)*log(1-fij)])
其中,fij表示SegNet模型预测类别为正类的概率,hij为标注图像中该像素的真实类别,N表示烟叶图像中所有像素的总数;
S3.5、定义优化器:使用PyTorch的SGD优化器来训练模型;
S3.6、定义超参数:定义学习率、训练轮数、批量大小等超参数进行模型训练;
S3.7、训练模型:使用PyTorch的训练函数,开始训练模型,通过记录训练损失和验证损失来监测训练模型的进展;
S3.8、进行模型验证:通过测试数据集,验证模型的效果,使用IoU作为计算分割准确性和绘制预测结果方法来进行模型验证;
S3.9、模型保存:将模型保存下来,以便后续的测试和使用。
7.根据权利要求1所述的一种基于深度学习的烟叶图像活动轮廓分割方法,其特征在于,所述步骤S4具体为:
S4.1、加载模型:将已训练好的分割模型加载到内存中;
S4.2、加载图像数据:将需要分割的烟叶图像加载到内存中,对图像进行预处理,使其符合分割模型的输入要求;
S4.3、图像分割:将预处理后的新烟叶图像输入到分割模型中,得到分割结果;
S4.4、结果输出:将分割结果保存到磁盘上或在界面上展示出来。
8.根据权利要求7所述的一种基于深度学习的烟叶图像活动轮廓分割方法,其特征在于,所述步骤S4.3具体为:
S4.3.1、将预处理后的新烟叶图像输入ResNet网络进行卷积和池化操作,并输出为C3×H/32×W/32的特征图,C表示通道数,即特征图的深度,H表示高度,W表示宽度;
S4.3.2、通过四个stage对特征进行提取和下采样,其中每个stage中都含有多个卷积模块和恒等模块;
S4.3.3、将stage4的输出特征图经过全局平均池化操作得到一个2048维向量表示的图像特征,该向量能够表示为:
其中,H和W分别表示原始图像的高度和宽度;
将经过ResNet网络的提取的特征向量h输入到Bottleneck网络中,进行如下操作:
hout=Decoder(Encoder(hin)⊙FPN/PAN(Encoder(hin))
其中,Encoder(hin)表示从Encoder中提取的特征图,FPN/PAN(Encoder(hin))表示Bottleneck操作将不同尺度的Encoder特征图融合后得到的特征图,⊙表示特征图乘法操作,Decoder表示解码器用来将高分辨率的特征图转换为低分辨率的特征图,hout和hout分别表示输入图像和输出特征图;
通过上述公式,Bottleneck结构将Encoder中提取的特征图融合并转换为Decoder需要的低分辨率特征图,从而协调Encoder和Decoder之间的信息流,提高模型的性能和精度;
利用U-Net网络将输入的图像特征h在反卷积层进行反卷积操作,得到分割结果g;反卷积表示为H(x),x是反卷积的输入参数,H是反卷积操作;
g=decoder(H(h)),在反卷积的过程中,通常使用转置卷积来实现;
g=W(H(h))+b,其中,W表示反卷积操作的权重矩阵,b为偏置项;
具体而言,转置卷积的实现表示为:
gi,j,k表示反卷积生成的特征图g在第i行、第j列、第k个通道的像素值;表示对三个变量r、s、t进行求和;该公式用于计算特征图g在第i行、第j列、第k个通道的像素值,需要对反卷积核的每个权值Wr,s,t,j,k和上一层特征图的部分像素值hi+r-1,j+s-1,t进行加权叠加,完成反卷积操作;
Wr,s,t,j,k表示反卷积核的权值,r、s、t分别表示反卷积核在第一个、第二个和第三个维度上的位置,j、k分别表示反卷积核的输入和输出通道数;
hi+r-1,j+s-1,t表示上一层特征图在转置卷积操作之后,对反卷积核进行卷积操作时使用的像素值,i、j、t分别表示上一层特征图在第一个、第二个和第三个维度上的位置,r、s分别表示反卷积核在第一个和第二个维度上的位置;
bk表示反卷积操作的偏置项,与卷积操作中的偏置项作用类似。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-8中任一项所述的一种基于深度学习的烟叶图像活动轮廓分割方法。
10.一种计算机设备,包括储存器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-8中任一项所述的一种基于深度学习的烟叶图像活动轮廓分割方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310681401.7A CN116740119A (zh) | 2023-06-09 | 2023-06-09 | 一种基于深度学习的烟叶图像活动轮廓分割方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310681401.7A CN116740119A (zh) | 2023-06-09 | 2023-06-09 | 一种基于深度学习的烟叶图像活动轮廓分割方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116740119A true CN116740119A (zh) | 2023-09-12 |
Family
ID=87907485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310681401.7A Pending CN116740119A (zh) | 2023-06-09 | 2023-06-09 | 一种基于深度学习的烟叶图像活动轮廓分割方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116740119A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117372881A (zh) * | 2023-12-08 | 2024-01-09 | 中国农业科学院烟草研究所(中国烟草总公司青州烟草研究所) | 一种烟叶病虫害智能识别方法、介质及系统 |
CN117541720A (zh) * | 2023-11-14 | 2024-02-09 | 吉林省鑫科测绘有限公司 | 一种不动产测绘方法及系统 |
CN117611828A (zh) * | 2024-01-19 | 2024-02-27 | 云南烟叶复烤有限责任公司 | 一种基于高光谱图像分割技术的非烟杂物检测方法 |
CN117611828B (zh) * | 2024-01-19 | 2024-05-24 | 云南烟叶复烤有限责任公司 | 一种基于高光谱图像分割技术的非烟杂物检测方法 |
-
2023
- 2023-06-09 CN CN202310681401.7A patent/CN116740119A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117541720A (zh) * | 2023-11-14 | 2024-02-09 | 吉林省鑫科测绘有限公司 | 一种不动产测绘方法及系统 |
CN117541720B (zh) * | 2023-11-14 | 2024-04-19 | 吉林省鑫科测绘有限公司 | 一种不动产测绘方法及系统 |
CN117372881A (zh) * | 2023-12-08 | 2024-01-09 | 中国农业科学院烟草研究所(中国烟草总公司青州烟草研究所) | 一种烟叶病虫害智能识别方法、介质及系统 |
CN117372881B (zh) * | 2023-12-08 | 2024-04-05 | 中国农业科学院烟草研究所(中国烟草总公司青州烟草研究所) | 一种烟叶病虫害智能识别方法、介质及系统 |
CN117611828A (zh) * | 2024-01-19 | 2024-02-27 | 云南烟叶复烤有限责任公司 | 一种基于高光谱图像分割技术的非烟杂物检测方法 |
CN117611828B (zh) * | 2024-01-19 | 2024-05-24 | 云南烟叶复烤有限责任公司 | 一种基于高光谱图像分割技术的非烟杂物检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112541503B (zh) | 基于上下文注意力机制和信息融合的实时语义分割方法 | |
CN116740119A (zh) | 一种基于深度学习的烟叶图像活动轮廓分割方法 | |
CN110287777B (zh) | 一种自然场景下的金丝猴躯体分割算法 | |
CN111340814A (zh) | 一种基于多模态自适应卷积的rgb-d图像语义分割方法 | |
CN110909801B (zh) | 基于卷积神经网络的数据分类方法、系统、介质及设备 | |
CN112233129B (zh) | 基于深度学习的并行多尺度注意力机制语义分割方法及装置 | |
CN111507319A (zh) | 一种基于深度融合卷积网络模型的农作物病害识别方法 | |
CN111860683B (zh) | 一种基于特征融合的目标检测方法 | |
CN110533022B (zh) | 一种目标检测方法、系统、装置及存储介质 | |
CN112101364B (zh) | 基于参数重要性增量学习的语义分割方法 | |
CN112037228A (zh) | 一种基于双倍注意力的激光雷达点云目标分割方法 | |
CN114565048A (zh) | 基于自适应特征融合金字塔网络的三阶段害虫图像识别方法 | |
CN111104855B (zh) | 一种基于时序行为检测的工作流识别方法 | |
CN114037893A (zh) | 一种基于卷积神经网络的高分辨率遥感图像建筑提取方法 | |
CN114187590A (zh) | 同色系背景下目标果实识别方法及系统 | |
CN111539434B (zh) | 基于相似度的红外弱小目标检测方法 | |
CN112560894A (zh) | 一种改进型3d卷积网络高光谱遥感影像分类方法及装置 | |
CN111860601A (zh) | 预测大型真菌种类的方法及装置 | |
CN106650629A (zh) | 一种基于核稀疏表示的快速遥感目标检测识别方法 | |
CN113554655B (zh) | 基于多特征增强的光学遥感图像分割方法及装置 | |
CN115471718A (zh) | 基于多尺度学习的轻量级显著性目标检测模型的构建和检测方法 | |
CN114998756A (zh) | 一种基于yolov5的遥感图像检测方法、装置及存储介质 | |
CN114299382A (zh) | 高光谱遥感图像分类方法及系统 | |
CN114463732A (zh) | 一种基于知识蒸馏的场景文本检测方法及装置 | |
CN114494284A (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 |