I'm trying to build a model of the demolished KCR terminus in TST by using computer software to process old photos and / or videos of the building in computer software.
I'll need sharp photos that show the building from different angles. Films or videos that pan around the building will also be very helpful. If you know of any, please send me an email or let me know in the comments below.
I first talked about this idea back in 2008. I tried to use the then-new Microsoft Photosynth to build a model of the old KCR terminus in TST from photos. Despite several different attempts, I didn't have much success. You can read about that attempt at: http://gwulo.com/hong-kong-lost-historic-buildings
Seven years have passed, which is a long time in the software world, so when Phil posted this photo it was clearly time to revisit the project. It shows 3D models of buildings near Repulse Bay, displayed in Google Earth. Google creates the models automatically by processing collections of aerial photos:
The type of tools I'll need use a technique called "Structure from motion", or SFM. The computer analyses photos of an object taken from several angles, looking for matching points that appear in multiple photos. It uses them to build up a 3D model of the original object.
Here's the first model I've built using the current software. It's a model of the clocktower, built from the photos that I took of it back in 2008:
KCRClocktower by gwulo on Sketchfab
I'll jot down notes in the comments below as I try different things, both to give an update on progress and to give you ideas on how to repeat the process if you'd like to try it with another building. (If you do, please leave a link to the models you create.)
Regards, David
Tries #1 & 2: fail.
I'm using VisualSFM to build a model from the photos. It is free software available at: http://ccwu.me/vsfm/
For the first attempt I gave it all the photos, old & new of the KCR terminus from the 2008 attempt. It found very few matches and wasn't able to build a model.
Then for the second try I simplified it to just give it modern photos of the clocktower that I'd taken in 2008. It was better, in that it built a model. But the model only had three sides instead of four - the back of the tower was open. The software incorrectly assumed that photos of the back of the tower actually showed the front.
Try #3 : hints make first model
The photos of the clocktower were taken on several visits in 2008, so as you looked down the list of photos they jumped randomly around the tower.
I thought it might help if I could hint to the software how the photos should be arranged. I imagined walking around the tower in a circle, and arranged the photos in the order they'd appear. I gave each image file a numeric prefix, 00100-, 00200-, 00300-, etc, to put it at the right place in the sequence.
When I asked VisualSFM to match the photos, I chose the "Compute sequential match" option, and told it to match the five photos either side of the current one.
This was enough to help it match the photos correctly, and a four-sided model of the clocktower was produced:
KCRClocktower by gwulo on Sketchfab
I used Meshlabs and Blender to generate the model with texture, and loaded the finished model to Sketchfab for display. Initially the model was too large to upload to the free account on Sketchfab, so I used the "decimate" option in Blender to reduce its size.
Next steps:
When I introduce old photos into the sequence, I expect there will be too many differences between the old and new backgrounds, which will cause the matching to fail. So I plan to mask out all background to just leave the KCR terminus buildings.
The first step will be to edit the 2008 clocktower photos to mask out the background AND any of the tower that wasn't visible in the old photos. (Originally the tower was part of the larger building, so parts of the lower section of the tower were covered by other parts of the structure, and were out of sight.) Then build a model that just shows this "visible in the old building" tower.
Next choose a year for the KCR Terminus as our baseline. The building was altered over the years, so choose a year and then for any photos that are newer or older, mask out any parts of the building that looked different.
Then choose the highest-resolution photo of the old building that has a clear view of the clock tower. Mask it, and test matching after it is inserted into the sequence.
Once we try matching more than one old photo, the sequential matching may not work any more, as we also want to match between old photos, including some aerial views that won't fit the sequence. If that is a problem, try providing our own pair-list to specify which images should have matches.