行人检测( Pedestrian Detection)是利用
计算机视觉技术判断图像或者视频序列中是否存在行人并给予精确定位。该技术可与行人跟踪,
行人重识别等技术结合,应用于
人工智能系统、车辆辅助驾驶系统、
智能机器人、
智能视频监控、人体行为分析、
智能交通等领域。
发展历史
行人检测系统的研究起始于二十世纪九十年代中期。从最开始到2002年,研究者们借鉴、引入了一些图像处理、模式识别领域的成熟方法,侧重研究了行人的可用特征、简单分类算法。自2005 年以来,行人检测技术的训练库趋于大规模化、检测精度趋于实用化、检测速度趋于实时化。随着高校、研究所以及汽车厂商的研究持续深入,行人检测技术得到了飞速的发展。
国外的行人检测系统的研究机构主要有
卡内基梅隆大学(CMU)、
麻省理工学院(MIT)、日本丰田汽车研究中心、戴姆勒-克莱斯勒研发中心等;国内的主要有
清华大学、
浙江大学、
上海交通大学、
西安交通大学、
中国科学技术大学、
吉林大学、中科院自动化所等。
检测方法
现有行人检测方法有三种,分别为基于全局特征的方法、基于人体部位的方法、基于立体视觉的方法。
基于全局特征的方法
该类方法是较为主流的行人检测方法,主要采用边缘特征、 形状特征、 统计特征或者变换特征等图像的各类静态特征来描述行人,其中代表性的特征包括Haar小波特征、HOG 特征、Edgelet特征、Shapelet特征和轮廓模板特征等。
(1)基于Haar小波特征的方法
Papageorgiou和Poggio最早提出Haar小波的概念,Viola等引进了积分图的概念,加快了Harr特征的提取速度,并将该方法应用于行人检测,结合人体的运动和外观模式构建行人检测系统,取得了较好的检测效果,为行人检测技术的发展奠定了基础。
Dalal和Triggs在2005年提出梯度方向直方图( Histogram of Oriented Gradients,HOG)的概念,并将其用于行人检测,在 MIT行人数据库上获得近乎 100% 的检测成功率;在包含视角、 光照和背景等变化的 INRIA 行人数据库上,也取得了大约 90% 的检测成功率。HOG是使用最为广泛的行人特征描述子。
(3)基于edgelet特征的方法
B. Wu等人提出了“小边” ( Edgelet) 特征的概念,即一些短的直线或者曲线片段,并将其应用于复杂场景的单幅图像的行人检测,在 CAVIAR 数据库上取得了大约92%的检测率。
(4)基于Shapelet特征的方法
针对上述Edgelet特征存在的缺点,Sabzmeydani在2007 年提出了一种可以利用机器学习的方法自动得到的特征,即Shapelet特征。该算法首先从训练样本提取图片不同方向的梯度信息,然后利用AdaBoost算法进行训练,从而得到Shapelet特征。
(5)基于轮廓模板的方法
该方法是指利用图像中目标物体的边缘轮廓、纹理和灰度等信息构建模板,通过模板匹配的方法检测目标。Gavrila等较早提出了基于人体边缘轮廓的模板识别方法用以检测行人。
(6)基于运动特征的方法
近年来一些学者尝试将目标的运动信息加入到行人检测系统中,并与其他静态特征相结合用于检测行人。其中较具代表性的算法包括: (1) Viola等人针对摄像机静止的情况提出在不同图像上计算Haar-like特征,然后将运动信息与图像的灰度信息相结合构建行人检测系统。(2) Dalal等针对摄像机运动的情况,提出将基于外观的梯度描述子和基于运动的差分光流描述子相结合来构建
行人检测器,但该方法只对单个窗口的检测比较有效,对于整幅图像检测效果则很差。
基于人体部位的方法
该类方法的基本思想是把人体分成几个组成部分,然后对图像中每部分分别检测,最后将检测结果按照一定的约束关系进行整合,最终判断是否存在行人。
基于立体视觉的方法
该类方法是指通过2个或2个以上的摄像机进行图像采集,然后分析图像中目标的三维信息以识别出行人。
检测数据集
MIT行人数据集
该数据集是较早公开的行人数据集,主要是用数字照相机和摄像机在不同季节获取的图像和视频,共 924 张行人图片,图像数据突出人体所在部分。该数据集的问题是未区分训练集和测试集,图像只有正面和背面两个视角,没有负样本。
INRIA行人检测数据集
由 Dalal和Triggs于2005年创建,是使用最广泛的静态行人检测数据库之一。数据集中图像尺寸为64×128 像素分为训练数据集和测试数据集。训练数据集中有正样本图像有614个,负样本图像1218 个;测试数据集中有正样本图像288个,负样本图像453个。
DAIMLER CHRYSLER 数据集
该数据集利用摄像机安装在移动车辆上拍摄获得,分为分类和检测数据集。检测数据集的训练样本集有两类尺寸图像,都属于正样本图像,分别15560张,行人高度都大于72个像素;负样本也有两类尺寸,共6744张。测试数据集为一个时长27 分钟的视频,共 21 790 帧图像(其中有 56 492 行人)。分类数据集有3个训练集和两个测试集,每个数据集有4 800个行人图像,5000个非行人图像。
Caltech 行人数据集
该数据集是规模最大的行人检测数据集之一,创建于2009年,也采用移动摄像机获得,总共有约10个小时的视频数据,视频的分辨率为640×480,30帧/秒。数据集分为11个子集,其中6个子集为为训练集(包含192 000个行人,6100个正样本和61000个负样本),5个子集为测试集(155000个行人,56000个正样本和 65000个负样本)。
TUD 行人数据库
提供图像对以便计算光流信息,该数据库主要用于评估运动信息在行人检测中的作用,常用于行人检测及跟踪研究中。
NICTA 数据集
该数据集是规模较大的静态图像行人数据集,训练集包含 187000个行人,5200个负样本;测试集包含 6900个行人,50000个负样本。
ETH 数据集
Ess 等建立了该行人数据集,用于对多个行人同时检测。该数据集采用车上安装的摄像头拍摄得到,帧率为 13~14 fps,分辨率为 640×480,标注了行人相关信息。
USC 数据集
该数据库包含三组数据集(USC-A、B、C),其中通过 XML格式标注了信息。USC-A中的图像来源网络,共205个,其中有313个直立行人,行人之间不存在互相遮挡,但只有正面和背面两个视角;USC-B 中的图像来源于 CAVIAR
视频数据库,包括各种视角的行人,但行人之间有互相遮挡,共 54 个图像,271 个行人;USC-C 中有 100 个图像来源于网络,其中 232 个行人,行人之间没有互相遮挡。
CVC 行人数据集
该数据库包含六个数据集(CVC-1到CVC-6),都是在不同环境下拍摄的图像,包括运动的行人和部分遮挡的行人,从而能对应用的算法做更好的性能估计。
检测分类器
行人检测方法中主要用到的分类器有
支持向量机(SVM)、Adaboost和神经网络分类器,下面分别对这几种分类器进行概述。
SVM分类器
Vapnik 提 出 的 支 持 向 量 机 (Support Vector Machine, SVM)是近年来具有完善理论基础的分类器之一。SVM分类器是基于结构风险最小化规范的统计学习方法,根据所采用核函数的不同,可分为“线性 SVM”和“非线性 SVM”两种。
神经网络分类器
神经网络分类器经过多年的发展,已经发展成为一个包含了众多学习模型的机器学习算法群。最基本的神经网络是被应用广泛的基于vanilla的神经网络系统,也可以称为单隐藏层后向传播网络,即单层感知器。神经网络通过学习的方式将模式的特征隐藏在一些事先设定好的网络参数中,通过这种方式可以描述比较复杂的特征,正因为神经网络具有这样的特点,近年来在行人检测技术领域也得到了广泛地应用。
Adaboost分类器
Adaboost 是由 Freund 和 Schapire最早在1997年提出来的一种自适应的 boosting 方式分类器,其中使用了指数损失函数,采用了基于贪心策略的前向分布搜索方式,并进行加法建模。通过Adaboost 得到的分类器广泛应用于模式识别和计算机视觉领域。
用途与前景
行人检测在计算机应用领域有着非常广泛的应用,比如车辆辅助驾驶系统、
智能视频监控、机器人、航拍图像、人机交互系统、运动分析等。近年来智能车辆领域研究中备受关注的前沿方向,一些汽车生产厂商、 大学和研究机构相继开始了行人检测技术的研究 。比如,欧洲戴姆勒、德国大众等就发起了旨在研究行人保护方案的 PROTECTOR 项目 , 并且已经取得了初步的成效。2004-2005年的SAVE- U项目实现的目标是减少行人和车辆碰撞造成的伤亡数量和事故等级, 并在危险状况下驾驶员警告和车辆自动减速试验车辆。作为无人驾驶的先驱技术之一,行人检测系统在近几年也已成为研发热点,它通常整合到碰撞预防系统当中,利用雷达摄像头和感应器来检测行人,并及时减速刹车从而减少事故伤害。沃尔沃、丰田等车企已率先推出先进的行人检测系统,而福特也推出了先进的行人检测系统,能够识别路上的行人并进行动态分析,预测他们是否会闯入驾驶路线中。除了传统汽车公司外,很多互联网公司也在研发行人检测系统,以期实现智能汽车。谷歌最新的行人检测系统只靠摄像机影像来掌握行人动向,但是优化了速度问题。此外,行人检测在智能交通等领域也越来越受到重视。