?

工廠場景中的異常行為檢測

2024-02-21 06:00郭育恒陳驊桂
軟件導刊 2024年1期
關鍵詞:關鍵點分類器人體

趙 廉,周 雷,郭育恒,陳驊桂

(1.上海理工大學 健康科學與工程學院,上海 200093;2.上海應用技術大學 計算機科學與信息工程學院,上海 201418)

0 引言

隨著人工智能的發展和工廠產業化升級,將計算機與機器人融入工業生產中,打造“智慧工廠”模式成為近年來國內外智能制造領域的主流趨勢[1],借助人工智能技術保障安全生產的智慧安全方向是其中重要的一環[2-3]。在傳統工業生產中,主要依靠管理者人眼觀察或人工審查視頻的方式,發現生產中出現的異常情況,該模式的缺點在于需要耗費額外人力,容易出現漏檢現象,因此有必要通過人工智能方法設計一種自動化識別異常的框架,實現在工業場景中的自動化異常檢測。

本文主要針對工業場景中監控攝像頭拍攝的人員情況,提出一種異常行為檢測框架,使用深度學習和人體關鍵點識別技術對生產中影響安全的行為(工人睡覺、發生跌倒)設計檢測模型。具體為采取以人體姿態識別網絡獲取關鍵點特征,使用關鍵點特征進行分類模式,以檢測當前場景中是否存在異常情況。為了比較各種分類方法的優缺點,使用在工廠場景中表現較優的隨機森林(RF)[4]、邏輯回歸(LR)[5]、支持向量機(SVM)[6]、K 最鄰近(KNN)[7]等多種線性和非線性分類器及使用由4 種分類器構成的集成學習模型,在工廠數據集上進行比較實驗。

1 相關工作

目前,通常采取人體行為識別技術檢測工廠生產中出現的睡覺、跌倒等異常情況[8]。人體行為識別是近年來機器學習領域的熱點問題之一,國內外已有相當多的成熟方法和技術路線可供選擇。早期,行為識別通常借助硬件傳感器或可穿戴設備實現,特別在跌倒檢測領域已有大量應用[9]。Clemente 等[10]設計由放置于地板上傳感器組成的系統,通過多個傳感器相互協作,實時檢測房間中關門、物體掉落、人員跌倒等事件。Baghdadi 等[11]設計可穿戴設備記錄人的步態,預測使用者當前的疲勞程度。這些設備的優點在于識別準確率高,部分設備具有實時傳輸數據功能,缺點在于使用不便、器材成本較高,因此不適用于工業場景中。

人體姿態識別作為計算機視覺的重要應用,使用視頻或圖像手段分析人體姿態是目前普遍做法,包含使用深度相機或紅外相機進行人體行為識別,利用Openpose[12]、Hrnet[13]等開源人體檢測模型在普通RGB 圖片中得到關鍵點,進而進行行為識別操作。對于前者而言,張浩[14]設計了基于深度相機的三維重建方法,在較大空間范圍內捕捉人與物體的交互過程,通過動靜模型的混合體素分配機制,最終實現了人與場景的聯合實時三維重建。任丹彤等[15]利用紅外相機設計了可見光—紅外光雙光融合算法,使用YOLO 模型對車間6 類異常行為進行檢測,具有良好的實時性和準確性。對于后者而言,Chen 等[16]利用Openpose 提取人體關鍵點,通過計算髖關節中心的下降速度、人體中心線與地面的夾角等指標來檢測跌倒,識別準確率達到97%。后者相較于前者具有兩個優點:成本較低,不依賴除計算機外的其他外部設備;可處理場景中多個目標、多種行為,應用范圍更廣泛,在工廠場景中優勢更為明顯。

綜合分析國內外研究現狀發現,在工業場景中進行異常行為檢測時,考慮到數據大多為監控視頻,因此本文以普通RGB 圖片為研究主體,使用人體姿態檢測模型進行實驗更符合實際情況和成本需求。

2 研究方法

2.1 異常行為檢測算法

如圖1所示,本文所提算法分為3個步驟。

Fig.1 Overall algorithm process圖1 算法整體流程

步驟1:以工業場景中的人物圖片或視頻作為模型輸入。

