摘 要:本文設(shè)計(jì)并實(shí)現(xiàn)了一套基于優(yōu)化后的YOLOv5算法的老年人跌倒行為檢測(cè)與監(jiān)測(cè)系統(tǒng)。采用深度學(xué)習(xí)技術(shù)和實(shí)時(shí)視頻流處理,系統(tǒng)能夠高效、準(zhǔn)確地監(jiān)測(cè)和識(shí)別老年人的跌倒行為,以提升其安全保障水平。優(yōu)化后的算法在保持高檢測(cè)率(97.08%)的同時(shí),顯著降低了錯(cuò)誤檢測(cè)率(僅為0.8%),并表現(xiàn)出優(yōu)異的區(qū)分能力,有效減少了誤報(bào)。該系統(tǒng)的設(shè)計(jì)不僅在試驗(yàn)中取得了顯著成果,還在老年人健康管理中具有潛在應(yīng)用價(jià)值。
關(guān)鍵詞:老年人跌倒檢測(cè);YOLOv5算法優(yōu)化;深度學(xué)習(xí);實(shí)時(shí)視頻處理;安全監(jiān)測(cè)系統(tǒng)
中圖分類號(hào):TP 391 " " " " 文獻(xiàn)標(biāo)志碼:A
老年人跌倒是導(dǎo)致傷害和死亡的常見原因,特別是在家庭和養(yǎng)老院等環(huán)境中,因此,及時(shí)檢測(cè)和響應(yīng)老年人的跌倒行為,對(duì)預(yù)防事故后果具有重要意義。深度學(xué)習(xí)技術(shù)在計(jì)算機(jī)視覺領(lǐng)域的快速發(fā)展為解決該問題提供了新的可能性。YOLOv5是一種先進(jìn)的目標(biāo)檢測(cè)算法,具有高效的實(shí)時(shí)性能和精準(zhǔn)的檢測(cè)能力,在多個(gè)應(yīng)用領(lǐng)域受到廣泛關(guān)注。本文旨在利用優(yōu)化和定制化YOLOv5算法,設(shè)計(jì)一套專門用于老年人跌倒行為檢測(cè)與監(jiān)測(cè)的系統(tǒng)。優(yōu)化后的算法將結(jié)合實(shí)時(shí)視頻流處理和高精度目標(biāo)識(shí)別,在各種環(huán)境條件下穩(wěn)定運(yùn)行,并準(zhǔn)確識(shí)別跌倒事件。利用本系統(tǒng)可以提升老年人的安全保障水平,及時(shí)發(fā)現(xiàn)跌倒并采取緊急救援措施,從而降低跌倒帶來(lái)的風(fēng)險(xiǎn)和損害。
1 系統(tǒng)設(shè)計(jì)與實(shí)施
1.1 需求分析
在設(shè)計(jì)和實(shí)現(xiàn)基于優(yōu)化YOLOv5算法的老年人跌倒行為檢測(cè)與監(jiān)測(cè)系統(tǒng)過(guò)程中,需要滿足以下2個(gè)方面的需求。
1.1.1 系統(tǒng)功能需求
系統(tǒng)功能需求是老年人跌倒行為檢測(cè)與監(jiān)測(cè)系統(tǒng)設(shè)計(jì)的核心要素。首先,系統(tǒng)需要精確識(shí)別老年人的跌倒行為,包括準(zhǔn)確識(shí)別站立、彎腰和躺倒等多種狀態(tài)。這種能力基于優(yōu)化后的YOLOv5算法,采用深度學(xué)習(xí)技術(shù)對(duì)人體姿態(tài)變化進(jìn)行高效監(jiān)測(cè)[1]。其次,系統(tǒng)需要具備實(shí)時(shí)處理能力,能夠在視頻流中連續(xù)監(jiān)測(cè)并分析老年人的動(dòng)作變化,以保證對(duì)跌倒事件進(jìn)行即時(shí)響應(yīng)[2]。最重要的是,一旦系統(tǒng)檢測(cè)到老年人發(fā)生跌倒行為,能夠立即觸發(fā)警報(bào)或通知相關(guān)人員進(jìn)行緊急處理,從而有效提升老年人的安全保障水平。
1.1.2 性能需求
系統(tǒng)的性能需求對(duì)老年人跌倒行為檢測(cè)與監(jiān)測(cè)系統(tǒng)至關(guān)重要。系統(tǒng)需要具備高準(zhǔn)確性,保證能夠準(zhǔn)確識(shí)別老年人的跌倒行為,并能有效區(qū)分跌倒與其他日?;顒?dòng)[3]。此外,系統(tǒng)必須具有低延遲的特性,以保證跌倒事件發(fā)生后能夠迅速做出反應(yīng),觸發(fā)警報(bào)或通知相關(guān)人員及時(shí)處理。同時(shí),系統(tǒng)應(yīng)具備實(shí)時(shí)處理能力,能夠在實(shí)時(shí)視頻流中連續(xù)監(jiān)測(cè)和識(shí)別跌倒行為,保證監(jiān)測(cè)的即時(shí)性和連續(xù)性,以提高老年人的安全保障水平。
1.1.3 環(huán)境需求
在設(shè)計(jì)基于優(yōu)化YOLOv5算法的老年人跌倒行為檢測(cè)與監(jiān)測(cè)系統(tǒng)過(guò)程中,需要保證系統(tǒng)在不同環(huán)境條件下的穩(wěn)定性和可靠性。1) 光照條件。系統(tǒng)必須在各種光照條件下穩(wěn)定運(yùn)行,包括明亮、昏暗的環(huán)境和光線變化大的場(chǎng)景。系統(tǒng)應(yīng)能利用優(yōu)化YOLOv5算法,結(jié)合圖像增強(qiáng)和自動(dòng)曝光控制技術(shù),準(zhǔn)確識(shí)別老年人的跌倒行為,并在光線突然變化情況下迅速適應(yīng)環(huán)境,避免誤檢和漏檢。2) 復(fù)雜背景與攝像頭配置。系統(tǒng)需要處理復(fù)雜背景中的干擾因素,例如家具、家電和其他人員活動(dòng)。深度學(xué)習(xí)模型應(yīng)針對(duì)常見背景干擾進(jìn)行訓(xùn)練,保證能夠準(zhǔn)確檢測(cè)跌倒行為。同時(shí),系統(tǒng)還需要適應(yīng)不同攝像頭的安裝位置和角度,利用多視角融合技術(shù)提升檢測(cè)的準(zhǔn)確性。
1.2 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)采用優(yōu)化后的YOLOv5算法的架構(gòu),對(duì)跌倒行為進(jìn)行高效檢測(cè)。整體架構(gòu)包括以下4個(gè)關(guān)鍵組成部分。1) 數(shù)據(jù)采集模塊。該模塊能夠從攝像頭獲取實(shí)時(shí)視頻流數(shù)據(jù)。2) 數(shù)據(jù)預(yù)處理模塊。該模塊能夠?qū)Σ杉囊曨l流進(jìn)行預(yù)處理,包括調(diào)整圖像大小、歸一化像素值等,以便于后續(xù)的算法處理。3) YOLOv5模型集成。整合優(yōu)化后的YOLOv5模型包括模型的加載、推理過(guò)程和結(jié)果輸出。4) 警報(bào)觸發(fā)與通知模塊。當(dāng)檢測(cè)到老年人跌倒行為時(shí),觸發(fā)警報(bào)或通知相關(guān)人員及時(shí)處理。
1.3 詳細(xì)設(shè)計(jì)
1.3.1 數(shù)據(jù)預(yù)處理與OpenCV集成
在處理實(shí)時(shí)視頻流過(guò)程中,數(shù)據(jù)預(yù)處理在老年人跌倒行為檢測(cè)系統(tǒng)中具有關(guān)鍵作用。數(shù)據(jù)預(yù)處理階段包括調(diào)整圖像和歸一化2個(gè)主要步驟。調(diào)整圖像包括調(diào)整圖像大小、裁剪或填充圖像,以適應(yīng)模型的輸入要求。
YOLOv5模型對(duì)輸入圖像的尺寸和格式有特定要求,需要保證每個(gè)輸入圖像具有相同的尺寸和像素值范圍,以便模型能夠正確地進(jìn)行檢測(cè)和分類。首先,在OpenCV中,可以使用resize函數(shù)來(lái)調(diào)整圖像大小。其次,歸一化是另一個(gè)重要步驟,它將圖像的像素值映射到一個(gè)固定的范圍內(nèi),通常為[0,1]或[-1,1]。這種歸一化可以提高模型的訓(xùn)練速度和穩(wěn)定性,并減少數(shù)據(jù)偏差對(duì)模型性能的影響。在實(shí)時(shí)視頻流處理過(guò)程中,OpenCV是一個(gè)開源的計(jì)算機(jī)視覺庫(kù),它具有豐富的圖像處理功能和視頻處理能力,可以從攝像頭或視頻文件中輕松地獲取實(shí)時(shí)視頻流,并快速、有效地處理每一幀圖像。此外,OpenCV還支持硬件加速和多線程處理,對(duì)實(shí)時(shí)視頻流的高效處理至關(guān)重要。它能夠利用現(xiàn)代計(jì)算硬件(例如GPU)來(lái)加速圖像處理和算法推理過(guò)程,從而提高系統(tǒng)對(duì)實(shí)時(shí)視頻流的即時(shí)響應(yīng)和高效處理能力。OpenCV集成代碼如下所示。
import cv2
# 打開攝像頭(0為默認(rèn)攝像頭)
cap = cv2.VideoCapture(0)
while True:
# 讀取視頻流幀
ret, frame = cap.read()
if ret:
# 調(diào)整圖像大小
target_size = (640, 480)
resized_frame = cv2.resize(frame, target_size)
# 灰度化和歸一化處理
gray_frame = cv2.cvtColor(resized_frame, cv2.COLOR_BGR2GRAY)
normalized_frame = gray_frame / 255.0
# 在這里可以將normalized_frame送入YOLOv5模型進(jìn)行跌倒行為檢測(cè)
# 顯示處理后的圖像
cv2.imshow('Processed Frame', normalized_frame)
# 按下 'q' 鍵退出循環(huán)
if cv2.waitKey(1) amp; 0xFF == ord('q'):
break
# 釋放攝像頭并關(guān)閉所有窗口
cap.release()
cv2.destroyAllWindows()
采用以上方法,并利用OpenCV的功能對(duì)實(shí)時(shí)視頻流進(jìn)行預(yù)處理,使其適用于后續(xù)的跌倒行為檢測(cè)任務(wù)。這種集成能夠保證系統(tǒng)在各種光照條件和復(fù)雜背景下都能穩(wěn)定運(yùn)行。
1.3.2 YOLOv5算法設(shè)計(jì)與優(yōu)化
1.3.2.1 YOLOv5架構(gòu)
YOLO(You Only Look Once)算法是一種實(shí)時(shí)目標(biāo)檢測(cè)算法,其核心思想是將目標(biāo)檢測(cè)任務(wù)視為一個(gè)回歸問題,利用單次前向傳播來(lái)直接預(yù)測(cè)目標(biāo)的位置和類別。YOLOv5是YOLO系列中的最新版本,在之前的版本基礎(chǔ)上進(jìn)行了顯著改進(jìn)和優(yōu)化。YOLOv5的關(guān)鍵點(diǎn)可以描述如下。
對(duì)于給定的圖像I,YOLOv5算法利用神經(jīng)網(wǎng)絡(luò)生成多個(gè)預(yù)測(cè)框,即B={b1,b2,...bN},其中N為預(yù)測(cè)框的總數(shù)。每個(gè)預(yù)測(cè)框b可以表示為公式(1)。
b=(bx,by,bw,bh,Conf,P(class|object)) " " " " " (1)
式中:bx、by分別為預(yù)測(cè)框b的中心點(diǎn)在網(wǎng)格單元(i,j)內(nèi)的偏移;bw、bh分別為預(yù)測(cè)框b的寬度和高度;Conf為預(yù)測(cè)框b內(nèi)物體的置信度;P(class|object)為預(yù)測(cè)框b內(nèi)物體所屬類別的概率分布。
公式(1)描述了YOLOv5算法如何通過(guò)神經(jīng)網(wǎng)絡(luò)輸出預(yù)測(cè)框,并利用優(yōu)化損失函數(shù),使這些預(yù)測(cè)框盡可能地準(zhǔn)確定位并圖像中的物體進(jìn)行分類。
1.3.2.2 YOLOv5算法優(yōu)化
在YOLOv5中,無(wú)錨設(shè)計(jì)和多尺度檢測(cè)技術(shù)是關(guān)鍵優(yōu)化點(diǎn),旨在提高目標(biāo)檢測(cè)的精度和速度。1) 無(wú)錨設(shè)計(jì)。YOLOv5放棄了傳統(tǒng)目標(biāo)檢測(cè)算法中的錨框方法,采用無(wú)錨設(shè)計(jì)的方式進(jìn)行物體檢測(cè)。具體來(lái)說(shuō),YOLOv5使用自適應(yīng)的格子預(yù)測(cè)框,每個(gè)圖像被劃分為S×S個(gè)網(wǎng)格單元,每個(gè)網(wǎng)格單元能夠預(yù)測(cè)其內(nèi)部的物體。這些預(yù)測(cè)框的位置和大小不再基于手動(dòng)設(shè)計(jì)的錨框,而是利用神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)物體中心點(diǎn)的偏移量和物體的尺寸。對(duì)于每個(gè)網(wǎng)格單元,YOLOv5預(yù)測(cè)物體的中心點(diǎn)相對(duì)于網(wǎng)格左上角的偏移量bx、by。這種方式不需要預(yù)先定義和調(diào)整多個(gè)錨框,不僅簡(jiǎn)化了設(shè)計(jì),而且減少了計(jì)算復(fù)雜性。預(yù)測(cè)框的寬度bw、bh直接由網(wǎng)絡(luò)輸出,代表物體的尺寸信息。這些預(yù)測(cè)框不僅可以適應(yīng)不同大小的物體,還能在單一的網(wǎng)絡(luò)結(jié)構(gòu)下統(tǒng)一處理各種尺度的物體。2) 多尺度檢測(cè)。為了提高對(duì)不同大小物體的檢測(cè)能力和適應(yīng)性,YOLOv5引入了多尺度檢測(cè)技術(shù)。YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)包括多個(gè)特征提取層,每個(gè)層次可產(chǎn)生不同分辨率的特征圖。低層特征圖可以捕獲更精細(xì)的細(xì)節(jié),高層特征圖則具有更廣泛的語(yǔ)義信息。利用這種層級(jí)結(jié)構(gòu),YOLOv5能夠同時(shí)處理不同尺度的物體。在檢測(cè)階段,YOLOv5綜合利用不同層次的特征圖進(jìn)行目標(biāo)檢測(cè)。每個(gè)預(yù)測(cè)框都可以從多個(gè)特征層次中獲取信息,以提高對(duì)物體的定位精度和類別預(yù)測(cè)準(zhǔn)確性。YOLOv5還引入了自適應(yīng)的多尺度訓(xùn)練(Adaptive Multi-scale Training),在訓(xùn)練過(guò)程中動(dòng)態(tài)調(diào)整輸入圖像的分辨率,從而使模型能夠更好地適應(yīng)不同尺度物體的檢測(cè)需求。
1.3.3 數(shù)據(jù)集準(zhǔn)備與標(biāo)注
1.3.3.1 數(shù)據(jù)集描述:Fall-Down-Det-v1數(shù)據(jù)集
Fall-Down-Det-v1數(shù)據(jù)集是用于檢測(cè)和監(jiān)測(cè)老年人摔倒行為的數(shù)據(jù)集。該數(shù)據(jù)集包括摔倒和非摔倒場(chǎng)景的視頻和圖像數(shù)據(jù),用于訓(xùn)練和評(píng)估摔倒檢測(cè)算法的性能。
1.3.3.2 數(shù)據(jù)集劃分與標(biāo)注格式
數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集。訓(xùn)練集用于訓(xùn)練摔倒檢測(cè)模型,通常包括大量的摔倒和非摔倒場(chǎng)景的圖像或視頻。測(cè)試集用于評(píng)估模型在新數(shù)據(jù)上的泛化能力和性能。測(cè)試集與訓(xùn)練集具有相似的數(shù)據(jù)分布,但是數(shù)據(jù)不會(huì)重疊。
1.3.4 實(shí)時(shí)監(jiān)測(cè)與警報(bào)系統(tǒng)集成
1.3.4.1 實(shí)時(shí)推理與結(jié)果處理
接收視頻流或圖像后,實(shí)時(shí)監(jiān)測(cè)系統(tǒng)會(huì)進(jìn)行以下處理。首先,對(duì)輸入圖像進(jìn)行預(yù)處理,包括大小調(diào)整和歸一化,以適應(yīng)模型的輸入要求。其次,將預(yù)處理后的圖像輸入摔倒檢測(cè)模型中進(jìn)行推理,得到每個(gè)檢測(cè)框的位置、類別和置信度等信息。最后,根據(jù)模型輸出結(jié)果進(jìn)行后處理,例如濾除低置信度的檢測(cè)框、合并重疊的檢測(cè)框,以保證檢測(cè)結(jié)果的準(zhǔn)確性和可靠性。這一系列步驟保證系統(tǒng)能夠?qū)崟r(shí)、準(zhǔn)確地監(jiān)測(cè)和檢測(cè)摔倒行為。
1.3.4.2 警報(bào)觸發(fā)機(jī)制與系統(tǒng)響應(yīng)時(shí)間優(yōu)化
為了實(shí)現(xiàn)及時(shí)報(bào)警和系統(tǒng)快速響應(yīng),采用以下3個(gè)策略。1) 設(shè)定一個(gè)置信度閾值,只有置信度高于該閾值的檢測(cè)框才會(huì)觸發(fā)警報(bào),從而減少誤報(bào)。2) 當(dāng)檢測(cè)到摔倒行為時(shí),系統(tǒng)應(yīng)立即生成警報(bào),通過(guò)多種方式通知相關(guān)人員或系統(tǒng),例如短信、電子郵件或觸發(fā)警報(bào)聲。此外,采用實(shí)時(shí)通信技術(shù)(例如WebSocket),將警報(bào)信息即時(shí)推送到監(jiān)控系統(tǒng)或手機(jī)應(yīng)用,保證相關(guān)人員能夠及時(shí)收到警報(bào)。3) 采用輕量化模型或模型優(yōu)化技術(shù)(例如量化和剪枝),并利用硬件加速(例如GPU、TPU)優(yōu)化模型推理和警報(bào)生成的流程,減少推理時(shí)間,保證系統(tǒng)能夠在短時(shí)間內(nèi)響應(yīng)摔倒事件。
2 性能評(píng)估與分析
在試驗(yàn)過(guò)程中,首先,本文在室內(nèi)走廊拍攝了多段模擬老年人摔倒的真實(shí)視頻,將其作為測(cè)試數(shù)據(jù),輸入摔倒檢測(cè)系統(tǒng)文件夾中。其次,打開系統(tǒng)服務(wù)器后臺(tái)界面,系統(tǒng)讀取真實(shí)視頻并進(jìn)行自動(dòng)仿真識(shí)別,即將視頻數(shù)據(jù)實(shí)時(shí)輸入摔倒檢測(cè)算法中,由算法對(duì)每一幀圖像進(jìn)行處理和分析,識(shí)別潛在的摔倒事件。最后,仿真結(jié)束后,系統(tǒng)后臺(tái)展示了處理后的視頻,從中能夠清晰地看到,摔倒瞬間被準(zhǔn)確識(shí)別,檢測(cè)算法用紅色框標(biāo)注摔倒事件,并向系統(tǒng)服務(wù)器后臺(tái)發(fā)送報(bào)警信號(hào),提示有人員摔倒,需要救助。系統(tǒng)模擬檢測(cè)結(jié)果如圖1所示。
經(jīng)過(guò)大量試驗(yàn)后,所得試驗(yàn)統(tǒng)計(jì)數(shù)據(jù)見表1。
試驗(yàn)結(jié)果表明,系統(tǒng)跌倒檢測(cè)率為97.08%,表明系統(tǒng)在真實(shí)環(huán)境中具有較高的檢測(cè)準(zhǔn)確性,錯(cuò)誤檢測(cè)率僅為0.8%,在區(qū)分相似日?;顒?dòng)方面表現(xiàn)優(yōu)越,極大減少了誤報(bào)情況,提高了系統(tǒng)的可靠性。
3 結(jié)論
本文基于優(yōu)化后的YOLOv5算法,設(shè)計(jì)了一種專門用于老年人跌倒行為檢測(cè)與監(jiān)測(cè)的系統(tǒng)。通過(guò)系統(tǒng)的設(shè)計(jì)與實(shí)施,本文成功解決了老年人跌倒帶來(lái)的安全隱患問題。優(yōu)化后的算法結(jié)合實(shí)時(shí)視頻流處理和高精度目標(biāo)識(shí)別,能夠?qū)Φ剐袨檫M(jìn)行高效監(jiān)測(cè)和準(zhǔn)確識(shí)別。試驗(yàn)結(jié)果表明,系統(tǒng)的跌倒檢測(cè)率為97.08%,錯(cuò)誤檢測(cè)率僅為0.8%,并且在區(qū)分相似日?;顒?dòng)方面表現(xiàn)優(yōu)越,有效減少了誤報(bào),具有在實(shí)際應(yīng)用中廣泛推廣的潛力。這些特點(diǎn)使本系統(tǒng)在老年人健康管理和安全保障方面具有重要意義,為社會(huì)提供了一種有效的、應(yīng)對(duì)老齡化社會(huì)問題的技術(shù)解決方案。
參考文獻(xiàn)
[1]代菁菁,胡立夫,陳大越.一種適老化跌倒檢測(cè)預(yù)警系統(tǒng)設(shè)計(jì)[J].電子制作,2024,32(9):20-23.
[2]王寧.基于STM32的老人跌倒監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].銀川:北方民族大學(xué),2024.
[3]劉子琪,王芳,曾顯,等.基于物聯(lián)網(wǎng)的社區(qū)智慧養(yǎng)老系統(tǒng)設(shè)計(jì)[J].工業(yè)儀表與自動(dòng)化裝置,2024(1):34-37,46.
通信作者:陳丹丹(1990—),女,江蘇南通市人,碩士,講師,研究方向?yàn)樾畔⑾到y(tǒng)。
電子郵箱:339472751@qq.com。