馬文華,張鐵壁,孫士尉,石 巖
(1.河北水利電力學(xué)院自動(dòng)化與通信工程學(xué)院,河北 滄州 061001;2.河北省高校水利自動(dòng)化與信息應(yīng)用技術(shù)研發(fā)中心,河北 滄州 061001;3.河北水利電力學(xué)院電氣工程學(xué)院,河北 滄州 061001)
超敏C反應(yīng)蛋白(C-reactive protein,CRP)又稱為高敏C反應(yīng)蛋白,是血漿中的一種C-反應(yīng)蛋白。其臨床指導(dǎo)作用主要表現(xiàn)在心血管疾病、新生兒細(xì)菌感染、腎移植等方面。超敏C反應(yīng)蛋白是一種全身性炎癥反應(yīng)急性期由肝臟合成的非特異性標(biāo)志物,是檢測(cè)心血管發(fā)病預(yù)測(cè)的重要因子之一。目前,國(guó)內(nèi)外興起一種膠體金免疫層析法[1],用來檢測(cè)血漿中CRP的顏色濃度。其具有檢測(cè)快速、結(jié)果可靠、操作簡(jiǎn)單、價(jià)格低等優(yōu)點(diǎn)而廣泛應(yīng)用于臨床診斷、食品檢測(cè)、農(nóng)藥殘留、環(huán)境檢測(cè)等領(lǐng)域。
同常規(guī)檢測(cè)相比,雖然膠體金層析技術(shù)的優(yōu)勢(shì)很大,但實(shí)際應(yīng)用中也存在一些缺點(diǎn),主要是受人為影響而造成的。比如當(dāng)檢測(cè)值介于臨界值時(shí),人的肉眼難以識(shí)別顯示顏色,會(huì)出現(xiàn)誤判;另外,膠體金試劑條需要手工放入和取出,而且檢測(cè)結(jié)果需要手工記錄。這些步驟都大大降低了檢測(cè)的速度。因此,有必要設(shè)計(jì)一種能夠自動(dòng)取放膠體金試劑條和實(shí)時(shí)獲得檢測(cè)結(jié)果的檢測(cè)系統(tǒng),以提高檢測(cè)的準(zhǔn)確性和檢測(cè)效率。
在堿性條件下,膠體金帶負(fù)電荷。它與帶正電荷基團(tuán)的蛋白質(zhì)分子相互靜電吸引,從而牢固結(jié)合。利用硝酸纖維膜為載體,將微孔膜當(dāng)做毛細(xì)血管,使得滴加在試劑條一端的血漿向另一端慢慢層析滲移,通過與抗原抗體結(jié)合,膠體金呈現(xiàn)顏色(紅色)反應(yīng),根據(jù)顏色即可檢測(cè)抗原/抗體。膠體金試劑條結(jié)構(gòu)如圖1所示。

圖1 膠體金試劑條結(jié)構(gòu)圖
檢測(cè)時(shí),將被檢測(cè)血漿滴入圖1試劑條滴加窗口的樣品墊上,血漿沿層析方向,浸入底層膠體金標(biāo)區(qū)的硝酸纖維膜。利用毛細(xì)作用,使待測(cè)血漿向右穿過膠體金墊,與膠體金內(nèi)的標(biāo)記試劑發(fā)生反應(yīng),形成復(fù)合物。該復(fù)合物移動(dòng)到線狀的抗原抗體處,會(huì)與之發(fā)生特異性結(jié)合,變?yōu)榧t色的檢測(cè)帶(T帶)。余下的化合物繼續(xù)向前擴(kuò)散,直到遇到第二條線狀抗原抗體,并與之結(jié)合形成第二條控制色帶(C帶)。C帶的顯色可以確定層析測(cè)試完成。
通過讀取膠體金試劑條兩條顯示帶,即T檢測(cè)帶和C質(zhì)控帶的顏色就可以用來判定結(jié)果。目前,結(jié)果的判定方法主要有人工目測(cè)和自動(dòng)檢測(cè)兩種。本研究采用圖像傳感器掃描讀取色帶信號(hào),并對(duì)采集數(shù)據(jù)進(jìn)行分析處理。
目前,國(guó)內(nèi)外對(duì)膠體金試劑條測(cè)試儀的研究較多,對(duì)于檢測(cè)結(jié)果的獲取方法主要有面陣CCD圖像識(shí)別法和利用光電檢測(cè)技術(shù)的顏色識(shí)別法[2-3]兩種。其中,顏色識(shí)別法誤差較大。這主要是因?yàn)槟z體金試劑條成本較高,顯色區(qū)面積較小,實(shí)際僅為一條細(xì)線,檢測(cè)難度較大。因此,基于面陣CCD圖像識(shí)別法的應(yīng)用較多。本系統(tǒng)中也采用了該方法。系統(tǒng)整體結(jié)構(gòu)如圖2所示。

