1 车道边界线检测

1.1程序

%车道线检测
I = imread('road.png');                                                                                     %读取道路图像
bevSensor = load('birdsEyeConfig.mat');                                                                     %加载鸟瞰图配置
birdsEyeImage = transformImage(bevSensor.birdsEyeConfig,I);                                                 %道路图像转换为鸟瞰图像
% imshow(birdsEyeImage)
approxBoundaryWidth = 0.25;                                                                                 %车道近似宽度
birdsEyeBW = segmentLaneMarkerRidge(rgb2gray(birdsEyeImage), bevSensor.birdsEyeConfig, approxBoundaryWidth);%监测灰度图像中车道
% imshow(birdsEyeBW);
[imageX, imageY] = find(birdsEyeBW);                                                                        %查找图像边界点
xyBoundaryPoints = imageToVehicle(bevSensor.birdsEyeConfig, [imageY, imageX]);                              %图像坐标转换为车辆坐标
boundaries = findCubicLaneBoundaries(xyBoundaryPoints, approxBoundaryWidth);                                %查找边界
Xpoints = 3:30;                                                                                             %设置X点范围
% figure,                                                                                                   %设置图形窗口
BEconfig = bevSensor.birdsEyeConfig;                                                                        %定义传感器
lanesBEI = insertLaneBoundary(birdsEyeImage, boundaries(1), BEconfig, Xpoints);                             %插入左车道
lanesBEI = insertLaneBoundary(lanesBEI, boundaries(2), BEconfig, Xpoints,'Color', 'green');                 %插入右车道
imshow(lanesBEI);                                                                                           %显示检测结果
figure,                                                                                                     %设置图形窗口
sensor = bevSensor.birdsEyeConfig.Sensor;                                                                   %定义传感器
lanesI = insertLaneBoundary(I, boundaries(1),sensor, Xpoints);                                              %插入左车道
lanesI = insertLaneBoundary(lanesI, boundaries(2), sensor, Xpoints, 'Color', 'green');                      %插入右车道

1.2识别结果

1.2.1成功案例

图片来源于网站搜索,就识别效果来看是非常不错的,能够清楚地识别出汽车所在车道的两侧车道线。

图 1车道线识别(网站搜索)

1.2.2失败案列

实景拍摄的两幅识别效果图和网站收索的两幅识别效果图对比来看,无法正常识别出两侧车道线,只能识别出单侧车道线或某段车道线。

图 3车道线识别(网站收索)

1.3结果分析

导致读取失败的原因:

必须指明插入图像的完整路径以及图像文件名。

导致识别失败的原因(猜想):

拍摄角度:驾驶员第一视角(摄像头视角)拍摄图片(使汽车置于两侧车道线之间)。

拍摄设备:智能手机和车载摄像头拍摄出来的照片可能存在参数等差异。

2 车辆识别

2.1程序

fasterRCNN = vehicleDetectorFasterRCNN('full-view');                  %RCNN车辆检测器
I = imread('2.jpg');                                                  %读取原始图像
[bboxes,scores] = detect(fasterRCNN,I);                               %检测图像中的车辆
I = insertObjectAnnotation(I,'rectangle',bboxes,scores,'FontSize',40);%将检测结果标注在图像上
imshow(I)                                                             %显示检测结果

2.2识别结果

图4和图5对比来看,能正常识别出照片中的车辆。图五中可能包含的信息过多亦或是在不同拍摄角度下车辆结构特征在图片中的变化导致部分车辆未能识别。

图 4车辆识别(实景拍摄)

图 5车辆识别(网站收索)

3行人识别

3.1程序

peopleDetector = vision. PeopleDetector;              %行人检测器
I = imread('9.jpg');                                  %读取原始图片
[bboxes,scores] = peopleDetector(I);                  %检测图像中的行人
I=insertObjectAnnotation(I,'rectangle',bboxes,scores);%将检测结果标注在图像上
imshow(I)                                             %显示检测结果

3.2识别结果

能够正常识别出照片中的行人。

图 6行人识别(实景拍摄)

4停车标志识别

4.1程序

imageDir = fullfile(matlabroot,'toolbox','vision','visiondata','stopSignImages');              %定义文件路径
addpath(imageDir);                                                                             %添加路径
load('stopSignsAndCars.mat');                                                                  %加载停车标志训练数据
stopSigns = stopSignsAndCars(:,[1,2]);                                                         %提取图像文件名和停车标志
stopSigns.imageFilename = fullfile(toolboxdir('vision'),'visiondata',stopSigns.imageFilename); %把图像文件添加到完整路径上acfObjectDetector = trainACFObjectDetector(stopSigns,'NegativeSamplesFactor',2);           %训练ACF停车标志检测器I = imread('stop.jpg');                                                                    %读取图像
[bboxes,scores] = detect(acfObjectDetector,I);                                                 %检测停车标志
I = insertObjectAnnotation(I,'rectangle',bboxes,scores);                                       %标志检测结果
imshow(I)                                                                                      %显示检测结果

4.2识别结果

能够正常识别出停车标志。

