本文為譯文,外文素材來源於GitHub,經本人翻譯後首發於此,其中略有增刪修改,僅供大家學習交流參考。如有學習需要,請大家到GitHub原始庫連結進行clone學習。GitHub項目庫名:akanazawa/human_dynamics
論文
《Learning 3D Human Dynamics from Video》[UC Berkeley] (2019)
作者:Angjoo Kanazawa *,Jason Zhang *,Panna Felsen *,Jitendra Malik(*平等貢獻)
摘要
我們可以利用行動中的人的圖片,很容易地猜測這個人在過去和未來的3D運動。這是因為我們有一個有效的3D人體動力學的理論模型,這個模型是通過觀察運動中人類的視覺序列所獲得的。在這項工作中,我們提出了一個框架,通過簡單但有效的圖像特徵時間編碼,可以類似地從視頻中學習人類3D動態的表示。在測試時,通過視頻,學習的時間表示可以恢復平滑的3D網格預測。我們的模型可以從單個圖像中恢復當前的3D網格以及3D過去和未來的運動。
我們的方法旨在使其能夠以半監督的方式從具有2D姿勢注釋的視頻中學習。但是,帶標籤的數據總是有限的。另一方面,網際網路上每天都有數百萬的視頻上傳。在這項工作中,我們通過使用從現成的2D姿勢檢測器獲得的偽地面真實的這種網際網路規模的未標記的2D姿勢數據源,來訓練我們的模型。我們的實驗表明,添加更多具有偽地面真實2D視頻的視頻可以單調提高3D預測性能。
我們在最近具有挑戰性的3D Poses in the Wild數據集中評估我們的模型,並在沒有任何微調的情況下獲得3D預測任務的最先進性能。
demo
項目實戰
1、依賴
Python 3(在3.5版上測試)TensorFlow(在1.8版本上測試)PyTorch(0.4.0版上測試)AlphaPose / PoseFlowNeural Mesh Renderer CUDA(使用Titan 1080 TI在CUDA 9.0上測試)ffmpeg(在3.4.4版本上測試)注意:目前沒有CPU支持。
2、安裝
①git clone 本項目庫
本文不便放置外鏈,以防止被平臺誤偵測為廣告哈!
②設置python虛擬環境--virtualenv
代碼:
virtualenv venv_hmmr -p python3
source venv_hmmr/bin/activate
pip install -U pip
pip install numpy
# Some of the required packages need numpy to already be installed.
deactivate
source venv_hmmr/bin/activate
pip install -r requirements.txt
②安裝其他額外依賴庫
Neural Mesh Rendere和AlphaPose用於渲染結果:
代碼:
cd src/external
sh install_external.sh
上面的腳本還克隆了我的AlphaPose/PoseFlow分支,這是運行演示以提取視頻中人物軌跡所必需的。請按照安裝中的說明進行操作,特別是執行pip install -r requirements.txt以便從src/external/AlphaPose安裝依賴項及下載預訓練過的模型。
3、演示
①下載預先訓練的模型。將models文件夾放在頂級目錄中。
wget + 預訓練模型下載連結
本文不便放置外鏈,以防止被平臺誤偵測為廣告哈!原始庫裡提供了預訓練模型下載的連結。
②下載demo_data視頻。將demo_data文件夾放在頂級目錄中。
wget + demo_data視頻下載連結
本文不便放置外鏈,以防止被平臺誤偵測為廣告哈!原始庫裡提供了demo_data視頻下載的連結。
③運行演示。此代碼為您運行AlphaPose / PoseFlow。如果您遇到任何問題,請確保AlphaPose可以在圖像目錄上運行。
# Run on a single video:
python -m demo_video --vid_path demo_data/penn_action-2278.mp4
# If there are multiple people in the video, you can also pass a track index:
python -m demo_video --track_id 1 --vid_path demo_data/insta_variety-tabletennis_43078913_895055920883203_6720141320083472384_n_short.mp4
# Run on an entire directory of videos:
python -m demo_video --vid_dir demo_data/
這將創建一個目錄demo_output/<video_name>,其中中間跟蹤結果和我們的結果保存為視頻,以及pkl文件。或者,您也可以指定輸出目錄。
4、數據
InstaVariety
我們提供了用於InstaVariety的原始視頻列表,以及tfrecords中的預處理文件。有關詳細信息,請參閱 doc/insta_variety.md文件。
5、引文
如果您將此代碼用於研究,請考慮引用:
@InProceedings{humanMotionKZFM19,
title={Learning 3D Human Dynamics from Video},
author = {Angjoo Kanazawa and Jason Y. Zhang and Panna Felsen and Jitendra Malik},
booktitle={Computer Vision and Pattern Recognition (CVPR)},
year={2019}
代碼和相關下載連結請訪問GitHub項目庫:akanazawa/human_dynamics