Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
IMAGE CLASSIFICATION AND LABELING
Document Type and Number:
WIPO Patent Application WO/2017/134519
Kind Code:
A1
Abstract:
A method of training an image classification model includes obtaining training images associated with labels, where two or more labels of the labels are associated with each of the training images and where each label of the two or more labels corresponds to an image classification class. The method further includes classifying training images into one or more classes using a deep convolutional neural network, and comparing the classification of the training images against labels associated with the training images. The method also includes updating parameters of the deep convolutional neural network based on the comparison of the classification of the training images against the labels associated with the training images.

Inventors:
MAU SANDRA (US)
SIVAPALAN SABESAN (AU)
Application Number:
PCT/IB2017/000134
Publication Date:
August 10, 2017
Filing Date:
February 01, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SEE-OUT PTY LTD (AU)
International Classes:
G06N3/02; G06T1/40; G06V10/764; G06V10/774; G06V10/776
Domestic Patent References:
WO2015035477A12015-03-19
Foreign References:
US20150254532A12015-09-10
Other References:
GONG, Y. ET AL., DEEP CONVOLUTIONAL RANKING FOR MULTILABEL IMAGE ANNOTATION, 14 April 2014 (2014-04-14), XP055329237
SIMONYAN, K. ET AL., DEEP INSIDE CONVOLUTIONAL NETWORKS: VISUALISING IMAGE CLASSIFICATION MODELS AND SALIENCY MAPS, 19 April 2014 (2014-04-19), XP055226059
KRIZHEVSKY, A. ET AL.: "ImageNet Classification with Deep Convolutional Neural Networks", ADVANCES IN NEURAL INFORMATION PROCESSING SYSTEMS 25 (NIPS 2012, XP058339266
WEI, Y. ET AL.: "CNN: Single-label to Multi-label", JOURNAL OF LATEX CLASS FILES, vol. 6, no. 1, XP055404290
MIN-LING ZHANG ET AL.: "Multilabel Neural Networks with Applications to Functional Genomics and Text Categorization", IEEE TRANS ON KNOWLEDGE AND DATA ENGINEERING, October 2006 (2006-10-01), pages 1338 - 1351, XP055612826, DOI: 10.1109/TKDE.2006.162
YAN HUANG ET AL.: "Multi-task deep neural network for multi-label learning", 2013 IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, 15 September 2013 (2013-09-15), pages 2897 - 2900, XP032966202, DOI: 10.1109/ICIP.2013.6738596
Y. LECUNL. BOTTOUY. BENGIOP. HAFFNER: "Gradient-based learning applied to document recognition", PROC. IEEE, vol. 86, no. 11, 1998, pages 2278 - 2323, XP000875095, DOI: 10.1109/5.726791
See also references of EP 3411828A4
Download PDF:
Claims:
CLAIMS

What Is claimed is:

L A computer implemented method of classifying images using one or more image classification models, the method comprising:

obtaining training images associated with labels, wherein two or more labels of the labels are associated with each of the training images and wherein each label of the two or more labels corresponds to an image classification class;

training a deep convolutkmal neural network using the training images and the labels associated with the training images; and

classifying an input image into two or more classes based o the trained deep

eonvotutlonal neural network.

2. The method of Claim 1, wherein a classification layer of the dee convolutions! neural network is based on soft-sigmold activation.

3. The method of Claim 1 , wherein the training images and the input images include graphically designed images.

4. The method of Claim 1 , wherein the labels have a hierarchical structure and wherein the labels are non-mutually exclusive labels.

5. The method of Claim 4, wherein a separate deep convolutional neural network is trained for each hierarchy level of the labels.

6. The method of Claim 1, wherein the labels are codes used by a trademark registration organization.

7. The method of -Claim 1. wherein the labels are codes used to classify design patent images or industrial design images.

8. The method of Claim 1 , wherein the labels are available as metadata of the training images associated with the labels,

9. The method of Claim 1, wherein classifying the input image into two or more classes based on the trained deep convolutions! neural network includes tagging or labelling the Input image with two or more labels corresponding to the two or more classes.

10. The method of Claim 1, further comprising pre-processing the training images, wherein training the deep convohrtioaal neural network using the training images and the labels associated with the training images comprises training the deep convoluiioiial neural network using the pre-processed training images and the labels associated with the training images,

11. A computer implemented method of training an image classificatio model, the method comprising:

obtaining training images associated with labels, wherein two or more labels of the labels are associated with each of the training images and wherein each label of the two or more labels corresponds to an Image classification class;

classifying training images into one or more classes using a dee convoluiioiial neural network;

comparing the classificatio of the training images against labels associated with the training Images; and

updating parameters of the deep convohitional neural network based on the compar son of the classification of the training images against the labels associated with the training images.

12. The method of Claim 11. wherein the training Images include graphically designed images.

13. The method of Claim 1 1 , wherein the labels have a hierarchical structure.

14. The method of Claim 13, wherein a separate deep convolutions! neural network is trained for each hierarchy level of the labels. - 2.3 -

15. The method of Claim 11. wherein the labels are codes used by a trademark registration organization.

16. The method of Claim 1 1, further comprising pre-processing the training images before classifying the training images comprises classifying the pre-processed training images.

17. The method of Claim 11, wherein a classification layer of the deep convomtional neural network is based on soft-sigmoid activation.

18. A system for classi ying images using one or more image classification models, the system comprising:

a training image source comprising training images associated with labels, wherein two or more labels of the labels are associated with each of the framing images;

an image processing device communicabiy coupled to the training image source, wherein the image processing device is configured to obtain the training images from the training image source and to train a deep convolutions! neural network using the training images and the labels associated with the training images; and

an input image source comprising input images to be classified into classes, wherein classifying an input image into multiple classes associates the input image with multiple classes corresponding to the multiple classes.

19. The system of Claim 18, wherein a classification layer of the deep convoiutional neural network is based on soft-sigmoid activation.

20. The system of Claim 18, wherein the labels are codes used by a trademark registration organization or an industrial design registration organization.

Description:
IMAG CLASSIFICATION AND LABELING

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] The present application claims priority under 35 U.S.C. Section 1 19(e) to U.S.

