Automatic unstructured knowledge cascade visual search

Through the use of cascading methods and general classification models, input images are grouped and search application components are generated, solving the accuracy problem of visual search matching between different domains and achieving efficient and accurate visual search results.

CN119301585APending Publication Date: 2025-01-10CLARIFAI INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380020821.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-02-10
Filing Date
2023-02-10
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

Existing visual search systems are difficult to accurately match visually similar images between different image domains, resulting in inaccurate search results and poor user experience.

Method used

Using a cascading method, group the input images into clusters through preprocessing and training, and use the search application components associated with each cluster for visual search. Features are extracted using a general classification model and clustered based on metadata to generate accurate vision. Search results.

Benefits of technology

It improves the accuracy and efficiency of visual search, provides clearer and predictable results, reduces manual intervention, and achieves efficient matching of cross-domain visual search.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119301585A_ABST
    Figure CN119301585A_ABST
Patent Text Reader

Abstract

Systems, methods, and computer program code are provided for performing a visual search in which an input is identified and processed using a model to generate at least a first prediction representing a first prediction cluster to which the input can be grouped and an accuracy representation associated with the at least first prediction. A search for a data store is initiated using the input and using an application associated with the first prediction cluster. A set of results predicted to be visually similar to the input is output.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Visual search is a search performed by providing an input image to return matches of visually similar images from a dataset. Visual search is used for product exploration or recommendations, face recognition, "take a picture and search" mobile applications (where a user uses a phone or similar device to capture an image of an object and a search can be automatically initiated). Visual search can be used to retrieve information about the main items in an image to find visually similar images, etc.

[0002] As an illustrative example, a user may have an image of a particular shoe and may wish to search for shoes with a similar style. Unfortunately, it can be difficult to obtain accurate results in such a search. For example, the related images may come from different domains (often associated with the background surrounding the main object in the image). As a specific example, a shoe image from a catalog image domain may be centered on a white background, while a shoe image from a real-life domain (e.g., a photo of a person wearing shoes) may have a variety of backgrounds and environments. It may be difficult to create and train a machine learning model that can accurately and quickly identify visually similar images in different domains in an illustrative and repeatable manner. Changes in domains may result in search results that seem meaningless to the user. For example, if an image of a shoe and an image of a dog are both taken on the same carpet, the image of the shoe may match the image of the dog. Some visual search methods may indicate the portion of the neural network or the portion of the image that we are responsible for matching, but there is no description of the underlying category data.

[0003] It would be desirable to provide a visual search system and method that can accurately and quickly return similar images and across different domains. It would be further desirable to provide such a search in a demonstrable and repeatable manner. Summary of the invention

[0004] According to some embodiments, systems, methods, and computer program code for performing visual search are provided. According to some embodiments, an input is identified and processed using a model to generate at least a first prediction and an indication of accuracy associated with the at least first prediction, the first prediction indicating a first prediction cluster in which the input can be grouped. A search of a data store is initiated using the input and using an application associated with the first prediction cluster. A result set is output in which results are predicted to be visually similar to the input.

[0005] According to some embodiments, the model may generate more than one prediction indicating that the input may be grouped into more than one cluster, and a search may be initiated using the application associated with each cluster to obtain a result set.

[0006] According to some embodiments, systems, methods, and computer program code for creating a visual search application are provided. According to some embodiments, an input data set including a plurality of images is identified. The plurality of images are grouped into one or more clusters, and a search application component is created for each of the one or more clusters.

[0007] According to some embodiments, a plurality of images are processed using a predictive model (such as a general classifier model), and features are extracted from the plurality of images. In some embodiments, grouping into clusters is performed based at least in part on the extracted features.

[0008] In some embodiments, metadata associated with each of the plurality of images is identified, and the grouping into clusters is based at least in part on the metadata. In some embodiments, the metadata includes classification or label information associated with each image.

[0009] The technical effect of some embodiments of the present invention is an improved, accurate and efficient way of performing visual search using a cascade method that provides more illustrative and predictable results. With these and other advantages and features that will become apparent hereinafter, a more complete understanding of the present invention can be obtained by reference to the following detailed description and the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] Figure 1 is a block diagram of a system according to some embodiments.

