Using attributes for predicting imagery performance

Information

  • Patent Grant
  • 11334750
  • Patent Number
    11,334,750
  • Date Filed
    Thursday, September 7, 2017
    6 years ago
  • Date Issued
    Tuesday, May 17, 2022
    2 years ago
Abstract
A system includes a computing device that includes a memory configured to store instructions. The system also includes a processor to execute the instructions to perform operations that include determining a ranking of images using a machine learning system. The machine learning system is trained using attributes that represent each of a plurality of training images. The attributes include imagery attributes, social network attributes, and textual attributes. Operations also include producing a listing of the ranked images for selecting one or more of the ranked images for a brand entity associated with the selected ranked images.
Description
BACKGROUND

This description relates to identifying images associated with particular subjects and that may be of interest to end viewers. By employing attributes to represent individual images, the images can be efficiently analyzed to identify appropriate images for selection and presentation.


Proportional to the astronomical growth of imagery presented over the Internet, the demand for such content has grown. Online viewers have grown accustomed to being presented a large variety of imagery when reviewing products, services, etc. While professionally prepared imagery is used to present viewers with such visuals, nonprofessionally prepared imagery is also used for presentation.


SUMMARY

The systems and techniques described can aid individuals such as designers (e.g., website designers), marketers (e.g., marketing particular brand product, services, etc.), etc. with selecting imagery for presentation to viewers (e.g., end users, potential purchasers, etc.). Employing machine learning techniques, imagery can be identified that is likely to resonate with viewers (e.g., end users). By training a machine learning system with images and image types that have previously demonstrated positive performance (e.g., attracted attention from users, received commentary on social networks, transaction generation, etc.), similarly good performing images can be identified for particular products, services, brands, etc. of interest. Once identified, images can be selected for presenting to end users (e.g., inserted into websites, webpages, etc.). Further, the presented images can be monitored (e.g., for user interaction, transactions, etc.) to collect feedback to continue training of the machine learning system and further improve predicting image performance.


In one aspect, a computing device implemented method includes determining a ranking of images using a machine learning system. The machine learning system is trained using attributes that represent each of a plurality of training images. The attributes include imagery attributes, social network attributes, and textual attributes. The method also includes producing a listing of the ranked images for selecting one or more of the ranked images for a brand entity associated with the selected ranked images.


Implementations may include one or more of the following features. The method may also include further training of the machine learning system using data associated with the ranked images. The data associated with the ranked images may represent user interactions with a subset of the ranked images. The data associated with the ranked images may present transactions with a subset of the ranked images. The imagery attributes may represent one or more colors included in a corresponding image of the plurality of training images. The textual attributes may represent a count of words present in a corresponding image of the plurality of training images. The textual attributes may represent a count of characters present in a corresponding image of the plurality of training images. The social network attributes may include a count of positive indications from social network users. The social network attributes may include a count of topic-identifying text. The attributes may represent the geographical source of a corresponding image of the plurality of training images. The attributes may represents wearable items present in a corresponding image of the plurality of training images.


In another aspect, a system includes a computing device that includes a memory configured to store instructions. The system also includes a processor to execute the instructions to perform operations that include determining a ranking of images using a machine learning system. The machine learning system is trained using attributes that represent each of a plurality of training images. The attributes include imagery attributes, social network attributes, and textual attributes. Operations also include producing a listing of the ranked images for selecting one or more of the ranked images for a brand entity associated with the selected ranked images.


Implementations may include one or more of the following features. The operations may also include further training of the machine learning system using data associated with the ranked images. The data associated with the ranked images may represent user interactions with a subset of the ranked images. The data associated with the ranked images may present transactions with a subset of the ranked images. The imagery attributes may represent one or more colors included in a corresponding image of the plurality of training images. The textual attributes may represent a count of words present in a corresponding image of the plurality of training images. The textual attributes may represent a count of characters present in a corresponding image of the plurality of training images. The social network attributes may include a count of positive indications from social network users. The social network attributes may include a count of topic-identifying text. The attributes may represent the geographical source of a corresponding image of the plurality of training images. The attributes may represents wearable items present in a corresponding image of the plurality of training images.


In another aspect, one or more computer readable media store instructions that are executable by a processing device, and upon such execution cause the processing device to perform operations including determining a ranking of images using a machine learning system. The machine learning system is trained using attributes that represent each of a plurality of training images. The attributes including imagery attributes, social network attributes, and textual attributes. Operations also include producing a listing of the ranked images for selecting one or more of the ranked images for a brand entity associated with the selected ranked images.


Implementations may include one or more of the following features. The operations may also include further training of the machine learning system using data associated with the ranked images. The data associated with the ranked images may represent user interactions with a subset of the ranked images. The data associated with the ranked images may present transactions with a subset of the ranked images. The imagery attributes may represent one or more colors included in a corresponding image of the plurality of training images. The textual attributes may represent a count of words present in a corresponding image of the plurality of training images. The textual attributes may represent a count of characters present in a corresponding image of the plurality of training images. The social network attributes may include a count of positive indications from social network users. The social network attributes may include a count of topic-identifying text. The attributes may represent the geographical source of a corresponding image of the plurality of training images. The attributes may represents wearable items present in a corresponding image of the plurality of training images.


These and other aspects, features, and various combinations may be expressed as methods, apparatus, systems, means for performing functions, program products, etc.


Other features and advantages will be apparent from the description and the claims.





DESCRIPTION OF DRAWINGS


FIG. 1 illustrates a computer system presenting imagery of a website.



FIG. 2 illustrates a computer system presenting imagery selected for a brand.



FIG. 3 is a block diagram of a network environment including a content director that manages imagery for entities.



FIG. 4 is a block diagram of the content director shown in FIG. 3.



FIG. 5 is a block diagram of an image machine learning system being trained.



FIGS. 6A and 6B are a listing of attributes to represent imagery.



FIG. 7 is a block diagram of an image machine learning system providing a list of ranked images.



FIG. 8 is a flowchart of operations of an image manager.



FIG. 9 illustrates an example of a computing device and a mobile computing device that can be used to implement the techniques described here.





DETAILED DESCRIPTION

Referring to FIG. 1 a computing device (e.g., a computer system 100) includes a display 102 that allows a user to view various types of content (e.g., text, images, etc.) associated with one or more entities, institutions, etc. In this particular example, a website 104 is presented on the display 102 that includes imagery associated with a particular brand (e.g., images 106-110 present products of a particular brand). Such imagery can include galleries of images associated with a brand (e.g., a developer, manufacturer, distributer, etc., of a product, service, etc. under a particular name), product detail pages (PDPs), etc. As is often the case, brands, entities, etc. are interested in presenting images the generate activity (e.g., viewing of the images, having items selected for purchase, etc.). Considering the amount of available imagery, the selection of appropriate imagery can be considerably time consuming. Further, selected imagery may need to be monitored to determine if the desired effect is being achieved (e.g., does the imagery cause interest in the presented product). Rather than burdening marketing professionals with such tasks, computational techniques can be employed to review, select, and monitor imagery (e.g., associated with different brand products, services, etc.) and quickly identify adjustments. Further, computational techniques can predict if new imagery could provide improvement (e.g., increase viewing traffic) compared to current imagery and possibly indicate that image replacement, augmentation, etc. is warranted.


Referring to FIG. 2, various types of imagery, imagery sources, etc. may be employed to identify imagery that would resonant with end-users (e.g., website viewers, potential purchasers, etc.). For example, imagery created by product users (e.g., actual product purchasers) may resonant more with viewers (and potential new purchasers) comparted to professionally generated imagery. As such, an overwhelming amount of imagery from many more sources may be of interest to brand owners, brand marketers, etc. to present their products, services, etc. Many of these imagery sources may be Internet based such as social network platforms and other computer network accessible sources. To address the sheer amount of accessible imagery content, one or more computational techniques may be employed to efficiently collect, curate, and present images of interest. Further, along with the imagery itself, other information can be collected and used to identify likely successful images (e.g., images that when presented increase viewer interactions).


In one arrangement, computational techniques are employed for a number of tasks; for example, imagery may be collected and appropriately filtered to remove unwanted content (e.g., filter out off-brand imagery and retain imagery relevant to the brand). Computational tasks may also include forming an association between the retained imagery and brands. For example, products and images of the products may be associated. Context may be added to the imagery (e.g., insert keywords into images) to form an association between a product, service, etc. with an image. Computational techniques can also be employed for ranking imagery to predict which images may be top-performers and should be provided to brand owners, band marketers, etc., for presentation (e.g., have predicted top-performing images inserted into websites, etc.).


