原文链接:https://developers.google.com/tango/overview/depth-perception
工作原理
深度感知技术能让应用感知现实世界中物体之间的距离。想要让Tango 设备具备该能力,设备生产厂商可以从几个常见的深度感知技术中选择一种并实现之:结构光(Structured Light),TOF 相机(Time of Flight),立体相机。(关于这三种技术,参见 《High-Fidelity Augmented Reality Interactions》——译者注)。其中,前两种技术需要使用红外投影仪和红外线传感器,而立体相机不需要。
深度感知技术可以应用于诸多场景中:
- 在游戏中检测玩家向墙壁或其他物体移动;
- 结合使用深度感知和运动追踪技术,能够测量某区域中同一片点云在不同坐标帧中的距离;
- 结合使用深度数据和色彩图像数据,在渲染纹理或网格(关于 Unity Mesh 参见 《Unity Mesh 初体验》——译者注)时查找点云中的色彩;
使用建议
当前的tango设备是为室内场景设计的,在室内大约 0.5-4米的距离范围内效果最优。这种设计能够最好的兼顾红外线和数据计算带来的耗电,并保证获取的深度数据最优。而对于近距物体扫描或手势检测,效果却不理想。
有些设备是使用相机观测红外线来实现深度感知的,这些设备在某些情景下无法实现精确的深度感知。比如,由于日光或白炽灯中含有大量的红外线,所以日光或白炽灯覆盖的区域,以及无法反射红外线的物体,都是无法被感知的。
点云
tango API 以点云的形式返回深度数据。点云中包含当前环境中能够获取的尽可能多的(x, y, z)坐标,每一维数据都是浮点型,单位是米,表示其在坐标帧中位置。
更多信息,见 TangoPointCloud 结构体。
以下是原文
How it works
Depth Perception gives an application the ability to understand the distance to objects in the real world. To implement Depth Perception, manufacturers of Tango devices can choose among common depth technologies, including Structured Light, Time of Flight, and Stereo. Structured Light and Time of Flight require the use of an infrared (IR) projector and IR sensor; Stereo does not.
Depth Perception can be useful in a number of ways:
- A game might want to detect when the user is approaching a wall or other object in the area and have that be part of the gameplay.
- By combining Depth Perception with Motion Tracking, the device can measure distances between points in an area that aren’t in the same frame.
- Depth data can be associated with the color image data to look up the color for a point cloud for texturing or meshing.
Usability tips
Current devices are designed to work best indoors at moderate distances (0.5 to 4 meters). This configuration gives good depth at a distance while balancing power requirements for IR illumination and depth processing. It may not be ideal for close-range object scanning or gesture detection.
For a device that relies on viewing IR light using its camera, there are some situations where accurate Depth Perception is difficult. Areas lit with light sources high in IR like sunlight or incandescent bulbs, or objects that do not reflect IR light, cannot be scanned well.
Point clouds
The Tango APIs provide a function to get depth data in the form of a point cloud. This format gives (x, y, z) coordinates for as many points in the scene as are possible to calculate. Each dimension is a floating point value recording the position of each point in meters in the coordinate frame of the depth-sensing camera.
For more information, see the TangoPointCloud struct API reference.