WO2017079972A1 - A method and a system for classifying objects in images - Google Patents

A method and a system for classifying objects in images Download PDF

Info

Publication number
WO2017079972A1
WO2017079972A1 PCT/CN2015/094572 CN2015094572W WO2017079972A1 WO 2017079972 A1 WO2017079972 A1 WO 2017079972A1 CN 2015094572 W CN2015094572 W CN 2015094572W WO 2017079972 A1 WO2017079972 A1 WO 2017079972A1
Authority
WO
WIPO (PCT)
Prior art keywords
cnn
images
fine
bounding box
training
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
Application number
PCT/CN2015/094572
Other languages
French (fr)
Inventor
Xiaogang Wang
Xingyu ZENG
Wanli OUYANG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201580085497.4A priority Critical patent/CN108475339B/en
Priority to PCT/CN2015/094572 priority patent/WO2017079972A1/en
Publication of WO2017079972A1 publication Critical patent/WO2017079972A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]

Definitions

  • the disclosures relate to a method and a system for classifying objects in images.
  • the aim of object detection is to detect instances of object of a certain class in digital images and videos.
  • the performance of object detection systems depends heavily on image representation, of which the quality can be influenced by many kinds of variations, such as viewpoints, illuminations, poses, and occlusions. Due to such uncontrollable factors, it is non-trivial to design robust image representation that is sufficiently discriminative to represent large quantity of object classes.
  • Deep Convolutional Neural Network has been applied to learn features directly from raw pixels.
  • existing deep CNN learning methods pre-train the CNN by using images without bounding box ground truth, and subsequently fine-tune the deep neural net using another set of images with bounding box ground truth.
  • the image set used for fine-tuning has lower quantity of semantic class numbers compared to the image set used for pre-training.
  • the number of semantic classes in image set for fine-tuning equals the number of actual classes to be detect.
  • a method for classifying objects in images comprising: obtaining at least one candidate bounding box for each of the images, wherein each candidate bounding box contains one object to be classified; extracting appearance features from the each candidate bounding box; calculating n-classifying scores for each candidate box based on the extracted appearance features; and classifying objects in each candidate bounding box into one of n classes, where n is integer greater than 1.
  • method for classifying objects in images comprising: means for obtaining at least one candidate bounding box for each of the images, wherein each candidate bounding box contains one object to be classified; means for extracting appearance features from the each candidate bounding box; means for calculating n-classifying scores for each candidate box based on the extracted appearance features; and means for classifying objects in each candidate bounding box into one of n classes, where n is integer greater than 1.
  • a system for classifying objects in images comprising: a memory that stores executable components; and a processor that executes the executable components to perform operations of the system, the executable components comprise: obtaining at least one candidate bounding box for each of the images, wherein each candidate bounding box contains one object to be classified; extracting appearance features from the each candidate bounding box; calculating n-classifying scores for each candidate box based on the extracted appearance features; and classifying objects in each candidate bounding box into one of n classes, where n is integer greater than 1.
  • the appearance features are extracted from the each candidate bounding box by using a feature learning CNN.
  • the CNN may be trained by steps of: training a second CNN with a first output layer having a first number of nodes, and a second output layer having integral-multiple-times (for example, 4 times) of the first number of nodes; initializing a third CNN with neuro parameters of the trained second CNN; training the third CNN with a set of fine-tuning images; adding a second number of output layers for the trained third CNN, wherein each of the second number of output layer is used for n-classes classification; initializing a fourth CNN with neuro parameters of the third CNN; replacing an output layer of the fourth CNN with a new output layer with n nodes; and fine-tuning the forth CNN with the set of fine-tuning images to obtain the feature learning CNN.
  • the second CNN may be trained by: initializing the second CNN with neuro parameters of a first CNN pre-trained with a set of pre-training images; replacing, with two new layers, an output layer of the second CNN; and training the second CNN with the set of fine-tuning images.
  • each of the pre-training images may have at least one ground truth bounding box
  • each of the fine-training images may have at least one ground truth bounding box and at least one candidate bounding box.
  • the first number may be determined by clustering the fine-training images according to relative locations and size relationships of each candidate bounding box and the corresponding ground truth box in each of the fine-training images.
  • the second number may be determined by clustering the set of fine-training images according to relative locations and size relationships of the ground truth boxes in each of the fine-training images.
  • Fig. 1 illustrates method for classifying objects in images according to an embodiment of the present application.
  • Fig. 2 is a flowchart illustrates a method for training the feature learning CNN.
  • Fig. 3 illustrates an example CNN according to the present application.
  • Fig. 4 and 5 illustrates exemplary images presenting the difficulty to tell object category or where the ground truth bounding box is if the only the image region within the candidate window is provided.
  • Fig. 6 illustrates exemplary images of window-object relationship clusters obtained.
  • Fig. 7 illustrates a system for classifying objects in images according to an embodiment of the present application.
  • Fig. 1 illustrates method 1000 for classifying objects in images according to an embodiment of the present application.
  • At step S101 at least one candidate bounding box are obtained for each of the images, wherein each candidate bounding box contains one object to be classified.
  • At step S102 one or more appearance features are extracted from the each candidate bounding box.
  • n-classifying scores are calculated for each candidate box based on the extracted appearance features.
  • objects in each candidate bounding box are classified into one of n classes, where n is integer greater than 1.
  • the extracted appearance features in step S102 are used to classify each candidate window, for example by C binary-class Support Vector Machine (SVM) detectors, each of which predicts one value for one candidate bounding box for one semantic object class.
  • SVM Support Vector Machine
  • the score of each SVM detector measures the confidence on the candidate window containing a specific object class.
  • the feature extracting step S102 can be performed with a feature learning CNN which will be described in detail below.
  • the feature learning CNN The feature learning CNN
  • Fig. 2 is a flowchart illustrates a method 2000 for training the feature learning CNN.
  • a first CNN is pre-trained with a set of pre-training images.
  • a second CNN is initialized with the neuro parameters of the pre-trained first CNN.
  • the output layer of the second CNN is replaced with two new layers, wherein one of the new output layer has c nodes, and the other output layer having 4c nodes.
  • the second CNN are trained with the set of fine-tuning images.
  • each of the pre-training images has at least one ground truth bounding box
  • each of the fine-training images has at least one ground truth bounding box and at least one candidate bounding box.
  • a candidate bounding box may contain the left/right half of a person if the candidate bounding box is at the left/right of the person.
  • the candidate bounding box may contain the upper body or the legs of the person or the whole body.
  • the candidate bounding box may have a larger scale with more background regions included or have a smaller scale with only part of the object included.
  • the relationship between the candidate bounding box and the ground truth bounding box of the object which is called the candidate-ground truth relationship in this application, provide rich information.
  • the candidate-ground truth relationship is available with the locations and sizes of the candidate bounding box and the ground truth bounding box.
  • the two new output layers of the second CNN consist of a c-classes classification and a 4c regression.
  • the label for the c-classes classification is the cluster index for each box proposal.
  • the label for the 4c regression is the l loc for each cluster.
  • the value of c is determined by clustering the fine-training images according to relative locations and size relationships of each candidate bounding box and the corresponding ground truth box in each of the fine-training images.
  • the overlaps between the candidate bounding box and the ground truth bounding box thereof are calculated. Those samples with overlap larger than 0.5 are assigned a positive label. Others are assigned a negative label.
  • the loss function for training the network will take the assigned label to calculate loss for each sample. And the goal of back-propagation procedure is to minimize the loss function for all samples.
  • the relative location and size is formulated as
  • (x s , y s ) denotes the center coordinate of the candidate bounding box
  • (W s , H s ) denotes width and height of a box proposal
  • (x g , y g ) denotes the center coordinate of the ground truth bounding box
  • (W g , H g ) denotes the width and height of the ground truth bounding box.
  • a third CNN is initialized with neuro parameters of the trained second CNN.
  • the third CNN is trained with a set of fine-tuning images.
  • k output layers are added for the trained third CNN, wherein each of the second number of output layer is used for n-classes classification.
  • a fourth CNN with neuro parameters of the pre-trained third CNN is initialized.
  • an output layer of the fourth CNN is replaced with a new output layer with n nodes.
  • the forth CNN is fine-tuned with the set of fine-tuning images to obtain the feature learning CNN.
  • the value of k is determined by clustering the set of fine-training images according to relative locations and size relationships of the ground truth boxes in each of the fine-training images, which can be formulated as:
  • (x g1 , y g1 ) denotes the center coordinate of the first ground truth box;
  • (W g1 , H g1 ) denotes width and height of the first ground truth box;
  • (x g2 , y g2 ) denotes the center coordinate of the second ground truth box;
  • (W g2 , H g2 ) denotes the width and height of the second ground truth box.
  • Fig 3 shows an example CNN according to the present application.
  • the CNN structure consists of a data layers, several polling layers, convolutional layers and fully connected layers.
  • the data layer receives images and its labels where x i, j is the j-th bit value of the d-dimension feature vector of the i-th input image region, y i, j is the j-th bit value of the n dimension label vector of the i-th input image region.
  • the convolution layer receives the output from the data layer and performs convolution, padding, sampling, and non-linear transformation operations.
  • the fully connected layer takes the fully connected layer takes the output from the convolution layer and performs inner-product operation. It aims to project the input to final prediction.
  • This prediction can be the probability for each class, and can also be the relative location.
  • the trained CNN can be back-propagated with any known art for neural network training.
  • the training process can try to minimize the loss function and can be divided into many updating steps in which the algorithm calculates the gradient with respect to all the neural network parameters, including the convolution filters, deformational layer weights, fully connected weights, and bias. Updates of the parameters can be performed using the production of one prefixed learning rate and the corresponding gradients.
  • the candidate windows for extracting appearance features are processed as following.
  • crop images I ( ⁇ , b s ) with sizes ( ⁇ W, ⁇ H) , ⁇ and center (x, y) .
  • the cropped images and the candidate window have the same center location (x, y) .
  • is the scale of contextual region. Choice of the scale set ⁇ will be discussed in detailed later.
  • the candidate window b s there are six cropped images I (r, ⁇ , b s ) with (r, ⁇ ) being (0°, 0.8) , (0 , 1.2) , (45°, 1.2) , (90°, 1.2) , (0°, 1.8) , and (0°, 2.7) .
  • (r, ⁇ ) being (0°, 0.8) , (0 , 1.2) , (45°, 1.2) , (90°, 1.2) , (0°, 1.8) , and (0°, 2.7) .
  • the approaches of the application is not constrained to network structure.
  • the candidate bounding box When the location and size of the candidate bounding box is different from that of the ground truth bounding box, the candidate bounding box only have partial visual content of the object.
  • the limited view results in difficulty for CNN to figure out the visual difference between object classes. For example, it is hard to tell whether it is an ipod or a monitor if one can only see the screen, but it becomes much easier if the whole object and its contextual region is provided, as shown in Fig. 4. As another problem, occlusion frequently happens.
  • the ground truth bounding boxes of an object class may contain different amount of object parts and thus different bounding box sizes. Without a region larger than the ground truth as input, it is confusing for the network to decide the bounding box size. As shown in Fig.
  • the ground truth box for a standing un-occluded person should cover more parts of human body than the one with legs occluded.
  • CNN should output a smaller box if occluded, but a larger box otherwise. CNN can handle this difficulty when the input contains a larger region than the ground truth.
  • multiple scales of contextual regions are used as the input for CNN.
  • 4 scales for cropping images 0.8, 1.2, 1.8, 2.7, which are linear in log scale are used.
  • 1.2 are set as default value.
  • the cropped image with scale 2.7 has been proved to be sufficient in covering most of the ground-truth regions when the overlap between the window and the object is greater than 0.5. Even if the overlap between the candidate bounding box and ground truth bounding box is 0.37, the cropped image with scale 2.7 is able to cover more than 50%of the ground truth region.
  • 1.8 is obtained by linear interpolation between 1.2 and 2.7 in log scale.
  • 0.8 is chosen because some candidate bounding boxes can be larger than the ground truth bounding box, as shown by the first image in Fig. 6. A cropped image with a smaller scale can help these windows to fit the actual scale of the object.
  • the system 7000 for classifying objects in images may include a general purpose computer, a computer cluster, a mainstream computer, a computing device dedicated for providing online contents, or a computer network comprising a group of computers operating in a centralized or distributed fashion.
  • the system 7000 may include one or more processors (processors 702, 704, 706 etc. ) , a memory 712, a storage device 716, a communication interface 714, and a bus to facilitate information exchange among various components of system 7000.
  • Processors 702-706 may include a central processing unit ( “CPU” ) , a graphic processing unit ( “GPU” ) , or other suitable information processing devices. Depending on the type of hardware being used, processors 702-706 can include one or more printed circuit boards, and/or one or more microprocessor chips. Processors 702-706 can execute sequences of computer program instructions to perform various methods or run the modules that implement the function for classifying objects in images.
  • CPU central processing unit
  • GPU graphic processing unit
  • Memory 712 can include, among other things, a random access memory ( “RAM” ) and a read-only memory ( “ROM” ) .
  • Computer program instructions can be stored, accessed, and read from memory 712 for execution by one or more of processors 702-706.
  • memory 712 may store one or more software applications.
  • memory 712 may store an entire software application or only a part of a software application that is executable by one or more of processors 702-706 to carry out the functions as disclosed above for classifying objects in images. It is noted that although only one block is shown in Fig. 7, memory 712 may include multiple physical devices installed on a central computing device or on different computing devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

