1. 程式人生 > 資訊 >可以裝在手機裡的 3D 姿態估計,模型尺寸僅同類 1/7,平均關節位置誤差卻只有 5 釐米

可以裝在手機裡的 3D 姿態估計,模型尺寸僅同類 1/7,平均關節位置誤差卻只有 5 釐米

長久以來,三維姿態估計都在追求準確性上一路狂奔。

但精度提高的同時,也帶來了計算成本的上升。

而剛剛被 CPVR 2021 接受的論文中所提出的模型,MobileHumanPose 卻可以同時做到又小又好。

還是放在手機上都能 hold 得住的那種。來感受一下:

這種動作的健身操也沒問題:

據瞭解,這個模型的尺寸,只有基於 ResNet-50 的模型的 1/7,算力達到了 3.92GFLOPS

而且平均每關節位置誤差(MPJPE),也只有大約 5 釐米。

那麼這一模型到底是如何在有限的算力下產生極佳效能的呢?

基於編碼器-解碼器結構的改進

這是一個從基本的編碼器-解碼器結構改良得來的模型。

在編碼器用於全域性特徵提取,而解碼器進行姿態估計的基礎架構上,研究團隊對其主幹網路、啟用函式,以及 Skip concatenation 功能都進行了修改。

先來看研究團隊選擇的主幹網路,MobileNetV2。

他們在 MobileNetV2 的前四個倒置殘差塊(Residual Block)處修改了通道大小,獲得了效能提升。

接下來,將 PReLU 函式用於實現啟用功能,其中 ai 為學習引數 yi 是輸入訊號。

這一函式中的可學習引數能夠在每一層網路都獲得額外的資訊,因此在人體姿勢估計任務中使用引數化 PReLU 時可提升效能。

▲修改了啟用函式後的 baseline

現在,模型的效率已經不低了,但考慮到推理速度,團隊使用 Skip concatenation 結構。這一結構能從編碼器到解碼器中匯出低級別特徵訊號(Lowlevel feature signal),不會降低效能。

引數量減少 5 倍,計算成本降到 1/3

團隊使用 Human3.6M 和 MuCo-3DHP 作為三維人體姿勢資料集,他們提出了 MobileNetV2 的大小兩個模型。

在 Human3.6M 上,MobileNetV2 大模型實現了 51.44 毫米的平均每關節位置誤差。

且其引數量為 4.07M,對比同類模型的 20.4M(chen)減少了 5 倍,計算成本為 5.49GFLOPS,是同類模型的 1/3 不到(14.1G)。

對於多人三維姿勢估計任務,研究者使用 RootNet 來估計每個人的絕對座標,在 MuPoTS 的 20 個場景中進行了實驗:

實驗結果證明,對比 Zerui Chen 等研究者提出的獲 ECCV 2020 的三維人體姿態估計方法,MobileNetV2 在一般場景中的效能都更好,且在少數場景中取得了最佳效能:

在模型效率上,MobileNetV2 的大模型效率為 2.24M/3.92GFLOPS,遠超同類模型的 13.0M/10.7GFLOPS(Zerui Chen)。

而小模型也能實現 56.94 毫米的平均每關節位置誤差,有 224 萬個引數,計算成本為 3.92GFLOPS。

作者介紹

論文的三位作者皆畢業於韓國高等技術研究院,一作 Sangbum Choi 為該校的電機及電子工程專業碩士。

論文:

https://openaccess.thecvf.com/content/CVPR2021W/MAI/html/Choi_MobileHumanPose_Toward_Real-Time_3D_Human_Pose_Estimation_in_Mobile_Devices_CVPRW_2021_paper.html

開源地址:

[1]https://github.com/SangbumChoi/MobileHumanPose

[2]https://github.com/ibaiGorordo/ONNX-Mobile-Human-Pose-3D