1. 程式人生 > >利用Unity3D與Oculus實現機器情緒安撫師的一種方案

利用Unity3D與Oculus實現機器情緒安撫師的一種方案

(一張最原始的Unity3D中音樂視覺化粒子海的圖,想象一下,如果這幅場景出現在虛擬裝置中,輔以根據音樂頻譜變化的色彩與悅動頻率,會是怎樣的效果呢?)

    Unity3D有著非常完備的虛擬三維場景互動開發功能,以Oculus為代表的虛擬現實裝置又有著極強的視覺感染力,一副不錯的耳機可以產生身臨其境的聽覺效果(在這裡我使用的是森海塞爾頭戴式耳機),我認為結合這三者進行開發,最終可以對人的情緒產生非常顯著的影響效果,“機器情緒安撫師”系統的開發就是基於這個比較理想化的想法,這套系統經過實驗證明可以在一定程度上讓人的情緒趨於緩和,從而更專注於需要做的事。我與幾位小夥伴曾經基於這套系統撰寫論文並投稿給人機互動領域頂級會議SIGCHI,最終並沒有被接收,但我依然相信這種思路是可行的,並且會隨著硬體的進步以及人類情緒識別技術的發展變得更加吸引人。

總框架設計

    總體上說,這套系統是通過移動端來識別使用者情緒,然後通過情緒模型獲知使用者情緒的反向情緒,再通過反向情緒精準地匹配伺服器中的音樂,然後將音樂傳至虛擬現實裝置端,再通過音樂視覺化演算法輸出音樂視覺化內容。細節內容在下面這張系統架構圖中有所展現。

情緒識別

    為了完成情緒識別方面的工作,我開發了一款安卓端的手機應用,其中主要採用的是Emokit情緒檢測介面(http://www.emokit.com/),實現了使用者可以利用智慧手機隨時隨地對情緒進行多通道的檢測與記錄,客戶端的幾張截圖如下所示。

情緒模型

    在獲知了使用者情緒後,需要將情緒在某個權威的情緒模型中進行精準的定位以及數字化儲存,這裡採用的是心理學領域具有權威性的普拉奇克情緒三維模型。

    普拉奇克(Plutchik)認為情緒是多維的,它包括強度、相似性和兩極性三個維度。即(1)所有的情緒都能表現出不同的強度,如不同程度的愉快或悲傷;(2)不同的情緒在感受上的相似性,如快樂和期待、厭惡與懼怕等;(3)兩極性是指感受完全不同的兩種情緒,如悲痛與狂喜等。普拉奇克採用一個橘瓣體來形象的描述三個維度之間的關係(類似於八色相環),每個橘瓣體代表一類基本情緒,即狂喜、接受、驚奇、恐懼、悲痛、憎恨、狂怒和警惕。在這個橘瓣體中最強烈的情緒位於上部,越往下情緒強度越弱;對角位置的情緒表現出兩極性;相鄰的情緒具有相似性。

這個模型非常適合用於數字化地表示與儲存使用者情緒,原因主要是它可以很好地對映在二維座標系中,並可以利用情緒點距離清楚地表現情緒激烈程度。在實際運用過程中,我們發現這個模型的效果確實是卓越的。

音樂視覺化

(系統實際使用照片)

    音樂視覺化是本專案中非常重要的一環,從某種程度上說,音樂視覺化效果的優劣直接影響使用者沉浸感的好壞。由於本專案的音樂視覺化內容是展現在Oculus端,所以有關音樂視覺化的開發主要是基於Unity3D平臺進行的。所運用到的原理主要是在Unity場景中構建粒子系統,然後根據音樂的頻譜去改變光影粒子系統中各粒子的高度與顏色進而產生音樂視覺化效果。

注:我樂意將這裡的音樂視覺化程式碼進行開源,需要的可以在部落格下評論告訴我。

    最終,通過兩種方式進行了系統有效性的實驗,一種是依靠高效能中心中的沉浸式旋轉座椅與心電裝置做了專業級別的測試與比對,另一種是找到了40位志願者進行測試,通過情緒刺激、情緒檢測、情緒調節、二次情緒檢測的方式對每一位志願者進行測試,最終結果表明,這套系統確實對於幫助使用者情緒趨於穩定具有顯著的效果。其中在消除負面情緒方面的作用效果要優於在舒緩激烈情緒方面的作用效果。另外,這個系統具有可擴充套件性,這個框架是比較基本而又堅實的一個框架,可以通過一些技巧讓系統變得更有趣,更好用,還可以考慮移植到Hololens等別的有趣的裝置上。

 

備註:本人非常樂意分享我的文章,轉載請註明我的部落格地址:http://www.cnblogs.com/matthewli/與原文地址:http://www.cnblogs.com/matthewli/p/7247622.html,謝謝!