付陽(yáng)陽(yáng),高志宇
(河南中醫(yī)藥大學(xué)信息技術(shù)學(xué)院,河南 鄭州 450000)
穴位是位于人體經(jīng)絡(luò)線(xiàn)上的特殊點(diǎn)區(qū)部位,亦是人體神經(jīng)末梢密集或神經(jīng)干線(xiàn)經(jīng)過(guò)的地方,也稱(chēng)之為腧穴。腧穴與臟腑經(jīng)絡(luò)密切相關(guān),腧穴是人體臟腑經(jīng)絡(luò)氣血輸注、結(jié)聚與體表的部位。中醫(yī)學(xué)中辨識(shí)穴位的方法有觸法、按法、捏法等,對(duì)人體穴位進(jìn)行準(zhǔn)確的判別存在一定的難度。為使人們對(duì)于人體穴位能夠有更廣泛的認(rèn)識(shí),對(duì)穴位的辨識(shí)定位更加的方便快捷,以大陵穴為例,通過(guò)滑動(dòng)窗口與梯度下降算法相結(jié)合的方法對(duì)人體穴位進(jìn)行辨識(shí)定位?,F(xiàn)報(bào)告如下。
1.1.1 滑動(dòng)窗口
為縮小找尋圖像目標(biāo)點(diǎn)的時(shí)間,提高找尋目標(biāo)點(diǎn)的準(zhǔn)確度,本文運(yùn)用滑動(dòng)窗口以縮小目標(biāo)范圍,縮短篩選時(shí)間,提高尋找目標(biāo)點(diǎn)的效率。
1.1.2 梯度下降
梯度下降法(gradient descent)或稱(chēng)最速下降法(steepest descent)是求解無(wú)約束最優(yōu)化問(wèn)題的一種常用的方法,他的實(shí)現(xiàn)比較簡(jiǎn)單。梯度下降法是迭代算法,每一步需要求解目標(biāo)函數(shù)的梯度向量[1]。本研究通過(guò)運(yùn)用梯度下降算法比較得出圖像中變化趨勢(shì)最大的兩個(gè)目標(biāo)點(diǎn)。
1.1.3 數(shù)字圖像處理技術(shù)之相似圖片搜索
每張圖片都具有各自的灰度直方圖圖像,若兩個(gè)圖像的灰度直方圖相近,就可以認(rèn)為它們是相似的[2]。
為增加穴位定位的準(zhǔn)確度,故采用將滑動(dòng)窗口與梯度下降算法結(jié)合的混合算法設(shè)計(jì)。該算法首先利用滑動(dòng)窗口對(duì)處理過(guò)的圖像進(jìn)行目標(biāo)范圍的縮小,之后用梯度下降算法對(duì)搜尋到的目標(biāo)范圍進(jìn)行依次梯度大小的比較,多次比較之后將找尋到的目標(biāo)坐標(biāo)點(diǎn)進(jìn)行記錄,以便后期進(jìn)行處理。如圖1所示。
圖1 混合算法設(shè)計(jì)流程圖
采集到手掌的原始圖像為RGB真彩圖像,為了便于提取圖像的輪廓以及提取圖像的梯度值,應(yīng)對(duì)原始圖像進(jìn)行灰度化預(yù)處理,通過(guò)rgb2gray()函數(shù)實(shí)現(xiàn)圖像灰度化。如圖2(a)所示。
2.2.1 穴位點(diǎn)確定依據(jù)
將圖像以中指為分界線(xiàn)一分為二進(jìn)行分割,通過(guò)滑動(dòng)窗口分別找到各部分中的目標(biāo)范圍后,通過(guò)梯度下降法比較各目標(biāo)范圍中梯度變化趨勢(shì)最大的目標(biāo)點(diǎn),由此可得出目標(biāo)圖像部分中梯度值最大的坐標(biāo)點(diǎn)(x1,y1),(x2,y2),可得出兩坐標(biāo)點(diǎn)的中點(diǎn)(x3,y3)=[(x1+x2)/2,(y1+y2)/2]即為大陵穴。
圖2 實(shí)驗(yàn)過(guò)程圖像
2.2.2 穴位的確定
2.2.2.1 觀察圖像的梯度變化趨勢(shì)
2.2.2.2 運(yùn)用滑動(dòng)窗口確定目標(biāo)范圍
在本研究中,筆者首先確定目標(biāo)對(duì)比圖像,為了增加實(shí)驗(yàn)結(jié)果的準(zhǔn)確度,需對(duì)目標(biāo)圖像進(jìn)行與原圖像一樣的預(yù)處理。通過(guò)數(shù)字圖形處理中的灰度直方圖的方法將目標(biāo)圖像與原圖像進(jìn)行對(duì)比,若兩圖的直方圖很接近,則認(rèn)為這兩張圖是相似的。其步驟為[12]:
圖3 圖像梯度變化趨勢(shì)
a)分別獲得兩灰度圖像的直方圖的分布。
m1=t1(i,j)+1; m2=t2(i,j)+1
e1(m1)=e1(m1)+1; e2(m2)=e2(m2)+1
b)將獲取到的灰度直方圖分為64個(gè)區(qū),每個(gè)區(qū)為連續(xù)的4個(gè)灰度等級(jí)。
c)對(duì)每個(gè)區(qū)中的4個(gè)值進(jìn)行求和運(yùn)算,將得到1個(gè)數(shù)據(jù),以此類(lèi)推,將會(huì)得到64個(gè)數(shù)據(jù),該數(shù)據(jù)即為該灰度圖像的一個(gè)向量。
m1(1,i+1)=e1(4×i+1)+e1(4×i+2)+e1(4×i+3)+e1(4×i+4)
m2(1,i+1)=e2(4×i+1)+e2(4×i+2)+e2(4×i+3)+e2(4×i+4)
d)依據(jù)步驟(1、2、3),將輸入的兩幅灰度圖像轉(zhuǎn)化為2個(gè)向量,即為A、B。
A=sqrt(sum(sum(m1.^2))); B=sqrt(sum(sum(m2.^2)))
e)本文運(yùn)用余弦相似度來(lái)計(jì)算A、B的相似度(若兩向量的余弦值越接近1,則兩個(gè)向量的夾角越接近0度,即認(rèn)為這兩個(gè)向量是相似的)。
cos1=C/(A×B)
對(duì)原圖像做類(lèi)似相同的滑動(dòng)實(shí)驗(yàn)兩次之后,即可確定出目標(biāo)點(diǎn)所在的目標(biāo)范圍。圖2(b)為通過(guò)滑動(dòng)窗口所找尋到的目標(biāo)范圍。
2.2.2.3 確定坐標(biāo)
目標(biāo)范圍確立后,在目標(biāo)范圍內(nèi),使用gradient()函數(shù)對(duì)圖像中的每個(gè)坐標(biāo)點(diǎn)依次進(jìn)行梯度值的比較,找出梯度值最大的兩個(gè)坐標(biāo)點(diǎn)(x1,y1)、(x2、y2),即可得出這兩點(diǎn)的中點(diǎn)坐標(biāo)(x3,y3)=[(x1+x2)/2,(y1+y2)/2]。即可確定出大陵穴的坐標(biāo)為(x3,y3)。如圖2(c)為所找到的大陵穴的位置。
本研究是將人體手掌部位作為研究對(duì)象,首先在采集圖像時(shí)要保證圖像的清晰度,將清晰度不夠的圖像舍去,也要將完整度不夠的圖像舍去。盡可能的選取不同年紀(jì)、不同大小、不同性別的人體手掌作為研究對(duì)象,以使研究結(jié)果更為客觀和全面。而文中對(duì)圖像進(jìn)行的灰度化預(yù)處理,目的在于通過(guò)灰度化使RGB真彩圖像生成為8位的灰度值圖像,使其可以對(duì)研究對(duì)象進(jìn)行直接處理,減少后續(xù)處理時(shí)的計(jì)算量,提高計(jì)算機(jī)的運(yùn)行效率。灰度化處理的方法有很多,由于文中是以Matlab9.0為基礎(chǔ),故使用采用加權(quán)平均算法的rgb2gray()函數(shù)對(duì)RGB圖像進(jìn)行灰度化。
在無(wú)約束的優(yōu)化算法中,除梯度下降法外,還有最小二乘法、牛頓法和擬牛頓法,本文之所以選擇梯度下降法與滑動(dòng)窗口相混合是因?yàn)榕c最小二乘法相比較來(lái)說(shuō),梯度下降法是通過(guò)迭代求解的,在樣本容量較大時(shí),梯度下降法的迭代相對(duì)來(lái)說(shuō)較有優(yōu)勢(shì),而之所以不用牛頓、擬牛頓法是因?yàn)楸M管牛頓、擬牛頓法是通過(guò)迭代進(jìn)行求解的,但其求解主要依據(jù)二階的海森矩陣的逆矩陣或者逆矩陣,使其每次的迭代時(shí)間都要比梯度下降法的時(shí)間長(zhǎng)。其次本文主要的研究對(duì)象是人體手掌部位,其整體的梯度變化趨勢(shì)較為明顯,通過(guò)比較研究對(duì)象圖像的梯度值的大小更易于確定目標(biāo)點(diǎn),故本文采用了梯度下降法與滑動(dòng)窗口進(jìn)行結(jié)合。
1)本文起初利用gradient()函數(shù)對(duì)圖像整體進(jìn)行直接求取梯度值,并以中指為分界線(xiàn)將手掌一分為二,分別對(duì)手掌的兩邊進(jìn)行求取梯度值,將兩邊圖像中的每個(gè)坐標(biāo)點(diǎn)的梯度值依次比較,求取出梯度值最大的坐標(biāo)點(diǎn),以確定目標(biāo)坐標(biāo)點(diǎn)。其代碼如下:[ax,ay]=gradient(b);g1=sqrt(ax2+ay2);由于在整個(gè)實(shí)驗(yàn)過(guò)程中,所受到的不可抗干擾因素太多,同時(shí)由于部分不同手掌部位的梯度值差別較小,致使經(jīng)過(guò)多次的實(shí)驗(yàn)探究,其所取得的結(jié)果與所要得到的目標(biāo)結(jié)果相差甚遠(yuǎn)。
2)為了使實(shí)驗(yàn)中得到的真實(shí)值與目標(biāo)值更為貼近,本文嘗試通過(guò)縮小找尋坐標(biāo)點(diǎn)的范圍以來(lái)降低實(shí)驗(yàn)過(guò)程中所受到的干擾,提高實(shí)驗(yàn)結(jié)果的準(zhǔn)確度。文中首先選用的是通過(guò)卷積求矩陣交集的方式來(lái)找尋出兩圖像的共同點(diǎn),以來(lái)縮小目標(biāo)范圍。本文以a=[010,010,010]、b=[000,111,000]作為卷積核,分別求取出圖像的邊緣卷積result1、result2。其代碼如下:
Result1=imfilter(R2_2,a);Result2=imfilter(R2_2,b)
3)運(yùn)用c=intersect(result1,result2);找出result1、result2兩矩陣的交集,C的結(jié)果值為0,1,由此可見(jiàn)用邊緣卷積找矩陣交集的方法確定坐標(biāo)點(diǎn)(x1,y1)、(x2,y2)對(duì)我們想要縮小找尋目標(biāo)范圍并沒(méi)有起到很大的作用效果,故該方法不可行。
3.4有效性分析
本文采用將滑動(dòng)窗口與梯度下降相混合的方法縮小目標(biāo)檢測(cè)范圍,為檢測(cè)該方法對(duì)于不同人體手掌部位的穴位識(shí)別的準(zhǔn)確度,分別對(duì)不同人體的手掌進(jìn)行了100次測(cè)試,結(jié)果顯示,通過(guò)該方法對(duì)不同手掌穴位定位準(zhǔn)確率可達(dá)到90%,未正確確定目標(biāo)點(diǎn)的坐標(biāo)點(diǎn)其誤差也很小。其誤差所產(chǎn)生的原因在于圖像從收集到圖像處理,參與計(jì)算整個(gè)過(guò)程中有可能會(huì)受到來(lái)自攝像機(jī)噪聲,光電子噪聲,椒噪聲等不可預(yù)測(cè)的圖像噪聲的干擾,使得計(jì)算機(jī)的計(jì)算結(jié)果會(huì)產(chǎn)生隨機(jī)誤差,表1為其中10次的抽樣數(shù)據(jù),圖4為單個(gè)手掌與多個(gè)手掌分別進(jìn)行的抽樣數(shù)據(jù)的有效性分析。
圖4 有效性分析
表1 不同人體手掌圖像測(cè)試
為了檢測(cè)該方法高效性,本文采用100個(gè)不同研究對(duì)象同時(shí)進(jìn)行測(cè)試,旨在比較人工識(shí)別與該方法識(shí)別所需時(shí)間的長(zhǎng)短以及其準(zhǔn)確度的高低。結(jié)果顯示,傳統(tǒng)的人工識(shí)別穴位所需花費(fèi)的時(shí)間遠(yuǎn)遠(yuǎn)超過(guò)計(jì)算機(jī)穴位的定位,但其定位穴位的準(zhǔn)確度并非遠(yuǎn)遠(yuǎn)高出計(jì)算機(jī)穴位定位的準(zhǔn)確度。并且隨著研究對(duì)象數(shù)量的不斷累加,計(jì)算機(jī)識(shí)別穴位的準(zhǔn)確度與人工識(shí)別的準(zhǔn)確度間的差距與其成反比,而計(jì)算機(jī)識(shí)別穴位所需時(shí)間與人工識(shí)別所需時(shí)間的差距與其成正比,由此可見(jiàn)計(jì)算機(jī)識(shí)別穴位的優(yōu)勢(shì)高于人工識(shí)別。如表2所示,為實(shí)驗(yàn)測(cè)試的數(shù)據(jù)結(jié)果,如圖5為人工識(shí)別與計(jì)算機(jī)識(shí)別對(duì)比分析。
表2 人工識(shí)別與計(jì)算機(jī)識(shí)別比較
圖5 人工識(shí)別與計(jì)算機(jī)識(shí)別對(duì)比分析
圖像采集過(guò)程中最好采用白色背景,易于后期圖像與背景的分離,圖像在后期的處理過(guò)程中背景最好采用透明的,降低噪聲對(duì)圖像求取梯度值的微干擾,以提高求取圖像梯度值的準(zhǔn)確性。直接對(duì)手掌圖像的整體進(jìn)行操作縱然簡(jiǎn)單易行,但由于在識(shí)別過(guò)程中會(huì)受到各種不可避免的因素的干擾,梯度值之間的較小差距,同時(shí)由于梯度下降算法所能找到的不一定是整體最優(yōu)解,可能是局部的最優(yōu)解的特性,都將使計(jì)算機(jī)識(shí)別結(jié)果受到影響,使其識(shí)別的準(zhǔn)確度產(chǎn)生較大誤差,故為避免計(jì)算過(guò)程中所產(chǎn)生的不必要的干擾,增加計(jì)算機(jī)識(shí)別結(jié)果的準(zhǔn)確度,首先通過(guò)滑動(dòng)窗口縮小目標(biāo)范圍之后,再對(duì)目標(biāo)范圍內(nèi)的圖像進(jìn)行一系列的梯度處理,從而也進(jìn)一步提高了計(jì)算效率。本文通過(guò)將滑動(dòng)窗口與標(biāo)準(zhǔn)梯度算法混合的形式對(duì)人體穴位進(jìn)行識(shí)別定位,結(jié)果顯示,該方法能夠有效提高人體穴位定位的效率,明顯縮短人工識(shí)別穴位所需花費(fèi)的時(shí)間。該方法的實(shí)現(xiàn)可以證實(shí)計(jì)算機(jī)能夠很好的服務(wù)于中醫(yī),以計(jì)算機(jī)為輔助發(fā)展中醫(yī)亦成為當(dāng)今社會(huì)中醫(yī)發(fā)展的趨勢(shì)之一。