此儲存庫有一個工具箱,用於下載、處理和視覺化 Panoptic Studio (Panoptic) 資料。
2024年5月14日:我們在首爾國立大學建立了鏡像伺服器。您仍然可以使用原始的 CMU 伺服器,如果 CMU 伺服器沒有回應,您只需在getData.sh
和getData_kinoptic
腳本中新增--snu-endpoint
選項即可使用 SNU 端點。
請依照以下步驟設定一個簡單的範例:
git clone https://github.com/CMU-Perceptual-Computing-Lab/panoptic-toolbox cd panoptic-toolbox
若要下載本範例中名為「171204_pose1_sample」的資料集,請執行下列腳本。
./scripts/getData.sh 171204_pose1_sample
該bash腳本需要curl或wget。
該腳本將建立一個資料夾“./171204_pose1_sample”並下載以下檔案。
171204_pose1_sample/hdVideos/hd_00_XX.mp4 #同步高畫質影片檔(31次觀看)
171204_pose1_sample/vgaVideos/KINECTNODE%d/vga_XX_XX.mp4 #synchrponized VGA 影片檔案(480 次觀看)
171204_pose1_sample/calibration_171204_pose1_sample.json #校準文件
171204_pose1_sample/hdPose3d_stage1_coco19.tar #3D身體關鍵點資料(coco19關鍵點定義)
171204_pose1_sample/hdFace3d.tar #3D人臉關鍵點數據
171204_pose1_sample/hdHand3d.tar #3D手部關鍵點數據
請注意,此範例目前沒有 VGA 視訊。
您也可以透過此腳本下載任何其他序列。只需使用目標序列的名稱:而不是“171204_pose1panopticHD”。例如,
./scripts/getData.sh 171204_pose1
對於 171204_pose1 序列的完整版本:。您也可以指定要下載的videospanopticHDnt 數量。
./scripts/getData.sh (sequenceName) (VGA_Video_Number) (HD_Video_Number)
例如,以下命令將下載 240 個 vga 影片和 10 個影片。
./scripts/getData.sh 171204_pose1_sample 240 10
請注意,我們已對 VGA 攝影機順序進行了排序,以便您下載均勻分佈的視圖。
您可以在以下連結中找到目前可用序列的清單:
已發布序列清單(ver1.2)
下載所有這些檔案(包括影片)可能需要很長時間,但下載 3D 關鍵點檔案(身體+臉部+手,視情況而定)應該「相對」快。
您可以使用下列腳本下載目前可用的序列(版本 1.2):
./scripts/getDB_panopticHD_ver1_2.sh
預設設定是不下載任何影片。如果您還想下載視頻,請隨意將腳本中的“vgaVideoNum”和“hdVideoNum”更改為其他數字。
您可以在我們的網站中查看每個序列的範例影片和其他資訊:瀏覽資料集。
檢查每個序列中的 3D 檢視器:您可以在 Web 瀏覽器中視覺化 3D 骨架的頁面。例如:http://domedb.perception.cs.cmu.edu/panopticHDpose1.html
這一步需要ffmpeg。
./scripts/extractAll.sh 171204_pose1_sample
這將提取映像(例如171204_pose1_sample/hdImgs/00_00/00_00_00000000.jpg
)和對應的 3D 骨架資料(例如171204_pose1_sample/hdPose3d_stage1_coco19/body3DScene_00000000.json
)。
extractAll.sh
是一個簡單的腳本,它組合了以下命令集(您不需要再次執行這些命令):
cd 171204_pose1_sample ../scripts/vgaImgsExtractor.sh # 來自VGA 視訊(25 fps) 的PNG 檔案../scripts/hdImgsExtractor.sh # 來自高清視訊(29.97 fps) 的PNG 檔案tar -xf vgaPose3d_stage1.tar # 以VGA 幀率提取骨架tar -xf hdPose3d_stage1.tar # 提取 HDcd 的骨架 ..
此程式碼需要 numpy、matplotlib。
視覺化 3D 關鍵點(身體、臉部、手):
cd python jupyter notebook demo_3Dkeypoints_3dview.ipynb
結果應該是這樣的。
在選定的高清視圖上重新投影 3D 關鍵點(身體、臉部、手):
cd python jupyter notebook demo_3Dkeypoints_reprojection_hd.ipynb
結果應該是這樣的。
此程式碼需要 numpy、matplotlib。
視覺化 3D 關鍵點(身體、臉部、手):
cd python jupyter notebook demo_3Dkeypoints_3dview.ipynb
結果應該是這樣的。
在選定的高清視圖上重新投影 3D 關鍵點(身體、臉部、手):
cd python jupyter notebook demo_3Dkeypoints_reprojection_hd.ipynb
結果應該是這樣的。
該程式碼需要 pyopengl。
視覺化 3D 關鍵點(身體、臉部、手):
python glViewer.py
注意:Matlab 程式碼已過時,且不處理 3D 關鍵點輸出(coco19 身體、臉部、手)。請參閱此代碼僅供參考。我們稍後會更新。
Matlab 範例(已過時):
>>> cd matlab>>> 演示
我們使用 Joo 等人的方法重建人類的 3D 骨骼。 2018.
每幀的輸出都會寫入一個 json 檔案中。例如,
{ "version": 0.7, "univTime" :53541.542, "fpsType" :"hd_29_97", "bodies" : [ { "id": 0, "joints19": [-19.4528, -146.612, 1.46159, 0.724274, -40.4564, -163.091, -0.521563, 0.575897, -14.9749, -91.0176, 4.24329, 0.361725, -19.2473, -146.679, -16.1136, 0.643555, -14.7958, -118.804, -20.6738, 0.619599, -22.611, -93.8793, -17.7834, 0.557953, -12.3267, -91.5465, -6.55368, 0.353241, -12.6556, -47.0963, -4.83599, 0.455566, -10.8069, -8.31645, -4.20936, 0.501312, -20.2358, -147.348, 19.1843, 0.628022, -13.1145, -120.269, 28.0371, 0.63559, -20.1037, -94.3607, 30.0809, 0.625916, -17.623, -90.4888, 15.0403, 0.327759, -17.3973, -46.9311, 15.9659, 0.419586, -13.1719, -7.60601, 13.4749, 0.519653, -38.7164, -166.851, -3.25917, 0.46228, -28.7043, -167.333, -7.15903, 0.523224, -39.0433, -166.677, 2.55916, 0.395965, -30.0718, -167.264, 8.18371, 0.510041] } ] }
這裡,每個主題具有以下值。
id :序列中唯一的主題索引:。跨時間具有相同 id 的骨骼代表與時間相關的移動骨骼(個體)。然而,同一個人可能有多個 ids junctions19 : 19 個3D 關節位置,格式為[x1,y1,z1,c1,x2,y2,z2,c2,...],其中每個c 是panopticHDjoint 置信度得分。
3D 骨架具有以下關鍵點順序:
0: Neck 1: Nose 2: BodyCenter (center of hips) 3: lShoulder 4: lElbow 5: lWrist, 6: lHip 7: lKnee 8: lAnkle 9: rShoulder 10: rElbow 11: rWrist 12: rHip 13: rKnee 14: rAnkle 15: lEye 16: lEar 17: rEye 18: rEar
請注意,這與 OpenPose 輸出順序不同,儘管我們的方法是基於它。
請注意,我們曾經使用舊格式(如過時文件中所述,名為 mpi15),但我們不再使用這種格式。
Kinoptic Studio是Panoptic Studio的一個子系統,由10個Kinect2感測器組成。請參閱:README_kinoptic
您可以使用以下腳本下載 3D PointCloud DB ver.1 中包含的所有序列:
./scripts/getDB_ptCloud_ver1.sh
我們已經發布了討價還價序列的處理數據。請參閱社交訊號處理儲存庫。
Panoptic Studio 資料集免費提供,僅用於非商業和研究目的。
透過使用該資料集,您同意至少引用以下論文之一。
@inproceedings{Joo_2015_ICCV, author = {Joo, Hanbyul and Liu, Hao and Tan, Lei and Gui, Lin and Nabbe, Bart and Matthews, Iain and Kanade, Takeo and Nobuhara, Shohei and Sheikh, Yaser}, title = {Panoptic Studio: A Massively Multiview System for Social Motion Capture}, booktitle = {ICCV}, year = {2015} } @inproceedings{Joo_2017_TPAMI, title={Panoptic Studio: A Massively Multiview System for Social Interaction Capture}, author={Joo, Hanbyul and Simon, Tomas and Li, Xulong and Liu, Hao and Tan, Lei and Gui, Lin and Banerjee, Sean and Godisart, Timothy Scott and Nabbe, Bart and Matthews, Iain and Kanade, Takeo and Nobuhara, Shohei and Sheikh, Yaser}, journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, year={2017} } @inproceedings{Simon_2017_CVPR, title={Hand Keypoint Detection in Single Images using Multiview Bootstrapping}, author={Simon, Tomas and Joo, Hanbyul and Sheikh, Yaser}, journal={CVPR}, year={2017} } @inproceedings{joo2019ssp, title={Towards Social Artificial Intelligence: Nonverbal Social Signal Prediction in A Triadic Interaction}, author={Joo, Hanbyul and Simon, Tomas and Cikara, Mina and Sheikh, Yaser}, booktitle={CVPR}, year={2019} }