As presented in the figure, a computer system 200 executes an operating system 202 and a browser 204 to present brand-related imagery (e.g., images of brand products, services, etc.) for user interaction (e.g., viewing, selecting, purchasing, etc.). In this particular example, a series of images 208 are presented on the display 206 that are associated with footwear of one or more brands. Computational techniques collect and filter imagery from one or more sources (e.g., social network sites) to identify an appropriate set of relevant images (e.g., on-brand images). Upon being identified, products, services, etc. are associated with these images (e.g., each image is tagged with a corresponding footwear type represented in the image) and the associations are stored for later use. Once the imagery has been curated and tagged, one or more computational techniques can be employed to predict which images are likely to perform well when presented to viewers. For example, after identifying hundreds of images and providing context (e.g., associating a keyword with each image), the images may be ranked to identify potential top performers. Once identified, these top performers (e.g., the ten images included in the series of images 208) may be selected for presentation.


Referring to FIG. 3, a network architecture 300 is presented that includes a content director 302 that identifies appropriate content (e.g., imagery) for one or more entities (e.g., a brand marketer 304, a brand owner, etc.) to present their products, services, etc. to end users (e.g., a computer system 306 executes a browser 308 to present imagery provided via the Internet 310). In this example a computer system 312 executes a content provider 314 at the site of the brand marketer 304 to provide the imagery and related information to the end user. In some arrangements, other network architectures may be employed; for example, one or more publishers may be an intermediary between the brand marketer 304 and end users. In this example, an image manager 316 is executed by a computer system 318 (at the content director 320) that performs operations on imagery (e.g., collects, filters, tags, ranks, etc.) prior to delivery to the brand marketer 304 (e.g., for storing in a storage device 320). Collected and processed content (e.g., collected images, image rankings, etc.) may be stored at the content director 302 (e.g., in a storage device 322).


To perform operations, the image manager 316 may employ one or more computational techniques; for example, one or more machine learning techniques may be used. Through such machine learning techniques, the image manager 316 uses artificial intelligence to automatically learn and improve from experience without being explicitly programmed. Once trained (e.g., from known imagery), one or more images, representation of images, etc. can be input into the image manager 316 to yield an output. By providing the output back (e.g., feedback), the machine learning technique can use the output as additional training information. Along with using increased amounts of training data (e.g., image representations), feedback data (e.g., output image representations) can increase result accuracy (e.g., predicting top performing images).


Other forms of artificial intelligence techniques may be used by the image manager 316 along with the network architecture 300. For example, to process information (e.g., images, image representations, etc.) to prepare image recommendations, etc., the architecture may employ one or more knowledge-based systems such as an expert system. In general, such expert systems are designed solving relatively complex problems by using reasoning techniques that may employ conditional statements (e.g., if-then rules). In some arrangements such expert systems may use multiple systems such as a two sub-system design, in which one system component stores structured and/or unstructured information (e.g., a knowledge base) and a second system component applies rules, etc. to the stored information (e.g., an inference engine) to determine results of interest (e.g., font recommendations).


Referring to FIG. 4, the image manager 316 (which includes a number of modules) is executed by the server 318 present at the content director 302. In this arrangement, the image manager 316 includes an image collector 400 that is capable of receiving data that represents images. For example, a number of attributes that reflect aspects of an image (e.g., graphic aspects, content aspects, text content aspects, etc.) may be received by the image collector 400. Such attributes can be represented in various forms; for example, each attribute may be represented by one or more numerical values (e.g., Boolean values, fix point values, etc.) and all of the attributes may be provided in single form (e.g., a vector of numerical values) to the image collector 400. In this arrangement, such data may be previously stored (e.g., images stored in a collected image database 402) and retrieved from the storage device 322. In some arrangements, the attributes may be provided by one or more processes executed at the content director 302, remotely executed processes, etc. Once attributes are identified for an image (e.g., represented in a vector of numerical values), the data is stored in an image attribute database 404. Retrieving the attribute data from the database 404, a trainer 406 provides the attribute data representing the images to train an image machine learning system 408. Various type of data may be used for training the system; for example attribute data representing one or more collections of previously known images (e.g., of products) may be provided from the trainer 406 to the image machine learning system 408. Once trained, the image machine learning system 408 may be provided input data such as attribute data representing other images to determine which images are likely to perform well if presented to end users (e.g., potential purchases of the product, service, etc. represented in the images). For example, once filtered (e.g., to remove off-brand images) and tagged (e.g., to associate the image with a brand product), the image machine learning system 408 may produce a listing of images that are ranked based upon their attributes, the training of the machine learning system, etc. Upon identifying the listing of ranked images, data may be stored in a processed image database 410 (e.g., data representing the images, representing attributes of the images, etc.) for later retrieve and use (e.g., to further train the image machine learning system 408). Along with storing the listing of ranked images, other processing may be performed by the image manager 316 to prepare and provide appropriate data to a brand marketer, brand owner, publisher, etc. For example, an image selector 412 executed by the server 318 may select one or more images for sending to a brand marketer. One or more predefined rules (e.g., select the top ten ranked images) to select from the ranked image listing provided by the image machine learning system 408. In some arrangements, the image machine learning system 408 may execute image selection operations. Additionally, the selected images along with corresponding data (e.g., attribute data representing the selected images) may be stored in an image recommendation database 414 for later retrieval and use (e.g., training the image machine learning system 408, comparison studies, etc.).


Referring to FIG. 5, a block diagram 500 is presented that provides a graphical representation of the functionality of the image machine learning system 408 (shown in FIG. 4). Prior to using the learning system 408 to process an input 502 (e.g., a series of images associated with a brand) to produce an out 504 (e.g., a ranked listing of the input images), the learning system needs to be trained. Various types of training data 506 may be used to prepare the image machine learning system 408 to identify imagery that a brand (e.g., a brand marketer) might potentially use to present brand products, services, etc. to end users (e.g., potential purchasers). For example, imagery identified as being associated with the brand (e.g., images of the brand's product, image of the brand's product in use, etc.) can be used to train the system. Data representing end user interactions may also be employed as training data 506; for example, websites associated with the brand (e.g., websites presenting the brand products, services, etc.) can be monitored for user interaction with imagery being presented. Such interactions may include pointing device (e.g., mouse, track pad, etc.) interactions with a site (e.g., clicking on an image, selecting product webpages for review, etc.) that can be tracked and data representing these interactions can be considered training data 506 used to prepare the image machine learning system 408. Other types of interaction data may also be employed; for example, websites can be monitored for transactions associated with brand items. In one arrangement tracking software (e.g., pixel tracking software, software agents, etc.) can monitor purchases involving brand products and send notifications (e.g., to the brand marketer 304, the content director 302, etc.) that include details about such transactions. Alerted to which types of imagery, brand products, etc. are resonating with end users (e.g., being interacted with, initiating purchases, etc.), this interaction data can also be used as training data 506.


Imagery may also be provided from other sources; for example, social networks (e.g., Facebook, Twitter, Instagram, etc.) often present imagery (e.g., in posts, messages, etc.) associated with a brand (e.g., products, services, etc.). By monitoring such networks (e.g., using software agents, etc.), images may be collected and potentially used as training data 506. Additionally, such imagery can be collected for use as input 502 to the image machine learning system 408, once the system has been initially trained. Such imagery may be professionally prepared; however, imagery created by end users (e.g., product users) can be more visually inviting and may attract more interactions from potential purchasers than other types of imagery (e.g., professionally prepared product images).


To provide such training data 506 to the image machine learning system 408, one or more techniques may be employed; for example, data that represents each image can be provided. For example, images of brand product images that have evoked heavy end user interactions can be represented by a collection of attributes in which each attribute reflects a particular aspect of the respective image. In some arrangements, some attributes can be categorized; for example, one attribute category can be associated with visual characteristics of images (e.g., color, resolution, etc.) while another may be associated with the source of images (e.g., geographical capture location of an image) while still another category may include social network attributes (e.g., social network source, viewer reactions to image, etc.). Attributes can also be characterized for reflecting textual content included in the imagery; for example, the amount of text and type of text can affect how an end user may react to an image. Textual content may assist generating interest in some brand products while textual content of other brands, brand products, etc. may be a detriment to attracting notice from end users.


