鄒 盛,趙立宏
(南華大學(xué)機械工程學(xué)院,湖南 衡陽 421001)
微生物培養(yǎng)在生物、醫(yī)藥、食品、污水處理等領(lǐng)域具有重要的意義,是微生物學(xué)研究、生物制藥、食品檢測、水質(zhì)檢測等操作過程中的基本技術(shù)之一。由于微生物的種類繁多且微生物培養(yǎng)的過程十分繁雜,需要多步操作處理,故將微生物培養(yǎng)過程中的某些重復(fù)且容易失誤的操作步驟自動化,是行業(yè)的迫切需求。這可以減少大量人力、物力和財力的投入。
基于上述情況,要實現(xiàn)微生物自動化培養(yǎng),首先要完成菌體生長的自動識別。本課題在微生物培養(yǎng)過程中,在酶標(biāo)(enzyme linked immunosorbent assay,ELISA)板上進行菌落培養(yǎng)時自動通過機器視覺輸入[1-2],并對攝像頭捕捉到的圖像進行實時處理,從而實現(xiàn)對培養(yǎng)孔菌體生長時顏色變化的特征提取[3-4],為之后符合要求的菌體自動篩選和選取提供依據(jù)。
本研究采用的圖像采集設(shè)備為羅技的C270i型號攝像頭,最大分辨率為1 280×960。針對采集的圖像,對微生物培養(yǎng)的自動化的需求進行分析,完成對酶標(biāo)板孔區(qū)域定位。根據(jù)孔中微生物生長時的顏色變化進行篩選的要求,該研究主要有兩個難點。其一是酶標(biāo)板位置矯正進行孔位的準(zhǔn)確定位;其二是攝像頭目標(biāo)圖像采集時,酶標(biāo)板培養(yǎng)孔會發(fā)生變形。在進行孔位顏色特征提取時,要選取合適的孔區(qū)域。顏色提取算法流程如圖1所示。
圖1 顏色提取算法流程圖
根據(jù)圖1,首先要采集酶標(biāo)板圖像。但通過攝像頭采集到的原始圖像區(qū)域范圍比較大,無法準(zhǔn)確計算并定位酶標(biāo)板每個培養(yǎng)孔的孔位,因此需要識別原圖片中的酶標(biāo)板區(qū)域,從而分割出酶標(biāo)板區(qū)域。攝像頭在某一場景采集到的圖像信息,會因為環(huán)境、采集設(shè)備、大小等因素造成分辨率低、光照不均等問題。這些問題將會影響后期圖像識別的各個流程。因此,在對攝像頭采集到圖像進行識別處理之前,需對圖像進行必要的預(yù)處理,從而提高定位和識別的正確率。
邊緣檢測是通過標(biāo)記數(shù)字圖像中亮度變化明顯的點,提取出文字的邊緣,在文字識別中起著重要作用。本方法采用Canny算子[5],對經(jīng)過灰度化和高斯濾波預(yù)處理的圖像進行邊緣檢測,剔除了與識別不相關(guān)的信息,通過大幅度減少數(shù)據(jù)量來節(jié)省識別時間;保留了圖像重要的結(jié)構(gòu)屬性,提升了對酶標(biāo)板外圍輪廓檢測的效率。酶標(biāo)板外圍輪廓識別圖如圖2所示。
圖2 酶標(biāo)板外圍輪廓識別圖
由于最終需求是準(zhǔn)確定位每個孔位區(qū)域,故首先要在整個圖像上找到酶標(biāo)板區(qū)域,并進行酶標(biāo)板目標(biāo)區(qū)域的選取。在實際的培養(yǎng)過程中,酶標(biāo)板在培養(yǎng)箱的位置可能會產(chǎn)生有一定的傾斜。在這種情況下,必須將其位置矯正為水平垂直方向,才能準(zhǔn)確定位培養(yǎng)孔。本次試驗主要通過圖像的凸包檢測、尋找外圍輪廓、尋找最小包圍矩形、仿射變換、感興趣區(qū)域選取等關(guān)鍵步驟,準(zhǔn)確獲取酶標(biāo)板區(qū)域。
2.2.1 凸包檢測及尋找外圍輪廓
凸包是幾何學(xué)中一個常見的圖形概念,通俗來講就是在二維平面上通過給定的點集數(shù)據(jù),將圖像輪廓最外層的點都連接起來,形成一個凸多邊形。凸包包含了輪廓點集上的所有點。利用凸包檢測,可以將Canny邊緣檢測的圖像在最外層用一個封閉的多邊形進行包圍,形成一層外圍輪廓,為下一步尋找真正的外層輪廓作準(zhǔn)備。利用OpenCV的findContours()函數(shù)完成對圖像中酶標(biāo)板外圍輪廓檢測,通過對函數(shù)參數(shù)的設(shè)置,可以只檢測圖像的最外層輪廓。但這要求原圖的邊緣圖像輪廓為封閉的圖像,否則就會識別出很多不是最外層的輪廓。試驗證明,利用凸包檢測后的圖像尋找圖像的外圍輪廓,可以有效識別物體的外圍輪廓[6]。
2.2.2 尋找輪廓的最小包圍矩形
此前獲得的外圍輪廓只是酶標(biāo)板的大概外圍輪廓,是由一些線段連接起來的,會有一些誤差,并不能真正確定酶標(biāo)板的矩形區(qū)域。對此,需要在得到的外圍輪廓外面尋找一個最小的包圍矩形,通過這個矩形確定酶標(biāo)板的具體位置,并由OpenCV的minAreaRect()函數(shù)求出這個輪廓的最小的外接矩形。該函數(shù)的返回值是RotatedRect類矩形對象,其主要數(shù)據(jù)成員有center、size、 angle、points,因此可以得到這個外接矩形的的質(zhì)心坐標(biāo)、大小及傾斜角度。
當(dāng)?shù)玫降淖钚⊥饨泳匦斡幸欢▋A角時,可以通過仿射變換使目標(biāo)區(qū)域旋轉(zhuǎn)到水平和垂直方向。仿射變換就是一個向量空間乘以一個矩陣 (線性變換),再加上一個向量 (平移),從而變換到另一個向量空間的過程。其代表兩副圖片之間的關(guān)系。它的變化包括旋轉(zhuǎn)、平移、伸縮。
通常使用 2×3 矩陣M來表示仿射變換。
在攝像頭對目標(biāo)區(qū)域進行采集的過程中,酶標(biāo)板傾斜可能會出現(xiàn)兩種情況,傾斜矯正情況如圖3所示。在OpenCV中,設(shè)width與x軸的夾角為θ。第一種情況如圖3(a)所示,為繞c點逆時針旋轉(zhuǎn)(90-|θ|)。第二種情況如圖3(b)所示,為繞B點順時針旋轉(zhuǎn)|θ|。這樣就可以保證得到的是方向相同的、處于水平和垂直的酶標(biāo)板圖像。
圖3 酶標(biāo)板傾斜矯正示意圖
2.2.3 酶標(biāo)板培養(yǎng)孔區(qū)域定位與選取
在利用機器視覺進行外部圖像數(shù)據(jù)采集的過程中,常常需要對所采集圖像的特定區(qū)域進行處理,從而簡化操作處理過程。將這個區(qū)域選定為感興趣區(qū)域,便可對圖像數(shù)據(jù)進行下一階段的處理。通過獲取的最小包圍矩形得到的頂點坐標(biāo)及矩形的width和height,即可使用RIO函數(shù)圈定想要處理的酶標(biāo)板區(qū)域。在確定酶標(biāo)板區(qū)域后,可以通過像素和實際尺寸的比例關(guān)系,準(zhǔn)確計算并定位到各個培養(yǎng)孔的實際圓心位置。
酶標(biāo)板的每個孔里都培養(yǎng)了一種菌體,這就要求根據(jù)酶標(biāo)板的孔位進行分割[7],提取出每個不同的區(qū)域進行單獨顏色識別。本試驗矩形區(qū)域采用RIO函數(shù)進行感興趣區(qū)域選取,圓孔區(qū)域采用mask掩膜的方法進行區(qū)域分割提取。
圖像掩膜指的是使用選定的圖像、圖形或物體,對處理圖片的全部或局部進行遮擋,來控制和選取圖像處理的區(qū)域。掩膜可以提取圖片中任意形狀的區(qū)域。其具體實現(xiàn)原理是用預(yù)先制作、想要截取處理圖片形狀的掩膜與待處理圖像進行運算,得到特定形狀區(qū)域的圖像。選取區(qū)域內(nèi)圖像的像素值保持不變,而區(qū)外圖像值都為0(即為純黑色)。
顏色空間的用途是在某些標(biāo)準(zhǔn)下用通常可接受的方式對彩色加以說明。常用的顏色空間有 RGB、CMY、HSV、HSI等[8]。RGB是最基本的顏色空間,主要由紅色、綠色、藍色三種基本原色描述其他顏色,常用于顯示領(lǐng)域。HSV中:H代表色調(diào),通常用來區(qū)分顏色種類;S代表純度,用來表示和描述彩色的純潔特性和色調(diào)的深淺程;V代表明度,一般用來描述色彩的明暗、深淺程度。HSV[9]是一種更直觀且符合人眼視覺特性的顏色模型。本試驗采用普通攝像頭讀入 RGB 顏色,記錄圖片每個像素點的 RGB 值,并在算法中將RGB轉(zhuǎn)換到HSV。由RGB向HSV的轉(zhuǎn)換公式為:
V=max(R,G,B)
(1)
(2)
(3)
在不同光線條件下,物體本身的顏色會發(fā)生變化。而相對于人眼而言,電子設(shè)備自身并不能根據(jù)光線的改變進行自我修正,輸出的圖像可能會出現(xiàn)色彩失真,圖像偏紅或偏藍。對此,引入了圖像的白平衡處理。圖像白平衡是針對偏色圖像進行校正的主要處理方法。本文使用基于白點檢測的自動白平衡算法實現(xiàn)白平衡處理[10]。
本文使用的白平衡處理算法需要以下三個操作步驟:①色溫估計,把圖像從RGB轉(zhuǎn)為YCbCr,估計圖像在YCbCr的平均色差;②增益計算,計算圖像R和B通道的增益u、v;③色溫校正,將圖像每個像素的R和B通道分別與校正因子u、v相乘,實現(xiàn)白平衡。
色溫估計最常用的方法就是計算圖像的平均色差。為了減少計算量,基于白點檢測的色溫估計通過約束條件Y-|Cb|-|Cr|>phi挑選白色像素,提高色差計算的精度。phi在文獻[9] 給定的值為180。在圖像色溫估計的基礎(chǔ)上,通過迭代的方法得到校正因子;然后,在圖像的紅藍通道上乘以各自的校正因子,來調(diào)節(jié)RGB三通道顏色的比例;最后,達到圖像顏色校正的目的。
提取的每個孔位區(qū)域保留了原有孔位區(qū)域的H、S、V值,每個像素點都對應(yīng)一個H、S、V值,具體到本試驗就是要利用最小包圍矩形獲取圓心坐標(biāo)和半徑,并制作掩膜來提取每一個特定圓孔區(qū)域。由于對細菌整體生長情況進行篩選時,需要觀察整個區(qū)域且要求具備較高的自動化水平,所以本次試驗采用提取每個截取圓形區(qū)域的HSV平均值A(chǔ)VG_H、AVG_V、AVG_S作為判定依據(jù)。
對每個酶標(biāo)板的孔位用移液槍滴入等量20 mL的同顏色液體進行多次試驗,如圖4所示。采用獲取圓孔的最大內(nèi)接圓和獲取孔的最大內(nèi)接正方形這兩種方式,計算每一個孔位區(qū)域的AVG_H、AVG_V、AVG_S顏色平均值,如圖4(a)和圖4(b)所示??紤]到攝像頭在垂直方向拍攝時酶標(biāo)板四周的孔位區(qū)域會發(fā)生變型,如果選取整個區(qū)域就會造成結(jié)果出現(xiàn)更大的誤差,所以本試驗在方案一和方法二的基礎(chǔ)上進行了組合,提出了如圖4(c)所示的方案三。采用這三種方案分別計算代表酶標(biāo)板96個孔位區(qū)域的AVG_H、AVG_V、AVG_S值,以及三種方案96孔位區(qū)域HSV三通道顏色值標(biāo)準(zhǔn)誤差。多次試驗的三通道顏色誤差平均值結(jié)果如表1所示。
圖4 酶標(biāo)板孔位區(qū)域選取方案
表1 三種方案酶標(biāo)板培養(yǎng)孔HSV顏色分量誤差
由以上試驗結(jié)果可知,該試驗方法可以對酶標(biāo)板孔位顏色特征進行提取。綜合了方案一和方案二的方案三的測得96孔位的HSV平均值波動性更小,能更準(zhǔn)確地得到酶標(biāo)板培養(yǎng)孔的顏色特征值,為培養(yǎng)孔菌體的篩選提供更準(zhǔn)確的判斷。
本研究方法實現(xiàn)了在OpenCV平臺上,對攝像頭輸入目標(biāo)圖像酶標(biāo)板區(qū)域的準(zhǔn)確識別和送取 ,以及對酶標(biāo)板孔位定位和孔位區(qū)域合理的選??;計算了每個區(qū)域的HSV平均值,為顏色的識別提供了數(shù)據(jù),為細菌生長的篩選提供了依據(jù),為后續(xù)對生長狀況符合要求的細菌的轉(zhuǎn)移奠定了基礎(chǔ)。此外,如果要更好地將此識別系統(tǒng)應(yīng)用于微生物生產(chǎn)實踐中,還需要更快的識別速度和更高的識別精度,這都有待于進一步研究。