Disclosed is a method for classifying objects in images, comprising: obtaining at least one candidate bounding box for each of the images, wherein each candidate bounding box contains one object to be classified; extracting appearance features from the each candidate bounding box; calculating n-classifying scores for each candidate box based on the extracted appearance features; and classifying objects in each candidate bounding box into one of n classes, where n is integer greater than 1.

Description

A METHOD AND A SYSTEM FOR CLASSIFYING OBJECTS IN IMAGES Technical Field
The disclosures relate to a method and a system for classifying objects in images.
Background
The aim of object detection is to detect instances of object of a certain class in digital images and videos. The performance of object detection systems depends heavily on image representation, of which the quality can be influenced by many kinds of variations, such as viewpoints, illuminations, poses, and occlusions. Due to such uncontrollable factors, it is non-trivial to design robust image representation that is sufficiently discriminative to represent large quantity of object classes.
Substantial efforts have been dedicated to design hand-crafted features. Typically, object detection based on hand-drafted features involves extracting multiple features on the landmarks of images with multiple scales, and concatenating them into high-dimensional feature vectors.
Deep Convolutional Neural Network (CNN) has been applied to learn features directly from raw pixels. For the object detection task, existing deep CNN learning methods pre-train the CNN by using images without bounding box ground truth, and subsequently fine-tune the deep neural net using another set of images with bounding box ground truth. Typically, the image set used for fine-tuning has lower quantity of semantic class numbers compared to the image set used for pre-training. In addition, the number of semantic classes in image set for fine-tuning equals the number of actual classes to be detect.
Summary
The following presents a simplified summary of the disclosure in order to provide a  basic understanding of some aspects of the disclosure. This summary is not an extensive overview of the disclosure. It is intended to neither identify key or critical elements of the disclosure nor delineate any scope of particular embodiments of the disclosure, or any scope of the claims. Its sole purpose is to present some concepts of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
In an aspect, disclosed is a method for classifying objects in images, comprising: obtaining at least one candidate bounding box for each of the images, wherein each candidate bounding box contains one object to be classified; extracting appearance features from the each candidate bounding box; calculating n-classifying scores for each candidate box based on the extracted appearance features; and classifying objects in each candidate bounding box into one of n classes, where n is integer greater than 1.
In another aspect of the present application, disclosed is method for classifying objects in images, comprising: means for obtaining at least one candidate bounding box for each of the images, wherein each candidate bounding box contains one object to be classified; means for extracting appearance features from the each candidate bounding box; means for calculating n-classifying scores for each candidate box based on the extracted appearance features; and means for classifying objects in each candidate bounding box into one of n classes, where n is integer greater than 1.
In another aspect of the present application, disclosed is a system for classifying objects in images, comprising: a memory that stores executable components; and a processor that executes the executable components to perform operations of the system, the executable components comprise: obtaining at least one candidate bounding box for each of the images, wherein each candidate bounding box contains one object to be classified; extracting appearance features from the each candidate bounding box; calculating n-classifying scores for each candidate box based on the extracted appearance features; and classifying objects in each candidate bounding box into one of n classes, where n is integer greater than 1.
In one embodiment of the present application, the appearance features are extracted from the each candidate bounding box by using a feature learning CNN. The CNN may be trained by steps of: training a second CNN with a first output layer having a first number of nodes, and a second output layer having integral-multiple-times (for example, 4 times) of the first number of nodes; initializing a third CNN with neuro parameters of the trained second CNN; training the third CNN with a set of fine-tuning images; adding a second number of output layers for the trained third CNN, wherein each of the second number of output layer is used for n-classes classification; initializing a fourth CNN with neuro parameters of the third CNN; replacing an output layer of the fourth CNN with a new output layer with n nodes; and fine-tuning the forth CNN with the set of fine-tuning images to obtain the feature learning CNN.
For example, the second CNN may be trained by: initializing the second CNN with neuro parameters of a first CNN pre-trained with a set of pre-training images; replacing, with two new layers, an output layer of the second CNN; and training the second CNN with the set of fine-tuning images.
In one embodiment of the present application, each of the pre-training images may have at least one ground truth bounding box, and each of the fine-training images may have at least one ground truth bounding box and at least one candidate bounding box.
In one embodiment of the present application, the first number may be determined by clustering the fine-training images according to relative locations and size relationships of each candidate bounding box and the corresponding ground truth box in each of the fine-training images.
In one embodiment of the present application, the second number may be determined by clustering the set of fine-training images according to relative locations and size relationships of the ground truth boxes in each of the fine-training images.
Brief Description of the Drawing
Exemplary non-limiting embodiments of the present invention are described below with reference to the attached drawings. The drawings are illustrative and generally not to an exact scale. The same or similar elements on different figures are referenced with the same reference numbers.
Fig. 1 illustrates method for classifying objects in images according to an embodiment of the present application.
Fig. 2 is a flowchart illustrates a method for training the feature learning CNN.
Fig. 3 illustrates an example CNN according to the present application.
Fig. 4 and 5 illustrates exemplary images presenting the difficulty to tell object category or where the ground truth bounding box is if the only the image region within the candidate window is provided.
Fig. 6 illustrates exemplary images of window-object relationship clusters obtained. 
Fig. 7 illustrates a system for classifying objects in images according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to some specific embodiments of the invention including the best modes contemplated by the inventors for carrying out the invention. Examples of these specific embodiments are illustrated in the accompanying drawings. While the invention is described in conjunction with these specific embodiments, it will be understood that it is not intended to limit the invention to the described embodiments. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims. In the  following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. The present invention may be practiced without some or all of these specific details. In other instances, well-known process operations have not been described in detail in order not to unnecessarily obscure the present invention.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms ″a″ , ″an″ and ″the″ are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms ″comprises″ and/or ″comprising, ″ when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Fig. 1 illustrates method 1000 for classifying objects in images according to an embodiment of the present application.
As shown, at step S101, at least one candidate bounding box are obtained for each of the images, wherein each candidate bounding box contains one object to be classified. At step S102, one or more appearance features are extracted from the each candidate bounding box. At step S103, n-classifying scores are calculated for each candidate box based on the extracted appearance features. At step S104, objects in each candidate bounding box are classified into one of n classes, where n is integer greater than 1.
The extracted appearance features in step S102 are used to classify each candidate window, for example by C binary-class Support Vector Machine (SVM) detectors, each of which predicts one value for one candidate bounding box for one semantic object class. The score of each SVM detector measures the confidence on the candidate window containing a specific object class. The feature extracting step S102 can be performed with a feature learning CNN which will be described in detail below.
The feature learning CNN
Fig. 2 is a flowchart illustrates a method 2000 for training the feature learning CNN.
As shown in Fig. 2, at step S201, a first CNN is pre-trained with a set of pre-training images. At step S202, a second CNN is initialized with the neuro parameters of the pre-trained first CNN. At step S203, the output layer of the second CNN is replaced with two new layers, wherein one of the new output layer has c nodes, and the other output layer having 4c nodes. At step S204, the second CNN are trained with the set of fine-tuning images.
In one embodiment of the application, each of the pre-training images has at least one ground truth bounding box, and each of the fine-training images has at least one ground truth bounding box and at least one candidate bounding box. In the context of the application, for example, a candidate bounding box may contain the left/right half of a person if the candidate bounding box is at the left/right of the person. As the other examples, the candidate bounding box may contain the upper body or the legs of the person or the whole body. Compared with the ground truth bounding box, the candidate bounding box may have a larger scale with more background regions included or have a smaller scale with only part of the object included. The relationship between the candidate bounding box and the ground truth bounding box of the object, which is called the candidate-ground truth relationship in this application, provide rich information. The candidate-ground truth relationship is available with the locations and sizes of the candidate bounding box and the ground truth bounding box.
The two new output layers of the second CNN consist of a c-classes classification and a 4c regression. The label for the c-classes classification is the cluster index for each box proposal. The label for the 4c regression is the lloc for each cluster. The value of c is determined by clustering the fine-training images according to relative locations and size relationships of each candidate bounding box and the corresponding ground truth box in each of the fine-training images.
For example, the overlaps between the candidate bounding box and the ground truth bounding box thereof are calculated. Those samples with overlap larger than 0.5 are assigned a positive label. Others are assigned a negative label. The loss function for training the network will take the assigned label to calculate loss for each sample. And the goal of back-propagation procedure is to minimize the loss function for all samples.
The relative location and size is formulated as
lloc= [ (xs-xg) /Ws, (ys-yg) /Hs, log (Ws/Wg) , log (Hs/Hg) ]   equation (1)
wherein, (xs, ys) denotes the center coordinate of the candidate bounding box; (Ws, Hs) denotes width and height of a box proposal; (xg, yg) denotes the center coordinate of the ground truth bounding box; and (Wg, Hg) denotes the width and height of the ground truth bounding box.
At step S205, a third CNN is initialized with neuro parameters of the trained second CNN. At step S206, the third CNN is trained with a set of fine-tuning images. At step S207, k output layers are added for the trained third CNN, wherein each of the second number of output layer is used for n-classes classification.
At step S208, a fourth CNN with neuro parameters of the pre-trained third CNN is initialized. At step S209, an output layer of the fourth CNN is replaced with a new output layer with n nodes. At step S210, the forth CNN is fine-tuned with the set of fine-tuning images to obtain the feature learning CNN.
In one embodiment of the application, the value of k is determined by clustering the set of fine-training images according to relative locations and size relationships of the ground truth boxes in each of the fine-training images, which can be formulated as:
lloc’= [ (xg1-xg2) /Wg1, (yg1-yg2) /Hg1, log (Wg1/Wg2) , log (Hg1/Hg2) ]   equation (2)
wherein, (xg1, yg1) denotes the center coordinate of the first ground truth box; (Wg1, Hg1) denotes width and height of the first ground truth box; (xg2, yg2) denotes the center coordinate of the second ground truth box; and (Wg2, Hg2) denotes the width and height of the second ground truth box.
Fig 3 shows an example CNN according to the present application. As shown, the CNN structure consists of a data layers, several polling layers, convolutional layers and fully connected layers.
The data layer receives images
Figure PCTCN2015094572-appb-000001
and its labels
Figure PCTCN2015094572-appb-000002
where xi, j is the j-th bit value of the d-dimension feature vector of the i-th input image region, yi, j is the j-th bit value of the n dimension label vector of the i-th input image region.
The convolution layer receives the output from the data layer and performs convolution, padding, sampling, and non-linear transformation operations.
The fully connected layer takes the fully connected layer takes the output from the convolution layer and performs inner-product operation. It aims to project the input to final prediction. This prediction can be the probability for each class, and can also be the relative location.
The trained CNN can be back-propagated with any known art for neural network training. The training process can try to minimize the loss function and can be divided into many updating steps in which the algorithm calculates the gradient with respect to all the neural network parameters, including the convolution filters, deformational layer weights, fully connected weights, and bias. Updates of the parameters can be performed using the production of one prefixed learning rate and the corresponding gradients.
In one embodiment of the application, the candidate windows for extracting appearance features are processed as following.
Firstly, for the candidate window bs= (x, y, W, H) with size (W, H) and center (x, y) , crop images I (λ, bs) with sizes (λW, λH) , λ∈Λ and center (x, y) . The cropped images and the candidate window have the same center location (x, y) . λ is the scale of contextual region. Choice of the scale set Λ will be discussed in detailed later.
Secondly, the cropped image are rotated by degrees r∈R to obtain I (r, λ, bs) , for example, the value of R can be R= {0°, 45°, 90°} .
Thirdly, the cropped images I (r, λ, bs) with different sizes and rotations are warped into the same size and treated as the input of the feature learning CNN for extracting their features, i.e., fr, λ= f (r, λ, I (r, λ, bs) ) where f (r, λ, *) denotes the CNN for extracting features from I (r, λ, bs) , fr, λ denotes the vector of features extracted for rotation r and scale λ. In one embodiment of the application, for the candidate window bs, there are six cropped images I (r, λ, bs) with (r, λ) being (0°, 0.8) , (0 , 1.2) , (45°, 1.2) , (90°, 1.2) , (0°, 1.8) , and (0°, 2.7) . To be understand, the approaches of the application is not constrained to network structure.
Finally, the extracted features are then concatenated into F=concat (r, λ) {fr, λ} , where concat (r, λ) is the operation for concatenating features into a vector.
When the location and size of the candidate bounding box is different from that of the ground truth bounding box, the candidate bounding box only have partial visual content of the object. The limited view results in difficulty for CNN to figure out the visual difference between object classes. For example, it is hard to tell whether it is an ipod or a monitor if one can only see the screen, but it becomes much easier if the whole object and its contextual region is provided, as shown in Fig. 4. As another problem, occlusion frequently happens. Thus the ground truth bounding boxes of an object class may contain different amount of object parts and thus different bounding box sizes. Without a region larger than the ground truth as input, it is confusing for the network to decide the bounding box size. As shown in  Fig. 5, the ground truth box for a standing un-occluded person should cover more parts of human body than the one with legs occluded. When the image cropped from candidate bounding box only covers the upper body of this person, it is difficult to predict whether the person’s legs are occluded or not. CNN should output a smaller box if occluded, but a larger box otherwise. CNN can handle this difficulty when the input contains a larger region than the ground truth.
To handle the problems above, multiple scales of contextual regions are used as the input for CNN. In one embodiment of the application, 4 scales for cropping images, 0.8, 1.2, 1.8, 2.7, which are linear in log scale are used. 1.2 are set as default value. The cropped image with scale 2.7 has been proved to be sufficient in covering most of the ground-truth regions when the overlap between the window and the object is greater than 0.5. Even if the overlap between the candidate bounding box and ground truth bounding box is 0.37, the cropped image with scale 2.7 is able to cover more than 50%of the ground truth region. 1.8 is obtained by linear interpolation between 1.2 and 2.7 in log scale. 0.8 is chosen because some candidate bounding boxes can be larger than the ground truth bounding box, as shown by the first image in Fig. 6. A cropped image with a smaller scale can help these windows to fit the actual scale of the object.
In the case that the method for classifying objects in images as disclosed above is implemented with software, the system 7000 for classifying objects in images may include a general purpose computer, a computer cluster, a mainstream computer, a computing device dedicated for providing online contents, or a computer network comprising a group of computers operating in a centralized or distributed fashion. As shown in Fig. 7, the system 7000 may include one or more processors ( processors  702, 704, 706 etc. ) , a memory 712, a storage device 716, a communication interface 714, and a bus to facilitate information exchange among various components of system 7000. Processors 702-706 may include a central processing unit ( “CPU” ) , a graphic processing unit ( “GPU” ) , or other suitable information processing devices. Depending on the type of hardware being used, processors  702-706 can include one or more printed circuit boards, and/or one or more microprocessor chips. Processors 702-706 can execute sequences of computer program instructions to perform various methods or run the modules that implement the function for classifying objects in images.
Memory 712 can include, among other things, a random access memory ( “RAM” ) and a read-only memory ( “ROM” ) . Computer program instructions can be stored, accessed, and read from memory 712 for execution by one or more of processors 702-706. For example, memory 712 may store one or more software applications. Further, memory 712 may store an entire software application or only a part of a software application that is executable by one or more of processors 702-706 to carry out the functions as disclosed above for classifying objects in images. It is noted that although only one block is shown in Fig. 7, memory 712 may include multiple physical devices installed on a central computing device or on different computing devices.
Although the preferred examples of the present invention have been described, those skilled in the art can make variations or modifications to these examples upon knowing the basic inventive concept. The appended claims are intended to be considered as comprising the preferred examples and all the variations or modifications fell into the scope of the present invention.
Obviously, those skilled in the art can make variations or modifications to the present invention without departing the spirit and scope of the present invention. As such, if these variations or modifications belong to the scope of the claims and equivalent technique, they may also fall into the scope of the present invention.