[0011] Figure 2 A process according to some embodiments is shown.

[0012] Figure 3 A process according to some embodiments is shown.

[0013] Figure 4A and Figure 4B An example user interface of a visual search application is shown in accordance with some embodiments.

[0014] Figure 5 is a block diagram of a search platform according to some embodiments. DETAILED DESCRIPTION

[0015] A user may wish to perform a visual search and receive one or more search results that are visually similar to the input. For example, a user may interact with an application that allows the user to upload an image of an object (or take a photo), and then perform a search to identify one or more objects that are visually similar. The embodiments described herein provide improved visual search systems and methods that can provide improved illustrativeness, processing speed, and result accuracy. According to some embodiments, a substantially automatic unstructured visual search may be performed that returns visually similar results. The terms "automatic" or "automatically" as used herein may refer to actions that can be performed, for example, with little or no human intervention. According to some embodiments, a visual search may be performed using a cascade search method that will be further described herein.

[0016] According to some embodiments, a visual search system and method are provided that utilizes contextual knowledge from a general model and automatically finds and isolates visually similar groups. According to some embodiments, a "cascade" approach is used, in which learning tasks are combined into a cascade sequence (e.g., classification and then search). As will be further described herein, a first process (e.g., a preprocessing or training process) is performed to group the training inputs into unique clusters and then create a single visual search application associated with these clusters. Figure 2 The process is further described. Then, a visual search process (e.g., an inference process) is performed based on a user's request (e.g., when a user interacts with the system of the present invention to perform a visual search), which requests to call the Figure 2 Visual search application created in the process of Figure 3 And further reference Figure 4A and Figure 4B An example user interface is shown to illustrate the visual search process.

[0017] Compared to other visual search techniques, embodiments of the present invention achieve a higher level of declarativeness. This higher level of declarativeness is provided at least in part by breaking down the difficult technical problem of visual search into smaller processes in a cascaded manner. Applicants have discovered that using the cascaded visual search features described herein provides multiple benefits, including reduced processing time (e.g., with less manual intervention) and improved accuracy.

[0018] Before describing these processes, we will now first refer to Figure 1 To describe the features of some embodiments, Figure 11 is a block diagram of a system 100 according to some embodiments of the present invention. As shown, the system 100 includes a visual search platform 122 that receives input 102 (such as images, videos, etc.) and generates output (e.g., such as image data 136). For example, the visual search platform 122 can be operated to allow a user to provide an image as input 102 and receive one or more outputs (e.g., one or more images 136) that are indicated by the visual search platform 122 as being visually similar to the input 102.

