无人驾驶实战-第四课(动态环境感知与2D检测算法)

news2024/11/17 23:39:04

无人驾驶中的检测框架

2D目标检测的思路

  • 位置:先找到所有的ROI (Region of Interest, bounding box may containing object)
  • 类别:对每一个ROI做分类获取类别信息 
  • 位置修正:Bounding box Regression

找寻ROI的方法

1.滑窗法。从左到右,从上到下,用不同的尺寸和横款比的窗口滑动。这种方法的效率较低,大量窗口是无效的,仅限于固定尺寸与长宽比的目标,如人脸和行人的检测;

2.候选区域(Region Proposal):通过分割等方法先找到预期对象,再合并相似的对象并拟合边框。可减少大量候选框,提升性能;

3.CNN的方法:用锚框,RPN等方法实现。

对ROI内容进行分类的方法:

1.提取特征:Haar、LBP、SIFT、SURF、HOG、DPM等,及深度学习CNN中的conv;

2.分类器:SVM、Adaboost及CNN中的Softmax;

CNN之前的方法:

  • 位置:sliding window/region proposal
  • 类别:HOG/DPM/Haar/SIFT/...  +  SVM/Adaboost/... 
  • 位置修正(Bbox Regression): Linear regression/...

RCNN的方法

  • 位置:Selective Search提取候选框
  • 类别:CNN提取特征 + SVM分类 
  • 位置修正:Linear Regression

可以看出先提取候选框,每个候选框过一遍卷积,效率太低。

SPPNet

  • 位置:Selective Search提取候选框
  • 类别:CNN提取特征 + SVM分类 
  • 共享卷积:大大降低计算量 
  • SPP层:不同尺度的特征->固定特尺度特征(后接全链接层) 
  • 位置修正:Linear Regression

Fast R-CNN

  • 位置:Selective Search提取候选框
  • 类别:CNN提取特征 + CNN分类 
  • 分类和回归都用CNN实现:两种损失可以反传以实现联动调参(半end-to-end) 
  • SPP层->ROI pooling:加速计算 
  • 位置修正:CNN回归

Faster R-CNN

  • 位置:CNN提取候选框
  • RPN:Region Proposal Net 
  • feature点对应的原图感受野框处生成不同ratio/scale的anchor box 
  • 对anchor box 二分类+回归 
  • 类别:CNN提取特征 + CNN分类 
  • 位置修正:CNN回归

k是网格的个数,2k的得分是每个网格二分类,有物体和没有物体,4k是候选框的坐标。

two-step和one-step的方法对比(Faster RCNN 与 YOLO的对比)

  • Faster-RCNN: feature点对应的原图感受野框处生成不同ratio/scale的anchor box 从anchor box中提取候选框(二分类+回归) 再对候选框做回归修正 
  • YOLO: 全图划分成7×7网格,每个网格对应有2个default box 没有候选框! 直接对default box做全分类+回归(box中心坐标的x,y相对于对应的网格归一化到0-1之间,w,h用图像的width和height归一化到0-1之间)

YOLO的特点

  • 优点:实时性 
  • 缺点:准确率不高(不如Faster R-CNN):定位精度差(anchor box不够丰富且只回归修正一次) 小物体差:anchor的scale不够多样 不规则物体差:anchor的ratio不够多样

SSD

  • 位置:借鉴RPN的anchor box机制:feature点对应的原图感受野框处生成不同ratio/scale的default  box。没有候选框!直接对default box做全分类+回归 
  • 类别:CNN提取特征 + CNN分类,多感受野特征层输出:前面层感受野小适合小物体,后面层感受野大适合大物体。

YOLO-V2

  • 更丰富的default box,从数据集统计出default box(k-means): 随着k的增大IOU也在增大(高召回率)但是复杂度也在增加.最终选择K=5。可以看出boxj包含一定的先验知识。
  • 更灵活的类别预测 把预测类别的机制从空间位置(cell)中解耦,由default box同时预测类别和坐标,有效解决物体重叠

