The use of computer systems and computer-related technologies continues to increase at a rapid pace. This increased use of computer systems has influenced the advances made to computer-related technologies. Indeed, computer systems have increasingly become an integral part of the business world and the activities of individual consumers. Computers have opened up an entire industry of internet shopping. In many ways, online shopping has changed the way consumers purchase products. For example, a consumer may want to see recommended products and know what they will look like in and/or with those products. On the webpage of a certain product, a photograph of a model with a single particular product may be shown. However, users may want to see more accurate depictions of themselves in relation to various products.
According to at least one embodiment, a computer-implemented method for recommending products based on crowdsourcing and detecting user characteristics is described. A characteristic of a first user may be detected from an image of the first user. A plurality of products may be ranked based on crowdsourced data received for a plurality of images depicting the first user in relation to the plurality of products. One or more relatively higher ranked products from the ranking of the plurality of products may be associated with the detected characteristic of the first user. The association between the rankings of the plurality of products and the detected characteristic of the first user may be stored in a repository.
In one embodiment, a characteristic of a second user may be detected from an image of the second user. The characteristic of the first user may be compared to the characteristic of the second user. Upon determining a match exists between the characteristics of the first and second users, a product may be recommended to the second user based on the association between the one or more relatively higher ranked products and the matching detected characteristic of the first user.
In one embodiment, the plurality of images or a link to the plurality of images may be distributed to a plurality of users. A voting mechanism may be displayed in relation to the plurality of images and votes for each of the plurality of images may be collected as part of the crowdsourced data.
In one embodiment, a list of products may be generated and the one or more relatively higher ranked products may be placed towards the top of the list. A notification may be generated indicating a result of the crowdsourced data and the notification may be sent to the first user.
A computing device configured to recommend products based on crowdsourcing and detecting user characteristics is also described. The device may include a processor and memory in electronic communication with the processor. The memory may store instructions that may be executable by the processor to detect a characteristic of a first user from an image of the first user, rank a plurality of products based on crowdsourced data received for a plurality of images depicting the first user in relation to the plurality of products, and associate one or more relatively higher ranked products from the ranking of the plurality of products to the detected characteristic of the first user.
A computer-program product to recommend products based on crowdsourcing and detecting user characteristics is also described. The computer-program product may include a non-transitory computer-readable medium that stores instructions. The instructions may be executable by the processor to detect a characteristic of a first user from an image of the first user, rank a plurality of products based on crowdsourced data received for a plurality of images depicting the first user in relation to the plurality of products, associate one or more relatively higher ranked products from the ranking of the plurality of products to the detected characteristic of the first user.
Features from any of the above-mentioned embodiments may be used in combination with one another in accordance with the general principles described herein. These and other embodiments, features, and advantages will be more fully understood upon reading the following detailed description in conjunction with the accompanying drawings and claims.
The accompanying drawings illustrate a number of exemplary embodiments and are a part of the specification. Together with the following description, these drawings demonstrate and explain various principles of the instant disclosure.
While the embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, the exemplary embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the instant disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims.
The systems and methods described herein relate to recommending products to users based on crowdsourced data and detected user characteristics. Specifically, the systems and methods described herein relate to a system and method for obtaining a scan of a first user (from, for example, a camera or a video camera, etc.) and detecting characteristics of the user (e.g., hair color, skin color, eye color, size and/or shape of a part of the user such as the head, parts of the face, and other parts of the user, and the like). With the detected characteristics, the user or any number of third parties may be shown images of the user with various products. For example, the user or a third party may be shown multiple, side-by-side images of the user wearing various products (e.g., glasses, hats, scarves, purses, accessories, jewelry, etc.). The side-by-side, comparison images may be distributed for other users to view (e.g., email, text message, instant message, a web site post, a post on TWITTER®, a post on FACEBOOK®, and the like). The system may include a voting mechanism that may be sent with the comparison images to allow users to vote on one or more of their favorite images (e.g., a software application that allows a user to select and/or rank images). Additionally, or alternatively, a link to the comparison images may be distributed. The user may allow the images to be distributed in order to receive feedback on which products look best on the user. In other words, the user may seek a crowdsourced opinion on which products look best on the user. The votes (i.e., crowdsourced data) may be collected and tallied in order to determine which of the products look best on the user. The system may notify the user of the results of the voting. Additionally, or alternatively, the system may associate the top products with one or more detected characteristics of the user. For example, if the images depicted a user wearing different styles of sunglasses, one or more of the top-rated sunglasses may be associated with a characteristic of the user such as the size and shape of the user's head. The system may store associations between top-rated products and user characteristics in a database. When the system obtains a scan of another user, the system may detect one or more characteristics of the other user. The system may compare the detected characteristics of the other user to the user characteristics stored in the database. Upon determining at least one characteristic of the other user matches a characteristic stored in the database, the system may identify one or more products associated with that stored characteristic. The system may then recommend to the other user products based on the matching characteristics and products associated with that matching characteristic.
In some configurations, a device 102 may include a crowdsourcing module 104, a camera 106, and a display 108. In one example, the device 102 may be coupled to a database 110. In one embodiment, the database 110 may be internal to the device 102. In another embodiment, the database 110 may be external to the device 102. In some configurations, the database 110 may include image data 112 and crowdsourced data 114.
In one embodiment, among various operations the crowdsourcing module 104 may at least enable the detection of user characteristics, the generation of virtual depictions of a user with one or more products, the collection of crowdsourced data as to how the user looks with regards to the one or more products, and the recommendation of products to other users based on top-rated products and detected user characteristics.
The image data 112 stored in database 110 may include data related to users and or products. In one configuration, image data 112 may include characteristics of users detected from one or more images of the user. For example, the user may capture an image of the user's head using camera 106. The crowdsourcing module 104 may detect one or more characteristics from an image of the user (e.g., skin color, eye color, hair color, size and shape of at least a portion of the user, such as the size and shape of the user's head). The image data 112 may include both the images of the user as well as the detected characteristics. The crowdsourcing module 104 may associated the detected characteristics with one or more products. Thus, image data 112 may include images of the user, images of products, characteristics detected from an image of the user, and/or associations between detected characteristics of the user and various products.
The crowdsourcing module 104 may virtually depict the user in relation to two or more products (e.g., the user virtually depicted wearing multiple styles of sunglasses). The crowdsourcing module 104 may allow one or more other users to vote on which of the depicted products looks best with the user. The crowdsourcing module 104 may collect this data. In one embodiment, the database 110 stores the data as crowdsourced data 114. Further details of the crowdsourcing module 104 are described below in relation to at least
In some embodiments, the server 206 may include the crowdsourcing module 104 and may be coupled to the database 110. The database 110 may be internal or external to the server 206. In some embodiments, the database 110 may be accessible by the device 102-a and/or the server 206 over the network 204. For example, the application 202 may access the image data 112 and the crowdsourced data 114 in the database 110 via the server 206.
In some configurations, the application 202 may capture multiple images via the camera 106 and store the multiple images as part of image data 112. For example, the application 202 may use the camera 106 to capture a video. Upon capturing the multiple images, the application 202 may process the multiple images to generate image data 112. In some embodiments, the application 202 may transmit one or more images to the server 206. Additionally, or alternatively, the application 202 may transmit to and/or receive from the server 206 image data 112 and/or crowdsourced data 114 or at least one file associated with image data 112 and/or crowdsourced data 114.
In some configurations, the crowdsourcing module 104 may process multiple images of a user to detect features in an image. In some embodiments, the application 202 may process one or more image captured by the camera 106 in order to detect user characteristics.
In one embodiment, the ranking module 302 may rank a plurality of products based on crowdsourced data 114 received for multiple images depicting the first user in relation to various products. In some configurations, the ranking module 302 may enable the distribution of virtual depictions of the user with various products (i.e., user-product combinations) that allow other users to vote on their favorite user-product combinations. As described above, the votes may be stored as crowdsourced data 114 in database 110. In one embodiment, the ranking module 302 may generate a list of products and place the top-rated products, as determined by crowdsourced data 114, towards the top of the list.
In some embodiments, the matching module 304 may recommend products to a user based on characteristics of the user detected from an image of the user. The matching module 304 may match the detected characteristics of the user to characteristics previously associated with top-rated products. Further details regarding the matching module 304 are described below in relation to
The distribution module 402 may enable one or more user to vote on their favorite user-product combinations. In one embodiment, distribution module 402 may distribute comparison images or a link to comparison images to multiple users. In some embodiments, the voting module 404 may display a voting mechanism in relation to the comparison images to allow the multiple users to vote on their favorite user-product combination. The voting module 404 may collect the votes for each of the comparison images and tally the votes to determine the top-rated products for the user, which data may make up at least a part of crowdsourced data 114.
In one embodiment, the detection module 502 may detect characteristics of first and second users from one or more images of the first and second users. In some embodiments, the associating module 510 may associate top-rated products from the ranking of the user-product combinations to the detected characteristic of the user.
In some embodiments, the comparing module 504 may compare a characteristic of the first user to a characteristic of the second user. Upon determining a match exists between the characteristics of the first and second users, the recommending module 506 may recommend a product to the second user based on the association between the one or more relatively higher ranked products and the detected characteristic of the first user. In some embodiments, the storage module 512 may store the association between the rankings of the plurality of products and the detected characteristic of the first user. The notification module 508 may generate a notification indicating a result of the crowdsourced data and send the notification to a user. Thus, the matching module 304-a enables a system to notify a user of the results of requesting a crowdsourced opinion as to which products look best with and/or on the user. The matching module 304-a also enables a system to associate detected characteristics of the user with those products that rated highest in the results of the crowdsourced opinion in order to recommend the top-rated products to other users with similar detected characteristics.
In one embodiment, database entry 800 includes an association between at least one user characteristic from the user characteristics column 802 and at least one product from the products column 804. For example, the depicted characteristic head shape 1 may be associated with products A, D, and F. In one embodiment, the products of products column 804 are listed in order of popularity (i.e., for the one or more users with head shape 1, most users voted for product A, then product D, and then product F). As described above, crowdsourcing module 104 may detect a characteristic of a user, query database entry 800 to determine whether the detected characteristic matches one of the characteristics of user characteristics column 802, and upon identifying a match, may recommend products to the user according to the products associated with that matching characteristic. For example, if the shape of the user's head is determined to have the characteristics of head shape 1, then crowdsourcing module 104 may recommend products A, D, and F to the user. Thus, the crowdsourcing module 104 may collect the votes from several users and use the results to notify the user of the top-rated products, associate the top-products with characteristics of the user, and recommend top-rated products to other users based on the other users having similar characteristics.
At block 902, a characteristic of a first user may be detected from an image of the first user. At block 904, a plurality of products may be ranked based on crowdsourced data received for a plurality of images depicting the first user in relation to the plurality of products. At block 906, one or more relatively higher ranked products from the ranking of the plurality of products may be associated with the detected characteristic of the first user.
At block 1002, one or more relatively higher ranked products from the ranking of the plurality of products may be associated with the detected characteristic of the first user. At block 1004, a characteristic of a second user may be detected from an image of the second user. At block 1006, the characteristic of the first user may be compared to the characteristic of the second user. At block 1008, upon determining a match exists between the characteristics of the first and second users, a product may be recommended to the second user based on the association between the one or more relatively higher ranked products and the matching detected characteristic of the first user.
At block 1102, a plurality of images or a link to the plurality of images may be distributed to a plurality of users. At block 1104, a voting mechanism may be displayed in relation to the plurality of images. At block 1106, votes for each of the plurality of images may be collected as part of crowdsourced data. At block 1108, a notification indicating a result of the crowdsourced data may be generated. At block 1110, the notification may be sent to the first user. At block 1112, the association between the rankings of the plurality of products and the detected characteristic of the first user may be stored.
Bus 1202 allows data communication between central processor 1204 and system memory 1206, which may include read-only memory (ROM) or flash memory (neither shown), and random access memory (RAM) (not shown), as previously noted. The RAM is generally the main memory into which the operating system and application programs are loaded. The ROM or flash memory can contain, among other code, the Basic Input-Output system (BIOS) which controls basic hardware operation such as the interaction with peripheral components or devices. For example, a crowdsourcing module 104-b to implement the present systems and methods may be stored within the system memory 1206. An operation of the crowdsourcing module 104-b may be executed by one or more processors (e.g., central processor 1204). The crowdsourcing module 104-b may be one example of the crowdsourcing module 104 depicted in
Storage interface 1230, as with the other storage interfaces of computer system 1200, can connect to a standard computer readable medium for storage and/or retrieval of information, such as a fixed disk drive 1252. Fixed disk drive 1252 may be a part of computer system 1200 or may be separate and accessed through other interface systems. Modem 1248 may provide a direct connection to a remote server via a telephone link or to the Internet via an internet service provider (ISP). Network interface 1250 may provide a direct connection to a remote server via a direct network link to the Internet via a POP (point of presence). Network interface 1250 may provide such connection using wireless techniques, including digital cellular telephone connection, Cellular Digital Packet Data (CDPD) connection, digital satellite data connection or the like.
Many other devices or subsystems (not shown) may be connected in a similar manner (e.g., document scanners, digital cameras and so on). Conversely, all of the devices shown in
Moreover, regarding the signals described herein, those skilled in the art will recognize that a signal can be directly transmitted from a first block to a second block, or a signal can be modified (e.g., amplified, attenuated, delayed, latched, buffered, inverted, filtered, or otherwise modified) between the blocks. Although the signals of the above described embodiment are characterized as transmitted from one block to the next, other embodiments of the present systems and methods may include modified signals in place of such directly transmitted signals as long as the informational and/or functional aspect of the signal is transmitted between blocks. To some extent, a signal input at a second block can be conceptualized as a second signal derived from a first signal output from a first block due to physical limitations of the circuitry involved (e.g., there will inevitably be some attenuation and delay). Therefore, as used herein, a second signal derived from a first signal includes the first signal or any modifications to the first signal, whether due to circuit limitations or due to passage through other circuit elements which do not change the informational and/or final functional aspect of the first signal.
While the foregoing disclosure sets forth various embodiments using specific block diagrams, flowcharts, and examples, each block diagram component, flowchart step, operation, and/or component described and/or illustrated herein may be implemented, individually and/or collectively, using a wide range of hardware, software, or firmware (or any combination thereof) configurations. In addition, any disclosure of components contained within other components should be considered exemplary in nature since many other architectures can be implemented to achieve the same functionality.
The process parameters and sequence of steps described and/or illustrated herein are given by way of example only and can be varied as desired. For example, while the steps illustrated and/or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various exemplary methods described and/or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed.
Furthermore, while various embodiments have been described and/or illustrated herein in the context of fully functional computing systems, one or more of these exemplary embodiments may be distributed as a program product in a variety of forms, regardless of the particular type of computer-readable media used to actually carry out the distribution. The embodiments disclosed herein may also be implemented using software modules that perform certain tasks. These software modules may include script, batch, or other executable files that may be stored on a computer-readable storage medium or in a computing system. In some embodiments, these software modules may configure a computing system to perform one or more of the exemplary embodiments disclosed herein.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the present systems and methods and their practical applications, to thereby enable others skilled in the art to best utilize the present systems and methods and various embodiments with various modifications as may be suited to the particular use contemplated.
Unless otherwise noted, the terms “a” or “an,” as used in the specification and claims, are to be construed as meaning “at least one of.” In addition, for ease of use, the words “including” and “having,” as used in the specification and claims, are interchangeable with and have the same meaning as the word “comprising.” In addition, the term “based on” as used in the specification and the claims is to be construed as meaning “based at least upon.”