湯福南,許翔,張可,汪纓
江蘇省人民醫(yī)院 南京醫(yī)科大學第一附屬醫(yī)院 臨床醫(yī)學工程處,江蘇 南京 210029
隨著醫(yī)療技術的快速發(fā)展,磁共振系統(tǒng)已經(jīng)廣泛應用于臨床。目前在磁共振設備的冷卻系統(tǒng)當中,維持超導磁體超導狀態(tài)所用的制冷劑多為價格昂貴的液氦,然而,液氦是一種不可再生資源。2007 年,美國將氦核定為戰(zhàn)略資源而限制氦產(chǎn)量,導致了全球液氦價格持續(xù)飆升[1],因此應當重視液氦的合理使用。在核磁共振設備中,液氦量會隨著病人量的增加而減少。另外,當發(fā)生失超或容器受到猛烈撞擊造成液氦壓力不穩(wěn)定時,可能導致液氦泄露,引發(fā)患者及醫(yī)護人員凍傷或窒息等不良事件[2]。因此,為合理使用液氦和防止此類醫(yī)療器械不良事件的發(fā)生,進行液氦量和液氦壓力等參數(shù)的監(jiān)測具有重大意義。
現(xiàn)階段大多數(shù)醫(yī)院工程師對核磁共振設備的巡檢方式主要是定期到設備機房查看磁體監(jiān)視器,將液氦量和液氦壓力進行記錄在紙質的巡檢表格中,然后對比以往的紙質記錄,判斷液氦的消耗情況、液氦壓力波動是否在正常范圍等。然而,這種巡檢方式的缺點顯而易見:紙質記錄較為原始、無法做到長期的連續(xù)監(jiān)測、對短時間內(nèi)出現(xiàn)較大的液氦壓力波動無法追溯等。
另外,在液氦數(shù)據(jù)獲取方面,不僅可以人工查看監(jiān)視器面板,還能通過讀取串口的方式獲得數(shù)據(jù)。需要注意的是直接與核磁共振這類大型設備進行線的連接,容易對設備本身造成干擾甚至意外停機產(chǎn)生巨額損失,而且,讀取串口的方式需要兼顧不同品牌和型號以及設備內(nèi)部不同的數(shù)據(jù)格式問題,難以實現(xiàn)具有一定通用性的核磁共振機房監(jiān)測系統(tǒng)。
基于上述情況,本文利用物聯(lián)網(wǎng)技術結合人工智能識別算法專門用于磁共振系統(tǒng)液氦數(shù)據(jù)的監(jiān)測,實現(xiàn)對磁共振設備運行情況的遠程實時監(jiān)控,極大地方便工程師對設備的日常巡檢與故障排查。
本文設計的核磁共振機房監(jiān)測系統(tǒng)主要由主控制器、攝像頭模塊和物聯(lián)網(wǎng)云平臺組成(圖1)。系統(tǒng)使用樹莓派作為主控制器[3],對攝像頭采集的圖像進行處理,得到圖像目標區(qū)域智能識別和信息提取,同時將液氦量和液氦壓力等數(shù)據(jù)利用Wi-Fi 一起傳送到OneNet 云平臺[4]。接著,物聯(lián)網(wǎng)云平臺接收樹莓派發(fā)送的數(shù)據(jù),進行圖形化顯示并記錄歷史波形。

