基于嵌入式平台实现的遥感图像城区检测算法

2016-11-22 11:29师皓陈禾蔡希昌毕福昆
北京理工大学学报 2016年5期
关键词:板卡像素点嵌入式

师皓, 陈禾, 蔡希昌, 毕福昆,

(1.北京理工大学 雷达技术研究所,北京 100081;2.北方工业大学 信息工程学院,北京 100144)



基于嵌入式平台实现的遥感图像城区检测算法

师皓1, 陈禾1, 蔡希昌2, 毕福昆1,2

(1.北京理工大学 雷达技术研究所,北京 100081;2.北方工业大学 信息工程学院,北京 100144)

提出了一种城区区域实时检测算法及基于嵌入式平台的实现方式. 根据城区是由人造建筑的离散特征聚合而成的特点,城区检测算法划分为原始图像预处理、城区特征点的提取与筛选和基于特征点区域化的城区提取3个环节. 通过分析所提出原型算法中各关键环节的处理时间及运算特点,将其分解映射在FPGA+DSP并行异构的嵌入式板卡上,通过流水并行的方式实现. 本文提出的城区检测算法已移植于嵌入式板卡在某机载平台上进行了成功的搭载实验,满足实时的城区自动检测需求.

城市区域检测;特征点提取;图像处理;嵌入式平台;实时处理

随着嵌入式技术与空天遥感平台的发展,遥感图像的分辨率越来越高,包含的信息越来越丰富. 因此,基于遥感图像特定目标的自动检测算法已经成为主流研究方向. 其中,城市区域检测作为遥感图像目标检测与解译的一个重要方向,不仅可以应用于军事侦察,还可用于国土资源规划、土地使用分析等多个领域,逐渐成为国内外学者研究的重点.

许多学者尝试使用各种分类方法进行城市区域的提取. 比如文献[1-5]中使用局部特征提取的方法,如局部特征点提取、纹理特征或直线边缘等结构信息将城市区域与非城市区域进行区分. 文献[6-7]中,在提取上述特征的基础上,使用神经网络、支持向量机、adaboost等分类的方法将图像进行更细致的分类,但是此类方法大多需要大量数据源进行参数的训练. 文献[8]中将概率潜在语义模型技术应用于城市区域的提取中,取得了良好的效果,但是这种方法过于依赖参数的选取.

本文介绍的城市区域检测算法,立足于工程实现,摒弃了复杂的运算和训练过程,具有实时性高、运算简单、可移植的特点. 本文介绍的检测算法及其实现方式不仅可应用于地面设备进行遥感图像城区检测,还可搭载在机载平台上进行城市区域的实时检测.

1 算法总体设计

根据机载平台城市区域实时检测的需求,提出一种基于工程实现的城区检测算法,可在嵌入式信号处理板卡上进行实现并且能够满足实时性要求. 其中,信号处理板卡采用FPGA与DSP并行异构的处理方式,根据算法流程及功能将算法分为7个模块,分别由FPGA和DSP处理器实现不同功能:

①FPGA实现图像预处理功能,如图1中M1和M2所示,通过对原图进行下采样,以提高每景图像的处理速度,并将RGB彩色图像转为灰度图像,用于满足后续图像处理需求. ②DSP负责城区特征点的提取和基于特征点区域化的城区提取,如图1中M3~M7所示. 由于下采样减小了图像大小,可以将待处理图像存储于DSP片内RAM中,提高存储器访问速度. 在M4步骤以后为浮点数运算,使用DSP计算更快速准确.

2 城区检测算法

2.1 原始图像预处理

通过传感器得到的原始图像大小为1 024×768,为了减小后续处理的运算量及缓存空间,对原图进行4∶1的下采样,即隔4点取一点的方式将图像缩小为256×192. 使用下式将RGB彩色图像转为灰度图,由于在FPGA中进行运算,所以将系数扩大为整数后再进行运算.

(1)

式中:Igray为灰度图像;Ir、Ig、Ib分别表示彩色图像中红色、绿色、蓝色分量. 这样一来,图像处理的运算量减小16倍,缓存空间减小48倍,只需要256×192×8 bit=48 K,可满足片上RAM的存储容量.

2.2 特征点提取与筛选2.2.1 候选特征点提取

城区的检测首先从检测图像中能够标示城区中人造建筑的特征点开始,通过这些特征点组成的集合进一步提取城市区域. 通过将FAST(features from accelerated segment test)算法工程化进行特征点提取,使用如图2所示模板对降采样后的灰度图进行遍历,判断每个像素是否为候选特征点,具体方法如下所示.

