【图像检测-车辆检测】基于YOLO实现车辆目标检测附matlab代码

简介: 【图像检测-车辆检测】基于YOLO实现车辆目标检测附matlab代码

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

车辆目标检测是自动驾驶中的一个重要环节.针对复杂场景下的车辆目标检测模型检测速度慢,检测精度和召回率低等问题,以YOLO网络为基础,加载预训练模型,多尺寸图像训练,最终得到车辆目标检测模型.实验表明,本文方法可以在保证检测速度的情况下,尽可能多地检测出更多车辆目标且精度较高.

⛄ 部分代码

clc; clear all; close all;

rng(0);

checkpoint_folder = fullfile(pwd, 'checkpoint_folder_car');


data = load(fullfile(pwd, 'vehicleDatasetGroundTruth.mat'));

vehicleDataset = data.vehicleDataset;


vehicleDataset(1:4,:)


vehicleDataset.imageFilename = fullfile(pwd, vehicleDataset.imageFilename);


im_list = [];

for i = 1 : 4

   I = imread(vehicleDataset.imageFilename{i});

   I = insertShape(I,'Rectangle',vehicleDataset.vehicle{i});

   im_list(:,:,:,i) = mat2gray(I);

end

figure; montage(im_list);


shuffled_index = randperm(size(vehicleDataset,1));

idx = floor(0.8 * length(shuffled_index));

train_data = vehicleDataset(shuffled_index(1:idx),:);

test_data = vehicleDataset(shuffled_index(idx+1:end),:);


image_size = [224 224 3];

num_classes = size(vehicleDataset,2)-1;

anchor_boxes = [

   43 59

   18 22

   23 29

   84 109

   ];


base_network = resnet50;


featureLayer = 'activation_40_relu';

lgraph = yolov2Layers(image_size,num_classes,anchor_boxes,base_network,featureLayer);


options = trainingOptions('sgdm', ...

   'MiniBatchSize', 16, ....

   'InitialLearnRate',1e-3, ...

   'MaxEpochs',100,...

   'CheckpointPath', checkpoint_folder, ...

   'Shuffle','every-epoch', ...

   'ExecutionEnvironment', 'gpu');

[detector,info] = trainYOLOv2ObjectDetector(train_data,lgraph,options);


I = imread(test_data.imageFilename{1});

[bboxes,scores] = detect(detector,I);

I = insertObjectAnnotation(I,'rectangle',bboxes,scores);

figure; imshow(I); title('测试样例');


num_test_images = size(test_data,1);

results = table('Size',[num_test_images 3],...

   'VariableTypes',{'cell','cell','cell'},...

   'VariableNames',{'Boxes','Scores','Labels'});


for i = 1:num_test_images

   I = imread(test_data.imageFilename{i});

   [bboxes,scores,labels] = detect(detector,I);

   results.Boxes{i} = bboxes;

   results.Scores{i} = scores;

   results.Labels{i} = labels;

end


expected_results = test_data(:, 2:end);

[ap, recall, precision] = evaluateDetectionPrecision(results, expected_results);


plot(recall,precision)

xlabel('召回率')

ylabel('准确率')

grid on

title(sprintf('平均准确率 = %.2f', ap))

⛄ 运行结果

⛄ 参考文献

[1] 殷远齐, 徐源, 邢远新. 基于YOLO v4的车辆目标检测算法[J]. 计算机与现代化, 2022(000-007).

[2] 向昌成, 黄成兵, 罗平,等. 基于YOLO算法的无人机航拍图像车辆目标检测系统研究[J]. 计算机与数字工程, 2021.

[3] 龚庆武, 乔卉, 刘栋,等. 基于YOLO算法的电能质量扰动检测方法:, CN201910881278.7[P]. 2022.

[4] 李云鹏, 侯凌燕, 王超. 基于YOLOv2的复杂场景下车辆目标检测[J]. 电视技术, 2018, 42(5):7.

⛳️ 代码获取关注我

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


相关文章
|
1月前
|
算法 数据安全/隐私保护
织物图像的配准和拼接算法的MATLAB仿真,对比SIFT,SURF以及KAZE
本项目展示了织物瑕疵检测中的图像拼接技术,使用SIFT、SURF和KAZE三种算法。通过MATLAB2022a实现图像匹配、配准和拼接,最终检测并分类织物瑕疵。SIFT算法在不同尺度和旋转下保持不变性;SURF算法提高速度并保持鲁棒性;KAZE算法使用非线性扩散滤波器构建尺度空间,提供更先进的特征描述。展示视频无水印,代码含注释及操作步骤。
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
191 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
2月前
|
算法 数据可视化 数据安全/隐私保护
基于LK光流提取算法的图像序列晃动程度计算matlab仿真
该算法基于Lucas-Kanade光流方法,用于计算图像序列的晃动程度。通过计算相邻帧间的光流场并定义晃动程度指标(如RMS),可量化图像晃动。此版本适用于Matlab 2022a,提供详细中文注释与操作视频。完整代码无水印。
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
124 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
88 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
6月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
6月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
6月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)

热门文章

最新文章