牛京玉,胡 坚,贺文静,孟凡荣,李传荣
基于C6678的主被动三维影像生成算法并行设计
牛京玉1,2,胡 坚2,贺文静2,孟凡荣2,李传荣2
(1. 中国科学院大学,北京 100049;2. 中国科学院光电研究院 中国科学院定量遥感信息技术重点实验室,北京 100094)
当前,如何实现高效的主被动三维影像生成技术是遥感应用中的一个研究热点。由于激光雷达-光学CCD的三维影像生成算法具有数据量大、处理复杂的特点,为实现其高效实时的应用需求,本文利用TMS320C6678多核DSP开展了并行处理技术方面的研究。并针对两种主流并行模型(主从模型和数据流模型),分别进行了三维影像生成算法的并行设计。最后,依托开发平台进行测试分析,总结论证了两种主流模型的设计要点与适用情况,为多核DSP在实际应用中的资源高效利用提供了思路。
多核DSP;三维影像生成;主从模型;数据流模型
近年来,遥感技术已广泛用于资源调查、城市规划、土地利用、环境监测、灾害评估等多领域,利用该技术对观测目标的空间、纹理、光谱、材质等多维属性信息快速精准获取[1]的需求也达到了新的高度,如何实现多维信息的高效精炼获取已成为当前研究的热点问题之一。
随着激光测距技术的发展与应用推广,融合激光高精度测距信息和CCD影像高分辨率、丰富纹理信息的三维影像生成技术应运而生。三维影像生成技术的主要步骤在于激光点云与光学影像的配准[2]。由于LiDAR点云与影像来自于性质完全不同的传感器,两类数据所反映的地物属性特征完全不同,这无疑给数据的空间配准带来了更大的挑战。国内外的研究学者就此已展开了广泛研究,目前多采用同平台搭载、分别利用各自光路系统成像的方式,但其还存在自动化程度不高、处理速度受限、引入偏移误差等方面的问题。而基于主被动一体化思想的迅捷成像技术可以解决上述问题,利用两类传感器共用光路、采用相同的扫描方式来保证高效匹配,中国科学院光电研究院在国家863计划的支持下联合技物所等开展激光-光学共光路相关技术研究及工程样机研制,从而使高时效、高准度的激光点云与影像匹配成为可能。在此基础上,迫切需要对处理大数据量及复杂算法的三维影像生成处理平台进行研究,以满足高效实时的技术要求。因此,如何实现处理的实时性要求将是研究及实际应用中的一个重要问题。
激光-光学CCD的三维实时成像必须依托于高性能的处理平台。目前,实时处理平台多采用专用集成电路芯片(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)等开展设计。相对于AISC,FPGA和DSP兼具处理能力强、运算资源丰富、功耗低、灵活性强等特点。而DSP更是凭借其强大运算处理能力[3],可实现复杂结构的各种算法,兼顾速度、实时性等优势,愈发突显出其在数据实时处理技术上的优势,受到研究者们的青睐。
而DSP平台又可细分为单核DSP、多片单核DSP及多核DSP。其中,单核DSP易受到芯片物理极限、制作成本、处理能力以及功耗、散热等各方面的制约,采用多片单核DSP又会导致尺寸过大、成本高、I/O数据有限、硬件设计复杂、处理能力不足等问题[7-8],可见,无论是单片DSP频率提升还是板上多DSP方案都具有一定的局限性和不利因素的引进[9-10],从而促使DSP逐步向多核、兼容定点和浮点、高内核频率、多位宽等方向发展。目前,多核DSP正在不断地应用于各种面向高速处理需求的复杂算法中,如波前复原、SAR成像、ISAR(Inverse Synthetic Aperture Radar,逆合成孔径雷达)成像、图像压缩编码等技术中[4-6]。因此,基于多核DSP的并行方案为实现实际应用中的高效实时要求提供了一种有效的解决思路。
本文首先介绍了主被动三维影像生成算法的原理;其次,描述了多核DSP的两种主流并行模型框架;接着,具体设计了两种基于TI C6678多核DSP的三维影像生成并行处理方案,最后,利用构建的对比实验总结分析两种主流模型的特性和适应情况。
机载环境下的实时三维成像处理流程图,如图1所示。三维成像载荷包含LiDAR与CCD相机两类传感器,采用线阵推扫的方式对目标进行扫描成像。载荷通过时间同步控制两者按照固定的频率比例工作,使得激光扫描行和CCD扫描行在飞行方向上正确对应。同时,利用光轴对准确保激光探元与CCD像元在垂直飞行方向上的正确对应。
基于上述成像原理,三维影像生成算法的具体实现流程是:首先将通过采集装置获取三类数据:光学影像、激光测距数据、实时GPS/IMU(Inertial Measurement Unit,惯性测量单元)数据,通过时间同步处理得到激光雷达以及光学相机采集时刻的GPS/IMU数据。接着,利用静态检校参数对激光测距误差进行改正,基于激光雷达成像模型解算激光点三维坐标。最后将激光点云与光学影像融合生成多维影像。其中,主要包含两大算法模块:激光点云三维坐标解算和快速融合三维成像。
图1 在轨环境下的实时多维成像处理流程图示
采用阵列推扫式机载激光雷达系统建立三维点云解算模块[1]。该系统的激光阵列排布垂直于飞行方向,发出的激光脉冲先经衍射分光后分为多束射向地面,再通过探测器回收地面反射的回波信号,获得收发的时间差,进而求取具有一定幅宽的激光点信息。其中,点云解算指的就是从激光点数据到三维空间信息所经历的一系列处理过程的总和。如图2所示,其具体过程为:将激光扫描坐标系下的测距值经激光扫描坐标系→IMU坐标系→导航投影坐标系→地心坐标系,求出每个激光脚点精确的三维空间坐标(,,)。为提高激光点云的精度,在解算的过程中需将联合检校得到的检校参数带入,进行校正处理。
另外,由于扫描过程中会出现误将低空飞行物当作被测目标记录,或受到多路径误差或激光测距仪误差影响等情况,可能导致数据中出现粗差,需要在解算中剔除。为保证机上处理速度,在算法中加入基于扫描距离值的快速粗差滤除处理:根据载荷平台飞行的相对高度以及扫描视场角,得出测区内可能出现的最大及最小扫描距离值,以此作为阈值,测量值在阈值范围外的认为是粗差,予以滤除。
图2 点云解算模块流程图
利用上述点云解算操作可求得激光点云数据。在此基础上,算法将根据数据携带的时间码信息和像元间对应关系对激光点云和CCD影像进行拼接融合。
其具体实现流程为:先依据光学影像采集频率以及激光雷达系统采集频率之间的固定关系,将影像行与激光点云行对应上;再依据影像像点与激光点间的对应关系,得到每个激光三维点所对应的影像像点位置,从而完成光学影像、激光三维点云以及位置姿态数据时间同步。经同步对应后,部分光学影像像点具有对应的三维坐标,其他的像点通过已知高程的像元点线性插值得到未知高程的像元点高程;在像方进行融合后,再使用影像的位置姿态信息及内参数,按照共线条件方程解算出其坐标,从而求得各像点对应的大地三维坐标,并配合对应的光谱信息[11],即可生成三维影像。快速融合处理流程如图3所示。
相比于单核DSP,多核DSP具有更强的并行处理能力和更优化的功耗管理能力[12],因而得到了越来越多的关注。各主要数字信号处理器厂商,如Cradle、TI、ADI以及Freescale公司,都相继推出多核DSP。其中,TI公司的TMS320C6678在内核数、主频、功耗、运算能力等方面均具有较为突出的优势。
TI公司的C66x系列DSP是定点和浮点混合多核DSP,兼容C64x+和C67x+、C674x系列DSP,其内核具有8个功能单元,采用8级流水[13]。其中TMS320C6678是基于Keystone架构的多核DSP[14],内置8个C66x DSP核,最高工作频率可达1.4GHz,具有320GMACS的定点处理能力和160GFLOPS的浮点运算能力。它还拥有丰富的片内资源,4MB的共享内存MSMCSRAM和2GB的DDR3,以及每个核各有32kB的L1P和32kB的L1D,512kB的L2SRAM。整个系统通过TeraNet片内互联,且还拥有SRIO、Hyperlink、千兆网口等多种高速互联接口,从而可支持核到核、芯片到芯片和板卡之间的自由通信,便于多片扩展。此外,TI公司还提供了具有任务调度、资源管理等功能的SYS/BIOS实时操作系统,可大大缩短开发周期。可见,C6678能很好地适应对低功耗、高性能、可编程性等多方面有严格要求的应用环境,是实现实时处理复杂算法的最佳选择。
图3 快速融合模块流程图
主从模型是通过从DSP的多个内核中选定一个作为主核负责总体控制,再由主核触发、控制所有从核的处理计算任务的工作方式[15],如图4。主核与从核间的数据交换可以由EDMA3、多核导航器等实现,主核与从核的内核间消息通信可以由内核间中断、IPC消息队列等方式实现。该模型的特点是从核间相互独立,不涉及从核间通信,一个内核的失败并不影响其他核的运行,配置灵活,存在负载均衡、共享资源竞争的问题,控制逻辑设计复杂。因此,该模型更适于处理流程算法复杂、内核间数据关联少的应用情景。
图4 主从模型的工作方式
数据流模型描述了DSP的多个内核串行的工作方式,代表着分布式控制与执行,如图5。第一个内核连接着系统的输入部分,内核之间的数据传输可以通过共享内存直接存取、EDMA3通道或多核导航器等不同方式来实现,核间的同步通信可由内核间中断或IPC消息队列实现。该模型的特点是无总控概念、所有内核承担各自处理任务、核间联系紧密,一个核的失败会导致整体的失败、采用数据触发调度。因此,该模型更适于处理流程算法单一、内核间数据相关性大的应用情景[16]。
1)整体设计思路
根据上述的研究内容,三维影像生成主从处理模型的设计思路是:核0作为主控核,担任输入输出接口、数据分发、创建共享缓冲区、系统初始化、创建核间通信的消息队列空间、同步监控从核执行任务的角色;核1~核7作为从核,负责接收主核命令并向其反馈当前状态、执行三维影像生成算法的工作。如图6所示。
2)核间通信策略
核间通信策略包括两部分的内容:消息通信和数据搬移。
设计中采用IPC消息队列方式来实现消息通信,主要任务包括主核向从核发同步消息、执行消息、输出开启消息、选通从核输入消息,从核向主核发送当前状态消息、处理结束消息、输出结束消息;利用EDMA3方式来实现数据搬移,主要任务包括主核向从核发送输入数据包、从核向主核发送输入数据行。
图5 数据流模型的工作方式
图6 三维影像生成主从模型
这样的通信组合一方面满足了复杂算法模型中对消息负载定义高灵活性和强适应性的要求,另一方面也达到了大量数据传输的高效性目标。此外,由于EDMA3采用独立数据通道,则保证了数据传输过程可几乎不占用CPU运行时钟,从而增强了算法处理模型的并行性。后续的模型核间通信策略中,会继续利用这两个基础模块,但各自逻辑通信会根据模型集中或分散控制特点而采取相对应的设计。
该模型的逻辑设计重点是设置从核选通逻辑,利用从核反馈的完成信号选通主控核对该空闲从核的输入数据传输,充分利用7个从核处理和输出耗时的差异错开不同从核对相同资源的利用时刻,降低输入时从核对数据通道的竞争。
1)整体设计思路
三维影像生成数据流处理模型的设计思路是:根据三维影像生成算法特点,将算法划分为点云解算和快速融合两大处理模块。根据两个模块的运算耗时比例情况(3:1),设置核0~5作为点云解算处理核,承担输入数据接口、点云解算处理、中间结果传输给后续快速融合处理核的任务;核6~核7作为快速融合处理核,负责接收点云解算结果并触发后续快速融合处理、输出三维影像数据接口、并触发下次点云解算执行的工作。如图7所示。
2)核间通信策略
不同于主从模型,数据流模型中没有总控的概念,每个内核都有其特定的处理任务,是一种通过数据触发后续运行的方式,即一旦输入数据量达到该内核执行运算的要求,就触发执行该核的处理任务。可见,数据流模型完全发挥了多核处理器所有的处理能力,但其通信逻辑会分布在各个内核中,从而使得整体模型系统逻辑清晰性下降。
该设计中同样采用IPC消息队列方式来实现消息通信任务;利用EDMA3方式来实现数据搬移任务。本模型逻辑设计的重点在于如何在执行并行数据操作的同时避免覆盖已有的有效数据。其中,由于快速融合模块中存在内插操作引入了数据重复计算开销,为避免不必要的资源浪费,2和5内核的任务每次需对应完成两次输出传递。为降低核间相互通信的逻辑复杂度并减少通信次数,在6和7核之间加入一条通信链路:通过两者的一个通知,简化2、5核分别通知6、7核产生的四次通信过程,同时也可一定程度上的错开了6、7核对输出通道的资源竞争操作。
图7 三维影像生成数据流模型
测试实验选取10幅影像数据,具体的采集设备及输入数据量信息,如表1所示。其实时性检测标准为低于采集设备采集周期,即至少低于25ms。
图8展示了基于多核DSP的机载三维影像生成算法处理结果。将该结果与中国科学院定量遥感信息技术重点实验室的地面处理系统标准处理结果进行对比,可知两者的误差不超过小数点后4位,即不超过毫米级,从而验证了所开发并行模型的正确性。
表2展示了相同算法下的单核处理及两种不同并行模型处理耗时对比情况。由表2中的总耗时对比可知,单核处理耗时较长无法达到实时要求,而两种并行处理模型均能达到实时性要求,从而说明了针对机载三维影像生成技术并行处理技术研究的必要性。其中,主从模型比数据流模型表现出了更优秀的总体处理性能;但从单纯通信消耗的角度来看,则是数据流模型消耗更低。
表1 采集设备参数及输入数据量列表
图8 三维影像生成模型的处理结果展示
表2 相同算法下的不同模型处理耗时对比
下面将结合两种并行模型的特点,具体分析上述对比结果的原因。
主从模型的优势主要在于从核间相互独立、整体设计结构明确,运算并行度较高。相比于数据流模型具有分布式结构不易管理调试、对任务划分及逻辑设计的要求高、核间延迟较大的不足之处,主从模型获得了更优越的处理效率。
同时,主从模型也存在着如下缺点:由于采用集中控制方式导致其输入输出都存在大量的资源竞争问题;程序设计中包含大量控制代码用于实现主控核对从核间的监视和管理调度,从而导致逻辑通信的次数增加产生冗余。而数据流模型具有分散控制,核间的数据传输直接触发后续任务执行,降低了核间通信的逻辑复杂度的特点。因此,相比于主从模型中“当前核à主控核à目的核”的冗余通信,数据流模型中“当前核à目的核”的通信方式具有更为简洁有效的通信逻辑。
此外,从资源利用率的角度分析:三维影像生成主从模型为保证从核间的独立运行,单个从核内包含了具有数据相关性的整体算法,造成单核处理复杂度增加,从而允许的运算数据量减少。而数据流模型则充分利用了所有处理核的运算能力,从而扩大了单核运算数据量的承载力。因此,数据流模型又比主从模型具有更高的资源利用率。
本文采用TMS320C6678多核DSP平台,分别设计搭建了三维影像生成算法的主从模型和数据流模型。通过对两者的性能对比,分析总结了两种模型的特点,为如何在实际应用中合理地利用多核DSP的处理资源提供一种解决思路,也为基于激光雷达-光学CCD的主被动三维影像实时生成技术的应用发展奠定了一定的基础。
[1] 黎荆梅, 周梅, 李传荣. 阵列推扫式机载激光雷达三维点云解算方法研究[J]. 遥感技术应用, 2013, 28(6): 1033-1038.
LI Jingmei, ZHOU Mei, LI Chuanrong. Research on points position cloud calculation method of airborne linear array push-broom LiDAR[J]., 2013, 28(6): 1033-1038.
[2] 徐勇. 机载激光点云与CCD影像数据的融合技术研究及实现[D]. 广州: 华南理工大学, 2014.
XU Yong. Research and implementation on fusion of airborne laser point cloud and CCD images[D]. Guangzhou: South China University of Technology, 2014.
[3] 翟小晶, 马大为, 乐贵高, 等. 基于DSP的火箭炮神经网络PID位置控制器的设计[J]. 弹箭与制导学报, 2013, 33(1): 125-128.
ZHAI Xiaojing, MA Dawei, LE Guigao, et al. The design of Neural PID Position Controller of Rocket Launcher Servo System based on DSP[J]., 2013, 33(1): 125-128.
[4] 王追. 基于多核DSP的实时波前复原研究[D]. 北京: 中国科学院大学, 2014.
WANG Zhui. Research of Real-time Wavefront Processing Algorithms based on Multi-core DSP[D]. Beijing: University of Chinese Academy of Sciences, 2014.
[5] 钱宏博. 基于多核DSP的雷达实时成像及JPEG压缩实现[D]. 西安: 西安电子科技大学, 2014.
QIAN Hongbo. The Realization of Real-time Radar Imaging and JPEG Compression based on Multicore DSP[D]. Xi’an: XiDian University, 2014.
[6] 郭瑞, 张月, 孙刚, 等. 多核DSP上的ISAR实时成像技术研究[J]. 信号处理, 2013, 9(29): 1238-1243.
GUO Rui, ZHANG Yue, SUN Gang, et al. Research on ISAR Real-time Imaging Technology multicore DSP[J]., 2013, 29(9): 1238-1243.
[7] 李鑫, 姜明. 多核DSP高速实时信号处理系统设计[J]. 光学设计, 2012, 38(1): 116-120.
LI Xin, JIANG Ming. Realization of a real time signal processing system based on multi-core DSP[J]., 2012, 38(1): 116-120.
[8] 孙科林. 基于多核DSP的实时图像处理平台研究[D]. 成都: 电子科技大学, 2013.
SUN Kelin. Research on Real-time Image Processing Platform based on multi-core DSP[D]. Chengdu: University of Electronic Science and Technology of China, 2013.
[9] 赵振华, 郑红. 嵌入式可重构的多DSP图像并行处理系统[J]. 单片机与嵌入式系统应用, 2009(2): 12-15.
ZHAO Zhenhua, ZHENG Hong. Embedded Reconfigurable multi-DSP Image parallel Processing System[J]., 2009(2): 12-15.
[10] Luxin Yan, Tianxu Zhang, Sheng Zhong. A DSP/FPGA -Based Parallel Architecture for Real-time Image Processing[C]//, 2006: 21-23.
[11] 黎荆梅, 周梅, 张正, 等. 三维成像载荷地面快速融合处理方法研究[J]. 科学技术与工程, 2015, 15(13): 114-117.
LI Jingmei, ZHOU Mei, ZHANG Zheng, et al. Research on fast fusion of laser point cloud and CCD image acquired by the 3D imaging payload[J]., 2015, 15(13): 114-117.
[12] 绳伟光, 蒋建飞, 何卫锋. 高性能DSP的发展现状与未来趋势[J]. 中国集成电路, 2011(4): 20-25.
SHENG Weiguang, JIANG Jianfei, HE Weifeng. State of the Art and Future Trends of High Performance DSPs[J]., 2011(4): 20-25.
[13] Texas Instruments. TMS320C66x DSP CPU and Instruction Set Reference Guide (Literature Number:SPRUGH7)[EB/OL]. [2017-03-10]. www.ti.com.
[14] Texas Instruments. TMS320C6678 Multicore Fixed and Floating-Point Digital Signal Processor Data Manual[EB/OL]. [2017-03-09]. www.ti.com.
[15] 丁有源, 汪安民. 基于多核任务并行处理的DSP软硬件设计[J]. 单片机与嵌入式系统应用, 2012(5): 43-45.
DING Youyuan, WANG Anmin. Software and hardware designs of DSP based on multi-core task parallel processing[J]., 2012(5): 43-45.
[16] 朱才高. 红外图像增强算法研究及其DSP实现[D]. 南京: 南京理工大学, 2014.
ZHU Caigao. Research on Infrared Image Enhancement Algorithm and its DSP Implementation[D].Nanjing: Nanjing University of Science & Technology, 2014.
The Parallel Design of Active-passive 3D Image Generation Algorithm Based on C6678
NIU Jingyu1,2,HU Jian2,HE Wenjing2,MENG Fanrong2,LI Chuanrong2
(1. University of Chinese Academy of Sciences, Beijing 100049, China;2. Laboratory of Quantitative Remote Sensing Information Technology, Academy of Opto-Electronics,Chinese Academy of Sciences, Beijing 100094, China)
At present, the question of how to achieve efficient active-passive three-dimensional (3D) image generation technology is a research hotspot in remote sensing applications. The technology involves a large quantityof data and complex processing. In order to fulfillthe high efficiency and real-time requirements of practical applications, this studydevelopedparallel processing technology based on the TMS320C6678 multicoreDSP. The parallel design of the 3D image generation algorithm was carried out based on the two main parallel models(the Master–Slave and Data Flow models). Finally, relying on the measurement and analysis of the development platform, the characteristics and applied scene of those two main models were summarized. These results can provide ideas for the efficient utilization of multicoreDSP in practical applications.
multicore DSP,three-dimensional image generation technology,Master/Slave model,Data Flow model
TP452.1
A
1001-8891(2017)11-0983-07
2017-03-10;
2017-07-05.
牛京玉(1992-),女,河南洛阳,硕士研究生,主要研究方向为嵌入式信号处理。
李传荣(1972-),男,研究员,博士,主要研究方向为定量遥感。
国家高技术研究发展计划(863计划)资助项目(2015AA123801);中国科学院光电研究院创新项目(Y50B12A14Y)。