3D Stereogram
Each eye of the viewer is fed a different image of the 3D scene to have an illusion of depth.
- Red/green stereograms
- Single image random dot stereograms (SIRDS)
- Active shutter systems (e.g. TV)
- Polarization systems (e.g. cinemas)
Red/Green 3D Stereogram
Store the two images in different color channels, then filter them by wearing spectacles.Parallel image planes can be ensured either by using highly calibrated stereoscopic cameras, or recovering from any stereo pair of images.
Recovering Parallel Image Planes
Recover Camera Extrinsics
Assume camera calibration matrix $$K$$ is known.
- Take two pictures
- Estimate fundamental matrix $$F$$
- Corresponding features
- Recover essential matrix $$E$$
- $$E = K^T F K$$
- Recover relative rotation $$R$$ & relative translation $$T$$
- $$E = [T]_xR$$
Rectification
- $$R_r$$
- Align $$X_c$$ with $$T$$
- Align $$Y_c$$ with $$V_I$$ parallel to the intersection of the two image planes
- Align $$Z_c$$ with $$T \times V_I$$
$$ R_r = \begin{bmatrix} V_x^T \ V_y^T \ V_z^T \end{bmatrix}\ \begin{aligned} V_x &= \frac{-R^TT}{|T|}\ V_y &= (R^T \begin{bmatrix}0\0\1\end{bmatrix}) \times \begin{bmatrix}0\0\1\end{bmatrix}\ V_z &= V_x \times V_y\ \end{aligned}
$$
Relate Raw & Rectified Images
Relate ray $$p$$ in the raw image to ray $$p_r$$ in the rectified image:
$$ p_r = R_r p
$$
With $$K$$:
$$ K^{-1}\tilde{w}_r = R_r K^{-1}\tilde{w}\ KR_r^{T}K^{-1}\tilde{w}_r = \tilde{w}
$$
Finally, associate the grey level $$I(w)$$ with each pixel $$w_r$$ in the rectified image.
Single Image Random Dot Stereogram
Does not require any special equipment.
A pattern of dots repeats across the width of the SIRDS with subtle distortion in accordance with the disparities from the 3D scene.
By solving the correspondence problem within the same image, the resulting disparity map would enable the perception of depth; but our visual system can only solve the correspondence problem from the left & right images but not the same image.
Diverge the eyes to look at adjacent repeats of the pattern:
Construction
- Place an image plane between the 3D scene & the two viewpoints
- Assign an arbitrary color to a given point $$X$$
- Project $$X$$ onto the image as $$x_l$$ and $$x_r$$
- Locate & assign the same color to points that will project as $$x_l$$ or $$x_r$$
- Repeat 3.4. with the new points
- All the points lie on the same epipolar plane, and all the image points lie on the same epipolar line
- Repeat 2.-5. with a new color
- Assign a random color to unfilled pixels