[0019] According to some embodiments, system 100 includes components and interfaces that allow for performing a substantially automatic and unstructured visual search. According to some embodiments, system 100 may also include components and interfaces that allow for the creation of one or more visual search modules 118 as further described herein, which may be used to perform a visual search. In some embodiments, visual search module 118 may be created using a system different from the system used to perform a visual search. For example, a system may be used to perform clustering and creation of visual search module 118 (e.g., Figure 2 ), and different systems can be used to perform visual search (such as Figure 3 For convenience and ease of description, this article will describe how the same system (e.g., Figure 1 system 100) to execute Figure 2 and Figure 3 An illustrative (but non-limiting) embodiment of a process of .

[0020] According to some embodiments, model module 112 may include (or have access to) one or more "generic" models (e.g., classification models trained to predict a variety of different concepts in an image or video). The model associated with model module 112 may be configured to process input 102 and provide predictions, and one or more subsystems are configured to process the input and output from the model. As an example, visual search platform 122 may be configured to generate predictions associated with input 102 such as an image or video. For simplicity and ease of illustration, the term "image data" may be used herein to refer to both still images and videos. Clustering module 116 may use the predictions or outputs of the model to generate cluster data 134, as described below in conjunction with Figure 2 The process description is further described.

[0021] For the sake of clarity and ease of explanation, the term "concept" is used herein to refer to the predicted output of the model. For example, in the context of a classification model, a "concept" can be a predicted classification of an input. The embodiments are not limited to use with models that produce "concepts" as outputs - on the contrary, the embodiments can be used with other model output types that are stored or written to a memory for further processing to obtain the desired results. For convenience and ease of explanation, in order to illustrate the features of some embodiments, the term "confidence score" is used to refer to an indication of the confidence of the model in the accuracy of the output (e.g., the "concept" output from a model such as a classification model). A "confidence score" can be any indicator of the confidence or accuracy of the output from the model, and a "confidence score" is used as an example in this article. In some embodiments, the confidence score is used as an input to one or more threshold models to determine further processing actions as will be further described below.

[0022] According to some embodiments, an “automatic” visual search platform 122 may receive one or more inputs 102 and perform processing to automatically generate one or more outputs of visually similar images, as will be further described herein.

[0023] In some embodiments, the user device 104 can interact with the visual search platform 122 via a user interface (e.g., via a web browser), where the user interface is generated by the visual search platform 122, and more specifically, by the user interface module 114. In some embodiments, the user device 104 can be configured with an application (not shown) that allows the user to interact with the visual search platform 122. In some embodiments, the user device 104 can interact with the visual search platform 122 via an application programming interface ("API") and more specifically via the interface module 120. For example, the visual search platform 122 (or other systems associated with the visual search platform 122) may provide one or more APIs for submitting input 102 for processing by the visual search platform 122. As described above, for convenience and ease of illustration, Figure 1 The visual search platform 122 shown is a pre-processing or training process ( Figure 2 ) and visual search process ( Figure 3 ) are both described as visual search platforms executed by the same platform 122. In other embodiments, preprocessing or training may be performed on different platforms. Figure 1 In the illustrated embodiment, input 102 may be provided for different purposes (e.g., when combined with Figure 2 When operating platform 122, input 102 may be provided for training purposes and when combined with Figure 3 When operating platform 122, input 102 can be provided for initiating a visual search).

[0024] For the purpose of illustrating the features of some embodiments, the use of a web browser interface will be described; however, those skilled in the art will understand after reading this disclosure that an API can be used to implement similar interactions. Figure 4A and Figure 4B Illustrative (but non-limiting) examples of web browser interfaces according to some embodiments are further described.

[0025] The system 100 may include various types of computing devices. For example, the user device 104 may be a mobile device (such as a smart phone), a tablet computer, a laptop computer, a desktop computer, or any other type of computing device that allows a user to interact with the visual search platform 122 as described herein. The visual search platform 122 may include one or more computing devices, including the following reference Figure 5 In some embodiments, the visual search platform 122 includes multiple server devices and / or applications running on one or more server devices. For example, the visual search platform 122 may include an application server, a communication server, a network hosting server, etc.

[0026] The devices of system 100 (including, for example, user device 104, input 102, visual search platform 122, and databases 132, 134, and 136) can communicate using any communication platform and technology suitable for transmitting data and / or communication signals (including any known communication technology, equipment, media, and protocols supporting data communication). For example, the devices of system 100 can exchange information via any wired or wireless communication network such as the Internet, an intranet, or an extranet. Note that any device described herein can communicate via one or more such communication networks.

[0027] although Figure 1 A single visual search platform 122 is shown in the figure, but any number of such devices may be included. In addition, the various devices described herein may be combined according to embodiments of the present invention. For example, in some embodiments, the visual search platform 122 and the cluster database 134 (or other database) may be co-located and / or may include a single device.

[0028] Once the visual search platform 122 has been trained and operated to create one or more visual search applications, the platform 122 can be operated to perform efficient and accurate visual searches. Figure 2Before discussing the training process, a brief illustrative (but non-limiting) example will be presented. In this illustrative example, an organization wishes to provide users (e.g., such as users operating user devices 104) with access to an efficient and accurate visual search application. The organization chooses to use features of the present invention to provide such a search application and has access to well-trained "generic" classification models (e.g., via model module 112). The organization first performs preprocessing to create one or more visual search applications (e.g., in conjunction with Figure 2 These visual search applications are then selected in response to a visual search request issued by a user (e.g., where a user submits input for use by the visual search platform 122 to retrieve one or more visually similar images to be returned to the user as visual search results). The user may interact with the visual search platform 122 via a device 104 such as a mobile device or the like. As a simple illustrative example, the user may operate a mobile device and may use a camera of the mobile device to capture input 102. The input 102 is sent from the mobile device to the visual search platform 122, and the visual search platform 122 performs a combination of Figure 3 The described processing is to return one or more visual search results to the user device 104.

[0029] Reference now Figure 2 , which shows a preprocessing process 200, according to some embodiments of the present invention, the preprocessing process 200 may be composed of Figure 1 The present invention may be performed by some or all of the elements of the system 100 described herein. The flowcharts and process diagrams described herein do not imply a fixed order of steps, and embodiments of the present invention may be practiced in any order that is practicable. Note that any method described herein may be performed by hardware, software, or any combination of these methods. For example, a computer-readable storage medium may have instructions stored thereon that, when executed by a machine, produce performance according to any embodiment described herein.

[0030] Figure 2 Process 200 depicts an embodiment that may be used to create one or more visual search applications. Figure 2The process 200 may be performed via a user interface (e.g., by a user interacting with a user interface of a user device 104) or via an API associated with a visual search platform 122. The process 200 begins at 202, where one or more inputs 102 are provided to the platform 122 for creating one or more visual search applications. The inputs 102 may be provided in batches or individually. In some cases, some or all of the inputs 102 may include metadata or other descriptive information associated with them, which may be used to classify or cluster the inputs into groups. For example, in an embodiment where the inputs 102 are from a catalog domain, some or all of the inputs 102 may be marked, labeled, or otherwise classified. The information may be included in the inputs 102 (e.g., as attribute data of an image), or the information may be printed or displayed on an image (in which case some character recognition processing may be required to extract the metadata). As an illustrative example, if the inputs 102 are from a home improvement store website, some or all of the inputs 102 may be marked with a category in which the inputs 102 will be displayed in the website. For example, an image of a refrigerator may be labeled with categories such as “kitchen,” “appliance,” “refrigerator,” etc. This information, if present, may be used to classify the input 102 at 206 .

[0031] Once the input has been classified (if metadata is present), processing can continue at 208, where the input is processed using a predictive model (e.g., such as a neural network configured as a classification model) to extract features from the input 102. In some embodiments, the model can be a well-trained "general" model that can operate on inputs and extract features from these inputs. Processing continues at 210, where these features are projected into an embedding space. For example, the model can generate an embedding, or map a discrete variable or category to a vector of continuous numbers. Those skilled in the art will understand that a variety of different types of neural networks can be used for this purpose, and will understand the operation of such neural networks for projecting features of the input into an embedding space. For example, a numerical representation of the predicted classification of the input can be projected into a hyperspace based on some distance metric (such as Euclidean distance) or some angle in the hyperspace (e.g., such as cosine similarity) to allow the algorithm to be clustered to automatically create groups or clusters. The processing at steps 202 to 210 is repeated until all inputs 102 have been processed and projected into the embedding space (and all inputs 102 with metadata have been classified, if appropriate). In some embodiments, this may include providing multiple inputs 102 that are related to a common concept (e.g., such as multiple images of different types of shoes, or multiple images of different types of plumbing hardware, etc.).

[0032] In some embodiments, when the input data has sufficient metadata, processing may proceed directly from 206 , where the input is classified, to 212 , where clusters are created using the categories, without the need for operations of steps 208 - 210 .

[0033] According to some embodiments, processing proceeds from 210 to 212, where the embeddings (and the categorical inputs with metadata, if appropriate) are then clustered into unique groups. For example, in some embodiments, the processing at 212 may include clustering using a process such as a k-means clustering method (e.g., using a Python module from Scikit-learn, etc.). Applicants have found that using a clustering method that uses shoulders on top of k-means clustering produces desired results. The goal is to identify groups (or "clusters") of closely related data points in the embedding. In the context of image analysis, these closely related data points represent images that are visually similar to each other. The clustering process can be an iterative process and can be repeated as additional inputs are added. According to some embodiments, multiple different clusterings can be performed so that individual inputs can be associated with a cascade of clusters. For example, a cluster may include more general groupings (such as "appliances" or "kitchen") as well as more specific groupings (such as "refrigerator"). Those skilled in the art will understand after reading this disclosure that multiple different clustering or grouping methods can be used, as long as groups or clusters of related data points are identified.

[0034] Once the input data (or more accurately, embeddings) are grouped into unique clusters (and any categorical data from the input with metadata, if appropriate), processing continues at 214 where a search application is created for each cluster. In some embodiments, the processing at 214 may or may not include some user input. For example, the user may be prompted to provide a name for each cluster (e.g., such as "tennis shoes" or "running shoes" for a particular cluster of shoes, or "plumbing equipment" for a particular set of plumbing hardware). However, since names or labels may be automatically assigned to each cluster based on concepts predicted by the general model, user input may not be required.

[0035] As each search application is created for each cluster, processing at 216 is also performed to train a multi-class classifier model on each cluster. For example, the inputs 102 associated with the embeddings in each cluster can be provided as inputs to the multi-class classifier model at 216. Classifiers are trained using these inputs 102 to classify similar inputs used by the associated search applications. That is, the classifiers are trained at 216 to identify visually similar images as images that created the cluster (and therefore identify them as images of the search application created at 214). The processing at 214 and 216 is repeated until each unique cluster has an associated search application and a trained classifier.

[0036] Process 200 can be repeated to create multiple visual search applications. For example, in practical applications, process 200 can be repeated to create hundreds or tens of thousands of visual search applications. Each visual search application (and the corresponding input in the cluster) will have been used to train one or more multi-class classifiers. In general, the classifier has been trained to predict which or which visual search applications the input should be classified as. In addition, in some embodiments, the visual search applications can be cascaded so that a more general search application is operated first, and then the output from these general search applications is provided as input to a more specific visual search application. The applicant has found that this cascade provides desired and accurate search results.

[0037] Reference now Figure 3 , which shows a visual search process 300, according to some embodiments of the present invention, the pre-processing process 200 can be composed of about Figure 1 According to some embodiments, the visual search process 300 is performed after multiple visual search applications have been created and after multiple class classifiers have been trained, such as in conjunction with Figure 2 described.

[0038] The visual search process 300 will be described using the illustrative example introduced above and in which a visual search application has been created and a multi-class classifier model has been trained. FIG. 4A to FIG. 4B The visual search process 300 begins at 302, where input is provided. For example, the input 102 can be captured by a user operating a user device 104 and sent to Figure 1 The image of the visual search platform 122. Figure 4A As shown, user device 104 is a mobile device having a display 105 that prompts the user to capture an image (e.g., using a camera of the mobile device) and submit the image as input 102 for processing by visual search platform 122. Figure 4AIn the illustrative example shown, a user has captured an image of a nut or other type of hardware device, and the user wants to identify the input 102 .

[0039] Processing continues at 304 where the visual search platform 122, upon receiving the input 102, presents the input 102 to a multi-class classifier model for classification. The model performs processing to predict a classification for the input 102. In some embodiments, the model may generate one or more predicted “concepts” associated with the input 102. Each predicted concept may be associated with a confidence score that represents the model's confidence in the accuracy of the predicted concept. The classifier may, for example, predict several different classifications associated with several different visual search applications. Each prediction may have an associated confidence score. Processing continues at 306 where a top cluster / search application is selected. For example, reference Figure 4A , the classifier may predict the following clusters / search applications based on input 102: {Plumbing: 0.98, Appliances: 0.3, Bathroom: 0.05, Outdoor: 0.01}. That is, the classifier may indicate with a confidence of 0.98 that input 102 is associated with a search application labeled "Plumbing." In this example, the classifier indicates that there is a high probability that the input is associated with the plumbing search application rather than any other search application (the other search applications / clusters have low confidence scores). In this case, the visual search platform 122 may cause only a single visual search application (the "Plumbing" visual search application) to be executed. In other examples, several clusters / visual search applications may be identified with high confidence. In these cases, several visual search applications may be executed and the results aggregated for display to the user. Regardless of whether a single visual search application or multiple visual search applications are executed, the top image resulting from the operation of these applications will be output to the user at 310. For example, referring to Figure 4B , a display 105 indicating the top results may be presented to the user. In the example shown, three visually similar images are returned to the user, with the predicted most similar image shown on the left. In the example shown, information about the search results (including tags and confidence scores) is also presented to the user.

[0040] According to some embodiments, the user may be presented with some feedback information at prompt 312 related to the displayed results. For example, if the user is performing a visual search using a picture of shoes, the system of the present invention may return search results including "dress shoes" as well as "sneakers" (e.g., the input image may have resulted in the selection of two search applications (a search application associated with dress shoes and a search application associated with sneakers)). According to some embodiments, the user may be prompted to select which application is most responsive to the user's search intent. If the user provides such feedback indicating a preference, the embodiment may continue the processing at 306, where further search results from the selected application may be returned. This user feedback may be performed multiple times (e.g., at different cascade levels of different search applications). In this way, the embodiment provides accurate results that most closely match the user's search intent while providing a high degree of illustrativeness.

[0041] Those skilled in the art will appreciate after reading this disclosure that the user interface of FIG. 4 is for illustrative purposes only, and that a variety of different user interfaces may be used. In addition, any number of different hardware configurations may be used to implement the embodiments described herein. For example, Figure 5 A visual search platform 500 is shown, which can be used, for example, with Figure 1 The visual search platform 500 includes a processor 510 (e.g., one or more commercially available central processing units (CPUs) in the form of microprocessors) coupled to a communication device 520, which is configured to communicate via a communication network ( Figure 5 The communication device 520 can be used to communicate with one or more input sources and / or user devices, for example. The visual search platform 500 also includes an input device 540 (e.g., a mouse and / or keyboard for defining rules and relationships) and an output device 550 (e.g., a computer monitor for displaying search results and other information to a user).

[0042] Processor 510 also communicates with storage device 530. Storage device 530 may include any suitable information storage device, including a combination of magnetic storage devices (e.g., hard drives), optical storage devices, mobile phones, and / or semiconductor memory devices. Storage device 530 stores a program 512 for controlling processor 510 and / or one or more software modules 514 (e.g., Figure 1 The processor 510 executes the instructions of the programs 512 and 514 to operate according to any of the embodiments described herein. For example, the processor 510 may receive input data and then perform processing on the input data, such as combining Figure 2 and Figure 3 The programs 512, 514 may access, update, and otherwise interact with data such as model data 516, clustering data 518, and image data 520 as described herein.

[0043] Programs 512, 514 may be stored in a compressed, uncompiled, and / or encrypted format. Programs 512, 514 may also include other program elements, such as an operating system, a database management system, and / or device drivers used by processor 510 to interface with peripheral devices.

[0044] As used herein, information may be “received” or “sent” in the following manners, for example: (i) from another device to the search platform 500 ; or (ii) from another software application, module, or any other source to a software application or module within the search platform 500 .

[0045] Various additional embodiments of the present invention are described below. These additional embodiments do not constitute a limitation of all possible embodiments, and those skilled in the art will understand that the present invention is also applicable to many other embodiments. In addition, although the following embodiments are briefly described for clarity, those skilled in the art will understand how to make any changes (if necessary) to the above-mentioned apparatus and methods to adapt to these and other embodiments and applications.

[0046] Although specific hardware and data configurations have been described herein, note that any number of other configurations may be provided in accordance with embodiments of the present invention (eg, some of the information associated with the databases described herein may be combined or stored in external systems).

[0047] The present invention has been described by several embodiments for illustrative purposes only. Those skilled in the art will recognize from this description that the present invention is not limited to the embodiments described, but can be practiced with modifications and changes limited only by the spirit and scope of the appended claims.

Claims

1. A computer-implemented method for performing a visual search, the method comprising: Identify input; processing the input using a model to generate at least a first prediction and an accuracy indication associated with the at least first prediction, the at least first prediction indicating a first prediction cluster into which the input can be grouped; initiating a search of a data store using the input, the search being performed using a visual search application associated with the first predictive cluster; as well as The output is predicted to be the set of results that are visually similar to the input.

2. The computer-implemented method of claim 1 , wherein: The model is a classification model.

3. The computer-implemented method of claim 2, wherein: The classification model is a multi-class classification model trained on a set of clusters.

4. The computer-implemented method of claim 3, wherein: The set of clusters is created by extracting features from the base model and clustering the features into unique groups.

5. The computer-implemented method of claim 4, wherein: The model is trained on the set of clusters.

6. The computer-implemented method of claim 4, further comprising: A visual search application is generated for each cluster in the set of clusters.

7. The computer-implemented method of claim 1 , wherein: The input is an image.

8. The computer-implemented method of claim 1 , wherein: The output result set also includes: Output a confidence score for each result in the result set.

9. The computer-implemented method of claim 8, wherein: The output result set also includes: Each result in the result set is ranked according to the confidence score, and the result with the highest confidence score is presented as the most similar result.

10. The computer-implemented method of claim 1 , further comprising: The input is processed using a model to generate at least a second prediction and an accuracy indication associated with the at least second prediction, the at least second prediction representing a second prediction cluster into which the input can be grouped.

11. The computer-implemented method of claim 10, wherein: Initiating a search of a data store using the input, the search being performed using an application associated with the first prediction cluster, further comprising: The indication of accuracy associated with the at least first prediction is determined to be greater than the indication of accuracy associated with the at least second prediction.

12. A system comprising: An input device for receiving input from a remote user device; Processing unit; as well as a memory storage device comprising program code which, when executed by the processing unit, causes the system to: processing the input using a model to generate at least a first prediction and an accuracy indication associated with the at least first prediction, the at least first prediction indicating a first prediction cluster into which the input can be grouped; initiating a search of a data store using the input, the search being performed using a visual search application associated with the first predictive cluster; as well as The output is predicted to be the set of results that are visually similar to the input.

13. The system according to claim 12, wherein: The model is a classification model.

14. The system according to claim 13, wherein: The classification model is a multi-class classification model trained on a set of clusters.

15. The system of claim 14, wherein: The set of clusters is created by extracting features from the base model and clustering the features into unique groups.

16. The system of claim 15, wherein: The model is trained on the set of clusters.

17. The system of claim 14, further comprising program code that, when executed by the processing unit, causes the system to: A visual search application is generated for each cluster in the set of clusters.

18. The system of claim 12, further comprising program code that, when executed by the processing unit, causes the system to: generating at least a second prediction, the at least second prediction representing a second prediction cluster into which the input can be grouped; causing information to be displayed on the remote user device to identify the first predictive cluster and the second predictive cluster; and A selection of one of the first prediction cluster and the second prediction cluster that more accurately satisfies a user's search intent is received from the remote user device.

19. The system of claim 18, further comprising program code that, when executed by the processing unit, causes the system to: The input is used to initiate a search of a data store, the search being performed using a visual search application associated with a selected one of the first predictive cluster and the second predictive cluster.

20. A computer-implemented method for creating a visual search application, the method comprising: identifying an input dataset comprising a plurality of images; grouping the plurality of images into one or more clusters; as well as For each of the one or more clusters, a search application component is created.

21. The computer-implemented method of claim 20, further comprising: processing the plurality of images using a predictive model; as well as extracting features from the plurality of images; Therein, the grouping is based at least in part on the extracted features.

22. The computer-implemented method of claim 20, further comprising: identifying metadata associated with each image of the plurality of images; Wherein, the grouping is based at least in part on the metadata.

23. The computer-implemented method of claim 20, wherein: The metadata includes data identifying at least one of a category and a tag.

24. The computer-implemented method of claim 20, wherein: The metadata includes data obtained by performing an optical character recognition process.

25. The computer-implemented method of claim 20, further comprising: A multi-class classifier model is trained using each of the clusters.

26. The computer-implemented method of claim 25, wherein: The multi-class classifier model is trained to classify input as being associated with at least one of the search application components.

27. The computer-implemented method of claim 21, wherein: The prediction model is a base classifier model.

28. The computer-implemented method of claim 20, further comprising: The visual search application is deployed for performing a visual search on input received from one or more remote user devices.