圖2 系統(tǒng)整體結(jié)構(gòu)框圖
系統(tǒng)啟動(dòng)后,試劑條進(jìn)給裝置通過步進(jìn)電機(jī)將待測(cè)試劑條送到定位系統(tǒng)。控制系統(tǒng)收到相應(yīng)指令后,發(fā)出CCD相機(jī)采集圖像指令使CCD時(shí)序器開始工作。同時(shí),CCD相機(jī)開始采集圖像,并將其傳送給圖像處理模塊進(jìn)行處理。得到試劑條質(zhì)控線的灰度值之后,處理模塊將處理結(jié)果傳送到控制系統(tǒng),并對(duì)系統(tǒng)結(jié)果進(jìn)行存儲(chǔ)和顯示。系統(tǒng)中將試劑條自動(dòng)進(jìn)給裝置設(shè)計(jì)為圓盤形,按照30°等分放置試劑條,這樣快速檢測(cè)12個(gè)試劑條。當(dāng)檢測(cè)到試劑條為空時(shí),系統(tǒng)會(huì)自動(dòng)識(shí)別,并連續(xù)進(jìn)給,直到一個(gè)周期檢測(cè)完畢。系統(tǒng)中還設(shè)計(jì)了SD卡,用來存儲(chǔ)檢測(cè)數(shù)據(jù)。它具有容量大、性能高、安全等多種特點(diǎn),可以方便地讀取數(shù)據(jù)。
CCD圖像傳感器主要完成圖像采集任務(wù),其主要由支架、攝像頭、背光源等幾部分組成。支架主要用來調(diào)整攝像頭的位置,使其鏡頭能夠準(zhǔn)確對(duì)準(zhǔn)試劑條的T帶和C帶位置;攝像頭采用的是大恒圖像最新推出的金星系列板級(jí)工業(yè)數(shù)字相機(jī),它具有空間小、低重量、低功耗以及低發(fā)熱量等優(yōu)點(diǎn);背光源主要用來保證攝像頭采集到高質(zhì)量的圖像,但是由于檢測(cè)原理就是通過T帶和C帶顏色進(jìn)行測(cè)試,所以對(duì)光源要求也極為嚴(yán)格。本系統(tǒng)采用多個(gè)白色LED燈作為背光源,并對(duì)稱排列。
系統(tǒng)的核心選擇的是STM32F429/439系列MCU,STM32F429/439單片機(jī)[4]集成CortexTM-M4內(nèi)核最高工作頻率可達(dá)180 MHz,并實(shí)現(xiàn)了低于STM32F405/415/407/F417的靜態(tài)功耗。其廣泛應(yīng)用于醫(yī)療的外設(shè)、工業(yè)以及消費(fèi)類產(chǎn)品。STM32單片機(jī)具有性能高、成本低、功耗低等突出特點(diǎn)。在圖形處理上,其采用了意法半導(dǎo)體公司的Chrom-ART圖形加速器,能夠支持雙層的新型LCD-TFT控制器。此外,該加速器還支持圖像格式轉(zhuǎn)換或圖像混合(透明度混合)等功能。單片機(jī)內(nèi)部還集成了3個(gè)速度為2.4 ms/s或7.2 ms/s(交錯(cuò)模式下)的12位ADC和2個(gè)普通的12位DAC。
系統(tǒng)選用OmniVision公司的OV7670作為圖像處理模塊。它能夠傳送多種數(shù)據(jù)采集模式,集成功能齊全,具有體積小、工作電壓低、外圍電路簡(jiǎn)單、程序簡(jiǎn)單易寫等特點(diǎn),初學(xué)者容易掌握。其視頻圖形陣列圖像最高速率為30幀/s,可以通過串行攝像機(jī)控制總線協(xié)議(serial camera control bus,SCCB)接口編程,支持多種圖像輸出格式,廣泛應(yīng)用于嵌入式系統(tǒng)中。
通過STM32的SCCB接口,對(duì)OV7670寄存器的圖像數(shù)據(jù)進(jìn)行采集與輸出。該接口和內(nèi)部集成電路總線(inter-integrated circuit,I2C)類似的兩線串行總線協(xié)議[5],其時(shí)鐘線和數(shù)據(jù)線分別為SIO-C、SIO-D,SCCB控制總線的功能依靠SIO-C、SIO-D兩條總線的電平狀態(tài)以及二者之間的相互配合實(shí)現(xiàn)。
系統(tǒng)中將2.8英寸(1英寸=25.4 mm)的、分辨率320×240的控制器ILI9341作為圖像顯示部分[6-7],其接口為16位,顯示方式為RGB565,一幀圖像數(shù)據(jù)高達(dá)150 KB。為加快顯示速度,系統(tǒng)在設(shè)計(jì)時(shí),TFT-LCD的命令/數(shù)據(jù)信號(hào)與STM32的FSMC-A10連接,將STM32的靜態(tài)存儲(chǔ)控制器FSMC作為TFT-LCD外部16位的SRAM來處理。TFT-LCD和外部1 MB SRAM使用不同的片選信號(hào)與FSMC總線連接,SRAM和FSMC-NE3引腳相連,TFT-LCD和FSMC-NE4引腳相連。由于TFT-LCD控制器ILI9341的讀操作比寫操作慢得多,所以FSMC的工作模式配置為異步A模式,即分別由不同的寄存器來控制讀/寫時(shí)間。
STM32通過數(shù)據(jù)管理中心接口(data center manage interface,DCMI)模式,控制時(shí)序發(fā)生器驅(qū)動(dòng)CCD進(jìn)行工作。 OV7670圖像處理模塊把圖像數(shù)據(jù)處理成RGB565的16位數(shù)據(jù)形式,利用PD0-PD7的復(fù)用功能傳送給STM32單片機(jī)。為驅(qū)動(dòng)LCD工作,利用STM32單片機(jī)的FSMC模塊來產(chǎn)生相應(yīng)的時(shí)序,與此同時(shí)使用DMA模式,將STM32單片機(jī)中RAM的數(shù)據(jù)快速傳送到LCD寄存器中。LCD控制芯片通過讀取寄存器中的RGB565格式圖像數(shù)據(jù),最終顯示CCD采集到的圖像信息。
在本系統(tǒng)中,先將采集的RGB圖像進(jìn)行簡(jiǎn)單的去噪聲處理,再利用經(jīng)典的幾何推導(dǎo)法將RGB圖像轉(zhuǎn)換為HIS色彩。RGB色彩空間的3個(gè)分量屬性是相對(duì)獨(dú)立的,每個(gè)分量取值的范圍為0~255。該值的大小與亮度成正比,所以黑色表示為(0,0,0),而白色為(255,255,255)。其余的各種顏色都是利用三色疊加的原理來組成。HSI顏色空間是用色調(diào)(hue)、色飽和度(saturation)和亮度(intensity)按照人的視覺系統(tǒng)來描述色彩。其中:色調(diào)H用角度(0~360°)來表示,它由顏色名稱來區(qū)別;飽和度S代表顏色的深淺;亮度I代表顏色的敏感程度,二者的取值范圍是0~1。HSI顏色空間也可以用一個(gè)圓錐空間模型來描述,各個(gè)坐標(biāo)之間相互獨(dú)立,從而分別表示不同顏色的變化。
對(duì)于膠體金試劑條,因?yàn)槠渖{(diào)分布具有較大的差別,也更容易識(shí)別出質(zhì)控帶C和檢測(cè)帶T,所以圖像處理部分選擇HSI色彩空間進(jìn)行。RGB轉(zhuǎn)換為HSI的幾何推導(dǎo)公式[8]為:
(1)
通過式(1)進(jìn)行區(qū)間轉(zhuǎn)換,將r,g,b轉(zhuǎn)換到[0~1]區(qū)間。
在H∈[0 π],b≤g條件下:
(2)
在H∈[π 2π],b>g條件下:
(3)
(4)
(5)
以上轉(zhuǎn)換利用Matlab軟件實(shí)現(xiàn)。先選取一張RGB的圖片,調(diào)低亮度后另存為一副本;然后將其轉(zhuǎn)換為灰度圖,并在原圖的基礎(chǔ)上對(duì)其轉(zhuǎn)成HSI空間模型,得到HSI模型的3個(gè)強(qiáng)度的分量H、S、I。如果直接對(duì)R、G、B處理,其處理過程中很可能會(huì)引起3個(gè)量不同程度的變化,這樣就會(huì)產(chǎn)生色差問題,甚至帶來顏色上的失真。而HSI模型完全可以實(shí)現(xiàn)在保持色彩無失真的情況下進(jìn)行圖像處理。
轉(zhuǎn)換成HSI彩色空間后,采用K-均值圖像分割。K-均值算法是使用比較廣泛的聚類分割算法,它將全部的數(shù)據(jù)分配到不同的類中,并確保每個(gè)類都擁有一個(gè)聚類中心,并且類中的成員與所屬類的聚類中心具有相近的特質(zhì)[9]。K-均值算法能夠使得各個(gè)樣本與所在類均值的誤差平方和達(dá)到最小,它也同樣是評(píng)價(jià)該算法聚類效果的一個(gè)有效的評(píng)價(jià)標(biāo)準(zhǔn)。利用H分量引進(jìn)K-均值算法進(jìn)行圖像切割,其一般步驟如下。
①初始化。首先確定輸入聚類類數(shù)K,并在輸入對(duì)象集X中隨機(jī)選取K個(gè)對(duì)象作為初始聚類中心。隨后,設(shè)定迭代中止條件,可通過確定最大循環(huán)次數(shù)或者聚類中心收斂誤差容限來完成。
②將所有元素分配到不同的類,計(jì)算所有聚類中心的位置。
③根據(jù)相似度準(zhǔn)則將數(shù)據(jù)對(duì)象分配到最接近的聚類中心進(jìn)行迭代,形成一類初始化隸屬度矩陣。
④更新聚類中心。根據(jù)每個(gè)聚類對(duì)象的均值(中心對(duì)象),計(jì)算每個(gè)對(duì)象與這些中心對(duì)象的距離;并根據(jù)最小距離重新對(duì)相應(yīng)對(duì)象進(jìn)行劃分。
⑤循環(huán)步驟③和步驟④直至滿足中止條件,即新的聚類中心和原聚類中心相等,算法結(jié)束。
為了驗(yàn)證該算法的分割效果,將基于HIS色彩空間的K-均值算法測(cè)試結(jié)果與人工診斷結(jié)果進(jìn)行了比較。針對(duì)6種不同濃度編號(hào)的膠體金試劑條進(jìn)行了質(zhì)控C帶和檢測(cè)T帶的灰度值數(shù)據(jù)比較。人工診斷與自動(dòng)診斷數(shù)據(jù)比較如表1所示。從表1可以看出,人工診斷結(jié)果與自動(dòng)診斷結(jié)果非常接近,最大絕對(duì)誤差為3.3,最大相對(duì)誤差為2.08%。

表1 人工診斷與自動(dòng)診斷數(shù)據(jù)比較
為了提高檢測(cè)效率,設(shè)計(jì)了多個(gè)試劑條自動(dòng)進(jìn)給裝置。該裝置一次最多可以放置12個(gè)試劑條。利用該裝置可以實(shí)現(xiàn)自動(dòng)按順序給進(jìn)試劑條,測(cè)試完一個(gè)試劑條后,自動(dòng)將試劑條推出。試劑條自動(dòng)進(jìn)給裝置結(jié)構(gòu)如圖3所示。

圖3 試劑條自動(dòng)進(jìn)給裝置結(jié)構(gòu)圖
圖3中:四個(gè)立柱通過螺釘與底板相連接,中間固定立式電機(jī),電動(dòng)推桿通過螺釘固定在支撐板上,L形桿件與電動(dòng)推桿通過螺栓連接,L形桿件7并與與圓盤底面的圓槽保持接觸。在圓盤的正面開設(shè)12個(gè)槽,每30°設(shè)置一個(gè),用于放置試劑條;圓盤底面開設(shè)一個(gè)圓槽,使圓盤轉(zhuǎn)動(dòng)時(shí)L形桿件可在圓槽內(nèi)滑動(dòng);圓盤底面另開設(shè)12個(gè)槽,使L形桿件將12個(gè)試紙條按序推出。
自動(dòng)進(jìn)給裝置的運(yùn)動(dòng)過程為:將顯色完畢的試劑條,分別放置在相應(yīng)的試劑條托盤處,接收到系統(tǒng)命令后,立式電機(jī)再帶動(dòng)圓盤轉(zhuǎn)動(dòng),將置于槽上的試劑條精確送到檢測(cè)位置。檢測(cè)完成后,控制圓盤繼續(xù)轉(zhuǎn)動(dòng),將下一個(gè)試劑條進(jìn)給,而被檢測(cè)完畢的試劑條在L形桿件與電動(dòng)推桿的作用下在圓盤的圓槽內(nèi)滑動(dòng),將試紙條推出。本傳動(dòng)裝置能夠?qū)崿F(xiàn)多個(gè)試紙條連續(xù)自動(dòng)傳動(dòng)進(jìn)給功能,滿足多個(gè)試紙條同時(shí)放置并輸入、順序檢測(cè)并輸出的要求。
整個(gè)硬件系統(tǒng)功能通過對(duì)STM32進(jìn)行編程實(shí)現(xiàn),ST公司為STM單片機(jī)的各模塊提供了豐富的編程函數(shù),尤其是STM32單片機(jī)采用面向?qū)ο蟮木幊谭绞剑蟠蠼档土司幊痰碾y度。在實(shí)際編程中,資料庫中提供了比較完善的、具有各種功能的模塊化程序,對(duì)模塊采取相應(yīng)的庫函數(shù)調(diào)用即可。具體主要包括STM32初始化、DCMI接口配置、FSMC模塊配置、TFT真彩屏的驅(qū)動(dòng)、圖像處理、圖像顯示以及時(shí)鐘等控制程序的編寫。
本系統(tǒng)基于STM32平臺(tái),完成了圖像采集與真彩屏顯示。根據(jù)膠體金的顯色原理,系統(tǒng)實(shí)現(xiàn)了多個(gè)膠體金試紙條連續(xù)自動(dòng)檢測(cè)的傳動(dòng)功能,滿足多個(gè)試紙條同時(shí)放置并輸入、順序檢測(cè)。該設(shè)備檢測(cè)結(jié)果準(zhǔn)確、價(jià)格低廉、攜帶方便、檢測(cè)效率高,并實(shí)時(shí)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),方便查詢。另外,在試驗(yàn)過程中,圖像采集環(huán)節(jié)容易產(chǎn)生測(cè)量誤差。在實(shí)際應(yīng)用中,應(yīng)該采取措施,選擇高清晰的攝像頭和合理的背光源,以有效減小CCD 圖像測(cè)量在圖像采集過程中產(chǎn)生的誤差。