一种使用GPU加速的实时行人检测系统技术方案

技术编号:16501769 阅读:29 留言:0更新日期:2017-11-04 12:04
一种使用GPU加速的实时行人检测系统,包括GPU设备,采用开源工具ffmpeg将接入的视频流进行解码,此时格式为RGB的视频存数据位于内存中,在采用多核混序拷贝将内存中的数据传输至GPU设备内存中,而后将位于GPU设备内存中的待识别图像数据进行多尺度缩放,最后对每一个尺度的待识别图像加载GPU加速检测算法,进行实时行人检测;能够快速、准确对视频中出现的人进行检测,有效降低防卫人员的工作量。

A real-time pedestrian detection system using GPU acceleration

A GPU accelerated real-time pedestrian detection system, including GPU equipment, the use of open source tools ffmpeg will access the video stream decoding, the data format for RGB video stored in memory, mixed order copy to transfer data to the GPU device memory in memory in the kernel, and then will be located in the image to be recognized GPU device data in memory for multi-scale zoom on each scale, finally the image loading GPU acceleration detection algorithm, real-time pedestrian detection; be able to quickly and accurately to appear in the video for detection, effectively reduce the workload of defense.

【技术实现步骤摘要】
一种使用GPU加速的实时行人检测系统
本专利技术涉及人工智能
,尤其涉及一种使用GPU加速的实时行人检测系统。
技术介绍
针对视频的行人检测有着广泛的应用场景,如:安防监控、机场安全、自动驾驶、辅助驾驶等等,故行人检测是计算机视觉和模式识别领域中的重要研究方向;不同行人的身材、姿势、视角、衣着、光照方面都有着极大的变化,再加上复杂的背景以及摄像头的晃动,都成为行人检测需要解决的问题。一个良好的行人检测系统需要满足两个属性,首先是准确性,其次是实时性,为满足系统的准确性,需要设计一个或若干个能够表征行人特征的描述符,通常这些描述符越复杂,系统的准确性会有一定程度的提高,但同时计算的复杂度也会随之提高;此外,针对一些特定的应用,如实时视频安防、自动驾驶,系统则必须满足实时性,因此实现一个既能准确检测出行人,又能满足实时性的行人检测系统有客观需求。
技术实现思路
本专利技术所解决的技术问题在于提供一种使用GPU加速的实时行人检测系统,以解决上述
技术介绍
中的缺点。本专利技术所解决的技术问题采用以下技术方案来实现:一种使用GPU加速的实时行人检测系统,包括GPU设备,采用开源工具ffmpeg将接入的视频流进行解码,此时格式为RGB的视频存数据位于内存中,在采用多核混序拷贝将内存中的数据传输至GPU设备内存中,而后将位于GPU设备内存中的待识别图像数据进行多尺度缩放,最后对每一个尺度的待识别图像加载GPU加速检测算法,进行实时行人检测,具体步骤如下:1)训练行人检测模型①数据集使用INRIA数据集,INRIA数据集中用来训练的正样本有2416张,正样本的宽高分辨率有三个版本64x128、70x134、96x160,可供选择;而1218张分辨率不同的负样本只有一个版本,选择宽高分辨率为64x128的紧凑型(周围背景较少)正样本,为了使CENTRIST特征更好的描述行人,将宽高分辨率为64x128的正样本裁剪为宽高分辨率为36x108的紧凑缩版正样本;②建立分类器在训练阶段,使用所有的正样本形成规模为2416的训练集P和规模为1218的负样本N1(在每一个负样本中随机选取位置截取10个36x108的矩形框形成),令NT←N1使用P∪NT训练得到一个线性SVM分类器H1;使用SVM分类器H1检测所有的负样本N1,将误识别为正样本的负样本称为难例,记为Nhard,令NT←NT∪Nhard(这一过程称之为Bootstrap流程),并重复识别难例这个流程,直到难例的数量为0,最终得到的线性SVM分类器记为HLIN;对于非线性HIK-SVM,同样使用上述Bootstrap流程方法训练,最终得到非线性SVM分类器记为HHIK;2)GPU加速检测算法采用中心变换直方图特征结合CT变换对训练行人检测模型的样本图片进行检测,通过比较像素点与其周围像素灰度值的大小计算,计算方法如下:使用高宽分辨率为36x108的检测窗口,将训练行人检测模型中的每个样本图片划分9x4个块(每个块的尺寸为12x9)与邻近的2x2个块组成一个超级块,并提取每一个超级块的中心变换直方图特征,每一个检测窗口合计有8x3=24个超级块,故每一检测窗口将形成256x24=6144维的特征向量(CT变换后变量取值范围是[0~255],每一个超级块形成一个1x256的中心变换直方图);在计算中心变换直方图特征时,每一个超级块边界不需要考虑,因为CT变换需要3x3的区域;将采集的训练行人检测模型样本图片进行灰度化处理得灰度图,在灰度图的基础上进行sobel变换;待sobel变换后,继而进行CT变换得CT变换图,在CT变换图上加载GPU加速检测算法;假设一个w∈R6144的线性SVM分类器,并将其按照从左到右,自上而下的顺序将w分割24个wi,j∈R256,i≤i≤8,1≤j≤3对应于每一个超级块,给定一个训练行人检测模型中的样本图片,宽高分辨率为108x36,根据下式的正负判断是否包含行人:(h,w)表达一个检测窗口,(hs,ws)=(h/9,w/4)表示一个块,则一个超级块为(2hs,2ws),给定一张训练行人检测模型中的样本图片I,S表示其sobel边缘图,S的CT变换图用C表示,对于左上角坐标为(t,l)的检测窗口,式(1)可以改写为:其中,是wi,j第k个元素,C(x,y)是CT变换图C的一个像素点的值,x为2~2hs-1,以移除超级块的边界;接下来创建多张辅助图Ai,j,1≤i≤8,1≤j≤3,辅助图的尺寸与训练行人检测模型中的样本图片I相同,设辅助图Ai,j位于(x,y)处的像素值为:于是式(2)可写为:使用积分图技巧,式(4)中括号的部分仅需3次算术操作,因此式(4)的计算复杂度为0(1);使用一张辅助图计算式(4),从而不需要显式地计算出每一个位置对应的特征f,具体方法如下,定义唯一一个辅助图A,其中,nx=8,ny=3.故wTf可以写为:式(6)的计算只需要一张辅助图,实践发现式(6)的计算速度快于式(4)的计算3~4倍,这是检测系统实现实时性的重要一环;3)将GPU加速检测算法应用于实时视频流采用滑窗方式对待识别图像进行行人检测时,真实行人附近将出现大量的响应,这些响应被具体化为统一尺度下的矩形框,而虚假的目标则不会出现,根据此现象,制定后处理原则,局部响应小于等于三次的响应将被过滤,同一目标的多个响应合并为一个响应,被包含的矩形框将被移除,重叠区域超过一定比例的矩形框将被融合为一个,即可快速地、准确地检测出行人。有益效果:本专利技术采用开源工具ffmpeg将接入的视频流进行解码,在采用多核混序拷贝将内存中的数据传输至GPU设备内存中,而后将位于GPU设备内存中的待识别图像数据进行多尺度缩放,最后对每一个尺度的待识别图像加载GPU加速检测算法,能够快速、准确对视频中出现的人进行检测,有效降低防卫人员的工作量。附图说明图1是本专利技术的较佳实施例的流程图。图2(a~b)是本专利技术的较佳实施例中的GPU加速检测算法应用于实时视频流检测结果后处理被过滤示意图。图3(a~b)是本专利技术的较佳实施例中的GPU加速检测算法应用于实时视频流检测结果后处理被融合示意图。具体实施方式为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本专利技术。参见图1~图3所示一种使用GPU加速的实时行人检测系统,包括GPU设备,GPU设备为GTX980Ti,CPU为E5-1650v36核12线程,系统为Debian8.1,首先采用开源工具ffmpeg将接入的视频流进行解码,此时格式为RGB的视频存数据位于内存中,在采用多核混序拷贝将内存中的数据传输至GPU设备内存中,而后将位于GPU设备内存中的图像数据进行多尺度缩放,最后对每一个尺度的待识别图像加载GPU加速检测算法,进行实时行人检测,具体步骤如下:1)训练行人检测模型①数据集使用INRIA数据集,INRIA数据集中用来训练的正样本有2416张,正样本的宽高分辨率有三个版本64x128、70x134、96x160,可供选择;而1218张分辨率不同的负样本只有一个版本,选择宽高分辨率为64x128的紧凑型(周围的背景较少)正样本,为了使CENTRIST特征更好的描述行人,将宽高分辨率为64x128的正样本文档来自技高网...
一种使用GPU加速的实时行人检测系统

