硕士生如何选择三维扫描研究课题? 实例一:将多层扫描服装模型“穿”到人体模型上
對于剛入學計算機圖形,服裝工程和紡織工程等專業的碩士生和博士生,出于自己的興趣或者導師安排,經常會做一些做基于深度相機(如Kinect)的快速人體/服裝的三維掃描系統。這是一個典型的人體/服裝的表面重建問題,通常會用到剛體配準(rigid registration)和非剛體配準(non-rigid registration)算法。2種算法的選擇取決于掃描過程中人體是否可以當作剛體,通常人體的靜止狀態保持認為是3秒。當掃描的數據采集可以在3秒以內完成時,單純的剛體配準就可以得到不錯的結果。否則,需要借助于更復雜的非剛體配準。這個問題我會在以后的博客中專門給大家介紹和分析不同的掃描儀設計策略和算法選擇。
三維掃描工作,以人體/服裝掃描工作為例,如何設計精確的掃描硬件和算法已有很多研究者進行研究。如果對于剛接觸此類課題的同學,博主不建議從這個角度出發,很難找到較好的創新。相比之下,當我們拿到三維人體和服裝模型,是否有同學思考如何應用這些模型?一般來說,人體模型的需求來自于游戲動畫的角色定制,以及服裝行業的快速人體尺寸測量來選擇合身服裝。關于如何更有效的應用這些掃描數據是一個很好的研究方向,博主建議同學可以更多的思考。從研究角度來說,創新性可以是應用創新,我們用掃描技術解決一個實際問題;同時,因為解決了時間問題,通常也具備一定的工業價值。對于大多數碩士同學來說,可以作為企業面試的一個重要項目經驗。
說到這里,有些同學應該已經思考“怎么發現新的掃描數據應用呢?”。本文挑選了一篇論文為例,為大家介紹如何更深入的理解這個問題。今天介紹的論文為"Scanning and animating characters dressed in multiple-layer garments" (下載地址: https://link.springer.com/content/pdf/10.1007%2Fs00371-017-1388-3.pdf),中文的意思是"多層服裝人體的掃描和動畫"。英文流利的同學直接原文擼起來。不想看英文?沒問題,看完我下面的介紹,也能清楚的理解這篇論文。我們在閱讀科學論文時,發現好的論文往往思路清楚,總結起來可以簡化為三個主要過程:“為什么做這個?難點是什么?-> 我怎么做的?-> 最終結果比較”。下面就從這三個方面依次為大家介紹。
為什么做這個?難點是什么?答:穿衣角色在游戲,動畫和虛擬試衣等應用中都有重要極大需求。?可是構建一個穿衣人體非常不容易。借助于Maya等建模軟件,我們需要先做一個人體模型,再相應設計服裝。這個周期一般會耗費專業建模師數十個小時。由此可知這種方法太貴了,本寶寶沒建模技術,沒耐心,做不到呀。有同學會問三維掃描可以快速建模呀,干嘛還要在Maya里構建人體模型?沒錯,掃描掃描是本文的重點。可是三維掃描有一個特點,它只能采集到掃描對象的最外層表面(outmost surface)。就是說我們在掃描一個穿著襯衫和短褲的小朋友時,得到的數據是單層的(Single layer),無法得到被襯衫擋住的手臂表面信息。而且經過網格重建處理,服裝數據和小朋友的身體表面都會融合在一起。這樣的一個穿衣人體不是我們想要的。我們需要一個像真實生活中可以穿著多層(multi-layer) 服裝的穿衣人體,這也是這篇論文的核心創新點,即利用只能獲取表面的三維掃描技術來快速得到一個具有多層服裝特定的人體模型。
我怎么做的?答:作者根據三維掃描的特點,采取依次獲取各層服裝和人體的策略。如圖1所示,先找個“裸模”站著掃描一次得到人體模型。讓這個“裸模”穿上一件裙子再掃描一次,就有了完整裙子的數據。同理,再依次穿上更多的服裝進行掃描。圖1中包含1個人體模型和3層服裝模型。
? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖1 掃描流程示意圖
在掃描過程中,掃描對象即使保持了相似的姿態(這個姿態有個通用名稱A-pose,中外通用哦),但想要把每層衣服都穿在人體模型上還是有難度的:(1)怎么提取出服裝模型?(2)怎么讓服裝和人體模型的姿態是一致的?本文對于提取服裝模型的處理不夠友善,采用先將不規則的三角網格轉變為規則的網格,再手動沿著規則邊剪裁需要的服裝數據。這樣可以保證提取出的服裝模型具有光滑的邊緣。將服裝模型“穿”到人體模型上,服裝專業屬于一個“姿態同步問題”,圖形專業稱之為“鉸鏈迭代最近點配準”問題(articulated-ICP registration)。ICP(iterative closest point)是一種經典剛體配準算法,后面的博客中也會為大家詳細介紹。本文的做法是用一個已有骨骼(skeleton)和皮膚權重(skin weights)的人體模板,將人體模板擬合掃描人體模型,擬合后將人體模板中的骨骼和皮膚權重轉移到掃描人體模型上,使其具備姿態變化能力。這一過程理解起來需要有計算機動畫方面的相關知識,這里大家可以簡單理解我們有辦法讓“裸模”的模型像真人一起動起來,可以控制其的姿態(這個過程叫rigging)。然后可以通過改變“裸模”的姿態去一點一點適應第一層服裝(裙子模型)的模型,當然這個過程是自動完成的,是在articulated-ICP的基礎上添加了一個限制條件(見原論文中的公式(6)),約束人體是在服裝模型的內部,不會產生跑到服裝外面的錯誤結果。穿上第一層裙子后,再繼續穿上一件襯衫。這里在進行articulated-ICP時就僅需要對上半身的關節進行優化調整。穿上襯衫后,可以將皮膚權重根據最近點轉移到襯衫上,然后同樣的方法再穿上第三件外套。每層的著裝效果如圖2所示。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2 各層穿衣效果
圖2中顯示了很漂亮的多層服裝穿衣人體,至此本文的主要工作都基本介紹完了。再導入動作捕捉數據,生成動畫效果。對于動態服裝一般是有物理仿真(physically-based simulation)和即時動畫(real-time animation)2種策略。本文介紹了物理仿真經常會出現“布料太軟”的失真效果,而即時動畫技術又缺少柔性材料的視覺效果。所以作者簡單將2種策略線性插值,得到最終的動畫效果。動畫的效果可以在這里看到:https://v.youku.com/v_show/id_XMzk4MzQzNTk1Mg==.html?spm=a2hzp.8244740.0.0
介紹完后,大家會發現本文的算法創新有限,能夠成功發表的主要原因是找到一個非常好的應用創新點,最終的實驗結果也比較不錯。對于碩士生來說,發表這樣一類SCI論文可能會是更平滑的一種選擇。研究人員要養成良好的研究習慣,轉載時請表面本博客出處。從論文種受到啟發或用到論文種方法數據,也需要引用該論文。
水平和精力有限,如果發現有錯字,錯誤理解的地方請留言告知,博主及時改正,不誤導大家。如果有希望探討和合作的朋友,也請留言告知博主。大家一起探討,一起合作進步。博主會后續更新更多選題問題,如果有同學目前面臨選題困難,歡迎大家積極留言,博主會根據大家的需求做出相應更新。
總結
以上是生活随笔為你收集整理的硕士生如何选择三维扫描研究课题? 实例一:将多层扫描服装模型“穿”到人体模型上的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java文件分割器_JAVA学习课第五
- 下一篇: 广东迅视资管 有温度更要守法度