圖1 系統(tǒng)總體框圖
系統(tǒng)使用樹莓派控制攝像頭模塊并結合百度OCR 人工智能識別接口來獲取液氦數(shù)據(jù)的方式,其關鍵意義在于數(shù)據(jù)獲取方式為非接觸式,即不需要與核磁共振設備直接進行線的連接,不會對該設備的運行造成風險。此外,系統(tǒng)通過獲取磁體監(jiān)視器的液氦數(shù)據(jù)最為真實準確,無需再外接相關傳感器以及兼顧內(nèi)部數(shù)據(jù)格式問題,從而實現(xiàn)對該類型的設備具有一定的通用性。在巡檢記錄方面,醫(yī)院工程師可以通過物聯(lián)網(wǎng)遠程查看液氦狀態(tài),將歷史數(shù)據(jù)波形進行對比,從而分析該設備是否需要進行維護。
樹莓派是一種高性能、低成本的卡片式微型電腦[5]。本系統(tǒng)使用樹莓派3 代B 型作為中心控制器,尺寸為86 mm×56 mm×17 mm,電源輸入為5 V,可通過MicroUSB供電,其操作系統(tǒng)為Raspbian系統(tǒng)。4核12G CPU 和1G內(nèi)存,可以高效運行程序和處理數(shù)據(jù);具有多個擴展GPIO口,可以連接多個傳感器獲得多組數(shù)據(jù)。而且樹莓派板載Wi-Fi模塊,可直接通過無線網(wǎng)連接互聯(lián)網(wǎng),減少了搭建無線傳感器網(wǎng)絡的工作量。
在本系統(tǒng)中,樹莓派作為主控制器主要完成以下三個方面的功能:通過控制攝像頭傳感器采集圖像數(shù)據(jù),進行圖像的預處理和保存;調用人工智能服務識別接口,處理得到文字參數(shù)結果;通過自帶的Wi-Fi 功能聯(lián)網(wǎng),將液氦數(shù)據(jù)無線傳輸至遠程服務器。
本系統(tǒng)使用的攝像頭為Raspberry Pi Camera,500 萬像素,可直接使用視頻CSI 接口連接樹莓派,圖像分辨率達2592×1944,滿足系統(tǒng)的實際設計需要。在本院GE 3.0T核磁共振機房中,磁體監(jiān)視器面板自動切換顯示液氦量和液氦壓力以及系統(tǒng)時間,因此需要對獲取的圖像內(nèi)容進行智能解讀并判斷,然后再根據(jù)識別結果對液氦參數(shù)變量進行分類存儲。圖2 為樹莓派控制攝像頭[6]采集到磁體監(jiān)視器面板的圖像。

圖2 攝像頭采集到的磁體監(jiān)視器面板圖像
系統(tǒng)軟件設計由樹莓派軟件設計以及物聯(lián)網(wǎng)云平臺端軟件設計兩部分組成。其中樹莓派使用Python 語言開發(fā)[7],可以控制攝像頭獲取磁體監(jiān)視器面板圖像,使用人工智能識別算法對圖像內(nèi)容轉換成文本,將液氦壓力、液氦量等數(shù)據(jù)上傳至云平臺。使用Python 語言開發(fā)不僅意味著可以使用眾多功能強大的開源函數(shù)庫,更為重要的是其程序可直接在樹莓派的操作系統(tǒng)上執(zhí)行。軟件流程圖如圖3 所示。

圖3 軟件流程圖
OneNet 云平臺端接收樹莓派發(fā)送的數(shù)據(jù),對數(shù)據(jù)進行分組顯示,判斷相關數(shù)值是否在正常范圍,當達到觸發(fā)條件時,OneNet 云平臺將自動發(fā)送報警提示信息到預先設置的電子郵箱中,實現(xiàn)報警功能。
3.1.1 攝像頭拍照程序
(1)首先通過以下指令安裝樹莓派官方配置工具raspiconfig:
sudo apt-get install raspi-config
(2)通過以下指令,修改樹莓派配置,開啟攝像頭模塊
sudo raspi-config
(3)通過以下指令檢測樹莓派攝像頭是否工作正常:
vcgencmd get_camera
運行結果顯示“supported = 1, detected =1”即可正常進行樹莓派攝像頭的控制。
(4)在運行程序之前,為了讓攝像頭拍攝的圖像得以保存和修改,需要保證該程序所在文件夾的操作權限已被當前用戶獲得,通過運行以下指令并輸入Pi 的密碼實現(xiàn):
sudo chmod -R 777 /home/pi
(5)pyhon 程序中需要先導入PiCamera 模塊:
from picamera import PiCamera
攝像頭初始化語句:
camera = PiCamera()
camera.resolution = (1920,1080)
camera.framerate = 60
攝像頭拍照并存儲圖像:
camera.start_preview()
camera.capture('/home/pi/picture.jpg')
camera.stop_preview()
3.1.2 人工智能圖像識別程序
獲取磁共振液晶顯示面板圖像之后,需要對原始圖像進行預處理,劃分出待識別圖像區(qū)域然后再上傳到百度OCR[8]。預處理包括旋轉、裁剪和放縮等操作,該操作分別由Python 中的rotate()、crop()和resize()函數(shù)完成。圖像預處理的輸出圖像如圖4 所示,該圖像可作為人工智能識別程序的輸入圖像。