Provisional Patent Application No. 62/289,902, filed February 1 , 2016, and titled "Method for Training an Algorithm to Classify Elements and Objects in Images," the entire content of which is incorporated herein by reference.

TECHNICAL FIELD

[0002] The present disclosure relates generally to image classification, and more particularly to training image classification models based on training images associated with multiple classes and classifying images into multiple classes using the trained image classification models.

BACKGROUND

[0003] Trademarks, logos, other graphically designed images, and other brand related intellectual properties are important business assets. Many countries provide formal mechanisms for people and companies to protect their IP, including trademarks, designs, etc. that may include graphically designed images, via trademark registration and design patent registration. For example, trademark registration systems may enable a company to register its name and logos in a trademark database and to object to or enforce against other names or logos that may be similar. Similarly, design patents in the U.S. and registration of industrial designs in other countries or regions (e.g., Europe) provide formal protection for designs that have a wide variety of graphical representation including line drawings, 3D CAD models along with 2D perspective views, 2D images like graphical user interfaces and surface ornamentation, etc.

[0004] Many trademark offices around the world label trademarks with a list of keywords or codes (e.g., design codes in the U.S., Vienna Codes in Europe, and image constituents in Australia) that semanticai!y describe elements or objects inside, for example, a graphical image- To illustrate, U.S. design codes and Vienna Codes are class labels that are semaniically descriptive of images and/or objects in images. These class labels have hierarchical structures and are used to classify the figurative elements of an image. In general, the hierarchical structures of labels used in some IP registration systems proceed from the general to the more particular, for example, considering the figurative elements of trademarks in hierarchical levels starting from categories, followed by divisions that are followed by sections. Some IP registration systems may use single level (non-hierarchical) systems while others may have less or more than three levels of hierarchy.

[0005] For design patents and industrial designs, many IP offices have adopted a classification system called Locarno classifications and product indications to both describe a product and its appearance. The U.S. has its own set of design classifications called U.S. Design Classes. Both Locarno and U.S. Design Classes are hierarchical in nature with the top level typically describing the function of the product and sub classes describing specific functional feature., distinctive ornamental appearance, or form. Non-governmental organizations may also use similar types of labels for classifying and/or annotating the graphical assets such as logos and designs.

[0006] ΪΡ owners have to enforce their IP rights through watching and addressing potential infringement and efforts to register similar trademarks and designs. However, finding infringing use of images, for instance, on e-commerce sites, or finding misuses of & brand in social networks or the internet can be challenging. Further, companies have challenges in searching for registered trademarks or designs to determine whether to use and/or attempt to register a name, logo, or design,

[0007] in many IP registration systems includin in the U.S. and Europe, multiple labels may be associated with an. image or with an element/object in an image (e.g., a trademark or a design). The labels may also be hierarchical labels. Labels that may be associated with an image or an image object/element may be herein referred to as multi-labels.

[0008] Thus, systems and methods tha enable classifying images and/or objects/elements in images into multiple classes are desirable.

SUMMARY

[0009] The present disclosure relates generally to image classification, and more particularly to training image classification models based on training images associated with multiple classes (with class labels) and classifying images into multiple classes (with class labels) using the trained image classification models, hi an example embodiment, a method of training an image classification model includes obtaining training, images associated with labels. where two or more labels of the labels are associated with each of the training images and where each label of the two or more labels corresponds to an image classification class. The method further includes classifying training images into one or more classes using a deep convolutional neural network, and comparing the classification of the training images against labels associated with the training images. The method also includes updating parameters of the deep convolutional neural network based on the comparison of the classification of the training images against the labels associated with the training images.

[0010] In another example embodiment, a method of classifying images using one or more image classification models includes obtaining, by an image processing device, training images associated with labels, wherein two or more labels of the labels are associated with each of the training images and wherein each label of the two or more labels corresponds to an image classification class. The method further includes training, by the image processing device, a deep convolutional neural network using the training images and the labels associated with the training images. The method also includes classifying, by the image processing device, an input image into two or more classes based on the trained deep convolutional neural network.

