首页 > 其他分享 >自动驾驶中的行人检测技术有哪些?(二)

自动驾驶中的行人检测技术有哪些?(二)

时间:2023-06-16 17:36:56浏览次数:33  
标签:窗口 哪些 特征 检测 驾驶 图像 行人 标注


在智慧交通领域,行人检测已经取得了不少成就。

利用图像分割、深度学习等计算机视觉技术,行人检测为自动驾驶行业发展提供了重要的技术保障,使得自动驾驶车辆能够更加准确地感知和理解周围环境,并做出更加智能和安全的决策。

下面,本文将继续介绍自动驾驶中常见的行人检测技术。

 

一、基于特征提取的行人检测方法

特征提取是计算机视觉与图像处理技术中的一个基本概念,所谓特征提取,是指从目标图像特征中选取一些最具代表性、分类能力强的特征。

每张图像都有很多特征表象,如颜色、灰度、纹理特征等,这些特征从不同的角度代表了整张图像。在行人检测领域,行人是非刚性物体,位置姿态具有多样性,因此辨别能力强,鲁棒性好,较适用于特征提取的检测方法。

底层特征检测法

在众多应用于行人检测的底层特征中,主流的检测法为2005年提出的方向梯度直方图(Histogram of Oriented Gradient,HOG)特征,大多数行人检测法都是基于HOG特征和SVM分类器的思路改进的。

HOG通过计算图像局部信息的梯度、幅值、方向等特征检测人的图形,得出水平和竖直的梯度幅值及像素点的梯度角,利用梯度幅值来对梯度角展开加权,勾勒出图像的局部梯度幅值以及相应的方向,最后利用SVM分类器进行分类预测。

HOG 特征检测法可以让不同模块相互重叠,所以对光照偏移和位置移动有很大的容差性,这种特征具备较高的鲁棒性,可以很好地表现出人体的特征。

混合特征检测法

多特征是在单特征基础上构建起来的,单一特征检测往往存在检测精度较低,泛化能力较弱等缺陷。

如低光照环境中,捕捉到的可见光非常糟糕,基于单可见光模态的道路行人检测器难以获取足够多的行人特征,会给后续检测带来一定困难。

而混合特征检测可以利用多光谱图像进行全方位的识别,将多光谱图像和其他类型的图像特征组合起来,包括纹理特征、形状特征、颜色特征等,在整个图像特征空间中寻找最具代表性的特征,从而削弱光照对检测结果的影响。

常见的多模态检测法为:

● 将HOG特征和描述纹理的LBP特征进行融合,该算法加入了加权部件,对待测图像中的每一目标附上权值,有效降低遮挡或行人目标部分重合造成的影响。

● 基于共生梯度方向直方图 (CoHOG)的行人检测方法,该方法通过多个梯度方向的特征描述行人目标,相较于基于HOG单特征的行人检测方法具有更高的准确率及召回率。

● 基于边缘特征的检测法,结合行人颜色、纹理信息,采用偏最小二乘( PLS)降低维度,提升计算效率。

多模态融合的行人检测方法,其检测速度、准确率、鲁棒性各有不同,因此在不同应用场景下所选择的行人特征描述也各有差异。

 

二、基于分类与定位的行人检测法

该检测方法可以直接判断待检测图像中是否存在行人并进行窗口定位。目前,常用的分类定位法包括滑动窗口法与超越滑动窗口法。

滑动窗口法

滑动窗口法需要在待测图像中选择一个固定宽高的窗口并依序滑动,并通过分类器模型判别窗口内的行人特征。该方法由整体法与部分法两种方法组成。

● 整体法

整体法可以直接提取窗口内行人目标的全局特征,常见的方法包括SVM、Boosting等。在训练数据集时,整体法只需用矩形框标注出行人区域,这种方法执行效率较高,但同时也容易易忽视细节特征,在拥挤环境、遮挡影响下的行人检测精度会大幅降低,因此该方法不适用于小目标行人的检测。

● 部分法

部分法基本原理是将行人划分为若干个不同部位,再分别对检测不同部位的分类器进行训练,并建立各个部位之间的几何关系。相比整体法,部分法通常对遮挡较多、行人重叠等场景具有较强的鲁棒性,然而各部位与整体图像的匹配需要大量时间,因此在实时性方面难以达到应用要求。

超越滑动窗口法

与滑动窗口法相比,超越滑动窗口法在行人检测技术中应用较少。

● 高效子窗口搜索法:顾名思义,这是一种能快速定位目标的方法,但计算过程较复杂。

● 交替搜索的近似算法:是对高效子窗口搜索法的改进,其速度可增加约900倍,但在遮挡环境下表现较为一般。

● 隐式形状模型:隐式形状模型是前两种方法的结合,它不依赖图像预处理来区别复杂场景,不仅能快速定位,且能有效解决遮挡问题,但其局部特征的检测精度较差,难以兼顾检测实时性,误检率较高。

 

三、实现细节

行人检测系统的构建除了与特征提取、分类定位、图像分割、深度学习等技术相关外,还与训练样本质量密切相关。

训练样本质量对行人检测系统构建非常重要。在训练深度学习模型时,需要海量优质训练数据才能够提升模型的性能。对于行人检测系统来说,训练样本应该包含各种不同的场景、天气、时间和光照条件下的行人图像,以确保模型在各种情况下都具备较好的泛化能力。

此外,还需要注意训练样本的标注质量,标注的准确性会直接影响行人检测模型的性能和效果。如果标注的边界框和分类标签不准确,模型就会学到错误的特征,导致检测错误率上升。


