US20130070997A1 - Systems, methods, and media for on-line boosting of a classifier - Google Patents
Systems, methods, and media for on-line boosting of a classifier Download PDFInfo
- Publication number
- US20130070997A1 US20130070997A1 US13/621,837 US201213621837A US2013070997A1 US 20130070997 A1 US20130070997 A1 US 20130070997A1 US 201213621837 A US201213621837 A US 201213621837A US 2013070997 A1 US2013070997 A1 US 2013070997A1
- Authority
- US
- United States
- Prior art keywords
- classifier
- feature
- features
- training sample
- classifiers
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000002059 diagnostic imaging Methods 0.000 claims description 11
- 238000002591 computed tomography Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004195 computer-aided diagnosis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 210000002376 aorta thoracic Anatomy 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001493 electron microscopy Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002685 pulmonary effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000012285 ultrasound imaging Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/03—Recognition of patterns in medical or anatomical images
Definitions
- the disclosed subject matter relates to systems, methods, and media for on-line boosting of a classifier.
- a classifier is a mechanism that can be used to perform automatic detection in such applications. Once trained, a classifier can indicate whether an image includes a certain object, such as an anatomic structure. Based on the amount of training, a classifier can exhibit better or worse performance. With an off-line classifier, training must be done in advance of normal use of the classifier, while with an on-line classifier, training can be done concurrently with normal use of the classifier (which training is known as on-line boosting of the classifier). Because of this ability to train, during normal use, and hence continuously improve performance while being used, on-line classifiers are increasing in popularity.
- systems for on-line boosting of a classifier comprising: a hardware processor that is configured to: receive a training sample; for each of a plurality of features, determine a feature value for the training sample and the feature, use the feature value to update a histogram, and determine a threshold for a classifier of the feature; for each of the plurality of features, classify the training sample using, the threshold for the classifier of the feature and calculate an error associated with the classifier; select a plurality of best classifiers from the classifiers; and, for each of the plurality of best classifiers, assign a voting weight to the one of the plurality of best classifiers.
- methods for on-line boosting of a classifier comprising: receiving a training sample using, a hardware processor; for each of a plurality of features, using the hardware processor, determining a feature value for the training sample and the feature, using the feature value to update a histogram, and determining a threshold for a classifier of the feature; for each of the plurality of features, using the hardware processor, classifying, the training sample using the threshold for the classifier of the feature and calculating an error associated with the classifier; selecting, using the hardware processor, a plurality of best classifiers from the classifiers; and for each of the plurality of best classifiers, assigning a voting weight to the one of the plurality of best classifiers using the hardware processor.
- a non-transitory computer-readable media containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for on-line boosting of a classifier comprises: receiving a training sample; for each of a plurality of features, determining a feature value for the training sample and the feature, using the feature value to update a histogram, and determining a threshold for a classifier of the feature; for each of the plurality of features, classifying the training sample using the threshold for the classifier of the feature and calculating an error associated with the classifier; selecting a plurality of best classifiers from the classifiers; and, for each of the plurality of best classifiers, assigning a voting weight to the one of the plurality of best classifiers.
- FIG. 1 is an example of a block diagram of a system for classifying images in accordance with some embodiments of the disclosed subject matter
- FIG. 2 is an example of a flow diagram of a process for updating a classifier in accordance with some embodiments of the disclosed subject matter
- FIG. 3 is an example of pseudo-code for a process for updating a classifier in accordance with some embodiments of the disclosed subject matter.
- FIG. 4 is an example of a block diagram of hardware for a system for classifying images in accordance with some embodiments of the disclosed subject matter.
- FIG. 1 illustrates an example of a system 100 that performs classification in accordance with some embodiments.
- system 100 can be a computer aided detection system.
- an input image 102 (such as a medical imaging image of an anatomic structure) can be received and provided to a detector 104 .
- Detector 104 can be a system including a hardware processor that implements a linear classifier of the form:
- WL j (x) is an output returned by a j th weak learner for image x 102
- ⁇ j is a voting weight of the j th weak learner
- ⁇ denotes the set containing the indices of selected weak learners.
- This linear classifier can have been configured to detect a certain anatomic structure in input image 102 by having been “trained” as described herein. The classifier can then output a “1” if the sample contains the desired certain anatomic structure, otherwise it can return a “ ⁇ 1”.
- the detector may perform a multi-scale search to locate the anatomic structures.
- Verifier 106 can be any suitable mechanism for authoritatively determining whether mage 102 was classified correctly by detector 104 and for specifying a “ground truth” for a desired object (i.e., a true location for the desired object).
- verifier 106 can be a device through which a radiologist inspects the image and determines whether the certain anatomic structure is in fact present and therefore whether the classification is correct. Images that are correctly classified by detector 104 can be output at images 108 . Images that are incorrectly classified by detector 104 can be output as images 110 .
- Images 110 can include the authoritative classification information (i.e., information that indicates the true classification of the images) and the images and information can be provided to an updater 112 for updating the linear classifier in detector 104 .
- Updater 112 can update the linear classifier in any suitable manner, such as that described herein in connection with FIGS. 2 and 3 .
- these mechanisms can be used for automatic detection of anatomic structures using on-line boosting.
- these mechanisms can be used to detect a human pulmonary trunk, a human carina, and a human aortic arch.
- this technology can be used to classify and/or perform detection in any suitable image or in any suitable data, can be used for real-time object detection and/or real-time object tracking, can be used for intelligent video surveillance, content based image retrieval, face and activity recognition, traffic control, and human-computer interfaces, etc.
- the term “image” may refer to multi-dimensional data composed of discrete image elements (e.g., pixels for two-dimensional images and voxels for three-dimensional images).
- the image may be, for example, a medical image of a subject collected using a computer tomography system, a magnetic resonance imaging system, an ultrasound imaging system, or any other medical imaging system or imaging modality known to one of skill in the art.
- the image may also be provided from non-medical contexts, such as, for example, remote sensing systems, electron microscopy systems, etc.
- the methods of the disclosed subject matter are not limited to such images, and can be applied to images of any dimension, e.g., a two-dimensional picture, a three-dimensional volume, or a four-dimensional space.
- the domain of the image is typically a two-dimensional or three-dimensional rectangular array, where each pixel or voxel can be addressed with reference to a set of two or three mutually orthogonal axes.
- FIG. 2 a flow diagram of a process 200 for training a classifier that can be used in some embodiments is shown.
- the process can select a pool of features to be used for classification and set-up corresponding weak learners for the features.
- Any suitable features can be used in some embodiments.
- 2D Haar patterns can be used as features for classification. More particularly, for example, in some embodiments, four 2D Haar patterns at different positions, scales, and aspect ratios (and/or any other variations) can be used to form an initial set of 101,400 (or any other suitable number) features, and from, this set, 1000 (or any other suitable number) features can be randomly selected to form a pool of features.
- 3D Haar patterns, local binary patterns (LBP), histogram of gradients (HOG), SIFT, or any other suitable patterns can be used.
- Each feature in the pool can then be assigned a weak learner.
- Any suitable weak learner can be used in some embodiments.
- a weak learner can be implemented using a decision stump that compares a feature value for a sample and the feature to a threshold for the feature that is dynamically set based on two histograms for the feature: one for positive samples; and one for negative samples.
- a feature value for a feature can be calculated as the sum of the intensities of all sample pixels corresponding to white pixels in the Haar pattern for the feature minus the sum of all sample pixels corresponding to black pixels in the Haar pattern for the feature.
- a range of the feature values for the samples for each feature can be estimated in advance by examining feature values computed from a subset of the samples in some embodiments. Any suitable number of samples can be included in this subset in some embodiments. This subset set can subsequently be discarded and not used in the training the classifier in some embodiments. The estimated range for each feature can then be divided (e.g., equally) into 100 (or any other suitable number) of bins.
- the process can receive a training sample at 206 .
- This training, sample can be received in any suitable manner and from any suitable source for any suitable purpose in any suitable format.
- a training sample can be received from a file, from memory, from a computer network, from a scanner, from a video sensor, from a display or display driver, etc.
- the training sample when used for detection of anatomic structures, can be from medical imaging data, such as computed tomography (CT) scan images or any other suitable medical imaging scan images.
- CT computed tomography
- such sample can be received in at any suitable one or more resolutions, in color, in grayscale, etc.
- positive and negative samples can be extracted and resized to any suitably sized sub-images (such as 25 ⁇ 25 pixel images, for example). Any suitable number of positive and negative samples (such as 4000 each) can be used in some embodiments.
- the positive samples can be selected at, and/or up to some distance away (e.g., such as 5 pixels away) from, the ground truth (i.e., a known-accurate center point) of desired structures, and negative samples can be randomly selected such that the desired structures are not included, in some embodiments.
- histograms of the weak learners can then be updated based on the training sample and new decision thresholds can be calculated, in some embodiments. More particularly, for example, for each feature in the pool of features, when a training sample arrives, the feature's value for the sample can be calculated, and, depending on the sample's label as being a positive sample or a negative sample, the pertinent histogram can be selected, the bin to which the sample belongs can be determined, and the frequency of the associated bin can be updated, in some embodiments. Any training samples whose feature values fall beyond the lower range or the upper range of the bin can be assigned to the first bin or the last bin, respectively, in some embodiments.
- each feature's decision threshold can be defined as the intersection of the positive and negative histograms for that feature. These thresholds are chosen among the histograms bins such that maximum classification rate is obtained.
- Each updated weak learner can then classify the sample and be rewarded or punished with the sample's importance weight ⁇ for a correct or wrong classification, respectively, at 210 , in some embodiments.
- the importance weight ⁇ can initially be set to 1 and can subsequently be updated during the learning process at 216 as described below.
- the rewards and punishments a weak learner receives can be accumulated in ⁇ corr and ⁇ wrong , respectively, and ⁇ corr and ⁇ wrong can be used to calculate the error rate of each weak learner as follows:
- process 200 can select the best weak learner that has not been previously selected as a best weak learner for the present sample, in some embodiments.
- This best weak learner can be selected as the weak learner having the least error rate.
- this best weak learner can be selected as the weak learner having the best Gini index, entropy, sensitivity, specificity, and/or any other characteristic.
- the selected weak learner can then be added to the set ⁇ that contains the best weak learners selected so far. Any suitable number of best weak learners can be selected in some embodiments. For example, in some embodiments, 100 best weak learners can be selected.
- the voting weight can impact the extent to which the selected best weak learner contributes to the final classifier (which is a linear classifier that is a weighted combination of the best weak learners).
- ⁇ n 1 2 ⁇ ln ⁇ ( 1 - error m * error m * ) ,
- the importance weight ⁇ can be updated.
- the importance weight can increase for a wrong classification and decrease for a correct classification.
- the important weight ⁇ can be updated as:
- the importance weight ⁇ can be updated as:
- process 200 can determine at 218 whether another best weak learner is to be selected. This determination can be made on any suitable basis. For example, this determination can be made based on a count (such as 100) of best weak learners selected for the present sample so far. If another best weak learner is to be selected, process 200 can branch back to 212 .
- process 200 can update the final linear classifier at 220 using the selected N best weak learners in some embodiments.
- the final linear classifier can be defined as:
- WL j (x) is the output returned by j th best weak learner for sample x
- ⁇ j is the voting weight of j th best weak learner
- ⁇ denotes the set containing the indices of selected best weak learners.
- process 200 can classify the present sample using the final linear classifier in some embodiments.
- the process can determine whether the present sample was classified correctly in some embodiments. If so, then process 200 can loop back to 206 to receive the next training sample. Otherwise, process 200 can branch to 226 to determine if a final classification attempt limit has been met for the present sample. Any suitable attempt limit, such as five (or any other suitable number) attempts, can be used in some embodiments. If the attempt limit has not been met, then process 200 can loop back to 208 . Otherwise, the process can loop back to 206 .
- FIG. 3 shows an example of pseudo-code corresponding to portions of process 200 of FIG. 2 in accordance with some embodiments.
- any suitable hardware and/or software can be used to perform the mechanisms described herein (such as those illustrated in, and described in connection with, FIGS. 1 , 2 , and 3 ).
- a general purpose device such as a computer or a special purpose device such as a client, a server, etc. can be used to execute software for performing the mechanisms described herein. Any of these general or special purpose devices, such as device 400 of FIG.
- a hardware processor 402 which can be a microprocessor, digital signal processor, a controller, etc.
- memory 404 communication interfaces 406 , a display interface and display 408 , user input devices 410 , a database and/or storage 412 , a communications bus 414 , etc.
- Communications interfaces 406 can enable the hardware and/or software to communicate with other communications networks (e.g., such as the Internet, wired networks, wireless networks, etc.), other equipment (e.g., such as medical scanning (e.g., such as a computed tomography scanner) diagnosis, display, etc. equipment), and/or any other suitable networks, devices, etc.
- communications networks e.g., such as the Internet, wired networks, wireless networks, etc.
- other equipment e.g., such as medical scanning (e.g., such as a computed tomography scanner) diagnosis, display, etc. equipment), and/or any other suitable networks, devices, etc.
- This hardware and/or software can be implemented as part of other equipment (e.g., such as medical scanning (e.g., such as a computed tomography scanner), diagnosis, display, etc. equipment) or can be implemented as stand-alone equipment (which can be coupled to other equipment).
- other equipment e.g., such as medical scanning (e.g., such as a computed tomography scanner), diagnosis, display, etc. equipment
- stand-alone equipment which can be coupled to other equipment
- any suitable computer readable media can be used for storing instructions for performing the processes described herein.
- computer readable media can be transitory or non-transitory.
- non-transitory computer readable media can include media such as magnetic media (such as hard disks, floppy disks, etc.), optical media (such as compact discs, digital video discs, Bin-ray discs, etc.), semiconductor media (such as flash memory, electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media.
- transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- This application claims the benefit of U.S. Provisional Patent Application No. 61/535,933, filed Sep. 16, 2012, which is hereby incorporated by reference herein in its entirety.
- The disclosed subject matter relates to systems, methods, and media for on-line boosting of a classifier.
- Automatic detection of certain content in images and/or other forms of data is of ever-increasing importance for machine vision, security, computer-aided diagnosis and other applications. For example, automated detection of anatomic structures is an important functionality for navigating through large 3D image datasets and supporting computer-aided diagnosis (CAD).
- A classifier is a mechanism that can be used to perform automatic detection in such applications. Once trained, a classifier can indicate whether an image includes a certain object, such as an anatomic structure. Based on the amount of training, a classifier can exhibit better or worse performance. With an off-line classifier, training must be done in advance of normal use of the classifier, while with an on-line classifier, training can be done concurrently with normal use of the classifier (which training is known as on-line boosting of the classifier). Because of this ability to train, during normal use, and hence continuously improve performance while being used, on-line classifiers are increasing in popularity.
- However, known on-line classifiers suffer from many deficiencies. Accordingly, new on-line classifiers are desirable.
- Systems, methods, and media for on-line boosting of a classifier are provided.
- In accordance with some embodiments, systems for on-line boosting of a classifier are provided. The systems comprising: a hardware processor that is configured to: receive a training sample; for each of a plurality of features, determine a feature value for the training sample and the feature, use the feature value to update a histogram, and determine a threshold for a classifier of the feature; for each of the plurality of features, classify the training sample using, the threshold for the classifier of the feature and calculate an error associated with the classifier; select a plurality of best classifiers from the classifiers; and, for each of the plurality of best classifiers, assign a voting weight to the one of the plurality of best classifiers.
- In accordance with various embodiments of the disclosed subject matter, methods for on-line boosting of a classifier are provided. The methods comprising: receiving a training sample using, a hardware processor; for each of a plurality of features, using the hardware processor, determining a feature value for the training sample and the feature, using the feature value to update a histogram, and determining a threshold for a classifier of the feature; for each of the plurality of features, using the hardware processor, classifying, the training sample using the threshold for the classifier of the feature and calculating an error associated with the classifier; selecting, using the hardware processor, a plurality of best classifiers from the classifiers; and for each of the plurality of best classifiers, assigning a voting weight to the one of the plurality of best classifiers using the hardware processor.
- In accordance with some embodiments, a non-transitory computer-readable media containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for on-line boosting of a classifier are provided. The method comprises: receiving a training sample; for each of a plurality of features, determining a feature value for the training sample and the feature, using the feature value to update a histogram, and determining a threshold for a classifier of the feature; for each of the plurality of features, classifying the training sample using the threshold for the classifier of the feature and calculating an error associated with the classifier; selecting a plurality of best classifiers from the classifiers; and, for each of the plurality of best classifiers, assigning a voting weight to the one of the plurality of best classifiers.
- The above and other objects and advantages of the invention will be apparent upon consideration of the following detailed description, taken M conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
-
FIG. 1 is an example of a block diagram of a system for classifying images in accordance with some embodiments of the disclosed subject matter; -
FIG. 2 is an example of a flow diagram of a process for updating a classifier in accordance with some embodiments of the disclosed subject matter; -
FIG. 3 is an example of pseudo-code for a process for updating a classifier in accordance with some embodiments of the disclosed subject matter; and -
FIG. 4 is an example of a block diagram of hardware for a system for classifying images in accordance with some embodiments of the disclosed subject matter. - In describing exemplary embodiments of the disclosed, subject matter illustrated in the drawings, specific terminology may be employed for the sake of clarity. However, the disclosed subject matter is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents which operate in a similar manner.
- Systems, methods, and media for on-line boosting of a classifier are provided,
-
FIG. 1 illustrates an example of asystem 100 that performs classification in accordance with some embodiments. In some embodiments,system 100 can be a computer aided detection system. As illustrated, an input image 102 (such as a medical imaging image of an anatomic structure) can be received and provided to adetector 104.Detector 104 can be a system including a hardware processor that implements a linear classifier of the form: -
F(x)=sign{ΣjεΦαj ×WL j(x)}, - where WLj(x) is an output returned by a jth weak learner for
image x 102, αj is a voting weight of the jth weak learner, and Φ denotes the set containing the indices of selected weak learners. This linear classifier can have been configured to detect a certain anatomic structure ininput image 102 by having been “trained” as described herein. The classifier can then output a “1” if the sample contains the desired certain anatomic structure, otherwise it can return a “−1”. - Because anatomic structures may appear at different scales, the detector may perform a multi-scale search to locate the anatomic structures.
-
Image 102 and its classification (i.e., “1” or “−1”) can then by reviewed by averifier 106.Verifier 106 can be any suitable mechanism for authoritatively determining whethermage 102 was classified correctly bydetector 104 and for specifying a “ground truth” for a desired object (i.e., a true location for the desired object). For example,verifier 106 can be a device through which a radiologist inspects the image and determines whether the certain anatomic structure is in fact present and therefore whether the classification is correct. Images that are correctly classified bydetector 104 can be output atimages 108. Images that are incorrectly classified bydetector 104 can be output asimages 110.Images 110 can include the authoritative classification information (i.e., information that indicates the true classification of the images) and the images and information can be provided to anupdater 112 for updating the linear classifier indetector 104.Updater 112 can update the linear classifier in any suitable manner, such as that described herein in connection withFIGS. 2 and 3 . - In accordance with some embodiments, these mechanisms can be used for automatic detection of anatomic structures using on-line boosting. For example, in some embodiments, these mechanisms can be used to detect a human pulmonary trunk, a human carina, and a human aortic arch.
- Although
system 100 and the mechanisms ofFIGS. 2 , 3, and 4 are described herein in the context of detection of anatomic structures in medical imaging images, it should be apparent to one of ordinary skill in the art that this is just an example of an application of this technology and that this technology can be used for any suitable application. For example, in some embodiments, this technology can be used to classify and/or perform detection in any suitable image or in any suitable data, can be used for real-time object detection and/or real-time object tracking, can be used for intelligent video surveillance, content based image retrieval, face and activity recognition, traffic control, and human-computer interfaces, etc. - As used herein, the term “image” may refer to multi-dimensional data composed of discrete image elements (e.g., pixels for two-dimensional images and voxels for three-dimensional images). The image may be, for example, a medical image of a subject collected using a computer tomography system, a magnetic resonance imaging system, an ultrasound imaging system, or any other medical imaging system or imaging modality known to one of skill in the art. The image may also be provided from non-medical contexts, such as, for example, remote sensing systems, electron microscopy systems, etc. The methods of the disclosed subject matter are not limited to such images, and can be applied to images of any dimension, e.g., a two-dimensional picture, a three-dimensional volume, or a four-dimensional space. For a two-dimensional or three-dimensional image, the domain of the image is typically a two-dimensional or three-dimensional rectangular array, where each pixel or voxel can be addressed with reference to a set of two or three mutually orthogonal axes.
- Turning to
FIG. 2 , a flow diagram of aprocess 200 for training a classifier that can be used in some embodiments is shown. As illustrated, afterprocess 200 begins at 202, the process can select a pool of features to be used for classification and set-up corresponding weak learners for the features. Any suitable features can be used in some embodiments. For example, in some embodiments, 2D Haar patterns can be used as features for classification. More particularly, for example, in some embodiments, four 2D Haar patterns at different positions, scales, and aspect ratios (and/or any other variations) can be used to form an initial set of 101,400 (or any other suitable number) features, and from, this set, 1000 (or any other suitable number) features can be randomly selected to form a pool of features. As another example, in some embodiments, 3D Haar patterns, local binary patterns (LBP), histogram of gradients (HOG), SIFT, or any other suitable patterns, can be used. - Each feature in the pool can then be assigned a weak learner. Any suitable weak learner can be used in some embodiments. For example, in some embodiments, a weak learner can be implemented using a decision stump that compares a feature value for a sample and the feature to a threshold for the feature that is dynamically set based on two histograms for the feature: one for positive samples; and one for negative samples.
- Any suitable feature can be used and the feature value can be calculated in any suitable manner. For example, in some embodiments, when using 2D Haar patterns, a feature value for a feature can be calculated as the sum of the intensities of all sample pixels corresponding to white pixels in the Haar pattern for the feature minus the sum of all sample pixels corresponding to black pixels in the Haar pattern for the feature.
- Because samples can be processed sequentially as described below, the two histograms can be incrementally assembled over time in some embodiments. To form the set of bins in the histograms before processing all samples, a range of the feature values for the samples for each feature can be estimated in advance by examining feature values computed from a subset of the samples in some embodiments. Any suitable number of samples can be included in this subset in some embodiments. This subset set can subsequently be discarded and not used in the training the classifier in some embodiments. The estimated range for each feature can then be divided (e.g., equally) into 100 (or any other suitable number) of bins.
- Next, the process can receive a training sample at 206. This training, sample can be received in any suitable manner and from any suitable source for any suitable purpose in any suitable format. For example, in some embodiments, such a training sample can be received from a file, from memory, from a computer network, from a scanner, from a video sensor, from a display or display driver, etc. As another example, in some embodiments, when used for detection of anatomic structures, the training sample can be from medical imaging data, such as computed tomography (CT) scan images or any other suitable medical imaging scan images. As still another example, such sample can be received in at any suitable one or more resolutions, in color, in grayscale, etc. From such data, positive and negative samples can be extracted and resized to any suitably sized sub-images (such as 25×25 pixel images, for example). Any suitable number of positive and negative samples (such as 4000 each) can be used in some embodiments. The positive samples can be selected at, and/or up to some distance away (e.g., such as 5 pixels away) from, the ground truth (i.e., a known-accurate center point) of desired structures, and negative samples can be randomly selected such that the desired structures are not included, in some embodiments.
- At 208, histograms of the weak learners can then be updated based on the training sample and new decision thresholds can be calculated, in some embodiments. More particularly, for example, for each feature in the pool of features, when a training sample arrives, the feature's value for the sample can be calculated, and, depending on the sample's label as being a positive sample or a negative sample, the pertinent histogram can be selected, the bin to which the sample belongs can be determined, and the frequency of the associated bin can be updated, in some embodiments. Any training samples whose feature values fall beyond the lower range or the upper range of the bin can be assigned to the first bin or the last bin, respectively, in some embodiments. Once the histograms are updated, each feature's decision threshold can be defined as the intersection of the positive and negative histograms for that feature. These thresholds are chosen among the histograms bins such that maximum classification rate is obtained.
- Each updated weak learner can then classify the sample and be rewarded or punished with the sample's importance weight λ for a correct or wrong classification, respectively, at 210, in some embodiments. The importance weight λ can initially be set to 1 and can subsequently be updated during the learning process at 216 as described below. The rewards and punishments a weak learner receives can be accumulated in λcorr and λwrong, respectively, and λcorr and λwrong can be used to calculate the error rate of each weak learner as follows:
-
- where in is an index for the weak learner.
- Next, at 212,
process 200 can select the best weak learner that has not been previously selected as a best weak learner for the present sample, in some embodiments. This best weak learner can be selected as the weak learner having the least error rate. In some embodiments, this best weak learner can be selected as the weak learner having the best Gini index, entropy, sensitivity, specificity, and/or any other characteristic. The selected weak learner can then be added to the set Φ that contains the best weak learners selected so far. Any suitable number of best weak learners can be selected in some embodiments. For example, in some embodiments, 100 best weak learners can be selected. - Once a best weak learner has been chosen, its corresponding voting weight can be computed at 214, in some embodiments. The voting weight can impact the extent to which the selected best weak learner contributes to the final classifier (which is a linear classifier that is a weighted combination of the best weak learners). The voting weight αn (n>=N), corresponding to the nth best weak learner, can be given by
-
- where m* denotes the best weak learner index (m*>=M).
- Next, according to the classification outcome and error rate of the selected best weak learner, the importance weight λ can be updated. The importance weight can increase for a wrong classification and decrease for a correct classification. For example, for a wrong classification, the important weight λ can be updated as:
-
- and for a correct classification, the importance weight λ can be updated as:
-
- in some embodiments.
- After the importance λweight has been updated at 216,
process 200 can determine at 218 whether another best weak learner is to be selected. This determination can be made on any suitable basis. For example, this determination can be made based on a count (such as 100) of best weak learners selected for the present sample so far. If another best weak learner is to be selected,process 200 can branch back to 212. - Otherwise,
process 200 can update the final linear classifier at 220 using the selected N best weak learners in some embodiments. For example, in some embodiments, the final linear classifier can be defined as: -
F(x)=sign{ΣjεΦαj ×WL j(x)} - where WLj(x) is the output returned by jth best weak learner for sample x, αj is the voting weight of jth best weak learner, and Φ denotes the set containing the indices of selected best weak learners. The classifier outputs a “1” if the sample contains the desired object, otherwise it returns a “−1”.
- Next, at 222,
process 200 can classify the present sample using the final linear classifier in some embodiments. - At 224, the process can determine whether the present sample was classified correctly in some embodiments. If so, then process 200 can loop back to 206 to receive the next training sample. Otherwise,
process 200 can branch to 226 to determine if a final classification attempt limit has been met for the present sample. Any suitable attempt limit, such as five (or any other suitable number) attempts, can be used in some embodiments. If the attempt limit has not been met, then process 200 can loop back to 208. Otherwise, the process can loop back to 206. - It should be understood that the above steps of the flow diagrams of
FIG. 2 may be executed or performed in any order or sequence not limited to the order and sequence shown and described in the figure. Also, some of the above steps of the flow diagrams ofFIG. 2 may be executed or performed substantially simultaneously where appropriate or in parallel to reduce latency and processing times. -
FIG. 3 shows an example of pseudo-code corresponding to portions ofprocess 200 ofFIG. 2 in accordance with some embodiments. - In accordance with some embodiments, any suitable hardware and/or software can be used to perform the mechanisms described herein (such as those illustrated in, and described in connection with,
FIGS. 1 , 2, and 3). For example, a general purpose device such as a computer or a special purpose device such as a client, a server, etc. can be used to execute software for performing the mechanisms described herein. Any of these general or special purpose devices, such asdevice 400 ofFIG. 4 , can include any suitable components such as a hardware processor 402 (which can be a microprocessor, digital signal processor, a controller, etc.),memory 404, communication interfaces 406, a display interface anddisplay 408,user input devices 410, a database and/orstorage 412, acommunications bus 414, etc. Communications interfaces 406 can enable the hardware and/or software to communicate with other communications networks (e.g., such as the Internet, wired networks, wireless networks, etc.), other equipment (e.g., such as medical scanning (e.g., such as a computed tomography scanner) diagnosis, display, etc. equipment), and/or any other suitable networks, devices, etc. This hardware and/or software can be implemented as part of other equipment (e.g., such as medical scanning (e.g., such as a computed tomography scanner), diagnosis, display, etc. equipment) or can be implemented as stand-alone equipment (which can be coupled to other equipment). - In some embodiments, any suitable computer readable media can be used for storing instructions for performing the processes described herein. For example, in some embodiments, computer readable media can be transitory or non-transitory. For example, non-transitory computer readable media can include media such as magnetic media (such as hard disks, floppy disks, etc.), optical media (such as compact discs, digital video discs, Bin-ray discs, etc.), semiconductor media (such as flash memory, electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media. As another example, transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.
- Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention, which is limited only by the claims which follow. Features of the disclosed embodiments can be combined and rearranged in various ways.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/621,837 US9330336B2 (en) | 2011-09-16 | 2012-09-17 | Systems, methods, and media for on-line boosting of a classifier |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161535933P | 2011-09-16 | 2011-09-16 | |
US13/621,837 US9330336B2 (en) | 2011-09-16 | 2012-09-17 | Systems, methods, and media for on-line boosting of a classifier |
Publications (2)
Publication Number | Publication Date |
---|---|
US20130070997A1 true US20130070997A1 (en) | 2013-03-21 |
US9330336B2 US9330336B2 (en) | 2016-05-03 |
Family
ID=47880700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/621,837 Expired - Fee Related US9330336B2 (en) | 2011-09-16 | 2012-09-17 | Systems, methods, and media for on-line boosting of a classifier |
Country Status (1)
Country | Link |
---|---|
US (1) | US9330336B2 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150012472A1 (en) * | 2012-02-02 | 2015-01-08 | Arizona Board Of Regents, For And On Behalf Of, Arizona State University | Systems, methods, and media for updating a classifier |
CN104572930A (en) * | 2014-12-29 | 2015-04-29 | 小米科技有限责任公司 | Data classifying method and device |
CN105117738A (en) * | 2015-07-31 | 2015-12-02 | 深圳市哈工大交通电子技术有限公司 | OmapL138 chip-based Haar detection algorithm rapid implementation method |
US9449381B2 (en) | 2012-09-10 | 2016-09-20 | Arizona Board Of Regents, A Body Corporate Of The State Of Arizona, Acting For And On Behalf Of Arizona State University | Methods, systems, and media for generating and analyzing medical images having elongated structures |
US9603554B2 (en) | 2012-02-03 | 2017-03-28 | The Arizona Board Of Regents | Systems, methods, and media for monitoring the condition of a patient's heart |
US9684957B2 (en) | 2011-02-11 | 2017-06-20 | Arizona Board Of Regents, A Body Corporate Of The State Of Arizona, Acting For And On Behalf Of Arizona State University | Systems methods, and media for detecting an anatomical object in a medical device image using a multi-stage classifier |
CN108388920A (en) * | 2018-03-01 | 2018-08-10 | 福州大学 | A kind of Copy of ID Card detection method of fusion HOG and LBPH features |
US10360191B2 (en) * | 2016-10-07 | 2019-07-23 | International Business Machines Corporation | Establishing overlay trust consensus for blockchain trust validation system |
US10610203B2 (en) | 2011-02-11 | 2020-04-07 | The Arizona Board Of Regents On Behalf Of Arizona State University | Methods, systems, and media for determining carotid intima-media thickness |
CN114494772A (en) * | 2022-01-17 | 2022-05-13 | 烽火通信科技股份有限公司 | Unbalanced sample classification method and device |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10956785B2 (en) | 2018-04-27 | 2021-03-23 | Arizona Board Of Regents On Behalf Of Arizona State University | Methods, systems, and media for selecting candidates for annotation for use in training classifiers |
US11164067B2 (en) | 2018-08-29 | 2021-11-02 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems, methods, and apparatuses for implementing a multi-resolution neural network for use with imaging intensive applications including medical imaging |
US11288797B2 (en) | 2020-07-08 | 2022-03-29 | International Business Machines Corporation | Similarity based per item model selection for medical imaging |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060204121A1 (en) * | 2005-03-03 | 2006-09-14 | Bryll Robert K | System and method for single image focus assessment |
US20080027887A1 (en) * | 2006-07-27 | 2008-01-31 | The Government Of The Us, As Represented By The Secretary Of The Navy | System and method for fusing data from different information sources |
US20080205750A1 (en) * | 2007-02-28 | 2008-08-28 | Porikli Fatih M | Method for Adaptively Boosting Classifiers for Object Tracking |
US20080240532A1 (en) * | 2007-03-30 | 2008-10-02 | Siemens Corporation | System and Method for Detection of Fetal Anatomies From Ultrasound Images Using a Constrained Probabilistic Boosting Tree |
US20100202681A1 (en) * | 2007-06-01 | 2010-08-12 | Haizhou Ai | Detecting device of special shot object and learning device and method thereof |
US20120089545A1 (en) * | 2009-04-01 | 2012-04-12 | Sony Corporation | Device and method for multiclass object detection |
US20120274755A1 (en) * | 2011-04-29 | 2012-11-01 | Tata Consultancy Services Limited | System and method for human detection and counting using background modeling, hog and haar features |
US20140185887A1 (en) * | 2011-02-11 | 2014-07-03 | Hong Wu | Systems, Methods, and Media for Detecting an Anatomical Object in a Medical Device Image |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6817982B2 (en) | 2002-04-19 | 2004-11-16 | Sonosite, Inc. | Method, apparatus, and product for accurately determining the intima-media thickness of a blood vessel |
JP4482796B2 (en) | 2004-03-26 | 2010-06-16 | ソニー株式会社 | Information processing apparatus and method, recording medium, and program |
US8900149B2 (en) | 2004-04-02 | 2014-12-02 | Teratech Corporation | Wall motion analyzer |
US7526101B2 (en) | 2005-01-24 | 2009-04-28 | Mitsubishi Electric Research Laboratories, Inc. | Tracking objects in videos with adaptive classifiers |
US7738626B2 (en) | 2005-02-04 | 2010-06-15 | Koninklijke Philips Electronics N.V. | System for the determination of vessel geometry and flow characteristics |
US8280136B2 (en) | 2005-09-16 | 2012-10-02 | The Ohio State University | Method and apparatus for detecting intraventricular dyssynchrony |
US7912278B2 (en) | 2006-05-03 | 2011-03-22 | Siemens Medical Solutions Usa, Inc. | Using candidates correlation information during computer aided diagnosis |
US7894653B2 (en) | 2006-05-23 | 2011-02-22 | Siemens Medical Solutions Usa, Inc. | Automatic organ detection using machine learning and classification algorithms |
DE102006026695A1 (en) | 2006-06-08 | 2007-12-13 | Tomtec Imaging Systems Gmbh | Method, apparatus and computer program product for evaluating dynamic images of a cavity |
US20080009733A1 (en) | 2006-06-27 | 2008-01-10 | Ep Medsystems, Inc. | Method for Evaluating Regional Ventricular Function and Incoordinate Ventricular Contraction |
WO2008041165A2 (en) | 2006-10-03 | 2008-04-10 | Koninklijke Philips Electronics N. V. | Model-based coronary centerline localization |
JP5230106B2 (en) | 2007-01-15 | 2013-07-10 | 富士フイルム株式会社 | Ultrasonic diagnostic apparatus, IMT measurement method, and IMT measurement program |
US8244012B2 (en) | 2007-02-05 | 2012-08-14 | Siemens Medical Solutions Usa, Inc. | Computer aided detection of pulmonary embolism with local characteristic features in CT angiography |
US8442285B2 (en) | 2007-04-02 | 2013-05-14 | The Trustees Of The University Of Pennsylvania | Combined feature ensemble mutual information image registration |
US8126229B2 (en) | 2007-08-03 | 2012-02-28 | Siemens Medical Solutions Usa, Inc. | Reduction of lymph tissue false positives in pulmonary embolism detection |
US20090060307A1 (en) | 2007-08-27 | 2009-03-05 | Siemens Medical Solutions Usa, Inc. | Tensor Voting System and Method |
US8194936B2 (en) | 2008-04-25 | 2012-06-05 | University Of Iowa Research Foundation | Optimal registration of multiple deformed images using a physical model of the imaging distortion |
GB2461558A (en) | 2008-07-03 | 2010-01-06 | Medicsight Plc | Image Segmentation |
US20110270089A1 (en) | 2008-08-05 | 2011-11-03 | Guardsman Scientific, Inc. | System and method for managing a patient |
US8447081B2 (en) | 2008-10-16 | 2013-05-21 | Siemens Medical Solutions Usa, Inc. | Pulmonary emboli detection with dynamic configuration based on blood contrast level |
US9826959B2 (en) | 2008-11-04 | 2017-11-28 | Fujifilm Corporation | Ultrasonic diagnostic device |
US8812431B2 (en) | 2010-02-03 | 2014-08-19 | Siemens Aktiengesellschaft | Method and system for medical decision support using organ models and learning based discriminative distance functions |
US8938105B2 (en) | 2010-10-28 | 2015-01-20 | Kabushiki Kaisha Toshiba | Denoising method and system for preserving clinically significant structures in reconstructed images using adaptively weighted anisotropic diffusion filter |
-
2012
- 2012-09-17 US US13/621,837 patent/US9330336B2/en not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060204121A1 (en) * | 2005-03-03 | 2006-09-14 | Bryll Robert K | System and method for single image focus assessment |
US20080027887A1 (en) * | 2006-07-27 | 2008-01-31 | The Government Of The Us, As Represented By The Secretary Of The Navy | System and method for fusing data from different information sources |
US20080205750A1 (en) * | 2007-02-28 | 2008-08-28 | Porikli Fatih M | Method for Adaptively Boosting Classifiers for Object Tracking |
US20080240532A1 (en) * | 2007-03-30 | 2008-10-02 | Siemens Corporation | System and Method for Detection of Fetal Anatomies From Ultrasound Images Using a Constrained Probabilistic Boosting Tree |
US20100202681A1 (en) * | 2007-06-01 | 2010-08-12 | Haizhou Ai | Detecting device of special shot object and learning device and method thereof |
US20120089545A1 (en) * | 2009-04-01 | 2012-04-12 | Sony Corporation | Device and method for multiclass object detection |
US20140185887A1 (en) * | 2011-02-11 | 2014-07-03 | Hong Wu | Systems, Methods, and Media for Detecting an Anatomical Object in a Medical Device Image |
US20120274755A1 (en) * | 2011-04-29 | 2012-11-01 | Tata Consultancy Services Limited | System and method for human detection and counting using background modeling, hog and haar features |
Non-Patent Citations (1)
Title |
---|
Hong Wu ("Offline and Online Adaboost for Detecting Anatomical Structures" Thesis paper from Arizona State University, August 2011, hereafter referred to as Wu). * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9684957B2 (en) | 2011-02-11 | 2017-06-20 | Arizona Board Of Regents, A Body Corporate Of The State Of Arizona, Acting For And On Behalf Of Arizona State University | Systems methods, and media for detecting an anatomical object in a medical device image using a multi-stage classifier |
US10610203B2 (en) | 2011-02-11 | 2020-04-07 | The Arizona Board Of Regents On Behalf Of Arizona State University | Methods, systems, and media for determining carotid intima-media thickness |
US20150012472A1 (en) * | 2012-02-02 | 2015-01-08 | Arizona Board Of Regents, For And On Behalf Of, Arizona State University | Systems, methods, and media for updating a classifier |
US9152926B2 (en) * | 2012-02-02 | 2015-10-06 | Arizona Board Of Regents On Behalf Of Arizona State University | Systems, methods, and media for updating a classifier |
US9603554B2 (en) | 2012-02-03 | 2017-03-28 | The Arizona Board Of Regents | Systems, methods, and media for monitoring the condition of a patient's heart |
US9449381B2 (en) | 2012-09-10 | 2016-09-20 | Arizona Board Of Regents, A Body Corporate Of The State Of Arizona, Acting For And On Behalf Of Arizona State University | Methods, systems, and media for generating and analyzing medical images having elongated structures |
CN104572930A (en) * | 2014-12-29 | 2015-04-29 | 小米科技有限责任公司 | Data classifying method and device |
CN105117738A (en) * | 2015-07-31 | 2015-12-02 | 深圳市哈工大交通电子技术有限公司 | OmapL138 chip-based Haar detection algorithm rapid implementation method |
US10360191B2 (en) * | 2016-10-07 | 2019-07-23 | International Business Machines Corporation | Establishing overlay trust consensus for blockchain trust validation system |
CN108388920A (en) * | 2018-03-01 | 2018-08-10 | 福州大学 | A kind of Copy of ID Card detection method of fusion HOG and LBPH features |
CN114494772A (en) * | 2022-01-17 | 2022-05-13 | 烽火通信科技股份有限公司 | Unbalanced sample classification method and device |
Also Published As
Publication number | Publication date |
---|---|
US9330336B2 (en) | 2016-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9330336B2 (en) | Systems, methods, and media for on-line boosting of a classifier | |
US9152926B2 (en) | Systems, methods, and media for updating a classifier | |
CN111931684B (en) | Weak and small target detection method based on video satellite data identification features | |
CN110766051A (en) | Lung nodule morphological classification method based on neural network | |
CN105654066A (en) | Vehicle identification method and device | |
CN104751147A (en) | Image recognition method | |
CN102737250A (en) | Method and system for automatic detection of spinal bone lesions in 3d medical image data | |
CN114022830A (en) | Target determination method and target determination device | |
US10929643B2 (en) | 3D image detection method and apparatus, electronic device, and computer readable medium | |
WO2022257314A1 (en) | Image detection method, related training method, related apparatus, device, and medium | |
CN112232371A (en) | American license plate recognition method based on YOLOv3 and text recognition | |
US20170053172A1 (en) | Image processing apparatus, and image processing method | |
Gu et al. | Embedded and real-time vehicle detection system for challenging on-road scenes | |
CN115631397A (en) | Target detection method and device based on bimodal image | |
CN113033305B (en) | Living body detection method, living body detection device, terminal equipment and storage medium | |
CN106548195A (en) | A kind of object detection method based on modified model HOG ULBP feature operators | |
CN107423771B (en) | Two-time-phase remote sensing image change detection method | |
CN110910497B (en) | Method and system for realizing augmented reality map | |
KR102230559B1 (en) | Method and Apparatus for Creating Labeling Model with Data Programming | |
CN109543716B (en) | K-line form image identification method based on deep learning | |
CN116994049A (en) | Full-automatic flat knitting machine and method thereof | |
CN112750124B (en) | Model generation method, image segmentation method, model generation device, image segmentation device, electronic equipment and storage medium | |
KR20210031444A (en) | Method and Apparatus for Creating Labeling Model with Data Programming | |
CN108154107B (en) | Method for determining scene category to which remote sensing image belongs | |
CN113222989A (en) | Image grading method and device, storage medium and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ARIZONA BOARD OF REGENTS, A BODY CORPORATE OF THE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TAJBAKHSH, NIMA;WU, HONG;XUE, WENZHE;AND OTHERS;SIGNING DATES FROM 20130114 TO 20130119;REEL/FRAME:029782/0067 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |