http://ext.nicovideo.jp/thumb/sm13118491
http://www.nicovideo.jp/watch/sm13118491
【MMD】MMD+Kinectで手っ取り早くなんか凄い事がしたい人へ
6666AP 這說明動畫也太猛XD
裡面提到幾點頗有討論空間:
Q:有了motion capture 以後就不必手動?
A:沒那麼好的事情,期待太高會失望;但是有其價值。
Q:主要能做什麼?
A:和手腳動作互相搭配、自然的重心移動。
手動要弄上半天的事情可以很快完成。
Q:主要不能做什麼?
A:Kinect的原理上和傳統的動態截取有其差異,所以識別得出來的動作有限,於是動作編排就要下苦心。
Q:不買的人會陷入劣勢?
A:有沒有Kinect會有落差、但同樣有Kinect的人之間主要的差異會發生在後續動作修正上。
Q:動作看起來很大叔
A:肩膀之外無從著手,特別是下半身(內八等等)因為Kinect識別不出來所以甭凹了。
上面都是在提舞步類的東西,其實感覺還有一些別的重點:
1. 在3D環境內透過物理模擬的事件觸發
2. 整理出動態修正的法則、轉化為工具(不可能自動但是可以手動指定之類的)
總之,工具還是要會用的人才會發揮作用,這點還是不會變。
事實上光專業的MoCap的「後續動態修正」這件事情就可以成立公司了….所以可以做MoCap之後,反而會凸顯know-how的存在。
但是專業MoCap一路降價到現在,雖說有一定的廣度,但是和這種民生類設備的普及度還是不太一樣。
MMD的社群至少也是萬人單位,全球拿Kinect來玩的人數量更遠大於目前MoCap使用單位,所以Kinect應該很有機會一口氣加速MoCap的技術累積。
eji大果然也看了這些技術。
最近和學弟們討論中,目前已經能使用kinect階段,但要如何活用或進行技術實驗還在討論。
不過,上面的Q5,其實是因為現有的骨架演算法並非高精細的演算。
但是,如果能用kinect過濾背景,這樣傳統演算法的負擔相對可減少到增加新的演算技術,在過不久,相信就會有新的骨架出來,到時精確度將會在上昇。
不過正如EJI所說,後續仍然需要補正,實際看過骨架演算構成後,不難發現當重疊嚴重時,並沒有透過如N.N(類神經網路)等演算法進行預估計算,也並沒有透過事情校準或事後朔模的方式,補正出內存的3D模型。
但正如前面所述,KINECT給的是一個新的訊號結構,而這結構,將改寫C.V(電腦視覺)近30年來論文中必有的限制“背景必須乾淨”;這樣的改變,可以預期的就是再次討論這些演算法的可行和效率性,屆時,更完整的技術就會出來。
to 東之月兄:
Kinect用的演算法因為有要在SoC上頭處理完的前提,所以用machine learning跑patten matching,完全限定在2m前後的範圍裏面,可以看到全身的狀況,只要離開這個前提就會四處亂飛。
但是反過來說,那還是因為當成UI來用的限定之故,實話是這個FOV method的潛力無窮,不經2D畫像處理可以直接取得depth value絕對算是CV的重大突破,所以後續不只是前景看好,越多人玩絕對突飛猛進。
所以MS當然拼死命都要把Kinect弄成主流….
這週四到學校和博班與碩班學弟討論,在聽取報告後,MS的野心還真是昭然若見,目前兩大只要廠商已經被他給吃下,這明擺的專利技術不打算給人,可以預計MS會到日本設下專利設定。
不過,實際看過測試畫面還有各函數庫的設計,果然和預期中的相差不遠。
目前Kinect中,並沒有存在任何Tracker的程式,而也現有的骨架仍是NITE提供的初略骨架,可辨識訊號也有限制。
不過其中有個報告很有趣,DEPTH是使用雷射感測器,若在畫面杵於全黑情況,仍然可辨識,但是可用於辨識的單位距離並無法過度細緻;本來預期可辨識指骨扭動的問題,視乎並不容易處理。
而調整深度限制,似乎也因為感測器的先天設計,不可任意調整;這點倒是讓人看到一些可以在強化與研究的方向。
現在的方向,會先考慮將混何追蹤(Tracker)演算法應用於Kinect的depth image,這要將傳統2D的追蹤推算技術應用上來,到時可以使用在不完整目標結構的輪廓辨識上,希望這能作出點成果。
to 東之月:
depth是laser?確定?不是IR patten嗎?
以我的感想是,Kinect本身還是以給XBOX360用為前提來設計,不過還好它有把原生資料開出來的途徑,所以接到PC上可以拿來做很多事情。
反過來說360上頭的Kinect就有點雞肋了。
喔!可能是咱誤解了。
是用IR Light,紅外線光線。
看來咱把這個和雷射兩詞用混了,總覺得這兩個好像,都是某種光束結構。
T .. T .. 剛剛查了一下,果然不同,只是,雷射是一種聚光效果,紅外線則是一種光域,如果去GOOGLE一下,則會看到紅外線雷射二極體。
嘛!總之是用紅外線來偵測深度。
其實,KINECT的開發公司本身有單賣深度攝影機,據說和KINECT本身機構一樣,但是KINECT多了一個GPU來幫助運算。
如果單買深度攝影機,很多運算過程就要回歸到PC上去處理。
可是,XBOX 360的KINECT,給人感覺玩法很有限;並不是訊號少,不如說,至少咱不會想拿KINECT玩魔獸,雖然開發者提倡運動,但如果真的那樣玩,打完每日咱就要送醫院了。
Kinect的開發公司PrimeSense有賣兩種東西,一種是camara、一種是Soc。
Kinect用的SoC有把PrimeSense的原始參考設計再簡化一些,在不影響處理延遲的前提下把部分處理給HOST CPU跑。
這個取捨相當麻煩,當初Microsoft也有一陣子是全讓360跑,不過聽說3rd party大多講一句「這下子360變成Wii了」,就可以知道其實這個處理相當吃資源。
但是弄成SoC又會讓周邊成本提高。
說起來這樣的處理又是CELL吃香…..PrimeSense的OpenNI在code裏面其實也可以看得到當初有打算弄到Wii和PS3上頭。
於是態勢就很明顯了:
原始的完整SoC–給Wii用也沒有太大問題。
簡化過的SoC–現行的Kinect。
只有camara–讓PS3把處理交給CELL。
OpenNI啊!很有趣的架構程式。
看完後,倒是感覺這套架構只是用Kinect來表現。
不過運算交給PS3,那的確很吃效率。
尤其是人骨模板,那個寫起來很吃效能。
EJI大說的態勢,是指把運算功能寫進SoC中嗎?
雖然不太了解SoC的運用,但是把固定演算法寫進晶片,也算是大部分演算法的趨勢。
只是這樣作,會讓功能缺乏自由度,但效率真的會好很多。
就先前PrimeSense的人員訪談中得知的部分是,OpenNI的人骨模板已經有用machine learning給模式化,SoC裏面應該只有相對簡單的模式比對….
自由度當然是少了沒錯,但是一來這是XBOX360的限制,二來是其實Kinect也是可以輸出raw data,所以要的話後端還是可以用比較有資源的CPU來算,只是問題變成USB2.0的頻寬….PSeye也是送無壓縮的YUV,就把USB 2.0都吃得差不多了。