一 寫在前面
未經(jīng)允許泉哈,不得轉(zhuǎn)載帚桩,謝謝~~
最近方向從video recognition轉(zhuǎn)到了3D human body reconstruction瑟匆,所以剛剛開始看這方面的論文处渣,就把簡單的閱讀筆記都整理在這里了~
文章應(yīng)該會持續(xù)更新芦昔,大佬們見笑啦~~~
二 論文閱讀筆記
1. 3D Human pose estimation: A review of the literature and analysis of covariates
- Computer Vision and Image Understanding 152(2016)1–20
1.1 整體情況
- 文章對給定RGB或者video的情況下對人體姿態(tài)估計的方法做了review;
- 根據(jù)輸入的不同將他們劃分為:
- single image or video;
- monocular or multi-vew;
- 我主要關(guān)注的是single image and monnocular的情況诱贿;
1.2 主要內(nèi)容
- 文章關(guān)注的輸入類型為RGB圖像;
- 除了RGB,還有一類很流行的RGB-D輸入珠十,文章沒有涉及料扰,但是給出了一篇2013年的paper review;
- 文章整理了2008-2015年間的single-view方法;
-
姿態(tài)估計的大概流程:
- prior body model決定了方法是model-based還是model-free的焙蹭;
- 利用2D pose information既可以用來作為額外的信息晒杈,又可以作為3D model 映射回2D時(projection)的參考。
- 例如一些預(yù)處理技術(shù)孔厉,例如抽離背景部分拯钻;
- 對特征進行提取,然后輸入2D pose estimation中進行評估撰豺;
- 獲取初始3D pose,然后用優(yōu)化算法來評估3D姿態(tài)粪般;
- 對姿態(tài)進行一些constrain,丟棄一些不可能出現(xiàn)的姿態(tài)污桦,最終得到估測好的3D pose;
-
文章根據(jù)模型方法的不同亩歹,又進行了以下分類:
- generative model(model-based,top-down)
- 利用先驗知識進行建模,分成建模(model)和評估(estimation) 2個階段寡润,會用上很多人體結(jié)構(gòu)之類的信息捆憎;
- 在生成模型中有一類被稱為part-based(bottom-up)方法,由body part的集合來表示human skeleton;
- 文章給出了幾篇比較有名的論文:PSM, Deformable structures model, graphical model(SP);
- discriminative model(model-free)
- 不需要假定特定的模型梭纹,直接學習從image到3D human body之間的映射關(guān)系躲惰;
- 這一類方法又可以進一步分為:learning-based和example-based;
- learning-based方法直接學習映射關(guān)系;
- example-based方法存儲一系列exemplars以及對應(yīng)的pose descriptors变抽,最終測試的時候直接通過相似度檢索得到幾個candidates然后進行插值础拨;
- hybrid approaches
- 生成模型能夠更加準確的推斷出pose,具有更好的魯棒性绍载;
- 判別模型能夠更加快速的訓練诡宗,需要表示的信息更加低維;
- hybrid approaches能夠結(jié)合生成模型和判別模型击儡,從生成模型的可能性結(jié)果來驗證判別模型中的姿態(tài)估計塔沃。
- generative model(model-based,top-down)
- human body model and representation
human body 有很多的joints和limbs,因此分析起來很復(fù)雜阳谍;
model-based方法采用先驗知識對human body進行建模蛀柴;
-
以前用的最常見的一種方法是將skeleton結(jié)合structure和shape, 其中skeleton共15個joints,然后鏈接起來矫夯,右邊是樹狀結(jié)構(gòu)鸽疾;
不管是否用了body mode(model-based還是model-free),下一步都是特征提妊得病制肮;
傳統(tǒng)的特征提取方法會剔除背景后利用一些低維信息:edges, optical flow, silhouettes...
經(jīng)典的特征提取算法文章中提到:SIFT, SC(shape content)冒窍,APC(appearance and context content ), HoG,posebits...
- 文章還列了一些從單張圖像到3維人體估計的文章,但都是2016年以前的了豺鼻。
2. End-to-end Recovery of Human Shape and Pose
- CVPR 2018
2.1 整體情況
- HMR(human mesh recovery):端到端的人體姿態(tài)和形態(tài)的對抗學習網(wǎng)絡(luò)综液;
- 實現(xiàn)了從single RGB image到full 3D mesh of human body的學習;
- HMR不需要成對的2D-to-3D監(jiān)督信息儒飒,不需要借助中間的2D keypoint deection意乓,而是直接從pixel到mesh;
- 給定人的bounding box的情況下约素,可以做到實時。
-
先來看一下整體實驗結(jié)果:
- 上面兩行是用2D-3D監(jiān)督信息訓練的笆凌,下面一行是用完全弱監(jiān)督的方式訓練的圣猎,沒有2D-3D的監(jiān)督信息;
2.2 主要內(nèi)容
2.2.1 background
- 現(xiàn)有方法大多數(shù)利用joint信息乞而,但joint的位置比較稀疏送悔,不能判斷完整狀態(tài),本文用了更多的keypoints;
- 現(xiàn)有方法大多數(shù)是multi-stage的爪模,從estimate 2D joint locations再到estimate 3D model parameters;
- 本文是直接從image pixel to 3D model;
- 但是這樣會有幾個挑戰(zhàn):
- lack of large-scale ground-truth 3D-annoation for in-the-wild image;
(現(xiàn)在有準確3D注釋的都是受環(huán)境限制的) - inherent ambiguities in single-view 2D-to-3D mapping;
(從2D重建回3D本身具有模糊性)
- lack of large-scale ground-truth 3D-annoation for in-the-wild image;
- keypoint(本文需要有以下數(shù)據(jù)集):
- large-scale 2D keypoint annotations of in-the-wild dataset;
- a separate large-scale dataset of 3D mesh of people with many poses
- (這兩個是獨立的數(shù)據(jù)集欠啤,unpaired)
所以本文的key contribution:將兩個unpaired的數(shù)據(jù)集,用對抗學習的方式利用起來屋灌;
2.2.2 overview of the proposed network
- encoder: 用來提取圖像特征洁段;
- regression:可迭代3D回歸用來獲取3D mesh的參數(shù)以及相機參數(shù);
- 得到3D mesh的pose,shape,camera信息后又分成上下兩個部分:
- 下面:進入判別器D共郭,與大規(guī)模3D human body數(shù)據(jù)集進行比較祠丝,判斷生成的human body是否真實。
(弱監(jiān)督方式除嘹,使得跟wild dataset相比更合理) - 上面:將得到的3D mesh映射回2D写半,得到keypoints, 然后與原來image的ground-truth keypoints進行比較,得到一個loss尉咕。
(強監(jiān)督方式叠蝇,使得跟輸入image的manifold更接近)
- 下面:進入判別器D共郭,與大規(guī)模3D human body數(shù)據(jù)集進行比較祠丝,判斷生成的human body是否真實。
本文還對只有弱監(jiān)督方式的情況進行了實驗,效果也不錯年缎。
-
最后文章還考慮了文章本身帶有g(shù)round truth 3D information的情況悔捶,最終的整體目標函數(shù):
- λ:超參數(shù)
- reproj:上面那路
- adv:下面那路
- 3D:有3D ground-truth的情況
2.2.3 related work
- two-stage estimation
- 首先獲取到2D joint locations(直接有標注或者用2D pose detector預(yù)測得到)
- 然后預(yù)測3D joint locations(regression或者model fitting),常用的是探索learned dictionary of 3D skeletons晦款;
- 這個過程可能limb length是主導炎功,也可能limb propotion,pose, angle是主導缓溅;
- two-stage的方法更加魯棒蛇损,但是太依賴2D joints信息,且可能丟失很多圖像信息;
- direct estimation
- 出現(xiàn)了一些帶有3D joint locations的數(shù)據(jù)集:HumanEva淤齐,Human3.6M股囊,使得直接學習有了強監(jiān)督label;
- 大多數(shù)都是用FCN來做的更啄;
- 很多都沒有解決camera稚疹,只是估計深度,用平均長度來定義全局的scale祭务;
- 這類方法的問題是雖然有準確的3D annotation内狗,但是不能適用于真實世界;
3. DensePose: Dense Human Pose Estimation In The Wild
- CVPR2018
3.1 整體情況
- DensePose:實現(xiàn)了從simgle RGB image 到 surface-based representation of human body义锥;
- DensePose-COCO:為COCO數(shù)據(jù)集中的50K perpon進行數(shù)據(jù)標注柳沙,形成新的數(shù)據(jù)集;
- 在DensePose-COCO數(shù)據(jù)集上用基于CNN的模型進行訓練和測試拌倍,嘗試了fully-conv networks 和region-based models兩種方式赂鲤,后者效果更好;
-
整體實驗結(jié)果:
3.2 主要內(nèi)容
3.2.1 background
- 大多數(shù)時候建立從image到surface-based model都需要用到深度信息(RGB-D)柱恤,但本文只使用了RGB圖像数初;
- 本文將重點放在human body身上,而且還支持dense場景梗顺;
- 本文采用完全的監(jiān)督學習泡孩,為此收集images以及對應(yīng)human body的詳細準確的ground-truth信息;
- 不像其他論文一樣在測試階段使用SMPL荚守,而是直接在訓練時候作為一種定義問題的方式珍德;
- 本文方法與mask-rcnn方法結(jié)合可以從復(fù)雜場景(10多個人)中有效計算出有效的區(qū)域;
3.2.2 Dense-Pose dataset
- 是一個large scale dataset for human pose estimation;
- ground-truth for 50K humans in COCO, more than 5 million manully annoated pairs;
- 數(shù)據(jù)集(image----> surface-based representations of human body)
- 先將身體分成幾個語義分明的部分:head矗漾,torso, lower/upper arms...
- 獲得24個UV field(如上圖右邊部分所示)(每個部分的獲取使用了不同的方法锈候,例如SMPL, multi-scale等)
- 對各個部分運行k-means算法,得到各個部分的特征點敞贡;
- 然后將對應(yīng)的點標注到渲染出來的part iamge上面泵琳;
-
然后利用渲染出來的坐標,又重新將這些2D特征點定位到3D model上面誊役;
- 每個body surface都有24個part获列,每個part包含的標記點最多為14個;
3.2.3 model
基于DensePose-RCNN model蛔垢,實現(xiàn)一個全監(jiān)督學習模型击孩;
本文基于DenseReg + mask-RCNN ----> DensePose-RCNN, 又在此基礎(chǔ)上增加了級聯(lián)結(jié)構(gòu)。
嘗試了以下兩種結(jié)構(gòu):
1. fully-connected dense pose regression
- 由于人體比較復(fù)雜鹏漆,所以將其分為幾個獨立的part巩梢,每個part用二維坐標表示创泄;
- 基于這樣的表示,用classification+regression這2個任務(wù)括蝠,用fully-connected network來做鞠抑;
- classification:判斷a pixel是屬于背景還是屬于surface part中的一個;
- regression: 預(yù)測出這個pixel相對于所在part的準確坐標位置忌警;
- 分類階段總共有25個類別(24 parts + 1 background)搁拙,用交叉熵損失;
- 然后再為24個surface part分別訓練回歸器法绵,用L1 loss衡量箕速;
2. region-based dense pose regression
- 以上基于FCN的任務(wù)比較簡單,但是需要完成太多的子任務(wù)朋譬;
-
本文又采用region-based的方法:
- 先用mask-rnn得到ROI區(qū)域弧满;
- 再進行一次ROI區(qū)域Align;
3.然后用FCN提取圖像特征此熬; - 提取到的特征同樣分為上下兩個方面:一個用于分類出所屬的surface part,一個用于產(chǎn)生對應(yīng)的坐標值滑进,可以用跟fully-conv中一樣的方法進行優(yōu)化犀忱,但是這里多了一個前面的proposal監(jiān)督信息。
3.2.4 multi-task cascaded architectures
- 增加了keypoint-estimation和instance segmentation兩個任務(wù)扶关;
-
然后用多個任務(wù)做了一個結(jié)構(gòu)上的級聯(lián):
4. Unite the People: Closing the Loop Between 3D and 2D Human Representations
- CVPR2017
4.1 整體情況
- 本文擴展了SMPLify方法阴汇,提出了實用多個人體姿態(tài)數(shù)據(jù)的3D body model;
- 產(chǎn)生了UP-3D數(shù)據(jù)集节槐,可以用來訓練discriminative模型搀庶,在沒有g(shù)ender或者pose的先驗條件下也能有較好的結(jié)果。
4.2 主要內(nèi)容
4.2.1 introduction
- 現(xiàn)有用來做bounding-box detection铜异,keypoint detection哥倔,body part segmentation的learning-based方法以及各自使用的數(shù)據(jù)集都是獨立分開的。
- 所以本文就想overcome這些separation揍庄,然后unit the people in different datasets and multiple tasks.即希望將多個數(shù)據(jù)集和任務(wù)連接起來咆蒿。