趙 燕,施 展,馮 沖,劉 暢,褚鑫磊,薄純娟
(大連民族大學(xué)信息與通信工程學(xué)院,遼寧 大連 116600)
自2020年以來,全世界一直在與新冠病毒進行殊死較量。新冠病毒傳染性強、傳播途徑多樣,對人們的身體健康造成了嚴(yán)重影響。如若醫(yī)院中的醫(yī)護人員和住院患者感染,不僅會削弱醫(yī)護力量,還會使更多患者承受更大的痛苦。為了降低醫(yī)院中新冠病毒的傳播風(fēng)險,我們設(shè)計了一款精準(zhǔn)型智能送藥小車,為醫(yī)院住院部護士站提供病房藥物配送服務(wù)。
目前,智能送藥小車的識別房間號碼方法可以分為循跡和利用OpenMV采集環(huán)境圖像兩種[1]。循跡方法受到外界影響較大,靈活性不夠。利用OpenMV進行識別可以提高靈活性且識別更加精準(zhǔn)。在算法選擇上,有多模板匹配法和目標(biāo)檢測算法[2]。多模板匹配算法簡單且穩(wěn)定,但缺乏旋轉(zhuǎn)不變性。目標(biāo)檢測算法分為雙階段和單階段兩種框架,雖然單階段具有更快的速度,但是雙階段所得的結(jié)果更加精準(zhǔn)[3]。
本設(shè)計采用基于深度學(xué)習(xí)的雙階段目標(biāo)檢測算法,利用R-CNN(卷積神經(jīng)網(wǎng)絡(luò))對數(shù)字模型進行訓(xùn)練。卷積神經(jīng)網(wǎng)絡(luò)可以將大量圖片數(shù)據(jù)有效降維,從而保留了圖片的特征,符合圖片處理的原則[4],進而大大提高了識別精度。經(jīng)過實際的訓(xùn)練和測試,最終的識別精度高達99.2%。
設(shè)計功能如下:
1) 實現(xiàn)房間號的精準(zhǔn)識別。
2) 小車行駛速度可調(diào)。
3) 藥品裝載檢測。
4) 狀態(tài)回傳。將送藥完畢的數(shù)據(jù)傳輸?shù)较到y(tǒng)。
小車基于STM32F407ZGT6核心板搭建,主要由數(shù)字識別模塊、驅(qū)動模塊、藥物裝卸檢測模塊、藍牙模塊組成。該設(shè)計利用OpenMV對病房前的房間號碼進行精準(zhǔn)識別。當(dāng)小車藥倉中的紅外傳感器檢測到藥物裝載后,由DRV8701E驅(qū)動電機控制小車運動。到達病房后,小車完成藥物的卸載,利用藍牙通信技術(shù)將送藥結(jié)果上傳至系統(tǒng),實現(xiàn)自動化的藥物配送。系統(tǒng)框架如圖1所示。
圖1 系統(tǒng)框架
圖像識別模塊采用基于深度學(xué)習(xí)的雙階段目標(biāo)檢測算法。對于一張房間號碼的圖片,R-CNN基于selectivesearch(選擇性搜索)方法生成大約2000個候選區(qū)域,每個候選區(qū)域被調(diào)整成227×227的RGB圖像并送入一個CNN模型中[5],使用AlexNet提取圖像特征,最后得到一個4096維的特征向量。接著,這個特征向量被送入一個多類別SVM(支持向量機)分類器中,預(yù)測出候選區(qū)域中所含物體的每個類的概率值[6]。
由于圖像中目標(biāo)的尺寸、角度、遮擋等問題的影響,生成的候選區(qū)域可能并不完全準(zhǔn)確,導(dǎo)致目標(biāo)的定位不精準(zhǔn)。所以訓(xùn)練了一個邊界框回歸模型來提升定位的精準(zhǔn)性。邊界框回歸所要做的就是利用某種映射關(guān)系,使得候選目標(biāo)框的映射目標(biāo)框無限接近真實目標(biāo)框。利用數(shù)學(xué)符號表示就是:給定一組候選目標(biāo)框P=(Px,Py,Pw,Ph),G=(Gx,Gy,Gw,Gh)為真實框的位置和大小,尋找到一個映射f,使得f(Px,Py,Pw,Ph)≈(Gx,Gy,Gw,Gh)。邊界框回歸是利用平移變換和尺度變換來實現(xiàn)映射的。平移變換的計算公式如下:
Gx=Pwdx(P)+Px.
(1)
Gy=Phdy(P)+Py.
(2)
尺度變換的計算公式如下:
Gw=Pwexp(dx(P)).
(3)
Gh=Phexp(dx(P)).
(4)
(5)
其中:
tx=(Gx-Px)/Pw.
(6)
ty=(Gy-Py)/Ph.
(7)
tw=log(Gw/Pw).
(8)
th=log(Gh/Ph).
(9)
在做預(yù)測時,利用上述公式可以反求出預(yù)測框的修正位置[7],使得預(yù)測的G和實際的G相差最小,從而提升OpenMV圖像識別的準(zhǔn)確性,如圖2所示。
圖2 R-CNN目標(biāo)檢測步驟
本設(shè)計采用DRV8701E門級驅(qū)動芯片驅(qū)動雙向有刷直流電機,通過控制柵極的電平高低來控制電機正反轉(zhuǎn)。為了避免電機斷電時產(chǎn)生反向電動勢,我們在MOS管的源極和漏極上并聯(lián)一個寄生二極管,當(dāng)MOSFET被關(guān)閉時,寄生二極管會打開,允許電流在電感中自由流動,從而釋放能量。
本設(shè)計采用TCRT5000紅外傳感器進行判斷。紅外發(fā)射二極管不斷發(fā)射紅外線,當(dāng)被檢測物體出現(xiàn)在檢測范圍內(nèi)時,紅外線被反射回來且強度足夠大,此時模塊的輸出端為高電平,指示二極管被點亮,反之二極管熄滅。
本設(shè)計主流程圖如圖3所示。當(dāng)小車檢測到藥物被裝載后,OpenMV進行病房房間號識別,確定病房的位置,小車移動到病房完成藥物卸載后,返回護士站,并將完成情況上傳到系統(tǒng)。
圖3 系統(tǒng)主程序流程圖
本模塊采用基于深度學(xué)習(xí)的目標(biāo)檢測算法,利用R-CNN對數(shù)字模型進行訓(xùn)練。軟件流程圖如圖4所示。
圖4 OpenMV圖像識別子程序流程圖
紅外傳感器被安裝在藥倉底部,用于檢測藥品是否已放入。軟件流程圖如圖5所示。
圖5 藥物裝載檢測模塊子程序流程圖
圖6展示了小車在實物測試中的表現(xiàn)。
圖6 實物測試圖
如表1所示,為了測試OpenMV在運動狀態(tài)下的數(shù)字識別精度,我們對每個數(shù)字進行160次識別測試。計算每個數(shù)字的識別成功比例以及數(shù)字成功識別比例的平均值,以得到總體的識別精度。為:
表1 數(shù)字識別測試結(jié)果表
(99%+98%+100%+100%)/4=99.2%.
(10)
本文設(shè)計的智能送藥小車使用OpenMV分析確定房間號坐標(biāo),利用R-CNN對房間號進行識別。卷積神經(jīng)網(wǎng)絡(luò)采用原始圖像作為輸入,可以有效地從大量樣本中學(xué)習(xí)到相應(yīng)的特征,避免了復(fù)雜的特征提取過程,大大提高了識別精度。最終經(jīng)160次實際測試后,測得出總精準(zhǔn)度可達99.2%。小車可以準(zhǔn)確完成為住院部病人送藥的工作,降低了醫(yī)護人員為住院部病人配送藥品時近距離接觸造成的病菌傳播風(fēng)險,同時也減輕了醫(yī)護工作者的負(fù)擔(dān)。