① 建立特征标记矩阵C,各元素初始值为0,大小等于降采样后的图像,本文中为256×192.

② 将滑窗中心P置于图像中待判断像素点I(i,j),建立一个16位一维数组a[n],通过比较中点P与其周围半径为3的16个离散点的灰度值,对数组进行赋值,如式(2)所示.

(2)

式中:Ip→n为模板中圆弧上的第n个点的灰度值;Ip为模板中点P的灰度值;T为相似性度量阈值,选取范围一般为15~30.

③ 对数组a[n]求和,若和≥15或者≤-15,则认为该点为候选特征点,将特征标记矩阵中C(i,j)置为1. 若和等于0,则认为该点不是候选特征点,进行下一个像素点判断.

④ 若不满足第3步条件,则比较数组首位两个数a[1]和a[16],若两者相同则进行一次循环移位,移位后再进行比较,直到两者不相同后进入下一步.

⑤ 判断移位后的数组是否存在连续9个“1”或者连续9个“-1”,若数组满足上述情况则认为该点为候选特征点,将特征标记矩阵中C(i,j)置为1,否则将P移至下一个像素点重复步骤②~⑤.

按照上述方法将全图每个像素点遍历一般,即可找到图中所有候选特征点.

2.2.2 特征点约束剔除

上述方法提取的特征点不仅出现在人造建筑区域当中,也可能在其他信息丰富的地区,如山区、林地、田间等,所以在得到特征点集合之后,需要设计一个滤波器,将集合中不能表示城区的特征点剔除.

① 设定滤波窗口范围为M×M,一般M大小设定为图像大小的10%左右的奇数.

② 对特征标记矩阵C进行扩展操作,矩阵C向四周扩展(M-1)/2个元素,以数字“0”填充.

③ 对特征标记矩阵C中值为“1”各个元素进行滤波筛选,如图3所示,将待筛选像素C(i,j)置于滤波窗口中心,使用下式计算M×M窗口中值为“1”的元素个数.

(3)

④ 根据上步求得的N(i,j)做如下判断:

(4)

式中δ为约束阈值,选取范围一般为M/2~M. 即当图3所示的窗口中包含有大于一定数量的特征点时,当前中心点被当作特征点保留,否则将被剔除.

2.3 城区区域提取2.3.1 特征点区域化

为了将城区特征点集合拓展为城市区域,提出了基于高斯函数的矩阵加权法. 把每个特征点作为二维高斯函数的中心并通过二维高斯分布向外拓展,如下式所示.

(5)

式中:α为加权强度系数;σ为高斯函数系数;G为各特征点拓展为加权矩阵之后相叠加的结果.

由于计算式(5)需要进行多次超越运算,经实际测试表明,这样会占用大量处理时间,大大降低处理的实时性. 所以采取如下方式进行简化.

① 设定高斯加权矩阵大小为M×M,与滤波窗口大小相同,当σ相同时,每个特征点扩展的高斯加权矩阵相同,如图4所示.

② 计算模板中各元素的和Sum_M,使用下式更新模板中各元素值.

(6)

③ 加权强度系数α赋值为加权窗口M×M中包含特征点的个数,与模板矩阵中各元素相乘,得到窗口中心位置特征点的加权矩阵.

④ 将各特征点求得的加权矩阵相叠加,得到整幅图的加权矩阵.

⑤ 使用大小为5×5的滑窗对全图进行中值滤波,消除椒盐噪声的影响,使加权矩阵边缘更加平滑,有利于后续分割.

2.3.2 自适应分割

由于不同图像得到的加权矩阵数值和分布有较大差异,所以需要进行自适应的方式获分割阈值. 目前使用最多的是OTSU算法,但是为了简化计算步骤,使用如下迭代计算的方法代替OTSU算法进行自适应阈值计算,步骤如下所示.

① 选取图像中最大和最小值的平均值作为初始值ηTh;

② 使用ηTh分割图像,亮度值≥ηTh的所有像素组成I1,亮度值<ηTh的所有像素组成I2;

③ 计算I1和I2范围内像素的平均亮度值μ1和μ2;

④ 按照下式计算新的阈值:

(7)

⑤ 重复上述步骤②至④,直到连续迭代得到的ηTh满足下式停止:

(8)

式中ε为一个较小的阈值. 为了防止迭代过程进入死循环的情况发生,在此步骤将最大迭代次数设置为20次,若发生无法迭代计算出结果的情况,则将ηTh设置为一个经验值.

