1461141930-4116dbbb-4b82-4c3c-ab81-70487aff9b35

1. A computer-implemented method, comprising:
identifying suggestions for an input of a user, each of the suggestions including one or more characters not present in the input;
identifying one or more user attributes associated with the user;
identifying, for a given suggestion of the suggestions, a set of one or more of the user attributes that are each associated with the given suggestion;
identifying, for each of the user attributes of the set, a bias measure for the given suggestion, wherein the bias measure for a given user attribute of the set is based on a measure of submissions associated with the given suggestion by a set of users having indicated interactions associated with the given user attribute;
determining an overall bias measure for the given suggestion based on the bias measures for the user attributes of the set; and
determining a ranking of the given suggestion for the input based on the overall bias measure.
2. The computer-implemented method of claim 1, wherein the bias measure for the given user attribute of the set is based on a measure of the indicated interactions associated with the given user attribute by the set of users.
3. The computer-implemented method of claim 2, wherein the given user attribute of the set is associated with one or more documents or locations and wherein the set of users having indicated interactions with the given user attribute includes users having indicated interactions with the one or more documents or locations.
4. The computer-implemented method of claim 3, wherein the measure of the indicated interactions associated with the given user attribute by the set of users is based on one or more popularity measures of the one or more documents or locations.
5. The computer-implemented method of claim 2, wherein the measure of the indicated interactions by the set of users is based on comparison of the indicated interactions to additional indicated interactions, the additional indicated interactions including interactions with additional documents or locations that are not included in the one or more documents or locations.
6. The computer-implemented method of claim 1, further comprising:
identifying a submission of the given suggestion by the user;
identifying additional suggestions for a second input of the user, wherein the second input is subsequent to the submission of the given suggestion;
identifying, for a second given suggestion of the additional suggestions, a second set of one or more of the user attributes that are each associated with the second given suggestion, wherein the second set includes one or more overlapping attributes of the user attributes that are also included in the set; and
determining a second overall bias measure for the second given suggestion, wherein the second overall bias measure is based on the bias measures for the overlapping attributes.
7. The computer-implemented method of claim 6, further comprising:
identifying, for each of the user attributes of the second set, a second bias measure for the second given query suggestion;
wherein determining the second overall bias measure for the second given query suggestion is further based on the second bias measures.
8. The computer-implemented method of claim 7, wherein the given user attribute is included in the second set, and wherein the second bias measure for the given user attribute is based on a measure of submissions associated with the second given suggestion by the set of users having the indicated interactions associated with the given user attribute.
9. The computer-implemented method of claim 7, wherein the second bias measures for the second given suggestion and the bias measures for the overlapping attributes are weighted evenly in determining the second overall bias measure for the second given suggestion.
10. The computer-implemented method of claim 7, wherein the second bias measures for the second given suggestion are weighted more heavily than the bias measures for the overlapping attributes in determining the second overall bias measure for the second given suggestion.
11. The computer-implemented method of claim 1, further comprising:
identifying, for a second suggestion of the suggestions, an additional set of one or more of the user attributes that are each associated with the second suggestion;
identifying, for each of the user attributes of the additional set, a second suggestion bias measure for the second suggestion;
determining a second suggestion overall bias measure for the second suggestion based on the second suggestion bias measures for the user attributes of the additional set; and
determining a ranking of the second suggestion based on the second suggestion overall bias measure.
12. The computer-implemented method of claim 11, wherein one or more of the user attributes of the set are not present in the additional set.
13. The computer-implemented method of claim 11, wherein the set and the additional set include one or more same of the user attributes.
14. The computer-implemented method of claim 1, wherein the input is a partial query.
15. A computer-implemented method, comprising:
identifying a query submitted by a user;
identifying one or more user attributes associated with the user;
identifying, for the query, a set of one or more of the user attributes that are each associated with the query;
identifying, for each of the user attributes of the set, a bias measure for the query, wherein the bias measure for a given user attribute of the set is based on a measure of submissions associated with the query by a set of users having the given user attribute;
identifying query suggestions for a second query of the user, wherein the second query is subsequent to the query and wherein each of the query suggestions includes one or more characters not present in the query;
identifying, for a given query suggestion of the query suggestions, a second set of one or more of the user attributes that are each associated with the given query suggestion, wherein the second set includes one or more overlapping attributes of the user attributes that are also included in the set;
determining an overall bias measure for the given query suggestion, wherein the overall bias measure is based on the bias measures for the overlapping attributes; and
determining a ranking of the given query suggestion for the second query based on the overall bias measure.
16. The computer-implemented method of claim 15, wherein a given user attribute of the set is associated with one or more documents and wherein the bias measure for the given user attribute of the set is based on a measure of indicated interactions by the set of users with the one or more documents.
17. The computer-implemented method of claim 16, wherein the measure of the indicated interactions by the set of users with the one or more documents is based on one or more popularity measures of the one or more documents.
18. The computer-implemented method of claim 16, wherein the measure of the indicated interactions by the set of users with the one or more documents is based on comparison of the indicated interactions to additional indicated interactions, the additional indicated interactions including interactions with additional documents that are not included in the one or more documents.
19. The computer-implemented method of claim 15, further comprising:
identifying, for each of the user attributes of the second set, a second bias measure for the given query suggestion;
wherein determining the second overall bias measure is further based on the second bias measures.
20. The computer-implemented method of claim 19, wherein the given user attribute is included in the second set, and wherein the second bias measure for the given user attribute is based on a measure of submissions associated with the given query suggestion by the set of users having the given user attribute.
21. The computer-implemented method of claim 19, wherein the second bias measures for the given query suggestion and the bias measures for the overlapping attributes are weighted evenly in determining the overall bias measure for the given query suggestion.
22. The computer-implemented method of claim 19, wherein the second bias measures for the given query suggestion are weighted more heavily than the bias measures for the overlapping attributes in determining the overall bias measure for the given query suggestion.
23. The computer-implemented method of claim 15, wherein one or more of the user attributes of the set are not present in the second set.
24. The computer-implemented method of claim 15, wherein determining the overall bias measure based on the bias measures for the overlapping attributes is dependent on the second query and the query being part of a query session.
25. A system including memory and one or more processors operable to execute instructions stored in the memory, comprising instructions to:
identify suggestions for an input of a user, each of the suggestions including one or more characters not present in the input;
identify one or more user attributes associated with the user;
identify, for a given suggestion of the suggestions, a set of one or more of the user attributes that are each associated with the given suggestion;
identify, for each of the user attributes of the set, a bias measure for the given suggestion, wherein the bias measure for a given user attribute of the set is based on a measure of submissions associated with the given suggestion by a set of users having indicated interactions associated with the given user attribute;
determine an overall bias measure for the given suggestion based on the bias measures for the user attributes of the set; and
determine a ranking of the given suggestion for the input based on the overall bias measure.
26. The system of claim 25, wherein the bias measure for the given user attribute of the set is based on a measure of the indicated interactions associated with the given user attribute by the set of users.
27. The system of claim 26, wherein the given user attribute of the set is associated with one or more documents or locations and wherein the set of users having indicated interactions with the given user attribute includes users having indicated interactions with the one or more documents or locations.
28. The system of claim 27, wherein the measure of the indicated interactions associated with the given user attribute by the set of users is based on one or more popularity measures of the one or more documents or locations.
29. The system of claim 26, wherein the measure of the indicated interactions by the set of users is based on comparison of the indicated interactions to additional indicated interactions, the additional indicated interactions including interactions with additional documents or locations that are not included in the one or more documents or locations.
30. The system of claim 25, wherein the instructions further include instructions to:
identify a submission of the given suggestion by the user;
identify additional suggestions for a second input of the user, wherein the second input is subsequent to the submission of the given suggestion;
identify, for a second given suggestion of the additional suggestions, a second set of one or more of the user attributes that are each associated with the second given suggestion, wherein the second set includes one or more overlapping attributes of the user attributes that are also included in the set; and
determine a second overall bias measure for the second given suggestion, wherein the second overall bias measure is based on the bias measures for the overlapping attributes.
31. The system of claim 30, wherein the instructions further include instructions to:
identify, for each of the user attributes of the second set, a second bias measure for the second given query suggestion;
wherein the second overall bias measure for the second given query suggestion is further based on the second bias measures.
32. The system of claim 31, wherein the given user attribute is included in the second set, and wherein the second bias measure for the given user attribute is based on a measure of submissions associated with the second given suggestion by the set of users having the indicated interactions associated with the given user attribute.
33. The system of claim 25, wherein the instruction further include instructions to:
identify, for a second suggestion of the suggestions, an additional set of one or more of the user attributes that are each associated with the second suggestion;
identify, for each of the user attributes of the additional set, a second suggestion bias measure for the second suggestion;
determine a second suggestion overall bias measure for the second suggestion based on the second suggestion bias measures for the user attributes of the additional set; and
determine a ranking of the second suggestion based on the second suggestion overall bias measure.
34. The system of claim 33, wherein one or more of the user attributes of the set are not present in the additional set.
35. A non-transitory computer readable storage medium storing computer instructions executable by a processor to perform a method comprising:
identifying suggestions for an input of a user, each of the suggestions including one or more characters not present in the input;
identifying one or more user attributes associated with the user;
identifying, for a given suggestion of the suggestions, a set of one or more of the user attributes that are each associated with the given suggestion;
identifying, for each of the user attributes of the set, a bias measure for the given suggestion, wherein the bias measure for a given user attribute of the set is based on a measure of submissions associated with the given suggestion by a set of users having indicated interactions associated with the given user attribute;
determining an overall bias measure for the given suggestion based on the bias measures for the user attributes of the set; and
determining a ranking of the given suggestion for the input based on the overall bias measure.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method comprising:
projecting an infra-red pattern onto a three-dimensional object;
producing a first image of the three-dimensional object while the pattern is projected on the three-dimensional object, the first image (i) including the three-dimensional object and the pattern, (ii) being a two-dimensional digital image including pixels, and (iii) being produced by capturing at a first camera light filtered through an infra-red filter;
producing a second image of the three-dimensional object while the pattern is projected on the three-dimensional object, the second image (i) including the three-dimensional object and the pattern, (ii) being a two-dimensional digital image including pixels, and (iii) being produced by capturing at a second camera light filtered through an infra-red filter, and the first and second cameras arranged as a first stereo pair having a known physical relationship;
establishing a first-pair correspondence between a portion of the pixels of the first image and a portion of the pixels of the second image;
producing a third image of the three-dimensional object while the pattern is projected on the three-dimensional object, the third image (i) including the three-dimensional object but not the pattern and (ii) being a two-dimensional digital image including pixels; and
constructing, based on the first-pair correspondence and the third image, a two-dimensional image that depicts a three-dimensional construction of the three-dimensional object.
2. The method of claim 1 wherein projecting the infra-red pattern comprises projecting a non-random infra-red pattern.
3. The method of claim 1 wherein establishing the first-pair correspondence comprises:
determining a correspondence between an initial pixel in the first image and a corresponding pixel in the second image; and
determining a correspondence between additional pixels in the first image and corresponding pixels in the second image, based on the correspondence between the initial pixel in the first image and its corresponding pixel in the second image.
4. The method of claim 1 wherein establishing the first-pair correspondence comprises:
determining a correspondence between a first initial pixel located on a first particular horizontal line in the first image and a first corresponding pixel that corresponds to the first initial pixel, wherein the first corresponding pixel is located on the first particular horizontal line in the second image;
determining a correspondence between additional pixels located on the first particular horizontal line in the first image and corresponding pixels that correspond to the additional pixels, wherein the corresponding pixels are located on the first particular horizontal line in the second image;
determining a correspondence between a second initial pixel located on a second particular horizontal line in the first image and a second corresponding pixel that corresponds to the second initial pixel, wherein the second corresponding pixel is located on the second particular horizontal line in the second image; and
determining a correspondence between additional pixels located on the second particular horizontal line in the first image and corresponding pixels that correspond to the additional pixels, wherein the corresponding pixels are located on the second particular horizontal line in the second image.
5. The method of claim 1 wherein establishing the first-pair correspondence comprises:
determining a correspondence between an initial pixel in each horizontal line in the first image and a corresponding pixel in each horizontal line in the second image; and
determining a correspondence between additional pixels in the first image and corresponding pixels in the second image, based on the correspondence between the initial pixel in each horizontal line in the first image and its corresponding pixel in each horizontal line in the second image.
6. The method of claim 1 wherein the pattern comprises vertical stripes.
7. The method of claim 5 wherein the first initial pixel is a centroid pattern pixel calculated from the pattern pixels in the first particular horizontal line.
8. The method of claim 4, wherein determing the correspondence for at least one of the additional pixels located on the second particular horizontal line in the first image is based on the correspondence determined for at least one other pixel located in the second particular horizontal line.
9. The method of claim 4, wherein determing the correspondence for at least one of the additional pixels located on the second particular horizontal line in the first image is based on the correspondence determined for at least one pixel located in the first particular horizontal line.
10. The method of claim 9 wherein the at least one pixel located in the first particular horizontal line is in a common stripe edge with the at least one of the additional pixels located in the second particular horizontal line.
11. The method of claim 1 wherein constructing the two-dimensional image that depicts the three-dimensional construction comprises:
forming a first set of three-dimensional points based on the first-pair correspondence; and
producing a first three-dimensional surface model based on the first set of three-dimensional points.
12. The method of claim 1 further comprising:
producing a fourth image of the three-dimensional object while the pattern is projected on the three-dimensional object, the fourth image being a two-dimensional digital image including pixels and being produced by capturing at a fourth camera light filtered through an infra-red filter;
producing a fifth image of the three-dimensional object while the pattern is projected on the three-dimensional object, the fifth image being a two-dimensional digital image including pixels and being produced by capturing at a fifth camera light filtered through an infra-red filter, the fourth and fifth cameras arranged as a second stereo pair having a known physical relationship; and
establishing a second-pair correspondence between a portion of the pixels of the fourth image and a portion of the pixels of the fifth image,
wherein constructing the two-dimensional image that depicts the three-dimensional construction of the three-dimensional object is further based on the second-pair correspondence.
13. The method of claim 12 wherein constructing the two-dimensional image that depicts the three-dimensional construction comprises:
producing a first three-dimensional surface model based on the first-pair correspondence;
producing a second three-dimensional surface model based on the second-pair correspondence; and
registering the first and second three-dimensional surface models.
14. The method of claim 13 wherein registering comprises:
determining a common surface in the first and the second three-dimensional surface models;
producing an initial estimate for a registration matrix based on the common surface; and
determining the closest points between the first and the second three-dimensional surface models based on the initial estimate for a registration matrix.
15. The method of claim 13 wherein:
producing the first three-dimensional surface model comprises:
forming a first set of three-dimensional points based on the first-pair correspondence; and
producing the first three-dimensional surface model based on the first set of three-dimensional points, and

