馬海波, 張鵬程, 張 權, 劉 瑜, 桂志國
(中北大學 生物醫(yī)學成像與影像大數(shù)據(jù)山西省重點實驗室, 山西 太原 030051)
隨著光學技術的不斷發(fā)展, 運用于圖像采集的光學設備也越來越多[1-2]. 光學顯微鏡作為一種用途十分廣泛的圖像采集設備, 已成功應用于醫(yī)療病理輔助診斷、 農(nóng)業(yè)害蟲害防治、 環(huán)保污染物檢測等領域. 顯微圖像的清晰程度在很大程度上影響著相關研究, 因此顯微圖像的清晰度判斷引起了人們的廣泛關注[3-4].
顯微鏡成像功能實現(xiàn)離不開自動對焦技術[5-6], 顯微鏡拍照時總會有一個最佳成像位置, 而顯微鏡平臺由于自身工藝問題或使用時間太長會造成一定程度的傾斜, 容易使顯微鏡系統(tǒng)在拍照時偏離最佳位置, 圖像就會變得模糊, 直接影響著后續(xù)的圖像處理和相關研究, 甚至會造成研究人員的誤判, 而自動對焦技術可以有效避免這種問題發(fā)生. 楊斯涵[7]提出的基于邊緣特征的圖像清晰度評價算法通過對當前幀圖像的判斷即可得到其與主觀清晰度對應的參量, 但當圖像背景復雜, 目標物體又很小時易受噪聲影響, 該算法評價參數(shù)穩(wěn)健性差. 對此很多學者作了大量研究: 呂美妮[8]等人提出的對焦算法能夠選取內(nèi)容豐富的子塊作為聚焦窗口, 且評價函數(shù)抗噪性強; 薛萬勛[9]等人提出的結(jié)合點銳度和平方梯度的圖像清晰度評價算法, 具有很好的抗噪性; 張豐收[10]等人提出一種改進的Sobel梯度對焦算法, 能夠很好地抑制噪聲; 李郁峰[11]等人提出的灰度差分聚焦評價函數(shù), 能有效濾除噪聲, 增強穩(wěn)定性.
本文提出了一種將HOG特征與拉普拉斯梯度相結(jié)合來判斷圖像最佳清晰度的算法, 對圖像清晰度判斷準確率高, 運行速度快, 魯棒性好, 是實現(xiàn)顯微鏡自動對焦的前提, 在動態(tài)目標跟蹤系統(tǒng)中具有重要的應用價值, 實驗證明本算法在顯微鏡平臺存在輕微傾斜時依舊有效.
顯微鏡系統(tǒng)的自動對焦通過運動控制系統(tǒng)控制載物平臺移動, 調(diào)整物體與顯微鏡頭間的距離, 使所成圖像達到最清晰的效果, 在此過程中找到使圖像清晰度最佳的位置即為對焦位置.
顯微鏡的自動對焦可分為傳統(tǒng)的測距對焦法和基于數(shù)字圖像處理對焦法[12-14], 利用測距對焦對機械的精度要求很高, 且對焦精度效率差, 而基于數(shù)字圖像處理對焦算法是利用某種評價函數(shù)對圖像質(zhì)量做出客觀評價, 從而判斷當前圖像是否清晰. 顯微鏡所成圖像最清晰位置只有一個, 在這一位置前或后都會造成圖像模糊, 圖像的清晰度與鏡頭距物體距離大致成圖 1 所示曲線.
顯微鏡自動對焦系統(tǒng)如圖 2 所示, 由光學顯微鏡、 CCD相機、 計算機系統(tǒng)、 顯微鏡平臺運動控制系統(tǒng)等組成. 計算機系統(tǒng)發(fā)送命令控制平臺移動, 使載物臺XYZ3軸精確定位, 通過圖像清晰度評價算法完成對圖像清晰度的評價, 實現(xiàn)自動對焦.
圖 1 圖像清晰度變化圖Fig.1 Image sharpness change chart
圖 2 自動對焦系統(tǒng)示意圖Fig.2 Schematic diagram of autofocus system
圖 3 自動對焦系統(tǒng)原理圖Fig.3 Autofocus schematic diagram
顯微鏡的自動對焦實現(xiàn)需要先人工找到一個較清晰的位置(人工對焦點為采集中心, 在中心點處采集一幅圖像, 上下各7幅, 共15幅圖像)執(zhí)行圖像清晰度算法得到最清晰圖片結(jié)果, 得到與之對應的顯微平臺Z軸位置, 并將此位置作為下一個視野的拍攝中心. 如圖 3 所示, 控制平臺移動, 使玻片左上角A區(qū)域移動到顯微鏡視野下, 先手動找一個較清晰的位置a, 在此位置及其上下各7個位置拍攝圖像, 運用圖像清晰度評價算法找到最清晰的圖像位置a1, 并記錄此時平臺Z軸位置. 保持Z軸位置不變即位置b, 在XY平面內(nèi)移動載物臺使玻片下區(qū)域B移動到顯微鏡視野下, 繼續(xù)運用圖像清晰度評價算法, 由于平臺傾斜等原因會使B區(qū)域焦點下移到b1位置, 重復上面步驟完成對整個玻片的遍歷. 這樣即使平臺出現(xiàn)傾斜造成玻片與顯微鏡并非完全垂直, 理想的自動對焦算法也可以自動調(diào)節(jié)高度, 依然能使拍攝的圖像最清晰.
文獻[7]提出圖像的清晰度可以由其邊緣來判斷, 圖像的灰度級突變越大, 圖像邊緣特征越明顯, 圖像越清晰, 其目標物體與背景邊緣越銳利, 反之圖像越模糊. 圖像的梯度可以很好地反應圖像中目標物體邊緣灰度與其背景灰度之間的過渡, 利用式(1)求圖像梯度
(1)
式中:d(x,y)表示圖像在點(x,y)處的梯度;f(x,y)為圖像在點(x,y)處的灰度值. 對圖像求完梯度后, 在梯度圖像中選取大小為1×5的窗口, 分別在0°, 45°, 90°, 135°方向上滑動, 求得窗口內(nèi)5個梯度值總和, 利用式(2)計算每個像素點在以上4個方向上的值并取最大值.
S0°=d(x-2,y)+d(x-1,y)+d(x,y)+d(x+1,y)+d(x+2,y),
S90°=d(x,y-2)+d(x,y-1)+d(x,y)+d(x,y+1)+d(x,y+2),
S45°=d(x-2,y+2)+d(x-1,y+1)+d(x,y)+d(x+1,y-1)+d(x+2,y-2),
S135°=d(x-2,y-2)+d(x-1,y-1)+d(x,y+2)+d(x+1,y+1)+d(x+2,y+2).
(2)
基于邊緣特征圖像清晰度評價算法的實現(xiàn)具體步驟為:
1) 根據(jù)式(1)求圖像梯度, 利用式(2)求梯度最大的圖像邊緣位置及方向;
2) 在具有最大梯度的位置沿邊緣法向取7個點, 記其灰度值為fi,i=0,1,…,6, 并求得最大灰度與最小灰度差Fmax;
3) 在這7個點間取6個梯度di,i=0,1,…,5, 設F為某一固定閾值. 若Fmax≥F, 則存在邊緣, 否則不存在;
4) 當有邊緣存在時, 取6個梯度中位于中間的4個di,i=1,2,…,4, 找到其最大值dmax=max(d1,d2,d3,d4);
6) 圖像的清晰度與m1,m3成正比, 當m1,m3分別大于各自固定閾值則圖像較清晰;
7) 比較15張圖像的m1值, 找到m1值最大和次大的兩張圖像, 再比較這兩張圖像對應的m3值大小,m3值大的那張圖像最清晰, 即對焦位置圖像.
圖 4 為不同視野下的4組圖像, 每個視野取15張圖像, 圖 4 只列出每組清晰程度不同的4張. 對每組圖像運用邊緣特征圖像清晰度算法找到最清晰的圖像, 結(jié)果如圖 5 所示.
圖 4 顯微鏡不同視野采集圖Fig.4 Image from different fields of microscope
觀察圖 5 實驗結(jié)果圖, 對于圖片組1和2來說, 運用邊緣特征清晰度算法找到的對焦結(jié)果圖, 通過肉眼觀察清晰度可以接受. 但對于圖片組3和4這種細胞圖像, 目標物體很小, 通過肉眼觀察此算法找到的對焦圖片明顯很模糊, 運用此算法對焦失敗.
圖 5 邊緣特征算法結(jié)果圖Fig.5 Edge feature algorithm result image
為了解決邊緣特征圖像清晰度算法存在的問題, 本文提出一種結(jié)合HOG特征的圖像清晰度評價算法. HOG特征最早由Dalal[15]提出, 能夠很好地描述出圖像局部像素點之間的關系, 在目標物體小且背景復雜的情況下依然能對圖像清晰度做出評價. 首先對同一視野下的一組圖像做拉普拉斯變化并求拉普拉斯圖像梯度總和sum_laplace, 找到一組圖像中sum_laplace最大值和次大值及其對應的兩張圖像. 然后計算圖像的HOG特征, 圖像I(x,y)在點(x,y)處的水平梯度和垂直梯度如式(3)所示, 計算時可采用水平模板[-1,0,1]和豎直模板[-1,0,1]T與圖像卷積即可得到像素點的水平與垂直方向梯度, 像素點處的梯度幅值與方向用式(4)表示.
Gx=I(x+1,y)-I(x-1,y),Gy=I(x,y+1)-I(x,y-1),
(3)
(4)
根據(jù)式(3), 式(4)求得圖像的梯度大小和方向后, 將圖像劃分為幾個小cell(單元格), 將cell梯度方向分成9個方向塊, 統(tǒng)計落在每個方向塊內(nèi)像素點梯度方向的個數(shù), 對cell中像素點基于方向的直方圖投票, 投票的權值根據(jù)像素點的梯度幅值計算得出, 這樣圖片每個cell均有一個梯度方向直方圖和梯度大小的統(tǒng)計, 找到每個cell中梯度大小最大的梯度值, 將圖片中所有的小cell內(nèi)最大梯度值加和得sum, 通過比較同一視野下15張圖像的sum大小, 找到最大sum值及其對應的圖像, 若此圖像恰好對應之前通過laplace梯度找到的兩張圖像中的一張, 則認為這張圖像就是最清晰的, 否則認為sum_laplace值最大的圖像最清晰.
綜上所述, 本文算法具體實現(xiàn)步驟為:
1) 對圖像做拉普拉斯變化得到拉普拉斯圖像, 求拉普拉斯圖像梯度總和sum_laplace;
2) 計算同一視野下最大和次大的sum_laplace值, 并找到與之相對應的兩張圖片;
3) 計算圖像的HOG特征, 將圖像劃分為小的單元格cell, 遍歷圖像統(tǒng)計求出每個cell內(nèi)的梯度直方圖和梯度大小, 找到每個cell內(nèi)梯度大小的最大值max;
4) 對圖片中所有cell內(nèi)的最大值max求和得到sum, 找到同一視野下一組圖片中sum最大的值及其對應的圖片;
5) 對比sum值最大的圖像是否為sum_laplace值最大或次大圖像中的一張, 如果是則該sum值最大的圖像即為同一視野下最清晰的, 否則sum_laplace值最大的圖像最清晰.
為驗證本文算法的有效性, 對圖4中4組不同視野下的圖像運用本文算法進行清晰度判斷. 本文算法是在Intel Corei7-4770 3.40GHz的CPU, 8GB內(nèi)存的Windows7操作系統(tǒng)上利用Visual Studio結(jié)合OpenCV實現(xiàn)的, 實驗結(jié)果如圖 6 所示.
圖 6 本文算法結(jié)果圖Fig.6 Result image of algorithm in this paper
由圖 6 實驗結(jié)果可直觀看出通過本文算法找到的4組對焦圖像清晰度很高, 與圖5結(jié)果對比, 圖6中圖片組1和2雖然很難看出兩種算法的優(yōu)劣, 但圖片組3和4可明顯看出本文算法效果更好.
為了客觀比較本文算法與基于邊緣特征圖像清晰度評價算法的效果, 選用Tenengrad函數(shù)作為評價指標, 它是基于梯度的函數(shù), 一幅圖像越清晰, 其邊緣越尖銳, 具有越大的梯度值. Tenengrad函數(shù)的原理是利用Sobel算子提取水平及垂直方向的梯度值, 圖像經(jīng)Sobel算子處理后的平均灰度值越大, 圖像越清晰, 對應的對焦效果越好[16]. Tenengrad函數(shù)具體實現(xiàn)過程為:
圖像I(x,y)在點(x,y)處的梯度幅值大小G(x,y)如式(5)所示, 其中Gx,Gy分別表示Sobel算子的水平核與垂直核, 符號*代表卷積. 圖像I(x,y)的Tenengrad值為式(6), 其中n表示總像素數(shù).
(5)
(6)
由式(5), 式(6)分別求出圖5和圖6中4張圖像的Tenengrad函數(shù)值, 實驗結(jié)果如表1所示. 由表1結(jié)果可知: 本文算法計算得到的對焦圖像比邊緣特征算法計算得到的圖像Tenengrad值更大, 對于圖片組1和2兩種算法相差不大, 但對于圖片組3和4兩者相差很大, 這與肉眼直觀觀察完全符合. 本文算法在目標物體較小的情況下對焦效果明顯優(yōu)于邊緣特征算法, 說明本文算法的魯棒性更強.
表 1 算法清晰度結(jié)果
為了比較兩種算法所用時間的差異, 表2統(tǒng)計了兩種算法所用的時間. 對比表2數(shù)據(jù)可以發(fā)現(xiàn): 本文算法在速度上也要優(yōu)于基于邊緣特征的圖像清晰度評價算法.
表 2 算法耗時結(jié)果
針對傳統(tǒng)的基于邊緣特征圖像清晰度評價算法難以實現(xiàn)在目標物體小, 圖片背景復雜的情況下對圖像清晰度做出準確判斷的問題, 本文提出了一種將HOG特征與laplace圖像梯度結(jié)合起來的算法, 完成多組圖片的實驗仿真并取得了較穩(wěn)定的效果. 本文算法對圖像清晰度判斷準確率更高, 且運行速度更快, 是實現(xiàn)顯微圖像自動對焦的前提條件, 為后續(xù)圖像處理相關工作奠定了重要基礎.