【图像分割】极限学习机ELM道路分割【含Matlab源码 3936期】-程序员宅基地

技术标签: matlab  Matlab图像处理(高阶版)  

在这里插入图片描述
博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
个人主页:海神之光
代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)

一、极限学习机ELM道路分割简介

1 极限学习机ELM
ELM自2004年南洋理工大学的黄广斌教授提出相关概念以来一直争议不断,但每年相关论文层出不穷,在过去的十年里其理论和应用被广泛研究。如果您想深入学习和了解ELM的原理,博主建议可在ScienceDirect的数据库中检索ELM相关论文,里面有众多优质论文其理解和表述将帮助你更准确了解ELM的内在原理。
博主对于极限学习机(Extreme Learning Machine, ELM)的学习和研究已一年多,目前ELM相关两篇SCI论文已发表。后续转深度学习方向继续研究,这里就ELM作一个简单整理并给出实现代码,也希望对刚接触的朋友能够有所帮助。
极限学习机(ELM)用来训练单隐藏层前馈神经网络(SLFN)与传统的SLFN训练算法不同,极限学习机随机选取输入层权重和隐藏层偏置,输出层权重通过最小化由训练误差项和输出层权重范数的正则项构成的损失函数,依据Moore-Penrose(MP)广义逆矩阵理论计算解析求出。理论研究表明,即使随机生成隐藏层节点,ELM仍保持SLFN的通用逼近能力。在过去的十年里,ELM的理论和应用被广泛研究,从学习效率的角度来看,极限学习机具有训练参数少、学习速度快、泛化能力强的优点。

2 极限学习机ELM道路分割
极限学习机(Extreme Learning Machine,ELM)是一种机器学习算法,主要用于解决分类和回归问题。ELM的道路分割原理是其核心思想之一。

ELM的道路分割原理基于以下假设:对于一个复杂的非线性问题,可以通过将输入空间划分为多个子空间,并在每个子空间内使用简单的线性模型来逼近目标函数。这样,整个问题的复杂性就被分解为了多个简单的子问题。

具体来说,ELM的道路分割原理包括以下几个步骤:
(1)数据预处理:将原始数据进行标准化处理,使得输入数据的均值为0,方差为1。
(2)随机生成隐藏层权重:ELM使用随机生成的权重来构建隐藏层,这些权重是输入层到隐藏层的连接权重。隐藏层的神经元数量可以根据问题的复杂程度进行设置。
(3)计算隐藏层输出:将输入数据通过隐藏层的权重进行线性变换,并通过激活函数(如sigmoid函数、ReLU函数等)得到隐藏层的输出。
(4)计算输出层权重:ELM使用最小二乘法来计算输出层的权重,将隐藏层的输出作为输入,将目标值作为输出,通过最小化误差来求解输出层的权重。
(5)预测和分类:使用得到的输出层权重,将新的输入数据通过隐藏层和输出层进行前向传播,得到最终的预测结果或分类结果。

二、部分源代码

