- 1 -
中国科技论文在线
基于 MapReduce 的高分辨率图像高动态重
建技术研究#
冯后勇1,陈峰1,王贵锦2,陈宏钊2,穆楠2**
基金项目:国家自然科学基金(61327902)国家重大科研仪器设备研制专项多维多尺度高分辨率计算摄像
仪器;博士学科点专项科研基金;国家 863 计划(2015AA042306)
作者简介:冯后勇(1989-),男,清华大学自动化系硕士研究生,主要研究方向:计算机视觉,图像处理
通信联系人:陈峰(1971-),男,清华大学自动化系教授,“安防大数据处理与应用”北京市重点实验室
副主任,主要研究方向:计算机视觉,人工智能
(1. 清华大学自动化系,北京 100084; 5
2. 清华大学电子工程系,北京 100084)
摘要:本文针对大规模像感器阵列分视场采集系统的高分辨率高动态成像问题,采用高分辨
率并行计算的新思路,建立了高效的基于 MapReduce 的分布式高分辨率图像计算重建与显
示系统。本算法有效地克服了现有几种主流高分辨率计算成像方法无法同时兼顾高分辨率和10
高动态多尺度成像的缺点,通过部署分布式计算集群,使得算法具有很高的时效性。实验表
明,本文所提出的方法能够快速准确地实现此类分视场成像系统的高动态高分辨率多尺度成
像,具有良好的鲁棒性。
关键词:图像处理;高分辨率;图像拼接;并行计算;MapReduce
中图分类号: 15
The high dynamic reconstruction of high resolution image
based on MapReduce
FENG Houyong
1
, CHEN Feng
1
, WANG Guijin
2
, CHEN Hongzhao
2
, MU Nan
2
(1. Department of Automation,Tsinghua University,Beijing 100084; 20
2. Department of Electronic Engineering,Tsinghua University,Beijing 100084)
Abstract: By novely using parallel computing technology in high resolution image computational
reconstruction, we established a highly efficient distributed high resolution image reconstruction
and display system based on MapReduce. This method can be used in high resolution and high
dynamic image reconstruction of the Multi-scale Computational Photography instrument(MMCP) 25
based on large-scale algorithm effectively overcomes the weakness of most
existing high resolution image computational reconstruction methods which cannot be both high
resolution,high dynamic and multi-scale. Our system is of highly efficiency through the
deployment of distributed computing cluster. We proved that our system presented in this article
can be quickly and accurately to achieve high dynamic and high resolution imaging with great 30
robustness.
Key words: Image process; High resolution; Image Stitch; Parallel computing; MapReduce
0 引言
当前,随着以神经科学、肿瘤学为代表的生命科学和医学的高速发展,实现对活体组织35
的宽视场、高动态、高分辨率多维多尺度微观成像成为该领域研究的迫切需要[1][2]。如何兼
顾高动态高分辨率成像是此类成像仪器需要解决的最主要问题。随着仪器科学的发展,基于
大规模分视场采集的高分辨率成像系统得到了广泛的研究,就其成像方法上来看,主要可以
分为静态场景拼接成像和计算光场成像两种。
40
- 2 -
中国科技论文在线
在静态场景拼接成像方面,以 NASA 发明的新型成像观测仪器 Micro Gigapan[3]为代表,
如图 1(a)所示,通过该技术,该仪器生成图像分辨率高达 18 亿像素,但无法实现高动态成
像,而且容易带来极大的观察误差;2007 年,斯坦福大学利用密集摄像头阵列设计的动态
光场成像系统,如图 1(b)所示,可实现对观测样本的动态光场以及全景深成像,但其成像像45
素分辨率过低,不足亿像素;2012 年,杜克大学 D. J. Brady 教授课题组利用微摄像头阵列
设计开发的一套高分辨率成像设备 AWARE-2[4][5],如图 1(c)所示,在突破透镜速度和视场
范围的基础上,该设备能达到 亿的像素分辨率,同样,但该系统计算成像速度过低,无
法实现高动态多尺度成像。这些都反映了现有的几种高分辨率计算成像方法基本无法同时兼
顾高分辨率,高动态及多尺度特性。 50
图 1 几种主流高分辨率计算成像仪器
因此,本文提出了一种基于MapReduce[6][7]的分布式高分辨率图像计算重建与显示方法,
针对现有成像方法在处理海量数据的同时无法兼顾计算速度的不足,通过分布式处理系统将
高分辨率图像的计算重建过程并行化,进而极大的提高了高分辨率图像重建的速度,实现对55
观测区域的高动态实时高分辨率成像。另外,基于该方法,本文建立了有效的基于 MapReduce
的高分辨率图像计算重建与显示系统,系统架构如下图 2 所示,并利用十亿像素级数据进行
实验,证明此算法及系统能够高效的实现高分辨率图像的高动态计算重建与显示,具有良好
的鲁棒性。
60
图 2 基于 MapReduce 的高分辨率实时重建方案系统架构
- 3 -
中国科技论文在线
1 ROI 位置信息表示
通过大规模像感器阵列采集到的分视场子图像分布式地存储于本地服务器集群上,这些
分视场图像共同构成了目标观测物的高分辨率大图(十亿像素级或以上)。在实际观测过程
中,每次都只可能看到这些高分辨率大图屏幕大小的区域,如果可以实时的改变观测区域和65
成像层级,那么只对用户感兴趣的区域(ROI)显示,按需重建,这样可以大大的降低计算
量和传输数据量。
为此,本文利用 C#设计并开发了一套 ROI 显示软件,界面如图 3 所示,在本文所建立
的系统中,用户在客户端通过实际操作(拖动或是缩放)将感兴趣的观测区域(ROI)位置
信息传递给中心服务器,中心服务器通过计算,确定哪些分视场与 ROI 相关,然后将计算70
任务分发给相关的本地服务器计算集群,本地服务器集群进行高度并行化的 Map 计算,并
将结果传回中心服务器,在中心服务器进行Reduce计算,计算生成ROI图像,然后通过 socket
通信传回客户端显示。
图 3 客户端显示软件界面 75
用户的每一次操作,系统都会实时记录想相关 ROI 的位置信息,ROI 位置信息主要包
括 ROI 区域图像左上角点在原始十亿像素图像中的坐标(x, y),ROI 图像的尺寸(weight,
height)及所需图像显示层级 level。
2 基于 MapReduce 的分布式高分辨率图像计算重建
MapReduce
[6][7]是 google 公司于 2004 年提出的一种大数据处理模型,主要用于大规模80
数据集的并行运算,其处理数据的过程主要分为两个阶段:Map 和 Reduce,先 Map,后
Reduce。具体地,Map 函数完成对数据的预处理,该操作可在分布式系统中并发进行,Map
函数对输入数据的输出形式为<key, value>,在 Reduce 函数中将先前各 Map 操作生成数据中
key 值相同的数据汇总在一起,同时对 key 值相同的多个 value 值进行 Reduce 操作,最后使
得一个 key 值对应一个 value 值,这样即完成了计算。本文采用 MapReduce 计算模型的核心85
思想,通过 Map 过程将各分视场子图像局部坐标系中的像素点(位置和取值信息)映射到
全局大图坐标系中,通过 Reduce 过程将映射到物坐标系中相同位置的像素点(重叠区域)
- 4 -
中国科技论文在线
融合到一起。
由于 MapReduce 框架主要涉及到局部子图像像素点坐标到全局大图像素点坐标之间的
映射,所以在计算前要预先确定这种映射关系,即求取全局配准矩阵,该矩阵的求取可以通90
过标定[8][9]来完成,每一台像感器对应一个全局配准矩阵,整个标定过程会在图像采集开始
之前完成,并且每台本地服务器上都会存储其连接像感器所对应的配准矩阵,全局配准矩阵
的具体形式如表 1 所示,这样我们就建立了每一幅分视场子图像局部坐标点与全局大图坐标
之间的映射关系。
表 1 全局配准矩阵数据结构,其中 i 表示相机编号,j 为像素点编号 95
分视场子图坐标系 全局大图坐标系
11 _,_ ii ylocalxlocal 11 _,_ ii yglobalxglobal
22 _,_ ii ylocalxlocal 22 _,_ ii yglobalxglobal
︙ ︙
ijij ylocalxlocal _,_ ijij yglobalxglobal _,_
利用MapReduce计算框架来完成分布式高分辨率图像计算重建的基本流程如图 4所示。
中心服务器根据 ROI 位置信息参数,通过计算即可确定那些分视场子图像与之相关,同时
对分视场图像数据所在的本地服务器进行定位。
图 4 MapReduce 基本流程,其中(l_x,l_y)为像素点在局部分视场子图中的坐标,(g_x,g_y)为像素点在全局大100
图中的坐标,m 为像素值
Map 过程中,输入 key 值为一个包含像感器序号和分视场子图像像素点局部坐标值的数
组,输入的 value 值即为该像素点对应的灰度值,所以<key, value>即为<[Camera number,
(local_x, local_y)], Pixel value>,Map 函数运算在相应的本地服务器上进行,输出的<key,
value>值为<[global_x, global_y], Pixel value>,每一个点的计算都是相互独立的,因此可以高105
度的并行化。由于标定过程中,无法保证得到的结果正是整数点到整数点的映射,而最后的
全局坐标值为整数值,故在 Map 过程中,可采用后向映射的双线性插值法[10]来解决这一问
题。Map 过程中涉及的像素点为只为 ROI 区域相关像素点,并且保证有一点的冗余量,当
然这样会增加计算量,但在实际的实验过程中发现在这种模型下相较与数据传输时间,计算
时间基本可以忽略不计,Map 过程得到的结果将会实时传送到中心服务器。 110
Reduce 过程在中心服务器上进行,在该过程中,由于每一个分视场子图像之间存在着
一定的重叠区域,因此可以预见,Map 过程的结果中,会有很多点(重叠区域的点)其 key
值是相同的,于是 Reduce 过程的目的就是将这些 key 值相同的点整合到一起,这里基于最
大似然的思想,即将 key 值相同的点的像素值按照标定参数进行加权平均,如下式(1)所
示。 115
- 5 -
中国科技论文在线
N
k
k
N
k
kk
r
mr
yglobalxglobaliML
1
2
1_,_ (1)
通过这两步即可得到 ROI 区域图像,该数据会实时的通过 socket 通信传输回显示端,
当用户在客户端进行拖动,缩放以及移动操作时,上述过程将会重复进行。
3 实验
实验环境 120
基于前文所述,参考大规模像感器阵列分视场采集的高分辨率成像系统的特点,本文通
过搭建分布式计算处理系统来验证本文所提算法的正确性与有效性,具体模拟了 121 路相感
器阵列(单相机 1600 万像素)下的情况,相邻分视场之间保证 20%左右重叠区域,全局大
图分辨率为 33000*33000,如下图 5 所示。采用 10 台 PC 搭建分布式计算集群,其中 9 台作
为本地服务器计算集群,1 台作为中心计算服务器,每台采用 Intel i7 4790 处理器,16GB 内125
存。实验过程中,预先将各分视场子图像均匀的存储在各本地服务器上,整个 MapReduce
过程通过 MPI[11][12][13](信息传递接口)编程实现。
图 5 输入图像阵列,共 121 张分视场子图,分布式存储于本地服务器集群上
实验结果 130
实验过程中,考虑到现有显示器的分辨率,ROI 区域尺寸预设为 1920*1080。实验结果
如下图(5)所示。
- 6 -
中国科技论文在线
图 6 不同时刻不同操作的观测结果
系统各部分用时如下表 2 所示,这里主要考察客户端单次操作(缩放或拖动)所需的平135
均时间。
表 2 系统各部分用时情况
具体模块 磁盘读取 MapReduce 计算 数据传输 总时间
平均时间(s)
下面对时间性能进行分析,在客户端完成一次完整的观测过程中,系统所需时间主要由
三部分组成:从磁盘读取所需分视场子图像,该部分耗时 左右,占整个过程的比重
高达 50%以上,这主要是由于各分视场图像数据文件都存储与机械磁盘上,受机械硬盘的140
读取时间所限;其次是计算时间,主要是 Map 运算和 Reduce 运算,其中 Map 运算 ,
Reduce 运算可以忽略不计,这部分耗时共计 ;最后数据传输,整个过程所需数据大小
约为 ,在实验室部署千兆网络环境下,可达到 900Mbps,该部分平均耗时 。
所以在基于大规模相感器阵列十亿像素显微成像系统中,采用本文所提出的算法,在本文所
给的硬件条件下,只需 左右即可实现亿像素层级的高动态观测。 145
4 结论
本文针对大规模像感器阵列分视场采集系统的高分辨图像高动态计算重建问题进行研
究,建立了有效的基于 MapReduce 的分布式高分辨率十亿像素图像重建与显示系统。本文
提出的算法很好的解决了现有算法在面对待子视场图像数目巨大,图像分辨率高时计算速度
缓慢,内存占用巨大,实时性差的问题。同时,由于不涉及到利用特征点进行视场匹配,故150
本方法非常适用于基于大规模像感器阵列的高分辨率显微成像系统,因为显微图像具有局部
自相似性,特征不明显的特点。最后,本方法对分视场重叠区域大小基本没有要求。未来通
过采用 SSD,部署万兆网,在计算模块采用 GPU 加速,可进一步的缩短单次操作所需时间,
可以将单次操作所需时间控制在 20ms 以内,完全能够胜任针对大规模像感器阵列分视场采
集的高分辨率成像系统的高动态成像需求。 155
- 7 -
中国科技论文在线
[参考文献] (References)
[1] Cyranoski D. Microscopic marvels: The big and the bold[J]. Nature, 2009, 459(7247): 634.
[2] Lichtman J W, Livet J, Sanes J R. A Technicolour Approach to the Connectome. Nature Review Neurosci. 160
2008, 9(6): 417-422.
[3] Frenkel K A. Panning for science[J]. Science, 2010, 330(6005): 748-749.
[4] Brady D J, Gehm M E, Stack R A, et al. Multiscale gigapixel photography[J]. Nature, 2012, 486(7403):
386-389.
[5] Golish D R, Vera E M, Kelly K J, et al. Development of a scalable image formation pipeline for multiscale 165
gigapixel photography[J]. Optics Express, 2012, 20(20): 22048-22062.
[6] Dean J, Ghemawat S. MapReduce: simplified data processing on large clusters[J]. Communications of the
ACM, 2008, 51(1): 107-113.
[7] Dean J, Ghemawat S. MapReduce: a flexible data processing tool[J]. Communications of the ACM, 2010,
53(1): 72-77. 170
[8] See C M S. Method for array calibration in high-resolution sensor array processing[J]. IEE proceedings. Radar,
sonar and navigation, 1995, 142(3): 90-96.
[9] Ng B C, See C M S. Sensor-array calibration using a maximum-likelihood approach[J]. IEEE Transactions on
Antennas and Propagation, 1996, 44(6): 827-835.
[10] Huang W L, Hsiao K, Hsieh H Y. Fast bi-linear interpolation pipeline[P]. . Patent , 19980901. 175
[11] Gropp W, Lusk E, Skjellum A. Using MPI: portable parallel programming with the message-passing
interface[M]. Boston: MIT press, 1999.
[12] Gropp W, Lusk E, Doss N, et al. A high-performance, portable implementation of the MPI message passing
interface standard[J]. Parallel computing, 1996, 22(6): 789-828.
[13] Gropp W, Lusk E, Thakur R. Using MPI-2: Advanced features of the message-passing interface[M]. Boston: 180
MIT press, 1999.