吳響軍,吳超(通信作者),江鑫富,劉森林
1 惠州市第一人民醫(yī)院醫(yī)學(xué)工程部 (廣東 惠州 516001);2 惠州市中心人民醫(yī)院醫(yī)學(xué)工程部 (廣東 惠州 516001);3 惠州市質(zhì)量計(jì)量監(jiān)督檢測(cè)所 (廣東 惠州 516001)
血壓是一項(xiàng)重要的人體生理參數(shù),常被用于多種疾病的臨床診斷中[1]。目前,醫(yī)療機(jī)構(gòu)最廣泛采用的血壓測(cè)量?jī)x器是水銀血壓計(jì)和電子血壓計(jì)。2020年10月14日,國(guó)家藥品監(jiān)督管理局發(fā)文指出,自2026年1月1日起,我國(guó)將全面禁止生產(chǎn)含汞體溫計(jì)和含汞血壓計(jì)。隨著禁汞政策的逐步實(shí)施,電子血壓計(jì)將會(huì)強(qiáng)制替代水銀血壓計(jì)。
電子血壓計(jì)操作簡(jiǎn)單,測(cè)量結(jié)果直觀,且具有自助血壓測(cè)量和記憶存儲(chǔ)等優(yōu)點(diǎn)。但是,有文獻(xiàn)和行業(yè)分析報(bào)告顯示,電子血壓計(jì)誤差偏高,需定期接受檢定或質(zhì)量檢測(cè)[2-4]。因此,如何在檢定或質(zhì)量檢測(cè)過(guò)程中自動(dòng)識(shí)別電子血壓計(jì)的量值,提高工作效率,同時(shí)避免手工記錄導(dǎo)致的筆誤和疏漏,成了目前重點(diǎn)研究的方向。
計(jì)算機(jī)視覺(jué)是指采用圖像處理、模式識(shí)別、人工智能等技術(shù),代替人眼對(duì)目標(biāo)進(jìn)行識(shí)別、跟蹤、測(cè)量以及人眼對(duì)客觀世界的感知、識(shí)別、理解[5],最終在計(jì)算機(jī)平臺(tái)上實(shí)現(xiàn)人的視覺(jué)功能的過(guò)程。目前,計(jì)算機(jī)視覺(jué)技術(shù)已被廣泛用于需要進(jìn)行人工識(shí)別判斷的領(lǐng)域,其優(yōu)點(diǎn)在于準(zhǔn)確度高、速度快,且能避免人為失誤造成的記錄差錯(cuò)。在此背景下,本研究設(shè)計(jì)了一種基于計(jì)算機(jī)視覺(jué)的電子血壓計(jì)數(shù)字識(shí)別算法。
在硬件平臺(tái)選型方面,應(yīng)綜合考慮系統(tǒng)的功能需求、性能需求以及處理器的成本、功耗、運(yùn)算能力,本設(shè)計(jì)選擇了基于ARM-Linux 操作系統(tǒng)的樹(shù)莓派(Raspberry Pi)[6-7],并通過(guò)在樹(shù)莓派上設(shè)計(jì)驅(qū)動(dòng)程序和應(yīng)用程序來(lái)獲取電子血壓計(jì)的圖像,實(shí)現(xiàn)了電子血壓計(jì)示值的圖像采集。整個(gè)硬件采集平臺(tái)見(jiàn)圖1。
圖1 基于樹(shù)莓派的系統(tǒng)硬件平臺(tái)示意圖
在軟件開(kāi)發(fā)環(huán)境方面,本設(shè)計(jì)選擇了基于Python 的OpenCV 計(jì)算機(jī)視覺(jué)庫(kù),通過(guò)安裝OpenCVPython 的依賴庫(kù),實(shí)現(xiàn)了圖像的實(shí)時(shí)獲取;通過(guò)采用數(shù)字圖像處理技術(shù)和智能識(shí)別算法,實(shí)現(xiàn)了對(duì)采集的圖像進(jìn)行數(shù)字字符識(shí)別。
數(shù)字圖像處理是通過(guò)對(duì)圖像進(jìn)行變換、降噪等處理,減少圖像中的無(wú)用信息,去除圖像中的噪聲,凸顯出數(shù)據(jù)圖像特征,便于后期進(jìn)行邊緣檢測(cè)、特征提取、圖像分割和字符識(shí)別。圖像處理與字符分割識(shí)別流程見(jiàn)圖2。
圖2 圖像處理與字符分割識(shí)別流程圖
圖像預(yù)處理包含尺度變換、灰度轉(zhuǎn)換、高斯平滑和邊緣檢測(cè)4個(gè)步驟。通過(guò)預(yù)處理,可降低圖像處理的計(jì)算量和去除圖像中的噪聲,為后續(xù)進(jìn)行字符分割識(shí)別降低了復(fù)雜度,提供了更精準(zhǔn)的輸入圖像[8]。
2.1.1 尺度變換
樹(shù)莓派采集圖像的分辨率為1 280×1 024,進(jìn)行的是實(shí)時(shí)圖像分析處理,數(shù)據(jù)計(jì)算量大。為了降低運(yùn)算量,加快識(shí)別出圖像中的字符數(shù)值,本設(shè)計(jì)將所采集到的圖像壓縮變換為640×512,其數(shù)據(jù)處理量為壓縮前的1/4,尺度變換后的圖像見(jiàn)圖3a。
2.1.2 灰度轉(zhuǎn)換
樹(shù)莓派采集的圖像是彩色圖像,每個(gè)像素都是由R、G、B 3個(gè)分量組成,而每個(gè)分量有255個(gè)量值,因此1個(gè)像素即有1 600多萬(wàn)(255×255×255)的顏色變化范圍。灰度變換是將R、G、B 3個(gè)分量通過(guò)特殊算法映射到0~255之間,可極大地降低處理器的計(jì)算量。當(dāng)前常用的灰度變換方法有分量法、最大值法、平均值法和加權(quán)平均法。本設(shè)計(jì)采用了加權(quán)平均法進(jìn)行圖像灰度化處理,即cv2.cvtColor(image, cv2.COLOR_BGR2GRAY),灰度化處理后的圖像見(jiàn)圖3b。
2.1.3 高斯平滑
高斯平滑常被用于圖像處理中的噪聲抑制和防止干擾,其本質(zhì)是利用高斯濾波器的非線性低通濾波特性,去除圖像信號(hào)中的噪聲,從而獲得亮度平緩漸變且噪點(diǎn)少的圖像[9]。本設(shè)計(jì)的高斯平滑通過(guò)一個(gè)5×5的高斯濾波器完成,濾波后的效果見(jiàn)圖3c。
2.1.4 邊緣檢測(cè)
邊緣是圖像中局部區(qū)域與周圍像素灰度有階躍變換的像素集合。通常情況下,同一區(qū)域的灰度值分布較為均勻,而不同區(qū)域的灰度值則存在一定的差異[10]。我們可借助這一特性,來(lái)獲取血壓計(jì)的LCD 邊框線,用于后續(xù)進(jìn)行分析處理。本設(shè)計(jì)選用了Canny 算子最優(yōu)化的邊緣檢測(cè)算子,有良好的抗噪聲性,并能夠準(zhǔn)確檢測(cè)出邊緣,檢測(cè)出的邊緣見(jiàn)圖3d。
圖3各個(gè)階段處理后的效果圖
通過(guò)圖像預(yù)處理,我們獲取了感興趣區(qū)域,圖中最大的矩形區(qū)域,即LCD 屏幕顯示的數(shù)據(jù)區(qū)域。由于樹(shù)莓派攝像頭的拍攝角度無(wú)法做到自適應(yīng)調(diào)整,因此拍攝的LCD 屏幕不一定是正視圖,對(duì)此,我們通過(guò)imutils 庫(kù)的透視變換函數(shù)four_point_transform 對(duì)圖像進(jìn)行了矯正。
在上述圖像上,我們使用cv2.findContours 對(duì)LCD 區(qū)域的字符數(shù)據(jù)進(jìn)行了字符輪廓檢索,并將檢索的輪廓通過(guò)imutils 庫(kù)的grab_contours 保存了輪廓信息,方便進(jìn)行字符識(shí)別。
字符分割的效果見(jiàn)圖4。
圖4 字符分割的效果圖
電子血壓計(jì)的數(shù)值是由七段的液晶段碼組合而成。為了達(dá)到精準(zhǔn)識(shí)別每一段的目的,我們?yōu)槠叨巫址⒘?個(gè)特殊的直角坐標(biāo)系模型,并對(duì)字符的關(guān)鍵位置進(jìn)行了坐標(biāo)描述,見(jiàn)圖5。以識(shí)別a 段碼為例,a 段碼對(duì)應(yīng)(0,0)至(w,dh)矩形區(qū)域,將圖像進(jìn)行0和1二值化處理(黑點(diǎn)用0表示,白點(diǎn)用1表示)。
圖5 液晶段碼模型及坐標(biāo)系描述
為了判讀a 段碼是否點(diǎn)亮,只需統(tǒng)計(jì)矩形區(qū)域的白點(diǎn)個(gè)數(shù)。對(duì)于a 段,其判斷準(zhǔn)則f(a)見(jiàn)公式(1),考慮到圖像進(jìn)行高斯模糊后會(huì)產(chǎn)生邊緣效應(yīng),我們?cè)趂(a)中加入校準(zhǔn)因子λ,取值為0.65,即矩形區(qū)域內(nèi)的白點(diǎn)超過(guò)65%則認(rèn)為該段段碼點(diǎn)亮。按照上述方法,我們可以依次完成對(duì)b、c、d、e、f、g 段碼的識(shí)別。
字符分類是判斷當(dāng)前字符所代表數(shù)字含義的過(guò)程。通過(guò)判斷準(zhǔn)則f,我們可以得出每個(gè)段對(duì)應(yīng)的0或1情況;然后將段碼識(shí)別的結(jié)果與段碼數(shù)組進(jìn)行匹配,當(dāng)兩者完全一致時(shí),則將字符分類為當(dāng)前序號(hào)的數(shù)字,即完成字符分類。數(shù)字0~9對(duì)應(yīng)的段碼亮滅關(guān)系見(jiàn)圖6。
圖6 七段字符與段碼編碼規(guī)則
為了驗(yàn)證字符識(shí)別算法的準(zhǔn)確性,在樹(shù)莓派4B(ARM Cortex-A72 四 核 1.5 GHz,RAM:8 GB LPDDR4)硬件平臺(tái)上,我們通過(guò)攝像頭獲取了電子血壓計(jì)的示值,并應(yīng)用前文所述預(yù)處理流程和識(shí)別算法最終實(shí)現(xiàn)了自動(dòng)識(shí)別2位寬度與3位寬度的字符,見(jiàn)圖7。由結(jié)果可知,將此種方法用于電子血壓計(jì)的示值識(shí)別,定位區(qū)域精準(zhǔn),字符識(shí)別準(zhǔn)確。
圖7 自動(dòng)識(shí)別結(jié)果
針對(duì)目前電子血壓計(jì)檢定校準(zhǔn)和質(zhì)量檢測(cè)中需要手工記錄示值,不能自動(dòng)化完成檢測(cè)與記錄等問(wèn)題,本研究提出了一種基于圖像處理的自動(dòng)識(shí)別算法,通過(guò)系統(tǒng)介紹電子血壓計(jì)數(shù)字圖像處理的示值并對(duì)其進(jìn)行尺度變換、灰度轉(zhuǎn)換、高斯平滑、Canny 邊緣檢測(cè)、字符分割、段碼識(shí)別、字符分類等處理,且使用OpenCV 庫(kù)在樹(shù)莓派 4B 上實(shí)現(xiàn)整個(gè)設(shè)計(jì),并最終經(jīng)實(shí)驗(yàn)證明,該方法定位精準(zhǔn)、識(shí)別準(zhǔn)確。該技術(shù)的實(shí)施能夠解決目前電子血壓計(jì)檢定工作量大、人工記錄費(fèi)時(shí)費(fèi)力等問(wèn)題,提高了檢定或質(zhì)量檢測(cè)的工作效率;同時(shí),采用智能圖像識(shí)別算法,實(shí)現(xiàn)了對(duì)檢定結(jié)果量值的自動(dòng)化判讀分析,避免了人為因素導(dǎo)致的誤差或錯(cuò)誤。
總之,該數(shù)字識(shí)別算法的研究與設(shè)計(jì)為開(kāi)發(fā)自動(dòng)檢定電子血壓計(jì)的智能裝置奠定了前期技術(shù)基礎(chǔ),且對(duì)于電子儀器儀表的字符識(shí)別或研制自動(dòng)化的儀器示值記錄裝置具有一定的借鑒價(jià)值。