引用
D. Shao et al.,”Edge4Real:a cost-effective edge computing based human behaviour recognition system for human-centric software engineering”,2020 35th IEEE/ACM International Conference on Automated Software Engineering(ASE),2020,pp.1287-1291.
摘要
包括身體動作和麵部表情在內的人類行為識別在以人為中心的軟體工程中發揮著重要的作用。然而,由於透過影片分析識別人類行為資料的計算密集型性質,通常需要昂貴的強大機器,這可能會阻礙以人為中心的軟體工程的研究和應用。為了解決這個問題,本文提出了一種名為 Edge4Real 的具有成本效益的人類行為識別系統,該系統可以輕鬆地部署在具有商品機的邊緣計算環境中。與現有的集中式解決方案相比,Edge4Real 具有成本效益高、易於使用和實時性三大優勢。具體來說,Edge4Real 採用分散式架構,在邊緣計算環境中,動作捕捉、人體行為識別、資料解碼提取、識別結果應用等元件可以部署在分離的終端裝置和邊緣節點上。使用可以捕捉使用者動作並實時轉換為 3D 頭像動作的虛擬現實應用程式,我們成功地驗證了系統的有效性,並展示了其對以人為中心的軟體工程的研究和應用的前景和價值。相關演示影片可以在 https://youtu.be/tnEshD8j-kA 中找到。
CCS 概念
軟體及其工程 → 軟體建立和管理
關鍵詞
人類行為識別、以人為中心的軟體工程、邊緣計算、虛擬現實
簡介
人是軟體開發中的關鍵部分,包括客戶、設計人員、編碼人員、測試人員和終端使用者。雖然當前的大多數軟體工程研究和實踐都是面向功能、資料或過程的,但以人為中心的軟體工程側重於工程軟體系統中的人為因素。在過去 40 年的軟體工程研究中,只有少量研究考慮了人在軟體工程中的影響。以人為中心的軟體工程研究人類如何在軟體工程中發揮作用,並設計智慧工具來協助人類開發人員以及改善使用者體驗。以人為中心的軟體工程的一個基本問題是捕捉和分析人類行為。
目前,捕捉和分析人類行為的最有效方法是透過影片分析。然而,目前,一個完整的可以捕捉和分析人體動作和麵部表情等人類行為的影片分析系統,可能非常昂貴。例如,像 OptiTrack 這樣的商業動作捕捉系統(不包括 PC 和軟體)的典型價格很容易達到數萬美元。同時,由於影片分析的資料和計算密集型特性,人類行為識別需要配備 GPU 和大記憶體的昂貴高效能機器。顯然,用於捕獲和分析人類行為的具有成本效益的解決方案對於以人為中心的軟體工程的研究和應用的成功至關重要。目前,雲計算作為主流計算正規化,可以提供集中的高效能計算設施。然而,即使單價是負擔得起的,考慮到影片分析任務的長時間執行,總成本仍然可能非常巨大。此外,如果人類行為結果需要被一些應用實時識別,雲計算服務在網際網路上的響應延遲也是一個很大的限制。近年來,邊緣計算正在成為一種很有前途的範例,它可以在靠近終端裝置的位置提供計算資源以解決雲計算的問題。同時,鑑於其分散式特性,邊緣計算可以以協調的方式使用少數邊緣伺服器來促進資料和計算密集型任務的處理。
例如,旨在在邊緣執行機器學習演算法的邊緣智慧正在吸引智慧系統領域的許多研究人員的極大興趣,如智慧家居、智慧電網、智慧農業和智慧汽車等。
為了利用邊緣計算的優勢,在本文中,我們提出了一種名為“Edge4Real”的具有成本效益的基於邊緣計算的人類行為識別系統。與現有的中心化解決方案相比,Edge4Real 具有三大優勢:
1. 成本效益。OptiTrack 等複雜的運動捕捉系統需要昂貴的運動捕捉相機和標記,還需要專門的軟體和強大的伺服器,而 Edge4Real 可以利用網路攝像頭(甚至智慧手機上的免費虛擬網路攝像頭)、開源軟體(例如 Barracuda 3)和分散式邊緣伺服器(商品機)。與基於商用動作捕捉系統的人體行為識別系統的價格相比,Edge4Real 的價格可以降低至 25% 以下。
2. 易於使用。與複雜的動作捕捉系統相比較,Edge4Real 在空間大小上非常靈活,不需要牆壁或人體上的任何固定裝置。網路攝像頭是行動式的,所有終端裝置和邊緣節點都是無線連線的,使用者無需佩戴。
3.實時性。傳統的雲系統網路延遲明顯,而 Edge4Real 可以支援實時人類行為識別,為軟體應用提供實時使用者反饋。根據我們的實驗,Edge4Real 可以達到平均 30 fps(每秒幀數),高於電影 24 fps 的行業標準。
鑑於 Edge4Real 的上述優勢,以人為中心的軟體工程研究和應用可以更加經濟、易用、實時。在本文中,我們採用了一個虛擬現實 (VR) 應用程式,該應用程式可以捕獲使用者的動作並實時轉換為 3D 頭像的動作,以證明 Edge4Real 的有效性。我們選擇 VR 應用程式而不是典型的以人為中心的軟體工程任務(例如透過分析使用者行為進行需求捕獲或可用性測試)的原因,是因為我們想展示 Edge4Real 的普遍適用性。同時,VR 應用是典型的軟體,需要不斷輸入人體動作,滿足使用者體驗。
因此,如果 Edge4Real 能夠為 VR 應用程式實現理想的效能,那麼我們相信它將對各種以人為中心的軟體工程任務有用。
本文的行文結構如下。第二節回顧了相關工作。第三節介紹了 Edge4Real 的系統設計和實現細節。第四節評估 Edge4Real 並討論其潛在應用。最後,第五節總結了本文並指出了一些未來的研究方向。
相關工作
以人為中心的軟體工程研究尚處於起步階段。Gail Murphy 在她題為“以人為中心的軟體工程”的論文中認為,在構建未來的軟體系統時,我們需要平衡傳統的以人工製品為中心的方法與以人為中心的新方法。具體而言,以人為中心的方法旨在瞭解軟體工程師如何使用軟體以及如何相互協作。在個人網站上,John Grundy 列出了軟體工程和相關出版物的各種“人性”方面,例如,個性影響、可用性缺陷報告、以人為中心的建模工具,以及將人的方面納入需求和設計(如情感)。他最近的一篇論文調查了在整個模型驅動工程過程中以人為中心的問題的合併,其中一項就是使用特定領域的視覺語言對人為因素進行建模。
為了推進以人為中心的軟體工程研究,需要使用智慧技術來捕獲和分析軟體開發和軟體應用程式使用過程中的人類行為(軟體開發人員和終端使用者)。在眾多其他技術中,影片分析因其普遍適用性和易於使用而成為最受歡迎的技術。有許多開源影片分析軟體。例如,OpenPose 是一個有效的實時多人系統,可以在單個影象上聯合檢測人體、足部、手部和麵部關鍵點(共 135 個關鍵點)。它還為使用者提供了在影象、靜態影片和實時影片流中選擇輸入的選項。因此,它可以支援實時和離線影片分析。許多研究使用實時影片分析來預測人類運動和分析人類情緒,例如,採用動作識別互動系統實時準確識別各種複雜多樣的人體動作,在 VR 藝術媒體互動環境中實現更好的互動效果和藝術感官體驗。
由於複雜的機器學習演算法(例如深度學習模型和 SVM 演算法)在影片分析軟體之後執行,因此實時響應能力成為了一個巨大的挑戰。近年來,隨著邊緣計算的出現,可以在靠近終端使用者的位置提供計算資源,基於邊緣計算的影片流服務和實時影片分析正在成為有前途的解決方案。例如,為了研究智慧課堂中學生負面情緒的傳播情況,有研究人員開發了一種基於深度學習的視覺情緒識別系統,該系統部署在邊緣計算環境中,以實現實時情緒識別和干預。 還有研究人員調查了流處理引擎和機制的最新技術,並進一步討論了它們在邊緣計算環境中的部署並概述了未來的方向。
Edge4Real 系統的設計與實現
本節將詳細介紹 Edge4Real 的設計與實現。Edge4Real 的系統架構如圖 1 所示,由網路攝像頭、VR 耳機和 2 個主要邊緣節點組成:一個用於實時行為識別,一個用於資料解碼和提取。透過網路攝像頭捕捉使用者的動作,並透過 EdgeNode1(安裝有 Barracuda 等人類行為識別軟體)實時處理,提取使用者的身體姿態資訊。姿勢資訊由唯一定義身體姿勢或姿勢的身體主要關節或關鍵點的座標組成。示例關節為頸部、肩部、肘部、腕部、髖部、膝部和踝部。然後將姿勢資訊透過網路傳遞給 EdgeNode2,EdgeNode2 將姿態資訊解碼並提取到包括位置和旋轉在內的資料中。該資料用於控制化身骨架的運動,進而使虛擬化身動畫化,實時匹配使用者的運動。最後,這些資料會傳輸到 VR 頭顯,然後 VR 頭顯渲染並生成虛擬人形頭像,放置在 VR 場景中。
圖1:Edge4Real 的系統架構
具體來說,Edge4Real 中各個元件的功能介紹如下。
攝像頭:攝像頭用於捕獲影片饋送並將影片流傳輸到 EdgeNode1。它可以是獨立的網路攝像頭,也可以是用作虛擬攝像頭的智慧手機。
在我們的系統中,我們使用安裝了 iVCam7 的智慧手機,可以達到 1280x720 的解析度和 60fps 的幀率。
EdgeNode1:EdgeNode1 接收影片流並識別人類行為。在我們的系統中,我們在 EdgeNode1 上安裝了 Barracuda,它在 CPU 或 GPU 上執行基於神經網路的目標檢測演算法,以準確識別人體關節的關鍵點,包括眼睛、四肢、身體等。EdgeNode1 將輸出資料編碼成位元組流,並將資料傳輸到 EdgeNode2。
EdgeNode2:EdgeNode2 接收 EdgeNode1 傳來的位元組流,解碼成 JSON 格式的資料。然後從 JSON 格式中提取資料,包括人體運動關鍵點的 3D 位置和生成 3D 人體姿勢所需的旋轉角度。然後將所需資訊傳輸到 VR 耳機。 EdgeNode2 的作用也是為 Edge4Real 未來的可擴充套件性而設計,其中多個終端使用者、不同的行為識別工具(例如 Barracuda 和 OpenPose)和多個 VR 耳機可以連線到系統。在這種情況下,EdgeNode2 也會根據不同的協議對資料進行解碼和提取。
確保 3D 動畫所需的資訊(包括終端使用者的相對位置的附加資訊)可以傳輸到 VR 耳機以建立正確的 3D 場景。
VR 耳機:VR 應用程式執行在 VR 耳機(例如 Oculus Quest)上,根據 EdgeNode2 傳輸的資料在 VR 場景中渲染和生成使用者的 3D 頭像。我們系統中 3D 頭像的目的是表明 Edge4Real 能夠捕捉使用者的行為並支援 VR 等實時應用程式。
接下來,我們將介紹 Edge4Real 中使用的硬體裝置。邊緣節點執行在兩臺伺服器上,透過無線網路相互連線。VR 頭戴裝置是 Oculus Quest 頭戴裝置,它是一款獨立的 VR 頭戴裝置,允許與手持控制器進行房間規模的互動。裝置的詳細規格如表 1 所示。請注意,此處所列價格僅為粗略價格,主要供參考。由於缺乏標準化的邊緣計算單元,我們系統中的邊緣節點是使用膝上型電腦實現的,與許多其他現有研究相同。因此,螢幕、鍵盤和其他外圍裝置的成本不應包含在真正的邊緣計算環境中。
表 1:Edge4Real 的硬體列表和價格
圖 2:與表 1 中對應的 Edge4Real 的所有硬體裝置
與表 1 對應,Edge4Real 硬體裝置照片如圖 2 所示,左下為攝像頭(安裝 iVCam 的智慧手機),左上為 EdgeNode1,右上為 EdgeNode2,右底部是 VR 頭顯。
圖 3:Edge4Real 的演示。左上:具有重疊姿勢檢測的使用者;右上:姿態資訊的輸出;左下:相機檢視;右下:根據使用者在 VR 頭顯中的動作製作的虛擬頭像。
圖 3 顯示了 Edge4Real 的演示流程。對於會場演示,可以輕鬆搭建準確的系統環境。與會者可以靠近智慧手機的攝像頭並進行任何身體動作。身體姿勢資訊將被捕獲,相應的 3D 化身將在顯示器和 VR 頭顯上直觀地顯示出來。有關 Edge4Real 的更多詳細資訊,請在 YouTube 上觀看我們的演示影片並訪問 GitHub 上的專案網站。
評估和討論
在這裡,我們從三個不同的方面評估 Edge4Real 的效能,並討論其在各種以人為中心的軟體工程場景中的潛在應用。
成本效益:如表 1 所示,Edge4Real 系統的估計硬體價格約為 3,300 美元。相比之下,OptiTrack 等複雜動作捕捉系統的價格要貴得多。根據其網站顯示,用於 VR 應用的基於 OptiTrack 的人體動作捕捉系統的價格從 8,316 美元到 148,823 美元不等。價格不包括高效能伺服器或 VR 頭顯,它們至少會再增加 5,000 美元的費用,也不包括這些跟蹤攝像頭的安裝費,可能會進一步增加幾千美元。因此,即使與最基礎的規格相比,Edge4Real 的價格也只佔硬體總成本的 25% 左右。
易於使用:Edge4Real 非常易於使用,不需要複雜的設定或裝置。最低要求是攝像頭,可以透過虛擬網路攝像頭應用程式從移動裝置獲取。部署過程包括將系統部署在兩臺膝上型電腦上,並在 VR 頭顯上安裝 VR 應用程式。整個系統無線連線,方便使用者的操作和攝像頭的放置。
實時:Edge4Real 為實時應用程式實現了足夠的幀率。電影的行業標準是 24 fps。根據現有的研究,例如在第一人稱射擊遊戲中,當幀率低於 4 fps 時,使用者會遭受糟糕的體驗,而高於 4 或 5fps 的幀率可以支援可接受的使用者體驗。我們的實驗表明,Edge4Real 的平均 fps 在 30 以上。因此,Edge4Real 可以有效地支援實時應用程式。
鑑於 Edge4Real 的優勢及其普遍適用性,它可用於促進許多以人為中心的軟體工程研究活動。例如,Edge4Real 可以支援可用性測試和報告可用性缺陷。同時,由於人類行為可用於分析人格,Edge4Real 可以支援對人格影響的調查,例如對軟體測試和結對程式設計。最後,影片記錄可以與文字記錄一起用於需求收集。 Edge4Real 的不同元件可以輕鬆適應其他型別的感測器,以捕捉不同的人為因素,例如心率、情緒和注意力。因此,Edge4Real 可用於需求獲取,因為它可以在需求研討會期間輕鬆捕獲非語言手勢和情緒。
結論和未來工作
人類行為識別在以人為中心的軟體工程中起著至關重要的作用。然而,當前的中心化解決方案通常價格昂貴且不靈活,阻礙了以人為中心的軟體工程的研究進展。為了解決這個問題,在本文中,我們提出了 Edge4Real,這是一種基於邊緣計算的人類行為識別系統。透過一個可以捕捉使用者動作並實時轉化為 3D 虛擬人物動作的 VR 應用,我們成功展示了 Edge4Real 的三大優勢,包括成本效益、易用性和實時性。 Edge4Real 可用於支援各種以人為中心的軟體工程任務,例如需求獲取、可用性測試、軟體開發人員的個性分析等。
未來,我們的目標是進一步提升 Edge4Real 的能力,比如我們可以用 OpenPose 代替 Barracuda,它在面部表情檢測方面更強大,支援多使用者檢測。同時,我們會將 Edge4Real 應用到更具體的以人為中心的軟體工程任務中,例如可用性測試,以進一步評估和擴充套件其作為開源系統的能力。
致謝
本文由南京大學軟體學院 2021 級研究生張鶴元翻譯轉述,肖媛稽核。