張嘉文 董曉斌 苗桂君 邱憲波
(北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院,北京 100029)
新型冠狀病毒肺炎(SARS-CoV-2)于2019年12月底爆發(fā),嚴(yán)重危害人類公共衛(wèi)生安全。由于其超強的傳染性,快速準(zhǔn)確地診斷和控制顯得至關(guān)重要。核酸檢測作為重要的診斷手段,為SARS-CoV-2的鑒定提供了精準(zhǔn)迅速的檢測方法。采取高靈敏的核酸檢測方法,對不同程度感染的患者進(jìn)行個體化治療、療效監(jiān)測等,具有非常重要的臨床意義。
聚合酶鏈?zhǔn)椒磻?yīng)(polymerase chain reaction,PCR)技術(shù)作為科研和臨床中廣為使用的一種核酸檢測方法,至今已經(jīng)更新到第三代技術(shù)。其中,第一代是傳統(tǒng)的終點PCR技術(shù),可實現(xiàn)核酸定性檢測;第二代是實時定量熒光PCR技術(shù)(real-time quantitative PCR,qPCR),可實現(xiàn)核酸的相對定量檢測;第三代為數(shù)字PCR技術(shù)(digital PCR,dPCR),可實現(xiàn)核酸的絕對定量檢測。微液滴作為生化反應(yīng)的微反應(yīng)器,具備高通量、低消耗、無交叉污染、保證反應(yīng)均勻性等優(yōu)點,液滴微流控技術(shù)被廣泛應(yīng)用于單細(xì)胞研究、腫瘤早期診斷、基因測序等生物醫(yī)學(xué)研究領(lǐng)域[1]。液滴數(shù)字PCR(droplet digital PCR,ddPCR)作為一種高通量、低成本的數(shù)字PCR技術(shù),由于其對于低豐度目標(biāo)的檢測具有較高的靈敏度和特異性,在核酸分析及腫瘤疾病診斷方面具有很大應(yīng)用潛力[2]。例如,ddPCR在新冠病毒SARS-Cov-2的檢測中,將準(zhǔn)確度從RT-qPCR的28.2%提高到87.4%,非常適合在隔離觀察期的低病毒載量患者的檢測[3]。
液滴數(shù)字PCR技術(shù)將包裹核酸的液滴作為反應(yīng)單元,通過對液滴的計數(shù)統(tǒng)計來進(jìn)行樣品的判斷。但在實際應(yīng)用中,由于液滴體積小、數(shù)量龐大、排列密集,靠傳統(tǒng)人工計數(shù)方式很難準(zhǔn)確識別。目前,在液滴識別與檢測領(lǐng)域,已經(jīng)發(fā)展出多種基于微流控芯片的液滴識別與計數(shù)技術(shù),主要分為流式檢測法和熒光圖像檢測法兩種。對于流式檢測法,主要通過光電晶體管、光電二極管或光電倍增管(PMT)等傳感器進(jìn)行探測,雖然靈敏度高,但是順序逐一檢測每個微滴的方式,吞吐量低且設(shè)備成本高[4];對于熒光圖像檢測法,通常通過CMOS傳感器或CCD的掃描設(shè)備進(jìn)行拍照和圖像處理分析來實現(xiàn)檢測[5]。與流式檢測法相比,熒光圖像檢測法可以一次掃描多個液滴,大大縮短檢測時間。但是,受圖像傳感器的頻率、曝光性能等的限制,對于較大的平鋪液滴芯片無法一次實現(xiàn)整個芯片的掃描拍照,需要針對不同部位進(jìn)行多次拍照;液滴內(nèi)部與背景反差小,造成熒光圖像均勻性差,或者存在噪聲的情況,增加了液滴檢測與識別的難度。而且,圖像處理算法的速度和效率決定了實現(xiàn)PCR定量所需的總時間。因此,圍繞液滴微流控技術(shù)的高靈敏檢測應(yīng)用,發(fā)展與液滴微流控芯片相匹配的高通量、高效的液滴圖像檢測方法,進(jìn)一步提高液滴微流控技術(shù)的檢測靈敏度是一個重要的研究方向。
針對上述問題,本研究提出了一種基于計算機視覺的低成本、高精度且簡單快速的方法,實現(xiàn)液滴的準(zhǔn)確識別與計數(shù);通過設(shè)計圖像拼接算法,對多次掃描芯片獲得的熒光圖像進(jìn)行拼接,再對拼接后的液滴圖像進(jìn)行檢測和計數(shù)。
本實驗采用實驗顯微鏡,對使用PDMS制作的液滴生成芯片進(jìn)行掃描拍攝獲取,其中液滴由通過十字交叉通道的去離子水和礦物油+表面活性劑生成。用于拼接的明場液滴圖像由顯微鏡對液滴的收集腔按照3行2列的順序進(jìn)行拍攝,并且保證圖像之間有一定的重合部分。熒光液滴圖像采用文獻(xiàn)[6]中的熒光液滴圖像進(jìn)行試驗。液滴圖像檢測算法主要分為圖像拼接和圖像識別兩部分,算法流程如圖1所示。
圖1 算法流程Fig.1 Flow chart of calculation
拼接算法主要包括圖像配準(zhǔn)和圖像拼接兩個步驟。由于實驗環(huán)境下光源固定,所以在拍照過程中芯片明暗不會改變,經(jīng)試驗不需要圖像融合就可以得到較好的拼接結(jié)果。
在圖像配準(zhǔn)算法中,首先進(jìn)行特征點的提取。由于液滴圖像檢測對圖像的細(xì)節(jié)要求較高,所以在圖像拼接步驟中要盡可能保留圖像的特征,選擇高精度的特征提取方法,故本研究選擇對特征點描述更加精準(zhǔn)的SIFT(scale-invariant feature transform)[7]進(jìn)行提取;該局部特征描述子可以很好地應(yīng)對圖像尺寸變化,具有尺度不變性。其次,進(jìn)行特征點篩選。對相鄰圖像的特征點進(jìn)行匹配,依據(jù)特征點的特征描述子對相似特征點進(jìn)行匹配;然后對特征點進(jìn)行初步篩選[8],先根據(jù)特征描述子的歐氏距離進(jìn)行篩選,距離越小說明兩個特征點越相似,再對篩選后的特征點進(jìn)行二次篩選[9],得到最終的匹配特征點。再次,根據(jù)匹配特征點計算出圖像的變換矩陣,通過原圖像的像素矩陣與變換矩陣相乘,可將兩張圖像變換至同一坐標(biāo)系中,其公式如下:
(1)
(2)
式中,x、y分別為變換后的坐標(biāo),u、v分別為變換前的坐標(biāo)。
最后,通過變換矩陣,將兩張圖像變換到同一坐標(biāo)系中對圖像進(jìn)行拼接。
針對拼接后的圖像進(jìn)行液滴識別,根據(jù)不同的識別對象設(shè)計了不同的識別算法,主要分為明場液滴識別與熒光液滴識別兩種模式。
通過觀察明場液滴圖像,可以發(fā)現(xiàn)液滴輪廓呈圓環(huán)狀,分為內(nèi)輪廓和外輪廓,內(nèi)輪廓相互獨立互不粘連?;谏鲜鰣D像特征,在對圖像輪廓進(jìn)行檢測后,通過面積以及角點檢測進(jìn)行輪廓篩選,保留液滴內(nèi)輪廓后進(jìn)行輪廓計數(shù),完成液滴檢測。實驗證明,明場液滴檢測算法簡單高效,對于明場液滴圖像具有較高的檢測精度。該算法主要包含圖像預(yù)處理、輪廓識別和輪廓篩選三大步驟。
第一步,對圖像進(jìn)行預(yù)處理。這部分主要包括灰度圖像轉(zhuǎn)化、直方圖均衡化以及自適應(yīng)閾值分割圖像二值化操作,可以有效處理圖像明暗分布不均的問題[10]。然后對圖像進(jìn)行高斯模糊。一方面是可以消除噪聲,減少輪廓檢測算法的工作量,另一方面是可以消除閾值分割后產(chǎn)生的輪廓毛刺,并且不會影響角點特征,能減小角點檢測的誤差,為之后的角點檢測做鋪墊。
第二步,進(jìn)行輪廓識別。對二值圖像進(jìn)行邊緣增強[11],使輪廓與背景對比更加明顯,再使用Canny算法進(jìn)行輪廓檢測,對液滴進(jìn)行輪廓識別之后液滴出現(xiàn)的內(nèi)圈和外圈輪廓、內(nèi)圈輪廓互不相連,可以篩選出內(nèi)圈輪廓完成檢測。
第三步進(jìn)行輪廓篩選。首先對輪廓進(jìn)行面積篩選,可以排除掉過大或者過小的輪廓,然后對輪廓進(jìn)行角點檢測。角點檢測的原理是:遍歷輪廓線上的點,取兩個距離該點Pi固定距離的輪廓點Pi-k、Pi+k,在一個很小的區(qū)域內(nèi),可以用如下公式近似表示支撐角的大小[12],將支撐角度小于一定閾值的全部視為角點,有
(3)
統(tǒng)計輪廓線上的角點數(shù)量,將角點數(shù)量大于一定閾值的輪廓全部排除,就得到最終的檢測結(jié)果。
針對熒光液滴圖像識別時,由于熒光液滴內(nèi)部與背景對比明顯、背景顏色單一,所以便于進(jìn)行圖像分割[13]。對圖像進(jìn)行閉運算,可以很好地分離粘連的液滴,所以在熒光液滴識別算法圖像預(yù)處理環(huán)節(jié)增加了對圖像進(jìn)行形態(tài)學(xué)變換,從而實現(xiàn)粘連液滴的有效分離。然后,再對輪廓進(jìn)行精確計數(shù)。
為了驗證本算法對液滴識別的準(zhǔn)確率,將人工手動計數(shù)所得的結(jié)果作為液滴的精確數(shù)目進(jìn)行對比分析。
本實驗選擇排列為3行2列的6張圖像進(jìn)行拼接,待拼接的圖像見圖2(a),拼接的結(jié)果見圖2(b)。
圖2 圖像拼接。(a)待拼接圖片;(b)拼接后圖片F(xiàn)ig.2 Image stitching. (a) Images to be stitched;(b)Images after splicing
閾值分割所用的鄰域大小經(jīng)過多次實驗來確定。在同一實驗環(huán)境下,選擇不同鄰域大小的液滴識別結(jié)果,如圖3所示。實驗表明,鄰域選擇41×41~51×51的檢測結(jié)果最好。最終確定對該圖像選擇51×51的鄰域進(jìn)行計算,即取該點周圍的2 600個像素點的平均值作為閾值(T),可表示為
圖3 自適應(yīng)閾值分割鄰域大小實驗結(jié)果Fig.3 Results of neighborhood size experimental
(4)
如果角度閾值選擇過大,則無法檢測出輪廓線上的角點;而閾值選擇過小,則可能將液滴圓弧輪廓上的點誤檢測為角點。圖4展示了不同角度閾值情況下輪廓檢測結(jié)果及液滴識別的實驗結(jié)果。綜合實驗結(jié)果,本實驗采用0.22作為角度閾值。
圖4 角點檢測角度閾值實驗結(jié)果Fig.4 Corner detection angle threshold experimental results
圖5展示了圖像處理過程中關(guān)鍵步驟的效果,包括二值化、輪廓識別、輪廓篩選。從(d)可以看出,對非熒光液滴的內(nèi)輪廓進(jìn)行檢測,能有效避免液滴粘連導(dǎo)致的錯誤識別問題,取得較好的檢測結(jié)果。
圖5 圖像處理過程的各步驟。(a)二值圖片;(b)輪廓識別;(c)面積篩選去掉較大輪廓并進(jìn)行角點檢測;(d)角點篩選去掉不規(guī)則形狀Fig.5 Steps of image processing. (a) Binary image;(b) Contour recognition;(c) The larger contour is removed by area filtering and corner detection is carried out;(d) Removing irregular shapes by corner detection
熒光液滴檢測實驗結(jié)果如圖6所示。其中,(a)為原始熒光液滴圖像,(b)為輪廓識別后的效果,可以看出檢測效果較好。
圖6 熒光液滴圖像的檢測。(a)熒光液滴圖像;(b)算法對液滴進(jìn)行識別后Fig.6 Detection of fluorescent droplet image. (a) Fluorescence droplet image;(b) After droplet identification
對于液滴大小均勻的5組明場液滴圖像,算法識別的準(zhǔn)確率可以達(dá)到99.2%以上,統(tǒng)計結(jié)果如圖7(a)所示。相比明場液滴圖像,熒光液滴圖像輪廓清晰,與背景對比明顯,便于進(jìn)行圖像識別,所以其識別準(zhǔn)確率可接近100%,實驗結(jié)果如圖7(b) 所示。
圖7 算法識別準(zhǔn)確率驗證。(a)明場液滴;(b)熒光液滴Fig.7 Algorithm accuracy verification. (a) Bright field droplet; (b) Fluorescent droplet
目前,在液滴圖像識別的算法中,使用較為廣泛的方法為基于分水嶺算法的改良[14-16],本研究選擇文獻(xiàn)[14]中的算法進(jìn)行對比。采用本算法、分水嶺算法與人工計數(shù)法,通過6組實驗,對明場液滴圖像與熒光液滴圖像的檢測性能進(jìn)行對比分析。
使用上述兩種方法,實現(xiàn)明場液滴圖像的檢測,結(jié)果如圖8(a)所示。實驗表明,同一背景下兩種算法在檢測精度上差別不大,但在實驗過程中,分水嶺算法容易出現(xiàn)過度分割,導(dǎo)致誤檢現(xiàn)象的存在[17],尤其是出現(xiàn)液滴之間的間隙與液滴大小相近的情況,如圖8(b)所示。由于液滴間隙會產(chǎn)生夾角,所以通過本算法中的角點檢測,可以有效避免這種誤檢測的問題。
圖8 兩種液滴識別算法的對比分析。(a) 明場液滴檢測對比; (b)分水嶺算法檢測Fig.8 Comparison and analysis of two droplet recognition algorithms. (a) Comparison of bright field droplet detection;(b) Detection of watershed algorithm
在算法復(fù)雜度方面,分水嶺算法需要對每一個識別區(qū)域進(jìn)行標(biāo)記,還需要對標(biāo)記點進(jìn)行篩選,只留下液滴內(nèi)部的標(biāo)記點以及背景,并且標(biāo)記越多算法耗時越久。而本算法利用液滴圖像的特性,對液滴輪廓的內(nèi)圓進(jìn)行識別,不會產(chǎn)生輪廓粘連,省去了對輪廓進(jìn)行區(qū)分的步驟,在不損失檢測精度的情況下,實現(xiàn)了算法的簡化。
熒光液滴相對于非熒光液滴來說識別難度降低,因為其背景對比度高、輪廓清晰,更容易計算邊緣特征,完成圖像分割,所以上述兩種算法針對熒光液滴圖像檢測的成功率較高,3組實驗的液滴識別率均達(dá)到100%。實驗證明,本算法簡單可靠,對于熒光液滴識別,可達(dá)到與分水嶺算法相同的識別成功率。
本研究以液滴數(shù)字PCR檢測為背景,驗證了算法從圖像拼接到液滴檢測的可行性,并且與分水嶺算法的檢測性能進(jìn)行了對比分析。實驗結(jié)果表明,所提的檢測方法對熒光和非熒光液滴的識別率均達(dá)到99.2%以上。在算法復(fù)雜度方面,本研究從液滴的特性出發(fā),省去了分水嶺算法中的計算標(biāo)記點等步驟,進(jìn)一步簡化了算法;利用角點檢測,排除了與液滴大小相近的液滴間隙,實現(xiàn)了液滴的快速、高精度檢測。實驗證明,該算法節(jié)省人力資源,提高準(zhǔn)確率,可以在液滴檢測方面得到較好的應(yīng)用。