1. A computer-implemented method for determining a layout of information in a document, the method comprising: receiving an image of the document; receiving an identifier of a user; prior to performing an image analysis on the image, selecting an initial layout of the document based on the identifier; performing the image analysis on the image to calculate features, wherein the features include binary robust invariant scalable keypoints or fast retina keypoints; determining a layout of the document based on the calculated features, as well as spatial constraints and grammatical constraints associated with the initial layout, wherein the layout specifies locations of content in the document; sending information specifying the determined layout to the user; requesting feedback regarding the determined layout; receiving the requested feedback, wherein the feedback confirms that the determined layout matches the document; populating fields in a form with the content, wherein the form matches the determined layout such that the content appears in the specified locations in the form; and sending the form for presentation on a display in the determined layout to the user.