因此,在进行数据标注时,需要使用高质量的数据标注工具,并由专业的标注人员进行标注。标注人员需要根据预先定义好的标注规则来标注每个行人的边界框并确定其类别。在标注过程中,需要仔细查看每张图片,细致地标注每个行人,确保标注的准确性和一致性。

在标注行人时,常用的工具包括使用语义分割、实例分割、矩形框与多边形标注等,以更直观地标注每个行人的位置和形状,提升标注工作时效性。

“如在拉框标注时,行人训练样本的标注中往往给出的是包含行人的最小矩形窗口,但实际上,可以对框体继续向下延伸,因为行人一般站在地面上,而地面的特征通常相对固定,扩充窗口可以提高行人标注的准确性。”

综上所述,标注数据质量是行人检测系统能否达到预期性能的关键因素。如果标注不准确,训练数据质量差,会严重影响模型的性能,从而导致行人检测精度下降或漏检等问题。

 

 

标签:窗口,哪些,特征,检测,驾驶,图像,行人,标注
From: https://www.cnblogs.com/manfukeji/p/17486095.html

相关文章

  • 武汉星起航:亚马逊卖家在prime day来临之际需要做好哪些准备
    PrimeDay是亚马逊年度最大的促销活动之一,对于卖家来说是一个重要的销售机会。为了充分利用PrimeDay的潜力,星起航认为卖家需要在活动来临之前做好以下准备工作:库存管理:首先,卖家需要评估自己的库存情况。根据过去的销售数据和PrimeDay的预期需求,合理规划库存,确保能够满足潜在的订......
  • web worker进程和线程的区别,Chrome 中有哪些常⻅进程,如果我有⼀个耗时很⻓的同步计算
    进程(Process)和线程(Thread)都是操作系统中用于多任务处理的概念。简单地说,一个进程就是一个程序的执行空间,而一个线程则是在执行空间内独立运行的执行路径。区别:进程是系统分配资源的最小单位,线程是操作系统调度的最小单位。各个进程之间是独立的,各个线程之间共享一些资源。创......
  • 黄金期货交易规则有哪些?黄金期货交易规则详解
    黄金期货交易是一种高风险的投资工具,因此新手投资者在准备交易前建议先学习重要的黄金期货交易规则,对黄金期货产品交易有一个大概的了解。黄金期货交易规则有哪些?以下是重要的黄金期货交易规则详解黄金期货交易规则一、交易前需要先开户黄金期货是期货产品其中一种,如同股票投资要到......
  • 黄金期货交易费用有哪些?需要多少钱?
    黄金期货是以黄金为交易对象的期货合同。同一般的期货合约一样,黄金期货合约也载有交易单位、质量等级、期限、最后到期日、报价方式、交割方法、价格变动的最小幅度、每日价格变动的限度等内容。黄金期货是一种投资方式,会产生黄金期货交易费用的支出。那黄金期货交易费用有哪些?到底......
  • 怎么买美股?有哪些美股购买常见问题?
    美股市场是全球最大的股票市场,也是全球最受投资者关注的市场之一。许多投资者都想参与其中,但不知道如何买美股。上文中已经扩列了美股购买的基本规则,继续为大家分享美股购买常见问题的相关知识要点。更深入的认识美股交易。美股购买常见问题一、如何开户?对于国内投资者而言,大多数都......
  • 程序员接单,哪些单子需要特别注意?
    众所周知,国内各行各业都在卷,程序员更是卷王里的佼佼者!所以在接单这方面也是严重的僧多粥少,其中还有很大一部分是不靠谱的单子,那么那些单子需要特别注意呢?这里给大家分享一下我这几年来总结的一些经验,希望对大家有一点帮助。低价单首先要注意的是低价单。无论再怎么卷,请大家务必......
  • GOTC峰会Sermant发布1.1.0-beta版本,带来哪些提升?
    5月27-28日,GOTC全球开源技术峰会在上海如约举办,Sermant也在GOTC中进行亮相,并参与了活动展台、快闪演讲等活动,吸引众多开发者深入了解Sermant的无代理微服务框架的非侵入、高性能、插件化的核心优势,并对探索实践和落地表现出极大兴趣。本次GOTC峰会也邀请了Linux基金会执行董事、LF......
  • 常见的关键词选取方法有哪些?
    在做关键词策略的时候,选取关键词是一个很重要的环节。如何选取适合自己网站而且能够带来一定效益的关键词。常见方法如下:1、趋势推测法所谓的趋势推测法就是利用即将到来的事件进行关键词的提前策划与推测。在SEO领域,获得了先机往往能够获得不错的效益。2、长尾词法则根据二八法则,......
  • C++面试八股文:在C++中,有哪些可执行体?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第14面:面试官:在C++中,有哪些可执行体?二师兄:可执行体?面试官:也就是可调用对象。二师兄:让我想一想。函数、函数指针、类的静态方法、类的成员方法、仿函数、lambda表达式。面试官:能说一说他们之间有什么区别吗?二师兄:好的。函数是......
  • C++面试八股文:C++中,设计一个类要注意哪些东西?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第9面:面试官:C++中,设计一个类要注意哪些东西?二师兄:设计一个类主要考虑以下几个方面:1.面向对象的封装、继承及多态。2.bigthree或者bigfive。3.运算符和函数重载、静态成员、友元、异常处理等相关问题。面试官:请介绍一下面向......