Claims (21)

  1. A method for classifying objects in images, comprising:
    obtaining at least one candidate bounding box for each of the images, wherein each candidate bounding box contains one object to be classified;
    extracting appearance features from the each candidate bounding box;
    calculating n-classifying scores for each candidate box based on the extracted appearance features; and
    classifying objects in each candidate bounding box into one of n classes, where n is integer greater than 1.
  2. The method of claim 1, wherein the extracting is performed with a feature learning CNN trained by steps of:
    training a second CNN with a first output layer having a first number of nodes, and a second output layer having integral-multiple-times of the first number of nodes;
    initializing a third CNN with neuro parameters of the trained second CNN;
    training the third CNN with a set of fine-tuning images;
    adding a second number of output layers for the trained third CNN, wherein each of the second number of output layer is used for n-classes classification;
    initializing a fourth CNN with neuro parameters of the third CNN;
    replacing an output layer of the fourth CNN with a new output layer with n nodes; and
    fine-tuning the forth CNN with the set of fine-tuning images to obtain the feature learning CNN.
  3. The method of claim 2, wherein the second CNN is trained by:
    initializing the second CNN with neuro parameters of a first CNN pre-trained with a set of pre-training images;
    replacing, with two new neuro layers, an output layer of the second CNN; and
    training the second CNN with the set of fine-tuning images.
  4. The method of claim 3, wherein each of the pre-training images has at least one ground truth bounding box, and each of the fine-training images has at least one ground truth bounding box and at least one candidate bounding box.
  5. The method of claim 4, wherein the first number is determined by clustering the fine-training images according to relative locations and size relationships of each candidate bounding box and the corresponding ground truth box in each of the fine-training images.
  6. The method of claim 4, wherein the second number is determined by clustering the set of fine-training images according to relative locations and size relationships of the ground truth boxes in each of the fine-training images.
  7. The method of claim 4, further comprising:
    calculating a loss function based on overlaps between the ground truth bounding boxes and the corresponding candidate bounding boxes in each of the fine-training images; and
    back-propagating at least one of the first CNN, the second CNN and the third CNN until the loss function is minimized so as to solidify neuro parameters for the first, second and third CNNs.
  8. The method of claim 1, wherein, the method further comprises before the extracting:
    cropping each of the candidate bounding boxes; and
    rotating the cropped boxes.
  9. The method of claim 1, wherein, the method further comprises before the extracting:
    scaling each of the candidate bounding boxes with a factor before extracting features.
  10. A system for classifying objects in images, comprising:
    means for obtaining at least one candidate bounding box for each of the images, wherein each candidate bounding box contains one object to be classified;
    means for extracting appearance features from the each candidate bounding box;
    means for calculating n-classifying scores for each candidate box based on the extracted appearance features; and
    means for classifying objects in each candidate bounding box into one of n classes, where n is integer greater than 1.
  11. The system of claim 10, wherein the means for extracting comprises a feature learning CNN trained by steps of:
    training a second CNN with a first output layer having a first number of nodes, and a second output layer having 4 times of the first number of nodes;
    initializing a third CNN with neuro parameters of the trained second CNN;
    training the third CNN with a set of fine-tuning images;
    adding a second number of output layers for the trained third CNN, wherein each of the second number of output layer is used for n-classes classification;
    initializing a fourth CNN with neuro parameters of the third CNN;
    replacing an output layer of the fourth CNN with a new output layer with n nodes; and
    fine-tuning the forth CNN with the set of fine-tuning images to obtain the feature learning CNN.
  12. The system of claim 11, wherein the second CNN is trained by:
    initializing the second CNN with neuro parameters of a first CNN pre-trained with a set of pre-training images;
    replacing, with two new layers, an output layer of the second CNN; and
    training the second CNN with the set of fine-tuning images.
  13. The system of claim 12, wherein each of the pre-training images has at least one ground truth bounding box, and each of the fine-training images has at least one ground truth bounding box and at least one candidate bounding box.
  14. The system of claim 13, wherein the first number is determined by clustering the fine-training images according to relative locations and size relationships of each candidate bounding box and the corresponding ground truth box in each of the fine-training images.
  15. The system of claim 13, wherein the second number is determined by clustering the set of fine-training images according to relative locations and size relationships of the ground truth boxes in each of the fine-training images.
  16. The system of claim 12, further comprising:
    means for calculating a loss function based on overlaps between the ground truth bounding boxes and the corresponding candidate bounding boxes in each of the fine-training images; and
    means for back-propagating at least one of the first CNN, the second CNN and the third CNN until the loss function is minimized so as to solidify neuro parameters for the first, second and third CNNs.
  17. The system of claim 10, further comprising:
    means for cropping each of the candidate bounding boxes before the extracting; and
    means for rotating the cropped boxes.
  18. The system of claim 10, further comprising:
    means for, before the extracting, scaling each of the candidate bounding boxes with a factor before extracting features.
  19. A system for classifying objects in images, comprising:
    a memory that stores executable components; and
    a processor that executes the executable components to:
    obtain at least one candidate bounding box for each of the images, wherein each candidate bounding box contains one object to be classified;
    extract appearance features from the each candidate bounding box;
    calculate n-classifying scores for each candidate box based on the extracted appearance features; and
    classify objects in each candidate bounding box into one of n classes, where n is integer greater than 1.
  20. The system of claim 19, wherein the means for extracting comprises a feature learning CNN trained by steps of:
    training a second CNN with a first output layer having a first number of nodes, and a second output layer having 4 times of the first number of nodes;
    initializing a third CNN with neuro parameters of the trained second CNN;
    training the third CNN with a set of fine-tuning images;
    adding a second number of output layers for the trained third CNN, wherein each of the second number of output layer is used for n-classes classification;
    initializing a fourth CNN with neuro parameters of the third CNN;
    replacing an output layer of the fourth CNN with a new output layer with n nodes; and
    fine-tuning the forth CNN with the set of fine-tuning images to obtain the feature learning CNN.
  21. The system of claim 20, wherein the second CNN is trained by:
    initializing the second CNN with neuro parameters of a first CNN pre-trained with a set of pre-training images;
    replacing, with two new layers, an output layer of the second CNN; and
    training the second CNN with the set of fine-tuning images.