【技术保护点】
一种使用GPU加速的实时行人检测系统,其特征在于,包括GPU设备,采用开源工具ffmpeg将接入的视频流进行解码,此时格式为RGB的视频存数据位于内存中,在采用多核混序拷贝将内存中的数据传输至GPU设备内存中,而后将位于GPU设备内存中的待识别图像数据进行多尺度缩放,最后对每一个尺度的待识别图像加载GPU加速检测算法,进行实时行人检测,具体步骤如下:1)训练行人检测模型①数据集使用INRIA数据集,INRIA数据集中用来训练的正样本有2416张,1218张负样本;②建立分类器在训练阶段,使用所有的正样本形成规模为2416的训练集P和规模为1218的负样本N1,令NT←N1使用P∪NT训练得到一个线性SVM分类器H1;使用SVM分类器H1检测所有的负样本N1,将误识别为正样本的负样本称为难例,记为Nhard,令NT←NT∪Nhard,此过程称之为Bootstrap流程,并重复识别难例这个流程,直到难例的数量为0,最终得到的线性SVM分类器记为HLIN;对于非线性HIK‑SVM,同样使用上述Bootstrap流程方法训练,最终得到非线性SVM分类器记为HHIK;2)GPU加速检测算法采用中心变换直方图特征结合CT变换对训练行人检测模型的样本图片进行检测,通过比较像素点与其周围像素灰度值的大小计算,计算方法如下:...

