這個項目,我能玩一年!

源?/?? ? ? ??文/?
今天分享一個算法 KalidoKit,我們看下效果:

根據(jù)真實的人物肢體、面部、手的動作,來驅(qū)動虛擬形象。
KalidoKit 是整合了多種算法實現(xiàn)的,F(xiàn)acemesh、Blazepose、Handpose、Holistic。
這個技術的主流應用方向就是虛擬主播。
可以驅(qū)動虛擬人物跳舞:

也可以像開頭的動圖那樣,捕捉全身的動作,面部表情、手勢等。
除了這種驅(qū)動虛擬形象類型的,還可以發(fā)揮自己的想象力,做一些有趣的小應用。

KalidoKit
該項目是基于 Tensorflow.js 實現(xiàn)的。
項目地址:
https://github.com/yeemachine/kalidokit
捕捉的關鍵點信息,可以用來驅(qū)動 2D 和 3D 的虛擬形象,結合一些虛擬形象的驅(qū)動引擎,即可實現(xiàn)文章開頭所展示的效果。
既可以驅(qū)動 Live2D 形象,又可以驅(qū)動 3D VRM 形象。
這里涉及的技術點一篇文章講不完,今天主要講述基礎的關鍵點檢測技術:人臉關鍵點檢測、人體姿態(tài)估計、手勢姿態(tài)估計。
人臉關鍵點檢測
人臉關鍵點檢測,有稀疏的,有稠密的。
像基礎一點的,68 個關鍵點檢測。

一般來說,一些閉眼、頭部姿態(tài)、張閉嘴的檢測,用這種簡單的 68 個關鍵點就夠了。
當然,也有更加稠密的關鍵點檢測。

對于一些皮膚美容類的應用場景,就需要稠密的關鍵點檢測算法了,成千上萬的那種。
不過算法的思想都是一樣的,回歸出這些關鍵點的位置坐標,通常搭配人臉檢測算法使用。
想要學習人臉關鍵點檢測算法的,推薦兩個入門項目:
https://github.com/1adrianb/face-alignment
https://github.com/ChanChiChoi/awesome-Face_Recognition
一個是基礎的入門項目,一個整合了人臉關鍵點的主流算法。
人體姿態(tài)估計
人體姿態(tài)估計也是計算機視覺中一個很基礎的問題。
從名字的角度來看,可以理解為對“人體”的姿態(tài)(關鍵點,比如頭,左手,右腳等)的位置估計。
一般可以分為 4 種任務:
單人姿態(tài)估計 (Single-Person Skeleton Estimation) 多人姿態(tài)估計 (Multi-person Pose Estimation) 人體姿態(tài)跟蹤 (Video Pose Tracking) 3D人體姿態(tài)估計 (3D Skeleton Estimation)
簡單來說,就是對于人體骨骼關節(jié)點進行檢測,定位人體的姿態(tài)。

人體姿態(tài)估計,應用范圍寬廣,比如在自動駕駛行業(yè)進行街景中行人的姿態(tài)檢測、動作預測;在安防領域的行人再識別問題,特殊場景的特定動作監(jiān)控;影視產(chǎn)業(yè)的電影特效等。
想要學習的小伙伴,可以看這整理的論文:
https://github.com/cbsudux/awesome-human-pose-estimation
手勢姿態(tài)估計
手關節(jié)更加靈活,動作敏捷和存在自我遮擋,因此略復雜一些。

不過原理和人體姿態(tài)估計類似。

除了這種常規(guī)的手勢識別,也可以用來做一些特效。

其實,很多這種人體特效,位置的定位,都是借助這些關鍵點實現(xiàn)的。
同上,想要學習,可以看這份整合的資料:
https://github.com/xinghaochen/awesome-hand-pose-estimation
總結
本文介紹了一些基礎的算法,并推薦了一些學習資料,比較基礎。
END


頂級程序員:topcoding
做最好的程序員社區(qū):Java后端開發(fā)、Python、大數(shù)據(jù)、AI
一鍵三連「分享」、「點贊」和「在看」
