解鎖實(shí)時跌倒檢測Jetson Nano與定制的YOLOv8
1. 概述
跌倒是一個重大問題,特別是對老年人和有疾病的人來說,因?yàn)樗鼈兛赡軐?dǎo)致嚴(yán)重傷害甚至死亡。墜落探測系統(tǒng)旨在迅速識別此類事件,確保及時提供援助并減少造成嚴(yán)重后果的風(fēng)險(xiǎn)。隨著人工智能和機(jī)器學(xué)習(xí)的進(jìn)步,跌倒檢測變得更加準(zhǔn)確和可靠。
在我之前的博客中,“開始使用Jetson Nano開發(fā)工具包”和“在Jetson Nano 4GB上運(yùn)行YOLOv12:綜合指南”,我們探索了設(shè)置Jetson Nano和運(yùn)行YOLOv12模型進(jìn)行對象檢測的基礎(chǔ)知識。在此基礎(chǔ)上,我們現(xiàn)在將深入定制YOLOv8,專門用于Jetson Nano上的跌倒檢測。
YOLOv8(你只看一次,版本8)。是一種最先進(jìn)的物體檢測模型,以其速度和準(zhǔn)確性而聞名。它能夠快速準(zhǔn)確地實(shí)時識別物體,使其成為跌倒檢測應(yīng)用的理想選擇。通過定制YOLOv8,我們可以訓(xùn)練模型專門識別墜落事件,提高其檢測和響應(yīng)此類事件的有效性。
Jetson Nano是NVIDIA開發(fā)的一款功能強(qiáng)大但價(jià)格實(shí)惠的邊緣人工智能平臺,是部署基于yolov8的跌倒檢測系統(tǒng)的絕佳選擇。其緊湊的尺寸、低功耗和強(qiáng)大的GPU功能使其非常適合在邊緣運(yùn)行復(fù)雜的人工智能模型。這種組合可以實(shí)現(xiàn)實(shí)時跌倒檢測和即時警報(bào),確保及時援助并提高各種環(huán)境中的安全性。
在這篇博文中,我們將探索為跌倒檢測定制YOLOv8并將其部署在Jetson Nano上的過程,為構(gòu)建一個有效和高效的跌倒檢測系統(tǒng)提供全面的指導(dǎo)。
2.準(zhǔn)備數(shù)據(jù)集
在本教程中,我們使用Roboflow數(shù)據(jù)集,如圖所示。
下載具有所需格式的數(shù)據(jù)集,如下圖所示。
該數(shù)據(jù)集組織良好,包括以JSON格式注釋的圖像,分為三類:訓(xùn)練、測試和有效。它具有三個類(站立,跌倒和跌倒),這對于訓(xùn)練跌倒檢測模型至關(guān)重要。YAML文件和其他文本文件提供了配置設(shè)置和說明,以方便在機(jī)器學(xué)習(xí)工作流程中使用數(shù)據(jù)集。
3.訓(xùn)練模型
要培訓(xùn)YOLOv8或更高版本(因?yàn)閅OLOv8是Ultralytics的產(chǎn)品),Ultralytics文檔提供了更多關(guān)于培訓(xùn)的詳細(xì)信息。在自定義數(shù)據(jù)上定制YOLOv8,就像在跌倒檢測教程中一樣,意味著用特定的目標(biāo)數(shù)據(jù)集訓(xùn)練YOLOv8。
3.1. 準(zhǔn)備數(shù)據(jù)集:
要為跌倒檢測定制YOLOv8,您需要針對您的應(yīng)用程序定制一個特定的數(shù)據(jù)集。在本教程中,我們專注于一個數(shù)據(jù)集,其中包括不同狀態(tài)的人的圖像:站立,摔倒和摔倒。
確保數(shù)據(jù)集組織良好,將圖像分為訓(xùn)練集、測試集和驗(yàn)證集。注釋應(yīng)該采用JSON格式,數(shù)據(jù)集應(yīng)該使用YAML配置文件進(jìn)行結(jié)構(gòu)化,以便于設(shè)置。
3.2. 數(shù)據(jù)集注釋:
數(shù)據(jù)集中的每個圖像都應(yīng)該有相應(yīng)的注釋來指定邊界框和類標(biāo)簽。對于墜落檢測,有三種類型:站立、墜落和墜落。
3.3. 配置培訓(xùn)環(huán)境:
使用提供的YAML文件配置訓(xùn)練參數(shù)。該文件將包括計(jì)算機(jī)上數(shù)據(jù)集的路徑、類的數(shù)量和其他必要的設(shè)置。
一個示例YAML配置可能如下所示:
3.4. 訓(xùn)練模型
3.5.秋天架構(gòu)
下圖說明了跌落檢測架構(gòu)。它包括通過凍結(jié)某些層的權(quán)重來微調(diào)預(yù)訓(xùn)練的YOLOv8模型,并將輸出通過密集層進(jìn)行墜落運(yùn)動分類。
3.6.訓(xùn)練模型
4. 評估模型的性能
評估結(jié)果表明,平均精密度(mAP)為94%,精密度為90%,召回率為91.9%。這些圖提供了我們的模型性能的可視化,說明了它在通過訓(xùn)練結(jié)果圖和混淆矩陣檢測跌倒方面的魯棒性。
5. 推理
5.1. 圖像推理
5.2. 視頻推理
6.硬件設(shè)置
下圖展示了Jetson Nano硬件設(shè)置,其中包括:
?Jetson Nano開發(fā)工具包
?顯示器與HDMI輸入能力
?鍵盤和鼠標(biāo)用于用戶交互
?用于拍攝視頻的攝像機(jī)
?相機(jī)支架,用于在使用過程中穩(wěn)定相機(jī)
7. 部署在Jetson Nano上
要在Jetson Nano上部署YOLOv8,我建議您查看我之前的文章。按照相同的步驟在Jetson Nano上部署YOLOv12,但是您將使用預(yù)訓(xùn)練的YOLOv8模型進(jìn)行跌倒檢測,而不是使用YOLOv12。
你需要激活名為y8的Python虛擬環(huán)境,并運(yùn)行位于Documents中的fall-detection-i.py腳本,按照以下步驟操作:
?使用$ source y8/bin/ Activate激活虛擬環(huán)境
?使用$ cd Documents導(dǎo)航到Documents目錄
?通過運(yùn)行$ python fall-detection-i.py來執(zhí)行腳本
結(jié)論
總之,在Jetson Nano上定制YOLOv8為跌倒檢測等實(shí)時人工智能應(yīng)用開辟了新的可能性。這次演示不僅突出了嵌入式人工智能系統(tǒng)的潛力,還展示了這些解決方案在安全和監(jiān)控方面的強(qiáng)大和高效。
本文編譯自hackster.io