黎耀華 蟻克瀚 蔡貝貝 陸金燦 肖順梅 謝珩 汪成龍
摘要:鑒于當(dāng)前家庭監(jiān)控主要依賴人力操作,且多數(shù)家庭監(jiān)控系統(tǒng)尚不具備對摔跤行為進行自動識別并觸發(fā)報警的功能,或其識別精度遠未達到實際需求標(biāo)準(zhǔn),本研究提出一種基于人工智能神經(jīng)網(wǎng)絡(luò)的方法,利用YOLOv5(You Only Look Once) 目標(biāo)檢測技術(shù)和OpenCV圖像處理技術(shù),通過Python接口對接PushPlus推送平臺以及SMTP郵件傳輸服務(wù)器,構(gòu)建了一套能夠?qū)崟r檢測、準(zhǔn)確判斷居家老人摔倒情況并即時發(fā)出警報通知的老人居家摔倒警報系統(tǒng)。該系統(tǒng)適用于家庭監(jiān)控場景,可以直接在任何Windows系統(tǒng)云主機上部署運行,利用流媒體服務(wù)器自帶的HTTP接口與本系統(tǒng)無縫結(jié)合。同時,該系統(tǒng)還可搭配Kytera系統(tǒng)的智能手環(huán)和易于佩戴的傳感器設(shè)備,以彌補監(jiān)控盲區(qū)及衛(wèi)生間等私密場所的監(jiān)控缺陷,從而全面滿足看護需求,提升老人居家安全防護水平。實驗結(jié)果顯示,在存在背景干擾的情況下,通過對包含1 000張圖片的數(shù)據(jù)集進行訓(xùn)練,本系統(tǒng)能快速精確地定位運動中的人物,并實現(xiàn)高達96.9%的摔倒識別準(zhǔn)確率,平均精度(MAP) 逼近90%,且系統(tǒng)能在3 500 ms內(nèi)完成響應(yīng)并發(fā)送警報通知,充分證明了本系統(tǒng)的高效可行性和實用性。
關(guān)鍵詞: 人工智能;摔倒實時檢測;警報通信;YOLOv5;Opencv;Python接口對接
中圖分類號:TP311? ? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2024)09-0015-04
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID)
0 引言
據(jù)世界衛(wèi)生組織2021年發(fā)布的報告指出,跌倒是全球意外傷害死亡的第二主因,每年全球約有68.4萬人因跌倒喪生,其中60歲以上的老年人群體遭受致命跌倒的比例尤為突出。因此,對老年人日常生活行為實施有效的追蹤分析,并在發(fā)生摔倒事件時,能立即傳遞求救信息給家人或社區(qū)護理人員,確保老人能夠得到及時救助,顯得至關(guān)重要。當(dāng)前,在家庭環(huán)境下實現(xiàn)對老人的監(jiān)護,普遍采用的解決方案大多是運用攝像頭、傳感器等數(shù)據(jù)采集設(shè)備[1-4]實時監(jiān)測被監(jiān)護對象,從而實現(xiàn)對老人日常行為的跟蹤記錄,并據(jù)此獲取其行為信息。根據(jù)行為的性質(zhì)和信息的可靠性綜合評判,在發(fā)生異常情況時,系統(tǒng)應(yīng)及時發(fā)送報警信息或撥打緊急電話,通知家屬或護理人員,以防止老年人因突發(fā)事故遭受意外傷害。
盡管已有多項摔倒檢測方法被提出,但在實際應(yīng)用中仍面臨不少挑戰(zhàn),如:1) 摔倒行為識別不易通過簡單的前景檢測獲取理想的人體目標(biāo),需要探尋適用的目標(biāo)跟蹤算法進行精細化處理。2) 較高的誤檢率,需要選取適宜的人體特征參數(shù)以降低誤報。3) 許多老年人對佩戴式設(shè)備存在抵觸心理。4) 缺乏系統(tǒng)性的實時監(jiān)控檢測警報機制,需要構(gòu)建包括前端采集、服務(wù)端處理以及客戶端接收的完整系統(tǒng)架構(gòu)。
人工智能(AI) 是一種能模擬人類智能執(zhí)行任務(wù),并能根據(jù)收集的信息進行自我迭代優(yōu)化的系統(tǒng)與機器,能夠自動感知環(huán)境變化并通過內(nèi)在邏輯判斷做出合理反應(yīng),從而最大程度地提高任務(wù)成功率和執(zhí)行效率。此外,AI還能夠不斷從前次經(jīng)驗與現(xiàn)有資源中學(xué)習(xí),優(yōu)化自身性能。當(dāng)下,人工智能發(fā)展的一大主流趨勢是連接主義,即主要通過仿生學(xué)原理模擬神經(jīng)元連接關(guān)系。本文采用的神經(jīng)網(wǎng)絡(luò)技術(shù)即是連接主義的一種體現(xiàn),具體選擇了卷積神經(jīng)網(wǎng)絡(luò)(CNN) [5-6],全稱為Convolutional Neural Network,作為前饋神經(jīng)網(wǎng)絡(luò)的一種,它模仿了神經(jīng)元連接的結(jié)構(gòu)和功能,擁有進行簡單決策和判斷的能力,在圖像處理和語音識別等領(lǐng)域表現(xiàn)出色。
YOLOv5[7-10]是一種先進的目標(biāo)檢測算法,其核心理念是將目標(biāo)檢測任務(wù)轉(zhuǎn)化為回歸問題,通過預(yù)測圖像中邊界框的位置和類別實現(xiàn)目標(biāo)檢測。與傳統(tǒng)的兩階段檢測方法相比,YOLOv5采用單階段檢測方式,從而在速度上更具優(yōu)勢。
基于上述背景,本文提出了一種基于人工智能神經(jīng)網(wǎng)絡(luò)的方法,運用目標(biāo)檢測模型YOLOv5算法[11]及Opencv圖像處理技術(shù),通過Python接口實現(xiàn)消息通知功能,設(shè)計并構(gòu)建一套能夠?qū)崟r檢測居家老人摔倒、判斷摔倒嚴(yán)重程度及發(fā)出警報通信的老人居家摔倒警報系統(tǒng),該系統(tǒng)可在主流媒體云或主機上部署運行,服務(wù)于家庭監(jiān)控場景。該系統(tǒng)能夠在不影響老人正常生活的情況下實時捕捉摔倒行為并通知救援人員,具有極高的實用價值和市場潛力。
1 系統(tǒng)設(shè)計與實現(xiàn)
1.1 總體思路
本系統(tǒng)對老人摔倒檢測過程劃分為3個階段:第一個階段為數(shù)據(jù)集準(zhǔn)備與處理,涉及采集和制作圖像建立數(shù)據(jù)集,并對數(shù)據(jù)集中圖像進行分割為訓(xùn)練集和測試集,同時進行標(biāo)注等預(yù)處理操作;第二個階段為網(wǎng)絡(luò)訓(xùn)練,將預(yù)處理過的圖像作為輸入,通過訓(xùn)練提取出圖像的所有輸出特征,以預(yù)訓(xùn)練權(quán)重初始化主干網(wǎng)絡(luò),經(jīng)過多輪訓(xùn)練以跨越局部最優(yōu)解;第三個階段為檢測與識別,將測試圖像和實時視頻輸入已完成訓(xùn)練的網(wǎng)絡(luò)中進行檢測,得出最終的識別結(jié)果。
1.2 數(shù)據(jù)集構(gòu)建
數(shù)據(jù)集圖像通過從網(wǎng)絡(luò)下載部分摔倒實例圖片,以及自行拍攝制作而成,如圖1所示。
數(shù)據(jù)集遵循YOLO格式,所需內(nèi)容包括輸入圖片和對應(yīng)的標(biāo)簽文件。輸入圖片格式為.jpg,尺寸不限,系統(tǒng)會在訓(xùn)練前自動調(diào)整大小(resize) 。標(biāo)簽文件以.text格式存儲,包含待檢測目標(biāo)的具體信息,每個標(biāo)簽文件與相應(yīng)的輸入圖片文件一一對應(yīng)。筆者選取了1 000張像素較高的圖片組成數(shù)據(jù)集,并按照5:1的比例將其劃分為訓(xùn)練集和測試集。
在識別前對圖像進行必要的預(yù)處理:包括圖像增強、標(biāo)注等步驟。借助Opencv[12]工具對圖像進行翻轉(zhuǎn)、旋轉(zhuǎn)調(diào)整以及添加噪聲等操作,旨在增強模型的魯棒性并提升檢測的準(zhǔn)確性和可信度,以減少誤識別;采用LabelImg軟件對數(shù)據(jù)集中的圖像進行特征區(qū)域標(biāo)注,將標(biāo)注區(qū)域命名為“fall”,以便實現(xiàn)數(shù)據(jù)分類。在同一文件夾下,每張圖像對應(yīng)的.text文件記錄了圖片名稱、存儲路徑、類別、原始尺寸以及標(biāo)注區(qū)域的大小等信息。
1.3 網(wǎng)絡(luò)訓(xùn)練
YOLOv5官方提供的代碼中共有4個版本的檢測網(wǎng)絡(luò),分別是YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,YOLOv5各個版本在 COCO 數(shù)據(jù)集中的性能對比如表1所示。
如表1所示,這些版本在網(wǎng)絡(luò)深度和特征圖寬度上有所不同,YOLOv5s 是其中深度和寬度最小的網(wǎng)絡(luò),其他版本在其基礎(chǔ)上增加了網(wǎng)絡(luò)深度和寬度。
本系統(tǒng)選用YOLOv5s網(wǎng)絡(luò)進行訓(xùn)練,其網(wǎng)絡(luò)性能指標(biāo)如表1所示。在訓(xùn)練過程中,為了縮短訓(xùn)練周期并獲得更好的精度,需要加載預(yù)訓(xùn)練權(quán)重啟動網(wǎng)絡(luò)訓(xùn)練。Focus模塊、BottleneckCSP(跨階段局部網(wǎng)絡(luò))以及SSP(空間金字塔池化)擴展了感受野,有助于提取最重要的上下文特征,而FPN+PAN(路徑聚合網(wǎng)絡(luò))則能有效聚合不同層級的特征參數(shù),適應(yīng)不同尺度的目標(biāo)檢測。
預(yù)訓(xùn)練權(quán)重的大小對訓(xùn)練結(jié)果的精度有很大影響,多輪訓(xùn)練有助于跳過局部最優(yōu)權(quán)重。實驗中分別采用了Adam優(yōu)化器和SGD優(yōu)化器,結(jié)果顯示Adam優(yōu)化器在收斂速度上更快。此外,系統(tǒng)引入了Mish激活函數(shù)和Mosaic數(shù)據(jù)增強策略,從而進一步提高了YOLO模型的準(zhǔn)確率和普適性。
根據(jù)實驗數(shù)據(jù)和硬件環(huán)境配置,筆者設(shè)置了相關(guān)的訓(xùn)練參數(shù),模型總訓(xùn)練代數(shù)(Epochs) 設(shè)為300步。為了在訓(xùn)練初期快速逼近較優(yōu)解,筆者采用學(xué)習(xí)率遞減策略,初始學(xué)習(xí)率設(shè)定為0.01,隨著訓(xùn)練次數(shù)的增加,學(xué)習(xí)率逐漸減小,同時損失率(Loss) 也隨之逐步減小。具體的實驗參數(shù)設(shè)置如表2所示。
1.4 檢測識別
在圖像測試階段,識別框用于對目標(biāo)物體進行定位,方框旁邊的“fall”字樣標(biāo)識出圖像識別的結(jié)果,而百分比數(shù)值則是判斷該類別的概率,即可信度(Confidence) ,如圖2所示。
在實時監(jiān)控畫面中,當(dāng)系統(tǒng)檢測到老人的姿態(tài)為“fall”時,將初步判定老人可能發(fā)生了摔倒,并啟動7秒倒計時。若老人在7秒內(nèi)未能起身,則判斷老人確實發(fā)生了摔倒;反之,若老人在7秒內(nèi)恢復(fù)站立姿勢且后續(xù)不再檢測到“fall”狀態(tài),則排除摔倒的可能性。
1.5 警報通信
系統(tǒng)提供了三種警報通信方式供用戶選擇,包括微信私聊通知、微信公眾號通知以及電子郵件通知。無論哪種方式,都能確保在檢測到老人摔倒后立即向用戶發(fā)送消息通知,并附帶當(dāng)前監(jiān)控截圖,以防止老人在摔倒后因暈厥或其他原因?qū)е碌臒o人察覺,延誤搶救時機。
1.6 人機交互界面設(shè)計
PyQt5是Python中廣泛使用的第三方圖形用戶界面庫,功能強大,支持多種控件,既可用于頁面設(shè)計,也可用于實現(xiàn)頁面中各控件功能。本系統(tǒng)利用PyQt5庫設(shè)計了登錄界面和檢測界面,方便用戶在檢測圖片、檢測視頻以及實時檢測三種模式之間切換。
檢測界面具備檢測圖片、視頻、連接攝像頭、保存識別結(jié)果以及發(fā)送消息等功能,如圖3所示。點擊“選擇圖片”“選擇視頻”按鈕將打開文件夾對話框,點擊“攝像頭”按鈕則會彈出手機或電腦攝像頭連接界面,點擊“輸出結(jié)果”按鈕將展示識別后的圖片、視頻輸出目錄,點擊“消息發(fā)送”按鈕,則能在檢測到老人摔倒后將相關(guān)消息連同現(xiàn)場圖片即時發(fā)送至家人微信賬號。
2 結(jié)果分析
2.1 性能評估
基于模型訓(xùn)練,筆者對數(shù)據(jù)集中測試圖像進行了驗證,以精確率(Precision) 、召回率(Recall) 以及平均精度(mean average precision,簡稱MAP[13]) 作為關(guān)鍵評價指標(biāo),來評估模型訓(xùn)練及其預(yù)測效果的質(zhì)量。
精確率反映了模型檢出結(jié)果中真正正樣本的比例,即被判定為正樣本的數(shù)據(jù)中有多少確實是正樣本。召回率則衡量了數(shù)據(jù)集中所有真實正樣本被模型成功識別的比例。精確率和召回率的數(shù)學(xué)表達式分別為:
[precision=tptp+fp]? ?(1)
[recall=tptp+fn]? ?(2)
式中:tp為將正樣本預(yù)測為正的個數(shù);fp為將負(fù)樣本預(yù)測為正的個數(shù);fn為將正樣本預(yù)測為負(fù)的個數(shù)。
而對于多類別檢測任務(wù)的精度評估,筆者采用平均精度均值(MAP) ,它是通過對所有類別檢測精度取平均值得到的綜合評價指標(biāo)。MAP的計算依賴于精度(Precision)和召回率(Recall)兩個維度的考量,其表達式為:
[MAP=01p(r)dr]? ?(3)
式中,p(r)是以召回率 ( r) 為橫坐標(biāo),以精度 ( p) 為縱坐標(biāo)繪制出的曲線下的積分,它代表了單個類別的平均精度。在多類別情況下,通過對所有類別的 p(r) 分別積分后再取平均,便得到了整個數(shù)據(jù)集的平均精度均值(MAP) 。
2.2 檢測結(jié)果分析
筆者通過實驗結(jié)果推測該方案的可行性,并檢驗其實驗結(jié)果是否符合理論預(yù)期。實驗選用包含1 000張圖像的數(shù)據(jù)集進行訓(xùn)練,旨在探查在存在背景干擾的情況下,系統(tǒng)能否快速而精準(zhǔn)地定位運動中的目標(biāo)。隨著訓(xùn)練輪數(shù)的不斷增加,訓(xùn)練集的定位損失及置信度損失逐步下降,特別是在前200輪訓(xùn)練期間,這兩項損失下降顯著,之后在200~300輪時損失下降速度相對放緩,最終分別穩(wěn)定在大約0.01和0.002的水平;而驗證集定位損失在前100輪訓(xùn)練中下降較快,隨后在200輪后趨于穩(wěn)定,穩(wěn)定值分別在0.018和0.004左右。這表明模型已經(jīng)找到了一種能夠使得檢測框與實際框保持緊密匹配的映射關(guān)系,檢測結(jié)果的具體表現(xiàn)如圖4所示。
與此同時,隨著訓(xùn)練世代步數(shù)(Epochs) 的增長,系統(tǒng)的可信度(Confidence) 維持在約96%的水平,摔倒識別準(zhǔn)確率(Precision) 已達到96.9%,并且平均精度均值(MAP) 逼近90%,這些數(shù)據(jù)充分體現(xiàn)了本系統(tǒng)高度的可行性。
通過表3列舉的在部分世代步數(shù)(Epochs) 疊加后的數(shù)據(jù)顯示,通過增大訓(xùn)練數(shù)據(jù)集,具有將準(zhǔn)確率提升至98%的可能性。
2.3 通信響應(yīng)性能
報警通信采用了三種途徑,均表現(xiàn)出極高的靈敏度。整體通信時間能夠控制在3 500 ms以內(nèi),最短的響應(yīng)警報通信時間可達427 ms,且在測試過程中未發(fā)現(xiàn)漏傳問題。這意味著一旦系統(tǒng)檢測到老人發(fā)生嚴(yán)重摔倒事件,能夠在短時間內(nèi)將消息通知以及當(dāng)前監(jiān)控截圖及時發(fā)送給用戶,便于用戶查看并作出相應(yīng)決策。具體的通信響應(yīng)速度測試結(jié)果如表4所示。
3 結(jié)論
本文依托人工智能神經(jīng)網(wǎng)絡(luò)技術(shù),成功構(gòu)建了一套運用目標(biāo)檢測模型YOLOv5算法實現(xiàn)老人摔倒檢測的應(yīng)用方案[5],結(jié)合OpenCV圖像處理技術(shù)[12],并通過Python接口連接pushplus推送平臺和SMTP郵件傳輸服務(wù)器實現(xiàn)消息預(yù)警通知功能。該系統(tǒng)在實際應(yīng)用中,摔倒識別的可信度(Confidence) 能穩(wěn)定保持在96%左右,準(zhǔn)確率(Precision) 高達96.9%,平均精度均值(MAP) 接近90%;并且總通信時間可控制在3 500 ms之內(nèi),確保無漏傳現(xiàn)象發(fā)生。此外,筆者還自主設(shè)計了交互界面,并將其部署在流媒體服務(wù)端,以便對實時視頻流進行檢測、存儲和管理,并及時將警報信息發(fā)送至客戶終端。
參考文獻:
[1] STONE E,SKUBIC M.Evaluation of an inexpensive depth camera for in-home gait assessment[J].Journal of Ambient Intelligence and Smart Environments,2011,3(4):349-361.
[2] ROUGIER C,MEUNIER J,ST-ARNAUD A,et al.Fall detection from human shape and motion history using video surveillance[C]//21st International Conference on Advanced Information Networking and Applications Workshops (AINAW'07).May 21-23,2007.Niagara Falls,ON,Canada.IEEE,2007:875-880.
[3] ROUGIER C,MEUNIER J,ST-ARNAUD A,et al.Monocular 3D head tracking to detect falls of elderly people[C]//2006 International Conference of the IEEE Engineering in Medicine and Biology Society.August 30-September 3,2006.New York,NY.IEEE,2006:6384-6387.
[4] ROUGIER C, MEUNIER J. Demo: Fall detection using 3D head trajectory extracted from a single camera video sequence[J]. Journal of Telemedicine and Telecare, 2005, 11(4): 37-42.
[5] LECUN Y,BOTTOU L,BENGIO Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[6] GU J X,WANG Z H,KUEN J,et al.Recent advances in convolutional neural networks[J].Pattern Recognition,2018(77):354-377.
[7] JOSEPH Redmon,ALI Farhadi.Yolov3:An Incremental Im-provement[C]//IEEE Conference on Computer Vision and Pat ternRecognition,2018:89.
[8] DU Y C,PAN N,XU Z H,et al.Pavement distress detection and classification based on YOLO network[J].International Journal of Pavement Engineering,2021,22(13):1659-1672.
[9] SHI P F,JIANG Q G,SHI C,et al.Oil well detection via large-scale and high-resolution remote sensing images based on improved YOLO v4[J].Remote Sensing,2021,13(16):3243.
[10] LEE J,HWANG K I.YOLO with adaptive frame control for real-time object detection applications[J].Multimedia Tools and Applications,2022,81(25):36375-36396.
[11] 周洪成,楊娟,徐志國.基于YOLOv5算法的人體跌倒檢測系統(tǒng)設(shè)計[J].金陵科技學(xué)院學(xué)報,2022,38(2):22-29.
[12] 關(guān)于OpenCV.opencv官方.2020-01-05.
[13] CHATZICHRISTOFIS S A,IAKOVIDOU C,BOUTALIS Y S,et al.Mean Normalized Retrieval Order (MNRO):a new content-based image retrieval performance measure[J].Multimedia Tools and Applications,2014,70(3):1767-1798.
【通聯(lián)編輯:唐一東】