步驟2:使用關鍵點檢測模型(本文使用High-Resolution Net,HRNet)從圖中檢測人物關鍵點,并輸出處理圖像。

步驟3:基于步驟2 得到的17 個關鍵點特征,訓練分類器并進行集成,完成異常行為檢測。

需要注意的是,該框架不依賴HRNet 網絡,可替換為任何具有人體關鍵點檢測的網絡模型(Openpose、Alpha-Pose[17]),因此具有良好的可拓展性,更適合部署到一些現有的工業機器人或工廠智慧助手當中[18]。關鍵點檢測的目的是將目標圖片中的圖像特征轉變為人體關鍵點特征向量,進而使用分類器或分類規則進行分類。

2.2 關鍵點檢測方法

HRNet 網絡(High-Resolution Net)是針對2D 圖像單人姿態估計的開源方法,網絡結構如圖2 所示。該網絡由并行的高分辨率和低分辨率子網絡組成,在多分辨率子網絡間重復信息交換,圖2 頂端為主干高分辨率子網,在整個網絡中始終保持較大的特征圖,避免因特征圖放縮導致人體關鍵點位置信息丟失,其余各支路為多分辨率子網,隨著網絡的深入層數不斷增加,網絡分辨率從上往下依次降為原來的一半,對應的通道數翻倍。

Fig.2 Structure of HRNet attitude estimation model圖2 HRNet姿態估計模型結構

多分辨率子網可得到不同尺度的特征圖,同時每隔一層卷積層就會在現有多尺度網絡間進行信息交換(主要采取通道合并concat 操作實現),達到多尺度融合的目的。該結構保證無論何種目標均能在網絡傳遞的主干網絡中始終保持較大的特征圖,相較于傳統的編碼器—解碼器(Encoder-Decorder)結構,避免了由于上/下采樣操作導致特征圖大小改變而引起的信息丟失問題,因此在關鍵點識別中具有較高的準確性。

本文選用以coco 數據集預訓練HRNet 模型,使其具備檢測人體17 個關鍵點的能力。按照coco 數據集定義,17個關鍵點對應的人體部位為鼻子、左眼、右眼、左耳、右耳、左肩、右肩、左手肘、右手肘、左手腕、右手腕、左胯、右胯、左膝、右膝、左腳踝、右腳踝,如圖3所示。

Fig.3 17 key points of human body圖3 人體17個關鍵點

以單人圖片為輸入,當HRNet 捕捉到人體時首先檢測關鍵點,同時記錄17 個關鍵點在圖上兩個維度的坐標值(x,y)及每個關鍵點的置信度評分,相當于每個人共有17×3=51 項特征。為了使關鍵點特征不受輸入圖片大小影響,將關鍵點圖上坐標轉換為相對位置坐標(x',y')。

式中:(x,y)為關鍵點原始坐標;w、h分別為圖片的寬和高,相除后可使(x',y')的橫縱坐標處于[0,1]范圍;置信度分數s為百分率,處于[0,1],每個關鍵點都有相對位置的(x',y')坐標和當前關鍵點置信度分數s這3個特征。

2.3 異常行為檢測方法

在獲得關鍵點特征后,下一項任務是利用關鍵點特征判斷人物當前狀態。本文主要檢測的異常行為是根據工業生產中實際需要,檢測人員睡覺和跌倒行為。兩項檢測應用場景有所不同,睡覺主要在辦公區域內,而跌倒則在生產區域內,無法設計單一模型對兩種情況進行檢測,因此本文分別設計了兩套獨立的模型用于兩個不同區域。在分類方法選擇上,以關鍵點檢測得到的51 項特征為基礎,選擇機器學習領域,特別是姿態識別研究中常用的幾種線性和非線性分類器建立預測模型。

2.3.1 支持向量機

支持向量機在深度學習出現前是表現最出色的算法之一,其思想是在訓練樣本的學習中構建一個超平面使數據線性可分,距離超平面最近的點為支持向量,以構建超平面作為決策曲面,現已廣泛用于分類問題及回歸問題。

2.3.2 邏輯回歸

