李麗娟 李 超 李念琪
(1.成都九洲電子信息系統(tǒng)股份有限公司,四川 成都 610041;2.上海電力大學,上海 200090;3.復旦大學,上海 200433)
靜脈輸注是患者接受治療的主要手段之一,為了提高輸液成品質(zhì)量,促進合理用藥,保證患者用藥的安全性,通常由醫(yī)院靜脈用藥調(diào)配中心(以下簡稱“靜配中心”)統(tǒng)一負責全院患者靜脈輸液藥品的調(diào)配。在靜配中心,由于不同病患有不同的輸液藥品,因此要求醫(yī)護人員在配置輸液藥品前,必須認真核查藥品清單以保證配藥的正確性,現(xiàn)階段主要通過人工手動“三查七對”來保證配藥的正確性[1]。由于輸液配藥的工作量極大,人工核對不僅會占用大量的護理資源、降低護理質(zhì)量,而且也會使醫(yī)護人員容易出現(xiàn)操作疲勞,在病員擁擠的情況下配藥出錯,造成醫(yī)療糾紛[2]。
為了規(guī)范醫(yī)護人員配藥的操作流程,降低藥品配置的出錯率,提高配藥工作質(zhì)量,靜配中心通常使用視頻監(jiān)控的方式,對醫(yī)護人員配藥操作全過程進行記錄以備事后查詢,但是該方法不能滿足對配藥操作進行實時監(jiān)測、智能核對和及時報警等需求。該文提出了一種基于視頻圖像目標檢測的藥品外觀識別方法,通過使用圖像處理與神經(jīng)網(wǎng)絡技術(shù)實現(xiàn)對藥品品類的檢測與識別,并自動與處方/醫(yī)囑進行核對,以達到輔助醫(yī)護人員準確配置藥品的目的。
當前基于深度學習的主流圖像目標檢測算法分為2 類[3]:1)基于區(qū)域的目標檢測算法。例如Faster R-CNN、Mask R-CNN等雙階段目標檢測模型。2)將檢測問題變?yōu)榛貧w問題的SSD、YOLO 等單階段目標檢測模型。雙階段目標檢測模型需要先提取圖像的候選區(qū)域,再基于候選區(qū)域做二次修正得到分類和位置坐標,其監(jiān)測精度較高,但檢測速度較慢;而單階段目標檢測模型僅需要一個網(wǎng)絡即可同時產(chǎn)生候選區(qū)域并預測出物體的類別和位置坐標,其特點是提高了檢測速率,但目標定位的準確率略差于雙階段目標檢測模型。
YOLOv3 是采用單階段結(jié)構(gòu)的目標檢測模型,使用單個神經(jīng)網(wǎng)絡結(jié)構(gòu),與之前的YOLO 版本相比,YOLOv3 通過調(diào)整特征提取網(wǎng)絡、利用多尺度特征進行對象檢測以及使用邏輯回歸預測每個邊界框并進行多標簽分類等算法優(yōu)化,提升了平均精確度(mAP)及小物體的檢測效果。如果采用COCO AP50做評估指標,那么YOLO3 的表現(xiàn)相當驚人,在精確度相當?shù)那闆r下,YOLOv3 的檢測速度是其他模型的3~4 倍。綜合考慮靜配中心工作流程及實時檢測需求,該文在針對靜配中心輸液藥品配置檢測中選用了基于YOLOv3 的目標檢測模型。
該文在YOLOv3 網(wǎng)絡架構(gòu)中改進了YOLOv3 模型中的先驗框部分,對先驗框進行提取特征,在先驗框前對特征圖進行預估算,對特征圖采取高斯建模,判斷特征圖是否達到自適應閾值,該閾值為超參數(shù),隨訓練輪數(shù)進行調(diào)整,在卷積層中采用一個N維列向量對輸出的卷積層進行判斷,經(jīng)過迭代調(diào)整出一個合適的閾值。該文改進的部分可以加快藥品檢測的速度,對不同類型的藥品進行檢測時有較好的識別效果。
在實際的靜脈注射中心的藥品配置環(huán)境中,存在藥品擺放、環(huán)境中光源干擾以及拍攝角度的問題,該文的數(shù)據(jù)集采用在排除干擾的環(huán)境中采集的一批數(shù)據(jù)如圖1(a)、圖1(b)所示,同時針對實際作業(yè)環(huán)境下的藥品采集的另一批數(shù)據(jù)如圖1(c)所示。
圖1 采集的藥品樣品
采集到數(shù)據(jù)集后,使用圖像數(shù)據(jù)標注工具對數(shù)據(jù)進行分類標注,該文采集的藥品種類包括靜脈注射藥品中常見的注射袋、水針劑以及粉針劑。針對不同種類的藥品進行單獨標注,針對同種藥品的不同規(guī)格的藥品設計2 種標注方式:1)針對藥品僅標注名稱,按照名稱進行識別,例如:200 mL 葡萄糖注射液、100 mL 葡萄糖注射液統(tǒng)一標注為葡萄糖注射液。2)將不同規(guī)格的藥品分開標注,例如將200 mL 葡萄糖注射液、100 mL 葡萄糖注射液標注成2 個不同的類別,以便進行精細識別。
該文采用基于YOLOv3 的目標檢測模型對藥品進行檢測,在所檢測的藥品中,存在4 種較為明顯的種類劃分,即袋狀注射液、盒狀藥品、圓柱形粉針劑和透明玻璃瓶形的水針劑。實際環(huán)境下檢測的藥品存在注射袋液體大多透明、現(xiàn)場作業(yè)環(huán)境中存在大量反光以及同類型藥品形狀相似的問題,因此,通過藥品標簽信息無法高效地獲取文本文字,使用輔助方法處理會增加檢測任務的復雜度,圖像拼接[4]手段也無法有效應用到實際的工作環(huán)境中。該文在實驗中發(fā)現(xiàn),直接采用目標檢模模型訓練數(shù)據(jù),會因為部分藥品相似度太高而出現(xiàn)識別精確度低于該模型在通用數(shù)據(jù)集平均精確度的問題,同時也存在召回率較低、模型穩(wěn)定性較差的問題。
該文使用改進版YOLOv3 目標檢測模型對藥品進行檢測,提取模型先驗框的特征,在先驗框前對特征圖進行預估算,對特征圖采取高斯建模,判斷特征圖是否達到自適應閾值,該閾值對超參數(shù)隨訓練輪數(shù)進行調(diào)整。在骨干網(wǎng)的輸出卷積層中采用一個列向量對輸出的卷積層進行判斷,LT用來表示閾值損失(如公式(1)所示),經(jīng)過迭代調(diào)整出一個合適的閾值。YOLOv3 將圖片劃分成若干個網(wǎng)格,每個網(wǎng)格負責一塊區(qū)域的檢測,該文對局部網(wǎng)格的平均值與閾值進行比較,大于閾值的先驗框繼續(xù)進行檢測;其次是在先驗框中選定預測框后設置搜索算法,并分析區(qū)域內(nèi)的特征是否存在連續(xù),針對體積較小的注射液的檢測,在先驗框中可能有多個區(qū)域存在粉針劑、水針劑這種小物體的特征,因此再將選中的先驗框劃分為若干小預測框進行預測。對若干個較小預測框進行篩選后,在預測框中找到較大的特征值,在較大的特征值中選擇位置坐標最大值Xmax、Ymax和最小值Xmin、Ymin,重新調(diào)整目標框為僅包含特征最大的幾個值的新目標框,再進行后序流程。
式中:LT為閾值損失;i為若干小預測框;Rd為先驗框;xi*、yi*為先驗框的若干位置預測。
該文所使用的YOLOv3 采用ResNet 網(wǎng)絡作為模型的骨干網(wǎng),ResNet 增加了直連通道緩解網(wǎng)絡深度會導致出現(xiàn)退化的問題。為了提高識別的精度,使用了101 層的ResNet 來進行模型訓練。
該文藥品檢測模型的評價指標為平均精確率AP,對損失函數(shù)采用批量梯度下降的方法,優(yōu)化深度學習模型的權(quán)重參數(shù),最大程度地降低分類的錯誤率。訓練過程中各項超參數(shù)配置如下:權(quán)值初始化采用正態(tài)隨機初始化方法,根據(jù)訓練所使用GPU 的性能和內(nèi)存容量,選取批大小為16;學習率采用動態(tài)學習率。訓練完成后,使用獨立的測試集損失函數(shù)進行誤差評估。
該文提出在YOLOv3 的基礎上結(jié)合圖像增強、遷移學習進行藥品檢測,該文使用的藥品檢測流程框架如圖2 所示。
圖2 藥品檢測流程框架圖
該文使用的數(shù)據(jù)集為在不同環(huán)境背景、不同拍攝角度以及不同擺放情況下靜脈注射藥品的多種類型圖像,共計3 637 張;使用pytorch 深度學習框架編寫代碼,基于detectron2 框架搭建目標檢測模型。
實驗過程中使用Ubuntu 16.04 系統(tǒng)和NVIDIA Tesla V100顯卡訓練YOLOv3 藥品檢測模型。
該文模型采用遷移學習方式,其過程涉及2 個階段:1)進行模型預訓練。使用COCO2017 數(shù)據(jù)集訓練目標檢測模型。小批量梯度下降法迭代40 000 次,學習率為0.001,動量設置為0.9,權(quán)重衰減率0.0001,批量大小Batchsize為16(Batchsize即一次訓練選取的樣本數(shù))。2)進行數(shù)據(jù)集訓練。經(jīng)過預訓練后,使用藥品數(shù)據(jù)集訓練目標檢測模型,小批量梯度下降法迭代80 000 次,學習率大小為0.001,動量設置為0.9,權(quán)重衰減率為0.0001,Batchsize為16。
經(jīng)過訓練后,該文設計的模型在測試集上的訓練效果如圖3 所示。
圖3 YOLOv3 模型檢測藥品效果圖
該文在對藥品外觀進行檢測時,使用以YOLOv3 為基礎的目標檢測模型進行檢測識別,該文對采集的數(shù)據(jù)集進行測試時發(fā)現(xiàn),當使用的每種藥品只有一種規(guī)格時,其平均精度可以達到93.84%,但是采用每種藥品按照名稱和不同規(guī)格詳細劃分出多種標簽的方法,其平均識別精度降低到了73.67%,低于YOLOv3 在COCO 數(shù)據(jù)集上的平均識別精度。該實驗所采集的藥品圖像是包含了多種不同類型的藥品(例如水針劑、粉針劑和注射液),實驗發(fā)現(xiàn)該文改進的模型對具備明顯特征的藥品具有良好的識別能力,同時在分析實驗結(jié)果中發(fā)現(xiàn),由于同種藥品不同規(guī)格的標注標簽不同,導致召回率高于使用每種藥品僅有一個的數(shù)據(jù)集的情況,即外觀相似度過高的藥品會對模型的識別能力產(chǎn)生較大的干擾,而具備相同外觀的不同規(guī)格的藥品會嚴重干擾模型的識別精度。由于無法有效分辨圖像中藥品的實際大小,因此該文改進的模型對不同規(guī)格的藥品的識別能力略顯不足。
該文所選用的目標檢測模型對不同類型的藥品具備良好的識別能力,可以方便快速地部署在生成環(huán)境中。在實際工作中,由于YOLOv3 相比于其他模型,其輕量級的結(jié)構(gòu)使參數(shù)遠遠少于二階段目標檢測模型,因此能夠做到在生成環(huán)境中快速檢測出目標,降低延遲,提高了實際運行效率。
藥物在臨床診療中具有重要地位,正確合理用藥是保證療效的基本前提,在嚴格遵守靜配中心操作流程的同時,也可以采用相應技術(shù)手段進行輔助確認。該文對靜配中心中的藥品配置環(huán)節(jié)進行實時監(jiān)測,能夠輔助醫(yī)療人員進行藥品核對,降低因操作疲勞出現(xiàn)配藥差錯的概率。該文使用YOLOv3模型能夠精確識別藥品品類,可以實現(xiàn)在生產(chǎn)環(huán)境下高效快速識別藥品類別的目標,能夠做到近似實時輔助監(jiān)測藥品配置,可以高效地輔助作業(yè)人員對藥品進行核對。該文使用的模型在同種藥品不同規(guī)格的識別區(qū)分檢測上存在一定的不足,在后續(xù)的研究中,會圍繞該文采用的目標檢測方法額外添加文本識別技術(shù),采用藥品標簽文本識別和目標檢測結(jié)合的方式識別出藥品的具體種類和具體規(guī)格,實現(xiàn)對多種同類異類藥品標簽的快速檢測。