Sunday 5 February 2012

How to... panorama

360˚VR in Facebook

If you have equirectangular images suitable for VR publishing on, for example 360cities, they can be uploaded direct to Facebook so they play directly in the post rather than linking to another website. This solution currently (August 2016) only works for Mac OS:

  1. Download Exif Fixer application. This is free at the time of writing.
  2. Launch the Exif Fixer and browse to a 2:1 spherical equirectangular projection jpeg in your library
  3. If the tool warns (in red) that the exif tags Facebook looks for to recognise a 360˚ panorama are not present, simply click "Write pano metadata" and your image's metadata (exif info in this case) will be augmented and it will become uploadable to Facebook, just like any other image.
This works successfully on my Mac Pro running OS 10.8.5

VR-dedicated cameras write the required Facebook exif information automatically, so don't need this procedure.

 My normal workflow

Here's my current workflow for panoramic, spherical, 360˚ 'virtual tours'. There's a good chance I could do it better. Suggestions welcome. I have included links to hardware (and equivalents) and software which  may become out of date over time. There are loads of useful sites with tips and advice about hardware and software (both free and paid-for). This is just my brain dump...

There are three production methods described below: Taking, Processing and Publishing.



Taking method:
  1. Stand in a place where there's something interesting to look at. To avoid photographing your own shadow, midday in summer takes less working round.
  2. Set camera and lens to manual. Zoom out to 10mm. Set the white balance manually too. Because the Tamron lens is designed for a DX format camera (smaller than full-frame) the effective 35mm equivalent focal length is nearer 15mm than 10mm. You can use any lens, but something wide-ish cuts down the total amount of images you need to take which, in turn, reduces the number of stitches the software has to figure out. Each image should have about a 30% overlap with its neighbour - you can work it out. Acquire a working knowledge of hyperfocal distance to set the focus. If you are using a vibration reduction (VR) lens, you can turn that off. 
  3.  Make a satisfactory exposure of the principal interest in the scene and leave the camera on that setting. I use this image as a white balance reference too.
  4. Attach the Panosaurus 2.0 (it is the best value for spherical and cylindrical panoramas, especially if you import directly from Greg, the inventor) to the tripod's ball and socket head.
  5. Unfold the pivot arm and attach the camera to the head. Now you can level it up.
  6. Point 30˚ upwards and take a series of evenly spaced photos. I use 12, though you can experiment with fewer. Level the camera and go round again using the same increments. Tilt down 30˚ and repeat. If you use a remote, you'll get less camera shake. Just one shaky photo can ruin the whole batch - it won't stitch. I generally go round clockwise...
  7. Finish off with a zenith (straight up) and a nadir (straight down) and, finally, a hand-held nadir to use as a patch 'donor' for the tripod nadir - then you'll be able remove the tripod cap from your image in Photoshop. 

Processing method:
  1. Load the images onto your computer and patch the tripod cap, remembering that the first nadir photo is the one you'll need to use.
  2. Launch Hugin.  "Load images...". In my set there will be 38 (12x3+zenith and nadir). Hugin will confirm this as well as the focal length of your lens.
  3. Click "Align...". This will take all your photos and paste them onto the inside of an imaginary sphere. Takes a few minutes but you'll see a preview building in the Fast Panorama Preview window. This process generates a .pto file. Don't worry.
  4. Then click "Create panorama...". This will use the .pto file to actually stitch and blend your images onto that sphere, then flatten them back out into a single, unified and seamless rectangle. Again, it takes my computer about 8 mins to process my 38 photos taken on highest quality jpeg setting. This process also downsamples the originals a bit. There's probably a setting to change this, but it hasn't been a concern. The resulting .tif file is about 90Mb and precisely twice as wide as it is high. That 2:1 ratio is vital for player software to recognise your image as OK for spherical projection.
  5. Your panoramic head will have helped eliminate almost all parallax errors but it is worth checking hard edged surfaces and overhead power/phone lines. Just make sure you don't make any edits which will affect the edges of the finished frame. Using a rectangular feathered mask (!) it is possible to lighten a dark foreground uniformly, or darken the area above the horizon.