clc
clear
close all hidden
addpath wcgkelm
img=imread(‘fw12.jpg’);
W=[2,1,1,1,1,1,2; …
2,4,4,1,4,4,2; …
1,1,1,0,1,1,1; …
0,1,1,0,1,1,0; …
0,1,1,1,1,1,0; …
0,1,1,2,1,1,0; …
0,1,1,1,1,1,0];
addpath KFCM模糊ELM
img=imresize(img,[3000,4000],‘bilinear’);
imshow(img);
[M,N,~]=size(img);
cout=1;
load model.mat
h = waitbar(0,‘Please wait…’);
for i=1:30:(M)
for j=1:40:(N)
block=img(i:i+30-1,j:j+40-1,:);

    Hist = colorhist(block) ; 


    im=rgb2gray(block);
    block=double(block);
    mapping=getmapping(8,'u2');%LBP映射
    ta=DSLBP(im,mapping,W);  %提取图片的LBP直方图
    ta2=invmoments(block);%Hu矩特征
    tezheng= [Hist,ta,ta2];  %保存所有的向量到矩阵中     
    tezheng=tezheng*model.M;
    [P_test]=mapminmax(tezheng','apply',model.ts)';
    Y2=sign(kelm_predict(model,P_test'));
    if Y2==-1
    rectangle('Position', [j i 40 30],'EdgeColor','Red') ;%rectangle('Position',[x,y,w,h]) 先 x 后y 想wiedth 后 hight 先 列 后行

% imwrite(block,[‘img’ num2str(cout) ‘.jpg’]);
end

    cout=cout+1;
    waitbar(cout/(ceil(M/30)*ceil(N/30)),h)
end

end
close(h);

三、运行结果

在这里插入图片描述

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]师韵,王震,王旭启,张善文.基于改进遗传算法的最大熵作物病害叶片图像分割算法[J].江苏农业科学. 2015,43(09)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_63266434/article/details/136063066

智能推荐

Matlab数据处理——数据的保存和读取方法操作_matlab中的 store-程序员宅基地

文章浏览阅读2.3k次。原文链接:https://blog.csdn.net/misayaaaaa/article/details/533964031:dlmwrite()函数保存成txt文件使用方法:dlmwrite('filename', M)使用默认分隔符“,”将矩阵M写入文本文件filename中;dlmwrite('filename', M, 'D')..._matlab中的 store

你的网站还在使用HTTP? 免费升级至HTTPS吧

http升级到https的关键是安装部署ssl证书,本文阐述了从证书申请到启用https的详细过程

关于Kotlin

在数据科学和机器学习领域,Kotlin的强大类型推断能力和函数式编程特性,使得数据处理和算法实现更加简洁和可读。此外,Kotlin还可用于游戏开发,特别是移动游戏开发,以及嵌入式系统的开发。它几乎可以运行在任何Java语言可以运行的地方,但相比Java,Kotlin更加简洁、高效和安全。它不仅可以编译成Java字节码,在Java虚拟机上运行,还可以编译成JavaScript,以便在没有JVM的设备上运行。此外,Kotlin还可以编译成二进制代码,直接运行在机器上,如嵌入式设备或iOS。

同步(Synchronous)和异步(Asynchronous)的理解和区别讲解-程序员宅基地

文章浏览阅读1.6w次,点赞28次,收藏70次。同步(Synchronous)和异步(Asynchronous)同步和异步是什么?怎么理解下呢?同步 :你去商城买东西,你看上了一款手机,能和店家说你一个这款手机,他就去仓库拿货,你得在店里等着,不能离开,这叫做同步。同步“ 就好比:你去外地上学(人生地不熟),突然生活费不够了;此时你决定打电话回家,通知家里转生活费过来,可是当你拨出电话时,对方一直处于待接听状态(即:打不通,联系不上),为了拿到生活费,你就不停的 oncall 、等待,最终可能不能及时要到生活费,导致你今天要做的事都没有完成,而白白

java实现断点续传、分片上传、文件快传_java 实现接收分片上传数据-程序员宅基地

文章浏览阅读456次,点赞3次,收藏6次。【代码】java实现断点续传、分片上传、文件快传。_java 实现接收分片上传数据

gcc4.0的cc1去哪了?-程序员宅基地

文章浏览阅读630次。cc1 is an internal part of gcc (the C front-end), usually found in /usr/libexec/gcc/i686-pc-linux-gnu/4.0.2

随便推点

Spring Boot的热部署工具“AND”Swagger测试工具

指的是在项目无需重启的情况下,只需要刷新页面,即可获得已经修改的样式或功能。要注意该工具一般用于开发环境,在生产环境中最好不要添加这个工具。对于无需重启便可刷新这么方便的工具,在项目中该如何使用:在spring boot 项目中使用工具的方法就是引入相关依赖,热部署工具的依赖如下:

SpringIoc的注入原理_springioc注入原理-程序员宅基地

文章浏览阅读589次。SpringBean的注入原理spring是在配置类需要指定扫描包,然后递归得到下面所有的文件;(springboot默认启动类和兄弟目录下面所有的包文件)包名+文件名=类全限定名;calss.from加载到内存当中,得到字节码(class);判断这个类的脑门上是否有注解(就是类的头顶上),有注解的话,就把这个类先put到Map里面(ResourcesMap和autowiredMap各一..._springioc注入原理

ES6模块化使用方法_如何用es6模块化项目-程序员宅基地

文章浏览阅读334次。目录结构a.js对外导出对象let name = 'j'let age = 18let sex = 'm'// 导出对象export { name, age}// 默认导出export default sexb.js// 导入a.js中导出对象import {name, age} from './a.js'// 导入a.js中默认导出import sex from './a.js'console.log(name, age, sex)index_如何用es6模块化项目

高中教学分析系统数据可视化探索【可视化实战案例】_对高中教学系统进行可视化分析,-程序员宅基地

文章浏览阅读809次。教育行业中大数据分析的主要目的包括改善学生成绩、服务教务设计、优化学生服务等。而学生成绩中有一系列重要的信息往往被我们常规研究所忽视。通过大数据分析和可视化展示,挖掘重要信息,改善 学生服务,对于教学改进意义重大。美国教育部门构建“学习分析系统”,旨在向教育工作者提供了解学生到底是在怎样学习的更好、更好、更精确信息。利用大数据的分析学习能够向教育工作者提供有用的信息,从而帮助其回答众多不易回答的现实问题。_对高中教学系统进行可视化分析,

【BZOJ】4726 [POI2017] Sabota?_某个公司有n个人, 上下级关系构成了一个有根树。其中有个人是叛徒(这个人不知道是-程序员宅基地

文章浏览阅读362次。【BZOJ】4726 [POI2017] Sabota?Description某个公司有n个人, 上下级关系构成了一个有根树。其中有个人是叛徒(这个人不知道是谁)。_某个公司有n个人, 上下级关系构成了一个有根树。其中有个人是叛徒(这个人不知道是

linux 网卡rss hash,ETHTOOL设置网卡接收哈希(RSS)-程序员宅基地

文章浏览阅读1.9k次。ethtool命令设置接收端哈希功能,按照哈希结果将数据流分发到网卡的不同接收队列中。例如以下命令,指定ipv4的tcp数据流中参与哈希的字段(sdfn):/ # ethtool --config-ntuple eth0 rx-flow-hash tcp4 sdfn同样,使用ethtool命令查看设置结果如下:/ # ethtool --show-ntuple eth0 rx-flow-hash..._网卡hash算法设置