魏 晗,吳 戀,2,楊婭婷,譚江波,趙廣寬
(1.貴州師范學院 數學與大數據學院,貴州 貴陽 550018;2.貴州師范學院 大數據科學與智能工程研究院,貴州 貴陽 550018)
在全面脫貧的大背景下,鄉村振興,不返貧,求發展,已成為時代最強音,讓智慧“心”醫療的概念深入人心。 鑒于老年人的視力、記憶力普遍欠佳的現狀,本文中的設備能夠正確智能的讀取、識別、解析出所需藥品的作用、使用頻率、禁忌等關鍵信息,并進行語音播報,從而最大限度地保證用戶在用藥安全的大前提下,將醫療模式從傳統化向智能化轉型。
本文主要介紹了一種智能醫藥系統,此系統的圖像信息采集模塊通過掃描藥盒或說明書等,采集圖像利用OCR 技術解析文字后運用TCP 協議與服務器建立聯系,并返回關鍵信息進行語音播報,為鄉鎮獨居老人等特殊群體醫療實現智能化、現代化。 以用藥安全、智能用藥為點,智能新醫療作面,以點繪面力爭在醫療條件欠發達的鄉鎮地區補足資源稀缺的短板,開創智能醫療的新局面。
識藥系統的大體由物聯網模塊、信息采集模塊、服務管理模塊、云端服務平臺組成。 物聯網模塊采用樹莓派(Raspberrypi)[1]作為系統的軟硬件交互中心、調度中心。 信息采集模塊包括圖像信息采集、信號信息采集兩個版塊,調度中心將從用戶獲取到的信號信息驅動攝像頭從而完成圖像采集。 服務管理模塊對數據庫信息進行維護,保證信息完整、正確。 云端服務平臺作為數據中心,是由Nginx 技術搭建的高可用數據庫集群,儲存信息的云端載體。 系統整體結構如圖1 所示。

圖1 智能識藥系統
該系統分為用戶硬件設備、嵌入式軟件、數據服務軟件幾個關鍵部分。
該系統軟件部分主要分為運行在硬件載體上的嵌入式軟件和運行在云端服務平臺上的數據服務軟件。
2.1.1 嵌入式軟件
嵌入式軟件部分功能實現了全自動接收用戶指令、調度中心激活攝像頭進行藥盒的圖像采集、向服務器上傳采集的圖片并接收服務器處理后返回的信息驅動揚聲器進行語音播報[2],是硬件載體的指揮官。
接收用戶指令是由shell 腳本實現,一旦用戶發出指令,Raspberrypi 的gpio 接口將會精確捕捉該信號,接著將該信息傳遞給Python 代碼。 該行為會激活shell 腳本中的指令,從而調用攝像頭獲取藥盒的圖像信息,提取圖片信息部分由嵌入硬件設備在后臺運行的Java jar 包代碼實現,具體調用OpenCV,OpenMv 等庫函數縮小藥名范圍、排除無關文字從而進一步減少服務器的工作量,然后將經過預處理的圖片信息以流的形式上傳到云端服務器,該部分由shell 腳本自動發送Wget 請求并攜帶流實現。 代碼流程如圖2所示。

圖2 代碼流程
2.1.2 數據服務軟件
數據服務軟件部分主要實現了接收硬件設備端上傳的字節流圖片信息,并利用百度AI OCR 的API 接口[3],實現將預處理過的圖片字節流信息進行指定區域文字識別,減少識別工作量的同時提高了正確率。將搭建在服務端的數據庫內指定的內容返回給客戶的硬件設備,只有進行多次核對、審查才會返回信息,進一步保證了藥品信息的正確性、安全性。
同時部署在主服務器上的除數據庫信息之外,還為管理人員提供了對藥品信息進行增加、修改、校對的B/S 模式的后臺可視化管理平臺。 該平臺基于Java 語言、數據庫技術配合SpringBoot 快速開發框架搭建腳手架管理人員通過項目負責人下發的登錄標識進入系統,采用Redis 集群和頻繁查詢的數據,以避免過多占用服務器資源[4-5]。 管理員也可以查看相關用戶提出的問題,并利用HTTP 請求返回并給予指導。
對于云端數據庫的權限情況,由于藥品信息的特殊性采用SpringSecurity 安全框架防止信息被篡改。 可以保證系統的數據管理體系和登錄用戶的權限是分開的,將Token 令牌(管理員唯一識別碼)暫存在Redis 非關系型數據庫中,減輕了數據庫服務器并發壓力,還可以保證管理員在一定時間內有對數據庫服務器內數據操作的權限,數據加密采用了SHA-256+隨機鹽+密鑰的方式,可以保障各個用戶之間的登錄信息和查詢數據的安全性,基于安全因素的考慮,不同權限的工作人員登錄系統之后,修改藥品數據庫的權限也不同,這樣既避免了數據泄露或被篡改的風險,也提高了系統的調控性。
對于數據庫而言,用戶的信息是管理人員所提供的信息。 但對于用戶而言,在識別過某種藥品后可以對本地數據庫內的信息進行修改,從而實現個性化配置。 與此同時,用戶的操作將會記錄在云端日志數據庫內,原始數據發生修改操作將進行拷貝。 云端數據平臺采用差別拷貝模式,在未增加新數據的情況下,原數據發生修改,差別拷貝模式只會拷貝修改的數據,節省了數據庫內存和數據拷貝時間,使識藥系統保持高效運行。 用戶進行修改操作后會將該數據與原數據進行信息比對,如有發現信息異常則認定為誤操作,對用戶進行反饋,主要數據庫字段設計如表1所示。