⑥ 通过求得的门限对加权矩阵进行二值化操作,即将大于阈值的点赋值为1,将小于阈值的点赋值为0.

2.3.3 形态学处理

经过上述分割后可得到高置信度的城市区域范围,但是有时会存在一些小面积的虚警区域,如石块或路口等. 这时需要进行连通域标记,然后通过连通域的面积大小将小面积连通域剔除,保证分割结果为大面积的城市区域[9].

3 实时城区检测算法的实现

根据上述对工程优化版城区检测算法的介绍,结合嵌入式硬件实现图像处理算法的特点和要求,深入分析了算法各模块的运算量及运算时间,对算法流程进行分解,将各模块合理分解到板卡上的不同处理器中,提高运算效率.

通过上位机对算法进行仿真并记录各环节的处理时间,设计算法各模块到硬件的映射方式. 各模块处理耗时百分比如表1所示,从表中可以看出,M3、M4和M6、M7是占用处理时间最长的部分,若能安排这两部分并行处理,便可节约1/2的处理时间,大大提高算法的实时性. 因此,在板卡上使用多片DSP通过并行流水的方式实现.

表1 算法各步骤处理耗时百分比

城市区域的实时检测信号处理板卡的拓扑结构如图5所示. 图像数据通过PCI总线从系统中其他模块传入信号处理板卡,经过DSP处理之后将处理结果通过PCI总线传出. 板卡使用3片DSP负责图像数据的处理,1片FPGA负责DSP与PCI总线之间的通信及图像预处理.

FPGA接收通过PCI总线传来的RGB图像,在存储原图的同时进行降采样和转灰度操作并将结果存储在片内RAM中,待处理完一景图像之后,则通过外部总线把图像传给DSP1或DSP2. 根据前面的分析结论,使用两片DSP采用Ping-Pang的方式实现算法M3、M4的并行处理. 首先,DSP1通过外部总线接收来自FPGA的灰度图像后开始进行M3、M4步的处理,在DSP1处理过程中,DSP2通过外部总线从FPGA接收下一景的图像进行相同处理. 当DSP1处理完成后将结果通过Link口传输给DSP3进行算法M5~M7步的处理,当DSP3处理完之后将结果传给FPGA,并接收DSP2处理完成的结果进行算法的后续处理工作.

这样,通过DSP1和DSP2一乒一乓的方式与DSP3实现了算法的流水并行处理,缩短了处理时间,提高了实时性. DSP与FPGA的并行处理时序关系如图6所示.

4 实验与讨论

为了验证本文城市区域检测算法的准确性,使用2 m分辨率的机载遥感图像进行测试. 首先,测试人员将待测图片中的城市区域人工标记出来,如图7(a)所示;同时,使用上述嵌入式板卡运行本文算法,将得到的结果回传给上位机进行比对,如图7(b)所示. 通过两幅图对比可看出,本算法能够准确检测标示出城市区域范围.

为了近一步定量评价本算法性能,通过逐个像素点比对的方法,根据文献[1]中的评价指标计算方法,检测率为算法正确检测出像素点数除以手动标记的城市区域的像素点数,虚警率为算法检出的虚警像素点除以手动标记的城市区域的像素点数. 通过对测试库中的20副图像进行统计,计算结果如表2中最后一行所示. 将本文方法与文献[1]和文献[5]介绍的两种方法及文献[10]中记载的两种常见图像分割算法进行比较,如表2所示. 由此可以看出,本文方法虽然进行了工程上的优化,但是检测性能不逊于其他方法.

表2 各算法检测性能对比

本文方法与其他方法处理时间对比如表3所示. 由此可见本文方法在处理时间上大大优于其他方法,每秒钟可以完成两幅图的检测,满足实时检测的需求. 当图像尺寸发生变化时只会影响算法的处理时间,不会对检测性能产生影响. 当图像分辨率提高为1 m分辨率时,能获得更加准确的分割效果;但当图像分辨率降为5 m分辨率时,算法同样适用但会分割出更多的裸地使虚警率增加. 由于篇幅限制不在本文进行详细讨论.

表3 各算法处理时间对比

5 结 论

近20年来,学者们提出了多种城市区域自动检测算法与策略,但是也只是停留在仿真阶段. 本文在此基础之上,提出了一种可在嵌入式平台实现的城区区域实时检测算法. 本文算法首先通过图像尺寸进行适当比例的降采样处理,然后使用FAST算法进行特征点提取,并通过约束操作剔除非特征点,之后对每个特征点使用高斯模板进行加权,最后通过自适应分割将城区区域分割出来.

