自动驾驶采标系列三:基于图像的目标检测技术
标注猿的第54篇原创
一个用数据视角看AI世界的标注猿
上一篇文章我们从“环境感知”数据的采集设备上进行了详细说明,已经了解了相应设备采集的数据及采集前中要对设备进行的标定工作。感兴趣的小伙伴可以查看一下上一篇文章。自动驾驶采标系列二:车载感知与车载传感器标定(内附标注猿专属定制新年礼品)
本文会从基于图像的目标检测技术和相关的标注方法上进行讲解。
基于2D图像的目标检测
基于3D图像的目标检测
基于2D图像的标注方法
一.基于2D图像的目标检测算法
目前基于2D图像的目标检测算法可以分为两大类:
基于候选框的R-CNN系列算法:首先产生目标候选框,然后对目标候选框做分类和归类。
该算法分为三部分:
针对这个问题,Fast R-CNN将整张图像输入特征提取网络,增加了一个RoI(Rgion of Interest,兴趣区域)池化层,将特征提取网络的输出和兴趣区域作为输入,输出连接后的各个兴趣区域抽取的特征,避免重复的特征计算过程。
同时Fast R-CNN使用softmax去代替SVM进行多分类的预测,从而实现了端到端的训练。
R-CNN
采用选择搜索算法生成了类别独立的候选区域,这些候选区包含了最终定位的结果。
提取候选区域的特征,利用在大型目标分类数据集ImageNet上预训练的AlexNet网络,在Pascal Voc数据集进行了微调。
利用一系列SVM分类器对候选区域进行分类识别,并产生置信度分数,由于候选区域很多,因此针对每个类,通过计算IoU指标,采用非极大性抑制,以最高分的区域为基础,提出掉那些重叠位置的区域,从而减少了分类识别的开销,同时用边框回归进行目标框的修正。
Fast R-CNN
R-CNN颠覆了传统的目标检测方案,使得检测精度得到了大幅度提升,但是依然存在一些缺点:
得到目标候选框后,需要对每个目标候选框剪切出相应区域的图片,然后输入AlexNet网络中提取特征,其中涉及大量的硬盘读写问题,同时针对这些目标候选框通常有大幅度的重叠,独立抽取特征会导致大量的重复计算,大大增加了检测时间。
Faster R-CNN
尽管Fast R-CNN对于R-CNN的性能瓶颈(特征提取部分)做了改进,但是使用选择搜索方法产生兴趣区域建议阶段只能在CPU上运行,难以满足目标检测的实时性要求,因此Faster R-CNN在Fast R-CNN的基础上,提出了使用卷积神经网络生成兴趣区域建议,从而提升目标检测效率。
基于YOLO、SSD等其他算法:仅使用一个卷积网络预测不同目标的类别和位置,不使用两个阶段的方法。
YOLO
是一种基于神队神经网络的对象识别和定位算法,其最大特点是运行速度快,可以支持实施系统。
YOLOv1
是将整张图片作为特征提取网络的输入,但是不同于Fast R-CNN,其将特征提取网络的输出层划分为网格,在每个网格内执行BBox(物体的二维检测框,通常使用中心点二维坐标,物体长宽参数来表示)回归预测和物体分类任务。
其特点是执行速度快,且通用性强。
YOLOv2
相对于YOLOv1,在保持处理速度的基础上,从预测更准确、速度更快、识别对象更多三个方面进行了改进。
借鉴了VGG网络中使用多个小卷积核代替大卷积核的思想,并且使用1*1卷积核代替全连接层,使得特征图每个位置共享参数,参数数量更少,计算速度更快。
YOLOv2将dropout替换成了效果更好的批标准化(Batch Normalization),在每个卷积层计算之前利用批标准化进行批归一化。
为了使网络可以适应输入分辨率差异,在训练过程每经过10个batch就会随机选择一种分辨率输入,利用图像插值对图像进行缩放,从而达到适应不同分辨率的效果。
在进行BBox预测时摒弃了锚点的概念,从直接预测目标相对网格区域的偏移量到预测AnchorBox的修正量,有了先验长宽比的约束,可以减少很多不规则的目标定位。
YOLOv3
在基础的特征提取网络上进行了改进,在加深网络的同时引入了RestNet中的残差思想,从而使得特征提取能力更强,在此基础上还提取了多尺度的特征使得网络可以适应不同尺寸物体的特征提取;
在损失函数上,取消了对于分类概率的联合分布softmax,而是采用了logistic函数,因为有一些数据集中的目标存在多标签,而softmax函数会让各个标签相互抑制。
YOLOv4
使用了多种数据增强技术的组合,对于单一图片,除经典的几何畸变与光照畸变外,还使用了图像遮挡(Random Erase、Cutout、MixUp等)技术。
SDD
提出了一种针对多个类别的单阶段检测器,比YOLO的单阶段检测器更快,检测精度与两阶段Faster R-CNN相同。
其核心是使用应用于要素图的小卷积滤波器来预测固定的一组默认边界框的类别得分和框偏移。
为了达到较高的检测精度,根据不同尺度的特征映射生成不同尺度的预测,并通过纵横比明确地分开预测。这些特征使得即使再低分辨率输入图像上也能实现简单的端到端训练和高精度,从而进一步提高速度和精度之间的权衡。
上述的目标检测方法的检测结果都是2D的,只识别出物体在图像上的二维位置和尺寸。而现实场景是三维空间,还需要获得障碍物与自身较为精确的距离信息、长宽高尺寸信息、朝向信息、偏向角等指标。
二.基于3D图像的目标检测算法:
RGB-D
RGB-D在R-CNN的基础上通过对每个像素点计算水平视差、高度、相对于中立倾斜角计算得到深度信息,并将深度信息编码为具有三个通道的2D彩色图像。
在特征提取阶段,利用预训练好的2D卷积神经网络进行特征提取,最后使用SVM进行分类,从而产生了2.5D的目标建议框(包含每个像素的视差、高度、倾斜角)
Deep Sliding Shapes
生成深度信息的方式是TSDF(Truncated Signd Distanc Function,截断有符号距离函数)方法,与RGB-D相比,其能够在3D中自然地编码几何形状,从而保留空间局部性,使得卷积神经网络能够从原始数据中学习得到具有辨别力的特征。
在检测模块设计了Deep Sliding Shapes检测器,它将RGB-D图像中的3D体积场景作为输入,以3D的形式运行滑动窗口,直接对每个3D窗口进行分类并输出3D对象边界框。
利用从几何形状学习物体性的3D区域提议网络(RPN)以及联合的对象识别网络(ORN)提取3D的几何特征和2D的颜色特征。为检测尺度不同的目标物体,RPN网络设计成为多尺度3D RPN,以提取不同尺度的3D区域建议。
Stereo R-CNN
不同于一般的基于RGB-D的3D目标检测算法,Stereo R-CNN将左右目RGB图像直接作为输入,而不显式的生成深度图(Depth Map),极大的缩短了目标检测的延时。在目标检测模块,该方法充分利用了立体图像中的稀疏、密集。语义和几何信息,并扩展了Faster R-CNN以用于立体图像输入,同时检测和关联左右图像中的对象。
其在立体声区域提议网络之后添加额外的分支来预测稀疏关键点、视点和对象维度,这些关键点与2D左右框组合以计算粗略的3D对象边界框,然后使用左右RoI的基于区域的光度对准来恢复精准的3D边界框。
三.基于2D图像的标注方法
车道线标注:
车道线类别
无车道线
虚线
双虚线
双实线
虚实线
锯齿实线
左侧低路沿(路沿高度在0-0.1M之间)
左侧中路沿(0.1-0.3M)
左侧高路沿(0.3M+,隔离栏属于高路沿)
右侧低路沿(路沿高度在0-0.1M之间)
右侧中路沿(0.1-0.3M)
右侧高路沿(0.3M+,隔离栏属于高路沿)
其他
车道线属性
主车道左侧车道线
主车道右侧车道线
邻车道左侧车道线
邻车道右侧车道线
其他车道左侧车道线
其他车道右侧车道线
压线
网格线左
网格线右
岔道口左
岔道口右
其他
车道线遮挡属性
无遮挡
轻微遮挡(低于30%)
一般遮挡(30%-70%)
严重遮挡(70%+)
其他
2D拉框标注:
标注类型
行人:无论什么姿势,不区分年龄、身体姿态、朝向。
二轮车骑行者:骑行者是指骑车(自行车、电动车、摩托车)的人,人和车标记为一个整体,包括头盔。
自行车:两轮自行车。
摩托车:两轮的电动车,摩托车,
三轮车:快递车、人力三轮车、电动三轮车、有3个轮子的机动摩托车,3 个轮子的老年代步车等体型较小的车辆。
三轮车骑行者:骑行者与三轮车标注为一个整体。
面包车:一般三排座位,包含MPV、房车等。
巴士:公交车、客车,不区分大小。如大巴(如公交)、大型客车、中型客车。车里的人不需要标。
厢式货车:车后部分为封闭形式,车厢方方正正,车体和箱体是一体的(注意:后面是集装箱的不是箱式货车,是挂车)。货柜车,也是集装箱车。
罐式货车:混凝土搅拌车,石油、天然气运送车,洒水车。
工程车:装载机,压路机,道路维护车,拖车,吊车,道路施工车等
轿车:指家用常见的汽车、SUV、跑车、四轮电动车等,一般两排座位。
特种车辆:消防车,警车,救护车,校车,旅游观光车、巡逻车。
其他可移动物:滑板,滑板,平衡车,小推车,婴儿车,轮椅。
交通杆
拦截路障:(施工过程挡路的栅栏,铁牌)
墩子:(石头或者铁的)
停车牌
雪糕筒
路、障碍物
可行驶区域标注标注类型
标注类型
当前可行驶区域
当前不可行驶的路面区域
缓冲区
停止线
隔离带
步行道
人行横道
像素级语义分割
标注类型
路面:交规中规定可车车辆行驶的区域(包含减速带,自行车道)。
车辆:机动车、四轮车等道路上行驶的交通工具。
行人:人类、包括骑行者,各种姿势、体态的人。
不可跨越障碍物:围栏等直接接触路面的不可跨越的障碍物。
可跨越障碍物:;边道等低矮障碍物,专指水泥或者石砖制成的结构。
其他障碍物:墙体、建筑物、树木等其他一般障碍物,非在行驶区域的障碍物。
轻便车辆:摩托车、电瓶车、自行车、三轮车等等两轮、三轮轻便交通工具。
绿植:灌木(高和低灌木)、绿化带等(路沿和绿植分开。如果路沿被盖住,那么只标绿植。以人眼为标准判断路沿绿植是否分开)。
草皮:地板草,或者泥土地(边道树木下面的泥土)等。
车道线:实线,虚线,双线,等车道线。
人形横道:斑马线上的白线部分。
地面标识:箭头,菱形,文字等地面标志。
停止线:垂直于车辆行驶方向的车道线。
路边沿:路沿凸起部分的一条,不包括里面的边道。
路边界线:道路边界上的白线。
减速带:高出路面的减速带。
轮档:停车场的轮档。
交通锥:交通锥。
车位线:停车场的车位线。
导流带:导流线。
垃圾桶:方形的柜子,垃圾桶等。
小物体:消防栓,纸箱,小狗等小物体。
忽略区域:不确定区域,例如成像设备导致的图片边界拖影等不确定区域,拖影,不确定区域等。
关于自动驾驶2D图像的数据标注还有非常多的类型,例如:车牌标注、行人标注、车辆分类、车库牌标注、车辆遮挡属性标注、车辆角度标注、车辆关键点标注、车辆及接地点标注、路杆标注、交通牌标注、地库墙体标注、防撞条标注、红绿灯标注等等。
以上就是本文基于图像的目标检测技术及标注方法的介绍。有感兴趣的小伙伴也可以看《基于5G的智能驾驶技术与应用》一书,是北邮的网络与交换国家重点实验室组编,非常适合小伙伴做基础理解和行业了解为主的学习。
-----------------------完---------------------
公众号:AI数据标注猿
知乎:AI数据标注猿
CSDN:AI数据标注猿
-----------------------完---------------------
自动驾驶采标系列三:基于图像的目标检测技术相关推荐
- 自动驾驶采标系列四:基于激光雷达的目标检测方法
标注猿的第55篇原创 一个用数据视角看AI世界的标注猿 上一篇文章我们讲了基于图像的目标检测技术,但对于标注人员来说这部分内容就相对比较难一些,只是作为一个了解就可以,但是如 ...
- 自动驾驶采标系列六:复杂场景语义理解-交通识别检测技术
标注猿的第57篇原创 一个用数据视角看AI世界的标注猿 前几篇文章从两种数据的角度去学习了基于图片和激光雷达数据的算法,较为通俗的说明了其算法的逻辑,从而为理解其标注数据在使 ...
- 自动驾驶采标系列七:复杂场景语义理解-可行驶区域检测
标注猿的第58篇原创 一个用数据视角看AI世界的标注猿 本篇文章我们继续学习自动驾驶采标系列的算法基础理论,关于复杂场景语义理解中的可行驶区域检测部分. 车辆可行驶区域包括结 ...
- 自动驾驶采标系列二:车载感知与车载传感器标定
上一篇文章对自动驾驶采标问题中的一系列法律问题进行了浅析,接下来自动驾驶采标系列里面会对自动驾驶相关技术和知识点进行进一步梳理,来帮助小伙伴深入的了解自动驾驶的架构逻辑与数据采标工作的关系. 上文中提 ...
- 自动驾驶采标系列一:自动驾驶数据采集资质及采集数据出境的调研分析
注猿的第52篇原创 一个用数据视角看AI世界的标注猿 各位小伙伴小猿又回来啦,最近由于工作的原因拖更了两个月的时间,很多小伙伴后台留言没有及时回复还请海涵,为了表达 ...
- 基于图像的目标检测与定位方法概述
目录 1. 目标检测与定位概念 2. 目标检测与定位方法 2.1 传统目标检测流程 2.2 two-stage检测算法 2.2.1 R-CNN 2.2.2 two-stage其他算法 2.2.2.1 ...
- David P.Williams论文系列 合成孔径声纳图像快速目标检测:一种新算法及大规模性能分析
摘要 本文提出了一种新的无监督合成孔径声纳(SAS)水下目标探测算法.该方法利用高分辨率的高质量SAS图像,这些图像上的目标有很多像素.该方法的一个特别新颖的组成部分还可以检测沙波纹并估计它们的方向. ...
- 【目标检测_keypoint based 方法系列】基于关键点的目标检测
文章目录 一.CornerNet 二.ExtremeNet 三.CenterNet 3.1 关键步骤: 3.2 关键点检测网络: 3.3 目标大小的回归 3.4 从点到b-box: 3.5 Cente ...
- 三维感知,这些干货足够了!(自动驾驶/三维重建/SLAM/点云/标定/深度估计/3D检测)...
人工智能渗入到越来越多领域,以计算机视觉为主的相关应用更是呈现爆发性增长,国内外资本对AI视觉兴趣只增不减,自动驾驶.工业视觉.AR/VR.测量测绘.移动机器人等领域涌现了大量独角兽公司,相关产品受到 ...
最新文章
- keras 模型量化
- 网络爬虫相关程序学习(包含jar包等)---各大网站网络爬虫
- C#中级-Windows Service程序安装注意事项
- 【Webcam设计】利用底层V4L2+OPENCV进行图像处理以及移植策略
- Vivado封装自定义IP
- 记一次守护日志导致硬盘空间告警问题
- iOS中的预编译指令的初步探究
- 西门子plc烧录单片机_用51单片机做简易PLC
- 戴尔服务器r720u盘装系统,DELL R720服务器U盘安装操作系统指南
- 微信步数修改.html,httpCatcher,charles修改微信步数,支付宝森林能量满满
- javaweb,springboot项目生成路径
- 【防火墙_动态路由-OSPF】
- 【CF487E】Tourists-圆方树+multiset+树链剖分
- Codeforces Round #828 (Div. 3)-赛后总结
- 金庸武功之““兰花拂穴手””--elk5.5安装
- 【历史上的今天】3 月 19 日:图灵奖人工智能先驱诞生;微软发布 IE8;Android Auto 上线
- 全球最牛的4个区块链项目都在这里!
- 牛奶可乐经济学之Q12:为什么公司宁愿奖励员工一辆免费的宝马汽车,而不是等值的现金?
- 2017山东单招计算机试题,2017年山东单独招生模拟试题(语文/数学/英语)
- 用计算机对视频进行剪裁和编辑,如何裁剪视频?怎么在电脑上裁剪视频?
热门文章
- ARP SpoofDoS攻击编程(转)
- 通俗易懂的oracle11g讲解,王二暖DBA学习开发Oracle11G数据库视频教程带课件
- 十二、用户中心(用户部分)
- Plink常用命令总结
- 微型计算机CLD什么意思,房地产里说的CLD是什么意思
- 谈谈系统认证 (Authentication) 和授权 (Authorization)
- Corda ledger 概念性非技术白皮书
- 用Electron将web网页程序包装成桌面应用
- GDAL/OGR 地理要素样式(二)
- 【报告分享】2020美图女性Plog行为研究报告.pdf(附下载链接)