表1 藥品數據庫字段
該系統硬件部分主要由Raspberrypi 作為載體,同時它也是該系統的調度、交互中心,負責協同信號信息采集模塊、圖像信息采集模塊、云端服務平臺等硬件單元去驅動各設備之間的交互,共同完成識藥功能。
2.2.1 交互、調度中心
硬件部分為客戶端,Raspberrypi 作為可以搭載Linux 系統的“卡片式電腦”是“低成本物聯網”這一概念的有力踐行者,正是因為有了它,每個人都可以動手實現嵌入式。 同時本項目也選擇使用Raspberrypi 作為項目的硬件載體和交互、調度中心,由它來驅動各功能模塊完成識藥流程,這個過程需要由gpio 提供輸入輸出針腳的信息,可以通過基于Linux 的系統來讀取各個接口的狀態,基于此用戶可以點擊載體上的按鈕,由信號信息采集版塊處理后將該信號信息傳遞給shell 腳本,再由調度中心向圖像信息采集版塊發布命令,從而驅動外部設備采集信息,負責發布命令和接收反饋,獲取圖像信息后由交互中心向云端服務平臺發送字節流進行軟硬件平臺的交互,經過云端服務平臺處理后返回的信息再由調度中心調用揚聲器設備進行語音播報。 Raspberrypi 設備實體如圖3 所示。

圖3 硬件設備
2.2.2 信號信息采集版塊
此版塊依賴于gpio 接口,運行在硬件設備上的Python 代碼可以通過硬件設備載體外接在gpio 上的按鈕來控制gpio 的高低電平變化,Shell 腳本可以開啟監聽gpio 模式,當用戶點擊外接的按鈕后,指定的gpio 接口的高低電平就會發生變化并反饋信息給調度中心,高低電平的變化可以利用在gpio 接口與按鈕之間連接的LED 燈珠亮滅來進行可視化展示。
2.2.3 圖像信息采集版塊
此版塊主要接收調度中心發出的信號從而啟用攝像頭采集圖像信息,將此字節流圖像暫存在本地[6],該操作被Shell 腳本監聽后傳遞信號給調度中心,進而將暫存在本地的字節流圖像信息以Wget 請求命令上傳到服務器。
由表2 不難看出,該系統硬件用戶單元在環境明亮、正常的情況下正確率可以達到商用水平,但在極度昏暗或存在不正常操作的情況下正確率不盡人意。 排除極端環境因素影響該設備的運作正常,返回的數據正確、安全。

表2 實驗效果匯總
目前,本文的智能醫藥系統解決了老年人由于視力、記憶力普遍欠佳,無法確保安全用藥而存在的一些問題,同時該系統具有智能讀取和語音播報的功能,為老年人用藥提供了極大的便利。 當前該系統經過多次改進與測試,工作性能穩定,實現效果良好。 在人口老年化的當下,智能醫藥系統為老年人安全用藥提供了保障。 此外,本文的智能醫藥系統具有很廣闊的市場前景,在未來將會占據部分市場份額,為人們的工作和生活提供便利,降低了用戶因為視力下降和記憶力衰退而產生的安全隱患,使用戶的用藥模式向智能化轉變。