Once initially trained, input 502 may be provided to the image machine learning system 408 to generate output 504. For example, further imagery (e.g., a group of images) may be collected, created, etc. and input to identify the particular images that may be of interest to a brand marketer based upon the data used to train the learning system (e.g., data, images, etc. that reflect positively with end users). As such, the image machine learning system 408 can predict images that should perform well with end users. Additionally, the predicted images can be used to further train the machine learning system and improve predictive accuracy, for example, based on more contemporary data that reflects desired performance with end users. As illustrated in the figure, feedback data 508 can be provided to the image machine learning system 408 to further the training. Recently used images that have performed well can be represented (e.g., in attributes) and provided to the image machine learning system 408. Interaction data such as data that represents user interacting with recently presented images (e.g., click data indicating users selecting images, data indicating users have hovered a pointing device on the image, etc.), data that represents users executing transactions based upon recently presented images (e.g., initiating the purchase of a brand product, service, etc.), etc. Along with providing the feedback data 508 to the image machine learning system 408 to improve accuracy, the feedback data can be stored (e.g., at the storage device of the content director 302) for later retrieval and further processing (e.g., training other machine learning systems, attribute adjustments, etc.).


To implement the image machine learning system 408, one or more machine learning techniques may be employed. For example, supervised learning techniques may be implemented in which training is based on a desired output that is known for an input. Supervised learning can be considered an attempt to map inputs to outputs and then estimate outputs for previously unseen inputs (a newly introduced input). Unsupervised learning techniques may also be employed in which training is provided from known inputs but unknown outputs. Reinforcement learning techniques may also be used in which the system can be considered as learning from consequences of actions taken (e.g., inputs values are known and feedback provides a performance measure). In some arrangements, the implemented technique may employ two or more of these methodologies.


In some arrangements, neural network techniques may be implemented using the data representing the images (e.g., a vector of numerical values to represent each attribute, etc.) to invoke training algorithms for automatically learning the images and related information. Such neural networks typically employ a number of layers. Once the layers and number of units for each layer is defined, weights and thresholds of the neural network are typically set to minimize the prediction error through training of the network. Such techniques for minimizing error can be considered as fitting a model (represented by the network) to training data. By using the image data (e.g., attribute vectors), a function may be defined that quantifies error (e.g., a squared error function used in regression techniques). By minimizing error, a neural network may be developed that is capable of determining attributes for an input image. Other factors may also be accounted for during neutral network development. For example, a model may too closely attempt to fit data (e.g., fitting a curve to the extent that the modeling of an overall function is degraded). Such overfitting of a neural network may occur during the model training and one or more techniques may be implements to reduce its effects.


One type of machine learning referred to as deep learning may be utilized in which a set of algorithms attempt to model high-level abstractions in data by using model architectures, with complex structures or otherwise, composed of multiple non-linear transformations. Such deep learning techniques can be considered as being based on learning representations of data. In general, deep learning techniques can be considered as using a cascade of many layers of nonlinear processing units for feature extraction and transformation. The next layer uses the output from the previous layer as input. The algorithms may be supervised, unsupervised, combinations of supervised and unsupervised, etc. The techniques are based on the learning of multiple levels of features or representations of the data (e.g., image attributes). As such multiple layers of nonlinear processing units along with supervised or unsupervised learning of representations can be employed at each layer, with the layers forming a hierarchy from low-level to high-level features. By employing such layers, a number of parameterized transformations are used as data propagates from the input layer to the output layer.


Referring to FIG. 6, a chart 600 is presented that includes a collection of attributes that can be used to represent an image to the image machine learning system 408. Along with a column 602 that provides a title of each of the thirty-eight attributes (in this particular example), the chart 600 also includes a column that provides a general description of each attribute. Each of the thirty-eight attributes can be generalized into a relative small set of categories; for example, some of the attributes can be incudes in a category associated with the visual aspects of an image (e.g., included colors, resolution, etc.). One attribute category can be associated with the source of the image (e.g., geographical location that the image represents) and another category can be associated with any industry associated with the imagery. Textual content included in the imagery can also be considered an attribute category. For example, the amount of text (e.g., word count), language of the text, etc. can be represented by attributes of the category. One or more social network categories can include a number of attributes. For example, attributes associated with positive user reactions (e.g., positive postings, comments, etc.) can be members of this category. Additional categories can be included, one or more of the categories removed, replaced, etc. for assisting with the organizing of the attributes. As provided by the chart 600, a total of thirty-eight attributes are used to represent an image, in this example. Some of the attributes (e.g., media pixel sum, media likes sum) are associated with how the imagery has been received by viewer (e.g., when the image was presented on a social network). An attribute may also represent the number of characters included in one or more textual captions included in an image. Caption attributes may also represent the number of words in a caption, a count of alphanumerical or non-alphanumerical present in a caption, the language in which the caption is presented in the image, etc. Caption attributes can also reflect the amount of tagged text included in a caption (e.g., hashtags used to represent words, terms, etc. to assist with searching, browsing, etc.). Attributes associated with visual aspects of an image can included a representation of hue variance, the relative amount of a particular color in an image (e.g., green, red, blue), color brightness, color saturation, variation in color hue, etc.


Attributes can also represent particular types of products, services, etc. that are represented in the respective image. For example, an attribute may represent the probability that footwear, jewelry, etc. is present in the image. Information associated with social networks is also representable by attributes; for example, tagged textual content such as hashtags can be reflected in one or more attributes. In some arrangements, attributes can reflect the similarity of hashtags present in an image caption, the number of hashtags present in an image caption, etc. Attributes associated with hashtags can reflect the frequency of one or more particular hashtags appearing in a caption, the frequency of a hashtags based upon the occurrence of in particular social network applications (e.g., Facebook, Instagram, etc.). The similarity of hashtags (present in a caption) compared to hashtags identified as popular can be reflected in an attribute along with the language of a hashtag. Other types of information may also be the subject of one or more attributes; for example, an identifier of an individual (e.g., a previously known customer) may be represented along with the geographical location of the image, where the image was captured, etc. By assigning a numerical value or other data type (e.g., a Boolean value) to each of the thirty-eight attributes shown in chart 600, each image can be characterized in a manner that allows the image machine learning system to be trained to predict if an image could potentially attract viewers to the product, service, etc. of a brand included in the image.


Referring to FIG. 7, a data flow diagram graphically represents operations of the image machine learning system 408 after being initially trained. For example, training data from a number of sources; for example, a considerable number of training images (e.g., each being represented by thirty-eight attributes), interaction data (e.g., click data, etc. representing user interactions with images), and transaction data (e.g., representing images selected for purchasing by users, etc.). Image input may be provided one or more forms into the image machine learning system 408; for example, data representing N attributes of an image can be entered into the system. In one arrangement, thirty-eight attributes (shown in chart 600 of FIG. 6) are each assigned a value (e.g., a Boolean value, a numerical value, etc.) to represent corresponding aspects of an image and are input into the image machine learning system 408. In the illustrated example, a collection 700 of N images are each numerically represented (e.g., by thirty-eight attributes) and provided to the image machine learning system 408. Based upon the training data (e.g., similar attributes representing training images, interaction data, transaction data), the system 408 estimates the performance of each input image (e.g., attempts to measure how favorable the image will be viewed when presented to end users). For example, a performance metric (e.g., a numerical value) can be determined by the system 408 from data representing for each input image (e.g., the thirty-eight attributes) and how that input data reflects upon the imagery, data, etc. used to train the system 408. Upon determining performance metric for each input image of the collection 700, the image machine learning system 408 produces an output 702 that represents a comparison of the performance metrics. In this illustrated example, a listing of the input images is provided as the output 702. The listing starts with the image having the higher determined performance metric (i.e., “Image 2”) and progresses to the image with the relatively lower performance metric (i.e., “Image N”) of the input image collection 700. Other types of output may also be provided by the image machine learning system 408; for example, the individual performance metrics for each input image may be output.


Upon obtaining the output 702, which provides a performance measure of each input image, additional processing may be performed; for example, to identify which image or images are appropriate for publication. In general, images identified as having a good performance measure are typically more likely to be recommended (e.g., to a brand marketer) for publishing compared to images identified with poor performance metrics. From the listing of ranked images (presented in output 702), a subset of images can be identified to recommend for possible publication. For example, one or more thresholds may be defined for determining which performance metrics would be indicative of images that should be recommended for publication. A fixed number of top performers may be selected in another arrangement; for example, images having the top three performance metrics may be selected for recommendation for publication. In this illustrated example, the image having the top two largest performance metrics (e.g., Image 2 and Image 1) can be selected for recommendation to the brand marketer 304.


