# 怎样的雨能在屋子里下，又不淋湿屋中的人？

- 作者：吴 垠
- 发布时间：2015-08-31 10:26
- 分类：公司
- 原文：https://www.ifanr.com/557634

[![original](https://s3.ifanr.com/wp-content/uploads/2015/08/original.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/08/original.jpg)

> 编者按：本文作者为张静，是计算机视觉、虚拟现实、增强现实等领域的专家，个人订阅号“黑客与画家”（HackerAndPainter）。

### **《雨屋》是什么？**

先插播新华网的一则新闻 ——《雨屋》登陆上海余德耀美术馆 花150元淋10分钟雨?

轰动伦敦和纽约的大型装置艺术《雨屋》，9月1日-12月31日入驻上海余德耀美术馆。在昨天的媒体预展上，记者提前感受了这场淋不到的雨，结果发现，只要你动作稍微快一点，雨还是淋得到的，人和机器互动居然还带着点自虐的快感。

余德耀美术馆引进的《雨屋》，场地面积达到150平方米，是迄今最大的一件《雨屋》。这件作品最吸引人的地方在于，它通过天花板上的高科技装置，能瞬间感知观众的行为，观众所到之处，大雨便戛然而止。《雨屋》让观众在和雨的互动中完成艺术创作，以此探讨人和技术、人和自然之间的互动关系。

### **《雨屋》是怎么实现的？**

整个装置可以分成三部分：输入、处理和输出。

输入负责室内人体数据（像素）的采集，处理负责从像素信息中得到位置（x，y坐标），输出负责控制顶部水流喷头的开和关。

![8536454458&#95;22c3e9d28f&#95;c](https://s3.ifanr.com/wp-content/uploads/2015/08/8536454458_22c3e9d28f_c.jpg)

输出部分类似下图中上海世博会鹿特丹案例馆的水幕，给个 ON 信号就出水，给个 OFF 信号水就停掉，本文不展开介绍。

[![531e47ecc1011cf08bd4f39aea938165&#95;b](https://s3.ifanr.com/wp-content/uploads/2015/08/531e47ecc1011cf08bd4f39aea938165_b.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/08/531e47ecc1011cf08bd4f39aea938165_b.jpg)

### **输入部分使用什么传感器？**

在展览展示行业中这种互动装置被称为“地面互动投影”，传感器和投影仪都位于顶部。传感器通常是带补光的红外摄像头（IR camera）或深度传感器（depth sensor）。投影仪在这个装置中被水幕所代替，原理是一样的，程序中的 RGB 像素变成 ON/OFF 开关而已。

那么，这个装置用的是红外摄像头还是深度传感器呢？看看这款装置的艺术家是怎么说的：

艺术家 Hannes Koch 来自英国的 Random Internatinal 设计工作室，披露了室内安装了多个 3D 传感器，传感器侦测人体的移动，允许雨滴在人体所在的位置停止。当人离开后，雨继续落下。每个雨水开关都有 30 英尺的干燥半径，也就是 90 厘米的半径。因此雨屋参展人数不能太多（在纽约展出的时候是限制 10 人），不然屋里的雨都会停掉。

所以用的是 3D 的深度传感器，按照行业惯例，最有可能的还是 Kinect 一代。关于深度传感器的综述，点击“查看原文”进行阅读。

[![kinect](https://s3.ifanr.com/wp-content/uploads/2015/08/kinect.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/08/kinect.jpg)

### **处理部分怎么编程？** 

互动装置都是需要编程的，这个行业涉及到的编程语言有 C++、Java 等，开发工具则是 Visual Studio、Processing、Unity3D、OpenCV 等。如果读者感兴趣，我会在后续的专栏中介绍我之前开发的一些互动装置。

从深度传感器处得到的数据如下图，离传感器越近的值越亮。

[![Rieder&#95;1](https://s3.ifanr.com/wp-content/uploads/2015/08/Rieder_1.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/08/Rieder_1.jpg)

程序在处理时将整个场景划分为一个个格子，每个格子对应一个喷水口。伪代码如下：

```text
for each cell:
   if there is non-zero pixel in the cell:
      send ON signal
   else:
      send OFF signal
```

下面的示意图由 Processing 生成：

[![e14ed4f247e22a0270f76b21a290cbf9&#95;b](https://s3.ifanr.com/wp-content/uploads/2015/08/e14ed4f247e22a0270f76b21a290cbf9_b.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/08/e14ed4f247e22a0270f76b21a290cbf9_b.jpg)

### **如何合并多个传感器的结果？**

一个深度传感器的覆盖面积在 10 平米以下，而《雨屋》的室内面积达到 150 平方米，因此需要近 20 台传感器。传感器之间的画面难免会重叠，一个人会同时出现在多个传感器点画面中，在下面的示意图中整个场景由四个传感器覆盖，实际情况比这个更复杂。（示意图由 Processing 生成。）

[![d9d447fc7a374f718477c0f930c621b3&#95;b](https://s3.ifanr.com/wp-content/uploads/2015/08/d9d447fc7a374f718477c0f930c621b3_b.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/08/d9d447fc7a374f718477c0f930c621b3_b.jpg)

因此程序中还需要设置重叠部分像素的归属权。

### **这项技术还能应用到什么场景？**

虚拟现实（Virtual Reality）中可以使用这项技术，当你戴上虚拟现实头盔（HMD），漫步在空无一物的房间中，室内定位系统检测到你的真实位置（x、y、z），头盔中渲染的则是虚拟世界中你能看到的场景（由真实的x、y、z映射到虚拟世界中）。

[![9ac7200284ee5f91d9fc6392f06af903&#95;b](https://s3.ifanr.com/wp-content/uploads/2015/08/9ac7200284ee5f91d9fc6392f06af903_b.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/08/9ac7200284ee5f91d9fc6392f06af903_b.jpg)

届时，你看到的不只是雨了，而是一个全新的世界，走得快了也不会被雨淋到。（附图为 [The VOID](http://www.ifanr.com/520370) 和 黑客帝国 3。）

[![b2cc143ca0b52c0ce2b9a7cecfff9bb2&#95;b](https://s3.ifanr.com/wp-content/uploads/2015/08/b2cc143ca0b52c0ce2b9a7cecfff9bb2_b.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/08/b2cc143ca0b52c0ce2b9a7cecfff9bb2_b.jpg)  
[![3b082a1c3232ccc6a6a4193cc2789625&#95;b](https://s3.ifanr.com/wp-content/uploads/2015/08/3b082a1c3232ccc6a6a4193cc2789625_b.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/08/3b082a1c3232ccc6a6a4193cc2789625_b.jpg)

> iShout 是 ifanr 一个读者和业内人士投稿、爆料以及分享的栏目。我们将选择优秀的文章登载在主站上并清楚注明出处。如果您希望将 iShout 投稿发布在自己的网站或博客上，请与 ifanr 主站同步发表。
> 
> 您可以邮件：info@ifanr.com 和我们取得联系，Just Do It，马上和我们分享吧～
> 
> 本文系原作者授权转载，未经作者允许，不得由此再次转载。