邏輯回歸與線性回歸思想類似,概念上是一種廣義的線性回歸分析模型,主要用于解決二分類問題,優點在于可直觀分析各變量貢獻程度,可解釋性較好;缺點則是對線性不可分數據需要進行高維轉化等操作,求解較為困難。假設x、y表示樣本的特征和類別,y可取0 或1,那么y取1的概率為:

式中:θ為回歸系數;hθ(x)為sigmoid 函數,輸出值在0~1 之間,通常情況下hθ(x) ≥0.5 時屬于1 類,hθ(x) <0.5時屬于0類。

2.3.3 K最近鄰

K 最近鄰通常用于文本分類,將樣本映射到特征空間中,通過計算不同特征值間的距離進行分類。對于一個新輸入的樣本,尋找訓練集中與其距離最近的K 個樣本,通過它們的類別來判斷該樣本屬于哪類。由于所有樣本均已確定類別,因此算法無需訓練,但新輸入樣本要與所有訓練樣本進行計算,時間復雜度由樣本數量所決定。在應用中可根據數據集情況,靈活選擇K 值及不同的距離度量方法,例如歐氏距離等。

2.3.4 隨機森林

隨機森林是一種采用集成學習思想,由多顆決策樹共同構建的分類模型。在訓練階段,樹被隨機創造,每個樹的訓練樣本均來自整體特征的隨機子集,樹與樹之間相互獨立。在預測階段,利用所有樹的結果進行決策以決定最終的結果。

2.3.5 XGBoost

XGBoost[19]是梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)的改良版本,采用集成學習思想,通過梯度提升方法進行加法訓練。該模型以樹為基分類器,將多個弱分類器組合成一個集成分類器,以提升預測速度與精度,與隨機森林算法的不同之處在于其弱分類器間并非獨立,而采用串行結構將前一個分類器的的預測作為下一分類器的輸入,由最后一個分類器輸出結果。

為了便于在后續實驗中比較各算法在異常行為檢測中的優劣,在超參數的設置上盡量選用其默認值,具體參數如表1 所示。為了發揮各模型在分類方面的優勢,進一步提升異常檢測的準確率,除了單獨使用以上5 種模型外,本文還組合多種分類器提出一種集成學習模型,采用軟投票方法決定最終預測結果。軟投票以前4 種分類器預測樣本屬于異常的平均概率作為輸入,根據結果預測該樣本是否屬于異常行為。

Table 1 Setting of hyperparameters for each model表1 各模型超參數設置

式中:xi表示輸入的第i各樣本;k為分類器的數量,本文設置為4;fk表示第k個模型對樣本的預測結果;yi代表第i個樣本的最終預測值,后續通過設定閾值等方式,將yi轉變為分類結果。

3 實驗結果與分析

3.1 實驗環境與數據集

實驗環境CPU 為i7-9700,顯卡為NVIDIA GeForce GTX 1080Ti,對所有數據采用五折交叉驗證方法,每折取全部數據的80%進行訓練,20%用于測試,每折測試數據不重復,取5 次結果的平均值。數據集來自攀鋼集團有限公司提供的7 段監控視頻,共2 863 張圖片,采用檢測算法進行預處理得到視頻中的人物圖片并人工標注睡覺和正常的標簽。其中,睡覺檢測數據集共2 863 張圖片,睡覺數據215 張,正常數據2 648 張;跌倒檢測數據集中跌倒數據451張,正常數據954張。數據集示例如圖4所示。

Fig.4 Sleep behavior samples in the factory dataset圖4 工廠數據集中的睡覺行為樣本

首先將這些圖片送入HRNet 進行關鍵點識別,每張圖片經HRNet 處理后得到51 項特征,然后將51 項特征單獨存為一個csv 文件,即每張圖片對應一個csv 數據,便于后續實驗。

3.2 評價指標

本文通過準確率、精確率、召回率和F1 分數指標評估模型的性能,計算公式如式(4)—式(7)所示。同時,為了保證測試結果的穩定性,采用五折交叉驗證方式劃分數據集,將數據集按類別抽樣并等分為5 份,每次選取其中1 份作為測試集,其余4 份作為訓練集,盡可能消除由選取測試集導致的實驗誤差。