本文算法已在基于DSP与FPGA的硬件板卡上实现,使用遥感图像进行的测试,可较为准确地检测出城区区域,算法耗时在秒级以下,可应用于视频流的图像检测,在实际应用中取得了良好的效果.

[1] Sirmacek B, Unsalan C. Urban area detection using local feature points and spatial voting[J]. Geoscience and Remote Sensing Letters, IEEE, 2010,7(1):146-150.

[2] Zhong P, Wang R. A multiple conditional random fields ensemble model for urban area detection in remote sensing optical images[J]. Geoscience and IEEE Transactions on Remote Sensing, 2007,45(12):3978-3988.

[3] Pesaresi M, Gerhardinger A, Kayitakire F. A robust built-up area presence index by anisotropic rotation-invariant textural measure[J]. Selected Topics in Applied Earth Observations and IEEE Journal of Remote Sensing, 2008,1(3):180-192.

[4] Huang X, Zhang L, Li P. Classification of very high spatial resolution imagery based on the fusion of edge and multispectral information[J]. Photogramm Eng Remote Sens, 2008,74(11):1585-1596.

[5] Sirmaçek B, Unsalan C. Urban-area and building detection using SIFT keypoints and graph theory[J]. IEEE Transactions on Geoscience and Remote Sensing, 2009,47(4):1156-1167.

[6] Pal M, Mather P M. Support vector machines for classification in remote sensing[J]. International Journal of Remote Sensing, 2005,26(5):1007-1011.

[7] 朱江洪,李江风,叶菁.利用决策树工具的土地利用类型遥感识别方法研究[J].武汉大学学报:信息科学版,2011,36(3):301-305.

Zhu Jianghong, Li Jiangfeng, Ye Jing. Land use information extraction from remote sensing data based on decision tree tool[J]. Geomatics and Information Science of Wuhan University, 2011,36(3):301-305. (in Chinese)

[8] Weizman L, Goldberger J. Detection of urban zones in satellite images using visual words[C]∥Geoscience and Remote Sensing Symposium. [S.l.]: IEEE, 2008:160-163.

[9] 谢宜壮,谭许彬,陈禾.一种新的连通域标记算法[J].北京理工大学学报,2012,32(12):1273-1278.

Xie Yizhuang, Tan Xubing, Chen He. A new algorithm for connected components labeling[J]. Transactions of Beijing Institute of Technology, 2012,32(12):1273-1278. (in Chinese)

[10] 陈雁.可见光遥感图像分割与提取研究[D].合肥:中国科学技术大学,2010.

Chen Yan. Research on segmentation and extraction in optical remote sensing image[D]. Hefei: University of Science and Technology of China, 2010. (in Chinese)

(责任编辑:刘芳)

Urban Area Detection Algorithm of Remote Sensing Image Based on Embedded Platform

SHI Hao1, CHEN He1, CAI Xi-chang2, BI Fu-kun1,2

(1.Lab of Radar Research, Beijing Institute of Technology, Beijing 100081, China;2.Department of Information Engineering, North China University of Technology, Beijing 100144, China)

A novel urban area real-timedetection algorithm and its realization based on embedded platform were proposed in this paper. According to the characteristic of urban areas which is made up of artificial construction distinguishing feature, the detection algorithm includes three parts. These are image preprocessing, feature points selection and urban area extraction. The algorithm was decomposed and mapped on the embedded platform based on the analysis of its processing time and operation characteristics. And the algorithm was implemented through the way of parallel flowing water.The urban area detection algorithm has been successfully experimented on the airborne platform and can meet the need of real-time and automatically detection.

urban area detection;feature points extraction;image processing; embedded platform; real-time processing

2013-12-15

师皓(1986—),男,博士生,E-mail:shihao@bit.edu.cn.

毕福昆(1982—),男,讲师,E-mail:bifukun@163.com.

TP 751

A

1001-0645(2016)05-0524-06

10.15918/j.tbit1001-0645.2016.05.016

猜你喜欢
板卡像素点嵌入式
基于IMX6ULL的嵌入式根文件系统构建
图像二值化处理硬件加速引擎的设计
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
基于局部相似性的特征匹配筛选算法
RTX系统下并行I/O卡驱动程序的开发
航空电子设备机上线路故障研究
RTX系统下Moxa多串口卡驱动程序的开发*
基于ARM嵌入式的关于图像处理的交通信号灯识别
TS系列红外传感器在嵌入式控制系统中的应用
一种X射线图像白点噪声去除算法