尚志武,周士琦
(天津工業(yè)大學(xué)天津市現(xiàn)代機(jī)電裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,天津300387)
生化分析儀、酶聯(lián)免疫分析儀、尿液分析儀等全自動(dòng)臨床檢驗(yàn)分析儀器被廣泛應(yīng)用于流行病學(xué)、免疫學(xué)研究和臨床檢測(cè)中。微量移液系統(tǒng)是其重要組成部分。一個(gè)完整的移液過程包括提取移液樣本針、探測(cè)液面、吸取樣本、樣本移動(dòng)到混合反應(yīng)區(qū)、排出樣本、退去移液樣本針等6個(gè)步驟。液面探測(cè)和移液過程中的故障監(jiān)控是微量移液的關(guān)鍵環(huán)節(jié),它們直接關(guān)系著最終檢測(cè)結(jié)果的穩(wěn)定性、準(zhǔn)確性。
國(guó)內(nèi)外很多學(xué)者對(duì)液面探測(cè)和故障監(jiān)控進(jìn)行了研究。Bonzon等[1]基于理想氣體的物理特性,利用差壓測(cè)量技術(shù)和新型傳感器制作了一種微量移液校準(zhǔn)裝置。Kaplit[2]通過一元線性回歸分析了移液過程,根據(jù)進(jìn)樣器腔體內(nèi)的實(shí)際壓力與理論壓力的標(biāo)準(zhǔn)偏差判斷和評(píng)價(jià)移液樣本量的準(zhǔn)確性。Camenisch[3]采集在吸液過程中進(jìn)樣器腔體內(nèi)的實(shí)際壓力值與預(yù)設(shè)壓力值并進(jìn)行比較,通過分析兩者的偏差實(shí)現(xiàn)對(duì)移液過程的監(jiān)測(cè)和評(píng)估。祝連慶等[4-5]利用壓力傳感器,通過灰色聚類分析、雙極值等方法對(duì)移液過程的異常現(xiàn)象進(jìn)行監(jiān)測(cè)。武通園[6]利用電容和壓力傳感器,將采集到的傳感器數(shù)據(jù)傳至上位機(jī),精準(zhǔn)實(shí)現(xiàn)了液面探測(cè)、防撞針和堵針檢測(cè)。在上述方法中,由于受液體黏度、電機(jī)運(yùn)行速度以及機(jī)械振動(dòng)的影響,故障判斷的準(zhǔn)確率較低,故障判斷與分類的模型較復(fù)雜;很難對(duì)移液體積進(jìn)行準(zhǔn)確測(cè)定;采用電容法進(jìn)行移液檢測(cè)時(shí),容易對(duì)移液造成一定的污染。
為滿足微量移液系統(tǒng)移液量檢測(cè)和狀態(tài)監(jiān)測(cè)的需求,提高系統(tǒng)的可靠性,筆者首先設(shè)計(jì)了基于STM32 的自動(dòng)移液控制系統(tǒng),其次提出了一種基于圖像分割法的移液過程監(jiān)測(cè)方法。通過圖像監(jiān)測(cè)分析移液過程中存在氣泡、空吸、少吸等異常情況,并建立模型來測(cè)定移液量。將經(jīng)圖像處理后的信息反饋給自動(dòng)移液系統(tǒng),使其準(zhǔn)確操作,以增強(qiáng)檢測(cè)系統(tǒng)的可靠性。
采用STM32F103ZET6 作為電機(jī)主控制器。其內(nèi)部有16 位定時(shí)器,每個(gè)定時(shí)器有多達(dá)4 個(gè)獨(dú)立通道,均可以實(shí)現(xiàn)輸入捕獲、輸出比較、PWM(pulse width modulation,脈沖寬度調(diào)制)輸出、單脈沖輸出等模式,能夠滿足使用要求。
圖像傳感器采用型號(hào)為OV5640 的CMOS(complementary metal-oxide semiconductor,互補(bǔ)性氧化金屬半導(dǎo)體)數(shù)字圖像傳感器。該傳感器通過USB(universal serial bus,通用串行總線)接口輸出格式為yuv、jpeg的500萬像素以下的圖像。
采集移液過程圖像并上傳至PC(personal com‐puter,個(gè)人計(jì)算機(jī))進(jìn)行處理;采用圖像分割法提取移液區(qū)域,結(jié)合移液區(qū)域幾何特征,利用OpenCV 進(jìn)行相機(jī)標(biāo)定、角點(diǎn)檢測(cè)等圖像處理,實(shí)現(xiàn)故障判斷和移液量檢測(cè);將處理信息反饋給STM32主控制器,主控制器將反饋信息與理論移液量進(jìn)行比較,作出移液量補(bǔ)償或重新移液的決策,以保證移液的準(zhǔn)確性。微量移液系統(tǒng)的工作原理如圖1所示。
圖1 微量移液系統(tǒng)工作原理示意Fig.1 Schematic of working principle of micropipet‐ting system
采用德國(guó)Trinamic 公司的TMC2208 步進(jìn)電機(jī)驅(qū)動(dòng)器,其最大輸出電流可達(dá)1.2 A。電機(jī)驅(qū)動(dòng)芯片的外圍電路較簡(jiǎn)單,減小了電路的布局空間;驅(qū)動(dòng)芯片內(nèi)部自帶死區(qū)保護(hù)、過溫保護(hù)等功能。該驅(qū)動(dòng)器通過內(nèi)部算法處理輸出256細(xì)分脈沖給電機(jī),完美實(shí)現(xiàn)正弦控制,使電機(jī)能夠平滑運(yùn)動(dòng),減小了振動(dòng)和噪聲。
STM32F103ZET6為主控制器,其內(nèi)部的高級(jí)控制定時(shí)器TIM1產(chǎn)生脈沖信號(hào)并傳輸給TMC2208驅(qū)動(dòng)器。通用定時(shí)器TIM3接收編碼器的輸出信號(hào),將位移轉(zhuǎn)換成周期性的電信號(hào),再把電信號(hào)轉(zhuǎn)換成計(jì)數(shù)脈沖,用脈沖的個(gè)數(shù)表示位移的大小。采用適用于低速的T法測(cè)速,通過測(cè)定高速計(jì)數(shù)器計(jì)入的相鄰兩個(gè)輸入脈沖之間的時(shí)間來確定被測(cè)速度。通過編碼器實(shí)現(xiàn)系統(tǒng)的閉環(huán)控制,防止步進(jìn)電機(jī)產(chǎn)生過沖或失步現(xiàn)象。
MCU(microcontroller unit,微控制單元)控制步進(jìn)的脈沖數(shù)n與移液器吸液量V的關(guān)系為:
式中:T為步進(jìn)電機(jī)步距角,T=1.8°;N為步進(jìn)電機(jī)細(xì)分?jǐn)?shù),N=16;Ph為絲桿導(dǎo)程,Ph=2 mm;S為移液器總?cè)萘?,S=200μL;l為移液器行程,l=50 mm;i為傳動(dòng)比,i=2.5。
在移液過程中,步進(jìn)電機(jī)需進(jìn)行往復(fù)運(yùn)動(dòng)。為滿足步進(jìn)電機(jī)穩(wěn)定性和動(dòng)態(tài)性的要求,保證步進(jìn)電機(jī)的定位精度,防止步進(jìn)電機(jī)產(chǎn)生過沖或失步現(xiàn)象,采用速度位置雙閉環(huán)PID(proportion-integral-deriva‐tive,比例-積分-微分)控制算法。其控制原理框圖如圖2所示。其中:設(shè)Umax=r(k),r(k)為期望輸出的離散值,e(k)為單位負(fù)反饋誤差,u(k)為PID 控制輸出的離散值,Δu(k)為上一時(shí)刻與當(dāng)前時(shí)刻PID控制輸出離散偏的差值,y(k)為實(shí)際輸出離散值。
圖2 速度位置雙閉環(huán)PID控制原理框圖Fig.2 Block diagram of speed-position double closed-loop PID control principle
先對(duì)位置參數(shù)進(jìn)行采樣,再將位置環(huán)PID控制器的輸出作為速度環(huán)的輸入,這種串級(jí)控制可以增強(qiáng)系統(tǒng)的抗干擾性。為防止出現(xiàn)積分飽和現(xiàn)象和提高系統(tǒng)的穩(wěn)定性,采用遇限削弱積分法,即:當(dāng)PID控制器中的積分量累加到一定值之后,執(zhí)行削弱積分項(xiàng)的運(yùn)算,而停止增大積分項(xiàng)的運(yùn)算。
利用MATLAB 工具箱調(diào)出對(duì)應(yīng)的PID 參數(shù),對(duì)控制器參數(shù)進(jìn)行整定。具體步驟如下:
1)采集步進(jìn)電機(jī)的輸入和輸出數(shù)據(jù);
2)將輸入和輸出數(shù)據(jù)導(dǎo)入System Identification模塊,得到傳遞函數(shù);
3)利用傳遞函數(shù),在Simulink上搭建控制系統(tǒng),用PID tunner自動(dòng)整定PID參數(shù)。
遇限削弱積分法的步驟如下:
1)當(dāng)u(k)>Umax時(shí),若e(k)>0(即輸出值還未達(dá)到指定值),則認(rèn)為積分會(huì)帶來滯后,不再積分。
2)當(dāng)u(k)<0時(shí),若e(k)<0(即輸出值超過了指定值),則認(rèn)為積分會(huì)帶來滯后,不再積分。
最終得到位置環(huán)PID 的參數(shù)為:kp=0.050,ki=0.001,kd=0.001,速度環(huán)PID 的參數(shù)為:kp=0.035,ki=0.005,kd=0.000 1。
針對(duì)全自動(dòng)生化分析儀的故障監(jiān)控和移液量檢測(cè),常用的方法有氣壓法和電容法[7]。其中氣壓法無法實(shí)現(xiàn)移液量的定量檢測(cè),且電磁干擾、機(jī)械振動(dòng)等會(huì)影響故障判斷的準(zhǔn)確性;采用電容法時(shí),由于需要接觸液體,容易帶來污染等問題[8]。為了有效監(jiān)控故障,提高系統(tǒng)的可靠性,筆者提出采用基于深度學(xué)習(xí)的圖像分割法來監(jiān)測(cè)移液過程。其具體流程如圖3所示。
圖3 基于圖像分割法的移液過程監(jiān)測(cè)流程Fig.3 Monitoring flow of pipetting process based on image segmentation
采用CMOS 數(shù)字圖像傳感器采集圖像,利用圖像分割法分割移液區(qū)域。若沒有分割到移液區(qū)域,則存在空吸故障,反之,進(jìn)行移液區(qū)域數(shù)的檢測(cè)。若該數(shù)大于1,則存在氣泡故障,進(jìn)行有氣泡條件下的移液體積計(jì)算;若該數(shù)等于1,則認(rèn)為無故障,進(jìn)行正常移液情況下的移液體積計(jì)算。最后,將圖像處理結(jié)果反饋給自動(dòng)移液系統(tǒng)進(jìn)行處理。
移液過程監(jiān)測(cè)的具體實(shí)現(xiàn)主要分為三部分:
1)基于U-Net神經(jīng)網(wǎng)絡(luò)的移液區(qū)域分割;
2)移液體積模型構(gòu)建;
3)標(biāo)度換算與移液量計(jì)算。
傳統(tǒng)的圖像處理方法需要人為進(jìn)行閾值選擇和特征提取,比較繁雜且對(duì)噪聲敏感。本文采用基于深度學(xué)習(xí)的圖像分割法來自動(dòng)提取圖像特征,能較好地抑制圖像中的噪聲不均勻性。
相比其他自然影像,移液系統(tǒng)的圖像具有語義較為簡(jiǎn)單、結(jié)構(gòu)較為固定及多模態(tài)等特性,故采用廣泛應(yīng)用于圖像分割的U-Net[9-12]卷積神經(jīng)網(wǎng)絡(luò)。UNet網(wǎng)絡(luò)全尺度的跳躍連接(skip connection)方式和U型結(jié)構(gòu)將來自不同尺度特征圖的高級(jí)語義特征與低級(jí)語義特征相結(jié)合,可以實(shí)現(xiàn)較高精度的圖像分割。
3.1.1 U-Net網(wǎng)絡(luò)結(jié)構(gòu)和剪枝
U-Net網(wǎng)絡(luò)結(jié)構(gòu)是一種U形結(jié)構(gòu),其左側(cè)可視為一個(gè)編碼器,右側(cè)可視為一個(gè)解碼器。編碼器包含4個(gè)子模塊,每個(gè)子模塊包含2個(gè)卷積層,卷積層之后有一個(gè)通過最大池化層(max pool)實(shí)現(xiàn)的下采樣層。解碼器也包含4個(gè)子模塊,圖像分辨率通過上采樣操作依次上升,直到與輸入圖像的分辨率一致。該網(wǎng)絡(luò)使用了跳躍連接,將上采樣結(jié)果與編碼器中具有相同圖像分辨率的子模塊的輸出進(jìn)行連接,作為解碼器中下一個(gè)子模塊的輸入,從而實(shí)現(xiàn)后續(xù)計(jì)算中每層特征圖都能有效使用。
為了提高圖像分割的效率,須進(jìn)行U-Net網(wǎng)絡(luò)結(jié)構(gòu)剪枝。網(wǎng)絡(luò)結(jié)構(gòu)剪枝的目的在于找出冗余連接并將其移除,使其不再參與網(wǎng)絡(luò)前向或后向的運(yùn)算過程,起到減少網(wǎng)絡(luò)計(jì)算量的作用。移除的神經(jīng)元及其相應(yīng)連接也不再存儲(chǔ),減少了模型的存儲(chǔ)量。
Zhou 等[13]在Unet++網(wǎng)絡(luò)測(cè)試過程中對(duì)網(wǎng)絡(luò)進(jìn)行剪枝操作,結(jié)果顯示,在模型參數(shù)量明顯減少的情況下,剪枝前后模型指標(biāo)——平均交并比(mean in‐tersection over union,MIOU)非常接近。所以,本文將U-Net網(wǎng)絡(luò)的前兩層進(jìn)行剪枝,以縮小網(wǎng)絡(luò)結(jié)構(gòu),減少網(wǎng)絡(luò)參數(shù)量。剪枝后U-Net 網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 剪枝后U-Net網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 U-Net network structure after pruning
3.1.2 U-Net模型訓(xùn)練和測(cè)試結(jié)果分析
1)數(shù)據(jù)集構(gòu)建。
在移液過程中,采用CMOS 圖像傳感器采集1 000張樣本圖像,圖像大小為(512×960)像素。為了降低訓(xùn)練集的復(fù)雜度,提高訓(xùn)練速度,提取圖像中的移液吸頭區(qū)域,將原圖裁剪成(256×480)像素。利用labelme軟件對(duì)移液區(qū)域進(jìn)行標(biāo)記制作成標(biāo)簽集,將樣本集和標(biāo)簽集的80%組合成訓(xùn)練集,20%組合成測(cè)試集。
2)模型訓(xùn)練。
實(shí)驗(yàn)中采用型號(hào)為Intel(R)Xeon(R)Gold 6136的CPU(central processing unit,中央處理器),其內(nèi)存為12 GB。采用CPU模式,分別對(duì)剪枝前后U-Net模型進(jìn)行訓(xùn)練。模型訓(xùn)練參數(shù)的配置如表1。其中:“resolution”表示圖像訓(xùn)練樣本的分辨率;“imgs_set”表示訓(xùn)練樣本總數(shù);“epochs”表示樣本中所有樣本數(shù)據(jù)被計(jì)算的次數(shù);“batch_size”表示每次迭代的圖像數(shù)量。
表1 U-Net模型訓(xùn)練參數(shù)的配置Table 1 Configuration of training parameters of U-Net model
3)性能評(píng)價(jià)指標(biāo)構(gòu)建。
在圖像分割中,預(yù)測(cè)的結(jié)果為以下4種:true pos‐itive(TP,真正),false positive(FP,假正),true nega‐tive(TN,真負(fù)),false negative(FN,假負(fù))。MIOU是衡量圖像分割精度的重要指標(biāo),其含義為計(jì)算真實(shí)值和預(yù)測(cè)值兩個(gè)集合的交集與并集之比,它可以變形為TP值(交集)與TP值、FP值、FN值之和(并集)的比值。其計(jì)算公式為:
式中:I為平均交并比;a+1為類別個(gè)數(shù)(包含空類);Ptt為真正數(shù),Ptj、Pjt分別為假正數(shù)和假負(fù)數(shù);t為真實(shí)類數(shù),j為預(yù)測(cè)類數(shù)。
每一個(gè)加法項(xiàng)是針對(duì)每一個(gè)類別進(jìn)行平均交并比的計(jì)算。其中分母中的第1項(xiàng)為真實(shí)值中該類的像素個(gè)數(shù),第2 項(xiàng)為預(yù)測(cè)值中預(yù)測(cè)為該類的像素個(gè)數(shù),這2項(xiàng)中存在一個(gè)交集,因此須減去一個(gè)交集(第3項(xiàng))。本文中,是基于移液區(qū)域和背景計(jì)算I的,因此得到的結(jié)果是基于全局的評(píng)價(jià)。
4)測(cè)試結(jié)果分析。
剪枝前后U-Net模型的測(cè)試結(jié)果如表2所示。
表2 剪枝前后U-Net模型測(cè)試結(jié)果Table 2 U-Net model test results before and after pruning
由表2可知,剪枝后U-Net模型在I下降了0.61%的情況下,計(jì)算量和參數(shù)量分別下降了47.30%、93.99%,可見模型的運(yùn)算速度和運(yùn)行效率得到提高。
對(duì)測(cè)試集進(jìn)行測(cè)試。采用剪枝后U-Net模型對(duì)移液區(qū)域進(jìn)行分割,其分割效果如圖5所示。可以看出,模型對(duì)移液區(qū)域進(jìn)行了有效分割,且在出現(xiàn)氣泡時(shí)能夠剔除氣泡,只保留液體區(qū)域。
圖5 基于剪枝后U-Net模型的移液區(qū)域分割效果Fig.5 Effect of pipetting region segmentation based on pruned U-Net model
將吸頭形狀近視為圓錐體。圖像分割后,考慮吸頭內(nèi)液體可能存在氣泡,則構(gòu)建的吸頭內(nèi)液體的體積模型如圖6所示。
圖6 吸頭內(nèi)液體的體積模型Fig.6 Volume model of liquid in suction head
針對(duì)如圖6所示的移液區(qū)域1,首先進(jìn)行角點(diǎn)檢測(cè)。常見的角點(diǎn)檢測(cè)算法有Harris算法、Susan算法、Harris-Laplace 算法等[14-15],本文采用較為常用且效果較好的Harris算法。然后,提取移液區(qū)域上下極端點(diǎn)的坐標(biāo):(xtopmost,ytopmost)、(xbottommost,ybottommost)。通過公式(3)計(jì)算移液區(qū)域1中的液體高度h0。如果液體內(nèi)存在氣泡,那么還須求得氣泡上面移液區(qū)域2中的液體高度h1等。
根據(jù)實(shí)際測(cè)量,得到圓錐錐度C=0.106 51,則d0=C·h0,dm+1=dm+C·hm,m為氣泡上面對(duì)應(yīng)液體段的個(gè)數(shù),m=1,2,…,M。
通過分割得到的移液區(qū)域的尺寸單位是像素,不能反映其實(shí)際尺寸,因此須進(jìn)行標(biāo)度轉(zhuǎn)化。首先利用OpenCV庫函數(shù)對(duì)相機(jī)進(jìn)行標(biāo)定[16],然后利用標(biāo)度變換法得到像素尺寸因子。像素尺寸因子e為:
式中:w為吸頭水平面上標(biāo)準(zhǔn)塊的寬度;c為w的像素值。
根據(jù)圖6所示吸頭內(nèi)液體的體積模型,將吸頭內(nèi)液體體積近視為圓錐體體積V0,氣泡上面液體體積近視為圓臺(tái)體積Vm,則吸頭內(nèi)液體體積V=V0+∑Vm。結(jié)合像素尺寸因子,得到實(shí)際移液量的計(jì)算公式為:
根據(jù)生化分析儀的使用要求,規(guī)定的滴定實(shí)驗(yàn)檢定點(diǎn)為10,50,100 μL,校準(zhǔn)參照國(guó)際標(biāo)準(zhǔn)ISO 8655-6[17],根據(jù)容量允許誤差和重復(fù)率判斷檢驗(yàn)是否合格。利用稱重法測(cè)得自動(dòng)移液系統(tǒng)的移液實(shí)際值,利用圖像分割法得到移液檢測(cè)值。通過定量檢測(cè)和定點(diǎn)檢測(cè)的方式測(cè)試移液系統(tǒng)和圖像監(jiān)測(cè)系統(tǒng)的穩(wěn)定性,并分析實(shí)驗(yàn)誤差及誤差來源。
測(cè)試實(shí)驗(yàn)的硬件配置如下:
1)實(shí)驗(yàn)平臺(tái):自主研發(fā)的全自動(dòng)生化分析儀,裝有圖像監(jiān)測(cè)系統(tǒng)。經(jīng)實(shí)驗(yàn)測(cè)試,其具有較高精度[18-19]。
2)電機(jī)控制系統(tǒng):配置為16 細(xì)分模式;采用型號(hào)為HKT32-1000的編碼器,其分辨率為1 000 p/r。
3)測(cè)量介質(zhì):去離子水。
4)測(cè)量設(shè)備:200μL 吸頭若干,0.01 mg 的電子天平一臺(tái)。
測(cè)量方式1:分別對(duì)10,50,100μL 的進(jìn)樣量(目標(biāo)值)進(jìn)行定量檢測(cè),各量程進(jìn)行10次測(cè)量并記錄測(cè)量結(jié)果。實(shí)驗(yàn)結(jié)果如圖7所示。
圖7 定量檢測(cè)實(shí)驗(yàn)結(jié)果Fig.7 Experimental results of quantitative test
測(cè)量方式2:以10 μL 為間隔選取10 μL 至100μL共10個(gè)檢測(cè)點(diǎn)(目標(biāo)值)進(jìn)行測(cè)量,各檢測(cè)點(diǎn)分別進(jìn)行10次測(cè)量,取10次測(cè)量結(jié)果的平均值。實(shí)驗(yàn)結(jié)果如圖8表示。
圖8 定點(diǎn)檢測(cè)實(shí)驗(yàn)結(jié)果Fig.8 Experimental results of fixed-point test
由圖7和圖8可知:實(shí)際值與目標(biāo)值之間的偏差基本呈線性變化趨勢(shì)。說明在TMC2208驅(qū)動(dòng)器和速度位置雙閉環(huán)PID控制下,步進(jìn)電機(jī)運(yùn)行平穩(wěn)且沒有出現(xiàn)過沖或失步現(xiàn)象;隨著移液量的增加,實(shí)際值與目標(biāo)值之間的偏差呈增大趨勢(shì);檢測(cè)值在實(shí)際值附近變化,說明利用圖像分割法可以實(shí)現(xiàn)移液量的檢測(cè)。
經(jīng)分析,傳動(dòng)系統(tǒng)和進(jìn)樣器氣液置換系統(tǒng)存在誤差積累現(xiàn)象,導(dǎo)致實(shí)際值與目標(biāo)值之間的偏差逐漸增大。在基于U-Net神經(jīng)網(wǎng)絡(luò)的移液區(qū)域分割中,受U-Net模型分割精度的影響,移液區(qū)域液體的檢測(cè)高度與實(shí)際高度有一定的偏差,導(dǎo)致計(jì)算得到的移液體積與實(shí)際體積有一定偏差。
可以通過以下3種方法進(jìn)行實(shí)驗(yàn)誤差補(bǔ)償。
1)誤差補(bǔ)償方法1。
傳動(dòng)系統(tǒng)的誤差主要是零件本身的制造誤差和安裝誤差。進(jìn)樣器氣液置換系統(tǒng)的誤差主要由進(jìn)樣器腔體內(nèi)氣體體積具有拉伸性和壓縮性所導(dǎo)致[20],在進(jìn)樣和排樣過程中,由控制器輸出脈沖數(shù)決定的移液體積與實(shí)際存在偏差。
針對(duì)傳動(dòng)系統(tǒng)誤差,可以選用精度更高的零件,并在安裝過程中盡可能減小其安裝誤差。針對(duì)氣液置換系統(tǒng)誤差,可以利用最小二乘法將目標(biāo)值Vt、實(shí)際值與目標(biāo)值之間的偏差Ve進(jìn)行線性擬合,得到其擬合直線方程為:
2)誤差補(bǔ)償方法2。
通過Harris算法提取的移液體積模型中特征點(diǎn)的位置是由單像素坐標(biāo)值表示的,然而實(shí)際的角點(diǎn)位置與單像素坐標(biāo)值有一定的偏差。該偏差導(dǎo)致根據(jù)公式(5)算得的移液量存在更大的偏差,因此須進(jìn)行亞像素角點(diǎn)的定位。
亞像素級(jí)別精準(zhǔn)定位方法主要有3類,即基于插值方法、基于幾何矩尋找方法和基于擬合方法的精準(zhǔn)定位[21]。本文采用精度較高的擬合方法。
亞像素角點(diǎn)的幾何特征如圖9所示。其中:q為待求的亞像素點(diǎn);p為q點(diǎn)鄰域中的點(diǎn);G為q點(diǎn)的梯度。
如圖9(a)所示,若p點(diǎn)在q點(diǎn)鄰域內(nèi)部,則p點(diǎn)的梯度G為0;如圖9(b)所示,若p點(diǎn)在q點(diǎn)鄰域邊緣,則p點(diǎn)的梯度方向垂直于邊緣方向,若向量的方向與邊緣方向一致,則向量與p點(diǎn)梯度向量G的點(diǎn)積為0。利用最小二乘法原理和垂直的向量之積為0的性質(zhì),建立如下模型:
式中:下標(biāo)u代表q點(diǎn)鄰域中的點(diǎn)集。
為了使計(jì)算結(jié)果更精確,采用多點(diǎn)計(jì)算,而各點(diǎn)與中心的距離不相等,故引入權(quán)重。假設(shè)pu的距離權(quán)重為ωu,則最終最小二乘法求解公式為:
以10μL定量檢測(cè)為例,其移液區(qū)域上下極端點(diǎn)單像素和亞像素坐標(biāo)值如表3所示。
表3 10μL移液區(qū)域上下極端點(diǎn)單像素和亞像素坐標(biāo)值Table 3 Coordinate values of single pixel and sub-pixel at the upper and lower extreme points in 10μL pipetteing area
3)誤差補(bǔ)償方法3。
2004年南洋理工大學(xué)的黃廣斌教授提出并采用了極限學(xué)習(xí)機(jī)(extremelearning machine,ELM),使神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度得到很大提高,其被廣泛應(yīng)用在系統(tǒng)辨識(shí)和分類等領(lǐng)域[22]。在過去的十幾年中,ELM 的理論及應(yīng)用得到廣泛研究。從學(xué)習(xí)效率上來看,ELM具有訓(xùn)練參數(shù)少、學(xué)習(xí)速度快、泛化能力強(qiáng)的優(yōu)點(diǎn)。本文利用ELM算法對(duì)移液系統(tǒng)圖像分割和移液量計(jì)算中的非線性誤差進(jìn)行補(bǔ)償。
ELM網(wǎng)絡(luò)結(jié)構(gòu)如圖10所示。其中:輸入層為訓(xùn)練樣本集x,中間層為隱藏層(其節(jié)點(diǎn)數(shù)為F),輸入層與隱藏層之間為全連接;隱藏層的輸出為H(x),β=[β1,…,βF]為隱藏層(F個(gè)節(jié)點(diǎn))與輸出層y(Z個(gè)節(jié)點(diǎn),Z≥1)之間的輸出權(quán)重。
圖10 ELM網(wǎng)絡(luò)結(jié)構(gòu)Fig.10 ELM network structure
建立誤差補(bǔ)償模型為:
式中:xs為誤差補(bǔ)償前圖像檢測(cè)樣本,s=1,2,…,S;yz為誤差補(bǔ)償后圖像檢測(cè)樣本,z=1,2,…,Z;g為Sigmoid激活函數(shù);rs為輸入權(quán)重;bs為隱藏層單元的偏置。
通過設(shè)置網(wǎng)絡(luò)隱藏層不同的節(jié)點(diǎn)個(gè)數(shù),以檢測(cè)值和目標(biāo)值組成訓(xùn)練集,將訓(xùn)練集輸入ELM 進(jìn)行訓(xùn)練,得到所有ELM網(wǎng)絡(luò)節(jié)點(diǎn)上的權(quán)值和偏差;輸入測(cè)試數(shù)據(jù),利用已求得的輸出層權(quán)重計(jì)算出網(wǎng)絡(luò)輸出值,完成數(shù)據(jù)預(yù)測(cè)。最終設(shè)置F=30。
誤差補(bǔ)償后進(jìn)行移液吸排實(shí)驗(yàn),再次進(jìn)行定量和定點(diǎn)測(cè)試。其中,在50μL的第6次實(shí)驗(yàn)中人為使移液量小于定量(少吸故障),在100μL的第8次實(shí)驗(yàn)中人為使移液區(qū)域產(chǎn)生氣泡(氣泡故障)。測(cè)試結(jié)果如圖11和圖12所示。
圖11 誤差補(bǔ)償后定量檢測(cè)實(shí)驗(yàn)結(jié)果Fig.11 Experimental results of quantitative test after error compensation
圖12 誤差補(bǔ)償后定點(diǎn)檢測(cè)實(shí)驗(yàn)結(jié)果Fig.12 Experimental results of fixed-point test after error compensation
由圖11 可知:目標(biāo)液體體積為50μL 時(shí),第6 次的測(cè)試結(jié)果明顯低于50μL;目標(biāo)液體體積為100μL時(shí),第8次的測(cè)試結(jié)果明顯低于100μL??梢妶D像監(jiān)測(cè)系統(tǒng)成功監(jiān)測(cè)到故障現(xiàn)象。由圖12可知,移液目標(biāo)值、實(shí)際值、檢測(cè)值三者較為接近,說明系統(tǒng)的誤差補(bǔ)償效果較好。
針對(duì)10,50,100μL 檢定點(diǎn),分別計(jì)算移液量和圖像檢測(cè)的準(zhǔn)確性誤差和重復(fù)性誤差,結(jié)果如表4所示。
表4 移液量和圖像檢測(cè)的準(zhǔn)確性誤差和重復(fù)性誤差Table 4 Accuracy error and repeatability error of pipetting volume and image detection %
計(jì)算結(jié)果表明,誤差補(bǔ)償函數(shù)在很大程度上降低了自動(dòng)移液系統(tǒng)和檢測(cè)系統(tǒng)的誤差,滿足了微量移液系統(tǒng)的精度設(shè)計(jì)要求。
1)利用具有256 細(xì)分效果的TMC2208 步進(jìn)電機(jī)驅(qū)動(dòng)器和速度位置雙閉環(huán)PID控制算法,實(shí)現(xiàn)了微量移液系統(tǒng)電機(jī)的運(yùn)轉(zhuǎn)平滑,沖擊較小,避免了電機(jī)產(chǎn)生過沖或失步現(xiàn)象。利用最小二乘法進(jìn)行線性補(bǔ)償,實(shí)現(xiàn)了對(duì)移液控制系統(tǒng)的偏差校正,提高了移液準(zhǔn)確度。
2)利用U-Net神經(jīng)網(wǎng)絡(luò)對(duì)采集的圖像進(jìn)行預(yù)處理。為了提高圖像處理速度,對(duì)U-Net神經(jīng)網(wǎng)絡(luò)進(jìn)行剪枝,剪枝后U-Net模型在性能評(píng)價(jià)指標(biāo)下降0.61%的情況下,其計(jì)算量和參數(shù)量各下降了47.30%和93.99%,提高了模型的運(yùn)算速度和運(yùn)行效率。通過圖像分割法對(duì)圖像中移液區(qū)域進(jìn)行分割和判斷,并結(jié)合移液吸頭的幾何特征建立移液體積計(jì)算模型。當(dāng)圖像監(jiān)測(cè)系統(tǒng)監(jiān)測(cè)到有氣泡、空吸、少吸等異常現(xiàn)象時(shí),將該信息反饋給移液系統(tǒng),避免移液異常對(duì)微量移液系統(tǒng)的精度帶來影響。采用亞像素角點(diǎn)來提高識(shí)別特征點(diǎn)的精度,通過ELM 方法對(duì)移液量計(jì)算和圖像分割的非線性誤差進(jìn)行誤差補(bǔ)償,提高了移液檢測(cè)精度。
3)利用該方法能有效實(shí)現(xiàn)對(duì)移液故障的判定和移液量的檢測(cè),減少了臨床醫(yī)療中的試劑浪費(fèi)。在不影響微量移液操作工作效率的前提下,保證了移液系統(tǒng)的精度,提高了系統(tǒng)的可靠性,對(duì)微量移液技術(shù)的發(fā)展有一定的推動(dòng)作用。