摘 要:為了采集血液樣品在毛細(xì)玻璃管中的流動速度曲線,本文介紹了基于線陣CCD的血液流速測量系統(tǒng),并提出了滑窗相減算法處理線陣CCD視頻信號,它可以用來快速獲得帶有系統(tǒng)誤差的圖像邊緣位置,并且在速度計算過程中,抵消該邊緣點的誤差。算法的處理過程為:首先需要對CCD輸出的每一幀信號中的灰度值做間隔象元相減,然后對相減結(jié)果絕對值化,再設(shè)置合適閾值二值化,這個過程已經(jīng)抑制了低頻的灰度值起伏,同時利用二值化后信號的特點,排除高頻的雜散噪聲,確定帶誤差的血樣邊緣位置,最后對一系列位置量做差分就可以得到去除誤差的血樣流速。
關(guān)鍵詞:流速;線陣CCD;邊緣檢測;現(xiàn)場可編程邏輯門陣列
中圖分類號:TP391
血液粘度是衡量血液流動性的一項綜合指標(biāo)。作為醫(yī)療檢查的一個重要項目,血液粘度的異常通常會指示人體的某些病變[1]。測量血液粘度的儀器稱為血流變儀,當(dāng)前廣泛使用的血流變儀有兩種:旋轉(zhuǎn)式血流變儀和壓力傳感器血流變儀,但是這兩種儀器都笨重而且測量耗時較長??紤]到血液樣本粘度越大,其流速越慢,因此,通過獲得測量血液樣本在一定條件下的流動速度曲線,也可以計算得到血液粘度。本文將介紹一種血樣本流速測量系統(tǒng)及其測量方法。
1 血液流速測量系統(tǒng)及其工作原理
在線陣CCD檢測系統(tǒng)中,被測對象在CCD像素上成像,以線陣CCD作為光電傳感器接收被測對象的圖像信號。CCD傳感器將被測對象的光學(xué)圖像信號轉(zhuǎn)換為電平信號,其中每個電平的大小對應(yīng)于像素所接收光強(qiáng)的強(qiáng)弱,信號輸出的時間順序?qū)?yīng)著像素的位置順序。一般來講對CCD輸出的電平信號需要經(jīng)過濾波、放大、AD轉(zhuǎn)換后成為離散的灰度值,最后進(jìn)入嵌入式處理器分析處理。
圖1 測量系統(tǒng)框圖
如圖1所示,血液樣品在一個恒定壓力F的作用下進(jìn)入毛細(xì)玻璃管,血液邊緣以某種變化的速度向前運動,玻璃管橫置于光源和線陣CCD之間,CCD對該流動過程不斷拍照,在第i次掃描時(即第i張照片),血液邊緣處于第Pi個象元。由于血條的覆蓋,將導(dǎo)致被覆蓋的CCD象元輸出灰度值較低,未被覆蓋的將輸出較高灰度值。由于CCD掃描間隔固定為T,每個象元長度固定為L,因此Pi數(shù)組實際代表了血樣邊緣的離散位移,對位移做差分即可得到離散的速度??梢?,象元長度L越?。捶直媛试礁撸┖蛼呙栝g隔T越小,得到的離散速度精度越高,越接近連續(xù)的實際情況,但L和T的減小增加了所需要處理的數(shù)據(jù)量和處理速度,提高了對系統(tǒng)的要求,因此問題歸結(jié)于快速,準(zhǔn)確的定位到邊緣Pi。
2 滑窗相減法
實際查看波形后發(fā)現(xiàn),漸變區(qū)具有良好的線性,即便采用直線擬合法,得到的邊緣點距漸變區(qū)幾何中點非常近[4],這也是直線擬合法的基礎(chǔ),邊緣點和漸變區(qū)幾何中點的差值可以認(rèn)為是系統(tǒng)誤差,由公式(4)可以看到,這個誤差在速度測量中被抵消了??紤]間隔2K個象元相減,對相減的結(jié)果設(shè)定閾值,就可以找到幾何中點。具體過程為:取漸變區(qū)幾何中點P,將其定為邊緣位置,漸變區(qū)寬度為2K,再設(shè)定一個窗口,窗口寬度為2K,窗口的右邊從V1開始,將窗口沿著CCD輸出灰度向右滑動,每滑動一個象元,令窗口右邊沿灰度值減去左邊沿灰度值,由于在前2K個灰度窗口左邊沿尚沒有有效值,則將被減數(shù)設(shè)置為V1,得到
(1)
接著設(shè)定一個閾值Vcomp,它的值為
Vcomp=(Vp+k-Vp-k)/2 (2)
利用Vcomp對|QN|二值化,得到RN,
(3)
假設(shè)存在1個象元的足夠大的雜散噪聲,RN將出現(xiàn)1對寬度均為1的干擾脈沖,由于漸變區(qū)得到的脈寬為2K左右,設(shè)置一個合適的閾值E做脈寬判定,對RN中脈寬小于E的脈沖忽略,直到找到一個脈沖寬度大于或等于E,判定該脈沖為漸變區(qū)脈沖,它的上升沿所在的象元個數(shù)即為邊緣所在的位置Pi。
為了計算速度,考慮到CCD每兩次掃描間隔時間為一個固定時間T,對Pi做差分運算,即
Si=Pi+1-Pi (4)
它表示在T時間內(nèi),邊緣位移了Si個象元距離,雖然每個Pi并非真正的邊緣點,但是它包含了對真實點的固定的系統(tǒng)誤差,減法之后,這個誤差就被抵消了,因而得到的速度量Si是準(zhǔn)確的。設(shè)每個象元長度為L,則得到離散的流速曲線為
Ai=Si*L/T (5)
3 結(jié)束語
為了測量血液樣品的流動速度,本文分析了現(xiàn)有的線陣CCD輸出處理方式,提出了滑窗相減法來快速地定位邊緣位置,運算不但能減弱光源的影響,而且可以有效抑制低頻噪聲,通過計算脈沖寬度,設(shè)置合適的閾值Vcomp和K,可以找到特定的漸變區(qū),有效抑制了高頻的雜散噪聲,同時,設(shè)計的結(jié)構(gòu)保證了系統(tǒng)的低消耗和高實時性,最后,為了驗證方法的有效性,筆者利用Verilog HDL語言實現(xiàn)了該算法,并對其進(jìn)行了仿真和實際測試,得到了滿意的結(jié)果。最終的結(jié)果顯示,滑窗法系統(tǒng)占用FPGA邏輯單元195個,仿真時該算法確定邊緣點僅消耗9個時鐘,速度誤差為±7um/ms。
參考文獻(xiàn):
[1]王保華.生物醫(yī)學(xué)測量與儀器[M].上海:復(fù)旦大學(xué)出版社,2003.
[2]陳亭.光電式數(shù)字靜電電壓表的研究[J].電測與儀表,2006(05):22-24.
[3]楊博雄,胡新和,傅輝清.直線擬合邊緣檢測法在光電自準(zhǔn)直儀中的應(yīng)用[J].大地測量與地球動力學(xué),2005(01):127-130.
[4]劉奮飛,趙輝,陶衛(wèi).改進(jìn)的直線擬合線陣CCD圖像邊緣檢測方法[J].光電工程,2005(03):40-43.
[5]雷志勇,劉群華,姜壽山.線陣CCD圖像處理算法研究[J].光學(xué)技術(shù),2002(05):475-477.
[6]谷林,胡曉東,陳良益.基于FPGA的線陣CCD亞像元邊緣檢測片上系統(tǒng)[J].光子學(xué)報,2004(05):617-621.
[7]王日明,董曉慶,黃杰賢.基于線陣CCD的特征標(biāo)志線檢測系統(tǒng)[J].儀器儀表用戶,2007(03):32-33.
[8]吳曉波.圖像邊緣特征分析[J].光學(xué)精密工程,1999(01):60-64.
[9]於晶晶.基于線陣CCD攝像機(jī)的接觸網(wǎng)非接觸式檢測[D].北京交通大學(xué),2012.
[10]方華.基于雙CCD自動瞄準(zhǔn)數(shù)字折射儀的設(shè)計[D].上海交通大學(xué),2012.
作者簡介:李純陽(1988-),男,四川達(dá)州人,通信與信息工程學(xué)院在讀碩士研究生,2011年于成都理工大學(xué)獲得學(xué)士學(xué)位,主要從事嵌入式系統(tǒng)、信號檢測和處理等方面的研究。
作者單位:重慶郵電大學(xué)生物醫(yī)學(xué)工程研究中心,重慶 400000;重慶大學(xué)生物工程學(xué)院,重慶 400000