图 7停车标志识别

智能识别车道线、车辆、行人、停车标志相关推荐

  1. oak深度相机入门教程-识别车道线

      系列文章目录: oak深度相机入门教程-识别眼睛的凝视方向 oak深度相机入门教程-检测是否佩戴口罩 oak深度相机入门教程-文本检测+光学字符识别(OCR)管道 oak深度相机入门教程-识别人的 ...

  2. 毕业设计 深度学习 机器视觉 车位识别车道线检测 - python opencv

    0 前言

  3. 基于视觉的车道线识别技术在智能车导航中的应用研究

    密级:公开 摘  要 摘  要 室外移动机器人的研究是机器人研究领域的重要分支,同时也是备受关注的热点领域.面向高速公路等结构化道路的室外移动机器人研究已成为现阶段民用交通运输领域移动机器人研究的主流 ...

  4. matlab点云中值滤波,基于车载激光雷达的车道线识别方法与流程

    本发明属于自动驾驶的模式识别领域,涉及激光雷达点云数据处理及识别方法. 背景技术: 车道线检测在智能车辆辅助安全系统中起着关键的作用,车道偏离警示系统在车道保持辅助系统以及车道换道辅助系统中有着广泛的 ...

  5. 车道线识别之——增强黄色车道线

    为了更好的识别车道线,需要给黄色车道线增强,方法是将RGB图片转换为HSV图片,增强HSV图片的第三位(V)的数值,再转换成黑白图片.这个方法只适用于白天并且车道线清晰的场景. 如下是普通代码和CUD ...

  6. 实战教程 | 车道线检测项目实战,霍夫变换 新方法 Spatial CNN

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 此文按照这样的逻辑进行撰写.分享机器学习.计算机视觉的基础知识,接着我们以一个实际的项目,带领大家自己 ...

  7. 2023最新车道线综述!近五年文章全面盘点(几何建模/机器学习/深度学习)

    点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[车道线检测]技术交流群 后台回复[车道线综述]获取基于检测.分割.分类.曲线拟合等近几 ...

  8. LIDAR系列之2:用激光雷达检测车道线

    转自:https://www.sohu.com/a/207740445_391994 基于视觉系统的车道线检测有诸多缺陷 首先是视觉系统对背景光线很敏感,诸如阳光强烈的林荫道,车道线被光线分割成碎片, ...

  9. 基于MATLAB改进Otsu阈值分割的车道线检测

    基于MATLAB改进Otsu阈值分割的车道线检测 摘要:在判断车道偏离以防止车辆碰撞等危害时,车道标线检测需要通过图像处理来进行,检测方法是否适用于各种背景环境条件以及检测的及时性至关重要传统的Ots ...

  10. 怎么样利用激光雷达检测车道线?这上面提供了4个方法---凯利讯半导体

    通过理论分析和实验验证可知一二两层返回的信息主要包括路面.车道线.少量障碍物和边界数据;三四两层主要返回道路边界.障碍物和少量路表信息,所以在特征种子点提取阶段需要重点分析一二两层的雷达数据,这部分数 ...

最新文章

  1. 2021年传感器行业的机遇与风险 | 深度思考
  2. Bex5开发技巧之MYSQL Incorrect string value
  3. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 反汇编二进制机器码 | 打印反汇编数据 )
  4. 美媒看衰马斯克超级高铁:纽约到华盛顿挖隧道要挖100年
  5. P2894 [USACO08FEB]酒店Hotel
  6. python sin_Python sin() 函数
  7. 【python图像处理】彩色映射
  8. mysql distinct两列_正在检索两列,并对MySQL中的每列应用“distinct”
  9. [转] 应聘Java笔试时可能出现问题及其答案(第五部分)
  10. 一个小偷写给失主的信【爆笑】
  11. 函数嵌套和nonlocal声明
  12. 微信服务号的模板消息有哪些优势和使用限制?
  13. C#获取当前桌面路径
  14. 新浪云存储 php,【PHP】新浪云SAE平台将本地图片和远程图片保存至Storage
  15. 解决Typora图片显示不出来问题
  16. 第四章:Android灯光系统(3)-编写HAL
  17. 1367:查找二叉树(tree_a)
  18. 从FPGA到ACAP,“万能芯片”蝶变转型
  19. WEB前端面试题整理
  20. php 中文拼音模糊查询,PHP-输入字母 模糊查询汉字

热门文章

  1. oracle 播布客 视频,播布客视频-Managing Indexes笔记
  2. 数据分析 --- 如何收集数据
  3. 删除的微信好友可以恢复吗?不小心把微信好友删了怎么找回
  4. python标准库calendar判断年份是闰年和平年
  5. 玩转Linux与运维岗(21)
  6. licecap图片区域问题
  7. Swagger界面丑、功能弱怎么破?用Postman增强下就给力了!
  8. 班德瑞1-9,神秘园1-4全集下载
  9. java 获取一年内周六周日日期
  10. wps无法连接到计算机,WPS无法连接网络怎么解决-解决wps不能连接网络的方法 - 河东软件园...