怎樣的雨能在屋子裏下,又不淋濕屋中的人?
引用編者按:本文作者為張靜,是計算機視覺、虛擬現實、增強現實等領域的專家,個人訂閲號“黑客與畫家”(HackerAndPainter)。
《雨屋》是什麼?
先插播新華網的一則新聞 ——《雨屋》登陸上海餘德耀美術館 花150元淋10分鐘雨?
轟動倫敦和紐約的大型裝置藝術《雨屋》,9月1日-12月31日入駐上海餘德耀美術館。在昨天的媒體預展上,記者提前感受了這場淋不到的雨,結果發現,只要你動作稍微快一點,雨還是淋得到的,人和機器互動居然還帶着點自虐的快感。
餘德耀美術館引進的《雨屋》,場地面積達到150平方米,是迄今最大的一件《雨屋》。這件作品最吸引人的地方在於,它通過天花板上的高科技裝置,能瞬間感知觀眾的行為,觀眾所到之處,大雨便戛然而止。《雨屋》讓觀眾在和雨的互動中完成藝術創作,以此探討人和技術、人和自然之間的互動關係。
《雨屋》是怎麼實現的?
整個裝置可以分成三部分:輸入、處理和輸出。
輸入負責室內人體數據(像素)的採集,處理負責從像素信息中得到位置(x,y座標),輸出負責控制頂部水流噴頭的開和關。
輸出部分類似下圖中上海世博會鹿特丹案例館的水幕,給個 ON 信號就出水,給個 OFF 信號水就停掉,本文不展開介紹。
輸入部分使用什麼傳感器?
在展覽展示行業中這種互動裝置被稱為“地面互動投影”,傳感器和投影儀都位於頂部。傳感器通常是帶補光的紅外攝像頭(IR camera)或深度傳感器(depth sensor)。投影儀在這個裝置中被水幕所代替,原理是一樣的,程序中的 RGB 像素變成 ON/OFF 開關而已。
那麼,這個裝置用的是紅外攝像頭還是深度傳感器呢?看看這款裝置的藝術家是怎麼説的:
藝術家 Hannes Koch 來自英國的 Random Internatinal 設計工作室,披露了室內安裝了多個 3D 傳感器,傳感器偵測人體的移動,允許雨滴在人體所在的位置停止。當人離開後,雨繼續落下。每個雨水開關都有 30 英尺的乾燥半徑,也就是 90 釐米的半徑。因此雨屋參展人數不能太多(在紐約展出的時候是限制 10 人),不然屋裏的雨都會停掉。
所以用的是 3D 的深度傳感器,按照行業慣例,最有可能的還是 Kinect 一代。關於深度傳感器的綜述,點擊“查看原文”進行閲讀。
處理部分怎麼編程?
互動裝置都是需要編程的,這個行業涉及到的編程語言有 C++、Java 等,開發工具則是 Visual Studio、Processing、Unity3D、OpenCV 等。如果讀者感興趣,我會在後續的專欄中介紹我之前開發的一些互動裝置。
從深度傳感器處得到的數據如下圖,離傳感器越近的值越亮。
程序在處理時將整個場景劃分為一個個格子,每個格子對應一個噴水口。偽代碼如下:
for each cell:
if there is non-zero pixel in the cell:
send ON signal else:
send OFF signal
下面的示意圖由 Processing 生成:
如何合併多個傳感器的結果?
一個深度傳感器的覆蓋面積在 10 平米以下,而《雨屋》的室內面積達到 150 平方米,因此需要近 20 台傳感器。傳感器之間的畫面難免會重疊,一個人會同時出現在多個傳感器點畫面中,在下面的示意圖中整個場景由四個傳感器覆蓋,實際情況比這個更復雜。(示意圖由 Processing 生成。)
因此程序中還需要設置重疊部分像素的歸屬權。
這項技術還能應用到什麼場景?
虛擬現實(Virtual Reality)中可以使用這項技術,當你戴上虛擬現實頭盔(HMD),漫步在空無一物的房間中,室內定位系統檢測到你的真實位置(x、y、z),頭盔中渲染的則是虛擬世界中你能看到的場景(由真實的x、y、z映射到虛擬世界中)。
屆時,你看到的不只是雨了,而是一個全新的世界,走得快了也不會被雨淋到。(附圖為 The VOID 和 黑客帝國 3。)
引用iShout 是 ifanr 一個讀者和業內人士投稿、爆料以及分享的欄目。我們將選擇優秀的文章登載在主站上並清楚註明出處。如果您希望將 iShout 投稿發佈在自己的網站或博客上,請與 ifanr 主站同步發表。
您可以郵件:[email protected] 和我們取得聯繫,Just Do It,馬上和我們分享吧~
本文系原作者授權轉載,未經作者允許,不得由此再次轉載。
資料來源:愛範兒(ifanr)
作者/編輯:吳 垠