WO2019152017A1 - Selecting training symbols for symbol recognition - Google Patents
Selecting training symbols for symbol recognition Download PDFInfo
- Publication number
- WO2019152017A1 WO2019152017A1 PCT/US2018/016211 US2018016211W WO2019152017A1 WO 2019152017 A1 WO2019152017 A1 WO 2019152017A1 US 2018016211 W US2018016211 W US 2018016211W WO 2019152017 A1 WO2019152017 A1 WO 2019152017A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- symbol
- image
- query
- bounding box
- unlabeled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/55—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/40—Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
- G06F18/41—Interactive pattern learning with a human teacher
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0895—Weakly supervised learning, e.g. semi-supervised or self-supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/091—Active learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/778—Active pattern-learning, e.g. online learning of image or video features
- G06V10/7784—Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
- G06V10/7788—Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors the supervisor being a human, e.g. interactive learning with a human teacher
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/09—Recognition of logos
Definitions
- Visual media has become a powerful tool for sharing information.
- a symbol such as a logo, image, or text, may be present in the visual media.
- a social media user may post an image of himself drinking coffee from a cup that displays the logo for a particular coffee chain.
- the presence of the logo in the image, and in similar images, may provide unique brand insight for the coffee chain.
- FIG. 1 depicts a high-level block diagram of an example symbol recognition system that can be trained to recognize symbols such as logos, images, text, and the like in images;
- FIG. 2 illustrates a flowchart of an example method for training a symbol recognition system
- FIG. 3 is a flowchart of an example method for synthesizing training images for training a symbol recognition system
- FIG. 4A depicts an example starting image
- FIG. 4B depicts an example depth estimation that may be obtained from the example starting image of FIG. 4A;
- FIG. 4C depicts an example image segmentation that may be obtained from the example starting image of FIG. 4A;
- FIG. 4D depicts an example set of segments that may be selected from the example starting image of FIG. 4A;
- FIG. 4E depicts an example symbol (e.g., a commercial logo) that may be inserted into the example starting image of FIG. 4A;
- FIG. 4F depicts an example composite image that may be generated by inserting the example symbol depicted in FIG. 4E into a segment of the example starting image depicted in FIG. 4A;
- FIG. 5 is a flowchart of an example method for training a symbol recognition system using unlabeled training data
- FIG. 6 illustrates an example of an apparatus.
- the present disclosure broadly describes an apparatus, method, and non-transitory computer-readable medium for selecting training symbols for symbol recognition.
- visual media has become a powerful tool for sharing information.
- a symbol such as a logo, image, or text, may be present in the visual media, and the presence of the symbol may provide unique insight into the entity represented by the symbol.
- CNNs Convolutional neural networks
- the effectiveness of a CNN often depends on the amount of labeled training data that is available to train the CNN. Labeling of training data (e.g., images containing different symbols, including symbols of interest) is typically a manual process. This process can be time consuming as well as costly.
- Examples of the present disclosure use unlabeled training data to train a symbol recognition system.
- the system may initially be trained using synthesized training images.
- the synthesized training images may be generated by strategically inserting symbols (e.g., images, logos, or text) into existing, unlabeled images.
- the system may be further trained using a bootstrapping process.
- the bootstrapping process uses a search engine to acquire existing images that include symbols, and the acquired images are then processed to recognize the symbols.
- the recognition process produces, for each image, a bounding box that identifies a region in the image where a symbol is detected.
- the bounding box is associated with a class (i.e.
- a specific symbol the system is trained to detect and a confidence score indicating a confidence in the class identification. If the class matches the query used to drive the search engine, and the confidence score is above a threshold, then it is selected. From the set of selected bounding boxes, a fixed number of bounding boxes having highest confidence scores are chosen. The images containing the chosen bounding boxes are then fed back into the system for training, in order to fine-tune the system’s detection capabilities. The recognition, selection of bounding boxes, and fine-tuning steps can be repeated any number of times, in that order, to further fine-tune the system’s detection capabilities.
- a“symbol” may refer to a logo, an image, or text that occurs in visual media.
- examples of the present disclosure are discussed within the context of detecting logos, such examples can be extended to detecting other types of symbols, including text and images.
- FIG. 1 depicts a high-level block diagram of an example symbol recognition system 100 that can be trained to recognize symbols such as logos, images, text, and the like in images.
- the symbol recognition system 100 generally comprises a processor 102, a search query generator 104, a training data selector 106, and a training data repository 108.
- the processor 102 is configured to recognize symbols in input images.
- the processor 102 includes a convolutional neural network (CNN) 1 10 that is trained to recognize the symbols.
- CNN 1 10 may be replaced with another type of machine learning system, including another type of neural network.
- the CNN 1 10 receives as input a plurality of images and produces as output a plurality of bounding boxes, where each bounding box is assigned a class that is associated with a symbol believed to be present in the portion of an image that is enclosed by the bounding box.
- the CNN 1 10 also produces for each bounding box a confidence score which indicates a likelihood that the class assigned to the bounding box is correct (i.e., that the symbol associated with the class is depicted in the bounding box).
- the training may be an iterative process in which the capabilities of the CNN 1 10 are progressively fine-tuned through successive iterations of the recognition process.
- the search query generator 104 is configured to retrieve training data in the form of unlabeled images for the CNN 1 10.
- the search query generator 104 may formulate a search query that identifies a symbol that the CNN 1 10 is to be trained to recognize.
- the search query generator 104 may submit the search query to a search engine, which may return a plurality of unlabeled images (retrieved, e.g., from public sources over the Internet) in response to the search query.
- the search query generator 104 is further configured to forward the unlabeled images to the CNN 1 10 for production of the bounding boxes and confidence scores described above.
- the training data selector is configured to select images for training of the CNN 1 10 based on the bounding boxes and confidence scores produced by the CNN 1 10. In one example, the training data selector feeds the selected images back into the CNN 1 10 as training data, e.g., in a feedback loop.
- the training data selector 106 may also store the selected images in the training data repository 108.
- FIG. 2 illustrates a flowchart of an example method 200 for training a symbol recognition system.
- the method 200 may be performed, for example, by components of the system 100 illustrated in FIG. 1. As such, reference may be made in the discussion of FIG. 2 to various components of the system 100 to facilitate understanding. However, the method 200 is not limited to implementation with the system illustrated in FIG. 1.
- the method 200 begins in block 202.
- a query is submitted to a search engine.
- the query includes an identification of a symbol (e.g., a “target symbol”).
- the query may comprise a search string including the target symbol, such as a brand associated with the target symbol (e.g.,“Brand X”), and a keyword describing a place or a product on which the target symbol may appear (e.g., “logo,”“ad,”“billboard,”“packaging,”“bottle,”“can,”“beer,” “shirt,”“hat,”“merchandising,”“event,”“building,”“headquarters,”“van,”“truck,” “airplane,”“shoes,”“store,”“shop,”“employees,”“office,” or“sign,” to name a few possibilities).
- a query targeting“Brand X” beer may comprise the search string“Brand X bottle.”
- a bounding box is generated in an unlabeled image returned by the search engine in response to the query.
- the bounding box indicates a region of the unlabeled image that is believed to contain the target symbol.
- the bounding box may be assigned a class indicating the target symbol that is believed to be contained within the bounding box.
- a symbol detection system such as a CNN, may be used to detect the symbol in the unlabeled image and to generate the bounding box.
- a confidence score is generated.
- the confidence score indicates a likelihood of the symbol being present in a portion of the unlabeled image enclosed by the bounding box (i.e. , a likelihood of the class assignment made in block 206 being correct).
- the confidence score may have a value falling in the range from zero to one.
- the unlabeled image is selected as a training image for training a system to recognize the symbol, when the confidence score is above a predefined threshold.
- the method 200 ends in block 212. As discussed in greater detail below, blocks 206-210 of the method 200 may be repeated for a plurality of unlabeled images returned by the search engine.
- FIG. 3 is a flowchart of an example method 300 for synthesizing training images for training a symbol recognition system.
- the method 300 may be performed, for example, by components of the system 100 illustrated in FIG. 1. As such, reference may be made in the discussion of FIG. 3 to various components of the system 100 to facilitate understanding. However, the method 300 is not limited to implementation with the system illustrated in FIG. 1.
- the method 300 begins in block 302.
- a plurality of starting images is obtained.
- each starting image in the plurality of starting images is an image that lacks text or commercial logos.
- the plurality of starting images may be obtained, for example, by using a search engine to retrieve publicly available images from the Internet.
- FIG. 4A depicts an example starting image 400.
- the backgrounds of the plurality of starting images are pre-processed.
- pre-processing of the background of a starting image includes performing depth estimation and image segmentation on the background.
- the depth may be estimated using a CNN.
- FIG. 4B depicts an example depth estimation 402 that may be obtained from the example starting image 400 of FIG. 4A.
- the image segmentation may be performed using an edge detector.
- FIG. 4C depicts an example image segmentation 404 that may be obtained from the example starting image 400 of FIG. 4A.
- the depth estimations and segmentation masks are precomputed.
- a set of segments from the image segmentation performed in block 306 is randomly selected.
- none of the randomly selected segments in the set of segments is smaller than 130 pixels x 130 pixels.
- Each randomly selected segment in the set of segments represents a region of interest in the starting image, i.e., a region into which a symbol may be inserted.
- FIG. 4D depicts an example set of segments 406i-406 n (hereinafter collectively referred to as“segments 406” or individually referred to as a “segment 406”) that may be selected from the example starting image 400 of FIG. 4A.
- a perspective projection is estimated for each of the randomly selected segments in the set of segments.
- the perspective projection is estimated using the depth information estimated in block 306.
- a symbol is inserted into each of the starting images to produce a composite image.
- a plurality of different symbols is inserted into the plurality of starting images, so that the resultant composite images vary in terms of the symbols they depict.
- the symbols may comprise commercial logos for companies in a variety of different commercial sectors (e.g., food, clothing, automotive, transportation, technology, etc.).
- FIG. 4E depicts an example symbol 408 (e.g., a commercial logo) that may be inserted into the example starting image 400 of FIG. 4A.
- FIG. 4F depicts an example composite image 410 that may be generated by inserting the example symbol 408 depicted in FIG.
- the symbols that are inserted into the starting images are extracted from publicly available images retrieved from the Internet (hereinafter referred to as“symbol images”).
- symbol images For instance, the alpha channel of a symbol image may be used to separate the symbol from the symbol image background. In the case where the symbol image does not include an alpha channel, the background may be assumed to be white.
- insertion of a symbol into a starting image may involve inserting up to three symbols into each segment of the starting image.
- an alpha compositing technique is used to insert symbols into starting images in block 312.
- alpha values from the symbol and background of a symbol image are scaled by p and (1-p), respectively (where p is a random value selected uniformly from within a defined range, e.g., 0.5 to 1 ).
- p is a random value selected uniformly from within a defined range, e.g., 0.5 to 1 ).
- insertion of a symbol may begin by applying a small jittering in the hue, saturation, value (HSV) color space of the symbol image (e.g., with a probability of 0.5). Random values selected uniformly from within a defined range (e.g., -10 to 10) are then applied to the hue, saturation, and value channels of the symbol image.
- HSV hue, saturation, value
- a rotation of -90 or 90 degrees is then applied to the symbol image (e.g., with a probability of 0.3).
- a homographic transformation may then be applied to the symbol image.
- Application of the homographic transformation may use a binary mask to confirm that there is no overlap between symbols, and that a symbol remains with the intended segment of the starting image that was selected in block 308.
- the binary mask may be updated with the alpha channel of the symbol image each time a symbol is inserted into the starting image.
- the method 300 ends in block 314.
- the blocks of the method 300 may be repeated multiple times for each starting image. For instance, when starting with approximately 8,000 starting images and approximately 604 symbol images, the method 300 may produce as many as 280,000 composite images. In further examples, however, any number of composite images can be produced.
- the composite images may then be used to train a symbol recognition system, such as a CNN-based symbol recognition system, to classify symbols. For instance, the symbol recognition system could be trained to assign regions of a composite image to classes associated with logos or brands depicted in those regions.
- the method 300 may be used in conjunction with a bootstrapping process to train a symbol recognition system.
- the composite images produced by the method 300 could be used in a first iteration of a symbol recognition system, such as a CNN, for the purposes of initially training the system.
- a bootstrapping process as described in FIG. 5, below, could then be used in subsequent iterations of the symbol recognition system to fine- tune the system’s detection capabilities and improve accuracy.
- FIG. 5 is a flowchart of an example method 500 for training a symbol recognition system using unlabeled training data.
- the method 500 is a more detailed version of the method 200 described above in connection with FIG. 2.
- the method 500 may be performed, for example, by the components of the system 100 illustrated in FIG. 1. As such, reference may be made in the discussion of FIG. 5 to various components of the system 100 to facilitate understanding. However, the method 500 is not limited to implementation with the system illustrated in FIG. 1 .
- the method 500 is an iterative bootstrapping process that utilizes results from previous iterations to fine-tune subsequent iterations and improve the detection capabilities of the symbol recognition system.
- the method 500 begins in block 502.
- a plurality of unlabeled training images is obtained.
- the plurality of unlabeled training images is acquired by using an image search engine to retrieve publicly available images from the Internet.
- the search engine may search based a query that targets a specific symbol (e.g., a specific logo).
- a search query may comprise a search string including a brand associated with the target symbol and a keyword describing a place or a product on which the target symbol may appear (e.g.,“logo,”“ad,”“billboard,”“packaging,”“bottle,”“can,”“beer,”“shirt,” “hat,” “merchandising,” “event,” “building,” “headquarters,” “van,” “truck,” “airplane,”“shoes,”“store,”“shop,”“employees,”“office,” or“sign,” to name a few possibilities).
- a search string including a brand associated with the target symbol and a keyword describing a place or a product on which the target symbol may appear (e.g.,“logo,”“ad,”“billboard,”“packaging,”“bottle,”“can,”“beer,”“shirt,” “hat,” “merchandising,” “event,” “building,” “headquarters,” “van,” “truck,” “airplane,”“shoes,”“
- a query targeting“Brand X” beer may comprise the search string“Brand X bottle.”
- a predefined limit is set on the number of training images that is retrieved in response to a search query (e.g., no more than 100 training images per query).
- the relative difficulty of the search query may increase with subsequent iterations of block 504, where the“ease” or“difficulty” of a search query refers to how easy or difficult it is for the human eye to see the target symbol in the search results returned by the search query (e.g., how prominently the target symbol is likely to be displayed in a returned image).
- the first iteration of block 504 may use a search query such as“Brand X logo,”“Brand X bottle,” or“Brand X ad,” while subsequent iterations of block 504 may use a search query such as“Brand X headquarters” or“Brand X building.”
- symbols are detected in the plurality of unlabeled training images using a symbol detection system.
- the symbol detection system is a CNN.
- the symbol detection system is initially trained using the training images produced by the method 300, described above.
- symbol detection in accordance with block 506 involves producing a bounding box and a confidence score for each training image.
- the bounding box indicates a region of the training image that is believed to contain a symbol.
- the bounding box is assigned a class indicating the symbol (e.g., logo) that is believed to be contained within the bounding box.
- the confidence score indicates the likelihood that the class assigned to the bounding box is correct (i.e., the likelihood of the symbol being present in the bounding box).
- the confidence score may have a value falling in the range from zero to one.
- a number of the bounding boxes whose assigned classes match the search query used in block 504 are selected. For instance, if the class assigned to a bounding box is“Brand X logo” when the search query was“Brand X bottle,” then the bounding box may be selected.
- a first plurality of bounding boxes for which the confidence score associated with the class assignment at least meets a predefined threshold e.g., 0.1 or higher
- a predefined threshold e.g., 0.1 or higher
- a fixed number N of bounding boxes from the first plurality of bounding boxes is selected for each class. This fixed number may be user configurable. In one example, the N bounding boxes for which the confidence score is highest in each class are selected.
- subsequent iterations of block 508 may increase the fixed number N, so that a greater number of bounding boxes is selected.
- the fixed number N increases.
- the fixed number N can be incremented linearly (e.g., select the one bounding box with the highest confidence score during the first iteration, the two bounding boxes with the highest confidence scores at the second iteration, the three bounding boxes with the highest confidence scores at the third iteration, and so on), or exponentially (e.g., select the one bounding box with the highest confidence score during the first iteration, the two bounding boxes with the highest confidence scores at the second iteration, the four bounding boxes with the highest confidence scores at the third iteration, and so on), or in any other manner.
- block 510 it is determined whether the search query used in block 504 was relatively difficult (i.e., whether the target symbol was difficult to see with the human eye in the returned images). If it is determined in block 510 that the search query was difficult, then the method 500 may proceed to block 512.
- step 512 manual confirmation of the match by a human operator is solicited.
- the manual confirmation allows the human operator to identify, for the symbol detection system, any bounding boxes in the fixed number N of selected bounding boxes that were incorrectly selected (e.g., for which the portion of the image contained in the bounding box does not display the target logo). If a bounding box is discarded through manual confirmation, then a replacement bounding box may be selected from among those bounding boxes that were not selected in block 508. The method 500 may then proceed to step 514.
- the method 500 may proceed directly to block 514.
- the symbol detection system is trained using the fixed number N of selected bounding boxes. The training in block 514 fine tunes the detection capabilities of the symbol detection system.
- the method 500 then returns to block 504 and obtains a new plurality of unlabeled training images using a new search query. For instance, a more difficult search query may be used to search for more images containing the target symbol.
- the method 500 then proceeds as described above to perform subsequent iterations of blocks 504-514, until a stopping point is reached.
- the stopping point may be reached, for example, when there are no more search queries to be run, or when a human operator determines that the symbol detection system has been sufficiently trained.
- blocks, functions, or operations of the methods 200, 300, and 500 described above may include storing, displaying and/or outputting for a particular application.
- any data, records, fields, and/or intermediate results discussed in the method can be stored, displayed, and/or outputted to another device depending on the particular application.
- blocks, functions, or operations in FIGs. 2, 3, and 5 that recite a determining operation, or involve a decision do not necessarily imply that both branches of the determining operation are practiced.
- FIG. 6 illustrates an example of an apparatus 600.
- the apparatus 600 may be the apparatus 100.
- the apparatus 600 may include a processor 602 and a non-transitory computer readable storage medium 604.
- the non-transitory computer readable storage medium 604 may include instructions 606, 608, and 610 that, when executed by the processor 602, cause the processor 602 to perform various functions.
- the instructions 606 may include instructions to submit a query identifying a symbol to a search engine.
- the instructions 608 may include instructions to generate a bounding box in an unlabeled image returned in response to the query.
- the instructions 610 may include instructions to generate a confidence score indicating a likelihood that the symbol is present in a portion of the unlabeled image enclosed by the bounding box.
- the instructions 612 may include instructions to select the unlabeled image as a training image for a symbol recognition system to recognize the symbol when the confidence score is above a predefined threshold.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Library & Information Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
A query is submitted to a search engine, where the query includes an identification of a symbol. A bounding box is generated in an unlabeled image returned by the search engine in response to the query. A confidence score is also generated that indicates a likelihood of the symbol being present in a portion of the unlabeled image enclosed by the bounding box. The unlabeled image is selected as a training image for training a system to recognize the symbol, when the confidence score is above a predefined threshold.
Description
SELECTING TRAINING SYMBOLS FOR SYMBOL RECOGNITION
BACKGROUND
[0001] Visual media has become a powerful tool for sharing information. Often, a symbol, such as a logo, image, or text, may be present in the visual media. For instance, a social media user may post an image of himself drinking coffee from a cup that displays the logo for a particular coffee chain. The presence of the logo in the image, and in similar images, may provide unique brand insight for the coffee chain.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] FIG. 1 depicts a high-level block diagram of an example symbol recognition system that can be trained to recognize symbols such as logos, images, text, and the like in images;
[0003] FIG. 2 illustrates a flowchart of an example method for training a symbol recognition system;
[0004] FIG. 3 is a flowchart of an example method for synthesizing training images for training a symbol recognition system;
[0005] FIG. 4A depicts an example starting image;
[0006] FIG. 4B depicts an example depth estimation that may be obtained from the example starting image of FIG. 4A;
[0007] FIG. 4C depicts an example image segmentation that may be obtained from the example starting image of FIG. 4A;
[0008] FIG. 4D depicts an example set of segments that may be selected from the example starting image of FIG. 4A;
[0009] FIG. 4E depicts an example symbol (e.g., a commercial logo) that may be inserted into the example starting image of FIG. 4A;
[0010] FIG. 4F depicts an example composite image that may be generated by inserting the example symbol depicted in FIG. 4E into a segment of the example starting image depicted in FIG. 4A;
[0011] FIG. 5 is a flowchart of an example method for training a symbol recognition system using unlabeled training data; and
[0012] FIG. 6 illustrates an example of an apparatus.
DETAILED DESCRIPTION
[0013] The present disclosure broadly describes an apparatus, method, and non-transitory computer-readable medium for selecting training symbols for symbol recognition. As discussed above, visual media has become a powerful tool for sharing information. Often, a symbol, such as a logo, image, or text, may be present in the visual media, and the presence of the symbol may provide unique insight into the entity represented by the symbol.
[0014] Convolutional neural networks (CNNs) have shown to be effective in performing symbol recognition. However, the effectiveness of a CNN often depends on the amount of labeled training data that is available to train the CNN. Labeling of training data (e.g., images containing different symbols, including symbols of interest) is typically a manual process. This process can be time consuming as well as costly.
[0015] Examples of the present disclosure use unlabeled training data to train a symbol recognition system. In one example, the system may initially be trained using synthesized training images. The synthesized training images may be generated by strategically inserting symbols (e.g., images, logos, or text) into existing, unlabeled images. After the initial training, the system may be further trained using a bootstrapping process. The bootstrapping process uses a search engine to acquire existing images that include symbols, and the acquired images are then processed to recognize the symbols. The recognition process produces, for each image, a bounding box that identifies a region in the image where a symbol is detected. The bounding box is associated with a class (i.e. , a specific symbol the system is trained to detect) and a confidence score indicating a confidence in the class identification. If the class matches the query used to drive
the search engine, and the confidence score is above a threshold, then it is selected. From the set of selected bounding boxes, a fixed number of bounding boxes having highest confidence scores are chosen. The images containing the chosen bounding boxes are then fed back into the system for training, in order to fine-tune the system’s detection capabilities. The recognition, selection of bounding boxes, and fine-tuning steps can be repeated any number of times, in that order, to further fine-tune the system’s detection capabilities.
[0016] Within the context of the present disclosure, a“symbol” may refer to a logo, an image, or text that occurs in visual media. Thus, although examples of the present disclosure are discussed within the context of detecting logos, such examples can be extended to detecting other types of symbols, including text and images.
[0017] FIG. 1 depicts a high-level block diagram of an example symbol recognition system 100 that can be trained to recognize symbols such as logos, images, text, and the like in images. In one example, the symbol recognition system 100 generally comprises a processor 102, a search query generator 104, a training data selector 106, and a training data repository 108.
[0018] The processor 102 is configured to recognize symbols in input images. In one example, the processor 102 includes a convolutional neural network (CNN) 1 10 that is trained to recognize the symbols. In other examples, the CNN 1 10 may be replaced with another type of machine learning system, including another type of neural network. In one example the CNN 1 10 receives as input a plurality of images and produces as output a plurality of bounding boxes, where each bounding box is assigned a class that is associated with a symbol believed to be present in the portion of an image that is enclosed by the bounding box. The CNN 1 10 also produces for each bounding box a confidence score which indicates a likelihood that the class assigned to the bounding box is correct (i.e., that the symbol associated with the class is depicted in the bounding box). As discussed in further detail below, the training may be an iterative process in which the capabilities of the CNN 1 10 are progressively fine-tuned through successive iterations of the recognition process.
[0019] The search query generator 104 is configured to retrieve training data
in the form of unlabeled images for the CNN 1 10. In one example, the search query generator 104 may formulate a search query that identifies a symbol that the CNN 1 10 is to be trained to recognize. The search query generator 104 may submit the search query to a search engine, which may return a plurality of unlabeled images (retrieved, e.g., from public sources over the Internet) in response to the search query. The search query generator 104 is further configured to forward the unlabeled images to the CNN 1 10 for production of the bounding boxes and confidence scores described above.
[0020] The training data selector is configured to select images for training of the CNN 1 10 based on the bounding boxes and confidence scores produced by the CNN 1 10. In one example, the training data selector feeds the selected images back into the CNN 1 10 as training data, e.g., in a feedback loop. The training data selector 106 may also store the selected images in the training data repository 108.
[0021] FIG. 2 illustrates a flowchart of an example method 200 for training a symbol recognition system. The method 200 may be performed, for example, by components of the system 100 illustrated in FIG. 1. As such, reference may be made in the discussion of FIG. 2 to various components of the system 100 to facilitate understanding. However, the method 200 is not limited to implementation with the system illustrated in FIG. 1.
[0022] The method 200 begins in block 202. In block 204, a query is submitted to a search engine. The query includes an identification of a symbol (e.g., a “target symbol”). For instance, the query may comprise a search string including the target symbol, such as a brand associated with the target symbol (e.g.,“Brand X”), and a keyword describing a place or a product on which the target symbol may appear (e.g., “logo,”“ad,”“billboard,”“packaging,”“bottle,”“can,”“beer,” “shirt,”“hat,”“merchandising,”“event,”“building,”“headquarters,”“van,”“truck,” “airplane,”“shoes,”“store,”“shop,”“employees,”“office,” or“sign,” to name a few possibilities). As an example, a query targeting“Brand X” beer may comprise the search string“Brand X bottle.”
[0023] In block 206, a bounding box is generated in an unlabeled image returned by the search engine in response to the query. The bounding box
indicates a region of the unlabeled image that is believed to contain the target symbol. Thus, the bounding box may be assigned a class indicating the target symbol that is believed to be contained within the bounding box. In one example, a symbol detection system, such as a CNN, may be used to detect the symbol in the unlabeled image and to generate the bounding box.
[0024] In block 208, a confidence score is generated. The confidence score indicates a likelihood of the symbol being present in a portion of the unlabeled image enclosed by the bounding box (i.e. , a likelihood of the class assignment made in block 206 being correct). The confidence score may have a value falling in the range from zero to one.
[0025] In block 210, the unlabeled image is selected as a training image for training a system to recognize the symbol, when the confidence score is above a predefined threshold.
[0026] The method 200 ends in block 212. As discussed in greater detail below, blocks 206-210 of the method 200 may be repeated for a plurality of unlabeled images returned by the search engine.
[0027] FIG. 3 is a flowchart of an example method 300 for synthesizing training images for training a symbol recognition system. The method 300 may be performed, for example, by components of the system 100 illustrated in FIG. 1. As such, reference may be made in the discussion of FIG. 3 to various components of the system 100 to facilitate understanding. However, the method 300 is not limited to implementation with the system illustrated in FIG. 1.
[0028] The method 300 begins in block 302. In block 304, a plurality of starting images is obtained. In one example, each starting image in the plurality of starting images is an image that lacks text or commercial logos. The plurality of starting images may be obtained, for example, by using a search engine to retrieve publicly available images from the Internet. FIG. 4A, for instance, depicts an example starting image 400.
[0029] In block 306, the backgrounds of the plurality of starting images are pre-processed. In one example, pre-processing of the background of a starting image includes performing depth estimation and image segmentation on the background. The depth may be estimated using a CNN. FIG. 4B, for instance,
depicts an example depth estimation 402 that may be obtained from the example starting image 400 of FIG. 4A. The image segmentation may be performed using an edge detector. FIG. 4C, for instance, depicts an example image segmentation 404 that may be obtained from the example starting image 400 of FIG. 4A. In one example, the depth estimations and segmentation masks are precomputed.
[0030] In block 308, for each starting image, a set of segments from the image segmentation performed in block 306 is randomly selected. In one example, none of the randomly selected segments in the set of segments is smaller than 130 pixels x 130 pixels. Each randomly selected segment in the set of segments represents a region of interest in the starting image, i.e., a region into which a symbol may be inserted. FIG. 4D, for instance, depicts an example set of segments 406i-406n (hereinafter collectively referred to as“segments 406” or individually referred to as a “segment 406”) that may be selected from the example starting image 400 of FIG. 4A.
[0031] In block 310, a perspective projection is estimated for each of the randomly selected segments in the set of segments. In one example, the perspective projection is estimated using the depth information estimated in block 306.
[0032] In block 312, a symbol is inserted into each of the starting images to produce a composite image. In one example, a plurality of different symbols is inserted into the plurality of starting images, so that the resultant composite images vary in terms of the symbols they depict. The symbols may comprise commercial logos for companies in a variety of different commercial sectors (e.g., food, clothing, automotive, transportation, technology, etc.). FIG. 4E, for instance, depicts an example symbol 408 (e.g., a commercial logo) that may be inserted into the example starting image 400 of FIG. 4A. FIG. 4F, for instance, depicts an example composite image 410 that may be generated by inserting the example symbol 408 depicted in FIG. 4E into a segment 406 of the example starting image 400 depicted in FIG. 4A. In one example, the symbols that are inserted into the starting images are extracted from publicly available images retrieved from the Internet (hereinafter referred to as“symbol images”). For instance, the alpha channel of a symbol image may be used to separate the
symbol from the symbol image background. In the case where the symbol image does not include an alpha channel, the background may be assumed to be white. In one example, insertion of a symbol into a starting image may involve inserting up to three symbols into each segment of the starting image.
[0033] In one example, an alpha compositing technique is used to insert symbols into starting images in block 312. In this case, alpha values from the symbol and background of a symbol image are scaled by p and (1-p), respectively (where p is a random value selected uniformly from within a defined range, e.g., 0.5 to 1 ). For instance, insertion of a symbol may begin by applying a small jittering in the hue, saturation, value (HSV) color space of the symbol image (e.g., with a probability of 0.5). Random values selected uniformly from within a defined range (e.g., -10 to 10) are then applied to the hue, saturation, and value channels of the symbol image. A rotation of -90 or 90 degrees is then applied to the symbol image (e.g., with a probability of 0.3). A homographic transformation may then be applied to the symbol image. Application of the homographic transformation may use a binary mask to confirm that there is no overlap between symbols, and that a symbol remains with the intended segment of the starting image that was selected in block 308. The binary mask may be updated with the alpha channel of the symbol image each time a symbol is inserted into the starting image.
[0034] The method 300 ends in block 314.
[0035] The blocks of the method 300 may be repeated multiple times for each starting image. For instance, when starting with approximately 8,000 starting images and approximately 604 symbol images, the method 300 may produce as many as 280,000 composite images. In further examples, however, any number of composite images can be produced. The composite images may then be used to train a symbol recognition system, such as a CNN-based symbol recognition system, to classify symbols. For instance, the symbol recognition system could be trained to assign regions of a composite image to classes associated with logos or brands depicted in those regions.
[0036] In one example, the method 300 may be used in conjunction with a bootstrapping process to train a symbol recognition system. For instance, the composite images produced by the method 300 could be used in a first iteration
of a symbol recognition system, such as a CNN, for the purposes of initially training the system. A bootstrapping process as described in FIG. 5, below, could then be used in subsequent iterations of the symbol recognition system to fine- tune the system’s detection capabilities and improve accuracy.
[0037] FIG. 5 is a flowchart of an example method 500 for training a symbol recognition system using unlabeled training data. In one example, the method 500 is a more detailed version of the method 200 described above in connection with FIG. 2. The method 500 may be performed, for example, by the components of the system 100 illustrated in FIG. 1. As such, reference may be made in the discussion of FIG. 5 to various components of the system 100 to facilitate understanding. However, the method 500 is not limited to implementation with the system illustrated in FIG. 1 .
[0038] In one example, the method 500 is an iterative bootstrapping process that utilizes results from previous iterations to fine-tune subsequent iterations and improve the detection capabilities of the symbol recognition system.
[0039] The method 500 begins in block 502. In block 504, a plurality of unlabeled training images is obtained. In one example, the plurality of unlabeled training images is acquired by using an image search engine to retrieve publicly available images from the Internet. The search engine may search based a query that targets a specific symbol (e.g., a specific logo). For instance, a search query may comprise a search string including a brand associated with the target symbol and a keyword describing a place or a product on which the target symbol may appear (e.g.,“logo,”“ad,”“billboard,”“packaging,”“bottle,”“can,”“beer,”“shirt,” “hat,” “merchandising,” “event,” “building,” “headquarters,” “van,” “truck,” “airplane,”“shoes,”“store,”“shop,”“employees,”“office,” or“sign,” to name a few possibilities). As an example, a query targeting“Brand X” beer may comprise the search string“Brand X bottle.” In one example, a predefined limit is set on the number of training images that is retrieved in response to a search query (e.g., no more than 100 training images per query).
[0040] In one example, the relative difficulty of the search query may increase with subsequent iterations of block 504, where the“ease” or“difficulty” of a search query refers to how easy or difficult it is for the human eye to see the target symbol
in the search results returned by the search query (e.g., how prominently the target symbol is likely to be displayed in a returned image). For instance, the first iteration of block 504 may use a search query such as“Brand X logo,”“Brand X bottle,” or“Brand X ad,” while subsequent iterations of block 504 may use a search query such as“Brand X headquarters” or“Brand X building.”
[0041] In block 506, symbols are detected in the plurality of unlabeled training images using a symbol detection system. In one example, the symbol detection system is a CNN. In one example, the symbol detection system is initially trained using the training images produced by the method 300, described above. As described in connection with FIG. 2, symbol detection in accordance with block 506 involves producing a bounding box and a confidence score for each training image. The bounding box indicates a region of the training image that is believed to contain a symbol. The bounding box is assigned a class indicating the symbol (e.g., logo) that is believed to be contained within the bounding box. The confidence score indicates the likelihood that the class assigned to the bounding box is correct (i.e., the likelihood of the symbol being present in the bounding box). The confidence score may have a value falling in the range from zero to one.
[0042] In block 508, a number of the bounding boxes whose assigned classes match the search query used in block 504 (e.g., the classes match the target logo) are selected. For instance, if the class assigned to a bounding box is“Brand X logo” when the search query was“Brand X bottle,” then the bounding box may be selected. In one example, a first plurality of bounding boxes for which the confidence score associated with the class assignment at least meets a predefined threshold (e.g., 0.1 or higher) is first identified; a second plurality of bounding boxes for which the confidence score falls below the predefined threshold is discarded. Then, a fixed number N of bounding boxes from the first plurality of bounding boxes is selected for each class. This fixed number may be user configurable. In one example, the N bounding boxes for which the confidence score is highest in each class are selected.
[0043] In one example, subsequent iterations of block 508 may increase the fixed number N, so that a greater number of bounding boxes is selected. In one
example, each time the method 500 iterates through block 508, the fixed number N increases. The fixed number N can be incremented linearly (e.g., select the one bounding box with the highest confidence score during the first iteration, the two bounding boxes with the highest confidence scores at the second iteration, the three bounding boxes with the highest confidence scores at the third iteration, and so on), or exponentially (e.g., select the one bounding box with the highest confidence score during the first iteration, the two bounding boxes with the highest confidence scores at the second iteration, the four bounding boxes with the highest confidence scores at the third iteration, and so on), or in any other manner.
[0044] In block 510, it is determined whether the search query used in block 504 was relatively difficult (i.e., whether the target symbol was difficult to see with the human eye in the returned images). If it is determined in block 510 that the search query was difficult, then the method 500 may proceed to block 512.
[0045] In block 512, manual confirmation of the match by a human operator is solicited. The manual confirmation allows the human operator to identify, for the symbol detection system, any bounding boxes in the fixed number N of selected bounding boxes that were incorrectly selected (e.g., for which the portion of the image contained in the bounding box does not display the target logo). If a bounding box is discarded through manual confirmation, then a replacement bounding box may be selected from among those bounding boxes that were not selected in block 508. The method 500 may then proceed to step 514.
[0046] If, however, is determined in block 510 that the search query was not difficult, then the method 500 may proceed directly to block 514. In block 514, the symbol detection system is trained using the fixed number N of selected bounding boxes. The training in block 514 fine tunes the detection capabilities of the symbol detection system.
[0047] The method 500 then returns to block 504 and obtains a new plurality of unlabeled training images using a new search query. For instance, a more difficult search query may be used to search for more images containing the target symbol. The method 500 then proceeds as described above to perform subsequent iterations of blocks 504-514, until a stopping point is reached. The
stopping point may be reached, for example, when there are no more search queries to be run, or when a human operator determines that the symbol detection system has been sufficiently trained.
[0048] It should be noted that although not explicitly specified, some of the blocks, functions, or operations of the methods 200, 300, and 500 described above may include storing, displaying and/or outputting for a particular application. In other words, any data, records, fields, and/or intermediate results discussed in the method can be stored, displayed, and/or outputted to another device depending on the particular application. Furthermore, blocks, functions, or operations in FIGs. 2, 3, and 5 that recite a determining operation, or involve a decision, do not necessarily imply that both branches of the determining operation are practiced.
[0049] FIG. 6 illustrates an example of an apparatus 600. In one example, the apparatus 600 may be the apparatus 100. In one example, the apparatus 600 may include a processor 602 and a non-transitory computer readable storage medium 604. The non-transitory computer readable storage medium 604 may include instructions 606, 608, and 610 that, when executed by the processor 602, cause the processor 602 to perform various functions.
[0050] The instructions 606 may include instructions to submit a query identifying a symbol to a search engine. The instructions 608 may include instructions to generate a bounding box in an unlabeled image returned in response to the query. The instructions 610 may include instructions to generate a confidence score indicating a likelihood that the symbol is present in a portion of the unlabeled image enclosed by the bounding box. The instructions 612 may include instructions to select the unlabeled image as a training image for a symbol recognition system to recognize the symbol when the confidence score is above a predefined threshold.
[0051] It will be appreciated that variants of the above-disclosed and other features and functions, or alternatives thereof, may be combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, or variations therein may be subsequently made which are also intended to be encompassed by the following claims.
Claims
1. A method, comprising:
submitting a query to a search engine, wherein the query includes an identification of a symbol;
generating, in an unlabeled image returned by the search engine in response to the query, a bounding box;
generating a confidence score that indicates a likelihood of the symbol being present in a portion of the unlabeled image enclosed by the bounding box; and
selecting the unlabeled image as a training image for training a system to recognize the symbol, when the confidence score is above a predefined threshold.
2. The method of claim 1 , wherein the symbol is a logo.
3. The method of claim 1 , wherein the unlabeled image is a publicly available image retrieved from the Internet.
4. The method of claim 1 , wherein the generating the bounding box and the generating the confidence score are performed by the system.
5. The method of claim 1 , wherein the system comprises a convolutional neural network.
6. The method of claim 1 , wherein the unlabeled image is selected from among a plurality of unlabeled images returned by the search engine, and wherein the confidence score associated with the bounding box is highest among a plurality of confidence scores associated with a plurality of bounding boxes generated in the plurality of unlabeled images.
7. The method of claim 1 , further comprising:
repeating the submitting the query, the generating the bounding box, the generating the confidence score, and the selecting the unlabeled image, using a new query that includes the identification of the symbol, wherein the system uses the unlabeled image as a training image during the repeating.
8. The method of claim 7, wherein the symbol is less prominently displayed in a new unlabeled image returned by the search engine in response to the new query than in the unlabeled image.
9. The method of claim 1 , further comprising:
soliciting confirmation from a human operator that the symbol is depicted in the bounding box, prior to the selecting.
10. The method of claim 1 , wherein the system is trained, prior to submitting the query, using a plurality of composite images in which the symbol was inserted into an image that previously lacked the symbol.
1 1. An apparatus, comprising:
a search query generator to submit a query to a search engine, wherein the query includes an identification of a symbol;
a processor to generate, in an unlabeled image returned by the search engine in response to the query, a bounding box and to generate a confidence score that indicates a likelihood of the symbol being present in a portion of the unlabeled image enclosed by the bounding box; and
a training data selector to select the unlabeled image as a training image for training a system to recognize the symbol, when the confidence score is above a predefined threshold.
12. The method of claim 1 1 , wherein the processor comprises a convolutional neural network.
13. A non-transitory machine-readable storage medium encoded with instructions executable by a processor, the machine-readable storage medium comprising:
instructions to submit a query to a search engine, wherein the query includes an identification of a symbol;
instructions to generate, in an unlabeled image returned by the search engine in response to the query, a bounding box;
instructions to generate a confidence score that indicates a likelihood of the symbol being present in a portion of the unlabeled image enclosed by the bounding box; and
instructions to select the unlabeled image as a training image for training a system to recognize the symbol, when the confidence score is above a predefined threshold.
14. The non-transitory machine-readable storage medium of claim 13, wherein the system comprises a convolutional neural network.
15. The non-transitory machine-readable storage medium of claim 13, wherein the instructions further comprise:
instructions to repeat submitting the query, generating the bounding box, generating the confidence score, and selecting the unlabeled image, using a new query that includes the identification of the symbol, wherein the system uses the unlabeled image as a training image during the repeating.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2018/016211 WO2019152017A1 (en) | 2018-01-31 | 2018-01-31 | Selecting training symbols for symbol recognition |
| US16/965,356 US20210124995A1 (en) | 2018-01-31 | 2018-01-31 | Selecting training symbols for symbol recognition |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2018/016211 WO2019152017A1 (en) | 2018-01-31 | 2018-01-31 | Selecting training symbols for symbol recognition |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019152017A1 true WO2019152017A1 (en) | 2019-08-08 |
Family
ID=67478447
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2018/016211 Ceased WO2019152017A1 (en) | 2018-01-31 | 2018-01-31 | Selecting training symbols for symbol recognition |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20210124995A1 (en) |
| WO (1) | WO2019152017A1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11380033B2 (en) * | 2020-01-09 | 2022-07-05 | Adobe Inc. | Text placement within images using neural networks |
| GB202101940D0 (en) * | 2021-02-11 | 2021-03-31 | Calipsa Ltd | A data-generating procedure from raw tracking inputs |
| US20240362473A1 (en) * | 2023-04-25 | 2024-10-31 | International Business Machines Corporation | Ai gan enabled media compression for optimized resource utilization |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120254333A1 (en) * | 2010-01-07 | 2012-10-04 | Rajarathnam Chandramouli | Automated detection of deception in short and multilingual electronic messages |
| US20140079314A1 (en) * | 2012-09-18 | 2014-03-20 | Yury Yakubovich | Method and Apparatus for Improved Training of Object Detecting System |
| US20170039457A1 (en) * | 2015-08-07 | 2017-02-09 | Google Inc. | Business discovery from imagery |
| US20170098162A1 (en) * | 2015-10-06 | 2017-04-06 | Evolv Technologies, Inc. | Framework for Augmented Machine Decision Making |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10019654B1 (en) * | 2017-06-28 | 2018-07-10 | Accenture Global Solutions Limited | Image object recognition |
-
2018
- 2018-01-31 WO PCT/US2018/016211 patent/WO2019152017A1/en not_active Ceased
- 2018-01-31 US US16/965,356 patent/US20210124995A1/en not_active Abandoned
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120254333A1 (en) * | 2010-01-07 | 2012-10-04 | Rajarathnam Chandramouli | Automated detection of deception in short and multilingual electronic messages |
| US20140079314A1 (en) * | 2012-09-18 | 2014-03-20 | Yury Yakubovich | Method and Apparatus for Improved Training of Object Detecting System |
| US20170039457A1 (en) * | 2015-08-07 | 2017-02-09 | Google Inc. | Business discovery from imagery |
| US20170098162A1 (en) * | 2015-10-06 | 2017-04-06 | Evolv Technologies, Inc. | Framework for Augmented Machine Decision Making |
Also Published As
| Publication number | Publication date |
|---|---|
| US20210124995A1 (en) | 2021-04-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110798752B (en) | Method and system for generating video summaries | |
| US20230050051A1 (en) | Systems, methods, and storage media for training a model for image evaluation | |
| US11625874B2 (en) | System and method for intelligently generating digital composites from user-provided graphics | |
| US8675957B2 (en) | Image quality assessment to merchandise an item | |
| US9710723B2 (en) | Context-based image recognition for consumer market research | |
| US11151425B2 (en) | Methods and apparatus to perform image analyses in a computing environment | |
| US9679380B2 (en) | Emotion modification for image and video content | |
| CN112633392B (en) | Terahertz human body security inspection image target detection model training data augmentation method | |
| US20150379368A1 (en) | Image processing apparatus, image processing method, and storage medium | |
| CN108921204B (en) | Electronic device, picture sample set generation method, and computer-readable storage medium | |
| US20210124995A1 (en) | Selecting training symbols for symbol recognition | |
| US20120201464A1 (en) | Computer readable medium, image processing apparatus, and image processing method | |
| CN104899820B (en) | Add tagged mthods, systems and devices for image | |
| IL274559B1 (en) | System and method for few-shot learning | |
| US20160127750A1 (en) | Apparatus and method for verifying broadcast content object identification based on web data | |
| US10984572B1 (en) | System and method for integrating realistic effects onto digital composites of digital visual media | |
| Ko et al. | SVM-based salient region (s) extraction method for image retrieval | |
| CN112446743B (en) | Advertisement recommendation method and terminal based on block chain | |
| CN113971743B (en) | Multi-label image classification method of semantic supplementing network based on priori information | |
| Constantin et al. | Content description for Predicting image Interestingness | |
| CN112423148A (en) | Method and equipment for fixed-point advertisement delivery according to video content | |
| CN112329831A (en) | Similar target image identification method, storage medium and terminal | |
| CN116311200B (en) | Text attribute identification method and device, electronic equipment and storage medium | |
| Parekh et al. | The IITB Predicting Media Interestingness System for MediaEval 2017. | |
| CN113744140B (en) | Image processing method, device and computer readable storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18904225 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18904225 Country of ref document: EP Kind code of ref document: A1 |