哈囉大家好,我是橘白卯咪,歡迎大家來看看我能不能撐過30天
要知道欸你在幹嘛,首先要知道喂你在哪裡
想了解從影像中找到人體關鍵點的過程,搜尋一下會得到姿態估測(Pose Estimation)這個單字
然後就會遇到滿滿的數學公式,以及各種第一次聽過、翻成中文但不太懂的名詞(例如:局部親和領域(PAF)?)
於是就先 質疑自己是否該換題目
當時的我也很困惑,每一個字都懂但組合起來就不明就裡...
聽到一個很認真的學妹說要解說給大家聽,想說終於得救啦
結果她滿場飛講了一堆數學公式,台下睡成一片,我仍然有聽沒有懂...
果然果然,念書還是要靠自己
心煩意亂的我滑起ig,看到系上女神不急著趕論文,反而正在玩威利在哪裡的遊戲
威利在哪裡-->喂你在哪裡,是巧合嗎?我可不這麼認為
這是一張威利在哪裡的圖
正常人如我,應該是這樣找威利的(看起來像人的都看一遍吧)
(殘念,這張圖裡並沒有任何威利
當下一個腦洞,想說把這張圖餵給openpose,看它可以找出多少人?
於是乎,openpose給了我這樣的答案
喔喔喔喔喔喔喔
瞬間一個靈感來,就懂啦!!
姿態估測可以分為 由上而下(top-down) 和 由底而上(bottom-up) 兩種方法
其中由上而下法,就是先找出人在影像中的位置,再去估測人的肢體,例如手、腳、頭的位置(和正常人找威利的方式一樣)
但這樣的問題是,如果找不到人就無法估測姿態了,而且計算量會隨影像中的人數增加
另一種由底而上法,也就是openpose使用的方式
即是先找到可能的肢體位置,再將它連成一個人
可以設定多少肢體部分被找到並連接才能算一個人,
但這樣的缺點是如果這個人的肢體沒有完全入鏡,很有可能就無法被判斷成一個人
(附上一張論文裡的圖
前面提到的局部親和領域(PAF,Part Affinity Fields),又應該怎麼理解它呢?
PAF即在描述每個肢體的位置跟方向
知道關鍵點與PAF後,就可以來 連連看找出姿態
(a)圖中的紅點跟藍點是已知的關鍵點(keypoint),首先畫出所有連線結果,但要怎麼知道哪一個才是對的連線結果呢?
(c)圖中即利用PAF提供的方向,讓每一個紅點連接到正確的藍點
利用這個方法,就從關鍵點找到完整的肢體,進而獲得姿態的資訊
明天,讓我們繼續github尋神之路吧!
參考資料:
Cao, Zhe, et al. "Realtime multi-person 2d pose estimation using part affinity fields." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.