基于随机配置网络的服装分类方法
Clothing Classification Method Based on Stochastic Configuration Networks
DOI: 10.12677/MOS.2023.125406, PDF, HTML, XML, 下载: 184  浏览: 260  科研立项经费支持
作者: 胡明豪, 黄 海:浙江理工大学计算机科学与技术学院,浙江 杭州
关键词: 随机配置网络正余弦算法特征提取卷积神经网络Stochastic Configuration Networks Sine Cosine Algorithm Feature Extraction Convolutional Neural Networks
摘要: 为了提高服装图像分类的精度,提出了一种基于特征提取的正余弦算法优化SCN (Stochastic Con-figuration Networks)的服装图像分类预测模型。通过引入多通道并行的卷积、池化、批量标准化操作,提高了模型的特征提取能力。将正余弦算法引入到SCN的节点搜索过程,优化了SCN节点生成规则,进一步提高了SCN的准确性。结果显示,改进后的SCN算法能够寻找到更优的节点,图像分类准确率达到了94.05%,验证了本文模型的稳定性和可靠性。
Abstract: In order to improve the accuracy of apparel image classification, a predictive model for apparel im-age classification based on feature extraction with the sine-cosine algorithm optimized SCN (Sto-chastic Configuration Networks) is proposed. The feature extraction capability of the model is im-proved by introducing multi-channel parallel convolution, pooling, and batch normalization opera-tions. The sine cosine algorithm is introduced into the node search process of SCN to optimize the SCN node generation rule and further improve the accuracy of SCN. The results show that the im-proved SCN algorithm is able to search for better nodes, and the image classification accuracy reaches 94.05%, which verifies the stability and reliability of the model in this paper.
文章引用:胡明豪, 黄海. 基于随机配置网络的服装分类方法[J]. 建模与仿真, 2023, 12(5): 4458-4466. https://doi.org/10.12677/MOS.2023.125406

1. 引言

随着电子商务和在线购物的普及,自动分类服装的准确性和效率变得至关重要。因此,研发高效的服装图像分类算法对从业者和电商平台都至关重要 [1] 。李启兵等 [2] 提出基于改进深度残差块的卷积神经网络服装识别分类方法,引入注意力机制,调整网络卷积核结构,并验证了该方法的有效性。曾华福等 [3] 提出基于改进深度学习的服装图像分类算法,通过优化模块的堆叠次数和网络层通道数,并嵌入空间注意力模块,最终达到了不错的效果。Wang和Li [4] 提出的随机配置网络(stochastic configuration network, SCN)通过监督机制,增量式添加隐含层节点。SCN利用不等式约束保证了模型的通用逼近性,用较少的人工参数,保证了模型的快速有效。南静等 [5] 提出基于流形正则化和QR分解的轻量级随机配置网络人体行为识别模型,不仅提高了识别精度,而且降低了计算的复杂度。

基于以上研究,本文提出了一种多通道并行卷积神经网络,通过并行卷积、池化操作、批量标准化和Dropout等技术手段,增强模型的特征提取能力。通过将启发式正余弦算法引入到SCN的节点搜索过程,优化了节点的生成规则,进而提升了算法的分类准确率。实现了服装图像的有效预测。

2. 卷积神经网络及其改进

2.1. CNN网络模型

CNN网络模型 [6] 如图1所示。通过使用卷积层和池化层等特殊的神经网络层来提取输入数据中的空间特征。

Figure 1. Diagram of the CNN network

图1. CNN网络模型图

2.1.1. 卷积层

卷积操作通过将输入数据与卷积核进行逐元素乘积并求和的方式,对输入数据进行滑动窗口的局部处理。对于一个输入特征图(input feature map) X和一个卷积核(kernel) W,卷积操作可以表示为:

Y ( i , j ) = m n X ( i + m , j + n ) W ( m , n ) (1)

其中, Y ( i , j ) 表示输出特征图中位置 ( i , j ) 的值,m和n分别表示卷积核的行和列索引。

