【停车位检测】基于matlab K-means算法停车位检测【含Matlab源码 2068期】

💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞💞💞💞💞💞💥💥💥💥💥💥
在这里插入图片描述
✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进;
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式

⛳️座右铭:行百里者,半于九十。
更多Matlab图像处理仿真内容点击👇
Matlab图像处理(进阶版)
付费专栏Matlab图像处理(初级版)

⛳️关注优快云海神之光,更多资源等你来!!

⛄一、简介(附参考文献)

K-means将雷达接收到的稀疏数据聚类为不同的簇进行目标检测,聚类结果取决于参数K值和初始化中心的选取。K表示最终所聚类得到的类别,不同初始化聚类中心点和K值会得到不同结果。每一轮迭代重新计算质心位置,直至质心不再变化。

在这里插入图片描述
传统K-means聚类为无监督学习,而每个检测场景中毫米波雷达检测的目标数量是一定的。若K值不准确,则聚类结果是错误的。传统的K-means通过肘部原则来确定K值,将检测点与各簇的聚类中心的平方差和定义为畸变函数,如式(1)所示。该函数值会随着K值的增大而降低,达到某个K值后,收敛速度放慢,该K值则为K-means中最佳初始化K值。
在这里插入图片描述
式中:d2jc——第c簇中第j个检测点距离簇中心的距离平方和;xj,yj——第j个检测点的横、纵坐标;xc0,yc0——第c簇中心的横、纵坐标。

传统K-means聚类算法的复杂度为O(nm T),n为样本集的个数,m为类别数,T为最大迭代次数。若已知初始化中心和K值,则不再进行最大次数与肘部原则选取K值的迭代,此时复杂度为O(1),且正确的K值将得到准确的检测结果。

⛄二、部分源代码

function varargout = interface(varargin)

gui_Singleton = 1;
gui_State = struct(‘gui_Name’, mfilename, …
‘gui_Singleton’, gui_Singleton, …
‘gui_OpeningFcn’, @interface_OpeningFcn, …
‘gui_OutputFcn’, @interface_OutputFcn, …
‘gui_LayoutFcn’, [] , …
‘gui_Callback’, []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end

function interface_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);

function varargout = interface_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;

function pushbutton1_Callback(hObject, eventdata, handles)

% Asignacion de imagenes
texto = get(handles.edit3,'String');
texto = strcat('Prueba/',texto);
im = imread(texto);
w=im;
axes(handles.axes4)
imshow(im)
im = rgb2gray(im); % Grizacion de imagen a analizar

parque = imread('Prueba/park1.jpg');
parque = rgb2gray(parque); % Grizacion de imagen sin autos

th = 210; % Valor de Treshold
parque(parque < th) = 0;
parque(parque >= th) = 255;
im(im < th) = 0;
im(im >= th) = 255;

% Operaciones Morfologicas
SE = imfill(im,'holes');
SEparque = imfill(parque, 'holes');

% Escalamiento de letras
p = imread('Entrenamiento/1-1.bmp');
p = imresize(p, 0.1);
p = imfill(p,'holes');
e = imread('Entrenamiento/1-2.bmp');
e =imresize(e, 0.1);

% Correlaci髇 Cruzada
acorr_P = normxcorr2(p,SE);
acorrparque_P = normxcorr2(p,SEparque);
acorr_E = normxcorr2(e,SE);
acorrparque_E = normxcorr2(e,SEparque);

% Asignaci髇 de Maximos Relativos
[fx_P fy_P] = find(acorr_P >= 0.55); % Deteccion de maximos relativos
[fxparque_P fyparque_P] = find(acorrparque_P >= 0.55);
Xparque_P = [fxparque_P fyparque_P];
[idx_P, C_P] = kmeans(Xparque_P,10); % Clusterizacion
X_P = [fx_P fy_P];
[n_P m_P] = size(X_P);

[fx_E fy_E] = find(acorr_E >= 0.55); % Deteccion de maximos relativos
[fxparque_E fyparque_E] = find(acorrparque_E >= 0.55);
Xparque_E = [fxparque_E fyparque_E];
[idx_E, C_E] = kmeans(Xparque_E,2); % Clusterizacion
X_E = [fx_E fy_E];
[n_E m_E] = size(X_E);

% Verificaci髇 de Centroides con los maximos Relativos para la letra P
num_datos_P = length(X_P);
num_centroides_P = length(C_P);
posicion_P = zeros(1,10);
contador_P = 0;

for i = 1:num_centroides_P
    for j=1:num_datos_P
        d_P = sqrt((C_P(i,1)-X_P(j,1)).^2 + (C_P(i,2)-X_P(j,2)).^2);
        if d_P > 20

        else
            posicion_P(i) = 1;
        end
    end
end

% Verificaci髇 de Centroides con los maximos Relativos para la letra E
num_datos_E = length(X_E);
num_centroides_E = length(C_E);
posicion_E = zeros(1,2);
contador_E = 0;

for i = 1:num_centroides_E
    for j=1:num_datos_E
        d_E = sqrt((C_E(i,1)-X_E(j,1)).^2 + (C_E(i,2)-X_E(j,2)).^2);
        if d_E > 20

        else
            posicion_E(i) = 1;
        end
    end
end

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]程书慧,陈凌珊,杨军典.一种基于K-means的雷达机动目标检测算法[J].农业装备与车辆工程. 2022,60(07)

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 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海神之光

有机会获得赠送范围1份代码

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值