We used WarpSpherical to apply homographies to each individual image in accumulateBlend. This was beneficial for complex homographies (more than simple translations between pre-warped images) as it prevented against grid-like black lines from appearing on resulting images and also made the method of implementation very straightforward. However, it did cause us to have to implement a weight threshold, since in some instances WarpGlobal was returning alpha channels with very large negative weights. We used this weight threshold to also eliminate some noise along blending borders. One efficiency problem that we encountered with this method as well was that we were forced to scan through the entire acc image when inserting because we had not pre-calculated the size of each transformed image.
As far as using complex homographies to stitch images as opposed to stitching via translations between pre-warped images you can clearly see from the image above that this method is not very scalable. For the first couple of images it works very well, and looks thoroughly more natural than the pre-warped spherical images since the borders remain straight lines. However, as the number of images we tried to stitch increased, we ran into obvious problems with massive image distortion and scaling that can easily be seen above
We did not implement any extra credit for this assignment