[0011] In yet another example embodiment, a system for classifying images using one or more Image classification models includes a training image source comprising training images associated with labels, wherein two or more labels of the labels are associated with each of the training images. The system further includes an image processing device commnnicably coupled to the training image source, wherein the image processing device is configured to obtain the training images from the training image source and to train a deep convolutional neural network using the training images and the labels associated with the training images. The system may also include an input image source comprising input images to be classified into classes, wherein classifying an input image into multiple classes associates the input image with multiple classes corresponding to the multiple classes.

[0012] These and other aspects, objects, features, and embodiments will be apparent f om the following description and the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein: [0014] FIG. 1 illustrates a system for training image classification models and for classifying images according to an example embodiment;

[0015] FIG. 2 illustrates a method of training image classification models and classifying images according to an example embodiment;

[0016] FIG. 3 illustrates a method of training image classification models (i.e., eonvoiutional neural networks) according to an example embodiment;

[0017] FIG. 4 illustrates a method of classifying images using trained classification models according to an example embodiment;

[0018] FIG. 5 illustrates classification/labelling of an image using the system of FIG. 1 and based on the methods of FIGS. 2, 3, and 4; and

[001 ] FIGS. 6-8 illustrate classification of input images based on trained classification models for each hierarchy level of the multi-labels according to an example embodiment.

[0020] The drawings illustrate only example embodiments and are therefore not to be considered limiting in scope. The elements and features shown in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the exampl embodiments. Additionally, certain dimensions or placements may be exaggerated to help visually convey such principles, in the drawings, reference numerals designate like or corresponding, but not necessarily identical, elements.

DETAILED DESCRIPTION OF THE EXAMPLE EMBODIMENTS

[0021] In the following paragraphs, example embodiments will be described in further detail with reference to- the .figures. In the description, well known components, methods, and/or processing techniques are omitted or briefly described. Furthermore, reference to various ieature(s) of the embodiments is not to suggest thai all embodiments must incl ude the referenced feature(s).

[0022] In some example embodiments, systems and methods that are based on eonvoiutional neural network may be used to classify images into multiple classes such that the Images axe each associated with respective multiple labels. To illustrate, one or more convolution neural networks (also referred to herein as a classification models) are first trained, and the trained eonvoiutional neural networks are then used to classify images. Labels that can be associated with a single image or with an element object in an image may be referred to herein as labels, multiple labels, or multi-labels.

[0023] in some example embodiments, during a training operation, a convolutionai neural network (e.g., a deep convolutionai neural network) may be trained such thai parameters of the network are learned using training images tagged (for example, manually) with, multi- labels that describe visual-semantic meanings of the images. During classification operations, the trained convolutionai neural network is used to classify other images such thai multi-labels are associated with the images. For example, the images classified by the trained network may be tagged or otherwise associated with multi-labels that describe visual-semantic meanings of the images. As described in more detail below, the trained convolutionai neural network (i.e., the trained classification model) may include several layers including convolutionai, pooling, activation, gating, dense connection and drop out to robustly classify an image such thai the image is associated with appropriate multi-labels.

[0024] In some example embodiments, the multi-labels associated with training images and also used to classify images may be hierarchical labels. To illustrate, when the multi-labels are hierarchical labels, a respective trained classification model (he., a respective convolutionai neural network) may be trained for each level of the hierarchical labels. For example, three convolutionai neural networks may be trained when the training images are iagged or otherwise associated with multi-labels that have three hierarchies. During classification operations, multiple trained classification models may be used to classify images such that the images are tagged or otherwise associated with the hierarchical multi-labels at each hierarchy level.

[0025] To illustrate, images and associated semantic descriptive labels, such as U.S. design codes, Vienna codes, and keywords image constituents, used in trademark databases can be used to train very large deep convolutio neural networks that can encode the semantic information into feature maps. The trained convolution neural networks (i.e., the classification models resulting from the training operation) may then be used to classify other images such that the images are associated with respective semantic descriptive labels used in tire trademark- databases.

[0026] For example, Table 1 illustrates example labels that are based on semantic descriptions of images that may be registered as trademarks in the U.S. Please note that the particular images that have been lagged or otherwise associated with the labels are not shown in Table !,

angles lines depleting

[0027] As illustrated in Table 1, the multi-labels are intended to provide semantic descriptive information about the image 1 and image 2. The labels in Table 1 also have a hierarchical structure where the hierarchies are "Category," "Division," and "Section." For example, the highest hierarchy, "Category," provides more general semantic description of the images compared to the lower hierarchies. The nest highest hierarchy, "Division, " provides more general semantic description of the images compared to the lower hierarchy, "Division ' but more specific semantic description than the highest hierarchy, "Category/' In some alternative embodiments, hierarchical multi-labels may have a different hierarchical relationship than shown in Table 1 without departing from the scope of this disclosure, in contrast to some image databases/datasets, each, image in Table 1 is associated with multiple labels at each hierarchy.

