董正通,王 濤,趙偵鈞,耿子賀
(山東建筑大學(xué) 信息與電氣工程學(xué)院,濟(jì)南 250101)
2011年德國(guó)提出“工業(yè)4.0計(jì)劃”,“工業(yè)4.0”是指以智能制造為主導(dǎo)的第4次工業(yè)革命,旨在實(shí)現(xiàn)智能工廠(chǎng)、智能生產(chǎn)、智能物流,從而實(shí)現(xiàn)智能制造.這和中國(guó)制造2025的主題思想是一致的,都是推動(dòng)制造業(yè)向智能化方向轉(zhuǎn)型.現(xiàn)如今工業(yè)生產(chǎn)已經(jīng)基本實(shí)現(xiàn)自動(dòng)化,要想實(shí)現(xiàn)自動(dòng)化到智能化的過(guò)度,需要尋找一種新的方案來(lái)彌補(bǔ)自動(dòng)化生產(chǎn)中的不足.隨著大數(shù)據(jù)時(shí)代的來(lái)臨,人臉識(shí)別技術(shù)、車(chē)牌識(shí)別技術(shù)、語(yǔ)音識(shí)別、智能停車(chē)場(chǎng)等一系列智能產(chǎn)品應(yīng)用走進(jìn)人們的生活.人工智能可以實(shí)現(xiàn)在某些方面替代人的作用,應(yīng)用于工業(yè)生產(chǎn)中將會(huì)在解放勞動(dòng)力同時(shí)提高生產(chǎn)效率,是推動(dòng)工業(yè)生產(chǎn)走向智能化的第一大助力.標(biāo)識(shí)識(shí)別技術(shù)作為人工智能的一種,同樣在工業(yè)生產(chǎn)中占據(jù)了重要的作用,現(xiàn)如今比較火熱的瓶蓋封裝檢測(cè)、汽車(chē)智能生產(chǎn)都和標(biāo)識(shí)識(shí)別技術(shù)密切相關(guān).但是在一些傳統(tǒng)的工業(yè)生產(chǎn)中,標(biāo)識(shí)識(shí)別技術(shù)還難以應(yīng)用,如墻材生產(chǎn)線(xiàn)、水泥粉磨生產(chǎn)線(xiàn)等.其主要原因就是生產(chǎn)環(huán)境惡劣,噪聲復(fù)雜多變,標(biāo)識(shí)識(shí)別技術(shù)難以推廣.本次研究以卷積神經(jīng)網(wǎng)絡(luò)CNN[1-7]為核心,通過(guò)對(duì)算法的改進(jìn)和多種算法結(jié)合,尋找一種能夠在高噪聲環(huán)境下對(duì)標(biāo)識(shí)精準(zhǔn)識(shí)別的方法.
與其它標(biāo)識(shí)識(shí)別技術(shù)研究?jī)?nèi)容不一樣,高噪聲環(huán)境下,首先要考慮的是對(duì)標(biāo)識(shí)牌的精準(zhǔn)提取問(wèn)題,精準(zhǔn)提取的前提是能夠準(zhǔn)確定位到標(biāo)識(shí)牌的邊緣,這就需要用到邊緣檢測(cè)算法[8-10],目前比較流行的邊緣檢測(cè)算法大部分是在基于檢測(cè)算子來(lái)實(shí)現(xiàn)的,其中效果比較好的邊緣檢測(cè)算子有Sobel算子[11]、Prewitt算子、Roberts算子、Canny算子[12,13].Canny邊緣檢測(cè)算子在抑制多邊緣響應(yīng)和邊緣精細(xì)度上具有較好的效果,但是在高噪聲環(huán)境下,Canny邊緣檢測(cè)算子還是難以滿(mǎn)足對(duì)邊緣精準(zhǔn)提取的需求,文中對(duì)Canny邊緣檢測(cè)算法加以研究改進(jìn),使其能夠在高噪聲環(huán)境下實(shí)現(xiàn)對(duì)標(biāo)識(shí)邊緣得定位,提取標(biāo)識(shí)得邊緣信息,進(jìn)而實(shí)現(xiàn)對(duì)標(biāo)識(shí)牌得精準(zhǔn)提取,構(gòu)建標(biāo)識(shí)牌數(shù)據(jù)集,為卷積神經(jīng)網(wǎng)絡(luò)得訓(xùn)練做準(zhǔn)備.
墻材生產(chǎn)中工作環(huán)境是比較惡劣的,灰塵濃度較大,噪聲干擾較多.標(biāo)識(shí)牌鑲嵌在窯車(chē)壁的下方,要隨同窯車(chē)進(jìn)入燒坯窯,燒坯窯上層溫度最高可達(dá)到1300 ℃,下層最高溫度可達(dá)到400 ℃,考慮其高溫特性的影響,標(biāo)識(shí)牌經(jīng)過(guò)灼燒后顏色會(huì)發(fā)生改變,如果單純的利用顏色的特性來(lái)做識(shí)別的話(huà)很難實(shí)現(xiàn),另外在標(biāo)識(shí)牌的材質(zhì)上要選用耐高溫的鋼材質(zhì).針對(duì)標(biāo)識(shí)牌的顏色多變的特性,利用鏤空的圓孔的二進(jìn)制排列來(lái)代替純數(shù)字標(biāo)識(shí),圓孔的特征值較為明顯,不易被灰塵遮擋,鏤空的圓孔凹凸感強(qiáng)烈,光照時(shí)產(chǎn)生的色差明顯,在高噪聲的工業(yè)環(huán)境下便于識(shí)別.標(biāo)識(shí)牌上最多可以刻8個(gè)圓孔,圓孔依照二進(jìn)制進(jìn)行排列,能夠?qū)?8=256輛標(biāo)識(shí)物標(biāo)記,其排列結(jié)構(gòu)如圖1,標(biāo)識(shí)牌長(zhǎng)10 cm,寬5 cm,圓孔直徑大小為1.5 cm,圓孔之間的間隔為1 cm.
圖1 標(biāo)識(shí)牌結(jié)構(gòu)圖
首先需要采集大量的標(biāo)識(shí)數(shù)據(jù)做數(shù)據(jù)集,通過(guò)對(duì)數(shù)據(jù)集訓(xùn)練來(lái)構(gòu)造訓(xùn)練模型.數(shù)據(jù)采集的核心部分是對(duì)標(biāo)識(shí)牌提取,這就需要用到邊緣檢測(cè)算法Canny,邊緣檢測(cè)算法可以通過(guò)提取標(biāo)識(shí)牌的邊緣信息,來(lái)確定標(biāo)識(shí)牌的大小和具體所在位置,為標(biāo)識(shí)牌的精準(zhǔn)提取做準(zhǔn)備.傳統(tǒng)的Canny邊緣檢測(cè)算法在對(duì)邊緣提取時(shí)容易造成邊緣缺失,導(dǎo)致提取精度不夠,無(wú)法對(duì)標(biāo)識(shí)牌精準(zhǔn)提取.這主要是由于Canny邊緣檢測(cè)算法中高斯降噪[8]部分導(dǎo)致的,高斯降噪在去除高斯噪聲的同時(shí)會(huì)降低圖片的邊緣信息,導(dǎo)致邊緣信息缺失.因此需要對(duì)Canny中的高斯降噪部分進(jìn)行改進(jìn),在保留降噪功能的同時(shí)能保留邊緣信息.
高斯降噪主要通過(guò)構(gòu)建高斯卷積核與圖像進(jìn)行卷積運(yùn)算,利用權(quán)重因素對(duì)高斯噪聲加以模糊處理,使圖像變得平滑.分別取含有邊緣和未含有邊緣信息的像素矩陣,如圖2所示.
圖2 像素矩陣
從圖2中可以看出含有邊緣得像素矩陣第1列和第2列以及第3列像素值差異較大,未含有邊緣信息得像素值差異較少.高斯降噪中,中心點(diǎn)像素值由其余8個(gè)像素點(diǎn)加權(quán)平均得到,未含有邊緣信息的像素矩陣與權(quán)重進(jìn)行卷積運(yùn)算后,中心像素值變化不大,含有邊緣信息的像素矩陣則與其相反,這樣會(huì)將差異較大的邊緣像素值模糊掉.
從圖3中可以看出包含邊緣信息的中心像素值變化較大,由145變?yōu)?26,未包含邊緣信息的像素值基本不變,該過(guò)程是造成邊緣信息缺失的主要因素,因此需要對(duì)高斯模糊算法進(jìn)一步優(yōu)化,降低其降噪過(guò)程中對(duì)邊緣的模糊程度.
圖3 卷積運(yùn)算后像素值變化
這里選用雙邊濾波[14]來(lái)代替高斯模糊算法,雙邊濾波能夠在平滑圖像去噪的同時(shí)可以很好地保留邊緣信息,這主要是由于它的濾波器核由空間域核和值域核生成,空間域核是由每個(gè)像素的位置對(duì)應(yīng)的歐式距離決定的模板權(quán)值,公式如下:
其中,i,j代表的是坐標(biāo)矩陣y(i,j)中的坐標(biāo)點(diǎn),定義為q(i,j),k,l為坐標(biāo)矩陣y(i,j)中的中心坐標(biāo)點(diǎn),定義為p(i,j),對(duì)應(yīng)高斯函數(shù)的標(biāo)準(zhǔn)差,屬于上面講解的高斯核函數(shù),從式(2)中可知,是計(jì)算臨近點(diǎn)q到中心點(diǎn)p的臨近程度,因此空間域核是用來(lái)衡量空間臨近的程度.
值域核表示圖像中像素的差值決定的模板權(quán)值,公式如下:
其中,f(i,j)對(duì)應(yīng)坐標(biāo)點(diǎn)y(i,j)的像素值,f(k,l)為y(i,j)中心坐標(biāo)點(diǎn)對(duì)應(yīng)的像素值,為高斯函數(shù)的標(biāo)準(zhǔn)差,值域核的范圍在[0,1]之間.
將式(1)和式(2)相乘就可以得到雙邊濾波器的模板權(quán)值,如式(3)所示.
進(jìn)一步化簡(jiǎn)可以得到雙邊濾波器的數(shù)據(jù),如式(4)所示.
從式(4)可知,雙邊濾波是結(jié)合了高斯濾波和-截尾均值濾波器的一些特點(diǎn),綜合了值域和空間域上的差別,高斯濾波器只是利用了像素間的歐式距離來(lái)分配權(quán)重,其使用的模板系數(shù)隨著距離中心像素的距離增加而減少; 截尾均值濾波器利用局域內(nèi)像素灰度值間的差,去除最大值和最小值后再進(jìn)行均值化,實(shí)現(xiàn)對(duì)圖像降噪的功能.
式(1)中,空間域求的是n× n(n為空間域核的大?。┚钟騼?nèi)的坐標(biāo)點(diǎn)(p)到中心坐標(biāo)點(diǎn)(q)的距離,距離的遠(yuǎn)近用來(lái)衡量像素之間的關(guān)聯(lián)度,而值域計(jì)算的是m× m(m為值域核的大?。┚钟騼?nèi)周邊像素值和中心像素值的近似程度,在圖像上直觀(guān)的理解就是,當(dāng)圖像處于沒(méi)有邊緣信息的平坦區(qū)域,局域內(nèi)像素值差值較小,值域趨近于1,這時(shí)候就相當(dāng)于對(duì)該部分進(jìn)行高斯濾波,在非邊界區(qū)域相當(dāng)于進(jìn)行高斯濾波,反之,局域內(nèi)像素值差值較大,對(duì)應(yīng)的值域趨近于0,導(dǎo)致趨近于0,當(dāng)前像素收到的影響變小,保留圖像的邊緣細(xì)節(jié)信息,達(dá)到對(duì)圖像降噪的同時(shí),保留圖像邊緣信息的效果.
原始圖像中由于攝像頭采集圖片時(shí)光照的影響,采集的圖片會(huì)含有高斯噪聲點(diǎn),需要用高斯濾波去除掉,圖4為降噪之前和高斯降噪之后的對(duì)比,降噪之后高斯噪聲點(diǎn)消失,圖像邊緣變得模糊.圖5進(jìn)行邊雙邊濾波降噪之后,噪聲消失,圖像邊緣清晰,有利于邊緣算子對(duì)圖像邊緣的提取.
圖4 高斯降噪
圖5 雙邊濾波降噪
Canny邊緣檢測(cè)算法主要由4部分組成:① 對(duì)圖像進(jìn)行高斯降噪; ② 選用Sobel算子計(jì)算梯度幅值和方向; ③ 根據(jù)幅值對(duì)圖像進(jìn)行非極大值抑制; ④ 用雙閾值算法檢測(cè)和鏈接邊緣.本文中將 ① 中的高斯降噪算法由雙邊濾波算法代替,在降噪的基礎(chǔ)上增強(qiáng)邊緣信息,圖6分別展示了高斯降噪和雙邊的邊緣提取效果,圖7展示了標(biāo)識(shí)牌的提取效果,能夠?qū)?biāo)識(shí)牌實(shí)現(xiàn)精準(zhǔn)提取.
圖6 邊緣提取
圖7 標(biāo)識(shí)牌提取
從提取效果來(lái)看,改進(jìn)之后可以對(duì)標(biāo)識(shí)牌精準(zhǔn)提取,符合提取要求.
本文利用橢圓擬合算法和卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合.標(biāo)識(shí)牌是由圓孔的二進(jìn)制排列實(shí)現(xiàn)的,以第285個(gè)標(biāo)識(shí)牌為例,只有當(dāng)識(shí)別結(jié)果與標(biāo)簽285對(duì)應(yīng),且橢圓擬合得出的圓孔個(gè)數(shù)和實(shí)際標(biāo)識(shí)牌圓孔個(gè)數(shù)相一致時(shí),才判定識(shí)別結(jié)果正確,這樣會(huì)一定程度上降低識(shí)別錯(cuò)誤率.
通過(guò)改進(jìn)的Canny算法對(duì)標(biāo)識(shí)牌進(jìn)行采集,共提取到8000組數(shù)據(jù)用于訓(xùn)練,模型選用在圖像識(shí)別方向應(yīng)用較好的卷積神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)特征圖如圖8所示.
圖8 CNN網(wǎng)絡(luò)結(jié)構(gòu)圖
隱含層包含卷積層,池化層和全連接層.
假設(shè)輸入為G,隱含層只含有卷積層,則輸出可以用式(6)來(lái)表示.G和y(i,j)為卷積層輸入和輸出,w為權(quán)重,b為偏置,e為卷積輸出對(duì)應(yīng)的通道數(shù),Ll為輸入尺寸,f、s和p分別對(duì)應(yīng)卷積核大小、卷積步長(zhǎng)和填充,這樣可以通過(guò)參數(shù)Ll、s得到下一卷積層的輸入尺寸Ll+1.卷積層個(gè)數(shù)為2,卷積核大小為3×3,通道數(shù)e為3,步長(zhǎng)為1,假設(shè)輸入G=(G1,…,Gn,…,GN),個(gè)數(shù)為N個(gè),隱含層輸出y=(y1,…,yn,…,yq),隱含層神經(jīng)元個(gè)數(shù)為q個(gè),輸出層Z=(Z1,…,Zn,…,ZN),個(gè)數(shù)為N個(gè),可以進(jìn)一步簡(jiǎn)化得到式(6).
在卷積層中每個(gè)神經(jīng)元連接數(shù)據(jù)窗的權(quán)重是固定的,每個(gè)神經(jīng)元只關(guān)注一個(gè)特性.神經(jīng)元就是圖像處理中的濾波器,比如邊緣檢測(cè)專(zhuān)用的Sobel濾波器,即卷積層的每個(gè)濾波器都會(huì)有自己所關(guān)注一個(gè)圖像特征,比如垂直邊緣,水平邊緣,顏色,紋理等等,這些所有神經(jīng)元加起來(lái)就好比就是整張圖像的特征提取器集合,通常這些特征是以非線(xiàn)性的關(guān)系進(jìn)行組合,為了增加表達(dá)的復(fù)雜性,把線(xiàn)性關(guān)系轉(zhuǎn)化為非線(xiàn)性關(guān)系,卷積層添加激勵(lì)函數(shù) ReLU(Rectified Linear Unit),把卷積層輸出結(jié)果做非線(xiàn)性映射,一定程度上避免了梯度消失和梯度飽和的問(wèn)題.其表達(dá)形式如式(7).
其中,Z為輸入,A為輸出,f為激勵(lì)函數(shù),則輸出可以由式(8)得到.
另外在卷積層后,一般需要加入池化層主和全連接層,池化層可以在保留主要特征的前提下,減少參數(shù)的運(yùn)算量.常見(jiàn)的池化方式有兩種,均值池化和極大值池化.本文采用均值池化的方法,池化公式如下所示.
其中,p為預(yù)指定參數(shù),均值池化時(shí)p=1,其余參數(shù)和卷積層的相同,均值池化會(huì)模糊掉邊緣的特征值,為了保留邊緣特征值,這里采用極大值池化的方式.全連接層主要把訓(xùn)練參數(shù)鋪展開(kāi)來(lái),對(duì)提取的特征進(jìn)行非線(xiàn)性組合,在這里加入dropout,以一定的概率舍棄神經(jīng)元,可以避免訓(xùn)練中存在的一定的偶然性,使訓(xùn)練得到更好的效果.模型訓(xùn)練的整體結(jié)構(gòu)圖如圖9所示.
圖9 CNN模型結(jié)構(gòu)圖
該模型訓(xùn)練結(jié)構(gòu)由5部分組成,分別包括1個(gè)輸入層、3個(gè)卷積層、3個(gè)池化層、2個(gè)全連接層、1個(gè)輸出層組成,忽略梯度爆炸和梯度消失等問(wèn)題,層數(shù)越多,網(wǎng)絡(luò)感受野越廣,提取的特征值信息越多,有利于提高識(shí)別準(zhǔn)確率,但是層數(shù)的加深會(huì)造成運(yùn)算數(shù)量的增多,在實(shí)時(shí)性要求比較高的墻材生產(chǎn)線(xiàn)中難以滿(mǎn)足要求,實(shí)際的測(cè)試過(guò)程中,既要考慮圖像識(shí)別的準(zhǔn)確性,又要考慮識(shí)別時(shí)的實(shí)時(shí)性,該研究是在基于樹(shù)莓派平臺(tái)上實(shí)現(xiàn)的,運(yùn)行效率較低,過(guò)多的運(yùn)算量會(huì)造成運(yùn)行堵塞,太深的模型難以運(yùn)行.
根據(jù)整體訓(xùn)練過(guò)程可以分為5部分:① 權(quán)重初始化; ② 確定輸入向量和輸出值; ③ 根據(jù)權(quán)重和輸入向量值求出隱含層和輸出層各單元的輸出; ④ 計(jì)算輸出和實(shí)際值之間的偏量; ⑤根據(jù)偏量值判斷訓(xùn)練結(jié)果是否滿(mǎn)足要求,滿(mǎn)足要求則輸出訓(xùn)練模型,訓(xùn)練結(jié)束,不滿(mǎn)足則重復(fù)執(zhí)行②以后的步驟,直到滿(mǎn)足要求,輸出訓(xùn)練模型.詳細(xì)流程步驟,如圖10所示.
圖10 CNN訓(xùn)練流程
已知橢圓方程可以由式(10)表示.
其中,a,b,c,d,e,f為常數(shù)項(xiàng),令A(yù)=[a,b,c,d,e,f]T,X=[x2,xy,y2,x,y],于是式(11)可以改寫(xiě)為AX=1,這樣橢圓擬合[15,16]得最優(yōu)化問(wèn)題可表示為式(11).
其中,D為數(shù)據(jù)樣本集合n×6,6表示維度,對(duì)應(yīng)6個(gè)常數(shù)系數(shù),n表示樣本數(shù),C為矩陣常數(shù)矩陣.根據(jù)拉格朗日乘子法,引入拉格朗日因數(shù)β,得到以下兩個(gè)等式.
令S=DTD,那么上述方程可以改寫(xiě)為:
求解式(10)的特征值和特征向量(βi,θi),那么同樣地(βi,gθi)也是式(14)的特征解,其中,g是任意的實(shí)數(shù),根據(jù)方程ATCA=1,可以很容易地找到一個(gè)g,使得g2θiTCθi=1,即:
最后令ɑi=giθi,取g>0時(shí)對(duì)應(yīng)的特征向量θ,即可作為橢圓擬合曲線(xiàn)的特征解,另外可以通過(guò)設(shè)定橢圓長(zhǎng)短軸的比例值,對(duì)想要的橢圓進(jìn)行擬合,排除干擾性橢圓.橢圓擬合示例圖如圖11.
圖11 標(biāo)識(shí)牌橢圓擬合效果圖
該識(shí)別系統(tǒng)是在基于輕量級(jí)嵌入式設(shè)備樹(shù)莓派上運(yùn)行的,運(yùn)行內(nèi)存有限,加深訓(xùn)練模型會(huì)導(dǎo)致運(yùn)行內(nèi)存不夠用,難以形成可靠的識(shí)別系統(tǒng).為了滿(mǎn)足實(shí)時(shí)性和可靠性的要求,進(jìn)一步結(jié)合模型,采用橢圓擬合和卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的原理來(lái)提高準(zhǔn)確率,整體模型訓(xùn)練結(jié)構(gòu)圖如圖12所示.通過(guò)圓孔個(gè)數(shù)和CNN識(shí)別結(jié)果的對(duì)比,來(lái)判斷識(shí)別結(jié)果,增強(qiáng)模型的分類(lèi)能力.
圖12 整體模型構(gòu)建流程圖
首先選用1萬(wàn)組數(shù)據(jù)集對(duì)CNN模型進(jìn)行測(cè)試,測(cè)試結(jié)果如圖13所示,從圖13中可以看出準(zhǔn)確率上升波動(dòng)較大,損失函數(shù)直線(xiàn)下降后趨于穩(wěn)定,不符合一般的訓(xùn)練規(guī)律,考慮產(chǎn)生了過(guò)擬合,調(diào)整學(xué)習(xí)率并增大數(shù)據(jù)集到4萬(wàn)組,另外增大dropout率,舍棄掉無(wú)用的特征信息,再次利用數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果如圖14所示.
圖13 單獨(dú)CNN訓(xùn)練結(jié)果(1萬(wàn)組數(shù)據(jù)集)
圖14 單獨(dú)CNN訓(xùn)練結(jié)果(4萬(wàn)組數(shù)據(jù)集)
改變數(shù)據(jù)集和dropout率之后,正確率上升趨于穩(wěn)定,損失函數(shù)下降符合一般規(guī)律,這表明模型訓(xùn)練過(guò)程滿(mǎn)足要求,但是識(shí)別正確率較低,趨于0.8左右,增大識(shí)別準(zhǔn)確率雖然可以通過(guò)加深訓(xùn)練模型的方法來(lái)提高,但是加深訓(xùn)練模型的同時(shí)必然會(huì)加大訓(xùn)練參數(shù)的運(yùn)算量,難以實(shí)現(xiàn)再輕量級(jí)嵌入式設(shè)備上運(yùn)行,因此采用橢圓擬合和CNN相結(jié)合的思路來(lái)提高識(shí)別率,訓(xùn)練結(jié)果如圖15所示,識(shí)別流程圖如圖16所示.準(zhǔn)確率與單獨(dú)的CNN相比有顯著的提高,穩(wěn)定在0.96左右,滿(mǎn)足模型訓(xùn)練要求.
圖15 橢圓擬合和CNN相結(jié)合訓(xùn)練結(jié)果
圖16 識(shí)別流程圖
本文采用橢圓擬合和CNN相結(jié)合的思路,提高了對(duì)標(biāo)識(shí)牌的識(shí)別準(zhǔn)確率,CNN和橢圓擬合算法相結(jié)合,標(biāo)識(shí)識(shí)別率從0.8提高至0.96左右,能夠?qū)崿F(xiàn)對(duì)標(biāo)識(shí)牌的精準(zhǔn)識(shí)別.在標(biāo)識(shí)牌提取上,對(duì)Canny邊緣檢測(cè)算法中的高斯模糊算法進(jìn)一步改進(jìn),使其在對(duì)圖像降噪的同時(shí)能夠保留邊緣信息,便于對(duì)標(biāo)識(shí)牌的精準(zhǔn)提取.雖然本文實(shí)現(xiàn)了對(duì)標(biāo)識(shí)牌的精準(zhǔn)識(shí)別,但是在實(shí)時(shí)性上還待進(jìn)一步改進(jìn),改進(jìn)的高斯模糊算法在運(yùn)行速度上要低于傳統(tǒng)的高斯模糊算法,并且橢圓擬合算法只適合帶有圓孔的標(biāo)識(shí)牌,在通用性上較弱,還待進(jìn)一步完善.