(教育技术学专业论文)基于gpu并行计算的目标跟踪快速算法研究.pdf_第1页
(教育技术学专业论文)基于gpu并行计算的目标跟踪快速算法研究.pdf_第2页
(教育技术学专业论文)基于gpu并行计算的目标跟踪快速算法研究.pdf_第3页
(教育技术学专业论文)基于gpu并行计算的目标跟踪快速算法研究.pdf_第4页
(教育技术学专业论文)基于gpu并行计算的目标跟踪快速算法研究.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(教育技术学专业论文)基于gpu并行计算的目标跟踪快速算法研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硕士学位论文 m a s t e r st h e s i s 摘要 近年来,智能视频监控系统因其强大的功能和实用性越来越多的被应用于人们 的日常生活中,现已成为计算机视觉领域中颇受关注的前沿课题。运动目标跟踪技 术不仅是视频监控系统中的关键技术,更成为该领域中的研究热点之一。运动目标 跟踪是在监控环境中能够判断出进入特定区域的目标,对其进行定位跟踪并画出行 进轨迹。本论文对静态背景下视频序列中的特定运动目标跟踪算法进行了分析和研 究。其中,如何在海量视频图像数据中快速实现运动目标跟踪成为本文的重点。 现在,g p u 通用计算技术已经越来越多的应用于高性能计算领域,使其成为数 据计算的绝对主力。同时,n v i d i a 公司研究并公开了新的统一计算架构c u d a ,使 得g p u 拥有更好的可编程性,并对可并行化处理算法实现加速具有良好效果。 由于在复杂场景中,对跟踪目标实时性要求很高,其算法复杂度和计算量相对 较大。仅使用c p u 进行海量数据的处理已出现了瓶颈,很难满足目标跟踪实时性 的要求。本文针对已有的基于c p u 实现的目标跟踪算法,认真分析了算法流程以 及算法中处理视频图像数据量大且耗时的部分。分别对图像预处理模块算法和跟踪 模块算法设计了详细的并行可操作流程。研究了图像预处理模块的几种算法,并分 别对其进行了g p u 并行加速处理,在c u d a 计算统一设备上进行了测试。 s i f t 特征匹配提取算法是目前最为准确的用于实现图像特征匹配和识别的算 法之一,也是目标跟踪算法中重要组成部分。本文对其进行了重点分析和研究,提 出了利用c u d a 架构进行优化和改进的方案和建议。通过抓取视频流中像素大小相 同的图像进行比较和验证g p u 与c p u 的加速比,获取了测试结果,以及相对应的 分析。实验数据表明,算法中某些部分通过c u d a 优化之后可提高目标跟踪算法整 体的执行效率,具有一定的实际意义。 关键词:g p u ;c u d a ;运动目标;预处理;特征提取与匹配 硕士学位论文 m a s t e r st h e s i s a b s l i nr e c e n ty e a r s ,n e l l i g e n tv i d e os u r v e i l l a n c es y s t e mh 觞b e e nu s e dm o r ca i l dm o r e i nag r o 晰n g 眦l b e ro fp e 叩l e sd a j l yl i f ef o r “sp o w e r 向l 劬c t i o na i l dp r a c t i c a l i 够;“ h a sb e c o m et l l el e a d i n gi s s u eo fp o p u l a rc o n c e mi n :l ef i e l do fc o i n p u t e rv i s i o n m o v i n g t a r g e tt r a c m gt e c l l l l o l o 影i sn o to i l l yt l l ek e yt e c t l i l o l o 西e so fv i d e os u n ,e i l l a i l c es y 啦玛 b u ta l s 0o n eo fn l er e s e a r c hh o t s p o t si nm i sf i e l d t r a c k i i l go fm o v i n go b j e c ti na m o i l i t o r e de n v i | 1 0 n m e n tm e a n st 0d e t e m i n et h es p e c i f i cr e 百o i l a lo b j e c t i v e s ,p o s i t i o n 触c “n g 觚di ta c t sd r a w 臼匈e c t o r ) ,i nt 1 1 i st l l e s i s ,锄a j y s i s 锄dr e s e a r c hw e r ec o n d u c t e d t 0m es t a t i cb a c k 即u i l di i lv i d e os e q u e n c e so fas p e c i f i ct a 唱e t 仃a c b n ga l g o r i t h m m e f o c u so f 铂 l i sa r t i c l ei sh o wm a s s i v ea n df 瓠tt 0t h et r a c k i n go fm o v i i l go b j e c ti i lt h ev i d e o i m 犍ed a 协 n o w a d a y s ,g p ug e n e m lc o r n p u t i n gt e c i m o l o g yh 孙b e e n 璐e dm o r ea 1 1 dm o r ei nt l l ef l e l do fl l i g hp e r 硒m a n c ec o m p u t i n g ,m a h n gi tt h ea b s o l u t em a i np o w e r f o rc a l c u l a t e sd a t a a tt l l es 锄et i i n e ,n v i d i ac o 叩。船:t i o nr c a r c h e da i l do p e n e d an e wu i l i f i 酣c o m p u t i n ga r c l l i t e c t u r eo fc u d a ,w l l i c hm a k e sg p uh a sab e t 鼢 p r o 簪a b i l i 够,a n dh a sag o o de f 诧c to fa c c e l e r a t i o nt o 廿l ep a m l l e lp r o c e s s i i 培a l g o r i 缸, a st h e r ei sa1 1 i 曲d e m a i l do f 咒a l t i i n ef o rt a 唱e t 仃a c k i n gi nt 1 1 ec 0 m p l e xs c e n e ,也e c 0 1 i 】【p l e x i 够a n dc d c u l a t i o no f 廿l ea l g o d t l l mb e c o m el a r g e r b e c a u s eo ft l l eb o t t l e n e c k t s a p p e a ri i lt 1 1 cm 2 u s s i v ed a t ap r o c e s s i i l gb yo n l yu s ec p u ,i ti sd i 衔c l d tt om e e tt 1 1 e r e q u 妇1 e n t so fr e a l t i i n e 伽翟e t 仃a c k i n g t l l i sp a p e rf o c u s e s0 nt 1 1 ec x i s t i r 蟮t 鹕e t 慨k i n ga l g o 州恤b a s e d0 nc p u ,锄da i l 甜y s i sn l ea l g o r i t h r n 柚da l g o r i 廿l r no f p r o c e s s i n g v i d e o i n l ep r o c e s s 锄d 劬ec 0 i l s 岫gp a r ts 耐o l l s l y ad e t a i l e dp a r a l l e lo p e r a b l e 出g o r i t l l mw 勰d e s i g n e dt 0 廿l ei i n a g ep r o c e s s i n gm o d u l e 、也ev i d e oi m a g ed e t e c t i o n m o d u l e ,嬲w e l l 嬲m e 讹c k i i l gm o d u i e as t u d yw a sc o n d u c t e dt 0s e v e r a la 1 9 0 r i 也m so f t 1 1 e 硫a g ep r 印r o c e s s i n gm o d u l e ,a n dg p up a r a l l e la c c e l e r a t e dp r o c e s s i n gw 嬲c o n d u c t e d 五wa l g o t l 吼si 1 1 d i v i d i l a l l y ,部w e l la st e s t e dt h e s ea l g o r i t h m so n 吐屺c u d ac o i n p u t e l m i f i e dd e v i c e c u r r e n t l y ,s i f tf e a t u r em a t c l l i n ge x 缸a c t i o nm e m o di so i l eo f 廿l em o s ta c c u r a t e a l 鲥t l l mw i l i c hw 弱u s e dt oi i n p l e m e n t 也e 沛a g em a t c 垴玛f e a h 玎e s 锄dp a t t e m i j 硕士学位论文 m a s t e r st he s i s r e c o g i l i t i o i l ,弛da l s oo n eo ft l l ei 瑚p o r t a i l tp a r to f 也et a 犍| e t 仃a c 款i i l ga l g o r i t h m a n a l y s i s 锄dr e s e 鲫c ho fm es i f ta l g o r i 廿l i nh a sb e e nf 1 0 c u s e d0 n l i s 撕c l e ;p r o p o s a la n d 僦o m m e n d a t i o i l s a r ep r o p o s e df o rm eu s i n go fc u d aa r c h i t e 咖r ef o ro p t i m i 龃t i o na i l d i i l l p r 0 v 锄e n t 。 t e s tr e s u l t sa i l dt l l ec o r r e s p o n d i n ga n a l y s i sw e r e ! c o n d u c t e dt l 埔o u 曲廿l ec o m p a d s o n a n dv e f i f i c a t i o no fi m a g e sw i t l lm es 锄ep i x e ls i z e 、) l ,_ k c hw e r ec m w i e df 硒mt 1 1 e s 臼e 鲫血gv i d e o s t h ee x p e r i m e n t a ld a 妇i l l d i c a t et h a ts o m ep a r to f t l l ea l g o r i m mw m c h o p t i 工1 1 i z e db yu s i n gc u d ac 锄抽_ p r o v em ei 】唧l e m e n t a t i o np c e s se m c i e n c y ,砒c h h 嬲c e r t a i np r a 【c t i c ms i 嘶f i c a n c e k c l ”o i 凼:g p u ;c l 匝 a ;m o v m g 魂e t ;p r 疵a 缸n t ;f e a n l r ee x t m c t i o na i l d m a t c l l i n g 硕士学位论更 m a s t e r st he s i s 第一章绪论 1 1 课题研究的背景及意义 在2 0 世纪末,得益于计算机技术的极大的进步,智能视频监控领域取得了骄 人的成果,其关键技术之运动目标跟踪技术也由此取得了很大的进步。上世 纪由于受到技术条件制约,在图像处理时,往往是做单幅、静态图像的处理,即便 是在动态图像序列中跟踪运动目标,我们也可以清楚的看到许多静态处理的影子。 随着目标跟踪难度的增大,对跟踪精度的要求也进一步提高,跟踪算法的数据计算 量也越来越复杂。在大场景的视频监控中,对视频流中的运动目标进行跟踪,需要 对视频序列中的运动目标进行检测、提取、识别和跟踪,通过获取跟踪目标的运动 参数及轨迹对跟踪目标进行分析和处理。然而在大的复杂场景中,对跟踪目标实时 性要求很高,其算法复杂度和计算量相对较大。仅使用c p u 进行海量数据的处理 已出现了瓶颈,很难满足目标跟踪实时性的要求【9 】。由于海量数据计算对计算机的 硬件和软件都提出了非常高的要求,一般情况下,我们可以从以下两方面去解决: 1 、一方面,提高硬件配置,在增加信道带宽的同时扩大存储器的容量,但是 在实际中,做好这两方面是难以实现的。因为数据量的极速增长要远远高于c p u 的数据处理速度,所以提升处理速度仅靠传统的硬件发展是有局限性的; 2 、另一方面,在软件环境下,可以采用开发高效率的跟踪并行算法来减少数 据的冗余信息,使得可以再在相同的存储器上存储更多的视频跟踪对象信息,或者 在不改变带宽的情况下,先提高视频跟踪对象的信息然后再利用现有信道进行传输 【8 】 o 近几年来,g p u 发展速度非常快且具并行计算能力日益增强,使其已经具备了 实现大规模快速计算的编程能力。现在,g p u 通用计算技术已经越来越多的应用于 高性能计算领域,利用g p u 加速数据处理的技术已经成为很多科研领域研究的热 点。随着n v i d i a 公司c u d a 统一计算设备架构这一编程模型的推出,使得g p u 具有更好的可编程性。通过多个线程并发执行的c 切) a 技术,就可以完成大数据的 快速并行计算【l ”。 随着g p u 通用计算技术的发展,其在数据并行处理方面的优势为海量数据的 处理及进行实时跟踪目标提供了可能。现代的g p u 特殊的硬件架构使其浮点运算 能力相对于c p u 来讲具有明显的优势; l 、有一定的并行性。拥有高带宽的独立显存,r g b a 四个颜色通道和多个渲 硕士学位论文 m a s t e r st h e s l s 染管道可以同时工作,共同完成计算; 2 、高密集的运算。g p u 由于其内存接口宽,几何处理能力强,适合处理并行 计算、进行重复计算以及图像和视频处理任务,比c p u 更适合海量数据的计算; 正是由于这些原因,利用g p u 进行并行数据分析和计算越来越热门,研究的 学者也日益增多。本篇论文提出的基于g p u 并行计算的目标跟踪快速算法与实现 也是对n v i d n 公司提出的c u d a 统一设备架构编程技术应用的一次新的尝试。 c u d a 编程技术是对传统的g p u 编程技术的一种革新。我们可以充分利用g p u 快 速处理计算海量数据的优点,把c p u 从繁琐的数据计算当中解放出来,让c p u 可 以更加有效地执行目标跟踪处理中其它的工作,从而让g p u 和c p u 能够各司其职, 更加合理有效的配合工作峭j 。同时,本文提出了基于g p u 并行计算的目标跟踪快速 算法,将传统的基于c p u 的目标跟踪算法模块算法移植到具有并行计算能力的g p u 中,通过对传统的目标跟踪算法的分析,建立c p u 和g p u 算法二者之间的对应关 系,从而找到其与g p u 之间的契合点,然后利用c u d a 技术并行计算的特点,同 时执行多个线程,以提高检测速度和跟踪目标的效率。在c u d a 的架构中,这些计 算是基于标准的c 语言实现的,用户只要懂得c 语言就可以容易地开发c u d a 的 相关程序。再也不用像以前的g p g p u 架构,还需要先将计算映射到图形 a p i ( o p e n g l 和d i i i c c t3 d ) 中。c u d a 是g p u 通用计算在软件应用方面的一个重要 分支,对g p u 的发展有着重要的影响。因此,可以充分利用c u d a 这个编程工具 的多处理单元和多线程机制,对海量数据进行并行计算,从而实现算法的加速和对 目标进行实时跟踪的要求。 1 2 研究现状分析 1 2 1 目标跟踪技术研究现状 在视频安全及监控领域中,系统能够在道路、银行、地铁等公共场合检测并跟 踪感兴趣目标,并能够判定他们的非正常行为是许多国家的科研机构和公司着力于 研究和研发的项引1 2 】。2 0 世纪中期对视频监控的研究大部分集中于对单幅、静态图 像的处理,直到1 9 8 1 年h o m 和s c h u i l c k 创造性地将二维速度场与灰度相联系,引 入光流约束方程的算法,动态图像序列的研究领域的大门才算真正打开,目标跟踪 从此有了新的发展空间。但是光流法对计算机的处理速度有着较高的要求,在一般 条件下不能满足实时性的要求。同时,噪声会极大地干扰到光流法的跟踪,所以在 现阶段光流法还不能很快的用于实际工作中。 基于对视视觉跟踪技术的强烈需求,西方一些发达国家成立了专门的项目组, 2 硕士学住论文 m a s t e r st h e s i s 结合现有计算技术对此项技术进行了大量深入的研刭1 8 】。1 9 9 7 年,由美国国防高级 研究项目署( d e f e n s ea d v 锄c e dr e s e a r c hp r o j e c t sa g e n c y ,d a r p a ) 牵头,以美国卡耐 基梅隆大学为首,十几家高校参与了v s a m ,即i s u a l 蚰r v e i l l a i l c e 锄dm o i l i t o r i n 曲 视觉监控项目的研究开发,卡内基梅隆大学也由此第一个建立了校园监控系统。在 对车辆和行人的跟踪及交互作用识别上,英国的雷丁大学也做了大量的研究,并开 发出了车辆交通监控系统。研发的w 4 监控系统,实现了智能监控,此系统可以监 控人的行为,甚至可以对是否携带物体等做出判断,可以说m a r y l a i l d 大学研发的 w 4 实时监控系统实现了人的跟踪1 3 引。 1 9 8 6 年我国开始对视觉跟踪进行立项研究,经过一大批科研工作者的辛勤努 力,此领域的理论和技术都有了长足的发展。在二十一世纪初期,第一个拥有自主 版权的交通监控系统v i s u “s u r v e i l l a l l c cs t 缸v s t 砷系统,在北京中科院自动化研究 所诞生,使视觉目标跟踪技术处于世界领先地位;同时,浙大人工智能研究所在跟 踪方面对单目视觉对人体没有被遮挡部位的运动进行了深入的研究1 2 0 j 。 1 2 2g u p 通用技术研究现状 截止到目前为止,国内已有中科院计算所、浙江大学、清华大学、电子科技大 学等高校等高校开展了关于g p u 并行通用计算的相关研究【3 3 l f 3 6 】。但大部分专注于 图形渲染领域,比如清华大学的基于g p u 实现的辐射度计算算法,浙江大学的可 编程图形硬件加速技术。在机器视觉领域,华中科技大学的电子与信息工程系、国 防科技大学、武汉大学等已经开展了关于目标跟踪系统加速算法的研究。张齐等人 则是从c p u 多核的角度研究了对跟踪算法中s i f t 匹配识别算法的并行计算的具体 策略i l 别。总体上来说,国内在g p u 研究方面起步晚,所取得的成果没有国外广泛, 还需要进一步深入研究。 国外方面。各大i t 企业和相关科研机构和学校也展开了颇为广泛的研究。比 如n v 公司的j a s o ns 锄d e r s 就从c 切) a 构架以及o p e n c l 架构入手研究并行计算编 程规范的制定,v i c t o r 等人则对具体的诸如卷积运算的c u d a 实现进行了深入分析, s h a i l e 和c h d s t o p h e r 则是给出了基于c u d a 平台的并行程序设计的基本的原则和性 能分析指标。北卡罗莱大学的研究人员更是给出了一个基于软件工程规范设计的关 于s i f t 在g p u 上实现的第三方库。j 锄e sf u n g 探讨了基于原来n v i d i a 公司的 c g 语言对于计算机视觉的相关算法的加速效果。1 、政o w s l 【i 等人则从一般的数学原 理入手发掘高斯模糊等计算细节在并行计算的数学性质上的特殊性。伊利诺伊州立 大学的胡文美教授则从般的通用并行计算的理论角度研究c u d a 架构的特性。 y o s h 瓶m 切l l ( a m i 等对g p u 在图像模式识别应用领域有深入的研刭2 】【2 0 】。 硕士学位论文 m a s t e r st h e s i s 1 3 论文的研究内容及组织结构 本论文针对目前智能视频监控系统中基于c p u 的运动目标检测与跟踪算法达 不到实时性要求的问题,研究基于g p u 的运动目标跟踪算法,并非在于目标跟踪 系统本身的实现。我们将结合具体的图像预处理算法及s i f t 特征点匹配识别算法 法等在g p u 上的实现,获取具体的可利用c u d a 实现的相关思路和算法,根据实 验数据,分析算法加速的效果。 论文的各章安排具体如下: 第一章绪论。主要论述了课题的研究背景和意义、并对涉及到的关键技术的 研究现状进行总结与分析,概述了本文的研究内容和框架。 第二章g p u 通用计算与c u d a 框架体系。结合g p u 通用计算体系及硬件细 节,分析c u d a 架构的特性,总结了一般程序或算法进行并行化的原则和建议。 第三章基于c p u 的运动目标跟踪算法整体分析。分析基于c p u 的目标跟踪算 法各个模块流程,提出算法中哪些部分可以使用g p u 进行加速,详细设计了跟踪 算法以及算法各模块的主要流程,这些为下一步算法进行加速奠定基础。 第四章目标跟踪算法中图像预处理算法和目标匹配识别算法基于g p u 的并行 实现。介绍研究目标跟踪算法中二值化算法、格式转换算法和s i f t 特征点匹配算 法在g p u 上并行算法的实现。 第五章基于g p u 并行计算的目标跟踪算法实现。重点分析研究了跟踪算法在 g p u 上的实现步骤,得出实验数据和分析数据结果。 第六章总结和展望。总结本文研究成果,并对相关技术难点的解决进行了展 挈。 1 4 本章小结 本章阐明了论文的研究背景和研究意义,对目标跟踪技术和g p u 加速通用技术 的研究现状进行了简要介绍,安排了整个文章的层次结构。力求做到心中有数章节 分明,为进一步的研究做准备。 4 硕士学位论文 m a s r e r st h e s i s 第二章g p u 通用计算与c i m a 架构 多核c p u 和众核g p u 是目前计算机中两种最重要的处理器【2 1 。由图2 1 、图 2 2 可以看出c p u 中大多数的晶体管用于制造庞大的c a c h e 和复杂的控制逻辑电路, 只有少量的晶体管用作运算单元,且在进行并行计算设计时具有一定的局限性; g p u 则与之不同,在硬件设计上,对c a c h e 的需求小,且控制相对简单,大多数晶 体管用于并行计算,使得g p u 与生俱来是一种大量运算单元的并行处理器。随着 g p u 可编程通用性能的不断增强,g p u 的应用范围已经突破并且远远超出了传统 的仅用于处理图像渲染等方面的任务,其通用计算的研究是现代科学研究的热点 【l 】【2 】。 图2 1c p u 中用于处理数据的晶体管【1 1图2 2g p u 中用于处理数据的晶体管1 】 2 1 图像处理器( g 咖体系结构 g p u 内部并行计算的架构主要考虑了以下两个基本概念。首先,程序中的数据 可划分为多个部分,同时这些数据可以由众多的核群并行处理;其次,数据与高速 缓存不匹配。例如在视频图形计算等数据处理上,可能会达到兆字节( m b ) 甚至 是太字节( t b ) 的数据量,在这种情况下,高速缓存不足以容纳下如此大的数据量。 鉴于这两点,在设计中,g p u 可以使用数以干计的线程,而所有线程并行地执行, 这样一方面保证了本地超大存储器的访问;另一方面,g p u 还有较小的片上存储空 间,可用于储存反复使用的数据【3 3 l 。 2 1 1 显卡的硬件结构 g p u 通用并行计算编程不像普通的c p u 上的那样属于硬件透明的类型。这要 求在对算法并行化之前,要充分考虑到与c u d a 编程模型相关的g p u 硬件细节。 硕士学位论文 m a s t e r st h e s l s 一块显卡主要由g p u 芯片,显存以及p c i e 总线( 接口) 组成【1 1 。 l 、g p u 芯片:类似于主板的c p u ,是显卡的核心部件,拥有众多的具体的执 行单元,并行计算执行的主体。g p u 计算能力强大,但g p u 之间的数据缺乏一致 性,与内存交换数据开销巨大。 2 、显存:类似于主板的内存,存在于显卡的周围,其一圈小芯片就是显存颗 粒。由于显卡的图形学特性,使得其像素填充率较高,因而相比于内存,显存往往 需要提高更大的带宽。在实际编程的过程中需要注意的是,显存并不属于高速缓存, g p u 内部寄存器访问板载显存的时候,会产生比较大的访问延迟。如果访问时出现 诸如内存不对齐的情况则会加倍运行时间。 3 、p c i e :总线c p u 和g p u 通信的最主要的桥梁。通过p c i e 总线内存的数 据传输到显存。虽然p c i e 的带宽在不断提高,但是主机( c p u ) 和设备( g p 之间的 通信代价仍然较大。过多在显存和内存之间进行数据的传输会显著降低并行计算所 带来的速度上的优势。 2 1 2c p i j _ g p u 异构计算平台模式 异构计算是指用不同类型指令集和体系架构的计算单元组成系统的计算方式。 c p u g p u 异构计算平台得到普遍关注的主要原因是c p u 时钟频率和内核数量提升 的传统方式遇到了散热和能耗瓶颈;与此同时,g p u 芯片面积和总体性能比都很高, 也具有更多的内核数和并行计算能力,但是却没有充分利用。因此,c p u g p u 的 异构计算平台可以让两种不同类型的计算设备通过异构计算标准共享计算的过程 和结果,同时不断优化和加速计算过程,使设备具有更高的计算效能【3 4 】。 同时,g p u 的并行计算模型并不是将所有的程序都转移到g p u 上执行,需要有 针对性地选取c p u 端可以并行化的程序片段,将其转移到g p u 上执行。整体上,仍 旧以c p u 串行逻辑运行程序为主,只是在可并行化的部分才转移到g p u 执行。所以 说,c p u g p u 协同处理,就是在以c p u 为主以g p u 为辅的架构下的异构并行处理方 式,运行在g p u 上的程序称为k e m e l ( 内核函数) ,它由c p u 负责启动。 6 硕士学位论丈 m a s t e r4 st h e s i s c p u 与g p 【i 的分界线 图2 3c p u g p u 异构计算执行模型【2 1 2 1 3 基于a d a 技术的g p u 体系结构 基于c 切d a 技术的高度线程化的多核流处理器阵列组成如图2 4 所示【2 】,是 g p u 众多体系结构的代表之一。其中,每个s m 中又包含多个流处理器s p ( s 能锄i n g p r o c e s s o r ) ,他们之间共享指令缓存和控制逻辑1 2 】。每个g p u 中都带有d r 州m ,即 全局存储器( g l o b a l lm e m o r y ) ,是一种帧缓冲区存储器,主要用于图形数据的处理。 尤其在进行视频图像信息处理,和进行图像渲染时电脑g p u 性能的高低将对其有 非常重要的影响。当g p u 用于并行计算时,其内部包含的多个s m ,即流处理器, 可对其内部的线程进行操作,以达到并行化的效果。与比传统的g p u 分离式渲染 模型相比,基于c u d a 统一计算设备架构的处理要简单得多,它简化了g p u 编程 模型,极大地度降低了并行程序的开发难度四】 7 硕士学位论文 m a s t e r st he s l s 图2 4 基于c u d a 技术的g p u 体系结构【2 】 2 2c i d a 体系架构 2 2 1c i a 统一设备架构编程模型 c u d a 统一设备架构中,由于主机端和设备端二者主要功能的不同,在运算时 通常是协同工作。二者分工合理,c p u 主要进行数据逻辑运算,而g p u 负责并行 化程度较高的数据运算,运行在g p u 上的内核函数由c p u 负责启动。目前,内核 函数的组成形式由一维栅格( 嘶d ) ,二维块( b 1 0 c k ) 和三维的线程( n l r e a d ) 组成【1 1 。在 实际运算时,内核函数的基本单位是线程,但是在程序执行的时候是以b l o c k 为单 位的,c u d a 会产生许多在g p u 上执行的线程,由于每个线程的线地址不同,并 且每个线程都会执行内核函数,这样就可以使得不同的数据进行计算。c u d a 通用 计算编程过程基本如下: l 、获取待计算数据,在主机端分配全局存储器; 2 、在g p u 上获取内存,将数据从内存拷贝到g p u 显存中; 3 、c p u 从显存读取数据,建立一定量的线程执行内核函数并处理数据; 4 、g p u 将计算获取的数据结果返回到显存; 5 、将数据从显存拷贝回内存并释放显存; 8 弓 硕士学位论交 m a s t e r st h e s i s 2 2 2c 切9 a 存储器类型 图2 5c u d a 编程模型【l 】 图2 6c u d a 设备存储器模型层次结构【2 】 9 硕士学位论文 m a s t e r st h e s i s c u d a 支持多种存储器类型,设备存储器模型框架如图2 6 所示,这种模型可 提供分配、移动和使用设备上各种存储器类型的设备,主要包含全局存储器、常数 存储器和纹理存储器。其中,全局存储器( g l o b a lm e m o 州存在于显存中,也称为 线性内存,用于显存的分配和释放,以及主机端和设备端二者之间内存的拷贝,同 时还要进行h o s t 端与d e v i c c 端之问传输数据;常数存储器( c o n s t 锄tm e m o 珂) 只支 持g p u 从中读取数据而不支持写入数据,为设备提供短延时、高带宽和只读访问; 纹理存储器,即t e x t u r em e m o 巧,它在g p u 中是一种只读存储器,一般在进行图 像处理和3 d 渲染时常用,适合实现图像处理和查找表。如果在进行图像数据计算 时能够充分利用纹理内存,还可以对程序进行优化,缩短计算时间。此外,在每个 线程块的内部都拥有一块共享存储器,其块内的每个线程都拥有自己的私有存储器 和局部存储器1 2 j 。各种存储器比较如表2 1 所示。 表2 1c u d a 存储器类型比较川 变量声明存储器位置作用域变量生命周期 除数组以外的寄存器 g p u 片内线程 k e m e l 函数,与 自动变量 ( r e g i s t e r ) t h e a d 相同 局部存储器k e m e l 函数,与 自动数组变量板载显存线程 ( 】o c a lm e m o d ,) t t l e a d 相同 _ d e v i c e _ _ _ , 共享存储器 g p u 片内块 k e m e i 函数,与 s h a r e d ( s h a r e dm e m o r y ) b l o c k 相同 - d e v i c e j 全局存储器 板载显存 网格在程序中保持 翊o b a lq 1 0 b a lm e m o 拶) 出v i c e 二一 常数存储器 板载显存 网格在程序中保持 c o n s t a n t ( c o n s t a n tm e m o d r ) 主机端存储器 h o s t h o s t 内存主机 在程序中保持 ( h o s tm e m o d ,) 2 3 本章小结 本章介绍了g p u 通用计算的架构、c p u g p u 异构计算平台以及基于c u d a 技 术的g p u 体系。对c u d a 统一设备架构的基本概念、存储器类型及c u d a 并行计 算开发的步骤等进行了详细的阐述,为后文在g p u 上使用c u d a 实现基本图像处 理并行算法做准备。 l o 硕士学位论丈 m a s t e r st h e s i s 第三章运动目标跟踪算法整体分析与设计 基于视频的目标跟踪算法处理流程包含视频预处理、运动目标的检测、运动目 标识别和运动目标的跟踪。本章对基于c p u 的目标跟踪算法进行介绍,对算法各 部分的时间占用量进行了分析,得出算法不足以达到实时性的根本原因,为后文在 g p u 上进行加速处理提供重要参考和编程依据。 3 1 跟踪算法整体结构分析与设计 基于摄像头视频序列的运动目标检测与跟踪,其基本处理流程为:摄像机首先 采集到数字视频信号,通过计算机网络将信号通过串口传送给视频解码器,然后解 码器再根据不同型号的摄像机获取的原始图像数据按照统一的格式进行解码和图 像预处理。譬如对图像进行格式转换、去除噪声等处理,再通过图像分割获取感兴 趣区域的运动目标。其次,检测出当前帧相对前一帧的运动目标,即运动目标检测; 再次,将检测到的运动目标记录下来,通过将其与之前已检测到的运动目标匹配进 行识别;最后,根据匹配识别的结果做相应的跟踪操作处理,即如果该结果与已检 测到的目标匹配则表示是同一个目标可以进行继续的跟踪,并记下运动的位置信 息,若与已检测到的目标不匹配则表示有新的运动目标出现,则标识为新目标。 通过固定摄像头采集视频信息有着明显的优势,主要表现为:摄像头安装在高 楼上,且垂直于地面,视频覆盖区域为主干道的马路,路上的运动车辆基本不会出 现遮挡的问题,其背景相对比较稳定。其缺点是当摄像头视域中存在一部分树枝时, 受风、光照等因素的影响对视频整体运动目标的检测有一定的影响。在背景固定的 情况下,可以使用背景差分法很容易地实现运行目标的检测与跟踪,由于上述缺点 的存在,必须采用一些策略来抑制干扰,因此对运动目标检测与跟踪算法进行了特 殊的设计,其整体结构如图3 1 所示: 硕士学位论炙 m a s t e r st h e s i s 图3 1 目标跟踪算法整体结构图 3 2 跟踪算法具体模块分析与设计 3 2 1 序列视频图像预处理模块分析与设计 这一模块主要是对视频帧进行相应的图像处理操作,以使后面运动目标的跟踪 更加容易和可行。由于使用的摄像头已有一定的使用年份,在成像清晰度和色彩还 原等性能方面都有所下降,受电磁辐射、电子噪声等影响,摄像头采集的图像存在 着各种噪声。这些噪声将对分析摄像头采集的图像数据造成负面影响,因此需对对 图像进行二值化、降噪等预处理【l 丌。本课题使用的摄像头获取图像后,输出数据为 y u v 格式,而后续的进行目标检测处理中是基于r g b 格式的,因此还需将解码后 的视频帧图像从y u v 空间转换到r g b 空间【1 引。 在对获取的图像进行预处理时,分别对从视频流中获取的图像帧进行去噪和格 式转换将会大量耗费计算时间,且图像在这些算法内部以对齐了的二维数组形式来 表示,十分适合于利用g p u 进行加速处理。 序列视频图像预处理模块流程图如图3 2 所示。 1 2 硕士学位论炙 m a s t e r st h e s i s p p 一嘞处理卜 格式转化、 一日标检测 二值化处理 图3 2 视频序列预处理流程 3 2 2 运动目标检测模块分析 目标跟踪的前提条件是对运动目标的检测,要想提取出各个运动目标的特征要 素就必须先准确检测出运动目标【17 1 。根据检测目标所处的背景环境,可分为动态背 景下和静态背景的运动目标检测。本论文系统主要研究的是在静态背景下序列视频 图像的运动目标检测。 运动目标检测是从摄像头获取的视频流中提取目标,以目标识别为目的。首先 通过抓取当前视频流中的帧图像,为该获取的图像建立动态监测模板,需要将其放 入监测模板中作为背景模板,然后读取下一帧图像;如果使用图像经过插值算法后 获取的运动目标没有在当前背景模板库中找到,则将其存储为新的背景模板。接着, 把当前帧图像和原始背景模板按照帧差法或其他规则检测运动目标,针对本课题摄 像头视域的特点,主要是采用了基于高斯建模的背景差法来实现摄像头视频中运动 目标的检测。实践证明,该方法已经能取得很好的检测效果。检测到目标后,需要 对得到的图像进行进一步处理,即对视频帧中的运动目标进行分割,并提取相应的 特征。最后把提取到的运动目标的特征要素存入数据库及缓冲区内存数据列表中。 这是为跟踪运动目标所做的准备工作【1 7 j 。 由现有算法分析可知,在目标检测过程中,背景差法和帧差法是检测目标用到 的算法。其中帧差法是将从视频流中前后读取的两帧或三帧图像进行差值计算,背 景差法将当前帧与背景图像进行差值运算检测出运动取出。本部分仅作为跟踪算法 流程中的步骤做简单介绍。 3 2 3 运动目标识别模块分析与设计 算法进行运动目标检测处理完成之后,接下来需要对检测到的运动目标进行跟 踪识别,这是整个跟踪算法的核心部分。在本算法中,运动目标跟踪就是要检测出 当前帧中的某一运动对象是否在前面图像帧中出现过,如果出现过则需要确定出现 的摄像头编号以及监控所在的位置,通过匹配确定该对象后再进行跟踪。首先,进 行数据匹配,若发现运动目标特征要素是空,则需将当前的运动目标特征初始化, 并把当前运动目标的特征集存入缓冲区内存中【l 7 1 。其次,在运动目标特征记录集不 为空的情况下,则把当前获取的运动目标特征与特征记录集中的运动目标特征进行 比较,如跟踪目标的运动位置、运动方向、运动速度等特征的匹配。如果算法匹配, 硕士学位论炙 m a s t e r st h e s i s 则可以确定该目标为追踪对象,锁定目标,同时更新其运动状态并对其进行跟踪。 如果通过模板匹配的方法没有识别出运动目标,可对运动目标进行直方图匹配、s m 特征点匹配等方法识别运动目标。如果经过上述方法仍未识别出目标,则将该运动 目标作为新的特征添加到记录集中【l 。最后,对目标进行画框跟踪处理,当目标在 当前视频流中消失时,则进行下一个目标的跟踪和识别。 运动目标跟踪模块流程图如图3 3 所示。 当前系统特征 记录集 誓錾譬冀r 、二 l s if t 特征匹配 是否为空事 m n ,忖位此函 鼍意妻薹翼篡曼i l 运动目标识别 入特征记录集中i 4 吲盱孙删 对目标进行跟踪 图3 3 运动目标识别模块流程图 在本课题中,采用的是基于目标图像s i f t 特征的提取与匹配。其中,s i f t 特 征是目前公认的提取图像局部特征效果最好的,但是因其计算量大的缺点,很多研 究者在应用时颇有选择性,而本文是研究基于如何将算法使用g p u 进行加速,因 此,如果能设计并实现s m t 特征提取与匹配的加速,则可以一举两得,即一是利 用了s i f t 特征具有尺度不变性、强鲁棒性等优势,二是在速度上也得到了提升。 3 2 4 运动目标跟踪模块分析 主要是对视频帧序列中的相同目标进行连续的跟踪并画出其行进轨迹,本算法 中是对检测到的目标进行画框跟踪,直到目标走出摄像头。这一模块主要是运动目 标跟踪效果呈现,并不需涉及计算量较大或耗时的操作,因此,这一模块不需要进 行g p u 加速。 1 4 硕士学位论文 m a s t e r st h e s i s 3 3 本章小结 本章从整体的角度对原有目标跟踪算法中的主要框架进行了算法分析,提出算 法中哪些部分可以使用g p u 进行加速,详细设计了跟踪算法以及算法各模块的主 要流程,这些为下一步算法进行加速奠定基础。 1 5 : 硕士学位论炙 m a s t e r st h e s i s 第四章基于g p u 的运动目标跟踪子算法加速研究 运动目标的检测和跟踪是是算法中的两个重要步骤【1 7 】,即将整个监控场景中需 要跟踪的目标和场景背景通过差值分离,获取运动目标,从而在摄像机可以拍摄到 的场景中对检测到的目标进行跟踪1 2 4 】。但是在实际应用中,跟踪系统获取的原始图 像往往是不完美的,譬如光照强弱、成像设备自身因素及目标的运动等原因使得获 取的原始图像质量不高,从而影响目标是否可以有效定位及跟踪。因此也需要对视 频图像进行相关预处理,从而削减图像中的干扰因素:增强图像中的有效数据,为 突出后继跟踪中目标的重要特征以及运动目标跟踪的实时性提供了一定的保证。 本章节是在上一章节对目标跟踪算法流程分析的基础之上,针对算法中可进行 并行化数据处理部分进行尝试性探索,对算法中各个模块可以加速的部分分别实现 在g p u 上的加速,以期提高整个算法的效率和实时性。 4 1 序列视频图像预处理算法在g p u 上的实现 4 1 1 数字图像预处理并行化分析 数字图像是由有限的像素组成,所以图像处理的过程即是对像素处理的过程, 在数字图像处理中我们常常是借助数字计算机来完成的,这些主要包括图像去噪、 二值化、特征提取、边缘检测等处理阶段。在本算法中,主要是对从摄像头获取的 视频图像进行格式转换和二值化处理的处理。 传统的图像处理算法一般采用的是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论