李夢卓, 陳兆學, 張 奎
(上海理工大學 醫(yī)療器械與食品學院,上海 200093)
隨著微生物鑒定技術發(fā)展及數(shù)學、電子、信息和自動化分析等多學科的交叉融合,全自動微生物鑒定系統(tǒng)的出現(xiàn)成為技術發(fā)展的必然[1]。運用圖像處理技術實現(xiàn)細菌全自動鑒定,將為研發(fā)具有自主知識產(chǎn)權的微生物鑒定數(shù)據(jù)庫奠定基礎,對微生物鑒定水平的提高與相關技術發(fā)展產(chǎn)生深遠的影響,具有較大的先進性和研究價值。
傳統(tǒng)標定方法需使用特定攝像機標定板,操作要求高且過程繁瑣[2-3],其中張正友棋盤法[4]應用最為廣泛,此方法利用一個具有精確定位點陣的模板,需在不同位置多個視點對平面標定板采集圖像,利用多個視場計算多個單應性矩陣求解攝像機內(nèi)部參數(shù)[5]。但棋盤法在本文所涉及的基于模板匹配的細菌鑒定系統(tǒng)中,無法提供多個不同角度的場景圖像而難以直接使用。基于CCD 和模板匹配的細菌鑒定系統(tǒng)的結構及原理,本文提出了一種基于模板匹配的攝像機標定方法。根據(jù)細菌鑒定系統(tǒng)中攝像機獲取的96 孔酶標板作為模板圖像,建立三維空間點與二維平面點的對應關系,在無需人工干預的條件下,通過計算機程序作圖像處理和數(shù)學計算來獲取鑒定系統(tǒng)中攝像機的重要參數(shù),更適用于細菌鑒定系統(tǒng)中對攝像機的關鍵參數(shù)標定。該方法可為細菌鑒定系統(tǒng)中圖像亮度修正、細菌陰陽性判定等技術環(huán)節(jié)的順利實施奠定基礎。
細菌鑒定系統(tǒng)由計算機控制的上位機和步進電機控制的下位機組成,上位機用于數(shù)據(jù)采集、處理和分析,下位機包括CCD 攝像頭、鑒定試劑板條、10 個進出板和60 個孵育倉等,如圖1 所示。
圖 1 全自動細菌鑒定系統(tǒng)架構示意圖Fig. 1 Schematic diagram of the automatic bacterial identification system
上位機中的圖像采集與分析系統(tǒng)是整個全自動細菌鑒定系統(tǒng)中獲得細菌相關圖像和特征數(shù)據(jù)的前提基礎,包含圖像采集裝置和圖像處理與分析系統(tǒng)兩大部分。圖像采集裝置由光源發(fā)射單元、試劑板條單元、圖像獲取裝置(CCD 攝像頭)等組成;圖像處理與分析系統(tǒng)由計算機和相關圖像處理與分析軟件構成。整個采集系統(tǒng)的示意圖如圖2 所示。
圖 2 基于CCD 的圖像采集系統(tǒng)示意圖Fig. 2 Schematic diagram of CCD-based image acquisition system
在微生物鑒定過程中,一塊酶標板包含96 種有字母和數(shù)字編號的標識碳源,采集裝置中主要利用反射鏡,通過CCD 攝像獲取酶標板照片,再將圖像數(shù)據(jù)轉換為數(shù)字信號并通過USB 接口傳輸存入計算機內(nèi)存。圖像數(shù)據(jù)采樣及分析單元利用設計的算法實現(xiàn),在亮度校正中96 孔酶標板每一點處應該修正的亮度,式中:Im,Ix分別為任意點 x和 酶標板亮度最大點 o的亮度值;x為 線段 ox的 長度;Zc為攝像機外參數(shù),需通過本論文標定得出。求得每一點處亮度修正量,形成亮度修正模板,用于實時序列圖像的亮度校正。通過基于模板匹配的板孔高效定位和攝像機標定得到的重要參數(shù) Zc,為后續(xù)實現(xiàn)有效的細菌自動鑒定提供了光學系統(tǒng)相關基礎數(shù)據(jù)。
根據(jù)攝像機理想針孔成像模型,在不考慮透鏡畸變情況下,設攝像機在不同方向上像點的物理坐標到圖像坐標的比例系數(shù)一致,場景中任意一點 P(Xc,Yc,Zc)與 其投影到圖像平面的像點p(u,v)具有如下關系[6]:
式中: f 為攝像機焦距; λ為比例因子; fu, fv分別表示像素坐標系中u, v 軸的尺度因子, (u0,v0)為坐標系主點坐標;R 為3×3 的旋轉矩陣;T 為平移矩陣; M1為 3×4 的矩陣,由 fu, fv, u0, v0這4 個參數(shù)決定,即攝像機內(nèi)參數(shù), M1即內(nèi)參數(shù)矩陣;M2為攝像機坐標系與世界坐標系相對位置關系決定的外參數(shù)矩陣;M 統(tǒng)稱攝像機參數(shù)矩陣。攝像機標定即為計算求解參數(shù)的過程[7]。
通常,在攝像機固定而標定物自由移動的情況下,可假設世界坐標系與攝像機坐標系重合,此時R = I,I 為單位矩陣,t = 0,則式(1)變?yōu)?/p>
式中: p′為圖像點p 的齊次坐標矩陣;P 為圖像點P 的坐標矩陣。對式(2)表達的攝像機針孔投影模型而言,由于未考慮鏡頭畸變,在攝像機標定過程中僅需標定光心偏移量 u0和 v0、攝像機內(nèi)參f, 以及用攝像機外參數(shù) Zc即可。雖然基于此簡化針孔模型的標定精度存在一定局限,且針對深度空間小視角攝像機標定,靶點的空間分布范圍對標定精度的影響較大[8],但就本論文所研究問題而言,要求精度并不高,采用該簡化模型足以滿足模板圖像亮度修正和細菌陰陽性判定等后續(xù)處理環(huán)節(jié)的需要。
文獻[9-10]根據(jù)標定示意圖3 給出一種標定方法,證明存在如下關系:
圖中,O 為攝像機光心。本文在標定板內(nèi)選擇計算點A,B,C 對應在圖像平面中的投影點分別為a,b,c,線段AB 長為L,AC 長為l。A,B,C對應的坐標矩陣A,B,C 的關系為 C=λ1A+λ2B。式中: h=(h1,h2,h3)T; a′, b′, c′分別為圖像點a,b, c 的 齊次坐標秬陣, ZcA, ZcB, ZcC分別代表A,B,C 三點的空間深度,即Z 軸方向坐標。
圖 3 標定輔助物示意圖Fig. 3 Schematic diagram of auxiliary calibration
觀察發(fā)現(xiàn),式(4)中 λ1, λ2已 知,a,b,c的齊次坐標可通過設計酶標板孔的檢測與標記算法獲得,基于式(3)得到 h即 可得到 h1, h2, h3的值,在酶標板測得AB 的實際長度L 后,該四元二次方程方程僅含有 u0, v0, ZcA和 f這4 個未知數(shù)。
如圖4 所示,本文指定細菌鑒定系統(tǒng)的96 孔標定模板中,通過不同A,B,C 點的選擇,可找到多組 h的值。為了計算簡便,先取AC=BC,使得式(3)中 λ1=λ2=0.5。特別注意h 的計算過程涉及到目標點在圖像坐標系中的坐標相對于圖像坐標系原點對應向量間的叉積[11],當線段選取橫平豎直叉積接近0,影響結果準確性,故選點時規(guī)避橫平豎直的線段選擇。如圖5 所示,“斜十字”取點法,每一個h 對應一個四元二次方程,即每四條直線段便可求解一組待定參數(shù)的值。通過平移A點 位置或變換 AC , BC 比 例關系(即改變 λ1, λ2的值),可找到多組有效數(shù)據(jù),多余直線段可通過最小二乘最優(yōu)化過程用以保證解的準確性和求解過程的穩(wěn)定性。運用該方法求出 u0, v0, 以及 ZcA和f的最優(yōu)解,最終實現(xiàn)全自動微生物鑒定系統(tǒng)中特定攝像機的標定。
圖 4 本文特定標定模板示意圖Fig. 4 Schematic diagram of the specific calibration template in this paper
圖 5 “斜十字”取點示意圖Fig. 5 Points fetching in “diagonal cross”
本文提出的基于96 孔細菌載體板作為標定輔助物的單目攝像機模板匹配標定方法步驟如圖6所示。
直接選擇如圖7(a)所示細菌載體96 孔酶標板作標定輔助裝置,其中96 個圓點以12×8 的矩形整齊排列。本文提出的攝像機標定方法是以標定和測量輔助標定模板中各圓點的魯棒檢測和識別為基礎的,因此有必要對其進行簡單必要的處理。首先通過圖像灰度化、二值化和板孔標志點的標識算法獲得板孔各點在圖像中的相對位置和方位信息,供后續(xù)標定環(huán)節(jié)使用,結果如圖7(b)所示。
圖 6 模板匹配標定方法的流程圖Fig. 6 Flow chart of the template-matching-based calibration method
在二值化基礎上基于連通區(qū)域標記算法進行各連通區(qū)域的標記并進一步對各區(qū)域進行濾波,得到去背景后的二值圖像,實驗結果如圖8(a)所示。然后計算所有剩余二值區(qū)域的幾何中心,將圓環(huán)點區(qū)域標識出來。由于標定板96 個連通區(qū)域是按照矩形整齊排列的,基于這一特性建立坐標系對所得幾何中心坐標數(shù)據(jù)進行分析排列,最終實現(xiàn)板孔點的標識,如圖8(b)所示。
標記出各圓心點的中心位置,并獲取各點的中心坐標,本實驗取圖9 所示框內(nèi)點依次作為“斜十字”交叉點,可選共32 組“斜十字”點。
關 于 u0, v0, ZcA和 f 的 四 元 二 次 方 程 式(4),標定出的32 組“斜十字”點中,每4 組即可聯(lián)立解出一組解,運用Matlab 的fsolve 函數(shù),使用最優(yōu)化過程,將32 組數(shù)據(jù)全部代入,求得最優(yōu)解,從而實現(xiàn)攝像機參數(shù)標定。
在約束方程求解過程中,根據(jù)基本約束方程采用線性最小二乘估計攝像機的初值,并以標定點的反投影誤差最小為目標函數(shù)進行非線性優(yōu)化得到最終的標定結果[12]。進一步令將式(4)簡化為:(x?m)2+(y?n)2+f2=pz2,則四元二次方程組可寫成
圖 7 模板圖像原圖與二值化結果對比Fig. 7 Comparison of the original template image with the binarization result
圖 8 標定和測量輔助裝置中板孔點的檢測和標識Fig.8 Detection and identification of elisa plate wells in calibration and auxiliary device
圖 9 “斜十字”交叉中心點范圍示意圖Fig. 9 Schematic diagram of center points of “diagonal cross”
將式(5)4 個等式兩兩相減得到
于是四元二次方程組的非線性方程求解轉變?yōu)槭剑?)所示的三元一次線性方程組求解,大大提高了求解精確性,將此作為第一種直接解法的結果驗證,確保了最終結果的準確性。標定結果如表1 所示。
表 1 基于模板匹配的“斜十字”攝像機標定結果Tab.1 Camera calibration results by “diagonal cross ”based on template matching
為了驗證本文提出的基于模板匹配的攝像機標定方法的有效性,將該結果與基于空間三角形的標定算法[13]所得結果進行實驗比較。該算法標定模型如圖10 所示,標定物是一個繞頂點 A作自由轉動的△AB1B2,標定物在成像平面上的投影為△ab1b2,可以從酶標板模板圖中直接選出如下三角形作為△ab1b2(圖11),繞固定頂點a 在酶標板旋轉可得4 個三角形,類似a 點在96 孔酶標板中同樣有32 個。通過cholesky 分解得到攝像機內(nèi)部參數(shù),標定結果如表2 所示。
圖 10 標定輔助物圖像生成示意圖Fig. 10 Schematic diagram of image generation in auxiliary calibration
圖 11 基于空間三角形的標定法示意圖Fig. 11 Schematic diagram of spatial triangle calibration algorithm
表 2 基于空間三角形的攝像機標定結果Tab.2 Camera calibration results based on spatial triangle calibration algorithm
結果表明該算法對CCD 相機的焦距和外參數(shù)標定結果均得到了空間三角形標定方法的驗證,但光心偏移距離即 u0, v0的值存在很大誤差。通過設計仿真實驗與張正友棋盤法結果對比,基于空間三角形的標定算法同樣無法獲得準確的光心偏移距離,說明此類算法僅適用于攝像機內(nèi)外參數(shù)的計算。根據(jù)既有經(jīng)驗猜想, u0, v0誤差可能與具體應用場景中圖像平面和標定物平面平行有關,因基于CCD 的細菌鑒定系統(tǒng)結構固定,僅能獲取與攝像機平行的模板圖,在未來研究中擬詳細地分析、仿真和驗證。就本文研究的基于CCD 的細菌鑒定系統(tǒng)而言,后續(xù)作圖像亮度修正、細菌陰陽性判定所需的重要參數(shù) f 和 Zc,實驗數(shù)據(jù)準確,該方法具有一定的可行性。
針對CCD 照相的細菌鑒定系統(tǒng)提出基于模板匹配的攝像機標定算法,利用針孔攝像機成像模型,在攝像機固定的情況下,設定世界坐標系與攝像機坐標系重合,巧妙地回避了復雜的外參數(shù)計算過程。該方法在標定過程中無需人工干預,僅利用一幅系統(tǒng)中CCD 直接獲取的模板圖像,自動實現(xiàn)酶標板各孔的檢測、標記和圓心坐標的提取,找到“斜十字”約束條件,建立方程直接求解獲得攝像機重要內(nèi)部參數(shù)。通過與基于空間三角形的標定算法實驗結果對比,證明了本算法的準確性。