本發(fā)明涉及計(jì)算機(jī)視覺,具體來說是一種基于rtmdet的泳池溺水檢測方法。
背景技術(shù):
1、游泳可以提高孩子的身體素質(zhì)、協(xié)調(diào)能力、智力水平,促進(jìn)神經(jīng)發(fā)育。因此越來越多的家長鼓勵孩子參加游泳,但是游泳存在著不容忽視的隱患。據(jù)統(tǒng)計(jì),全球約45%的溺水死亡事件為兒童。在中國溺水已成為兒童意外傷害和死亡的三大原因之一。隨著游泳的盛行,相關(guān)安全問題引起了廣泛關(guān)注。盡管兒童在游泳時有泳圈的保護(hù),但事故的發(fā)生仍主要是由于安全救生人員的疏忽造成的。安全員容易受到情緒波動和疲勞等因素的影響從而影響到監(jiān)視的效果。近年來我國發(fā)生多起兒童溺水事件,這些事件對家庭來說是毀滅性的打擊,也表明兒童溺水仍然是一個嚴(yán)重的公共安全問題。由此可見,單純采用安全救生員監(jiān)視游泳的方法存在一定的弊端,并不能確保游泳者的生命安全。研究和應(yīng)用計(jì)算機(jī)視覺的方法來輔助安全救生員對泳池進(jìn)行監(jiān)視來有效降低事故的發(fā)生概率具有重要的現(xiàn)實(shí)意義。
2、隨著目標(biāo)檢測在許多領(lǐng)域中的成功應(yīng)用,現(xiàn)在基于目標(biāo)檢測算法實(shí)現(xiàn)溺水檢測已成為主流。目前基于深度學(xué)習(xí)的目標(biāo)檢測算法可以分為兩階段算法和單階段算法兩種。兩階段算法首先從圖像中生成候選框,然后利用學(xué)習(xí)模塊提取候選框的區(qū)域特征并完成最后的分類和回歸,代表算法有r-cnn系列。該類算法檢測精度高但是檢測速度慢,無法滿足實(shí)時性檢測的場景。而單階段算法直接對目標(biāo)進(jìn)行回歸和分類,代表算法有ssd、yolo系列和rtmdet。該類算法具有較快的檢測速度的同時具有較高的檢測精度,因此單階段目標(biāo)檢測算法得到了廣泛的應(yīng)用。
3、為了對溺水行為進(jìn)行檢測,國內(nèi)外的研究人員提出了許多種方法,包括基于背景差分法的水下人體檢測方法、基于mask?r-cnn泳池溺水行為檢測方法、基于yolov4的泳池溺水檢測方法。但是這些方法都有各自的缺陷:1、背景差分法的背景建模會受到場景中許多動態(tài)變化因素的影響會影響到后續(xù)的目標(biāo)提取和目標(biāo)跟蹤的工作,使得該方法在復(fù)雜環(huán)境下存在檢測準(zhǔn)確性低的問題。2、基于mask?r-cnn的檢測方法的檢測準(zhǔn)確性有了提高但是該方法的檢測速度較慢。3、基于yolov4的水下檢測方法容易受到游泳者的遮擋且該方法需要水下攝像頭所需維護(hù)成本較高。4、大多數(shù)泳池溺水檢測方法在簡單場景下具有不錯的檢測精度,但是在泳池中混雜游泳圈和玩具、水面有反光的干擾以及游泳者形態(tài)的多樣等復(fù)雜場景下的檢測精度較低,容易發(fā)生游泳者的誤識別。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種面向游泳池溺水事故的高效準(zhǔn)確的檢測系統(tǒng),提高系統(tǒng)在游泳池復(fù)雜場景下的溺水事故的檢測準(zhǔn)確度。
2、為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提出一種基于rtmdet的泳池溺水檢測方法,包括如下步驟:
3、s1)利用視頻采集設(shè)備采集泳池視頻幀,將視頻幀每隔固定幀數(shù)提取圖像,對圖像進(jìn)行標(biāo)注,得到泳池圖像數(shù)據(jù)集,并將泳池圖像數(shù)據(jù)集分為訓(xùn)練集圖像和驗(yàn)證集圖像,訓(xùn)練集圖像用來訓(xùn)練網(wǎng)絡(luò)模型,驗(yàn)證集圖像用來在訓(xùn)練過程中評估模型效果,調(diào)整模型參數(shù);
4、s2)構(gòu)建異構(gòu)特征提取主干網(wǎng)絡(luò),提取訓(xùn)練集圖像中不同大小和分辨率的多尺度特征;
5、s3)構(gòu)建cfp-fpn多尺度特征金字塔,將s2)中提取的多尺度特征輸入cfp-fpn多尺度特征金字塔進(jìn)行融合,以此來聚合不同分辨率的特征實(shí)現(xiàn)不同尺度目標(biāo)的有效檢測;
6、s4)構(gòu)建tal-aat檢測頭,將s3)中聚合后的特征輸入tal-aat檢測頭,結(jié)合分類分?jǐn)?shù)、最精確邊界框、基于錨框和無錨框來計(jì)算模型的梯度來訓(xùn)練網(wǎng)絡(luò),以此提高模型分類和定位的準(zhǔn)確性;
7、s5)利用訓(xùn)練集圖像和驗(yàn)證集圖像對模型進(jìn)行迭代訓(xùn)練,直到損失函數(shù)收斂,保存訓(xùn)練好的模型;
8、s6)設(shè)置多個攝像頭實(shí)時監(jiān)控游泳池并將視頻傳遞給溺水檢測識別系統(tǒng),系統(tǒng)利用泳池溺水檢測模型輸出檢測結(jié)果,當(dāng)系統(tǒng)檢測到有溺水發(fā)生時會發(fā)出報(bào)警提示,并將檢測的視頻進(jìn)行保存。
9、進(jìn)一步地,上述步驟s2中構(gòu)建異構(gòu)特征提取主干網(wǎng)絡(luò)包括以下步驟
10、s2.1:通過主干網(wǎng)絡(luò)中將卷積核的大小k依次設(shè)置為3、5、7、9來減少小對象有效信息外的干擾信息;
11、s2.2:通過pconv來減少模型計(jì)算量加快模型的推理速度;
12、s2.3:通過simam注意力模塊提高模型對重點(diǎn)特征的關(guān)注度。
13、進(jìn)一步地,上述步驟s3中構(gòu)建cfp-fpn模塊具體包括:
14、s3.1:通過輕量級的mlp來捕獲最深層特征的全局長期依賴關(guān)系xmlp;
15、s3.2:通過可學(xué)習(xí)視覺中心lvc來實(shí)現(xiàn)最深層特征層內(nèi)局部區(qū)域特征的聚合,即xlvc;
16、s3.3:將xmlp和xlvc沿通道維度進(jìn)行拼接。
17、進(jìn)一步地,上述步驟s3.1中捕獲最深層特征的全局長期依賴關(guān)系xmlp,計(jì)算方法如下:
18、s3.1.1:將主干網(wǎng)絡(luò)提取到的最深層特征x5經(jīng)過包含卷積層、歸一化層relu激活函數(shù)的stem塊進(jìn)行特征平滑處理得到特征xin,計(jì)算方法如下:
19、xin=σ(bn(conv7×7(x5)))
20、其中,conv7×7(·)表示stride為1的7×7卷積,bn(·)為批量歸一化層,σ(·)為relu激活函數(shù);
21、s3.1.2:將特征xin經(jīng)過pconv模塊和群組歸一化處理得到中間特征計(jì)算方法如下:
22、
23、其中,gn(·)為群組歸一化,pconv(·)為部分卷積;
24、s3.1.3:將特征經(jīng)由殘差模塊處理后得到全局長期依賴關(guān)系xmlp,計(jì)算方法如下:
25、
26、其中,cmlp(·)為通道m(xù)lp。
27、進(jìn)一步地,上述步驟s3.2中實(shí)現(xiàn)最深層特征層內(nèi)局部區(qū)域特征的聚合,即xlvc,計(jì)算方法如下:
28、s3.2.1:來自stem模塊的xin特征通過一組卷積層進(jìn)行編碼得到整個圖像對于第k個碼字的信息ek,計(jì)算方法如下:
29、
30、其中,代表第i個像素點(diǎn),bk為第k個可學(xué)習(xí)的視覺碼字,sk是第k個縮放因子,是每個像素相對于碼字位置的信息;
31、s3.2.2:將ek經(jīng)過歸一化層、激活層和均值層進(jìn)行處理,得到整個圖像對于k個碼字的信息e,計(jì)算方法如下:
32、
33、其中,φ代表歸一化、激活和平均;
34、s3.2.3:將信息e輸入到全連接層和1×1的卷積來突出關(guān)鍵特征z,計(jì)算方法如下:
35、
36、其中,是通道逐元素相乘,δ(·)是sigmoid函數(shù);
37、s3.2.4:得到xlvc,計(jì)算方法如下:
38、
39、其中,是通道逐元素相加。
40、進(jìn)一步地,上述步驟s4中構(gòu)建tal-aat檢測頭具體包括:
41、s4.1:通過任務(wù)對齊學(xué)習(xí)tal獲得最高的分類分?jǐn)?shù)和最精確的邊界框;
42、s4.2:引入了錨框輔助訓(xùn)練,使其充分結(jié)合基于錨框和無錨框訓(xùn)練模式的優(yōu)點(diǎn)。
43、進(jìn)一步地,上述步驟s4.1中,通過任務(wù)對齊學(xué)習(xí)tal獲得最高的分類分?jǐn)?shù)和最精確的邊界框,計(jì)算方法如下:
44、s4.1.1:使用分類分?jǐn)?shù)和iou的高階組合來測量任務(wù)對齊程度t,計(jì)算方法如下:
45、t=sα×uβ
46、其中,s和u分別表示分類分?jǐn)?shù)和iou值,α和β用于控制對anchor對齊度量的影響;
47、s4.1.2:使用一個歸一化的t來替換正錨點(diǎn)的二元標(biāo)簽,計(jì)算方法如下:
48、
49、其中,i表示對應(yīng)于一個目標(biāo)的正錨點(diǎn)中的第i個錨點(diǎn),表示歸一化的t;
50、s4.1.3:采用焦點(diǎn)損失進(jìn)行分類,分類任務(wù)的最終損失函數(shù)定義如下:
51、
52、其中,j表示負(fù)錨點(diǎn)中的第j個錨,γ為聚焦參數(shù);
53、s4.1.4:回歸任務(wù)的損失函數(shù)定義如下:
54、
55、其中,b和表示預(yù)測的邊界框和相應(yīng)的真實(shí)框;
56、s4.1.5:最終的損失函數(shù)定義如下:
57、lloss=lcls+lreg。
58、進(jìn)一步地,上述步驟s4.2中引入了錨框輔助訓(xùn)練,具體包括:
59、在訓(xùn)練階段,錨輔助分支和無錨分支分別進(jìn)行損失計(jì)算并且同時進(jìn)行梯度傳播,在推理時將輔助頭部移除。
60、本發(fā)明的有益效果如下:
61、1、本發(fā)明在游泳者距離較近、溺水者大部分位于水中等多場景下都可以準(zhǔn)確檢測出游泳者,不會出現(xiàn)漏檢的現(xiàn)象。
62、2、在泳池中具有游泳圈和玩具的環(huán)境下可以很好地將游泳圈和玩具等物品與游泳者進(jìn)行區(qū)分,具有更好的檢測精度和魯棒性。
63、3、當(dāng)識別結(jié)果發(fā)現(xiàn)區(qū)域發(fā)生溺水行為時,系統(tǒng)及時發(fā)出報(bào)警來通知安全員,在提高判別的速度和精度的同時彌補(bǔ)了僅靠安全員來進(jìn)行監(jiān)控的弊端。
64、4、硬件配置較為簡單、成本低廉、操作方便、效果明顯,對減少溺水事件的發(fā)生,保障游泳者的生命安全具有重要的意義。