Along with providing recommendations from the output 702, other operations may be executed based upon the performance metrics assigned to each image. For example, performance metrics may assist in determining which images should be used as possible feedback to the image machine learning system 408 for further training. In one arrangement, images recommended for publication can be used for further training of the system 408. Attributes that represent these recommended images can be provided to the system 408 along with additional data such as interaction data (with end users) and transactional data (e.g., purchase data) that can be collected after the images are published by the brand marketer. By training the system 408 with top performing images, the system 408 can become more in tune to identifying similar images (e.g., other potential top performers). In a similar manner, images predicted as under-performing (compared to predicted top performers) may be used to further train the image machine learning system 408 to identify potentially poor performing images. One or more techniques may be employed to assist the image machine learning system 408 in identifying positive feedback (e.g., data representing top performing images) and negative feedback (e.g., data representing poor performing images); for example one more weighting techniques may be employ to highlight some feedback and reduce the effects of other feedback.


Referring to FIG. 8, a flowchart 800 represents operations of an image manager (e.g., the image manager 316 shown in FIG. 3 and FIG. 4) being executed by a computing device (e.g., the server 318 located at the content director 302). Operations of the image manager are typically executed by a single computing device (e.g., the server 318); however, operations may be executed by multiple computing devices. Along with being executed at a single site (e.g., the content director 302), the execution of operations may be distributed among two or more locations. For example, a portion of the operations may be executed at a location external to the content director (e.g., the brand marketer site 304), one or more at an end user devices (e.g., the computing device 306), etc.


Operations of the image manager 316 may include determining 802 a ranking of images using a machine learning system. The machine learning system is trained using attributes that represent each of a plurality of training images. The attributes include imagery attributes, social network attributes, and textual attributes. For example, a system such as the image machine learning system 408 can be trained by images represented by thirty-eight attributes (e.g., attributes listed in FIG. 6) that reflect color properties of the images (e.g., hue, brightness, saturation, etc.), the social network source of the image, hashtags associates the image, the amount of words present in an image, etc. Operations may also include producing 804 a listing of the ranked images for selecting one or more of the ranked images for a brand entity associated with the selected ranked images. For example, as shown in FIG. 7 images input into the trained machine learning system are used to produce a ranking of the images that reflect the predicted performance of the corresponding image when published. For example, the trained machine learning system may predict that images containing many hashtags perform better with viewers when published. Based on this training, one or more images reflecting this condition may be ranked higher (than images absent hashtags) and are selected for providing to a brand marketer to publish the predicted-high-performer images.



FIG. 9 shows an example of example computing device 900 and example mobile computing device 950, which can be used to implement the techniques described herein. For example, a portion or all of the operations of image manager 316 (shown in FIG. 3) may be executed by the computing device 900 and/or the mobile computing device 950. Computing device 900 is intended to represent various forms of digital computers, including, e.g., laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Computing device 950 is intended to represent various forms of mobile devices, including, e.g., personal digital assistants, tablet computing devices, cellular telephones, smartphones, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the techniques described and/or claimed in this document.


Computing device 900 includes processor 902, memory 904, storage device 906, high-speed interface 908 connecting to memory 904 and high-speed expansion ports 910, and low speed interface 912 connecting to low speed bus 914 and storage device 906. Each of components 902, 904, 906, 908, 910, and 912, are interconnected using various busses, and can be mounted on a common motherboard or in other manners as appropriate. Processor 902 can process instructions for execution within computing device 900, including instructions stored in memory 904 or on storage device 906 to display graphical data for a GUI on an external input/output device, including, e.g., display 916 coupled to high speed interface 908. In other implementations, multiple processors and/or multiple busses can be used, as appropriate, along with multiple memories and types of memory. Also, multiple computing devices 900 can be connected, with each device providing portions of the necessary operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).


Memory 904 stores data within computing device 900. In one implementation, memory 904 is a volatile memory unit or units. In another implementation, memory 904 is a non-volatile memory unit or units. Memory 904 also can be another form of computer-readable medium (e.g., a magnetic or optical disk. Memory 904 may be non-transitory.)


Storage device 906 is capable of providing mass storage for computing device 900. In one implementation, storage device 906 can be or contain a computer-readable medium (e.g., a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, such as devices in a storage area network or other configurations.) A computer program product can be tangibly embodied in a data carrier. The computer program product also can contain instructions that, when executed, perform one or more methods (e.g., those described above.) The data carrier is a computer- or machine-readable medium, (e.g., memory 904, storage device 906, memory on processor 902, and the like.)


High-speed controller 908 manages bandwidth-intensive operations for computing device 900, while low speed controller 912 manages lower bandwidth-intensive operations. Such allocation of functions is an example only. In one implementation, high-speed controller 908 is coupled to memory 904, display 916 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 910, which can accept various expansion cards (not shown). In the implementation, low-speed controller 912 is coupled to storage device 906 and low-speed expansion port 914. The low-speed expansion port, which can include various communication ports (e.g., USB, Bluetooth®, Ethernet, wireless Ethernet), can be coupled to one or more input/output devices, (e.g., a keyboard, a pointing device, a scanner, or a networking device including a switch or router, e.g., through a network adapter.)


Computing device 900 can be implemented in a number of different forms, as shown in the figure. For example, it can be implemented as standard server 920, or multiple times in a group of such servers. It also can be implemented as part of rack server system 924. In addition or as an alternative, it can be implemented in a personal computer (e.g., laptop computer 922.) In some examples, components from computing device 900 can be combined with other components in a mobile device (not shown), e.g., device 950. Each of such devices can contain one or more of computing device 900, 950, and an entire system can be made up of multiple computing devices 900, 950 communicating with each other.


Computing device 950 includes processor 952, memory 964, an input/output device (e.g., display 954, communication interface 966, and transceiver 968) among other components. Device 950 also can be provided with a storage device, (e.g., a microdrive or other device) to provide additional storage. Each of components 950, 952, 964, 954, 966, and 968, are interconnected using various buses, and several of the components can be mounted on a common motherboard or in other manners as appropriate.


Processor 952 can execute instructions within computing device 950, including instructions stored in memory 964. The processor can be implemented as a chipset of chips that include separate and multiple analog and digital processors. The processor can provide, for example, for coordination of the other components of device 950, e.g., control of user interfaces, applications run by device 950, and wireless communication by device 950.


Processor 952 can communicate with a user through control interface 958 and display interface 956 coupled to display 954. Display 954 can be, for example, a TFT LCD (Thin-Film-Transistor Liquid Crystal Display) or an OLED (Organic Light Emitting Diode) display, or other appropriate display technology. Display interface 956 can comprise appropriate circuitry for driving display 954 to present graphical and other data to a user. Control interface 958 can receive commands from a user and convert them for submission to processor 952. In addition, external interface 962 can communicate with processor 942, so as to enable near area communication of device 950 with other devices. External interface 962 can provide, for example, for wired communication in some implementations, or for wireless communication in other implementations, and multiple interfaces also can be used.


Memory 964 stores data within computing device 950. Memory 964 can be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units. Expansion memory 974 also can be provided and connected to device 950 through expansion interface 972, which can include, for example, a SIMM (Single In Line Memory Module) card interface. Such expansion memory 974 can provide extra storage space for device 950, or also can store applications or other data for device 950. Specifically, expansion memory 974 can include instructions to carry out or supplement the processes described above, and can include secure data also. Thus, for example, expansion memory 974 can be provided as a security module for device 950, and can be programmed with instructions that permit secure use of device 950. In addition, secure applications can be provided through the SIMM cards, along with additional data, (e.g., placing identifying data on the SIMM card in a non-hackable manner.)


The memory can include, for example, flash memory and/or NVRAM memory, as discussed below. In one implementation, a computer program product is tangibly embodied in a data carrier. The computer program product contains instructions that, when executed, perform one or more methods, e.g., those described above. The data carrier is a computer- or machine-readable medium (e.g., memory 964, expansion memory 974, and/or memory on processor 952), which can be received, for example, over transceiver 968 or external interface 962.


Device 850 can communicate wirelessly through communication interface 966, which can include digital signal processing circuitry where necessary. Communication interface 966 can provide for communications under various modes or protocols (e.g., GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others.) Such communication can occur, for example, through radio-frequency transceiver 968. In addition, short-range communication can occur, e.g., using a Bluetooth®, WiFi, or other such transceiver (not shown). In addition, GPS (Global Positioning System) receiver module 970 can provide additional navigation- and location-related wireless data to device 950, which can be used as appropriate by applications running on device 950. Sensors and modules such as cameras, microphones, compasses, accelerators (for orientation sensing), etc. may be included in the device.


