Pairwise depth estimation

The PDE (Pairwise depth estimation) application uses the camera-captured 2D images to generate depthmaps and produce, for each camera, a stream of 2D images and a stream of depthmaps. See the vocabulary for an introduction to the terms used.

1: Plain screen device consumer.

The purpose of this consumer is to showcase that image+depthmap streaming functions and that it is possible to use the depth data to affect image rendering.

This consumer requires a minimum of two streams, one stream is 2D color (or grayscale) images from a camera view, and one stream is 2D depthmaps from a camera view.

This consumer is connected to a conventional 2D display as the output.

This consumer produces a modified 2D color image, wherein the modification is done based on the depthmap data (such as only showing specific depth ranges, or selective background/foreground blurring).

An absolute-minimum implementation of this consumer is a gstreamer videosink pipeline, as described here.

2: Dimenco consumer.

The purpose of this consumer is to showcase image+depthmap streaming in a visible 3D manner.

This consumer requires a minimum of two streams from the same camera view. One stream is 2D color (or grayscale) images, and the other stream is 2D depthmaps with the same resolution and view as the color images.

This consumer is connected to the Dimenco auto-stereoscopic display in L107 (3D Lab room).

This consumer uses the Dimenco libraries (formatting process) to compose the color image and depthmap and attach the information-header data in the image pixels, to instruct the Dimenco display to produce 3D views.

3: Steroscopic display consumer.

The purpose of this consumer is to showcase multi-camera image+depthmap streaming in a visible 3D manner.

This consumer requires a minimum of two camera views. Each camera view must correspond to a stream of 2D color images. Additionally, each camera view may / must have a corresponding depthmap stream.

This consumer is connected to a non-specific stereoscopic device (VR glasses, stereo-display, etc.) - i.e. anything that requires a rendered output view for left and right eye.

This consumer uses the multi-view geometry process to produce the left/right eye views from the input streams. The views are modified according to the connected display device requirements (e.g. distortion to fit VR glasses).

This consumer has the ability to select which incoming streams are to be used in the rendering process.

commit: $Id: pde.consumers.md 642 2018-03-15 10:20:13Z elidim $