从输出结果可以看出,V2对每个类都进行了分类的评估和边框的拟合。

YOLO-V3

  • 更好的基础网络: darknet-19->darknet-53 
  • 多尺度:感受野多样性/anchor box(default box)多样性 
  • 多感受野特征层输出:上采样融合之后再输出(借鉴feature pyramid networks) 而SSD是直接输出不融合 
  • 更多default box: K=9, 被3个输出平分. 3*(5 + 80) = 255 3个box 5(x,y,w,h,confi) 80(coco class) 

可以看出网络更深了,box也多了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/831529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ansys Zemax | 大功率激光系统的 STOP 分析 (三)

大功率激光器广泛用于各种领域当中,例如激光切割、焊接、钻孔等应用中。由于镜头材料的体吸收或表面膜层带来的吸收效应,将导致在光学系统中由于激光能量吸收所产生的影响也显而易见,大功率激光器系统带来的激光能量加热会降低此类光学系统的…

Java中的内存划分,一个数组的内存图,两个数组的内存图,两个引用指向同一个数组的内存图

1、Java中的内存划分 Java的内存需要分成5个部分: 栈(Stack) 存放的都是 方法 中的 局部变量 。方法的运行一定要在栈当中运行。 局部变量:方法的参数,或者是方法{}内部的变量 作用域:一旦超出作用域&#…

ubuntu调整路由顺序

