1. A method comprising: receiving, at a cloud-based computation service from a client computing device over a network, a collection of digital photographs and a request from the client computing device over the network to create a three-dimensional model of the collection; and at least partly in response to the receiving: allocating multiple groups of digital photographs of the collection to multiple different computation servers of the cloud-based computation service; converting, by at least one computation server of the multiple different computation servers and at least partly in parallel, first versions of the digital photographs of the group allocated to the at least one computation server, to second versions of the digital photographs, the second versions of the digital photographs having different resolutions than the first versions of the digital photographs; extracting, by the at least one computation server of the multiple different computation servers, one or more features from each digital photograph of the group allocated to the at least one computation server; matching, by the at least one computation server of the multiple different computation servers, digital photographs to one another based at least in part on the features extracted from the digital photographs; providing results of the matching to a reconstruction server accessible via the network from the client computing device of the cloud-based computation service; and creating, by the reconstruction server, the three-dimensional model of the collection based at least in part on the second versions of the digital photographs of the collection and the results of the matching.