
簡介這是一份面向計算機視覺與深度學習研究者的人體行為數據集聚焦跌倒、站立、坐、奔跑、下蹲等日常動作其中跌倒樣本占比最大可用于YOLOv5等行為識別模型的訓練與評估適用于老人監護、安全監控、運動分析等場景。資源共17936個文件包含7261張jpg圖像、6099個txt標注文件和4576個xml標注文件壓縮包大小453.56MBjpg圖像涵蓋多種分辨率與光照條件有助于提升模型泛化能力txt與xml分別對應YOLO和VOC常用標注格式方便接入不同訓練框架。除圖像與標注外資源還附帶數據劃分腳本、預處理工具、YOLOv5模型配置及訓練評估腳本方便使用者從零開始搭建訓練流程并通過精度、召回率等指標全面評估跌倒檢測效果。目前已有2535人學習下載適合正在開展行為識別研究或希望快速構建跌倒檢測原型系統的開發者、學生參考使用。 開頭先說明一下人體行為數據集這個方向我一直覺得特別有意思尤其是“跌倒站立”這類動作幾乎屬于智能安防和養老場景里的硬需求。但問題在于公開數據集大多跟實際業務場景不貼近真正想做一套能落地、能訓練出效果的數據集通常繞不開自建這條路。這篇文章就把我過去踩過的坑、試過的方法、以及最終跑通的一套流程完整講清楚從行為類別定義、采集方案、標注規范到模型訓練和典型問題排查一條龍講完。無論你是馬上要上手做行為識別還是正在為當前數據集效果不佳發愁這篇都能給你省掉不少試錯時間。1. 人體行為數據集的整體設計先想清楚要識別什么再談采集1.1 行為類別體系設計不是動作越多越好而是別讓模型“犯迷糊”拿到“人體行為、跌倒站立”這類需求時第一步不是急著找攝像頭而是要把行為類別體系定清楚。很多新手最容易犯的錯就是類別定義太粗糙比如只標注“跌倒”和“站立”結果模型上線后把彎腰撿東西、突然蹲下、甚至坐下動作都誤報成跌倒。我建議按實際場景把行為拆成兩類一類是必須準確識別的目標動作比如跌倒、站立另一類是混淆干擾動作比如蹲下、坐下、躺下、彎腰拾物。為什么要加干擾動作因為行為識別模型學的是“動作之間的區分邊界”如果訓練集里只有跌倒和站立兩種類別那模型唯一能做的事就是“不像站立的都是跌倒”誤報率會高到沒法用。加上蹲下、坐下、躺下這類干擾類別后模型才真正學會“跌倒”和“其他接近跌倒但并不是跌倒”的區別。類別體系設計還有一個細節——動作的起止定義。比如“跌倒”從哪一幀開始、到哪一幀結束“站立”是保持某個姿勢超過多少幀才算這些定義如果不寫進標注規范里不同標注員的標注口徑就會不一致數據集質量直接崩。我之前在項目里定過一套標準舉個例子跌倒定義為“人體軀干從直立/行走狀態在1秒內發生明顯下墜且最終軀干與地面夾角小于45度并持續2秒以上”站立定義為“人體軀干與地面夾角大于75度且保持3秒以上”。這套定義的好處是標注員和算法團隊能對齊口徑后面排查badcase也方便。1.2 公開數據集選型與自建數據集的取舍組合拳遠比單一方案靠譜很多人在選數據集時會糾結“到底用公開的還是自己采”我的經驗是除非你的場景極其標準比如學術實驗環境否則別指望純公開數據集能直接解決業務問題。但公開數據集也不能完全放棄它最適合用來做預訓練和模型熱身。以跌倒檢測為例目前能直接用的公開資源大致有以下幾類視頻類行為識別數據集像UCF101、HMDB51這些主要覆蓋日常動作包含部分近似跌倒的動作但缺少真正的跌倒樣本而且拍攝視角多為水平視角跟監控俯視視角差別很大。骨骼關鍵點類數據集NTU RGBD有60類日常動作包含跌倒、坐下、站立等但它采集自kinect傳感器場景單一且只提供3D骨骼坐標沒有原始RGB視頻在真實監控場景下直接遷移效果有限。專項跌倒數據集像UR Fall Detection這類公開的跌倒檢測數據集包含俯視攝像頭和穿戴傳感器數據質量一般但勝在類別聚焦可以用來做驗證集或模型調優參考。我個人的做法是“公開數據預訓練自建數據精調”的組合拳。先用Kinetics-400或UCF101做通用行為特征預訓練再用自建的跌倒站立數據集做微調這樣小樣本場景下也能有比較穩的效果。1.3 數據規模與場景覆蓋的平衡寧可場景多樣化也別一味追求幀數自建數據集很常見的一個誤區是“采集幾百個視頻全在同一個辦公室每個視頻幾萬幀”。這樣得到的數據集雖然總幀數不少但場景單一、人物固定、光照不變模型訓練出來換個環境就失靈。真正決定行為識別模型泛化能力的是場景多樣性不是總時長。我實踐下來比較合理的數據規模大概是目標動作跌倒至少500段有效樣本干擾動作蹲下、坐下、躺下每類300段以上如果實際場景有老人/小孩/成人多個群體最好每個群體都有覆蓋。總數據量控制在3~5小時有效視頻比較合適這既保證了樣本多樣性又能控制標注成本。提示采集時盡量覆蓋多個時間段的自然光、不同朝向的攝像頭、不同衣著顏色、不同體型的人。我在項目里吃過虧第一版數據全是同一個瘦高男生穿深色衣服結果模型對穿淺色衣服的老年人識別效果慘不忍睹。2. 數據采集與標注的實操要點細節決定數據集質量上限2.1 攝像頭選型與視角布置別只看分辨率幀率和安裝角度更重要很多人采集人體行為數據時第一反應是“上4K攝像頭”但實際踩過坑的都知道行為識別對幀率的要求遠高于分辨率。跌倒動作本身非常快從失穩到落地往往只有0.5~1秒如果幀率只有15fps甚至更低跌倒過程可能只被捕捉到兩三幀時序上的運動特征信息基本丟失。以我的經驗來看如果只是做單幀姿態估計的目標檢測類任務25fps以上夠用但如果是做時序行為識別建議至少30fps有條件上60fps更好。分辨率方面1080P足夠關鍵是要保證在目標活動范圍內人體像素高度不低于200px否則后續做關鍵點檢測很容易因為輸入太小而失真。視角方面室內監控場景建議攝像頭安裝在墻角高位、斜向下45度左右這樣能看到人體全身也能比較清楚地捕捉到從站立到倒地的身體角度變化。正上方俯視視角雖然能避免遮擋但會把跌倒和躺下的動作搞混因為有高度差的信息丟失了這個我在實際測試中深有體會。2.2 標注體系與工具框、關鍵點、時序段三類信息按需選人體行為數據集標注和普通目標檢測數據集標注的最大區別在于行為不是一個靜態對象它有一個時間跨度。真實場景里如果只用靜態圖片做標注等于把行為識別硬生生做成了動作分類數據集的效果會大打折扣。目前主流做法有三種我分別說說適用場景純靜態框標注每幀標人體檢測框適合“檢測分類”的短時動作識別比如站立/跌倒二分類但對時序依賴強的動作如從站立到跌倒的過渡過程會有先天不足。骨骼關鍵點標注每幀標17個或25個人體關鍵點坐標適合骨架行為識別模型如ST-GCN、PoseC3D優點是忽略背景干擾、模型更輕量缺點是需要額外的關鍵點提取流程標注成本高。時序段級別標注在時間軸上標記動作起止時間動作類別適合“視頻級行為理解”模型。實際操作中我建議“檢測框時序標簽”組合每幀檢測框提供空間位置時序段提供動作類別和時間范圍兩者配合訓練效果最好。標注工具方面我試用過不少常用的有LabelMe單幀框標注適合小規模、labelImg最經典的目標檢測標注界面簡單但只支持單幀單圖、CVAT支持視頻時序標注多人協作方便我最推薦、以及VGG Image Annotator輕量級可用但大項目效率不高。小團隊單人做建議直接用CVAT它可以直接在視頻流上逐幀標注并自動插值生成中間幀的框能節省大量重復勞動。2.3 數據平衡與增強跌倒樣本永遠不夠得用策略補行為識別數據集普遍存在類別嚴重不平衡的問題尤其是“跌倒”這類低頻但關鍵的動作。正常人一天24小時可能99.9%的時間都不在跌倒如果按照真實自然分布采集數據跌倒樣本占比極低模型會完全偏向預測“正常站立”。針對這個問題我常用的處理策略有三種第一個是過采樣把跌倒樣本在訓練時反復參與epoch或者直接把跌倒視頻做切片冗余讓模型看到的跌倒樣本相對更多。第二個是數據增強對跌倒樣本做時序增強回放、慢放、加速、空間增強水平翻轉、隨機裁剪、旋轉、色彩抖動這能有效擴充跌倒樣本的多樣性。第三個是使用Focal Loss這類損失函數讓模型在訓練時自動加大對難分類樣本也就是跌倒樣本的關注這樣即使數據集比例不理想模型也不至于完全“躺平”。3. 模型訓練與自己的數據集適配從mmrotate到yolov8選對工具鏈3.1 模型選型行為識別不是只有一種做法按場景和算力選拿到標注好的數據集后接下來的核心問題是“用什么模型來訓練”。其實人體行為識別有三個大方向很多人一開始容易混淆我把它們講明白。基于檢測分類的靜態幀方案就是先用行人檢測器框出人體再對單幀圖像做動作分類。這種方案速度最快、實現最簡單但缺點是沒有時序建模遇到“跌倒”這種強依賴運動趨勢的動作時效果往往不好。適合的場景是資源受限、只需要區分“站/坐/躺”等靜態姿態的設備。基于骨骼關鍵點的時序方案先用姿態估計算法如MediaPipe、MMPose提取骨骼關鍵點序列然后用ST-GCN、PoseC3D這類圖卷積或卷積網絡做時序分類。好處是模型參數量小、對背景和外觀不敏感缺點是比較依賴關鍵點提取的準確性在嚴重遮擋場景下容易失效。基于視頻流的端到端方案就是直接以原始視頻幀序列作為輸入用SlowFast、TSM、TimeSformer這類網絡同時建模空間和時間特征。這種方案精度最高但對算力和數據量要求也最高。我的建議是如果項目剛起步、算力有限先走“2D目標檢測骨骼關鍵點輕量時序分類”的路線如果算力充足、業務對精度要求很高再上SlowFast這類端到端方案。3.2 數據集劃分的藝術別隨機切要按視頻或人物劃分這里我要專門說一個容易被忽視但影響巨大的問題——數據集劃分策略。直接用隨機方式把視頻幀切分成train/val/test大概率會造成嚴重的數據泄漏。為什么因為同一段視頻的連續幀之間高度相似如果訓練集和驗證集來自同一段視頻模型相當于“看著答案做測試”驗證結果會虛高但換到真實場景后性能馬上露餡。正確的做法是按“視頻片段”或者“人物”劃分。舉個例子假設你采了20個人的跌倒視頻那就讓15個人的全部視頻進訓練集2個人的進驗證集3個人的進測試集確保測試集里的人完全沒參與訓練。這樣得到的指標才有參考價值也才能真實反映模型在面對陌生人的泛化能力。另外一個細節是負樣本的劃分也要保證場景獨立性。比如驗證集里面不應該包含訓練集同一個場景、同一天、同一時刻的背景幀否則模型可能不是在學“人的行為”而是在學“這個背景環境”。3.3 訓練參數與收斂調優幀采樣策略、batch size、學習率一個都不能省行為識別模型訓練有很多瑣碎但關鍵的參數我直接給出一個經過驗證的配置參考大家根據實際算力微調輸入片段長度16~32幀SlowFast默認32幀輕量級模型可用16幀幀采樣策略均勻采樣每段視頻先均勻抽出N幀再做隨機裁剪避免短片段過長導致有效信息不夠輸入分辨率224x224或256x256如果做骨骼方案關鍵點序列是17xT或25xT分辨率概念不適用batch size8~16取決于顯存batch太小容易收斂不穩優化器SGDmomentum(0.9)或AdamW我實測行為識別任務SGD比AdamW更穩不容易過擬合初始學習率0.01SGD或0.0001AdamW每10個epoch衰減一次衰減系數0.1loss分類用CrossEntropyLoss如果類別不平衡就換成Focal Lossgamma設2.0訓練epoch50~100以驗證集F1作為早停依據我踩過最典型的坑就是學習率設置太高模型前幾個epoch的loss直接NaN。后來排查發現是預訓練模型用的learning rate schedule跟新任務不匹配。在微調場景下建議訓練骨干部分使用小學習率比如0.001新加的分類頭用稍大一些的學習率0.01這樣既能保留預訓練特征又能讓分類層快速收斂。4. 常見問題與排查技巧實錄這些坑我建議你提前避開4.1 跌倒與蹲下、彎腰難區分別只依賴單幀要把時間先驗用起來我在項目上線后遇到最多的badcase就是把老人彎腰撿東西誤報成跌倒。從單幀畫面看彎腰和跌倒的前半段確實非常相似都是軀干快速前傾、頭部高度明顯下降。但如果我們把時間維度拉長看兩者的關鍵差異其實在“末態”彎腰最終會停住并恢復直立而跌倒的末態是長時間躺在地上不會恢復。解決辦法是在模型結構里加“動作末態判定”跌倒檢測只觸發在“人體倒地且短時間內未恢復直立”的情況下如果人體倒地后2秒內重新站起來那大概率不是跌倒可能是滑倒后的自我爬起。在實際部署中我還會結合持續時間閾值做過濾如果檢測到跌倒姿態但持續不到1秒就恢復直接忽略這能顯著降低誤報率。4.2 跌倒樣本太少模型死活不收斂先別加數據試著用“偽樣本”過渡還有一個高頻問題是自建數據集的跌倒樣本實在太少幾百個樣本撐不起模型訓練。這種情況下我建議不要盲目追加采集先試試用公開的跌倒數據合成“偽樣本”作為預訓練。比如從UR Fall Detection里裁剪跌倒片段通過摳圖、背景替換、畫質增強等手段生成一批樣式更豐富的跌倒視頻先用這批數據讓模型學到“跌倒的基本運動特征”再用真實自建數據精調效果會好很多。4.3 標注質量參差不齊導致模型誤檢抽檢一致性比“標注數量”更重要標注質量問題更隱蔽也更致命。比如一個標注員認為“坐下去”算“坐下”另一個認為“坐一半又站起來”也算“坐下”兩個標注員對同一段視頻給出的標簽可能不一致模型學出來的邊界就混亂。我建議做標注質量的三步抽檢第一步是同一段視頻安排兩個標注員分別標注對比標簽一致性cohens kappa系數建議在0.8以上第二步是定期抽查已標注樣本重點看動作起止時間幀是否準確這類錯誤很難通過算法自動發現第三步是訓練前做一個“類別混淆預檢”對驗證集里的常見誤報樣本單獨復查通常能發現一批臟數據。4.4 跨場景泛化差模型在A場景好用到B場景就失靈最后的典型問題是模型在自己公司測試環境效果很好但換到客戶現場效果明顯下降。原因通常是訓練集和真實場景的光照、背景、攝像頭視角、人物體型差異太大。針對這個問題我有幾個實用建議第一采集數據時預留10%~20%的“挑戰性樣本”比如逆光、暗光、穿寬大衣物、背對攝像頭等情況強制模型學習這些不好識別的樣本。第二訓練階段做強背景增強比如用隨機貼圖、高斯模糊、亮度抖動等方式模擬不同場景讓模型不要把注意力放在背景上。第三上線后持續做“小樣本熱更新”讓客戶現場的前幾天數據自動進入標注回流池經過標注后定期微調模型這是長期保證準確率的有效方法。5. 幾點實操心得關于人體行為數據集最核心的經驗總結起來就一句話數據集的成敗在采集和標注環節就已經決定了模型訓練只是把數據集的潛力兌現出來。剛開始做的時候我光是重新定義類別體系和標注規范就花了兩周當時覺得進度慢后面才發現這恰恰是整個項目最值得花時間的地方。最后再分享一個小技巧訓練完第一版模型后可以專門跑一遍訓練集的“全量預測”找到那些模型預測錯、但人眼看起來明顯正確的樣本。這些樣本通常是標注錯誤的“漏網之魚”把它挑出來修正一遍往往能讓模型F1提升兩三個點。這個操作成本極低但對數據集質量檢查非常有效。本文還有配套的精品資源點擊獲取