Ubuntu系统跳转路由顺序 1、安装ifmetric sudo apt install ifmetric2、查看路由 route -n3、把Iface下面的eth1调到第一位 sudo ifmetric eth1 0命令中eth1是网卡的名称,更改网卡eth1的跃点数(metric值)为0(数值越小&#xf…

存放数据的方式:Java集合框架

文章目录 1. 目前存放数据的方式2. Java集合框架3. Collection接口常用方法解析public boolean add(E e)public void clear()public boolean remove(E e)public boolean contains(E e)public boolean isEmpty()public int size()public Object[] toArray() 4. 迭代器5. 增强for…

从零基础开始开发自己的第一个微信小程序

文章目录 内容介绍小程序开发步骤注册微信小程序账号下载开发工具搭建开发环境创建工程编写代码手机上查看效果 工程里的文件作用介绍总结 内容介绍 通过本篇blog,你可以熟悉从零开始,搭建小程序开发环境,并运行起自己的第一个小程序。 小程…

Stability AI旗舰图像模型 SDXL1.0发布,AI绘画进入新的时代

Stability AI于7月26号开源了SDXL1.0文生图模型,要知道距离SDXL0.9开源发布也不过一个月,只能说AI发展日新月异。 根据官网介绍,SDXL1.0经过迭代更新,已经是目前世界上最好的图像生成模型 官网根据Discord上的几代实验模型和外部测试&#…

股票量价关系分析

量增价平 量增价平是指成交量增加,股价保持相对平稳的量价关系模型,量的增加可以是资金大量流入引起,也可以是资金大量流出引起,因此这种关系模型需要根据股价所处的位置来具体分析。1、股价处于低位 当股价处于低位,此…

Unity之webgl端通过vue3接入腾讯云联络中心SDK

腾讯云联络中心SDK:云联络中心 Web-SDK 开发指南-文档中心-腾讯云 (tencent.com) 1 首先下载Demo ​ 1.1 对其进行解压 ​ 1.2根据文档操作 查看README.md,根据说明设置server下的dev.js里的相关参数。 然后打开电脑终端,cd到项目的路径: ​ 安装…

喜报 | 《中国AIOps现状调查报告(2023)》发布!擎创科技案例再度入选

(本文部分内容来自《中国AIOps现状调查报告(2023)》,丝小编扣1,领取完整版报告) 2023年7月18日,信通院Xops产业创新发展论坛于北京成功举办。大会旨在提高企业研发运营水平,加强XOp…

243. 一个简单的整数问题2(树状数组)

输入样例: 10 5 1 2 3 4 5 6 7 8 9 10 Q 4 4 Q 1 10 Q 2 4 C 3 6 3 Q 2 4输出样例: 4 55 9 15 解析: 一般树状数组都是单点修改、区间查询或者单点查询、区间修改。这道题都是区间操作。 1. 区间修改用数组数组维护差分数组 2. 区间查询&am…

实现弧形切角两种方式

1、css 的 radial-gradient <view style"padding:30px; background: #ccc;"><view class"navActive"></view> </view>.navActive{width: 200px;height: 40px;background-color: #fff;color: rgb(0,63,136);position: relative;bor…

windows环境下安装elasticsearch、kibana

通过本文可以快速在windows系统上安装elasticsearch、kibana环境。 当你用Integer类型的时候&#xff0c;要非常小心&#xff0c;因为100等于100、但是200不等于200&#xff0c;当然&#xff0c;如果你会一点小花招&#xff0c;也可以让100不等于100、让200等于200。(运算符比较…

优化供应链和库存管理:PDM系统的物料控制之道

在现代制造业中&#xff0c;优化供应链和库存管理是企业实现高效运营和降低成本的重要目标。PDM系统作为一款强大的数字化工具&#xff0c;扮演着物料控制之道的角色&#xff0c;帮助企业实现优化供应链和库存管理的目标。让我们一同深入探讨&#xff0c;看看PDM系统是如何通过…

git clone 登录 github

git clone 登录 github 目录概述需求&#xff1a; 设计思路实现思路分析1.github 设置setting2.输入passwd 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result…

mac切换jdk版本

查询mac已有版本 1、打开终端&#xff0c;输入&#xff1a; /usr/libexec/java_home -V注意&#xff1a;输入命令参数区分大小写(必须是-V) 2.目前本地装有两个版本的jdk xxxxedydeMacBook-Pro-9 ~ % /usr/libexec/java_home -V Matching Java Virtual Machines (2):20.0.1 (…

Cocos Creator不规则按钮

实现该功能需要用到组件PolygonCollider2D&#xff0c;官方链接&#xff1a; https://docs.cocos.com/creator/3.4/manual/zh/physics-2d/physics-2d-collider.html 创建组件 创建一个精灵节点&#xff1a; 创建碰撞组件PolygonColider2D&#xff0c;如图 给按钮添加多边形碰…

【Axure教程】移动端二级滑动选择器

今天教大家制作移动端二级滑动选择器的原型模板&#xff0c;该原型已全国一二级省市选择器为案例&#xff0c;因为该原型用中继器做的&#xff0c;所以制作完成之后使用也很方便&#xff0c;只需修改中继器表格里的内容即可 一、效果展示 1. 拖动选择 2. 快捷选择 【原型预览…

超全整理——116道网络安全工程师面试真题(附答案),建议收藏!

随着国家对网络安全的重视度&#xff0c;促使这个职业也变得炙手可热&#xff0c;越来越多的年轻人为进入安全领域在做准备。 数以百计的面试&#xff0c;为何迟迟无法顺利入职&#xff1f;能力无疑是至关重要的&#xff0c;可却有不少能力不比已入职的同事差却应聘失败的人&a…

vite babel 获取组件的 children 代码, 填写到 jsxCode 属性中

最终效果 <DocsModule title"类型"><Button>默认按钮</Button><Button type"primary">主要按钮</Button><Button type"success">成功按钮</Button><Button type"danger">危险按钮&l…

【Jmeter】 Report Dashboard 生成html图形测试报告

目录 背景 生成图形报告的方式 1、直接使用一个已存在的 CSV文件生成 2、负载测试完成后自动生成 使用示例 报告内容详情 测试报告摘要图 响应时间随时间变化曲线 活跃线程随时间变化曲线 I/O&#xff08;Bytes&#xff09;随时间变化曲线(忽略事务控制器示例结果) …