圖4 上傳到OCR的圖像
人工智能圖像識別程序的核心是AipOcr 模塊,該模塊是由百度人工智能開放服務平臺提供的文字識別服務,基于百度深度學習研究院強大的深度學習算法和中文檢測識別技術,對于整張圖片的識別,其中文識別率達85%以上,英文識別率達91%以上,可支持PNG、JPG、JPEG、BMP等多種格式的圖片識別,使用前提是需保證待識別的圖片區(qū)域為圖片主體部分。
調用百度OCR 之前,需要在Python 中安裝baidu-aip庫文件,可以通過執(zhí)行以下指令實現(xiàn):
pip3 install baidu-aip
通過下列語句導入baidu-aip 庫中的函數(shù)并初始化:
from aip import AipOcr
aipOcr = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 讀取圖片
filePath = "文件名.png"
def get_file_content(filePath):
with open(filePath, 'rb') as fp:
return fp.read()
options = {
'detect_direction': 'true',
'language_type': 'CHN_ENG',
}
result = aipOcr.basicAccurate(get_file_content(filePath), options)
其中APP_ID, API_KEY, SECRET_KEY 在三個參數(shù)需要在百度云注冊,然后創(chuàng)建一個應用獲得;basicAccurate()為高精度版的通用文字識別函數(shù),該服務每天可以免費使用500 次[9],滿足系統(tǒng)設計需要;result 為函數(shù)返回值,包括識別結果數(shù)組的行數(shù)words_result_num 和識別結果數(shù)組words_result。本系統(tǒng)調用百度OCR 的識別結果為液氦量和液氦壓力等液氦數(shù)據(jù),然后將液氦數(shù)據(jù)發(fā)送到OneNet 云平臺。
OneNet 作為中國移動通信集團推出的一個專業(yè)物聯(lián)網(wǎng)開放云平臺,提供了豐富的智能硬件開發(fā)工具和可靠的服務,支持各類終端設備快速接入網(wǎng)絡,實現(xiàn)數(shù)據(jù)傳輸、數(shù)據(jù)存儲、數(shù)據(jù)管理等完整的交互流程。云平臺支持多種公開協(xié)議,包括HTTP、EDP、MODBUS 和MQTT 等。提供端對端的數(shù)據(jù)傳輸并且基于私有云的架構保證了數(shù)據(jù)的安全性,提供豐富的應用模板,方便物聯(lián)網(wǎng)開發(fā)者進行數(shù)據(jù)傳輸和管理[10]。
3.2.1 設備接入
在接入OneNet 之前,必須先在OneNet 平臺注冊用戶賬戶,注冊登錄成功之后,按照以下順序進行設備接入:在用戶賬戶下創(chuàng)建產(chǎn)品,在產(chǎn)品中創(chuàng)建設備,新增數(shù)據(jù)流,終端設備上傳數(shù)據(jù),平臺生成相應的數(shù)據(jù)流,然后創(chuàng)建應用。在每個用戶賬號下,終端上傳的數(shù)據(jù)以產(chǎn)品的形式進行管理封裝,每個用戶可以創(chuàng)建多個產(chǎn)品,一個產(chǎn)品中可以創(chuàng)建多個設備、APIKey、應用、觸發(fā)器,用戶可以對這些資源進行增、刪、改、查等操作,在單個設備下,用戶可以創(chuàng)建多個數(shù)據(jù)流,終端的數(shù)據(jù)則上傳至相應的數(shù)據(jù)流[11]。
3.2.2 觸發(fā)器設置
觸發(fā)器是OneNet 平臺為用戶提供的一種監(jiān)控設備數(shù)據(jù)流的功能,可以實現(xiàn)特定條件的事件報警。新建一個觸發(fā)器之后,輸入觸發(fā)器的名稱、控制范圍、數(shù)據(jù)流名稱、觸發(fā)條件、接受信息方式等,即可完成觸發(fā)器添加。目前觸發(fā)器支持以短信、郵件以及用戶提供的URL 地址三種途徑推送事件報警信息[12],本系統(tǒng)選用郵件方式發(fā)送報警提示信息。
核磁共振設備對液氦量和液氦壓力的監(jiān)控有著嚴格的要求。日常使用中,液氦壓力設定為0~5 psi,若壓力大于5.0 psi 則表明故障;液氦量應大于60%,低于極限值50%則應及時加液氦,否則存在失超的可能。本系統(tǒng)設置了3 個觸發(fā)器,分別為液氦量低于60%及低于50%時觸發(fā)液氦量異常報警以及液氦壓力高于 5.0 psi 觸發(fā)液氦壓力異常報警。OneNet 平臺自動記錄接收到的液氦量和液氦壓力數(shù)據(jù),當達到觸發(fā)條件時,平臺將發(fā)送報警提示信息到預設的電子郵箱中,達到預警和可追溯性維護巡檢的目的。
3.2.3 傳輸協(xié)議
OneNet 平臺支持包括HTTP、EDP、MQTT[13]等在內(nèi)的多種標準網(wǎng)絡協(xié)議,本系統(tǒng)采用HTTP 作為數(shù)據(jù)傳輸協(xié)議。HTTP 協(xié)議是因特網(wǎng)上應用最為廣泛的一種網(wǎng)絡傳輸協(xié)議,所有的WWW 文件都必須遵守這個標準。該協(xié)議工作于客戶端-服務端架構上,瀏覽器作為HTTP 客戶端通過URL 向HTTP 服務端即WEB 服務器發(fā)送所有請求。HTTP 是無連接的,即限制每次連接只處理一個請求[14]。服務器處理完客戶端的請求,并收到客戶端的應答后,即斷開連接,采用這種方式可以節(jié)省傳輸時間。
本系統(tǒng)首先在平臺端創(chuàng)建接入?yún)f(xié)議為HTTP 的產(chǎn)品,記錄下平臺分配的設備ID、產(chǎn)品ID 與自定義的鑒權信息(即設備編號)。然后在樹莓派端使用Python 軟件結合設備對應的登陸參數(shù)建立HTTP 連接[15],連接成功建立后即可通過該協(xié)議向OneNet 平臺發(fā)送液氦數(shù)據(jù)。物聯(lián)網(wǎng)云平臺監(jiān)測到的液氦實時數(shù)據(jù)如圖5 所示。