式中:TP 代表預測為異常行為的結果中真實出現異常的數量(真陽性);TN 代表預測為正常行為的結果中真實正常的數量(真陰性);FP 代表預測為異常行為的結果中實際為正常行為的數量(假陽性);FN 代表預測為正常行為的結果中實際為異常行為的數量(假陰性)。

3.3 跌倒檢測結果

在跌倒檢測數據集中,首先對圖片使用關鍵點識別網絡進行檢測,如圖4 所示。表2 中展示了6 種模型4 個評價指標的平均值,括號內為5 次結果的標準差,其中每個指標的最優值已加粗。圖5 為AUC-ROC 曲線,以衡量在不同閾值下各分類器的指標,右下角AUC 為曲線下面積,在一定程度上反映了分類器的強弱。結合表2 結果可知,表現最優秀的模型為集成學習(Soft-Vote),準確率、精確率、F1 得分分別為92.86%、87.58%、88.69%,證明了集成學習策略的有效性,結合多分類器的效果相較于單一分類器更優。

Table 2 Fall detection experiment results表2 跌倒檢測實驗結果

Fig.5 AUC curves of fall behavior samples in the factory dataset圖5 工廠數據集中的跌倒行為樣本的AUC曲線

整體上,除邏輯回歸模型外,各分類器的準確率、召回率、精確率及F1 分數指標均達到80%以上,AUC>0.9,屬于效果較好的分類器,證明了使用關鍵點特征進行跌倒行為的異常檢測的可靠性。

3.4 睡覺檢測結果

睡覺檢測采取與跌倒檢測類似的方法,但由于睡覺數據僅為215 例,而正常數據為1 125 例,存在一定程度的類別不平衡現象。因此,在訓練階段對睡覺數據進行過采樣,重復抽樣睡覺類數據以平衡正負樣本,優化訓練過程。值得注意的是,所有過采樣均在訓練過程中使用,在測試過程中沒有對測試集進行任何調整。

表3 展示了睡覺異常檢測的實驗結果,圖6 為各分類器在睡覺行為檢測中的AUC-ROC 曲線。由此可知,使用軟投票的集成學習模型最優,準確率、召回率、精確率、F1分別為98.51%、94.97%、95.81%,95.38%,除精確率外,其他3 項指標在5 種方法中最優,進一步證明了組合策略的優勢。隨機森林與XGBoost的總體指標與軟投票法非常接近,在五折交叉驗證中的某些折中方法中相較于軟投票法更優,且兩種算法的AUC 指標甚至超過了集成學習模型,原因可能為隨機森林與XGBoost是由多顆決策樹通過串行或并行方式組合而成,自身也是一種集成學習方法。

Table 3 Sleep detection experiment results表3 睡覺檢測實驗結果

Fig.6 AUC curves of sleep behavior samples in the factory dataset圖6 工廠數據集中的睡覺行為樣本的AUC曲線

4 結語

本文針對工業場景中工人可能出現的異常行為,提出了一種異常檢測模型框架。通過HRNet 識別人體關鍵點,將關鍵點信息輸入分類模型,同時使用4 種分類器與一種集成分類模型進行分類,以區分正常行為和異常行為樣本。實驗結果表明,所提模型在跌倒檢測、睡覺檢測數據集上的準確率分別為92.86%、98.51%。

該框架相較于人眼識別的優勢在于節約了人力開銷,無需額外的硬件設備,但需要同時使用關鍵點識別和異常檢測模型,無法進行端到端訓練。此外,跌倒檢測和睡覺檢測所使用的模型較為簡單,后期可選擇性能更強的機器學習模型來進一步提升模型的識別準確性。未來,可對以上內容進行整合和輕量化,在保證檢測準確率的基礎上進一步減小模型規模。

猜你喜歡
關鍵點分類器人體
人體“修補匠”
聚焦金屬關鍵點
人體冷知識(一)
肉兔育肥抓好七個關鍵點
排便順暢,人體無毒一身輕
奇妙的人體止咳點
BP-GA光照分類器在車道線識別中的應用
加權空-譜與最近鄰分類器相結合的高光譜圖像分類
結合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
醫聯體要把握三個關鍵點
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合