[0028] FIG. 1 illustrates a system 100 for training image classification models and for classifying images according to an example embodiment. The system 100 may include an image processing device 102, a training image source 104, an input image source 106, The image processing device 102 may communicate with the training image source 104 and the input, image source 106 over a network 108, For example, the network 1 8 may he the internet, a local area network, a wide area network, o a combination thereof. Alternatively or in addition, the network .108 may be or may include a cable connection such as, for example, a universal serial bus (USB) cable connection.

[0029] In some example embodiments, the training image source 104 may include one or more databases of images tagged or otherwise associated with multi-labels. The images from the training image source 104 may be used by the image processing device 102 t train convolutionai neural networks (i.e., classification models) that can be used to classify other images such as the images from the input image source 106. The training images may be graphically designed images (e.g., line drawings, 2D perspective views of 3D CAD models, 2D drawings, etc. ), photos, other types of images, or a combination of two or more of the preceding. The training images may be trademarks, logos, and product designs including images used in design, patents and industrial desig registrations, etc. The training image source 104 may include image databases that include millions of images or few images depending on a particular application. The training image source 104 may be one or more standalone data storage devices, data storage devices of a computer or computer network, or another device or system that may be used to provide images along with the associated multi-labels. Fo example, the training image source 104 may include a storage device (e.g., a static random access memory or another type of computer readable medium). The multi-labels associated with individual training images provided by the training image source 104 to the image processing device 102 may be in a form of metadata of the individual training images or in another format that otherwise associates the individual training images with respective multi-labels. In some example embodiments, hundreds or thousands of possible visually semantic (i.e., semantical! y descriptive) labels may be potentially used to label training images. The training image source 104 may be a storage device (e.g., a static random access memory, etc.) that is commumcably coupled to the image processing device 102.

[0030] In some example embodiments, the multi-labels associated with the images from the training image source 104 may have a hierarchical structure as described above. Alternatively, the multi-labels may be non-hierarchical. As a non-limiting example, the taming image source 104 may include a database of one or more IP registration organizations, such as the U.S. Patent and Trademark Office, and the multi-labels may be semantieally descriptive labels, such the U.S. Design Codes or other semantieally descriptive codes.

[0031] n some example embodiments, the input image source 106 may include one or more databases of images that can be classified by the image processing device 102 using convolutionai neural networks (i.e., classification models) that are trained using the training images that are tagged or otherwise associated, multi- labels and provided by the training image source 104. The images included in the input image source 106 may be graphically designed images (e.g., line drawings, 2D perspective views of 3D CAD models, 2D drawings, etc. ), photos, other types of images, or a combination of two or more of the preceding. The images provided by the input image source 106 may be trademarks, logos, product designs including images used in design patents and industrial design registrations, etc. The input image source 1 6 may include image databases tha include millions of images or few images depending on a particular application, and may be classified into hundreds or thousands of classes (i.e., the images may be labeled by some of possible hundreds or thousands of labels). The input image source 106 may be one or more standalone data storage devices, data storage devices of a computer or computer network, or another device or system that may be used to provide images to be classified by the image processing device 102, For example, the input image source 106 may include a storage device (e.g., a static random access memory or another type of computer readable medium). n some example embodiments, the input image source 106 may include a user device that submits one or more images that a user want classified by the image processing device 102. Alternatively or in addition, the input image source 106 may include a web page that includes images with metadata. [0032] In some example embodiments, the image processing device 102 includes a processing unit 110, such as a centra! processing unit, a memory device 1 12. a storage device 114, and a network interface 116 as well as other components that support the function of the image processing device 102 to train classification models and classify images. The network interlace 1 16 may be used by the image processing device 102 to communicate with other devices including the training image source 104 and the input image source 106. For example, one or both of the training image source 104 and the input image source 106 may be local storage devices that are commonicably coupled to the image processing device 102 by respective, cable ' (e.g., a USB cable or CAT 5 cable) via the network interface 06. in some example embodiments, the training image source 104 and the input image source 106 may be a single device thai includes training images with associated multi-labels as well as images that need to foe classified.

[0033] In some example embodiments, the processing unit 110 may include multiple processor units including specialized (e.g., graphics) processing units. For example, computer executable code may be stored in the storage medium 1 12 and may be executed by the processing unit 110 to implement the training of classification models based on the training images and the classification of images based on the trained classification models. For example, the memory device 1 12 may include one or more static random access memory devices or another type of non-transitory computer readable media.

[0034] In some example embodiments, the storage device 114 may be used to store executable code and/or data including image data, labels, and/or other information related to the training of classification models and the classification of images. For example, in some embodiments, the storage device 114 may be used to store training images previously received from the training image source 1 4 or another source of training images thai have associated labels. Alternatively or in addition, the storage device 114 may be used to store images to be classified by the image processing device 102. The storage device 114 may include one or more static random access memory devices or another type of non-transitory computer readable media.

[0035] in some example embodiments, the memory device 1 2 and/or the storage device

1 14 may be used to store a list of multi-labels applicable to a particular database of training images. For example, a complete or a particular portion of semantically descriptive labels used by an organization to classify trademark or design images (e.g., graphically designed images) may he stored in the storage device 114 for use by the image processing device 102 during the training of the classification models and/or during the classification of images,

