P
US9633449B2ActiveUtilityPatentIndex 73

Apparatus and method for detecting color checker in image

Assignee: FUJITSU LTDPriority: Apr 30, 2014Filed: Apr 29, 2015Granted: Apr 25, 2017
Est. expiryApr 30, 2034(~7.8 yrs left)· nominal 20-yr term from priority
Inventors:WANG SONGMINAGAWA AKIHIROFAN WEISUN JUN
G06V 10/56G06V 10/462G06T 2207/20048G06T 2200/12G06T 2207/30168G06T 7/73G06T 2207/10024G06T 2207/10004G06T 7/90G06T 7/168G06T 7/11G06K 9/4604G06T 7/408G06K 9/4671G06K 9/4652G06K 2009/4657G06T 5/007G06T 5/90
73
PatentIndex Score
2
Cited by
14
References
11
Claims

Abstract

Embodiments provide an apparatus and method for detecting a color checker in an image including: an extracting unit to extract sliding window features of sliding windows at multiple positions from an input image by using a predefined sliding window; a selecting unit to select, by using multiple predefined sliding window templates, a sliding window having a minimum distance from each sliding window template from the sliding windows at the multiple positions as a matched sliding window of the sliding window template; and a determining unit to determine segmentation lines of colored squares of a color checker in the input image according to a matching result of each sliding window template.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. An apparatus for detecting a color checker in an image, comprising:
 a memory that stores a plurality of instructions; and 
 a processor coupled to the memory and configured to execute the instructions to: 
 extract sliding window features of sliding windows at multiple positions from an input image using a predefined sliding window; 
 select, using multiple predefined sliding window templates, a sliding window having a minimum distance from each sliding window template from the sliding windows at the multiple positions as a matched sliding window of the sliding window template; and 
 determine segmentation lines of colored squares of a color checker in the input image according to a matching result of each sliding window template, 
 wherein, the processor is configured to execute the instructions to: scan the whole of the input image point by point by using the predetermined sliding window, extract a feature at each position passed by the predefined sliding window, and take it as the sliding window feature of a sliding window of the predetermined sliding window at the position, 
 the extracted feature is a feature corresponding to a predefined position of the predefined sliding window in the input image; and the sliding window feature of the sliding window of the predefined sliding window at each position includes: a feature vector corresponding to an R channel, a feature vector corresponding to a G channel and a feature vector corresponding to a B channel, 
 the processor is configured to execute the instructions to: determine an intermediate point of each two adjacent colored squares by using positions of pixel points corresponding to the predefined positions of each matched sliding window in the input image; and determine the segmentation lines of the colored squares by using the intermediate points of the colored squares, 
 the processor is configured to execute the instructions to determine the intermediate point of each two adjacent colored squares according to the following formula: 
 
       
         
           
             
               
                 
                   X 
                   m 
                 
                 ≈ 
                 
                   
                     
                       
                         ∫ 
                         
                           X 
                           l 
                         
                       
                       
                         X 
                         r 
                       
                     
                     ⁢ 
                     
                       
                         g 
                         ⁡ 
                         
                           ( 
                           x 
                           ) 
                         
                       
                       ⁢ 
                       x 
                       ⁢ 
                       
                         ⅆ 
                         x 
                       
                     
                   
                   
                     
                       
                         ∫ 
                         
                           X 
                           l 
                         
                       
                       
                         X 
                         r 
                       
                     
                     ⁢ 
                     
                       
                         g 
                         ⁡ 
                         
                           ( 
                           x 
                           ) 
                         
                       
                       ⁢ 
                       
                         ⅆ 
                         x 
                       
                     
                   
                 
               
               ; 
             
           
         
         where, d=g(x)=max(∥{right arrow over (P)}−{right arrow over (L)}∥, ∥{right arrow over (P)}−{right arrow over (R)}∥), {right arrow over (P)}, {right arrow over (L)}, {right arrow over (R)} being RGB color vectors, X l  denotes a position of a pixel point in a first colored square, X m  denotes a position of an intermediate point, and X r , denotes a position of a pixel point in a second colored square. 
       
     
     
       2. The apparatus according to  claim 1 , wherein the processor is configured to execute the instructions to:
 calculate, for each sliding window template, a distance from a sliding window at each position to the sliding window template; and 
 take a sliding window of minimum distance as the matched sliding window of the sliding window template. 
 
     
     
       3. The apparatus according to  claim 2 , wherein
 the processor is further configured to execute the instructions to: 
 filter the sliding windows at the multiple positions using a filter according to the sliding window features of the sliding windows at the multiple positions; and calculates distances from the sliding windows at the remaining positions to the sliding window template. 
 
     
     
       4. The apparatus according to  claim 2 , wherein the processor is configured to execute the instructions to calculate the distance from the sliding window at each position to the sliding window template according to the following formula:
     D=d   R   +d   G   +d   b   =f ( {right arrow over (R)},{right arrow over (R)}   T )+ f ( {right arrow over (G)},{right arrow over (G)}   T )+ f ( {right arrow over (B)},{right arrow over (B)}   T ); 
 where, 
 {right arrow over (R)}, {right arrow over (G)}, {right arrow over (B)} are feature vectors of the R channel, G channel and B channel of the sliding window, respectively; 
 {right arrow over (R)} T , {right arrow over (G)} T , {right arrow over (B)} T  are feature vectors of corresponding R channel, G channel and B channel in the sliding window template, respectively; 
 and 
 
       
         
           
             
               
                 d 
                 = 
                 
                   
                     f 
                     ⁡ 
                     
                       ( 
                       
                         
                           S 
                           -> 
                         
                         , 
                         
                           T 
                           -> 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         arg 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         min 
                       
                       
                         Δ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         s 
                       
                     
                     ⁢ 
                     
                       
                          
                         
                           
                             
                               S 
                               -> 
                             
                             - 
                             
                               Δ 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               s 
                             
                           
                           , 
                           
                             T 
                             -> 
                           
                         
                          
                       
                       2 
                     
                   
                 
               
               , 
             
           
         
       
       {right arrow over (S)} being the feature vector of the R channel, G channel or B channel, of the sliding window, {right arrow over (T)} being a corresponding vector of the R channel, G channel or B channel, in the sliding window template, and ΔS being displacement of {right arrow over (S)}. 
     
     
       5. The apparatus according to  claim 1 , wherein the processor is further configured to execute the instructions to:
 check the colored squares segmented by the segmentation lines, and determine that the colored squares segmented by the segmentation lines are colored squares of the color checker if variance of an area color value of each colored square is less than a first threshold value and a difference of color between different colored squares is less than a second threshold value, if not, replace the predefined sliding window, and extract sliding window features of sliding windows at multiple positions from the input image by using the replaced predefined sliding window, so as to repeat a process of detection. 
 
     
     
       6. A method for detecting a color checker in an image, comprising:
 extracting sliding window features of sliding windows at multiple positions from an input image using a predefined sliding window; 
 selecting, using multiple predefined sliding window templates, a sliding window having a minimum distance from each sliding window template from the sliding windows at the multiple positions as a matched sliding window of the sliding window template; and 
 determining segmentation lines of colored squares of the color checker according to a matching result of each sliding window template, 
 wherein, the extracting sliding window features of sliding windows at multiple positions from an input image by using a predefined sliding window comprises: scanning the whole of the input image point by point by using the predefined sliding window extracting a feature at each position passed by the predefined sliding window, and taking it as the sliding window feature of a sliding window of the predefined sliding window at the position, 
 the extracted features are features corresponding to the predefined positions of the predefined sliding window in the input image; and a sliding window feature of the sliding window of the predefined sliding window at each position includes: a feature vector corresponding to an R channel, a feature vector corresponding to a G channel and a feature vector corresponding to a B channel, 
 the determining segmentation lines of colors squares of the color checker according to a matching result of each sliding window template comprises: determining an intermediate point of every two adjacent colored squares by using positions of pixel points corresponding to the predefined positions of each matched sliding window in the input image; and determining the segmentation lines of the colored squares by using intermediate points of the colored squares, 
 the position of intermediate point of over two adjacent colored squares is determined according to the formula below: 
 
       
         
           
             
               
                 X 
                 m 
               
               ≈ 
               
                 
                   
                     
                       ∫ 
                       
                         X 
                         l 
                       
                     
                     
                       X 
                       r 
                     
                   
                   ⁢ 
                   
                     
                       g 
                       ⁡ 
                       
                         ( 
                         x 
                         ) 
                       
                     
                     ⁢ 
                     x 
                     ⁢ 
                     
                       ⅆ 
                       x 
                     
                   
                 
                 
                   
                     
                       ∫ 
                       
                         X 
                         l 
                       
                     
                     
                       X 
                       r 
                     
                   
                   ⁢ 
                   
                     
                       g 
                       ⁡ 
                       
                         ( 
                         x 
                         ) 
                       
                     
                     ⁢ 
                     
                       ⅆ 
                       x 
                     
                   
                 
               
             
           
         
         where, d=g(x)=max(∥{right arrow over (P)}−{right arrow over (L)}∥, ∥{right arrow over (P)}− R ∥), {right arrow over (P)}, {right arrow over (L)} and {right arrow over (R)} are RGB color vectors, X l  denotes a position of a pixel point in a first colored square, X m  denotes the position of the intermediate point, and X r  denotes a position of a pixel point in a second colored square. 
       
     
     
       7. The method according to  claim 6 , wherein the selecting, using multiple predefined sliding window templates, a sliding window having a minimum distance from each sliding window template from the sliding windows at the multiple positions as a matched sliding window of the sliding window template comprises:
 for each sliding window template, calculating a distance between a sliding window at each position and the sliding window template; and 
 designating a sliding window having a minimum distance as a matched sliding window of the sliding window template. 
 
     
     
       8. The method according to  claim 7 , wherein before calculating a distance between a sliding window at each position and the sliding window template, the method further comprises:
 filtering the sliding windows at the multiple positions using a filter according to the sliding window features of the sliding windows at the multiple positions to calculate a distance between sliding windows at remaining positions and the sliding window template. 
 
     
     
       9. The method according to  claim 7 , wherein for each sliding window template, the distance between the sliding window at each position and the sliding window template is calculated according to:
     D=d   R   +d   G   +d   b   =f ( {right arrow over (R)},{right arrow over (R)}   T )+ f ( {right arrow over (G)},{right arrow over (G)}   T )+ f ( {right arrow over (B)},{right arrow over (B)}   T ); 
 where, 
 {right arrow over (R)}, {right arrow over (G)} and {right arrow over (B)} are feature vectors of the R channel, the G channel and the B channel of the sliding window, respectively, 
 {right arrow over (R)} T , {right arrow over (G)} T  and {right arrow over (B)} T  are feature vectors of corresponding R channel, G channel and B channel in the sliding window template, 
 
       
         
           
             
               
                 d 
                 = 
                 
                   
                     f 
                     ⁡ 
                     
                       ( 
                       
                         
                           S 
                           -> 
                         
                         , 
                         
                           T 
                           -> 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         arg 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         min 
                       
                       
                         Δ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         s 
                       
                     
                     ⁢ 
                     
                       
                          
                         
                           
                             
                               S 
                               -> 
                             
                             - 
                             
                               Δ 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               s 
                             
                           
                           , 
                           
                             T 
                             -> 
                           
                         
                          
                       
                       2 
                     
                   
                 
               
               , 
             
           
         
         {right arrow over (S)} is a feature vector of the R channel, the G channel, or the B channel of the sliding window, 
         {right arrow over (T)} is a feature vector of corresponding R channel, G channel, or B channel in the sliding window template, 
         Δs is displacement of {right arrow over (S)}. 
       
     
     
       10. The method according to  claim 6 , wherein the method further comprises:
 checking the colored squares segmented by the segmentation lines, and determining that the colored squares segmented by the segmentation lines are colored squares of the color checker if variance of an area color value of each colored square is less than a first threshold value and a difference of color between different colored squares is less than a second threshold value, if not, replace the predefined sliding window, and repeat a process of detection. 
 
     
     
       11. Electronic equipment, comprising an apparatus for detecting a color checker in an image, the apparatus for detecting a color checker in an image being configured to:
 extract sliding window features of sliding windows at multiple positions from an input image using a predefined sliding window; 
 select, using multiple predefined sliding window templates, a sliding window having a minimum distance from each sliding window template from the sliding windows at the multiple positions as a matched sliding window of the sliding window template; and 
 determine segmentation lines of colored squares of the color checker according to a matching result of each sliding window template, 
 wherein, the apparatus for detecting a color checker in an image is configured to: scan the whole of the input image point by point by using the predefined sliding window, extract a feature at each position passed by the predefined sliding window, and take it as the sliding window feature of a sliding window of the predefined sliding window at the position, 
 the extracted feature is a feature corresponding to a predefined position of the predefined sliding window in the input image; and the sliding window feature of the sliding window of the predefined sliding window at each position includes: a feature vector corresponding to an R channel, a feature vector corresponding to a G channel and a feature vector corresponding to a B channel, 
 the apparatus for detecting a color checker in an image is configured to: determine an intermediate point of each two adjacent colored squares by using positions of pixel points corresponding to the predefined positions of each matched sliding window in the input image; and determine the segmentation lines of the colored squares by using the intermediate points of the colored squares, 
 the apparatus for detecting a color checker in an image is configured to determine the intermediate point of each two adjacent colored squares according to the following formula: 
 
       
         
           
             
               
                 X 
                 m 
               
               ≈ 
               
                 
                   
                     
                       ∫ 
                       
                         X 
                         l 
                       
                     
                     
                       X 
                       r 
                     
                   
                   ⁢ 
                   
                     
                       g 
                       ⁡ 
                       
                         ( 
                         x 
                         ) 
                       
                     
                     ⁢ 
                     x 
                     ⁢ 
                     
                       ⅆ 
                       x 
                     
                   
                 
                 
                   
                     
                       ∫ 
                       
                         X 
                         l 
                       
                     
                     
                       X 
                       r 
                     
                   
                   ⁢ 
                   
                     
                       g 
                       ⁡ 
                       
                         ( 
                         x 
                         ) 
                       
                     
                     ⁢ 
                     
                       ⅆ 
                       x 
                     
                   
                 
               
             
           
         
         where, d=g(x)=max(∥{right arrow over (P)}−{right arrow over (L)}∥, ∥{right arrow over (P)}− R ∥), {right arrow over (P)}, {right arrow over (L)} and {right arrow over (R)} being RGB color vectors, X l  denotes a position of a pixel point in a first colored square, X m  denotes a position of an intermediate point, and X r  denotes a position of a pixel point in a second colored square.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.