1. A method comprising: receiving a search query at a server device, wherein the search query comprises a coarse 3D model of a target object, wherein the coarse 3D model comprises three-dimensional shape and color information about the target object, and wherein the coarse 3D model is based on a plurality of images of the target object that were captured by a mobile device; comparing the coarse 3D model to a shape-search database in a first comparison; in response to the first comparison, (i) determining that a coarse match has been found between the coarse 3D model and an object type in the shape-search database, and (ii) requesting, by the server device, additional images of the target object from the mobile device, wherein the target object is of the object type; receiving, by the server device, the additional images of the target object from the mobile device; based on the coarse 3D model and the additional images of the target object received from the mobile device, generating a refined 3D model of the target object, wherein the refined 3D model contains more information related to the target object than the course 3D model; comparing the refined 3D model to objects of the object type in the shape-search database in a second comparison; and transmitting, by the server device to the mobile device, a search query result, wherein the search query result includes information regarding one or more of the objects of the object type from the shape-search database that are similar to the refined 3D model.