Device 950 also can communicate audibly using audio codec 960, which can receive spoken data from a user and convert it to usable digital data. Audio codec 960 can likewise generate audible sound for a user, (e.g., through a speaker in a handset of device 950.) Such sound can include sound from voice telephone calls, can include recorded sound (e.g., voice messages, music files, and the like) and also can include sound generated by applications operating on device 950.


Computing device 950 can be implemented in a number of different forms, as shown in the figure. For example, it can be implemented as cellular telephone 980. It also can be implemented as part of smartphone 982, a personal digital assistant, or other similar mobile device.


Various implementations of the systems and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor. The programmable processor can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.


These computer programs (also known as programs, software, software applications or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms machine-readable medium and computer-readable medium refer to a computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions.


To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a device for displaying data to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor), and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be a form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in a form, including acoustic, speech, or tactile input.


The systems and techniques described here can be implemented in a computing system that includes a backend component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a frontend component (e.g., a client computer having a user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or a combination of such back end, middleware, or frontend components. The components of the system can be interconnected by a form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.


The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.


In some implementations, the engines described herein can be separated, combined or incorporated into a single or combined engine. The engines depicted in the figures are not intended to limit the systems described here to the software architectures shown in the figures.


A number of embodiments have been described. Nevertheless, it will be understood that various modifications can be made without departing from the spirit and scope of the processes and techniques described herein. In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps can be provided, or steps can be eliminated, from the described flows, and other components can be added to, or removed from, the described systems. Accordingly, other embodiments are within the scope of the following claims.

Claims
  • 1. A computing device implemented method comprising: (a) determining a ranking of images associated with a brand entity for presentation to one or more customers of the brand entity, wherein the determination of the ranking comprises: (i) using a machine learning system, the machine learning system being trained using attributes that represent each of a plurality of training images filtered to remove off-brand entity images, the attributes including previously known consumer of the brand entity attributes, imagery attributes, Internet-based social network attributes, and textual attributes of textual content included in the plurality of training images, Internet-based social network attributes comprising a number of hashtags or a similarity of hashtags present in one or more image captions; (ii) inputting a plurality of potential images for presentation to the trained machine learning system; and (iii) ranking the inputted potential images based on a similarity between inputted potential images and a plurality of guidelines associated with the brand entity to create a listing of ranked images; and(b) producing the listing of the ranked images to one or more service providers associated with the brand entity for selecting one or more of the ranked images for the brand entity associated with the selected ranked images, wherein the one or more service providers comprises designers or marketers of the brand entity.
  • 2. The computing device implemented method of claim 1, further comprising: further training of the machine learning system using data associated with the ranked images.
  • 3. The computing device implemented method of claim 2, wherein the data associated with the ranked images represents user interactions with a subset of the ranked images.
  • 4. The computing device implemented method of claim 2, wherein the data associated with the ranked images represents transactions with a subset of the ranked images.
  • 5. The computing device implemented method of claim 1, wherein the imagery attributes represent one or more colors included in a corresponding image of the plurality of training images.
  • 6. The computing device implemented method of claim 1, wherein the textual attributes represent a count of words present in a corresponding image of the plurality of training images.
  • 7. The computing device implemented method of claim 1, wherein the textual attributes represent a count of characters present in a corresponding image of the plurality of training images.
  • 8. The computing device implemented method of claim 1, wherein the Internet-based social network attributes include a count of positive indications from social network users.
  • 9. The computing device implemented method of claim 1, wherein the Internet-based social network attributes include a count of topic-identifying text.
  • 10. The computing device implemented method of claim 1, wherein the attributes represent the geographical source of a corresponding image of the plurality of training images.
  • 11. The computing device implemented method of claim 1, wherein the attributes represent wearable items present in a corresponding image of the plurality of training images.
  • 12. A system comprising: a computing device comprising: a memory configured to store instructions; and a processor to execute the instructions to perform operations comprising: (a) determining a ranking of images associated with a brand entity for presentation to one or more viewers, wherein the determination of the ranking comprises: (i) using a machine learning system, the machine learning system being trained using attributes that represent each of a plurality of training images filtered to remove off-brand entity images, the attributes including previously known consumer of the brand entity attributes, imagery attributes, Internet-based social network attributes, and textual attributes of textual content included in the plurality of training images, Internet-based social network attributes comprising a number of hashtags or a similarity of hashtags present in one or more image captions; (ii) inputting a plurality of potential images for presentation to the trained machine learning system; and (iii) ranking the inputted potential images based on a similarity between inputted potential images and a plurality of guidelines associated with the brand entity to create a listing of ranked images; and(b) producing the listing of the ranked images to one or more service providers for selecting one or more of the ranked images for the brand entity associated with the selected ranked images, wherein the one or more service providers comprises designers or marketers associated with the brand entity.
  • 13. The system of claim 12, wherein operations further comprise: further training of the machine learning system using data associated with the ranked images.
  • 14. The system of claim 13, wherein the data associated with the ranked images represents user interactions with a subset of the ranked images.
  • 15. The system of claim 13, wherein the data associated with the ranked images represents transactions with a subset of the ranked images.
  • 16. The system of claim 12, wherein the imagery attributes represent one or more colors included in a corresponding image of the plurality of training images.
  • 17. The system of claim 12, wherein the textual attributes represent a count of words present in a corresponding image of the plurality of training images.
  • 18. The system of claim 12, wherein the textual attributes represent a count of characters present in a corresponding image of the plurality of training images.
  • 19. The system of claim 12, wherein the Internet-based social network attributes include a count of positive indications from social network users.
  • 20. The system of claim 12, wherein the Internet-based social network attributes include a count of topic-identifying text.
  • 21. The system of claim 12, wherein the attributes represent the geographical source of a corresponding image of the plurality of training images.
  • 22. The system of claim 13, wherein the attributes represent wearable items present in a corresponding image of the plurality of training images.
  • 23. One or more non-transitory computer readable media storing instructions that are executable by a processing device, and upon such execution cause the processing device to perform operations comprising: (a) determining a ranking of images associated with a brand entity for presentation to one or more viewers, wherein the determination of the ranking comprises: (i) using a machine learning system, the machine learning system being trained using attributes that represent each of a plurality of training images filtered to remove off-brand entity images, the attributes including previously known consumer of the brand entity attributes, imagery attributes, Internet-based social network attributes, and textual attributes of textual content included in the plurality of training images, Internet-based social network attributes comprising a number of hashtags or a similarity of hashtags present in one or more image captions; (ii) inputting a plurality of potential images for presentation to the trained machine learning system; and (iii) ranking the inputted potential images based on a similarity between inputted potential images and a plurality of guidelines associated with the brand entity to create a listing of ranked images; and(b) producing the listing of the ranked images to one or more service providers associated with the brand entity for selecting one or more of the ranked images for the brand entity associated with the selected ranked images, wherein the one or more service providers comprises designers or marketers associated with the brand entity.
  • 24. The non-transitory computer readable media of claim 23, operations further comprising: further training of the machine learning system using data associated with the ranked images.
  • 25. The non-transitory computer readable media of claim 24, wherein the data associated with the ranked images represents user interactions with a subset of the ranked images.
  • 26. The non-transitory computer readable media of claim 24, wherein the data associated with the ranked images represents transactions with a subset of the ranked images.
  • 27. The non-transitory computer readable media of claim 23, wherein the imagery attributes represent one or more colors included in a corresponding image of the plurality of training images.
  • 28. The non-transitory computer readable media of claim 23, wherein the textual attributes represent a count of words present in a corresponding image of the plurality of training images.
  • 29. The non-transitory computer readable media of claim 23, wherein the textual attributes represent a count of characters present in a corresponding image of the plurality of training images.
  • 30. The non-transitory computer readable media of claim 23, wherein the Internet-based social network attributes include a count of positive indications from social network users.
  • 31. The non-transitory computer readable media of claim 23, wherein the Internet-based social network attributes include a count of topic-identifying text.
  • 32. The non-transitory computer readable media of claim 23, wherein the attributes represent the geographical source of a corresponding image of the plurality of training images.
  • 33. The non-transitory computer readable media of claim 23, wherein the attributes represent wearable items present in a corresponding image of the plurality of training images.
US Referenced Citations (339)
Number Name Date Kind
4244657 Wasylyk Jan 1981 A
4998210 Kadono et al. Mar 1991 A
5263132 Parker et al. Nov 1993 A
5347266 Bauman et al. Sep 1994 A
5412771 Fenwick May 1995 A
5416898 Opstad et al. May 1995 A
5444829 Kawabata et al. Aug 1995 A
5453938 Gohara et al. Sep 1995 A
5526477 McConnell et al. Jun 1996 A
5528742 Moore et al. Jun 1996 A
5533174 Flowers et al. Jul 1996 A
5586242 McQueen et al. Dec 1996 A
5606649 Tai Feb 1997 A
5619721 Maruko Apr 1997 A
5630028 DeMeo May 1997 A
5737599 Rowe et al. Apr 1998 A
5748975 Van De Vanter May 1998 A
5757384 Ikeda May 1998 A
5761395 Miyazaki et al. Jun 1998 A
5781714 Collins et al. Jul 1998 A
5877776 Beaman et al. Mar 1999 A
5926189 Beaman et al. Jul 1999 A
5940581 Lipton Aug 1999 A
5995718 Hiraike Nov 1999 A
6012071 Krishna et al. Jan 2000 A
6016142 Chang Jan 2000 A
6031549 Hayes-Roth Feb 2000 A
6044205 Reed et al. Mar 2000 A
6065008 Simon et al. May 2000 A
6073147 Chan et al. Jun 2000 A
6111654 Cartier Aug 2000 A
6141002 Kanungo et al. Oct 2000 A
6167441 Himmel Dec 2000 A
6249908 Stamm Jun 2001 B1
6252671 Peng et al. Jun 2001 B1
6282327 Betrisey Aug 2001 B1
6313920 Dresevic et al. Nov 2001 B1
6320587 Funyu Nov 2001 B1
6323864 Kaul et al. Nov 2001 B1
6330577 Kim Dec 2001 B1
6343301 Halt et al. Jan 2002 B1
6426751 Patel Jul 2002 B1
6490051 Nguyen et al. Dec 2002 B1
6512531 Gartland Jan 2003 B1
6522330 Kobayashi Feb 2003 B2
6522347 Tsuji Feb 2003 B1
6583789 Carlson et al. Jun 2003 B1
6601009 Florschuetz Jul 2003 B2
6657625 Chik et al. Dec 2003 B1
6675358 Kido Jan 2004 B1
6678688 Unruh Jan 2004 B1
6687879 Teshima Feb 2004 B1
6704116 Abulhab Mar 2004 B1
6704648 Naik et al. Mar 2004 B1
6718519 Taieb Apr 2004 B1
6738526 Betrisey May 2004 B1
6754875 Paradies Jun 2004 B1
6760029 Phinney et al. Jul 2004 B1
6771267 Muller Aug 2004 B1
6810504 Cooper et al. Oct 2004 B2
6813747 Taieb Nov 2004 B1
6853980 Ying et al. Feb 2005 B1
6856317 Konsella et al. Feb 2005 B2
6882344 Hayes et al. Apr 2005 B1
6901427 Teshima May 2005 B2
6907444 Narasimhan et al. Jun 2005 B2
6952210 Renner et al. Oct 2005 B1
6992671 Corona Jan 2006 B1
6993538 Gray Jan 2006 B2
7050079 Estrada et al. May 2006 B1
7064757 Opstad et al. Jun 2006 B1
7064758 Chik et al. Jun 2006 B2
7155672 Adler et al. Dec 2006 B1
7184046 Hawkins Feb 2007 B1
7188313 Hughes et al. Mar 2007 B2
7228501 Brown et al. Jun 2007 B2
7231602 Truelove et al. Jun 2007 B1
7346845 Teshima et al. Mar 2008 B2
7373140 Matsumoto May 2008 B1
7477988 Dorum Jan 2009 B2
7492365 Corbin et al. Feb 2009 B2
7505040 Stamm et al. Mar 2009 B2
7539939 Schomer May 2009 B1
7552008 Newstrom et al. Jun 2009 B2
7580038 Chik et al. Aug 2009 B2
7583397 Smith Sep 2009 B2
7636885 Merz et al. Dec 2009 B2
7701458 Sahuc et al. Apr 2010 B2
7735020 Chaudhri Jun 2010 B2
7752222 Cierniak Jul 2010 B1
7768513 Klassen Aug 2010 B2
7836094 Ornstein et al. Nov 2010 B2
7882432 Nishikawa et al. Feb 2011 B2
7937658 Lunde May 2011 B1
7944447 Clegg et al. May 2011 B2
7958448 Fattic et al. Jun 2011 B2
7987244 Lewis et al. Jul 2011 B1
8098250 Clegg et al. Jan 2012 B2
8116791 Agiv Feb 2012 B2
8201088 Levantovsky et al. Jun 2012 B2
8201093 Tuli Jun 2012 B2
8306356 Bever Nov 2012 B1
8381115 Tranchant et al. Feb 2013 B2
8413051 Bacus et al. Apr 2013 B2
8464318 Hallak Jun 2013 B1
8601374 Parham Dec 2013 B2
8643542 Wendel Feb 2014 B2
8643652 Kaplan Feb 2014 B2
8644810 Boyle Feb 2014 B1
8689101 Fux et al. Apr 2014 B2
8707208 DiCamillo Apr 2014 B2
8731905 Tsang May 2014 B1
9063682 Bradshaw Jun 2015 B1
9317777 Kaasila et al. Apr 2016 B2
9319444 Levantovsky Apr 2016 B2
9432671 Campanelli et al. Aug 2016 B2
9449126 Genoni Sep 2016 B1
9483445 Joshi et al. Nov 2016 B1
9569865 Kaasila et al. Feb 2017 B2
9576196 Natarajan Feb 2017 B1
9626337 Kaasila et al. Apr 2017 B2
9691169 Kaasila et al. Jun 2017 B2
9805288 Kaasila et al. Oct 2017 B2
9817615 Seguin et al. Nov 2017 B2
10007863 Pereira Jun 2018 B1
10115215 Matteson et al. Oct 2018 B2
10140261 Yang Nov 2018 B2
10157332 Gray Dec 2018 B1
10733529 Tran Aug 2020 B1
10867241 Rogers Dec 2020 B1
20010021937 Cicchitelli et al. Sep 2001 A1
20010052901 Kawabata et al. Dec 2001 A1
20020010725 Mo Jan 2002 A1
20020029232 Bobrow et al. Mar 2002 A1
20020033824 Stamm Mar 2002 A1
20020052916 Kloba et al. May 2002 A1
20020057853 Usami May 2002 A1
20020059344 Britton et al. May 2002 A1
20020087702 Mori Jul 2002 A1
20020093506 Hobson Jul 2002 A1
20020120721 Eilers et al. Aug 2002 A1
20020122594 Goldberg et al. Sep 2002 A1
20020174186 Hashimoto et al. Nov 2002 A1
20020194261 Teshima Dec 2002 A1
20030014545 Broussard et al. Jan 2003 A1
20030076350 Vu Apr 2003 A1
20030197698 Perry et al. Oct 2003 A1
20040025118 Renner Feb 2004 A1
20040088657 Brown et al. May 2004 A1
20040119714 Everett et al. Jun 2004 A1
20040177056 Davis et al. Sep 2004 A1
20040189643 Frisken et al. Sep 2004 A1
20040207627 Konsella et al. Oct 2004 A1
20040233198 Kubo Nov 2004 A1
20050015307 Simpson et al. Jan 2005 A1
20050033814 Ota Feb 2005 A1
20050094173 Engelman et al. May 2005 A1
20050111045 Imai May 2005 A1
20050128508 Greef et al. Jun 2005 A1
20050149942 Venkatraman Jul 2005 A1
20050190186 Klassen Sep 2005 A1
20050193336 Fux et al. Sep 2005 A1
20050200871 Miyata Sep 2005 A1
20050264570 Stamm Dec 2005 A1
20050270553 Kawara Dec 2005 A1
20050275656 Corbin et al. Dec 2005 A1
20060010371 Shur et al. Jan 2006 A1
20060017731 Matskewich et al. Jan 2006 A1
20060061790 Miura Mar 2006 A1
20060072136 Hodder et al. Apr 2006 A1
20060072137 Nishikawa et al. Apr 2006 A1
20060072162 Nakamura Apr 2006 A1
20060103653 Chik et al. May 2006 A1
20060103654 Chik et al. May 2006 A1
20060168639 Gan Jul 2006 A1
20060241861 Takashima Oct 2006 A1
20060245727 Nakano et al. Nov 2006 A1
20060253395 Corbell Nov 2006 A1
20060267986 Bae et al. Nov 2006 A1
20060269137 Evans Nov 2006 A1
20060285138 Merz et al. Dec 2006 A1
20070002016 Cho et al. Jan 2007 A1
20070006076 Cheng Jan 2007 A1
20070008309 Sahuc et al. Jan 2007 A1
20070024626 Kagle et al. Feb 2007 A1
20070050419 Weyl et al. Mar 2007 A1
20070055931 Zaima Mar 2007 A1
20070139412 Stamm Jun 2007 A1
20070139413 Stamm et al. Jun 2007 A1
20070159646 Adelberg et al. Jul 2007 A1
20070172199 Kobayashi Jul 2007 A1
20070211062 Engleman et al. Sep 2007 A1
20070283047 Theis et al. Dec 2007 A1
20080028304 Levantovsky et al. Jan 2008 A1
20080030502 Chapman Feb 2008 A1
20080115046 Yamaguchi May 2008 A1
20080118151 Bouguet et al. May 2008 A1
20080154911 Cheng Jun 2008 A1
20080222734 Redlich et al. Sep 2008 A1
20080243837 Davis Oct 2008 A1
20080282186 Basavaraju Nov 2008 A1
20080303822 Taylor Dec 2008 A1
20080306916 Gonzalez et al. Dec 2008 A1
20090031220 Tranchant Jan 2009 A1
20090037492 Baitalmal et al. Feb 2009 A1
20090037523 Kolke et al. Feb 2009 A1
20090063964 Huang Mar 2009 A1
20090070128 McCauley et al. Mar 2009 A1
20090097049 Cho Apr 2009 A1
20090100074 Joung et al. Apr 2009 A1
20090119678 Shih May 2009 A1
20090158134 Wang Jun 2009 A1
20090171766 Schiff et al. Jul 2009 A1
20090183069 Duggan et al. Jul 2009 A1
20090275351 Jeung et al. Nov 2009 A1
20090287998 Kalra Nov 2009 A1
20090290813 He Nov 2009 A1
20090303241 Priyadarshi et al. Dec 2009 A1
20090307585 Tranchant et al. Dec 2009 A1
20100014104 Soord Jan 2010 A1
20100066763 MacDougall Mar 2010 A1
20100088606 Kanno Apr 2010 A1
20100088694 Peng Apr 2010 A1
20100091024 Myadam Apr 2010 A1
20100115454 Tuli May 2010 A1
20100164984 Rane Jul 2010 A1
20100218086 Howell et al. Aug 2010 A1
20100231598 Hernandez et al. Sep 2010 A1
20100275161 DiCamillo Oct 2010 A1
20100321393 Levantovsky Dec 2010 A1
20110029103 Mann et al. Feb 2011 A1
20110032074 Novack et al. Feb 2011 A1
20110090229 Bacus et al. Apr 2011 A1
20110090230 Bacus et al. Apr 2011 A1
20110093565 Bacus et al. Apr 2011 A1
20110115797 Kaplan May 2011 A1
20110131153 Grim, III Jun 2011 A1
20110188761 Boutros et al. Aug 2011 A1
20110203000 Bacus et al. Aug 2011 A1
20110238495 Kang Sep 2011 A1
20110258535 Adler, III et al. Oct 2011 A1
20110271180 Lee Nov 2011 A1
20110276872 Kataria Nov 2011 A1
20110289407 Naik Nov 2011 A1
20110310432 Waki Dec 2011 A1
20120001922 Escher et al. Jan 2012 A1
20120016964 Veen et al. Jan 2012 A1
20120033874 Perronnin et al. Feb 2012 A1
20120066590 Harris et al. Mar 2012 A1
20120072978 DeLuca et al. Mar 2012 A1
20120092345 Joshi et al. Apr 2012 A1
20120102176 Lee et al. Apr 2012 A1
20120102391 Lee et al. Apr 2012 A1
20120127069 Santhiveeran et al. May 2012 A1
20120134590 Petrou May 2012 A1
20120215640 Ramer et al. Aug 2012 A1
20120269425 Marchesotti Oct 2012 A1
20120288190 Tang Nov 2012 A1
20120306852 Taylor Dec 2012 A1
20120307263 Ichikawa et al. Dec 2012 A1
20120323694 Lita et al. Dec 2012 A1
20120323971 Pasupuleti Dec 2012 A1
20130033498 Linnerud et al. Feb 2013 A1
20130067319 Olszewski et al. Mar 2013 A1
20130120396 Kaplan May 2013 A1
20130127872 Kaplan May 2013 A1
20130156302 Rodriguez Serrano et al. Jun 2013 A1
20130163027 Shustef Jun 2013 A1
20130179761 Cho Jul 2013 A1
20130185028 Sullivan Jul 2013 A1
20130215126 Roberts Aug 2013 A1
20130215133 Gould et al. Aug 2013 A1
20130321617 Lehmann Dec 2013 A1
20130326348 Ip et al. Dec 2013 A1
20140025756 Kamens Jan 2014 A1
20140047329 Levantovsky et al. Feb 2014 A1
20140052801 Zuo et al. Feb 2014 A1
20140059054 Liu Feb 2014 A1
20140089348 Vollmert Mar 2014 A1
20140136957 Kaasila et al. May 2014 A1
20140153012 Seguin Jun 2014 A1
20140176563 Kaasila et al. Jun 2014 A1
20140195903 Kaasila et al. Jul 2014 A1
20140279039 Systrom Sep 2014 A1
20140282055 Engel et al. Sep 2014 A1
20140358802 Biswas Dec 2014 A1
20150020212 Demaree Jan 2015 A1
20150030238 Yang et al. Jan 2015 A1
20150036919 Bourdev et al. Feb 2015 A1
20150055855 Rodriguez Feb 2015 A1
20150062140 Levantovsky et al. Mar 2015 A1
20150074522 Hamed, III et al. Mar 2015 A1
20150097842 Kaasila et al. Apr 2015 A1
20150100882 Severenuk Apr 2015 A1
20150154002 Weinstein et al. Jun 2015 A1
20150178476 Horton Jun 2015 A1
20150193386 Wurtz Jul 2015 A1
20150220494 Qin et al. Aug 2015 A1
20150278167 Arnold et al. Oct 2015 A1
20150339273 Yang et al. Nov 2015 A1
20150339276 Bloem et al. Nov 2015 A1
20150339543 Campanelli et al. Nov 2015 A1
20150348297 Kaasila et al. Dec 2015 A1
20160078656 Borson et al. Mar 2016 A1
20160092439 Ichimi Mar 2016 A1
20160140952 Graham May 2016 A1
20160170940 Levantovsky Jun 2016 A1
20160171343 Kaasila et al. Jun 2016 A1
20160182606 Kaasila et al. Jun 2016 A1
20160246762 Eaton Aug 2016 A1
20160307156 Burner Oct 2016 A1
20160307347 Matteson et al. Oct 2016 A1
20160314377 Vieira et al. Oct 2016 A1
20160321217 Ikemoto et al. Nov 2016 A1
20160344828 Hausler Nov 2016 A1
20160371232 Ellis et al. Dec 2016 A1
20170017778 Ford et al. Jan 2017 A1
20170024641 Wierzynski Jan 2017 A1
20170098138 Wang et al. Apr 2017 A1
20170124503 Bastide May 2017 A1
20170237723 Gupta et al. Aug 2017 A1
20170357877 Lin Dec 2017 A1
20180039605 Pao et al. Feb 2018 A1
20180075455 Kumnick et al. Mar 2018 A1
20180082156 Jin et al. Mar 2018 A1
20180097763 Garcia Apr 2018 A1
20180109368 Johnson Apr 2018 A1
20180144256 Saxena May 2018 A1
20180203851 Wu Jul 2018 A1
20180253988 Kanayama Sep 2018 A1
20180285696 Eigen Oct 2018 A1
20180285965 Kaasila et al. Oct 2018 A1
20180332140 Bullock Nov 2018 A1
20180341907 Tucker Nov 2018 A1
20180373921 Di Carlo Dec 2018 A1
20190019087 Fukui Jan 2019 A1
20190095763 Arilla et al. Mar 2019 A1
20190130232 Kaasila et al. May 2019 A1
20200219274 Afridi Jul 2020 A1
Foreign Referenced Citations (21)
Number Date Country
0949574 Oct 1999 EP
2166488 Mar 2010 EP
2857983 Apr 2015 EP
06-258982 Sep 1994 JP
H10-124030 May 1998 JP
2002-507289 Mar 2002 JP
2003-288184 Oct 2003 JP
05-215915 Aug 2005 JP
05-217816 Aug 2005 JP
2007-011733 Jan 2007 JP
2009-545064 Dec 2009 JP
5140997 Nov 2012 JP
544595 Aug 2003 TW
200511041 Mar 2005 TW
WO 9423379 Oct 1994 WO
WO 9900747 Jan 1999 WO
WO 0191088 Nov 2001 WO
WO 03023614 Mar 2003 WO
WO 04012099 Feb 2004 WO
WO 05001675 Jan 2005 WO
WO 2008013720 Jan 2008 WO
Non-Patent Literature Citations (49)
Entry
European Search Report in European Application No. 18193233.6, dated Nov. 11, 2018, 8 pages.
European Search Report in European Application No. 18197313.2, dated Nov. 30, 2018, 7 pages.
Chen et al., “Detecting and reading text in natural scenes,” Proceedings of the 2004 IEEE Computer Society Conference Vision and Pattern Recognition; Publication [online]. 2004 [retrieved Dec. 16, 2018], Retrieved from the Internet: <URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.334.2715&rep=rep1&type=pdf>; pp. 1-8.
International Search Report & Written Opinion in International Application No. PCT/US18/58191, dated Feb. 19, 2019, 17 pages.
“A first experiment with multicoloured web fonts,” Manufactura Independente website, Feb. 28, 2011, Retrieved from the internet: http://blog.manufacturaindependente.org/2011/02/a-first-experiment-with-multicoloured-web-fonts/.
“Announcing Speakeasy: A new open-source language tool from Typekit,” Oct. 28, 2010, online http://blog.typekit.com/2010/10/28/announcing-speakeasy-a-new-open-source-language-tool-from-typekit/.
“colorfont/v1,” Feb. 28, 2011, retrieved from the internet: http://manufacturaindependente.com/colorfont/v1/.
“Flash CS4 Professional ActionScript 2.0”, 2007, retrieved on http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000284.html on Aug. 31, 2015.
“photofont.com—Use photofonts,” Sep. 2, 2012, retrieved from the internet: http://web.archive.org/web/20120902021143/http://photofont.com/photofont/use/web.
“Saffron Type System”, retrieved from the internet Nov. 12, 2014, 7 pages.
Adobe Systems Incorporated, “PostScript Language Reference—Third Edition,” Feb. 1999, pp. 313-390.
Adobe Systems Incorporated, “The Type 42 Font Format Specification,” Technical Note #5012, Jul. 31, 1998, pp. 1-24.
Adobe Systems Incorporated, “To Unicode Mapping File Tutorial,” Adobe Technical Note, XP002348387, May 2003.
Apple Computers, “The True Type Font File,” Oct. 27, 2000, pp. 1-17.
Celik et al., “W3C, CSS3 Module: Fonts,” W3C Working Draft, Jul. 31, 2001, pp. 1-30.
Doughty, Mike, “Using OpenType® Fonts with Adobe® InDesign®,” Jun. 11, 2012 retrieved from the internet: http://webarchive.org/web/20121223032924/http://www.sketchpad.net/opentype-indesign.htm (retrieved Sep. 22, 2014), 2 pages.
European Search Report, 13179728.4, dated Sep. 10, 2015, 3 pages.
European Search Report, 14184499.3, dated Jul. 13, 2015, 7 pages.
European Search Report, 14187549.2, dated Jul. 30, 2015, 7 pages.
Extensis, Suitcase 10.2, Quick Start Guide for Macintosh, 2001, 23 pgs.
Font Pair, [online]. “Font Pair”, Jan. 20, 2015, Retrieved from URL: http://web.archive.org/web/20150120231122/http://fontpair.co/, 31 pages.
Forums.macrumors.com [online], “which one is the main FONTS folder ?” May 19, 2006, [retrieved on Jun. 19, 2017], Retrieved from the Internet: URL<https://forums.macrumors.com/threads/which-one-is-the-main-fontsfolder.202284/>, 7 pages.
George Margulis, “Optical Character Recognition: Classification of Handwritten Digits and Computer Fonts”, Aug. 1, 2014, URL: https://web.archive.org/web/20140801114017/http://cs229.stanford.edu/proj2011/Margulis-OpticalCharacterRecognition.pdf.
Goswami, Gautum, “Quite ‘Writly’ Said!,” One Brick at a Time, Aug. 21, 2006, Retrieved from the internet: :http://gautamg.wordpress.com/2006/08/21/quj.te-writely-said/ (retrieved on Sep. 23, 2013), 3 pages.
International Preliminary Report on Patentability issued in PCT application No. PCT/US2013/071519 dated Jun. 9, 2015, 8 pages.
International Preliminary Report on Patentability issued in PCT application No. PCT/US2015/066145 dated Jun. 20, 2017, 7 pages.
International Preliminary Report on Patentability issued in PCT application No. PCT/US2016/023282, dated Oct. 26, 2017, 9 pages.
International Search Report & Written Opinion issued in PCT application No. PCT/US10/01272, dated Jun. 15, 2010, 6 pages.
International Search Report & Written Opinion issued in PCT application No. PCT/US2011/034050 dated Jul. 15, 2011, 13 pages.
International Search Report & Written Opinion, PCT/US2013/026051, dated Jun. 5, 2013, 9 pages.
International Search Report & Written Opinion, PCT/US2013/071519, dated Mar. 5, 2014, 12 pages.
International Search Report & Written Opinion, PCT/US2013/076917, dated Jul. 9, 2014, 11 pages.
International Search Report & Written Opinion, PCT/US2014/010786, dated Sep. 30, 2014, 9 pages.
International Search Report & Written Opinion, PCT/US2016/023282, dated Oct. 7, 2016, 16 pages.
Japanese Office Action, 2009-521768, dated Aug. 28, 2012.
Japanese Office Action, 2013-508184, dated Apr. 1, 2015.
Ma Wei-Ying et al., “Framework for adaptive content delivery in heterogeneous network environments”, Jan. 24, 2000, Retrieved from the Internet: http://www.cooltown.hp.com/papers/adcon/MMCN2000.
Open Text Exceed, User's Guide, Version 14, Nov. 2009, 372 pgs.
Saurabh, Kataria et al., “Font retrieval on a large scale: An experimental study”, 2010 17th IEEE International Conference on Image Processing (ICIP 2010); Sep. 26-29, 2010; Hong Kong, China, IEEE, Piscataway, NJ, USA, Sep. 26, 2010, pp. 2177-2180.
Supplementary European Search Report, European Patent Office, European patent application No. EP 07796924, dated Dec. 27, 2010, 8 pages.
TrueType Fundamentals, Microsoft Typography, Nov. 1997, pp. 1-17.
Typeconnection, [online], “typeconnection”, Feb. 26, 2015, Retrieved from URL: http://web.archive.org/web/20150226074717/http://www.typeconnection.com/stepl.php, 4 pages.
Universal Type Server, Upgrading from Suitcase Server, Sep. 29, 2009, 18 pgs.
Wenzel, Martin, “An Introduction to OpenType Substitution Features,” Dec. 26, 2012, Retrieved from the internet: http://web.archive.org/web/20121226233317/http://ilovetypography.com/OpenType/opentype-features. Html (retrieved on Sep. 18, 2014), 12 pages.
Written Opposition to the grant of Japanese Patent No. 6097214 by Masatake Fujii, dated Sep. 12, 2017, 97 pages, with partial English translation.
Koren et al., “Visualization of labeled data using linear transformations.” IEEE Symposium on Information Visualization, 2003 (IEEE Cat. No. 03TH8714).
Liu, “Visual Exploration and Comparative Analytics of Multidimensional Data Sets”, Graduate Program in Computer Science and Engineering, The Ohio State University, 2016, 210 pages.
Shusen, et al. “Distortion-Guided Structure-Driven Interactive Exploration of High-Dimensional Data,” Computer Graphics Forum., 2014, 33(3):101-110.
Wu et al., “Stochastic neighbor projection on manifold for feature extraction.” Neurocomputing, 2011,74(17):780-2789.
Related Publications (1)
Number Date Country
20190073537 A1 Mar 2019 US