Photogrammetry I

Since 2014 I have been researching and trialling photogrammetry as an aid in rebuilding the fuselage of Vampire A79-733. My efforts have only been sporadic due to my usual lack of focus and other priorities.

My first photogrammetry used Autodesk 123D. I was also thinking about possibilities for 3D printing. Starting with something simple, I chose a TR-1936 controller because I wanted to make a mockup of a TR-1520 controller – the latter seems to be made of unobtanium. From a reverse-engineering point-of-view, this was not a particularly good idea; the boxes are very simple and the obvious method would be to get out the ruler and just measure up or even just cannibalise a 1936 unit. Starting with something simple was all that lay behind it. I had already done a fair bit of reading about photogrammetry so was aware of object characteristics that are unhelpful to the process. This simple test highlighted these issues. The controller I used was of very good condition and was very clean. The controller has plenty of reflective surfaces; the Perspex of the dial window, the nice fresh knob, the glossy lacquer over the ink mod markings and even the overall black paint. The basic photogrammetry process relies upon many unique features to triangulate upon. A uniform surface – the smooth black paint – is a ‘large’ expanse of nothing to triangulate. A glossy surface reflects and may just transfer ambient diffuse light to the camera lens or a reflection of something beyond in the area that surrounds the object. The Perspex of the channel dial may send light or a reflection of something beyond to the camera, or the camera may see the characters of the dial itself, or in one photograph, we might see a combination of both. Seeing different things from different angles ‘does not compute’. Depending on the software, it may present the initial result with holes or it may have some means of creating infill.

The TR-1936 controller with 123D was a disaster! Knowing the limitations, I then created a 123D project using a ‘Bug’ by artist Mark Brown. This was initially very successful, but then I made one mistake. Fatal. And in 123D there is no undo. I lost most of the job which had been very tedious. While I wanted to take the project  to completion, working on the cloud started to be a problem and I gave up out of frustration. 123D is targeted at 3D printing and has a strong infill capability. I quickly decided that 123D was not for my main project and went elsewhere.

123D result of Mark Brown's Xmas Drone (2004) using 28 photos

123D result of Mark Brown’s Xmas Drone (2004) using 28 photos

I had previously looked at VSFM by Changchang Wu, that has CMVS by Yasutaka Furukawa built in through the user interface, without making any real progress. This time I ran photo series of Mark Brown Bugs. The results were ordinary only, but I could see that this was because of the quality and quantity of photographs I used, and because of the plain white-wall background to the photos.

Sometimes I become impatient. This was one of those times. I decided to leap in the deep end. I took 100 photographs of the fuselage of Vampire A79-733. Without too much fuss – just some memory problems and 17+ hours of my business-type laptop grinding away – I got a an impressive outcome. See below.

Dense point cloud reconstruction of A79-733's fuselage using VSFM and CMVS

Dense point cloud reconstruction of A79-733’s fuselage using VSFM and CMVS

After that success, I created a point cloud of a Rolls-Royce Nene Mk.103 from 170 photos. My Laptop struggled a great deal from this load; VSFM stopping several times as it ran out of memory. This was not such a big deal as VSFM stores its work as it goes, so on starting a run again, it resumes processing from where it crashed.

Rolls-Royce Nene Mk.103

Rolls-Royce Nene Mk.103

I saw these runs as a way to learn to use the software and to see what it could do; to see what I needed to do to make it useful.