崔巖
摘 要: 為了對(duì)比單機(jī)系統(tǒng)和基于Hadoop系統(tǒng)的舌部圖像預(yù)處理所用時(shí)間,從天津南開醫(yī)院體檢中心采集了1482例標(biāo)準(zhǔn)化舌部圖像。使用雙Worker、四Worker的Hadoop系統(tǒng)與單機(jī)系統(tǒng)對(duì)這些圖像進(jìn)行預(yù)處理。三種系統(tǒng)下運(yùn)行預(yù)處理各5次,對(duì)處理時(shí)間取平均值并對(duì)比。實(shí)驗(yàn)結(jié)果,表明雙Worker系統(tǒng)所用時(shí)間與單機(jī)系統(tǒng)相比縮短到了52.1%,四Worker系統(tǒng)縮短到了28.1%。相對(duì)于并行計(jì)算機(jī),基于Hadoop多Worker的舌部圖像預(yù)處理系統(tǒng)利用現(xiàn)有計(jì)算機(jī)和網(wǎng)絡(luò)資源,在幾乎不增加成本的情況下有效地縮短了預(yù)處理時(shí)間。
關(guān)鍵詞: 舌; 圖像預(yù)處理; Hadoop; 單機(jī); 對(duì)比
中圖分類號(hào):TP317.4 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):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 引言
舌診是中醫(yī)重要的診斷。醫(yī)生觀察病人舌部的顏色、紋理等特征,然后依據(jù)這些特征給出辨證、健康辨識(shí)或者診斷結(jié)果。但是實(shí)驗(yàn)表明,舌診有一致性差的缺點(diǎn)[1]?;谏嗖繄D像的診斷客觀化,是克服這一缺點(diǎn)的主要研究方法。已有多項(xiàng)研究以舌部圖像為對(duì)象,總結(jié)了舌部圖像的顏色、紋理等全局特征以及像素等局部特征對(duì)舌診的影響[2]。也有研究采用介于像素特征和全局特征之間的Haar-Like特征研究舌部圖像與疾病診斷、健康辨識(shí)等的關(guān)系[3-4]。這些研究都需要對(duì)舌部圖像進(jìn)行預(yù)處理。作為圖像研究中的第一步,預(yù)處理?yè)?dān)負(fù)著圖像剪裁、坐標(biāo)對(duì)齊、去除噪聲等任務(wù),并為后續(xù)研究步驟做好準(zhǔn)備。
隨著基于舌部圖像的中醫(yī)診斷客觀化研究水平的提高,此類研究包含的樣本量目前已經(jīng)提高到了數(shù)千幅圖像。如何對(duì)大量圖像預(yù)處理,成為中醫(yī)舌診研究中第一道難題。并行機(jī)的應(yīng)用雖然可以提高處理效率,但是其造價(jià)昂貴,使用成本高,無(wú)法大規(guī)模使用。Hadoop技術(shù)的提出和使用,在某些并行性很強(qiáng)的問(wèn)題中,可以使用個(gè)人計(jì)算機(jī)的堆疊成倍提高計(jì)算效率,同時(shí)又不需要額外的資源。目前已有研究使用Hadoop技術(shù)專門用于數(shù)據(jù)預(yù)處理[5-6]。本文使用自行配置的Hadoop系統(tǒng)和單機(jī)系統(tǒng),對(duì)同樣的圖像集進(jìn)行預(yù)處理,并比較兩者所耗費(fèi)的時(shí)間。通過(guò)實(shí)驗(yàn)驗(yàn)證Hadoop技術(shù)的對(duì)舌部圖像預(yù)處理效率的提升效果。
1 材料與方法
為了完成實(shí)驗(yàn),從2015年9月7日起,到2016年5月26日止,使用改進(jìn)型的YM-III舌診儀從天津市南開醫(yī)院采集了有效的舌部圖像共1482例。
系統(tǒng)硬件采用5臺(tái)DELL 7020臺(tái)式計(jì)算機(jī),每臺(tái)均配置i5-4590處理器、4G內(nèi)存。其中四臺(tái)作為Worker節(jié)點(diǎn)使用的設(shè)備配備500G硬盤,一臺(tái)作為Master節(jié)點(diǎn)使用的配備1T硬盤。通過(guò)現(xiàn)有的D-Link DES-3624百兆交換機(jī)連接。
軟件環(huán)境采用Ubuntu14.04操作系統(tǒng),安裝openJDK 1.7.0。Hadoop作為一個(gè)免費(fèi)的編程環(huán)境,文檔齊全而且開發(fā)接口繁多,非常適合研究和小規(guī)模應(yīng)用。Hadoop 2.7.0作為較新的版本,穩(wěn)定性已經(jīng)得到驗(yàn)證,結(jié)合R語(yǔ)言2.15.3版本,使用自行編寫的代碼對(duì)圖像進(jìn)行預(yù)處理[7]。該預(yù)處理算法包括欠采樣、增加對(duì)比度、模式串匹配、圖塊提取等四個(gè)步驟,將結(jié)果直接存儲(chǔ)于配置好的每臺(tái)機(jī)器自身的文件系統(tǒng)中。Master節(jié)點(diǎn)的R語(yǔ)言環(huán)境還用于數(shù)據(jù)統(tǒng)計(jì)分析。
首先采用單機(jī)系統(tǒng)測(cè)試,記錄數(shù)據(jù)處理所需時(shí)間。單機(jī)測(cè)試中不使用Hadoop環(huán)境。然后分別配置兩臺(tái)Worker節(jié)點(diǎn)、四臺(tái)Worker節(jié)點(diǎn)的Hadoop環(huán)境,分別完成預(yù)處理,記錄運(yùn)行時(shí)間。由于預(yù)處理算法是在先期研究中驗(yàn)證過(guò)的算法,將其應(yīng)用于Hadoop環(huán)境時(shí),并未采用rHadoop等r語(yǔ)言和Hadoop等接口,而是直接使用Hadoop環(huán)境在shell下運(yùn)行R語(yǔ)言環(huán)境中的腳本。為了減少網(wǎng)絡(luò)延遲等環(huán)境因素導(dǎo)致的時(shí)間延長(zhǎng),實(shí)驗(yàn)前將所有圖像復(fù)制到所有節(jié)點(diǎn),實(shí)驗(yàn)中按順序分配各節(jié)點(diǎn)需要預(yù)處理的圖像。雙Worker時(shí),第一臺(tái)Worker僅處理前741幅圖像,第二臺(tái)處理另外741幅。四Worker時(shí),四臺(tái)Worker節(jié)點(diǎn)按圖片編號(hào)順序分別同時(shí)開始處理371、371、370和370幅圖像。預(yù)處理后的圖像也存儲(chǔ)于各節(jié)點(diǎn)內(nèi)而不集中。為了考察測(cè)試結(jié)果的穩(wěn)定性,每種情況運(yùn)行五次,時(shí)間記錄為:平均值±標(biāo)準(zhǔn)差。
2 結(jié)果與討論
2.1 預(yù)處理效果
因?yàn)樗邢到y(tǒng)使用同樣算法,所以均順利完成了預(yù)處理,結(jié)果示例見圖1。圖1(左)為原始圖像,高2848像素,寬4272像素。圖1(右上)為24色色塊,每塊高寬均為140像素。圖1(右下)為舌部圖像,寬1400像素,高1812像素。用于圖像預(yù)處理的算法已經(jīng)在先期研究中驗(yàn)證理效果。與原始圖像包含12166656像素相比,處理后的舌部圖像僅剩余2536800像素。在保證圖像質(zhì)量不變的情況下,像素?cái)?shù)減少為原圖像的20.9%。這將大大提高后續(xù)工作的效率。
2.2 時(shí)間對(duì)比
在實(shí)際實(shí)驗(yàn)中,單機(jī)運(yùn)行實(shí)驗(yàn)中為了提高效率,使用五臺(tái)計(jì)算機(jī)同時(shí)分別運(yùn)行,其他實(shí)驗(yàn)均重復(fù)運(yùn)行五次。實(shí)驗(yàn)結(jié)果記錄如表1??梢婋SWorker數(shù)量的增加,預(yù)處理所用時(shí)間顯著減少。其中使用雙Worker時(shí),五次實(shí)驗(yàn)平均時(shí)間從單機(jī)的89504.200±769.089秒減少到46589.400±187.820秒,使用四Worker時(shí),進(jìn)一步減少到25169.000±59.766秒。
2.3 討論
在保證預(yù)處理質(zhì)量的前提下,時(shí)間對(duì)比驗(yàn)證了使用Hadoop技術(shù)可以有效縮短圖像預(yù)處理的時(shí)間,結(jié)果對(duì)比如圖2所示。相對(duì)于單機(jī)實(shí)驗(yàn),雙Worker所耗時(shí)間縮短到了52.1%,使用四Worker時(shí),時(shí)間進(jìn)一步縮短到了28.1%。近些年,隨著中醫(yī)舌診客觀化相關(guān)研究的深入,采集的圖像包含像素?cái)?shù)快速增加。同時(shí),高質(zhì)量的研究又需要大量的樣本圖像。Hadoop技術(shù)可以充分利用現(xiàn)有的單機(jī)系統(tǒng)和網(wǎng)絡(luò)等資源,在不增加成本的情況下,成倍的提高工作效率。
在本研究中,圖像之間的預(yù)處理工作沒(méi)有串行關(guān)系,Hadoop非常適用于這種場(chǎng)景。因此,即使在網(wǎng)絡(luò)延遲、shell環(huán)境啟動(dòng)等影響下,工作效率仍成倍提高。使用單機(jī)環(huán)境時(shí),總處理時(shí)間超過(guò)24小時(shí)。而使用四Worker環(huán)境時(shí),總時(shí)間約為6.99小時(shí)。當(dāng)數(shù)據(jù)量進(jìn)一步增大時(shí),可以輕易的在系統(tǒng)中加入成百上千的Worker節(jié)點(diǎn)繼續(xù)提高處理效率。本研究中的樣本在未來(lái)的研究中,可以使用Java或者Python等語(yǔ)言,在Hadoop環(huán)境下重寫預(yù)處理算法,進(jìn)一步提高效率。
3 結(jié)束語(yǔ)
經(jīng)過(guò)對(duì)比,基于Hadoop的多Worker系統(tǒng)在使用相同算法的情況下,保持了舌部圖像預(yù)處理的效果不變。與此同時(shí),預(yù)處理時(shí)間幾乎成倍降低。隨著大數(shù)據(jù)時(shí)代的來(lái)臨,目前與中醫(yī)相關(guān)的圖像處理問(wèn)題研究面臨著數(shù)據(jù)量的暴增,單機(jī)無(wú)法處理的問(wèn)題。為此,本研究初次嘗試了在相關(guān)研究中使用Hadoop技術(shù)。但是,本研究因?yàn)槭艿綏l件限制,僅采用了效率較低語(yǔ)言,也沒(méi)有利用Hadoop中分布式文件系統(tǒng)以及各種編程環(huán)境。因此,單幅圖像處理時(shí)間較長(zhǎng),總體效率仍舊較低。這些都是在進(jìn)一步的研究中需要改進(jìn)的方面??傮w上講,Hadoop有著成本低,擴(kuò)展性強(qiáng),編程環(huán)境成熟等優(yōu)點(diǎn),只要稍加改進(jìn),即可完成后續(xù)研究中的特征提取、選擇等工作。
參考文獻(xiàn)(References):
[1] 李曉彥,溫澤淮,梁偉雄等.評(píng)測(cè)中醫(yī)臨床醫(yī)生觀察舌象及脈
象一致性的研究[J].中西醫(yī)結(jié)合學(xué)報(bào),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日志預(yù)處理的設(shè)計(jì)
與實(shí)現(xiàn)[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2011.24(11):84-89
[6] 劉君.激光解析蛋白質(zhì)數(shù)據(jù)結(jié)合Hadoop的預(yù)處理方法[J].激
光雜志,2015.36(7):121-123
[7] R Core Team, R: A Language and Environment for
Statistical Computing[Z].Australia:R Core Team,2012.