智能网联汽车技术-实验三 传感器目标识别

【实验目的】

       1、了解环境感知传感器目标识别的目的和方法, 掌握MATLAB中的目标检测方法。

       2、了解MATLAB的目标检测器和检测函数,掌握车辆识别、行人识别、交通标志识别和道路识别等目标识别方法。

【实验性质】

验证性实验。

【实验要求】

       MATLAB 2020a及以上

      

【实验内容】

       1、使用MATLAB的车辆检测器和检测函数,对图像中的车辆进行识别。

       2、使用MATLAB的行人检测器和检测函数,对图像中的行人进行识别。

       3、使用MATLAB的目标检测器和检测函数,对图像中的交通标志进行识别。

       4、使用MATLAB的道路检测函数,对图像中的车道线进行识别。

【实验步骤】

       1、车辆识别

车辆识别的方法有下面几种方法:

(1)基于视觉传感器的车辆识别

(2)基于毫米波雷达的车辆识别

(3)基于视觉传感器和毫米波雷达融合的车辆识别

(4)基于激光雷达的车辆识别

MATLAB中提供了车辆检测器及检测函数,用于识别车辆。

(1)ACF车辆检测器

ACF(Aggregate Channel Features)聚合通道特征是将多个通道特征结合到一起形成一种聚合特征,结合多通道特征包含的信息,能够高效描述车辆特征。

vehicleDetectorACF为基于聚合通道特征(ACF)的车辆检测器,其调用方式如下:

detector = vehicleDetectorACF(modelName); 

其中,modelName为模型名称,detector为车辆检测器

完善下面的matlab程序:

detector= __ vehicleDetectorACF('front-rear-view');         %定义车辆检测器

I=imread(‘c1.png'_);                                     %读取图像文件

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

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

_imshow(I)__________________;                                     %显示检测结果

detector=vehicleDetectorACF('front-rear-view');
I=imread('c1.png');
[bboxes,scores]=detect(detector,I);
I=insertObjectAnnotation(I,'rectangle',bboxes,scores);
imshow(I)

在下面表格区域内放置实验中所使用到的原始图像及识别结果图像:

原始图像

ACF算法车辆识别结果

       (2)RCNN车辆检测器

RCNN(Region-based Convolutional Neural Networks)是一种结合区域提名(Region Proposal)和卷积神经网络(CNN)的目标检测方法。

vehicleDetectorFasterRCNN为基于RCNN的车辆检测函数,其调用方式如下:

detector = vehicleDetectorFasterRCNN(modelName); 

其中,modelName为模型名称,模型名称为全视图(Full-View)模型,即使用的训练图像是车辆的前、后、左、右侧的图像;detector为RCNN车辆检测器。

完善下面的程序,并在MATLAB命令窗口中输入以下程序。

fasterRCNN=__vehicleDetectorFasterRCNN('full-view');

I=imread('______c3.png______');

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

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

imshow(I)_____;

fasterRCNN=vehicleDetectorFasterRCNN('full-view');
I=imread('c3.png');
[bboxes,scores]=detect(fasterRCNN,I);
I=insertObjectAnnotation(I,'rectangle',bboxes,scores,'FontSize',40);
imshow(I);

%定义RCNN车辆检测器

%读取图像文件

%显示检测结果

在下面表格区域内放置实验中所使用到的原始图像及识别结果图像:

原始图像

RCNN算法车辆识别结果

       2、行人识别

   

MATLAB中提供了行人识别检测器及检测函数,用于行人识别。

(1)ACF行人检测器

peopleDetectorACF为基于聚合通道特征(ACF)的行人检测器函数,调用方式如下:

detector = peopleDetectorACF (modelName); 

    其中,modelName为模型名称,detector为ACF行人检测器。

在MATLAB命令窗口中输入以下程序,或在其它编辑器中编写后粘贴到MATLAB命令窗口,运行前需要将原始图像另存为下面代码中的原始图像文件。

    bboxes为检测到的目标位置,scores为检测置信度分数,I为输入图像。

在下面表格区域内放置实验中所使用到的原始图像及识别结果图像:

原始图像

ACF行人识别算法识别结果

(2)基于HOG特征行人检测

vision.PeopleDetector为基于HOG特征行人检测的函数,其调用方式如下:

detector = vision.peopleDetector (modelName);

detector = vision.peopleDetector (Name, Value);

    其中,modelName为模型名称,Name和Value用于设置属性,detector为行人检测器。

在MATLAB命令窗口中输入以下程序,或在其它编辑器中编写后粘贴到MATLAB命令窗口,运行前需要将原始图像另存为下面代码中的原始图像文件。

bboxes为检测到的目标位置,scores为检测置信度分数,I为输入图像。

在下面表格区域内放置实验中所使用到的原始图像及识别结果图像:

原始图像

HOG行人识别算法识别结果

       3、交通标志识别

    MATLAB中没有专门的检测函数,需要通过训练目标检测器进行各种交通标志的检测。

    (1)ACF目标检测器

    trainACFObjectDetector为训练ACF目标检测器的函数,其调用方式如下:

detector = trainACFObjectDetector (trainingData);

detector = trainACFObjectDetector (trainingData , Name, Value);

    其中,trainingData为地面真实训练数据(图像),Name和Value为指定的附加选项,detector为ACF目标检测器。

    在MATLAB命令窗口中输入以下程序:

   

在下面表格区域内放置实验中所使用到的原始图像及识别结果图像:

原始图像

交通标志牌识别结果

       4、道路识别

    道路识别可使用视觉传感器和激光雷达,通过视觉传感器检测出车道线,提供车辆在当前车道中的位置;而激光雷达把真实的道路转换为汽车识别的道路。

MATLAB中提供了多个道路识别检测函数:

(1)检测灰度图像中车道——segmentLaneMarkerRidge

(2)抛物线车道边界模型——parabolicLaneBoundary

(3)使用抛物线模型寻找车道线边界——findParabolicLaneBoundaries

(4)三次方车道边界模型——cubicLaneBoundaryModel

(5)使用三次方模型寻找车道线边界——findCubicLaneBoundaries

(6)求车道边界坐标值——computerBoundaryModel

(7)在图像中插入车道边界——insertLaneBoundary

    下面程序使用抛物线车道边界模型识别图像中的车道线

在下面表格区域内放置实验中所使用到的原始图像及识别结果图像:

原始图像

交通标志牌识别结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值