US10402699B1ActiveUtility

Automated classification of images using deep learning—back end

92
Assignee: HRL LAB LLCPriority: Dec 16, 2015Filed: Dec 15, 2016Granted: Sep 3, 2019
Est. expiryDec 16, 2035(~9.4 yrs left)· nominal 20-yr term from priority
G06N 3/084G06V 30/19173G06V 30/19147G06V 10/82G06V 10/56G06N 3/082G06F 18/214G06N 3/045G06T 3/40G06T 7/90G06T 2207/10024G06T 7/277G06T 2207/20081G06N 3/08G06K 9/66G06K 9/42G06N 3/04G06K 9/6256G06N 3/0464G06N 3/09
92
PatentIndex Score
18
Cited by
3
References
22
Claims

Abstract

A method for training an automated classifier of input images includes: receiving, by a processing device, a convolution neural network (CNN) model; receiving, by the processing device, training images and corresponding classes, each of the corresponding classes being associated with several ones of the training images; preparing, by the processing device, the training images, including separating the training images into a training set of the training images and a testing set of the training images; and training, by the processing device, the CNN model utilizing the training set, the testing set, and the corresponding classes to generate the automated classifier.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A method for training an automated classifier of input images, the method comprising:
 receiving, by a processing device, a convolution neural network (CNN) model; 
 receiving, by the processing device, training images and corresponding classes, each of the corresponding classes being associated with several ones of the training images; 
 preparing, by the processing device, the training images, comprising separating the training images into a training set of the training images and a testing set of the training images; and 
 training, by the processing device, the CNN model utilizing the training set, the testing set, and the corresponding classes to generate the automated classifier, 
 wherein the CNN model comprises multiple layers of convolutional feature extraction operations followed by a linear neural network (NN) classifier, and 
 wherein the CNN model comprises multiple convolution stages followed by the linear NN classifier, each of the convolution stages comprising a convolution filter bank layer, a non-linearity activation layer, and a feature pooling layer. 
 
     
     
       2. The method of  claim 1 , wherein the non-linearity activation layer comprises a rectified linear unit. 
     
     
       3. The method of  claim 1 , wherein the training of the CNN model comprises utilizing backward propagation of errors with stochastic gradient descent. 
     
     
       4. The method of  claim 1 , wherein the preparing of the training images further comprises preprocessing the training images prior to the training of the CNN model, the preprocessing comprising resizing the training images to a fixed size. 
     
     
       5. The method of  claim 4 , wherein the training images comprise RGB images and the preprocessing of the training images further comprises transforming the RGB images having the fixed size into YUV images. 
     
     
       6. The method of  claim 5 , wherein the preprocessing of the training images further comprises spatially normalizing the YUV images having the fixed size. 
     
     
       7. The method of  claim 1 , wherein the separating of the training images comprises, for each class of the corresponding classes, assigning a majority of the training images corresponding to the class to the training set and remaining ones of the training images corresponding to the class to the testing set. 
     
     
       8. The method of  claim 7 , wherein the separating of the training images further comprises generating several folds, each of the folds being a separation of the training images into a corresponding said training set and said testing set such that no two of the folds share any of the training images between their corresponding said testing sets. 
     
     
       9. The method of  claim 8 , wherein each of the training images appears in the testing set of a corresponding one of the folds. 
     
     
       10. The method of  claim 1 ,
 wherein the training set comprises a first number of training sets and the testing set comprises said first number of testing sets, and 
 wherein the separating of the training images comprises:
 sampling each of the training images for said first number of times; 
 separating the first number of samples from each of the training images of the training set into different ones of the first number of training sets; and 
 separating the first number of samples from each of the training images of the testing set into different ones of the first number of testing sets. 
 
 
     
     
       11. The method of  claim 1 , further comprising:
 re-training, by the processing device, the CNN model utilizing actual example results via a user interface. 
 
     
     
       12. A system for training an automated classifier of input images, the system comprising:
 a processor; and 
 a non-transitory physical medium, wherein the medium has instructions stored thereon that, when executed by the processor, causes the processor to:
 receive a convolution neural network (CNN) model; 
 receive training images and corresponding classes for training the automated classifier, each of the corresponding classes being associated with several ones of the training images; 
 prepare the training images, comprising separating the training images into a training set of the training images and a testing set of the training images; and 
 train the CNN model utilizing the training set, the testing set, and the corresponding classes to generate the automated classifier, 
 wherein the CNN model comprises multiple convolution stages followed by a linear neural network (NN) classifier, each of the convolution stages comprising a convolution filter bank layer, a non-linearity activation layer, and a feature pooling layer. 
 
 
     
     
       13. The system of  claim 12 , wherein the instructions, when executed by the processor, further cause the processor to prepare the training images by preprocessing the training images prior to the training of the CNN model, the preprocessing comprising resizing the training images to a fixed size. 
     
     
       14. The system of  claim 13 , wherein the training images comprise RGB images and the preprocessing of the training images further comprises transforming the RGB images having the fixed size into YUV images. 
     
     
       15. The system of  claim 12 , wherein the separating of the training images comprises, for each class of the corresponding classes, assigning a majority of the training images corresponding to the class to the training set and remaining ones of the training images corresponding to the class to the testing set. 
     
     
       16. The system of  claim 15 , wherein the separating of the training images further comprises generating several folds, each of the folds being a separation of the training images into a corresponding said training set and said testing set such that no two of the folds share any of the training images between their corresponding said testing sets. 
     
     
       17. The system of  claim 12 ,
 wherein the training set comprises a first number of training sets and the testing set comprises said first number of testing sets, and 
 wherein the separating of the training images comprises:
 sampling each of the training images for said first number of times; 
 separating the first number of samples from each of the training images of the training set into different ones of the first number of training sets; and 
 separating the first number of samples from each of the training images of the testing set into different ones of the first number of testing sets. 
 
 
     
     
       18. The system of  claim 12 , further comprising:
 a user interface to re-train the CNN model utilizing feedback of actual example results from the user interface to improve a performance of the automated classifier. 
 
     
     
       19. An automated classifier of input images comprising:
 one or more integrated circuits configured to implement a trained convolutional neural network (CNN) model, the one or more integrated circuits being configured to:
 receive an input image; 
 apply the input image to the trained CNN model in a feedforward manner; and 
 output a classification of the input image in accordance with an output of the trained CNN model, 
 
 wherein the trained CNN model comprises multiple convolution stages followed by a linear neural network (NN) classifier, each of the convolution stages comprising a convolution filter bank layer, a non-linearity activation layer, and a feature pooling layer. 
 
     
     
       20. The automated classifier of input images of  claim 19 , wherein the one or more integrated circuits comprise a neuromorphic integrated circuit. 
     
     
       21. The automated classifier of input images of  claim 19 , wherein the trained CNN model is trained by:
 receiving, by a processing device, training images and corresponding classes, each of the corresponding classes being associated with several ones of the training images; 
 preparing, by the processing device, the training images, comprising separating the training images into a training set of the training images and a testing set of the training images; and 
 training, by the processing device, the CNN model utilizing the training set, the testing set, and the corresponding classes to generate the automated classifier. 
 
     
     
       22. The automated classifier of input images of  claim 21 , further comprising:
 a user interface for providing feedback regarding the classification of the input image, 
 wherein the trained CNN model is further trained in accordance the feedback provided via the user interface.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.