Abstract:
A system for finding and providing images of eyes acceptable for review, recordation, analysis, segmentation, mapping, normalization, feature extraction, encoding, storage, enrollment, indexing, matching, and/or the like. The system may acquire images of the candidates run them through a contrast filter. The images may be ranked and a number of candidates may be extracted for a list from where a candidate may be selected. Metrics of the eyes may be measured and their profiles evaluated. Also, the spacing between a pair of eyes may be evaluated to confirm the pair&#39;s validity. Eye images that do not measure up to certain standards may be discarded and new ones may be selected.

Description:
[0001]     This application is a continuation-in-part of U.S. patent application Ser. No. 11/275,703, filed Jan. 25, 2006, which claims the benefit of U.S. Provisional Application No. 60/647,270, filed Jan. 26, 2005.  
         [0002]     This application is a continuation-in-part of U.S. patent application Ser. No. 11/043,366, filed Jan. 26, 2005.  
         [0003]     This application is a continuation-in-part of U.S. patent application Ser. No. 11/372,854, filed Mar. 10, 2006;  
         [0004]     This application claims the benefit of U.S. Provisional Application No. 60/778,770, filed Mar. 3, 2006.  
         [0005]     The government may have rights in the present invention. 
     
    
     BACKGROUND  
       [0006]     Related applications may include U.S. patent application Ser. No. 10/979,129, filed Nov. 3, 2004, which is a continuation-in-part of U.S. patent application Ser. No. 10/655,124, filed Sep. 5, 2003, which are hereby incorporated by reference, and U.S. patent application Ser. No. 11/382,373, filed May 9, 2006, which is hereby incorporated by reference.  
         [0007]     U.S. patent application Ser. No. 11/275,703, filed Jan. 25, 2006, is hereby incorporated by reference.  
         [0008]     U.S. Provisional Application No. 60/647,270, filed Jan. 26, 2005, is hereby incorporated by reference.  
         [0009]     U.S. patent application Ser. No. 11/043,366, filed Jan. 26, 2005, is hereby incorporated by reference.  
         [0010]     U.S. patent application Ser. No. 11/372,854, filed Mar. 10, 2006, is hereby incorporated by reference.  
         [0011]     U.S. Provisional Application No. 60/778,770, filed Mar. 3, 2006, is hereby incorporated by reference.  
       SUMMARY  
       [0012]     The invention is an approach and apparatus for localizing eyes of a human in a digital image to be processed for iris recognition. 
     
    
     BRIEF DESCRIPTION OF THE DRAWING  
       [0013]      FIG. 1   a  is a diagram of an overall illustrative structure of an eye finding system;  
         [0014]      FIG. 1   b  is a diagram with a group structure of the eye finding system;  
         [0015]      FIG. 2   a  is a diagram of an approach for determining a profile of an eye as provided by a measure of profile metrics;  
         [0016]      FIG. 2   b  is a diagram of a structure of a profiler;  
         [0017]      FIGS. 3   a ,  3   b  and  3   c  show an image of a selected eye, a pupil image  42  and a binary image  43  of a pupil, respectively;  
         [0018]      FIG. 4  is a diagram of an overall iris recognition system;  
         [0019]      FIG. 5  shows a diagram of a kernel having a box representing the diameter of a pupil and a box representing a pupil reflection;  
         [0020]      FIG. 6  shows a box representing a region of interest having areas which are relatively light, dark and lighter than the relatively light area situated in the dark area representing a pupil model;  
         [0021]      FIG. 7  is a histogram of the contrast or intensity values of areas of  FIG. 6 ;  
         [0022]      FIG. 8  is like  FIG. 6  but does not have a lighter (modeling a typical reflection) than the relatively light area situated in the dark area representing a pupil;  
         [0023]      FIG. 9  is a scale of marks representing pixels of a region of interest ranked according to lightness and darkness; and  
         [0024]      FIGS. 10   a  and  10   b  relate to eye finding using reflection and/or non-reflection measures. 
     
    
     DESCRIPTION  
       [0025]     Eye detection may be the first step toward building a reliable automated iris recognition system in a natural context. Some iris recognition systems rely heavily on predetermined eye locations to properly zoom on the input eye prior to iris segmentation. In addition to biometrics, eye detection (also known as eye finding or eye localization) may support other new technology areas such as eye tracking and human computer interaction or driver drowsiness monitoring systems. Eye detection may serve social learning to identify eye directions like pointing gesture using eye directions.  
         [0026]     The present approach and apparatus may be used for finding eyes within a digital image. A local contrast change profiling may be in eye finding. Instead of extracting multiple local features and search globally in the image as many COTS (commercial off-the-shelf) facial recognition packages are based on, the present approach may be based on a system engineering approach to construct the illumination scheme during eye image acquisition to shine the surface of the pupil surface and result into a high reflection point preferably within the pupil of the eye image or close to the pupil of the eye image. This specular reflection point may be used as a reference for an eye search in the digital image. Thus, during the image analysis, the search may be limited to a simplified localization scheme of the highest value pixels associated with these specular reflection pixels and analyze the very local features surrounding these hot spots to confirm an eye profile. To meet the requirements of a real-time system, the eye finding approach may be implemented as a cascade process that divides the local features of an eye into a primary feature of contrast profile associated with high pixel values, depict only potential eye pairs within a specified range, and then test the resulting valid pairs against a feature vector of two or more variables that includes a predefined regular shape fitting with multiple curve fitting measures.  
         [0027]     The present approach may be for quickly and robustly localizing the eyes of a human eye in close-up or face images. The approach is based on sensing reflection points within the pupil region as a precursor to the analysis. The approach is formulated to work for cases where reflection is not present within the pupil. The technical approach locates eyes whether there is or there is no reflection. However, in case of the reflection, The detection may hence be simplified to search for these specific reflection points surrounded with dark contrast that represent the pupil. Then the region of interest centered at these potential locations may be processed to find an eye profile. Two valid eyes may be extracted that are within an expected range of eye positioning. The approach for finding eyes decomposes into the following steps. There may be a contrast filter to detect specular reflection pixels. There may be results prioritization to extract valid eye pair with maximum local contrast change. The eye pair may be defined as a valid pair if the two potential eyes are spaced within a predefined range. An adaptive threshold may be applied to detect a central blob. There may be curve fitting of the blob boundaries into a shape. Curve fitness and shape area coverage of the blob surface may be measured for validation. The approach described here may be part of a preprocessing technique used to locate the eyes of a human in a digital image to be processed for iris recognition.  
         [0028]     Eye detection may be the first stage for any automated iris recognition analysis system and may be critical for consistent iris segmentation. Several eye detection algorithms may be developed as a basis for face detection. Eye finding approaches may be classified into several categories based upon knowledge based approaches, template matching, and eye socket corner detection. The present approach may address real-time operational requirements. One solution may be to cascade localized features of the eye to speed up the process.  
         [0029]     Appearance based approaches using Eigenspace supervised classification technique that is based on learning from a set of training images may be used to capture the most representative variability of eye appearance. Template matching can be regarded as a brute force approach which may include constructing a kernel that is representative of a typical eye socket and convolve the image with the kernel template to identify the highest values of the convolution indicating a match of the eye the identified locations.  
         [0030]     Knowledge based approaches may be based on specific rules that are captured by an expert that discriminate the eye local features from any other features. These sets of rules may then be tested against virtually all possible combination to identify the eye locations.  
         [0031]     The present approach may provide for quickly and robustly localizing the eyes of a human eye in close-up or face images. The approach may be based on sensing reflection points within the pupil region as a precursor to the analysis. The approach may be also based on sensing the pupil profile in case of no reflection. If reflection is present, the detection may then be simplified to search for these specific reflection points surrounded with dark contrast that represent the pupil. The region of interest centered at these potential locations may then be processed to find an eye profile. Two valid pairs may be extracted that are within an expected range of eye positioning.  
         [0032]     The present approach for finding eyes may decompose into the following. To start, the eye may be illuminated to generate a reflection reference point on the pupil surface. The captured wide-field image may be filtered using reflection detection contrast changes to find potential eye locations. For each potential eye location, the local contrast change between the central point and its surrounding pixels may be computed and results may be prioritized to extract valid eye pair with maximum local contrast change. The eye pair may be defined as a valid pair if the two potential eyes are spaced within a predefined range. For each eye of valid eye pair, an adaptive threshold may be executed on a cropped image of the central region of the potential eye to extract a blob of the pupil. Just a single blob may be depicted based on size, its distance to the central point of the cropped image, and how good it fits to a predefined fitting model (e.g., circular shape). With a predefined model shape, such as a circle or an ellipse, the blob edges may be fitted into the pupil fitting model. Curve fitness and model shape area coverage of the blob surface may be measured for validation.  
         [0033]     A preprocessing technique may locate the eyes of a human in a digital image to be processed for iris recognition. An overall illustrative structure of an eye finding system 10 is shown in  FIG. 1   a . The system engineering for eye illumination is not necessarily shown in this system. A digital camera may be used for acquiring 9 images of candidates. The image may be put through a contrast filter  11  to detect relevant high contrast areas of the image. There may a prioritization (i.e., ranking) of the significant spots in the image in block  12 . Of these, N candidates may be extracted in block  13 . A candidate may have a coordinate c 1  (x, y). An output of block  13  may go to block  14  where a new first eye may be selected from the candidate list. From block  14 , the eye image candidate may go to a block  15  for a measurement of profile metrics. A profile of the eye may go to a diamond  17  where a determination of the validity of the profile is made. If the profile is not valid, then that first eye may be deleted from the list at block  17 . Then at a diamond  18 , a count is checked to note whether it is greater than zero. If not, the then this approach is stopped at place  19 . If so, then a new first eye may be selected at block  14  from the list from block  13 . The profile metrics of this new first eye may be measured at block  15  and passed on to diamond  16  to determine the validity of the profile. If the profile is valid, then the selected first eye may go to place  20 , and a second eye is selected at block  21  from the list of candidates from block  13  having a coordinate c 2  (x, y). The spacing of the first and second eyes may be determined at block  22  as D(c 1  (x, y), c 2  (x, y) ). The spacing may be checked to see whether it is within an appropriate range at a diamond  23 . If not, then the second eye may be deleted from the list at block  24 . If so, then metrics of the profile of the second eye may be measured at block  25 . The profile metric may be forwarded to a diamond  26  for a determination of the validity of the profile. If the profile is not valid, then the second eye may be deleted from the list at block  24  and at diamond  27 , a question of whether the count is greater than zero. If so, then another second eye may be selected from the list at block  21 , and the approach via the blocks  21 ,  23  and  25 , and diamonds  23 ,  26  and  27  may be repeated. If not, then the approach for the second eye may end at place  19 . If the profile is valid at diamond  26 , then the selected second eye may go to place  20 .  
         [0034]     A higher level approach to system  10  in  FIG. 1   a  may include an output of the contrast filtering  11  going a select candidate block  111 . An output from block  111  may go to a validate profile block  112 . Outputs from block  112  may go to a select candidate block  114  and a result block  20 , or eliminate candidate block  113 . An output of block  113  may go to the select candidate block  111  and/or to the stop place  19 . An output from block  114  may go to a validate pair block  115 . Block  115  may provide an output to a validate profile block  116 . Outputs from block  116  may go to an eliminate candidate  117  and/or to the result block  20 . Outputs of block  117  may go the select candidate  114  and the stop place  19 . The processing in system  10  may be digital, although it may be analog, or it may be partially digital and analog.  
         [0035]      FIG. 1   b  is a diagram with a group structure of the eye finding system  10 . The corresponding components (according to reference numbers) of  FIG. 1   a  may have additional description. The candidates noted herein may refer to various images of eyes. A camera  9  may be connected to the contrast filter  11 . An output of the filter  11  may go to a ranking mechanism  12 , which in turn is connected to the candidates extractor  13 . The output of extractor  13  may go to a candidate determiner  14  for selecting a new first candidate. Mechanism  12 , extractor  13  and determiner  14  constitute a candidate selector  111 .  
         [0036]     An output of determiner  14  may go to a metric profiler  15  which in turn has an output connected to a profile evaluator  16 . Profiler  15  and evaluator  16  may constitute profile validator  112 . Outputs of evaluator  16  may go to candidate determiner  21 , resulter  20  and candidate remover  17 . Remover may have an output that goes to a counter  18 . Candidate remover  17  and counter  18  may constitute a candidate eliminator  113 . If counter  18  has a count of greater than zero, an output may go to the candidate determiner  14  for selection of a new candidate. If the output is not greater than zero, then an output may go to the stopper  19 .  
         [0037]     A candidate determiner  21  for selecting a 2nd candidate may have an output to a space measurer  22 . The candidate Space measurer  22  may have an output to the range indicator  23  which may indicate whether the two candidates are at an appropriate distance from each other for validation. Measure  22  and indicator  23  may constitute a pair validator  115 . Candidate determiner  21  and previously noted ranking mechanism  12  and candidates extractor  13  may constitute a candidate selector  114 . If the pair of candidates is valid then an output from validator  115  may go to a profiler  25 , or if the pair is not valid then an output from validator  115  may go to a candidate remover  24 . An output of profiler  25  may go to a profile evaluator  26  which may determine whether the profile of the second candidate is valid or not. If valid, then an output of evaluator  26  may provide second candidate information to the resulter  20 . If invalid, then an output of evaluator  26  may provide a signal to the candidate remover  24 . Profiler  25  and profiler evaluator  26  may constitute a profile validator  116 . An output of candidate remover may go to a counter  27 . If the counter  27  indicates a value greater than zero then an output may go to the candidate determiner  21  for selecting a second candidate. If the counter  27  indicates a value not greater than zero, then an output may go to a stopper  19 . The candidate remover  24  and counter  27  may constitute a candidate eliminator  117 .  
         [0038]      FIG. 2   a  shows the approach for determining a profile of an eye as provided by a measure profile metrics or eye profiling block  15 ,  25 . An image  41  of a selected eye ( FIG. 3   a ) may go to an extract pupil region block  31 . The block dimension is determined based on the maximum expected value of the pupil diameter. A maximum pupil input  44  may be provided to block  31 . An output from block may be a pupil image  42  ( FIG. 3   b ) which goes to an adaptive thresholding block  32 . A percent input  45  may be provided to block  32 . The pixel distribution to compute the intensity histogram may be provided to block  32 . An output of block  32  may be a binary image  43  ( FIG. 3   c ) of the pupil which effectively covers a region of interest. The output of block  32  may go to a find contours block  33 . The found contours of image  43  may go to a select n (two or more) most centralized contours block  34 . The selected most centralized contours may go to a curve fitting block  35  to curve fit the boundary of the pupil blob to a circle, ellipse or the like. The circle may be adequate for virtually all cases. The output of the curve fitting block may go to a diamond  36  to indicate the level of curve fitness and its&#39; adequacy. The approach is to loop through the n depicted contours to pick the contour that fits the most or best to the model based on the perimeter and coverage fitting. An output  46  from diamond  36  may provide pupil information such as the curve fitting, whether the item is an eye, based upon the fitness measures, the percent of pixels within the curve that fit well the model, the radius and center of the pupil model, and the proportion of the blob that is contained within the pupil model.  
         [0039]      FIG. 2   b  is a structural version of  FIG. 2   a . A pupil region extractor  31  of profiler  15 ,  25  may be connected to an output of the candidate selector  111  or  114  of  FIG. 1   b . An image  41  and a maximum pupil signal  44  may be input to extractor  31 . An output of the extractor  31  may be connected to an adaptive thresholder  32 . A percent input  45  may be provided to the thresholder  32 . The output  43  (e.g., binary image) may go to a contours finder  33 . An input to a most centralized contour picker  34  may be from contours finder  33 . An output of the picker  34  may go to a curve fitter  35 . An input to the selector of the best curve to fit the model diamond  36  may be from the curve fitter  35 . An output  46  may provide pupil information  46  to a profile evaluator  16  or  26 .  
         [0040]     For the thresholding of block  32 , the threshold may be adaptively set based upon the histogram distribution of the intensities of the pixel within the region of interest. A minimum threshold is based upon the coverage of the object of interest (pupil) in pixels with respect to the size of the ROI image (i.e., region of interest). The percentage of the blob size with respect to the ROI is assumed to be at least the ratio of the minimum expected size of a pupil blob (i.e., pupil surface) with respect to the ROI surface (chosen to be the same size of the maximum expected pupil diameter) . Hence, the percentage ratio, λ, may be computed with the following equation.  
               λ   min     =           E   ⁡     [     S   p     ]         S   ROI       ≥       π   ⁢           ⁢     R   m   2         4   ⁢           ⁢     R   M   2           =     .7854   ⁢       (       R   m       R   M       )     2                 (   1   )             
 
         [0041]     Where R m  and R M  represent the minimum and maximum possible values of expected radius of the pupil, S p  is the minimum surface of the pupil, S ROI  is a surface that is a region of interest, and E[] is an expected value operator.  
         [0042]     Fitness metrics may be used within the eye profiling procedure. At least two metrics can be detected to measure how good the estimated regular shape fits the detected curve at the boundary of the pupil blob. The first curve fitting metric may incorporate the following formula.  
         η   1     =       1   N     ⁢       ∮   Blob     ⁢       u   ⁡     (                F   ⁡     (     x   ,   y     )       -     f   ⁡     (     x   ,   y     )             F   ⁡     (     x   ,   y     )       -       F   c     ⁡     (     x   ,   y     )                -   ɛ     )       ⁢     ⅆ   x     ⁢     ⅆ   y               
 
         [0043]     In the above equation, the curve f(x, y) represents the boundary of the blob, F(x, y) is the border curve of estimated fitting shape, and F c  (x, y) is the moment center of the model shape. N in the above equation represents the length of the curve f(x, y) the operator u() is the step function and ε&lt;&lt;1 is a tolerance factor.  
         [0044]     Another consideration may be given to measuring the proportion of the blob within the estimated model curve. A fitting metrics may be basically the ratio of the estimated shape surface coverage or intersection of the surface of the model and the blob over the blob surface.  
           η   2     =       Surface   ⁢           ⁢     (     blob   ⋂     F   ⁡     (     x   ,   y     )         )         S   blob         ,       
 
 where S blob  is the surface of the blob. 
 
         [0045]     A rectilinear image rotation angle may be noted. An iris image capture system that captures both eyes simultaneously may provide a way to measure a head tilt angle. By detecting pupil regions of both eyes during an eye finding procedure, one may calculate the angle of the line passing through both pupil center masses and the horizontal axis of the camera. The eye finder system  10  may then extract both eye images at the estimated orientation axis of the eyes. A misalignment in line detection may be further addressed using the nature of the matching approach which accounts for any non-significant eye orientation. The advantage of the present preprocessing approach is that one may reduce the amount of shifting of bits during the matching process to a few bits thus yielding to faster time response of the system. If rotation correction is not performed, the matching uncertainty may be set to maximum and thus the barcode bit shifting is set to its maximum. On the other hand, if such correction is performed, the matching process may be limited to just a few bits shifted to account for any misalignments of eyes with images in the database.  
         [0046]      FIG. 2   b  is a diagram of a structure of a profiler.  
         [0047]     The overall eye detection system is shown in  FIG. 4 . It shows a camera  61  that may provide an image with a face in it to the eye finder  10  as noted herein. The eyefinder  10 ,  62  may provide an image of one or two eyes that go to the iris segmentation block  63 . A polar segmentation (POSE) system in block  63  may be used to perform the segmentation. POSE may be based on the assumption that image (e.g., 320×240 pixels) has a visible pupil where iris can be partially visible. There may be pupil segmentation at the inner border between the iris and pupil and segmentation at the outer border between the iris and the sclera and iris and eyelids. An output having a segmented image may go to a block  64  for mapping/normalization and feature extraction. An output from block  64  may go to an encoding block  65  which may provide an output, such as a barcode of the images to block put in terms of ones and zeros. The coding of the images may provide a basis for storage in block  66  of the eye information which may be used for enrolling, indexing, matching, and so on, at block  67 , of the eye information, such as that of the iris and pupil, related to the eye.  
         [0048]      FIG. 5  shows a diagram of a kernel  70  of a candidate which may be one of several candidates. Box  71  maybe selected to fit within a circular shape that would represent the minimum possible diameter of the pupil. Box  72  may be selected to fit within a circular shape that might represent the maximum size of the reflection. The actual circular shapes in  FIG. 5  may be used instead of the boxes  70  and  71 ; however, the circular shape requires much computation and the square shape or box may be regarded as being an adequate approximation. This mechanism may be used to locate pupil location candidates.  
         [0049]     A blob suspected of being a pupil may be profiled with a fitness curve on its outer portion. If the curve fits a predefined model like a circle, then one may give it a score of a certain percent of fitness. A second part of the fitness check is to determine what percentage of the pixels of the pupil is contained within the model curve. If the fitness percentages are significant enough to a predefined level, then one might assume that the object scrutinized is a pupil. If so, then the object is checked relative to a range of distance between two eyes.  
         [0050]     A threshold level, λ, may be adaptive based on contrast, illumination, and other information. The threshold may be determined with the equation noted herein for λ min .  FIG. 6  shows a box  73  which may be a region of interest. An area  74  may be of a first color which is relatively light. An area  75  may be of a second color that is dark. An area  76  may be of a third color that is lighter than the first color. A histogram may be taken of the contents of box or region  73 . The histogram may look like the graph of  FIG. 7 . The ordinate axis represents the number of pixels having a contrast or intensity (i.e., lightness/darkness) value of the values represented on the abscissa axis, which range from 0 to 255, i.e., from dark to light, respectively. The result is two peaks  78  and  79  with a middle point  77  which may be associated with the λ min . The plot  81  appears normal. Other plots having one peak, a flat peak or peaks, peaks having a large separation, or other appearance that appear abnormal relative to plot generally indicate an unacceptable situation. One may note that the present approach utilizes adaptive thresholding which has a threshold that is not fixed or arbitrary. The depicted threshold is limited with the minimum value of that defined by equation (1).  
         [0051]     There may be a situation where there is no reflection to be found on a pupil.  FIG. 8  is like  FIG. 6  which has an area  76  of reflection on pupil  75  which  FIG. 8  does not have. However, an area  86  of reflection may be assumed for the pupil  85  in  FIG. 8 . The pixels of a region of interest or kernel  87  may be ranked according to lightness and darkness as represented by marks on a scale  95  of diagram  90  as shown in  FIG. 9 . An arrow  96  represents a direction of increasingly lighter pixels. An arrow  97  represents a direction of increasingly darker pixels. For illustrative purposes, each mark may represent a pixel; although each mark could represent any number of pixels or a fraction of a pixel or pixels. The kernel  87  size may be N pixels. N pixels may be represented by a group  93  of marks on a scale  95 . The reflection  86  may be represented by “N rfc ”. “N rfc ” may refer to the reflection  86  pixels. The “N rfc ” pixels may be represented by a group  91  of marks on scale  95 . “N-N rfc ” may represent the dark area  85 . The “N-N rfc ” pixels may be represented by a group  92  of marks on scale  95 .  
         [0052]     In cases where we have reflections on the pupil, the measure may be defined as the argument of the maximum difference between the reflection pixel measure (local maxima) within the reflection spot and the average mean of the dark pixels that represent the pupil profile. Hence,  
           C   pupil     ⁡     (     x   ,   y     )       =     arg   ⁢           ⁢       max     (     x   ,   y     )       ⁢     (       v   max     -     μ   o       )             
 
         [0053]     The vector {right arrow over (v)}(n) is the kernel elements sorted in a descending order based on the intensity values as shown in  FIG. 9 . An average value of intensity may be calculated for each group of pixels.  
         [0054]     For the “N rfc ” group  91 , one may have the local maxima of the reflection spot v max  estimated as the average mean of only the first K elements of the reflection pixels. K may be selected to be such as K&lt;&lt;N rfc . For the “N-N rfc ” group  92 , one may have “μ o ”,  
         μ   o     =       1     N   krn       ⁢       ∑       N   rfc     &lt;   n   &lt;     N   krn         ⁢       v   -&gt;     ⁡     (   n   )               
 
         [0055]      FIGS. 10   a  and  10   b  relate to eye finding using reflection and/or non-reflection measures relative to eyes  101  and  104 , respectively. For a situation of no actual reflection on the pupil, then there may be a representative value of the dark pixels in the bottom scale that maximize the argument 1/μ o . This may be true for either condition whether there is reflection or no reflection. Hence, the formulas may be combined into one to work for both situations as indicated by the following equation,  
           C   pupil     ⁡     (     x   ,   y     )       =     arg   ⁢           ⁢       max     (     x   ,   y     )       ⁢       (       (       ϑ   max     -     μ   o       )         μ   o     ⁡     (     x   ,   y     )         )     .               
         [0056]     In the present specification, some of the matter may be of a hypothetical or prophetic nature although stated in another manner or tense.  
         [0057]     Although the invention has been described with respect to at least one illustrative example, many variations and modifications will become apparent to those skilled in the art upon reading the present specification. It is therefore the intention that the appended claims be interpreted as broadly as possible in view of the prior art to include all such variations and modifications.