圖5 物聯(lián)網(wǎng)云平臺數(shù)據(jù)顯示
本文設計的系統(tǒng)自從2018 年9 月7 日至今用于本院放射科GE 750W 3.0T 磁共振機房進行測試,在實際使用過程中上傳數(shù)據(jù)準確且歷史記錄在OneNet 平臺上可追溯[16],已達到預期設計效果。該磁共振設備的液氦歷史數(shù)據(jù)如表1 所示。

表1 液氦壓力及液氦量歷史數(shù)據(jù)
在本系統(tǒng)實際使用初期,經(jīng)過本院工程師多次將現(xiàn)場巡檢紙質結果和遠程數(shù)據(jù)對比確認,數(shù)字識別結果準確無偏差。僅有極少數(shù)情況下在識別“He Level”和“He Pressure”等英文時會出現(xiàn)首字母H 丟失的情況,如出現(xiàn)“e Level”等。后期為解決此類問題,在Python 程序中使用difflib.SequenceMatche()函數(shù)計算識別結果與目標字符串的相似度,當相似度超過75%時,即認為該內(nèi)容是液氦參數(shù)顯示頁面,并進行數(shù)值存儲,從而提高了識別準確性。
本系統(tǒng)在巡檢方面的有益效果表現(xiàn)在增加每月巡檢次數(shù)的同時節(jié)約巡檢所需時間成本。醫(yī)院工程師無需頻繁到達現(xiàn)場查看磁體監(jiān)視器,登錄物聯(lián)網(wǎng)云平臺即可進行巡檢,平均每月巡檢次數(shù)從1~2 次增加到15~20 次,為核磁共振設備的穩(wěn)定運行提供了保障。
本文設計的系統(tǒng)是基于開放的物聯(lián)網(wǎng)平臺和人工智能算法實現(xiàn)了磁共振磁體數(shù)據(jù)的遠程監(jiān)測。采用樹莓派本身的Wi-Fi 模塊實現(xiàn)聯(lián)網(wǎng),通過攝像頭傳感器捕獲圖像,調用人工智能識別算法返回文字識別結果,利用OneNet 平臺靈活的數(shù)據(jù)服務來實現(xiàn)對磁體情況的遠程監(jiān)測。其具體意義在于:工程師可以通過電腦或手機瀏覽器登錄OneNet 平臺來遠程查看液氦數(shù)據(jù),減輕維護人員的對磁共振設備的巡檢壓力;OneNet 平臺可以自動記錄數(shù)據(jù)并發(fā)送報警提示信息到預設的電子郵箱中,達到預警和可追溯性維護巡檢的目的;工程師可以通過遠程控制軟件連接樹莓派,修改Python 程序參數(shù),靈活性與便捷性明顯增加,方便后期程序功能的擴展和升級。