【技术特征摘要】
1.一种使用GPU加速的实时行人检测系统,其特征在于,包括GPU设备,采用开源工具ffmpeg将接入的视频流进行解码,此时格式为RGB的视频存数据位于内存中,在采用多核混序拷贝将内存中的数据传输至GPU设备内存中,而后将位于GPU设备内存中的待识别图像数据进行多尺度缩放,最后对每一个尺度的待识别图像加载GPU加速检测算法,进行实时行人检测,具体步骤如下:1)训练行人检测模型①数据集使用INRIA数据集,INRIA数据集中用来训练的正样本有2416张,1218张负样本;②建立分类器在训练阶段,使用所有的正样本形成规模为2416的训练集P和规模为1218的负样本N1,令NT←N1使用P∪NT训练得到一个线性SVM分类器H1;使用SVM分类器H1检测所有的负样本N1,将误识别为正样本的负样本称为难例,记为Nhard,令NT←NT∪Nhard,此过程称之为Bootstrap流程,并重复识别难例这个流程,直到难例的数量为0,最终得到的线性SVM分类器记为HLIN;对于非线性HIK-SVM,同样使用上述Bootstrap流程方法训练,最终得到非线性SVM分类器记为HHIK;2)GPU加速检测算法采用中心变换直方图特征结合CT变换对训练行人检测模型的样本图片进行检测,通过比较像素点与其周围像素灰度值的大小计算,计算方法如下:使用高宽分辨率为36x108的检测窗口,将训练行人检测模型中的每个样本图片划分9x4个块与邻近的2x2个块组成一个超级块,并提取每一个超级块的中心变换直方图特征,每一个检测窗口合计有8x3=24个超级块,故每一检测窗口将形成256x24=6144维的特征向量,每一个超级块形成一个1x256的中心变换直方图;将采集的训练行人检测模型样本图片进行灰度化处理得灰度图,在灰度图的基础上进行sobel变换;待sobel变换后,继而进行CT变换得CT变换图,在CT变换图上加载GPU加速检测算法;假设一个w∈R6144的线性SVM分类器,并将其按照从左到右,自上而下的顺序将w分割24个wi,j∈R256,i≤i≤8,1≤j≤3对应于每一个超级块,给定一个训练行人检测模型中的样本图片,宽高分辨率为108x36,根据下式的正负判断是否包含行人:(h,w)表达一个检测窗口,(hs,ws)=(h/9,w/4)表示一个块,则一个超级块为(2hs,2ws),给定一张训练行人检测模型中的样本图片I,S表示其sobel边缘图,S的CT变换图用C...

【专利技术属性】
技术研发人员:黄亮王旭王欣欣叶超应艳丽
申请(专利权)人:江西洪都航空工业集团有限责任公司
类型:发明
国别省市:江西,36

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1