崔岩
摘 要: 为了对比单机系统和基于Hadoop系统的舌部图像预处理所用时间,从天津南开医院体检中心采集了1482例标准化舌部图像。使用双Worker、四Worker的Hadoop系统与单机系统对这些图像进行预处理。三种系统下运行预处理各5次,对处理时间取平均值并对比。实验结果,表明双Worker系统所用时间与单机系统相比缩短到了52.1%,四Worker系统缩短到了28.1%。相对于并行计算机,基于Hadoop多Worker的舌部图像预处理系统利用现有计算机和网络资源,在几乎不增加成本的情况下有效地缩短了预处理时间。
关键词: 舌; 图像预处理; Hadoop; 单机; 对比
中图分类号:TP317.4 文献标志码:A 文章编号:1006-8228(2016)11-54-03
A comparative study of the tongue image preprocessing time based on Hadoop system
Cui Yan
(Department of Common Required Courses, Tianjin University of Traditional Chinese Medicine, Tianjin 300193, China)
Abstract: In order to compare the tongue image preprocessing time of the single machine system and the Hadoop based system, 1482 cases of standardized tongue image are collected from the medical examination center of Tianjin Nankai hospital. These images are pre-processed by a single PC, a two-worker and a four-worker Hadoop system respectively. Three kinds of system run the preprocessing for 5 times each, average the processing time of each system then contrast. Experimental results show that the two-worker system is reduced to 52.1% compared with the single machine system, and the four-worker system is reduced to 28.1%. Compared to parallel computer, using the existing computer and network resources, the tongue image preprocessing system based on multi-worker Hadoop can effectively shorten the preprocessing time while the costs are not significantly increased.
Key words: tongue; image pre-processing; Hadoop; single machine; contrast
0 引言
舌诊是中医重要的诊断。医生观察病人舌部的颜色、纹理等特征,然后依据这些特征给出辨证、健康辨识或者诊断结果。但是实验表明,舌诊有一致性差的缺点[1]。基于舌部图像的诊断客观化,是克服这一缺点的主要研究方法。已有多项研究以舌部图像为对象,总结了舌部图像的颜色、纹理等全局特征以及像素等局部特征对舌诊的影响[2]。也有研究采用介于像素特征和全局特征之间的Haar-Like特征研究舌部图像与疾病诊断、健康辨识等的关系[3-4]。这些研究都需要对舌部图像进行预处理。作为图像研究中的第一步,预处理担负着图像剪裁、坐标对齐、去除噪声等任务,并为后续研究步骤做好准备。
随着基于舌部图像的中医诊断客观化研究水平的提高,此类研究包含的样本量目前已经提高到了数千幅图像。如何对大量图像预处理,成为中医舌诊研究中第一道难题。并行机的应用虽然可以提高处理效率,但是其造价昂贵,使用成本高,无法大规模使用。Hadoop技术的提出和使用,在某些并行性很强的问题中,可以使用个人计算机的堆叠成倍提高计算效率,同时又不需要额外的资源。目前已有研究使用Hadoop技术专门用于数据预处理[5-6]。本文使用自行配置的Hadoop系统和单机系统,对同样的图像集进行预处理,并比较两者所耗费的时间。通过实验验证Hadoop技术的对舌部图像预处理效率的提升效果。
1 材料与方法
为了完成实验,从2015年9月7日起,到2016年5月26日止,使用改进型的YM-III舌诊仪从天津市南开医院采集了有效的舌部图像共1482例。
系统硬件采用5台DELL 7020台式计算机,每台均配置i5-4590处理器、4G内存。其中四台作为Worker节点使用的设备配备500G硬盘,一台作为Master节点使用的配备1T硬盘。通过现有的D-Link DES-3624百兆交换机连接。
软件环境采用Ubuntu14.04操作系统,安装openJDK 1.7.0。Hadoop作为一个免费的编程环境,文档齐全而且开发接口繁多,非常适合研究和小规模应用。Hadoop 2.7.0作为较新的版本,稳定性已经得到验证,结合R语言2.15.3版本,使用自行编写的代码对图像进行预处理[7]。该预处理算法包括欠采样、增加对比度、模式串匹配、图块提取等四个步骤,将结果直接存储于配置好的每台机器自身的文件系统中。Master节点的R语言环境还用于数据统计分析。
首先采用单机系统测试,记录数据处理所需时间。单机测试中不使用Hadoop环境。然后分别配置两台Worker节点、四台Worker节点的Hadoop环境,分别完成预处理,记录运行时间。由于预处理算法是在先期研究中验证过的算法,将其应用于Hadoop环境时,并未采用rHadoop等r语言和Hadoop等接口,而是直接使用Hadoop环境在shell下运行R语言环境中的脚本。为了减少网络延迟等环境因素导致的时间延长,实验前将所有图像复制到所有节点,实验中按顺序分配各节点需要预处理的图像。双Worker时,第一台Worker仅处理前741幅图像,第二台处理另外741幅。四Worker时,四台Worker节点按图片编号顺序分别同时开始处理371、371、370和370幅图像。预处理后的图像也存储于各节点内而不集中。为了考察测试结果的稳定性,每种情况运行五次,时间记录为:平均值±标准差。
2 结果与讨论
2.1 预处理效果
因为所有系统使用同样算法,所以均顺利完成了预处理,结果示例见图1。图1(左)为原始图像,高2848像素,宽4272像素。图1(右上)为24色色块,每块高宽均为140像素。图1(右下)为舌部图像,宽1400像素,高1812像素。用于图像预处理的算法已经在先期研究中验证理效果。与原始图像包含12166656像素相比,处理后的舌部图像仅剩余2536800像素。在保证图像质量不变的情况下,像素数减少为原图像的20.9%。这将大大提高后续工作的效率。
2.2 时间对比
在实际实验中,单机运行实验中为了提高效率,使用五台计算机同时分别运行,其他实验均重复运行五次。实验结果记录如表1。可见随Worker数量的增加,预处理所用时间显著减少。其中使用双Worker时,五次实验平均时间从单机的89504.200±769.089秒减少到46589.400±187.820秒,使用四Worker时,进一步减少到25169.000±59.766秒。
2.3 讨论
在保证预处理质量的前提下,时间对比验证了使用Hadoop技术可以有效缩短图像预处理的时间,结果对比如图2所示。相对于单机实验,双Worker所耗时间缩短到了52.1%,使用四Worker时,时间进一步缩短到了28.1%。近些年,随着中医舌诊客观化相关研究的深入,采集的图像包含像素数快速增加。同时,高质量的研究又需要大量的样本图像。Hadoop技术可以充分利用现有的单机系统和网络等资源,在不增加成本的情况下,成倍的提高工作效率。
在本研究中,图像之间的预处理工作没有串行关系,Hadoop非常适用于这种场景。因此,即使在网络延迟、shell环境启动等影响下,工作效率仍成倍提高。使用单机环境时,总处理时间超过24小时。而使用四Worker环境时,总时间约为6.99小时。当数据量进一步增大时,可以轻易的在系统中加入成百上千的Worker节点继续提高处理效率。本研究中的样本在未来的研究中,可以使用Java或者Python等语言,在Hadoop环境下重写预处理算法,进一步提高效率。
3 结束语
经过对比,基于Hadoop的多Worker系统在使用相同算法的情况下,保持了舌部图像预处理的效果不变。与此同时,预处理时间几乎成倍降低。随着大数据时代的来临,目前与中医相关的图像处理问题研究面临着数据量的暴增,单机无法处理的问题。为此,本研究初次尝试了在相关研究中使用Hadoop技术。但是,本研究因为受到条件限制,仅采用了效率较低语言,也没有利用Hadoop中分布式文件系统以及各种编程环境。因此,单幅图像处理时间较长,总体效率仍旧较低。这些都是在进一步的研究中需要改进的方面。总体上讲,Hadoop有着成本低,扩展性强,编程环境成熟等优点,只要稍加改进,即可完成后续研究中的特征提取、选择等工作。
参考文献(References):
[1] 李晓彦,温泽淮,梁伟雄等.评测中医临床医生观察舌象及脉
象一致性的研究[J].中西医结合学报,2010.8(12):1153-1158
[2] X. Wang, B. Zhang and Z. Yang et al., Statistical analysis
of tongue images for feature extraction and diagnostics[J].IEEE Transactions on Image Processing,2013.22(12):5336-5347
[3] Y. Cui, S. Liao, and H. Wang, ROC-Boosting: A Feature
Selection Method for Health Identification Using Tongue Image[J]. Computational and Mathematical Methods in Medicine,2015:362806
[4] Y. Cui, S. Liao and H. Wang et al., Relationship between
Hyperuricemia and Haar-Like Features on Tongue Images[J]. BioMed Research International,2015:363216
[5] 宋莹,沈奇威,王晶.基于Hadoop的Web日志预处理的设计
与实现[J].电信工程技术与标准化,2011.24(11):84-89
[6] 刘君.激光解析蛋白质数据结合Hadoop的预处理方法[J].激
光杂志,2015.36(7):121-123
[7] R Core Team, R: A Language and Environment for
Statistical Computing[Z].Australia:R Core Team,2012.