Vuze 3D Stitcher

Create a 3D 360 VR image from 8 fisheye images.


Project maintained by e-regular-games Hosted on GitHub Pages — Theme by mattgraham

Seam Alignment

Date: July 24, 2022

Script: features.py

Usage:

../notes/splice_360.sh -d -c config_bash_splice_360.dat
../src/features.py -c config_features.dat

The 8 seams lines within the stereo images are disorienting. Using matching feature points from the left and right eye for each seam should reduce the number of seams appearing to a person to 4. This requires matching feature points between 4 images instead of 2. Those images are the left-eye-left-of-seam, left-eye-right-of-seam, right-eye-left-of-seam, and right-eye-right-of-seam.

The best points for each seam were obtained by choosing points within 1 standard deviation of the median of all seam points. The average between the left-of-seam and right-of-seam points for each eye was sorted and combined into the seam line. The plot below shows the left-eye and right-eye seam points for the first seam, between lenses 1, 2, 3, and 4. Such a diagram is produced by the script for each set of four lenses: (1,2,3,4), (3,4,5,6), (5,6,7,8), and (7,8,1,2).

Left and Right seam points (lenses: 1, 2, 3, 4)
Hypothetical Seam Points per Lens

In addition to better seam analysis, the scrpit was enhanced to attempt a verticle alignment of images between eyes, before calculating theta/phi constants for aligning lenses within an eye. The verticle alignment was implemented as a constant offset which attempted to align each image to the average between the eyes.

Finally, the theta scaling and phi rate constants were computed using points which were found in all 4 images surrounding a seam. The average coordinate of matching features per side of the seam was used. This resulted in a single set of constants for each side of the camera: forward, back, left, right. Constants were computed using points from both eyes, the points to the right of the left seam, and the points to the left of the right seam.

Alignment Points per Stereo Pair

The improved seam analysis had an overall positive effect while the alignment per pair worsened the computed error of the theta/phi constants.

Better seam alignment

Lens Theta Scale $\overline{\theta_f - \theta_i}$ $\sigma_{\theta_f-\theta_i}$ Phi Rate $\overline{\phi_f - \phi_i}$ $\sigma_{\phi_f-\phi_i}$
1, 2 0.9044 -0.0057 0.0862 0.0022 -0.0281 0.6596
3, 4 0.8904 -0.0184 0.0686 -0.0088 -0.0921 0.6250
5, 6 0.8946 -0.0063 0.0777 0.0059 -0.1139 0.6221
7, 8 0.8938 -0.0002 0.0863 0.0034 -0.0617 0.6517