[0036] By using eonvolutional neural network(s) trained with training images and multiple labels associated with individual images of the training images, the system 100 can perform reliable classification of images into multiple classes. The use of the convolutional neural networks described herein to classify images improves the image classification capability of the image processing device 102. by enabling classification of images into multiple classes (i.e., associate images with multiple labels) as compared to systems and neural networks that. are. limited to mutually exclusive labels, where each image (or set of pixels in an image) is associated with a single label and classified accordingly. For example, in systems and neural networks that are limited to mutually exclusive labels, an image can be considered to contain "car" or "human '7 labels but not both, i contrast, the labels used by th system 100 may be non- mu ualiy exclusive labels, where a label is may be associated with multiple images or objects in images. Further, the system 100 enables labels to be associated with multiple classes of images. For example, if a class of images is that of dogs and another class of images is that of cats, the system 100 enables a semantically descriptive label (e.g., lurry) to be associated with both images from both classes.

[0037f In some example embodiments, the image processing device 102 may he implemented using hardware (e.g., FPGA or a microprocessor), software, or a combination of hardware and software. Further, some of the components of the image processing device 102 may be omitted or integrated into a single component without departing from the scope of this disclosure, Although the image processing device 102 is shown as a single device, in some example embodiments, the image processing device 102 may be a system of multiple components/devices. Although particular components of the system 100 are shown in FIG. 1 , the system 100 may include fewer or more components than shown. Descriptions provided herein with respect to an image or images may he applicable to objects/elements in the image(s).

[0038] FIG. 2 illustrates a method 200 of training image classification models and classifying images according to an example embodiment. Referring to FIGS. 1 and 2, in some example embodiments, the method 200 includes obtaining training images with associated labels at step 202. For example, the image processing device 102 may obtain training images tagged or otherwise associated with multi-labels from the training image source 104. Alternatively, the image processing device 102 may obtain the training images and associated labels from another device such as the storage device 1 14.

[C'0 ' 39] The method 200 includes training one or more classification models (i.e., convoiutionai neural networks) at step 204. For example, the system 100 of FIG. 1 may he used to train one or more convoiutionai neural networks. The fundamental concepts of convolution layers are weight sharing and encoding multiple feature maps. Weight sharing allows extracting visual information regardless spatial location (translational mvariance) and multiple parallel feature maps allow extracting different types/levels of details of an image simultaneously. Description of convoluiionaJ neural networks may be found in Y, LeCun, L. Bottou, Y. Bengio, and P. Haffner, "Gradient-based learning applied to document recognition. " ' Proe. IEEE, vol. 86, no. 1 1 , pp. 2278-2323, 998, the content of which is incorporated herein by reference.

[0040] As described in more detail with respect to FIG. 3, a convoiutionai neural network trained based on the training images obtained at step 200 may be a deep convoiutionai neural network that includes several layers. The training of a convoiutionai neural network includes tuning/updating of weights and biases of the network kernels by iterative!}' doing gradient optimization on labelled data (e.g., human labelled data). In contrast to convoiutionai neural networks that use softmax activation or sigmoid activation at the classification laver, the convoiutionai neural networks used by the system 100 and in the method 200 use sofVsigrooki activation described below for reliable classification of images into multiple classes (i.e., to associate multiple images with an image). For example, convoluiional neural networks that use softmax activation at the classification layer require mirtually exclusive classes/labels. Convoluiional neural networks that use sigmoid activation at the classification layer or sigmoid activation of the last layer or sigmoid-cross entropy for the objective function during training can suffer from negative saturation and hanging within local minima. By using the convoiutionai neural network with soft-signioid activation at the classification layer or soft-sigmoid-cross entropy for the objective function during training, the system 100 and the image processing device 102 may train one or more convoluiional neural networks using images tagged or otherwise associated with multiple labels (i.e., .multi-labels) and may reliably and efficiently classify images into multiple classes (i.e., associate images with multiple labels) using the trained one or more convoiutionai neural networks, in some alternative embodiments, the system 100 and the method 200 may use a different m ns to prevent or recover from negative saturation without departing from the scope of this disclosure.

[0041 ] in some example embodiments, a respective convoiuiional neural network may be trained based on each hierarchical level of hierarchical multi-labels (e.g., U.S. Design codes, Vienna codes, etc.) associated with images or objects elements in images. In general, the training images and associated multi-labels used in the training of convolutions*! neural network(s) used by the system 100 and. in the method 200 may be non-hierarchical or hierarchical.

[0042] In some example embodiments, the training images may be optionally pre- processed, for example, for better data augmentation. For example, the training images may be resized to fixed height and width. The aspect ratio of the images may be maintained by padding the shorter size with, for example, black, white and edge color. Grayscale and binary version of RGB images may also be used as data augmentation. As another example of pre-processing, the training images may be pre- whitened, and random contrast, random brightness and random flips and rotation may also be applied during each iteration.

[0043] In some example, embodiments, the method 200 may include testing the trained convolutional neural network(s) (i.e., irained classification models) at step 206. For example, a sample of the training images and associated multi-labels irom the training image source .104 or another source may be provided to the image processing device 102 to test benchmark the trained convoiuiional neural network(s). Additional refinement of the convo!utionai neural network(s) may be performed, for example, using more training images if the performance of the system 100 or the method 200 is below a threshold, in some alternative embodiments, foe testing of the trained classification models may be omitted without departing from the scope of this disclosure.

