文/徐天宇
(重慶郵電大學(xué)軟件工程學(xué)院 重慶市 400065)
隨著人工智能技術(shù)的不斷發(fā)展以及各種智能設(shè)備的普及,人工智能技術(shù)正影響著整個(gè)世界,人工智能的概念最早問世于1956年的達(dá)特茅斯會(huì)議上,數(shù)學(xué)、計(jì)算機(jī)科學(xué)等科學(xué)家們提出了人工智能(Artificial Intelligence,AI)的概念,標(biāo)志著計(jì)算機(jī)科學(xué)這一門交叉學(xué)科的又一次重要突破。人工智能這一交叉學(xué)科涵蓋統(tǒng)計(jì)學(xué)、腦神經(jīng)科學(xué)、社會(huì)科學(xué)等多門學(xué)科,涉及并應(yīng)用于諸如工業(yè)、教育、醫(yī)療等領(lǐng)域。在醫(yī)療以及科研時(shí)經(jīng)常用到試管這一重要工具,但是人們往往要涉及到試管的數(shù)量確認(rèn),而試管數(shù)目檢測就可以減少不必要的人工涉入,自動(dòng)化的完成預(yù)期目標(biāo)。
本文提出的基于卷積神經(jīng)網(wǎng)絡(luò)的試管數(shù)目識別算法從圖片形式,特征考慮,主要過程可以大致分為三個(gè)步驟,如圖1所示:
(1)采用Canny算子對試管圖像進(jìn)行邊緣檢測。
(2)利用霍夫變換識別圖像中的試管,并進(jìn)行標(biāo)注。
(3)利用卷積神經(jīng)網(wǎng)絡(luò)判斷所識別圖像是否為試管。
邊緣檢測是傳統(tǒng)圖像處理中提取圖像邊緣信息的基本操作之一,能夠大幅度減少圖像中包含的信息量,提取關(guān)鍵的邊緣信息。目前在圖像處理領(lǐng)域有多種邊緣檢測方法,包括一階導(dǎo)數(shù)的微分算子,如Sobel算子、Robert算子、普通一階差分、Prewitt算子、Canny算子等;此外,以及通過計(jì)算二階導(dǎo)數(shù)的拉普拉斯算子、LoG算子等。考慮到Canny采用高斯濾波,對灰度漸變低噪聲的數(shù)據(jù)有著較好的檢測效果,因此本算法采用Canny算子進(jìn)行圖像的邊緣檢測。
Canny算子進(jìn)行試管圖像的邊緣檢測主要進(jìn)行以下步驟:
利用一維高斯濾波器平滑圖像,去除噪聲,如公式(1)所示:
用邊緣差分算子計(jì)算一階偏導(dǎo)的有限差分,用差分來計(jì)算梯度的幅值和方向,如公式(2)和公式(3)所示:
其中Gx表示水平方向上的差分,Gy表示垂直方向上的差分,θ表示梯度的方向,G表示計(jì)算所得梯度的模。
圖1:方法研究示意圖
圖2:CNN網(wǎng)絡(luò)結(jié)構(gòu)
對梯度幅值進(jìn)行非極大值抑制,尋找像素點(diǎn)局部的最大值,此時(shí)所得到的試管數(shù)據(jù)集圖片的邊緣寬度將大大減小。接下來利用雙閾值算法檢測,設(shè)置一個(gè)高閾值和一個(gè)低閾值,抑制梯度大小小于低閾值的噪點(diǎn),并定義梯度大小大于高閾值的像素為強(qiáng)邊緣點(diǎn),大于低閾值又小于高閾值的像素點(diǎn)為弱邊緣點(diǎn)。
最后進(jìn)行連接邊緣,也叫做滯后邊界跟蹤,檢查若邊緣點(diǎn)的領(lǐng)八連通域像素,如果發(fā)現(xiàn)存在強(qiáng)連通點(diǎn)則保留該弱連通點(diǎn),否則抑制。
圖3:試管原始數(shù)據(jù)集
圖4:利用canny算子進(jìn)行邊緣檢測
霍夫變換是圖像處理中檢測幾何圖像的常用方法之一,主要用來檢測直線、圓等幾何特征,被廣泛的應(yīng)用于圖像處理,計(jì)算機(jī)視覺等技術(shù)中。在試管數(shù)量識別模型中,對于坐標(biāo)內(nèi)的任意一個(gè)點(diǎn)(x1,y1),能夠做出無數(shù)個(gè)圓,并且存在公式(4)成立,而對于另一個(gè)點(diǎn)(x2,y2),同樣能夠使得公式(4)成立,要檢測出圓就必須使得參數(shù)相等,當(dāng)方程存在解時(shí),即檢測到圓。模型中依次計(jì)算中個(gè)像素點(diǎn),當(dāng)公式(4)存在解時(shí),累加器增加,表示該圖像中是試管數(shù)目加一,并輸入給卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行判斷。
利用霍夫變換檢測到的圓形可以得到圓形樣本,但是由于霍夫變換并不穩(wěn)定,以及圖像中其他圓形的干擾,可能產(chǎn)生不是試管圖案的圓形訓(xùn)練集。利用標(biāo)簽技術(shù),區(qū)分是否為試管圖案,并作為卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集。將每一張訓(xùn)練集轉(zhuǎn)換成64*64大小的圖片,輸入給卷積層,進(jìn)行特征提取,然后將結(jié)果輸出給最大池化層,降低高維信息并減小過擬合的風(fēng)險(xiǎn),并減少特征數(shù)量,參數(shù)數(shù)量。
卷積神經(jīng)網(wǎng)絡(luò)是一種基于卷積和池化操作的神經(jīng)網(wǎng)絡(luò),最早演技與上世紀(jì)80,90年代,隨著后來計(jì)算機(jī)技術(shù),計(jì)算機(jī)硬件的發(fā)展,越來越多人開始研究卷積神經(jīng)網(wǎng)絡(luò),其中LetNet-5是出現(xiàn)最早的卷積神經(jīng)網(wǎng)絡(luò),能夠提取數(shù)據(jù)集中的深層次特征。被廣泛地應(yīng)用于計(jì)算機(jī)視覺,自然語言處理中。
本模型采用CNN結(jié)構(gòu)中,共有5層,兩個(gè)卷積層,1個(gè)池化層以及兩個(gè)全連接層,其中卷積層的激活函數(shù)使用ReLU,用于解決高維空間,梯度消失的問題,損失函數(shù)使用SoftMax以及交叉熵,被用來衡量在給定的真實(shí)分布下,兩個(gè)概率分布之間的信息差。使用Adam最優(yōu)化參數(shù),Adam結(jié)合了Adagrad和Momentum兩者的優(yōu)點(diǎn),利用梯度的一階和二階矩陣來動(dòng)態(tài)的調(diào)節(jié)所要優(yōu)化損失函數(shù)的學(xué)習(xí)率(learning rate)。具體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
實(shí)驗(yàn)所采用的數(shù)據(jù)集來自實(shí)驗(yàn)室真實(shí)數(shù)據(jù),如圖3所示,定圖片是以俯視的角度拍攝試管架。本數(shù)據(jù)集一共有15張?jiān)嚬苷掌?,并保?張作為測試集,經(jīng)過霍夫變換識別試管之后,一共獲得378個(gè)卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集。在訓(xùn)練模型時(shí),每批包含50張圖片,一共為100此迭代訓(xùn)練。實(shí)驗(yàn)硬件環(huán)境采用Windows10操作系統(tǒng),第七代i5處理器2.5GHz,8GB內(nèi)存,GeForce1050獨(dú)立顯卡,軟件環(huán)境為PyCharm開發(fā)環(huán)境,python3.7,tensorflow1.8。
分析可以發(fā)現(xiàn)在圖像處理階段,輸入圖像被轉(zhuǎn)換成二值圖,Canny算子的邊緣檢測效果十分明顯,如圖4所示,并且所有試管都被霍夫變換所識別,變換效果不是十分理想,試管架上面的圓形與試管無法完全區(qū)分。把許多并不是試管的圓識別出來,需要卷積神經(jīng)網(wǎng)絡(luò)發(fā)揮作用。綜上所述,基于本文設(shè)計(jì)的試管數(shù)量識別模型有著較高的準(zhǔn)確率,測試集的收斂速度也十分迅速,泛化效果不錯(cuò)。
本文設(shè)計(jì)一種基于卷積神經(jīng)網(wǎng)絡(luò)的試管數(shù)目識別模型,利用了canny邊緣檢測以及霍夫變換檢測圖像圓形等圖像處理方法,采用卷積神經(jīng)網(wǎng)絡(luò)識別圓形是否為正確試管,其中利用最大池化有效的減少參數(shù)量,并且降低過擬合的風(fēng)險(xiǎn)。模型實(shí)現(xiàn)了自動(dòng)化試管數(shù)目的檢測,解決在實(shí)驗(yàn)過程中人工涉入的問題,可以有效地實(shí)現(xiàn)使館數(shù)目識別,完成人工智能技術(shù)在醫(yī)療實(shí)驗(yàn)方面的應(yīng)用。