producing the first three-dimensional surface model comprises:
forming a second set of three-dimensional points based on the second-pair correspondence; and
producing the second three-dimensional surface model based on the second set of three-dimensional points.
16. The method of claim 13 further comprising:
integrating, after the registering, the first and second three-dimensional surface models to produce an integrated three-dimensional surface model; and
providing texture to the integrated three-dimensional surface model.
17. The method of claim 1 wherein producing the third image comprises producing the third image by capturing non-filtered light at a third camera.
18. The method of claim 17 wherein the third camera is a texture camera.
19. A system comprising:
a first stereo camera pair including a first camera coupled to a second camera;
a second stereo camera pair including a third camera coupled to a fourth camera;
a set of four infra-red filters, with a separate one of the four infra-red filters operatively coupled to each of four cameras;
a projector; and
a computer readable medium coupled to each of the four cameras and to the projector, and including instructions for performing at least the following:
projecting an infra-red pattern from the projector onto a three-dimensional object;
producing a first image of the three-dimensional object while the pattern is projected on the three-dimensional object, the first image (i) including the three-dimensional object and the pattern, (ii) being a two-dimensional digital image including pixels, and (iii) being produced by capturing at a first camera light filtered through an infra-red filter;
producing a second image of the three-dimensional object while the pattern is projected on the three-dimensional object, the second image (i) including the three-dimensional object and the pattern, (ii) being a two-dimensional digital image including pixels, and (iii) being produced by capturing at a second camera light filtered through an infra-red filter, and the first and second cameras arranged as a first stereo pair having a known physical relationship;
establishing a first-pair correspondence between a portion of the pixels of the first image and a portion of the pixels of the second image;
producing a third image of the three-dimensional object while the pattern is projected on the three-dimensional object, the second third image (i) including the three-dimensional object but not the pattern, (ii) being a two-dimensional digital image including pixels, and (iii) being produced by capturing light at a texture camera; and
constructing, based on the first-pair correspondence and the third image, a two-dimensional image that depicts a three-dimensional construction of the three-dimensional object.
20. The system of claim 19 wherein the projector includes a lighting source capable of producing light in the visible spectrum and in the infrared spectrum.
21. The system of claim 20 wherein the projector includes a fifth infra-red filter.
22. The system of claim 19 wherein the computer readable medium comprises one or more of a processing device and a storage device.
23. A computer readable medium including instructions for performing at least the following:
accessing a first image captured of a three-dimensional object, the first image having been captured while a pattern is projected on the three-dimensional object, the first image (i). including the three-dimensional object and the pattern, (ii) being a two-dimensional digital image including pixels, and (iii) being produced by capturing at a first camera light filtered through an infra-red filter;
accessing a second image captured of the three-dimensional object, the second image having been captured while the pattern is projected on the three-dimensional object, the second image (i) including the three-dimensional object and the pattern, (ii) being a two-dimensional digital image including pixels, and (iii) being produced by capturing at a second camera light filtered through an infra-red filter;
establishing a first-pair correspondence between a portion of the pixels of the first image and a portion of the pixels of the second image, the first-pair correspondence being established based on the first and second cameras having been arranged as a first stereo pair having a known physical relationship while the first and second images were captured;
accessing a third image captured of the three-dimensional object, the third image having been captured while the pattern is projected on the three-dimensional object, the third image (i) including the three-dimensional object but not the pattern, (ii) being a two-dimensional digital image including pixels; and
constructing, based on the first-pair correspondence and the third image, a two-dimensional image that depicts a three-dimensional construction of the three-dimensional object.