[0044] In some example embodiments, the method 200 includes classifying input images using the one or more trained classification models (i.e., trained convohitional neural network(s)) at ste 208. For example, the input images may be received by the image processing device 102 from the input image source 106 or from another source such as the storage device 1 14. The image processing device 102 may classify the input images by based on one or more trained classification models. For example, for a particular dataset of images that are to be classified based on non-hierarchical labels, the system 100 may train a single classification model thai is used to classify corresponding input images. For another daiasei of images that are to be classified based on hierarchical labels, the system 100 may train a single classification mode! that is usee! to classify corresponding input images. By classifying the input images into multiple classes, the image processing device 102 effectively labels, tags or otherwise associates classified input images with multi-labels. In some example embodiments, one or more of the input images may be classified in single class when the images or objects/elements in the images fell only under a single class.

[0045] FIG. 3 illustrates a method/system 300 of training image classification models

(i.e., convoiutionai neural networks) according to an example embodiment. Referring to FIGS. 1-3, a deep convoiutionai neural network may include convolution and pooling layers 306, folly connected layers 310, and a logits layers 312 as illustrated in FIG. 3, in the convolution layers, weight sharing kernels are scanned on input feature-maps (image or output of the previous layers), and non-linear activation function like eLU, ELU, sigmoid and etc. are used to generate input for the next set of layers. Usage of weight sharing kernels enables iranslational invariance and multiple parallel kernels enable extracting different, visual information.

[0046] A pooling layer is used in between convolution layers to reduce the dimension of input feature map. in pooling, weight-sharing kernel is scanned with more than one-pixel stride length (commonly stride length of two is used) and get the maximum value within the kernel region, instead of maximum, any statisticai aggregation function can be used (maximum: max- pooling, min: min-pooling and etc.). Pooling layer helps to reduce the dimensionality and disregard noise.

[0047] These convolution layers and pooling layers of the convoiuiion and pooling layers

306 are repeated number of times to make sure visual information are extracted in multiple levels (from global details to finer details). When the network is deeper with multiple convolution and pooling layers, image information from beginning of the network is transferred to the deeper side of the network using gating 308.