Publishing options:

There are lots of ways to get your 2:1 ratio panoramic jpeg published as a spherical virtual tour. I currently just use two:
  1. Panoramic Earth. Peter Watts's site hosts panoramas from all over the world. Each is geo-locoated using Google Maps and there's some good advice as well as a network of other 360 nuts - many of them pros. Advantages: it is simple and free required no coding knowledge and enables the inclusion of html code for  embedding panoramic VTs into other web pages up to 600px wide. View stats for off-site embeds. Possible remuneration from a share in the Google Ads revenue. Disadvantages: these aren't 'white label' embeds. Max upload is a 2.8Mb jpeg. Using Panoramic Earth for commercial venues incurs an annual fee. If you want to publish your service independently, you'll need an alternative publishing method...
  2. Panorama2Flash1.00. This is a very simple to use, smooth running and reasonably customisable solution with both html and iFrame embedding options. Advantages: the watermarked 'demo' version is free. You can determine your own dimensions, resolution, spin speed and starting options. It is cheap to upgrade to the paid-for, unwatermarked version - about $50. Disadvantages: the demo version has the zoom in/out buttons the wrong way round and the controls disappear when returning from a full-screen view. Refreshing the page brings them back. I haven't bought the full version, but I'd assume these bugs were fixed or you'd get some support with a fully licensed version. These bugs may be because I'm using the iFrame option. Lastly, you need some online space to host your files. They need to be in a publicly accessible folder and include some html, the jpeg, the flash script and the associated control button gif files. I use Dropbox. It is pretty easy to tweak the iFrame code and just copy and paste it, once you are happy with the appearance. As long as you have all the assets generated by a Panorama2Flash session in a single online folder, you just need to replace the image reference with a new one. The code for this panorama looks like this:
<iframe frameborder="0" height="300" id="flash1" name="flash1" scrolling="no" src="" width="640"></iframe>


  1. Mate u take 36 pix with a 10mm lens! For a 360x180? U can do the same with even the 18mm kit lens, also with the 18mm u will get a higher resolution Pano !
    I think the optimum min is 12(+1) photos.
    Thanks for the Panosorus advice, just the idea that all the "extra money" goes to the person who "made it" feels much better than Noodle Ninja!!!;)

  2. Oops sorrrrrryyyyy Sir,
    I just re-read ur post and I guess ur no is 12 too!
    But just read the post again n u will realise why someone would understand 12 shots evenly spaced at 30*.
    What I wanted to know is, what combinations (Numbers if u may) ? How many at pitch 30 pitch 0 n pitch -30 ?
    I too got the same Tamaron 10-24(Canon APS-C)
    N apologise for first comment, I can't delete it right now (on iPad safari) I will soon

    1. Hi Udaiveer,

      Thanks for dropping by and commenting.

      Believe it or not, I actually take 39 images: 12 x +30˚, 12 x 30˚, 12 x -30˚, a zenith and a nadir on the tripod and finally a hand-held nadir. I use the last two to make an in-register nadir with the tripod and pan-head removed. The process these 38 images in Hugin.

      My reasons are fourfold:

      1] The red marks on the Panosaurus head are easy to read - I know I could do it in fewer but there are no click stops and I find it easy to remember the red marks, which happen to be 30˚ apart.

      2] 10mm is not really 10mm on small format sensors. It is more like 15mm equivalent.

      3] I could probably get away with +30 and -30 without the horizontal, but taking the horizontal gives me the flexibility to use the resultant jpeg as a cylindrical pan rather than a spherical - some scenes work better like that.

      4] It works for me.

      I know, I really shouldfind a lower minimum as it would save a little time in processing but when I have tried sixes, objects such as railings and posts very close to the lens can become fractured in the final stitch. For the sake of an extra few seconds I'd generally rather be safe than sorry. Most of my panoramas are somewhat off the beaten track, or at least away from a road (that's what StreetView's for, right?) so the extra time/inconvenience in taking extra stills is negligible compared to the effort in getting to the destination on the right day with the right light and lugging a tripod etc.

      Be sure to post back with a link to a couple of your VTs.