梁海军,王 玄,夏正洪
(中国民航飞行学院空中交通管理学院,四川 广汉 618307)
基于CUDA GPU的多摄像机场面航空器识别加速算法⋆
梁海军,王 玄,夏正洪
(中国民航飞行学院空中交通管理学院,四川 广汉 618307)
基于摄像机的航空器识别是机场场面监视的重要工具。针对多摄像机场面航空器识别算法存在的计算效率低等缺点,提出基于GPU CUDA的加速算法。利用CUDA线程并行处理能力与GPU计算能力,对算法进行了重新设计与优化。通过实地对多路场面视频监视数据进行了多次实验,验证了在NVIDIA Geforce 8800GTS显卡上可实现10倍以上的加速性能,提高了航空器目标识别效率,可以满足机场场面监视中对航空器识别与跟踪的实时性要求。
场面监视,目标识别,目标跟踪,GPU,CUDA
21世纪以来,我国航空运输量随航空运输需求快速增加,机场机动区域不断扩大,滑行道和跑道越来越复杂,航空器在机场场面发生危险冲突的概率也随之增大。尤其是在飞行流量较大的大型机场,跑道和滑行道等资源严重不足,机场场面交通拥堵的现象时常出现。此外,部分跑道附近或联络节点区域属于监视盲区,为机场运行埋下安全隐患。目前,我国多数机场都建立了场面视频图像系统以提高监控效率,但仍然存在较多缺点。迫切需要针对多摄像机的目标识别、跟踪等智能视频分析手段,提高监控效果。
运动目标识别是数字图像处理技术的一个主要部分,是计算机视觉、目标跟踪、模式识别、运动图像编码、基于内容的检索等研究领域的重点和难点。由于天气和光照的变化、背景混乱运动的干扰、运动目标的影子运动等原因的存在,在实际应用系统中进行多运动目标实时识别成为跟踪系统研究中的一项重要课题。其中图像变换、插值与融合的计算量巨大,是实时目标检测与跟踪的瓶颈。
本文提出基于GPU的多摄像机场面航空器识别加速方法,在CUDA(Compute Unified Driver Architecture)环境实现并优化。在NVIDIA Geforce 8800GTS显卡试验可得到10倍左右的加速性能,基本可以满足机场场面监视中对航空器识别与跟踪的实时性要求。本文的方法成功运用在民航科技项目“基于图像的机场冲突热点检测处理关键技术研究”及样机系统中,取得了较好效果。
单高斯背景模型能够描述有微小变化的简单场景,当场景中有树木的晃动、荧屏的闪烁时,固定位置的像素值在不断改变,呈现多模态特性,使用单高斯背景模型往往不能准确地模拟背景的变化。考虑到多模态情况下背景像素值的分布是多峰的,可以根据单模态的思想方法,定义每个像素点的分布模型为由多个单高斯模型组成的集合,根据每一个新的像素值更新模型参数,按照一定的准则判断哪些像素点为背景点,哪些为前景点,从而实现对运动目标的识别。
1.1 混合高斯背景模型
K为单模型的个数,体现了像素值多峰分布的峰的个数,K的选取依赖于像素值的分布情况,同时也取决于计算机内存及对算法的速度要求,一般在3~5之间取值;为t时刻混合模型中第i个单高斯分布模型;为这个单模型的权值,其大小体现了当前用该模型表示像素值的可靠程度;为单模型的均值,体现了单模型的单峰分布的中心;为单模型的方差,反映了单模型的单峰分布的宽度,其大小体现了像素值的不稳定程度;
1.1.2 修正像素模型参数
为了使模型贴近当前像素值的分布规律,需要针对每一个新到的像素值更新模型的参数。像素模型由多个单模型组成,具体修正步骤如下:
step5:去除当前多模型集合中权重最小的单模型,同时在多模型集合中加入一个新的单模型,这个单模型的权重为当前多模型集合中的最小权重,均值为新到的像素值,方差是一个给定的较大的常数。
step6:对多模型集合中各个单模型的权重进行归一化处理:
1.1.3 建立背景像素模型
混合高斯模型对背景像素和运动前景像素一同建立模型,因此,每个像素模型中并不是所有的高斯分布都描述场景背景,需要确定哪些单模型是表示背景像素的。像素模型中是背景像素的模型应具有权重大和方差小的特点,权重大表示出现频率高,方差小表示像素值变化不大。
1.2 运动目标检测
运动目标检测通过将当前帧图像与背景模型相比较,判断当前帧像素值是否与该像素的背景模型相匹配,如果不匹配,则认为该像素点为运动前景点。
CUDA是一种并行编程模型和软件环境,是实现GPGPU计算的新软件架构。在CUDA编程模型中,把CPU视为主机端(Host),GPU视为设备端(Device)。Host处理程序的整体流程和复杂分支的业务逻辑,Device处理大规模数据的并行计算,Host主机异步调用GPU的计算核进行计算,GPU运行并行程序并向CPU返回计算结果。显存由Global Memory、Constant Memory、Texture Memory 3 种类型组成,如图1所示,3种类型内存都可以在多个SM间共享,Constant Memory和Texture Memory内存是只读的,Global内存是可以读写的。
图1 异构体系结构图
随着摄像机技术的发展,图像分辨率都在百万级以上,图像处理所需运算量也异常大,利用CUDA并行编程程序的可扩展性、存储模式、数据调用等特点已有算法中数据处理流程改为并行处理算法,可大大提高处理效率。在对多摄像机视频数据进行航空器目标识别处理时,首先对处理任务进行分解,可通过主机端CPU线程管理GPU,即将采集到的每路摄像机图像数据从CPU内存传输到GPU显存中,并负责数据传输、内核函数启动、流程控制等,将多路视频图像进行系列化,用不同的线程块处理不同帧的图像以获得并行性能。
考虑到对多摄像机、多帧图像中的航空器目标进行识别的计算可相互独立进行,因此,可以利用GPU并行快速实现,如算法1所示。
实验测试地点为中国西南某通航训练机场,该机场飞行区等级为4 C级别,使用3部三星SNB-6004网络高清摄像机与Tamron 13FG08IR镜头实现场面监控,摄像机安装位置及场面结构如下页图2所示,其中跑道长2 200 m宽30 m,滑行道较短,停机坪紧邻塔台。
数据处理工作站为Intel Core2 6400 2.13GHz CPU,内存2 G,支持CUDA显卡为NVIDIA GeForce8800 GTS。NVIDIA GeForce 8800 GTS支持CUDA计算能力1.0规范,最大活跃线程数768。CUDA SDK为v3.2版本,开发工具为QT。为验证GPU加速算法的计算效率,本实验利用单线程、多线程和GPU加速算法分别对1路、3路摄像机录取的5 min、10 min、20 min时长的景象数据进行航空器目标识别的计算效率进行了比较,结果如表1所示。由表1可以看出,当仅有一部摄像机时,利用CPU单线程技术处理时间很长,利用CPU多线程技术处理可以缩短处理时间,而利用GPU技术处理时则可以大大缩短处理时间,这种优势在使用3部摄像机时可以明显的体现出来,利用CPU单线程技术处理时间很长,已无法满足系统应用,而利用GPU技术对数据量不是很敏感,计算效率比CPU多线程技术提升10倍左右,能够满足系统应用。
图2 机场场面结构及摄像机安装位置图
表1 采用CPU单线程、多线程和GPU计算时间
本实验开发了基于CUDA GPU的多摄像机场面航空器识别原型系统,利用采集到机场场面数据对上述算法进行了验证,航空器识别效果如图3所示,3个通道分别显示3路摄像机所获得的视频图像,通过多摄像机的视频目标定位、跟踪、关联,可以自动检测出现在被观测区域内的运动目标,并以显著颜色在视频通道中记录其运动轨迹,如图3中红色轨迹线。通过实验发现,在非恶劣天气情况下(如暴雨、大雾、大雪等),本文算法能够将视频原始数据转化为直接有效的、可供监控人员决策的信息,让监控人员全面、及时地了解机场场面航空器运动态势。
图3 场面监视视频航空器目标识别定位结果
本文针对多摄像机场面航空器识别算法存在的计算效率低等缺点采用CUDA方法进行加速,主要通过CUDA线程并行处理能力和GPU的计算能力,对算法进行了重新设计与优化。通过实验对比分析,本加速算法可以达到10倍以上的加速性能。在实地测试中,本算法在航空器目标检测与跟踪效率方面表现突出,能够确保基于多摄像机场面航空器识别算法在机场场面监视中应用。
[1]OWENSL J D,LUEBKE D.A survey of general-purpose computation on graphics hardware [J].COMPUTER GRAPHICS forum,Volume,2007,26(1):80-113.
[2]NADATHUR S.Designing efficient sorting algorithms for manycore GPUs[C]//23rd IEEE International Parallel and Distributed Processing Symposium,2009.
[3]NAGA K.GPUTeraSort:high performance graphics coprocessor sorting for large database management[R].Microsoft Technical Report 2005.
[4]张洪钺,郭红涛,杨雪勤.基于主动轮廓法的复杂背景下飞机图像的轮廓提取[J].航天控制,2003(3):26-34.
[5]李渝,吴增印.基于局部和整体特征的飞机识别方法.现代电子技术[J].2013,36(14):44-47.
[6]周芳.智能监控系统中运动目标识别技术的研究[D].武汉:武汉科技大学,2011.
[7]马崎,马蔚鹏,刘彦,等.基于支持向量机的图像飞机目标自动识别算法研究[J].计算机测量与控制,2014,22(9).2851-2889.
[8]赵瑶.运动目标检测与跟踪方法研究[D].济南:山东大学,2005.
[9]WANG X J,PAN F,WANG W H.Tracking of moving target based on video motion nuclear algorithm [J].International Journal on Smart Sensing and Intelligent System,2015,8(1):181-198.
[10]ROSENFELD A,KAK A C.Digital picture processing(2th ed)[M].New York:Academic Press,1982.
[11]XU C,PRINCE J L.Snakes,shapes and gradient vector flow [J].IEEE Transactions on Image Processing,1998,7(3):359-369.
Research of Accelerating Surface Aircraft Detection Algorithm Based on Multi-camera Using CUDA GPUs
LIANG Hai-jun,WANG Xuan,XIA Zheng-hong
(School of Air Traffic Management,Civil Aviation Flight University of China,Guanghan 618307,China)
One of the important surface surveillance tools is aircraft detection using camera in airport.The accelerating algorithm using CUDA technology on graphics processing units(GPU)was proposed to improve the speed of aircraft detection algorithm based on multi-camera.The aircraft detection algorithm is redesigned and optimized using multi-thread parallel processing capability of CUDA and computation capability of GPU.The true surveillance data from airport video is used to test the detection algorithm many times.The results validated that more than 10-fold speedup compared with CPU are obtained by using NVIDIA Geforce 8800 GTS.This approach can improve efficiency of target detection in airport surface,and satisfy with the real-time requirements of airport surface surveillance.
surface surveillance,target detection,target tracking,GPU,CUDA
V351;TP391
A
10.3969/j.issn.1002-0640.2017.07.010
1002-0640(2017)07-0044-04
2016-05-05
2016-07-07
国家自然科学基金(U1433126);中国民航飞行学院科研基金(BJ2016-08);民航科技基金资助项目(MHRD20150228)
梁海军(1983- ),男,山东威海人,博士,讲师。研究方向:空中交通管理,实时软件工程。