基于LBP和LPQ特征融合的PSO-SVM缺陷分类附matlab代码

简介: 基于LBP和LPQ特征融合的PSO-SVM缺陷分类附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

钢板在生产及使用过程中产生的表面缺陷不仅影响外观还会降低产品的性能,针对目前检测的效率低,误差大提出了一种结合图像处理与粒子群优化支持向量机的缺陷分类检测系统.利用融合空域的局部二值模式和频域局部相位量化两种特征提取方式的优势对工件的图像进行缺陷特征提取,建立支持向量机(SVM)缺陷分类模型.由于SVM算法参数容易陷入局部最优的问题,所以采用粒子群算法优化SVM的惩罚参数和核函数.在MATLAB 2019b平台进行实验,实验结果对比分析显示,所提算法较传统的SVM分类模型相比提高了18.33%的识别准确率.

⛄ 部分代码

function results=CreateAndTrainANN(x,t)


   if ~isempty(x)

       

       % Choose a Training Function

       % For a list of all training functions type: help nntrain

       % 'trainlm' is usually fastest.

       % 'trainbr' takes longer but may be better for challenging problems.

       % 'trainscg' uses less memory. NFTOOL falls back to this in low memory situations.

       trainFcn = 'trainlm';  % Levenberg-Marquardt


       % Create a Fitting Network

       hiddenLayerSize = 10;

       net = fitnet(hiddenLayerSize,trainFcn);


       % Choose Input and Output Pre/Post-Processing Functions

       % For a list of all processing functions type: help nnprocess

       net.input.processFcns = {'removeconstantrows','mapminmax'};

       net.output.processFcns = {'removeconstantrows','mapminmax'};


       % Setup Division of Data for Training, Validation, Testing

       % For a list of all data division functions type: help nndivide

       net.divideFcn = 'dividerand';  % Divide data randomly

       net.divideMode = 'sample';  % Divide up every sample

       net.divideParam.trainRatio = 70/100;

       net.divideParam.valRatio = 15/100;

       net.divideParam.testRatio = 15/100;


       % Choose a Performance Function

       % For a list of all performance functions type: help nnperformance

       net.performFcn = 'mse';  % Mean squared error


       % Choose Plot Functions

       % For a list of all plot functions type: help nnplot

       net.plotFcns = {};

       % net.plotFcns = {'plotperform','plottrainstate','ploterrhist', 'plotregression', 'plotfit'};


       net.trainParam.showWindow=false;

       

       % Train the Network

       [net,tr] = train(net,x,t);


       % Test the Network

       y = net(x);

       e = gsubtract(t,y);

       E = perform(net,t,y);

       

   else        

       

       y=inf(size(t));

       e=inf(size(t));

       E=inf;

       

       tr.trainInd=[];

       tr.valInd=[];

       tr.testInd=[];

       

   end


   % All Data

   Data.x=x;

   Data.t=t;

   Data.y=y;

   Data.e=e;

   Data.E=E;

   

   % Train Data

   TrainData.x=x(:,tr.trainInd);

   TrainData.t=t(:,tr.trainInd);

   TrainData.y=y(:,tr.trainInd);

   TrainData.e=e(:,tr.trainInd);

   if ~isempty(x)

       TrainData.E=perform(net,TrainData.t,TrainData.y);

   else

       TrainData.E=inf;

   end

   

   % Validation and Test Data

   TestData.x=x(:,[tr.testInd tr.valInd]);

   TestData.t=t(:,[tr.testInd tr.valInd]);

   TestData.y=y(:,[tr.testInd tr.valInd]);

   TestData.e=e(:,[tr.testInd tr.valInd]);

   if ~isempty(x)

       TestData.E=perform(net,TestData.t,TestData.y);

   else

       TestData.E=inf;

   end

   

   % Export Results

   if ~isempty(x)

       results.net=net;

   else

       results.net=[];

   end

   results.Data=Data;

   results.TrainData=TrainData;

   % results.ValidationData=ValidationData;

   results.TestData=TestData;

   

end

⛄ 运行结果

⛄ 参考文献

[1]杜绪伟, 陈东. 基于LBP和LPQ特征融合的PSO-SVM缺陷分类[J]. 电子测量技术, 2020(021):043.

⛄ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料


相关文章
|
11月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
1158 0
|
11月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
344 0
|
11月前
|
机器学习/深度学习 算法 机器人
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
使用哈里斯角Harris和SIFT算法来实现局部特征匹配(Matlab代码实现)
465 8
|
11月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
434 8
|
11月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
861 0
|
11月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
336 0
|
11月前
|
机器学习/深度学习 数据采集 测试技术
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
基于CEEMDAN-VMD-BiLSTM的多变量输入单步时序预测研究(Matlab代码实现)
396 8
|
11月前
|
机器学习/深度学习 算法 自动驾驶
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
基于导向滤波的暗通道去雾算法在灰度与彩色图像可见度复原中的研究(Matlab代码实现)
562 8
|
11月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
864 12
|
11月前
|
人工智能 数据可视化 网络性能优化
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
【顶级SCI复现】虚拟电厂的多时间尺度调度:在考虑储能系统容量衰减的同时,整合发电与多用户负荷的灵活性研究(Matlab代码实现)
335 9

热门文章

最新文章