PCT/CN2015/094572 2015-11-13 2015-11-13 A method and a system for classifying objects in images Ceased WO2017079972A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201580085497.4A CN108475339B (en) 2015-11-13 2015-11-13 Method and system for classifying objects in an image
PCT/CN2015/094572 WO2017079972A1 (en) 2015-11-13 2015-11-13 A method and a system for classifying objects in images

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/094572 WO2017079972A1 (en) 2015-11-13 2015-11-13 A method and a system for classifying objects in images

Publications (1)

Publication Number Publication Date
WO2017079972A1 true WO2017079972A1 (en) 2017-05-18

Family

ID=58694612

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/094572 Ceased WO2017079972A1 (en) 2015-11-13 2015-11-13 A method and a system for classifying objects in images

Country Status (2)

Country Link
CN (1) CN108475339B (en)
WO (1) WO2017079972A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110097583A (en) * 2018-01-31 2019-08-06 腾讯科技(深圳)有限公司 Picture screening technique and device
WO2020060895A1 (en) * 2018-09-18 2020-03-26 Alibaba Group Holding Limited Method and apparatus for vehicle damage identification
CN116109883A (en) * 2022-12-30 2023-05-12 浙江大华技术股份有限公司 Model training method, image processing method, device and readable storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101701916A (en) * 2009-12-01 2010-05-05 中国农业大学 A method for rapid identification and identification of corn varieties
CN103093214A (en) * 2013-02-01 2013-05-08 浙江捷尚视觉科技有限公司 Pedestrian detection method based on on-board infrared camera
US20140126773A1 (en) * 2012-11-05 2014-05-08 Toshiba Tec Kabushiki Kaisha Commodity recognition apparatus and commodity recognition method
CN103824049A (en) * 2014-02-17 2014-05-28 北京旷视科技有限公司 Cascaded neural network-based face key point detection method
CN103824054A (en) * 2014-02-17 2014-05-28 北京旷视科技有限公司 Cascaded depth neural network-based face attribute recognition method
US20140241623A1 (en) * 2013-02-22 2014-08-28 Nec Laboratories America, Inc. Window Dependent Feature Regions and Strict Spatial Layout for Object Detection

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8068654B2 (en) * 2007-02-02 2011-11-29 Siemens Akteingesellschaft Method and system for detection and registration of 3D objects using incremental parameter learning

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101701916A (en) * 2009-12-01 2010-05-05 中国农业大学 A method for rapid identification and identification of corn varieties
US20140126773A1 (en) * 2012-11-05 2014-05-08 Toshiba Tec Kabushiki Kaisha Commodity recognition apparatus and commodity recognition method
CN103093214A (en) * 2013-02-01 2013-05-08 浙江捷尚视觉科技有限公司 Pedestrian detection method based on on-board infrared camera
US20140241623A1 (en) * 2013-02-22 2014-08-28 Nec Laboratories America, Inc. Window Dependent Feature Regions and Strict Spatial Layout for Object Detection
CN103824049A (en) * 2014-02-17 2014-05-28 北京旷视科技有限公司 Cascaded neural network-based face key point detection method
CN103824054A (en) * 2014-02-17 2014-05-28 北京旷视科技有限公司 Cascaded depth neural network-based face attribute recognition method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DE CHENG ET AL.: "Cascade Object Detection with Complementary Features and Algorithms", PROCEEDINGS OF THE 2015 IEEE 9TH INTERNATIONAL CONFERENCE ON SEMANTIC COMPUTING ( IEEE ICSC 2015, 9 February 2015 (2015-02-09), pages 32 - 39, XP055380695 *
ERJIN ZHOU ET AL.: "Extensive Facial Landmark Localization with Coarse-to-fine Convolutional Network Cascade", 2013 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION WORKSHOPS, 31 December 2013 (2013-12-31), pages 386 - 391, XP032575659 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110097583A (en) * 2018-01-31 2019-08-06 腾讯科技(深圳)有限公司 Picture screening technique and device
CN110097583B (en) * 2018-01-31 2022-07-22 腾讯科技(深圳)有限公司 Picture screening method and device
WO2020060895A1 (en) * 2018-09-18 2020-03-26 Alibaba Group Holding Limited Method and apparatus for vehicle damage identification
US10691982B2 (en) 2018-09-18 2020-06-23 Alibaba Group Holding Limited Method and apparatus for vehicle damage identification
US10853699B2 (en) 2018-09-18 2020-12-01 Advanced New Technologies Co., Ltd. Method and apparatus for vehicle damage identification
EP3776408A1 (en) * 2018-09-18 2021-02-17 Advanced New Technologies Co., Ltd. Method and apparatus for vehicle damage identification
CN116109883A (en) * 2022-12-30 2023-05-12 浙江大华技术股份有限公司 Model training method, image processing method, device and readable storage medium

Also Published As

Publication number Publication date
CN108475339B (en) 2022-08-02
CN108475339A (en) 2018-08-31

Similar Documents

Publication Publication Date Title
US12367705B2 (en) Occlusion detection
US20190279014A1 (en) Method and apparatus for detecting object keypoint, and electronic device
EP3028184B1 (en) Method and system for searching images
CN110852349B (en) An image processing method, detection method, related equipment and storage medium
US20210319565A1 (en) Target detection method, apparatus and device for continuous images, and storage medium
US8880563B2 (en) Image search by query object segmentation
WO2016054779A1 (en) Spatial pyramid pooling networks for image processing
EP2955645A1 (en) System for automated segmentation of images through layout classification
CN112966691A (en) Multi-scale text detection method and device based on semantic segmentation and electronic equipment
TWI701608B (en) Neural network system, method and device for image matching and positioning
WO2020077858A1 (en) Video description generation method based on neural network, and medium, terminal and apparatus
CN111814653B (en) Method, device, equipment and storage medium for detecting abnormal behavior in video
Yu et al. A new shadow removal method using color-lines
CN105224935A (en) A kind of real-time face key point localization method based on Android platform
JP6633476B2 (en) Attribute estimation device, attribute estimation method, and attribute estimation program
Bourouis et al. Color object segmentation and tracking using flexible statistical model and level-set
EP4086848B1 (en) Method and apparatus with object tracking using dynamic field of view
Hameed et al. Content based image retrieval based on feature fusion and support vector machine
US8467607B1 (en) Segmentation-based feature pooling for object models
Liu et al. Scale invariant fully convolutional network: detecting hands efficiently
CN108475339B (en) Method and system for classifying objects in an image
CN107527348A (en) Conspicuousness detection method based on multi-scale division
Li et al. Aggregating complementary boundary contrast with smoothing for salient region detection
US20190377823A1 (en) Unsupervised classification of documents using a labeled data set of other documents
Pöllabauer et al. Fast gdrnpp: improving the speed of state-of-the-art 6d object pose estimation

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: 15908102

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: 15908102

Country of ref document: EP

Kind code of ref document: A1