2.1.2. 池化层

池化层用于减小特征图的尺寸,并保留主要的特征信息。最常见的池化操作是最大池化(max pooling)和平均池化(average pooling)。

对于输入特征图X和池化窗口大小K,最大池化操作可以表示为:

Y ( i , j ) = max m , n X ( i K + m , j K + n ) (2)

其中,Y表示输出特征图中位置 ( i , j ) 的值,m和n分别表示池化窗口内的行和列索引。

2.1.3. 激活函数

激活函数引入非线性变换,使神经网络能够学习复杂的非线性关系。常用的激活函数包括Sigmoid、ReLU (Rectified Linear Unit)、LeakyReLU等。

Sigmoid激活函数定义为:

f ( x ) = 1 1 + e x (3)

其中,x是输入值, f ( x ) 是输出值。

ReLU激活函数定义为:

f ( x ) = { max ( 0 , x ) , x 0 0 , x < 0 (4)

其中,x是输入值, f ( x ) 是输出值。

2.1.4. 全连接层

全连接层是一种常见的神经网络层类型,它将前一层的所有神经元与当前层的所有神经元相连接。全连接层的作用是将高级特征进行组合和整合,并输出最终的结果。

SoftMax函数可以将分类结果转换为概率,给定一个输入向量 x = [ x 1 , x 2 , , x n ] ,SoftMax函数的公式如下:

Softmax ( x i ) = e x i j = 1 n e x j (5)

2.2. 多通道并行卷积神经网络模型

传统卷积神经网络模型特征发掘能力有限,而且容易出现过拟合,本文提出多通道并行卷积神经网络(MCCNN),通过多通道并行处理、卷积和池化操作、批量标准化、Dropout等技术手段,提高了模型的特征提取能力、鲁棒性和泛化能力。模型如图2所示。

1) 图像的原始尺寸是28 × 28 × 1,首先经历32个5 × 5的卷积核卷积操作,之后进行批量标准化处理和LeakyReLU函数处理。然后作2 × 2的Max Pooling 池化。

2) 将特征图同时输入到三个相同的通道中处理。首先经过32个5 × 5的卷积核卷积操作,然后是批量标准化处理和LeakyReLU函数处理,之后是2 × 2的Max Pooling 池化和64个3 × 3的卷积核卷积,最后经过批量标准化处理和LeakyReLU函数处理。

3) 对三个通道的特征进行Dropout处理,然后通过1 × 1 × 256和1 × 1 × 10的全连接处理。

4) 最后将特征图输入到SOFTMAX层进行分类。

Figure 2. Diagram of the architecture of MCCNN

图2. MCCNN网络模型图

3. SCN网络及其改进

3.1. SCN网络模型

SCN是一种增量式网络结构,其隐含层节点逐渐增加,通过监督机制进行隐含层节点参数配置,具有快速收敛、人为干预程度低和泛化能力强等特点。SCN结构如图3所示。

Figure 3. Diagram of the architecture of SCN

图3. SCN网络模型图

假设SCN网络的前 L 1 个节点已经生成,当前网络的输出结果可由式(6)得出。

f L 1 ( X ) = j = 1 L 1 β j g j ( w j T X + b j ) ( f 0 = 0 , L = 1 , 2 , ) (6)

其中, g ( ) 表示激活函数,X表示特征数据, β j w j b j 分别表示隐含层第j个节点的输出权重、输入权重和偏置。

根据式(7)计算当前网络的残差:

e L 1 = f f L 1 = [ e L 1 , 1 , e L 1 , 2 , , e L 1 , m ] (7)

e L 1 2 误差大于可容忍误差 或者节点数量小于 L max ,采用监督机制逐个增加隐含节点:

{ ξ L , q = ( e L 1 , q T h L ) 2 h L T h L ( 1 r μ L ) e L 1 , q 2 ξ L = q = 1 m ξ L , q 0 (8)

其中, L = 1 , 2 , , q = 1 , 2 , , m h L 表示隐含层节点L的输出; μ L 1 r lim L + μ L = 0 ;将满足式(8)的最大 ξ L 候选节点成为第L个隐含层节点的参数。

根据式(9)计算隐含层节点输出权重:

β = arg min β H β Y 2 (9)

最后计算网络输出结果f:

f = H β (10)

3.2. 正余弦算法

Sine Cosine Algorithm (SCA),也称为正弦余弦算法,是一种基于自然界中正弦和余弦的生物启发式优化算法。它是由Seyedali Mirjalili于2016年提出的 [7] 。其解的计算方式如式(11):

x i j t + 1 = { x i j t + r 1 sin r 2 | r 3 p g l t x g t | r 4 < 0.5 x i j t + r 1 cos r 2 | r 3 p g l t x g t | r 4 0.5 (11)

其中, x i j t + 1 表示次迭代第i个个体第j维的位置, r 2 r 3 r 4 是服从均匀分布的随机数, r 2 [ 0 , 2 π ] r 3 [ 0 , 2 ] r 4 [ 0 , 1 ] r 1 是控制正余弦函数的振幅,并通过式(12)动态调整。

r 1 = a ( 1 t T ) (12)

其中,T表示最大迭代次数,a为常数,这里取2。

3.3. 改进的随机配置网络

SCA-SCN的算法流程图如图4所示。

正余弦算法优化随机配置网络节点搜索的步骤如下:

1) 初始化种群:随机生成一组权重和偏置作为初始种群。

2) 计算适应度:根据不等式约束函数计算每个候选解的适应度值。

3) 更新候选解:使用正弦和余弦函数来调整候选解的位置,通过计算新的位置来更新每个候选解。

4) 更新适应度:根据新的候选解位置计算更新后的适应度值。

5) 更新最优解:根据适应度值的比较,更新全局最优解。

6) 终止条件:重复步骤3至5,直到满足停止条件(例如达到最大迭代次数或达到预设的适应度阈值)。

Figure 4. Flowchart of the stochastic configuration networks based on sine cosine algorithm

图4. 正余弦随机配置网络算法流程图

4. MCCNN-SCASCN服装图像分类算法

MCCNN-SCASCN算法主要分为两个步骤,第一步使用MCCNN特征提取模型提取第一层全连接层输出的服装图像特征。在PCNN模型中,通过在每次卷积后进行批量标准化处理,加快了特征提取速度并避免了梯度消失问题。此外,使用LeakyReLU激活函数减少了静默神经元的数量,并引入了三通道卷积层,进一步加快了模型的收敛速度。第二步是使用SCASCN分类模型对提取到的服装图像特征进行分类。使用SCA算法优化了SCN的节点权重和偏置。不仅提高了SCN的分类性能,还提高了SCN的稳定性。算法的模型如图5所示。

Figure 5. Diagram of the MCCNN-SCASCN algorithm

图5. MCCNN-SCASCN算法模型图

5. 实验结果与分析

为了验证模型的性能,本文选用了Fashion MNIST数据集,进行特征提取和分类。该数据集由10个不同类别的服装和物品图像组成,共10,000个图像,每个图像都是28 × 28像素的灰度图。其中训练集和测试集的比例是8:2。实验环境为统一内存架构的Apple M1内存为16 GB。编程软件为Matlab2022b。

本文选用准确率(Accuracy)、精确率(Precision)召回率(Recall)和F1值(F1-Score)作为模型的评价指标。

Accuracy = 1 n T P i T P i + T N i + F P i + F N i (13)

P M a c r o = 1 n 1 n T P i T P i + F P i (14)

R M a c r o = 1 n 1 n T P i T P i + F N i (15)

F 1 M a c r o = 1 n 1 n 2 × P i × R i P i + R i (16)