[0048] Hyper parameters of the network (number of layers, kernel size, number of gating and number of kernels) are set based on complexity of image data and number of labels used in application. Part of the network also can be repeated in parallel and concatenated together if an application is more complex and requires learning more feature maps to different classification labels, resulting in the network being relatively wide. [0049] In general, the convolution and pooling layers 306 perform the following main operations: 1} Convolve weight sharing kernels on the pre-processed input image; 2) Apply relevant pooling (max, mean, rain) on the generated feature maps to accommodate image mvarianees (e.g,, translation); and 3) Use an appropriate activation function (ReLU, Sigmoid. ELU, etc,) to map the pooled feature to non-linear output. These main operations are repeated with a combination of different kernel sizes (3x3, 5x5, l lx ' i i), activation functions and gating (highway, skip) to capture the different levels of visual features. With deeper convolution network, smaller kernel size with larger number of feature maps are used to adapt smaller receptive field with finer details.

[0050] The outputs of the last convolution layers of the convolution and pooling layers

306 are concatenated together and densely mapped to fully connected layers 310. Different scales of drop-out are used to make sure the network is not over-fitted. The fully connected layers 310 make sure the visual information extracted from convolution layers are narrowed to map classification labels.

[0051] The logits layer (i.e., soft-sigmoid layer) 312 is used to map the output of last fully connected layer (H) to get the confidence scores for each classification labels. The soft- sigmoid layer is defined as:

soft-sigmoid : / « y * Fg(H) + (1 · ■■ y) * Fs(H)

[0052] Where Fs is a sigmoid function. Fg is any non-linear function that satisfies oFg(H)/3H ≠ 0, (function that has non-zero gradient value for all the range of input). An example function that works in thai context is softmax. Other activation functions like ReLU, ELU also satisfy this requirement, γ sets the weights to Fg and Fs . During the training of the convolutional neural network, γ is set to a function thai correlates with cumulated cross-entropy loss (boosting Fg when the model is with higher loss). This process helps to bring back the false- positive and false negative confidence scores that hangs in the negative saturated regions of sigmoid. During classification of input images using the trained convolutional neural network, γ is set to 0 to produce independent confident scores for each label.

[0053] Training the convolutional neural network using the images 302 with multi-labels

304 is done by back-propagating the network to minimize the cross-entropy between soft- sigmoid activation logits and the ground truth labels. Updating of parameters such as weights and biases and other optimizations are performed by the optimization and updating module 316 based on output of the soft-si gmoid cross-entropy module 314. Mini-batch with the size of (64, 128, 256} from random shuffled input image data queue may be used as input to generalize loss function between the training images that belong to different classes.

[0054] As described -above, when the labels 304 have a hierarchical structure, separate models are trained for each level of the hierarchy of labels. The number of convolution layers, kernel size, type of activation, pooling and gating, number of fully connected layers, number of neurons on the fully connected layers varies with the number of labels, number of training images used, type of labels used and type of training images etc. For example, if the network needs to classify large number of labels (thousands or more) a convolutional neural network with a large number of layers (similar to vgg 16, ResnetlOl) is more appropriate to capture the complex structure of the visual features.

[0055] FIG. 4 illustrates a method system 400 of classifying images using trained classification models according to an example embodiment. Referring to FIGS. 1-4, the trained classification model (i.e., trained convolutional neural network) that resulted from training of the classification model described above includes convolution and pooling layers 406, fully connected layers 410, and a logits layer 412 as illustrated in FIG. 4. The trained convolutional neural network of FIG. 4 is effectively the convolutional neural network of FIG, 3 at the end of the training process. To illustrate, the convolution and pooling layers 406 corresponds to the convolutional neural network 306, the fully connected layers 410 corresponds to the fully connected layers 310 and the logits layers 412 corresponds to the logits layers 312 with the exception of difference in parameter settings. Input images 402 that need to be classified may be provided from an image source such as the input image source 106 or another source. In some example embodiments, the input Images may be pre-processed in a similar manner as described with respect to the training images.

[0056] For a given input image, the trained classification models from the step 204 of the method 200 and from the method of 300 output confident scores for each label. The output of the soit-sigmoid activation logits layer 412 generate independent sigmoid confidence score for each label in contrast to convolutional neural networks that use soitmax activation resulting in confidents scores that are distributed between all labels to have a summation of the score equals to one. Confidence scores indicate the level of confidence that an object in the image or an 6 image is classified correctly in a particular class (i.e., a particular label). For example, a score of 1 may indicate a highest confidence level, and a score of 0 may indicate the lowest confidence level. By using so ft- igmoid activation, the methods 200. 300, and 400 enable classification of an image and objects/elements in an image into multiple classes as shown by the classification/labeling output 414. That is, multiple labels (i.e., multi-labels) may be associated, with an image. For example, an image may be tagged with multiple labels and may not be limited to a single class.

[0057] FIG. 5 illustrates classification labellmg of an image (e.g., a graphically designed image) using the system 100 and based on the methods 200, 300. and 400. As illustrated in FIG. 5, the image 502 is classified into three classes (i.e., associated with three multi-labels) as shown by the classes/labels 504 along with confidence scores 506 provided in percentages.

[0058] FIGS. 6-8 illustrate classification of input images based on trained classification models for each hierarchy level of the multi-labels according to an example embodiment. In some example embodiments, separate classification models may be trained for each level of hierarchy of hierarchical labels, as described above. To illustrate, trademark labels such as US- design codes and Vienna-codes are built upon a hierarchical structure from "Category" -> "Division" * ^ "Section," as illustratively shown in Table 1. The trained classification models for each ' hierarchy level (for example, H(C) for "Category ' ', H(D) for "Division" and H(S) for Section.} may be used to determine a final classification of an image or an object in an image. The hierarchy information together with information on each of the classification models from prior statistics may be used to robustly classify each category, division and section labels. FIGS, 6-8 illustrate how the identified labels for each of the hierarchical levels are used to refine the final scores.

[0059] To illustrate, probability scores for each class/label are computed from higher level to lower label in hierarchy. Confidence score for the higher level label from each model is computed and averaged as shown in FIG. 6. For each lower level, the probability score for the current level label is multiplied by the probability score of the corresponding higher level label as shown in FIGS. 7 and 8.

[0060] With the large amount of training images, prior statistics of each classification model ' s reliability towards correctly indicating a class label to be associated with an input image may also be incorporated in computing the scores. To illustrate, prior probabilities that measure the accuracy of each hierarchy level classification model (for example, H(C) for "Category", M(0) tor "Division ' ' and H(S) .for Section) for a given class are pre-eomptxted based on the statistics that extracted from, for example , millions of training data. For example, P(Cjel) is ho good the category model in predicting on el class. Confidence scores for a label, (e.g., cl ) from its children's model (D or S) is computed by multiplying the maximum confidence of its child labels (D(c(di) == cl) or SCe(si)™ cl)) from its relevant model with the prior statistics of the classification model's confidence score for the given label. The final confidence score for the label can he defined by mean of confidences from each of its child models, multiplied by the parent probability. The parent probability (confidence score) is defined by the probability of the upper level hierarchy label to which that the child label belongs.

[0061] The above described systems and methods may be used to train deep convo!utionai neural network(s) to classify images based on semanticaily descriptive (semantic visual) labels that may have hierarchical structures. Example descriptions of three-level hierarchy labels used in US design codes to describe trademark images are shown in " able 1 above. Examples of multi-labels in the design patent/industrial design space include Locamo classifications and Product Indications.

[0062] As described above, in an example embodiment of a method of training an image classification system, a large-scale logo dataset may be used for training convolutiona! neural networks (i.e.. classification models). The trademark images (typically graphically designed images) and the trademark image codes are used as labels as input, into the deep learning system (i.e., a system based on deep convolutions! neural network(s)). Use of trademarks as training image dataset provides a large resource of images thai may be used to train deep convolutional neural networks for classification of images, logos, etc. As described above, the systems and methods described herein may be used in applications involving classification of industrial designs and a combination of trademarks and designs.