其中,i是不同服装的类别; T P i 是类别i被正确识别为类别i的样本数量; F P i 是其他类别(除类别i)被错误识别成类别i的样本数量; T N i 是其他类别(除类别i)被正确识别为其他类别的样本数量; F N i 是类别i被错误识别成其他类别(除类别i)的样本数量;Accuracy是算法的分类准确率。

MCCN的优化器选择Adam用于学习权值,初始学习率为0.0001,Max Epochs设置为30。将训练集输入到MCCN,得到的分类准确率和损失曲线如图6所示。随着迭代次数的增加,模型准确率不断上升,损失值不断下降,随后模型收敛,准确率和损失值都趋于平衡,证明了模型的有效性。之后用训练好的MCCN提取第一个全连接层的图像特征,得到的维度为256的特征矩阵作为SCASCN模型的输入。

SCN和RVFL模型的激活函数和Lmax都是sigmoid和700,SCN其余参数分别是:Lambdas = [0.5, 1, 5, 10, 30, 50, 100],r = [0.9, 0.99, 0.999, ∙∙∙, 0.999999],Lmax = 20。SCA的种群数量为30,迭代次数为100。

为了验证MCCNN的有效性,本文将传统CNN与MCCNN进行了对比;为了验证特征提取器的有效性,分别使用未提取特征和提取特征后的Fashion Mnist数据输入到SCN中进行图像分类;为了验证SCASCN的有效性,分别使用SCN、RVFL和SCASCN对提取特征后的数据进行分类。

实验结果可见表1。对比各算法模型的评价指标可以看出,MCCNN比传统卷积神经网络的分类准确率提高了10%,说明了多通道并行处理可以提升了卷积神经网络的特征提取能力。通过比较SCN和MCCNN-SCA的各项指标可以发现,MCCNN提取全连接层特征确实提升了SCN分类的准确率。而MCCNN-SCASCN算法的各项评价指标均优于MCCNN-SCN和MCCNN-RVFL,说明了SCA优化了SCN的节点寻优能力。提升了SCN的分类准确率。

Figure 6. Diagram of the training curve of MCCNN

图6. MCCNN的训练曲线图

Table 1. System resulting data of standard experiment

表1. 标准试验系统结果数据

6. 结论

针对服装图像的分类问题,本文提出了MCCNN-SCASCN算法。首先建立多通道的并行卷积神经网络模型,通过多通道并行的卷积、池化、批量标准化和Dropout等技术手段,提取了服装图像特征,然后利用正余弦算法优化后的随机配置网络进行分类。实验结果表明与MCCNN-SCN、MCCNN-RVFL相比MCCNN-SCASCN具有更高的分类准确率。

基金项目

激光与物质相互作用国家重点实验室开发基础研究课题资助(SKLLIM2113)。

参考文献

[1] 张艳红, 杨思, 徐增波. 数字图像处理技术在服装领域的应用[J]. 毛纺科技, 2019, 47(10): 83-88.
[2] 李启兵. 基于卷积神经网络的服装识别分类模型研究[J]. 湖南工程学院学报(自然科学版), 2022, 32(3): 69-73+87.
[3] 曾华福, 杨杰, 李林红. 基于改进ShuffleNet v1的服装图像分类算法[J]. 现代纺织技术, 2023, 31(2): 23-35.
[4] Wang, D. and Li, M. (2017) Stochastic Configuration Networks: Fundamentals and Algorithms. IEEE Transactions on Cybernetics, 47, 3466-3479.
https://doi.org/10.1109/TCYB.2017.2734043
[5] 南静, 宁传峰, 建中华, 等. 基于随机配置网络的轻量级人体行为识别模型[J]. 控制与决策, 2023, 38(6): 1541-1550.
[6] 周飞燕, 金林鹏, 董军. 卷积神经网络研究综述[J]. 计算机学报, 2017, 40(6): 1229-1251.
[7] Mirjalili, S. (2016) SCA: A Sine Cosine Algorithm for Solving Optimization Problems. Knowledge-Based Systems, 96, 120-133.
https://doi.org/10.1016/j.knosys.2015.12.022