[0063] System benchmarking may be performed against both logo datasets (trademarks) and large scale photo datasets (ImageNet), as well as more application specific datasets such as e-commerce site images (usually product photos which can be either photos, digitally altered merchandise, or just plain logos). As described above, images, both training images and input images to be classified, may undergo preprocessing to normalize white balance, remove noise, scale images, etc. [0064] Additionally, the metadata including labels and other relevant information can be preprocessed. Not all trademark meia data -will be useful in general, some descriptors are more meaningful than others (for instance describing an image as containing segments is less useful than describing an image as 2 connected segments forming a checkmark). Relevance statistics for these labels can be collected beforehand to feed into the supervised training process of a deep network.

[0065] Additionally, as described above, different levels of metadata (i.e., hierarchical labels) can be differentiated, from most specific to least specific. For instance, a very specific meta data label for an image might be Trademark application number 11111 (trademark identified), a higher level label is the brand name "Twitter" (brand/owner), a higher level yet again is "Sparrow", "Bird", "Animal" (for instance, like the VC category, division, section hierarchy e.g. "02.01.01", "02.01 ", "02"). These different levels of description and labels are used for training.

0066] The above formatted information may be used to train a convolutions! neural network (i.e., classification model), which comprises of a multi-level architecture of alternating convolution and max pooling layers, typically with a final layer as a classifier, as described above. In an example embodiment, the above labels can be used to train the last layer. In systems and methods thai are based on convoliitional neural networks, convolution and max pooling reduces dimensionality through effectively clustering the features resulting from the convolution. Each layer of convolution provides a set of higher-level features with, different representation. Understanding what architecture suits the level of semantic labels will help with training.

[0067] The systems and methods described herein enable accurate classification of visual elements or objects in graphically designed images such as trademarks, logos, and images of industrial designs including product designs. Taking advantage of hierarchical levels of multi- labels by training per- erarchy classification models may result in even more reliable classifications. Objects and elements in photographs may also be classified using the systems and methods described herein. Applications include improving clearance search and watches for image-based trademarks (and common law logos) and industrial design for protection against infringement, as well as wide applicability in a variety of domains such as media monitoring, security, and consumer applications. [0068] The systems and methods described herein may he used its many applications.

For example, by using already established code standards for imaging labelling, the systems and methods may be used to protect intellectual property of graphically designed linages, where the images are labelled by examiners according to the industry standard (Vienna code, design code and keyword, etc.). The labels can be used to train classification models on hierarchically labelled classes as mentioned above, and the trained classification models may be used to generate code suggestions for examiners during new registrations and help to find similar design/trademark images by providing the image or an object in the image desired to be registered to the classification system described herein. Such code generation capability may also be used with design patents and industrial design registrations. The trained classification models can also be used to look for infringement by similar design of a graphic image.

[0069] In some example embodiments, image searches may be performed based on the class-labels. To illustrate, combinatio of object labels describe the uniqueness of an. The trained classification models may be used to label or otherwise associate with labels images and objects in images. By using the trained classification models that can. automatically generate all the combination of object labels, the image can be searched against large scale datasei for similarity.

[0070] In some example embodiments, web-Image search ma be performed based on metadata. Similar approaches as described above can be used to search for similar image on the web. Classification models trained on metadata also ca be used to automatically Index an uploaded image to the database. The systems and methods described herein may also be used to perform trademark and design clearance search and provide watch services.

[0071] in some example embodiments, reverse-image search may be performed using the systems and methods described herein with additional features from the outputs of the trained networks (visually encoded feature maps— intermediate network layers and/or auto generated semantic labels). Further, by having separate models for different hierarchy levels of labels, image search can be performed to look into different level of details in similarity. For example, matching twitter logo can be performed with the expectation of getting the results with: i) the exact shape/color/texture of the twitter logo; ii) a logo with the combination of birds in flight or with outspread wings, woodpeckers, other birds; pigeons; ravens; robins; crows; cardinals; doves; ill) type of animals; or iv) a logo with any animal. [0072] In general, the systems and methods described herein ear* be used to train very large (wide/deep) deep learning models on the world's largest corpus of logo training image data with independent, hierarchical, muitt label information. Such systems and methods can easily handle over 5 million trademark images and thousands of class labels during the training processes..

[0073] Although embodiments of the methods have been described, it is to be understood that such a system is not necessarily limited to the specific features or algorithms described. Rather, the specific features and algorithms are disclosed as example forms of implementing such systems.

[0074] Although some embodiments have been described herein in detail, the descriptions are by way of example. The .features of the embodiments described herein are representative and, in alternative embodiments, certain features, elements, and/or steps may be added or omitted. Additionally, modifications to aspects of the embodiments described herein may be made by those skilled in the art. without departing from the spirit and scope of the following claims, the scope of which are to be accorded the broadest interpretation so as to encompass modifications and equivalent structures.